Подробная информация об увеличении применительно к тематическому моделированию

У меня есть вопрос о функции «дополнения» из учебника Сильге и Робинсона «Интеллектуальный анализ текста с помощью R: аккуратный подход». Запустив LDA в корпусе, я применяю «дополнение», чтобы назначить темы для каждого слова.

Я получаю результаты, но не уверен, что происходит «под капотом» за «увеличением», то есть как тема для каждого слова определяется с использованием байесовской структуры. Основано ли это только на формуле условной вероятности и оценивается после того, как LDA подходит с использованием p (тема | слово) = p (слово | тема) * p (тема) / p (слово)?

Буду признателен, если кто-нибудь может предоставить статистические данные о том, как это делает «дополнение». Не могли бы вы также предоставить ссылки на документы, где это задокументировано.


person Dave    schedule 16.11.2018    source источник
comment
Ваш вопрос касается augment() или LDA? Аугмент просто приводит в порядок результат подгонки модели. Если ваш вопрос касается деталей, связанных с моделированием тем с использованием LDA, я считаю, что stats.stackexchange — лучшее место.   -  person Henry Cyranka    schedule 16.11.2018
comment
Вам будет легче помочь, если вы включите простой воспроизводимый пример с образцом ввода и желаемым выводом, которые можно использовать для тестирования и проверки возможных решений. augment() — это общая функция из broom. Он делает разные вещи в зависимости от того, что вы передаете, и это совсем не относится к тематическому моделированию. Вам необходимо проверить документацию по другим функциям, которые вы используете, чтобы определить, какой метод используется во время моделирования.   -  person MrFlick    schedule 16.11.2018
comment
@Harro Cyranka, мой вопрос о том, как функция увеличения определяет темы для каждого слова. Следовательно, не о LDA как таковой. Судя по всему, в рамках тыдинга вывода он возвращает темы. Мне нужно понять, как он получает эти темы.   -  person Dave    schedule 16.11.2018
comment
Функция расширения не присваивает слова какой-либо теме. Как прокомментировал @MrFlick, это общая функция от метлы. Документы назначаются темам, а слова назначаются темам с помощью функции LDA(). Расширение просто сопоставляет назначение слов, созданное LDA, с каждым словом в аккуратном фрейме данных.   -  person Henry Cyranka    schedule 16.11.2018


Ответы (1)


Пакет tidytext имеет открытый исходный код и находится на GitHub, так что вы можете самостоятельно изучить код augment(). я бы предложил посмотреть на

  • augment() для LDA из topicmodels< /сильный> пакет
  • augment() для структурной тематической модели из stm пакет

Чтобы узнать больше об этих подходах, есть превосходная paper/vignette по структурной тематической модели, и мне нравится статья Википедии для LDA.

person Julia Silge    schedule 18.11.2018