如何在回归分析中实现潜在Dirichlet分配

时间:2018-11-23 20:24:32

标签: r linear-regression lda topic-modeling

我有一个数据集,包括酒店评论,评分和其他功能,例如旅行者类型和评论字数。我想执行主题建模(LDA),并使用从评论以及其他功能中得出的主题来确定对评分影响最大的功能(评分为因变量)。

如果我想使用线性回归来做到这一点,这是否意味着我必须用衍生的主题来标记每个评论?有没有办法在R中做到这一点,还是我必须手动标记每个评论? (我是文本挖掘和数据科学的新手。)

1 个答案:

答案 0 :(得分:1)

简短的答案:您不必在每个评论中都标有派生的主题,因为您将依靠训练的主题模型来确定评论的主题,然后将其用于构建您的功能回归模型。

使用代码示例(在R中)对主题建模有很好的解释,
www.tidytextmining.com/topicmodeling.html6.2.16.2.2部分应帮助您快速入门。

牢记以下两个原则

  • 每个文档(酒店点评)都是主题的混合
  • 每个主题都是单词的混合物

针对每条评论对主题模型进行培训之后,

  • 文档主题概率可以用作特征
  • 每个主题中的前N个术语可以用于构建文档术语矩阵(每个评论都映射有零个或多个顶部术语),然后可以用作附加功能

一个简化的示例:可能有4个主题广泛地属于评论。

  • 主题1可能与位置有关(热门术语:便捷位置火车站步行距离,< em>购物等)
  • 主题2可能与酒店员工有关(热门条款:接待处友好专业快速 late_checkout 等)
  • 主题3可能与酒店房间有关(热门条款:洁净室装饰有品味等)
  • 主题4可能与酒店设施有关(热门条款:游泳池 wifi 健身中心等)

文档主题的概率与每个主题的最高术语结合在一起,可以用作类似于以下内容的功能:

  • 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

获取新评论

  • 上面的示例显示了如何创建初始训练数据集-基于训练模型。
  • 对于较新的评论(即以前未用于训练模型的评论),您不必重复上述整个练习。相反,可以使用经过训练的主题模型来标识以前未查看的文档(评论)的主题。对this问题的答案提供了示例代码来帮助实现此目的。

希望对您有帮助。