対話をもっと自然にー処理中のタスクに割り込む方法

更新日:2月14日

Kore.ai Japan シニアソリューションエンジニアの橋口です。皆さまのAIチャットボットは今日も元気に動いてますか?


今回は、対話体験をもたらすAIチャットボットには欠かせない、割り込み機能について紹介します。普段の会話では、

「それはちょっと置いといて」

「どこへ?」

「そういう意味ちゃう」

というお決まりの冗談のように、いくつかのやりたいことを横に置いておくことができます。でもこれ、ボットでは設計が結構難しかったりするようです。Kore.aiのプラットフォームではどうでしょうか?早速見て参りましょう。


まずはセットアップ


今回用意したシナリオは、社内のお問い合わせボットが、ユーザーから「パソコン無くしちゃった」と問いかけられるものです。このとき、ボットは冷静に、つぎのように語りかけます。



このとき、ユーザーは素直に、問われている資産番号を入力するでしょう。しかし例えば、その前に上長に連絡するときに、電話番号はなんだったかな、と知りたいときがあるかもしれません。

 そこで、ユーザーが「内線番号を知りたい」と入力します。タスクが何も始まっていない状況ですと、ボットは素直に、内線番号一覧を返してくれます。次のように:


 しかし、今は「パソコンを無くした」と問われたときのタスクが進行中です。こんなとき、ボットはこの割り込みを許して、「はい、内線番号を出してあげましょう」と動かすことができるでしょうか?


Kore.ai の割り込み設定


 その答えは「もちろん!」です。そして、その設定は驚くほど簡単です。Kore.ai プラットフォームには、その名もズバリ、「割り込み設定」が存在します。こちらが画面例です。


 

 割り込み動作の項目に、「中断を許可」、「中断を許可しない」「エンドユーザーが(略)」とありますが、この「中断を許可」にすることで、割り込み処理のおおよそは完了です。


 はい、これだけです!!実際に割り込みを試してみると、以下のようにタスクを中断して、また再開してくれます。

 このように、タスクの割り込みや、一問一答形式のデータ(FAQ)についても割り込みを簡単に設定することが可能です。


チューニングTIPSなど 


 先程のように、非常に簡単に割り込みが設定できることがご確認頂けたかと思います。設定項目としては更に、割り込みを受けた元のタスクを保留するか破棄するか、また何件まで保留できるかなどが、先程の設定画面で設定可能です。


 もう一つ、今回の「パソコンを無くした」シナリオを作成する際に、ポイントが一つあります。上のチャット例で表示された「資産番号を入力してください」ですが、ここでボットはユーザーからの入力を待っています。このとき、ユーザーが入力したものが、果たして資産番号を意図するものなのか、はたまた割り込みを開始する魔法の呪文ならぬインテントの発話なのかを判断する必要があります。とくに、ユーザーの入力を自由に許可するような設定であればなおさら重要になってきます。なぜなら、YES/Noや特定のテキストを選ばせる形式なら、ユーザーの入力がそこを大きく超える場合は割り込みだと当たりがつけやすくなるからです。

 

 では、この設定はどのように行うのか。こちらは、設定したやり取りのタスク画面から、資産番号の入力を促すノード(エンティティノードと言う)を選択し、


「高度なコントロール」→「インテントの検出」から

 ◉ ユーザー入力をインテントとして優先し、保留と再開の設定を進めます

を選択します。


 こちらデフォルトでは

 ◉入力をエンティティ値として受け入れ、検出されたインテントを破棄します

が選択されているため、このエンティティが受け入れる入力が、ユーザーの自由入力で合った場合、割り込みと判定しづらくなります。



 少しノウハウが要求される設定項目ですが、簡単に設定できるだけではなく、こういった諸条件に柔軟に対応できるため、ユーザーの問い合わせ経験の向上を目指すボット構築にご利用いただけるポイントです。


より自然な対話体験を目指して


 今回は、割り込み機能についてご紹介させて頂きました。機械学習だけでなく複数のエンジンを組み合わせて、お問い合わせの「意図」を把握し、また強力で柔軟な対話フローデザインを行うことが、ユーザーのお問い合わせに柔軟に対応できるAIチャットボットを作る上で必要になってくるものと考えられます。


 Kore.ai プラットフォームについてもっと知りたい方は、こちらよりお問い合わせください。

閲覧数:35回0件のコメント