2009-05-12 8 views
2

単語が出現する順序や回数が重要でないときに、C#で2つの文字列間の距離を一致または計算する最適なアルゴリズムは何ですか?単語が出現する順序や回数が重要でない場合、2つの文字列の間で最もよく一致しますか?

最良の手段:入力文字列が他の文字列の潜在的に大規模なコレクションに合わせることができるように、

  • は、主に、人間の試合で
  • エレガント
  • 効率的な
  • スケーラブルに同意するだろう

関連する質問:

いくつかの注意:

  • 順序と出現独立の、入力がユニークワードのセット、ないの意味での文字列として考えることができるので文字の配列
  • 特にデータベースソリューションを探している人はいませんが、興味がありますが
  • 私はこれが宿題の問題であるためには古すぎると思う;)

答えて

1

これは、標準的な情報検索アルゴリズムを適用する標準的なケースのようです。コサインの距離が最初に気になるものですが、あなたの特定の場合とのより良い一致があるかもしれません。

http://www.miislita.com/information-retrieval-tutorial/cosine-similarity-tutorial.html

実装例:これは、そのルート上で掘り始めるのに良いリンクです

How do I calculate the cosine similarity of two vectors?

1

さがす私は言葉の比較ですあたりの単語のために信じて「ダブルMetaphoneの」と呼ばれる方法についてそれは最高の利用可能です。さまざまな言語にも対応!素晴らしい待ち行列。

文字列を比較する場合、コサインの類似性とともにこれを使用できます。完璧な結果をもたらすでしょう。

+0

+1私はそれをチェックします、ありがとう:) –

関連する問題