Как получить правильный NER с помощью SpaCy из текста, такого как «Ф.Б. И. Агент Питер Стрзок, который критиковал Трампа в текстах, уволен»? - PullRequest
0 голосов
/ 03 июля 2019

Как получить правильный NER, используя SpaCy, из текста, такого как «Агент ФБР Питер Стржок, который критиковал Трампа в текстах, уволен - разделы New York TimesSARCHSip to contentSkip to site».здесь «Критикованный Трамп» распознается как личность, а не «Трамп» как личность.

Как предварительно обработать текст в нижнем регистре, например «Критиковано» или «Тексты» из приведенной выше строки, чтобы преодолеть вышеуказанную проблему илилюбая другая техника для этого.

import spacy
from spacy import displacy
from collections import Counter
import en_core_web_sm
nlp = en_core_web_sm.load()
from pprint import pprint

sent = ("F.B.I. Agent Peter Strzok, Who Criticized Trump in Texts, Is Fired - The New York Times SectionsSEARCHSkip to contentSkip to site")
doc = nlp(sent)
pprint([(X, X.ent_iob_, X.ent_type_) for X in doc])

Результат из приведенного выше кода: - «Критикованный Трамп» как «ЛИЦО» и «Тексты» как «GPE»

Ожидаемый результат должен быть: - «Трамп» как «ЧЕЛОВЕК»вместо «Критикованный Трамп» как «ЧЕЛОВЕК» и «Тексты» как «» вместо «Тексты» как «GPE»

1 Ответ

0 голосов
/ 03 июля 2019

Вы можете добавить больше примеров именованных объектов для настройки модели NER.Здесь у вас есть вся информация, необходимая для подготовки данных о поездах https://spacy.io/usage/training. Вы можете использовать вундеркинд (инструмент аннотации от создателей spaCy, https://prodi.gy), чтобы пометить Именованные объекты в ваших данных.

...