Я пишу программу, которая использует пространственную модель en_core_web_md для распознавания именованных объектов. Он не идентифицировал все мои объекты правильно: например, были некоторые имена людей и организаций, которые не были признаны в качестве таковых.
Я посмотрел, как тренировать модель, и нашел этот скрипт: https://github.com/explosion/spaCy/blob/master/examples/training/train_ner.py
Я скачал сценарий, поместил его в ту же папку, что и моя программа, заменил их тренировочные данные своими собственными (содержащими имена, которые я хотел, чтобы он распознал) и запустил его с model="en_core_web_md"
и output_dir="model"
вместо None
.
В моем проекте участвуют персонажи видеоигр, поэтому мои тренировочные данные были:
TRAIN_DATA = [
("Who is Cave Johnson?", {"entities": [(7, 19, "PERSON")]}),
("I work for Aperture Science.", {"entities":[(11, 27, "ORG")]}),
("Wallace Breen is CEO of Black Mesa.", {"entities":[(0, 13, "PERSON"), (25, 35, "ORG")]}),
]
Сценарий train_ner выводит ожидаемые результаты. Однако, когда я запускаю мою другую программу, она все равно не распознает «Кейва Джонсона» как PERSON
или «Черную мезу» как ORG
. Почему скрипт не работает?
Обновление: все еще не работает. Я снова запустил сценарий, без видимого эффекта.