Дерево зависимостей со словом, POS-тегом, отношением из входных данных CoNLL
Я пытаюсь получить дерево зависимостей от ввода CoNLL, используя NLTK DependencyGraph. Я понял, что этот класс обеспечивает tree() method
что построить древовидную структуру для зависимости без relation
между head
а также dependents
, У дерева нет также 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.