1

我正在努力查看斯坦福依赖解析器的结果。它成功打印了信息,但我无法访问它。这是我打印结果时看到的。

defaultdict(<function DependencyGraph.__init__.<locals>.<lambda> at 0x075078A0>,
                        {0: {'address': 0,
                             'ctag': 'TOP',
                             'deps': defaultdict(<class 'list'>, {'root': [2]}),
                             'feats': None,
                             'head': None,
                             'lemma': None,
                             'rel': None,
                             'tag': 'TOP',
                             'word': None},
                         1: {'address': 1,
                             'ctag': 'CD',
                             'deps': defaultdict(<class 'list'>, {}),
                             'feats': '_',
                             'head': 2,
                             'lemma': '_',
                             'rel': 'nummod',
                             'tag': 'CD',
                             'word': 'seven'},
                    

我怎样才能访问这些项目?

4

1 回答 1

0

依赖图的输出是一个DependencyGraph类的对象。如果你跑

dir(result) # assuming result contains the parser output

您将能够看到该result对象的所有属性和方法。

['__class__',
 '__delattr__',
 '__dict__',
 '__dir__',
 '__doc__',
 '__eq__',
 '__format__',
 '__ge__',
 '__getattribute__',
 '__gt__',
 '__hash__',
 '__init__',
 '__init_subclass__',
 '__le__',
 '__lt__',
 '__module__',
 '__ne__',
 '__new__',
 '__reduce__',
 '__reduce_ex__',
 '__repr__',
 '__setattr__',
 '__sizeof__',
 '__str__',
 '__subclasshook__',
 '__unicode__',
 '__weakref__',
 '_hd',
 '_parse',
 '_rel',
 '_repr_svg_',
 '_tree',
 '_word',
 'add_arc',
 'add_node',
 'connect_graph',
 'contains_address',
 'contains_cycle',
 'get_by_address',
 'get_cycle_path',
 'left_children',
 'load',
 'nodes',
 'nx_graph',
 'redirect_arcs',
 'remove_by_address',
 'right_children',
 'root',
 'to_conll',
 'to_dot',
 'top_relation_label',
 'tree',
 'triples',
 'unicode_repr']

然后您可以遍历所有节点以访问您想要的项目。

for i in range(len(result.nodes)):
    print(f"Word: {result.nodes[i]['word']}\tLemma: {result.nodes[i]['lemma']}\tTag: {result.nodes[i]['tag']}\tHead: {result.nodes[i]['head']}\tRel: {result.nodes[i]['rel']}")
于 2021-01-26T16:56:08.447 回答