Улучшение данных обучения модели Spacy NER - PullRequest
1 голос
/ 25 июня 2019

Я новичок в NLP, попробуйте создать модель NER с помощью spacy.io , я просто создаю свою собственную модель NER для сущности ORG https://spacy.io/usage/training#ner. Размер обученных данных равен 100 и обученные данные выглядеть так.,

TRAIN_DATA = [
    ("2003 -2005 Pergo Inc. Software Analyst\Database Administrator", {"entities": [(11, 20, "ORG")]}),
    ("PROFESSIONAL EXPERIENCE Client: WPS Health Solutions, Madison, WI                           Mar17 - Till Date Role: RPA Developer", {"entities": [(32, 52, "ORG")]}),
    ("Client: National Institutes of Health (NIH/NIAMS), Bethesda, MD             Jan15 - Feb17 Role: RPA Developer", {"entities": [(8, 36, "ORG")]}),
    ("Client: Wells Fargo, Fremont, CA                                                   July14 - Dec14 Role: .Net/SharePoint Developer", {"entities": [(8, 19, "ORG")]}),
]

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

doc = nlp('Client: Ananth Technologies Limited, Hyderabad, India Feb11- July12 Role: QA Automation Tester')
print("Organization", [(ent.text, ent.label_) for ent in doc.ents])

Организация [(u'Ananth Technologies Limited ', u'ORG')]

но я передал новое предложение, которое он частично обнаружил.

doc = nlp('Client: MOUNTAIN HIGH HOME BUILDERS, Loveland, CO Application Engineer 8/03-5/10')
print("Organization", [(ent.text, ent.label_) for ent in doc.ents])

Организация [(u'MOUNTAIN HIGH ', u'ORG')]

Теперь я постепенно увеличиваю свои обучаемые данные, точность увеличивается, в то же время предсказывая неверное слово, как ORG. Мои обученные данные (предложение) выглядят по-разному в зависимости от даты, назначения, местоположения и т. Д. В разных местах, а не в порядке, указанном выше (TRAIN_DATA). Теперь я поражен здесь, и Мой вопрос правильно?

Может кто-нибудь предложить мне идею улучшить мою модель?

Спасибо

1 Ответ

0 голосов
/ 28 июня 2019

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

...