Как создать инкрементную модель обучения NER (добавляется в существующую модель)?

Я тренирую настроенную модель Named Entity Recognition(NER) с использованием Stanford NLP, но я хочу переобучить модель.

Пример:

Предположим, что я обучил модель XYZ, затем я протестирую ее на некотором тексте, если модель обнаружила что-то не так, тогда я (конечный пользователь) исправлю это и хочу перенастроить (режим добавления) модель на исправленном тексте.

Стэнфорд не предоставляет возможности для повторного обучения, поэтому я перешел на простую библиотеку python, где я могу переобучить модель, значит, я могу добавлять новые сущности в существующую модель. Но после переобучения модели с использованием spacy она переопределяет имеющиеся знания (означают имеющиеся в нем данные обучения) и просто показывающие результат, связанный с недавним обучением.

Предположим, я обучил модель по тегу TECHNOLOGY, используя 1000 записей. После этого, скажем, я добавил еще одну сущность BOOK_NAME в существующую обученную модель. После этого, если я тестирую модель, тогда пространственная модель просто обнаруживает BOOK_NAME из текста.

Пожалуйста, дайте предложение для решения моей проблемы.

Заранее спасибо...!

1 ответ

Я думаю, что уже поздно говорить об этом здесь. Проблема, с которой вы сталкиваетесь, это то, что также называется "проблема катастрофического забвения". Вы можете преодолеть это, отправив примеры для существующих примеров. Как Spacy может предсказать хорошо на хорошо сформированном тексте, как корпус BBC. Вы можете выбрать такой корпус, предсказать, используя предварительно обученную модель пространства, и создать учебные примеры. Смешайте эти примеры с вашими новыми примерами, а затем тренируйтесь. Теперь вы должны получить лучшие результаты. Это было упомянуто уже в просторных вопросах.

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