1

K-Means アルゴリズムを実装しようとしていますが、ベクトル部分について混乱しています。

これは私がしたことです:

ドキュメントごとに、その中の単語ごとに tf-idf を生成し、それを STL マップに保存しました。次に、実際の単語とのアルゴリズムにコサイン類似度を使用しました。

ステミング部分はどこで使用すればよいですか?

最初に単語をステム処理し、ステム処理された単語の tf-idf を計算する必要がありますか?

アルゴリズムには語幹の付いた単語のみを使用する必要がありますか?

ステミングを使用しても結果は低下しませんか?

4

2 に答える 2

1

クラスタリングの目的が何であるかによって異なります。
私たちがかつて行ったプロジェクトでは、2 つの文字列間の一致スコアを、単語のバリエーションとともに提供する必要がありました。最初にステミングを行い、次に文字列間で一致する単語の数をカウントしました。このタイプのマッチングが問題に適している場合は、まずステミングを行うことをお勧めします。
もちろん、ステム処理を行うと情報は失われますが、ノイズをいくらか減らすことができます。

于 2013-07-18T12:17:25.370 に答える
1

通常、ステミングは、各ステムの tf-idf を実際に計算する前に行われます。

最後の 2 つの質問については、あなたが何をしているかによると思います。別の方法 (ステミング、生の単語、見出し語化) を試して、どの方法が最良の結果をもたらすかを確認する必要があります。

クラスタリングの場合、一連の注釈付きドキュメントを使用し、それに対してメソッドを試してから、メソッドごとに混同マトリックスを確立する必要があります。これは、問題に最適なメソッドを決定するのに役立ちます。

于 2013-07-18T12:27:04.267 に答える