spaCy coreference разрешение - именованное распознавание объекта (NER) для возврата уникальных идентификаторов объекта? - PullRequest
0 голосов
/ 12 декабря 2018

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

import spacy
from spacy import displacy
import en_core_web_sm
nlp = en_core_web_sm.load()

text = "This is a text about Apple Inc based in San Fransisco. "\
        "And here is some text about Samsung Corp. "\
        "Now, here is some more text about Apple and its products for customers in Norway"

doc = nlp(text)

for ent in doc.ents:
    print('ID:{}\t{}\t"{}"\t'.format(ent.label,ent.label_,ent.text,))


displacy.render(doc, jupyter=True, style='ent')

возвращает:

ID:381    ORG "Apple Inc" 
ID:382    GPE "San Fransisco" 
ID:381    ORG "Samsung Corp." 
ID:381    ORG "Apple" 
ID:382    GPE "Norway"

Я смотрел на ent.ent_id и ent.ent_id_, но они неактивны согласно документы ent.root я тоже ничего не нашел.

Например, в GCP NLP каждая сущность возвращается с номером «Entity», который позволяет вам идентифицировать несколько экземпляров одной и той же сущности в тексте.

Это «текст» 2 о «Apple Inc» 1, основанный в «Сан-Франциско» 4.А вот немного «текста» 3 о «Корпорации Самсунг» 6.Теперь еще немного «текста» 8 о «Apple» 1 и его «продуктах» 5 для «клиентов» 7 в «Норвегии» 9 "

Поддерживает ли spaCy нечто подобное? Или есть?способ использовать NLTK или Стэнфорд?

1 Ответ

0 голосов
/ 03 апреля 2019

Как комментарии @ gdaras , разрешение coreference в настоящее время не поддерживается в spaCy.

Вот реализация Stanford coreNLP .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...