1
Affinity Propagationを使用してword2vecクラスタをクラスタ化し、クラスタの中心語を取得します。PythonでAffinity Propagationを使用してword2vecをクラスタリングする(sklearn)
私の現在のコードは以下の通りです。私は300の隠れた層寸法および77は、私の語彙のサイズであるword2vec意味を理解したよう ValueError: S must be a square array (shape=(77, 300))
:
model = word2vec.Word2Vec.load("word2vec")
word_vectors = model.wv.syn0
affprop = AffinityPropagation(affinity="precomputed", damping=0.5)
af= affprop.fit(word_vectors)
しかし、これは、次のエラーを発生させます。
正方形配列ではないword2vecベクトルに対してAffinity Propagationを使用する方法は不思議です。
私を助けてください!
どうもありがとう:)を直接私たちすることができますあなたが述べたようにコサイン距離を計算するか、次のようなメソッドを使う必要があります: 'index = gensim.similarities.MatrixSimilarity(gensim.matutils.Dense2Corpus(word_vectors)) インデックスのシムの場合: similarity_matrix.append(sims) similarity_array = np.array(similarity_matrix) ' –
任意の方法で距離を計算できます。私はシンプルさのためにscikitを使う傾向があります。 – ncfirth
親和性伝播に入力する行列が本質的に距離行列である必要があるかどうか教えてください。代わりに類似性行列を入力できますか? :) –