Я использую LDA для данных, связанных со здоровьем.В частности, у меня есть ~ 500 документов, которые содержат интервью продолжительностью около 5-7 страниц.Хотя я не могу вдаваться в детали данных или результатов из-за сохранения целостности / конфиденциальности данных, я опишу результаты и пройду процедуру, чтобы дать лучшее представление о том, что я делаю и где я могу улучшить.
Для результатов я выбрал 20 тем и вывел 10 слов по теме.Хотя 20 было несколько произвольным, и у меня не было четкого представления о большом количестве тем, это казалось хорошим количеством, учитывая объем данных и то, что все они связаны со здоровьем.Тем не менее, результаты выявили две проблемы: 1) неясно, какие темы были, так как слова в каждой теме не обязательно совпадают или рассказывают историю, и 2) многие слова из разных тем перекрываются, и было несколькослова, которые встречаются в большинстве тем.
С точки зрения того, что я сделал, я сначала предварительно обработал текст.Я преобразовал все в нижний регистр, удалил знаки препинания, удалил ненужные кодировки, специфичные для набора документов под рукой.Затем я размечал документы, лемматизировал слова и выполнял tf-idf.Я использовал возможности склеарна tf-idf и в процессе инициализации tf-idf я указал настраиваемый список стоп-слов, которые нужно удалить (который добавлен в набор стоп-слов nltk).Я также установил max_df на 0,9 (неясно, что такое хорошее число, я просто поиграл с разными значениями), min_df на 2 и max_features на 5000. Я попробовал и tf-idf, и мешок слов (count vectorizer), но я нашелtf-idf, чтобы дать немного более четкие и более четкие темы при анализе вывода LDA.После того, как это было сделано, я запустил модель LDA.Я установил количество тем равным 20, а количество итераций - 5.
Насколько я понимаю, каждое принятое мною решение могло способствовать способности модели LDA определять четкие и значимые темы.Я знаю, что обработка текста играет огромную роль в производительности LDA, и чем лучше я там работаю, тем более проницательным будет LDA.
- Что-то явно не так или я что-то упустил.Есть ли у вас какие-либо предлагаемые значения / исследования для любого из параметров, которые я описал выше?
- Насколько подробным я должен быть придирчивым при фильтрации потенциальных доменных слов?
- Как определить большое количество тем и итераций на этапе LDA?
- Как я могу проверить производительность, кроме качественного сравнения результатов?
Я ценю все идеи и вклад.Я совершенно новичок в области тематического моделирования, и хотя я прочитал несколько статей, мне есть чему поучиться!Спасибо!