2017-08-28 25 views
0

我正在使用doc2vec轉換我的追隨者在向量表示中的前100個推文(稱爲v1 ..... v100)。之後,我使用向量表示來完成K均值聚類。如何在使用Doc2vec後解析羣集結果?

model = Doc2Vec(documents=t, size=100, alpha=.035, window=10, workers=4, min_count=2) 

我可以看到集羣0被某些值(比如v10,v12,v23,...)所支配。我的問題是這些v10,v12 ...等代表什麼。我可以推斷出這些具體的列集合文檔的特定關鍵字。

回答

0

集羣本身並不意味着任何特定的。您可以擁有任意數量的羣集,並且所有羣集算法都會嘗試將所有矢量分配到這些羣集中。如果您知道所有推文,並知道您希望將它們分離爲多少個不同的主題,請嘗試清除它們或在其中添加特徵,這樣聚類算法就可以使用這些特徵將它們分離到您選擇的羣集中。

此外,如果您的意思是話題建模,這是不同的聚類,你也應該看看。

+0

不,只有少數算法如k-means會將所有點分配給k個簇。很多現代算法都沒有。即使使用k-means,這些集羣也有一些意義。通過word2vec映射回原始數據空間並不容易。 –

+0

我想要使用他們的推文內容分割類似的追隨者。有幾種方法可以找到數據中最佳的羣集數量。所以我不同意集羣是完全沒用的。我只是試驗看doc2vec是否可以做出更好的分割,當然它應該對用戶感興趣的主題進行某種分類。 –

0

這些值代表要在羣集中表示的各個tweets(或文檔)的座標。我假設v1到v100表示​​推文1到100的向量,否則這是沒有意義的。因此,如果假設聚類0具有v1,v5和v6,則這意味着具有向量表示v1的推文1,5和6, v5和v6(或以向量v1,v5和v6爲代表的推文)屬於羣集0.

+0

你真的應該閱讀word2vec。不,這些變量不對應於推文。 –

+0

@ Anony-Mousse我正在使用doc2vec。在word2vec的情況下,我可以嘗試從單詞集合中理解,但是由於用戶在不同的主題上發微博,所以定義兩個100條推文的文檔是非常困難的。但是,我的結果顯示出一些好的趨勢,就像所有隻是爲了促銷其產品而正在聚集在一起的公司/公司一樣。有藝術等詞的人聚集在一個地方。但如何使用這些變量來定義集羣的屬性是個大問題 –

1

請勿使用各個變量。由於這些嵌入的訓練方式,它們只能一起分析。

對於起動器,找到

  1. 最相似的文檔向量到您的心,看看典型的集羣成員
  2. 最相似的詞向量從嵌入典型的詞語來形容集羣
  3. 注看看你的身材有多好。
+0

謝謝,這真是一個很好的方法。我會盡力讓你知道結果。我的結果顯示出一些良好的趨勢,就像所有隻爲促銷其產品而正在聚集在一起的公司/公司一樣。有藝術等詞語的人聚集在一個地方 –

+0

你是什麼意思的最相似的術語向量?我完成了第1步並確定了質心的k最近鄰居。我應該使用word count/tf-idf來查找最相似的術語向量,或者在每個羣集上使用word2vec來查找相同的 –

+0

使用doc2vec使用的相同計算(點積)。 –