Вопрос или проблема
У меня есть опыт в области социальных наук, и я занимаюсь проектом по текстовому анализу. Я ищу советы по выбору количества тем/кластеров при анализе текстовых данных. В частности, я анализирую набор данных из более чем 200000 твитов и применяю модель латентного Дирихле для выявления кластеров, которые представляют основные темы твитов моего набора данных. Однако я пытался определить оптимальное количество кластеров, но результаты, которые я получаю на изображении, кажутся непоследовательными.
Мне трудно выбрать количество кластеров. Итак, вопрос: какое число вы выбрали бы по графику? Более того, думаете ли вы, что есть другие способы и/или общепринятые правила, на которые можно опираться при выборе количества кластеров?
Вы можете попробовать перплексию или коэфициент согласованности для определения количества тем.
- Перплексия — это статистическая мера того, насколько хорошо модель вероятности предсказывает выборку. Применительно к LDA, для данного значения k вы оцениваете модель LDA. Затем, учитывая теоретические распределения слов, представленные темами, сравните это с фактическими смещениями тем или распределением слов в ваших документах. – Чем ниже, тем лучше.
- Коэффициент согласованности определяется как среднее/медиана парных оценок схожести слов по теме – Чем выше, тем лучше.
- Перплексия реализация на R
Ответ или решение
Выбор оптимального количества тем (кластеров) в текстовых данных — это важная задача при анализе, особенно когда вы работаете с таким большим набором данных, как 200000 твитов. Ваша работа с моделью Латентного Дирихлева (LDA) является подходящим выбором для этой задачи, но определение количества тем действительно может быть сложным.
Рекомендации по выбору числа кластеров
-
Использование перплексии (Perplexity):
Перплексия является статистическим показателем, который измеряет, насколько хорошо модель вероятностей предсказывает выборку. Для LDA перплексия рассчитывается для различных значений k (число тем). Низкие значения перплексии указывают на лучшую модель. Однако стоит отметить, что перплексия не всегда согласуется с человеческой интерпретацией тем. То есть, даже если у вас есть низкая перплексия, это не гарантирует, что темы будут осмысленными. -
Коэрентность (Coherence Score):
Коэрентность — это более интерпретируемый показатель, который вычисляет среднюю схожесть слов в теме. Чем выше коэрентность, тем лучше тема воспринимается человеческим пользователем. Рекомендуется внимательно рассмотреть графики коэрентности в зависимости от количества тем и выбирать то значение, при котором наблюдается устойчивый рост или плата до начала убыли. -
Визуализация тем:
Существует множество инструментов (например, pyLDAvis), которые позволяют визуализировать темные слова и их отношения. Это помогает вам оценить смысл тем и их различия, что может помочь в выборе количества тем, которые имеют практическое значение. -
Интерпретация результатов:
Попробуйте выбрать несколько возможных значений k, и затем проведите интерпретацию полученных тем. Обсудите их с коллегами или другими специалистами, чтобы получить дополнительные перспективы. Это особенно полезно в социальных науках, где понимание контекста и содержания важно.
Заключение
В консенсусе, используйте как перплексию, так и коэрентность в сочетании с визиальными методами и интерпретацией, чтобы выбрать оптимальное количество тем в вашем наборе данных. Это комплексный подход, который учитывать как количественные, так и качественные аспекты анализа текстовых данных.
Если на графике, который вы представили, есть значение, которое соответствует плато в коэрентности и низкой перплексии, это может быть хорошим кандидатом для оптимальных тем. Удачи в вашем проекте!