7

ここに問題があります-私は数千の小さなテキストスニペットを持っています、数語から数文までのどこかにあります-最大のスニペットはディスク上で約2kです。それぞれを比較し、関連性係数を計算して、ユーザーに関連情報を表示できるようにしたいと考えています。

これを行うためのいくつかの良い方法は何ですか?これを行うための既知のアルゴリズムはありますか?GPLされたソリューションなどはありますか?

すべてを事前に計算できるので、これをリアルタイムで実行する必要はありません。私は実行時よりも良い結果を得ることに関心があります。

自分のことを書く前に、StackOverflowコミュニティに聞いてみようと思っただけです。以前にこれに対する良い解決策を見つけた人々がそこにいる必要があります。

4

7 に答える 7

2

意味的関連性意味的類似性に関するこれらの記事が役立つ場合があります。そして、潜在意味解析についてのこのSOの質問。

また、 Soundexを調べて、音声的に「同じように聞こえる」単語を 探すこともできます。

于 2009-08-31T18:22:55.977 に答える
2

私はそれを使ったことがありませんが、レーベンシュタイン距離を調べたいと思うかもしれません

于 2009-08-31T18:17:03.507 に答える
1

ジェフはポッドキャストでこのようなことについて話し、右側にリストされている関連する質問を見つけました。(ポッドキャスト32で

1つの大きなヒントは、「the」、「this」などの一般的な単語をすべて削除することでした。これにより、比較する意味のある単語が残ります。

そして、ここに同様の質問があります2つのフレーズの意味的類似性を伝えるアルゴリズムはありますか

于 2009-08-31T18:18:21.960 に答える
0

このは関連があるかもしれません。

編集:ここに関連するSOの質問があります

于 2009-08-31T18:19:06.437 に答える
0

これは、妥当な大きなテキストではかなり実行可能ですが、小さなテキストでは困難です。

私は一度このようにそれをしました、そしてそれはかなりうまくいきました:

  • すべての「一般的な」単語(a、an、the、inなど)をフィルタリングします(単語の約10〜30%をフィルタリングします)
  • 残りの単語の頻度を数え、最も頻繁な単語の上位xを保存します。これらは、あなたのトピックです。
  • 追加の手順として、2/3/4の後続の単語のグループを作成し、それらを他のテキストのグループと比較できます。私はそれをplagerismの尺度として使用しました。
于 2009-08-31T18:27:25.030 に答える
0

MinHashingと類似項目の検索に関する Manning と Raghavan のコース ノート、およびC#(?) バージョンを参照してください。このテクニックは、Ullman と Motwani の研究に基づいていると思います。

于 2009-08-31T19:10:18.970 に答える
0

音声アルゴリズム

記事、Beyond SoundEx - Functions for Fuzzy Searching in MS SQL Serverでは、 SimMetricsライブラリを SQL Serverにインストールして使用する方法が示されています。このライブラリを使用すると、文字列間の相対的な類似性を見つけることができ、多数のアルゴリズムが含まれています。

私は主にJaro Winklerを使用して名前を一致させました。SOでの名前の一致について尋ねた詳細は次のとおりです。個人名に基づく一致レコード

レーベンシュタイン距離に基づくいくつかのアルゴリズムも SimMetric ライブラリで利用でき、おそらくアプリケーションで役立つでしょう。

于 2009-08-31T20:31:08.447 に答える