だいぶん間隔が空いての連載3回目です。チャットボットの導入検討している企業が増えたのか、次楽しみにしていますのお声があり、重い腰が上がりました。
さて、『チャットボットのカオスマップがカオス』の第1回目では、ボタンだけで動くシナリオ型のチャットボットの仕組みについて。第2回目では、ボタンのシナリオではなく、入力された文章から回答を返す方法をお伝えしました。
連載:チャットボットのカオスマップがカオスなのでちゃんと説明してみる
第3回では入力された文章を分解して応答を返す仕組みをお伝えします。
前回、入力された文章を、「応答文・回答文」でヒットさせるやり方と、ヒットさせるキーワードを別で登録しておき、より回答できるようにする仕組みをお伝えしました。今回は、キーワードを別で登録しておくやり方をさらに発展させた方法です。
ポイントは、入力文をそのまま扱うか、形態素解析(けいたいそ・かいせき)して扱うか、になります。形態素に解析・分解する、というのは技術的な小難しい話になるので、辞めておきます。シンプルに説明すると、文章を単語に分解することを、形態素解析・分解といいます。例えば「Googleのパスワードを忘れてしまった」という文章は、「Google」「パスワード」「忘れ」という形で分解できます(本当はもっと細かいのですが、理解のための大枠として表現しておきます)。
「Googleのパスワードを忘れてしまった」を「Google」「パスワード」「忘れ」と分解できれば、後は単純で、「Google パスワード 忘れ」とみなさんがいつも行っているようなスペースを入れて検索すればOKですよね。検索対象は、別で登録しておいたキーワードにヒットさせ、回答を返せば、文章でも単語質問でも答えられるチャットボットになります。
このように、文章で質問されても単語に分解できれば、形態素解析できれば、人間とのやりとりに近いチャットボットにできます。
ただ、「Google パスワード 忘れ」について、Googleがカタカナだったり、パスワードを忘れたが、ログインできない、だったり、人の質問の仕方は多々あるのでまだまだ応える能力をあげて行く必要があります。
次回は、その辺りを類義語と言葉の関連性でお話ししていきます。