有短语头查找器吗?

4
我有一些句子需要解析。这里是我的内容和需求:我有以下这样的句子:

我在医院里。

我从家里去加拿大。

我想知道“在医院里”、“从家里”和“去加拿大”的短语头部。我正在使用Berkley解析器,但它给出的是整个句子的解析结果,如果我想手动提取短语头部,就必须开发另一个解析器!我要解析的文件非常大,所以如果我自己开发一个解析器,可能会有很多错误。是否有任何解析器可以给我所需的结果?
顺便说一下,因为单独解析短语可能与句子解析不同,所以我坚持先解析句子,然后提取短语头部。
2个回答

6
Stanford ParserOpenNLP解析器可提供词性和依赖信息,您可以使用这些信息确定短语的主要成分。
例如,使用Stanford解析器,您将获得:
(S
  (NP (PRP I))
  (VP (VBD was)
      (PP (IN in)
          (NP (DT the)
              (NN hospital)))))

这段文字是关于编程的语法分析,它告诉你这个句子(S)由一个名词短语(NP)和一个动词短语(VP)组成;动词短语是一个动词(V*)+ 介词短语(PP),其中介词是 in,后面跟着一个名词短语;第二个名词短语是一个限定词(DT)和一个名词(NN)。
如果我正确理解了问题,您正在寻找名词短语(以及可能的动词短语)的头。您已经可以从这些信息中识别出头部,但解析器还提供了以下依赖信息:
nsubj(was, I)
prep_in(was, hospital)
det(hospital, the)

这段文字告诉你单词“was”和“我”之间存在名词主语关系(“我”是动词“was”的主语);单词“was”和“hospital”之间存在“in”介词关系(“prep-in”);单词“hospital”和“the”之间存在限定词关系(“det”)。通过前面的分析和依赖信息,你可以确定第一个名词短语的核心词是“I”(显然),第二个名词短语的核心词是“hospital”(因为它是名词短语内部关系的“顶端”元素)。

请问您能否提供更多信息?我尝试使用它们,但是并不容易! - user1419243

3
在一个短语中找出头词的问题并不是一件简单的事情,就像Attila在回答中所概述的那样。Michael Collins教授列出了一系列启发式规则来寻找头词(他的规则基于Penn Tree bank数据集),这些规则的实现可在Stanford CoreNLP Suite中找到(我检查了20140104版本)。
这里给出的回答中,有关于在Stanford CoreNLP中执行头词识别的类的更多细节。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接