处理英文陈述

6 nlp

语言/图书馆转换句子的任何建议,如:

"X碰撞了Y,后者又踢了Z."

  1. X:Bumped
  2. Y:被撞了,踢了Z.

eal*_*ent 7

我建议你使用Stanford Parser(http://nlp.stanford.edu/software/lex-parser.shtml),它是开源的,相对简单,就像这些东西一样.有了它,您可以提取类型化的依赖关系解析.句子的依赖解析基本上将句子分解为一组二元关系r(B, A),其中单词A在语法上依赖于单词B.

接受你的判决

X撞到了Y,后者又踢了Z.

在这句话中,X和Y都依赖于碰撞以在这句话中获得他们的语法关系.斯坦福分析师将为他们提取以下关系:

nsubj(bumped, X)
dobj(bumped, Y)
Run Code Online (Sandbox Code Playgroud)

这意味着碰撞的主体是X,碰撞的直接对象是Y.然后你可以使用这些信息来形成语法关系:bumped(X, Y).同样,斯坦福分析师为句子的其余部分提取以下关系:

nsubj(kicked, who)
rcmod(Y, kicked)
dobj(kicked, Z)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,你被踢为"谁",Y为rcmod(相对子句修饰符).我不确定你的系统的目标是什么,但你可能会发现你需要手动构建一堆规则以涵盖情况.在这种情况下,你的规则可以划上等号的rcmodnsubj以生产kicked(Y, Z).

有关使用Stanford Parser类型依赖项的更多信息,请参阅Stanford Parser网站(http://nlp.stanford.edu/software/dependencies_manual.pdf)上有关该主题的优秀教程.


Ski*_*ick 2

要公然抄袭这个答案,为什么不试试自然语言工具包呢?