概要 文字列同士の距離を求め、類似度を調べるレーベンシュタイン距離の紹介です。 Javaでこの測定手段を用いることができるため、簡単な使い方の実例も記載しています。 レーベンシュタイン距離とは? まずレーベンシュタイン距離とは、文字列の類似度を測る編集距離の一つです。 具体的には、文字列Aを文字列Bに変えるために文字の削除、挿入、置換を繰り返し、手順が最小になる回数を求め、2つの文字列の距離を求めています。 例) kitten→sitting 1.kitten→sitten(kをsに置換) 2.sitten→sittin(eをiに置換) 3.sittin→sitting(gを挿入) ⇒手順の最小回数は三回 このように文字列同士の距離を求めるものがapatch.luceneライブラリの一機能として使えるようになっています。 実際にJavaで使用すると0.0~1.0のfloat値が返ってきます
![Javaで文字列の類似度を測るライブラリの紹介 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/7bee7823112ef616b602ba509be161a1112bcf8b/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZ0eHQ9SmF2YSVFMyU4MSVBNyVFNiU5NiU4NyVFNSVBRCU5NyVFNSU4OCU5NyVFMyU4MSVBRSVFOSVBMSU5RSVFNCVCQyVCQyVFNSVCQSVBNiVFMyU4MiU5MiVFNiVCOCVBQyVFMyU4MiU4QiVFMyU4MyVBOSVFMyU4MiVBNCVFMyU4MyU5NiVFMyU4MyVBOSVFMyU4MyVBQSVFMyU4MSVBRSVFNyVCNCVCOSVFNCVCQiU4QiZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9MGNhNDE2ZTZiMmE5MTNjM2VjZjkzNWVjZjhkODc1OTA%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwc3NhaXRvJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz01N2Y1OGY4M2I0ODJkM2QzNWNiNGM0OGI2MmFmNGMyYw%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D85fcdfe43f70ac100e01cd8366af132d)