1 引言
在《LDA Topic Modeling(主题建模): 以Rocscience 2021用户会议为例》一文中,使用Latent Dirichlet Allocation(LDA)提取文档的topic。当使用这种技术提取文档的关键词时,极大地受限于文本的质量和提取策略。昨天晚上试着直接使用Trigram三阶分词技术来提取文档的中心思想,这个笔记仅把试验过程简要记录一下,没有啥新鲜的东西。试验文本为chuquicamata.txt,这个文档汇集了chuquicamata矿的相关资料。试验代码为bigram-test.py。
2 计算原理
Bigram是两个相邻单词的集 合,trigram是三个相邻单词的集 合。一般来说,三个单词更能清晰地表达出一个意思,所以使用了trigram。
from gensim.models import Phrases
triwords = []
bigrams_model = Phrases(docs, min_count=70, threshold=5)
bigrams = list(bigrams_model[docs])
trigrams_model = Phrases(bigrams, min_count=6,threshold=2)
trigrams = list(trigrams_model[bigrams])
for idx in range(len(docs)):
for token in trigrams_model[trigrams[idx]]:
if token.count('_') > 1:
if token not in triwords:
triwords.append(token)
目前没有使用gensim.models.phrases类:
from gensim.models.phrases import Phrases, Phraser
3 LDA的试验结果
首先使用LDA进行了topic modeling,结果如下:
(1) chuquicamata mine rock slope wall
(2) chuquicamata open pit mine rock slope
(3) chuquicamata mine mining pit rock slope
显然,这个结果的缺陷是三个主题表达的意思一样,没有分离出不同的主题。
4 Trigram的试验结果
Trigram的试验结果如下:
chuquicamata_open_pit
open_pit_mine
chuquicamata_mine_chile
transition_open_pit
open_pit_mining
large_open_pit
rock_mass_strength
planning_open_pit
design_chuquicamata_mine
wall_chuquicamata_mine
open_pit_underground
failure_chuquicamata_mine
这个结果的最大缺陷是失去了“rock slope”这个最关键的topic.
相关文章,在仿真秀官网搜索:
LDA Topic Modeling(主题建模)
毕设训练(4): 岩石边坡工程大数据系统设计
Data Mining---岩土工程的数据挖掘
利用文本相似度聚类产生能够再学习的新文档
使用Transformers确定句子之间的相似度