如何检查句子是否包含组合?例如,考虑句子。约翰被任命为谷歌新任首席执行官我需要写一条规则来检查句子是否包含<'新'+'职务'>。我怎样才能做到这一点。我试着跟随。我需要检查单词前是否有"new"。
Rule: CustomRules
(
{
Sentence contains {Lookup.majorType == "organization"},
Sentence contains {Lookup.majorType == "jobtitle"},
Sentence contains {Lookup.majorType == "person_first"}
}
)
处理这一问题的一种方法是还原它。关注你需要的序列,然后获得覆盖语句:
(
{Token@string == "new"}
{Lookup.majorType = "jobtitle"}
):newJT
当句子在"new"之后开始时,你应该检查这个边缘,比如:
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);