Преобразование вывода парсинга зависимостей в дерево
я используюStanford dependency parser
и я получаю следующий вывод предложения
Я застрелил слона во сне
python dep_parsing.py
[((u'shot', u'VBD'), u'nsubj', (u'I', u'PRP')), ((u'shot', u'VBD'), u'dobj', (u'elephant', u'NN')), ((u'elephant', u'NN'), u'det', (u'an', u'DT')), ((u'shot', u'VBD'), u'nmod', (u'sleep', u'NN')), ((u'sleep', u'NN'), u'case', (u'in', u'IN')), ((u'sleep', u'NN'), u'nmod:poss', (u'my', u'PRPЯ хочу преобразовать это в граф с узлами, являющимися каждым токеном, и ребрами, являющимися отношением между ними.
Я нуждаюсь в структуре графа для дальнейшей обработки, следовательно, это помогло бы, если бы изменение было легко и также должно быть легко представимым.
Вот мой код до сих пор.
from nltk.parse.stanford import StanfordDependencyParser
stanford_parser_dir = 'stanford-parser/'
eng_model_path = stanford_parser_dir + "stanford-parser-models/edu/stanford/nlp/models/lexparser/englishRNN.ser.gz"
my_path_to_models_jar = stanford_parser_dir + "stanford-parser-3.5.2-models.jar"
my_path_to_jar = stanford_parser_dir + "stanford-parser.jar"
dependency_parser = StanfordDependencyParser(path_to_jar=my_path_to_jar, path_to_models_jar=my_path_to_models_jar)
result = dependency_parser.raw_parse('I shot an elephant in my sleep')
dep = result.next()
a = list(dep.triples())
print a
Как я могу сделать такую структуру графа?
))]
Я хочу преобразовать это в граф с узлами, являющимися каждым токеном, и ребрами, являющимися отношением между ними.
Я нуждаюсь в структуре графа для дальнейшей обработки, следовательно, это помогло бы, если бы изменение было легко и также должно быть легко представимым.
Вот мой код до сих пор.
from nltk.parse.stanford import StanfordDependencyParser
stanford_parser_dir = 'stanford-parser/'
eng_model_path = stanford_parser_dir + "stanford-parser-models/edu/stanford/nlp/models/lexparser/englishRNN.ser.gz"
my_path_to_models_jar = stanford_parser_dir + "stanford-parser-3.5.2-models.jar"
my_path_to_jar = stanford_parser_dir + "stanford-parser.jar"
dependency_parser = StanfordDependencyParser(path_to_jar=my_path_to_jar, path_to_models_jar=my_path_to_models_jar)
result = dependency_parser.raw_parse('I shot an elephant in my sleep')
dep = result.next()
a = list(dep.triples())
print a
Как я могу сделать такую структуру графа?