私は遺伝的アルゴリズムを使ってテキストを最もよく表す単語リストを生成するプロジェクトに取り組んでいます。
私は現在コサインの類似性を使用していますが、それは2つの欠点があります。それは目的にはあまりにも遅く、比較される2つのベクトルがゼロの場合、人工的に高い類似性と、非常に良い。 速い/そこにない言葉に注意を払わない他の尺度に対する提案はありますか?おかげさまで 高速ベクトル差/類似性対策
答えて
コサイン類似度は、製品の大きさに対してドット積であるため、最小次元数が重要です。
群れを少し処分するために、あなたがするので、一つの次元に似た意味を持つ単語を崩壊、そして寸法プールからhapax legomena(のみ検討中のコーパスに一度発生した単語)を放り出すしstemmingを適用したい場合がありますアルゴリズムはそれらから多くの有益な情報を引き出すことができない可能性が高い。
しかし、私はゼロベクトルを生み出すのかどうかはわかりません。あなたは例を挙げることができますか?
EDIT:だから、あなたは後にしているものを特定の文書またはクラスタのための選択ある単語リストを作成するのですか?その場合、選択性の低い単語を削除するにはいくつかの方法が必要です。
さらに一般的な単語をstop wordsとして扱い、ディメンションセットをさらに絞り込んで少し高いパフォーマンスを得ることができます。また、遺伝的アルゴリズムの側面では、適性関数は、クラスタ内の文書に一致するものに報酬を与えるだけでなく、対象クラスタ外の文書に一致する単語リストをペナルティする必要があるため、単語リストには単純な用語で煩雑になることはありません選択的ではなく頻繁に。
あなたも適合関数をチューニングした後に、より良い意味的な選択が必要な場合、あなたはorthogonal sparse bigramsの代わりに、個々の単語を使用して検討する必要があります。しかし、 O(kn nではなく、もっと多くのものがhapaxesになるため、次元数の面で何ができるかわかりません。しかし、用語リストにOSBではなく個々の単語が必要な場合には、問題が発生する可能性があります。
私は基本的に私のセットのまばらさは(言葉のロットhapaxesと何千回の一握りを使用)、少し間違っていたの類似点が頻繁に彼らがコーパスの良いクラスタを表さないにも関わらず非常に高かったことを意味しました。 – Reu
- 1. 類似性ハッシュ関数(simhash)
- 2. 類似性に関する2つのベクトル文字列の比較C++
- 3. 高速フーリエ変換 - 丸め誤差
- 4. OpenCV:類似性のためにフレームを比較する速い方法
- 5. コサイン類似性によるクラスタリング
- 6. 類似性マトリックスの効果的なクラスタリング
- 7. 効率的なjaccardの類似性DocumentTermMatrix
- 8. ニュース項目の類似性(トピックの)アルゴリズム
- 9. 視覚的類似性検索アルゴリズム
- 10. 検索用語の類似性スコア
- 11. のC# - 文字列の類似性に
- 12. 文字列の類似性を認識
- 13. 線形方程式に対する高速、近似解はありますか?
- 14. ウェブアプリケーションにとって最も関連性の高いパフォーマンスパラメータ/対策です
- 15. 対策
- 16. 類似度
- 17. 対if #if:高速なパフォーマンスですか?
- 18. SSIS-OleDb高速ロード対バルク挿入タスク
- 19. PHP - 類似性のための配列要素を比較し、最も類似ペアは最初
- 20. 速度差
- 21. ハッシュの類似度
- 22. ビットマップデータの類似アルゴリズム
- 23. MongoDbの類似アイテム
- 24. Mysql、類似のトピック
- 25. ノイズ対策
- 26. Django類似のタグセットに基づく類似のオブジェクト
- 27. 多対多関係に基づく類似エンティティの照合
- 28. 高速線交差のための線分セグメントコンテナ? (2D)
- 29. 高速連合とネットで交差する
- 30. 高速交差テスト(AABB-AABBまたはAABB-三角)
あなたは何を求めているのかは分かりませんが、おそらく[Levenshtein distance](http://en.wikipedia.org/wiki/Levenshtein_distance)または[Hamming distance](http:// en。 wikipedia.org/wiki/Hamming_distance)? –