(57)【要約】  本技術は、より少ないコストで、対話データを生成することができるようにする情報処理装置、及び情報処理方法に関する。対話の履歴情報に基づいて、複数のコンテキストのうち、注目している注目コンテキストに接続される接続コンテキストを生成する処理部を備える情報処理装置が提供されることで、より少ないコストで、対話データを生成することができる。本技術は、例えば、音声対話システムのサーバサイドのサービスとして適用することができる。
2019026716.tif 000002
【特許請求の範囲】
【請求項１】
対話の履歴情報に基づいて、複数のコンテキストのうち、注目している注目コンテキストに接続される接続コンテキストを生成する処理部を備える
情報処理装置。
【請求項２】
前記処理部は、前記接続コンテキストを提示する
請求項１に記載の情報処理装置。
【請求項３】
前記処理部は、前記接続コンテキストの候補である候補コンテキストを提示する
請求項２に記載の情報処理装置。
【請求項４】
前記対話の履歴情報は、ユーザと音声対話システムとの対話の履歴を含み、
前記複数のコンテキストは、前記対話の履歴情報から得られる
請求項１に記載の情報処理装置。
【請求項５】
前記処理部は、前記対話の履歴情報から得られる、前記注目コンテキストに関する詳細な情報、関連する情報、関連しない情報、若しくは繰り返しの情報、又は前記対話の履歴情報から得られる統計情報に基づいて、前記接続コンテキストを生成する
請求項４に記載の情報処理装置。
【請求項６】
前記処理部は、１又は複数のコンテキストからなるノード単位、又は複数のノードからなるブロック単位で、前記接続コンテキストを生成する
請求項５に記載の情報処理装置。
【請求項７】
前記処理部は、前記接続コンテキストに対する修正を受け付ける
請求項５に記載の情報処理装置。
【請求項８】
前記処理部は、前記ユーザの発話を模擬的に再現するシミュレータを利用することで得られる人工的な対話の情報に基づいて、前記接続コンテキストを生成する
請求項５に記載の情報処理装置。
【請求項９】
前記処理部は、前記対話の履歴情報、及びセンサから得られるセンサ情報に基づいて、前記接続コンテキストを生成する
請求項１に記載の情報処理装置。
【請求項１０】
前記対話の履歴情報から得られる１又は複数のコンテキストは、ノードを構成しており、
前記処理部は、複数のノードからなる対話トランジションに、前記ユーザ又は前記音声対話システムの行動に応じたノードを含める
請求項４に記載の情報処理装置。
【請求項１１】
前記処理部は、センサから得られるセンサ情報に基づいて、前記ユーザ又は前記音声対話システムの行動に応じたノードを生成する
請求項１０に記載の情報処理装置。
【請求項１２】
情報処理装置の情報処理方法において、
前記情報処理装置が、
対話の履歴情報に基づいて、複数のコンテキストのうち、注目している注目コンテキストに接続される接続コンテキストを生成する
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、情報処理装置、及び情報処理方法に関し、特に、より少ないコストで、対話データを生成することができるようにした情報処理装置、及び情報処理方法に関する。
【背景技術】
【０００２】
近年、人と対話するための音声対話システムとして、対話エージェントが、様々な分野で利用されはじめている。高性能な対話エージェントを作る場合、十分な対話データを利用して、実際の人と人のような自然体を実現できるような対話エージェントを開発する必要がある。【０００３】
対話コーパスを生成するための技術として、例えば、特許文献１に開示されている技術が知られている。特許文献１に開示されている技術は、チャット等の２者以上のユーザの対話文を用いて、その対話に関連した対話に基づき、対話コーパスを生成するものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２９９７５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、高性能な対話エージェントを作る場合には、十分な対話データを利用する必要があるが、対話データを多く集めたり、特定の目的のためにカスタムした対話シナリオのデータを生成したりすることは、多くの人手と時間が必要となるため、非常にコストがかかってしまう。【０００６】
本技術はこのような状況に鑑みてなされたものであり、より少ないコストで、対話データを生成することができるようにするものである。
【課題を解決するための手段】
【０００７】
本技術の一側面の情報処理装置は、対話の履歴情報に基づいて、複数のコンテキストのうち、注目している注目コンテキストに接続される接続コンテキストを生成する処理部を備える情報処理装置である。【０００８】
本技術の一側面の情報処理装置は、独立した装置であってもよいし、１つの装置を構成している内部ブロックであってもよい。【０００９】
本技術の一側面の情報処理方法は、情報処理装置の情報処理方法において、前記情報処理装置が、対話の履歴情報に基づいて、複数のコンテキストのうち、注目している注目コンテキストに接続される接続コンテキストを生成する情報処理方法である。【００１０】
本技術の一側面の情報処理装置及び情報処理方法においては、対話の履歴情報に基づいて、複数のコンテキストのうち、注目している注目コンテキストに接続される接続コンテキストが生成される。
【発明の効果】
【００１１】
本技術の一側面によれば、より少ないコストで、対話データを生成することができる。【００１２】
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００１３】
【図１】本技術を適用した音声対話システムの構成例を示すブロック図である。
【図２】音声処理装置の構成例を示すブロック図である。
【図３】サーバの構成例を示すブロック図である。
【図４】対話トランジション生成処理の流れを説明するフローチャートである。
【図５】ユーザの対話の履歴の統合のイメージを模式的に表した図である。
【図６】対話トランジションGUIの例を示す図である。
【図７】接続先のノードの信頼度が低い場合の対話トランジションGUIの例を示す図である。
【図８】ノードの詳細情報の表示例を示す図である。
【図９】ノードへの到達経路を可視化した対話トランジションGUIの例を示す図である。
【図１０】ユーザシミュレータを用いた対話の延長の例を示す図である。
【図１１】ユーザシミュレータを用いた対話の延長の例を示す図である。
【図１２】対話ブロック単位での接続の例を示す図である。
【図１３】対話ブロック単位での接続の例を示す図である。
【図１４】コンピュータの構成例を示す図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照しながら本技術の実施の形態について説明する。なお、説明は以下の順序で行うものとする。
【００１５】
１．システムの構成
２．本技術の実施の形態
３．変形例
４．コンピュータの構成
【００１６】
＜１．システムの構成＞
【００１７】
（音声対話システムの構成）
図１は、本技術を適用した音声対話システムの構成例を示すブロック図である。
【００１８】
音声対話システム１は、ローカル側に設置され、音声対話サービスのユーザインターフェースとして機能する音声処理装置１０と、データセンタ等のクラウド側に設置され、音声対話機能（例えば、対話エージェント）を実現するための処理を行うサーバ２０とから構成されるようにすることができる。
【００１９】
音声対話システム１において、音声処理装置１０とサーバ２０とは、インターネット３０を介して相互に接続されている。
【００２０】
音声処理装置１０は、例えば、家庭内LAN(Local Area Network)等のネットワークに接続可能なスピーカであって、いわゆるスマートスピーカなどとも称される。この種のスピーカは、音楽の再生のほか、例えば、照明器具や空調設備などの機器に対する音声操作などを行うことができる。
【００２１】
なお、音声処理装置１０は、スピーカに限らず、例えば、スマートフォンや携帯電話機等のモバイル機器や、タブレット型のコンピュータなどの機器として構成されるようにしてもよい。
【００２２】
音声処理装置１０は、インターネット３０を介してサーバ２０と連携することで、ユーザに対し、音声対話サービス（のユーザインターフェース）を提供することができる。
【００２３】
すなわち、音声処理装置１０は、ユーザから発せられた音声（ユーザ発話）を収音し、その音声データを、インターネット３０を介して、サーバ２０に送信する。また、音声処理装置１０は、インターネット３０を介してサーバ２０から送信されてくる処理データ（システム応答）を受信し、その処理データに応じた音声を出力する。
【００２４】
サーバ２０は、クラウドベースの音声対話サービスを提供するサーバである。サーバ２０は、インターネット３０を介して音声処理装置１０から送信されてくる音声データを、テキストデータに変換するための音声認識処理を行う。
【００２５】
また、サーバ２０は、テキストデータに対し、ユーザの意図に応じた対話処理などの処理を行い、その処理の結果得られる処理データ（システム応答）を、インターネット３０を介して音声処理装置１０に送信する。
【００２６】
（音声処理装置の構成）
図２は、図１の音声処理装置１０の構成例を示すブロック図である。
【００２７】
図２において、音声処理装置１０は、処理部１０１、マイクロフォン１０２、スピーカ１０３、センサ１０４、及び通信I/F１０５を含んで構成される。
【００２８】
処理部１０１は、例えば、CPU(Central Processing Unit)やマイクロプロセッサ等から構成される。処理部１０１は、各種の演算処理や、各部の動作制御など、音声処理装置１０における中心的な処理装置として動作する。
【００２９】
マイクロフォン１０２は、外部からの音を、電気信号に変換する機器（収音器）である。マイクロフォン１０２は、変換で得られる音声信号を、処理部１０１に供給する。
【００３０】
スピーカ１０３は、電気信号を物理振動に変えて音を出す機器である。スピーカ１０３は、処理部１０１から供給される音声信号に応じた音を出力する。
【００３１】
センサ１０４は、各種のセンサから構成される。センサ１０４は、センシングを行い、センシング結果に応じたセンサ情報（センサデータ）を、処理部１０１に供給する。
【００３２】
例えば、センサ１０４としては、被写体を撮像するイメージセンサ、磁場（磁界）の大きさや方向を検出する磁気センサ、加速度を検出する加速度センサ、角度（姿勢）や角速度、角加速度を検出するジャイロセンサ、近接するものを検出する近接センサ、あるいは、指紋や虹彩、脈拍などの生体情報を検出する生体センサなど、各種のセンサを含めることができる。
【００３３】
また、センサ１０４には、温度を検出する温度センサや、湿度を検出する湿度センサ、周囲の明るさを検出する環境光センサなどの周囲の環境を測定するためのセンサを含めることができる。なお、センサデータには、GPS(Global Positioning System)信号などから算出される位置情報（位置データ）や、計時手段により計時された時刻情報などの情報を含めるようにしてもよい。さらに、センサデータは、内蔵されたセンサ１０４から取得するだけでなく、外部に設置されたセンサ系やスマートフォン等の外部機器から取得されたものであってもよい。
【００３４】
通信I/F１０５は、例えば、通信インターフェース回路等から構成される。通信I/F１０５は、処理部１０１からの制御に従い、インターネット３０に接続されたサーバ２０にアクセスして、各種のデータをやりとりする。
【００３５】
なお、図２には図示していないが、音声処理装置１０には、各種の情報（例えば文字や画像等）を表示するための表示部、ユーザからの操作を受け付ける入力部、又は各種のデータ（例えば音声データやテキストデータ等）を記憶する記憶部などをさらに設けるようにしてもよい。
【００３６】
ここで、表示部は、例えば、液晶ディスプレイや有機ELディスプレイ等から構成される。入力部は、例えば、ボタンやキーボード等から構成される。また、入力部は、タッチセンサと表示部とが一体化されたタッチパネルとして構成され、ユーザの指やタッチペン（スタイラスペン）による操作に応じた操作信号が得られるようにしてもよい。記憶部は、例えば、不揮発性メモリの一種であるフラッシュメモリ（Flash Memory）や、揮発性メモリの一種であるDRAM(Dynamic Random Access Memory)などから構成される。
【００３７】
（サーバの構成例）
図３は、図１のサーバ２０の構成例を示すブロック図である。
【００３８】
図３において、サーバ２０は、処理部２０１、リーダ／ライタ部２０２、オリジナル対話データ群ＤＢ２０３、及びトランジションコーパス群ＤＢ２０４を含んで構成される。
【００３９】
処理部２０１は、例えば、CPUやマイクロプロセッサ等から構成される。処理部２０１は、各種の演算処理や、各部の動作制御など、サーバ２０における中心的な処理装置として動作する。処理部２０１は、過去の対話の履歴を解析したり、新たに対話を生成したりすることができる。
【００４０】
なお、以下の説明では、ユーザとシステムとの対話を、「対話トランジション」ともいう。また、音声対話システム１のことを、単に「システム」と略記する場合がある。
【００４１】
リーダ／ライタ部２０２は、処理部２０１からの制御に従い、データベース（DB：Database）に対し、データを読み出したり、書き込んだりするインターフェース（I/F）としての役割を担う。
【００４２】
オリジナル対話データ群ＤＢ２０３及びトランジションコーパス群ＤＢ２０４は、HDD(Hard Disk Drive)等の大容量の記録装置（ストレージ）に記録されるデータベースである。
【００４３】
オリジナル対話データ群ＤＢ２０３は、作業者２による作業が行われていないオリジナル対話データを多数格納している。トランジションコーパス群ＤＢ２０４は、既に存在しているトランジションコーパスを多数格納している。すなわち、オリジナル対話データやトランジションコーパスは、過去の対話の履歴情報（対話のログ）であるとも言える。
【００４４】
処理部２０１は、対話アナライザ２１１、ラベルアノテータ２１２、ユーザシミュレータ２１３、及び対話トランジションジェネレータ２１４を含んで構成される。
【００４５】
対話アナライザ２１１は、オリジナル対話データ群ＤＢ２０３やトランジションコーパス群ＤＢ２０４から読み出されたデータ（例えばオリジナル対話データ等）の解析処理を行う。対話アナライザ２１１は、データの解析結果から得られる表示情報や統計情報等のデータを、GUI２２１に出力する。
【００４６】
これにより、GUI２２１では、対話アナライザ２１１からのデータに基づき、表示情報や統計情報等の情報が提示される。なお、GUI２２１に対し、提示される情報としては、例えば、作業者２の対話トランザクションの設計を支援（サポート）するためのGUIなどが含まれる。換言すれば、対話アナライザ２１１は、GUIを提示する提示部としての機能も有していると言える。
【００４７】
ラベルアノテータ２１２は、GUI２２１に対する作業者２の操作に従い、対話トランジションの誤りを修正する。これにより、作業者２によって、対話トランジションに対し、正解のラベルが振り直されることになる。
【００４８】
ユーザシミュレータ２１３は、ユーザの行動（発話）を模倣することで、例えば、人工的に行動（発話）を作り出す機能を有している。例えば、対話トランジションジェネレータ２１４によって、新たな対話トランジションを生成する際に、ユーザシミュレータ２１３により生成される人工的な発話を用いることができる。
【００４９】
対話トランジションジェネレータ２１４は、新たな対話トランジションを生成し、コーパスとして、トランジションコーパス群ＤＢ２０４に書き込まれるようにする。
【００５０】
ここでは、例えば、オリジナル対話データ群ＤＢ２０３に格納された多数のオリジナルの対話データや、ユーザシミュレータ２１３により生成されたデータ、GUI２２１に対する作業者２による操作などに基づき、対話トランジションが生成される。なお、ここでは、センサ１０４（図２）により得られるセンサデータや、トランジションコーパス群ＤＢ２０４に格納されたコーパスなど、さらに他のデータが用いられるようにしてもよい。
【００５１】
GUI２２１は、例えば、液晶ディスプレイや有機ELディスプレイ等から構成される表示装置に提示されるグラフィカルユーザインタフェースである。
【００５２】
例えば、GUI２２１は、作業者２に対し、対話アナライザ２１１からのデータに基づき、表示情報や統計情報等の情報を提示することができる。これにより、作業者２は、GUI２２１の情報を確認しながら、例えばマウスやキーボード、タッチパネルなどの入力装置を操作することが可能となり、その入力操作が受け付けられる。
【００５３】
なお、図３に示したサーバ２０においては、特に、サーバサイドのサービスとして提供される、コーパスの生成の機能を中心に説明したが、サーバ２０は、音声認識や対話制御などの機能（モジュール）も有している。例えば、トランジションコーパス群ＤＢ２０４にて、新たに格納されたコーパス（対話トランジション）は、対話制御モジュールによる対話制御などに用いられる。
【００５４】
また、図３には図示していないが、サーバ２０には、通信インターフェース回路等の通信I/Fが設けられ、インターネット３０を介して音声処理装置１０と接続されることで、各種のデータがやりとりされる。
【００５５】
また、図１の音声対話システム１では、１台のサーバ２０が設けられる場合を図示しているが、例えば、機能（例えば、コーパス生成モジュールや音声認識モジュール、対話制御モジュール等の各種のモジュール）ごとに、サーバ２０を設けることができる。
【００５６】
また、図１の音声対話システム１においては、説明の都合上、１台の音声処理装置１０が設けられる場合を図示しているが、例えば、ユーザごとに、音声処理装置１０を設けることができる。
【００５７】
（対話トランジション生成処理）
次に、図４のフローチャートを参照して、サーバ２０の処理部２０１により実行される対話トランジション生成処理の流れを説明する。
【００５８】
なお、図４に示した対話トランジション生成処理は、例えば、GUI２２１に対する操作を行う作業者２からの指示に応じて、サーバ２０の処理部２０１によって実行されることになる。
【００５９】
ステップＳ１１において、処理部２０１は、作業者２の操作に従い、リーダ／ライタ部２０２を制御して、作業者が利用するコーパスを選択する。
【００６０】
ここでは、コーパスとして、まだ作業者２の作業が行われていないオリジナル対話データを、オリジナル対話データ群ＤＢ２０３から選択してもよいし、あるいは既に存在しているトランジションコーパスを、トランジションコーパス群ＤＢ２０４から選択してもよい。
【００６１】
ステップＳ１２において、処理部２０１は、作業者２の操作に従い、フィルタを設定する。
【００６２】
ここでは、各種の対話トランジションの中で、どのような対話トランジションに対して作業を行うかを選択するために、フィルタが設定される。
【００６３】
なお、ここで用いられる対話トランザクションのフィルタとしては、例えば、国や地域、対象のユーザ（例えば、特定のユーザや全ユーザ等）、人属性（例えば、性別や職業、親、子供等）、日付や時間等の時刻情報、又は特定のアプリケーション等のアプリ種別などの条件を含めることができる。
【００６４】
ステップＳ１３において、処理部２０１は、作業者２の操作に従い、設計手法を選択する。
【００６５】
ここで、対話トランジションの設計手法としては、作業者２が手動で、対話トランジションを設計する「手動設計」と、音声対話システム１（のサーバ２０）が統計的な情報等に基づき、対話トランジションを設計する「自動設計」との２つの設計手法がある。
【００６６】
なお、以下の説明では、サーバ２０（の処理部２０１）の動作モードとして、設計手法として手動設計が選択された場合を、「手動設計モード」といい、設計手法として自動設計が選択された場合を、「自動設計モード」という。
【００６７】
ステップＳ１３において、設計手法として、手動設計が選択された場合、処理は、ステップＳ１４に進められる。この場合、処理部２０１は、手動設計モードにより動作する。
【００６８】
ステップＳ１４において、処理部２０１は、手動設計モードに応じた対話トランジション生成処理を行う。
【００６９】
この手動設計モードに応じた対話トランジション生成処理では、対話トランジションジェネレータ２１４によって、作業者２の操作に応じた対話トランジションが生成される。
【００７０】
なお、手動設計モードの詳細な内容は、後述の「（Ａ）手動設計モード」にて説明するが、対話アナライザ２１１が、対話トランジションの設計用のGUI（対話トランジションGUI）を提示させることで、作業者２の対話トランザクションの設計を支援することができる。
【００７１】
一方で、ステップＳ１３において、設計手法として、自動設計が選択された場合、処理は、ステップＳ１５に進められる。この場合、処理部２０１は、自動設計モードにより動作する。
【００７２】
ステップＳ１５において、処理部２０１は、自動設計モードに応じた対話トランジション生成処理を行う。
【００７３】
この自動設計モードに応じた対話トランジション生成処理では、対話トランジションジェネレータ２１４によって、対話の履歴情報等から得られる統計的な情報等に基づき、対話トランジションが生成される。
【００７４】
なお、自動設計モードの詳細な内容は、後述の「（Ｂ）自動設計モード」にて説明するが、対話アナライザ２１１が、対話トランジションの設計用のGUI（対話トランジションGUI）を提示させることで、作業者２の対話トランザクションの設計を支援することができる。
【００７５】
ステップＳ１４の処理、又はステップＳ１５の処理が終了すると、処理は、ステップＳ１６に進められる。
【００７６】
ステップＳ１６において、処理部２０１のラベルアノテータ２１２は、作業者２の操作に従い、ステップＳ１４の処理、又はステップＳ１５の処理で生成された対話トランジションの誤りを修正する。
【００７７】
ここでは、対話アナライザ２１１が、対話トランジションの修正用のGUI（対話トランジションGUI）を提示させることで、作業者２の対話トランザクションの修正を支援することができる。なお、対話トランザクションの修正の詳細な内容は、図７を参照して後述する。
【００７８】
なお、対話トランジションに誤りがない場合には、ステップＳ１６の処理を行う必要がないため、ステップＳ１６の処理はスキップされ、処理は、ステップＳ１７に進められる。
【００７９】
ステップＳ１７において、処理部２０１は、作業者２の操作に従い、リーダ／ライタ部２０２を制御して、上述した処理にて新たに生成された対話トランジションを、トランジションコーパス群ＤＢ２０４に記録する。
【００８０】
これにより、トランジションコーパス群ＤＢ２０４では、新たな対話トランジションがコーパスとして記録（保存）され、その後に、新たなトランジションのコーパスとして利用することが可能となる。なお、ステップＳ１７の処理が終了すると、対話トランジション生成処理は終了する。
【００８１】
以上、対話トランジション生成処理の流れについて説明した。
【００８２】
＜２．本技術の実施の形態＞
【００８３】
（複数の対話履歴の統合）
ユーザとシステムとが対話を行うことで、対話の履歴情報（対話のログ）が蓄積されていくが、本技術により提案する手法では、複数の対話を統合して、それを活用できるようにする。
【００８４】
ここで、対話の履歴の統合パターンとしては、例えば、国や地域、対象のユーザ（例えば、特定のユーザや全ユーザ等）、人属性（例えば、性別や職業、親、子供等）、日付や時間等の時刻情報、又は特定のアプリケーション等のアプリ種別など、様々な統合パターンを自由に利用することができる。なお、この統合パターンは、作業者２が作業するときの対話トランジションのフィルタとして利用するようにしてもよい。
【００８５】
図５には、本技術のユーザの対話の履歴の統合のイメージを模式的に表した図である。
【００８６】
図５においては、あるユーザの対話履歴データ３０１−１乃至３０１−ｎ（ｎ：１以上の整数）を統合することで、統合対話履歴３０２が得られることを表している。
【００８７】
各対話履歴データ３０１には、ユーザの発話を示している「ユーザ行動」と、システムの発話を示している「システム行動」が含まれる。なお、以下の説明では、「ユーザ行動」及び「システム行動」の行動として、発話を一例に説明するが、発話に限らず、例えば、画面表示、ジェスチャ、表情変化、発話なしのアプリケーションの起動、外部のサービスの起動（例えば電子メールの送信等）などを含めるようにしてもよい。
【００８８】
図５では、「ユーザ行動」は、一重の四角の枠で表され、「システム行動」は、二重の四角の枠で表される。また、図５において、「対話の終了」は、内側の円が黒塗りとなる二重の円で表される。なお、これらの記号の意味は、後述する他の図でも同様とされる。
【００８９】
例えば、図５において、対話履歴データ３０１−１は、「ユーザ行動」と「システム行動」とが矢印で接続されているが、これは、ユーザの発話に対し、システムの発話がなされたことを表している。また、「システム行動」は、「対話の終了」と接続されているが、これは、システムの発話の後に、対話が終了したことを表している。
【００９０】
すなわち、対話履歴データ３０１−１では、ユーザの発話と、システムの発話とが、１ターンずつ行われている。対話履歴データ３０１−２乃至３０１−ｎについても、対話履歴データ３０１−１と同様に、ユーザとシステムとの対話の履歴が含まれている。
【００９１】
図５においては、対話履歴データ３０１−１乃至３０１−ｎを統合することで、統合対話履歴３０２を生成している。
【００９２】
すなわち、統合対話履歴３０２では、対話履歴データ３０１−１乃至３０１−ｎから得られる、任意の「ユーザ行動」と、任意の「システム行動」とを、任意のターンだけ、図中の矢印で示すように結びつけて、「対話の終了」で終わるようにしている。
【００９３】
このように、対話履歴データ３０１を統合することで、統合対話履歴３０２として、ユーザとシステムとの実際の対話には存在しなかった対話トランジションを生成することができる。
【００９４】
なお、図５に示した統合対話履歴３０２では、「ユーザ行動」と「システム行動」のターンが交互に行われているが、一方のターンが連続するなど、ランダムに行われるようにしてもよい。また、図５に示した統合対話履歴３０２では、「システム行動」の後に、「対話の終了」がくる場合を示しているが、「ユーザ行動」が、「対話の終了」に結び付けられるようにしてもよい。
【００９５】
また、以下の説明では、１つの「ユーザ行動」や「システム行動」をそれぞれ「ノード」と呼ぶこととし、「ユーザ行動」や「システム行動」のまとまりを「ブロック」と呼ぶこととする。つまり、「ブロック」は、複数の「ノード」から構成される。なお、ここでは、１つの「ユーザ行動」や「システム行動」をそれぞれ、「ノード」と呼んでいるが、各ノードは、１又は複数のコンテキストから構成されるものである。
【００９６】
（GUIの例）
図６は、対話トランジションを活用するためのGUIとして、対話トランジションGUIの例を示している。
【００９７】
この対話トランジションGUIは、対話トランジションの設計用のGUIであって、システム提供者側の作業者２に対して提供されるツールである。また、対話トランジションGUIは、対話アナライザ２１１（図３）により生成され、GUI２２１（図３）として提示される。
【００９８】
図６において、対話トランジションGUIは、ユーザとシステムとの対話事例を集約して可視化している。
【００９９】
なお、図６において、ヘッダ部の「ｔ = "数字"」は、対話のターン番号を表しており、「ユーザ行動」又は「システム行動」が行われることで、１つずつインクリメントされる。また、「ユーザ行動」と「システム行動」においては、文字列が２段で表記されているが、上段の文字列は、行動のシンボル名であり、下段の文字列は、発話事例である。なお、「t」は、対話のターン番号に限らず、例えば、実時間軸上の時刻（例えば、2017/08/21 18:32:12等）などを表すようにしてもよい。このように、実時間軸上の時刻を表すことで、例えば、各行動の間として、どれくらいの時間が空いているかを容易に認識することができる。これらの「t」の表記は、任意に選択可能とされる。
【０１００】
例えば、t = 1における最上段のノードに注目すれば、「ユーザ行動」として、"GREET / おはよ"といったように２段で表記されている。このとき、上段の"GREET"は、行動のシンボル名を表し、下段の"おはよ"は、発話事例を表している。
【０１０１】
シンボルに対する発話事例は、例えば、「おはよう」、「おはようございます」、「おはー」など、多くの数が存在するため、ここでは、代表的な発話事例を提示している。なお、代表的な発話事例としては、例えば、事例数の多い発話事例や、ランダムに選択された発話事例などが想定される。
【０１０２】
また、図６において、「ユーザ行動」又は「システム行動」の各ノードの間は、矢印で結ばれているが、これは、実際に対話の中であったトランジションを示している。
【０１０３】
例えば、t = 1〜3における最上段のノードに注目すれば、"GREET / おはよ"である「ユーザ行動」のノードと、"GREET / おはようございます"である「システム行動」のノードと、「対話の終了」が接続されている。これは、ユーザの「おはよ」という問いかけに応じて、システムが、「おはようございます」という応答を行う１ターンずつの対話が、実際に行われたことを表している。
【０１０４】
また、例えば、t = 1〜4における上から２段目と３段目のノードに注目すれば、"NWS-CHK / 今日のニュース"，"NWS-NTY / 今日のニュースは・・・"，"WTR-CHK / 今週の天気は？"，"WTR-NTY / 晴れ時々曇りだよ"のように、「ユーザ行動」のノードと「システム行動」のノードが、２ターンずつ繰り返されている。
【０１０５】
これは、ユーザの「今日のニュース」という発話に応じて、システムが、「今日のニュースは・・・」という発話を行い、さらに、ユーザの「今週の天気は？」という質問に応じて、システムが、「晴れ時々曇りだよ」という回答を行うという対話が、実際に行われたことを表している。
【０１０６】
ここで、図６の対話トランジションGUIでは、「ユーザ行動」又は「システム行動」の各ノードを連続して選択可能であり、例えば、作業者２は、マウス操作や、タッチパネル操作などによって、図中の選択経路３１１又は選択経路３１２に示すように、各ノードに対して線を描くように所望の経路を選択することができる。
【０１０７】
例えば、選択経路３１１によって、"GREET / おはよ"，"WTR-NTY / 雨が降るよ"，"THANK / ありがとう"，"YR-WEL / どういたしまして"のように、「ユーザ行動」のノードと「システム行動」のノードが、２ターンずつ繰り返して選択されている。
【０１０８】
これにより、ユーザの「おはよ」という発話に応じて、システムが、「雨が降るよ」という発話を行い、さらに、ユーザの「ありがとう」という発話に応じて、システムが、「どういたしまして」という発話を行うという、実際の対話には存在しなかった対話が、対話トランジションとして生成することができる。
【０１０９】
また、例えば、選択経路３１２によって、"GREET / おはよ"，"NWS-NTY / 今日のニュースは・・・"，"CHK-DTLS / もっと詳しく"のように、「ユーザ行動」のノードと「システム行動」のノードが、順次選択されている。
【０１１０】
これにより、ユーザの「おはよ」という発話に応じて、システムが、「今日のニュースは・・・」という発話を行い、さらに、ユーザの「もっと詳しく」という発話に応じて、システムが発話を行うという、実際の対話には存在しなかった対話が生成されることになる。
【０１１１】
ただし、ここでは、"CHK-DTLS / もっと詳しく"である「ユーザ行動」のノード（以下、このような注目しているノードを、「注目ノード」ともいう）の次に選択された「システム行動」のノードの信頼度が低かった場合を想定する。
【０１１２】
すなわち、例えば、"CHK-DTLS / もっと詳しく"である注目ノードの次に、"WTR-NTY / 晴れ時々曇りだよ"である「システム行動」のノードが選択された場合には、対話の流れからすると、突然天気の話題が出てきてしまい、信頼度が低いといえる。このような場合には、図７に示すような、対話トランジションGUIに遷移して、より適したノードが選択されるようにする。
【０１１３】
図７において、対話トランジションGUIは、実際にいくつかのノードを選択したことで、選択されたノードに応じた対話トランジションを別画面などに示したインターフェースになっている。また、この対話トランジションには、信頼度が低い、「システム行動」のノードが選択されたため、信頼度が低いことが可視化されている。
【０１１４】
なお、以下の説明では、注目ノードに対する候補のノードを、「候補ノード」ともいい、選択されたノードを、「選択ノード」ともいう。また、注目ノードに対し、接続されるノードを「接続ノード」ともいう。
【０１１５】
具体的には、図７においては、"CHK-DTLS / もっと詳しく"である注目ノードに対し、"WTR-NTY / 晴れ時々曇りだよ"，"YR-WEL / どういたしまして"，"NWS-NTY / 日中首脳会議で・・・"，である「システム行動」の候補ノードが選択可能である場合に、関連性の低い"WTR-NTY / 晴れ時々曇りだよ"が、選択ノードとして選択されている。
【０１１６】
このとき、選択ノードとして、関連性の低い"WTR-NTY / 晴れ時々曇りだよ"が選択されているため、注意を促すアイコン３２１が提示され、作業者２に対し、信頼度が低い遷移であることを通知している。
【０１１７】
また、図７においては、"CHK-DTLS / もっと詳しく"である注目ノードに対して接続される、最も適切な候補ノードとして、例えば、"NWS-NTY / 日中首脳会議で・・・"である候補ノードが推測され、当該候補ノードの選択を促す太線の矢印が提示されている。これにより、作業者２は、システム側の提案に従い、"NWS-NTY / 日中首脳会議で・・・"である候補ノードを、選択ノードとして選択することができる（いわば正解ノードを割り当てることができる）。
【０１１８】
その結果として、図６に示した選択経路３１２によって、"GREET / おはよ"，"NWS-NTY / 今日のニュースは・・・"，"CHK-DTLS / もっと詳しく"，"NWS-NTY / 日中首脳会議で・・・"のように、「ユーザ行動」のノードと「システム行動」のノードが、２ターンずつ繰り返して選択されたことになる。
【０１１９】
ここで、注目ノードに接続される接続ノードとして、適切な候補ノードを提示する際には、例えば、対話の履歴情報（対話のログ）から得られる情報等を考慮することができる。
【０１２０】
具体的には、例えば、注目ノード（に含まれるコンテキスト）に関する詳細な情報、注目ノード（に含まれるコンテキスト）に関連する情報、注目ノード（に含まれるコンテキスト）に関連しない情報、若しくは注目ノード（に含まれるコンテキスト）に関する繰り返しの情報、又は対話の履歴情報等から得られる統計情報（例えば頻度等）に基づき、候補ノードを生成（提示）することができる。
【０１２１】
これにより、信頼度の低い対話トランジションを修正し、例えば機械学習等のデータとして利用できる信頼度の高い対話トランジションのコーパスを生成することができる。
【０１２２】
なお、このとき、注目ノードに対し、提示すべき適切な候補ノードが存在しない場合には、例えば、「該当発話なし」というノードを追加したり、あるいは、作業者２が新規に候補ノードを追加したりするようにしてもよい。
【０１２３】
例えば、図７の対話トランジションGUIにおいて、新たに候補ノードを追加するための「＋ボタンのアイコン」等を表示し、当該アイコンが操作されたとき、新規の候補ノードに関する情報を入力するためのGUIなどが提示されるようにすればよい。
【０１２４】
また、対話トランジションGUIにおいては、「ユーザ行動」又は「システム行動」の各ノードの詳細情報が提示されるようにしてもよい。図８は、ノードの詳細情報の表示例を示している。
【０１２５】
図８においては、"WTR-CHK / 今週の天気は？"である「ユーザ行動」のノードが選択されたときに、当該ノードの詳細情報が表示されている様子を模式的に表している。
【０１２６】
このノードの詳細情報としては、例えば、実際に行動を行ったユーザとその状態、周辺のユーザ、音声認識結果（Utterance）とそのスコア、意味解析結果（SLU：Spoken Language Understanding）とそのスコア、これらの認識結果及び周辺環境から実施にシステムが行う行動決定のスコアなどを含めることができる。
【０１２７】
具体的には、図８の吹き出し枠３３１内においては、ユーザ（User）とその状態として"裕太"と"笑顔（smile）"、周辺のユーザ（Other Users）として、"ママ"と"健太"が、ノードの詳細情報として含まれている。
【０１２８】
さらに、吹き出し枠３３１内には、音声認識結果（Utterance）とそのスコア（Utterance_score）として、"今週の天気は？"と"0.8"、意味解析結果（SLU）とそのスコア（SLU_score）として、"WTR-CHECK"と"0.7"、行動決定スコアとして、"0.67"が含まれている。
【０１２９】
なお、図８では、「ユーザ行動」のノードの詳細情報を例示したが、「システム行動」のノードについても同様に、ノードの詳細情報を提示することができる。また、例えば、ユーザとその状態や、周辺のユーザに関する詳細情報等は、センサ１０４（図２）からのセンサデータの解析結果に基づき、提示される。
【０１３０】
また、図６や図７の対話トランジションGUIにおいては、センサ１０４（図２）からのセンサデータに基づき、ユーザの動画や静止画などの情報が提示されるようにしてもよい。これにより、作業者２は、ユーザの発話と、実際にその発話がなされた状況を動画等で確認しながら、対話トランジションGUIを操作することができる。
【０１３１】
なお、このような、ユーザの動画や静止画を提示する際には、例えば、ユーザをアバターで表示したり、あるいはユーザの目の部分を黒い線で塗ったり、モザイクやぼかしで加工したりすることで、ユーザのプライバシーを保護することができる。
【０１３２】
（対話シーンの作成）
上述した対話トランジションGUIを利用して対話トランジションを生成することで、仮想の対話（対話シーン）を作成することができる。ここで、上述したように、対話トランザクションを生成する際には、大きく分けて、手動設計モードと自動設計モードの２つのモードが存在するので、以下、各設計モードについて述べる。
【０１３３】
（Ａ）手動設計モード
まず、手動設計モードについて説明する。手動設計モードでは、対話トランジションGUIにおいて、あるノードから、１つずつノードを選択していくことで、対話トランジションジェネレータ２１４によって、対話トランジションが生成される。
【０１３４】
その際に、対話トランジションGUIでは、作業者２への支援機能（サポート機能）として、ノードが選択されたときに、その選択されたノードに実際に到達する経路を可視化する機能を提供することができる。
【０１３５】
図９は、ノードへの到達経路を可視化した対話トランジションGUIの例を示す図である。
【０１３６】
図９において、対話トランジションGUIは、作業者２により選択されたノードへの到達経路を可視化している。
【０１３７】
具体的には、図９においては、作業者２が、GUI２２１に対し、例えばマウス操作などを行うことで、"THANK / ありがとう"である「ユーザ行動」のノード（選択ノード）を選択している。
【０１３８】
このとき、図中の太線の矢印で示すように、"GREET / おはよ"である「ユーザ行動」のノードが、"GREET / おはようございます"，"WTR-NTY / 雨が降るよ"，及び"NWS-NTY / 今日のニュースは・・・"である「システム行動」のノードにそれぞれ接続され、さらにそれらの「システム行動」のノードが、"THANK / ありがとう"である選択ノードに接続される経路が可視化されている。
【０１３９】
同様に、"NWS-CHK / 今日のニュース"である「ユーザ行動」のノードが、"GREET / おはようございます"，"WTR-NTY / 雨が降るよ"，及び"NWS-NTY / 今日のニュースは・・・"である「システム行動」のノードにそれぞれ接続され、さらにそれらの「システム行動」のノードが、"THANK / ありがとう"である選択ノードに接続される経路も、可視化されている。
【０１４０】
このように、作業者２が所望のノードを選択したとき、あるノードを起点として、選択ノードに到達するまでのシナリオが、過去の対話の履歴情報（対話のログ）に基づき生成され、実際のノードの遷移の１つとなって、結果として対話トランジションが生成されることになる。
【０１４１】
例えば、図９に例示したノードとは異なるが、作業者２が、"音楽をかけたい"である「ユーザ行動」のノード（選択ノード）を選択したときに、経路が可視化されるため、その選択ノードの前に、どのようなノード（コンテキスト）が存在するかを、容易に把握することができる。これにより、実際には存在しない対話であるが、対話の経路上はあり得る経路を選択して、対話トランジションを生成することが可能となる。
【０１４２】
なお、作業者２は、GUI２２１に対し、例えばマウス操作やタッチパネル操作などを行うことで、自由に、「ユーザ行動」又は「システム行動」のノードを、任意のターンに挿入することができる。
【０１４３】
その際に、「システム行動」に関しては、作業者２が任意の行動（発話）を決定してもよいし、あるいは、ユーザシミュレータ２１３を利用して、人工的に行動（発話）を継続させてもよい。なお、ユーザシミュレータ２１３を利用して人工的に行動（発話）を継続させる手法の詳細は後述する。
【０１４４】
また、「ユーザ行動」のシンボル名は、作業者２が手動で設定してもよいし、あるいは実際のシステムで使用されている解析機を用いて付与するようにしてもよい。
【０１４５】
（Ｂ）自動設計モード
次に、自動設計モードについて説明する。自動設計モードでは、作業者２が手動で１つずつノードを選択しなくても、対話トランジションジェネレータ２１４によって、様々な手法で、対話トランジションが生成（自動生成）される。
【０１４６】
ここでは、対話トランジションの自動生成の手法として、５つの手法を例示する。以下、第１の手法乃至第５の手法を示すが、ここに例示した手法は、一例であり、他の手法を用いて対話トランジションが自動生成されるようにしてもよい。
【０１４７】
（第１の手法）
第１の手法は、実際の対話トランジションが複数存在する場合に、それらの実際の対話トランジションを混合する手法である。
【０１４８】
例えば、t = 1〜3において、"Ａ"である「ユーザ行動」のノード、"Ｂ"である「システム行動」のノード、"Ｃ"である「ユーザ行動」のノードの順に遷移する第１の対話トランジションと、"Ａ"である「ユーザ行動」のノード、"Ｂ"である「システム行動」のノード、"Ｄ"である「ユーザ行動」のノードの順に遷移する第２の対話トランジションを想定する。
【０１４９】
このとき、第１の対話トランジションや第２の対話トランジション等のような、実際の対話トランジションだけでなく、それらの対話の履歴情報等に基づき、ノード間で遷移可能な経路を認識可能となるため、その遷移可能な経路に含まれる「ユーザ行動」と「システム行動」のノードから、対話トランジションを生成することができる。
【０１５０】
なお、上述の例で、第１の対話トランジションや第２の対話トランジション等の実際の対話トランジションに対する解析処理を行う際には、例えば、ある対話のターン（例えば、t = 3）でのノードを互いに入れ替えるようにするなどして、生成される対話トランジションの数を増加させるようにしてもよい。
【０１５１】
このように、対話トランジションジェネレータ２１４では、過去の対話の履歴情報（対話のログ）に基づき、複数の実際の対話トランジションを混合させることで、多数の対話トランジションを生成することができる。
【０１５２】
（第２の手法）
第２の手法は、注目ノードに対する候補ノードとして、第１候補のノード以外の第２候補の以降のノードを仮想的に選択する手法である。
【０１５３】
ここで、システムは、基本的に、各ターンにおいて、複数のノードの中から得られる候補ノードうち、第１候補となる１つの候補ノードを、選択ノード（注目ノードに接続される接続ノード）として選択することになるが、第２の手法では、この時に選択されなかった第２候補以降の候補ノードが、仮に選択されるようにする。
【０１５４】
このとき、仮に選択した候補ノード以降のターンは、「対話の終了」に結び付けてノードを終了させてもよいし、あるいは、そのままユーザとシステムとの対話が継続されるようにしてもよい。
【０１５５】
ここでは、例えば、仮に選択した候補ノード（例えば「システム行動」のノード）に対し、接続する頻度が最も高いノード（例えば「ユーザ行動」のノード）に遷移させるようにすることで、ユーザとシステムとの対話を継続することができる。
【０１５６】
なお、ここでは、例えば、後述の第４の手法を併用して、仮に選択した候補ノード以降のターンは、ユーザシミュレータ２１３を利用して人工的に発話を継続させるようにしてもよい。
【０１５７】
例えば、ユーザとシステムとの間で５ターンの対話があった場合に、システム側が、最後のノードで「音楽に関する発話」を行っていたときに、当該最後のノードの第２候補の候補ノードが、「ニュースに関する発話」となるときを想定する。このとき、第２候補の候補ノードとして、「ニュースに関する発話」のノードが仮に選択され、６ターン目以降は、ユーザとシステムとの間で、ニュースに関する対話が継続され、生成される対話トランジションの数を増加させることができる。
【０１５８】
このように、対話トランジションジェネレータ２１４では、過去の対話の履歴情報（対話のログ）に基づき、注目ノードに対する候補ノードとして、第１候補のノード以外の第２候補の以降のノードを仮想的に選択することで、多数の対話トランジションを生成することができる。
【０１５９】
（第３の手法）
第３の手法は、対話トランジションにおいて、「対話の終了」である終了のノードに行かずに、対話を延長する手法である。
【０１６０】
ここで、「対話の終了」である終了のノードへの到達は、ユーザが実際に対話を終了したことを意味するが、第３の手法では仮想的にユーザがそれ以降も、行動（発話）を続けた場合を想定して、ノードが継続（延長）されるようにする。
【０１６１】
このとき、延長されるノードとしては、例えば、ユーザの発話として、別の発話が選択されるようにしてもよし、あるいは、近しい対話トランジションから、ユーザの発話が決定されるようにしてもよい。
【０１６２】
また、このような場合に、仮想的にユーザの行動（発話）を生成する機能を持つモジュールが、後述の第４の手法で利用されるユーザシミュレータ２１３であり、第３の手法でも、後述の第４の手法を併用することができる。
【０１６３】
ここで、図１０には、ユーザシミュレータ２１３を用いた対話の延長の例を示している。
【０１６４】
図１０においては、ユーザとシステムとの間で１ターンずつの対話が行われ、次のターン（t = 3）で、対話が終了している。このとき、図中の太線の矢印で示すように、ユーザシミュレータ２１３によって、t = 3 でのユーザの発話のノード（Virtual）を人工的に生成することで、ユーザとシステムとの対話が継続され、t = 4 で、システムの発話がなされる。
【０１６５】
その後も同様に、ユーザの発話のノード（Virtual）を人工的に生成することで、実際には、ユーザとシステムとの対話が終了した場合であっても、ユーザとシステムとの対話を仮想的に継続することが可能となる。
【０１６６】
また、図１０の例では、「システム行動」のノードの後に、「対話の終了」となった場合に、対話を延長する例を示したが、「対話の終了」の前のノードは、「ユーザ行動」のノードであってもよい。
【０１６７】
図１１には、「対話の終了」の前のノードが、「ユーザ行動」のノードとなる場合に、ユーザシミュレータ２１３を用いて対話を延長する例を示している。
【０１６８】
図１１においては、ユーザとシステムとの間で数ターンの対話が行われ、ユーザの発話の後に、対話が終了している。このとき、図中の太線の矢印で示すように、ユーザシミュレータ２１３によって、システムの発話のノード（Virtual）と、ユーザの発話のノード（Virtual）とを交互に、人工的に生成することで、ユーザとシステムとの対話を仮想的に継続することが可能となる。
【０１６９】
このように、対話トランジションジェネレータ２１４では、対話トランジションにおいて、「対話の終了」である終了のノードに行かずに、対話を延長することで、多数の対話トランジションを生成することができる。
【０１７０】
（第４の手法）
第４の手法は、ユーザシミュレータ２１３を利用して、発話を人工的に生成することで、ユーザとシステムとの対話を仮想的に継続する手法である。
【０１７１】
なお、上述したように、この第４の手法は、第２の手法や第３の手法等の他の手法と併用して用いられるようにしてもよい。
【０１７２】
ここで、ユーザシミュレータ２１３により実行されるシミュレーションは、次に最も起こりうるべき、ユーザの発話を推測するモデルであって、これまでのユーザの発話をu，システムの発話をs，他のパラメタをθとしたときに、例えば、下記の式（１）の関係で表すことができる。
【０１７３】
P(u4|u1,u2,u3,・・・ ,s1,s2,s3,s4 ,θ)       ・・・（１）
【０１７４】
ただし、式（１）において、Pは、条件付き確率を表しており、ここでは、ある条件下でのユーザの発話u4（いま、ユーザが言うべき発話）の確率を表している。
【０１７５】
また、ここでは、「u1,u2,u3」が、これまでのユーザの発話の履歴に相当し、「s1,s2,s3,s4」が、これまでのシステムの発話の履歴に相当している。さらに、他のパラメタθには、例えば、音声認識誤り率や意味解析誤り率、行動決定誤り率等が含まれる。
【０１７６】
また、式（１）において、これまでのユーザの発話の履歴には、ユーザの実際の発話と、ユーザシミュレータ２１３により生成された人工的な発話を含んでいる。なお、ユーザとシステムとの対話は、１対１に限らず、システムに対し、複数のユーザが存在していてもよい。
【０１７７】
ここでは、例えば、式（１）での条件を変えることで、ユーザが言うべき発話u4, u4', u4'',・・・の確率が順次求められるので、それらの発話u4, u4', u4'',・・・の中から、確率が最も高いものを、最終的なユーザが言うべき発話として出力すればよい。そして、対話トランジションジェネレータ２１４では、ユーザシミュレータ２１３にて人工的に生成されたユーザの発話（例えば、発話u4等）を用い、ユーザとシステムとの対話を生成することができる。
【０１７８】
なお、ここでは、ユーザシミュレータ２１３によって、ユーザの発話を人工的に生成する例を説明したが、システムの発話についても同様に人工的な発話を生成することができる。
【０１７９】
このように、対話トランジションジェネレータ２１４では、ユーザシミュレータ２１３を利用して、ユーザの発話を模擬的に再現して、ユーザとシステムとの対話を仮想的に継続することで、多数の対話トランジションを生成することができる。
【０１８０】
（第５の手法）
第５の手法は、ユーザ又はシステムの発話のノードを、ブロック単位で接続する手法である。
【０１８１】
図１２には、注目ノードに対し、複数のノードからなる対話のブロック（対話ブロック）を接続する例を示している。
【０１８２】
図１２においては、「対話の終了」の前のノードが、「ユーザ行動」のノードとなる場合に、さらに、３つのノードならなる対話ブロック３５１が接続されるイメージを模式的に表している。この対話ブロック３５１は、例えば、音楽やスポーツに関するユーザとシステムの対話など、ある共通のカテゴリに属する発話のノードから構成される。
【０１８３】
このとき、この対話ブロック３５１を接続するに際して、例えば、「さらに言うと」や「ところで」などの接続詞を、「システム行動」の発話として挟むことで、ユーザとシステムとの対話の流れをよくすることができる。
【０１８４】
例えば、「対話の終了」の前のノードに、ユーザとシステムの対話に音楽の内容が含まれている場合には、「対話の終了」の直前のノードに対し、音楽の詳細な内容に関する対話に対応した複数のノードからなる対話ブロック３５１が接続されるようにすればよい。このとき、接続される対話ブロック３５１が共通の話題となっているため、「さらに言うと」などの接続詞を挟んでから、対話ブロック３５１が接続されるようにすることで、対話の流れをよくすることができる。
【０１８５】
また、例えば、「対話の終了」の前のノードに、ユーザとシステムの対話に音楽の内容が含まれている場合に、「対話の終了」の直前のノードに対し、スポーツの内容に関する対話に対応した複数のノードからなる対話ブロック３５１が接続されるようにしてもよい。この場合には、接続される対話ブロック３５１が関係のない話題となっているため、「ところで」などの接続詞を挟んでから、対話ブロック３５１が接続されるようにすることで、対話の流れをよくすることができる。
【０１８６】
ここで、ある注目ノードに対し、複数の対話ブロックが接続可能である場合には、例えば、対話の履歴情報（対話のログ）から得られる情報等を考慮して、適切な対話ブロックを接続することができる。
【０１８７】
具体的には、例えば、注目ノード（に含まれるコンテキスト）に関する詳細な情報、注目ノード（に含まれるコンテキスト）に関連する情報、注目ノード（に含まれるコンテキスト）に関連しない情報、若しくは注目ノード（に含まれるコンテキスト）に関する繰り返しの情報、又は対話の履歴情報等から得られる統計情報（例えば頻度等）に基づき、接続される対話ブロックを生成することができる。
【０１８８】
なお、対話ブロック３５１であるが、ノードに対して接続されるだけでなく、対話ブロック同士が接続されるようにしてもよい。
【０１８９】
図１３には、複数のノードからなる対話ブロック（注目対話ブロック）に対し、複数のノードからなる対話ブロック（候補対話ブロック）を接続する例を示している。
【０１９０】
図１３においては、対話ブロック３５１−１に対し、対話ブロック３５１−１乃至３５１−３の３つの対話ブロックの候補が接続可能となっている。この場合には、例えば、対話の履歴情報（対話のログ）から得られる情報等を考慮して、対話ブロック３５１−１に対し、適切な対話ブロックを接続することができる。
【０１９１】
具体的には、例えば、注目対話ブロック（のノードに含まれるコンテキスト）に関する詳細な情報、注目対話ブロック（のノードに含まれるコンテキスト）に関連する情報、注目対話ブロック（のノードに含まれるコンテキスト）に関連しない情報、若しくは注目対話ブロック（のノードに含まれるコンテキスト）に関する繰り返しの情報、又は対話の履歴情報から得られる統計情報（例えば頻度等）等に基づき、接続される対話ブロックを生成することができる。
【０１９２】
例えば、図１３の例では、対話ブロック３５１−１に対しては、対話ブロック３５１−２が接続される頻度が高いという統計情報が得られているのであれば、対話ブロック３５１−１に対し、対話ブロック３５１−２が選択されて接続されるようにする。
【０１９３】
このように、対話トランジションジェネレータ２１４では、ノード単位に限らず、ブロック単位でノードを接続することで、多数の対話トランジションを生成することができる。
【０１９４】
なお、自動設計モードでは、GUI２２１により作業者２に対し、対話トランジションGUI等のGUIを提示してもよいし、あるいは、対話トランジションGUI等のGUIを提示せずに、システム側の判断（例えば処理部２０１の判断）のみで、対話トランジションを大量に生成して、コーパスとして、トランジションコーパス群ＤＢ２０４に記録されるようにしてもよい。その際には、システム側で、ノード同士、ノードと対話ブロック、又は対話ブロック同士をランダムに接続してもよい。
【０１９５】
（様々なノードの例）
上述した説明では、ノードは、基本的に発話を意味していたが、マルチモーダルな対話においては、ユーザとシステムの行動は、発話に限定されるものではない。例えば、サーバ２０の処理部２０１は、音声処理装置１０に設けられたセンサ１０４（図２）により得られるセンサデータを解析し、その解析結果を利用することで、発話以外のユーザの行動を認識することが可能となる。
【０１９６】
ここで、ユーザの行動としては、例えば、立ち去る、手を振る、うなずく、欠伸をするといった行動を認識して、ノードとして組み込むことができる。一方で、システムの行動としては、例えば、音声処理装置１０等の機器をシャットダウンする、音楽を再生する、静止画や動画を表示するといった行動を組み込むことができる。
【０１９７】
以上のように、本技術によれば、手動設計モード又は自動設計モードによって、多数の対話トランジションを生成することができるため、より少ないコストで、対話データを生成することができる。
【０１９８】
ここで、高性能な対話エージェントを作る場合には、十分な対話データを利用する必要があることは上述したとおりである。従来では、対話データを多く集めたり、特定の目的のためにカスタムした対話シナリオのデータを生成したりすることは、多くの人手と時間が必要となるため、非常にコストがかかっていた。それに対し、本技術を適用すれば、手動設計モード又は自動設計モードによって、多数の対話トランジションを生成することができるため、より少ないコストで、対話データを生成することができ、その結果として、高性能な対話エージェントを容易に作ることが可能となる。
【０１９９】
＜３．変形例＞
【０２００】
上述した説明では、対話トランジションGUI等のGUIは、クラウド側のサーバ２０のGUI２２１として提示され、作業者２により操作されるとして説明したが、対話トランジションGUI等のGUI（と同等の機能を有するGUI）が、ローカル側の音声処理装置１０（の表示部）に提示され、ユーザによって操作されるようにしてもよい。
【０２０１】
例えば、音声処理装置１０を操作するユーザが、端末にインストールされたアプリケーションやブラウザによって、音声対話サービスのサポートページにアクセスして、フィードバックを行うツール（例えば、対話トランジションの誤りを修正するツールなど）として、対話トランジションGUIなどの機能を利用してもよい。ただし、このとき、ユーザが参照できる情報は、そのユーザ自身の発話に関する情報のみとする必要はある。
【０２０２】
また、上述した説明では、ユーザの発話のテキストデータが処理される場合を説明したが、ユーザの発話のテキストデータに限らず、例えば、テキストチャット等のテキストデータが処理されるようにしてもよい。この場合、音声処理装置１０では、サーバ２０からのシステム応答として、例えば、テキストデータや画像データに応じた情報を提示することができる。
【０２０３】
＜４．コンピュータの構成＞
【０２０４】
上述した一連の処理（例えば、図４に示した対話トランジション生成処理）は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、各装置のコンピュータにインストールされる。図１４は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【０２０５】
コンピュータ１０００において、CPU(Central Processing Unit)１００１、ROM(Read Only Memory)１００２、RAM(Random Access Memory)１００３は、バス１００４により相互に接続されている。バス１００４には、さらに、入出力インターフェース１００５が接続されている。入出力インターフェース１００５には、入力部１００６、出力部１００７、記録部１００８、通信部１００９、及び、ドライブ１０１０が接続されている。
【０２０６】
入力部１００６は、キーボード、マウス、マイクロフォンなどよりなる。出力部１００７は、ディスプレイ、スピーカなどよりなる。記録部１００８は、ハードディスクや不揮発性のメモリなどよりなる。通信部１００９は、ネットワークインターフェースなどよりなる。ドライブ１０１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブル記録媒体１０１１を駆動する。
【０２０７】
以上のように構成されるコンピュータ１０００では、CPU１００１が、ROM１００２や記録部１００８に記録されているプログラムを、入出力インターフェース１００５及びバス１００４を介して、RAM１００３にロードして実行することにより、上述した一連の処理が行われる。
【０２０８】
コンピュータ１０００（CPU１００１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体１０１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線又は無線の伝送媒体を介して提供することができる。
【０２０９】
コンピュータ１０００では、プログラムは、リムーバブル記録媒体１０１１をドライブ１０１０に装着することにより、入出力インターフェース１００５を介して、記録部１００８にインストールすることができる。また、プログラムは、有線又は無線の伝送媒体を介して、通信部１００９で受信し、記録部１００８にインストールすることができる。その他、プログラムは、ROM１００２や記録部１００８に、あらかじめインストールしておくことができる。
【０２１０】
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含む。また、プログラムは、１のコンピュータ（プロセッサ）により処理されるものであってもよいし、複数のコンピュータによって分散処理されるものであってもよい。
【０２１１】
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。例えば、本技術は、１つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０２１２】
また、図４に示した対話トランジション生成処理の各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０２１３】
なお、本技術は、以下のような構成をとることができる。
【０２１４】
（１）
対話の履歴情報に基づいて、複数のコンテキストのうち、注目している注目コンテキストに接続される接続コンテキストを生成する処理部を備える
情報処理装置。
（２）
前記処理部は、前記接続コンテキストを提示する
前記（１）に記載の情報処理装置。
（３）
前記処理部は、前記接続コンテキストの候補である候補コンテキストを提示する
前記（２）に記載の情報処理装置。
（４）
前記対話の履歴情報は、ユーザと音声対話システムとの対話の履歴を含み、
前記複数のコンテキストは、前記対話の履歴情報から得られる
前記（１）乃至（３）のいずれかに記載の情報処理装置。
（５）
前記処理部は、前記対話の履歴情報から得られる、前記注目コンテキストに関する詳細な情報、関連する情報、関連しない情報、若しくは繰り返しの情報、又は前記対話の履歴情報から得られる統計情報に基づいて、前記接続コンテキストを生成する
前記（４）に記載の情報処理装置。
（６）
前記処理部は、１又は複数のコンテキストからなるノード単位、又は複数のノードからなるブロック単位で、前記接続コンテキストを生成する
前記（５）に記載の情報処理装置。
（７）
前記処理部は、前記接続コンテキストに対する修正を受け付ける
前記（１）乃至（６）のいずれかに記載の情報処理装置。
（８）
前記処理部は、前記ユーザの発話を模擬的に再現するシミュレータを利用することで得られる人工的な対話の情報に基づいて、前記接続コンテキストを生成する
前記（５）に記載の情報処理装置。
（９）
前記処理部は、前記対話の履歴情報、及びセンサから得られるセンサ情報に基づいて、前記接続コンテキストを生成する
前記（１）乃至（８）のいずれかに記載の情報処理装置。
（１０）
前記対話の履歴情報から得られる１又は複数のコンテキストは、ノードを構成しており、
前記処理部は、複数のノードからなる対話トランジションに、前記ユーザ又は前記音声対話システムの行動に応じたノードを含める
前記（４）に記載の情報処理装置。
（１１）
前記処理部は、センサから得られるセンサ情報に基づいて、前記ユーザ又は前記音声対話システムの行動に応じたノードを生成する
前記（１０）に記載の情報処理装置。
（１２）
情報処理装置の情報処理方法において、
前記情報処理装置が、
対話の履歴情報に基づいて、複数のコンテキストのうち、注目している注目コンテキストに接続される接続コンテキストを生成する
情報処理方法。
【符号の説明】
【０２１５】
１  音声対話システム，  １０  音声処理装置，  ２０  サーバ，  ３０  インターネット，  １０１  処理部，  １０２  マイクロフォン，  １０３  スピーカ，  １０４  センサ，  ２０１  処理部，  ２０２  リーダ／ライタ部，  ２０３  オリジナル対話データ群ＤＢ，  ２０４  トランジションコーパス群ＤＢ，  ２１１  対話アナライザ，  ２１２  ラベルアノテータ，  ２１３  ユーザシミュレータ，  ２１４  対話トランジションジェネレータ，  １０００  コンピュータ，  １００１  CPU
【図１】
2019026716.tif 000003
【図２】
2019026716.tif 000004
【図３】
2019026716.tif 000005
【図４】
2019026716.tif 000006
【図５】
2019026716.tif 000007
【図６】
2019026716.tif 000008
【図７】
2019026716.tif 000009
【図８】
2019026716.tif 000010
【図９】
2019026716.tif 000011
【図１０】
2019026716.tif 000012
【図１１】
2019026716.tif 000013
【図１２】
2019026716.tif 000014
【図１３】
2019026716.tif 000015
【図１４】
2019026716.tif 000016
【国際調査報告】
2019026716.tif 000017
2019026716.tif 000018