5

誰かが2つの文字列を比較してそれらが一致する程度を返すことができるPerlモジュールを提案できますか?私はCPANを広範囲に検索しました。文字列::近似やデータ::比較のような類似のモジュールがありますが、それらは私が探しているものではありません。私が2つの文字列を持っていると仮定します:私はあなたを愛しています、そして私はあなたを愛しています。多数のパラメーターを考慮して、これら2つの文字列を比較する機能が必要です。正しい順序で単語を照合します(文字列の最初の単語としてのは、2番目の文字列の4番目の単語としてのと「一致」してはなりません。文字列にはその単語があります)、単語は一致しませんが、ほぼ同じように綴られます(たとえば、logeのように))、単語数など、インデックスを返します。たとえば、2つの文字列間の類似度を表す1のスケールで0から1までの数値を返します。そのようなPerlモジュールはありますか?

4

1 に答える 1

6

そのようなモジュールはたくさんあります。ただし、多くの場合、独自の仮定を説明するために、特別な方法でそれらを使用する必要があります。このような文字列比較ツールのほとんどは、ある文字列を別の文字列と比較するためのアルゴリズムを実装しているだけです。ほとんどの場合、特定のポリシー決定を行う場合は、自分でコーディングすることを前提としています。

個人的には、バグとut8サポートの欠如のため、Text::Levenshteinをお勧めするかどうかはわかりません。しかし、私にもこれ以上の推奨事項はありません。

ただし、これらの検索により、調査して目的に最適なモジュールを決定できる可能性のあるモジュールが多数明らかになります(この種のことを行うための一般的なアルゴリズムの名前に基づいて)。

口頭の類似性に興味がある場合は、音声の比較を調べることもできます。

于 2012-08-01T17:44:25.483 に答える