我正在寻找一个处理Penn Treebank结构的Python数据结构。这是Treebank的样例:
( (S
(NP-SBJ (PRP He) )
(VP (VBD shouted) )
(. .) ))
从本质上讲,我想要一个数据结构,我可以问这样的问题:“主题NP的孩子是什么?”或者“什么类型的短语支配代词?”,最好是在Python中。有谁有线索吗?
发布于 2011-11-15 01:05:26
NLTK modules可能是用Python语言实现Penn Treebank和其他与自然语言编程相关的东西的一个很好的开始。
发布于 2011-11-15 21:53:19
我仍然建议使用NLTK来读取树库(例如this blog post),但我可以想象它不支持这种通用查询。
“主语NP的子句是什么?”
这将是一个dict
,比方说children
,将非终端映射到非终端或子节点的sets
。
“什么类型的短语支配着代词?”
这将是另一个dict
,比如parents
,将非终结符映射到非终结符的sets
。
您可能希望构建树节点的关系数据库。确切的模式取决于您想要询问的查询类型,但是一定要检查Python sqlite3
模块。
或者,您可以用XML和use XPath to query it对树库进行重新编码。LXML是适用于Python的最好的XML/XPath库。
https://stackoverflow.com/questions/8125132
复制相似问题