概要

ソフネックが得意とする自然言語処理技術を生かし、
独居老人と親族間の対話を安心・安全に仲介を行うAI会話エンジンを開発しました



ご家族用WEBアプリシステム

伝言設定画面

見守り親族側から、独居老人への伝言を登録します

対話内容確認画面

伝言ヘルパーを介しての見守り親族側と独居老人の会話のログが一覧表示されます

会員登録画面

見守り親族を複数ユーザ登録・管理します


対話エンジン概要

会話の中心を形成する重要な機能が対話エンジンです。
対話エンジンでは話し手と聞き手の言葉のやり取りを具体的に定義します。
話し手の目的や聞き手の返し文への相槌などが会話の進行に重要との考えに基づいています。


フレーム駆動対話システム

フレーム駆動対話システム

フレーム駆動対話システム

  • フレーム駆動対話システムの考え方にファクタ検出エンジンを組み合わせた仕組み

案件ごとに異なる対話シナリオ

・対話シナリオは、その対話フローがあらかじめ定義/設定されています。
・対話シナリオは、案件ごとに異なる様々なパターンがあります。


伝言ヘルパー対話シナリオ


対話セッション状態遷移図

  • 異なるシナリオを、汎用的な対話エンジンで、どのように実現するか

バックエンドにより対話シナリオ作成

  • 図にあるように、青色の部分が対話エンジン内部の処理です。
  • 赤色が対話エンジンを使う側の処理となります。
  • 対話フレームやディレクションの内部ではフローを分岐せず、外側(赤色:エンジンを使用する側)でフロー分岐を制御します。
  • ある対話フレームAの結果(目的スロットの値など)の内容をみて、次の対話フレームをBかCのどちらかに決める場合
    (1) 対話フレームAが終了すると、対話エンジンだけでは次の対話フレームが分からないので「Suspend」の状態になります。
    (2) 赤色側の処理では、対話フレームAの結果を見て、次の対話フレームをBかCのどちらかに決めて「再開」させます。
  • エンジンを使用する側にとって「Suspend」がフロー分岐を実現できるタイミングです。

対話の展開

  • あらかじめ決められた大枠のシナリオフローではなく、ユーザーの応答次第でフローに深化/拡張をもたらすものです。
  • 対話をより充実させるためのバリエーションです。

対話フレームとディレクション

対話フレームは、1つ以上のディレクションで構成され、各ディレクションには役割があります
複数のディレクションは順に進行し、最後のディレクションで対話フレームは終わります
ディレクションごとに対話プロセス(問いかけ・問いかけ直し・促し・相槌)を管理します


ディレクションとスロット

  • スロットは回答からFDEにより、抽出した情報を格納する入れ物です
  • ディレクションごとにスロットの詳細が定義されます
  • ディレクションは、目的達成または目的未達成(トライオーバー)で終了します
  • 目的スロットに期待した値が取得できた場合、目的達成となります

目的スロットと展開スロット

1つの対話フレームの中で、複数の話題転換が取得できた場合、その中の1つに展開されると他の話題は消去される。取得した全ての話題が実行されることはない。


対話プロセス