树库的Python数据结构?
我正在寻找处理Penn树库结构的Python数据结构。这是树库外观的示例:树库的Python数据结构?,python,nltk,corpus,nlp,Python,Nltk,Corpus,Nlp,我正在寻找处理Penn树库结构的Python数据结构。这是树库外观的示例: ( (S (NP-SBJ (PRP He) ) (VP (VBD shouted) ) (. .) )) 本质上,我想要一个数据结构,我可以问一些问题,比如“什么是主语NP的子项?”或者“什么类型的短语支配代词?”最好是在Python中。有人有线索吗 可能是在Python中实现Penn Treebank和其他NLP相关内容的良好开端 我仍然建议使用NLTK阅读树库(参见示例),但我可以想象它不支
( (S
(NP-SBJ (PRP He) )
(VP (VBD shouted) )
(. .) ))
本质上,我想要一个数据结构,我可以问一些问题,比如“什么是主语NP的子项?”或者“什么类型的短语支配代词?”最好是在Python中。有人有线索吗 可能是在Python中实现Penn Treebank和其他NLP相关内容的良好开端 我仍然建议使用NLTK阅读树库(参见示例),但我可以想象它不支持这种一般查询 “受试者NP的子女是什么?” 这将是一个
dict
,比如子节点
,将非终端映射到非终端或子节点的集合
“什么类型的短语支配代词?”
这将是另一个dict
,比如说parents
,将非终端映射到非终端的集合
您可能需要构建树节点的关系数据库。确切的模式将取决于您想要询问的查询类型,但请务必查看Python模块
或者,您可以用XML和XML重新编码树库。是Python最好的XML/XPath库,IMHO。谢谢Praveen。我以前确实处理过NLTK,但我似乎找不到任何真正有帮助的东西。我想我必须写我自己的结构,实际上这本身没什么大不了的,我只是在努力正确解析语料库,也就是识别一个节点的子节点等等。