我正在尋找處理Penn Treebank結構的Python數據結構。這是一個什麼樣的樹庫看起來像一個示例:Treebank的Python數據結構?
((S
(NP-SBJ (PRP He))
(VP (VBD shouted))
(. .)))
從本質上講,我想一個數據結構,我可以問喜歡的東西「是什麼主題NP的孩子嗎?」或者「什麼類型的短語支配代名詞?」,最好在Python中。有人有線索嗎?
我正在尋找處理Penn Treebank結構的Python數據結構。這是一個什麼樣的樹庫看起來像一個示例:Treebank的Python數據結構?
((S
(NP-SBJ (PRP He))
(VP (VBD shouted))
(. .)))
從本質上講,我想一個數據結構,我可以問喜歡的東西「是什麼主題NP的孩子嗎?」或者「什麼類型的短語支配代名詞?」,最好在Python中。有人有線索嗎?
NLTK modules可能是一個很好的開始在Python中實現Penn Treebank和其他NLP相關的東西。
我仍然建議使用NLTK來讀取樹庫(請參閱,例如this blog post),但我可以想象它不支持這種常規查詢。 「
」主題NP的孩子是什麼?
這將是一個dict
,說children
,映射非終結符要麼終結符號或子節點的sets
。 「
」什麼類型的短語支配代名詞?「
這將是另一個dict
,說parents
,映射到非終結符非終結符的sets
。
您可能想要構建樹節點的關係數據庫。確切的模式將取決於你想問什麼樣的查詢,但一定要查看Python sqlite3
模塊。
或者,您可以使用XML和use XPath to query it重新編碼樹庫。 LXML是適用於Python的最佳XML/XPath庫,恕我直言。
謝謝Praveen。我之前已經處理過NLTK,但我似乎無法找到任何能夠幫助我的東西。想想我將不得不編寫我自己的結構,這實際上本身並沒有什麼大不了的,我只是在努力解決正確的語料庫,即識別節點的孩子等等。 – Joko