Корректировка более универсальных моделей с помощью данных обучения конкретной области часто называется «точной настройкой».
Реализация gensim
*1003* позволяет существующей модели расширить свой известный словарь с помощью того, что видно в новых обучающих данных (через build_vocab(..., update=True)
), а затем для дальнейших циклов обучения, включая этот новый словарный запас.(через train()
).
Но при выполнении этой конкретной формы обновления возникают неясные проблемы баланса между более старыми и новыми данными обучения без четких передовых методов.
В качестве одного примера, поскольку в исходной модели присутствуют токены / нграммы, которые не повторяются в новых данных, новое обучение подтягивает их в новых данных на новые позиции, оптимальные дляновые данные ... но потенциально произвольно далеки от сопоставимой совместимости с более старыми токенами / нграммами.)
Кроме того, это, вероятно, некоторые модельные режимы (например, отрицательная выборка по сравнению с иерархическим-softmax) и некоторые сочетания данных,у вас больше шансов получить чистую выгоду от этого подхода, чем у других, но вам, скорее всего, придется самим найти компромисс, без общих правил, на которые можно было бы положиться.
(Могут быть более точные стратегии настройки для моделей других типов; это просто говорит о способности gensim
FastText
обновлять словарный запас и повторять тренировку.)
Но, возможно, ваша область интересов - научные тексты.И, возможно, у вас также есть много репрезентативных текстов - возможно, даже во время обучения, полный набор статей, которые вы хотите сравнить.
В этом случае вы уверены, что хотите справиться со сложностью, начиная с более обобщенной словесной модели?Почему вы хотите связать свой анализ с какими-либо доминирующими значениями слов в общих справочных материалах, таких как Википедия, если на самом деле у вас уже есть достаточно разнообразные и репрезентативные примеры вашего домена слов в Ваш домен контекстов?
Поэтому я бы рекомендовал сначала попытаться обучить вашу собственную модель на основе ваших собственных репрезентативных данных.И только если вы боитесь, что упускаете важные слова / чувства, попробуйте смешать их с чувствами, полученными из Википедии.(В этот момент еще один способ смешать это влияние - это смешать тексты Википедии с вашим другим корпусом. И вы также должны быть готовы проверить, действительно ли это помогает или вредно - потому что это может быть либо.)
Кроме того, если ваша настоящая цель заключается в сравнении полных статей, вы, возможно, захотите взглянуть на другие стратегии моделирования документов, включая представления с пакетом слов, реализацию Doc2Vec
('Paragraph Vector') в gensim
,или другиеДля таких подходов необязательно требуются векторы для каждого слова в качестве входных данных, но они все равно могут хорошо работать для количественного определения сходства между текстами.