とある2つの文字列がどれぐらい似ているのかを比較するにはどうすればいいのかを調べる必要があったので、ネットで検索してみました。 perlにはString::Trigramというモジュールがあるようです。 String::Trigram でテキストの類似度を測る rubyで同じようなものが見つからなかったので、取り急ぎ作って見ました。 #!/usr/bin/ruby #類似度の比較 class String def ngram(string, part_len = 3) string = string.dup.gsub(/[\s\n ]+/u, "") strlen = string.split(//u).length points = [] source = self.gsub(/[\s\n ]+/u, "") srcarr = source.split(//u) sourcelen =
![N-gramで文字列の類似度を測る](https://cdn-ak-scissors.b.st-hatena.com/image/square/eff4dfa8e8f6ab7c9e43299a4b6c30bb8b796856/height=288;version=1;width=512/https%3A%2F%2Ffreestyle.nvo.jp%2Fwp-content%2Fthemes%2Fnv_custom%2Fimages%2Ffreestylevision.png)