データベース値とユーザー入力の間の単語の順序を確認したい。
元:
例 1:
DB値:ロレムイプサム
ユーザー入力: Ipsum Lorem
例 2:
DB値:ロレム・イプサム・ドロ
ユーザー入力: Dolo Lorem Ipsum (および正確な db 値以外の可能な組み合わせ)
空白を分割して、一致する単語のインデックスを比較したはずですが、常にスペルミスの可能性があります。元:
DB値:ロレムイプサム
ユーザー入力: Lorm Ipsm
私のアプリケーションでは、いくつかのスペルミスを許容する必要があります。他の方法で注文を確認する方法はありますか?
現在、次の方法でレーベンシュタインを使用しています(Ruby on Railsコード)
answer = 'Lorem Ipsum'
response = 'Ipsum Lorem'
score = Text::Levenshtein.distance(answer,response)/answer.length.to_f
これは、レーベンシュタインを使用して得点する正しい方法ですか? はいの場合、許容できるスコアを決定するにはどうすればよいですか? 同じサンプルデータリソースはありますか? 上記のこの特定の例では、スコアを次のように取得します0.72