小编Boy*_*123的帖子

Doc2Vec句子聚类

我有多个包含多个句子的文档.我想使用doc2vec通过使用集群(例如k-均值)句子矢量sklearn.

因此,这个想法是类似的句子在几个集群中组合在一起.但是,我不清楚是否必须单独训练每个文档然后对句子向量使用聚类算法.或者,如果我可以在不训练每个新句子的情况下从doc2vec推断出一个句子向量.

现在这是我的代码片段:

sentenceLabeled = []
for sentenceID, sentence in enumerate(example_sentences):
    sentenceL = TaggedDocument(words=sentence.split(), tags = ['SENT_%s' %sentenceID])
    sentenceLabeled.append(sentenceL)

model = Doc2Vec(size=300, window=10, min_count=0, workers=11, alpha=0.025, 
min_alpha=0.025)
model.build_vocab(sentenceLabeled)
for epoch in range(20):
    model.train(sentenceLabeled)
    model.alpha -= 0.002  # decrease the learning rate
    model.min_alpha = model.alpha  # fix the learning rate, no decay
textVect = model.docvecs.doctag_syn0

## K-means ##
num_clusters = 3
km = KMeans(n_clusters=num_clusters)
km.fit(textVect)
clusters = km.labels_.tolist()

## Print Sentence Clusters ##
cluster_info = {'sentence': example_sentences, …
Run Code Online (Sandbox Code Playgroud)

python text-mining gensim scikit-learn doc2vec

5
推荐指数
1
解决办法
4712
查看次数

标签 统计

doc2vec ×1

gensim ×1

python ×1

scikit-learn ×1

text-mining ×1