如何检查句子是否包含组合?例如,考虑句子。 John被任命为google的新CEO。 我需要写一个规则来检查句子是否包含< 'new'+'Jobtitle'>。 我怎样才能做到这一点。我试过跟随。我需要检查之前是否有'新'。
Rule: CustomRules
(
{
Sentence contains {Lookup.majorType == "organization"},
Sentence contains {Lookup.majorType == "jobtitle"},
Sentence contains {Lookup.majorType == "person_first"}
}
)
答案 0 :(得分:2)
处理此问题的一种方法是还原它。专注于你需要的序列,然后得到覆盖句子:
(
{Token@string == "new"}
{Lookup.majorType = "jobtitle"}
):newJT
当句子在“新”之后开始时,你应该检查这个边缘,如下所示:
new
CEO
您可以使用以下内容:
{Token ... }
{!Sentence, Lookup.majorType ...}
然后在java RHS中获取句子(如果你真的需要它):
long end = newJTAnnots.lastNode().getOffset();
long start = newJTAnnots.firstNode().getOffset();
AnnotationSet sentences = inputAS.get("Sentence", start, end);