我需要在句子中提取单词的关系.我最感兴趣的是识别一个主题,谓词和一个对象.例如,对于以下句子:
She gave him a pen
Run Code Online (Sandbox Code Playgroud)
我想:
She_subject gave_predicate him a pen_object.
Run Code Online (Sandbox Code Playgroud)
斯坦福NLP能做到吗?我试过他们的relation注释器,但它似乎没有像我预期的那样工作?也许有其他软件可以产生这个结果?
根据http://nlp.stanford.edu/software/lex-parser.shtml,斯坦福NLP确实有一个解析器,可以识别句子的主语和谓词.你可以在网上试试http://nlp.stanford.edu:8080/parser/index.jsp.您可以使用类型化的依赖项来标识主题,谓词和对象.
从示例页面,句子我的狗也喜欢吃香肠会给你这个解析:
(ROOT
(S
(NP (PRP$ My) (NN dog))
(ADVP (RB also))
(VP (VBZ likes)
(S
(VP (VBG eating)
(NP (NN sausage)))))
(. .)))
Run Code Online (Sandbox Code Playgroud)
解析器还可以生成依赖项:
poss(dog-2, My-1)
nsubj(likes-4, dog-2)
advmod(likes-4, also-3)
root(ROOT-0, likes-4)
xcomp(likes-4, eating-5)
dobj(eating-5, sausage-6)
Run Code Online (Sandbox Code Playgroud)
依赖关系nsubj显示主谓词和主题 - 在这种情况下,喜欢和狗.数字给出了句子中单词的位置(由于某种原因,一个索引).该dobj相关性显示了谓语和宾语之间的关系.的xcomp依赖提供了有关谓词的内部信息.
当谓词不是动词时,这也有效:我的狗很大并且负责给出:
poss(dog-2, My-1)
nsubj(large-4, dog-2)
cop(large-4, is-3)
root(ROOT-0, large-4)
cc(large-4, and-5)
conj(large-4, in-6)
pobj(in-6, charge-7)
Run Code Online (Sandbox Code Playgroud)
这告诉我们这large是主谓词(nsubj(large-4, dog-2)),但是有一个copula(cop(large-4, is-3)),以及与对象的连接和介词.
我不熟悉API,所以我不能给出确切的代码.也许知道API的其他人可以做到这一点.解析器记录在Stanford NLP doc站点上.您可能还会发现文本简化工具(Java)的答案很有帮助.有关"斯坦福依赖关系手册"中的依赖关系格式的更多信息.
| 归档时间: |
|
| 查看次数: |
9138 次 |
| 最近记录: |