2017-01-25 7 views
-1

つぶやきセットをクラスタ化したい。私はすでにつぶやきを取り出し、それらをきれいにし、ナイーブベイズ分類器をそれらに適用し、それらを正と負の2つのファイルに分けました。最後に、私は、各つぶやきの間の類似性を検索するために次のことを行っている:さて、これは、私は追加するかもしれない次のステップを考えていた他の各文の相対的な類似性を測定することになっている意味解析後のクラスタリング

with open("positive.txt", "r") as pt: 
     lines = pt.readlines() 
     for lineA in lines: 
      vectorA = text_to_vector(lineA) 
      for lineB in lines: 
       vectorB = text_to_vector(lineB) 
       cosine = get_cosine(vectorA, vectorB) 
       print lineA, "\n", lineB, "\n", "Cosine:", cosine 

すべてのフレーズの値は、すべての文に文nの関係のすべてのコサイン値を加え、それをプロットしてプロットし、KMeansのようなものを適用すると、私は正しいアプローチをとっているここで、どんな助けも大歓迎です。

+1

多くの選択肢がありますが、私の経験に基づいて、それらはすべてツイートで動作しません。あなたは重複している(簡単に)、ほぼ重複している(規模が大きいほど難しい)。しかし、クラスター - Twitterでのゴミの多すぎる仕事。 –

答えて

1

(コンテンツに基づいて)クラスタリングするドキュメントがある場合は、ツールClutoを使用するのが最も簡単な方法です。基本的には2つのステップで実行する必要があります。

最初のステップは、すべての文書を含む入力ファイル(各行に1つの文書)を受け取るプログラムdoc2matを実行することです。 doc2matプログラムは、各文書のtf-idfベクトル表現からなる行列ファイルを出力します。

このマトリックスファイルをプログラムvclusterに入力すると、クラスタリング結果が生成されます。 vclusterに参照クラスファイルを入力すると、クラスタリング結果を評価することもできます。

+0

最初の手順を実行した後、k-meansを適用できますか?また、リンクを提供するケアの周りvclusterを見つけることができないようですか?最後に、あなたの最後の声明について詳しく説明してもらえませんか?私が病気をよく理解していると思っていないと思っています。 –

+0

はい...あなたはK平均を適用することができます... vclusterのドキュメントを参照してください...パラメータの1つはtakeです 'clmethod'はK平均のために 'direct'にする必要があります...このマニュアルを参照してくださいhttp://glaros.dtc.umn.edu/gkhome/fetch/sw/cluto/manual.pdf – Debasis

関連する問題