EntityLinker Spacy возвращает неверный объект

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

Данные обучения содержат 30000 предложений.

Я слежу за записной книжкой, предоставленной Spacy https://github.com/explosion/projects/blob/v3/tutorials/nel_emerson/notebooks/notebook_video.ipynb

Обучение проходит нормально, и точность кажется довольно хорошей, пока я не протестирую модель на явно неверной струне. Такой «Барак Обама - флорист французского происхождения, живущий в Испании с 36 кошками и двумя хомяками», но модель предсказывает человека в этой строке как https://www.wikidata.org/wiki/Q76

Я пробовал добавить в конфигурацию дополнительные параметры, например n_sents

entity_linker = nlp.add_pipe("entity_linker", config={"incl_prior": False, "n_sents": 6}, last=True)

Есть ли способ улучшить это? лучше было бы вернуть NIL вместо неправильного ответа. Или есть оценка уверенности, которую можно вывести?

1 ответ

Решение

Принцип работы Entity Linker заключается в том, что, учитывая всех потенциальных кандидатов на сущность, он выбирает наиболее вероятного.

Проблема, с которой вы столкнулись, заключается в том, что ваш флорист не известен модели, поэтому он не является кандидатом. Поскольку единственный Барак Обама, о котором знает модель, - это бывший президент США, модель может с уверенностью сказать, что «Барак Обама» должен относиться к президенту.

Модель не имеет механизма, позволяющего определить, относится ли ссылка к объекту, отсутствующему в базе знаний. Он также никогда не будет воздерживаться и, если есть кандидаты, выберет одного. «NIL» - это не воздержание, это когда ссылка не имеет записей в базе знаний, поэтому выбирать не из чего.

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

Другие вопросы по тегам