我有一些我要解析的句子。这就是我拥有的和我需要的东西:我有这样的句子:
我在医院。
我要从家到加拿大。
我想知道的是“在医院”,“从家里”和“到加拿大”的短语。
我正在使用Berkley解析器,但它给我的是所有句子的解析结果,如果我想手动提取短语的头部,我应该开发另一个解析器!我要解析的文件是一个非常大的文件,所以如果我自己开发一个解析器,它可能会有很多错误。是否有任何解析器可以给我我想要的结果?
顺便说一句,分别解析短语,与句子解析相比可能导致不同的解析,我坚持解析句子然后提取短语头。
答案 0 :(得分:6)
S tanford Parser和OpenNLP解析器将为您提供词性和相关性信息,您可以使用它们来确定短语的头部
例如,使用Stanford解析器,您将获得:
(S
(NP (PRP I))
(VP (VBD was)
(PP (IN in)
(NP (DT the)
(NN hospital)))))
这告诉你句子(S)由名词短语(NP)和动词短语(VP)组成;动词短语是动词(V *)+介词短语(PP),它是中的介词和名词短语;第二名词短语是确定词(DT)和名词(NN)。
如果我理解这个问题,你正在寻找名词短语的头部(可能还有动词短语)。您可以从此信息中识别头部,但解析器也会为您提供以下依赖项信息:
nsubj(was, I)
prep_in(was, hospital)
det(hospital, the)
这告诉您 和 I 这两个词属于名义主题 nsubj 的关系( I 是动词的主题是);单词 和 hospital 处于“in”介词( prep-in )关系中;单词“hospital”和“the”属于限定词( det )。使用先前的解析和依赖性信息,您可以判断第一个名词短语的头部是“I”(平凡),第二个名词短语的头部是“医院”(因为它是“顶部”)名词短语中关系的元素)
答案 1 :(得分:3)
如Attila的回应中所述,在短语中找到头字的问题并非微不足道。迈克尔柯林斯教授有一个寻找头词的启发式列表(他的启发式算法基于宾夕法尼亚大学银行数据集),斯坦福CoreNLP套件(我在20140104版本中查看)中提供了这些启发式的实现。
给出的响应here提供了有关斯坦福CoreNLP中为您提供主要词汇的类的更多详细信息。