2017-08-28 6 views
0

私はdoc2vecを使用して、フォロワーのトップ100のつぶやきをベクトル表現(たとえば、v1 ..... v100)に変換しています。その後、私はK-Meansクラスタを行うためにベクトル表現を使用しています。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

これらの値は、クラスタで表現したい個々のつぶやき(またはドキュメント)の座標を表します。私はv1〜v100がつぶやき1〜100のベクトルを表していると仮定しています。それ以外の場合は意味がありません。クラスタ0にv1、v5、v6があるとすると、ベクトル表現v1、 v5とv6のそれぞれのベクトル(またはベクトルv1、v5、v6の表現を表すツイート)はクラスタ0に属します。

+0

あなたは本当にword2vecを読むべきです。いいえ、変数はつぶやきに対応していません。 –

+0

@ Anony-Mousse私はdoc2vecを使用しています。 word2vecの場合、私は単語の集まりから意味をなさないようにすることができますが、100のつぶやきの2つのドキュメントを定義することは、ユーザーが多様なトピックについてtweetingすることは非常に困難です。しかし、私の結果は、自社製品のプロモーションのためだけにすべての企業/企業が一緒に集まっているような良い傾向を示しています。芸術のような言葉を持つ人々は、ひとつの場所に集まりました。しかし、どのようにこれらの変数を使用してクラスタのプロパティを定義するかは大きな問題です –

1

個々の変数は使用しないでください。これらの埋め込みが訓練される方法のために、それらは一緒に分析されるべきです。スタータ用

、典型的なクラスタメンバ

  • 典型的な言葉は、クラスタ
  • 注意を記述するための埋め込みから最も類似した用語ベクトルを見るためにあなたの重心に

    1. 最も類似した文書ベクトルを見つけますあなたのフィット感がどれくらい良いかを知るための距離。
  • +0

    ありがとう、これは本当に素晴らしいアプローチです。私はその結果をあなたに知らせようとします。私の結果は、自社製品のプロモーションのためだけにすべての企業/企業が一緒に集まっているような良い傾向を示しています。芸術のような言葉を持つ人々は1つの場所に集まっています –

    +0

    最も類似した用語ベクトルはどういう意味ですか?私はステップ1を実行し、重心までのk最近傍を特定した。単語カウント/ tf-idfを実行して最も類似した用語ベクトルを見つけたり、各クラスタでword2vecを使用して同じものを探すべきですか? –

    +0

    doc2vecが使用するのと同じ計算(内積)を使用します。 –

    関連する問題