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)]
должен сделать это.