【自然语言处理】主题建模:Top2Vec(理论篇)

主题建模:Top2Vec(理论篇)

Top2Vec 是一种用于 主题建模语义搜索 的算法。它自动检测文本中出现的主题,并生成联合嵌入的主题、文档和词向量。

算法基于的假设:许多语义相似的文档都可以由一个潜在的主题表示。首先,创建文档和词向量的联合嵌入。一旦文档和单词被嵌入到向量空间中,算法的目标就是找到密集的文档簇,然后找到是哪些单词将这些文档聚集在一起。每个密集区域即为一个主题,将文档聚拢到密集区域的词就是主题词。

1.联合嵌入

使用 Doc2Vec 或 Universal Sentence Encoder 或 BERT Sentence Transformer 创建文档和词向量的联合嵌入。

文档将被放置在靠近其他类似文档和靠近最有区别的词的地方。

【自然语言处理】主题建模:Top2Vec(理论篇)_第1张图片

2.降维

使用 UMAP 为文档向量的降维。高维空间中的文档向量非常稀疏,降维有助于找到密集区域。每个点都代表了一个文档向量。

3.聚类

使用 HDBSCAN 查找文档的密集区域。彩色区域是文档的密集区域。红点是不属于特定集群的异常值。

4.计算质心

对于每个密集区域,计算文档向量在原始维度的质心,这就是主题向量。红点是异常文档,不用于计算主题向量。紫色点是属于密集区域的文档向量,从中计算主题向量。

【自然语言处理】主题建模:Top2Vec(理论篇)_第2张图片

5.词向量排序

找到与生成的主题向量最接近的词向量。最接近的词向量作为主题词。
【自然语言处理】主题建模:Top2Vec(理论篇)_第3张图片

你可能感兴趣的:(自然语言处理,自然语言处理,主题建模,Top2Vec,语义搜索,文本挖掘)