СВЯЗЬ СУЩНОСТЕЙ С ИСПОЛЬЗОВАНИЕМ БИБЛИОТЕКИ SPACY С PYTHON

#python #nlp #spacy

#python #nlp #spacy

Вопрос:

Вопрос: Apple и Google составляют 400 миллиардов и 500 миллиардов долларов соответственно

Ответ:

Apple -> 400 миллиардов

Google -> 500 миллиардов

Как найти связь сущностей с использованием библиотеки spacy с python

Мой приведенный ниже код хорош или мне нужно обучаться (с пользовательским распознавателем именованных сущностей)? Я не получаю точного ответа для различных входных данных

 import spacy

nlp = spacy.load('en_core_web_sm')
doc = nlp("Apple and Google are 400 billion and 500 billion dollars respectively")

for i in doc:
    if i.pos_ == "NOUN" and i.dep_ == "nsubj":
        for j in i.head.subtree:
            if j.dep_ == 'attr' or j.dep_ == 'prep' or j.dep_ == 'pobj':
                print(i)

for i in doc.ents:
    print(i)
  

Комментарии:

1. Вы должны добавить некоторый пример ввода и соответствующий вывод, чтобы показать как правильные, так и неправильные результаты.

2. Часть проблемы заключается в том, что Apple и Google являются pos_=PROPN . Проверьте i.subtree атрибут