问题描述
我需要写一个jape规则来注释句子并将句子中的数字显示为特征,并尝试了以下规则
Imports: {import static gate.Utils.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern; }
Phase:Sentence
Input: Sentence Token
Options: control = appelt
Rule: SentenceNum
({Sentence}):temp
-->
{try{
AnnotationSet val = bindings.get("temp");
String strSent = doc.getContent().getContent(val.firstNode().getoffset(),val.lastNode().getoffset()).toString();
Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher(strSent);
while(m.find()){
FeatureMap features = Factory.newFeatureMap();
String num = m.group();
features.put("number",num);
features.put("rule","Sentence");
outputAS.add(val.firstNode(),val.lastNode(),"Sentence",features);
}
}
catch(Exception e)
{
e.printstacktrace();
}
}
句子没有得到完整的注释,只有在数字存在的地方才被注释,并且被注释的次数与数字一样多。 有人能帮我解决这个问题吗。
解决方法
得到答案了
view('customer.homepage')->with(['product_display' => $product_display])
这个 jape 规则将把数字注释添加到现有的 Sentence 注释中 This is how the output looks