[本開示の技術の基礎となった知見]
本発明者らは、特許文献1に開示されるような従来技術において、以下の問題が生じることを見出した。上記特許文献1の装置及びプログラムは、同義語をローカル側の装置で学習する。したがって、ローカル側の装置は、記憶容量が限られているにも関わらず、同義語を学習するにつれ、その記憶領域の規模を大きくしてしまうという問題がある。このような課題を解決するために、本発明者らは、以下の改善策を検討した。
本開示の一態様に係る第1の情報処理方法は、ユーザとの対話を通じて少なくとも1つの機器を制御するプロセッサによって実行される情報処理方法であって、マイクロホンから入力された前記ユーザの音声を示す第1音声情報を取得し、複数の文字列情報(文字情報)と複数の意味情報とが関連づけられている第1データベース(第1の辞書)を参照して、前記第1音声情報から生成された第1文字列情報(認識文字情報)が前記第1データベースの前記複数の文字列情報のいずれにも合致しないと判断した場合に、前記第1文字列情報をネットワークを介してサーバに出力し、第1意味情報と前記第1意味情報に対応する制御コマンドとの少なくとも一方(タスク情報)を、前記ネットワークを介して前記サーバから取得し、前記第1意味情報は、前記サーバ上の第2データベース(第2の辞書)において、前記第1文字列情報に合致する文字列情報と関連付けられている、前記第1意味情報および前記制御コマンドの少なくとも一方に基づいて、前記少なくとも1つの機器が所定の動作を実行するように指示し、第2文字列情報(推奨文字情報)から生成された第2音声情報をスピーカに出力する、前記第2文字列情報は前記第1データベースにおいて前記第1意味情報に関連づけられている。
上記態様において、ユーザが少なくとも1つの機器に所望の動作をさせるために、マイクロホンに音声を入力したが、当該音声の第1音声情報に対応する第1文字列情報に合致する文字列情報が、第1データベースに存在しないとき、第1文字列情報は、サーバに出力される。そして、第1文字列情報に対応する第1意味情報と第1意味情報に対応する制御コマンドとの少なくとも一方(例えば、タスク情報)が、サーバから取得される。さらに、第1データベースにおける第1意味情報に対応する第2文字列情報(例えば、推奨文字情報)から、第2音声情報が生成され、スピーカから出力される。また、取得される第1意味情報と制御コマンドとの少なくとも一方に基づき、少なくとも1つの機器が制御される。このような第1文字列情報と第2文字列情報とは、第1意味情報に関して対応する。よって、マイクロホンから入力された第1音声情報に対応する文字列情報が第1データベースに存在しない場合でも、第1音声情報に応じて少なくとも1つの機器を動作させることが可能である。さらに、ユーザには、第1文字列情報に対応する第1データベースの第2文字列情報が、スピーカを介して通知される。このため、ユーザは、第2文字列情報に対応する音声をマイクロホンに入力することによって、サーバとの通信を介さずに、少なくとも1つの機器に所望の動作をさせることができる。従って、少なくとも1つの機器を動作させる際の音声認識レスポンスの向上が可能になる。
また、本開示の一態様に係る第2の情報処理方法は、サーバ上の第2プロセッサによって実行される情報処理方法であって、前記第2プロセッサは、ユーザとの対話を通じて少なくとも1つの機器を制御する第1プロセッサとネットワークを介して通信可能であり、第1音声情報から生成された第1文字列情報(認識文字情報)が、前記第1プロセッサによって参照される第1データベース(第1の辞書)内のいずれの文字列情報(文字情報)にも合致しない場合に、前記ネットワークを介して前記第1プロセッサから前記第1文字列情報を取得し、前記第1音声情報はマイクロホンから入力された前記ユーザの音声を示し、第1意味情報と前記第1意味情報に対応する制御コマンドとの少なくとも一方(タスク情報)を、前記ネットワークを介して前記第1プロセッサに出力し、前記第1意味情報は、第2データベース(第2の辞書)内の複数の文字列情報のうち前記第1文字列情報に合致する1つと関連づけられている、前記第1データベースにおいて前記第1意味情報に関連づけられている第2文字列情報(推奨文字情報)と、前記第2文字列情報から生成された第2音声情報との少なくとも一方を、前記ネットワークを介して前記第1プロセッサに出力し、前記第2音声情報はスピーカに出力される情報である。
上記態様において、ユーザが少なくとも1つの機器に所望の動作をさせるために、マイクロホンに音声を入力したが、当該音声の第1音声情報に対応する第1文字列情報に合致する文字列情報が、第1データベースに存在しないとき、第1文字列情報は、サーバに出力される。そして、第1文字列情報に対応する第1意味情報と第1意味情報に対応する制御コマンドとの少なくとも一方(例えば、タスク情報)が、サーバから第1プロセッサに出力される。さらに、第1データベースにおいて第1意味情報に関連づけられている第2文字列情報(例えば、推奨文字情報)と、第2文字列情報から生成された第2音声情報との少なくとも一方が、サーバから第1プロセッサに出力される。これにより、取得される第1意味情報と制御コマンドとの少なくとも一方に基づき、第1プロセッサによって、少なくとも1つの機器が制御される。また、第1プロセッサによって、第2文字列情報(例えば、推奨文字情報)から生成される第2音声情報が、スピーカから出力される。このような第1文字列情報と第2文字列情報とは、第1意味情報に関して対応する。よって、マイクロホンから入力された第1音声情報に対応する文字列情報が第1データベースに存在しない場合でも、第1音声情報に応じて少なくとも1つの機器を動作させることが可能である。さらに、ユーザには、第1文字列情報に対応する第1データベースの第2文字列情報が、スピーカを介して通知される。このため、ユーザは、第2文字列情報に対応する音声をマイクロホンに入力することによって、サーバとの通信を介さずに、少なくとも1つの機器に所望の動作をさせることができる。従って、少なくとも1つの機器を動作させる際の音声認識レスポンスの向上が可能になる。
例えば、本開示の一態様に係る第1の情報処理方法は、さらに、前記第2文字列情報および前記第2音声情報の少なくとも一方を、前記ネットワークを介して前記サーバから取得してもよい。
上記態様によれば、第1データベースにおいて、第1意味情報に関連づけられている第2文字列情報を抽出する処理が不要になる。よって、プロセッサの処理速度が向上するため、音声認識レスポンスの向上が可能になる。
例えば、本開示の一態様に係る第1の情報処理方法は、さらに、前記第2文字列情報を取得した後に、前記第2文字列情報から前記第2音声情報を生成してもよい。
上記態様によれば、サーバから第2文字列情報及び第2音声情報を取得する場合と比較して、サーバから取得する情報量が減少する。よって、通信時間の低減が可能になるため、音声認識レスポンスの向上が可能になる。
例えば、本開示の一態様に係る第1の情報処理方法は、さらに、前記第2データベースにおいて前記第1意味情報に関連づけられている1以上の文字列情報を、前記ネットワークを介して前記サーバから取得し、前記1以上の文字列情報と前記第1データベースの前記複数の文字列情報とを照合することによって、前記1以上の文字列情報の中から前記第2文字列情報を特定してもよい。
上記態様によれば、サーバにおいて、第2データベースにおける第1意味情報に関連づけられている1以上の文字列情報が、第1データベースの文字列情報に合致するか否かを判断する処理が不要である。よって、サーバでの処理速度が向上するため、音声認識レスポンスの向上が可能になる。
例えば、本開示の一態様に係る第1の情報処理方法は、さらに、前記第1意味情報と前記第1データベースの前記複数の意味情報とを照合することによって、前記第1データベースの前記複数の文字列情報の中から前記第2文字列情報を特定してもよい。
上記態様において、例えば、同義語及び類義語の存在により、文字列同士を照合することによって対応関係を判定することは、意味情報同士を照合することによって対応関係を判定することよりも、複雑な処理を要する。このため、意味情報の照合により第2文字列情報を特定することによって、処理速度の向上が可能である。
例えば、本開示の一態様に係る第1の情報処理方法は、さらに、前記第1意味情報を取得した後に、前記第1意味情報に基づいて前記制御コマンドを生成してもよい。
上記態様によれば、サーバから第1意味情報及び制御コマンドを取得する場合と比較して、サーバから取得する情報量が減少する。よって、通信時間の低減が可能になるため、音声認識レスポンスの向上が可能になる。
例えば、本開示の一態様に係る第1の情報処理方法は、さらに、前記第1音声情報を取得した後に、前記第1音声情報から前記第1文字列情報を生成してもよい。
上記態様によれば、ユーザによるマイクロホンへの音声入力に応じたリアルタイムな処理が、可能になる。
例えば、本開示の一態様に係る第1の情報処理方法において、前記ネットワークはインターネットであり、前記第1データベースは、前記少なくとも1つの機器と前記インターネットを介さずに通信可能なローカルサーバ上に格納されていてもよい。
上記態様によれば、第1データベースを格納するローカルサーバと、少なくとも1つの機器との通信による、音声認識レスポンスの低下が抑えられる。
例えば、本開示の一態様に係る第1の情報処理方法において、前記第1文字列情報が前記第1データベースの前記複数の文字列情報のうちの1つに合致すると判断した場合に、前記サーバとは通信せずに、前記少なくとも1つの機器が前記所定の動作を実行するように指示してもよい。
上記態様によれば、サーバとの通信が低減されるため、音声認識レスポンスの向上が可能になる。
また、本開示の一態様に係る第1のプログラムは、上記の第1の情報処理方法を前記プロセッサに実行させる。
例えば、本開示の一態様に係る第2の情報処理方法において、前記第2データベースは、前記複数の文字列情報のそれぞれが前記第1データベースに含まれるか否かを示す複数の対応情報を含み、前記第2の情報処理方法は、さらに、前記第1意味情報および前記制御コマンドの少なくとも一方を出力する前に、前記第2データベースを参照して前記第1意味情報を特定し、前記第2データベースの前記複数の文字列情報の中から、前記第1意味情報に関連づけられている1以上の文字列情報を特定し、前記第2データベースの前記複数の対応情報を参照して、前記1以上の文字列情報のそれぞれが前記第1データベースに含まれるか否かを判断することによって、前記1以上の文字列情報の中から前記第2文字列情報を特定してもよい。
上記態様によれば、第2データベースにおいて、第1意味情報に関連づけられており且つ第1データベースに含まれている第2文字列情報が、確実に抽出され得る。
例えば、本開示の一態様に係る第2の情報処理方法は、さらに、前記第2文字列情報から前記第2音声情報を生成してもよい。
例えば、本開示の一態様に係る第2の情報処理方法は、さらに、前記第1意味情報に基づいて前記制御コマンドを生成してもよい。
例えば、本開示の一態様に係る第2の情報処理方法において、前記ネットワークはインターネットであり、前記第1データベースは、前記少なくとも1つの機器と前記インターネットを介さずに通信可能なローカルサーバ上に格納されていてもよい。
上記態様によれば、第1データベースを格納するローカルサーバと、少なくとも1つの機器との通信による、音声認識レスポンスの低下が抑えられる。
また、本開示の一態様に係る第2のプログラムは、上記の第2の情報処理方法を前記第2プロセッサに実行させる。
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
以下、実施の形態について、図面を参照しながら具体的に説明する。なお、以下で説明する実施の形態は、いずれも本開示の技術の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また全ての実施の形態において、各々の内容を組み合わせることも出来る。
[実施の形態]
[1.提供するサービスの全体像]
まず、図1A〜図1Cを参照して、実施の形態に係る音声処理装置を備える音声対話エージェントシステム1が配置される情報管理システムが提供する、サービスの全体像について説明する。図1Aは、実施の形態に係る音声処理装置を備える音声対話エージェントシステムが配置される環境の一例を示す図であり、音声対話エージェントシステムを備える情報管理システムが提供するサービスの全体像を示す図である。図1Bは、図1Aのデータセンタ運営会社が、機器メーカに該当する例を示す図である。図1Cは、図1Aのデータセンタ運営会社が、機器メーカ及び管理会社の両者又はいずれか一方に該当する例を示す図である。なお、音声処理装置は、後述するホームゲートウェイ(ローカルサーバとも呼ぶ)102であってもよく、クラウドサーバ111であってもよく、ホームゲートウェイ102及びクラウドサーバ111を含むものでもよい。
図1Aに示されるように、情報管理システム4000は、グループ4100、データセンタ運営会社4110及びサービスプロバイダ4120を備える。グループ4100は、例えば企業、団体又は家庭等であり、その規模を問わない。グループ4100は、第1の機器101a及び第2の機器101bを含む複数の機器101、並びにホームゲートウェイ102を備える。複数の機器101は、例えば家電機器である。複数の機器101は、例えば、スマートフォン、パーソナルコンピュータ(PC)又はテレビ等のインターネットなどの通信網と接続可能な機器を含んでもよく、例えば、照明、洗濯機又は冷蔵庫等のそれ自身ではインターネットなどの通信網と接続不可能な機器を含んでもよい。複数の機器101は、それ自身ではインターネット等の通信網と接続不可能であっても、ホームゲートウェイ102を介してインターネット等の通信網と接続可能となる機器を含んでもよい。また、ユーザ5100は、グループ4100内の複数の機器101を使用する。
データセンタ運営会社4110は、クラウドサーバ111を備える。クラウドサーバ111は、インターネットなどの通信網を介して様々な装置と連携する仮想化サーバである。クラウドサーバ111は、主に通常のデータベース管理ツール等で扱うことが困難な巨大なデータ(ビッグデータ)等を管理する。データセンタ運営会社4110は、データの管理、クラウドサーバ111の管理、及びそれらを行うデータセンタの運営等を行っている。データセンタ運営会社4110が行っている役務の詳細については後述する。以降では、通信網として、インターネットが用いられるものとして説明するが、通信網は、インターネットに限定されない。
ここで、データセンタ運営会社4110は、データの管理又はクラウドサーバ111の管理のみを行っている会社に限らない。例えば、図1Bに示すように、複数の機器101のうちの一つの機器を開発又は製造している機器メーカが、データの管理又はクラウドサーバ111の管理等を行っている場合は、機器メーカがデータセンタ運営会社4110に該当する。また、データセンタ運営会社4110は一つの会社に限らない。例えば、図1Cに示すように、機器メーカ及び管理会社が共同又は分担してデータの管理又はクラウドサーバ111の管理を行っている場合は、両者又はいずれか一方がデータセンタ運営会社4110に該当する。
サービスプロバイダ4120は、サーバ121を備える。ここで言うサーバ121とは、その規模は問わず、例えば、個人用PC内のメモリ等も含む。また、サービスプロバイダ4120がサーバ121を備えていない場合もある。
なお、上記の情報管理システム4000において、ホームゲートウェイ102は必須ではない。例えば、クラウドサーバ111が全てのデータ管理を行っている場合等は、ホームゲートウェイ102は不要となる。また、家庭内の全ての機器101がインターネットに接続されている場合のように、それ自身ではインターネットと接続不可能な機器が存在しない場合もある。
次に、情報管理システム4000における情報の流れを説明する。まず、グループ4100の第1の機器101a又は第2の機器101bは、各々のログ情報をデータセンタ運営会社4110のクラウドサーバ111にそれぞれ送信する。クラウドサーバ111は、第1の機器101a及び第2の機器101bのログ情報を集積する(図1Aの矢印131)。ここで、ログ情報とは、複数の機器101の例えば運転状況及び動作日時等を示す情報である。例えば、ログ情報は、テレビの視聴履歴、レコーダの録画予約情報、洗濯機の運転日時、洗濯物の量、冷蔵庫の開閉日時、及び冷蔵庫の開閉回数などを含み得るが、これらの情報に限らず、種々の機器101から取得が可能な種々の情報を含んでもよい。なお、ログ情報は、インターネットを介して複数の機器101自体から直接クラウドサーバ111に提供されてもよい。また、ログ情報は、複数の機器101から一旦ホームゲートウェイ102に集積され、ホームゲートウェイ102からクラウドサーバ111に提供されてもよい。
次に、データセンタ運営会社4110のクラウドサーバ111は、集積したログ情報を一定の単位でサービスプロバイダ4120に提供する。ここで、一定の単位とは、データセンタ運営会社4110が集積した情報を整理してサービスプロバイダ4120に提供することの出来る単位でもよく、サービスプロバイダ4120が要求する単位でもよい。また、ログ情報は、一定の単位で提供されるとしているが、一定の単位で提供されなくてもよく、状況に応じて提供される情報量が変化してもよい。ログ情報は、必要に応じてサービスプロバイダ4120が保有するサーバ121に保存される(図1Aの矢印132)。
そして、サービスプロバイダ4120は、ログ情報を、ユーザに提供するサービスに適合する情報に整理し、ユーザに提供する。情報が提供されるユーザは、複数の機器101を使用するユーザ5100でもよく、外のユーザ5200でもよい。ユーザ5100,5200への情報提供方法としては、例えば、サービスプロバイダ4120から直接ユーザ5100,5200へ情報が提供されてもよい(図1Aの矢印133,134)。また、ユーザ5100への情報提供方法としては、例えば、データセンタ運営会社4110のクラウドサーバ111を再度経由して、ユーザ5100に情報が提供される方法でもよい(図1Aの矢印135,136)。また、データセンタ運営会社4110のクラウドサーバ111は、ログ情報を、ユーザに提供するサービスに適合する情報に整理し、サービスプロバイダ4120に提供してもよい。なお、ユーザ5100は、ユーザ5200と異なっていても同一であってもよい。
[2−1.実施の形態に係る音声対話エージェントシステムの構成]
以下、実施の形態に係る音声対話エージェントシステム1の構成を説明する。音声対話エージェントシステム1は、ユーザがクラウド側の辞書にのみ登録された発話フレーズを発話した場合に、同様の処理を行うローカル側の辞書に登録された発話フレーズをユーザにレコメンドするシステムである。この際、音声対話エージェントシステム1は、ユーザに対し、ローカル側の装置で高速に応答可能な発話フレーズを適切にレコメンドする。これにより、音声対話エージェントシステム1は、ユーザが機器制御を行う際のレスポンスを向上する。
まず、音声対話エージェントシステム1の構成に関して、音声対話エージェントシステムの構成、音声入出力装置のハードウェア構成、機器のハードウェア構成、ローカルサーバのハードウェア構成、クラウドサーバのハードウェア構成、音声入出力装置の機能ブロック、機器の機能ブロック、ローカルサーバの機能ブロック、及びクラウドサーバの機能ブロックを順次説明する。次いで、音声対話エージェントシステム1の動作に関して、端末側つまりローカル側で高速に応答可能な発話フレーズをレコメンドする処理のシーケンス、及び音声対話エージェントシステム1によるクラウド辞書照合処理の流れを順次説明する。
図2を参照して、実施の形態に係る音声対話エージェントシステム1の構成を説明する。図2は、実施の形態に係る音声対話エージェントシステム1の構成を示す概略図である。音声対話エージェントシステム1は、音声入出力装置240と、複数の機器101と、ローカルサーバ102と、情報通信ネットワーク220と、クラウドサーバ111とを含む。ローカルサーバ102は、ホームゲートウェイの一例である。情報通信ネットワーク220は、例えば、インターネットであり、通信網の一例である。本実施の形態では、複数の機器101は、テレビ243、エアコン244及び冷蔵庫245で構成される。また、複数の機器101を構成する機器は、テレビ243、エアコン244及び冷蔵庫245に限定されるものでなく、任意の機器でよい。音声入出力装置240、複数の機器101及びローカルサーバ102は、グループ4100に配置される。ここで、ローカルサーバ102が、音声処理装置を構成してもよく、クラウドサーバ111が、音声処理装置を構成してもよく、ローカルサーバ102及びクラウドサーバ111が共に、音声処理装置を構成してもよい。
図2に示す例では、人間であるユーザ5100が、音声対話エージェントシステム1が配置されるグループ4100内に存在する。また、ユーザ5100が、音声対話エージェントシステム1に対する話者であるとする。
音声入出力装置240は、グループ4100内の音声を取得する集音部の一例であり、グループ4100内に音声を出力する音声出力部の一例でもある。音声入出力装置240は、マイクロホンを介して音声を取得してもよく、スピーカを介して音声を出力してもよい。マイクロホン及びスピーカは、音声入出力装置240に備えられてもよく、音声入出力装置240を搭載する装置に備えられてもよく、音声入出力装置240及び上記装置と別個の装置に備えられてもよい。グループ4100は、音声入出力装置240が音声によりユーザに情報提供可能な空間である。音声入出力装置240は、グループ4100内のユーザ5100の音声を認識し、認識した音声入力によるユーザ5100の指示に応じて、音声入出力装置240より音声情報を提示し、且つ機器101を制御する。より具体的には、音声入出力装置240は、音声入力によるユーザ5100の指示に従いコンテンツを表示したり、ユーザ5100の質問に回答したり、機器101を制御したりする。
また、ここでは、音声入出力装置240、複数の機器101及びローカルサーバ102の間の接続には、有線又は無線による接続を用いることができる。無線による接続には、様々な無線通信が適用可能である。例えば、Wi−Fi(登録商標)(Wireless Fidelity)などの無線LAN(Local Area Network)が適用されてもよく、Bluetooth(登録商標)、ZigBee(登録商標)等の近距離無線通信が適用されてもよい。
また、音声入出力装置240、機器101及びローカルサーバ102のうち少なくとも一部が一体化されていてもよい。例えば、音声入出力装置240に、ローカルサーバ102の機能が組み込まれ、音声入出力装置240が、自身でクラウドサーバ111と通信するローカル端末として機能してもよい。又は、音声入出力装置240が、複数の機器101のそれぞれ、若しくは、複数の機器101のうちの1つに組み込まれてもよい。後者の場合、音声入出力装置240が組み込まれた機器101が、他の機器101を制御してもよい。又は、音声入出力装置240の機能とローカルサーバ102の機能とのうち少なくともローカルサーバ102の機能が、複数の機器101のそれぞれ、若しくは、複数の機器101のうちの1つに組み込まれてもよい。前者の場合、各機器101が、自身でクラウドサーバ111と通信するローカル端末として機能してもよく、後者の場合、ローカルサーバ102の機能が組み込まれたローカル端末である1つの機器101を介して、他の機器101がクラウドサーバ111と通信してもよい。
さらに、音声入出力装置240、機器101、ローカルサーバ102及びクラウドサーバ111について、ハードウェア構成の観点から説明する。図3は、実施の形態に係る音声入出力装置240のハードウェア構成の一例を示す。図3に示されるように、音声入出力装置240は、処理回路300、集音回路301、音声出力回路302及び通信回路303を有している。処理回路300、集音回路301、音声出力回路302及び通信回路303は、バス330で相互に接続されており、互いの間でデータ及び命令の授受を行うことが可能である。ここで、クラウドサーバ111は、サーバの一例である。
処理回路300は、CPU(Central Processing Unit)310と、機器ID341及びコンピュータプログラム342を格納したメモリ320との組み合わせによって実現され得る。CPU310は、音声入出力装置240の動作を制御するが、ローカルサーバ102を介して接続される各機器101の動作も制御してもよい。この場合、処理回路300は、各機器101の制御命令を、ローカルサーバ102を介して送信するが、各機器101に直接送信してもよい。CPU310は、メモリ320に展開されたコンピュータプログラム342に記述された命令群を実行する。これにより、CPU310は種々の機能を実現することができる。コンピュータプログラム342には、後述する音声入出力装置240の動作を実現するための命令群が記述されている。上述のコンピュータプログラム342は、製品としての音声入出力装置240のメモリ320に予め格納されていてもよい。又は、コンピュータプログラム342は、CD−ROM等の記録媒体に記録されて製品として市場に流通され、若しくは、インターネット等の電気通信回線を通じて伝送され、記録媒体又は電気通信回線を通じて取得されたコンピュータプログラム342がメモリ320に格納されてもよい。
或いは、処理回路300は、以下に説明する動作を実現するように構成された専用のハードウェアによって実現されていてもよい。なお、機器ID341は、機器101に一意に付与された識別子である。機器ID341は、機器101のメーカによって独自に付与されてもよいし、或いは、原則としてネットワーク上で一意に割り当てられる物理アドレス(いわゆるMAC(Media Access Control)アドレス)であってもよい。
なお、図3では、コンピュータプログラム342が格納されているメモリ320に機器ID341が格納されているとした。しかしながらこれは、処理回路300の構成の一例である。例えば、コンピュータプログラム342がRAM(Random Access Memory)又はROM(Read Only Memory)に格納され、機器ID341がフラッシュメモリに格納されてもよい。
集音回路301は、ユーザの音声を収集してアナログ音声信号を生成し、そのアナログ音声信号をデジタルデータに変換してバス330に送信する。
音声出力回路302は、バス330を通じて受信したデジタルデータをアナログ音声信号に変換し、そのアナログ音声信号を出力する。
通信回路303は、有線通信又は無線通信を介して、他の機器(例えばローカルサーバ102)と通信を行う回路である。限定されるものではないが、本実施の形態では、通信回路303は、ネットワークを介して他の機器と通信を行い、例えばイーサネット(登録商標)規格に準拠したネットワーク等の有線LANを介して通信を行う。通信回路303は、処理回路300によって生成されたログ情報及びID情報をローカルサーバ102に送信する。また、通信回路303は、ローカルサーバ102より受信した信号を、バス330を通じて処理回路300に送信する。
音声入出力装置240は、図示される構成要素以外にも、音声入出力装置240に要求される機能を実現するための他の構成要素も含み得る。
図4は、実施形態に係る機器101のハードウェア構成の一例を示す。図2に示されるテレビ243、エアコン244及び冷蔵庫245は、機器101の一例である。図4に示されるように、機器101は、入出力回路410と、通信回路450と、処理回路470とを有している。入出力回路410、通信回路450及び処理回路470は、バス460で相互に接続されており、互いの間でデータ及び命令の授受を行うことが可能である。
処理回路470は、CPU430と、機器ID441及びコンピュータプログラム442を格納したメモリ440との組み合わせによって実現され得る。CPU430は、機器101の動作を制御する。CPU430は、メモリ440に展開されたコンピュータプログラム442に記述された命令群を実行し、種々の機能を実現することができる。コンピュータプログラム442には、機器101の動作を実現するための命令群が記述されている。上述のコンピュータプログラム442は、製品としての機器101のメモリ440に予め格納されていてもよい。又は、コンピュータプログラム442は、CD−ROM等の記録媒体に記録されて製品として市場に流通され、若しくは、インターネット等の電気通信回線を通じて伝送され、記録媒体又は電気通信回線を通じて取得されたコンピュータプログラム442がメモリ440に格納されてもよい。
或いは、処理回路470は、以下に説明する動作を実現するように構成された専用のハードウェアによって実現されていてもよい。なお、機器ID441は、機器101に一意に付与された識別子である。機器ID441は、機器101のメーカによって独自に付与されてもよいし、或いは、原則としてネットワーク上で一意に割り当てられる物理アドレス(いわゆるMACアドレス)であってもよい。
なお、図4では、コンピュータプログラム442が格納されているメモリ440に機器ID441が格納されているとした。しかしながらこれは、処理回路470の構成の一例である。例えば、コンピュータプログラム442がRAM又はROMに格納され、機器ID441がフラッシュメモリに格納されてもよい。
入出力回路410は、処理回路470が処理した結果を出力する。また、入出力回路410は、入力されたアナログ信号をデジタルデータに変換してバス330に送信する。
通信回路450は、有線通信又は無線通信を介して、他の装置(例えばローカルサーバ102)と通信を行う回路である。限定されるものではないが、本実施の形態では、通信回路450は、ネットワークを介して他の装置と通信を行い、例えばイーサネット(登録商標)規格に準拠したネットワーク等の有線LANを介して通信を行う。通信回路450は、処理回路470によって生成されたログ情報及びID情報をローカルサーバ102に送信する。また、通信回路450は、ローカルサーバ102より受信した信号を、バス460を通じて処理回路470に送信する。
機器101は、図示される構成要素以外にも、機器101に要求される機能を実現するための他の構成要素も含み得る。
図5は、ローカルサーバ102のハードウェア構成の一例を示す。ローカルサーバ102は、音声入出力装置240、機器101及び情報通信ネットワーク220の間のゲートウェイを構成する。図5に示されるように、ローカルサーバ102は、第一通信回路551と、第二通信回路552と、処理回路570と、音響モデルDB(データベース;Data Base)580と、言語モデルDB581と、音声素片DB582と、韻律制御DB583と、ローカル辞書DB584と、応答生成DB585とを、構成要素として備えている。これらの構成要素は、バス560で相互に接続されており、互いの間でデータ及び命令の授受を行うことが可能である。
処理回路570は、音響モデルDB580、言語モデルDB581、音声素片DB582、韻律制御DB583、ローカル辞書DB584及び応答生成DB585に接続されており、これらのDBに格納された管理情報の取得及び編集を行うことができる。なお、本実施形態では、音響モデルDB580、言語モデルDB581、音声素片DB582、韻律制御DB583、ローカル辞書DB584及び応答生成DB585は、ローカルサーバ102の内部の構成要素であるが、ローカルサーバ102の外部に設けられていてもよい。その場合には、各DB及びローカルサーバ102の構成要素の間の接続手段には、バス560に加えて、インターネット回線、有線又は無線LAN等の通信回線が含まれ得る。
第一通信回路551は、有線通信又は無線通信を介して、他の装置(例えば音声入出力装置240及び機器101)と通信を行う回路である。限定されるものではないが、本実施の形態では、第一通信回路551は、ネットワークを介して他の装置と通信を行い、例えばイーサネット(登録商標)規格に準拠したネットワーク等の有線LANを介して通信を行う。第一通信回路551は、処理回路570によって生成されたログ情報及びID情報を音声入出力装置240及び機器101に送信する。また、第一通信回路551は、音声入出力装置240及び機器101より受信した信号を、バス560を通じて処理回路570に送信する。
第二通信回路552は、有線通信又は無線通信を介して、クラウドサーバ111と通信を行う回路である。第二通信回路552は、有線通信又は無線通信を介して、通信網に接続し、さらに、通信網を介してクラウドサーバ111と通信する。本実施の形態では、通信網は、情報通信ネットワーク220である。第二通信回路552は、例えばイーサネット(登録商標)規格に準拠したネットワーク等の有線LANを介して通信を行う。第二通信回路552は、クラウドサーバ111との間で、種々の情報を送受信する。
処理回路570は、CPU530と、一意に識別可能なゲートウェイID(以下、GW−IDとも呼ぶ)541及びコンピュータプログラム542を格納したメモリ540との組み合わせによって実現され得る。CPU530は、ローカルサーバ102の動作を制御するが、音声入出力装置240及び機器101の動作も制御してもよい。ゲートウェイID541は、ローカルサーバ102に一意に付与された識別子である。ゲートウェイID541は、ローカルサーバ102のメーカによって独自に付与されてもよいし、或いは、原則としてネットワーク上で一意に割り当てられる物理アドレス(いわゆるMACアドレス)であってもよい。CPU530は、メモリ540に展開されたコンピュータプログラム542に記述された命令群を実行し、種々の機能を実現することができる。コンピュータプログラム542には、ローカルサーバ102の動作を実現するための命令群が記述されている。上述のコンピュータプログラム542は、製品としてのローカルサーバ102のメモリ540に予め格納されていてもよい。又は、コンピュータプログラム542は、CD−ROM等の記録媒体に記録されて製品として市場に流通され、若しくは、インターネット等の電気通信回線を通じて伝送され、記録媒体又は電気通信回線を通じて取得されたコンピュータプログラム542がメモリ540に格納されてもよい。ここで、処理回路570又はCPU530は、第1プロセッサの一例である。
或いは、処理回路570は、以下に説明する動作を実現するように構成された専用のハードウェアによって実現されていてもよい。ローカルサーバ102は、図示される構成要素以外にも、ローカルサーバ102に要求される機能を実現するための他の構成要素も含み得る。
なお、図5では、コンピュータプログラム542が格納されているメモリ540にゲートウェイID541が格納されているとした。しかしながらこれは、処理回路570の構成の一例である。例えば、コンピュータプログラム542がRAM又はROMに格納され、ゲートウェイID541がフラッシュメモリに格納されてもよい。
音響モデルDB580は、音声の波形などの周波数パターン及び音声に対応する文字列等を含む種々の音響モデルを登録している。言語モデルDB581は、単語とその並び方等を含む種々の言語モデルを登録している。音声素片DB582は、音素等を単位とし且つ音声の特徴を表現した種々の音声素片を登録している。韻律制御DB583は、文字列の韻律を制御するための種々の情報を登録している。ローカル辞書DB584は、種々の文字列と、文字列それぞれに対応する意味タグとを対応付けて登録している。文字列は、単語、文節などのフレーズ等で構成される。意味タグとは、ある文字列の意味を表す論理表現を指す。例えば、文字列の意味が同一の文字列が複数ある場合には、それらの複数の文字列に同一の意味タグが共通して設定される。例えば、意味タグは、タスク対象の名称、タスク対象へのタスク内容等を、キーワードとして示す。例えば、図11を参照すると、文字列と、文字列に対応する意味タグとの組み合わせの例が示されている。応答生成DB585は、種々の意味タグと、種々の意味タグに対応する機器101の制御コマンドとを、対応付けて登録している。応答生成DB585は、制御コマンド等に対応する応答メッセージの文字列つまりテキスト情報を、意味タグ及び制御コマンドに対応付けて登録している。ここで、意味タグは、意味情報の一例であり、ローカル辞書DB584は、第1データベースの一例である。
図6は、クラウドサーバ111のハードウェア構成の一例を示す。図6に示されるように、クラウドサーバ111は、通信回路650と、処理回路670と、クラウド辞書DB690と、応答生成DB691とを、構成要素として備えている。これらの構成要素は、バス680で相互に接続されており、互いの間でデータ及び命令を授受することが可能である。
処理回路670は、CPU671と、プログラム673を格納したメモリ672とを有している。CPU671は、クラウドサーバ111の動作を制御する。CPU671は、メモリ672に展開されたコンピュータプログラム673に記述された命令群を実行する。これにより、CPU671は種々の機能を実現することができる。コンピュータプログラム673には、クラウドサーバ111が後述する動作を実現するための命令群が記述されている。上述のコンピュータプログラム673は、CD−ROM等の記録媒体に記録されて製品として市場に流通され、又は、インターネット等の電気通信回線を通じて伝送され得る。図6に示すハードウェアを備えた装置(例えばPC)は、当該コンピュータプログラム673を読み込むことにより、本実施形態によるクラウドサーバ111として機能し得る。ここで、処理回路670又はCPU671は、第2プロセッサの一例である。
処理回路670は、クラウド辞書DB690と応答生成DB691とに接続されており、これらのDBに格納された管理情報の取得及び編集を行うことができる。なお、本実施形態では、クラウド辞書DB690及び応答生成DB691は、クラウドサーバ111の内部の構成要素であるが、クラウドサーバ111の外部に設けられていてもよい。その場合には、各DB及びクラウドサーバ111の構成要素の間の接続手段には、バス680に加えて、インターネット回線、有線又は無線LAN等の通信回線が含まれ得る。
通信回路650は、有線通信又は無線通信を介して、他の通信機器(例えばローカルサーバ102)と通信を行う回路である。通信回路650は、有線通信又は無線通信を介して、通信網に接続し、さらに、通信網を介して他の装置(例えば、ローカルサーバ102)と通信する。本実施の形態では、通信網は、情報通信ネットワーク220である。通信回路650は、例えばイーサネット(登録商標)規格に準拠したネットワーク等の有線LANを介して通信を行う。
クラウド辞書DB690は、ローカル辞書DB584と同様に、種々の文字列と、文字列それぞれに対応する意味タグとを対応付けて登録している。文字列は、単語、文節等で構成されている。クラウド辞書DB690は、ローカル辞書DB584よりも遥かに多くの文字列及び意味タグの組み合わせを登録している。さらに、クラウド辞書DB690は、登録されている文字列が、ローカル辞書DB584に登録された文字列であるか否かの情報であるローカル対応情報も登録している。複数のローカルサーバ102がある場合、クラウド辞書DB690は、ローカルサーバ102それぞれのゲートウェイIDに対応したローカル対応情報を登録してもよい。例えば、図11を参照すると、文字列と、文字列に対応する意味タグと、文字列に対するローカル対応情報との組み合わせの例が示されている。応答生成DB691は、ローカルサーバ102の応答生成DB585と同様の構成を有している。ここで、クラウド辞書DB690は、第2データベースの一例である。
次いで、音声入出力装置240、機器101、ローカルサーバ102及びクラウドサーバ111について、システム構成の観点から説明する。図7は、音声入出力装置240のシステム構成の一例を示すブロック図である。図7に示されるように、音声入出力装置240は、集音部700と、音声検出部710と、音声区間切り出し部720と、通信部730と、音声出力部740とを備える。
集音部700は、図3の集音回路301に対応する。集音部700は、ユーザの音声を収集してアナログ音声信号を生成し、生成したアナログ音声信号をデジタルデータに変換し、変換したデジタルデータから音声信号を生成する。
音声検出部710及び音声区間切り出し部720は、図3の処理回路300により実現される。コンピュータプログラム342を実行したCPU310は、ある時点では、例えば音声検出部710として機能し、異なる他の一時点では音声区間切り出し部720として機能する。なお、これら2つの構成要素のうち、少なくとも1つが、DSP(Digital Signal Processor)などの専用の処理を行うハードウェアによって実現されてもよい。
音声検出部710は、音声を検出したかどうかを判定する。例えば、検出した音声のレベルが所定値以下の場合には、音声検出部710は音声を検出していないと判断する。音声区間切り出し部720は、取得した音声信号の中から音声が存在する区間を検出する。例えば、当該区間は、時間区間である。
通信部730は、図3の通信回路303に対応する。通信部730は、ネットワーク等の有線通信又は無線通信を介して、音声入出力装置240の他の装置(例えばローカルサーバ102)と通信を行う。通信部730は、例えばイーサネット(登録商標)規格に準拠したネットワーク等の有線LANを介して通信を行う。通信部730は、音声区間切り出し部720が検出した音声区間の音声信号を、他の装置に送信する。また、通信部730は、他の装置から受信した音声信号を音声出力部740に受け渡す。
音声出力部740は、図3の音声出力回路302に対応する。音声出力部740は、通信部730が受信した音声信号をアナログ音声信号に変換し、そのアナログ音声信号を出力する。
図8は、機器101のシステム構成の一例を示すブロック図である。図8に示されるように、機器101は、通信部800と、機器制御部810とを備える。
通信部800は、図4の通信回路450に対応する。通信部800は、ネットワーク等の有線通信又は無線通信を介して、機器101の他の装置(例えばローカルサーバ102)と通信を行う。通信部800は、例えばイーサネット(登録商標)規格に準拠したネットワーク等の有線LANを介して通信を行う。
機器制御部810は、図4の入出力回路410及び処理回路470に対応する。機器制御部810は、通信部800が受信した制御データを読み込み、機器101の動作を制御する。また、機器制御部810は、機器101の動作の制御上での処理結果の出力を制御する。例えば、機器制御部810は、通信部800が受信した制御データの処理回路470による読み込み及び処理、入出力回路410の入出力制御等を実施する。
図9は、ローカルサーバ102のシステム構成の一例を示すブロック図である。図9に示されるように、ローカルサーバ102は、通信部900と、受信データ解析部910と、音声認識部920と、ローカル辞書照合部930と、応答生成部940と、音声合成部950と、送信データ生成部960とを備える。
通信部900は、図5の第一通信回路551及び第二通信回路552に対応する。通信部900は、ネットワーク等の有線通信又は無線通信を介して、ローカルサーバ102の他の装置(例えば音声入出力装置240及び機器101)と通信を行う。通信部900はまた、有線通信又は無線通信を介して、情報通信ネットワーク220等の通信網に接続し、さらに、通信網を介してクラウドサーバ111とも通信する。通信部900は、例えばイーサネット(登録商標)規格に準拠したネットワーク等の有線LANを介して通信を行う。通信部900は、他の装置及びクラウドサーバ111等から受信したデータを受信データ解析部910に受け渡す。また、通信部900は、送信データ生成部960が生成したデータを、他の装置及びクラウドサーバ111等に送信する。
受信データ解析部910は、図5の処理回路570に対応する。受信データ解析部910は、通信部900が受信したデータの種別を解析する。また、受信データ解析部910は、受信したデータの種別を解析した結果、ローカルサーバ102内部にて更なる処理を行うか、それとも他の装置にデータを送信すべきかを判断する。前者の場合、受信データ解析部910は、受信したデータを音声認識部920等に受け渡す。後者の場合、受信データ解析部910は、次に送信すべき装置と、当該装置に送信すべきデータとの組み合わせを決定する。
音声認識部920は、図5の処理回路570と、音響モデルDB580と、言語モデルDB581とにより実現される。音声認識部920は、音声信号から、文字列データに変換する。具体的には、音声認識部920は、予め登録された音響モデルの情報を音響モデルDB580より取得し、音響モデルと音声データの周波数特性とから、音声データを音素データに変換する。さらに、音声認識部920は、予め登録された言語モデルの情報を言語モデルDB581より取得し、言語モデルと音素データの並び方とから、音素データを特定の文字列データに変換する。音声認識部920は、変換した文字列データをローカル辞書照合部930に引き渡す。
ローカル辞書照合部930は、図5の処理回路570と、ローカル辞書DB584とにより実現される。ローカル辞書照合部930は、文字列データから、意味タグに変換する。意味タグとは、具体的には、制御対象となる機器及びタスク内容等を指すキーワードである。ローカル辞書照合部930は、受信した文字列データと、ローカル辞書DB584とを照合することで、当該文字列データと一致した意味タグを抽出する。なお、ローカル辞書DB584には、単語等の文字列と、文字列に対応する意味タグとが、対応付けられて収納されている。受信した文字列に一致する文字列を、ローカル辞書DB584内で探索することによって、受信した文字列と一致する、つまり適合する意味タグが抽出される。
応答生成部940は、図5の処理回路570と、応答生成DB585とにより実現される。応答生成部940は、ローカル辞書照合部930から受け取る意味タグと応答生成DB585とを照合し、意味タグと対応する制御コマンドに基づき、制御対象となる機器101を制御する制御信号を生成する。さらに、応答生成部940は、照合結果に基づき、ユーザ5100に提供すべきテキスト情報の文字列データを生成する。
音声合成部950は、図5の処理回路570と、音声素片DB582と、韻律制御DB583とにより実現される。音声合成部950は、文字列データから、音声信号に変換する。具体的には、音声合成部950は、予め登録された音声素片モデル及び韻律制御モデルの情報をそれぞれ、音声素片DB582及び韻律制御DB583より取得し、音声素片モデル、韻律制御モデル及び文字列データから、文字列データを特定の音声信号に変換する。
送信データ生成部960は、図5の処理回路570に対応する。送信データ生成部960は、受信データ解析部910が決定した、次に送信すべき装置及び当該装置に送信すべきデータの組み合わせから、送信データを生成する。
図10は、クラウドサーバ111のシステム構成の一例を示すブロック図である。図10に示されるように、クラウドサーバ111は、通信部1000と、クラウド辞書照合部1020と、応答生成部1030とを備える。
通信部1000は、図6の通信回路650に対応する。通信部1000は、ネットワーク等の有線通信又は無線通信を介して、情報通信ネットワーク220等の通信網に接続し、さらに、通信網を介して、他の装置(例えばローカルサーバ102)と通信を行う。通信部1000は、例えばイーサネット(登録商標)規格に準拠したネットワーク等の有線LANを介して通信を行う。
クラウド辞書照合部1020は、図6の処理回路670と、クラウド辞書DB690とにより実現される。クラウド辞書照合部1020は、文字列データから、意味タグに変換し、さらに、文字列の同義語がローカル辞書DB584に登録されているか否かを照合する。文字列の同義語とは、意味タグが共通する文字列である。具体的には、クラウド辞書照合部1020は、受信した文字列データと、クラウド辞書DB690とを照合することで、当該文字列データと一致つまり適合した意味タグを抽出する。さらに、クラウド辞書照合部1020は、抽出した意味タグを用いて、クラウド辞書DB690と照合することで、同一の意味タグが与えられた他の文字列を抽出する。さらに、クラウド辞書照合部1020は、抽出した文字列のうちのローカル辞書DB584に登録されている文字列を出力し、その文字列データと、当該文字列データに対応するつまり適合する意味タグとを応答生成部1030に引き渡す。
応答生成部1030は、図6の処理回路670と、応答生成DB691とにより実現される。応答生成部1030は、受け取った意味タグを応答生成DB691に照合し、意味タグと対応する制御コマンドに基づき、制御対象となる機器101を制御する制御信号を生成する。さらに、応答生成部1030は、照合結果に基づき、ユーザ5100に提供すべきテキスト情報の文字列データを生成する。
図11は、クラウド辞書DB690の具体例を示す図である。クラウド辞書DB690には、単語等の文字列、意味タグ、及びローカル対応情報が、互いに関連付けられて保持されている。ローカル対応情報は、図11において、ローカル辞書DB登録の有無と記載された情報であり、文字列及び意味タグの組み合わせそれぞれについて、文字列がローカル辞書DB584に登録されているか否かという情報である。なお、ローカル辞書DB584には、文字列及び意味タグが、互いに関連付けられて保持されている。
[2−2−1.実施の形態に係る音声対話エージェントシステムの動作]
次いで、音声対話エージェントシステム1の動作に関して、端末側つまりローカルサーバ102で高速に応答可能な発話フレーズをレコメンドする処理の流れを説明する。図12及び図13は、音声対話エージェントシステム1による、ローカル側で高速に応答可能な発話フレーズをレコメンドする処理の一連のシーケンスを示す。このシーケンスは、ユーザ5100が音声により音声入出力装置240に何らかの指示を開始したときに開始される。
ユーザ5100が音声入出力装置240に、マイクロホンなどから音声により指示を入力すると、ステップS1501において、音声入出力装置240はユーザ5100の音声データを取得する。音声入出力装置240の通信回路303は、取得した音声データをローカルサーバ102に送信する。ローカルサーバ102はそれらのデータを受信する。ここで、上記音声データは、第1音声情報の一例である。
次いで、ステップS1502において、ローカルサーバ102は、音声入出力装置240から音声データを受信し、音声データの音声認識処理を行う。音声認識処理とは、ローカルサーバ102が有する音声認識部920によってユーザの音声を認識する処理である。具体的には、ローカルサーバ102は、音響モデルDB580及び言語モデルDB581に登録された音響モデル及び言語モデルの情報を保持している。ユーザ5100が音声入出力装置240に音声を入力すると、ローカルサーバ102のCPU530は、ユーザ5100の音声から周波数特性を抽出し、音響モデルDB580に保持されている音響モデルから、抽出した周波数特性に対応する音素データを抽出する。次に、CPU530は、抽出した音素データの並び方が、言語モデルDB581に保持されている言語モデルのどの文字列データに最も近いかを照合することにより、音素データを特定の文字列データに変換する。この結果、音声データが文字列データに変換される。ここで、上記文字列データは、第1文字列情報の一例である。
次いで、ステップS1503において、ローカルサーバ102は、文字列データのローカル辞書照合処理を行う。ローカル辞書照合処理とは、ローカルサーバ102が有するローカル辞書照合部930によって、文字列データを意味タグに変換する処理である。具体的には、ローカルサーバ102は、ローカル辞書DB584に登録された辞書の情報を保持している。ローカルサーバ102のCPU530は、ステップS1502において変換された文字列データとローカル辞書DB584とを照合し、当該文字列データに対応する意味タグを出力する。なお、当該文字列データがローカル辞書DB584に登録されていない場合、CPU530は、当該文字列データを意味タグに変換しない。
次のステップS1504において、ローカルサーバ102は、文字列データと一致するデータが、ローカル辞書DB584に登録されているか否かを判定する。登録されている場合(ステップS1504でYes)、ローカルサーバ102のローカル辞書照合部930は、文字列データに対応する特定の意味タグを出力し、処理群BのステップS1520に進む。処理群Bは、ローカル辞書DB584に、音声データから変換された文字列データが登録されている場合の処理であり、後述するように、ステップS1520〜S1521の処理を含む。一方、登録されていない場合(ステップS1504でNo)、ローカルサーバ102のローカル辞書照合部930は、文字列データに対応する意味タグがないことを表すエラーを出力する。ローカルサーバ102は、文字列データとそのゲートウェイIDとを組み合わせてクラウドサーバ111に送信し、処理群AのステップS1510に進む。処理群Aは、ローカル辞書DB584に、音声データから変換された文字列データが登録されていない場合の処理であり、後述するように、ステップS1510〜S1512の処理を含む。
処理群BのステップS1520において、ローカルサーバ102は、制御コマンド生成処理を行う。制御コマンド生成処理とは、ローカルサーバ102が有する応答生成部940によって、意味タグから制御コマンドを生成する処理である。具体的には、ローカルサーバ102は、応答生成DB585に登録された制御コマンドの情報を保持している。ローカルサーバ102のCPU530は、ステップS1503において変換された意味タグと応答生成DB585とを照合し、意味タグに対応する制御コマンドを出力し、対応する機器101に送信する。
次いで、ステップS1521において、ローカルサーバ102は、応答メッセージ生成処理を行う。応答メッセージ生成処理とは、ローカルサーバ102が有する応答生成部940によって、応答メッセージを生成する処理である。具体的には、ローカルサーバ102は、応答生成DB585に登録された応答メッセージの情報を保持している。ローカルサーバ102のCPU530は、ステップS1503において変換された意味タグと応答生成DB585とを照合し、制御コマンドに対応する応答メッセージのような意味タグに対応する応答メッセージを出力する。例えば、意味タグが、図11に示される「heater_on」の場合、CPU530は、応答生成DB585に保存された応答メッセージ「暖房をつけます」を出力する。
さらに、ステップS1522において、ローカルサーバ102は、音声合成処理を行う。音声合成処理とは、ローカルサーバ102が有する音声合成部950が、応答メッセージを音声データに変換する処理である。具体的には、ローカルサーバ102は、音声素片DB582に登録された音声素片の情報と、韻律制御DB583に登録された韻律情報とを保持している。ローカルサーバ102のCPU530は、音声素片DB582に登録された音声素片の情報と、韻律制御DBに登録された韻律情報とを読み込み、応答メッセージの文字列データから特定の音声データに変換する。ローカルサーバ102は、ステップS1522にて変換した音声データを、音声入出力装置240に送信する。音声入出力装置240は、音声データを音声に変換し、スピーカなどからユーザ5100に出力する。
また、図13に示すように、処理群Aでは、ステップS1510において、クラウドサーバ111は、ローカルサーバ102から受け取った文字列データのクラウド辞書照合処理を行う。クラウド辞書照合処理とは、クラウドサーバ111が有するクラウド辞書照合部1020によって、文字列を意味タグに変換する処理である。具体的には、クラウドサーバ111は、クラウド辞書DB690に登録された辞書の情報を保持している。クラウドサーバ111のCPU671は、ステップS1502において変換された文字列データとクラウド辞書DB690とを照合し、当該文字列データに対応する意味タグを出力する。このようにクラウド辞書DB690には、ローカル辞書DB584に登録されている文字列データだけなく、ローカル辞書DB584に登録されていない種々の文字列データが登録されている。クラウド辞書照合処理の詳細は、後述する。
次いで、ステップS1511において、クラウドサーバ111は、制御コマンド生成処理を行う。制御コマンド生成処理とは、クラウドサーバ111が有する応答生成部1030によって、意味タグから制御コマンドを生成する処理である。具体的には、クラウドサーバ111は、応答生成DB691に登録された制御コマンドの情報を保持している。クラウドサーバ111のCPU671は、ステップS1510において変換された意味タグと応答生成DB691とを照合し、意味タグに対応する制御コマンドを出力する。
さらに、ステップS1512において、クラウドサーバ111は、応答メッセージ生成処理を行う。応答メッセージ生成処理とは、クラウドサーバ111が有する応答生成部1030によって、意味タグから応答メッセージを生成する処理である。具体的には、クラウドサーバ111は、応答生成DB691に登録された応答メッセージの情報を保持している。クラウドサーバ111のCPU671は、ステップS1510において変換された意味タグと応答生成DB691とを照合し、意味タグ等に対応する応答メッセージを出力する。ステップS1512で生成される応答メッセージは、後述するレコメンドメッセージを含むが、ステップS1521で生成されるような制御コマンドに対応するメッセージも含んでもよい。
クラウドサーバ111は、ステップS1511にて生成した制御コマンドと、ステップS1512にて生成した応答メッセージとを、対象とするローカルサーバ102のゲートウェイIDとともに、当該ローカルサーバ102に送信する。ローカルサーバ102は、受信した制御コマンドを、機器101に送信する。なお、クラウドサーバ111は、制御コマンドの代わりに、又は、制御コマンドに加えて、ステップS1510において出力された意味タグを、ローカルサーバ102に送信してもよい。
次いで、ローカルサーバ102は、ステップS1513において、音声合成処理を行う。音声合成処理とは、ローカルサーバ102が有する音声合成部950が、応答メッセージを音声データに変換する処理であり、ステップS1522の処理と同様である。ローカルサーバ102のCPU530は、応答メッセージの文字列データから特定の音声データに変換する。ローカルサーバ102は、ステップS1513にて変換した音声データを、音声入出力装置240に送信する。なお、ローカルサーバ102がクラウドサーバ111から受信する応答メッセージに、制御コマンドに対応するメッセージが含まれていない場合、ローカルサーバ102は、制御コマンドと応答生成DB585とを照合して制御コマンドに対応するメッセージを取得し、取得したメッセージの音声合成処理を行ってもよい。音声入出力装置240は、音声データを音声に変換し、スピーカなどからユーザ5100に出力する。
ここで、図14及び図15を参照して、ステップS1510のクラウド辞書照合処理の詳細を説明する。図14は、ステップS1510のクラウド辞書照合処理のフローチャートである。図15は、実施の形態に係る音声対話エージェントシステム1における各種情報の流れを示す図である。
ステップS1410において、クラウドサーバ111は、ローカルサーバ102より文字列データを受信する。
次いで、ステップS1420において、クラウドサーバ111は、文字列データを意味タグに変換する処理を行う。具体的には、クラウドサーバ111のCPU671は、文字列データとクラウド辞書DB690とを照合し、文字列データに対応する意味タグを出力する。
さらに、ステップS1430において、クラウドサーバ111は、ステップS1420にて出力した意味タグと同一の意味タグが与えられた他の文字列が、クラウド辞書DB690に登録されているかどうかを判定する。当該他の文字列は、クラウドサーバ111がローカルサーバ102より受信した文字列と異なる文字列である。
ステップS1430での判定の結果、登録されている場合(ステップS1430でYes)、ステップS1440において、クラウドサーバ111は、意味タグが同一の当該他の文字列のうち、ローカル辞書DB584に登録されている文字列があるかどうかを判定する。一方、登録されていない場合(ステップS1430でNo)、クラウドサーバ111は、ステップS1420での意味タグの出力を行い、クラウド辞書照合処理を終了する。
ステップS1440での判定の結果、登録されている場合(ステップS1440でYes)、ステップS1450において、クラウドサーバ111は、ローカル辞書DB584に登録されている文字列のリストを、レコメンド対象として出力する。一方、登録されていない場合(ステップS1440でNo)、クラウドサーバ111は、ステップS1420での意味タグの出力を行い、クラウド辞書照合処理を終了する。
例えば、クラウドサーバ111は、ステップS1410において「寒くて震える」という文字列データを受信する。この文字列データは、図12のステップS1503のローカル辞書照合処理の結果、ローカルサーバ102のローカル辞書DB584に登録されていないと判定されたため、クラウドサーバ111に送信されたものである。
クラウドサーバ111は、ステップS1420において、文字列「寒くて震える」と、図11に示すクラウド辞書DB690の文字列リストである「文字列」の列とを照合する。その結果、クラウドサーバ111は、文字列「寒くて震える」を、これに対応する意味タグ<heater_on>に変換する。この際、クラウドサーバ111は、文字列「寒くて震える」と完全に一致する文字列を、クラウド辞書DB690から抽出してもよく、文字列「寒くて震える」と同義語の文字列を、クラウド辞書DB690から抽出してもよく、文字列「寒くて震える」の一部の文字列、例えば、「震える」と一致する文字列を、クラウド辞書DB690から抽出してもよい。そして、クラウドサーバ111は、抽出した文字列に対応する意味タグを、文字列データ「寒くて震える」の意味タグと認める。
さらに、クラウドサーバ111は、ステップS1430において、意味タグ<heater_on>が与えられた他の文字列が、クラウド辞書DB690に登録されているかどうかを判定する。具体的には、クラウドサーバ111は、図11に示すクラウド辞書DB690の「意味タグ」の列を照合し、文字列「暖房」、「暖かくして」及び「超寒い」が、同じ意味タグ<heater_on>が付与されていると判定する。
次いで、クラウドサーバ111は、ステップS1440において、文字列「暖房」、「暖かくして」及び「超寒い」のうち、どの文字列がローカル辞書DB584に登録されているかを判定する。クラウドサーバ111は、図11に示すクラウド辞書DB690の「ローカル辞書DB登録の有無」の列を照合し、文字列「暖房」及び「暖かくして」がローカル辞書DB584にも登録されていると判定する。
その後、クラウドサーバ111は、ステップS1450において、文字列「暖房」及び「暖かくして」を、レコメンド対象として出力する。ここで、レコメンド対象は、推奨文字情報の一例である。このようにして、クラウドサーバ111は、クラウド辞書照合処理において、ローカルサーバ102より受信した文字列データに対応する意味タグを出力し、当該意味タグに対応し且つローカル辞書DB584に登録されている文字列のリストを出力する。ここで、上記文字列は、第2文字列情報の一例である。
クラウドサーバ111は、図13のステップS1512の応答メッセージ生成処理にて、文字列「暖房」及び/又は「暖かくして」を発話フレーズとしてレコメンドするレコメンドメッセージを含む応答メッセージを生成する。具体的には、クラウドサーバ111は、例えば、「次回からは『暖房』又は『暖かくして』と言うと、より速いですよ」というレコメンドメッセージを生成する。ここで、レコメンドメッセージは、推奨文字情報の一例である。クラウドサーバ111は、生成した応答メッセージを、文字列「寒くて震える」の意味タグに対応する制御コマンド<command_1>及びゲートウェイIDとともに、ローカルサーバ102に送信する。ローカルサーバ102は、ステップS1513の音声合成処理にて、受信した応答メッセージ「次回からは『暖房』又は『暖かくして』と言うと、より速いですよ」を音声データに変換し、音声入出力装置240に送信する。ここで、応答メッセージは、第2音声情報の一例である。
以上、実施の形態に係る音声対話エージェントシステム1は、ユーザがクラウド側の辞書にのみ登録された発話フレーズを発話した場合に、同様の処理を行うことができるローカル側の辞書に登録された発話フレーズをユーザにレコメンドすることで、ユーザが機器制御を行う際のレスポンス向上を図ることができる。そして、実施の形態では、当該発話フレーズをレコメンドするレコメンドメッセージが、クラウド側で生成される。
なお、実施の形態において、クラウドサーバ111が、応答生成DB691を備えていなくてもよい。この場合、クラウドサーバ111は、処理群Aの処理において、ローカルサーバ102から受信する文字列に対応する意味タグと、当該意味タグに対応し且つローカル辞書DB584に登録されている文字列のリストとを出力し、ローカルサーバ102に送信してよい。ローカルサーバ102は、受信した意味タグと応答生成DB585とを照合して、制御コマンドを生成し、受信した文字列のリストからレコメンドメッセージを含む応答メッセージを生成してもよい。
[2−2−2.音声対話エージェントシステムの動作の変形例1]
図16〜図19を参照して、音声対話エージェントシステム1の動作における処理群Aの処理の変形例1を説明する。本変形例について、実施の形態と異なる点を中心に説明する。なお、図16は、変形例1に係る音声対話エージェントシステム1による発話内容をレコメンドする通信処理のうちの処理群Aに関するシーケンス図である。図17は、変形例1に係るクラウドサーバ111上でのクラウド辞書照合処理のフローチャートである。図18は、変形例1に係る音声対話エージェントシステム1における各種情報の流れを示す図である。図19は、変形例1に係るローカルサーバ102上での文字列照合処理のフローチャートである。
図16を参照すると、処理群AのステップS15101において、クラウドサーバ111は、図13のステップS1510の処理と同様に、ローカルサーバ102から受け取った文字列データのクラウド辞書照合処理を行い、当該文字列データに対応する意味タグを出力する。
ここで、図17及び図18を参照すると、本変形例のクラウド辞書照合処理では、クラウドサーバ111は、図14に示されるステップS1410及びS1420の処理のみを行う。具体的には、クラウドサーバ111は、ステップS1410及びS1420において、ローカルサーバ102から受信した文字列データを、クラウド辞書DB690と照合し、当該文字列データに対応する意味タグを出力する。例えば、図18に示すように、クラウドサーバ111は、文字列データ「寒くて震える」を受信し、これに対応する意味タグとして、意味タグ<heater_on>を出力する。よって、クラウドサーバ111は、クラウド辞書照合処理において、ローカルサーバ102より受信した文字列データに対応する意味タグのみを出力する。
図16に戻り、ステップS15101に次ぐステップS1511において、クラウドサーバ111は、ステップS15101において出力された意味タグと応答生成DB691とを照合し、意味タグに対応する制御コマンドを出力する。クラウドサーバ111は、制御コマンドを、対象とするローカルサーバ102のゲートウェイIDとともに、当該ローカルサーバ102に送信する。なお、クラウドサーバ111は、制御コマンドに加えて、又は制御コマンドの代わりに、ステップS15101において出力された意味タグをローカルサーバ102に送信してもよい。クラウドサーバ111が制御コマンドを送信しない場合、ローカルサーバ102は、クラウドサーバ111から受信する意味タグに基づき、制御コマンドを生成してもよい。
その後、ステップS15131において、ローカルサーバ102は、制御コマンドに基づく文字列照合処理を行う。文字列照合処理は、制御コマンドに対応する意味タグを、ローカル辞書DB584と照合し、ローカル辞書DB584に含まれ且つ制御コマンドに対応する文字列を、レコメンド対象として出力する処理である。具体的には、ローカルサーバ102の応答生成部940が、制御コマンドと応答生成DB585とを照合し、制御コマンドに対応する意味タグを出力する。さらに、ローカルサーバ102のローカル辞書照合部930が、出力された意味タグとローカル辞書DB584とを照合し、意味タグに対応する文字列を、レコメンド対象として出力する。その後、応答生成部940は、レコメンド対象の文字列を推奨するレコメンドメッセージを、実施の形態におけるクラウドサーバ111によるレコメンドメッセージの生成と同様に、生成する。また、応答生成部940は、制御コマンドと応答生成DB585とを照合し、制御コマンドに対応するメッセージも生成してもよい。このように、ローカルサーバ102は、レコメンドメッセージ及び制御コマンドに対応するメッセージのうちの少なくともレコメンドメッセージを含む応答メッセージを生成する。
より具体的には、図18及び図19を参照すると、ステップS15131での文字列照合処理は、以下のように説明される。まず、ステップS1610において、ローカルサーバ102は、クラウドサーバ111より、意味タグに対応する制御コマンドを受信する。例えば、図18に示すように、ローカルサーバ102は、意味タグ<heater_on>に対応する制御コマンド<command_1>を受信する。
次いで、ステップS1620において、ローカルサーバ102は、制御コマンドに対応する文字列が、ローカル辞書照合部930に登録されているかどうかを判定する。具体的には、ローカルサーバ102のCPU530は、制御コマンドと応答生成部940とを照合し、制御コマンドに対応する意味タグを出力する。さらに、CPU530は、出力した意味タグとローカル辞書DB584とを照合し、意味タグに対応する文字列がローカル辞書DB584に登録されているかを判定する。
ステップS1620での判定の結果、文字列が登録されている場合(ステップS1620でYes)、ステップS1630において、ローカルサーバ102は、意味タグに対応する文字列のリストを出力する。例えば、図18に示すように、ローカルサーバ102は、制御コマンド<command_1>に対応する文字列「暖房」及び「暖かくして」の少なくとも一方を出力する。出力される文字列は、2つ以上でもよい。このように、ローカルサーバ102は、制御コマンドに対応し且つローカル辞書DB584に登録されている文字列のリストを出力する。なお、ローカルサーバ102は、出力した文字列のリストに基づき、レコメンドメッセージを生成してもよい。さらに、ローカルサーバ102は、制御コマンドと応答生成DB585とを照合し、制御コマンドに対応するメッセージを生成してもよい。
ステップS1620での判定の結果、文字列が登録されていない場合(ステップS1620でNo)、ローカルサーバ102は、文字列照合処理を終了する。このケースは、制御コマンドが応答生成DB585に登録されていない場合と、制御コマンドに対応する意味タグがローカル辞書DB584に登録されていない場合とを含み得る。このような場合、ローカルサーバ102は、機器101への制御を停止し、レコメンドメッセージを生成しなくてもよく、制御コマンドに対応するメッセージも生成しなくてもよい。或いは、ローカルサーバ102は、ユーザの音声が不適切であることを提示してもよい。
図16に戻り、ステップS15131に次ぐステップS1513において、ローカルサーバ102は、音声合成処理を行う。ローカルサーバ102のCPU530は、応答メッセージの文字列から特定の音声データに変換し、音声入出力装置240に送信する。
以上、変形例1に係る音声対話エージェントシステム1は、ユーザがクラウド側の辞書にのみ登録された発話フレーズを発話した場合に、同様の処理を行うことができるローカル側の辞書に登録された発話フレーズをレコメンドするレコメンドメッセージを、ローカル側で生成する。これにより、クラウドサーバ111において、レコメンドメッセージを生成するための処理が、不要である。このようなクラウドサーバ111は、ローカルサーバ102から受信する文字列データを制御コマンドに変換し、ローカルサーバ102に送信する機能を有するだけでもよく、汎用的なクラウドサーバの適用が可能である。
[2−2−3.音声対話エージェントシステムの動作の変形例2]
図20〜図23を参照して、音声対話エージェントシステム1の動作における処理群Aの処理の変形例2を説明する。本変形例について、実施の形態と異なる点を中心に説明する。なお、図20は、変形例2に係る音声対話エージェントシステム1による発話内容をレコメンドする通信処理のうちの処理群Aに関するシーケンス図である。図21は、変形例2に係るクラウドサーバ111上でのクラウド辞書照合処理のフローチャートである。図22は、変形例2に係る音声対話エージェントシステム1における各種情報の流れを示す図である。図23は、変形例2に係るローカルサーバ102上での文字列照合処理のフローチャートである。
図20を参照すると、処理群AのステップS15102において、クラウドサーバ111は、図13のステップS1510の処理と同様に、ローカルサーバ102から受け取った文字列データのクラウド辞書照合処理を行い、当該文字列データに対応する意味タグを出力する。
ここで、図21及び図22を参照すると、本変形例のクラウド辞書照合処理では、クラウドサーバ111は、図14に示されるステップS1410、S1420及びS1430の処理を行う。具体的には、クラウドサーバ111は、ステップS1410及びS1420において、ローカルサーバ102から受信した文字列データを、クラウド辞書DB690と照合し、当該文字列データに対応する意味タグを出力する。例えば、図22に示すように、クラウドサーバ111は、文字列データ「寒くて震える」を受信し、これに対応する意味タグ<heater_on>を出力する。さらに、ステップS1430において、クラウドサーバ111は、ステップS1420にて出力した意味タグと同一の意味タグが与えられた他の文字列が、クラウド辞書DB690に登録されているかどうかを判定する。
ステップS1430での判定の結果、登録されている場合(ステップS1430でYes)、ステップS14502において、クラウドサーバ111は、クラウド辞書DB690に登録されている文字列のリストを、レコメンド対象として出力する。登録されていない場合(ステップS1430でNo)、クラウドサーバ111は、ステップS1420での意味タグの出力を行い、クラウド辞書照合処理を終了する。このように、本変形例では、意味タグに対応し且つクラウド辞書DB690に登録されている全ての文字列が、ローカル辞書DB584に登録されているかの判定が行われずに、レコメンド対象として出力される。例えば、図22に示すように、クラウドサーバ111は、意味タグ<heater_on>に対応する文字列「暖房」、「暖かくして」及び「超寒い」等を出力する。
図20に戻り、ステップS15102に次ぐステップS1511において、クラウドサーバ111は、ステップS15102において出力された意味タグと応答生成DB691とを照合し、意味タグに対応する制御コマンドを出力する。また、クラウドサーバ111は、制御コマンドと応答生成DB691とを照合し、制御コマンドに対応する応答メッセージを出力する。ステップS1511で生成される応答メッセージは、制御コマンドに対応するメッセージを含み得るが、レコメンドメッセージを含まない。例えば、図22に示すように、クラウドサーバ111は、意味タグ<heater_on>に対応する制御コマンド<command_1>を出力する。
クラウドサーバ111は、ステップS15102において出力された文字列リストと、ステップS1511にて生成した制御コマンドとを、ゲートウェイIDとともに、ローカルサーバ102に送信する。なお、クラウドサーバ111は、制御コマンドに加えて、又は制御コマンドの代わりに、ステップS15102において出力された意味タグをローカルサーバ102に送信してもよい。例えば、クラウドサーバ111が制御コマンドを送信しない又は制御コマンドを生成する機能を有さない場合、ローカルサーバ102は、クラウドサーバ111から受信する意味タグに基づき、制御コマンドを生成してもよい。
次いで、ステップS15132において、ローカルサーバ102は、クラウドサーバ111から受信した文字列リストに基づく文字列照合処理を行う。文字列照合処理は、文字列リストに含まれる文字列と、ローカル辞書DB584とを照合し、文字列リスト及びローカル辞書DB584の両方に含まれる文字列を、レコメンド対象として出力する処理である。具体的には、ローカルサーバ102のローカル辞書照合部930が、文字列リストとローカル辞書DB584とを照合し、レコメンド対象の文字列を出力する。さらに、ローカルサーバ102の応答生成部940は、応答メッセージとして、レコメンド対象の文字列を推奨するレコメンドメッセージを生成する。また、応答生成部940は、クラウドサーバ111から受信した制御コマンドと応答生成DB585とを照合し、制御コマンドに対応するメッセージを、応答メッセージとして出力する。
より具体的には、図22及び図23を参照すると、ステップS15132での文字列照合処理は、以下のように説明される。まず、ステップS1710において、ローカルサーバ102は、クラウドサーバ111より、文字列リストを受信する。例えば、図22に示すように、ローカルサーバ102は、「暖房」、「暖かくして」及び「超寒い」等を含む文字列リストを受信する。
次いで、ステップS1720において、ローカルサーバ102は、文字列リストの文字列が、ローカル辞書DB584に登録されているかどうかを判定する。具体的には、ローカルサーバ102のCPU530は、文字列リストとローカル辞書DB584とを照合し、文字列リストの文字列と同一の文字列がローカル辞書DB584に登録されているかを判定する。
ステップS1720での判定の結果、同一の文字列が登録されている場合(ステップS1720でYes)、ステップS1730において、ローカルサーバ102は、ローカル辞書DB584に登録されている文字列のリストを出力する。例えば、図22に示すように、ローカルサーバ102は、文字列「暖房」、「暖かくして」及び「超寒い」のうちから、文字列「暖房」及び/又は「暖かくして」を出力する。出力される文字列は、1つ以上であってよい。さらに、ローカルサーバ102は、出力した文字列のリストに基づき、レコメンドメッセージを生成する。例えば、「次回からは『暖房』又は『暖かくして』と言うと、より速いですよ」というレコメンドメッセージが生成される。また、ローカルサーバ102は、制御コマンドと応答生成DB585とを照合し、制御コマンドに対応するメッセージを生成してもよい。一方、ステップS1720での判定の結果、同一の文字列が登録されていない場合(ステップS1720でNo)、ローカルサーバ102は、文字列照合処理を終了する。このような場合、ローカルサーバ102は、機器101への制御を停止し、ユーザの音声が不適切であることを提示してもよい。
図20に戻り、ステップS15132に次ぐステップS1513において、ローカルサーバ102は、音声合成処理を行う。ローカルサーバ102のCPU530は、レコメンドメッセージ及び制御コマンドに対応するメッセージを含む応答メッセージの文字列から特定の音声データに変換し、音声入出力装置240に送信する。
以上、変形例2に係る音声対話エージェントシステム1は、ユーザがクラウド側の辞書にのみ登録された発話フレーズを発話した場合に、同様の処理を行うことができるローカル側の辞書に登録された発話フレーズをレコメンドするレコメンドメッセージを、ローカル側で生成する。さらに、ユーザの発話フレーズと同様の処理を行うことができるクラウド側の辞書に登録され発話フレーズの全てが、ローカル側に送られる。ローカル側では、受け取った発話フレーズのうちから、ローカル側の辞書に登録された発話フレーズと同一の発話フレーズが出力され、レコメンドされる。これにより、クラウドサーバ111において、ローカル側から受け取った発話フレーズと意味タグが同一の発話フレーズと、ローカル側の辞書に登録された発話フレーズとの照合が不要であり、レコメンドメッセージを生成するための処理も不要である。このようなクラウド側の辞書は、ローカル側の辞書に関する情報を含まなくてもよい。
[3.効果等]
本開示の実施の形態に係る音声処理装置の一態様であるクラウドサーバ111は、取得部としての通信部1000と、記憶部としてのクラウド辞書DB690と、照合部としてのクラウド辞書照合部1020と、出力部としての応答生成部1030とを備える。通信部1000は、音声認識処理により得られる認識文字情報を取得する。クラウド辞書DB690は、ローカル辞書DB584の第1の辞書のうちの、少なくとも文字情報とタスク情報とを対応付ける情報を有する第1の辞書情報を記憶する。クラウド辞書照合部1020は、第1の辞書情報に基づき、第1の辞書に登録される文字情報及びタスク情報の少なくとも一方と、第1の辞書と異なるクラウド辞書照合部1020の第2の辞書及び認識文字情報から特定される文字情報及びタスク情報の少なくとも一方とを用い、そして、クラウド辞書照合部1020は、認識文字情報に対応する文字情報及びタスク情報の少なくとも一方を特定する。応答生成部1030は、認識文字情報に対応する文字情報及びタスク情報の少なくとも一方についての提示情報を出力する。提示情報は、推奨文字情報に関連する情報を含む。推奨文字情報は、第1の辞書及び第2の辞書のいずれにも登録される文字情報であり、推奨文字情報に対応するタスク情報は認識文字情報に対応するタスク情報に対応し、さらに、推奨文字情報は、認識文字情報と異なる。
なお、第1の辞書情報は、ローカル辞書DB584に登録される第1の辞書に関する情報であり、第1の辞書の文字情報とタスク情報とを対応付ける情報を含む。例えば、第1の辞書情報は、クラウド辞書DB690に登録される第2の辞書とローカル辞書DB584に登録される第1の辞書との対応関係に関する情報を含んでもよい。例えば、第1の辞書情報は、図11に示すように、第2の辞書の文字列及び意味タグと、これらのローカル辞書DB584への登録の有無との対応関係に関する情報を含んでもよい。また、第1の辞書情報は、第1の辞書の内容の全てを含んでもよい。なお、タスク情報は、制御コマンド及び意味タグの少なくとも1つを含んでよい。例えば、提示情報は、推奨文字情報に関連する情報として、リコメンドメッセージ、認識文字情報のタスク情報、及びリコメンド対象の文字列の少なくとも1つを含んでよい。
上述の構成において、推奨文字情報に関連する情報を含む提示情報が出力される。推奨文字情報に対応するタスク情報は、認識文字情報のタスク情報に対応する。さらに、推奨文字情報は、第1の辞書及び第2の辞書のいずれにも登録されている。例えば、認識文字情報が、ローカル辞書DB584の第1の辞書に登録されていないが、クラウド辞書DB690の第2の辞書に登録されている場合、クラウド辞書照合部1020での照合によって、認識文字情報に対応する文字情報及びタスク情報の少なくとも一方が特定される。特定された文字情報のうちから、認識文字情報のタスク情報にそのタスク情報が対応する文字情報が選出され、さらに、選出された文字情報から、第1の辞書及び第2の辞書のいずれにも登録される文字情報が選出される。この文字情報は、ローカル辞書DB584の第1の辞書に登録され且つ認識文字情報にタスク情報が対応する推奨文字情報である。このような推奨文字情報が推奨されることによって、ユーザは、以後、ローカル辞書DB584に登録された文字列を使用した指令を発することができる。よって、ユーザの指令に対する処理が、ローカル側で出来る限り行うことができるため、処理速度が向上する。つまり、ユーザがクラウド側の辞書にのみ登録された発話フレーズを発話した場合に、同様の処理を行うローカル側の辞書に登録された発話フレーズをユーザにレコメンドすることで、ユーザが音声によって機器制御を行う際のレスポンスが向上する。
実施の形態に係る音声処理装置の一態様のクラウドサーバ111において、クラウド辞書DB690は、第2の辞書を記憶する。クラウド辞書照合部1020は、クラウド辞書DB690の第2の辞書において、認識文字情報に対応するタスク情報と、認識文字情報に対応するタスク情報に対応し且つ認識文字情報と異なる他の文字情報とを特定する。なお、推奨文字情報は、上記他の文字情報を含む。提示情報は、認識文字情報に対応するタスク情報と、推奨文字情報に関連する情報とを含む。
上述の構成において、クラウドサーバ111は、クラウド辞書DB690において、認識文字情報に対応するタスク情報と、認識文字情報の他の文字情報を含む推奨文字情報に関連する情報とを特定し出力する。例えば、認識文字情報が、ローカル辞書DB584の第1の辞書に登録されていないが、クラウド辞書DB690の第2の辞書に登録されている場合、クラウドサーバ111は、クラウド辞書DB690を用いて、上記タスク情報及び推奨文字情報を特定する。よって、上記タスク情報及び推奨文字情報の特定処理が、クラウドサーバ111側のみで実施可能であるため、処理速度の向上が可能である。さらに、ローカルサーバ102は、クラウドサーバ111から受け取る上記タスク情報及び推奨文字情報を用いて、機器101の制御、及びユーザへの推奨文字情報の提示を、ローカルサーバ102側で実施可能である。
さらに、実施の形態に係る音声処理装置の一態様のクラウドサーバ111において、クラウド辞書DB690の第2の辞書で特定される他の文字情報は、ローカル辞書DB584の第1の辞書にも登録される文字情報である。上述の構成において、上記他の文字情報は、クラウド辞書DB690の第2の辞書及びローカル辞書DB584の第1の辞書のいずれにも登録される文字情報である。
また、変形例2に係る音声処理装置の一態様のクラウドサーバ111において、クラウド辞書DB690の第2の辞書で特定される他の文字情報は、複数特定され、複数の他の文字情報の一部は、ローカル辞書DB584の第1の辞書にも登録される文字情報である。上述の構成において、上記複数の他の文字情報は、ローカル辞書DB584の第1の辞書に登録される文字情報及び第1の辞書に登録されていない文字情報を含み得る。例えば、ローカルサーバ102は、クラウドサーバ111から上記複数の他の文字情報を受け取ると、上記複数の他の文字情報とローカル辞書DB584の第1の辞書とを照合することによって、ローカル辞書DB584に登録されている文字情報を抽出することができる。この場合、クラウドサーバ111は、認識文字情報にタスク情報が対応する文字情報を抽出し、抽出した文字情報を提示情報として出力すればよく、抽出した文字情報がクラウド辞書DB690の第2の辞書及びローカル辞書DB584の第1の辞書のいずれにも登録されているかを判別する必要がない。よって、汎用的なクラウドサーバ111の使用が可能になる。
変形例1に係る音声処理装置の一態様のクラウドサーバ111において、クラウド辞書照合部1020は、クラウド辞書DB690の第2の辞書において、認識文字情報に対応するタスク情報を特定し、提示情報は、推奨文字情報に関連する情報として、クラウド辞書照合部1020によって特定されたタスク情報を含む。上述の構成において、クラウドサーバ111は、クラウド辞書DB690において特定した認識文字情報に対応するタスク情報を出力すればよく、認識文字情報にタスク情報が対応する文字情報等の抽出を必要としない。よって、汎用的なクラウドサーバ111の使用が可能になる。
実施の形態に係る音声処理装置の一態様のクラウドサーバ111は、提示情報を送信する通信部1000を出力部として含む。上述の構成において、クラウドサーバ111は、提示情報を通信により送信する。よって、クラウドサーバ111は、ローカルサーバ102から離れた位置に配置され得る。ローカルサーバ102は、クラウドサーバ111の影響を受けずに、様々な施設に配置可能である。
本開示の実施の形態に係る音声処理装置の別の一態様であるローカルサーバ102は、取得部としての音声認識部920と、記憶部としてのローカル辞書DB584と、照合部としてのローカル辞書照合部930と、出力部としての応答生成部940及び音声合成部950とを備える。音声認識部920は、音声認識処理により得られる認識文字情報を取得する。ローカル辞書DB584は、ローカル辞書DB584の第1の辞書のうちの、少なくとも文字情報とタスク情報とを対応付ける情報を有する第1の辞書情報を記憶する。ローカル辞書照合部930は、第1の辞書情報に基づき、第1の辞書に登録される文字情報及びタスク情報の少なくとも一方と、第1の辞書と異なるクラウド辞書DB690の第2の辞書及び認識文字情報から特定される文字情報及びタスク情報の少なくとも一方とを用い、そして、ローカル辞書照合部930は、認識文字情報に対応する文字情報及びタスク情報の少なくとも一方を特定する。応答生成部940及び音声合成部950は、認識文字情報に対応する文字情報及びタスク情報の少なくとも一方についての提示情報を出力する。提示情報は、推奨文字情報に関連する情報を含む。推奨文字情報は、第1の辞書及び第2の辞書のいずれにも登録される文字情報であり、推奨文字情報に対応するタスク情報は認識文字情報に対応するタスク情報に対応し、さらに、推奨文字情報は、認識文字情報と異なる。なお、第1の辞書情報は、ローカル辞書DB584に登録される第1の辞書であってもよい。タスク情報は、制御コマンド及び意味タグの少なくとも1つを含んでよい。例えば、提示情報は、推奨文字情報に関連する情報として、リコメンドメッセージを含む応答メッセージを含んでよい。
上述の構成において、推奨文字情報に関連する情報を含む提示情報が出力される。推奨文字情報に対応するタスク情報は、認識文字情報のタスク情報に対応する。さらに、推奨文字情報は、第1の辞書及び第2の辞書のいずれにも登録されている。例えば、認識文字情報が、ローカル辞書DB584の第1の辞書に登録されていないが、クラウド辞書DB690の第2の辞書に登録されている場合、ローカルサーバ102は、推奨文字情報に関連する情報を含む提示情報を出力する。このような推奨文字情報は、認識文字情報とは異なるが、認識文字情報にタスク情報が対応し且つ第1の辞書及び第2の辞書のいずれにも登録される文字情報である、つまり、ローカル辞書DB584に登録され且つ認識文字情報にタスク情報が対応する文字情報である。このような推奨文字情報が推奨されることによって、ユーザは、以後、ローカル辞書DB584に登録された文字列を使用した指令を発することができる。よって、ユーザの指令に対する処理が、ローカル側で出来る限り行うことができるため、処理速度が向上する。
実施の形態に係る音声処理装置の別の一態様のローカルサーバ102において、ローカル辞書照合部930は、ローカル辞書DB584の第1の辞書において、認識文字情報に対応するタスク情報を特定する。上述の構成において、ローカルサーバ102は、認識文字情報に対応するタスク情報を特定することによって、ローカルサーバ102に接続された機器101の制御を行うことができる。
変形例1に係る音声処理装置の別の一態様のローカルサーバ102は、通信部900をさらに備え、通信部900は、クラウド辞書DB690の第2の辞書及び認識文字情報から特定されるタスク情報を受信する。第1の辞書情報は、ローカル辞書DB584の第1の辞書である。ローカル辞書照合部930は、ローカル辞書DB584の第1の辞書において、受信されたタスク情報と対応する文字情報を、推奨文字情報として特定する。上述の構成において、ローカルサーバ102は、例えば、クラウドサーバ111から、認識文字情報に対応するタスク情報しか取得できない場合でも、取得したタスク情報を用いて、推奨文字情報を取得し出力することができる。よって、クラウドサーバ111は、推奨文字情報として、認識文字情報に対応するタスク情報を出力すればよく、当該タスク情報に対応する文字情報がクラウド辞書DB690の第2の辞書及びローカル辞書DB584の第1の辞書のいずれにも登録されているかを判別する必要がない。よって、汎用的なクラウドサーバ111の使用が可能になる。
変形例2に係る音声処理装置の別の一態様のローカルサーバ102は、通信部900をさらに備え、通信部900は、クラウド辞書DB690の第2の辞書及び認識文字情報から特定される文字情報を受信する。第1の辞書情報は、ローカル辞書DB584の第1の辞書である。ローカル辞書照合部930は、受信された文字情報の中から、ローカル辞書DB584の第1の辞書において登録されている文字情報を、推奨文字情報として特定する。なお、受信される文字情報は、1つ以上の文字列を含む文字情報であってよい。上述の構成において、例えば、クラウドサーバ111は、推奨文字情報を出力すればよく、推奨文字情報がクラウド辞書DB690の第2の辞書及びローカル辞書DB584の第1の辞書のいずれにも登録されているかを判別する必要がない。よって、汎用的なクラウドサーバ111の使用が可能になる。
実施の形態に係る音声処理装置の別の一態様のローカルサーバ102は、提示情報を別の提示装置に提示させる提示制御部としての送信データ生成部960を含む。上述の構成において、ローカルサーバ102は、例えばクラウドサーバ111から受け取る情報に基づく提示情報を、機器101等の別の装置に提示させ、ユーザに認知させることができる。
実施の形態のさらに別の一態様に係る音声処理装置は、互いの間で情報を送受信するローカル装置としてのローカルサーバ102及びクラウド装置としてのクラウドサーバ111を備える。ローカルサーバ102は、音声認識処理により得られる認識文字情報を取得する音声認識部920と、文字情報とタスク情報とを対応付ける第1の辞書を記憶する第1の記憶部としてのローカル辞書DB584と、第1の照合部としてのローカル辞書照合部930と、第1の出力部としての応答生成部940及び音声合成部950とを含む。クラウドサーバ111は、文字情報とタスク情報とを対応付ける第2の辞書を記憶する第2の記憶部としてのクラウド辞書DB690と、第2の照合部としてのクラウド辞書照合部1020と、第2の出力部としての応答生成部1030とを含む。クラウド辞書照合部1020は、ローカル辞書DB584の第1の辞書に登録される文字情報及びタスク情報の少なくとも一方と、クラウド辞書DB690の第2の辞書及び認識文字情報から特定される文字情報及びタスク情報の少なくとも一方とを照合し、認識文字情報に対応する文字情報及びタスク情報の少なくとも一方を特定する。応答生成部1030は、認識文字情報に対応する文字情報及びタスク情報の少なくとも一方についての提示情報をローカルサーバ102へ出力する。なお、提示情報は、推奨文字情報に関連する情報を含む。推奨文字情報は、第1の辞書及び第2の辞書のいずれにも登録される文字情報であり、推奨文字情報に対応するタスク情報は認識文字情報に対応するタスク情報に対応し、推奨文字情報は、認識文字情報と異なる。ローカル辞書照合部930は、クラウドサーバ111から受け取る提示情報と、第1の辞書に登録される文字情報及びタスク情報の少なくとも一方とを照合する。応答生成部940及び音声合成部950は、推奨文字情報に関連する情報を音声等のメッセージとして出力する。
上述の構成によって、実施の形態に係る音声処理装置の一態様のクラウドサーバ111及びローカルサーバ102による効果と同様の効果が得られる。特に、ユーザがクラウド側のクラウド辞書DB690にのみ登録された発話フレーズを発話した場合に、同様の処理を行うローカル側のローカル辞書DB584に登録された発話フレーズをユーザにレコメンドすることで、ユーザが音声によって機器制御を行う際のレスポンスが向上する。
実施の形態及び変形例に係る音声処理装置の種々の態様のクラウドサーバ111及びローカルサーバ102において、タスク情報は、文字情報の意味に関する意味情報及び機器の動作を制御するための制御情報の少なくとも一方を含み、意味情報と制御情報とは、対応付けられ、文字情報は、意味情報及び制御情報の少なくとも一方と対応付けられる。なお、意味が類似する同義の文字情報には、共通の意味情報が与えられてよい。例えば、意味情報は、意味タグであってよく、制御情報は、制御コマンドであってもよい。上述の構成によって、文字情報が、意味情報及び制御情報の少なくとも一方と対応することによって、文字情報に基づく制御がスムーズになる。また、意味が類似する文字情報に関して、意味情報が共通化され、さらに、制御情報は、共通化された意味情報に対応する。これにより、意味が類似する文字情報に関するタスク情報が統一される。よって、タスク情報のバリエーションが減少し、それにより、クラウドサーバ111及びローカルサーバ102におけるタスク情報に基づく処理の速度が向上する。
実施の形態の一態様に係る音声処理方法は、音声認識処理により得られる認識文字情報を取得し、第1の辞書のうちの、少なくとも文字情報とタスク情報とを対応付ける情報を有する第1の辞書情報に基づき、第1の辞書に登録される文字情報及びタスク情報の少なくとも一方と、第1の辞書と異なる第2の辞書及び認識文字情報から特定される文字情報及びタスク情報の少なくとも一方とを用いて、認識文字情報に対応する文字情報及びタスク情報の少なくとも一方を特定し、認識文字情報に対応する文字情報及びタスク情報の少なくとも一方についての提示情報を出力する。なお、提示情報は、推奨文字情報に関連する情報を含み、推奨文字情報は、第1の辞書及び第2の辞書のいずれにも登録される文字情報であり、認識文字情報に対応するタスク情報は推奨文字情報に対応するタスク情報と対応し、推奨文字情報は、認識文字情報と異なる。
上述の音声処理方法によれば、実施の形態に係る音声処理装置による効果と同様の効果が得られる。なお、上記方法は、MPU(Micro Processing Unit)、CPU、プロセッサ、LSI(Large Scale Integration:大規模集積回路)などの回路、ICカード(Integrated Circuit Card)又は単体のモジュール等によって、実現されてもよい。
また、実施の形態及び変形例での処理は、ソフトウェアプログラム又はソフトウェアプログラムからなるデジタル信号によって実現されてもよい。例えば、実施の形態での処理は、次のようなプログラムによって、実現される。
つまり、プログラムは、コンピュータに以下の機能を実行させるプログラムであって、音声認識処理により得られる認識文字情報を取得し、第1の辞書のうちの、少なくとも文字情報とタスク情報とを対応付ける情報を有する第1の辞書情報に基づき、第1の辞書に登録される文字情報及びタスク情報の少なくとも一方と、第1の辞書と異なる第2の辞書及び認識文字情報から特定される文字情報及びタスク情報の少なくとも一方とを用いて、認識文字情報に対応する文字情報及びタスク情報の少なくとも一方を特定し、認識文字情報に対応する文字情報及びタスク情報の少なくとも一方についての提示情報を出力することを、実行させる。なお、提示情報は、推奨文字情報に関連する情報を含み、推奨文字情報は、第1の辞書及び第2の辞書のいずれにも登録される文字情報であり、認識文字情報に対応するタスク情報は推奨文字情報に対応するタスク情報が対応し、さらに、推奨文字情報は、認識文字情報と異なる。
[その他]
以上、本出願において開示する技術の例示として、実施の形態及び変形例に係る音声処理装置等について説明したが、本開示は、実施の形態及び変形例に限定されるものではない。本開示における技術は、適宜、変更、置き換え、付加、省略などを行った実施の形態の変形例又は他の実施の形態にも適用可能である。また、実施の形態及び変形例で説明する各構成要素を組み合わせて、新たな実施の形態又は変形例とすることも可能である。
上述したように、本開示の包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよい。また、本開示の包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
例えば、上記実施の形態及び変形例に係る音声処理装置に含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。
また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
なお、上記実施の形態及び変形例において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
さらに、本開示の技術は上記プログラムであってもよいし、上記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
また、上記で用いた序数、数量等の数字は、全て本開示の技術を具体的に説明するために例示するものであり、本開示は例示された数字に制限されない。また、構成要素間の接続関係は、本開示の技術を具体的に説明するために例示するものであり、本開示の機能を実現する接続関係はこれに限定されない。
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
以上、一つの態様に係る音声処理装置等について、実施の形態及び変形例に基づいて説明したが、本開示は、この実施の形態及び変形例に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つの態様の範囲内に含まれてもよい。
なお、本開示は、音声対話エージェントシステムとユーザとの対話に関するものであれば適用可能である。例えば、音声対話エージェントシステムを用いてユーザが家電機器等を動作させる場合に有効である。例えば、ユーザが音声操作に対応した電子レンジ又はオーブンを動作させる場合に、「温めて」という指示をした場合を想定する。このとき、音声対話エージェントシステムはユーザに対して「何分温めますか?」又は「何度に温めますか?」などと具体的な指示を聞き返すことが可能である。これに対して返答可能なユーザ(聞き返したことに対してエージェントシステムが指示を受け付けるユーザ)は当初に「温めて」と指示したユーザのみである。
これ以外にも、ユーザの抽象的な指示に対して、音声対話エージェントシステムが具体的な内容を聞き返す動作に本開示は適用可能となる。また、音声対話エージェントシステムがユーザに対して聞き返す内容は、動作実行の確認などであってもよい。
なお、上記態様において、ユーザからの音声の入力は、システム又は各家電機器が備えるマイクロホンによって行われるとしてもよい。また、音声対話エージェントシステムからユーザに対する聞き返しは、システム又は各家電機器が備えるスピーカなどからユーザに対して伝えるとしてもよい。本開示において、「所定の動作」は、例えば、スピーカを介してユーザに音声を出力する動作であってもよい。すなわち、本開示において、制御対象となる「機器」は、音声入出力装置(例えばスピーカ)であってもよい。本開示において、「プロセッサ」、「マイクロホン」、および/または「スピーカ」は、例えば、制御対象となる「機器」に内蔵されていてもよい。
なお、上記態様において説明された技術は、例えば、以下のクラウドサービスの類型において実現されうる。しかし、上記態様において説明された技術が実現されるクラウドサービスの類型はこれらに限られるものでない。
以下、サービスの類型1(自社データセンタ型クラウドサービス)を利用した情報管理システムが提供するサービスの全体像、サービスの類型2(IaaS利用型クラウドサービス)を利用した情報管理システムが提供するサービスの全体像、サービスの類型3(PaaS利用型クラウドサービス)を利用した情報管理システムが提供するサービスの全体像、サービスの類型4(SaaS利用型クラウドサービス)を利用した情報管理システムが提供するサービスの全体像について順次説明する。
[サービスの類型1:自社データセンタ型クラウドサービス]
図24は、実施の形態及び変形例に係る音声対話エージェントシステムが適用可能である、サービスの類型1(自社データセンタ型クラウドサービス)における情報管理システムが提供する、サービスの全体像を示す図である。図24に示すように、本類型では、サービスプロバイダ4120がグループ4100から情報を取得し、ユーザに対してサービスを提供する。本類型では、サービスプロバイダ4120が、データセンタ運営会社の機能を有している。すなわち、サービスプロバイダ4120が、ビッグデータを管理するクラウドサーバ111を保有している。したがって、データセンタ運営会社は存在しない。
本類型では、サービスプロバイダ4120は、データセンタ(クラウドサーバ)4203を運営及び管理している。また、サービスプロバイダ4120は、オペレーティングシステム(OS)4202及びアプリケーション4201を管理する。サービスプロバイダ4120は、サービスプロバイダ4120が管理するOS4202及びアプリケーション4201を用いてサービスを提供する(矢印204)。
[サービスの類型2:IaaS利用型クラウドサービス]
図25は、実施の形態及び変形例に係る音声対話エージェントシステムが適用可能である、サービスの類型2(IaaS利用型クラウドサービス)における情報管理システムが提供する、サービスの全体像を示す図である。ここで、IaaSとは、インフラストラクチャー・アズ・ア・サービスの略であり、コンピュータシステムを構築及び稼動させるための基盤そのものを、インターネット経由のサービスとして提供するクラウドサービス提供モデルである。
図25に示すように、本類型では、データセンタ運営会社4110が、データセンタ(クラウドサーバ)4203を運営及び管理している。また、サービスプロバイダ4120は、OS4202及びアプリケーション4201を管理する。サービスプロバイダ4120は、サービスプロバイダ4120が管理するOS4202及びアプリケーション4201を用いてサービスを提供する(矢印204)。
[サービスの類型3:PaaS利用型クラウドサービス]
図26は、実施の形態及び変形例に係る音声対話エージェントシステムが適用可能である、サービスの類型3(PaaS利用型クラウドサービス)における情報管理システムが提供する、サービスの全体像を示す図である。ここで、PaaSとは、プラットフォーム・アズ・ア・サービスの略であり、ソフトウェアを構築及び稼動させるための土台となるプラットフォームを、インターネット経由のサービスとして提供するクラウドサービス提供モデルである。
図26に示すように、本類型では、データセンタ運営会社4110は、OS4202を管理し、データセンタ(クラウドサーバ)4203を運営及び管理している。また、サービスプロバイダ4120は、アプリケーション4201を管理する。サービスプロバイダ4120は、データセンタ運営会社4110が管理するOS4202及びサービスプロバイダ4120が管理するアプリケーション4201を用いてサービスを提供する(矢印204)。
[サービスの類型4:SaaS利用型クラウドサービス]
図27は、実施の形態及び変形例に係る音声対話エージェントシステムが適用可能である、サービスの類型4(SaaS利用型クラウドサービス)における情報管理システムが提供する、サービスの全体像を示す図である。ここで、SaaSとは、ソフトウェア・アズ・ア・サービスの略である。SaaS利用型クラウドサービスは、例えば、データセンタ(クラウドサーバ)を保有しているプラットフォーム提供者が提供するアプリケーションを、データセンタ(クラウドサーバ)を保有していない会社又は個人などの利用者がインターネットなどのネットワーク経由で使用できる機能を有するクラウドサービス提供モデルである。
図27に示すように、本類型では、データセンタ運営会社4110は、アプリケーション4201を管理し、OS4202を管理し、データセンタ(クラウドサーバ)4203を運営及び管理している。また、サービスプロバイダ4120は、データセンタ運営会社4110が管理するOS4202及びアプリケーション4201を用いてサービスを提供する(矢印204)。
以上、いずれのクラウドサービスの類型においても、サービスプロバイダ4120がサービスを提供する。また、例えば、サービスプロバイダ又はデータセンタ運営会社は、OS、アプリケーション又はビッグデータのデータベース等を自ら開発してもよいし、また、第三者に外注させてもよい。