LINEでClovaの開発をしている上村です。これはLINE Advent Calendar 2017の13日目の記事です。今日は文字列の話をします。 はじめに 与えられた文字列によく似たものを大きな文字列集合から探すということは、古典的でありふれていながら奥が深く難しい問題です。文字列の類似度を正確に見積もるには複雑な計算が必要ですが、膨大な量のコーパスが与えられたときも可能な限り高速に応答を返す必要があります。 検索する文字列の性質をよく把握することも、品質のよい類似文字列検索を行うためには極めて大切です。ここで、今回考える問題の例を見てみます。 この例では、1文字ずつ違いを見つけ出したり、単語単位で見たり、文全体が疑問文や否定文であるかどうかを調べ、それらを総合的に見ることで最終的な判断を下しています。文字だけを見た場合、1文字の違いによって全く違う単語になることは見つけられませんし
![類似文字列検索ライブラリResemblaを公開しました - LINE ENGINEERING](https://cdn-ak-scissors.b.st-hatena.com/image/square/267d7d54daeac9a56159973d4852c4c553105149/height=288;version=1;width=512/https%3A%2F%2Fengineering.linecorp.com%2Fwp-content%2Fuploads%2F2017%2F12%2F11%2F1512970290789.png)