Создайте свернутое дерево с помощью анализатора Stanfrod в Python - PullRequest
0 голосов
/ 14 декабря 2018

Я следую этому учебнику , чтобы построить дерево зависимостей для предложения с использованием Python.В этом руководстве показано, как использовать Stanfrod Parser с NLTK.Я уже прошел этот шаг, и я могу построить дерево, как показано в моем коде ниже.

from config import config 
from nltk.parse.stanford import StanfordDependencyParser
class ExtractTree:

def __init__(self):
    """
    Init Stanford parse tree
    """
    path_to_jar = config['libs_root'] + "stanford-parser-full-2018-10-17/stanford-parser.jar"
    path_to_models_jar = config['libs_root'] + "stanford-parser-full-2018-10-17/stanford-parser-3.9.2-models.jar"

    self.dependency_parser = StanfordDependencyParser(
        path_to_jar=path_to_jar, path_to_models_jar=path_to_models_jar,java_options=[]
    )

def extract_tree(self, sentence):
    """
    Extract the dependency tree for a sentence
    :param sentence:
    :return:
    """
    result = self.dependency_parser.raw_parse(sentence)

    return next(result)

Однако я не могу понять, как построить свернутое дерево зависимостей, как описано здесь: enter image description here (изображение и цитата взяты из Stanford Parser Documentation стр.20)

В свернутом представлении зависимости, включающие предлоги, конъюнкты, а также информацию о референте относительных предложений, свернуты, чтобы получить прямые зависимости между словами содержимого.

Кажется, у java есть API для него, но я не могу найти способ интегрировать это в Python, есть идеи?

...