(57)【特許請求の範囲】
【請求項１】
発話により電子機器を動作させるシステムであって、
前記発話を受け付ける複数の電子機器と、
前記複数の電子機器と通信可能なサーバとを備え、
前記電子機器は、
前記発話を受け付けるための音声入力手段と、
当該電子機器の識別情報および前記受け付けられた発話の内容を前記サーバに送信するための送信手段とを備え、
前記サーバは、
前記識別情報および時刻設定を含む前記発話の内容を対応づけて保持するための格納手段と、
時刻設定を含まない前記発話の内容に対して、前記格納手段に保持される時刻設定のうち前記識別情報に対応する時刻設定に基づいて命令を生成するための生成手段と、
前記識別情報および前記命令を当該電子機器に送信するための送信手段とを備え、
前記生成手段は、
前記電子機器から前記時刻設定に基づく命令を取り消す内容の発話を受信した場合に、当該電子機器に対して当該命令の取り消しを確認するメッセージの出力命令を生成し、
前記電子機器から、前記メッセージに対する返答として前記命令の取り消しを中止する内容の発話を受信した場合に、当該電子機器に対して、当該電子機器の識別情報に対応する時刻設定を含むメッセージの出力命令を生成するように構成され、
前記電子機器は、
前記サーバから、前記命令を受信するための受信手段と、
前記命令に基づいて動作を実行する動作手段とを備える、システム。
【請求項２】
電子機器を制御するサーバであって、
複数の前記電子機器を介して発話の内容を受け付けるための入力手段と、
前記電子機器の識別情報および時刻設定を含む前記発話の内容を対応づけて保持するための格納手段と、
時刻設定を含まない発話の内容に対して、前記格納手段に保持される時刻設定のうち前記識別情報に対応する時刻設定に基づいて命令を生成するための生成手段と、
前記命令を、当該命令を生成するための前記発話の内容に対応づけられた前記識別情報により特定される電子機器に送信するための送信手段とを備え、
前記生成手段は、
前記電子機器から前記時刻設定に基づく命令を取り消す内容の発話を受信した場合に、当該電子機器に対して当該命令の取り消しを確認するメッセージの出力命令を生成し、
前記電子機器から、前記メッセージに対する返答として前記命令の取り消しを中止する内容の発話を受信した場合に、当該電子機器に対して、当該電子機器の識別情報に対応する時刻設定を含むメッセージの出力命令を生成するように構成される、サーバ。
【請求項３】
前記送信手段は、前記命令を確認するための情報を前記電子機器に送信する、請求項２記載のサーバ。
【請求項４】
前記送信手段は、前記電子機器からの前記発話の内容に基づいて、前記命令を、当該命令を生成するための前記発話の内容に対応づけられた前記識別情報により特定される電子機器に送信する、請求項２に記載のサーバ。
【請求項５】
前記サーバは、少なくとも１つの前記電子機器に音声を出力させるための音声データをさらに保持するように構成されており、
前記送信手段は、前記少なくとも１つの電子機器に対して、前記音声データをさらに送信するように構成されている、請求項２に記載のサーバ。
【請求項６】
前記サーバは、複数の前記音声データを保持するように構成されており、
前記入力手段は、当該複数の音声データのうちのいずれかの音声データを選択する発話の入力を受け付けるように構成されており、
前記生成手段は、前記選択された音声データを用いて前記命令を生成するように構成されている、請求項５に記載のサーバ。
【請求項７】
前記電子機器は、前記発話に基づいて、当該発話者が当該電子機器に登録されたユーザであるか否かを判断するように構成されており、
当該発話者が前記ユーザである場合に、前記入力手段は、当該電子機器の識別情報および前記受け付けられた発話を受信するように構成されている、請求項２〜６のいずれかに記載の音声認識サーバ。
【請求項８】
電子機器であって、
サーバと通信するための通信手段と、
発話を受け付けるための音声入力手段と、
電子機器の動作を実行する動作手段と、を備え、
前記通信手段は、
前記音声入力手段が受け付けた発話の内容をサーバに送信し、
過去にサーバに送信した時刻設定を含む前記発話の内容に基づいて、前記サーバによって生成された、時刻設定を含まない前記発話の内容に応じた命令を前記サーバから受信し、
過去にサーバに送信した時刻設定を含む前記発話の内容を取り消す発話の内容に基づいて、前記サーバによって生成された、当該取り消しを確認するメッセージの出力命令を受信し、
前記メッセージに対する返答であって前記取り消しを中止する内容の発話に基づいて、前記サーバによって生成された、前記過去にサーバに送信した時刻設定を含むメッセージの出力命令を受信し、
前記動作手段は、受信した命令に基づいて動作を実行する、電子機器。
【請求項９】
音声を出力するための音声データを前記サーバから受信するように構成された受信手段をさらに備え、
前記動作手段は、前記音声データに基づいて音声を出力するための音声出力手段を含む、請求項８に記載の電子機器。
【請求項１０】
前記音声データを保存するためのメモリと、
次の発話が前記電子機器に与えられた場合に、前記次の発話を出力するための音声データが前記メモリに保存されているか否かを確認するための確認手段とをさらに備え、
前記送信されるべき音声データが当該電子機器に保存されている場合に、前記音声出力手段は、前記メモリに保存されている音声データに基づいて音声を出力するように構成されている、請求項９に記載の電子機器。
【請求項１１】
前記サーバは、複数の前記音声データを保持するように構成されており、
前記音声入力手段は、当該複数の音声データのうちのいずれかの音声データを選択する発話の入力を受け付けるように構成されており、
前記サーバは、前記選択された音声データを用いて前記命令を生成し、
前記音声出力手段は、前記選択された音声データに基づく音声を出力するように構成されている、請求項９または１０に記載の電子機器。
【請求項１２】
前記命令に基づいて、前記サーバと通信可能な他の機器に対して、当該機器を制御するための信号を送信するように構成された送信手段をさらに備える、請求項８〜１１のいずれかに記載の電子機器。
【請求項１３】
前記発話に基づいて、当該発話者が当該電子機器に登録されたユーザであるか否かを判断するための認証手段をさらに備え、
当該発話者が前記ユーザである場合に、前記通信手段は、当該電子機器の識別情報および前記受け付けられた発話を前記サーバに送信するように構成されている、請求項８〜１２のいずれかに記載の電子機器。
【請求項１４】
人感センサーと、
前記人感センサーからの出力に基づいてユーザの近傍に移動するための移動手段とをさらに備える、請求項８〜１３のいずれかに記載の電子機器。
【請求項１５】
前記人感センサーは、前記サーバからの指示に従って起動するように構成されている、請求項１４に記載の電子機器。
【請求項１６】
電子機器を制御するサーバの制御方法であって、
複数の前記電子機器を介して発話の内容を受け付けるステップと、
前記電子機器の識別情報および時刻設定を含む前記発話の内容を対応付けて保持するステップと、
時刻設定を含まない前記発話の内容に対して、前記保持される時刻設定のうち前記識別情報に対応する時刻設定に基づいて命令を生成するステップと、
前記命令を、当該命令を生成するための前記発話の内容に対応付けられた前記識別情報により特定される電子機器に送信するステップとを備え、
前記命令を生成するステップは、
前記電子機器から前記時刻設定に基づく命令を取り消す内容の発話を受信した場合に、当該電子機器に対して当該命令の取り消しを確認するメッセージの出力命令を生成することと、
前記電子機器から、前記メッセージに対する返答として前記命令の取り消しを中止する内容の発話を受信した場合に、当該電子機器に対して、当該電子機器の識別情報に対応する時刻設定を含むメッセージの出力命令を生成することとを含む、サーバの制御方法。
【請求項１７】
請求項１６に記載の方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、音声認識に基づく機器の動作制御に関し、より特定的には、対話により機器の動作を制御する技術に関する。
【背景技術】
【０００２】
対話機能を持つロボットが知られている。例えば、特開２００３−６９７３２号公報（特許文献１）は、「携帯可能な、対話機能を持つ、ネットワークの情報を取込める、使用者の感情に対し特定メッセージを与え、スケジュール機能を持つロボット」を開示している（［要約］の［課題］参照）。このロボットは、「使用者の音声を認識し入力する音声入力部４と、合成した音声を出力する音声出力部５と、記憶部２２と、制御部２とを備え、使用者の音声に対し、応答する音声を出力する様に、対話機能を実行する構成とする。記憶部は、使用者の音声により入力されたスケジュールデータを記憶し、使用者の問いかけに対し、スケジュールデータに従い、スケジュールの内容を音声にて出力する。」というものである（［要約］の［解決手段］）。
【０００３】
また、特開２００２−３４４５７３号公報（特許文献２）は、「予め設定した時刻になるとタレントや有名人の声でその時刻が到来したことを知らせてくれると共に、その声を自由に選択することが可能な音声再生タイマ及び音声再生タイマを有する携帯電話」を開示している（［要約］の［課題］）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−６９７３２号公報
【特許文献２】特開２００２−３４４５７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
対話機能を備えるロボットに対して、スケジュールの音声出力や時刻の到来の通知等の設定を容易に行う技術が必要とされている。また、単なる対話ではなく、ユーザに興趣をもたらし得る対話を提供するための技術が必要とされている。さらには、発話される音声を変更可能な技術が必要とされている。
【０００６】
本開示は、上述のような問題点を解決するためになされたものであって、ある局面における目的は、対話機能を備えるロボットによるスケジュールの音声出力や時刻の到来の通知等を容易に行うことができるシステムを提供することである。他の局面における目的は、単なる対話ではなく、ユーザに興趣をもたらし得る対話を提供できるシステムを提供することである。さらに別の局面における目的は、発話される音声を変更可能なシステムを提供することである。
【０００７】
別の局面における目的は、対話機能を備えるロボットによるスケジュールの音声出力や時刻の到来の通知の設定等を容易に行うことができるサーバ、電子機器、サーバの制御方法、または当該方法を実現するためのプログラムを提供することである。他の局面における目的は、単なる対話ではなく、ユーザに興趣をもたらし得る対話を提供できるサーバ、電子機器、サーバの制御方法または当該方法を実現するためのプログラムを提供することである。さらに別の局面における目的は、発話される音声を変更可能なサーバ、電子機器、サーバの制御方法、または当該方法を実現するためのプログラムを提供することである。
【課題を解決するための手段】
【０００８】
一実施の形態に従うと、発話により電子機器を動作させるシステムが提供される。このシステムは、発話を受け付ける複数の電子機器と、複数の電子機器と通信可能なサーバとを備える。電子機器は、発話を受け付けるための音声入力手段と、当該電子機器の識別情報および受け付けられた発話の内容をサーバに送信するための送信手段とを備える。サーバは、識別情報および発話の内容を保持するための格納手段と、発話内容に応じた命令を生成するための生成手段と、識別情報および命令を当該電子機器に送信するための送信手段とを備える。電子機器は、サーバから、命令を受信するための受信手段と、命令に基づいて動作を実行する動作手段とを備える。
【０００９】
他の実施の形態に従うと、電子機器を制御するサーバが提供される。このサーバは、複数の電子機器を介して発話の内容を受け付けるための入力手段と、電子機器の識別情報および発話の内容を対応づけて保持するための格納手段と、発話の内容に応じた命令を生成するための生成手段と、命令を、当該命令を生成するための発話の内容に対応づけられた識別情報により特定される電子機器に送信するための送信手段とを備える。
【００１０】
他の実施の形態に従うと、電子機器が提供される。この電子機器は、サーバと通信するための通信手段と、発話を受け付けるための音声入力手段と、電子機器の動作を実行する動作手段とを備える。通信手段は、音声入力手段が受け付けた発話の発話内容をサーバに送信し、発話内容に応じた命令をサーバから受信する。動作手段は、受信した命令に基づいて動作を実行する。
【００１１】
他の実施の形態に従うと、サーバの制御方法が提供される。この制御方法は、少なくとも１つの電子機器による未来の動作の指示を含む発話を受け付けるステップと、少なくとも１つの電子機器の識別情報および指示の内容を保持するステップと、指示の内容に応じた命令を生成するステップと、未来の動作が行なわれる時機の到来に基づいて、識別情報および命令を当該１つ以上の電子機器に送信するステップとを備える。
【００１２】
さらに他の局面に従うと、上記の方法をコンピュータに実行させるためのプログラムが提供される。
【００１３】
この発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解されるこの発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【００１４】
【図１】ユーザが本実施形態に係るシステム１００を使用する一態様を表わす図である。
【図２】システム１００の構成の一例を表わすブロック図である。
【図３】サーバ１２０を実現するコンピュータシステムの構成を表わすブロック図である。
【図４】サーバ１２０のハードディスク５におけるデータの格納の一態様を表わす図である。
【図５】システム１００によって出力されるメッセージを表わす図である。
【図６】システム１００に出力される時刻を規定するデータである。
【図７】ロボット１１０のハードウェア構成を表わすブロック図である。
【図８】システム１００が目覚まし設定の登録を行なうときに実行する処理の一部を表わすフローチャートである。
【図９】目覚まし設定の変更を行なうための処理を表わすフローチャートである。
【図１０】目覚まし設定の確認処理を表わすフローチャートである。
【図１１】目覚まし設定を取り消す処理を表わすフローチャートである。
【図１２】サーバ１２０が備えるハードディスク５が格納するデータの一態様を概念的に表わす図である。
【図１３】システム１００が実行する処理の一部を表すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００１６】
＜第１の実施の形態＞
図１を参照して、本実施の形態に係る技術思想について説明する。図１は、ユーザが本実施形態に係るシステム１００を使用する一態様を表わす図である。システム１００は、複数の電子機器（たとえば、ロボット１１０Ａ，１１０Ｂ，…１１０Ｎ）と、サーバ１２０とを備える。ロボット１１０Ａ，１１０Ｂ，１１０Ｎを総称するときは、ロボット１１０という。サーバ１２０とロボット１１０とはインターネット１３０その他のネットワークによって互いに繋がれている。ロボット１１０は、たとえば、自走機能を備えた掃除機として実現される。なお、電子機器は、ロボットに限られず、電子レンジ、エアコンその他の機器であってもよい。電子機器は、少なくとも、音声入力機能と、サーバ１２０との通信機能と、動作機能とを備えていればよい。
【００１７】
（目覚まし設定）
ある局面において、目覚まし設定の時刻は、たとえば、２４時間単位で設定可能であり、また、１０分単位で指定可能である。目覚まし機能を利用したい場合には、ユーザ１５０は、毎回声をかけることにより時刻を設定することができる。ユーザ１５０が、一度時刻を設定すると、２回目以降は簡単に同じ時刻に設定することができる。
【００１８】
ロボット１１０が設定したい時刻を聞いてから、たとえば、約３０秒以内に希望時刻が把握できなかった場合、タイムアウトとなり、目覚まし機能の設定は完了しない。なお、当該タイムアウトまでの時間は、例示された時間に限られず、その他の時間が用いられてもよい。また、タイムアウトまでの時間は、システム１００のユーザによって設定されてもよい。この場合のユーザは、サーバ１２０の運営者およびロボット１１０のユーザのいずれであってもよい。
【００１９】
なお、別の局面において、ロボット１１０は、設定時刻に「目覚ましソング」を歌い得る。この場合、ロボット１１０のユーザは、途中で歌を止めたい場合には、ロボット１１０の本体のスタート／停止ボタン（図示しない）を予め定められた時間（たとえば２秒）以上長押しすることにより、ロボット１１０による歌唱を止めることができる。
【００２０】
より具体的には、ある局面において、ユーザ１５０は、「目覚まし設定して」と発話する（メッセージ１５１）。ロボット１１０Ａまたはサーバ１２０がメッセージ１５１の音声の内容を認識すると、ロボット１１０Ａは、「わかった。設定したい時刻を言ってね。」という応答（メッセージ１５２）を出力する。ユーザは、メッセージ１５２を認識すると、「７時２０分」と発話する（メッセージ１５３）。ロボット１１０Ａまたはサーバ１１０が、メッセージ１５３の音声の内容を認識すると、ロボット１１０Ａは、「目覚まし設定したよ。７時２０分に起こすからね。」と発話する（メッセージ１５４）。
【００２１】
このようにして、ユーザは、ロボット１１０の発話により心地よく目覚めたいと望むとき、音声による会話で時刻を指定して目覚ましをセットすることができる。
【００２２】
その後、設定された時刻が到来すると、ロボット１１０は、サーバ１２０からのデータに基づいて、メッセージあるいは歌を音声で出力する。この音声は、目覚まし設定の時に使用された声優の音声でもよく、別の局面において、当該声優とは異なる人の歌声が出力されてもよい。
【００２３】
（２回目以降の設定）
ユーザが目覚ましを一度設定している場合には、音声会話により簡単に同じ時刻に目覚まし機能を再度設定することができる。たとえば、ユーザが「目覚まし設定して」と発話すると、ロボット１１０は「目覚まし設定したよ。７時２０分に起こすからね♪」と発話する。この場合、ロボット１１０の発話は、既に設定されている時刻に基づいて行なわれる。当該目覚ましの時刻は、ロボット１１０に、あるいは、サーバ１２０に保存される。
【００２４】
（目覚まし時刻の変更）
ユーザは、ロボット１１０による目覚まし時刻を音声会話により変更することができる。たとえば、ユーザが「目覚まし設定して」と発話する。ユーザの発話の内容がロボット１１０またはサーバ１２０によって認識されると、ロボット１１０は「わかった♪  設定したい時刻を言ってね。」と発話する。ユーザが「６時２０分」と発話する。ユーザの発話の内容がロボット１１０またはサーバ１２０によって認識されると、ロボット１１０は、「目覚まし設定したよ。６時２０分に起こすからね♪」と発話する。このようにして、目覚まし時刻の設定が変更される。
【００２５】
なお、目覚まし時刻の設定は、上記の態様に限られない。たとえば、ユーザが変更後の時刻（たとえば、６時２０分）と発話する代わりに、「いつもより１時間早く起こして」と発話してもよい。ロボット１１０は、当該ユーザの標準の目覚まし設定時刻として７時２０分を記憶している場合には、上記発話の内容を認識したとき、新たな時刻として６時２０分を算出し、目覚まし設定時刻として登録し得る。
【００２６】
（目覚まし設定時刻の確認）
ユーザは、ロボット１１０の目覚まし設定時刻を音声会話で確認することができる。たとえば、ユーザが「目覚まし確認して」と発話する。当該発話がロボット１１０またはサーバ１２０によって認識されると、ロボット１１０は、ロボット１１０またはサーバ１２０に保存されているデータに基づき、「目覚まし設定してるよ♪  ７時に起こすからね。」と発話する。
【００２７】
別の局面において、目覚ましが設定されていない場会がある得る。この場合、ユーザが「目覚まし設定して」と発話して当該発話が認識されても、ロボット１１０は、当該ユーザの目覚ましがロボット１１０またはサーバ１２０に保存されていないことを検知する。ロボット１１０は、その検知の結果に基づいて、「目覚まし設定していないよ。」と発話する。
【００２８】
（目覚まし設定の取り消し）
ユーザは、ロボット１１０の目覚まし機能を、音声会話で取り消すことができる。たとえば、ユーザが「目覚まし取り消して」と発話する。当該発話がロボット１１０またはサーバ１２０によって認識されると、ロボット１１０は、「わかった。目覚まし取り消していい？」と発話する。ユーザが、確認の結果を伝えるメッセージ（たとえば「いいよ」）を発話すると、ロボット１１０は「目覚まし設定を取り消したよ。」と発話する。
【００２９】
別の局面において、ユーザは目覚まし設定の取り消しの指示をキャンセルすることができる。たとえば、ユーザが「目覚まし取り消して」と発話する。当該発話がロボット１１０またはサーバ１２０によって認識されると、ロボット１１０は、「わかった。目覚まし取り消していい？」と発話する。気が変わったユーザが、「やめる」と発話する。当該発話がロボット１１０またはサーバ１２０によって認識されると、ロボット１１０は、「目覚まし設定したままです。７時に起こすからね♪」と発話する。
【００３０】
図２を参照して、本実施の形態に係るシステム１００の構成について説明する。図２は、システム１００の構成の一例を表わすブロック図である。システム１００は、音声入力部２１０と、音声認識処理部２２０と、抽出部２３０と、記憶部２４０と、動作部２５０と、命令生成部２６０と、計時部２７０とを備える。
【００３１】
音声入力部２１０は、システム１００に対する発話（たとえば目覚ましを設定する指示、変更する指示等）の入力を受け付ける。音声入力部２１０は、その発話に応じた信号を音声認識処理部２２０に出力する。当該信号は、たとえば発話の識別情報、発話に含まれる当該指示とを含む。当該指示は、音声データおよび文字データのいずれであってもよい。
【００３２】
音声認識処理部２２０は、音声入力部２１０から送られる信号に基づいて識別情報と発話に含まれる指示とを音声認識処理し、その処理の結果を抽出部２３０に出力する。
【００３３】
抽出部２３０は、音声認識処理部２２０から送られた認識処理の結果から当該発話の識別情報と発話に含まれる指示の内容とを抽出し、抽出したデータを記憶部２４０に格納する。
【００３４】
記憶部２４０は、システム１００に対して与えられたデータ、システム１００において生成されたデータ等を保持する。
【００３５】
動作部２５０は音声出力部２５１を含む。動作部２５０は、音声認識処理部２２０からの出力の結果に基づいて、命令生成部２６０によって生成された命令により指定された動作を実行する。動作部２５０により行なわれる動作は、たとえば、アラーム音声の出力、その他音声の出力、掃除機能がシステム１００に含まれている場合には、掃除のための機構の運転などを含み得る。
【００３６】
音声出力部２５１は、命令生成部２６０から命令を受信したことに基づいて、音声認識処理部２２０から与えられた信号に基づき応答を音声により出力する。
【００３７】
命令生成部２６０は、動作部２５０に動作を実行させるための命令を生成する。たとえば、命令生成部２６０は、記憶部２４０に保持されているデータと、計時部２７０によって計測される時間データとを用いて、当該命令を生成する。命令生成部２６０は、生成した命令を動作部２５０に送る。当該命令は、機器の識別情報と動作の具体的な指示内容とを含む。
【００３８】
計時部２７０は、システム１００における時刻を計測する。計時部２７０は、予め保持しているクロックに基づいて時間を計測し、あるいは、システム１００に接続されている他の情報通信装置から正確な時刻情報を受信し得る。正確な時刻情報は、たとえば、ＧＰＳ（Global  Positioning  System）信号その他の測位信号によって取得された時刻情報を含み得る。
【００３９】
［サーバの構成］
図３を参照して、本実施の形態に係るサーバ１２０の構成について説明する。図３は、サーバ１２０を実現するコンピュータシステムの構成を表わすブロック図である。
【００４０】
サーバ１２０は、主たる構成要素として、プログラムを実行するＣＰＵ（Central  Processing  Unit）１と、サーバ１２０のユーザによる指示の入力を受けるマウス２およびキーボード３と、ＣＰＵ１によるプログラムの実行により生成されたデータ、又はマウス２若しくはキーボード３を介して入力されたデータを揮発的に格納するＲＡＭ（Random  Access  Memory）４と、データを不揮発的に格納するハードディスク５と、光ディスク駆動装置６と、通信ＩＦ（Interface）７と、モニタ８とを備える。各構成要素は、相互にバスによって接続されている。光ディスク駆動装置６には、ＣＤ−ＲＯＭ９その他の光ディスクが装着される。通信ＩＦ７は、ＵＳＢ（Universal  Serial  Bus）インターフェイス、有線ＬＡＮ（Local  Area  Network）、無線ＬＡＮ、Bluetooth（登録商標）インターフェイス等を含むが、これらに限られない。
【００４１】
サーバ１２０における処理は、各ハードウェアおよびＣＰＵ１により実行されるソフトウェアによって実現される。このようなソフトウェアは、ハードディスク５に予め格納されている場合がある。また、ソフトウェアは、ＣＤ−ＲＯＭ９その他のコンピュータ読み取り可能な不揮発性のデータ記録媒体に格納されて、プログラム製品として流通している場合もある。あるいは、当該ソフトウェアは、インターネットその他のネットワークに接続されている情報提供事業者によってダウンロード可能なプログラム製品として提供される場合もある。このようなソフトウェアは、光ディスク駆動装置６その他のデータ読取装置によってデータ記録媒体から読み取られて、あるいは、通信ＩＦ７を介してダウンロードされた後、ハードディスク５に一旦格納される。そのソフトウェアは、ＣＰＵ１によってハードディスク５から読み出され、ＲＡＭ４に実行可能なプログラムの形式で格納される。ＣＰＵ１は、そのプログラムを実行する。
【００４２】
図３に示されるサーバ１２０を構成する各モジュールは、一般的なものである。したがって、本実施の形態に係る本質的な部分の一つは、サーバ１２０に格納されたプログラムであるともいえる。なお、サーバ１２０のハードウェアの動作は周知であるので、詳細な説明は繰り返さない。
【００４３】
データ記録媒体としては、ＣＤ−ＲＯＭ、ＦＤ（Flexible  Disk）、ハードディスクに限られず、磁気テープ、カセットテープ、光ディスク（ＭＯ（Magnetic  Optical  Disc）／ＭＤ（Mini  Disc）／ＤＶＤ（Digital  Versatile  Disc））、ＩＣ（Integrated  Circuit）カード（メモリカードを含む）、光カード、マスクＲＯＭ、ＥＰＲＯＭ（Electronically  Programmable  Read-Only  Memory）、ＥＥＰＲＯＭ（Electronically  Erasable  Programmable  Read-Only  Memory）、フラッシュＲＯＭなどの半導体メモリ等の固定的にプログラムを担持する不揮発性のデータ記録媒体でもよい。
【００４４】
ここでいうプログラムとは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含み得る。
【００４５】
［データ構造］
図４〜図６を参照して、本実施の形態に係るサーバ１２０のデータ構造について説明する。図４は、サーバ１２０のハードディスク５におけるデータの格納の一態様を表わす図である。図５は、システム１００によって出力されるメッセージを表わす図である。図６は、システム１００に出力される時刻を規定するデータである。
【００４６】
図４に示されるように、ある局面において、ハードディスク５は、タイプ４１０と、テンプレート４２０とを保持している。タイプ４１０は、テンプレート４２０の種類を表わす。たとえば、タイプ４１０は、予め設定された「標準」を表す情報と、当該標準の変形例を表わす「派生」の種類を表わす情報とを含み得る。タイプ４１０は、その他の分類を含み得る。
【００４７】
テンプレート４２０は、システム１００による出力として規定されたメッセージを表わす。テンプレートの内容は、たとえば、本実施の形態に係るシステム１００の提供者によって規定される。派生タイプのテンプレートは、標準のテンプレートの内容に類似する、あるいは関連すると考えられる発話内容として規定される。
【００４８】
図５を参照して、ある局面において、サーバ１２０のハードディスク５は、メッセージＩＤ（Identification）５１０とテンプレート５２０とを保持している。メッセージＩＤ５１０は、テンプレート５２０として保持されている各テンプレートのそれぞれを識別する。テンプレート５２０は、たとえば、声優その他実際の一人以上の人間の発話から得られたデータを用いて作成される。テンプレート５２０は、定期的に、あるいは、不定期に変更され得る。さらに他の局面において、システム１００のユーザの発話がテンプレート５２０として登録されてもよい。
【００４９】
なお、図５に示される例は、目覚ましに関する発話の内容であるが、本実施の形態に係る技術思想を実現するための例は、目覚ましに関する発話に限られない。たとえば、エアコンの動作設定（ＯＮ、ＯＦＦ、温度設定、タイマー設定等）、炊飯器の動作設定（開始時刻のタイマー設定、炊飯モード等）、電子レンジの動作設定（出力、調理時間等）のように、機器の動作設定のための発話が用いられてもよい。
【００５０】
図６を参照して、ある局面において、ハードディスク５は、データＩＤ６１０と、時刻データ６２０とを保持している。データＩＤ６１０は、時刻データ６２０において規定されている各時刻データを識別する。時刻データ６２０は、図５に示されるメッセージのテンプレート５２０と同様に、声優その他の実際の人間により発話としてサーバ１２０に入力される。他の局面において、時刻データ６２０は、合成音によって、あるいは、システム１００のユーザによる発話によって実現されてもよい。
【００５１】
図７を参照して、本実施の形態に係るロボット１１０の構成について説明する。図７は、ロボット１１０のハードウェア構成を表わすブロック図である。ある局面において、ロボット１１０は、操作パネル７１０と、マイク７２０と、スピーカ７３０と、モニタ７４０と、コントローラ７５０と、メモリ７６０と、モータ７７０と、車輪７８０と、通信Ｉ／Ｆ７９０とを備える。コントローラ７５０は、音声認識処理プロセッサ７５５を含む。
【００５２】
操作パネル７１０は、ロボット１１０に対する命令の入力を受け付ける。操作パネル７１０は、たとえば、タッチパネル、トグルスイッチその他の物理的なスイッチとして実現される。
【００５３】
マイク７２０は、ロボット１１０に対する音声の入力を受け付けて、当該音声に応じた信号をコントローラ７５０に出力する。
【００５４】
スピーカ７３０は、コントローラ７５０から送られる信号に基づいて音声を出力する。
モニタ７４０は、コントローラ７５０から送られる信号に基づいてロボット１１０の動作の状態その他の情報などを表示する。モニタ７４０は、たとえば、液晶モニタ、有機ＥＬ（Electro  Luminescence）モニタとして実践される。
【００５５】
コントローラ７５０は、操作パネル７１０から送られる命令に基づいてロボット１１０の動作を制御する。別の局面において、コントローラ７５０は、マイク７２０から送られる信号に含まれる命令に基づいて、ロボット１１０の動作を制御し得る。さらに別の局面において、コントローラ７５０は、メモリ７６０に保持されているデータ、通信Ｉ／Ｆ７９０を介してロボット１１０の外部から受信したデータに基づいて、ロボット１１０の動作を制御し得る。
【００５６】
音声認識処理プロセッサ７５５は、マイク７２０から送られる信号に対して音声認識処理を実行し、その処理の結果をメモリ７６０に格納する。音声認識処理プロセッサ７５５は、ＣＰＵその他のプロセッサとして実現される。また、音声認識処理プロセッサ７５５は、コントローラ７５０に与えられる信号を音声信号に変換し、当該音声信号をスピーカ７３０に送る。スピーカ７３０は、その音声信号に基づいて音声を出力する。
【００５７】
メモリ７６０は、ロボット１１０に予め規定された動作を実行させるためのプログラムおよび当該プログラムの実行に必要なデータを保持している。メモリ７６０は、フラッシュメモリ、ハードディスクその他の記憶装置によって実現される。たとえば、メモリ７６０は、機器ＩＤ７６１と、ユーザＩＤ７６２とを保持している。機器ＩＤ７６１は、ロボット１１０に与えられた固有の識別番号を表わす。ユーザＩＤ７６２は、ロボット１１０のユーザとして登録されたユーザを識別する。当該ユーザは、たとえばロボット１１０の購入者、使用者などである。ユーザＩＤ７６２は、たとえば、当該ユーザによって任意に入力される。
【００５８】
モータ７７０は、コントローラ７５０から送られる信号に基づいて駆動する。モータ７７０は、その回転力を車輪７８０に与える。車輪７８０は、ロボット１１０の動作を３６０度移動できるように構成されている。車輪７８０が回転すると、ロボット１１０はその方向に移動する。
【００５９】
通信Ｉ／Ｆ７９０は、ネットワークに接続されて、当該ネットワークを介して他の装置とロボット１１０との通信を仲介する。通信Ｉ／Ｆ７９０は、たとえば、無線ＬＡＮ（Local  Area  Network）によって実現される。通信の種類は特に限定されない。
【００６０】
［制御構造］
図８から図１１を参照して、本実施の形態に係るにシステム１００の制御構造について説明する。図８は、システム１００が目覚まし設定の登録を行なうときに実行する処理の一部を表わすフローチャートである。図９は、目覚まし設定の変更を行なうための処理を表わすフローチャートである。図１０は、目覚まし設定の確認処理を表わすフローチャートである。図１１は、目覚まし設定を取り消す処理を表わすフローチャートである。以下の処理は、たとえば、システム１００に含まれる１つ以上のプロセッサによって実現され得る。１つ以上のプロセッサは、たとえば、ロボット１１０やサーバ１２０に含まれるものである。
【００６１】
（目覚まし設定の登録）
図８を参照して、ステップＳ８１０にて、システム１００は、目覚まし設定を要求する発話の入力を受け付ける。たとえば、ロボット１１０のコントローラ７５０は、マイク７２０を介して、ロボット１１０のユーザによる目覚まし設定を要求する発話（たとえばメッセージ１５１）の入力を受ける。
【００６２】
ステップＳ８２０にて、システム１００は、発話の内容を音声認識処理する。たとえば、ある局面において、サーバ１２０のＣＰＵ１は、音声認識処理部２２０として発話の内容を音声認識処理する。別の局面において、ロボット１１０の音声認識処理プロセッサ７５５は、音声認識処理部２２０として、当該発話の内容を音声認識処理してもよい。
【００６３】
ステップＳ８３０にて、システム１００は、当該発話の内容に基づいて、設定時刻の入力を促す音声（たとえばメッセージ１５２）を出力する。当該音声データは、たとえば、システム１００において予め登録されている声優の音声を録音したデータその他人間の音声を録音したデータとして実現される。他の局面において、当該音声データは、システム１００のユーザの音声を録音することによって得られたデータとして、あるいは、合成音のデータとして実現されてもよい。以下の処理においてシステム１００が音声を出力するためのデータも同様である。
【００６４】
ある局面において、サーバ１２０のＣＰＵ１は、ロボット１１０のスピーカ７３０を介して当該音声を出力する。ロボット１１０のユーザは、ロボット１１０の近傍にいる場合には、当該音声を聴取できる。
【００６５】
ステップＳ８４０にて、システム１００は、音声認識処理の結果に基づいて、設定時刻を認識できたか否かを判断する。より具体的には、たとえば、コントローラ７５０またはＣＰＵ１は、入力された設定時刻を認識できたかどうかを判断する。システム１００は、設定時刻を認識できたと判断すると（ステップＳ８４０にてＹＥＳ）、制御をステップＳ８７０に切り換える。そうでない場合には（ステップＳ８４０にＮＯ）、システム１００は、制御をステップＳ８５０に切り換える。
【００６６】
ステップＳ８５０にて、システム１００は、内部のクロックによる計測の結果に基づいて、設定時刻の認識処理がタイムアウトになったか否かを判断する。システム１００は、設定時刻の認識処理がタイムアウトになったと判断すると（ステップＳ８５０にてＹＥＳ）、処理を終了する。そうでない場合には（ステップＳ８５０にてＮＯ）、システム１００は、制御をステップＳ８６０に切り換える。
【００６７】
ステップＳ８６０にて、システム１００は、再度発話を促すメッセージ（たとえばメッセージ１５２）を音声で出力する。その後、制御は、ステップＳ８４０に戻される。
【００６８】
ステップＳ８７０にて、システム１００は、機器（たとえばロボット１１０）の識別情報（たとえば機器ＩＤ７６１）と目覚まし設定の時刻とを関連付けて保存する。たとえば、ある局面において、ＣＰＵ１は、ハードディスク５に、当該識別情報と目覚まし設定の時刻とを保存する。別の局面において、ロボット１１０のコントローラ７５０が、メモリ７６０に機器の識別情報と目覚まし設定の時刻とを保存してもよい。
【００６９】
ステップＳ８８０にて、システム１００は、発話された時刻で目覚まし設定ができた旨のメッセージ（命令内容を確認するための情報）を音声で出力する（たとえばメッセージ１５４）。ある局面において、ロボット１１０のスピーカ７３０は、サーバ１２０から送られる信号に基づき当該メッセージを音声で出力する。その後、システム１００は、登録処理を終了する。
【００７０】
（設定の変更）
図９を参照して、ステップＳ９１０にて、システム１００は、ユーザによる発話の音声認識処理の結果に基づいて、目覚まし設定の変更を促すメッセージの入力を検出する。
【００７１】
ステップＳ９２０にて、システム１００は、予め保存されているデータに基づいて、設定したい時刻の発話のメッセージを音声で出力する。当該音声データは、たとえば、システム１００において予め登録されている声優の音声を録音したデータその他人間の音声を録音したデータとして実現される。他の局面において、当該音声データは、システム１００のユーザの音声を録音することによって得られたデータとして、あるいは、合成音のデータとして実現されてもよい。
【００７２】
ステップＳ９３０にて、システム１００は、当該メッセージの音声認識処理の結果に基づいて、設定時刻を認識できたか否かを判断する。システム１００は、設定時刻を認識できたと判断すると（ステップＳ９３０にてＹＥＳ）、制御をステップＳ９６０に切り換える。そうでない場合には（ステップＳ９３０にてＮＯ）、システム１００は、制御をステップＳ９４０に切り換える。
【００７３】
ステップＳ９４０にて、システム１００は、設定時刻の認識処理がタイムアウトしたか否かを判断する。システム１００は、設定時刻の認識処理がタイムアウトしたと判断すると（ステップＳ９４０にてＹＥＳ）、変更ができない旨のメッセージを出力して、当該変更処理を終了する。そうでない場合には（ステップＳ９４０にてＮＯ）、システム１００は、制御をステップＳ９５０に切り換える。
【００７４】
ステップＳ９５０にて、システム１００は、再度、時刻の入力を促すメッセージを音声で出力する。その後、制御は、ステップＳ９３０に戻される。
【００７５】
ステップＳ９６０にて、システム１００は、音声認識処理の結果に基づいて、設定を止める等の入力を検出したか否かを判断する。この判断は、たとえば、設定を止める旨の命令がシステム１００に対して与えられたか否かに基づいて行なわれる。システム１００は、当該入力を検出したと判断すると（ステップＳ９６０にてＹＥＳ）、制御をステップＳ９８０に切り換える。そうでない場合には（ステップＳ９６０にてＮＯ）、システム１００は、制御をステップＳ９７０に切り換える。
【００７６】
ステップＳ９７０にて、システム１００は、時刻が設定中であるか否かを判断する。より具体的には、システム１００は目覚ましを設定する時刻が記憶部２４０に保存されているか否かを判断する。システム１００は、時刻が設定中であると判断すると（ステップＳ９７０にてＹＥＳ）、制御をステップＳ９９０に切り換える。そうでない場合には（ステップＳ９７０にてＮＯ）、システム１００は、制御をステップＳ９８０に切り換える。
【００７７】
ステップＳ９８０にて、システム１００は、予め準備されている音声データに基づいて、目覚まし設定を中止した旨のメッセージを音声で出力する。
【００７８】
ステップＳ９９０にて、システム１００は、予め準備されている音声データに基づいて、たとえば「目覚まし設定したままです。○○時○○分に起こすからね。」とのメッセージを音声で出力する。
【００７９】
（目覚まし設定の確認処理）
図１０を参照して、ステップＳ１０１０にて、システム１００は、音声認識処理の結果に基づいて、目覚ましを確認すべき旨の命令を表すユーザ発話を検出する。
【００８０】
ステップＳ１０２０にて、システム１００は、検出されたユーザ発話に基づいて、記憶部２４０を参照して目覚まし設定の内容を確認する。たとえば、ＣＰＵ１は、ハードディスク５を参照して、当該ユーザに関連付けられた目覚まし設定の有無を確認する。
【００８１】
ステップＳ１０３０にて、システム１００は、記憶部２４０に保存されている内容に基づいて、目覚まし設定が存在しているか否かを判断する。システム１００は、目覚まし設定が存在していると判断すると（ステップＳ１０３０にてＹＥＳ）、制御をステップＳ１０４０に切り換える。そうでない場合には（ステップＳ１０３０にてＮＯ）、システム１００は、制御をステップＳ１０５０に切り換える。
【００８２】
ステップＳ１０４０にて、システム１００は、予め保存されている音声データに基づいて、目覚まし設定している旨のメッセージを音声で出力する。
【００８３】
ステップＳ１０５０にて、システム１００は、予め保存されている音声データに基づいて、目覚まし設定していない旨のメッセージを音声で出力する。
【００８４】
（目覚まし設定の取り消し）
図１１を参照して、ステップＳ１１１０にて、システム１００は、音声認識処理の結果に基づいて、目覚まし設定を取り消す旨を表すユーザ発話の入力を検出する。
【００８５】
ステップＳ１１２０にて、システム１００は、当該ユーザ発話が検出されたことに基づいて、目覚ましが設定されているか否かを判断する。たとえば、ＣＰＵ１は、ハードディスク５を参照して、当該ユーザに関連付けられている目覚まし設定の有無を確認する。システム１００は、目覚ましが設定されていると判断すると（ステップＳ１１２０にてＹＥＳ）、制御をステップＳ１１３０に切り換える。そうでない場合には（ステップＳ１１２０にてＮＯ）、システム１００は、制御をステップＳ１１２５に切り換える。
【００８６】
ステップＳ１１２５にて、システム１００は、予め保存されている音声データに基づいて、目覚ましが設定されていない旨のメッセージを音声で出力する。
【００８７】
ステップＳ１１３０にて、システム１００は、予め保存されている音声データに基づいて、目覚まし設定の取り消しを確認するメッセージを音声で出力する。
【００８８】
ステップＳ１１４０にて、システム１００は、取り消しを実行する旨の指示が入力されたか否かを判断する。この判断は、システム１００に対する信号の内容に基づいて行なわれる。システム１００は、当該指示が入力されたと判断すると（ステップＳ１１４０にてＹＥＳ）、制御をステップＳ１１６０に切り換える。そうでない場合には（ステップＳ１１４０にてＮＯ）、システム１００は、制御をステップＳ１１５０に切り換える。
【００８９】
ステップＳ１１５０にて、システム１００は、現在の時刻がタイムアウトしたか否かを判断する。システム１００は、現在の時刻がタイムアウトしたと判断すると（ステップＳ１１５０にてＹＥＳ）、制御をステップＳ１１８０に切り換える。そうでない場合には（ステップＳ１１５０にてＮＯ）、システム１００は、制御をステップＳ１１５５に切り換える。
【００９０】
ステップＳ１１５５にて、システム１００は、予め保存されている音声データに基づいて、指示の入力を促すメッセージを音声で出力する。その後、制御は、ステップＳ１１４０に戻される。
【００９１】
ステップＳ１１６０にて、システム１００は、目覚まし設定のデータを消去する。たとえば、ＣＰＵ１は、ハードディスク５に保存されている当該ユーザに関連するデータを削除する。
【００９２】
ステップＳ１１７０にて、システム１００は、予め保存されている音声データに基づいて、目覚まし設定を取り消した旨のメッセージを音声で出力する。
【００９３】
ステップＳ１１８０にて、システム１００は、予め保存されている音声データに基づいて、目覚まし設定が残っている旨のメッセージを音声で出力する。
【００９４】
［データ構造］
図１２を参照して、本実施の形態に係るシステム１００を実現するサーバ１２０のデータ構造について説明する。図１２は、サーバ１２０が備えるハードディスク５が格納するデータの一態様を概念的に表わす図である。ある局面において、ハードディスク５は、ユーザＩＤ２１０と、機器ＩＤ１２２０と、目覚まし設定時刻１２３０と、音声バージョン１２４０とを保持している。
【００９５】
ユーザＩＤ１２１０は、ロボット１１０のユーザを識別する。機器ＩＤ１２２０は、当該ロボットを識別する。
【００９６】
目覚まし設定時刻１２３０は、機器ＩＤ１２２０によって特定される機器（たとえばロボット１１０Ａなど）が目覚ましを鳴動すべき時刻を表わす。音声バージョン１２４０は、目覚ましが鳴動するときに出力される音声を発話するときの発話方法を表わす。たとえばユーザＩＤ１２１０が「user００１」で特定される機器（robot００１０）については、声優Ａによる音声が出力される。
【００９７】
［制御構造］
図１３を参照して、システム１００の制御構造についてさらに説明する。図１３は、システム１００において実行される処理の一部を表すフローチャートである。
【００９８】
ステップＳ１３１０にて、サーバ１２０は、内蔵するクロックからの出力に基づいて、目覚まし設定された時刻の到来を検知する。
【００９９】
ステップＳ１３２０にて、サーバ１２０は、音声再生用のコンテンツデータを記憶部２４０から読み出す。コンテンツデータは、たとえば、楽曲等を含み得る。
【０１００】
ステップＳ１３３０にて、サーバ１２０は、コンテンツデータおよび目覚まし設定を用いてロボット１１０に再生させるための音声を生成する。
【０１０１】
ステップＳ１３４０にて、サーバ１２０は、生成した音声と機器ＩＤとを含む信号を生成する。
【０１０２】
ステップＳ１３５０にて、サーバ１２０は、生成した信号を当該機器ＩＤによって識別されるロボット１１０に送信する。
【０１０３】
ステップＳ１３６０にて、ロボット１１０は、受信した信号に基づいて、コンテンツを目覚まし音声として再生する。より具体的には、たとえば、ロボット１１０のスピーカ７３０は、サーバ１２０から送られた信号に基づいて、ある声優によるメッセージを目覚まし音声として出力する。
【０１０４】
なお、システム１００から出力される音声は、特定の声優の音声に限られない。また、出力される音声は、同一人物による音声に限られず、複数の人物の各々による音声が用いられてもよい。たとえば、システム１００は、目覚ましの設定時、変更時、確認時、設定された時刻の到来時の各々を異なる音声で出力してもよい。
【０１０５】
また、他の局面において、設定された時刻が到来したときに、ロボット１１０は、発話に代えて、他の動作を実行してもよい。たとえば、ロボット１１０が掃除機能を備えている場合、ロボット１１０は、掃除運転を開始してもよい。
【０１０６】
＜第２の実施の形態＞
以下、第２の実施の形態について説明する。第２の実施の形態に係るシステムは、後述する点を除いて、第１の実施の形態に係るシステム１００の構成と同様の構成によって実現される。したがって、本実施の形態に係るシステムの構成の説明は繰り返さない。
【０１０７】
第２の実施の形態に係るシステムは、エアコン、電子レンジその他の機器を用いて実現される。当該機器は、当該機器に固有な機能（たとえば、冷暖房機能、加熱機能等）に加えて、少なくとも、音声認識機能と、サーバ１２０との通信機能と、音声出力機能とを備える。
【０１０８】
たとえば、当該機器がエアコンの場合、ある局面において、ユーザは、エアコンの動作（運転開始時刻の設定、確認、変更、削除など）を対話で設定することができる。この場合、ロボット１１０の代わりに、通信機能と音声認識機能とを備えるエアコンまたは当該エアコンのリモートコントローラ、もしくは、エアコンとの通信機能および音声認識機能を備える通信端末が、エアコンのユーザと対話し得る。
【０１０９】
別の局面において、電子レンジが音声認識機能を備えてもよい。たとえば、ユーザが食材を電子レンジに入れた後に、食材の名称、出力および調理時間を電子レンジに発話する。たとえば、最初に、ユーザは「グラタンを加熱して。」と発話する。その発話が電子レンジあるいはサーバ１２０によって認識されると、電子レンジは、たとえば「わかった。グラタンを加熱するよ。標準の調理でいい？」と発話する。ユーザが、「いいよ。」と発話すると、電子レンジは「了解。グラタンを１０００ｗで３分間加熱するね。」と発話し、電子レンジは運転を開始する。その後、指定された時間が経過すると、電子レンジは、「グラタンができたよ。熱いから気を付けて。」と発話する。このようにすると、たとえば、一人暮らしのユーザは食事を楽しむことができる。なお、運転時間の確認、変更、キャンセルなどは、第１の実施の形態における目覚まし設定時刻の確認、変更、キャンセルと同様に実現可能である。
【０１１０】
別の局面において、炊飯器が用いられてもよい。当該炊飯器は、ロボット１１０と同様に、音声認識機能と、音声出力機能と、サーバ１２０との通信機能とを備える。この場合、ユーザは炊飯器にコメを入れる。ユーザは「ご飯を炊いて」と発話する。その発話が炊飯器あるいはサーバ１２０によって認識されると、炊飯器は、「わかった。何合炊くの？」と発話する。ユーザが、たとえば「３合」と発話する。その発話が炊飯器あるいはサーバ１２０によって認識されると、炊飯器は、「わかった。何時に食べるの？」と発話する。ユーザが、たとえば「７時」と発話する。その発話が炊飯器あるいはサーバ１２０によって認識されると、炊飯器は、「わかった。７時までに３合炊くよ。」と発話する。その後、炊飯器は、炊飯に必要な水が満たされていることを確認すると、タイマー設定を行ない、７時にユーザがご飯を食べられるように炊飯する。
【０１１１】
以上のようにして、本実施の形態によれば、機器が発話するため、その機器のユーザは楽しみながら機器を使用することができる。
【０１１２】
＜第３の実施の形態＞
以下、第３の実施の形態について説明する。第３の実施の形態に係るシステムは、後述する点を除いて、第１の実施の形態に係るシステム１００の構成と同様の構成によって実現される。したがって、本実施の形態に係るシステムの構成の説明は繰り返さない。
【０１１３】
第３の実施の形態に係るシステムは、スーパーマーケット、ブティックその他の商業施設にも用いられる。たとえば、閉店前のタイムサービスが行なわれる場合、当該商業施設の管理者は、ロボット１１０に対して、タイムサービスを開始する時刻を設定し、変更し、確認し、解除（消去）することができる。あるいは、ロボット１１０は、潜在的な顧客からの発話に対してプロモーション（宣伝）を行なうように構成されてもよい。
【０１１４】
＜第４の実施の形態＞
以下、第４の実施の形態について説明する。第４の実施の形態に係るシステムは、後述する点を除いて、第１の実施の形態に係るシステム１００の構成と同様の構成によって実現される。したがって、本実施の形態に係るシステムの構成の説明は繰り返さない。
【０１１５】
本実施の形態に係るシステムは、複数のロボットに一斉に通知を発話させることができる。すなわち、目覚ましその他の通知機能の実現の対象者は一人のユーザに限られない。たとえば、システム１００は、予め作成されたグループに含まれる複数のロボットの各々に対して上記通知機能を実現してもよい。この場合、サーバ１２０は、当該グループに含まれる各ロボットのネットワークアドレスを保持しており、指定された時刻が到来すると、各ネットワークアドレスに対して、目覚ましのための信号を送信する。このようにすると、効率的に複数ユーザに対する通知が実現される。
【０１１６】
さらに別の局面において、あるユーザが通知に対する応答を発話で行った場合に、その旨を、当該グループに含まれる他のユーザにも通知される構成が用いられてもよい。
【０１１７】
＜第５の実施の形態＞
以下、第５の実施の形態について説明する。第５の実施の形態に係るシステムは、後述する点を除いて、第１の実施の形態に係るシステム１００の構成と同様の構成によって実現される。したがって、本実施の形態に係るシステムの構成の説明は繰り返さない。
【０１１８】
本実施の形態に係るシステムにおいて、ロボット１１０が発話する内容は、目覚ましの時刻設定に関するメッセージに限られない。ロボット１１０は、目覚まし以外のメッセージを発話することができる。たとえば、ロボット１１０は、「今日は電気設備の点検があります。１時から２時まで停電します。」というメッセージのように、お知らせのためのメッセージを発話してもよい。
【０１１９】
このような発話は、プッシュ型およびプル型のいずれの態様でも実現できる。たとえば、プッシュ型の場合、サーバ１２０が当該ユーザのスケジュールを読み出して、該当するスケジュールを当該ユーザのロボット１１０に通知する。プル型の場合、ユーザがたとえば、「今日の予定は何かある？」というようにスケジュールを問いかける発話を行ない、その発話がサーバ１２０またはロボット１１０によって認識されると、サーバ１２０は当該ユーザのスケジュールを検索して、該当するスケジュールが存在した場合に、スケジュールの内容を音声で出力する。このような構成により、ユーザは、ロボット１１０を秘書として使用することができる。
【０１２０】
別の局面において、他のユーザも関与するスケジュールが検索された場合、ロボット１１０は、ユーザに「Ａさんとの約束があります。」という発話をする。ユーザが「了解。」と返答すると、その返答はロボット１１０からサーバ１２０に送られる。サーバ１２０は、ユーザの返答を認識すると、当該他のユーザが使用する他のロボットを通じて、「Ｘさん（ロボット１１０のユーザ）との約束があります。」と発話する。Ａさんが「了解」と返答すると、その返答は、Ａさんが使用するロボットからサーバ１２０に送られる。サーバ１２０は、ロボット１１０に対して、「Ａさんが約束を確認したよ。」と発話する。このようにすると、複数のユーザが共有するスケジュールが履行されることが確実になる。
【０１２１】
＜第６の実施の形態＞
以下、第６の実施の形態について説明する。第６の実施の形態に係るシステムは、後述する点を除いて、第１の実施の形態に係るシステム１００の構成と同様の構成によって実現される。したがって、本実施の形態に係るシステムの構成の説明は繰り返さない。
【０１２２】
本実施の形態に係るシステムは、学習機能を備える。たとえば、システムは、各ユーザの目覚まし設定の履歴を保存していてもよい。その上で、システムは、ユーザによる目覚まし設定の時刻が通常と異なる場合には、その履歴に基づいて、その目覚まし設定の時刻が正しいかどうかを確認するメッセージ（たとえば「本当？その時刻でいいの？」）と発話してもよい。このような発話が出力されると、ユーザは、発話した時刻が正しいかどうかを再度確認することになるので、誤った時刻設定を防止することができる。
【０１２３】
＜第７の実施の形態＞
以下、第７の実施の形態について説明する。第７の実施の形態に係るシステムは、後述する点を除いて、第１の実施の形態に係るシステム１００の構成と同様の構成によって実現される。したがって、本実施の形態に係るシステムの構成の説明は繰り返さない。
【０１２４】
本実施の形態に係るシステムは、サーバ１２０からロボット１１０に一度送信されてロボット１１０によって使用された音声データがロボット１１０に保存され、ロボット１１０によって再度利用される点で、前述の実施の形態と異なる。
【０１２５】
すなわち、ロボット１１０は、声優その他の人の発話を含むメッセージと、当該メッセージを識別するＩＤとを保存する。ロボット１１０は、予め設定された目覚まし時刻の到来に基づいて、メッセージを音声で出力し、あるいは、予め指定された歌を歌う。その後、ロボット１１０が、ＩＤを含む命令を受信すると、当該受信した命令に含まれるＩＤがロボット１１０に保存されているか否かを確認する。ロボット１１０は、当該ＩＤがロボット１１０に保存されていることを確認すると、保存されているＩＤに関連付けられているメッセージあるいは楽曲を音声で出力する。このようにすると、サーバ１２０とロボット１１０との間の通信が不安定な場合であっても、ロボット１１０は、ローカルに保存されたデータを用いて、設定された時刻に確実にメッセージを発話することができる。
【０１２６】
＜第８の実施の形態＞
以下、第８の実施の形態について説明する。第８の実施の形態に係るシステムは、後述する点を除いて、第１の実施の形態に係るシステム１００の構成と同様の構成によって実現される。したがって、本実施の形態に係るシステムの構成の説明は繰り返さない。
【０１２７】
本実施の形態に係るシステムは、ロボット１１０が複数種類の音声を出力できる点で前述の各実施の形態に係るシステムと異なる。たとえば、サーバ１２０は、複数の声優の各々の音声を出力するための音声データを予め保持している。ユーザは、どの声優の音声による発話を望むかを示す情報をサーバ１２０に送信する。当該情報は、声優のＩＤを含む。サーバ１２０は、その情報を受信すると、声優のＩＤを取り出し、当該ユーザに対するメッセージとして、当該声優の音声を用いたメッセージを生成し、そのメッセージをロボット１１０に送信する。このようにして、ユーザは、希望の声優の音声による目覚ましを楽しむことができる。
【０１２８】
別の局面において、サーバ１２０は、複数の声優のいずれかの音声による発話をランダムにロボット１１０に出力し得る。ランダムな出力は、たとえば乱数発生器により発生される乱数を用いて実現され得る。このようにすると、ロボット１１０のユーザは、どの声優による目覚まし音声がロボット１１０から出力されるか事前に知ることができないので、通常のアラーム機能に加えて、ちょっとしたサプライズを享受し得る。
【０１２９】
［構成の要約］
以上より、本開示に係る技術的特徴は、たとえば、システム１００、サーバ１２０、ロボット１１０として、以下のように要約し得る。
【０１３０】
（１）ある実施の形態に従うと、発話によりロボット１１０を動作させるシステム１００が提供される。システム１００は、発話を受け付ける複数のロボット（たとえば、ロボット１１０Ａ，１１０Ｂ，・・・，１１０Ｎ）と、複数のロボット１１０と通信可能なサーバ１２０とを備える。ロボット１１０は、発話を受け付けるための音声入力部（たとえば、マイク７２０）と、ロボット１１０の識別情報および受け付けられた発話の内容をサーバに送信するための送信部（たとえば、通信Ｉ／Ｆ７９０）とを備える。サーバは、識別情報および発話の内容を保持するためのハードディスク５と、発話の内容に応じた命令を生成するための生成部（たとえばＣＰＵ１）と、識別情報および命令を当該ロボット１１０に送信するための送信部（たとえば通信Ｉ／Ｆ７）とを備える。ロボット１１０は、サーバから、命令を受信するための受信部（たとえば通信Ｉ／Ｆ７９０）と、命令に基づいて動作を実行する動作部（たとえばモータ７７０，車輪７８０）とを備える。
【０１３１】
（２）別の実施の形態に従うと、ロボット１１０を制御するサーバ１２０が提供される。このサーバ１２０は、複数のロボット１１０を介して発話の内容を受け付けるための通信Ｉ／Ｆ７と、ロボット１１０の識別情報および発話の内容を対応づけて保持するためのハードディスク５と、発話の内容に応じた命令を生成するためのＣＰＵ１と、命令を、当該命令を生成するための発話の内容に対応づけられた識別情報により特定されるロボット１１０に送信するための通信Ｉ／Ｆ７とを備える。
【０１３２】
（３）別の局面において、通信Ｉ／Ｆ７は、命令を確認するための情報をロボット１１０に送信する。
【０１３３】
（４）別の局面において、通信Ｉ／Ｆ７は、ロボット１１０からの発話の内容に基づいて、命令を、当該命令を生成するための発話の内容に対応づけられた識別情報により特定されるロボット１１０に送信する。
【０１３４】
（５）別の局面において、サーバ１２０は、少なくとも１つのロボット１１０に音声を出力させるための音声データをさらに保持するように構成されている。通信Ｉ／Ｆ７は、少なくとも１つのロボット１１０に対して、音声データをさらに送信する。
【０１３５】
（６）別の局面において、サーバは、複数の音声データを保持するように構成されている。通信Ｉ／Ｆ７は、当該複数の音声データのうちのいずれかの音声データを選択する発話の入力を受け付けるように構成されている。ＣＰＵ１は、選択された音声データを用いて命令を生成する。
【０１３６】
（７）別の局面において、ロボット１１０は、発話に基づいて、当該発話者が当該ロボット１１０に登録されたユーザであるか否かを判断するように構成されている。当該発話者がユーザである場合に、サーバ１２０の通信Ｉ／Ｆ７は、当該ロボット１１０の識別情報および受け付けられた発話を受信する。
【０１３７】
（８）別の実施の形態に従うと、ある局面において、ロボット１１０は、サーバ１２０と通信するための通信Ｉ／Ｆ７９０と、発話を受け付けるためのマイク７２０と、ロボット１１０の動作を実行する動作部（たとえば、モータ７７０、車輪７８０）とを備える。
【０１３８】
通信Ｉ／Ｆ７９０は、マイク７２０が受け付けた発話の内容をサーバ１２０に送信し、発話の内容に応じた命令をサーバ１２０から受信する。動作部は、受信した命令に基づいて動作を実行する。たとえば、車輪７８０は、モータ７７０の運転に応じて回転し、ロボット１１０を移動する。
【０１３９】
（９）別の局面において、ロボット１１０は、音声を出力するための音声データをサーバから受信するように構成された受信部（たとえば通信Ｉ／Ｆ７９０）をさらに備える。動作部は、音声データに基づいて音声を出力するための音声出力部（たとえば、スピーカ７３０）を含む。
【０１４０】
（１０）別の局面において、ロボット１１０は、音声データを保存するためのメモリと、次の発話がロボット１１０に与えられた場合に、次の発話を出力するための音声データがメモリに保存されているか否かを確認するための確認部（たとえばコントローラ７５０）とをさらに備える。送信されるべき音声データが当該ロボット１１０に保存されている場合に、スピーカ７３０は、メモリに保存されている音声データに基づいて音声を出力する。
【０１４１】
（１１）別の局面において、サーバ１２０は、複数の音声データを保持するように構成されている。マイク７２０は、当該複数の音声データのうちのいずれかの音声データを選択する発話の入力を受け付ける。コントローラ７５０は、生成部として、選択された音声データを用いて命令を生成する。スピーカ７３０は、選択された音声データに基づく音声を出力する。
【０１４２】
（１２）別の局面において、ロボット１１０は、命令に基づいて、サーバと通信可能な他の機器（たとえば、他のロボット）に対して、当該機器を制御するための信号を送信する。
【０１４３】
（１３）別の局面において、ロボット１１０は、発話に基づいて、当該発話者が当該ロボット１１０に登録されたユーザであるか否かを判断するための認証部をさらに備える。認証部は、たとえば、コントローラ７５０が認証処理を実行することにより実現される。当該発話者がユーザである場合に、通信Ｉ／Ｆ７９０は、ロボット１１０の識別情報および受け付けられた発話をサーバ１２０に送信する。
【０１４４】
（１４）別の局面において、ロボット１１０は、人感センサーと、人感センサーからの出力に基づいてユーザの近傍に移動するための移動部（たとえば、車輪７８０）とをさらに備える。
【０１４５】
（１５）好ましくは、人感センサーは、サーバからの指示に従って起動するように構成されている。
【０１４６】
（１６）他の実施の形態に従うと、電子機器を制御するサーバの制御方法が提供される。制御方法は、複数のロボット１１０を介して発話の内容を受け付けるステップと、ロボット１１０の識別情報および発話の内容を対応付けて保持するステップと、発話の内容に応じた命令を生成するステップと、前記命令を、当該命令を生成するための発話の内容に対応付けられた識別情報により特定されるロボット１１０に送信するステップとを備える。
【０１４７】
以上から、上述の各実施の形態によれば、１つのサーバ１２０が複数の電子機器（たとえばロボット１１０Ａ，１１０Ｂ・・・１１０Ｎ）に対し、それぞれ命令を送信し、それぞれの電子機器からの発話内容に応じた動作を実行させる。
【０１４８】
また、別の局面において、サーバ１２０の中の１つの機能を複数の電子機器にそれぞれ動作させるものであってもよい。その際、当該機能の諸設定は各電子機器毎に行われるものであってもよい。
【０１４９】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１５０】
１  ＣＰＵ、２  マウス、３  キーボード、４  ＲＡＭ、５  ハードディスク、６  光ディスク駆動装置、８，７４０  モニタ、９  ＲＯＭ、１００  システム、１１０，１１０Ａ，１１０Ｂ，１１０Ｎ  ロボット、１２０  サーバ、１３０  インターネット、２１０  音声入力部、２２０  音声認識処理部、２３０  抽出部、２４０  記憶部、２５０  動作部、２５１  音声出力部、２６０  命令生成部、２７０  計時部、４１０  タイプ、４２０，５２０  テンプレート、６２０  時刻データ、７１０  操作パネル、７２０  マイク、７３０  スピーカ、７５０  コントローラ、７５５  音声認識処理プロセッサ、７６０  メモリ、７７０  モータ、７８０  車輪。
【図１】
0006316214.tif 000002
【図２】
0006316214.tif 000003
【図３】
0006316214.tif 000004
【図４】
0006316214.tif 000005
【図５】
0006316214.tif 000006
【図６】
0006316214.tif 000007
【図７】
0006316214.tif 000008
【図８】
0006316214.tif 000009
【図９】
0006316214.tif 000010
【図１０】
0006316214.tif 000011
【図１１】
0006316214.tif 000012
【図１２】
0006316214.tif 000013
【図１３】
0006316214.tif 000014