Как реализовать скрытое распределение Дирихле в регрессионном анализе - PullRequest
0 голосов
/ 23 ноября 2018

У меня есть набор данных, состоящий из отзывов об отелях, рейтингов и других функций, таких как тип путешественника и количество слов в обзоре.Я хочу выполнить моделирование тем (LDA) и использовать темы, полученные из обзоров, а также другие функции, чтобы определить функции, которые больше всего влияют на оценки (рейтинги в качестве зависимой переменной).

Если я хочу использоватьлинейная регрессия, чтобы сделать это, означает ли это, что я должен был бы маркировать каждый обзор с темами, полученными?Есть ли способ сделать это в R или мне придется вручную маркировать каждый отзыв?(Я новичок в области интеллектуального анализа текста и данных в целом.)

1 Ответ

0 голосов
/ 24 ноября 2018

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

Хорошее объяснение моделирования темы с примерами кода (в R) можно найти по адресу
www.tidytextmining.com / topicmodeling.html .Разделы 6.2.1 и 6.2.2 должны помочь вам быстро начать работу.

Принимая во внимание следующие два принципа

  • Каждый документ (обзор отеля) представляет собой смесь тем
  • Каждая тема представляет собой смесь слов

после того, как модель темы была обучена в обзорах, для каждого обзора

  • вероятности документа-темы могутбыть использованы в качестве элементов
  • верхние N терминов в каждой теме могут быть использованы для построения матрицы условий документа (каждый обзор сопоставлен с нулем или более верхних терминов), которые затем могут использоваться в качестве дополнительных функций

Упрощенный пример : может быть 4 темы, к которым широко относятся обзоры.

  • Тема 1 может быть о местоположении (главные термины: удобное , местоположение , train_station , walk_distance , shopping и т. д.)
  • Тема 2 может быть оперсонал отеля (верхние термины: ресепшн , Frie, профессионал , быстрый , late_checkout и т. д.)
  • Тема 3 может быть о гостиничных номерах (главные термины: clean_room , обстановка , со вкусом и т. д.)
  • Тема 4 может быть об удобствах отеля (главные термины: бассейн , wifi , fitness_centre и т. Д.)

Вероятности темы документа, объединенные с верхними терминами каждой темы, могут использоваться как функции, подобные:

  • topic_1_location_probability
  • topic_2_hotel_staff_probability
  • topic_3_hotel_room_probability
  • topic_4_hotel_amenities_probability is_convenient_location
  • is_train_station_nearby
  • is_walk_distance
  • is_clean
  • is_late_checkout
  • is_fitness_centre
  • и т. Д.

Для более новых обзоров :

  • В приведенном выше примере показано, как будет создаваться начальный набор обучающих данных - на основе которого вы обучаете свои модели.
  • Дляновые обзоры (то есть те, которые ранее не использовались для обучения моделей), вам не нужно повторять все упражнениеЭто выше.Вместо этого можно использовать модель обученной темы для определения тем ранее невидимых документов (обзоров).Ответы на этот вопрос содержат пример кода, помогающего это сделать.

Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...