Java 有没有短语头搜索器?

Java 有没有短语头搜索器?,java,nlp,Java,Nlp,我想分析一些句子。以下是我所拥有和需要的:我有这样的句子: 我当时在医院 我要从家里去加拿大 我想知道的是“在医院里”、“在家里”和“去加拿大”这些短语的意思 我正在使用Berkley解析器,但它给我的是所有句子的解析结果,如果我想手动提取短语的开头,我应该开发另一个解析器!我想要解析的文件是一个非常大的文件,所以如果我自己开发一个解析器,它可能会有很多错误。是否有任何解析器可以提供我正在寻找的结果 顺便说一句,由于单独分析短语可能会导致与句子分析不同的分析,我坚持分析句子,然后提取短语头 S和

我想分析一些句子。以下是我所拥有和需要的:我有这样的句子:

我当时在医院

我要从家里去加拿大

我想知道的是“在医院里”、“在家里”和“去加拿大”这些短语的意思

我正在使用Berkley解析器,但它给我的是所有句子的解析结果,如果我想手动提取短语的开头,我应该开发另一个解析器!我想要解析的文件是一个非常大的文件,所以如果我自己开发一个解析器,它可能会有很多错误。是否有任何解析器可以提供我正在寻找的结果

顺便说一句,由于单独分析短语可能会导致与句子分析不同的分析,我坚持分析句子,然后提取短语头

S和解析器将为您提供词性和相关性信息,您可以使用这些信息确定短语的开头

例如,使用Stanford解析器,您将得到:

(S
  (NP (PRP I))
  (VP (VBD was)
      (PP (IN in)
          (NP (DT the)
              (NN hospital)))))
这说明句子由名词短语(NP)和动词短语(VP)组成;动词短语是动词(V*)+介词短语(PP),是介词in和名词短语;第二个名词短语是限定词(DT)和名词(NN)

如果我正确理解了这个问题,你是在寻找名词短语(可能还有动词短语)的开头。您已经可以从该信息中识别头部,但解析器也会提供以下依赖关系信息:

nsubj(was, I)
prep_in(was, hospital)
det(hospital, the)

这表明单词was和I处于名义主语nsubj关系中(I是动词was的主语);单词was和hospital处于“in”介词(prep-in)关系中;单词“hospital”和“the”是限定词(det)关系。使用前面的解析和依赖项信息,可以看出第一个名词短语的开头是“I”(平凡),第二个名词短语的开头是“hospital”(因为这是名词短语中关系的“top”元素)

正如阿提拉在回答中所述,在短语中找到中心词的问题并不简单。Michael Collins教授有一个查找首词的启发式方法列表(他的启发式方法基于Penn Tree bank数据集),这些启发式方法的实现可在Stanford CoreNLP套件中获得(我查看了20140104版本)


给出的回答中有更多关于斯坦福大学CoreNLP课程的详细信息,这些课程为您查找关键词

请你再给我一些信息好吗。我试着使用它们,但一点也不容易!