3

まず、私の質問を読んでくれてありがとう。

TF/IDFを使用しました次に、それらの値について、コサイン類似度を計算して、より類似しているドキュメントの数を確認しました。次のマトリックスを見ることができます。列名はdoc1、doc2、doc3のようであり、行名はdoc1、doc2、doc3などのようです。次のマトリックスを使用すると、doc1とdoc4の類似性が72%(0.722711142)であることがわかります。両方の文書が似ているのを見ても正しいです。1000のドキュメントがあり、各ドキュメントの頻度を確認できます。それらの数が類似していることを確認するためにマトリックスで。k-meansやagnes(階層)などのさまざまなクラスタリングを使用してそれらを組み合わせました。それはクラスターを作りました。たとえば、Cluster1には(doc4、doc5、doc3)becozがあり、それぞれ値(0.722711142、0.602301766、0.69912109)が近くなっています。しかし、これら3つのドキュメントが実際に同じであるかどうかを手動で確認すると、そうではありません。:

    1             0.067305859  -0.027552299   0.602301766   0.722711142    
    0.067305859   1             0.048492904   0.029151952  -0.034714695 
   -0.027552299   0.748492904   1             0.610617214   0.010912109    
    0.602301766   0.029151952  -0.061617214   1             0.034410392    
    0.722711142  -0.034714695   0.69912109    0.034410392   1            

PS:値は間違っている可能性があります、それはあなたにアイデアを与えるためだけです。ご不明な点がございましたら、お問い合わせください。ありがとう

4

2 に答える 2

1

私はTF/IDFに精通していませんが、プロセスは一般的に多くの段階でうまくいかない可能性があります。

1、ストップワードを削除しましたか?

2、ステミングを適用しましたか?たとえば、ポーターステマー。

3、ドキュメントの長さの頻度を正規化しましたか?(多分TFIDFのものはその解決策を持っています、私は知りません)

4、クラスタリングは発見方法ですが、聖杯ではありません。グループとして取得するドキュメントは、多かれ少なかれ関連している可能性がありますが、それはデータ、チューニング、クラスタリングアルゴリズムなどに依存します。

何を達成したいですか?あなたのセットアップは何ですか?幸運を!

于 2010-02-08T18:34:04.787 に答える
1

ドキュメント間の類似性はクラスタリングアルゴリズム自体によって検出される必要があるため、私のアプローチでは、事前に計算された類似性の値をまったく使用しません。列の数が語彙のサイズ(必要に応じてストップワードを差し引いたもの)と等しくなるように、コーパス内の用語ごとに1つの列を持つ機能スペースを設定するだけです。各特徴値には、そのドキュメント内のそれぞれの用語の相対度数が含まれています。tf * idf値も使用できると思いますが、あまり役に立たないと思います。使用するクラスタリングアルゴリズムに応じて、特定の用語の識別力が自動的に検出される必要があります。つまり、用語がすべてのドキュメントに類似した相対頻度で出現する場合、その用語はクラスを適切に識別せず、アルゴリズムはそれを検出する必要があります。 。

于 2010-02-15T11:59:18.007 に答える