Измерение показателя согласованности для моделей Top2Vec

Вопрос или проблема

Я работаю над созданием нескольких моделей Top2Vec на потоках Reddit. В основном я изменяю размеры кластеров HDBScan, чтобы получить разные кластеры встраиваний Doc2Vec, представляющие разное количество тем.

Я пытаюсь сравнить разные модели, используя их оценку согласованности. Я пытался использовать оценку согласованности Gensim, но неудачно. Я получил сообщение об ошибке, указывающее, что слово в темах не включено в словарь.

Я также пытался использовать tmtooklit. Хотя я легко получил матрицу терминов документов (DTM), мне не удалось получить распределение слов по темам, используя Top2Vec.

Вопросы:

  1. Могу ли я решить любую из указанных выше проблем (получить словарь, чтобы перечислить все необходимые термины, или получить распределение слов по темам)?
  2. Существуют ли другие метрики, которые можно использовать для сравнения моделей Top2Vec?

Возможно вычислить оценки согласованности, но, боюсь, вам действительно нужно будет реализовать это самостоятельно на основе определений согласованности. В Top2Vec нет распределений слов по темам. Вместо этого вам нужно будет рассматривать рейтинг слов по темам с точки зрения их удаленности от вектора темы в объединённом пространстве встраивания темы/слова/документа. Такой рейтинг достаточен для многих типов оценок согласованности.

Я столкнулся с той же проблемой, когда изменил значения min_count с 50 на 5 для Top2Vec, и в моем случае слова, которые не входят в словарь (чаще всего это одно слово), появляются почти во всех случаях в конце списка слов по теме. В моем случае было достаточно предоставить Gensim только топ-20 слов для каждой темы, и он рассчитал метрику, потому что остальные 30 слов по умолчанию не учитываются при расчете метрик согласованности. Если это не ваш случай, я думаю, что будет необходимо определить функции с нуля.

Другими метриками, которые используются для оценки тем моделей, являются перплексность или разнообразие, но метрики согласованности являются более близкими к человеческому суждению, что является ещё одним действительно дорогим способом оценки моделей тем.

Ответ или решение

Измерение коэффициента согласованности для моделей Top2Vec

В процессе анализа текста на Reddit с использованием моделей Top2Vec возникает необходимость в сравнении различных моделей, основанных на их показателях согласованности. В данной статье мы рассмотрим основные проблемы, с которыми вы столкнулись, и предложим возможные решения, а также обсудим альтернативные метрики для оценки моделей.

Проблема 1: Ошибка отсутствующих слов в словаре при расчете согласованности с Gensim

Когда вы получаете ошибку от Gensim о том, что слово в темах отсутствует в словаре, это может быть связано с тем, что некоторые слова не соответствуют параметрам min_count или не включены в модель из-за других критериев. Для анализа согласованности важно, чтобы все слова в ваших темах были учтены в словаре.

Решение:

  1. Сокращение числа слов: Если вы используете множество слов для каждой темы, можете попробовать ограничить вывод тем до 20-30 самых значимых слов. Как упомянуто в вашем случае, Gensim может корректно работать с сокращённым списком, что минимизирует вероятность ошибок.

  2. Адаптация словаря: Убедитесь, что ваша модель Top2Vec сформирована с использованием параметров min_count, которые позволяют включить больше слов. Попробуйте изменить этот параметр и перезапустить модель.

  3. Создание собственного словаря: В некоторых случаях может потребоваться создание собственного словаря, который включает все слова, применяемые в вашем анализе. Это можно сделать, извлекая слова из тем и добавляя их в специальный словарь, который затем будет использоваться для дальнейших вычислений.

Проблема 2: Получение распределения слов по темам

Top2Vec не предоставляет прямого доступа к распределению слов по темам, как это делают другие модели, такие как LDA. Вместо этого необходимо использовать ранжирование слов по их расстоянию от векторов тем в объединенном пространстве векторов.

Решение:

  1. Ранжирование слов: Используйте векторные представления тем и слов, чтобы определить, какие слова наиболее близки к каждой теме. Вы можете вычислить косинусное расстояние между вектором темы и векторами слов, чтобы создать список наиболее подходящих слов для каждой темы.

  2. Кастомная реализация функционала: В некоторых случаях может потребоваться программная реализация алгоритмов, использующих концепции тематики и согласованности. Обратите внимание на определение коэффициентов согласованности, таких как UMass или UCI, и настройте ваши функции соответственно.

Дополнительные метрики для сравнения моделей Top2Vec

Помимо коэффициента согласованности, вы можете рассмотреть следующие метрики:

  • Перплексия: Позволяет измерить, насколько хорошо модель предсказывает данные. Это общая метрика, используемая в языковых моделях, однако не всегда отражает человеческое восприятие тем.

  • Диверсификация тем: Измеряет, насколько темы разнородны и разнообразны. Разнообразие тем может быть важным аспектом для оценки качества модели, особенно в контексте больших наборов данных.

  • Экспертная оценка: Проведение экспертизы с участием людей для анализа ментора является еще одним способом оценки согласованности и полезности тем. Несмотря на свою высокую стоимость, этот метод обеспечивает наиболее приближенную к человеческому восприятию оценку качества моделей.

В заключение, работа с моделями Top2Vec в требованиях анализа текста подразумевает соответствие определённым спецификациям и иногда требует кастомизации. Используя предложенные методы, вы сможете оптимизировать свой анализ и эффективно сравнить различные модели.

Оцените материал
Добавить комментарий

Капча загружается...