(57)【要約】  状況に応じたクエリを作成し、該クエリに対する応答文を作成する応答文作成装置であって、状況を示す情報と、応答文作成開始のトリガとなるトリガ情報とを取得する取得部と、トリガ情報に基づき、第１回答を導出するための第１クエリを作成する第１クエリ作成部と、状況を示す情報に基づき、第１クエリに対する第１回答を導出する第１回答導出部と、第１回答に基づき、第２回答を導出するための第２クエリを作成する第２クエリ作成部と、状況を示す情報に基づき、第２クエリに対する第２回答を導出する第２回答導出部と、第１回答及び第２回答を結合することにより、応答文を作成する応答文作成部と、を備える。
2020054201.tif 000002
【特許請求の範囲】
【請求項１】
状況に応じたクエリを作成し、該クエリに対する応答文を作成する応答文作成装置であって、
状況を示す情報と、応答文作成開始のトリガとなるトリガ情報とを取得する取得部と、
前記トリガ情報に基づき、第１回答を導出するための第１クエリを作成する第１クエリ作成部と、
前記状況を示す情報に基づき、前記第１クエリに対する前記第１回答を導出する第１回答導出部と、
前記第１回答に基づき、第２回答を導出するための第２クエリを作成する第２クエリ作成部と、
前記状況を示す情報に基づき、前記第２クエリに対する前記第２回答を導出する第２回答導出部と、
前記第１回答及び前記第２回答を結合することにより、応答文を作成する応答文作成部と、を備える、応答文作成装置。
【請求項２】
前記取得部は、前記状況を示す情報として、現在進行形の状況を示す情報を取得する、請求項１記載の応答文作成装置。
【請求項３】
前記取得部は、前記状況を示す情報として、過去の状況を示す情報を更に取得する、請求項１又は２記載の応答文作成装置。
【請求項４】
前記取得部は、前記状況を示す情報として、現在進行形の状況を示す情報及び過去の状況を示す情報の双方を取得し、
前記第１クエリ作成部は、前記トリガ情報に基づき、現在進行形の状況に係る前記第１回答を導出するための前記第１クエリを作成し、
前記第１回答導出部は、前記現在進行形の状況を示す情報に基づき、前記第１クエリに対する前記第１回答を導出し、
前記第２クエリ作成部は、前記第１回答に基づき、過去の状況に係る前記第２回答を導出するための前記第２クエリを作成し、
前記第２回答導出部は、前記過去の状況を示す情報に基づき、前記第２クエリに対する前記第２回答を導出する、請求項１〜３のいずれか一項記載の応答文作成装置。
【請求項５】
前記取得部は、前記トリガ情報をユーザの発話から取得する、請求項１〜４のいずれか一項記載の応答文作成装置。
【請求項６】
前記取得部は、前記トリガ情報を前記状況を示す情報から取得する、請求項１〜５のいずれか一項記載の応答文作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の一側面は、応答文作成装置に関する。
【背景技術】
【０００２】
ユーザと対話を行い、ユーザの質問等に基づき状況に応じた応答文を作成するシステムが知られている（例えば特許文献１参照）。特許文献１に記載されたシステムでは、ユーザから要求された情報に関する対話シナリオをデータベースから選択し、選択した対話シナリオに基づいて要求された情報についての応答文を作成している。このような対話システムは様々な分野において利用されることが期待されており、特に、スポーツのようにリアルタイムに変化する状況に応じて応答する対話システムの実現が期待されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−７６６２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述したようなシステムは、予め準備された対話シナリオ（定型文）に基づいて応答文を作成しているため、応答文が単調になりがちであり、ユーザが求めている応答文を提供できない場合がある。特に、事前情報やリアルタイムに変化する情報に基づき柔軟な応答文を提供することは難しい。柔軟な応答文を提供するためには、あらゆる状況を想定して対話シナリオ（定型文）を大量に準備する必要があるが、コストが増大してしまうことが問題となる。【０００５】
本発明の一側面は上記実情に鑑みてなされたものであり、コストを抑制しながら、様々な状況に応じた適切な応答文を作成することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る応答文作成装置は、状況に応じたクエリを作成し、該クエリに対する応答文を作成する応答文作成装置であって、状況を示す情報と、応答文作成開始のトリガとなるトリガ情報とを取得する取得部と、トリガ情報に基づき、第１回答を導出するための第１クエリを作成する第１クエリ作成部と、状況を示す情報に基づき、第１クエリに対する第１回答を導出する第１回答導出部と、第１回答に基づき、第２回答を導出するための第２クエリを作成する第２クエリ作成部と、状況を示す情報に基づき、第２クエリに対する第２回答を導出する第２回答導出部と、第１回答及び第２回答を結合することにより、応答文を作成する応答文作成部と、を備える。【０００７】
本発明の一側面に係る応答文作成装置では、取得された状況を示す情報に基づき、第１クエリに対する第１回答、及び、第２クエリに対する第２回答が導出され、これらの回答が結合されて応答文が作成されている。このように、状況に応じて第１回答及び第２回答が作成されこれらの回答が結合されて応答文が作成されることにより、例えば予め準備された対話シナリオ（定型文）から応答文が作成される場合と比較して、状況に応じた適切な応答文（単調ではない応答文）を作成することができる。さらに、本発明の一側面に係る応答文作成装置では、第１クエリに対する第１回答に基づいて、第２回答を導出するための第２クエリが作成されている。これにより、状況を考慮して導出された回答（第１回答）に応じて、新たなクエリ（第２クエリ）が動的に作成され、その回答（第２回答）が導出されて、第１回答及び第２回答から応答文が作成されることになる。このように、状況を考慮して導出された回答から新たなクエリが作成されてさらなる回答が導出されることにより、これらの回答から得られる応答文が、より状況に沿った適切なものとなる。そして、上述したように、各々のクエリから回答を取得することができれば、あとはこれらの回答を結合するだけ（すなわち回答の組み合わせ）で容易に応答文が作成されるため、例えば対話シナリオ（定型文）を大量に準備しておく場合と比べてコストを大幅に低減することができる。以上より、本発明の一側面に係る応答文作成装置によれば、コストを抑制しながら、様々な状況に応じた適切な応答文を作成することができる。【０００８】
取得部は、状況を示す情報として、現在進行形の状況を示す情報を取得してもよい。これにより、現在進行形の状況を考慮して応答文を作成することが可能になり、リアルタイムに変化する状況に対して柔軟に応答文を作成することができる。【０００９】
取得部は、状況を示す情報として、過去の状況を示す情報を更に取得してもよい。これにより、現在進行形の状況だけではなく過去の状況も考慮して応答文を作成することが可能になり、より状況に応じた適切な応答文を作成することができる。【００１０】
取得部は、状況を示す情報として、現在進行形の状況を示す情報及び過去の状況を示す情報の双方を取得し、第１クエリ作成部は、トリガ情報に基づき、現在進行形の状況に係る第１回答を導出するための第１クエリを作成し、第１回答導出部は、現在進行形の状況を示す情報に基づき、第１クエリに対する第１回答を導出し、第２クエリ作成部は、第１回答に基づき、過去の状況に係る第２回答を導出するための第２クエリを作成し、第２回答導出部は、過去の状況を示す情報に基づき、第２クエリに対する第２回答を導出してもよい。これにより、現在進行形の状況に基づき第１回答が導出されると共に第１回答に関連する第２クエリが作成され、過去の状況に基づき第２クエリに対する第２回答が導出される。このように、関連する内容について、現在進行形の状況に基づく回答（第１回答）と過去の状況に基づく回答（第２回答）とが得られることにより、より状況に応じた適切な応答文を作成することができる。【００１１】
取得部は、トリガ情報をユーザの発話から取得してもよい。これにより、より好適に、ユーザが求めている応答文を作成することができる。【００１２】
取得部は、トリガ情報を状況を示す情報から取得してもよい。これにより、ユーザから何らかの入力（発話等）がない場合においても、状況に応じて応答文を作成することができる。
【発明の効果】
【００１３】
本発明の一側面によれば、コストを抑制しながら、様々な状況に応じた適切な応答文を作成することができる。
【図面の簡単な説明】
【００１４】
【図１】一の実施形態に係る対話システムを模式的に示す図であり、該対話システムに含まれる応答文作成装置の機能を説明するための図である。
【図２】状況データの構成例を示す図である。
【図３】クエリの決定方法を模式的に示す図である。
【図４】状況データの構成例を示す図である。
【図５】一の実施形態に係る応答文作成装置で実行される処理を示すフローチャートである。
【図６】一の実施形態に係る応答文作成装置のハードウェアの構成を示す図である。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。図面の説明において、同一又は同等の要素には同一符号を用い、重複する説明を省略する。
【００１６】
図１は、本実施形態に係る対話システム１を模式的に示す図であり、該対話システム１に含まれる応答文作成装置の１０の機能を説明するための図である。図１に示されるように、対話システム１は、応答文作成装置１０と、外部ＤＢ５０と、ユーザ端末８０とを含んで構成されている。なお、図１においてはユーザ端末８０が１台のみ示されているが、実際には、対話システム１は複数台のユーザ端末８０を含んでいてもよい。対話システム１は、ユーザ端末８０と応答文作成装置１０との間で対話（通信）が行われることにより、ユーザ端末８０が求めている情報が応答文作成装置１０によって提供される（応答文が提供される）システムである。本実施形態では、対話システム１は、リアルタイムに状況が変化するサッカーの試合に関しての応答文作成に適用されるとして説明する。なお、対話システム１が適用される分野はこれに限られず、例えば、リアルタイムに状況が変化する他のスポーツに関しての応答文作成に適用されてもよいし、スポーツ以外の分野の応答文作成に適用されてもよい。
【００１７】
外部ＤＢ５０は、応答文作成装置１０の外部において、サッカーの試合に関する各種情報を記憶するデータベースである。サッカーの試合に関する各種情報とは、例えば、過去に行われたサッカーの試合に関する情報、及び、リアルタイムに（現在進行形で）行われているサッカーの試合に関する情報である。サッカーの試合に関する各種情報には、試合の勝敗だけでなく、各選手の成績（ゴール数、シュート数、スタメンであったか否か等）についての情報も含まれている。
【００１８】
ユーザ端末８０は、例えばスマートフォン、タブレット型端末、ＰＣ等の通信可能な端末である。ユーザ端末８０は、例えば動画配信やＳＮＳの情報からリアルタイムにサッカーの試合の情報を取得することが可能に構成されている。ユーザ端末８０は、ユーザによって発話可能に構成されている。ユーザ端末８０は、ユーザによる発話内容（サッカーの試合に関する内容）を、後述するトリガ情報として応答文作成装置１０に送信する。なお、本実施形態では、ユーザ端末８０から応答文作成装置１０に送信される内容は発話から取得されるとして説明するが、これに限定されず、例えばユーザ端末８０においてユーザが入力した内容が応答文作成装置１０に送信されてもよい。
【００１９】
応答文作成装置１０は、状況に応じたクエリを作成し、該クエリに対する応答文を作成する応答文作成装置である。図１に示されるように、応答文作成装置１０は、取得部１１と、状況ＤＢ１２と、第１クエリ作成部１３と、第１回答導出部１４と、第２クエリ作成部１５と、第２回答導出部１６と、応答文作成部１７と、を備える。
【００２０】
取得部１１は、サッカーの試合の状況を示す情報（状況を示す情報）を取得する。取得部１１は、上述した状況を示す情報を外部ＤＢ５０から取得する。取得部１１は、例えば所定の時間間隔で状況を示す情報を取得し、毎回、新たに外部ＤＢ５０に追加された情報のみを取得してもよい。取得部１１は、状況を示す情報として、過去の状況を示す情報（既に終了しているサッカーの試合に関する情報）、及び、現在進行形の状況を示す情報（リアルタイムで行われているサッカーの試合に関する情報）の双方を取得する。取得部１１は、取得した状況を示す情報を状況ＤＢ１２に格納する。なお、取得部１１は、少なくとも、状況を示す情報について、過去の状況を示す情報であるのか現在進行形の状況を示す情報であるのかが特定できる情報を付加して、状況ＤＢ１２に格納する。
【００２１】
取得部１１は、ユーザ端末８０より、トリガ情報であるユーザの発話内容を取得する。すなわち、取得部１１は、トリガ情報をユーザの発話から取得する。トリガ情報とは、応答文作成装置１０による応答文作成開始のトリガとなる情報である。取得部１１は、発話内容を、従来から周知の手法により解析することによって、ユーザが発信した内容（例えば、「Ａ選手って最近どうだっけ？」等のサッカーの試合の状況に応じた質問内容）を特定する。取得部１１は、解析して特定した後のトリガ情報を第１クエリ作成部１３に出力する。
【００２２】
状況ＤＢ１２は、取得部１１によって格納された状況を示す情報を、状況データとして記憶するデータベースである。図２は、状況データの構成例を示す図である。図２に示される状況データ１２１の例では、あるプレイヤー（プレイヤーＡ）について、試合毎に成績が紐づけられている。具体的には、試合毎に、プレイヤーＡ（player）のシュート数（shoot）、ゴール数(goal)、スターティングメンバーか否か（starting）、スルーパス数（throughpass）、アシスト数（assist）、及び現在進行形で行われている試合か否かを示す情報（time）が対応付けられている。スターティングメンバーか否かについては、スターティングメンバーである場合には「true」、スターティングメンバーでない場合には「false」が設定される。また、現在進行形で行われている試合か否かを示す情報については、現在進行形で行われている試合である場合には「present」、現在進行形で行われている試合でない（過去の試合である）場合には「past」が設定される。なお、現在進行形で行われている試合か否かを示す情報（time）においては、過去の試合について単に「past」が設定されるだけでなく、いつの試合か（例えば、何試合前の試合か）が設定されていてもよい。例えば図２に支援される状況データ１２１の例では、プレイヤーＡの現在進行形で行われている試合の状況が上段に規定されており、シュート数が８、ゴール数が３、スターティングメンバーで出場、スルーパスが０、アシストが０であることが示されている。また、状況データ１２１の下段にはプレイヤーＡの過去のある試合の状況が規定されており、その試合においては、シュート数が７、ゴール数が２、スターティングメンバーで出場、スルーパスが０、アシストが０でああることが示されている。
【００２３】
第１クエリ作成部１３は、トリガ情報に基づき、第１回答を導出するための第１クエリを作成する。第１クエリ作成部１３は、作成した第１クエリを第１回答導出部１４に出力する。第１クエリ作成部１３は、例えば取得部１１よりトリガ情報の入力を受け、該トリガ情報に示される単語に応じて、第１クエリを作成する。第１クエリ作成部１３は、最初に、トリガ情報に示される単語に応じて評価指標を決定する。評価指標の決定方法は、トリガ情報に所定のアクションに係る単語が含まれている場合と、含まれていない場合とで異なる。所定のアクションに係る単語とは、例えばシュート、ゴール、スルーパス、アシスト等である。また、第１クエリ作成部１３は、いずれの場合においても、トリガ情報に所定の固有名詞が含まれているか否かを判定する。所定の固有名詞とは、例えば選手名、チーム名等である。以下では、トリガ情報には原則、所定の固有名詞が含まれているものとして説明する。なお、第１クエリ作成部１３は、アクションに係る単語及び所定の固有名詞以外の、例えば、「最近」、「以前」等の日時を表す内容の単語を特定してもよい。
【００２４】
第１クエリ作成部１３は、トリガ情報に所定のアクションに係る単語が含まれている場合には、該アクションに関する評価指標を採用し、該アクションに関するクエリを作成する。例えば、アクションに係る単語として「シュート」が抽出された場合、シュート数に対するゴール数（決定率）が評価指標とされてもよい。一方で、第１クエリ作成部１３は、トリガ情報に所定のアクションに係る単語が含まれていない場合には、予め定められた内容の評価指標を採用し、予め定められた内容のクエリを作成する。予め定められた内容のクエリとは、例えば、特定した選手又はチームの調子を尋ねる（活躍度合いを調べる）クエリ等である。この場合、第１クエリ作成部１３は、特定した選手のポジションに応じた、調子を尋ねるクエリを作成する。例えば、トリガ情報に「Ａ選手って最近どうだっけ？」との単語が示されていたとする。この場合、第１クエリ作成部１３は、選手名であるＡ選手を特定すると共に、トリガ情報に所定のアクションに係る単語が含まれていない（つまり、Ａ選手の調子を尋ねるクエリを作成する）と判定する。いま、Ａ選手がＦＷであるとすると、第１クエリ作成部１３は、Ａ選手の調子を尋ねるクエリとして、例えば、Ａ選手のゴール数を尋ねるクエリ（Query(player=A, goal=?, time=present)）を作成する。ゴール数を評価指標とすることは一例であり、例えばＡ選手がＧＫであれば、Ａ選手の失点数が評価指標とされてもよい。なお、第１クエリ作成部１３は、トリガ情報に所定のアクションに係る単語が含まれていない場合において、単に調子を尋ねるクエリを作成するだけでなく、トリガ情報に含まれる単語に応じてより詳細な内容を尋ねるクエリを作成してもよい。
【００２５】
第１クエリ作成部１３は、トリガ情報に基づき、現在進行形の状況に係る第１回答を導出するための第１クエリを作成してもよい。例えば、「Ａ選手って最近どうだっけ？」との単語を含むトリガ情報に対して、第１クエリ作成部１３は、現在進行形の試合についてのＡ選手の調子（ゴール数）を尋ねるクエリを作成する。なお、この場合、後述する第２クエリ作成部１５は、例えば、過去の状況に係る第２回答を導出するための第２クエリを作成することとなる（詳細は後述）。これにより、第１回答及び第２回答から、現在及び過去の状況を考慮した応答文が作成されることとなる。以下では、第１クエリ作成部１３は現在進行形の状況に係る第１回答を導出するための第１クエリを作成し、第２クエリ作成部１５は過去の状況に係る第２回答を導出するための第２クエリを作成するとして説明する。
【００２６】
第１回答導出部１４は、状況を示す情報に基づき、第１クエリに対する第１回答を導出する。より詳細には、第１回答導出部１４は、現在進行形の状況を示す情報に基づき、第１クエリに対する第１回答を導出する。第１回答導出部１４は、第１クエリ作成部１３より第１クエリの入力を受けると、状況ＤＢ１２を参照し、状況を示す情報である状況データに基づいて、第１クエリに対する第１回答を導出する。いま、第１クエリ作成部１３から、Ａ選手の調子を尋ねるクエリとして、例えば、Ａ選手のゴール数を尋ねるクエリ（Query(player=A, goal=?, time=present)）が入力されたとする。この場合、第１回答導出部１４は、例えば図２に示される状況データ１２１に基づき、現在進行形の試合におけるＡ選手のゴール数（３ゴール）を特定し、「３ゴール決めている」との第１回答を導出する。第１回答導出部１４は、導出した第１回答を第２クエリ作成部１５及び応答文作成部１７に出力する。
【００２７】
第２クエリ作成部１５は、第１回答に基づき、第２回答を導出するための第２クエリを作成する。より詳細には、第２クエリ作成部１５は、現在進行形の状況に係る第１回答に基づき、過去の状況に係る第２回答を導出するための第２クエリを作成する。第２クエリ作成部１５は、第１回答導出部１４より第１回答の入力を受けると、第１回答に関連する第２クエリを作成する。第２クエリ作成部１５は、第１回答の入力を受けると、例えば第１回答が良い評価結果であったか、悪い評価結果であったかを判定する。そして、第２クエリ作成部１５は、例えば第１回答が良い評価結果であった場合、過去において同じ評価指標でどうであったかを尋ねるクエリを作成してもよいし、過去においてそれよりも活躍度合いの高い評価指標でどうであったかを尋ねるクエリを作成してもよい。例えば、第１回答によって今日の試合でＡ選手がゴールを決めていることが特定できたとすると、第２クエリ作成部１５は、前の試合でもＡ選手がゴールを決めているかを尋ねるクエリとして、Ａ選手の前の試合におけるゴール数を尋ねるクエリ（Query(player=A, goal=?, time=past)）を作成する。また、第２クエリ作成部１５は、例えば第１回答が悪い評価結果であった場合、過去においてそれよりも活躍度合いの低い評価指標でどうであったかを尋ねるクエリを作成してもよいし、過去において同じ評価指標でどうであったかを尋ねるクエリを作成してもよい。
【００２８】
第２クエリ作成部１５は、例えば図３に示されるようなオートマトンの計算モデルに基づき、上述したようなクエリ作成を行ってもよい。図３に示される例では、最初に、第１クエリ作成部１３によってゴール数が評価指標（今日の結果に対する評価指標）とされており、第１クエリに対する第１回答が良い評価結果（ゴールが１本以上）であった場合には、第２クエリ作成部１５が、過去（前の試合）において同じ評価指標であるゴール数がどうであったかを尋ねるクエリを作成している。一方で、第１クエリに対する第１回答が悪い評価結果（ゴールなし）であった場合には、第２クエリ作成部１５が、過去（前の試合）においてそれよりも活躍度合いの低い評価指標であるスタメンであったかを尋ねるクエリを作成している。図３に示されるように、第２クエリ作成部１５は、第２回答として前の試合においてスタメンであったとの良い評価が得られた場合には、今日の結果に対する評価指標と同じゴール数を尋ねるクエリを更に作成してもよい。なお、オートマトンを用いたクエリの作成処理については機械学習に置き換えられてもよい。
【００２９】
第２回答導出部１６は、状況を示す情報に基づき、第２クエリに対する第２回答を導出する。より詳細には、第２回答導出部１６は、過去の状況を示す情報に基づき、第２クエリに対する第２回答を導出する。第２回答導出部１６は、第２クエリ作成部１５より第２クエリの入力を受けると、状況ＤＢ１２を参照し、状況を示す情報である状況データに基づいて、第２クエリに対する第２回答を導出する。いま、第２クエリ作成部１５から、Ａ選手の調子を尋ねるクエリとして、例えば、Ａ選手の前の試合におけるゴール数を尋ねるクエリ（Query(player=A, goal=?, time=past)）が入力されたとする。この場合、第２回答導出部１６は、例えば図２に示される状況データ１２１に基づき、過去（前の試合）におけるＡ選手のゴール数（２ゴール）を特定し、「２ゴール決めている」との第２回答を導出する。第２回答導出部１６は、導出した第２回答を応答文作成部１７に出力する。
【００３０】
応答文作成部１７は、第１回答及び第２回答を結合することにより、応答文を作成する。例えば、今日の試合に係る第１回答として「３ゴール決めている」が導出されており、前の試合に係る第２回答として「２ゴール決めている」が導出されているとすると、応答文作成部１７は、これらを結合し、「Ａ選手は、今日は３ゴール決めているし、前の試合でも２ゴール決めているよ」という応答文を作成する。応答文作成部１７は、作成した応答文をユーザ端末８０に出力する。
【００３１】
次に、上述した応答文作成装置１０による応答文作成について、図４（ａ）〜図４（ｄ）に示される各状況データが用いられる場合の例について説明する。図４（ａ）〜図４（ｄ）は、状況データの構成例を示す図である。
【００３２】
図４（ａ）に示される状況データ１２２では、事前情報としてＡ選手が前の試合でスタメンではなかったことが示されており、また、リアルタイム情報としてＡ選手が今日の試合でゴールを決めていないことが示されている。この場合において、ユーザの発話に基づき、トリガ情報に「Ａ選手って最近どうだっけ？」との単語が示されていたとする。第１クエリ作成部１３は、トリガ情報に所定のアクションに係る単語が含まれていないこと、Ａ選手がＦＷであることを特定し、Ａ選手の今日のゴール数を尋ねる第１クエリ（Query(player=A, goal=?, time=present)）を作成する。第１回答導出部１４は、図４（ａ）に示される状況データ１２２を参照し、第１クエリに対する第１回答として、「ゴールを決めていない」との回答を導出する。第２クエリ作成部１５は、第１回答が悪い評価結果であった（今日、Ａ選手は活躍していない）と判定し、前の試合においてそれよりも活躍度合いの低い評価指標であるスタメンであったかを尋ねるクエリ（Query(player=A, starting=?)）を作成する。第２回答導出部１６は、図４（ａ）に示される状況データ１２２を参照し、第２クエリに対する第２回答として、「スタメンではなかった」との回答を導出する。そして、応答文作成部１７は、第１回答及び第２回答を結合することにより、「Ａ選手は、今日はゴールを決めていないし、前の試合ではスタメンから外れていたんだよ」との応答文を作成し、ユーザ端末８０に出力する。
【００３３】
図４（ｂ）に示される状況データ１２３では、事前情報としてＡ選手が前の試合でスタメンであったことが示されており、また、リアルタイム情報としてＡ選手が今日の試合でゴールを決めていないことが示されている。この場合において、ユーザの発話に基づき、トリガ情報に「Ａ選手って最近どうだっけ？」との単語が示されていたとする。第１クエリ作成部１３は、トリガ情報に所定のアクションに係る単語が含まれていないこと、Ａ選手がＦＷであることを特定し、Ａ選手の今日のゴール数を尋ねる第１クエリ（Query(player=A, goal=?, time=present)）を作成する。第１回答導出部１４は、図４（ｂ）に示される状況データ１２３を参照し、第１クエリに対する第１回答として、「ゴールを決めていない」との回答を導出する。第２クエリ作成部１５は、第１回答が悪い評価結果であった（今日、Ａ選手は活躍していない）と判定し、前の試合においてそれよりも活躍度合いの低い評価指標であるスタメンであったかを尋ねるクエリ（Query(player=A, starting=?)）を作成する。第２回答導出部１６は、図４（ｂ）に示される状況データ１２３を参照し、第２クエリに対する第２回答として、「スタメンだった」との回答を導出する。更に、第２クエリ作成部１５は、第２回答が良い評価結果であったと判定し、前の試合においてより活躍度合いの高い評価指標であるゴール数を尋ねる第２クエリ（Query(player=A, goal=?, time=past)）を作成する。つまり、第２クエリ作成部１５は、第１クエリ作成部１３と合わせて３つ目の質問を作成する。第２回答導出部１６は、図４（ｂ）に示される状況データ１２３を参照し、第２クエリに対する第２回答（２つ目の第２回答）として、「１ゴール決めている」との回答を導出する。そして、応答文作成部１７は、第１回答及び２つの第２回答を結合することにより、「Ａ選手は今日はゴールを決めていないけど、前の試合ではスタメンで出場してゴールも決めているみたい」との応答文を作成し、ユーザ端末８０に出力する。
【００３４】
図４（ｃ）に示される状況データ１２４では、事前情報としてＡ選手が前の試合で５シュート２ゴールであったことが示されており、また、リアルタイム情報としてＡ選手が今日の試合で６シュート０ゴールであることが示されている。この場合において、ユーザの発話に基づき、トリガ情報に「Ａ選手シュートまた外した！」との単語が示されていたとする。第１クエリ作成部１３は、トリガ情報に所定のアクションに係る単語（シュート）が含まれていることを特定し、シュートに応じた指標である決定率を評価指標に決定する。第１クエリ作成部１３は、Ａ選手の今日の決定率を尋ねる第１クエリ（Query(player=A, goal=?, shoot=?, time=present)）を作成する。第１回答導出部１４は、図４（ｃ）に示される状況データ１２４を参照し、第１クエリに対する第１回答として、「６シュート０ゴール」との回答を導出する。第２クエリ作成部１５は、第１回答が悪い評価結果であった（今日、Ａ選手は活躍していない）と判定し、前の試合において同じ評価指標である決定率を尋ねるクエリ（Query(player=A, goal=?, shoot=?, time=past)）を作成する。第２回答導出部１６は、図４（ｃ）に示される状況データ１２４を参照し、第２クエリに対する第２回答として、「５シュート２ゴール」との回答を導出する。そして、応答文作成部１７は、第１回答及び第２回答を結合することにより、「Ａ選手は、今日は６シュート０ゴールだけど、前の試合では５シュート２ゴールだったよ」との応答文を作成し、ユーザ端末８０に出力する。
【００３５】
図４（ｄ）に示される状況データ１２５では、事前情報としてＡ選手が前の試合で３つアシストしていることが示されており、また、リアルタイム情報としてＡ選手が今日の試合で２つスルーパスを通していることが示されている。図４（ｄ）に関する処理では、取得部１１が、トリガ情報をユーザの発話ではなく状況を示す情報（リアルタイムのアクションに関する情報）から取得するとして説明する。この場合、取得部１１は、図４（ｄ）に示される状況データ１２５を参照し、リアルタイムのアクションに関する情報として、「Ａ選手  スルーパス」を特定し、該情報をトリガ情報として取得する。第１クエリ作成部１３は、当該トリガ情報に所定のアクションに係る単語（スルーパス）が含まれていることを特定し、スルーパス数を評価指標に決定する。第１クエリ作成部１３は、Ａ選手の今日のスルーパス数を尋ねる第１クエリ（Query(player=A, throughpass=?, time=present)）を作成する。第１回答導出部１４は、図４（ｄ）に示される状況データ１２５を参照し、第１クエリに対する第１回答として、「２つのスルーパス」との回答を導出する。第２クエリ作成部１５は、第１回答が良い評価結果であった（今日、Ａ選手は活躍している）と判定し、前の試合においてより活躍度合いの高い評価指標であるアシスト数を尋ねる第２クエリ（Query(player=A, assist=?, time=past)）を作成する。第２回答導出部１６は、図４（ｄ）に示される状況データを参照し、第２クエリに対する第２回答として、「３アシスト」との回答を導出する。そして、応答文作成部１７は、第１回答及び第２回答を結合することにより、「Ａ選手は、前の試合では３アシストを決めていて、今日は２つのスルーパスを通しているよ」との応答文を作成し、ユーザ端末８０に出力する。
【００３６】
次に、応答文作成装置１０で実行される処理について、図５を参照して説明する。図５は、本実施形態に係る応答文作成装置１０で実行される応答文作成処理を示すフローチャートである。
【００３７】
図５に示されるように、応答文作成処理では、最初に、状況を示す情報及びトリガ情報が取得される（ステップＳ１）。具体的には、取得部１１は、状況を示す情報（サッカーの試合の状況を示す情報）を、所定の時間間隔で継続的に外部ＤＢ５０から取得する。取得部１１は、過去の状況を示す情報（既に終了しているサッカーの試合に関する情報）、及び、現在進行形の状況を示す情報（リアルタイムで行われているサッカーの試合に関する情報）の双方を取得する。また、取得部１１は、トリガ情報をユーザの発話から取得する。或いは、取得部１１は、トリガ情報をユーザの発話ではなく状況を示す情報（リアルタイムのアクションに関する情報）から取得してもよい。
【００３８】
つづいて、第１クエリが作成される（ステップＳ２）。具体的には、第１クエリ作成部１３は、トリガ情報に基づき、第１回答を導出するための第１回答を作成する。つづいて、第１回答が導出される（ステップＳ３）。具体的には、第１回答導出部１４は、状況を示す情報に基づき、第１クエリに対する第１回答を導出する。
【００３９】
つづいて、第２クエリが作成される（ステップＳ４）。具体的には、第２クエリ作成部１５は、第１回答に基づき、第２回答を導出するための第２クエリを作成する。つづいて、第２回答が導出される（ステップＳ５）。具体的には、第２回答導出部１６は、状況を示す情報に基づき、第２クエリに対する第２回答を導出する。そして、最後に、応答文が作成される（ステップＳ６）。具体的には、応答文作成部１７は、第１回答及び第２回答を結合することにより、応答文を作成する。
【００４０】
次に、応答文作成装置１０の作用効果について説明する。
【００４１】
応答文作成装置１０は、状況に応じたクエリを作成し、該クエリに対する応答文を作成する応答文作成装置であって、状況を示す情報と、応答文作成開始のトリガとなるトリガ情報とを取得する取得部１１と、トリガ情報に基づき、第１回答を導出するための第１クエリを作成する第１クエリ作成部１３と、状況を示す情報に基づき、第１クエリに対する第１回答を導出する第１回答導出部１４と、第１回答に基づき、第２回答を導出するための第２クエリを作成する第２クエリ作成部１５と、状況を示す情報に基づき、第２クエリに対する第２回答を導出する第２回答導出部１６と、第１回答及び第２回答を結合することにより、応答文を作成する応答文作成部１７と、を備える。本発明の一側面に係る応答文作成装置１０では、取得された状況を示す情報に基づき、第１クエリに対する第１回答、及び、第２クエリに対する第２回答が導出され、これらの回答が結合されて応答文が作成されている。このように、状況に応じて第１回答及び第２回答が作成されこれらの回答が結合されて応答文が作成されることにより、例えば予め準備された対話シナリオ（定型文）から応答文が作成される場合と比較して、状況に応じた適切な応答文（単調ではない応答文）を作成することができる。さらに、応答文作成装置１０では、第１クエリに対する第１回答に基づいて、第２回答を導出するための第２クエリが作成されている。これにより、状況を考慮して導出された回答（第１回答）に応じて、新たなクエリ（第２クエリ）が動的に作成され、その回答（第２回答）が導出されて、第１回答及び第２回答から応答文が作成されることになる。このように、状況を考慮して導出された回答から新たなクエリが作成されてさらなる回答が導出されることにより、これらの回答から得られる応答文が、より状況に沿った適切なものとなる。そして、上述したように、各々のクエリから回答を取得することができれば、あとはこれらの回答を結合するだけで容易に応答文が作成されるため、例えば対話シナリオ（定型文）を大量に準備しておく場合と比べてコストを大幅に低減することができる。以上より、応答文作成装置１０によれば、コストを抑制しながら、様々な状況に応じた適切な応答文を作成することができる。また、容易に応答文が作成されるため、ＣＰＵ等の処理部における処理負荷を軽減するという技術的効果も併せて奏する。
【００４２】
取得部１１は、状況を示す情報として、現在進行形の状況を示す情報を取得する。これにより、現在進行形の状況を考慮して応答文を作成することが可能になり、リアルタイムに変化する状況に対して柔軟に応答文を作成することができる。
【００４３】
取得部１１は、状況を示す情報として、過去の状況を示す情報を更に取得する。これにより、現在進行形の状況だけではなく過去の状況も考慮して応答文を作成することが可能になり、より状況に応じた適切な応答文を作成することができる。
【００４４】
第１クエリ作成部１３は、トリガ情報に基づき、現在進行形の状況に係る第１回答を導出するための第１クエリを作成し、第１回答導出部１４は、現在進行形の状況を示す情報に基づき、第１クエリに対する第１回答を導出し、第２クエリ作成部１５は、第１回答に基づき、過去の状況に係る第２回答を導出するための第２クエリを作成し、第２回答導出部１６は、過去の状況を示す情報に基づき、第２クエリに対する第２回答を導出する。これにより、現在進行形の状況に基づき第１回答が導出されると共に第１回答に関連する第２クエリが作成され、過去の状況に基づき第２クエリに対する第２回答が導出される。このように、関連する内容について、現在進行形の状況に基づく回答（第１回答）と過去の状況に基づく回答（第２回答）とが得られることにより、より状況に応じた適切な応答文を作成することができる。
【００４５】
取得部１１は、トリガ情報をユーザの発話から取得する。これにより、より好適に、ユーザが求めている応答文を作成することができる。また、取得部１１は、トリガ情報を状況を示す情報から取得してもよい。これにより、ユーザから何らかの入力（発話等）がない場合においても、状況に応じて応答文を作成することができる。
【００４６】
最後に、応答文作成装置１０のハードウェア構成について、図６を参照して説明する。上述の応答文作成装置１０は、物理的には、プロセッサ１００１、メモリ１００２、ストレージ１００３、通信装置１００４、入力装置１００５、出力装置１００６、バス１００７などを含むコンピュータ装置として構成されてもよい。
【００４７】
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。応答文作成装置１０のハードウェア構成は、図に示した各装置を１つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
【００４８】
応答文作成装置１０における各機能は、プロセッサ１００１、メモリ１００２などのハードウェア上に所定のソフトウェア（プログラム）を読み込ませることで、プロセッサ１００１が演算を行い、通信装置１００４による通信や、メモリ１００２及びストレージ１００３におけるデータの読み出し及び／又は書き込みを制御することで実現される。
【００４９】
プロセッサ１００１は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ１００１は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置（ＣＰＵ：Central  Processing  Unit）で構成されてもよい。例えば、応答文作成装置１０の取得部１１等の制御機能はプロセッサ１００１で実現されてもよい。
【００５０】
また、プロセッサ１００１は、プログラム（プログラムコード）、ソフトウェアモジュールやデータを、ストレージ１００３及び／又は通信装置１００４からメモリ１００２に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、応答文作成装置１０の取得部１１等の制御機能は、メモリ１００２に格納され、プロセッサ１００１で動作する制御プログラムによって実現されてもよく、他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、１つのプロセッサ１００１で実行される旨を説明してきたが、２以上のプロセッサ１００１により同時又は逐次に実行されてもよい。プロセッサ１００１は、１以上のチップで実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
【００５１】
メモリ１００２は、コンピュータ読み取り可能な記録媒体であり、例えば、ＲＯＭ（Read  Only  Memory）、ＥＰＲＯＭ（Erasable  Programmable  ＲＯＭ）、ＥＥＰＲＯＭ（Electrically Erasable Programmable ＲＯＭ）、ＲＡＭ（Random  Access  Memory）などの少なくとも１つで構成されてもよい。メモリ１００２は、レジスタ、キャッシュ、メインメモリ（主記憶装置）などと呼ばれてもよい。メモリ１００２は、本発明の一実施の形態に係る無線通信方法を実施するために実行可能なプログラム（プログラムコード）、ソフトウェアモジュールなどを保存することができる。
【００５２】
ストレージ１００３は、コンピュータ読み取り可能な記録媒体であり、例えば、ＣＤ−ＲＯＭ（Compact  Disc  ＲＯＭ）などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Ｂｌｕ−ｒａｙ（登録商標）ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー（登録商標）ディスク、磁気ストリップなどの少なくとも１つで構成されてもよい。ストレージ１００３は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ１００２及び／又はストレージ１００３を含むデータベース、サーバその他の適切な媒体であってもよい。
【００５３】
通信装置１００４は、有線及び／又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア（送受信デバイス）であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
【００５４】
入力装置１００５は、外部からの入力を受け付ける入力デバイス（例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど）である。出力装置１００６は、外部への出力を実施する出力デバイス（例えば、ディスプレイ、スピーカー、LEDランプなど）である。なお、入力装置１００５及び出力装置１００６は、一体となった構成（例えば、タッチパネル）であってもよい。
【００５５】
また、プロセッサ１００１やメモリ１００２などの各装置は、情報を通信するためのバス１００７で接続される。バス１００７は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
【００５６】
また、応答文作成装置１０は、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ：Digital  Signal  Processor）、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＰＬＤ（Programmable  Logic  Device）、ＦＰＧＡ（Field  Programmable  Gate  Array）などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ１００１は、これらのハードウェアの少なくとも１つで実装されてもよい。
【００５７】
以上、本実施形態について詳細に説明したが、当業者にとっては、本実施形態が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本実施形態は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本実施形態に対して何ら制限的な意味を有するものではない。例えば、状況を示す情報として、現在進行形の情報及び過去の状況を示す情報の双方を取得するとして説明したがこれに限定されず、いずれか一方のみを取得して、応答文作成に用いてもよい。
【００５８】
本明細書で説明した各態様／実施形態は、ＬＴＥ（Long  Term  Evolution）、ＬＴＥ−Ａ（LTE-Advanced）、ＳＵＰＥＲ  ３Ｇ、ＩＭＴ−Ａｄｖａｎｃｅｄ、４Ｇ、５Ｇ、ＦＲＡ（Future  Radio  Access）、Ｗ−ＣＤＭＡ（登録商標）、ＧＳＭ（登録商標）、ＣＤＭＡ２０００、ＵＭＢ（Ultra  Mobile  Broad-band）、ＩＥＥＥ  ８０２．１１（Ｗｉ−Ｆｉ）、ＩＥＥＥ  ８０２．１６（ＷｉＭＡＸ）、ＩＥＥＥ  ８０２．２０、ＵＷＢ（Ultra-Wide  Band）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、その他の適切なシステムを利用するシステム及び／又はこれらに基づいて拡張された次世代システムに適用されてもよい。
【００５９】
本明細書で説明した各態様／実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【００６０】
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、または追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
【００６１】
判定は、１ビットで表される値（０か１か）によって行われてもよいし、真偽値（Boolean：trueまたはfalse）によって行われてもよいし、数値の比較（例えば、所定の値との比較）によって行われてもよい。
【００６２】
本明細書で説明した各態様／実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知（例えば、「Ｘであること」の通知）は、明示的に行うものに限られず、暗黙的（例えば、当該所定の情報の通知を行わない）ことによって行われてもよい。
【００６３】
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
【００６４】
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線（ＤＳＬ）などの有線技術及び／又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び／又は無線技術は、伝送媒体の定義内に含まれる。
【００６５】
本明細書で説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
【００６６】
なお、本明細書で説明した用語及び／又は本明細書の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。
【００６７】
また、本明細書で説明した情報、パラメータなどは、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。
【００６８】
ユーザ端末は、当業者によって、移動通信端末、加入者局、モバイルユニット、加入者ユニット、ワイヤレスユニット、リモートユニット、モバイルデバイス、ワイヤレスデバイス、ワイヤレス通信デバイス、リモートデバイス、モバイル加入者局、アクセス端末、モバイル端末、ワイヤレス端末、リモート端末、ハンドセット、ユーザエージェント、モバイルクライアント、クライアント、またはいくつかの他の適切な用語で呼ばれる場合もある。
【００６９】
本明細書で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up)（例えば、テーブル、データベースまたは別のデータ構造での探索）、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)（例えば、情報を受信すること）、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)（例えば、メモリ中のデータにアクセスすること）した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。
【００７０】
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
【００７１】
本明細書で「第１の」、「第２の」などの呼称を使用した場合においては、その要素へのいかなる参照も、それらの要素の量または順序を全般的に限定するものではない。これらの呼称は、２つ以上の要素間を区別する便利な方法として本明細書で使用され得る。したがって、第１および第２の要素への参照は、２つの要素のみがそこで採用され得ること、または何らかの形で第１の要素が第２の要素に先行しなければならないことを意味しない。
【００７２】
「含む（include）」、「含んでいる（including）」、およびそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「または（or）」は、排他的論理和ではないことが意図される。
【００７３】
本明細書において、文脈または技術的に明らかに1つのみしか存在しない装置である場合以外は、複数の装置をも含むものとする。
【００７４】
本開示の全体において、文脈から明らかに単数を示したものではなければ、複数のものを含むものとする。
【符号の説明】
【００７５】
１０…応答文作成装置、１１…取得部、１３…第１クエリ作成部、１４…第１回答導出部、１５…第２クエリ作成部、１６…第２回答導出部、１７…応答文作成部。
【図１】
2020054201.tif 000003
【図２】
2020054201.tif 000004
【図３】
2020054201.tif 000005
【図４】
2020054201.tif 000006
【図５】
2020054201.tif 000007
【図６】
2020054201.tif 000008
【国際調査報告】
2020054201.tif 000009
2020054201.tif 000010