9月252012
0
文字列同士がどれだけ似ているかを計算できると便利。
例えば “uri” と “url” の距離は1というふうに計算できるので、名前を間違えた時の候補のサジェストとかに使える。
編集距離とかでググるとみんながんばってRubyで計算してるけど、levenshteinというgemを使ったら簡単だった。
gem install levenshtein
require 'rubygems'
require 'levenshtein'
p Levenshtein.distance("erik", "veenstra")
p Levenshtein.distance("shokai", "shokai")
p Levenshtein.distance("ahokai", "shokai")
p Levenshtein.distance("shokai", "ahokai")
p Levenshtein.normalized_distance("shokai", "ahokai")
p Levenshtein.normalized_distance("mmm", "uiasdfasdfasdfjsklfjasdkljalskdjflk")
7
0
1
1
0.16666666666666666
1.0