Вопрос или проблема
У меня есть два набора данных с похожей темой. Предположим, Набор данных A и Набор данных B. Используя модель top2vec (https://github.com/ddangelov/Top2Vec) (https://arxiv.org/abs/2008.09470) для каждого набора данных, я получил определенное количество тем. Теперь я хочу сопоставить темы обоих наборов данных. Как я могу это сделать? Кластеризация или любой другой метод подойдут, если я смогу вычисленно сравнить сгенерированные темы.
Мне не известны стандартные способы для этого, но я мог бы предложить несколько направлений. Обратите внимание, что в обеих идеях возможно сравнивать темы как индивидуально, так и глобально.
Применение оценочных мер к экземплярам
В этой идее вы примените модель, полученную из набора данных A, ко всем экземплярам набора данных B (и, конечно, вы можете сделать и наоборот). Это даст вам прогноз темы для каждого экземпляра в B (обычно с использованием темы с максимальной вероятностью для экземпляра) как из модели A, так и из модели B.
Затем вам потребуется метод, чтобы сопоставить темы между A и B, т.е. преобразовать темы от A к B. Это можно сделать, используя количество экземпляров, которые они имеют в общем. Я знаю, что существует некоторая литература и несколько методов, которые использовались в контролируемых оценочных мерах для индукции значений слов, я предполагаю, что есть аналогичные вещи для тематического моделирования (не уверен). Как только сопоставление будет сделано, можно использовать различные оценочные меры для сравнения тем. Идея заключается в том, чтобы рассматривать темы, полученные из A, как прогнозы, которые необходимо сравнить с эталонными темами из B. Обратите внимание, что большинство мер являются симметричными, поэтому не имеет значения, какая из них рассматривается как прогноз, а какая как эталон.
Сравнение вероятностей слов
Я не знаком с top2vec, но обычно возможно получить топовые слова для каждой темы вместе с их ассоциированными вероятностями. Предполагая, что это возможно здесь, идея будет заключаться в сравнении либо:
- Топ N слов для каждой пары тем (каждая тема из A против каждой темы из B). Это можно сделать очень просто, подсчитав количество слов, общих между двумя топами N: чем больше темы похожи, тем больше у них общих слов в их топе N.
- всей распределительной вероятности слов для каждой пары тем, используя меру расстояния, такую как дивергенция Кульбака-Лейблера (существуют и другие варианты). Это значение будет представлять, насколько тесно связаны две темы.
Ответ или решение
Сравнение тем, сгенерированных с помощью моделирования тем на различных наборах данных, может быть сложной задачей, особенно когда речь идет о данных, которые имеют схожую тематику. В данной статье мы рассмотрим несколько подходов для эффективного сравнения тем, полученных из наборов данных A и B с использованием модели Top2Vec.
1. Сравнение по оценочным метрикам
Первый метод заключается в применении модели, созданной для набора данных A, к экземплярам набора B и наоборот. Это позволит вам получить предсказания тем для каждого экземпляра в обоих наборах данных. После этого необходимо сопоставить темы из наборов данных A и B. Одним из способов этого сопоставления является использование числа общих экземпляров, принадлежащих к определённой теме.
Шаги:
- Применение модели: Используйте модель Top2Vec, обученную на наборе данных A, для анализа всех экземпляров из набора данных B. Получите темы и ассоциированные с ними вероятности.
- Сопоставление тем: На основании числа экземпляров, которые относятся к одной и той же теме, выполните сопоставление тем. Можно использовать методы из области оценки в машинном обучении, такие как F1-мера или точность, для выяснения степени точности соответствий.
- Вычисление метрик: Для каждой пары сопоставленных тем можно использовать такие метрики, как точность, полнота и F1-мера для оценки качества сопоставления.
2. Сравнение по вероятностям слов
Другим подходом является анализ статистики слов внутри тем. Если Top2Vec предоставляет список наиболее вероятных слов для каждой темы, вы можете использовать эти данные для выявления степени схожести между темами.
Шаги:
- Анализ самых вероятных слов: Для каждой темы получите топ-N слов и их вероятности. Убедитесь, что вы работаете с одинаковым количеством слов для каждой темы.
- Сравнение пары тем: Сравните каждую тему из A с каждой темой из B. Это можно сделать несколькими способами:
- Подсчет общих слов: Посчитайте количество слов, которые совпадают в двух темах. Чем больше совпадающих слов, тем более схожи темы.
- Выбор метрики расстояния: Используйте такие методы, как Kullback-Leibler Divergence или Jensen-Shannon Divergence для оценки степени схожести распределений вероятностей слов. Эти метрики помогут оценить, насколько близки две темы друг к другу по распределению слов.
Заключение
Сравнение тематических моделей из различных наборов данных требует использования различных подходов, основанных как на оценке метрик, так и на анализе вероятностей слов. Выбор метода будет зависеть от конкретных задач и доступных ресурсов. Некоторые из предложенных методов могут быть дополнены или адаптированы в зависимости от особенностей данных и целей исследования. Важно проводить анализ как индивидуально, так и на глобальном уровне для выявления общих тенденций и нюансов в темах, полученных из наборов данных A и B.
Следуя этим рекомендациям, вы сможете обоснованно и точно сравнить темы, выявленные из ваших данных, что в дальнейшем даст вам возможность более глубоко понять одинаковые категории и их значения в разных контекстах.