Ребята, я тут днями и ночами пытался настроить тематическое моделирование для анализа отзывов о бытовой технике. Думал, ну щас как разделю все на «стиралки», «холодильники» и «пылесосы», а там уже и по брендам. Сначала брал стандартный LDA, потом попробовал NMF. И вот что странно: то у меня получается какая-то каша из слов, где «холодильник» соседствует с «платьем», то модели просто выдают по одной теме на весь датасет. Это уже стало похоже на какой-то сюрреализм.
Я уже начал сомневаться в своих данных, пересмотрел параметры, попробовал разные библиотеки. Чуть было не махнул рукой. Но тут недавно решил попробовать более продвинутый подход, основанный на векторных представлениях слов, и, о чудо, стало получаться! Оказывается, многие классические модели просто не справляются с лексическим разнообразием и переносными смыслами, которые частенько встречаются в отзывах.
В общем, моя история закончилась тем, что я нашел вполне рабочий алгоритм, который увидел нормальные темы. Но сколько я нервов потратил, это ужас. Теперь я точно знаю, что не все модели одинаково полезны, особенно когда речь идет о неформальной речи.
Перед публикацией, советую ознакомится с правилами!