(57)【要約】  応答生成装置（１０）は、ユーザに対する応答を生成する契機となる入力情報、及び、当該ユーザの状況を示す情報であるコンテキスト情報を取得する取得部（４０）と、ユーザから取得したコンテキスト情報に基づいて、入力情報に対応する応答を生成する応答生成部（５０）とを備える。
2020105302.tif 000002
【特許請求の範囲】
【請求項１】
ユーザに対する応答を生成する契機となる入力情報、及び、当該ユーザの状況を示す情報であるコンテキスト情報を取得する取得部と、
前記ユーザから取得したコンテキスト情報に基づいて、前記入力情報に対応する応答を生成する応答生成部と
を備える応答生成装置。
【請求項２】
前記取得部は、
前記入力情報として、前記ユーザが発した音声情報を取得する
請求項１に記載の応答生成装置。
【請求項３】
前記取得部は、
前記入力情報として、前記ユーザの行動を検知した検知情報を取得する
請求項１に記載の応答生成装置。
【請求項４】
前記取得部は、
前記コンテキスト情報として、前記ユーザが予め登録したスケジュール情報を取得する
請求項１に記載の応答生成装置。
【請求項５】
前記取得部は、
前記コンテキスト情報として、前記ユーザの行動から推定される情報であって、当該ユーザの将来の行動予測を示した情報である行動予測情報を取得する
請求項１に記載の応答生成装置。
【請求項６】
前記取得部は、
前記コンテキスト情報として、前記ユーザによって予め登録された当該ユーザの属性情報を取得する
請求項１に記載の応答生成装置。
【請求項７】
前記応答生成部は、
前記入力情報に対応して仮に生成される応答である仮応答のうち、前記コンテキスト情報と重複する要素を削除して、当該入力情報に対応する応答を生成する
請求項１に記載の応答生成装置。
【請求項８】
前記応答生成部は、
前記生成した応答に対して、前記仮応答から削除した要素に関する反応を前記ユーザから受け付けた場合、当該削除した要素に基づいて、当該反応に対応する第２の応答を生成する
請求項７に記載の応答生成装置。
【請求項９】
前記応答生成部は、
前記仮応答から削除した要素に関する反応を前記ユーザから受け付けた回数に応じて、当該仮応答から削除する要素を判定する
請求項８に記載の応答生成装置。
【請求項１０】
前記応答生成部は、
前記入力情報に対応して仮に生成される応答である仮応答に、前記コンテキスト情報に含まれる要素を付加して、当該入力情報に対応する応答を生成する
請求項１に記載の応答生成装置。
【請求項１１】
前記応答生成部は、
前記コンテキスト情報に含まれる要素と前記ユーザとの適合度を算出し、算出した適合度に基づいて前記仮応答に付加する要素を決定して、当該入力情報に対応する応答を生成する
請求項１０に記載の応答生成装置。
【請求項１２】
前記応答生成部は、
前記入力情報に対応して仮に生成される応答である仮応答を、前記コンテキスト情報に基づいて異なる表現に変更することにより、当該入力情報に対応する応答を生成する
請求項１に記載の応答生成装置。
【請求項１３】
前記応答生成部は、
前記仮応答に含まれる具体的な数値もしくは時刻を抽象的な表現に変更することにより、前記入力情報に対応する応答を生成する
請求項１２に記載の応答生成装置。
【請求項１４】
前記取得部は、
前記コンテキスト情報として、前記入力情報が取得された時点のユーザの状況を示した情報を取得し、
前記応答生成部は、
前記ユーザの状況を示した情報に基づき、前記仮応答に含まれる具体的な数値もしくは時刻を置き換える抽象的な表現を決定する
請求項１３に記載の応答生成装置。
【請求項１５】
前記取得部は、
前記生成した応答に対する反応を前記ユーザから取得し、
前記応答生成部は、
前記ユーザから取得した反応を正例もしくは負例として、前記仮応答に含まれる具体的な数値もしくは時刻を置き換える抽象的な表現の決定手法を学習する
請求項１４に記載の応答生成装置。
【請求項１６】
コンピュータが、
ユーザに対する応答を生成する契機となる入力情報、及び、当該ユーザの状況を示す情報であるコンテキスト情報を取得し、
前記ユーザから取得したコンテキスト情報に基づいて、前記入力情報に対応する応答を生成する
応答生成方法。
【請求項１７】
コンピュータを、
ユーザに対する応答を生成する契機となる入力情報、及び、当該ユーザの状況を示す情報であるコンテキスト情報を取得する取得部と、
前記ユーザから取得したコンテキスト情報に基づいて、前記入力情報に対応する応答を生成する応答生成部と
として機能させるための応答生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、応答生成装置、応答生成方法及び応答生成プログラムに関する。詳しくは、情報機器を利用するユーザに対して出力される応答の生成処理に関する。
【背景技術】
【０００２】
スマートフォンやスマートスピーカーの普及に伴い、ユーザから受け付けた発話やユーザの行動等に反応してユーザに適切な応答を行うための対話システムが広く利用されている。【０００３】
例えば、ユーザから入力された音声の意味理解に、文章の流れに沿ったコンテキストを利用することで、ユーザとエージェントとの自然な対話を実現するための技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−８１９７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の従来技術によれば、ユーザの発話の意味理解にコンテキストを利用することで、ユーザの発話意図を精度よく認識することができる。【０００６】
しかしながら、従来技術では、ユーザのコンテキストに合わせた柔軟な応答を生成することができるとは限らない。具体的には、従来技術では、コンテキストに合わせてタスクを設定することで自然な対話の進行を行うことができるものの、エージェントが発話する応答自体は、各タスクにおいて予め設定された内容に過ぎない。すなわち、従来技術では、対話を自然に進行させることができるものの、ユーザの置かれた状況に即して応答を変化させるなど、柔軟な応答を生成することができない場合がある。【０００７】
そこで、本開示では、ユーザのコンテキストに合わせた柔軟な応答を生成することができる応答生成装置、応答生成方法及び応答生成プログラムを提案する。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本開示に係る一形態の応答生成装置は、ユーザに対する応答を生成する契機となる入力情報、及び、当該ユーザの状況を示す情報であるコンテキスト情報を取得する取得部と、前記ユーザから取得したコンテキスト情報に基づいて、前記入力情報に対応する応答を生成する応答生成部と、を備える。
【図面の簡単な説明】
【０００９】
【図１】本開示の第１の実施形態に係る情報処理の一例を示す図（１）である。
【図２】本開示の第１の実施形態に係る情報処理の一例を示す図（２）である。
【図３】本開示の第１の実施形態に係る応答生成処理を説明するための図である。
【図４】本開示の第１の実施形態に係る応答生成システムの構成例を示す図である。
【図５】本開示の第１の実施形態に係るユーザ情報テーブルの一例を示す図である。
【図６】本開示の第１の実施形態に係る共有知識テーブルの一例を示す図である。
【図７】本開示の第１の実施形態に係る応答規則テーブルの一例を示す図である。
【図８】本開示の第１の実施形態に係る付与規則テーブルの一例を示す図である。
【図９】本開示の第１の実施形態に係る生成処理の一例を示す図（１）である。
【図１０】本開示の第１の実施形態に係る生成処理の一例を示す図（２）である。
【図１１】本開示の第１の実施形態に係る生成処理の一例を示す図（３）である。
【図１２】本開示の第１の実施形態に係る生成処理の一例を示す図（４）である。
【図１３】コンテキスト情報を付与して応答を生成する処理の一例を説明するための図（１）である。
【図１４】コンテキスト情報を付与して応答を生成する処理の一例を説明するための図（２）である。
【図１５】コンテキスト情報を付与して応答を生成する処理の一例を説明するための図（３）である。
【図１６】コンテキスト情報を付与して応答を生成する処理の一例を説明するための図（４）である。
【図１７】本開示の第１の実施形態に係る処理の流れを示すフローチャートである。
【図１８】本開示の第２の実施形態に係る情報処理の一例を示す図である。
【図１９】本開示の第２の実施形態の変形例に係る情報処理の一例を示す図である。
【図２０】応答生成装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【００１０】
以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
【００１１】
以下に示す項目順序に従って本開示を説明する。
１．第１の実施形態
１−１．第１の実施形態に係る情報処理の一例
１−２．第１の実施形態に係る応答生成処理の概要
１−３．第１の実施形態に係る応答生成システムの構成
１−４．第１の実施形態に係る情報処理の手順
１−５．第１の実施形態に係る変形例
２．第２の実施形態
２−１．第２の実施形態に係る情報処理の一例
２−２．第２の実施形態に係る変形例
３．その他の実施形態
４．本開示に係る応答生成装置の効果
５．ハードウェア構成
【００１２】
（１．第１の実施形態）
［１−１．第１の実施形態に係る情報処理の一例］
図１を用いて、本開示の第１の実施形態に係る情報処理の一例を説明する。図１は、本開示の第１の実施形態に係る情報処理の一例を示す図（１）である。本開示の第１の実施形態に係る情報処理は、図１に示す応答生成装置１０によって実行される。
【００１３】
応答生成装置１０は、本開示に係る応答生成装置の一例である。応答生成装置１０は、いわゆるＩｏＴ（Internet  of  Things）機器であり、クラウドサーバ等の外部機器と連携して、種々の情報処理を行う。例えば、応答生成装置１０は、ユーザとの対話を行う機器であり、音声認識や応答等の種々の情報処理を行う。応答生成装置１０が実行する音声認識及び音声による応答処理等は、エージェント（Agent）機能と称される場合がある。また、応答生成装置１０は、エージェント機器と称される場合がある。
【００１４】
第１の実施形態では、応答生成装置１０が、いわゆるスマートスピーカー（smart  speaker）である例を示す。なお、応答生成装置１０は、音声出力を行うスピーカー部のみならず、映像等を出力する表示部（液晶ディスプレイ等）を備えてもよい。また、応答生成装置１０は、スマートフォンやタブレット端末等であってもよい。この場合、スマートフォンやタブレット端末は、本開示の応答生成処理を実現するためのプログラム（アプリケーション）を実行することにより、本開示に係る応答生成装置１０として機能する。
【００１５】
また、応答生成装置１０は、スマートフォンやタブレット端末以外にも、時計型端末や眼鏡型端末などのウェアラブルデバイス（wearable  device）であってもよい。また、応答生成装置１０は、情報処理機能を有する種々のスマート機器により実現されてもよい。例えば、応答生成装置１０は、テレビやエアコン、冷蔵庫等のスマート家電や、自動車などのスマートビークル（Smart  vehicle）や、ドローン（drone）、家庭用ロボット等であってもよい。
【００１６】
図１の例では、応答生成装置１０は、応答生成装置１０を利用するユーザが居住する自宅に設置されるものとする。第１の実施形態において、応答生成装置１０は、集音した音声やユーザの行動等、応答を生成するための契機となる情報（以下、「入力情報」と称する）に対する応答処理を実行する。例えば、応答生成装置１０は、ユーザが発した質問を認識し、質問に対する回答を音声出力したり、質問に関する情報を画面に表示したりする。なお、応答生成装置１０が実行する音声認識処理や出力処理等については、種々の既知の技術が利用されてもよい。
【００１７】
ところで、エージェント機器が出力する応答は、人間同士の会話等と比較して冗長となる傾向がある。例えば、エージェント機器が出力する応答には、ユーザが質問した内容や、ユーザの周囲の状況等、ユーザにとって自明な内容を含む場合がある。この場合、ユーザは、応答に対して聞く意識が低くなり、対話を続ける意識が低下するおそれがある。一方で、ユーザの置かれた状況を加味せずに、エージェント機器が応答を省略したり、指示語を使用して応答を生成したりすると、ユーザが発話内容を一意に理解できなくなるおそれがある。
【００１８】
すなわち、エージェント機器が実行する対話処理には、冗長な内容とならず、かつ、ユーザに理解しやすい内容の応答を柔軟に生成するという課題が存在する。
【００１９】
そこで、本開示に係る応答生成装置１０は、対話の文脈やユーザの置かれた状況等の情報（以下、「コンテキスト情報」と称する）を取得し、取得したコンテキスト情報を用いて応答を生成することで、上記の課題を解決する。例えば、応答生成装置１０は、音声等の入力情報への回答として生成した仮応答のうち、コンテキスト情報に基づきユーザにとって自明と推定される要素（語句等）を削除したうえで、実際に出力する応答を生成する。あるいは、応答生成装置１０は、仮応答に含まれる要素であって、ユーザにとって自明と推定される要素を抽象度の高い情報（指示代名詞等）に置き換えて、実際に出力する応答を生成する。さらに、応答生成装置１０は、コンテキスト情報に基づきユーザにとって自明でないと推定される要素を仮応答に付与して、実際に出力する応答を生成してもよい。
【００２０】
このように、応答生成装置１０は、コンテキスト情報に基づいて、入力情報に対応して生成された仮応答から情報を削除したり、置換したり、付与したりする処理を行い、ユーザへの応答を生成する。これにより、応答生成装置１０は、ユーザのコンテキストに合わせた柔軟な応答を生成することができるため、対話システムのようなエージェント機能を利用するユーザのユーザビリティを向上させることができる。
【００２１】
以下、図１を用いて、本開示に係る情報処理（応答生成処理）の一例を流れに沿って説明する。
【００２２】
図１に示すように、ユーザは、「今日の横浜の天気おしえて」と発話することにより、「今日の横浜の天気おしえて」といった内容を含む音声Ａ０１を応答生成装置１０に入力する。
【００２３】
応答生成装置１０は、音声Ａ０１を入力情報として、応答生成処理を開始する。具体的には、応答生成装置１０は、音声Ａ０１を取得し、自動音声認識（ＡＳＲ（Automatic  Speech  Recognition））処理や自然言語理解（ＮＬＵ（Natural  Language  Understanding））処理を経て、音声Ａ０１に対応する応答を生成する。例えば、応答生成装置１０は、音声Ａ０１にユーザからの質問の意図が含まれている場合、質問の意図を入力情報と認識し、質問の意図に対する回答を応答として生成する。
【００２４】
図１に示す情報Ｃ０１は、音声Ａ０１を解析することにより得られた質問の意図（intent）と、音声Ａ０１に含まれるコンテキスト情報とを示す。具体的には、情報Ｃ０１は、「天気をチェックしたい」というユーザの意図を示す「CheckWhether」といったタグと、発話に含まれる各用語と属性（entity）との組合せであって、コンテキスト情報である「今日（属性：date）」と、「横浜（属性：place）」とを含む。
【００２５】
なお、応答生成装置１０は、音声Ａ０１とともに、現在のユーザの状況を示すコンテキスト情報を取得してもよい。詳細は後述するが、応答生成装置１０は、カメラで捉えられたユーザの移動速度や、ユーザが所在する位置や、ユーザの発話速度等を検知すること等によりユーザの状況を推定し、コンテキスト情報として取得する。すなわち、コンテキスト情報には、ユーザが置かれた状況や、推定されるユーザの感情等が含まれてもよい。例えば、応答生成装置１０は、ユーザが通常よりも急いでいる状況にあることを示すコンテキスト情報が取得された場合、より手短な応答を生成する等の調整を行うことができる。図１の例では、ユーザが、特に回答を急いでいたり、外に出かけようとしていたりといった特定の行動をとっていないため、ユーザの状況を示すコンテキスト情報は、「通常の対話処理」であるものとする。
【００２６】
応答生成装置１０は、入力情報を含む情報Ｃ０１と、ユーザの状況を示すコンテキスト情報とを取得し、取得した情報に基づいて、ユーザに対する応答を生成する。
【００２７】
まず、応答生成装置１０は、入力情報に基づいて、実際に出力される応答の元となる仮応答を生成する。なお、以下では、入力情報に基づいて応答生成装置１０が生成した仮応答を「発話ソース（source）情報」と称する。応答生成装置１０は、生成した発話ソース情報を基礎として、実際にユーザに対して出力される応答を生成する。
【００２８】
上記のように、応答生成装置１０は、ＡＳＲ及びＮＬＵの処理を経て、音声Ａ０１の意図を、「天気をチェックしたい（intent:CheckWeather）」である、と判定する。この場合、応答生成装置１０は、音声Ａ０１に対する仮応答として、発話ソース情報Ｅ０１を生成する。
【００２９】
図１に示すように、発話ソース情報Ｅ０１は、「今日の」という発話データと、「今日の」の属性である「[date]」とが対応付けられた要素を含む。また、発話ソース情報Ｅ０１は、「横浜は」と属性[place]と、「曇りのち雨です」と属性[weather]とがそれぞれ対応付けられた要素を含む。
【００３０】
発話ソース情報Ｅ０１を生成した応答生成装置１０は、情報Ｃ０１に含まれるコンテキスト情報に基づいて、発話ソース情報Ｅ０１から削除する情報を決定する。例えば、応答生成装置１０は、発話ソース情報Ｅ０１のうち、ユーザにとって自明な情報を削除する。具体的には、応答生成装置１０は、発話ソース情報Ｅ０１から、ユーザが発話した音声Ａ０１に含まれている属性、すなわち、コンテキスト情報と重複する属性の情報を削除する。
【００３１】
図１の例では、応答生成装置１０は、発話ソース情報Ｅ０１と情報Ｃ０１とを比較し、[date]属性を有する要素と、[place]属性を有する要素が、発話ソース情報Ｅ０１と情報Ｃ０１で重複していると判定する。この場合、応答生成装置１０は、発話ソース情報Ｅ０１から、[date]属性を有する要素（「今日の」）と、[place]属性を有する要素（「横浜は」）とを削除する。
【００３２】
このようにして、応答生成装置１０は、発話ソース情報Ｅ０１から、実際にユーザに出力される応答である応答Ｅ０２を生成する。図１に示すように、応答Ｅ０２は、「曇りのち雨です」のように、[weather]属性のみを有する音声となる。
【００３３】
これにより、応答生成装置１０は、「今日の横浜は曇りのち雨です」のように、ユーザにとって自明な情報を含む冗長な応答を行わず、「曇りのち雨です」のように、ユーザが知りたい情報のみを端的に出力することができる。
【００３４】
次に、図２を用いて、応答生成装置１０が、予めユーザから登録されたコンテキスト情報を用いて応答を生成する一例について説明する。図２は、本開示の第１の実施形態に係る情報処理の一例を示す図（２）である。
【００３５】
図２に示す例では、応答生成装置１０は、ユーザが外出しようとする行動が検知された場合に、外出先の天気情報を応答するよう設定されているものとする。この場合、応答生成装置１０は、カメラ等を用いてユーザの行動を観測し、自宅内から玄関にユーザが移動したこと等を検知した場合に、天気に関する情報を自律的に出力する。
【００３６】
例えば、応答生成装置１０は、検知されたユーザの状況に基づいて、情報Ｃ０３を取得する。情報Ｃ０３は、「ユーザがでかけようとしている」という行動予測を含む。図２の例では、かかる行動予測が、応答生成装置１０が応答を生成する契機となる入力情報である。
【００３７】
また、情報Ｃ０３は、ユーザが出かけようとする状況に基づいて、その状況を示すコンテキスト情報を含む。情報Ｃ０３が含むコンテキスト情報は、例えば、出かけようとする日付が今日であることを示す「今日（属性：date）」や、ユーザの行動の内容が「お出かけ（属性：situation）」である。
【００３８】
また、図２の例では、ユーザは、スケジュール管理サービス等の特定のサービスにスケジュールを登録しているものとする。スケジュールは、特定のサービスと応答生成装置１０との間で共有される。具体的には、ユーザは、情報Ｃ０４に示すように、「２０１８年９月１７日１８時」から「横浜」で「飲み会」に参加する、といった内容のスケジュールを登録する。この場合、応答生成装置１０は、「横浜（属性：place）」と、「１８時（夕方）（属性：time）」という情報を、当該ユーザのコンテキスト情報として取得する。
【００３９】
応答生成装置１０は、取得した情報Ｃ０３及び情報Ｃ０４に基づいて、発話ソース情報Ｅ０３を生成する。具体的には、応答生成装置１０は、「ユーザが出かける」ことを検知した場合に、天気をチェックして出力するよう設定されていることから、ユーザの出かけ先に対応する天気情報を取得する。例えば、応答生成装置１０は、天気情報を提供する外部サービスに接続し、天気予報等の気象予測情報や、気象予測に対応する提案（雨ならば傘を持った方がよいこと等）を取得する。
【００４０】
この場合、応答生成装置１０は、情報Ｃ０４を参照し、ユーザの行動に適合する場所（属性：place）や時間（属性：time）を特定し、特定した地域や時間の天気情報を取得する。
【００４１】
また、応答生成装置１０は、ユーザが出かけようとしている際に取得された情報Ｃ０３を参照し、天気情報の日付や、天気サービスから提案された行動をどのようなタイミングで実行することが適切か、といった情報を取得する。
【００４２】
以上の情報に基づいて、応答生成装置１０は、発話ソース情報Ｅ０３を生成する。発話ソース情報Ｅ０３は、「今日の」と属性[date]と、「横浜は」と属性[place]と、「夕方から」と属性[time]と、「雨なので」と属性[weather]と、「お出かけ時には」と属性[situation]と、「傘がいります」と属性[suggestion]とがそれぞれ対応付けられた要素を含む。
【００４３】
続けて、発話ソース情報Ｅ０３を生成した応答生成装置１０は、情報Ｃ０３及び情報Ｃ０４に含まれるコンテキスト情報に基づいて、発話ソース情報Ｅ０３から削除する情報を決定する。例えば、応答生成装置１０は、発話ソース情報Ｅ０３のうち、ユーザにとって自明な情報を削除する。具体的には、応答生成装置１０は、発話ソース情報Ｅ０３から、情報Ｃ０３及び情報Ｃ０４に含まれるコンテキスト情報に含まれている属性、すなわち、コンテキスト情報と重複する属性の情報を削除する。
【００４４】
図２の例では、応答生成装置１０は、発話ソース情報Ｅ０３と情報Ｃ０３とを比較し、[date]属性を有する要素と、[situation]属性を有する要素が、発話ソース情報Ｅ０３と情報Ｃ０３で重複していると判定する。この場合、応答生成装置１０は、発話ソース情報Ｅ０３から、[date]属性を有する要素（「今日の」）と、[situation]属性を有する要素（「お出かけ時には」）とを削除する。
【００４５】
また、応答生成装置１０は、発話ソース情報Ｅ０３と情報Ｃ０４とを比較し、[place]属性を有する要素と、[time]属性を有する要素が、発話ソース情報Ｅ０３と情報Ｃ０４で重複していると判定する。この場合、応答生成装置１０は、発話ソース情報Ｅ０３から、[place]属性を有する要素（「横浜は」）と、[time]属性を有する要素（「夕方から」）とを削除する。
【００４６】
このようにして、応答生成装置１０は、発話ソース情報Ｅ０３から、実際にユーザに出力される応答である応答Ｅ０４を生成する。図２に示すように、応答Ｅ０４は、「雨なので傘がいります」のように、[weather]属性及び[suggestion]属性のみを有する音声となる。
【００４７】
これにより、応答生成装置１０は、ユーザの状況や、ユーザがスケジュール登録している情報等、ユーザにとって自明な情報を省いた、短くかつ的確な応答Ｅ０４を生成することができる。
【００４８】
このように、第１の実施形態に係る応答生成装置１０は、ユーザに対する応答を生成する契機となる入力情報、及び、当該ユーザの状況を示す情報であるコンテキスト情報を取得する。そして、応答生成装置１０は、ユーザから取得したコンテキスト情報に基づいて、入力情報に対応する応答を生成する。
【００４９】
すなわち、応答生成装置１０は、コンテキスト情報から推測される自明な情報を削除することにより、その場の状況に応じて適切な応答を簡潔に生成することができる。これにより、ユーザは、エージェントの発話に対して意識を低下させることなく、必要十分な情報のみを聞くことができるため、エージェントの応答の主旨を容易に理解することができる。特に、図２の例で示したような、エージェント側から自律的に発話が開始される場合、ユーザのアテンション（意識）が低い状態では、ユーザのアテンションの獲得と、情報の主旨伝達の双方において、簡潔な発話が有効となる。応答生成装置１０によれば、ユーザが欲すると推定される情報のみを的確に取捨選択して応答を生成できるため、対話等のエージェント機能を、より効果的にユーザに提供することができる。
【００５０】
また、詳細は後述するが、応答生成装置１０は、発話ソース情報から自明な情報を削除して応答を生成するのみならず、特定の情報を置換したり、ユーザにとって自明でない情報を付与したりして、応答を生成することもできる。このように、応答生成装置１０は、コンテキスト情報を利用することによって、ユーザの状況に合わせて、柔軟に応答を生成することができる。
【００５１】
［１−２．第１の実施形態に係る応答生成処理の概要］
次に、図３を用いて、本開示の第１の実施形態に係る応答生成処理の概要を説明する。図３は、本開示の第１の実施形態に係る応答生成処理を説明するための図である。
【００５２】
応答生成装置１０は、ユーザが発話した場合、音声入力デバイスを介して、音声を取得する（ステップＳ０１）。また、応答生成装置１０は、カメラ等の入力デバイスを介して、ユーザの行動等を画像や動画として取得してもよい（ステップＳ０２）。また、応答生成装置１０は、触覚デバイスや加速度センサやジャイロセンサ等のセンサデバイスを介して、ユーザに触れられたことや、応答生成装置１０に動きを与えられたこと等の情報を取得してもよい（ステップＳ０３）。
【００５３】
応答生成装置１０は、音声を取得した場合、音声認識処理を実行する（ステップＳ０４）。例えば、応答生成装置１０は、取得した音声をテキスト化する。さらに、応答生成装置１０は、テキスト化された音声に対して発話意味理解処理（ＮＬＵ）を行い、発話意図（intent）、発話意図の対象となる属性情報（Entity）を推定する（ステップＳ０５）。続けて、応答生成装置１０は、推定した情報を対話制御処理に送る（ステップＳ０６）。
【００５４】
なお、応答生成装置１０は、画像を取得した場合、画像認識処理を行い（ステップＳ０７）、画像認識により得られた情報を対話制御処理に送る（ステップＳ０８）。また、応答生成装置１０は、音声や画像以外のセンシング情報を取得した場合、センサ認識処理を行い（ステップＳ０９）、センサ認識により得られた情報を対話制御処理に送る（ステップＳ１０）。
【００５５】
応答生成装置１０は、対話制御処理として、ＮＬＵから得られた発話意図と、ユーザ状況を示すコンテキスト情報に基づいて、ユーザへの応答の元となる情報を、各種アプリケーションや、外部サーバが提供するサービスから取得する（ステップＳ１１）。応答生成装置１０は、取得した情報に基づいて応答生成処理を開始する（ステップＳ１２）。
【００５６】
さらに、応答生成装置１０は、ユーザが登録したスケジュール等の共有知識や、ユーザプロファイル（ユーザの属性情報等）を保持した記憶部にアクセスし（ステップＳ１３）、応答生成処理に利用する情報を取得する（ステップＳ１４）。
【００５７】
また、応答生成装置１０は、音声や画像、センシング情報等を取得した際に得られたコンテキスト情報を取得する（ステップＳ１５、ステップＳ１６、ステップＳ１７）。応答生成装置１０は、アプリケーションやサービスから取得した情報、共有知識やユーザプロファイル、及び、コンテキスト情報を用いて、発話ソース情報を生成する。さらに、応答生成装置１０は、発話ソース情報からユーザにとって自明な情報を削除する等の処理を行い、実際にユーザに出力される応答を生成する。
【００５８】
応答生成装置１０は、生成した応答が音声に係るデータである場合、音声合成処理を行い（ステップＳ１８）、スピーカー等の音声出力デバイスを介して（ステップＳ１９）、ユーザに対して音声を出力する（ステップＳ２０）。
【００５９】
また、応答生成装置１０は、生成した応答が画像に係るデータである場合、表示画像処理を行い（ステップＳ２１）、ディスプレイ等の画像出力デバイスを介して（ステップＳ２２）、ユーザに対して画像を出力する（ステップＳ２３）。
【００６０】
なお、図３では、第１の実施形態に係る応答処理の概要を処理ブロック図として示しているが、これは概念的に処理の流れを示すものであり、必ずしも図３で例示した処理を順に行うことを要しない。例えば、応答生成処理は、対話制御に含まれる構成であってもよいし、アプリケーションやサービスにおける内部処理であってもよい。
【００６１】
［１−３．第１の実施形態に係る応答生成システムの構成］
次に、応答生成装置１０を含む応答生成システム１の構成について説明する。図４は、本開示の第１の実施形態に係る応答生成システム１の構成例を示す図である。
【００６２】
図４に示すように、応答生成システム１は、応答生成装置１０と外部サーバ２００とを含む。応答生成装置１０及び外部サーバ２００は、図４に図示するネットワークＮ（例えば、インターネット）を介して、有線又は無線により通信可能に接続される。なお、図４での図示は省略するが、応答生成システム１は、複数台の応答生成装置１０や外部サーバ２００を含んでもよい。
【００６３】
外部サーバ２００は、各種サービスを提供するサービスサーバである。例えば、外部サーバ２００は、応答生成装置１０の要求に従い、天気情報や交通情報等を応答生成装置１０に提供する。
【００６４】
応答生成装置１０は、本開示に係る応答生成処理を実行する情報処理端末である。図４に示すように、応答生成装置１０は、センサ２０と、入力部２１と、通信部２２と、記憶部３０と、取得部４０と、応答生成部５０と、出力部６０とを有する。
【００６５】
センサ２０は、各種情報を検知する。例えば、センサ２０は、ユーザが発話した音声を集音するマイクロフォンや、ユーザの行動を映像として取得するカメラを含む。
【００６６】
また、センサ２０は、ユーザが応答生成装置１０に触れたことを検知するタッチセンサや、加速度センサやジャイロセンサ等を含んでもよい。また、センサ２０は、応答生成装置１０の現在位置を検知するセンサを含んでもよい。例えば、センサ２０は、ＧＰＳ（Global  Positioning  System）衛星から送出される電波を受信し、受信した電波に基づいて応答生成装置１０の現在位置を示す位置情報（例えば、緯度及び経度）を検知してもよい。
【００６７】
また、センサ２０は、外部装置が発する電波を検知する電波センサや、電磁波を検知する電磁波センサ等を含んでもよい。また、センサ２０は、応答生成装置１０が置かれた環境を検知してもよい。具体的には、センサ２０は、応答生成装置１０の周囲の照度を検知する照度センサや、応答生成装置１０の周囲の湿度を検知する湿度センサや、応答生成装置１０の所在位置における磁場を検知する地磁気センサ等を含んでもよい。
【００６８】
入力部２１は、ユーザから各種操作を受け付けるためのデバイスである。例えば、入力部２１は、キーボードやマウス、タッチパネル等によって実現される。
【００６９】
通信部２２は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。通信部２２は、ネットワークＮと有線又は無線で接続され、ネットワークＮを介して、外部サーバ２００等との間で情報の送受信を行う。
【００７０】
記憶部３０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部３０は、ユーザ情報テーブル３１と、共有知識テーブル３２と、応答規則テーブル３３と、付与規則テーブル３４とを有する。以下、各データテーブルについて順に説明する。
【００７１】
ユーザ情報テーブル３１は、応答生成装置１０を利用するユーザに関する情報を記憶する。図５に、第１の実施形態に係るユーザ情報テーブル３１の一例を示す。図５は、本開示の第１の実施形態に係るユーザ情報テーブル３１の一例を示す図である。図５に示した例では、ユーザ情報テーブル３１は、「ユーザＩＤ」、「ユーザ属性情報」、「履歴情報」といった項目を有する。
【００７２】
「ユーザＩＤ」は、ユーザを識別する識別情報を示す。「ユーザ属性情報」は、応答生成装置１０の利用の際にユーザから登録される、ユーザの各種情報を示す。図５に示した例では、ユーザ属性情報の項目を「Ｆ０１」のように概念的に記載しているが、実際には、ユーザ属性情報には、ユーザの年齢や性別、居住地、家族構成等の属性情報（ユーザプロファイル）が含まれる。また、ユーザ属性情報には、例えば、ユーザに視覚障碍があること等、出力する情報の種別を選択するために要する情報が含まれてもよい。例えば、ユーザ属性情報に視覚障碍があることが登録されている場合、応答生成装置１０は、通常であれば画面に表示される応答の内容を、音声に変換して出力してもよい。
【００７３】
「履歴情報」は、ユーザの応答生成装置１０の利用履歴を示す。図５に示した例では、履歴情報の項目を「Ｇ０１」のように概念的に記載しているが、実際には、履歴情報には、ユーザが応答生成装置１０に質問した内容や、聞き返しの履歴や、出力された応答の履歴等の各種情報が含まれる。また、履歴情報には、ユーザを音声で識別するための声紋情報や波形情報等が含まれてもよい。
【００７４】
すなわち、図５に示した例では、ユーザＩＤが「Ｕ０１」で識別されるユーザは、ユーザ属性情報が「Ｆ０１」であり、履歴情報が「Ｇ０１」であることを示している。
【００７５】
次に、共有知識テーブル３２について説明する。共有知識テーブル３２は、ユーザが利用するアプリケーションや、外部サーバ２００から提供されるサービスに登録された情報であって、アプリケーションやサービスと、応答生成装置１０とが共有する情報を記憶する。
【００７６】
図６に、第１の実施形態に係る共有知識テーブル３２の一例を示す。図６は、本開示の第１の実施形態に係る共有知識テーブル３２の一例を示す図である。図６に示した例では、共有知識テーブル３２は、「知識ＩＤ」、「種別」、「ユーザＩＤ」、「内容」といった項目を有する。
【００７７】
「知識ＩＤ」は、共有知識を識別する識別情報を示す。「種別」は、共有知識の種別を示す。なお、種別は、ユーザが情報を登録したアプリケーションやサービス名であってもよい。
【００７８】
「ユーザＩＤ」は、情報を登録したユーザを識別する識別情報を示す。「内容」は、ユーザがサービス等に登録した共有知識の具体的な内容を示す。
【００７９】
すなわち、図６に示した例では、知識ＩＤ「Ｊ０１」で識別される共有知識は、種別が「スケジュール」であり、共有知識を登録したユーザはユーザＩＤ「Ｕ０１」で識別されるユーザであり、その内容は、「スケジュール登録（イベント：飲み会、場所：横浜、日時：２０１８／９／１７／１８：００、・・・）」であることを示している。
【００８０】
次に、応答規則テーブル３３について説明する。応答規則テーブル３３は、応答生成装置１０への入力情報と、入力情報が検知された場合に応答生成装置１０が出力する内容とを対応付けて記憶する。
【００８１】
図７に、第１の実施形態に係る応答規則テーブル３３の一例を示す。図７は、本開示の第１の実施形態に係る応答規則テーブル３３の一例を示す図である。図７に示した例では、応答規則テーブル３３は、「入力情報」、「応答」、「接続するサービス」、「内容」といった項目を有する。
【００８２】
「入力情報」は、応答生成装置１０が応答を生成する契機となる情報を示す。「応答」は、入力情報を取得した際に応答生成装置１０が生成する応答の種別を示す。
【００８３】
例えば、入力情報「検知（朝）」は、朝の時間帯にはじめて応答生成装置１０がカメラ等を介してユーザを検知したことを示す。また、応答「あいさつ」は、応答生成装置１０があいさつに関する出力を生成することを示す。かかる応答規則によれば、例えばユーザが起床し、その日はじめて応答生成装置１０に検知された場合に、応答生成装置１０は、ユーザに対して自律的にあいさつを行う。
【００８４】
「接続するサービス」は、応答生成装置１０が応答を生成するために接続する外部サービスやアプリケーション等の名称を示す。なお、応答生成装置１０が応答を生成するために外部サービスに接続する必要のない場合、「接続するサービス」の項目は、空欄となる。また、図７に示した例では、接続するサービスの項目を「Ｌ０１」のように概念的に記載しているが、実際には、接続するサービスとは、天気情報を提供するサービスや、交通情報を提供するサービス等の具体的な名称、もしくは接続先（具体的なアドレス等）が記憶される。
【００８５】
「内容」は、応答生成装置１０によって生成される応答の具体的な内容を示す。例えば、内容は、あいさつの具体的な発話内容等である。
【００８６】
すなわち、図７に示した例では、入力情報「検知（朝）」が入力された場合、応答生成装置１０は、応答として「あいさつ」を行うことが設定されており、その出力内容は「おはようございます。」という文言であることを示している。また、他の例として、入力情報「検知（電源オフ）」が入力された場合、すなわち、応答生成装置１０の電源がオフになった場合、応答生成装置１０は、応答として「終了通知」を行うことが設定されており、その出力内容は「終了します。」という文言であることを示している。また、他の例として、入力情報「行動予測（外出）」が入力された場合、すなわち、ユーザが外出しようとしていることを応答生成装置１０が予測した場合、応答生成装置１０は、応答として「気象情報」を行うことが設定されており、サービス「Ｌ０１」や「Ｌ０２」等に接続し、「今日の東京の天気は・・・」といったような通知を行うことを示している。また、他の例として、入力情報「受信（通知）」が入力された場合、すなわち、応答生成装置１０がメール等を受信した場合、応答生成装置１０は、応答として「音声」での通知を行うことが設定されており、サービス「Ｌ０３」等（メールサーバ等）に接続し、「メールを受信しました。・・・」といったような通知を行うことを示している。
【００８７】
なお、上記のような応答規則は、予め応答生成装置１０に設定されていてもよいし、ユーザが任意に設定してもよい。
【００８８】
次に、付与規則テーブル３４について説明する。付与規則テーブル３４は、発話ソース情報等の仮応答に対して応答生成装置１０が情報を付与して応答を生成する場合の、付与に関する規則を記憶する。
【００８９】
図８に、第１の実施形態に係る付与規則テーブル３４の一例を示す。図８は、本開示の第１の実施形態に係る付与規則テーブル３４の一例を示す図である。図８に示した例では、付与規則テーブル３４は、「ユーザＩＤ」、「付与するコンテキスト情報の種別」、「属性適合タグ」、「ユーザ状況タグ」、「履歴情報」といった項目を有する。
【００９０】
「ユーザＩＤ」は、情報が付与される対象となるユーザの識別情報を示す。「付与するコンテキスト情報の種別」は、発話ソース情報に対して付与されるコンテキスト情報の種別を示す。
【００９１】
「属性適合タグ」は、応答生成装置１０が付与するコンテキスト情報を決定する際に利用される情報であって、発話ソース情報に含まれる要素に対応付けられた属性を示す。詳細は後述するが、応答生成装置１０は、発話ソース情報のうち、「属性適合タグ」に含まれる属性を有する要素の数に応じて、付与する情報を決定する。
【００９２】
「ユーザ状況タグ」は、応答が生成される対象となるユーザの状況を示す情報である。詳細は後述するが、応答生成装置１０は、ユーザに対して応答を生成する状況において、当該ユーザが「ユーザ状況タグ」に含まれる要素に適合する数に応じて、付与する情報を決定する。
【００９３】
「履歴情報」は、コンテキスト情報が付与されようとする状況において、過去にユーザが発話した内容の履歴を示す。具体的には、履歴情報とは、コンテキスト情報が付与された状況において、ユーザが過去に発話した意図（intent）の種別と、その発話が行われた回数を示す。詳細は後述するが、応答生成装置１０は、ユーザに対して応答を生成する状況において、当該ユーザが「履歴情報」に含まれる発話を過去に何度行ったかに応じて、付与する情報を決定する。
【００９４】
すなわち、図８に示した例では、ユーザＩＤ「Ｕ０１」で識別されるユーザに対して生成される応答のうち、コンテキスト情報の種別「今日の日付」が付与される判断基準の一つは、例えば、発話ソース情報に属性適合タグ「date」や、「appointment」や、「schedule」がいくつ含まれているか、であることを示している。また、コンテキスト情報の種別「今日の日付」が付与される判断基準の他の一つは、例えば、ユーザＩＤ「Ｕ０１」で識別されるユーザの状況がユーザ状況タグ「祝日」や「記念日」にいくつ該当するか、であることを示している。また、図８に示した例では、コンテキスト情報の種別「今日の日付」が付与された場合の対話において、ユーザＩＤ「Ｕ０１」で識別されるユーザは、「CheckTime」という意図を示す発話を過去に「３回」行ったことを示している。
【００９５】
図４に戻って説明を続ける。取得部４０及び応答生成部５０は、応答生成装置１０が実行する情報処理を実行する処理部である。取得部４０及び応答生成部５０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）、ＧＰＵ（Graphics  Processing  Unit）等によって、応答生成装置１０内部に記憶されたプログラム（例えば、本開示に係る応答生成プログラム）がＲＡＭ（Random  Access  Memory）等を作業領域として実行されることにより実現される。また、取得部４０及び応答生成部５０は、コントローラ（controller）であり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されてもよい。
【００９６】
取得部４０は、各種情報を取得する処理部である。図４に示すように、取得部４０は、検知部４１と、登録部４２と、受信部４３とを含む。
【００９７】
検知部４１は、センサ２０を介して、各種情報を検知する。例えば、検知部４１は、センサ２０の一例であるマイクロフォンを介して、ユーザが発話した音声を検知する。また、検知部４１は、カメラや加速度センサ、赤外線センサ等を介して、ユーザの顔情報、ユーザの身体の向き、傾き、動きや移動速度等、ユーザの動作に関する各種情報を検知してもよい。すなわち、検知部４１は、センサ２０を介して、位置情報、加速度、温度、重力、回転（角速度）、照度、地磁気、圧力、近接、湿度、回転ベクトルといった、種々の物理量をコンテキスト情報として検知してもよい。
【００９８】
登録部４２は、入力部２１を介して、ユーザからの登録を受け付ける。例えば、登録部４２は、タッチパネルやキーボードを介して、ユーザプロファイル（属性情報）の登録をユーザから受け付ける。
【００９９】
また、登録部４２は、ユーザのスケジュール等の登録を受け付けてもよい。例えば、登録部４２は、応答生成装置１０に組み込まれたアプリケーション機能を利用して、スケジュール登録をユーザから受け付ける。
【０１００】
受信部４３は、各種情報を受信する。例えば、受信部４３は、ユーザの属性情報やスケジュール情報が、応答生成装置１０ではなく外部サービス等に登録されている場合、外部サーバ２００から、ユーザの属性情報やスケジュール等を受信する。
【０１０１】
また、受信部４３は、通信に関するコンテキスト情報を受信してもよい。例えば、受信部４３は、応答生成装置１０と各種機器（ネットワーク上のサーバや、自宅内の家電等）との接続状況をコンテキスト情報として受信してもよい。各種機器との接続状況とは、例えば、相互通信が確立しているか否かを示す情報や、通信に利用している通信規格等である。
【０１０２】
取得部４０は、上記各処理部を制御することにより、各種情報を取得する。例えば、取得部４０は、ユーザに対する応答を生成する契機となる入力情報、及び、ユーザの状況を示す情報であるコンテキスト情報を取得する。
【０１０３】
例えば、取得部４０は、入力情報として、ユーザが発した音声情報を取得する。具体的には、取得部４０は、「天気おしえて」などのユーザの発話を取得し、当該発話に含まれる何らかの意図を入力情報として取得する。
【０１０４】
あるいは、取得部４０は、入力情報として、ユーザの行動を検知した検知情報を取得してもよい。検知情報とは、検知部４１がセンサ２０を介して検知した情報である。具体的には、検知情報とは、ユーザが応答生成装置１０のカメラを見たことを示す情報や、ユーザが自宅の部屋から玄関へ移動したことを示す情報等、応答生成装置１０が応答を生成する契機となりうるユーザの行動である。
【０１０５】
また、取得部４０は、コンテキスト情報を取得する。コンテキスト情報とは、応答生成装置１０が応答を生成する際の各種状況を示す情報である。なお、コンテキスト情報には、ユーザが応答生成装置１０を見たことを示す行動情報等の「ユーザの状況を示す情報」が含まれるため、コンテキスト情報は、入力情報にもなりうる。
【０１０６】
例えば、取得部４０は、コンテキスト情報として、ユーザが予め登録したスケジュール情報を取得する。具体的には、取得部４０は、ユーザが発話した時刻から所定期間以内（例えば１日以内等）の予定時刻で登録されたスケジュール情報を取得する。例えば、取得部４０は、図２で示したような、ユーザが移動しようとする外出先（場所）の情報や、時刻や、目的等が登録された情報Ｃ０４を取得する。
【０１０７】
また、取得部４０は、コンテキスト情報として、ユーザの行動から推定される情報であって、ユーザの将来の行動予測を示した情報である行動予測情報を取得してもよい。具体的には、取得部４０は、ユーザが自宅の部屋から玄関へ移動したことを示す行動から推定される情報として、「ユーザが外出しようとしている」といった行動予測情報を取得する。例えば、取得部４０は、「ユーザが外出しようとしている」といった行動予測情報を取得した場合、当該情報に基づいて、「外出（属性：situation）」といったタグ付けされたコンテキスト情報を取得する。
【０１０８】
また、取得部４０は、コンテキスト情報として、ユーザによって予め登録されたユーザの属性情報を取得してもよい。例えば、取得部４０は、ユーザの性別や年齢、居住地等の情報を取得する。また、取得部４０は、属性情報として、ユーザが視覚障碍を有すること等、ユーザの特徴を示す情報を取得してもよい。また、取得部４０は、応答生成装置１０の利用履歴等に基づいて、ユーザの趣味嗜好等の情報をコンテキスト情報として取得してもよい。
【０１０９】
なお、上記で示したコンテキスト情報は一例であり、ユーザや応答生成装置１０が置かれた状況を示すあらゆる情報は、コンテキスト情報となりうる。例えば、取得部４０は、センサ２０を介して取得される、応答生成装置１０の位置情報、加速度、温度、重力、回転（角速度）、照度、地磁気、圧力、近接、湿度、回転ベクトルといった、種々の物理量をコンテキスト情報として取得してもよい。また、取得部４０は、内蔵する通信機能を利用して、各種装置との接続状況（例えば、通信の確立に関する情報や、利用している通信規格）などを、コンテキスト情報として取得してもよい。
【０１１０】
また、コンテキスト情報には、ユーザと他のユーザや、ユーザと応答生成装置１０とが交わしている対話に関する情報が含まれてもよい。例えば、コンテキスト情報には、ユーザが交わしている対話の文脈を示す対話文脈情報、対話のドメイン（天気、ニュース、電車運行情報等）、ユーザ発話の意図や属性情報等が含まれてもよい。
【０１１１】
また、コンテキスト情報には、対話が行われている際の日時情報が含まれてもよい。具体的には、日時情報とは、日付、時間、曜日、祝日特性（クリスマス等）、時間帯（朝、昼、夜、夜中）等の情報である。
【０１１２】
また、コンテキスト情報には、ユーザが所在する位置や状況等の情報が含まれてもよい。具体的には、ユーザが所在する位置を示す情報とは、ユーザが自宅内のリビングにいるか、寝室にいるか、子供部屋にいるかといった、ユーザの所在地を示した情報である。あるいは、ユーザが所在する位置を示す情報には、ユーザの外出先を示す具体的な場所の情報が含まれてもよい。また、ユーザの外出先を示す情報には、ユーザが電車に乗っているか、自動車を運転しているか、あるいは、学校や会社に出かけていること等を示す情報が含まれてもよい。取得部４０は、例えば、ユーザが所有するスマートフォン等の携帯端末と相互に通信を行うことにより、これらの情報を取得する。
【０１１３】
また、コンテキスト情報には、ユーザの行動から推定される状況や感情に関する情報が含まれてもよい。例えば、取得部４０は、ユーザの移動速度が通常よりも早いことを検知した場合、「ユーザが急いでいる」というコンテキスト情報を取得する。
【０１１４】
また、取得部４０は、ユーザが行っている特定の家事の情報や、視聴しているテレビ番組の内容や、何を食べているかを示す情報や、特定の人物と会話をしていること等、ユーザの状況を示す種々の情報をコンテキスト情報として取得してもよい。
【０１１５】
また、取得部４０は、自宅内に置かれた家電（ＩｏＴ機器等）との相互通信により、どの家電がアクティブであるか否か（例えば、電源がオンであるかオフであるか）、どの家電がどのような処理を実行しているか、といった情報を取得してもよい。
【０１１６】
また、取得部４０は、外部サービスとの相互通信により、ユーザの生活圏における交通状況や気象情報等をコンテキスト情報として取得してもよい。取得部４０は、取得した各情報をユーザ情報テーブル３１や共有知識テーブル３２に格納する。また、取得部４０は、ユーザ情報テーブル３１や共有知識テーブル３２を参照し、処理に要する情報を適宜取得してもよい。
【０１１７】
続いて、応答生成部５０について説明する。図４に示すように、応答生成部５０は、意味理解部５１と、対話制御部５２と、生成部５３と、出力制御部５４とを含む。応答生成部５０は、上記各処理部を制御することにより、取得部４０によって入力情報が取得されたことを契機として、取得部４０によって取得されたコンテキスト情報に基づいて、入力情報に対応する応答を生成する。
【０１１８】
意味理解部５１は、取得部４０によって取得された情報の意味理解処理を行う。具体的には、意味理解部５１は、取得部４０によって音声情報等について、自動音声認識（ＡＳＲ）処理や自然言語理解（ＮＬＵ）処理を行う。意味理解部５１は、ＡＳＲやＮＬＵを経て、取得した音声を形態素に分解したり、各形態素がどのような意図や属性を有する要素であるかを判定したりする。
【０１１９】
なお、意味理解部５１は、要素に含まれる文字列等からユーザの意図が解析不能であった場合、その旨を生成部５３に渡してもよい。例えば、意味理解部５１は、解析の結果、ユーザの発話から推定することのできない情報が含まれている場合、その内容を生成部５３に渡す。この場合、生成部５３は、不明な情報について、ユーザにもう一度正確に発話してもらうことを要求するような応答を生成してもよい。
【０１２０】
対話制御部５２は、意味理解部５１によって解析された要素に基づいて、ユーザとの対話処理を制御する。例えば、対話制御部５２は、意味理解部５１によって解析された要素や、取得部４０によって取得された画像情報や各種センサ情報等から、入力情報となりうる要素を抽出する。そして、対話制御部５２は、入力情報に対応した応答を生成するよう、生成部５３を制御する。また、対話制御部５２は、例えば応答規則テーブル３３を参照して入力情報に応じた応答規則に基づいて、外部サーバ２００にアクセスし、外部サービスに関する情報を取得したり、外部サーバ２００との相互通信を確立する処理を行ったりしてもよい。
【０１２１】
生成部５３は、対話制御部５２から発話生成指示を受信し、指示に対応した応答を生成する。上述のように、生成部５３は、入力情報に対応する仮応答を生成し、さらにコンテキスト情報に基づいて、仮応答に含まれる要素を削除したり、置換したり、仮応答に要素を付与したりして、実際にユーザに出力される応答を生成する。なお、生成部５３は、入力情報が、いわゆる聞き返しに関するものである場合、既存の応答に基づいて、新たな応答を生成する。聞き返しとは、応答生成装置１０からユーザに出力した応答に対するユーザの反応をいう。この場合、生成部５３は、後述するような仮応答の生成処理等を行わず、既存の情報に基づいて新たな応答を生成する。
【０１２２】
生成部５３は、例えば、入力情報が新たなユーザの発話である場合や、ユーザが出かけようとしているという状況を示すコンテキスト情報に基づいた自律的な情報提示の場合は、聞き返しではなく、通常の発話生成指示と判定する。この場合、生成部５３は、例えば応答規則テーブル３３を参照し、入力情報に応じた応答規則に基づいて、仮応答を生成する。
【０１２３】
具体的には、生成部５３は、天気情報を尋ねる意図を示した「CheckWhether」のタグが付与された要素を入力情報として取得した場合、ユーザの意図に沿った天気情報を含む仮応答を生成する。このとき、生成部５３は、ユーザの発話に含まれる各種コンテキスト情報に基づいて、仮応答を生成する。例えば、生成部５３は、図１に示したように、ユーザが「今日の横浜の天気おしえて」といった発話を行った場合、「横浜」の「今日」の天気情報を含む仮応答を生成する。
【０１２４】
なお、生成部５３は、自ら仮応答を生成せず、外部サーバ２００によって生成された仮応答（発話ソース情報）を取得してもよい。この場合、生成部５３は、本開示に係る応答生成処理を行うための前処理として、取得した発話ソース情報を各要素に分解する処理を行う。
【０１２５】
この点について、図９及び図１０を用いて説明する。図９は、本開示の第１の実施形態に係る生成処理の一例を示す図（１）である。図９では、天気情報を提供する外部サーバ２００から取得した発話ソース情報Ｅ１１が、文章化されている場合の例を示す。
【０１２６】
図９の例では、応答生成装置１０から「今日」の「横浜」の天気に関する情報の要求を受けた外部サーバ２００は、当該要求に応答して、「今日の横浜は夕方から雨なのでお出かけ時には傘がいります」といった、文章化された発話ソース情報Ｅ１１を応答生成装置１０に返す。
【０１２７】
この場合、生成部５３は、発話ソース情報Ｅ１１に対して自然言語処理を行い、発話ソース情報Ｅ１１の文章を文節単位に分割し、各文節の意味概念（属性）を自然言語処理から取得する（ステップＳ３１）。例えば、生成部５３は、応答生成装置１０内部もしくは外部サーバ２００が備える単語意味概念の辞書データ等を参照して、文節ごとの属性を判定する。
【０１２８】
これにより、生成部５３は、各要素（文節）の文字列（例えば「今日の」）と、属性（（例えば「属性：date」）との組み合わせからなる発話ソース情報Ｅ１３を取得することができる。
【０１２９】
また、外部サーバ２００の処理によっては、文章化されていない発話ソース情報が生成される場合もある。この点について、図１０を用いて説明する。図１０は、本開示の第１の実施形態に係る生成処理の一例を示す図（２）である。図１０では、天気情報を提供する外部サーバ２００から取得した発話ソース情報Ｅ１２が、文章化されていない場合の例を示す。例えば、発話ソース情報Ｅ１２は、ＪＳＯＮ（JavaScript（登録商標）  Object  Notation）形式で表現される。
【０１３０】
この場合、生成部５３は、既存の発話ソース情報Ｅ１２に対応付けられている情報（属性情報等）を維持しつつ、発話ソース情報Ｅ１２に含まれる各要素を利用して文章を生成する（ステップＳ３２）。なお、この文章化にあたって、生成部５３は、元の情報において、各文節がどのような属性（「属性：date」等））から生成されたものであるかを保持しておいてもよい。
【０１３１】
これにより、生成部５３は、図９と同じように、各要素（文節）の文字列と属性との組み合わせからなる発話ソース情報Ｅ１３を取得することができる。
【０１３２】
生成部５３は、得られた仮応答に基づいて、実際にユーザに出力される応答を生成する。一例として、生成部５３は、入力情報に対応して仮に生成される応答である仮応答のうち、コンテキスト情報と重複する要素を削除して、入力情報に対応する応答を生成する。
【０１３３】
例えば、生成部５３は、図１及び図２に示したように、仮応答である発話ソース情報と、ユーザが発話した内容やスケジュール等の共有知識等とにおいて、重複する要素が存在する場合、重複する要素を削除して、入力情報に対応する応答を生成する。
【０１３４】
このとき、生成部５３は、生成した応答に対して、仮応答から削除した要素に関する反応をユーザから受け付けた場合、削除した要素に基づいて、当該反応に対応する第２の応答を生成してもよい。
【０１３５】
この点について、図１１を用いて説明する。図１１は、本開示の第１の実施形態に係る生成処理の一例を示す図（３）である。図１１の例は、図２で示した応答Ｅ０４を出力した応答生成装置１０に対して、ユーザがさらに質問を発話した状況を示している。
【０１３６】
図１１に示すように、応答生成装置１０は、発話ソース情報Ｅ０３から、[date]属性を有する要素と、[place]属性を有する要素と、[time]属性を有する要素と、[situation]属性を有する要素とを削除して、応答Ｅ０４を生成する。このとき、応答生成装置１０は、削除した情報を記憶部３０等に内部保持しておく。例えば、応答生成装置１０は、一連の発話（例えば「セッション」等と称される）が終了したと判定するタイミングに至るまで、削除した情報を内部保持する。
【０１３７】
その後、応答生成装置１０は、ユーザから「どこのこと？」という内容の音声Ａ２１を受け付ける。すなわち、応答生成装置１０は、いわゆる聞き返しをユーザから受け付ける。応答生成装置１０は、音声Ａ２１に対して自然言語処理を行い、音声Ａ２１が「場所」を尋ねる意図を有する発話であることを認識する。
【０１３８】
この場合、応答生成装置１０は、保持していた[place]属性を有する要素を呼び出し、ユーザに対して出力する応答を生成する。具体的には、応答生成装置１０は、応答Ｅ０４の天気情報に対応する場所である「横浜」を出力するための文章を生成し、「横浜です」という応答Ｅ３１を出力する。
【０１３９】
さらに、その後、応答生成装置１０は、ユーザから「いつから？」といった内容の音声Ａ２２を受け付ける。応答生成装置１０は、音声Ａ２２に対して自然言語処理を行い、音声Ａ２２が「日付」や「時間」を尋ねる意図を有する発話であることを認識する。
【０１４０】
この場合、応答生成装置１０は、保持していた[date]属性を有する要素、及び、[time]属性を有する要素を呼び出し、ユーザに対して出力する応答を生成する。具体的には、応答生成装置１０は、応答Ｅ０４の天気情報に対応する日付及び時間である「今日」及び「夕方」を出力するための文章を生成し、「今日の夕方からです」という応答Ｅ３２を出力する。
【０１４１】
このように、応答生成装置１０は、発話ソース情報から削除した情報については、一連の対話が終了したと判定するまでの間、内部に保持しておく。そして、応答生成装置１０は、ユーザから質問を受け付けた場合、保持した情報に基づいて新たな応答を生成する。これにより、応答生成装置１０は、簡潔な応答を生成しつつ、ユーザから質問を受けた場合には必要な情報を返すという、より柔軟なやりとりをユーザと行うことができる。なお、一連の対話（セッション）は、例えば、入力情報を応答生成装置１０が検出したり、応答生成装置１０が応答を出力したりした後に、所定時間（例えば１分間や５分間等）に渡って対話が途切れた場合に終了する。
【０１４２】
また、生成部５３は、仮応答から削除した要素に関する反応をユーザから受け付けた回数に応じて、仮応答から削除する要素を判定してもよい。
【０１４３】
例えば、生成部５３は、応答を生成した回数に対して、ユーザから「時間」の属性を聞き返される確率が高いと判定したとする。この場合、生成部５３は、次回からの応答生成処理において、仮に「時間」の属性を有する要素が自明なもの（重複したもの）であったとしても、「時間」の属性を有する要素を削除しないようにしてもよい。これにより、生成部５３は、ユーザがよく聞き返す傾向にある情報については、最初から情報を削除しないで応答を生成することができるので、ユーザに最適化された応答を生成することができる。
【０１４４】
続いて、生成部５３が、仮応答に含まれる情報を置換させる例について説明する。例えば、生成部５３は、入力情報に対応して仮に生成される応答である仮応答を、コンテキスト情報に基づいて異なる表現に変更することにより、入力情報に対応する応答を生成する。
【０１４５】
具体的には、生成部５３は、仮応答に含まれる具体的な数値もしくは時刻を抽象的な表現に変更することにより、入力情報に対応する応答を生成する。
【０１４６】
より具体的には、生成部５３は、コンテキスト情報として、入力情報が取得された時点のユーザの状況を示した情報が取得された場合、ユーザの状況を示した情報に基づき、仮応答に含まれる具体的な数値もしくは時刻を置き換える抽象的な表現を決定する。
【０１４７】
抽象的な表現とは、冗長な発話ソース情報を簡潔に表現するための一例である。例えば、生成部５３は、発話に時間がかかると想定される具体的な数値や、固有名詞や、カタカナ語等の要素（文節）を、状況に合わせた指示代名詞や形容詞等に置換する。
【０１４８】
例えば、生成部５３は、発話ソース情報に数値が含まれる場合、数値を四捨五入したり、「およそ」や「だいたい」、「約」といった抽象的な表現を用いたりして、発話する内容を簡潔なものに置換してもよい。
【０１４９】
また、生成部５３は、ある長い名称を有する名詞等で、直前のユーザ発話や応答に登場した名詞については、より簡潔な表現に置換してもよい。具体的には、生成部５３は、ある長い路線名を有する電車で、直前のユーザ発話や応答に登場した電車であれば、「この電車」や「あの電車」など、指示代名詞を用いた表現に置換してもよい。
【０１５０】
また、生成部５３は、出力する情報の種別を置換することで、冗長な表現を簡潔に表現する応答を生成してもよい。例えば、生成部５３は、応答として、「明日の天気は晴れです」といった天気情報を音声出力するかわりに、太陽を表示した画像を出力してもよい。また、生成部５３は、応答として、冗長な人物名を音声出力するかわりに、当該人物の画像を出力するようにしてもよい。この場合、生成部５３は、人物名を検索するよう外部サーバ２００に要求し、外部サーバ２００から取得した画像を自装置のディスプレイ等に出力してもよい。
【０１５１】
上記処理の具体例について、図１２を用いて説明する。図１２は、本開示の第１の実施形態に係る生成処理の一例を示す図（４）である。
【０１５２】
図１２に示す例では、応答生成装置１０は、ユーザが出かけようとしているというコンテキストを含む情報Ｃ２１を取得する。情報Ｃ２１は、ユーザが出かけようとしているというユーザ状況における日付（属性：date）や状況（属性：situation）等のコンテキスト情報を含む。
【０１５３】
また、応答生成装置１０は、ユーザが出かけようとしているという行動予測情報を含む情報Ｃ２２を取得する。また、応答生成装置１０は、ユーザが出かけようとしているという行動予測情報を入力情報として、交通情報（路線情報）を自律的に応答する、という規則が設定されているものとする。
【０１５４】
この場合、応答生成装置１０は、情報Ｃ２２に含まれる行動予測情報を入力情報と、情報Ｃ２１に含まれるユーザ状況等のコンテキスト情報とに基づいて、仮応答となる発話ソース情報Ｅ４１を生成する。例えば、応答生成装置１０は、ユーザが出かけようとする日付や時間、通常ユーザが利用する路線情報等を外部サーバ２００に送信し、外部サーバ２００からの返信に基づいて、発話ソース情報Ｅ４１を生成する。
【０１５５】
図１２に示すように、発話ソース情報Ｅ４１は、「ＸＸＸラインは（属性：routeTrain）」と、「１時間１５分から１時間３５分の間で（属性：delayTimeRange）」と、「遅延しています（属性：situation）」という要素を含む。
【０１５６】
この場合、応答生成装置１０は、発話ソース情報Ｅ４１のうち、「ＸＸＸライン」というユーザにとって自明な情報を「この電車」に置換する。また、応答生成装置１０は、「１時間１５分から１時間３５分の間で」といった冗長な表現を、「約１時間半」といった、抽象的な表現に置換する。
【０１５７】
このようにして、応答生成装置１０は、「この電車は約１時間半遅延しています」といった、発話ソース情報Ｅ４１と比較して簡潔な表現となった応答Ｅ４２を生成する。これにより、応答生成装置１０は、伝達する情報の質を低下させず、かつ、簡潔な表現の応答を生成することができる。
【０１５８】
また、応答生成装置１０は、置換した情報について、音声とは異なる種別の情報を出力して補完するようにしてもよい。一例として、応答生成装置１０は、応答Ｅ４３のような画像を生成する。応答Ｅ４３には、発話ソース情報Ｅ４１を置換する前の情報である、具体的な時間の情報や、電車の路線名等が表示される。このように、応答生成装置１０は、置換した情報を補完するような応答を別途生成してもよい。これにより、応答生成装置１０は、より正確な情報を欲するユーザと、簡潔な応答を出力させたいユーザとの双方の要望に応えるような、柔軟な応答出力処理を行うことができる。また、応答生成装置１０は、抽象的な情報に置換した情報について、「詳しい時間は？」等、ユーザから聞き返しを受け付けた場合、置換する前の具体的な情報を出力するようにしてもよい。
【０１５９】
なお、図１２で示した例は一例であり、生成部５３は、アクセス可能な辞書データやコーパス（corpus）等を参照して、種々の抽象的な表現を適宜採用してもよい。抽象的な表現の例としては、例えば、「２９８０円」等の端数の数値を「約３０００円」と表現したり、緯度経度等の数値を「ＸＸＸ駅の付近」のように表現したり、所定閾値を下回る気温を「肌寒い」のように表現したりすることが挙げられる。
【０１６０】
続いて、生成部５３が、仮応答に情報を付与する例について説明する。例えば、生成部５３は、入力情報に対応して仮に生成される応答である仮応答に、コンテキスト情報に含まれる要素を付加して、入力情報に対応する応答を生成する。
【０１６１】
具体的には、生成部５３は、コンテキスト情報に含まれる要素とユーザとの適合度を算出し、算出した適合度に基づいて仮応答に付加する要素を決定して、入力情報に対応する応答を生成する。
【０１６２】
上記処理の具体例について、図１３乃至図１６を用いて説明する。図１３は、コンテキスト情報を付与して応答を生成する処理の一例を説明するための図（１）である。
【０１６３】
図１３に示す例では、応答生成装置１０は、付与規則テーブル３４を参照し、発話ソース情報に対して、付与するコンテキスト情報の種別を決定する。具体的には、応答生成装置１０は、発話ソース情報Ｅ５１及びユーザの属性情報等のコンテキスト情報である情報Ｃ３１が含む情報と、付与規則テーブル３４に設定された情報とを照らし、付与しようとするコンテキスト情報の適合度を算出する。そして、応答生成装置１０は、算出した適合度に基づいて、コンテキスト情報を付与する。
【０１６４】
図１３では、応答生成装置１０が、「１０時に（属性：time）」、「待ち合わせの（属性：appointment）」、「予定があります（属性：schedule）」の各要素を有する発話ソース情報Ｅ５１を生成したものとする。また、応答生成装置１０は、応答を出力する対象となるユーザが、「視覚障碍者」であるというコンテキストを示す情報Ｃ３１を取得する。
【０１６５】
このとき、応答生成装置１０は、発話ソース情報Ｅ５１が含む各要素の属性情報と、コンテキスト情報「視覚障碍」とが、付与規則テーブル３４においてどのくらい適合するかを参照する。例えば、付与規則テーブル３４において、「付与するコンテキスト情報の種別」が「今日の日付」である列では、「属性適合タグ」において適合する情報が「２つ」ある。この場合、応答生成装置１０は、付与するコンテキスト情報「今日の日付」の適合度を「２」と算出する。
【０１６６】
同様に、「付与するコンテキスト情報の種別」が「現在時刻」である列では、「属性適合タグ」において適合する情報が「３つ」あり、かつ、「ユーザ状況タグ」において適合する情報が「１つ」ある。この場合、応答生成装置１０は、付与するコンテキスト情報「現在時刻」の適合度を「４」と算出する。同様にして、応答生成装置１０は、付与規則テーブル３４に記憶されている各々の「付与するコンテキスト情報の種別」について、適合度を算出する。
【０１６７】
上記の算出処理の結果、応答生成装置１０は、最も適合度が高く算出された、付与するコンテキスト情報「現在時刻」を抽出する（ステップＳ４１）。そして、応答生成装置１０は、発話ソース情報Ｅ５１に、さらに「現在時刻」を示す要素を付与した応答Ｅ５２を生成する。具体的には、応答Ｅ５２は、「１０時に待ち合わせの予定があります。現在は８時です。」といった、ユーザに提示する情報に加えて、現在時刻が付与される。
【０１６８】
これにより、応答生成装置１０は、視覚障碍者等、現在時刻を視認で確認しにくいユーザに対して、本来出力される情報に現在時刻を伝えた応答を生成することができるので、よりユーザにとって親切な応答を提示することができる。
【０１６９】
なお、図１３の例では、応答生成装置１０は、最も適合度の高い一つのコンテキスト情報を付与したが、さらに多くのコンテキスト情報を付与してもよい。
【０１７０】
このように、応答生成装置１０は、仮応答に対して、ユーザが認知していないが、有用なコンテキスト情報を付与して応答を生成することができる。また、応答生成装置１０は、仮応答やユーザの状況等の条件に応じて、付与するコンテキスト情報をフィルタリングすることで、当該ユーザや状況に応じた適切なコンテキスト情報を付与することができる。
【０１７１】
上記の処理の他の例について、図１４を用いて説明する。図１４は、コンテキスト情報を付与して応答を生成する処理の一例を説明するための図（２）である。
【０１７２】
図１４に示す例では、応答生成装置１０は、図１３と同様、付与規則テーブル３４を参照し、発話ソース情報に対して、付与するコンテキスト情報の種別を決定する。具体的には、応答生成装置１０は、発話ソース情報Ｅ５３及びユーザの属性情報等のコンテキスト情報である情報Ｃ３２が含む情報と、付与規則テーブル３４に設定された情報とを照らし、付与しようとするコンテキスト情報の適合度を算出する。そして、応答生成装置１０は、算出した適合度に基づいて、コンテキスト情報を付与する。
【０１７３】
図１４では、応答生成装置１０が、「○○さんから（属性：sender）」、「新着メッセージです（属性：messageNotification）」、「メッセージ（属性：message）」、「読み上げますか（属性：readOut）」の各要素を有する発話ソース情報Ｅ５３を生成したものとする。また、応答生成装置１０は、応答を出力する対象となるユーザが、「視覚障碍者」であるというコンテキストを示す情報Ｃ３２を取得する。
【０１７４】
このとき、応答生成装置１０は、発話ソース情報Ｅ５３が含む各要素の属性情報と、コンテキスト情報「視覚障碍」とが、付与規則テーブル３４においてどのくらい適合するかを参照する。例えば、付与規則テーブル３４において、「付与するコンテキスト情報の種別」が「現在時刻」である列では、「属性適合タグ」において適合する情報が「０」であり、かつ、「ユーザ状況タグ」において適合する情報が「１つ」ある。この場合、応答生成装置１０は、付与するコンテキスト情報「現在時刻」の適合度を「１」と算出する。同様に、「付与するコンテキスト情報の種別」が「周辺にいる人」である列では、「属性適合タグ」において適合する情報が「１」であり、かつ、「ユーザ状況タグ」において適合する情報が「１つ」ある。この場合、応答生成装置１０は、付与するコンテキスト情報「現在時刻」の適合度を「２」と算出する。同様にして、応答生成装置１０は、付与規則テーブル３４に記憶されている各々の「付与するコンテキスト情報の種別」について、適合度を算出する。
【０１７５】
上記の算出処理の結果、応答生成装置１０は、最も適合度が高く算出された、付与するコンテキスト情報「周辺にいる人」を抽出する（ステップＳ４２）。そして、応答生成装置１０は、発話ソース情報Ｅ５３に、さらに「周辺にいる人」を示す要素を付与した応答Ｅ５４を生成する。具体的には、応答Ｅ５４は、「○○さんからメッセージが届いています。ここに××さんがいますが、メッセージ読み上げますか？」といった、ユーザに提示する情報に加えて、周辺にいる人（図１４の例では「××さん」）が付与される。
【０１７６】
これにより、応答生成装置１０は、視覚障碍者等、周辺の状況を視認で確認しにくいユーザに対して、本来出力される情報に現在時刻を伝えた応答を生成することができるので、よりユーザにとって親切な応答を提示することができる。例えば、応答生成装置１０は、他人に聞かれたくないメッセージが誤って読み上げられることがないよう、事前にユーザへの確認を行うことができる。
【０１７７】
なお、応答生成装置１０は、複数のコンテキスト情報を組み合わせて適合度を算出してもよい。この点について、図１５を用いて説明する。図１５は、コンテキスト情報を付与して応答を生成する処理の一例を説明するための図（３）である。
【０１７８】
図１５の例では、応答生成装置１０は、情報Ｃ３３に含まれるユーザの行動予測情報から、ユーザが出かけようとしていることを認識する。そして、応答生成装置１０は、その入力情報に対応する応答として、「雨なので（属性：weather）」、「傘がいります（属性：suggestion）」の各要素を有する発話ソース情報Ｅ５５を生成したものとする。また、応答生成装置１０は、応答を出力する対象となるユーザの自宅において、「エアコンの電源がオンである」というコンテキスト情報を取得する。
【０１７９】
このとき、応答生成装置１０は、発話ソース情報Ｅ５５が含む各要素の属性情報と、コンテキスト情報「（自宅の家電が）電源オン」であるというコンテキスト情報とが、付与規則テーブル３４においてどのくらい適合するかを参照する。例えば、付与規則テーブル３４において、「付与するコンテキスト情報の種別」が「家電状況」である列では、「属性適合タグ」において適合する情報が「０」であり、かつ、「ユーザ状況タグ」において適合する情報が「２つ」ある。この場合、応答生成装置１０は、付与するコンテキスト情報「家電状況」の適合度を「２」と算出する。同様にして、応答生成装置１０は、付与規則テーブル３４に記憶されている各々の「付与するコンテキスト情報の種別」について、適合度を算出する。
【０１８０】
上記の算出処理の結果、応答生成装置１０は、最も適合度が高く算出された、付与するコンテキスト情報「家電状況」を抽出する（ステップＳ４３）。そして、応答生成装置１０は、発話ソース情報Ｅ５５に、さらに「家電状況」を示す要素を付与した応答Ｅ５６を生成する。具体的には、応答Ｅ５６は、「雨なので傘が入ります。寝室のエアコンがついていますよ。」といった、ユーザに提示する情報に加えて、家電状況が付与される。
【０１８１】
これにより、応答生成装置１０は、出かけようとする前に家電状況を把握することができるため、電源の切り忘れ等の事故を防止することができる。
【０１８２】
また、応答生成装置１０は、属性適合タグやユーザ状況タグ以外の情報を用いて、適合度を算出してもよい。この点について、図１６を用いて説明する。図１６は、コンテキスト情報を付与して応答を生成する処理の一例を説明するための図（４）である。
【０１８３】
図１６の例では、応答生成装置１０は、図１３乃至図１５で説明した処理に加えて、コンテキスト情報が付与された場合にユーザが発話した意図とその回数、もしくは、ユーザの聞き返しによってコンテキスト情報が付与された場合の聞き返し回数を用いて、適合度を算出する。
【０１８４】
図１６では、ユーザが、「ゲームＸＸＸのパーティ招待を送って」と応答生成装置１０に依頼した状況を示している。この場合、応答生成装置１０は、情報Ｃ３４に含まれた音声の意味認識処理を経て、ユーザの意図が「ゲームへの招待（SendPartyInvitation）」であると判定する。なお、情報Ｃ３４には、例えば、ユーザが「ゲーム中」であることや、「オンライン」であるといった情報も含まれるものとする。
【０１８５】
これに対して、応答生成装置１０は、仮応答として、「送信しますか（属性：SendCofirmation）」という要素を有する発話ソース情報Ｅ５７を生成する。
【０１８６】
そして、応答生成装置１０は、図１３乃至図１５と同様、発話ソース情報Ｅ５７が含む各要素の属性情報と、コンテキスト情報とが、付与規則テーブル３４においてどのくらい適合するかを参照する。さらに、応答生成装置１０は、過去のユーザの発話に含まれる意図と、当該発話が行われた回数を含む履歴情報を参照して、適合度を算出する。
【０１８７】
例えば、付与規則テーブル３４において、「付与するコンテキスト情報の種別」が「フレンドのオンライン状況」である列では、「属性適合タグ」において適合する情報が「０」であり、かつ、「ユーザ状況タグ」において適合する情報が「２つ」あり、「履歴情報」において適合する情報が「３つ（３回）」ある。この場合、応答生成装置１０は、付与するコンテキスト情報「フレンドのオンライン状況」の適合度を「５」と算出する。同様にして、応答生成装置１０は、付与規則テーブル３４に記憶されている各々の「付与するコンテキスト情報の種別」について、適合度を算出する。
【０１８８】
上記の算出処理の結果、応答生成装置１０は、最も適合度が高く算出された、付与するコンテキスト情報「フレンドのオンライン状況」を抽出する（ステップＳ４４）。そして、応答生成装置１０は、発話ソース情報Ｅ５７に、さらに「フレンドのオンライン状況」を示す要素を付与した応答Ｅ５８を生成する。具体的には、応答Ｅ５８は、「○○がオフラインです。送信しますか」といった、ユーザに提示する情報に加えて、ゲームに招待しようとする他のユーザのオンライン状況が付与される。
【０１８９】
これにより、応答生成装置１０は、ユーザがメッセージを送信する等の何らかの処理を応答生成装置１０に行わせる場合に、ユーザが知りえない情報を付与した応答を生成することができる。また、応答生成装置１０は、履歴情報に応じて情報を付与するため、日常的にユーザが質問している内容や気にかけている内容を付与しやすくなる。このため、応答生成装置１０は、ユーザが知りたいと所望する情報を優先的に付与することができるため、発話システムに関する利便性を向上させることができる。
【０１９０】
なお、図１３乃至図１６で示した処理は一例であり、応答生成装置１０は、付与するコンテキスト情報と適合度算出の手法とを様々に設定することにより、ユーザに合わせた種々の情報を生成することができる。例えば、応答生成装置１０は、ユーザの履歴情報を蓄積することで、ユーザが料理のレシピを聞いたときに、レシピ情報に加えて、自宅に帰宅中のユーザの父親の位置情報を付与するなど、状況に即した柔軟な対話を行うことができる。
【０１９１】
図４に戻って説明を続ける。出力制御部５４は、生成部５３によって生成された応答の出力を制御する。例えば、出力制御部５４は、生成部５３によって生成された字列からなる応答を、音声データに変換する。あるいは、出力制御部５４は、生成部５３によって生成された画像情報を伴う応答を、画像データに変換する。
【０１９２】
出力部６０は、種々の情報を出力するための機構である。例えば、出力部６０は、スピーカーやディスプレイである。例えば、出力部６０は、出力制御部５４によって生成された音声データを音声出力する。また、出力部６０は、出力制御部５４によって生成された画像データをディスプレイに出力する。なお、出力部６０は、出力制御部５４によって生成された音声データを文字認識してディスプレイに表示する等、種々の態様で応答を出力してもよい。
【０１９３】
［１−４．第１の実施形態に係る情報処理の手順］
次に、図１７を用いて、第１の実施形態に係る情報処理の手順について説明する。図１７は、本開示の第１の実施形態に係る処理の流れを示すフローチャートである。
【０１９４】
図１７に示すように、応答生成装置１０は、入力情報を受け付けたか否かを判定する（ステップＳ１０１）。入力情報を受け付けていない場合（ステップＳ１０１；Ｎｏ）、応答生成装置１０は、入力情報を受け付けるまで待機する。
【０１９５】
一方、入力情報を受け付けた場合（ステップＳ１０１；Ｙｅｓ）、応答生成装置１０は、入力情報が聞き返しに関するものであるか否かを判定する（ステップＳ１０２）。入力情報が聞き返しに関するものでない場合（ステップＳ１０２；Ｎｏ）、応答生成装置１０は、入力情報に対応する発話ソース情報（仮応答）を生成する（ステップＳ１０３）。
【０１９６】
続いて、応答生成装置１０は、発話ソース情報が文章化されているか否かを判定する（ステップＳ１０４）。発話ソース情報が文章化されている場合（ステップＳ１０４；Ｙｅｓ）、応答生成装置１０は、文章を解析して、文章を構成する各文節の意味概念を取得する（ステップＳ１０５）。
【０１９７】
一方、発話ソース情報が文章化されていない場合（ステップＳ１０４；Ｎｏ）、応答生成装置１０は、発話ソース情報に含まれる各要素に基づいて、発話ソース情報を文章化する（ステップＳ１０６）。
【０１９８】
続いて、応答生成装置１０は、発話ソース情報から自明な情報（コンテキスト情報と重複する情報等）を削除する（ステップＳ１０７）。また、応答生成装置１０は、発話ソース情報に含まれる自明な情報等を抽象的な情報へ置き換える（ステップＳ１０８）。
【０１９９】
また、応答生成装置１０は、付与するコンテキスト情報ごとの適合度を算出する（ステップＳ１０９）。そして、応答生成装置１０は、適合度に基づいて、発話ソース情報に付与するコンテキスト情報を選択する（ステップＳ１１０）。
【０２００】
応答生成装置１０は、ステップＳ１０７乃至ステップＳ１１０の処理を経て、編集された発話ソース情報に基づいて、ユーザに対する応答を生成する（ステップＳ１１１）。
【０２０１】
なお、応答生成装置１０は、ステップＳ１０７乃至ステップＳ１１０の処理を必ずしも全て実行しなくてもよい。例えば、応答生成装置１０は、重複する情報を削除する処理のみを行い、その後、処理をステップＳ１１１に移行してもよい。
【０２０２】
また、応答生成装置１０は、ステップＳ１０２において聞き返しに関する入力情報を受け付けていた場合（ステップＳ１０２；Ｙｅｓ）、内部に保持されていた要素のうち、聞き返しに関する要素を特定する（ステップＳ１１２）。そして、応答生成装置１０は、特定した要素に基づいて、聞き返しに関する応答を生成する（ステップＳ１１３）。
【０２０３】
生成した応答をユーザに対して出力した応答生成装置１０は、ユーザとの対話処理が終了したか否かを判定する（ステップＳ１１４）。具体的には、応答生成装置１０は、ユーザとの対話に関する一つのセッションが終了したか否かを判定する。
【０２０４】
対話処理が終了していない場合（ステップＳ１１４；Ｎｏ）、応答生成装置１０は、処理をステップＳ１０１に戻し、対話処理を継続する。一方、対話処理が終了したと判定した場合（ステップＳ１１４；Ｙｅｓ）、応答生成装置１０は、処理を終了する。
【０２０５】
［１−５．第１の実施形態に係る変形例］
上記で説明した第１の実施形態に係る応答生成処理は、様々な変形を伴ってもよい。以下に、第１の実施形態の変形例について説明する。
【０２０６】
応答生成装置１０は、ユーザ属性等のコンテキスト情報に基づいて、情報を置換させるか否か等の判定を行ってもよい。例えば、ユーザが高齢者や子どもの場合、応答生成装置１０が生成する応答は、冗長になったとしても、意図がわかりやすく表現される方が好ましいことがある。この場合、応答生成装置１０は、ユーザの年齢等のユーザ属性を参照し、仮応答に含まれる情報を削除したり置換したりする処理を実行しないようにしてもよい。
【０２０７】
また、応答生成装置１０は、ユーザ属性に合わせて、理解が難しいと想定される単語（例えば、一般に出現頻度の低い単語等）を比較的簡単な単語に置き換える等の処理を行ってもよい。また、応答生成装置１０は、ユーザが子どもである場合、発話よりも画像表示を優先するなど、ユーザのコンテキスト情報に合わせて出力態様を判定してもよい。
【０２０８】
また、応答生成装置１０は、削除した情報を全く出力しないのではなく、一定の間隔を空けて出力するようにしてもよい。例えば、図１では、応答生成装置１０が「今日の横浜は曇りのち雨です」といった発話ソース情報Ｅ０１のうち、「曇りのち雨です」のみを発話する例を示した。このとき、応答生成装置１０は、一定の時間を空けて、「横浜です」や、「今日です」といった、削除した情報を出力するようにしてもよい。この場合、ユーザは、応答生成装置１０が発話している途中で「わかった」等、応答の合図を送ることで、応答生成装置１０の発話を止めてもよい。これにより、ユーザは、より重要な情報を優先して聞くこともでき、また、さらに詳細な情報を確認することもできる。
【０２０９】
また、応答生成装置１０は、ユーザの状況に応じて、省略する度合い等を変更してもよい。例えば、応答生成装置１０は、ユーザの移動速度やユーザの発話速度を取得し、日常的な移動速度や発話速度と比較する。そして、応答生成装置１０は、移動速度や発話速度が日常よりも速い場合、ユーザが急いでいるという状況であると判定する。この場合、応答生成装置１０は、応答がより短くなるよう、削除する情報の量を増やしたり、より多くの情報を抽象的な表現に置き換えたりするような処理を行ってもよい。これにより、応答生成装置１０は、ユーザの状況に合わせた適切な応答を生成することができる。
【０２１０】
（２．第２の実施形態）
［２−１．第２の実施形態に係る情報処理の一例］
次に、第２の実施形態について説明する。第２の実施形態では、応答生成装置１０は、予め設定された定性的な表現を、ユーザの状況に合わせて適切な表現に置き換える処理を実行する。
【０２１１】
図１８に、本開示の第２の実施形態に係る情報処理の一例を示す図である。図１８の例では、応答生成装置１０は、表現の選択に用いる情報を記憶したデータベースＤＢ０１を備える。
【０２１２】
図１８では、ユーザが出かけようとする状況をカメラで捉えた応答生成装置１０が、「今日の（属性：date）」、「気温は（属性：whetherInfo）」、「２０度です（属性：numericalTemperature）」という内容を含む発話ソース情報Ｅ６１を生成した例を示す。
【０２１３】
このとき、応答生成装置１０は、ユーザに出力しようとする発話ソース情報Ｅ６１に、温度の通知（属性：whetherInfo）が含まれていると判定する。この場合、応答生成装置１０は、データベースＤＢ０１を参照し、応答種別「温度の通知」の場合、判定基準「ユーザの服装」や「平均気温」に応じて、発話ソース情報Ｅ６１を置き換える処理を実行する。
【０２１４】
図１８の例では、応答生成装置１０は、判定基準「ユーザの服装」を適用するものとする。この場合、判定要素は、季節や気温、服装やユーザ属性が用いられる。一例として、図１８では、気温及びユーザの服装に基づいて、応答生成装置１０が発話ソース情報Ｅ６１を置き換える例を示す。例えば、データベースＤＢ０１には、気温が「２０度」であり、かつ、ユーザの服装が「半袖」である場合、気温の表現を「寒くなります」に置き換えることが設定されているものとする。また、データベースＤＢ０１には、気温が「２０度」であり、かつ、ユーザの服装が「冬用コート」等である場合、気温の表現を「暑くなります」に置き換えることが設定されているものとする。また、データベースＤＢ０１には、気温が「２０度」であり、かつ、ユーザの服装が上記のいずれにも該当しない場合、気温の表現を「適温です」に置き換えることが設定されているものとする。
【０２１５】
図１８において、応答生成装置１０は、ユーザを画像認識し、コンテキスト情報として情報Ｃ４１を取得する。情報Ｃ４１において、ユーザが「半袖」の服を着用していると判定された場合、応答生成装置１０は、データベースＤＢ０１の設定に従い、発話ソース情報Ｅ６１の気温の表現を「寒くなります」に置き換える。すなわち、応答生成装置１０は、「今日の気温は寒くなります」といった内容を含む応答Ｅ６２を生成する。
【０２１６】
また、情報Ｃ４１において、ユーザが「冬用コート」の服を着用していると判定された場合、応答生成装置１０は、データベースＤＢ０１の設定に従い、発話ソース情報Ｅ６１の気温の表現を「暑くなります」に置き換える。すなわち、応答生成装置１０は、「今日の気温は暑くなります」といった内容を含む応答Ｅ６３を生成する。
【０２１７】
なお、応答生成装置１０は、ユーザの服装ではなく、例えば、直近の平均気温との差異に応じて、表現を置き換えてもよい。例えば、応答生成装置１０は、直近一週間の平均気温と、発話ソース情報Ｅ６１に含まれる温度との差異が「＋３度」以上である場合、気温の表現を「暑くなります」と置き換える。また、応答生成装置１０は、直近一週間の平均気温と、発話ソース情報Ｅ６１に含まれる温度との差異が「−３度」以上である場合、気温の表現を「寒くなります」と置き換える。
【０２１８】
上記のように、応答生成装置１０は、発話ソース情報に含まれる定量的な数値情報（例えば温度等）を、ユーザのコンテキスト情報に応じて直感的に理解しやすい抽象度の高い表現に変換する。これにより、ユーザは、単に数値としての情報のみならず、自身の状況において、その数値がどのような意味を持つ情報であるかを感覚的に理解することができる。このように、応答生成装置１０によれば、単なる数値情報をユーザに提示するのみならず、ユーザの状況に合わせた適切な表現を提示できるため、ユーザとの有用な対話を実現することができる。
【０２１９】
［２−２．第２の実施形態に係る変形例］
図１８の例では、応答生成装置１０が、データベースＤＢ０１に保持された設定に基づいて温度等の数値情報を置き換えることを示した。一方、変形例に係る応答生成装置１０は、データベースＤＢ０１によらず、置き換えに関する学習結果を用いて、数値情報等の置き換え処理を実行してもよい。
【０２２０】
この点について、図１９を用いて説明する。図１９は、本開示の第２の実施形態の変形例に係る情報処理の一例を示す図である。
【０２２１】
図１９に示す例では、応答生成装置１０は、多段に接続されたニューロンを有するＤＮＮ（Deep  Neural  Network）からなる学習器（モデル）であるモデル８０を有する。図１９に示すように、応答生成装置１０は、モデル８０への入力として、発話ソース情報と各種コンテキスト情報を取得する。このとき、応答生成装置１０は、発話ソース情報やコンテキスト情報に含まれる属性等の単語を、例えばワンホットベクトルで表現するようベクトル化する。そして、応答生成装置１０は、ベクトル化した発話ソース情報やコンテキスト情報をモデル８０に入力する。また、モデル８０の出力例は、生成された応答の文字列である。また、応答生成装置１０は、学習データが蓄積されたコーパス（Corpus）８１から、学習データの例を取得する。
【０２２２】
図１９に示すように、学習データの一例は、ユーザの状況「半袖を着ている」が入力され、応答として「今日の気温は寒くなります」を出力した際に、ユーザがその後長袖に着替えていれば、その出力を「正例」にラベル付けするものである。このことは、気温２０度のときにユーザが「半袖を着ている」という状況は、ユーザが「寒い」と感じるであろうことを正解データとして設定することを意味している。
【０２２３】
同様に、他の一例は、ユーザの状況「半袖を着ている」が入力され、応答として「今日の気温は暑くなります」を出力した際に、ユーザがその後何もしない（半袖のままである）ときには、その出力を「負例」にラベル付けするものである。また、他の一例は、ユーザの状況「コートを着ている」が入力され、応答として「今日の気温は寒くなります」を出力した際に、ユーザがその後何もしない（コートのままである）ときには、その出力を「負例」にラベル付けするものである。また、他の一例は、ユーザの状況「コートを着ている」が入力され、応答として「今日の気温は暑くなります」を出力した際に、ユーザがその後コートを脱いだ場合には、その出力を「正例」にラベル付けするものである。
【０２２４】
図１８で示した例を用いて説明すると、応答生成装置１０は、入力として、「今日の（属性：date）」、「気温は（属性：whetherInfo）」、「２０度です（属性：numericalTemperature）」という内容を含む発話ソース情報Ｅ６１と、ユーザの服装が「半袖」もしくは「冬用コート」であるというコンテキストを示す情報Ｃ４１とを取得する。そして、応答生成装置１０は、出力した応答（「寒くなります」あるいは「暑くなります」等）や、応答に対するユーザの行動（「服装を変更した」あるいは「何もしない」等）等を取得し、正例、負例と判別して学習データを収集する。そして、応答生成装置１０は、取得した正例、負例からなる学習データを用いて、モデル８０を学習する。モデル８０の学習が完了すると、応答生成装置１０は、モデル８０に情報を入力し、適切な出力を得ることができるようになる。
【０２２５】
このように、応答生成装置１０は、生成した応答に対する反応をユーザから取得し、ユーザから取得した反応を正例もしくは負例として、仮応答に含まれる具体的な数値もしくは時刻を置き換える抽象的な表現の決定手法を学習してもよい。これにより、応答生成装置１０は、データベースＤＢ０１を参照せずとも、ユーザのコンテキスト情報に合わせて、適切な定性的表現を選択することができる。
【０２２６】
なお、図１９で示した学習処理は一例であり、応答生成装置１０は、コンテキスト情報及び発話ソース情報を入力とし、表現が選択された応答が出力として得られるモデルであれば、どのような学習手法を用いるモデルを採用してもよい。
【０２２７】
（３．その他の実施形態）
上述した各実施形態に係る処理は、上記各実施形態以外にも種々の異なる形態にて実施されてよい。
【０２２８】
上記各実施形態では、応答生成装置１０がいわゆるスマートスピーカーであり、スタンドアロンで処理を行う例を示した。しかし、応答生成装置１０は、ネットワークによって接続されたサーバ装置（いわゆるクラウドサーバ（Cloud  Server）等）と連携して本開示に係る応答生成処理を行ってもよい。
【０２２９】
この場合、応答生成装置１０は、スマートスピーカー等の端末に入力された音声やコンテキスト情報を取得し、取得した情報に基づいて応答を生成し、生成した応答を端末に送信する。この場合には、スマートスピーカー等の端末は、ユーザの発話を集音する処理や、集音した発話をサーバ装置に送信する処理や、サーバ装置から送信された回答を出力する処理といった、ユーザとの対話処理を主に実行するインターフェイスとして機能する。
【０２３０】
また、本開示に係る応答生成装置とは、応答生成装置１０内に搭載されるＩＣチップ等の態様で実現されてもよい。
【０２３１】
また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【０２３２】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、意味理解部５１と対話制御部５２は統合されてもよい。
【０２３３】
また、上述してきた各実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【０２３４】
また、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、他の効果があってもよい。
【０２３５】
（４．本開示に係る応答生成装置の効果）
上述のように、本開示に係る応答生成装置（実施形態では応答生成装置１０）は、取得部（実施形態では取得部４０）と、応答生成部（実施形態では応答生成部５０）とを備える。取得部は、ユーザに対する応答を生成する契機となる入力情報、及び、当該ユーザの状況を示す情報であるコンテキスト情報を取得する。応答生成部は、ユーザから取得したコンテキスト情報に基づいて、入力情報に対応する応答を生成する。
【０２３６】
これにより、本開示に係る応答生成装置は、ユーザのコンテキストに合わせた柔軟な応答を生成することができるため、対話等のエージェント機能をより効果的にユーザに提供することができる。
【０２３７】
また、取得部は、入力情報として、ユーザが発した音声情報を取得する。これにより、本開示に係る応答生成装置は、音声を介したユーザとのコミュニケーションにおいて、ユーザの状況に合わせた適切な対話を行うことができる。
【０２３８】
また、取得部は、入力情報として、ユーザの行動を検知した検知情報を取得する。これにより、本開示に係る応答生成装置は、ユーザが発話をせずとも、ユーザの行動に合わせた適切な応答を生成することができる。
【０２３９】
また、取得部は、コンテキスト情報として、ユーザが予め登録したスケジュール情報を取得する。これにより、本開示に係る応答生成装置は、スケジュール情報を共有知識として応答生成に用いることができるため、より詳細なユーザ状況に応じた応答を生成することができる。
【０２４０】
また、取得部は、コンテキスト情報として、ユーザの行動から推定される情報であって、当該ユーザの将来の行動予測を示した情報である行動予測情報を取得する。これにより、本開示に係る応答生成装置は、ユーザがこれから実行しようとする行動に即した応答を生成することができる。
【０２４１】
また、取得部は、コンテキスト情報として、ユーザによって予め登録された当該ユーザの属性情報を取得する。これにより、本開示に係る応答生成装置は、老齢や子ども、視覚障碍を有するユーザ等、各々のユーザの特性に合わせた応答を生成することができる。
【０２４２】
また、応答生成部は、入力情報に対応して仮に生成される応答である仮応答のうち、コンテキスト情報と重複する要素を削除して、当該入力情報に対応する応答を生成する。これにより、本開示に係る応答生成装置は、冗長な情報を削除することができるため、簡潔かつ必要十分な情報を含む応答を生成することができる。
【０２４３】
また、応答生成部は、生成した応答に対して、仮応答から削除した要素に関する反応をユーザから受け付けた場合、当該削除した要素に基づいて、当該反応に対応する第２の応答を生成する。これにより、本開示に係る応答生成装置は、簡潔な応答を生成しつつ、ユーザがより詳細な情報を所望する場合には、所望した情報をユーザに提示することができる。
【０２４４】
また、応答生成部は、仮応答から削除した要素に関する反応をユーザから受け付けた回数に応じて、当該仮応答から削除する要素を判定する。これにより、本開示に係る応答生成装置は、各々のユーザに最適化された応答を生成することができる。
【０２４５】
また、応答生成部は、入力情報に対応して仮に生成される応答である仮応答に、コンテキスト情報に含まれる要素を付加して、当該入力情報に対応する応答を生成する。これにより、本開示に係る応答生成装置は、ユーザが気づかない情報や、ユーザ自身では取得することが難しい情報をユーザに提示できるので、対話システムに関するユーザビリティを向上させることができる。
【０２４６】
また、応答生成部は、コンテキスト情報に含まれる要素とユーザとの適合度を算出し、算出した適合度に基づいて仮応答に付加する要素を決定して、当該入力情報に対応する応答を生成する。これにより、本開示に係る応答生成装置は、ユーザに対して提示すべき情報を適切に選択したうえで、応答を生成することができる。
【０２４７】
また、応答生成部は、入力情報に対応して仮に生成される応答である仮応答を、コンテキスト情報に基づいて異なる表現に変更することにより、当該入力情報に対応する応答を生成する。これにより、本開示に係る応答生成装置は、冗長な表現や、ユーザにとってわかりにくい表現ではなく、ユーザにとってわかりやすい応答を生成することができる。
【０２４８】
また、応答生成部は、仮応答に含まれる具体的な数値もしくは時刻を抽象的な表現に変更することにより、入力情報に対応する応答を生成する。これにより、本開示に係る応答生成装置は、簡潔に必要な情報を伝達するための応答を生成することができる。
【０２４９】
また、取得部は、コンテキスト情報として、入力情報が取得された時点のユーザの状況を示した情報を取得する。応答生成部は、ユーザの状況を示した情報に基づき、仮応答に含まれる具体的な数値もしくは時刻を置き換える抽象的な表現を決定する。これにより、本開示に係る応答生成装置は、ユーザの状況に合わせた、適切な表現を用いた応答を生成することができる。
【０２５０】
また、取得部は、生成した応答に対する反応をユーザから取得する。応答生成部は、ユーザから取得した反応を正例もしくは負例として、仮応答に含まれる具体的な数値もしくは時刻を置き換える抽象的な表現の決定手法を学習する。これにより、本開示に係る応答生成装置は、表現の置き換え等が記憶されたデータベースを参照せずとも、適切な応答を選択することができる。
【０２５１】
（５．ハードウェア構成）
上述してきた各実施形態に係る応答生成装置１０や外部サーバ２００等の情報機器は、例えば図２０に示すような構成のコンピュータ１０００によって実現される。以下、第１の実施形態に係る応答生成装置１０を例に挙げて説明する。図２０は、応答生成装置１０の機能を実現するコンピュータ１０００の一例を示すハードウェア構成図である。コンピュータ１０００は、ＣＰＵ１１００、ＲＡＭ１２００、ＲＯＭ（Read  Only  Memory）１３００、ＨＤＤ（Hard  Disk  Drive）１４００、通信インターフェイス１５００、及び入出力インターフェイス１６００を有する。コンピュータ１０００の各部は、バス１０５０によって接続される。
【０２５２】
ＣＰＵ１１００は、ＲＯＭ１３００又はＨＤＤ１４００に格納されたプログラムに基づいて動作し、各部の制御を行う。例えば、ＣＰＵ１１００は、ＲＯＭ１３００又はＨＤＤ１４００に格納されたプログラムをＲＡＭ１２００に展開し、各種プログラムに対応した処理を実行する。
【０２５３】
ＲＯＭ１３００は、コンピュータ１０００の起動時にＣＰＵ１１００によって実行されるＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムや、コンピュータ１０００のハードウェアに依存するプログラム等を格納する。
【０２５４】
ＨＤＤ１４００は、ＣＰＵ１１００によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、ＨＤＤ１４００は、プログラムデータ１４５０の一例である本開示に係る応答生成プログラムを記録する記録媒体である。
【０２５５】
通信インターフェイス１５００は、コンピュータ１０００が外部ネットワーク１５５０（例えばインターネット）と接続するためのインターフェイスである。例えば、ＣＰＵ１１００は、通信インターフェイス１５００を介して、他の機器からデータを受信したり、ＣＰＵ１１００が生成したデータを他の機器へ送信したりする。
【０２５６】
入出力インターフェイス１６００は、入出力デバイス１６５０とコンピュータ１０００とを接続するためのインターフェイスである。例えば、ＣＰＵ１１００は、入出力インターフェイス１６００を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、ＣＰＵ１１００は、入出力インターフェイス１６００を介して、ディスプレイやスピーカーやプリンタ等の出力デバイスにデータを送信する。また、入出力インターフェイス１６００は、所定の記録媒体（メディア）に記録されたプログラム等を読み取るメディアインターフェイスとして機能してもよい。メディアとは、例えばＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【０２５７】
例えば、コンピュータ１０００が第１の実施形態に係る応答生成装置１０として機能する場合、コンピュータ１０００のＣＰＵ１１００は、ＲＡＭ１２００上にロードされた応答生成プログラムを実行することにより、取得部４０等の機能を実現する。また、ＨＤＤ１４００には、本開示に係る応答生成プログラムや、記憶部３０内のデータが格納される。なお、ＣＰＵ１１００は、プログラムデータ１４５０をＨＤＤ１４００から読み取って実行するが、他の例として、外部ネットワーク１５５０を介して、他の装置からこれらのプログラムを取得してもよい。
【０２５８】
なお、本技術は以下のような構成も取ることができる。
（１）
ユーザに対する応答を生成する契機となる入力情報、及び、当該ユーザの状況を示す情報であるコンテキスト情報を取得する取得部と、
前記ユーザから取得したコンテキスト情報に基づいて、前記入力情報に対応する応答を生成する応答生成部と
を備える応答生成装置。
（２）
前記取得部は、
前記入力情報として、前記ユーザが発した音声情報を取得する
前記（１）に記載の応答生成装置。
（３）
前記取得部は、
前記入力情報として、前記ユーザの行動を検知した検知情報を取得する
前記（１）又は（２）に記載の応答生成装置。
（４）
前記取得部は、
前記コンテキスト情報として、前記ユーザが予め登録したスケジュール情報を取得する
前記（１）〜（３）のいずれかに記載の応答生成装置。
（５）
前記取得部は、
前記コンテキスト情報として、前記ユーザの行動から推定される情報であって、当該ユーザの将来の行動予測を示した情報である行動予測情報を取得する
前記（１）〜（４）のいずれかに記載の応答生成装置。
（６）
前記取得部は、
前記コンテキスト情報として、前記ユーザによって予め登録された当該ユーザの属性情報を取得する
前記（１）〜（５）のいずれかに記載の応答生成装置。
（７）
前記応答生成部は、
前記入力情報に対応して仮に生成される応答である仮応答のうち、前記コンテキスト情報と重複する要素を削除して、当該入力情報に対応する応答を生成する
前記（１）〜（６）のいずれかに記載の応答生成装置。
（８）
前記応答生成部は、
前記生成した応答に対して、前記仮応答から削除した要素に関する反応を前記ユーザから受け付けた場合、当該削除した要素に基づいて、当該反応に対応する第２の応答を生成する
前記（７）に記載の応答生成装置。
（９）
前記応答生成部は、
前記仮応答から削除した要素に関する反応を前記ユーザから受け付けた回数に応じて、当該仮応答から削除する要素を判定する
前記（８）に記載の応答生成装置。
（１０）
前記応答生成部は、
前記入力情報に対応して仮に生成される応答である仮応答に、前記コンテキスト情報に含まれる要素を付加して、当該入力情報に対応する応答を生成する
前記（１）〜（９）のいずれかに記載の応答生成装置。
（１１）
前記応答生成部は、
前記コンテキスト情報に含まれる要素と前記ユーザとの適合度を算出し、算出した適合度に基づいて前記仮応答に付加する要素を決定して、当該入力情報に対応する応答を生成する
前記（１０）に記載の応答生成装置。
（１２）
前記応答生成部は、
前記入力情報に対応して仮に生成される応答である仮応答を、前記コンテキスト情報に基づいて異なる表現に変更することにより、当該入力情報に対応する応答を生成する
前記（１）〜（１１）のいずれかに記載の応答生成装置。
（１３）
前記応答生成部は、
前記仮応答に含まれる具体的な数値もしくは時刻を抽象的な表現に変更することにより、前記入力情報に対応する応答を生成する
前記（１２）に記載の応答生成装置。
（１４）
前記取得部は、
前記コンテキスト情報として、前記入力情報が取得された時点のユーザの状況を示した情報を取得し、
前記応答生成部は、
前記ユーザの状況を示した情報に基づき、前記仮応答に含まれる具体的な数値もしくは時刻を置き換える抽象的な表現を決定する
前記（１３）に記載の応答生成装置。
（１５）
前記取得部は、
前記生成した応答に対する反応を前記ユーザから取得し、
前記応答生成部は、
前記ユーザから取得した反応を正例もしくは負例として、前記仮応答に含まれる具体的な数値もしくは時刻を置き換える抽象的な表現の決定手法を学習する
前記（１４）に記載の応答生成装置。
（１６）
コンピュータが、
ユーザに対する応答を生成する契機となる入力情報、及び、当該ユーザの状況を示す情報であるコンテキスト情報を取得し、
前記ユーザから取得したコンテキスト情報に基づいて、前記入力情報に対応する応答を生成する
応答生成方法。
（１７）
コンピュータを、
ユーザに対する応答を生成する契機となる入力情報、及び、当該ユーザの状況を示す情報であるコンテキスト情報を取得する取得部と、
前記ユーザから取得したコンテキスト情報に基づいて、前記入力情報に対応する応答を生成する応答生成部と
として機能させるための応答生成プログラム。
【符号の説明】
【０２５９】
１  応答生成システム
１０  応答生成装置
２０  センサ
２１  入力部
２２  通信部
３０  記憶部
３１  ユーザ情報テーブル
３２  共有知識テーブル
３３  応答規則テーブル
３４  付与規則テーブル
４０  取得部
４１  検知部
４２  登録部
４３  受信部
５０  応答生成部
５１  意味理解部
５２  対話制御部
５３  生成部
５４  出力制御部
６０  出力部
２００  外部サーバ
【図１】
2020105302.tif 000003
【図２】
2020105302.tif 000004
【図３】
2020105302.tif 000005
【図４】
2020105302.tif 000006
【図５】
2020105302.tif 000007
【図６】
2020105302.tif 000008
【図７】
2020105302.tif 000009
【図８】
2020105302.tif 000010
【図９】
2020105302.tif 000011
【図１０】
2020105302.tif 000012
【図１１】
2020105302.tif 000013
【図１２】
2020105302.tif 000014
【図１３】
2020105302.tif 000015
【図１４】
2020105302.tif 000016
【図１５】
2020105302.tif 000017
【図１６】
2020105302.tif 000018
【図１７】
2020105302.tif 000019
【図１８】
2020105302.tif 000020
【図１９】
2020105302.tif 000021
【図２０】
2020105302.tif 000022
【国際調査報告】
2020105302.tif 000023
2020105302.tif 000024
2020105302.tif 000025
2020105302.tif 000026