先日、AIチャットボットに触れる機会がありました。チャットボットにはさまざまな種類がありますが、
今回見たのは、生成AIではなく、従来型のAIとシナリオベースのチャットボットを組み合わせたものでした。
このシステムでは、ディープラーニングによる自然言語処理(生成AIではない)と、Speech to Text、Text to Speechの技術が使われています。
つまり、3つのAI処理が組み合わさっているわけです。
この仕組みは、まず話しかけた内容を音声認識でテキスト化し、自然言語処理で文脈を理解します。
そして、適切なチャットシナリオを選び、その内容を音声に変換して返答します。
近年では生成AIが広く普及しているため、この仕組みを見て「これがAIなの?」と感じる方もいるかもしれません。
しかし、シナリオを丁寧に作り込むことで、あたかも人間のように応答するAIアシスタントを実現できます。
とはいえ、さまざまなシナリオを用意し、幅広いパターンに対応するシステムを構築するのは容易ではなく、
専門家が多くの時間をかけて開発する必要があります。
次のステップは、生成AIを一部に取り入れたチャットボットです。このシステムでは、シナリオが用意されていますが、
自然言語処理で適切なシナリオが見つからない場合、生成AIが回答を補完します。
この生成AIには事前にナレッジが与えられており、RAG(Retrieval Augmented Generation)という手法で検索した情報をもとに回答を生成します。
ナレッジが適切なものであれば高精度の回答が得られますが、そうでない場合は満足のいく回答が得られないこともあります。
チャットシナリオで状況を予測し、適切なナレッジを使い分けることで精度を高めることが可能です。
この方法は、前述の方法に比べると比較的簡単にチャットボットを構築できます。実際、このアプローチはMicrosoftのCopilot Studioでも採用されています。
さらに進化した形として、生成AIがチャットシナリオ全体を制御する仕組みが考えられます。
それぞれのシナリオには、特定の問題を解決するためのナレッジを持つ生成AIが割り当てられ、利用者の質問に応じて適切なシナリオを選択します。
また、質問に必要な情報が不足している場合には、生成AIが追加の質問を行い、シナリオを調整することが可能です。
例えば、利用者が「明日の天気は?」と尋ねた場合、制御生成AIが天気予報に関する生成AIを選びます。
場所が指定されていなければ「どこの天気ですか?」と質問し、応答用の生成AIが呼び出されてAPIを利用し、適切な天気予報を返答します。
この仕組みでは、複数の生成AIにそれぞれ目的や用途を持たせ、それを日本語で記述しておけば、制御生成AIがそれを解釈し、適切な生成AIを選んで回答を行います。
この方法は、今後日本語環境にもCopilot Studioを通じて導入される予定です。
☎ 052-688-0521 株式会社マイクロリンク 営業部