Treebank的Python数据结构?

时间:2011-11-14 16:57:47

标签: python nltk corpus nlp

我正在寻找处理Penn Treebank结构的Python数据结构。这是Treebank的样子:

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

基本上,我想要一个数据结构,我可以问诸如“主题NP的孩子是什么?”或“什么类型的短语支配代词?”,最好是在Python中。有人有线索吗?

2 个答案:

答案 0 :(得分:3)

NLTK modules可能是在Python中实现Penn Treebank和其他NLP相关内容的良好开端。

答案 1 :(得分:1)

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

  

“NP主题的孩子是什么?”

这将是dict,比如children,将非终结符映射到非终结符或子节点的sets

  

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

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

您可能希望构建树节点的关系数据库。确切的模式取决于您想要询问的查询类型,但请务必查看Python sqlite3模块。

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