(57)【要約】【課題】  文章に基づいて機能を実行する際に、機能の実行状態の管理を適切に行う。【解決手段】  機能実行指示システム１の機能実行指示サーバ１０は、通信端末３０に対する入力に基づく文章に基づいて実行されるタスクの実行状態を管理する機能管理システムの構成要素であり、文章に基づいてタスクが実行されたことを検出して、当該タスクの実行状態を示す情報を保持する対話状態管理部１２と、タスクが実行されたことを検出されてからの経過時間が設定されたタイムアウト時間となったことを検出して、タスクの実行状態を遷移させる状態遷移部１３と、通信端末３０における状態である外部状態を示す情報を入力する外部状態入力部１４と、外部状態に応じて、タイムアウト時間を設定するタイムアウト時間設定部１５とを備える。【選択図】  図１
2015018146.tif 000002
【特許請求の範囲】
【請求項１】
端末に対する入力に基づく文章に基づいて実行される機能の実行状態を管理する機能管理システムであって、
文章に基づいて機能が実行されたことを検出して、当該機能の実行状態を示す情報を保持する状態管理手段と、
機能が実行されたことが前記状態管理手段によって検出されてからの経過時間が設定されたタイムアウト時間となったことを検出して、前記状態管理手段によって保持された情報に係る機能の実行状態を遷移させる状態遷移手段と、
前記端末における状態である外部状態を示す情報を入力する外部状態入力手段と、
前記外部状態入力手段によって入力された情報に係る外部状態に応じて、前記タイムアウト時間を設定するタイムアウト時間設定手段と、
を備える機能管理システム。
【請求項２】
前記タイムアウト時間設定手段は、前記状態管理手段によって保持される機能の実行状態を示す情報にも応じて、前記タイムアウト時間を設定する請求項１に記載の機能管理システム。
【請求項３】
前記外部状態入力手段は、前記端末の移動に関する情報を、外部状態を示す情報として入力する請求項１又は２に記載の機能管理システム。
【請求項４】
前記端末は、車両に搭載されており、
前記外部状態入力手段は、前記車両の状態に関する情報を、外部状態を示す情報として入力する請求項１〜３の何れか一項に記載の機能管理システム。
【請求項５】
前記外部状態入力手段は、前記端末の動作状態に関する情報を、外部状態を示す情報として入力する請求項１〜４の何れか一項に記載の機能管理システム。
【請求項６】
前記状態遷移手段による遷移の履歴に応じて、前記タイムアウト時間を更新するタイムアウト時間更新手段を更に備える請求項１〜５の何れか一項に記載の機能管理システム。
【請求項７】
文章を入力して、当該文章に応じた機能の実行を指示する機能実行指示手段を更に備える請求項１〜６の何れか一項に記載の機能管理システム。
【請求項８】
音声を入力して、入力した音声に対して音声認識を行って、音声認識を行った結果を前記機能実行指示手段に入力する音声認識手段を更に備える請求項７に記載の機能管理システム。
【請求項９】
端末に対する入力に基づく文章に基づいて実行される機能の実行状態を管理する機能管理方法であって、
文章に基づいて機能が実行されたことを検出して、当該機能の実行状態を示す情報を保持する状態管理ステップと、
機能が実行されたことが前記状態管理ステップにおいて検出されてからの経過時間が設定されたタイムアウト時間となったことを検出して、前記状態管理ステップにおいて保持された情報に係る機能の実行状態を遷移させる状態遷移ステップと、
前記端末における状態である外部状態を示す情報を入力する外部状態入力ステップと、
前記外部状態入力ステップにおいて入力された情報に係る外部状態に応じて、前記タイムアウト時間を設定するタイムアウト時間設定ステップと、
を含む機能管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機能の実行状態を管理する機能管理システム及び機能管理方法に関する。
【背景技術】
【０００２】
従来から、ユーザの音声を認識して、認識した音声に基づいて機能を実行するシステムが知られている。例えば特許文献１には、カーナビゲーション装置において認識した音声に基づいて、登録地を目的地として設定したり、登録地の地図を見たりといった機能が実行されることが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２３４４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のようにユーザとの対話によって機能を実行するシステムでは、機能の実行状態が管理されることがある。例えば、メールを作成している状態、あるいはレストランを検索している状態といった状態を管理する。これは、より適切に機能を実行するためのものである。
【０００５】
例えば、ユーザがメールを作成したい場合には、ユーザが「メールを作成したい」と発話すると、メール作成の状態に遷移する。メール作成の状態では、システムは、メールを作成するための情報を更にユーザとの対話によって入力する。具体的には、メール作成の状態に遷移した後、「誰に送りますか」といった音声を出力して、ユーザにメール作成のための発話を促すことができる。
【０００６】
あるいは、ユーザがレストラン検索を行いたい場合には、ユーザが「レストランを探して」と発話すると、レストラン検索の状態に遷移する。この状態では、システムは、「ジャンルを教えてください」といった音声を出力して、ユーザにレストラン検索のための発話を促すことができる。
【０００７】
しかしながら、上記のシステムにより機能が実行された後、ユーザが機能を実行していたことを忘れてしまうことがある。即ち、システムが保持する状態と、ユーザが意識する状態に相違が発生してしまうことがある。上記のシステムが、カーナビゲーション装置に組み込まれている場合、ユーザは運転しながらシステムとの対話によって機能を実行することとなる。例えば、メールの作成中にユーザが運転を再開した場合、ユーザはメールを作成していたことを忘れて発話によってナビの設定を行いたいということが起こりえる。この場合、システムは、メール作成の状態を記憶しており、ナビの設定を行うためのユーザの発話をメール本文や宛先と勘違いしてしまうこととなる。
【０００８】
また、レストラン検索を行ったが、ユーザが飽きてしまい止めてしまうということが考える。この場合、システムはレストラン検索という状態を保持する。例えば、システムが、機能の実行状態でない場合にユーザへの情報の通知（例えば、渋滞情報やお勧めスポット情報等のプッシュ通知）を行うこととすると、レストラン検索という状態が保持されているため上記の通知が行われない。即ち、情報通知の遮断が延々と維持されてしまう。
【０００９】
上記の問題点を防止するために、ユーザから機能の終了や切り替えのための発話を受け付けることが考えられる。例えば、レストラン検索の状態の際に、新たな機能であるナビの設定を行うための「ナビ設定を起動」といった発話をユーザから受け付ける。この場合、レストラン検索の状態から、ナビの設定の状態に変更される。あるいは、メール作成等の何らかの機能の起動が起動している際に、機能を終了させる「キャンセル」といった発話をユーザから受け付ける。この場合、機能の実行状態から、機能が実行されていない状態である初期状態に変更される。
【００１０】
上記のように状態の切り替えをユーザの発話に基づくこととすると、ユーザが状態の切り替えをユーザが意識する必要がある。特にユーザのメインタスクである運転等の車内操作時にはユーザに大きな負担となる。また、ユーザが状態を意識していない状況では、上記のような発話を行うことが不可能である。
【００１１】
本発明は、上記の問題点に鑑みてなされたものであり、文章に基づいて機能を実行する際に、機能の実行状態の管理を適切に行うことができる機能管理システム及び機能管理方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記の目的を達成するために、本発明に係る機能管理システムは、端末に対する入力に基づく文章に基づいて実行される機能の実行状態を管理する機能管理システムであって、文章に基づいて機能が実行されたことを検出して、当該機能の実行状態を示す情報を保持する状態管理手段と、機能が実行されたことが状態管理手段によって検出されてからの経過時間が設定されたタイムアウト時間となったことを検出して、状態管理手段によって保持された情報に係る機能の実行状態を遷移させる状態遷移手段と、端末における状態である外部状態を示す情報を入力する外部状態入力手段と、外部状態入力手段によって入力された情報に係る外部状態に応じて、タイムアウト時間を設定するタイムアウト時間設定手段と、を備える。
【００１３】
本発明に係る機能管理システムでは、端末に係る外部状態に応じてタイムアウト時間が設定され、当該設定されたタイムアウト時間に基づいて機能の実行状態が遷移される。従って、ユーザの状態に応じて機能を適切に遷移させることができる。即ち、本発明に係る機能管理システムによれば、文章に基づいて機能を実行する際に、機能の実行状態の管理を適切に行うことができる。
【００１４】
タイムアウト時間設定手段は、状態管理手段によって保持される機能の実行状態を示す情報にも応じて、タイムアウト時間を設定することとしてもよい。この構成によれば、機能の実行状態毎により適切にタイムアウト時間を設定することができ、更に適切に機能の実行状態の管理を行うことができる。
【００１５】
外部状態入力手段は、端末の移動に関する情報を、外部状態を示す情報として入力することとしてもよい。この構成によれば、外部状態を適切なものとすることができ、確実かつ適切に機能の実行状態の管理を行うことができる。
【００１６】
端末は、車両に搭載されており、外部状態入力手段は、車両の状態に関する情報を、外部状態を示す情報として入力することとしてもよい。この構成によれば、ユーザが自動車等の車両に乗っている場合に外部状態を適切なものとすることができ、確実かつ適切に機能の実行状態の管理を行うことができる。
【００１７】
外部状態入力手段は、端末の動作状態に関する情報を、外部状態を示す情報として入力することとしてもよい。この構成によれば、外部状態を適切なものとすることができ、確実かつ適切に機能の実行状態の管理を行うことができる。
【００１８】
機能管理システムは、状態遷移手段による遷移の履歴に応じて、タイムアウト時間を更新するタイムアウト時間更新手段を更に備えることとしてもよい。この構成によれば、設定されるタイムアウト時間を適切なものとすることができ、更に適切に機能の実行状態の管理を行うことができる。
【００１９】
機能管理システムは、文章を入力して、当該文章に応じた機能の実行を指示する機能実行指示手段を更に備えることとしてもよい。この構成によれば、機能を実行させることが可能となる。
【００２０】
機能管理システムは、音声を入力して、入力した音声に対して音声認識を行って、音声認識を行った結果を機能実行手段に入力する音声認識手段を更に備えることとしてもよい。この構成によれば、ユーザの音声によって機能を実行することが可能となる。
【００２１】
ところで、本発明は、上記のように機能管理システムの発明として記述できる他に、以下のように機能管理方法の発明としても記述することができる。これはカテゴリ等が異なるだけで、実質的に同一の発明であり、同様の作用及び効果を奏する。
【００２２】
即ち、本発明に係る機能管理方法は、端末に対する入力に基づく文章に基づいて実行される機能の実行状態を管理する機能管理方法であって、文章に基づいて機能が実行されたことを検出して、当該機能の実行状態を示す情報を保持する状態管理ステップと、機能が実行されたことが状態管理ステップにおいて検出されてからの経過時間が設定されたタイムアウト時間となったことを検出して、状態管理ステップにおいて保持された情報に係る機能の実行状態を遷移させる状態遷移ステップと、端末における状態である外部状態を示す情報を入力する外部状態入力ステップと、外部状態入力ステップにおいて入力された情報に係る外部状態に応じて、タイムアウト時間を設定するタイムアウト時間設定ステップと、を含む。
【発明の効果】
【００２３】
本発明では、端末に係る外部状態に応じてタイムアウト時間が設定され、当該設定されたタイムアウト時間に基づいて機能の実行状態が遷移されるため、ユーザの状態に応じて機能を適切に遷移させることができる。即ち、本発明によれば、文章に基づいて機能を実行する際に、機能の実行状態の管理を適切に行うことができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施形態に係る機能管理システムである機能実行指示システムの構成を示す図である。
【図２】機能実行指示サーバで保持される対話状態管理ポリシーを示すテーブルである。
【図３】機能実行指示サーバで保持される対話状態履歴を示すテーブルである。
【図４】本発明の実施形態に係る機能管理システムである機能実行指示システムを構成する機能実行指示サーバ及び音声認識サーバのハードウェア構成を示す図である。
【図５】本発明の実施形態に係る機能管理システムである機能実行指示システムで実行される処理（機能管理方法）を示すフローチャートである。
【発明を実施するための形態】
【００２５】
以下、図面と共に本発明に係る機能管理システム及び機能管理方法の実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【００２６】
図１に本実施形態に係る機能管理システムである機能実行指示システム１を示す。機能実行指示システム１は、機能実行指示サーバ１０と音声認識サーバ２０とを備えて構成される。機能実行指示システム１は、通信端末３０に対して予め設定された１つ以上の機能の実行を指示するシステムである。また、機能実行指示システム１は、通信端末３０に対する音声等の入力に基づく文章に基づいて実行される機能の実行状態を管理するシステムである。
【００２７】
機能実行指示システム１から通信端末３０に対して実行が指示される機能は、例えば、レシピ検索、乗換案内、グルメ検索（飲食店検索）、画像検索、音楽検索、音楽プレーヤ、スケジューラ、メール作成、メモ、ルート案内、地図検索、ニュース検索、電話の発着信、カメラが相当する。なお、本実施形態では、実行される機能をタスクと呼ぶ。具体的には、レシピ検索、乗換案内、グルメ検索、画像検索、音楽検索、地図検索、ニュース検索等に関しては、例えば、通信端末３０において案内や検索結果の情報の要求が行われて、取得された当該案内や検索結果の情報が表示出力される。
【００２８】
また、メール作成、音楽プレーヤ、スケジューラ、電話の発着信、カメラ等に関しては、通信端末３０においてそれらのタスクを実行するためのアプリケーションプログラムが起動される。更に指示の内容によっては、アプリケーションプログラム起動後の動作も行われる。例えば、メール作成のタスクでは、メール本文や宛先への情報の入力が行われる。
【００２９】
通信端末３０は、通信網（例えば、移動体通信網）を介して機能実行指示サーバ１０及び音声認識サーバ２０等と通信を行うことができる装置であり、例えば、携帯電話機、スマートフォンやＰＣ（Personal Computer）に相当する。また、通信端末３０は、自動車等の車両で用いられるカーナビゲーション機能を搭載する端末であってもよい。本実施形態では、通信端末３０がカーナビゲーション機能を搭載する端末として説明する。例えば、通信端末３０は、車両に対して着脱可能に構成されており、車両に装着されて搭載された場合にカーナビゲーション機能を発揮することができる。なお、通信端末３０は、車両に装着されない場合（例えば、単に車両内に置かれる場合や車両に乗車しているユーザが携帯している場合）であっても、カーナビゲーション機能を発揮できてもよい。また、詳細には後述するように、通信端末３０は、自端末３０における状態である外部状態を示す情報を取得し、機能実行指示サーバ１０に送信する。具体的には、通信端末３０は、自端末３０に備えられるセンサや測定装置によって外部状態を示す情報を取得する。あるいは、通信端末３０は自動車や車載器が備える制御機器やセンサに接続されており、それらの制御機器やセンサからの情報を外部状態として取得できるようになっていてもよい。
【００３０】
上記のタスクは、ユーザの音声をトリガとして実行されるため、通信端末３０はユーザの音声を入力する機能を有している。また、通信端末３０は、機能実行指示システム１からの指示を受けてタスクを実行する機能、例えば、情報の受信機能、情報処理機能及び表示機能等を有している。
【００３１】
即ち、通信端末３０は、１つ以上の（あるいは複数の）タスクを実行する機能実行手段を有している。具体的には、通信端末３０は、タスクに対応するアプリケーションプログラムを予め記憶しておき、記憶したアプリケーションプログラムを実行（起動）することによってタスクを実行する。通信端末３０によって実行されるタスクは、後述するように機能実行指示サーバ１０によって指示される。また、タスクの実行は、アプリケーションプログラムを実行する以外にも、ネットワークからタスクに応じた情報を取得することで行われてもよい。
【００３２】
機能実行指示システム１による通信端末３０に対するタスクの実行の指示は、次のように行われる。まず、通信端末３０がユーザの音声を入力する。入力された音声は、通信端末３０から音声認識サーバ２０に送信される。音声認識サーバ２０は、通信端末３０から音声を受信し、受信した音声に対して音声認識を行う。音声認識サーバ２０は、音声認識の結果である文章（テキスト）を通信端末３０に送信する。通信端末３０は、音声認識の結果を受信して、更に機能実行指示サーバ１０に送信する。機能実行指示サーバ１０は、当該音声認識の結果を受信して、その音声認識の結果に基づいて実行すべきタスクを決定して、当該タスクを実行するように通信端末３０に指示する。例えば、機能実行指示サーバ１０は、実行すべきタスクを示す情報を通信端末３０に送信する。通信端末３０は、機能実行指示サーバ１０からの指示を受信して、当該指示に応じたタスクを実行する。なお、音声認識の結果である文章はいったん通信端末３０に送られることなく、音声認識サーバ２０から機能実行指示サーバ１０へ直接送信されてもよい。更に、機能実行指示サーバ１０と音声認識サーバ２０は一体であってもよい。
【００３３】
また、通信端末３０では、ユーザの音声によるタスクが実行される際にタスクの実行状態である対話状態を示す情報を保持する。当該対話状態において、タスクに関する処理が行われる。例えば、メール作成のタスクが起動される際には、通信端末３０は「メール作成」という対話状態となる。通信端末３０では、「メール作成」という対話状態で、ユーザの音声によってメール本文や宛先の入力がなされる。対話状態は、例えば、他のタスクが起動された際、あるいは、実行されているタスクが終了した際に遷移する。他のタスクが起動された際には、当該他のタスクに係る対話状態となる。また、実行されているタスクが終了した際には、何もタスクが実行されていない初期状態となる。タスクの終了は、実行されるタスクが正常に終了した場合（例えば、メール作成のタスクでは、メールの作成が終了しメール送信が行われた場合）や、ユーザの音声等によってタスクの実行が終了されられる場合（例えば、ユーザが「キャンセル」と発話した場合）になされる。
【００３４】
本実施形態に係る機能実行指示システム１は、上記の対話状態を管理するものである。上述したように、ユーザが認識している対話状態と、通信端末３０が保持している情報に係る対話状態とに相違が発生してしまうことがある。この状態では、ユーザの音声によるタスクの実行が適切に行われないおそれがある。例えば、ユーザが、通信端末３０が保持している情報に係る対話状態とは異なる発話をしてしまうおそれがある。また、通信端末３０は、例えば、以下のように通信網を介して情報の通知を受けることができる。この情報は渋滞情報やお勧めスポット情報等であり、プッシュ通知によって通知される。この通知は、実行されているタスクを邪魔しないように対話状態が初期状態の場合のみに行われる。しかし、何らかのタスクが起動されている対話状態となっていることをユーザが忘れてしまっていると、当該対話状態が終了しないために、上記情報の通知を受けられない。本実施形態に係る機能実行指示システム１は、上記のような問題点を解決するためものである。
【００３５】
引き続いて、本実施形態に係る機能実行指示システム１の機能について説明する。音声認識サーバ２０は、音声を入力して、入力した音声に対して音声認識を行い、音声認識を行った結果を出力する音声認識手段である装置である。具体的には、上述したように音声認識サーバ２０は、通信端末３０から音声データを受信する。音声認識サーバ２０は、音声認識エンジンを有しており、当該音声認識エンジンを用いて音声認識を行う。音声認識自体は、従来の任意の音声認識方法を利用することができる。音声認識サーバ２０は、音声認識結果を文章として取得して、通信端末３０に送信する。なお、この文章は複数の単語あるいは文字が連続的に繋がった構成の情報であってもよい。また、文章は、１つの単語によって構成されているものであってもよい。
【００３６】
図１に示すように、機能実行指示サーバ１０は、機能実行指示部１１と、対話状態管理部１２と、状態遷移部１３と、外部状態入力部１４と、タイムアウト時間設定部１５とを備えて構成される。また、機能実行指示サーバ１０は、タイムアウト時間更新部１６を備えてもよい。
【００３７】
機能実行指示部１１は、文章を入力して、当該文章に応じたタスクの実行を指示する機能実行指示手段である。具体的には、機能実行指示部１１は、以下の機能を有する。機能実行指示部１１は、通信端末３０から、音声認識サーバ２０による音声認識の結果である文章を示す情報（入力文、テキストデータ）を受信することで上記の情報を入力する。機能実行指示部１１に入力される文章は、通信端末３０に対するユーザの発話単位である。即ち、一回の発話に含まれる文章（文章群）を一つの単位として扱う。
【００３８】
機能実行指示部１１は、入力した文章に基づいて、上記の１つあるいは複数のタスクから実行が指示されるタスクを決定する。例えば、機能実行指示部１１は、機械学習によって得られた学習モデル（判定ルール）を用いてタスクを決定（判定）することとしてもよい。タスクの決定は、文章をどのタスクに分類するかという文書分類問題に帰着される。そこで、例えば、予めタスクに対応付いた発話事例を収集する。例えば、カメラを起動するタスクの発話例としては、「カメラ起動」「写真撮影」「ビデオを撮りたい」といった発話事例を収集する。同様に、飲食店検索、ショッピング検索等のタスクについてもタスクに応じた発話事例を収集する。
【００３９】
この発話事例を正解データ（サンプルデータ）として機械学習を行い、機械学習によって得られた学習モデルを用いてタスクを決定する。機能実行指示部１１は、入力した文章、例えば「来週の水曜日に会議の予定を登録」といった文章を学習モデルに基づくタスク識別器に入力して、当該タスク識別器によってタスクを決定する。例えば上記の発話例では、スケジュールのタスクが実行されるタスクとして決定される。なお、機能実行指示部１１は、機械学習によって得られた学習モデルに基づくタスク識別器を利用できればよく、必ずしも機能実行指示サーバ１０において機械学習が行われる必要はない。その場合、機能実行指示サーバ１０は上記の機械学習を行った装置から、学習モデルを示す情報を予め取得しておく。
【００４０】
また、機能実行指示部１１は、上記の機械学習による方法以外にも予めタスク毎に単語、あるいはカテゴリにスコアを設定しておき、文章に含まれる単語、あるいは当該単語に対応付けられたカテゴリから、スコアを特定し、そのスコアに基づいてタスクを決定してもよい。例えば、合計のスコアが最も高いタスクを、実行が指示されるタスクに決定することとしてもよい。この場合の単語又はカテゴリのスコアは、タスクとの関連度合に応じて定められている。
【００４１】
また、機能実行指示部１１による実行が指示されるタスクの決定は、入力された文章に基づくものであればよく上記以外の任意の方法を用いることができる。
【００４２】
機能実行指示部１１は、文章の入力元である通信端末３０に対して、決定したタスクの実行を指示する。具体的には、機能実行指示部１１は、タスクを実行させるコマンドを通信端末３０に送信することでタスクの実行を指示する。
【００４３】
対話状態管理部１２は、機能実行指示部１１による指示によって文章に基づいてタスクが実行されたこと（実行の指示がされたこと）を検出して、当該タスクの実行状態である対話状態を示す情報を保持する状態管理手段である。対話状態は、通信端末３０毎に保持される。
【００４４】
機能実行指示部１１は、対話状態管理部１２に記憶された通信端末３０毎の対話状態に応じたタスクの実行の指示を行う。通信端末３０の対話状態が初期状態である場合には、機能実行指示部１１は、上記のように文章に応じて新たにタスクを実行するように指示する。新たにタスクの実行を指示した場合には、機能実行指示部１１は、対話状態管理部１２によって管理している通信端末３０の対話状態を当該新たなタスクの実行状態に変更する。
【００４５】
通信端末３０の対話状態が特定のタスクの実行状態である場合には、通信端末３０及び機能実行指示サーバ１０では、当該特定のタスクに応じた処理が行われる。例えば、上述したように「メール作成」という対話状態である場合には、その後のユーザの発話（機能実行指示部１１に入力される文章）に応じてメール本文や宛先の入力や、メール送信を行うための処理が行われる。具体的には、通信端末３０において、メール本文や宛先の入力を促す音声や表示等の出力が行われて、通信端末３０及び機能実行指示サーバ１０において音声によるメール本文や宛先の入力処理が行われる。
【００４６】
また、通信端末３０の対話状態が特定のタスクの実行状態である場合に、タスクが終了した場合、あるいはユーザの発話によってタスクの終了が指示された場合には、機能実行指示部１１は、対話状態管理部１２によって管理している通信端末３０の対話状態を初期状態に変更する。上記のように機能実行指示部１１は、通信端末３０の対話状態に変更があった場合には、変更後の対話状態を状態遷移部１３及びタイムアウト時間設定部１５に通知することとしてもよい。
【００４７】
状態遷移部１３は、タスクが実行されたことが対話状態管理部１２によって検出されてからの経過時間が設定されたタイムアウト時間となったことを検出して、対話状態管理部１２に保持される情報に係るタスクの実行状態を遷移させる状態遷移手段である。具体的には、状態遷移部１３は、対話状態管理部１２によって管理される通信端末３０毎の対話状態が、初期状態からタスクが実行された状態となったことを監視する。状態遷移部１３は、通信端末３０の対話状態が初期状態からタスクが実行された状態となったことを検出すると、そこからの経過時間を計測する。状態遷移部１３は、計測される経過時間が、設定されたタイムアウト時間になったことを検出したら、対話状態管理部１２によって管理される通信端末３０の対話状態をタスクが実行された状態から初期状態に遷移させる。
【００４８】
この際、合わせて通信端末３０に対して、対話状態を初期状態にする指示をするようにしてもよい。その場合には、通信端末３０において、対話状態が初期状態になされたことを音声や表示等によりユーザに通知することとしてもよい。このように、通信端末３０において対話状態が初期状態に遷移されると、通信端末３０は通信網を介した情報の通知を受けることができる。また、後述するように外部状態入力部１４から入力される情報に係る外部状態が新たなものとなった場合には、経過時間をリセットして（ゼロにして）、改めて計測することとしてもよい（リセットしなくてもよい）。上記のタイムアウト時間は、後述するようにタイムアウト時間設定部１５から通知される。なお、状態遷移部１３は、外部状態の有無にかかわらず、タイムアウト時間設定部１５からタイムアウト時間の通知を受け、通知されたタイムアウト時間を上記の判断に用いることとしてもよい。
【００４９】
外部状態入力部１４は、通信端末３０における状態である外部状態を示す情報を入力する外部状態入力手段である。具体的には、通信端末３０が外部状態を示す情報を取得して、機能実行指示サーバ１０に送信する。外部状態入力部１４は、通信端末３０から送信された情報を受信することで当該情報を入力する。外部状態を示す情報は、例えば、通信端末３０の移動に関する情報である。具体的には、通信端末３０に備えられる、自端末３０の位置を測定するＧＰＳ（Global Positioning System）等の装置によって得られた通信端末３０の時系列の位置情報である。また、通信端末３０は、自動車や車載器が備える制御機器やセンサに接続されており、それらの制御機器やセンサからの情報を外部状態として入力する。即ち、通信端末３０が搭載された車両の状態に関する情報を、外部状態を示す情報としてもよい。なお、以下に示すように、外部状態としては、制御機器やセンサからの情報に基づいて判断したものを用いることができる。即ち、制御機器やセンサからの情報は、外部状態を生成するための情報であることすることができる。
【００５０】
外部状態は、例えば、一般道路走行状態、高速道路走行状態、停車状態、危険運転状態等である。一般道路走行状態は、車両が一般道路を走行している状態である。高速道路走行状態は、車両が高速道路を走行している状態である。停車状態は、車両が停車している状態である。危険運転状態は、車両が危険運転をされている状態である。これらは、例えば、時系列のＧＰＳによる通信端末３０の位置情報を利用することで、停車状態又は走行状態を判別することができる。また、一般道路の走行状態なのか、高速道路の走行状態なのかは、ＧＰＳによる位置情報やカーナビゲーションシステム（通信端末３０に含まれるものであっても、通信端末３０に接続されているものでもよい）から取得することで判断する。具体的には、通信端末３０の位置（即ち、車両の位置）を地図上に重ね合わせ、車両の速度に基づき、高速道路を走行しているのか一般道路を走行しているのか判断する。また、自端末３０に備えられる加速度センサやジャイロセンサを利用することで、急停車（急ブレーキ）、急発進、急ハンドル等の危険運転も検知可能である。
【００５１】
また、それ以外にも車両のエンジンのオン／オフ等の車両の情報を外部状態としてもよい。また、その他、危険車両が接近している等の危険な外部イベントを検知して、それを外部状態としてもよい。
【００５２】
また、通信端末３０の動作状態に関する情報を、外部状態を示す情報としてもよい。例えば、外部状態を、通信端末３０が電話やメールの着信中状態、カーナビゲーションアプリケーション（カーナビアプリ）の通信端末３０における起動及び終了状態、その他のアプリケーションの起動及び終了状態としてもよい。
【００５３】
また、複数の外部状態が得られる場合（複数の外部状態が競合する場合）には、外部状態に優先度を設定することとしておき、優先度が高い外部状態を利用することとしてもよい。この場合、予め外部状態毎に優先度を設定しておく。例えば、停車状態と電話着信状態とが両方検知された場合には、後者の電話着信状態を現在の外部状態としてもよい。また、複数の外部状態を組み合わせた状態を新たな外部状態としてもよい。例えば、停車中かつ電話着信の状態を１つの外部状態としてもよい。
【００５４】
通信端末３０から機能実行指示サーバ１０への外部状態を示す情報の送信（即ち、外部状態入力部１４による外部状態を示す情報の入力）は、例えば、一定時間毎に行われてもよいし、新たな外部状態が通信端末３０によって検出された場合に行われてもよい。外部状態入力部１４が、能動的に外部状態を検出することとしてもよい。外部状態入力部１４は、入力した外部状態を示す情報をタイムアウト時間設定部１５に出力する。
【００５５】
タイムアウト時間設定部１５は、外部状態入力部１４から入力された情報に係る外部状態に応じて、状態遷移部１３におけるタイムアウト時間を設定するタイムアウト時間設定手段である。また、タイムアウト時間設定部１５は、対話状態管理部１２に保持される現時点の対話状態（タスクの実行状態）を示す情報を入力して、当該対話状態（例えば、当該対話状態に係るタスク）にも応じて、タイムアウト時間を設定することとしてもよい。
【００５６】
具体的には、タイムアウト時間設定部１５は、図２に示すタイムアウト時間を設定するための情報である対話状態管理ポリシーを予め記憶している。図２に示すように対話状態管理ポリシーは、対話状態と、外部状態と、タイムアウト時間の設定値（秒）とが対応付けられた情報である。例えば、図２の１行目のデータは、「メール作成」の対話状態（実行されているタスク）、かつ「一般道路走行」の外部状態である場合には、タイムアウト時間が１０００秒に設定されることを示している。対話状態管理ポリシーは、例えば、予め機能実行指示サーバ１０の管理者等によって機能実行指示サーバ１０に入力されている。なお、後述するようにタイムアウト時間の設定値は、タイムアウト時間設定部１５において変更されてもよい。なお、タイムアウト時間が０は、即時タイムアウト（リセット）であることを示す。また、必ずしも対話状態と外部状態との全ての組み合わせに対して、設定値が設定されている必要はない。例えば、設定値がない場合は、タイムアウトがないこととする。
【００５７】
タイムアウト時間設定部１５は、対話状態管理ポリシーを参照して、外部状態入力部１４から入力された情報に係る外部状態と、対話状態管理部１２に保持される現時点の対話状態との組み合わせに対応付けられているタイムアウト時間の設定値を取得して、タイムアウト時間を設定する。タイムアウト時間設定部１５は、設定したタイムアウト時間を状態遷移部１３に通知する。
【００５８】
また、タイムアウト時間更新部１６は、状態遷移部１３によるタスクの実行状態の遷移の履歴に応じて、タイムアウト時間を更新するタイムアウト時間更新手段である。また、タイムアウト時間の更新は、対話状態管理部１２によって検出されたタスクの実行状態、及び外部状態入力部１４によって入力された外部状態にも応じたものであってもよい。この場合、タイムアウト時間更新部１６は、時刻毎の状態遷移部１３によるタスクの実行状態の遷移を示す情報、対話状態管理部１２によって検出されたタスクの実行状態を示す情報、及び外部状態入力部１４によって入力された外部状態を示す情報を入力する。タイムアウト時間更新部１６は、入力した情報に基づく、図３に示すような、対話状態と外部状態と時刻とを対応付けた履歴の情報である対話状態履歴を保持している。図３に示す対話状態履歴は、履歴の情報に係る時刻において、対話状態及び外部状態の少なくとも何れかが遷移（変更）されたことを示している。また、当該対話状態履歴には、状態遷移部１３によってタイムアウト時間に基づいてタスクの実行状態から初期状態に遷移された（対話状態管理ポリシーによるタイムアウト）旨の情報が含まれている。例えば、図３に示す対話状態履歴の２行目のデータは、時刻１０００においてタイムアウトにより対話状態が、「メール作成」から初期状態に遷移したことを示している。また、３行目のデータは、時刻５０００において、ユーザの発話に基づいて、対話状態が、初期状態から「メール作成」に遷移したことを示している。この情報は、例えば、対話状態管理部１２によって保持される対話状態の情報を取得することによって生成される。
【００５９】
タイムアウト時間更新部１６は、対話状態履歴に基づいて、タイムアウト時間設定部１５に記憶されている対話状態管理ポリシーのタイムアウト時間を更新する。タイムアウト時間更新部１６は、予めタイムアウト時間の更新ルールを予め記憶しておき、当該更新ルールに基づいた更新を行う。例えば、状態遷移部１３によるタイムアウト（タイムアウト時間に基づくタスクの実行状態から初期状態への遷移）の後、外部状態が変更される（外部状態が切り替えられる）前にタイムアウト前に実行されていたタスクが再度、実行された場合（あるいは、このようなパターンがＮ回（Ｎは予め設定された数値）観測された場合）、タイムアウト時間が厳しすぎたとみなし、タイムアウト時間を延長する。例えば、図３に示す対話状態履歴では、「一般道路走行」の外部状態において、「メール作成」の対話状態が、タイムアウトにより初期状態に遷移された後、再度「メール作成」の対話状態となっている。タイムアウト時間更新部１６は、上記のパターンを検出して、対話状態管理ポリシーにおいて、対応する対話状態及び外部状態の組み合わせに対応付けられているタイムアウト時間を更新ルールに基づいて延長する。更新ルールは、例えば「タイムアウト時間を２倍とする」といったものでもよいし、「タイムアウト時間を、対話状態管理ポリシーによるタイムアウト後、タイムアウト前に実行されていたタスクが再度、実行されるまでの時間に基づいて設定する」というものであってもよい。図３の例で説明すると、前者の更新ルールの場合、「メール作成」の対話状態と「一般道路走行」の外部状態との組み合わせに対応付けられたタイムアウト時間の設定値を１０００（秒）から２０００（秒）に増加させる。後者の更新ルールの場合、「メール作成」の対話状態と「一般道路走行」の外部状態との組み合わせに対応付けられたタイムアウト時間の設定値（１０００秒）に、タイムアウト時刻（１０００秒）から再度「メール作成」の対話状態になった時刻（５０００秒）までの時間を加算し、タイムアウト時間の設定値を５０００（秒）に増加させる。
【００６０】
また、例えば、状態遷移部１３によるタイムアウトの前に、タスクの実行がキャンセルされた場合（ユーザの発話によってタスクの実行が終了された場合）、タイムアウト時間が長すぎるとしてタイムアウト時間を短縮することとしてもよい。この場合、キャンセルされたタスクが実行された対話状態と、その際の外部状態とに対応付けられたタイムアウト時間を前述の更新ルールに基づいて短縮する。例えば、「タイムアウト時間を１／２倍とする」という更新ルールである場合には、タイムアウト時間の設定値を１００（秒）から５０（秒）に減少させる。また、「タイムアウト時間を、タスクを実行してからタスクの実行がキャンセルされるまでの時間に減少させる」という更新ルールであり、タスクを実行してからタスクの実行がキャンセルされるまでの時間が６０（秒）であった場合は、タイムアウト時間の設定値を１００（秒）から６０（秒）に減少させる。以上が、本実施形態に係る機能実行指示サーバ１０の機能構成である。
【００６１】
図４に本実施形態に係る機能実行指示サーバ１０及び音声認識サーバ２０を構成するサーバ装置のハードウェア構成を示す。図３に示すように当該サーバ装置は、ＣＰＵ（Central Processing Unit）１０１、主記憶装置であるＲＡＭ（RandomAccess Memory）１０２及びＲＯＭ（Read Only Memory）１０３、通信を行うための通信モジュール１０４、並びにハードディスク等の補助記憶装置１０５等のハードウェアを備えるコンピュータを含むものとして構成される。これらの構成要素がプログラム等により動作することにより、上述した機能実行指示サーバ１０及び音声認識サーバ２０の機能が発揮される。以上が、本実施形態に係る機能実行指示システム１の構成である。
【００６２】
引き続いて、図５のフローチャートを用いて、本実施形態に係る機能実行指示システム１で実行される処理である機能管理方法を説明する。本処理では、まず、本実施形態に係る機能実行指示システム１による機能実行の指示を受けるための通信端末３０に対するユーザの操作が行われて、通信端末３０に、機能を実行させるためのユーザの音声（発話）が入力される。続いて、当該音声が通信端末３０から音声認識サーバ２０に送信される。音声認識サーバ２０では、当該音声が受信されて入力される（Ｓ０１、音声認識ステップ）。続いて、音声認識サーバ２０では、入力された音声に対して音声認識が行われる（Ｓ０２、音声認識ステップ）。音声認識結果である文章を示す情報が音声認識サーバ２０から通信端末３０に送信される。通信端末３０では、その情報が受信されて、機能実行指示サーバ１０に送信される。
【００６３】
機能実行指示サーバ１０では、機能実行指示部１１によって、音声認識結果である文章を示す情報が受信されて入力される（Ｓ０３、機能実行指示ステップ）。続いて、機能実行指示部１１によって、入力された文章に基づいて実行が指示されるタスクが決定され、通信端末３０に対してタスクの実行が指示される（Ｓ０４、機能実行指示ステップ）。機能実行指示部１１によるタスクの実行が指示されると、対話状態管理部１２によって、その旨が検出されて、対話状態を示す情報として保持される（Ｓ０５、状態管理ステップ）。対話状態は、対話状態管理部１２から状態遷移部１３及びタイムアウト時間設定部１５に通知される。なお、この通知は、対話状態が変更された場合のみに行われてもよい。
【００６４】
一方で、外部状態入力部１４によって、通信端末３０における状態である外部状態を示す情報が入力される（Ｓ０６、外部状態入力ステップ）。なお、外部状態を示す情報の入力は、必ずしもこのタイミングで行われる必要はなく、Ｓ０１〜Ｓ０５の処理のタイミングとは独立して（例えば、Ｓ０１の前）行われてもよい。外部状態は、外部状態入力部１４からタイムアウト時間設定部１５に通知される。
【００６５】
続いて、タイムアウト時間設定部１５によって、対話状態管理部１２から通知された対話状態、及び外部状態入力部１４から通知された外部状態から、対話状態管理ポリシーに基づいてタイムアウト時間が設定される（Ｓ０７、タイムアウト時間設定ステップ）。設定されたタイムアウト時間は、タイムアウト時間設定部１５から状態遷移部１３に通知される。
【００６６】
続いて、状態遷移部１３によって、対話状態管理部１２から通知された対話状態となってからの経過時間が計測される（Ｓ０８、状態遷移ステップ）。なお、対話状態の管理、外部状態の入力は、経過時間の計測中にも行われ得る。ここで、対話状態又は外部状態が更新されたか否かが判断される（Ｓ０９）。これらの更新があった場合（Ｓ０９のＹＥＳ）には、変更後の対話状態又は外部状態に基づいて、再度、タイムアウト時間設定部１５によってタイムアウト時間が設定される（Ｓ０７、タイムアウト時間設定ステップ）。また、その後、状態遷移部１３によって改めて対話状態管理部１２から通知された対話状態となってからの経過時間が計測される（Ｓ０８、状態遷移ステップ）。
【００６７】
なお、対話状態が初期状態となった場合には、本処理を終了させてもよい。また、対話状態が新たなタスクに係るものであった場合（対話状態が更新された場合）には、Ｓ０８における経過時間の計測は、新たなタスクが実行された時点から改めて行われる（経過時間がリセットされる）。また、外部状態が更新された場合には、経過時間をリセットしてもよいし、リセットしなくてもよい（リセットされるか、リセットされないかは予め設定されている）。
【００６８】
対話状態又は外部状態の更新がなかった場合（Ｓ０９のＮＯ）には、状態遷移部１３によって、計測した経過時間がタイムアウト時間設定部１５から通知されたタイムアウト時間を経過したか否か（対話状態管理ポリシーが発火したか否か）が判断される（Ｓ１０、状態遷移ステップ）。タイムアウト時間を経過していないと判断された場合（Ｓ１０のＮＯ）には、タイムアウト時間を経過するまで繰り返しＳ０９の判断が行われる。
【００６９】
タイムアウト時間を経過していると判断された場合（Ｓ１０のＹＥＳ）には、状態遷移部１３によって、対話状態管理部１２によって管理される通信端末３０の対話状態が、タスクが実行された状態から初期状態に遷移させられる（Ｓ１１）。合わせて、状態遷移部１３から通信端末３０に対して、対話状態を初期状態にする指示をする。これにより、通信端末３０及び機能実行指示サーバ１０は、初期状態（ユーザの発話によるタスクが実行されていない状態）にされる。以上が本実施形態に係る機能実行指示システム１で実行される処理である機能実行指示方法である。
【００７０】
上述したように本実施形態では、通信端末３０に係る外部状態に応じてタイムアウト時間が設定され、当該設定されたタイムアウト時間に基づいてタスクの実行状態が、タスクが実行されている状態から初期状態に遷移される。外部状態は、概ねユーザの状態を反映している。外部状態は、例えば、車両がどのような運転状態を示しており、ユーザは当該運転状態の中にいることとなる。従って、本実施形態によれば、ユーザの状態に応じてタスクを適切に遷移させることができる。本実施形態によれば、通信端末３０に入力されるユーザの発話に基づく文章に基づいてタスクを実行する際に、タスクの実行状態の管理を適切に行うことができる。
【００７１】
具体的には、ユーザがタスクの実行状態であったことを忘れていても当該実行状態がタイムアウトされているので、新たなタスクの実行をさせようとした場合にも適切な処理をおこなうことができる。また、タスクの実行状態が保持されているため、情報通知の遮断が延々と維持されてしまうことを防止することができる。
【００７２】
また、本実施形態のようにタイムアウト時間は、タスクにも応じたものとなっていてもよい。早めにタイムアウトさせた方がよいタスクもあれば、早めにタイムアウトさせない方がよいタスクもあるからである。従って、この構成によれば、実行されるタスク毎により適切にタイムアウト時間を設定することができ、更に適切にタスクの実行状態の管理を行うことができる。但し、必ずしもタイムアウト時間をタスクに応じたものとしなくてもよく、全てのタスクで外部状態に応じた一律のタイムアウト時間としてもよい。また、タイムアウト時間は、実行されているタスクの状態を更に細分化した対話状態に応じたものとしてもよい。例えば、「メール作成」のタスクであれば、宛先を埋める状態、本文を埋める状態等をそれぞれ対話状態とし、それらの対話状態に応じたタイムアウト時間としてもよい。この構成によれば、実行されるタスクの実行状態毎により適切にタイムアウト時間を設定することができ、更に適切にタスクの実行状態の管理を行うことができる。
【００７３】
外部状態は、本実施形態のように、外部状態は通信端末３０の移動に関する情報や車両の状態に関する情報、通信端末３０の動作状態に関する情報とすることとするのがよい。この構成によれば、ユーザの状況に応じた適切な外部状態とすることができ、確実かつ適切にタスクの実行状態の管理を行うことができる。例えば、ユーザが自動車等の車両に乗っている場合に外部状態を適切なものとすることができる。但し、外部状態は、必ずしも上述したものに限られず、ユーザが置かれた状況や環境等に応じて通信端末３０における状態であれば任意のものを用いることができる。
【００７４】
また、上述したように対話状態履歴に基づいて、タイムアウト時間を設定することとしてもよい。この構成によれば、タイムアウト後のユーザの発話によるタスクの起動やタイムアウト前のユーザのタスクのキャンセル等に応じて、設定されるタイムアウト時間を適切なものとすることができ、更に適切にタスクの実行状態の管理を行うことができる。
【００７５】
また、本実施形態のように機能実行指示サーバ１０は、機能実行指示部１１を備えることとするのがよい。この構成によれば、タスクを実行させることが可能となる。但し、本発明に係る機能管理システムは、実行されるタスクの実行状態を管理するものであればよいので、必ずしも機能実行指示部１１を備えている必要はない。その場合、本発明に係る機能管理システムにおける対話状態管理部１２に相当する機能部が、機能実行指示部１１に相当する機能部を備える装置によって文章に基づいてタスクが実行されたこと（タスクの実行が指示されたこと）を検出して、当該タスクの実行状態を示す情報を保持すればよい。
【００７６】
また、本実施形態のように音声を入力して音声認識を行って、音声認識結果を入力される文章として、機能を実行することとしてもよい。この構成によれば、ユーザの音声によって機能を実行することが可能となる。但し、本実施形態においては、機能実行指示システム１において、音声認識サーバ２０を含むこととしていたが、必ずしも音声認識サーバ２０を含む必要はない。この場合、音声認識された結果、あるいは音声認識によらない文章が機能実行指示システム１に入力される。
【００７７】
また、本実施形態では、機能実行指示サーバ１０と音声認識サーバ２０とが別体として構成されていたが、それらが一体として構成されていてもよい。この場合、音声認識結果を、通信端末３０を介して送受信する必要がない。また、通信端末３０等のユーザに用いられる端末に、機能実行指示サーバ１０あるいは音声認識サーバ２０の機能が備えられていてもよい。その場合、当該端末が本発明に係る機能管理システムとなる。あるいは、機能実行指示サーバ１０がタスクを実行する機能を有しており、タスクの実行結果を通信端末３０に提供する構成であってもよい。
【符号の説明】
【００７８】
１…機能実行指示システム、１０…機能実行指示サーバ、１１…機能実行指示部、１２…対話状態管理部、１３…状態遷移部、１４…外部状態入力部、１５…タイムアウト時間設定部、１６…タイムアウト時間更新部、２０…音声認識サーバ、１０１…ＣＰＵ、１０２…ＲＡＭ、１０３…ＲＯＭ、１０４…通信モジュール、１０５…補助記憶装置、３０…通信端末。
【図１】
2015018146.tif 000003
【図２】
2015018146.tif 000004
【図３】
2015018146.tif 000005
【図４】
2015018146.tif 000006
【図５】
2015018146.tif 000007