В настоящее время я использую интерфейс Python для Stanford Parser, но я не хочу получать формат вывода дерева.
import sys
import os
from nltk.parse import stanford
os.environ['STANFORD_PARSER'] = 'E:/jars/stanford-parser.jar'
os.environ['STANFORD_MODELS'] = 'E:/jars/stanford-parser-3.9.2-models.jar'
parser1 = stanford.StanfordParser(model_path="/stanford-parser-full-2018-10-17/edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz")
output=list(parser.raw_parse("The young man who boarded his usual train that Sunday afternoon was twenty-four years old and fat. "))
print(output)
Вывод кода выглядит так:
[Tree('ROOT', [Tree('S', [Tree('NP', [Tree('NP', [Tree('DT', ['The']), Tree('JJ', ['young']), Tree('NN', ['man'])]), Tree('SBAR', [Tree('WHNP', [Tree('WP'....Tree('.', ['.'])])])]
Тем не менее, мне не нужны метки, поэтому я хотел бы иметь вывод в таком формате:
( ( A person ) ( ( ( ( is ( at ( a diner ) ) ) , ) ( ordering ( an omelette ) ) ) . ) )
Помощь будет с благодарностью. Спасибо!