最近我们被客户要求撰写关于主题LDA建模的研究报告,包括一些图形和统计输出。
使用潜在Dirichlet分配(LDA)和t-SNE中的可视化进行主题建模。
本文中的代码片段仅供您在阅读时更好地理解。有关完整的工作代码,请参阅完整资料。
我们将首先介绍主题建模和t-SNE,然后将这些技术应用于两个数据集:20个新闻组和推文。
相关视频:文本挖掘:主题模型(LDA)及R语言实现分析游记数据
文本挖掘:主题模型(LDA)及R语言实现分析游记数据
时长12:59
什么是主题建模?
主题模型是一套算法/统计模型,可以揭示文档集中的隐藏主题。文档通常涉及不同比例的多个主题,特别是在跨学科文档中(例如,60%关于生物学,25%关于统计学,15%关于计算机科学的生物信息学文章)。主题模型在数学框架中检查和发现主题可能是什么以及每个文档的主题可能性。
热门话题建模算法包括潜在语义分析(LSA),分层Dirichlet过程(HDP)和潜在Dirichlet分配(LDA),其中LDA在实践中已经显示出很好的结果,因此被广泛采用。这篇文章将使用LDA进行主题建模。
T-SNE
t-SNE或t分布随机邻域嵌入是用于高维数据可视化的维数降低算法。这部分是为了减轻人类不能(至少现在不能)感知超过3-D的向量空间这一事实。
这是一个降维并在三维空间中可视化的示例(信用:Google嵌入项目)
t-SNE是不确定的,其结果取决于数据批次。换句话说,相对于批次中的其他数据点,相同的高维数据点可以被转换成不同批次的不同2-D或3-D向量。
可以使用各种语言实现t-SNE,但速度可能会有所不同。
环境
15-inch MacBook Pro, macOS Sierra
2.2 GHz Intel Core i7 processor
16 GB 1600 MHz DDR3 memory
1.将10,000 x 50矩阵转换为10,000 x 2
C ++和Python
real 1m2.662s
user 1m0.575s