2011-11-14 139 views
3

我正在寻找处理Penn Treebank结构的Python数据结构。这是一个什么样的树库看起来像一个示例:Treebank的Python数据结构?

((S 
    (NP-SBJ (PRP He)) 
    (VP (VBD shouted)) 
    (. .))) 

从本质上讲,我想一个数据结构,我可以问喜欢的东西“是什么主题NP的孩子吗?”或者“什么类型的短语支配代名词?”,最好在Python中。有人有线索吗?

回答

2

NLTK modules可能是一个很好的开始在Python中实现Penn Treebank和其他NLP相关的东西。

+0

谢谢Praveen。我之前已经处理过NLTK,但我似乎无法找到任何能够帮助我的东西。想想我将不得不编写我自己的结构,这实际上本身并没有什么大不了的,我只是在努力解决正确的语料库,即识别节点的孩子等等。 – Joko

0

我仍然建议使用NLTK来读取树库(请参阅,例如this blog post),但我可以想象它不支持这种常规查询。 “

”主题NP的孩子是什么?

这将是一个dict,说children,映射非终结符要么终结符号或子节点的sets。 “

”什么类型的短语支配代名词?“

这将是另一个dict,说parents,映射到非终结符非终结符的sets

您可能想要构建树节点的关系数据库。确切的模式将取决于你想问什么样的查询,但一定要查看Python sqlite3模块。

或者,您可以使用XML和use XPath to query it重新编码树库。 LXML是适用于Python的最佳XML/XPath库,恕我直言。