3

我尝试使用NLTK DependencyGraph从 CoNLL 输入中获取依赖树。我的理解是,这个类提供了一个tree() method构建树结构的依赖关系,没有relationbetweenheaddependents。树也没有 POS 标签。还有一个三元组() method,它为头部、关系和依赖项提供 POS 标签。使用三元组方法,当一个词在句子中重复时,我很难得到依赖项,the red car is behind the blue car因为这个词的索引不在三元组中。在这里,对于同一个单词,我们有 2 个不同的节点car

那么如何从 CoNLL 输入一个带有头词、它的标签、关系、孩子的依赖树。它也可以是一个类似的数据结构,其中可以找到给定句子的信息(中心词、其标签、关系、子项)。欢迎提出任何建议。下面是一个可以用来启动的代码。

from nltk.parse import DependencyGraph


conll_data2 = """1   Cathy             Cathy             N     N     eigen|ev|neut                    2   su      _  _
2   zag               zie               V     V     trans|ovt|1of2of3|ev             0   ROOT    _  _
3   hen               hen               Pron  Pron  per|3|mv|datofacc                2   obj1    _  _
4   wild              wild              Adj   Adj   attr|stell|onverv                5   mod     _  _
5   zwaaien           zwaai             N     N     soort|mv|neut                    2   vc      _  _
6   .                 .                 Punc  Punc  punt                             5   punct   _  _

1   the _   DET DT  _   3   det _   _
2   blue    _   ADJ JJ  _   3   amod    _   _
3   car _   NOUN    NN  _   4   nsubj   _   _
4   is  _   VERB    VBZ _   0   ROOT    _   _
5   behind  _   ADP IN  _   4   prep    _   _
6   the _   DET DT  _   8   det _   _
7   red _   ADJ JJ  _   8   amod    _   _
8   car _   NOUN    NN  _   5   pobj    _   _

1   Ze                ze                Pron  Pron  per|3|evofmv|nom                 2   su      _  _
2   had               heb               V     V     trans|ovt|1of2of3|ev             0   ROOT    _  _
3   met               met               Prep  Prep  voor                             8   mod     _  _
4   haar              haar              Pron  Pron  bez|3|ev|neut|attr               5   det     _  _
5   moeder            moeder            N     N     soort|ev|neut                    3   obj1    _  _
6   kunnen            kan               V     V     hulp|ott|1of2of3|mv              2   vc      _  _
7   gaan              ga                V     V     hulp|inf                         6   vc      _  _
8   winkelen          winkel            V     V     intrans|inf                      11  cnj     _  _
9   ,                 ,                 Punc  Punc  komma                            8   punct   _  _
10  zwemmen           zwem              V     V     intrans|inf                      11  cnj     _  _
11  of                of                Conj  Conj  neven                            7   vc      _  _
12  terrassen         terras            N     N     soort|mv|neut                    11  cnj     _  _
13  .                 .                 Punc  Punc  punt                             12  punct   _  _
"""


graphs = [DependencyGraph(entry)
for entry in conll_data2.split('\n\n') if entry]

for graph in graphs:

 #find data structure here to get head word, its tag, relation, children. 
4

0 回答 0