Извлечение грамматических структур с помощью Stanza и CoreNLP

Я пытаюсь извлечь грамматические структуры с помощью функции tregex CoreNLP. Я попробовал это с помощью фрагмента кода, представленного в этом сообщении, но получаю сообщение об ошибке "KeyError: 'spanString'". Я использую Stanza 1.0.1 в googel colab. Это мой код:

import stanza


import os
os.environ["CORENLP_HOME"] = "./corenlp"

from stanza.server import CoreNLPClient

# get noun phrases with tregex
def noun_phrases(_client, _text, _annotators=None):
    pattern = 'NP'
    matches = _client.tregex(_text,pattern,annotators=_annotators)
    print("\n".join(["\t"+sentence[match_id]['spanString'] for sentence in matches['sentences'] for match_id in sentence]))

# English example
with CoreNLPClient(timeout=30000, memory='16G', endpoint='http://localhost:9001') as client:
    englishText = "Albert Einstein was a German-born theoretical physicist. He developed the theory of relativity."
    print('---')
    print(englishText)
    noun_phrases(client,englishText,_annotators="tokenize,ssplit,pos,lemma,parse")   

Есть идеи, что вызывает эту ошибку?

0 ответов

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