(57)【要約】【課題】  一連の文章に基づいてコンテキストを考慮した機能を実行する場合であっても、機能の実行を適切に行う。【解決手段】  タスク判定装置１０は、文章を入力する文章入力部１１と、入力された文章及びコンテキストに基づいて実行される機能を含む複数の機能の実行を指示するコマンド生成部１２と、入力された文章に基づいて、実行が指示される機能を決定するタスク判定部１３と、決定された機能、又は当該機能の実行状態に基づいて、コンテキストの更新を行うか否かを判定するコンテキスト更新判定部１４と、文章に基づいてコンテキストを更新させるコンテキスト更新部１５とを備える。【選択図】  図１
2015081971.tif 000002
【特許請求の範囲】
【請求項１】
文章を入力する文章入力手段と、
前記文章入力手段によって入力された文章及びコンテキストに基づいて実行される機能を含む複数の機能の実行を指示する機能実行指示手段と、
前記文章入力手段によって入力された文章に基づいて、前記複数の機能から前記機能実行指示手段によって実行が指示される機能を決定する実行機能決定手段と、
前記実行機能決定手段によって決定された機能、又は当該機能の実行状態に基づいて、前記コンテキストの更新を行うか否かを判定するコンテキスト更新判定手段と、
前記コンテキスト更新判定手段による判定に応じて、前記文章入力手段によって入力された文章に基づいて前記コンテキストを更新させるコンテキスト更新手段と、
を備える機能実行指示システム。
【請求項２】
前記機能実行指示手段は、前記文章入力手段によって入力された文章及びコンテキストを入力として実行される機能として、当該文章に対する当該コンテキストに基づく応答の文章を生成して出力する機能の実行を指示する請求項１に記載の機能実行指示システム。
【請求項３】
前記機能実行指示手段から文章及びコンテキストを入力して、当該文章に対する当該コンテキストに基づく応答の文章を生成して出力する応答文生成手段を更に備える請求項２に記載の機能実行指示システム。
【請求項４】
前記文章入力手段は、ユーザ毎に文章を入力し、
前記コンテキスト更新手段は、ユーザ毎にコンテキストを更新させる、請求項１〜３の何れか一項に記載の機能実行指示システム。
【請求項５】
前記コンテキスト更新手段は、前記文章入力手段によって入力された文章に応じて、前記コンテキストをリセットする請求項１〜４の何れか一項に記載の機能実行指示システム。
【請求項６】
音声を入力して、入力した音声に対して音声認識を行って、音声認識を行った結果を前記文章入力手段に入力する音声認識手段を更に備える請求項１〜５の何れか一項に記載の機能実行指示システム。
【請求項７】
文章を入力する文章入力ステップと、
前記文章入力ステップにおいて入力された文章及びコンテキストに基づいて実行される機能を含む複数の機能の実行を指示する機能実行指示ステップと、
前記文章入力ステップにおいて入力された文章に基づいて、前記複数の機能から前記機能実行指示ステップにおいて実行が指示される機能を決定する実行機能決定ステップと、
前記実行機能決定ステップにおいて決定された機能、又は当該機能の実行状態に基づいて、前記コンテキストの更新を行うか否かを判定するコンテキスト更新判定ステップと、
前記コンテキスト更新判定ステップにおける判定に応じて、前記文章入力ステップにおいて入力された文章に基づいて前記コンテキストを更新させるコンテキスト更新ステップと、
を含む機能実行指示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機能の実行を指示することができる機能実行指示システム及び機能実行指示方法に関する。
【背景技術】
【０００２】
近年、特に携帯端末において、音声認識されたユーザの音声発話文に応じて、様々な操作や検索を行うことを可能とする音声エージェントのアプリケーションが増えている。例えば、ユーザの音声により、音楽や動画といったコンテンツの検索、メールや電話といった機能の操作が可能なシステムがある（例えば、非特許文献１参照）。このようなシステムを実現するために、エージェントは各種検索サーバ、各種端末機能とそれぞれ接続される。そして、ユーザの発話からユーザが実行したい機能（タスク）を判定し、その結果に応じてサーバや携帯端末においてタスクを実行させる。
【０００３】
例えば、非特許文献１で示したシステムでは、以下のように実行されるタスクが判定される。ユーザの発話が「ニュースが知りたい」というものである場合、ニュース検索のタスクが実行されるものと判定される。ユーザの発話が「ＸＸさんに電話」というものである場合、電話機能のタスクが実行されるものと判定される。ユーザの発話が「こんにちは」というものである場合、雑談のタスクが実行されるものと判定される。
【０００４】
上記の通り、非特許文献１で示したシステムでは、通常の検索タスクや操作タスク以外に雑談にも対応している。雑談とは、ユーザの発話が通常の検索タスクや操作タスクを実行するものでなかった場合に、ユーザの発話（雑談発話）に応じた音声やテキストの出力による応答を行って、ユーザがシステムと会話（雑談）する機能である。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】吉村健，「しゃべってコンシェルと言語処理」，情報処理学会研究報告. SLP，音声言語情報処理 2012-SLP-93(4)，1-6，2012-10-19
【発明の概要】
【発明が解決しようとする課題】
【０００６】
このような仕組みを実現する対話システムの一例を図９に示す。対話システムは、対話エージェント、雑談応答システム及びコンテンツ検索システムを含んで構成される。対話エージェントは、ユーザから発話を受け取り、応答を返すシステムである。対話エージェントは、ユーザの発話に基づいて実行するタスクが何れであるかを判定し、判定したタスクに応じた応答を別のシステムから取得してユーザに対して出力する。実行するタスクは、雑談、検索及び操作タスク等の何れかである。
【０００７】
対話エージェントは、判定したタスクが雑談タスクである場合には、雑談応答システムにユーザの発話を出力する。雑談応答システムは、発話を入力し、当該発話（雑談）に対する応答文を生成して、当該応答文を発話に対する応答として対話エージェントに出力する。対話エージェントは、判定したタスクが検索タスクである場合には、発話に応じた検索をコンテンツ検索システムに対して要求する。コンテンツ検索システムは、要求された検索を行い、検索結果を発話に対する応答として対話エージェントに出力する。対話エージェントは、判定したタスクが操作タスクである場合には、端末（ユーザ端末）上で動作する、発話に応じた機能を起動、操作する。
【０００８】
このようなシステムの拡張として、複数回にわたる音声対話による検索や操作（タスク）の実現も考えられる。対話例を以下に示す。
ユーザ「お腹が減った」
エージェント「何を食べますか」
ユーザ「ラーメン」
エージェント「付近に３件のラーメン店があります。最寄に案内しますか」
ユーザ「はい」
【０００９】
これらは何れも一つのタスク（例えば、グルメ検索タスク）内での対話であるが、対話が進むにつれて状態が変化していく。例えば、最初のユーザの発話は、タスクを起動する状態での発話（タスクを起動するための発話）、二番目のユーザの発話は、料理ジャンルを検索する状態での発話（料理ジャンルを特定するための発話）、そして三番目のユーザの発話は確認入力の状態での発話である。
【００１０】
高度な雑談応答システムは、ユーザの発話に対して単に応答（雑談応答）するだけでなく、それまでのユーザとのやり取りに応じたコンテキストを生成し、生成したコンテキストに応じた応答を行う。コンテキストを考慮した雑談対話の例を以下に示す。
ユーザ「ラーメンが好きです」
エージェント「私も好きですよ」
ユーザ「何が一番好き」
エージェント「やっぱり塩ですね」
【００１１】
上記の例では、最初のユーザの発話によって、エージェントはコンテキストとして「ラーメン」を設定する。二番目のユーザの発話では「好き」というものの対象が示されていないが、設定されたコンテキストを考慮することで「ラーメン」の種類を答えることができる。
【００１２】
ここで、図９に示したような対話システムを考える。上述した対話システムでは、実行されるタスクは互いに独立している。従って、対話エージェントは、実行されるタスクが雑談タスクである場合に限り、雑談応答システムに発話を渡す。雑談応答システムは、発話を渡されると当該発話に基づいてコンテキストを作成し、雑談応答文を返信する。ここで、以下のような対話を考える。
ユーザ「ラーメンが食べたい」（タスク：グルメ検索）
エージェント「付近に３件のラーメン店があります。最寄に案内しますか」
ユーザ「はい」
ユーザ「何が一番好き」（タスク：雑談）
エージェント「ご主人さまのお役に立つことです」
【００１３】
上記の例では、ユーザはラーメンについて何が一番好きか答えて欲しかったものと考えられるが、エージェントはラーメンとは全く関係のない答えを返している。これは、最初の「ラーメンが食べたい」とのユーザの発話がグルメ検索のタスクを実行させるためのものであり、雑談応答システムに発話が送られず、「ラーメン」のコンテキストが生成されなかったことが原因である。このように、実行されるタスクが雑談タスクである場合のみ、発話を雑談応答システムに入力するとユーザとエージェントとの会話が不自然なものとなる。
【００１４】
この問題を解決するために、全ての発話を雑談応答システムに入力し、コンテキストを更新していく方法が考えられる。しかし、そうした場合、下記のようなユーザにとって大きな意味のない発話に対しても、コンテキストの生成が行われてしまう可能性がある。
ユーザ「横浜周辺の観光スポットを検索して」（タスク：観光地検索、コンテキスト：横浜）
エージェント「地図上に検索結果を表示しました」
ユーザ「少し地図を大きくして」（タスク：地図拡大、コンテキスト：地図）
エージェント「地図を拡大します」
ユーザ「お勧めは」（タスク：雑談）
エージェント「地図機能はお勧めですね」
【００１５】
上記の例では、ユーザが地図の操作を行っているため、ユーザの「お勧めは」との発話に対して、エージェントは「地図」に関連した応答をしている。しかし、ユーザの「お勧めは」との発話に対しては、それ以前のユーザの発話の「横浜」に関連した応答を返信するのが自然である。このように、ユーザの発話毎にコンテキストを更新したとしても、ユーザとエージェントとの会話が不自然なものとなってしまう。
【００１６】
本発明は、上記の問題点に鑑みてなされたものであり、一連の文章に基づいてコンテキストを考慮した機能を実行する場合であっても、機能の実行を適切に行うことができる機能実行指示システム及び機能実行指示方法を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記の目的を達成するために、本発明に係る機能実行指示システムは、文章を入力する文章入力手段と、文章入力手段によって入力された文章及びコンテキストに基づいて実行される機能を含む複数の機能の実行を指示する機能実行指示手段と、文章入力手段によって入力された文章に基づいて、複数の機能から機能実行指示手段によって実行が指示される機能を決定する実行機能決定手段と、実行機能決定手段によって決定された機能、又は当該機能の実行状態に基づいて、コンテキストの更新を行うか否かを判定するコンテキスト更新判定手段と、コンテキスト更新判定手段による判定に応じて、文章入力手段によって入力された文章に基づいてコンテキストを更新させるコンテキスト更新手段と、を備える。
【００１８】
本発明に係る機能実行指示システムでは、文章及びコンテキストに基づいて実行される機能を含む複数の機能の実行が指示される。当該コンテキストは、文章に基づいて実行が指示される機能として決定された機能、又は当該機能の実行状態に基づいて更新されるか否かが判断される。これにより、本発明に係る機能実行指示システムでは、コンテキストを更新すべき機能を実行する文章が入力された場合には、コンテキストを更新させることができ、それ以外の場合には、コンテキストを更新せずに維持させることができる。従って、本発明に係る機能実行指示システムによれば、一連の文章に基づいてコンテキストを考慮した機能を実行する場合であっても、機能の実行を適切に行うことができる。
【００１９】
機能実行指示手段は、文章入力手段によって入力された文章及びコンテキストを入力として実行される機能として、当該文章に対する当該コンテキストに基づく応答の文章を生成して出力する機能の実行を指示することとしてもよい。この構成によれば、例えば、雑談応答の機能の実行を、一連の文章に基づいてコンテキストを考慮して適切に行うことができる。
【００２０】
機能実行指示システムは、機能実行指示手段から文章及びコンテキストを入力して、当該文章に対する当該コンテキストに基づく応答の文章を生成して出力する応答文生成手段を更に備えることとしてもよい。この構成によれば、例えば、本発明による雑談応答の機能を確実に実施することができる。
【００２１】
文章入力手段は、ユーザ毎に文章を入力し、コンテキスト更新手段は、ユーザ毎にコンテキストを更新させる、こととしてもよい。この構成によれば、ユーザ毎に機能の実行を適切に行うことができる。
【００２２】
コンテキスト更新手段は、文章入力手段によって入力された文章に応じて、コンテキストをリセットすることとしてもよい。この構成によれば、適切かつ確実にコンテキストのリセットを行うことができ、機能の実行を更に適切に行うことができる。
【００２３】
機能実行指示システムは、音声を入力して、入力した音声に対して音声認識を行って、音声認識を行った結果を文章入力手段に入力する音声認識手段を更に備えることとしてもよい。この構成によれば、ユーザの音声によって機能を実行することが可能となる。
【００２４】
ところで、本発明は、上記のように機能実行指示システムの発明として記述できる他に、以下のように機能実行指示方法の発明としても記述することができる。これはカテゴリが異なるだけで、実質的に同一の発明であり、同様の作用及び効果を奏する。
【００２５】
即ち、本発明に係る機能実行指示方法は、文章を入力する文章入力ステップと、文章入力ステップにおいて入力された文章及びコンテキストに基づいて実行される機能を含む複数の機能の実行を指示する機能実行指示ステップと、文章入力ステップにおいて入力された文章に基づいて、複数の機能から機能実行指示ステップにおいて実行が指示される機能を決定する実行機能決定ステップと、実行機能決定ステップにおいて決定された機能、又は当該機能の実行状態に基づいて、コンテキストの更新を行うか否かを判定するコンテキスト更新判定ステップと、コンテキスト更新判定ステップにおける判定に応じて、文章入力ステップにおいて入力された文章に基づいてコンテキストを更新させるコンテキスト更新ステップと、を含む。
【発明の効果】
【００２６】
本発明では、コンテキストを更新すべき機能を実行する文章が入力された場合には、コンテキストを更新させることができ、それ以外の場合には、コンテキストを更新せずに維持させることができる。従って、本発明によれば、一連の文章に基づいてコンテキストを考慮した機能を実行する場合であっても、機能の実行を適切に行うことができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施形態に係る機能実行指示システムであるタスク判定装置の構成、及び当該タスク判定装置を含むシステムの構成を示す図である。
【図２】雑談応答装置において保持されるコンテキスト管理テーブルを示す表である。
【図３】雑談応答装置における応答文生成の流れを示す図である。
【図４】応答文作成に用いられる情報を示す表である。
【図５】コンテキストの更新の判断に用いられるコンテキスト更新ポリシーを示す表である。
【図６】コンテキストの更新の判断に用いられるコンテキスト更新ポリシーの別の例を示す表である。
【図７】本発明の実施形態に係る機能実行指示システムであるタスク判定装置のハードウェア構成を示す図である。
【図８】本発明の実施形態に係る機能実行指示システムで実行される処理（機能実行指示方法）を示すフローチャートである。
【図９】ユーザの発話に応じた処理を行う対話システムの一例を示す図である。
【発明を実施するための形態】
【００２８】
以下、図面と共に本発明に係る機能実行指示システム及び機能実行指示方法の実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【００２９】
図１に本実施形態に係る機能実行指示システムであるタスク判定装置１０を示す。タスク判定装置１０は、予め設定された複数の機能の実行を指示する装置である。なお、本実施形態では、実行される機能をタスクと呼ぶ。タスクの実行の指示は、雑談応答装置３０、検索タスク処理装置４０及び通信端末５０の何れかに対して行われる。また、後述するように実行が指示されるタスクは、通信端末５０のユーザの発話に基づいて判断される。また、タスクの実行の指示は、通信端末５０のユーザの発話をトリガとして行われる。即ち、ユーザが発話することで機能が実行される。タスク判定装置１０によるタスクの実行の指示が行われるため、通信端末５０は、音声認識装置２０と情報が送受信可能なように構成されている。
【００３０】
また、タスク判定装置１０によって実行が指示されるタスクは、例えば、検索タスク、操作タスク、雑談タスク等の種別がある。検索タスクは、ユーザが希望する情報を検索するものである。具体的には、検索タスクは、グルメ検索（レストラン検索）等の施設検索や乗換案内等のナビゲーション情報の検索である。検索の実行は検索タスク処理装置４０によって行われ、検索結果の情報は通信端末５０に出力される。
【００３１】
操作タスクは、通信端末５０が有する機能を操作するものである。操作される通信端末５０が有する機能としては、例えば、メール作成、音楽プレーヤ、スケジューラ、電話の発着信、カメラ等の機能がある。具体的には、通信端末５０においてそれらのタスクを実行するためのアプリケーションプログラムが起動される。更にタスクの内容によっては、アプリケーションプログラム起動後の動作も行われる。例えば、メール作成のタスクでは、メール本文や宛先への情報の入力が行われる。
【００３２】
雑談タスクは、ユーザの発話に対して、適当な会話を構成する応答文を出力するものである。応答文は、雑談応答装置３０によって生成されて、通信端末５０に出力される。
【００３３】
また、実行が指示されるタスクには、単語を入力（引数）とする機能があってもよい。これをタスクのスロットと呼ぶ。スロットは、タスク毎に予め定められている。例えば、乗換案内のタスクであれば、発駅や着駅をスロットへの入力としてタスクが実行される。あるいは、グルメ検索のタスクであれば、料理名をスロットへの入力として、入力された料理に関しての店舗が検索される。また、電話帳検索のタスクであれば、人名をスロットへの入力として、入力された人名に対応付けられた電話番号等の情報が検索される。なお、タスクには０個以上のスロットが定義されていてもよい。即ち、スロットがないタスクがあってもよい。以上が、本実施形態に係る各装置１０〜５０の概要である。引き続いて、各装置１０〜５０についてより詳細に説明する。
【００３４】
通信端末５０は、通信網（例えば、移動体通信網）を介してタスク判定装置１０及び音声認識装置２０等と通信を行うことができる装置であり、例えば、携帯電話機（スマートフォンを含む）やＰＣ（Personal Computer）に相当する。また、通信端末５０は、自動車等の車両で用いられるカーナビゲーション機能を搭載する端末であってもよい。また、通信端末５０は、雑談応答装置３０及び検索タスク処理装置４０との間で直接、通信を行えるものとしてもよい。
【００３５】
上記のタスクは、ユーザの音声をトリガとして実行されるため、通信端末５０はユーザの音声を入力する機能（音声認識インタフェース）を有している。また、通信端末５０は、タスク判定装置１０からの指示を受けてタスクを実行する機能、及びタスク判定装置１０からタスクの実行結果を受信して出力する機能、例えば、情報の受信機能、情報処理機能及び表示機能（例えば、各種のコンテンツを表示するブラウザ）等を有している。
【００３６】
即ち、通信端末５０は、１つ以上の（あるいは複数の）タスクを実行する機能実行手段を有している。具体的には、通信端末５０は、タスクに対応するアプリケーションプログラムを予め記憶しておき、記憶したアプリケーションプログラムを実行（起動）することによってタスクを実行する。通信端末５０によって実行されるタスクは、後述するようにタスク判定装置１０によって指示される。また、タスクの実行は、アプリケーションを実行する以外にも、ネットワークからタスクに応じた情報を取得することで行われてもよい。
【００３７】
通信端末５０は、上記の機能を実行するためのアプリケーション（対話アプリ）を自端末上で実行して、上記の機能を実現することとしてもよい。
【００３８】
タスク判定装置１０によるタスクの実行の指示は、次のように行われる。まず、ユーザが、通信端末５０に対して実行したいタスクに応じた発話を行う。当該発話がなされると、通信端末５０がユーザの音声（発話）を入力する。入力された音声は、通信端末５０から音声認識装置２０に送信される。音声認識装置２０は、通信端末５０から音声を受信し、受信した音声に対して音声認識を行う。音声認識装置２０は、音声認識の結果である文章（テキスト）を通信端末５０に送信する。通信端末５０は、音声認識の結果を受信して、更にタスク判定装置１０に送信する。通信端末５０は、この送信の際、コンテキストを特定するための情報であるコンテキストＩＤを合わせてタスク判定装置１０送信する。コンテキストについては、後述する。なお、コンテキストＩＤは、ユーザ毎に予め設定されており、通信端末５０に記憶されている。タスク判定装置１０は、当該音声認識の結果を受信して、その音声認識の結果に基づいて実行すべきタスクを決定して、当該タスクの実行を指示する。
【００３９】
実行すべきタスクが検索タスクであれば、タスク判定装置１０は、検索タスク処理装置４０に対して検索の要求を行う。例えば、タスク判定装置１０は、実行すべき検索を示す情報（例えば、検索のキーワードや検索の条件等）を検索タスク処理装置４０に送信する。検索タスク処理装置４０は、当該検索の要求を受信して、要求に応じた検索を実行する。検索タスク処理装置４０は、検索結果を示す情報をタスク判定装置１０に送信する。タスク判定装置１０は、検索結果を示す情報を受信し、通信端末５０に送信する。通信端末５０は、タスク判定装置１０から検索結果を示す情報を受信して、表示出力等の出力を行う。
【００４０】
実行すべきタスクが操作タスクであれば、タスク判定装置１０は、通信端末５０に対して操作の指示を行う。例えば、タスク判定装置１０は、操作すべき機能を示す情報を通信端末５０に送信する。通信端末５０は、タスク判定装置１０からの指示を受信して、当該指示に応じた操作を実行する。
【００４１】
実行すべきタスクが雑談タスクであれば、タスク判定装置１０は、雑談応答装置３０に対して、音声認識の結果である文章を入力し、当該文章に対する応答の文章である応答文の生成の要求を行う。また、応答文の生成の要求の際に、タスク判定装置１０は、コンテキストを特定するための情報であるコンテキストＩＤを雑談応答装置３０に入力する。コンテキストは、一連のユーザの発話（ユーザの発話に基づく文章）における話題を示す情報である。雑談応答装置３０は、タスク判定装置１０から文章及びコンテキストＩＤを受信して、コンテキストＩＤからコンテキストを特定し、文章及びコンテキストに基づき当該文章に対する応答文を生成する。雑談応答装置３０は、生成した応答文をタスク判定装置１０に送信する。タスク判定装置１０は、応答文を受信し、通信端末５０に送信する。通信端末５０は、タスク判定装置１０から応答文を受信して、ユーザの発話に対する応答として当該応答文の表示又は音声等の出力を行う。
【００４２】
上記の通り、通信端末５０では、ユーザの発話に対して対話的に応答がなされる。即ち、タスク判定装置１０は、通信端末５０に対する対話エージェントを構成している。
【００４３】
なお、音声認識の結果である文章はいったん通信端末５０に送られることなく、音声認識装置２０からタスク判定装置１０へ直接送信されてもよい。更に、タスク判定装置１０と音声認識装置２０は一体であってもよい。
【００４４】
音声認識装置２０は、音声（音声データ）を入力して、入力した音声に対して音声認識を行い、音声認識を行った結果を出力する音声認識手段である装置である。具体的には、上述したように音声認識装置２０は、通信端末５０から音声データを受信する。音声認識装置２０は、音声認識エンジンを有しており、当該音声認識エンジンを用いて音声認識を行う。音声認識自体は、従来の任意の音声認識方法を利用することができる。音声認識装置２０は、音声認識結果を文章として取得して、通信端末５０に送信する。なお、ここでいう文章には、例えば、単語の集合（１以上の単語からなる単語群）等の音声認識によって得られ、タスクの決定に用いることができる任意の文字情報が含まれえる。
【００４５】
雑談応答装置３０は、上述したように、ユーザの発話による文章に対して応答文を生成する装置である。雑談応答装置３０は、通信網等を介してタスク判定装置１０と接続されており、タスク判定装置１０との間で通信を行うことができる。図１に示すように、雑談応答装置３０は、コンテキスト生成部３１と、雑談応答生成部３２とを備えて構成される。
【００４６】
コンテキスト生成部３１は、タスク判定装置１０からコンテキストの生成の要求を受信して、当該要求に基づいてコンテキストを生成する手段である。コンテキストは、具体的には、図２に示すように「ラーメン」、「横浜」、「天気」といった話題を示す単語である。雑談応答装置３０は、図２に示すようなコンテキストとコンテキストを特定する情報であるコンテキストＩＤとを対応付けた情報であるコンテキスト管理テーブルを記憶しており、コンテキストＩＤからコンテキストを特定できるようになっている。なお、コンテキストＩＤは、例えば、通信端末５０のユーザ毎にコンテキストを特定するための情報であり、当該ユーザ毎に予め割り振られている。図２に示す例では、コンテキストＩＤが「０００１」（のユーザ）のコンテキストは存在せず、コンテキストＩＤが「０００２」（のユーザ）のコンテキストは「ラーメン」である。
【００４７】
コンテキストの生成の要求には、コンテキストＩＤ、及びユーザの発話による文章が含まれている。コンテキスト生成部３１は、当該要求に含まれる文章からコンテキストを抽出（生成）する。コンテキストの生成には、具体的には、従来の方法を用いることができる。例えば、Barbara J. Grosz and Candace L. Sidner, “Attention,intentions, and the structure of discourse Computational Linguistics”, Volume 12 Issue 3, 1986, Pages 175-204, MIT Press.（非特許文献２）に記載されているセンター理論により、ユーザの発話による文章から生成することができる。また、特に本理論を日本語に適用した吉田悦子，人文論叢: 三重大学人文学部文化学科研究紀要20, pp. 193-202, 2003, 三重大学．（非特許文献３）や竹井光子，藤原美保，相沢輝昭，センタリング理論とゼロ代名詞： 日本語コーパス分析と母語話者調査の結果から．言語処理学会第12 回年次大会発表論文集，pp.  292-295，2006.（非特許文献４）に記載された方法によれば、ユーザの発話による文章中の格助詞に注目して、名詞をコンテキストとして抽出することができる。なお、コンテキストの生成の方法は、上記のものに限られず、文章からコンテキストを生成するものであれば任意の方法を用いることができる。
【００４８】
コンテキスト生成部３１は、コンテキストを生成すると、コンテキスト管理テーブルにおける、コンテキストの生成の要求に含まれるコンテキストＩＤに対応するコンテキストを、生成したコンテキストで更新する。例えば、要求に含まれる文章が「ラーメンが好きです」というものであった場合、コンテキスト生成部３１は、「ラーメン」とのコンテキストを生成し、コンテキスト管理テーブルにおける、要求に含まれるコンテキストＩＤに対応するコンテキストを「ラーメン」に更新する。
【００４９】
なお、コンテキストの生成の要求に含まれる文章がコンテキストの生成（抽出）を行うのに適切でない場合には、コンテキストの生成は行われない。コンテキストの生成を行うのに適切でない文章とは、例えば、話題となりえる単語を含まない文章である。その場合、コンテキスト生成部３１は、コンテキスト管理テーブルの更新を行わない。即ち、それ以前に更新されたコンテキストがそのままコンテキストＩＤに対応づけられた状態となる。
【００５０】
また、コンテキスト生成部３１は、タスク判定装置１０からコンテキストのリセットの要求を受信すると、当該要求に含まれるコンテキストＩＤに対応するコンテキストをコンテキスト管理テーブルから消去する。即ち、当該コンテキストＩＤに対応するコンテキストは存在しないものとされる。また、コンテキスト生成部３１は、予めタイムアウト時間を記憶しておき、コンテキストの生成又は更新から当該タイムアウト時間を経過したら、当該コンテキストをコンテキスト管理テーブルから消去することとしてもよい。即ち、リセットだけでなく、タイムアウトによりコンテキストが消去されてもよい。また、コンテキスト生成部３１は、コンテキスト管理テーブルからコンテキストを消去する際に、コンテキストＩＤも同時に消去してもよい。この場合、コンテキスト生成部３１は、コンテキストの生成の要求があった場合、コンテキスト管理テーブルに当該要求に含まれるコンテキストＩＤを新たに生成する。上記のようなコンテキストＩＤを削除することでコンテキスト管理テーブルのサイズを縮小することができる。コンテキスト生成部３１は、タスク判定装置１０からの要求に応じた処理が完了するとその旨の応答をタスク判定装置１０に対して行う。
【００５１】
雑談応答生成部３２は、文章及びコンテキストを入力して、当該文章に対する当該コンテキストに基づく応答の文章である応答文（雑談応答）を生成して出力する応答文生成手段である。雑談応答生成部３２は、タスク判定装置１０から応答文の生成の要求を受信して、当該要求に基づいて応答文を生成する。応答文の生成の要求には、コンテキストＩＤ、及びユーザの発話による文章が含まれている。雑談応答生成部３２は、コンテキスト管理テーブルを参照して、要求に含まれるコンテキストＩＤに対応するコンテキストを特定（入力）する。雑談応答生成部３２は、要求に含まれる文章に対する、特定したコンテキストに基づく応答文を生成する。
【００５２】
コンテキストを考慮した応答文の生成には、具体的には、従来の方法を用いることができる。例えば、H. Sugiyama, T. Meguro, R. Higashinaka, and Y. Minami, “Open-domain Utterance Generation for Conversational Dialogue Systemsusing Web-scale Dependency Structures”, Proceedings ofthe SIGDIAL 2013 Conference, pages 334-338, Metz, France, 22-24 August 2013.（非特許文献５）に記載されている方法を用いることができる。
【００５３】
図３に、当該文献に記載された方法による応答文生成の処理の流れを示す。まず、雑談応答生成部３２は、要求に含まれる文章を当該文章の語尾等の情報に基づき、行為（文献中のＤｉａｌｏｇｕｅ  ａｃｔに相当）という概念に抽象化する。例えば、雑談応答生成部３２は、予め記憶した図４（ａ）に示す語尾と行為との対応を示す情報（語尾と行為との対応表）を用いて行為を特定する。例えば、要求に含まれる文章の語尾が「〜か」であれば行為を「質問」とする。語尾が「〜したい」であれば行為を「願望」とする。語尾が「〜した」であれば行為を「過去の事実」とする。
【００５４】
続いて、雑談応答生成部３２は、抽象化した行為に連なる次の行為を決定し、これを応答文（雑談応答）の行為とする。例えば、雑談応答生成部３２は、予め記憶した図４（ｂ）に示す前の行為と次の行為との対応を示す情報（次の行為を決定するためのルールである次の行為対応表）を用いて次の行為を決定する。例えば、抽象化した行為が「質問」であれば次の行為を「情報提供」とする。抽象化した行為が「願望」であれば次の行為を「同意」とする。抽象化した行為が「過去の事実」であれば次の行為を「質問」とする。
【００５５】
一方で、雑談応答生成部３２は、特定したコンテキスト（文献中のＴｏｐｉｃに相当）から当該コンテキストに関連した単語である関連語を抽出する。例えば、雑談応答生成部３２は、予め記憶した図４（ｃ）に示す名詞と関連語との対応を示す情報（ある名詞に関連する語が記述されている辞書である関連語辞書）を用いて関連語を抽出する。
【００５６】
続いて、雑談応答生成部３２は、予め用意されて記憶した多数の応答文の中から、決定した次の行為に関連し、抽出した関連語を最も多く含む応答文を、要求に含まれる文章に対する応答文として選択する。例えば、雑談応答生成部３２は、予め記憶した図４（ｄ）に示すテキスト（応答文の候補）と行為との対応を示す情報（発話インデクス）を用いて応答文を選択（生成）する。なお、応答文の生成の方法は、上記のものに限られず、文章及びコンテキストから応答文を生成するものであれば任意の方法を用いることができる。雑談応答生成部３２は、生成した応答文を要求に対する返信としてタスク判定装置１０に送信する。
【００５７】
上記のように応答文の生成においてコンテキストが考慮されることで以下のような雑談対話が可能となる。
ユーザ「ラーメンが好きです」
エージェント「私も好きですよ」
ユーザ「何が一番好き」
エージェント「やっぱり塩ですね」
【００５８】
上記の雑談対話では、ユーザの最初の発話によって、コンテキストが「ラーメン」になる。そして、この情報が保持されることで、ユーザの次の発話に対しても「ラーメン」を考慮した雑談応答が返却される。なお、上記の例では、ユーザの「何が一番好き」との発話では新たなコンテキストは生成されない。
【００５９】
検索タスク処理装置４０は、タスク判定装置１０から検索の要求を受信（入力）して、当該要求に応じた検索を実行する手段である。検索タスク処理装置４０は、通信網等を介してタスク判定装置１０と接続されており、タスク判定装置１０との間で通信を行うことができる。検索の要求には、実行すべき検索を示す情報（例えば、検索のキーワードや検索の条件等）が含まれる。検索タスク処理装置４０は、実行すべき検索を示す情報に基づいて検索を行う。検索自体は、従来の方法と同様に行われる。検索タスク処理装置４０は、検索の種別に応じて複数、設けられてもよい。検索の種別としては、レストランの位置を検索するグルメ検索等の施設検索や乗換案内等のナビゲーション情報の検索がある。検索タスク処理装置４０は、実行した検索結果をタスク判定装置１０に送信（出力）する。
【００６０】
図１に示すように、タスク判定装置１０は、文章入力部１１と、コマンド生成部１２と、タスク判定部１３と、コンテキスト更新判定部１４と、コンテキスト更新部１５とを備えて構成される。
【００６１】
文章入力部１１は、文章（入力文、テキストデータ）を入力する文章入力手段である。具体的には、文章入力部１１は、通信端末５０から、音声認識装置２０による音声認識の結果である文章を受信することで文章を入力する。また、文章入力部１１は、通信端末５０から、文書と合わせてコンテキストＩＤを受信する。文章入力部１１に入力される文章は、通信端末５０に対するユーザの発話単位である。即ち、一回の発話に含まれる文章を一つの単位として扱う。また、文章入力部１１は、ユーザ毎に文章を入力する。以下の処理はユーザ毎に行われる。ユーザは、例えば上記のコンテキストＩＤによって特定される。また、例えば、タスク判定装置１０に予めユーザを特定する情報であるユーザＩＤとコンテキストＩＤとを対応付けた情報を記憶させておき、通信端末５０が、文章を送信する際、当該文章にユーザＩＤを対応付けておき、ユーザＩＤからコンテキストＩＤを特定することとしてもよい。文章入力部１１は、入力した文章及びコンテキストＩＤをタスク判定部１３に出力する。
【００６２】
コマンド生成部１２は、複数のタスクの実行を指示する機能実行指示手段である。コマンド生成部１２により実行が指示されるタスクには、文章入力部１１によって入力された文章及びコンテキストに基づいて実行されるタスクを含む。そのようなタスクは、例えば、文章に対するコンテキストに基づく適当な応答文（雑談応答）を生成して出力するタスクである雑談タスクである。また、コマンド生成部１２により実行が指示されるタスクには、コンテキストに基づかずに実行されるタスクが含まれる。そのようなタスクは、例えば、上述した検索タスクあるいは操作タスクである。コマンド生成部１２によって実行が指示されるタスクは、後述するようにタスク判定部１３により決定される。
【００６３】
また、コマンド生成部１２は、通信端末５０に送信する情報であるコマンドを生成して通信端末５０に送信する。例えば、実行を指示するタスクが検索タスク（コンテンツ検索）である場合には、コマンド生成部１２は、タスク判定部１３から入力された情報に基づいて検索の要求を検索タスク処理装置４０に対して送信する。続いて、コマンド生成部１２は、当該要求に応じて検索タスク処理装置４０から送信される検索結果を受信する。コマンド生成部１２は、実行した（実行する）タスクを示す情報と検索結果の情報（検索コンテンツ）とをコマンドに含める。例えば、ユーザの発話が「周辺のレストランを表示」というものであった場合には、コマンドには、タスクを示す情報としてレストラン情報表示との情報、及び検索コンテンツとして周辺のレストラン情報が含められる。コマンドを受信した通信端末５０は、コマンドに含まれる周辺のレストラン情報の表示を行う。
【００６４】
また、実行を指示するタスクが操作タスクである場合には、コマンド生成部１２は、タスク判定部１３から入力された情報に基づいて、電話、メール、カメラの起動等の通信端末５０上での機能の操作を指示する内容（実行するタスクを示す情報）をコマンドに含める。例えば、ユーザの発話が「カメラ起動」というものであった場合には、コマンドには、タスクを示す情報としてカメラ起動との情報が含められる。コマンドを受信した通信端末５０は、カメラ機能の起動を行う。
【００６５】
また、実行を指示するタスクが雑談タスク（雑談応答）である場合には、コマンド生成部１２は、タスク判定部１３から入力された情報（コンテキストＩＤ及びユーザの発話による文章）に基づいて応答文の生成の要求を雑談応答装置３０に対して送信する。続いて、コマンド生成部１２は、当該要求に応じて雑談応答装置３０から送信される応答文を受信する。コマンド生成部１２は、実行した（実行する）タスクを示す情報と応答文（雑談応答）とをコマンドに含める。例えば、ユーザの発話が「いつもありがとう」というものであった場合には、コマンドには、タスクを示す情報として雑談との情報、及び応答文として「お役に立ててうれしいです」が含められる。コマンドを受信した通信端末５０は、コマンドに含まれる応答文を音声出力又は表示出力する。
【００６６】
タスク判定部１３は、文章入力部１１から入力した文章に基づいて、複数の機能からコマンド生成部１２によって実行が指示されるタスクを決定する実行機能決定手段である。例えば、タスク判定部１３は、機械学習によって得られた学習モデル（判定ルール）を用いてタスクを決定（判定）することとしてもよい。タスクの決定は、文章をどのタスクに分類するかという文書分類問題に帰着される。そこで、例えば、予めタスクに対応付いた発話事例を収集する。この発話事例を正解データ（サンプルデータ）として機械学習を行い、機械学習によって得られた学習モデルを用いてタスクを決定する。タスク判定部１３は、文章入力部１１から入力した文章を学習モデルに基づくタスク識別器に入力して、当該タスク識別器によってタスクを決定する。なお、タスク判定部１３は、機械学習によって得られた学習モデルに基づくタスク識別器を利用できればよく、必ずしもタスク判定装置１０において機械学習が行われる必要はない。その場合、タスク判定装置１０は上記の機械学習を行った装置から、学習モデルを示す情報を予め取得しておく。
【００６７】
また、タスク判定部１３は、上記の機械学習による方法以外にも予めタスク毎に単語、あるいはカテゴリにスコアを設定しておき、文章に含まれる単語、あるいは当該単語に対応付けられたカテゴリから、スコアを特定し、そのスコアに基づいてタスクを決定してもよい。例えば、合計のスコアが最も高いタスクを、実行が指示されるタスクに決定することとしてもよい。この場合の単語又はカテゴリのスコアは、タスクとの関連度合に応じて定められている。
【００６８】
また、上記のタスクの決定方法によって妥当なタスクが決定されない場合に雑談タスクを実行するタスクとすることとしてもよい。また、タスク判定部１３による実行が指示されるタスクの決定は、入力された文章に基づくものであればよく上記以外の任意の方法を用いることができる。例えば、非特許文献１、並びに本出願人による特許協力条約に基づく国際出願であるＰＣＴ／ＪＰ２０１３／０６４７６６（基礎出願：特願２０１２−１３７８４２）及び特願２０１２−１３７８４４の明細書に記載された方法等を用いることができる。
【００６９】
タスク判定部１３は、実行が指示されるタスクを決定すると、コンテキスト更新判定部１４に対して当該タスク、及び文章入力部１１から入力されたコンテキストＩＤを通知する。また、タスクの通知に合わせて、タスク判定部１３は、タスクの決定に用いた文章をコンテキスト更新判定部１４に出力する。タスク判定部１３は、当該タスクの通知に対する応答をコンテキスト更新判定部１４から入力すると、コマンド生成部１２に対して、決定したタスクの実行を指示するように要求する。当該要求には、実行するタスクを特定する情報及びタスクを実行するために必要な情報（スロットに入力される情報）も含められてもよい。
【００７０】
タスクの実行の内容は、具体的には例えば、雑談タスクであれば、応答文の作成の基となる文章である。当該文章は、文章入力部１１から入力したものである。また、雑談タスクであれば、文章入力部１１から入力されたコンテキストＩＤが含められる。また、検索タスクであれば、実行すべき検索を示す情報（例えば、検索のキーワードや検索の条件等）である。タスク判定部１３は、実行すべき検索を示す情報を文章入力部１１から入力した文章から抽出する。当該抽出には、従来から用いられている方法を用いることができる。また、操作タスクであれば、実行すべき操作を示す情報である。タスク判定部１３は、実行すべき検索を示す情報と同様に実行すべき操作を示す情報を文章入力部１１から入力した文章から抽出する。
【００７１】
また、タスク判定部１３は、ユーザの音声によるタスクが実行される際にタスクの実行状態である対話状態を示す情報を保持し、当該対話状態を管理することとしてもよい。当該対話状態に応じたタスクに関する処理が行われる。例えば、メール作成のタスクが起動される際には、通信端末５０は「メール作成」という対話状態となる。通信端末５０では、「メール作成」という対話状態で、ユーザの音声によってメール本文や宛先の入力がなされる。また、１つのタスクの中に複数の対話状態があってもよい。例えば、ナビゲーションのタスクが実行される場合に、「タスク起動」、「目的地入力」、「確認入力」等のユーザの音声によって入力されるべき情報に応じた複数の対話状態があってもよい。タスク判定部１３は、これらの対話状態の遷移を文章入力部１１から入力された文章に基づいて判断する。この判断は、上記の実行が指示されるタスクの決定と同様に行われる。
【００７２】
例えば、ナビゲーションタスクである場合には以下のような対話状態となる。まず、ユーザが「ナビゲーション起動」と発話した場合には、ナビゲーションタスクの「タスク起動」の対話状態となる。この場合、ナビゲーションタスクが起動され、また、エージェントは「どこに行きますか」と目的地の入力を促す出力を行う。これに対して、ユーザが「横浜まで行きたい」と発話した場合には、「目的地入力」の対話状態となる。この場合、入力された発話に基づいてナビゲーションのための情報が取得され、エージェントは「横浜が見つかりました。案内を開始しますか」と情報の出力の確認を促す出力を行う。これに対して、ユーザが「案内して」と発話した場合には、「確認入力」の対話状態となる。この場合、ナビゲーションタスクによる横浜へのナビゲーション（例えば、横浜までのルートを示す情報の出力）が実行される。
【００７３】
また、例えば、グルメ検索タスクである場合には以下のような対話状態となる。まず、ユーザが「お腹が減った」と発話した場合には、グルメ検索タスク「タスク起動」の対話状態となる。この場合、グルメ検索タスクが起動され、また、エージェントは「なにが食べたいですか」とグルメ検索の対象となる料理ジャンルの入力を促す出力を行う。これに対して、ユーザが「ラーメン」と発話した場合には、「料理ジャンル選択」の対話状態となる。この場合、入力された発話に基づいてグルメ検索が実行され、エージェントは「３件あります。最寄に案内しますか」と情報の出力の確認を促す出力を行う。これに対して、ユーザが「うんお願い」と発話した場合には、「確認入力」の対話状態となる。この場合、グルメ検索タスクによる情報の提示（例えば、最寄のラーメン店までのルートを示す情報の出力）が実行される。
【００７４】
また、対話状態は、例えば、他のタスクが起動された際、あるいは、実行されているタスクが終了した際に遷移する。他のタスクが起動された際には、当該他のタスクに係る対話状態となる。また、実行されているタスクが終了した際には、何もタスクが実行されていない初期状態となる。タスクの終了は、実行されるタスクが正常に終了した場合（例えば、メール作成のタスクでは、メールの作成が終了しメール送信が行われた場合）や、ユーザの音声等によってタスクの実行が終了されられる場合（例えば、ユーザが「キャンセル」と発話した場合）になされる。
【００７５】
タスク判定部１３は、対話状態を管理する場合には、実行が指示されるタスクに加えて、あるいは当該タスクに代えて、対話状態をコンテキスト更新判定部１４に対して通知する。
【００７６】
タスク判定部１３は、文章入力部１１から入力した文章に基づいて、コンテキストをリセットするか否かを判断してもよい。例えば、タスク判定部１３は、「キャンセル」との文章が入力された場合（ユーザの発話が「キャンセル」との場合）等には、タスクの起動状態をリセットするタスクの実行を指示するよう判断する。この場合、タスク判定部１３は、コンテキストをリセットするものと判断する。タスク判定部１３は、コンテキストをリセットする場合には、その旨を文章入力部１１から入力されたコンテキストＩＤと共にコンテキスト更新部１５に通知する。
【００７７】
コンテキスト更新判定部１４は、タスク判定部１３によって決定されたタスクに基づいて、コンテキストの更新（生成）を行うか否かを判定するコンテキスト更新判定手段である。具体的には、コンテキスト更新判定部１４は、コンテキスト更新判定を行うため、図５に示すコンテキスト更新ポリシーを予め記憶しておく。コンテキスト更新ポリシーは、タスク毎にコンテキストを更新すべきかが定義されている情報であり、具体的には、タスクと更新フラグとが対応付けられた情報である。コンテキスト更新判定部１４は、タスク判定部１３から決定されたタスクの通知を受けると共に文章を入力すると、コンテキスト更新ポリシーにおいて、タスク判定部１３から通知されたタスクに対応付けられた更新フラグを参照する。コンテキスト更新判定部１４は、参照した更新フラグが「１」であればコンテキストの更新を行うと判定し、「０」であればコンテキストの更新を行わないと判定する。
【００７８】
コンテキスト更新ポリシーは、例えば、タスク判定装置の管理者等によって予め生成され、コンテキスト更新判定部１４に記憶される。タスク毎に発話に含まれる単語のジャンル（カテゴリ）がある程度決まっており、これらの単語のジャンル（カテゴリ）がコンテキストとしてふさわしいか否かで、コンテキスト更新ポリシーを生成することができる。例えば、図５を例にとると、ナビゲーションタスクは、目的地までの案内をするタスクであり、当該タスクに係る発話には必ず目的地となる地名や施設が含まれる。これらは雑談のコンテキストとして適している。あるいはグルメ検索タスクにはグルメのジャンルが含まれ、これも同様に雑談のコンテキストとして適している。一方、音量や地図の大小を操作するタスクには、そのような単語が含まれないため、コンテキストとしては適さない。また、電話やメールの発信では、宛先等が含まれるが、これらの人名は雑談のコンテキストとして適さない。
【００７９】
また、コンテキスト更新判定部１４は、タスク判定部１３からタスクに加えて対話状態が通知された場合には、当該対話状態に基づいて、コンテキストの更新を行うか否かを判定することとしてもよい。この場合、具体的には、コンテキスト更新判定を行うため、図６に示すコンテキスト更新ポリシーを予め記憶しておく。コンテキスト更新ポリシーは、タスク及び対話状態の組み合わせ毎にコンテキストを更新すべきかが定義されている情報であり、具体的には、タスク及び対話状態の組み合わせと更新フラグとが対応付けられた情報である。
【００８０】
コンテキスト更新判定部１４は、コンテキスト更新ポリシーにおいて、タスク判定部１３から通知されたタスク及び対話状態の組み合わせに対応付けられた更新フラグを参照する。コンテキスト更新判定部１４は、参照した更新フラグが「１」であればコンテキストの更新を行うと判定し、「０」であればコンテキストの更新を行わないと判定する。
【００８１】
この場合のコンテキスト更新ポリシーは、例えば、地名やレストランジャンル等の特定のスロットを埋める対話状態の更新フラグを「１」として設定される。
【００８２】
コンテキスト更新判定部１４は、コンテキストの更新を行うと判定した場合、その旨をコンテキスト更新部１５に通知する。また、コンテキスト更新判定部１４は、タスク判定部１３から入力された文章を、タスク判定部１３から入力したコンテキストＩＤと共にコンテキスト更新のためにコンテキスト更新部１５に出力する。その場合、コンテキスト更新判定部１４は、コンテキスト更新部１５からコンテキストの更新が完了した旨の応答を受けると、タスク判定部１３に対して、タスクあるいはタスク及び対話状態の通知に対する応答を行う。また、コンテキスト更新判定部１４は、コンテキストの更新を行わないと判定した場合、コンテキスト更新部１５への通知は行わずに、タスク判定部１３に対して、タスクあるいはタスク及び対話状態の通知に対する応答を行う。
【００８３】
コンテキスト更新部１５は、コンテキスト更新判定部１４による判定に応じて、コンテキスト更新判定部１４から入力された文章に基づいてコンテキストを更新させるコンテキスト更新手段である。コンテキスト更新部１５は、コンテキスト更新判定部１４からコンテキストの更新を行うと判定した旨の通知を受け取った場合に雑談応答装置３０に対してコンテキストの生成の要求を送信することで、コンテキストを更新させる。コンテキスト更新部１５は、コンテキスト更新判定部１４から入力された文章を、コンテキストを生成するための文章として当該要求に含める。また、コンテキスト更新部１５は、コンテキスト更新対象となる、コンテキスト更新判定部１４から入力したコンテキストＩＤを当該要求に含める。なお、このコンテキストＩＤは、通信端末５０から入力された発話に係るユーザに対応するものである。即ち、コンテキスト更新部１５は、ユーザ毎にコンテキストを更新させる。
【００８４】
また、コンテキスト更新部１５は、タスク判定部１３からコンテキストをリセットする旨の通知を受けた場合には、雑談応答装置３０に対してコンテキストのリセット（消去）の要求を送信する。即ち、コンテキスト更新部１５は、文章入力部１１によって入力された文章に応じて、コンテキストをリセットする。以上が、本実施形態に係る各装置１０〜５０の機能構成である。
【００８５】
図７に本実施形態に係るタスク判定装置１０、音声認識装置２０、雑談応答装置３０及び検索タスク処理装置４０を構成するサーバ装置のハードウェア構成を示す。図７に示すように当該サーバ装置は、ＣＰＵ（Central Processing Unit）１０１、主記憶装置であるＲＡＭ（RandomAccess Memory）１０２及びＲＯＭ（Read Only Memory）１０３、通信を行うための通信モジュール１０４、並びにハードディスク等の補助記憶装置１０５等のハードウェアを備えるコンピュータを含むものとして構成される。これらの構成要素がプログラム等により動作することにより、上述したタスク判定装置１０、音声認識装置２０、雑談応答装置３０及び検索タスク処理装置４０の機能が発揮される。以上が、本実施形態に係る各装置の構成である。
【００８６】
引き続いて、図８のフローチャートを用いて、本実施形態に係る機能実行指示システムであるタスク判定装置１０で実行される処理である機能実行指示方法を説明する。
【００８７】
本実施形態に係るタスク判定装置１０による処理が行われるため、本処理が行われる以前に、まず、通信端末５０に対するユーザの操作が行われて、通信端末５０に、機能を実行させるためのユーザの音声（発話）が入力される。続いて、当該音声が通信端末５０から音声認識装置２０に送信される。音声認識装置２０では、当該音声が受信されて入力される（図示せず。音声認識ステップ）。続いて、音声認識装置２０では、入力された音声に対して音声認識が行われる（図示せず、音声認識ステップ）。音声認識結果である文章を示す情報が音声認識装置２０から通信端末５０に送信される。通信端末５０では、その情報が受信されて、タスク判定装置１０に送信される。また、この際、合わせてコンテキストＩＤが、通信端末５０からタスク判定装置１０に送信される。
【００８８】
タスク判定装置１０では、文章入力部１１によって、音声認識結果である文章及びコンテキストＩＤが受信されて入力される（Ｓ０１、文章入力ステップ）。入力された情報は、文章入力部１１からタスク判定部１３に出力される。続いて、タスク判定部１３によって、文章入力部１１から入力された文章に基づいて、コマンド生成部１２によって実行が指示されるタスクが決定される（Ｓ０２、実行機能決定ステップ）。なお、この際に文章に基づいてタスクの実行状態である対話状態が決定されてもよい。
【００８９】
決定されたタスクは文章及びコンテキストＩＤと共に、タスク判定部１３からコンテキスト更新判定部１４に通知される。コンテキスト更新判定部１４では、通知されたタスクに基づいて、予め記憶されたコンテキスト更新ポリシーが参照されてコンテキストの更新（生成）を行うか否かが判定される（Ｓ０３、コンテキスト更新判定ステップ）。なお、この判定の際に上記の対話状態が考慮されてもよい。コンテキストの更新を行うと判定された場合（Ｓ０３のＹＥＳ）、コンテキスト更新判定部１４からコンテキスト更新部１５にその旨が通知されると共に文章及びコンテキストＩＤが入力される。
【００９０】
続いて、コンテキスト更新部１５から雑談応答装置３０に対して、文章及びコンテキストＩＤが含められたコンテキストの生成の要求が送信される（Ｓ０４、コンテキスト更新ステップ）。雑談応答装置３０では、コンテキスト生成部３１によって当該要求が受信され、当該要求に含まれる文章からコンテキストが生成される（Ｓ０４、コンテキスト生成ステップ）。コンテキストが生成されると、コンテキスト管理テーブルにおける、上記の要求に含まれるコンテキストＩＤに対応するコンテキストが生成されたコンテキストで更新される。なお、文章がコンテキストの生成に適切でない場合には、コンテキストの更新は行われず、以前に更新された状態のままとなる。コンテキスト生成部３１によってタスク判定装置１０からの要求に応じた処理が完了すると、その旨の応答がコンテキスト生成部３１からタスク判定装置１０に対して行われる。コンテキストの更新を行わないと判定された場合（Ｓ０３のＮＯ）、Ｓ０４の処理は行われない。
【００９１】
Ｓ０３のＮＯ及びＳ０４の処理に続いて、タスク判定部１３からコマンド生成部１２に対して、決定したタスクの実行を指示するように要求が行われる。続いて、決定したタスクが雑談タスクである場合（Ｓ０５のＹＥＳ）には、コマンド生成部１２から雑談応答装置３０に対して、応答文の生成の要求が送信される（Ｓ０６、機能実行指示ステップ）。雑談応答装置３０では、雑談応答生成部３２によって当該要求が受信され、当該要求に含まれる文章からコンテキストが考慮されて応答文が生成される（Ｓ０６、応答文生成ステップ）。生成された応答文は、雑談応答生成部３２からタスク判定装置１０に送信され、コマンド生成部１２に受信される。決定したタスクが雑談タスクでない場合（Ｓ０５のＮＯ）には、Ｓ０６の処理は行われない。
【００９２】
Ｓ０５のＮＯ及びＳ０６の処理に続いて、タスク判定部１３からの決定したタスクの実行を指示する要求に基づいて、コマンド生成部１２によってコマンドが生成される（Ｓ０７、機能実行指示ステップ）。なお、実行を指示するタスクが検索タスクである場合には、コマンドの生成の際に検索タスク処理装置４０から検索コンテンツが取得される。この場合、当該タスクの実行の指示が、コマンドの生成処理に含まれる。続いて、生成したコマンドは、コマンド生成部１２から通信端末５０に送信される（Ｓ０８、機能実行指示ステップ）。
【００９３】
通信端末５０では、当該コマンドが受信されて受信したコマンドに応じた動作が行われる。例えば、雑談タスクであれば応答文（雑談応答）の音声出力又は表示出力等が行われる。また、検索タスクであれば、検索コンテンツの表示出力等が行われる。また、操作タスクであれば、当該操作タスクに応じた通信端末５０の動作が実行される。上記の通り、特に操作タスクの場合には、タスクの実行の指示がコマンドの出力処理に含まれえる。
【００９４】
なお、上記の処理は、ユーザの１回の発話に対応するものであり、ユーザの発話が繰り返し行われれば、上記の処理はユーザの発話の繰り返しに応じて上記の処理が繰り返し行われる。以上が、本実施形態に係る機能実行指示システムであるタスク判定装置１０で実行される処理である。
【００９５】
ユーザの発話が繰り返されることで、上記の処理によれば以下のようなユーザとエージェントとの対話が可能となる。
ユーザ「横浜周辺の観光スポットを検索して」（タスク：観光地検索、コンテキスト：横浜）
エージェント「地図上に検索結果を表示しました」
ユーザ「少し地図を大きくして」（タスク：地図拡大、コンテキスト更新なし）
エージェント「地図を拡大します」
ユーザ「お勧めは」（タスク：雑談、コンテキスト更新なし）
エージェント「ＸＸタワーがお勧めですね」
【００９６】
上記の対話では、ユーザの発話で雑談タスクが実行されているのは「お勧めは」との発話に対してのみである。しかし、それ以前のタスクを実行するための「横浜周辺の観光スポットを検索して」とのユーザの発話からコンテキストが生成されており、そのコンテキストが考慮された雑談応答となっている。また、上記の発話の後の「少し地図を大きくして」とのユーザの発話については、発話内容だけから考慮すると、例えば「地図」といったコンテキストを生成することも可能である。しかし、当該発話に基づくタスクから、コンテキストを更新しないと判定されている。ユーザの「お勧めは」との発話は、話の流れからして「横浜周辺の観光スポット」についてのお勧めを求めるものであると考えられるため、上記の応答は自然なものとなっている。
【００９７】
上記の通り、本実施形態によれば、雑談タスクの実行の際に用いられるコンテキストは、入力された文章に基づいて実行が指示されるタスクとして決定されたタスク、又は当該タスクの実行状態である対話状態に基づいて更新されるか否かが判断される。これにより、本実施形態では、コンテキストを更新すべき機能を実行する発話がなされた場合には、コンテキストを更新させることができ、それ以外の場合には、コンテキストを更新せずに維持させることができる。従って、本実施形態によれば、一連の文章に基づいてコンテキストを考慮したタスクを実行する場合であっても、タスクの実行を適切に行うことができる。具体的には、雑談タスクであれば、ユーザの一連の発話に対する応答文を、ユーザに違和感のない自然なものとすることができる。この際、ユーザは実行されるタスクが雑談であるか、検索であるか等の意識をする必要はなく、エージェントとの対話によってタスクを実現することができる。
【００９８】
また、本実施形態では、発話（入力された文章）そのものではなく、当該発話から決定されたタスクを利用して、コンテキストを更新すべきか否かを判定する。これには、以下のような利点がある。まず、発話はユーザが自由に入力するものであり無限にパターンが存在するため、発話それぞれに対して更新すべきか否かを判定することは困難である。これに対してタスクは、当該発話から生成される有限なものであるため、各タスクに対してポリシーを用意することは容易である。
【００９９】
更に、タスク毎に発話に含まれる単語のジャンル（カテゴリ）がある程度決まっており、これらの単語のジャンル（カテゴリ）がコンテキストとしてふさわしいか否かでコンテキスト更新ポリシーを生成することが可能である。例えば、ナビゲーションタスクやグルメ検索のタスクに係る発話には、通常、コンテキストとしてふさわしい（ジャンルの）単語が含まれる。一方、音量や地図の大小を操作するタスク、あるいは電話やメールの発信を行うタスクに係る発話には、通常、コンテキストとしてふさわしい（ジャンルの）単語が含まれない。コンテキスト更新ポリシーは、上記が考慮されて容易に作成されることができる。なお、コンテキストを更新するタスクとして適するか否かは、コンテキストを考慮して実行されるタスクに応じて適宜定められるものであり、必ずしも上記の例に限られない。
【０１００】
また、本実施形態のようにコンテキストを考慮して実行するタスクを雑談タスクとすることとしてもよい。この構成によれば、例えば、雑談タスクの実行を、一連の文章に基づいてコンテキストを考慮して適切に行うことができる。なお、本実施形態では、機能実行指示システムには、応答文を作成する雑談応答装置３０は含まれていないものとしたが、雑談応答装置３０が含まれていてもよい。この構成によれば、雑談タスクを確実に実施することができる。
【０１０１】
但し、コンテキストを考慮して実行するタスクは、必ずしも雑談タスクでなくてもよく、コンテキストが考慮されて実行されるタスクであれば任意のタスクに対しても本発明を適用することができる。
【０１０２】
また、本実施形態のように文章はユーザ毎に入力され、ユーザ毎にコンテキストが更新されてもよい。この構成によれば、複数のユーザについてタスクの実行を指示することができ、ユーザ毎にタスクの実行を適切に行うことができる。
【０１０３】
また、本実施形態のように「キャンセル」との発話等の状態をリセットするようなタスクに対しては、今までのコンテキストをリセット（消去）することとしてもよい。この構成によれば、適切かつ確実にコンテキストのリセットを行うことができ、タスクの実行を更に適切に行うことができる。
【０１０４】
また、本実施形態のように音声を入力して音声認識を行って、音声認識結果を入力される文章として、タスクを実行することとしてもよい。この構成によれば、ユーザの音声によってタスクを実行することが可能となる。本実施形態では、機能実行指示システムは音声認識装置２０を含まない構成としていたが、音声認識装置２０を含む構成としてもよい。即ち、機能実行指示システムを、タスク判定装置１０と音声認識装置２０とを含んだ構成としてもよい。なお、機能実行指示システムを、音声認識装置２０を含まない構成とした場合、音声認識によらない文章が機能実行指示システムに入力されてもよい。
【０１０５】
また、本実施形態では、タスク判定装置１０と音声認識装置２０とが別体として構成されていたが、それらが一体として構成されていてもよい。この場合、音声認識結果を、通信端末５０を介して送受信する必要がない。また、雑談応答装置３０がタスク判定装置１０と一体として構成されていてもよい。また、通信端末５０等のユーザに用いられる端末に、タスク判定装置１０、音声認識装置２０及び雑談応答装置３０の少なくとも何れかの機能が備えられていてもよい。その場合、当該端末が本発明に係る機能実行指示システムを構成する。あるいは、タスク判定装置１０がタスクを実行する機能を有しており、タスクの実行結果を通信端末５０に提供する構成であってもよい。
【０１０６】
また、本実施形態では、雑談応答装置３０では、雑談タスクが実行される場合であっても、コンテキストの更新と、応答文の生成とが独立して行われていた。即ち、雑談応答装置３０は、生成したコンテキストを示す情報をタスク判定装置１０に送信して、その後、応答文の生成の要求を受け付けて当該要求に応じて、応答文を生成していた。しかし、雑談タスクの実行における、コンテキストの更新と応答文の生成とは、一連の処理として行われてもよい。即ち、コンテキストを生成した後、コンテキストを示す情報をタスク判定装置１０に送信せず、生成したコンテキストを用いて応答文を生成してもよい。
【符号の説明】
【０１０７】
１０…タスク判定装置、１１…文章入力部、１２…コマンド生成部、１３…タスク判定部、１４…コンテキスト更新判定部、１５…コンテキスト更新部、２０…音声認識装置、３０…雑談応答装置、３１…コンテキスト生成部、３２…雑談応答生成部、４０…検索タスク処理装置、１０１…ＣＰＵ、１０２…ＲＡＭ、１０３…ＲＯＭ、１０４…通信モジュール、１０５…補助記憶装置、５０…通信端末。
【図１】
2015081971.tif 000003
【図２】
2015081971.tif 000004
【図３】
2015081971.tif 000005
【図４】
2015081971.tif 000006
【図５】
2015081971.tif 000007
【図６】
2015081971.tif 000008
【図７】
2015081971.tif 000009
【図８】
2015081971.tif 000010
【図９】
2015081971.tif 000011