【问题标题】:NLTK parse complex list into treeNLTK 将复杂列表解析为树
【发布时间】:2014-06-16 09:14:23
【问题描述】:

我正在尝试将从 max entropy syntactic parser 返回的列表解析为 nltk 树,但从我看到的 here 来看,树是通过初始化每个节点创建的,有没有更简单的方法可以做到这一点? 这是一个列表示例。

[u'SBAR', [u'WHADVP+WRB', 'how'], [u'S', [u'VP', [u'VBD', 'did'], [u'VP', [u'VB', 'serfdom'], [u'VP', [u'VB', 'develop'], [u'SBAR', [u'IN', 'in'], [u'S', [u'CC', 'and'], [u'S', [u'ADVP+RB', 'then'], [u'VP', [u'VB', 'leave'], [u'NP+NNP', 'Russia']]]]]]]], [u'.', '?']]]

【问题讨论】:

    标签: python nltk


    【解决方案1】:

    我为上述问题的递归解决方案制作了以下函数。

    def List_To_Tree(lst):
        if(not isinstance(lst, basestring)):
            if(len(lst) == 2 and isinstance(lst[0], basestring) and isinstance(lst[1], basestring)):                
                lst = Tree(str(lst[0]).split('+')[0],[str(lst[1])])
            elif(isinstance(lst[0], basestring) and not isinstance(lst[1], basestring)):
                lst = Tree(str(lst[0]).split('+')[0],map(List_To_Tree, lst[1: len(lst) ]))
        return lst
    

    【讨论】:

      猜你喜欢
      • 2023-03-09
      • 1970-01-01
      • 2018-07-10
      • 1970-01-01
      • 2014-09-24
      • 1970-01-01
      • 2019-12-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多