ソース文字列と一連のパターン文字列の間であいまい一致を実行する必要があります。このマッチングは、式
1 - D(I,P) / max(length(I),length(P))
で 与えられます。
- I は入力文字列です
- P はパターン文字列です
- D(I,P) は、I と P の間のレーベンシュタイン距離です。
このスコアを最大化する P を見つけたら、I と P の共通部分をマッピングしたいと思います。
例: I="sunday" および P="saturday" の場合、マッピングは次のペアのリストのようになります:
{{0, 0}, {1, 3}, {3, 5}, {4 , 6}, {5, 7}}
(一般的な文字は「s」、「u」、「d」、「a」、および「y」であるため)
このウィキペディアの記事では、レーベンシュタイン距離を計算するための実装を簡単に見つけることができますが、説明されているプロセス中に構築されたマトリックスからマッピングを取得する方法は完全にはわかりません。誰でも私を啓発できますか?
ありがとう