ACUAH のプロジェクト説明の中に「対話シナリオ」という言葉があるのですが、そもそも「対話シナリオ」とは何か。というお話をさせていただきます。
音声対話を実現する上で非常に重要な仕組みです。
「対話シナリオ」とは、以下のような表と考えてください。
テキスト文字に対して、どんな動作をすれば良いかが 1対1 で記載されている表です。
音声認識の仕組みで、ユーザーの音(音声)がテキスト文字に変換される事をご説明しました。
例えば、マイクに向かって「こんにちは」と言うと、「今日は」というテキスト文字に変換されます。では、その後はどうなるでしょうか。
この「対話シナリオ」のテキスト文字列を調べます。
すると、2行目に「今日は」というテキスト文字に対しては『手を振って「今日は」という音声を再生する』という動作が記載されています。
そこで、この対話シナリオに従って、キャラクターが 手を振って「今日は」という音声を再生する、という動作をします。
この、「対話シナリオ」のメリットは、
・対話シナリオに該当するテキスト文字が記載されていれば、確実に(100%)決まった動作をさせる事ができる
という点になります。
逆に、対話シナリオに該当するテキスト文字が見つからない場合には、動作させる事ができません。(ACUAH でも、「分からなかった」という回答をします。)
ユーザーは様々な言葉をマイクに向かって話しかけてきますので、どんな言葉を話してくるかを想定して、全てのテキスト文字を対話シナリオに記載しなければなりません。(特に日本語はハイコンテクストですので、主語が除かれたりして難解です。)
そこで、ChatGPTのような昨今のAI(LLM:大規模言語モデル)が救世主となりました。
ユーザーが発する様々な言葉に対して、推測に基づいて何かしらの応答をする事が可能になりました。これは自然な音声対話を実現する上で欠かせないものです。
次は ACUAHのような音声対話汎用AIアシスタントを作る前提で、「対話シナリオとAIを組み合わせた仕組み」について、お話できればと思いますが、
ACUAH はなぜ対話シナリオにこだわるのか。
「対話シナリオは、確実に決まった動作をさせる事ができる」
というのは大切な事なので、ご理解頂けると幸いです。