5

ウェブページがキーワードのセットとして定義されている場合に、ウェブページの最も近い k 個の近隣を識別するためのライブラリまたはアルゴリズム (コードを自分で作成するため) を見つけたいと考えています。キーワードを抽出する部分はすでに完了しています。

とても良いものである必要はありません。

誰でも解決策を提案できますか、またはどこから始めればよいですか。過去に Yury Lifshits 氏の講義を見たことはありますが、できれば既成のものを手に入れたいと思っています。

Java ライブラリが優先されます。

4

1 に答える 1

2

あなたが言ったように、あなたはすでにページから抽出されたキーワードを持っています。各ドキュメント/ページを単語のベクトルで表すと仮定しています。ドキュメント用語頻度マトリックスのようなもの。

ページの最も近い隣人は、理想的には同様のコンテンツを持つページだと思います。したがって、各単語の相対頻度が検索対象のものと類似しているドキュメントを見つけたいとします。したがって、最初にドキュメント用語行列 WRT を各行で正規化します。つまり、出現回数を %tage 出現で置き換えます。

次に、これらのベクトルで表される 2 つのドキュメント間の距離を割り当てる必要があります。通常のユークリッド距離またはManhattan Distanceを使用できます。ただし、テキスト ドキュメントの場合、通常最も効果的な類似度はCosine Similarityです。問題に合った距離関数または類似関数を使用します (距離を最小限に抑えたいが、類似性を最大にしたい最近傍を思い出してください)。

ベクトルと距離関数を配置したら、Nearest NeighborまたはK-Nearest Neighborアルゴリズムを実行します。

于 2011-05-15T07:13:34.037 に答える