text - JAPE规则句子包含多种情况

标签 text nlp grammar logical-operators gate

如何检查一个句子是否包含组合?例如考虑句子。 约翰被任命为 Google 新任首席执行官。 我需要编写一条规则来检查句子是否包含 < 'new' + 'Jobtitle' >。 我怎样才能做到这一点。我尝试跟随。我需要检查单词之前是否有“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);

关于text - JAPE规则句子包含多种情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25657396/

相关文章:

Java - 批处理文本文件的方法比单独执行相同次数的相同操作要慢得多

java - 将文本渲染到矩形上

python - 将 HashEmbeddings 的想法与 sklearn 的 HashingVectorizer 结合使用

python - 在 NLTK/Python 中使用电影评论语料库进行分类

python-3.x - 如何为 BERT 准备文本 - 出现错误

parsing - 非 LL(1) 的 LL(2) 语言

python - 合并相似的字符串 Python

delphi - 使用 TStreamReader 和 TStringList 处理非常大的文本文件

c - 如何导出 C 表达式 "4 - 2 - 1"?

parsing - 上下文无关文法的奇怪问题