Parsey mcparseface: как получить положение слова в предложении вместе с деревом разбора

Я использую parsey mcparseface и syntaxnet для разбора текста. Я хочу извлечь позиционные данные слов вместе с деревом разбора.

В настоящее время, что на выходе:

echo 'Alice brought the pizza to Alice.' | syntaxnet/demo.sh

Input: Alice brought the pizza to Alice .
Parse:
brought VBD ROOT
 +-- ALice NNP nsubj
 +-- pizza NN dobj
 |   +-- the DT det
 +-- to IN prep
 |   +-- Alice NNP pobj
 +-- . . punct

как мне это нужно, чтобы быть

Input: Alice brought the pizza to Alice .
Parse:
brought VBD ROOT 2
 +-- Alice NNP nsubj 1
 +-- pizza NN dobj 4
 |   +-- the DT det 3
 +-- to IN prep 5
 |   +-- Alice NNP pobj 6
 +-- . . punct 7

или похожие. (это будет особенно полезно, когда есть много вхождений одного и того же слова.)

Спасибо

1 ответ

Решение

Вы можете редактировать conll2tree.py https://github.com/tensorflow/models/blob/master/syntaxnet/syntaxnet/conll2tree.py

изменения token_str в

token_str = ['%s %d %s %s' % (token.word, tind,
           token.tag, token.label)
           for tind,token in enumerate(sentence.token,1)]

должен сделать это.

Другие вопросы по тегам