Gensim Doc2Vec Обучение
Я использую gensim
тренировать Doc2Vec
модель на документы, присвоенные конкретным людям. Есть 10 миллионов документов и 8000 человек. Меня не волнуют все 8000 человек. Я забочусь о конкретной группе людей (скажем, от 1 до 500).
Люди, в которых я заинтересован, могут меняться изо дня в день, но мне никогда не придется смотреть на все население. Конечная цель состоит в том, чтобы получить результирующие векторы интересующих меня людей. В настоящее время я тренирую модель каждый раз по документам, назначенным конкретным людям.
Должен ли я обучать модель всем 10 миллионам документов? Или я должен обучать модель только тем документам, которые мне интересны? Если важно обучить его всем 10 миллионам документов, как бы мне получить векторы только для людей, которые мне интересны?
1 ответ
Хорошей идеей будет обучить всем 10 миллионам документов, которые помогут вам уловить общую суть слов, а не только в контексте авторов, которые вас интересуют. Кроме того, это поможет вам, если набор Авторы, которые вас интересуют, меняются завтра.
Если вы думаете, что Doc2Vec отнимает много времени, вы также можете использовать Fasttext для изучения WordEmbeddings и использовать простое среднее или средневзвешенное значение TF-IDF для векторов слов для создания вашего DocumentVector. Вы можете использовать мощь иерархического softmax (функция потерь) в Fasttext, которая сократит ваше время тренировки в 1000+ раз.