相关疑难解决方法(0)

在Python中解析S表达式

是否有任何python模块可用于在Python中解析和操作符号表达式,类似于如何评估Lisp表达式?

python s-expression

11
推荐指数
1
解决办法
6350
查看次数

如何根据依赖解析器的输出生成树?

我试图从依赖解析器的输出中创建一棵树(嵌套字典)。这句话是“我在睡梦中射杀了一头大象”。我能够获得链接中所述的输出: How do I do dependency parsing in NLTK?

nsubj(shot-2, I-1)
det(elephant-4, an-3)
dobj(shot-2, elephant-4)
prep(shot-2, in-5)
poss(sleep-7, my-6)
pobj(in-5, sleep-7)
Run Code Online (Sandbox Code Playgroud)

为了将此元组列表转换为嵌套字典,我使用了以下链接: 如何将 python 元组列表转换为树?

def build_tree(list_of_tuples):
    all_nodes = {n[2]:((n[0], n[1]),{}) for n in list_of_tuples}
    root = {}    
    print all_nodes
    for item in list_of_tuples:
        rel, gov,dep = item
        if gov is not 'ROOT':
            all_nodes[gov][1][dep] = all_nodes[dep]
        else:
            root[dep] = all_nodes[dep]
    return root
Run Code Online (Sandbox Code Playgroud)

输出如下:

{'shot': (('ROOT', 'ROOT'),
  {'I': (('nsubj', 'shot'), {}),
   'elephant': (('dobj', 'shot'), {'an': (('det', 'elephant'), {})}),
   'sleep': (('nmod', 'shot'), …
Run Code Online (Sandbox Code Playgroud)

python dictionary nlp nltk stanford-nlp

5
推荐指数
1
解决办法
4214
查看次数

标签 统计

python ×2

dictionary ×1

nlp ×1

nltk ×1

s-expression ×1

stanford-nlp ×1