文字列に関する一致規則を決定する必要があります。「類似文字列」を決定するもの
- 一致する文字数
- 一致しない文字の数
- 似たような長さ
- タイプミスまたは音声エラー
- ビジネス固有の略語
- 同じ部分文字列で始まる必要があります
- 同じ部分文字列で終わる必要があります
私は文字列マッチング アルゴリズムを使ってかなり多くの作業を行ってきましたが、特定の要件を満たす既存のライブラリやコードをまだ見つけていません。それらを確認し、そこからアイデアを借りますが、常にカスタマイズして独自のコードを作成する必要があります。
Levenstein アルゴリズムは優れていますが、少し遅いです。Smith-Waterman アルゴリズムと Jaro-Winkler アルゴリズムの両方である程度の成功を収めましたが、私の目的に最も適しているのは Monge (記憶から) でした。ただし、元の研究を読み、アルゴリズムとターゲット データセットを作成した理由を判断することには価値があります。
何を照合して測定するかを適切に定義しないと、予期しない一致で高いスコアが表示され、予想される一致で低いスコアが表示されることがあります。文字列の一致はドメイン固有です。ドメインを適切に定義しないと、手がかりのない漁師のようになり、フックを投げつけて最善を尽くします。