以下、図面を参照して本発明の実施形態を説明する。ただし、本発明は以下の実施形態に限定されない。なお、説明が重複する箇所については、適宜説明を省略する場合がある。また、図中、同一又は相当部分については同一の参照符号を付して説明を繰り返さない。
[実施形態1]
図1は、実施形態1に係る情報処理システム1の構成を示す図である。図1に示すように、情報処理システム1は、第1処理ユニット2a~第3処理ユニット2cと、サーバ3とを備える。
本実施形態において、第1処理ユニット2aは、第1スマートスピーカ21aを含む。第2処理ユニット2bは、第2スマートスピーカ21bを含む。第3処理ユニット2cは、第3スマートスピーカ21cを含む。第1スマートスピーカ21a~第3スマートスピーカ21cはそれぞれ音声入出力端末の一例である。
第1スマートスピーカ21a~第3スマートスピーカ21cはそれぞれ、例えばインターネット回線を介して、サーバ3との間で通信を行う。具体的には、第1スマートスピーカ21a~第3スマートスピーカ21cはそれぞれ、ユーザが発生した音声を入力し、入力した音声を音声データ(デジタルデータ)に変換してサーバ3へ送信する。
詳しくは、第1スマートスピーカ21a~第3スマートスピーカ21cはそれぞれ、起動コマンドを示すデータを記憶している。第1スマートスピーカ21a~第3スマートスピーカ21cは、ユーザが起動コマンドを示す音声を発声した場合、レディ状態となる。第1スマートスピーカ21a~第3スマートスピーカ21cは、レディ状態となってから所定の期間が経過する前にユーザが音声を発声すると、その音声を音声データに変換してサーバ3へ送信する。
サーバ3は、第1スマートスピーカ21a~第3スマートスピーカ21cのいずれか1つから音声データを受信すると、受信した音声データが特定のコマンドを示すか否かを判定する。音声データが特定のコマンドを示す場合、サーバ3は、特定のコマンドに対応する処理の実行結果を示す処理結果データを取得する。本実施形態において、処理結果データは音声データである。サーバ3は、音声データを送信したスマートスピーカに、処理結果データを送信する。なお、以下の説明において、音声データを送信したスマートスピーカを「音声送信スマートスピーカ」と記載する場合がある。
本実施形態において、サーバ3は、音声送信スマートスピーカ以外のスマートスピーカにも処理結果データ(音声データ)を送信する。具体的には、サーバ3は、受信した音声データに、第1スマートスピーカ21a~第3スマートスピーカ21cのうちの少なくとも1つを指定する指定キーワードが含まれる場合、音声送信スマートスピーカと、指定キーワードが指定するスマートスピーカとに、処理結果データ(音声データ)を送信する。なお、以下の説明において、指定キーワードが指定するスマートスピーカを「指定スマートスピーカ」と記載する場合がある。
続いて図1及び図2を参照して、第1スマートスピーカ21aの構成を説明する。図2は、実施形態1に係る第1スマートスピーカ21aの構成を示す図である。図2に示すように、第1スマートスピーカ21aは、音声入力部211と、音声出力部212と、通信部213と、記憶部214と、制御部215とを備える。
音声入力部211は、ユーザが発声した音声を集音して、アナログ電気信号に変換する。アナログ電気信号は、制御部215に入力される。音声入力部211は、例えば、マイクロフォンである。なお、以下の説明において、ユーザが発声した音声を「ユーザ音声」と記載する場合がある。
音声出力部212は、サーバ3から受信した音声データに対応する音声を出力する。音声出力部212は、例えば、スピーカである。
通信部213は、サーバ3との間の通信を制御する。通信部213は、例えば、LAN(Local Area Network)ボード又は無線LANボードを備える。具体的には、通信部213は、音声データをサーバ3に送信する。また、通信部213は、サーバ3から音声データを受信する。
本実施形態において、通信部213は、音声データ送信部の一例である。また、通信部213は、処理結果データ受信部の一例である。詳しくは、特定のコマンドを示す音声を音声入力部211が入力すると、通信部213は、特定のコマンドを示す音声データを送信する。更に、図1を参照して説明した指定キーワードを示す音声を音声入力部211が入力すると、通信部213は、指定キーワードを示す音声データを送信する。また、通信部213は、図1を参照して説明した処理結果データ(音声データ)を受信する。
記憶部214は、例えばRAM(Random Access Memory)及びROM(Read Only Memory)のような半導体メモリーを備える。記憶部214は更に、HDD(Hard Disk Drive)のようなストレージデバイスを備えてもよい。記憶部214は、制御部215が実行する制御プログラムを記憶する。記憶部214は更に、図1を参照して説明した起動コマンドを示すデータを記憶する。
制御部215は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)、又はDSP(Digital Signal Processor)のようなプロセッサを備える。制御部215は、記憶部214に記憶された制御プログラムに基づいて、第1スマートスピーカ21aの動作を制御する。
具体的には、制御部215は、音声入力部211から入力されたアナログ電気信号(ユーザ音声)をデジタル信号(音声データ)に変換して、通信部213にデジタル信号を送信させる。また、制御部215は、通信部213が受信したデジタル信号(音声データ)をアナログ電気信号に変換して、音声出力部212に音声を出力させる。
詳しくは、制御部215は、音声入力部211がユーザ音声を入力すると、記憶部214に記憶された起動コマンドを示すデータを参照して、ユーザ音声に対応する音声データが起動コマンドを示すか否かを判定する。制御部215は、ユーザ音声に対応する音声データが起動コマンドを示す場合、レディ状態となる。制御部215は、レディ状態となってから所定の期間が経過する前に音声入力部211がユーザ音声を入力すると、ユーザ音声に対応する音声データを記憶部214に保存する。なお、記憶部214は、所定の期間を示すデータを記憶している。所定の期間は、例えば8秒間である。
本実施形態において、制御部215は、所定の期間が経過するまでの間、音声入力部211がユーザ音声を入力する度に、ユーザ音声に対応する音声データを記憶部214に保存する。制御部215は、所定の期間が経過すると、記憶部214に音声データが保存されているか否かを判定する。制御部215は、記憶部214に音声データが保存されている場合、記憶部214に保存されている音声データを通信部213に送信させる。
以上、図1及び図2を参照して、第1スマートスピーカ21aの構成を説明した。なお、第2スマートスピーカ21b及び第3スマートスピーカ21cの構成は、第1スマートスピーカ21aの構成と同様であるため、その説明は割愛する。
続いて図1及び図3を参照して、サーバ3の構成を説明する。図3は、実施形態1に係るサーバ3の構成を示す図である。図3に示すように、サーバ3は、通信部31と、音声認識部32と、記憶部33と、制御部34とを備える。
通信部31は、第1スマートスピーカ21a~第3スマートスピーカ21cとの間の通信を制御する。通信部31は、例えば、LANボード又は無線LANボードを備える。具体的には、通信部31は、第1スマートスピーカ21a~第3スマートスピーカ21cから音声データを受信する。また、通信部31は、第1スマートスピーカ21a~第3スマートスピーカ21cへ音声データを送信する。
本実施形態において、通信部31は、音声データ受信部の一例である。また、通信部31は、処理結果データ送信部の一例である。詳しくは、通信部31は、特定のコマンドを示す音声データを受信する。更に、通信部31は、図1を参照して説明した指定キーワードを示す音声データを受信する。また、通信部31は、図1を参照して説明した処理結果データ(音声データ)を送信する。
音声認識部32は、通信部31が受信した音声データを音声認識技術によりテキスト情報(以下、「認識結果テキスト」と記載する場合がある。)に変換する。音声認識部32は、例えば、音声認識LSI(Large Scale Integration)を備える。
記憶部33は、例えばRAM及びROMのような半導体メモリーを備える。更に、記憶部33は、HDDのようなストレージデバイスを備える。記憶部33は、制御部34が実行する制御プログラムを記憶する。記憶部33は更に、管理テーブル331を記憶する。管理テーブル331には、図1を参照して説明した指定キーワードが登録される。
制御部34は、例えばCPU又はMPUのようなプロセッサを備える。また、制御部34は、記憶部33に記憶された制御プログラムに基づいて、サーバ3の動作を制御する。
具体的には、制御部34は、記憶部33に記憶されているキーワード群を参照して、認識結果テキストに特定のコマンドを示す文字列が含まれるか否かを判定する。あるいは、制御部34は、意図推定処理により認識結果テキストを解析して、認識結果テキストに特定のコマンドを示す文字列が含まれるか否かを判定する。制御部34が意図推定処理を実行する場合、記憶部33は、コーパスを記憶する。制御部34は、認識結果テキストに特定のコマンドを示す文字列が含まれる場合、特定のコマンドに対応する処理を実行して処理結果データを取得する。例えば、特定のコマンドは、検索キーワードと、検索処理の実行を促すキーワードとを示す。この場合、制御部34は、検索キーワードに基づいて検索処理を実行し、検索結果を示すデータを取得する。
制御部34は、通信部31に処理結果データを送信させる。具体的には、制御部34は、管理テーブル331を参照して、認識結果テキストに指定キーワードを示す文字列が含まれるか否かを判定する。認識結果テキストに指定キーワードを示す文字列が含まれていない場合、通信部31は、音声送信スマートスピーカに処理結果データを送信する。一方、認識結果テキストに指定キーワードを示す文字列が含まれている場合、通信部31は、音声送信スマートスピーカと指定スマートスピーカとに処理結果データを送信する。
なお、サーバ3は、他のサーバに、特定のコマンドに対応する処理の実行を要求してもよい。この場合、サーバ3は、他のサーバから処理結果データを取得(受信)する。
続いて図4を参照して、管理テーブル331を説明する。図4は、実施形態1に係る管理テーブル331を示す図である。図4に示すように、管理テーブル331は、スマートスピーカ登録欄41と、指定キーワード登録欄42とを有する。
スマートスピーカ登録欄41には、サーバ3との間で通信が可能なスマートスピーカを識別するスマートスピーカ識別情報が登録される。本実施形態では、スマートスピーカ登録欄41に、第1スマートスピーカ21a~第3スマートスピーカ21cを識別するスマートスピーカ識別情報が登録される。スマートスピーカ識別情報は、ユーザが任意に決定して登録する。
指定キーワード登録欄42には、スマートスピーカ登録欄41に登録されたスマートスピーカを特定するキーワード(指定キーワード)が登録される。指定キーワードは、ユーザが任意に決定して登録する。例えば、指定キーワードは、スマートスピーカが設置された場所の名称であり得る。図4に示す指定キーワード登録欄42には、第1スマートスピーカ21aの指定キーワードとして「A地点」が登録されている。同様に、第2スマートスピーカ21bの指定キーワードとして「B地点」が登録されており、第3スマートスピーカ21cの指定キーワードとして「C地点」が登録されている。管理テーブル331は、スマートスピーカ識別情報と指定キーワードとを関連付ける。
なお、第1スマートスピーカ21a~第3スマートスピーカ21cは、音声データをサーバ3に送信する際に、自機のスマートスピーカ識別情報を送信する。スマートスピーカ識別情報は、第1スマートスピーカ21a~第3スマートスピーカ21cの記憶部214(図2)に記憶されている。サーバ3は、音声データと共に受信したスマートスピーカ識別情報に基づいて、音声データを送信したスマートスピーカに処理結果データを送信する。
続いて図1、図2及び図5を参照して、第1スマートスピーカ21aの動作を説明する。図5は、実施形態1に係る第1スマートスピーカ21aの動作を示すフローチャートである。図5に示す動作は、第1スマートスピーカ21aの音声入力部211がユーザ音声を入力するとスタートする。
図5に示すように、音声入力部211がユーザ音声を入力すると、制御部215は、ユーザ音声に対応する音声データを生成する(ステップS1)。制御部215は、音声データを生成すると、記憶部214に記憶されている起動コマンドを示すデータを参照して、音声データが起動コマンドを示すか否かを判定する(ステップS2)。
制御部215は、音声データが起動コマンドを示すと判定すると(ステップS2のYes)、所定の期間、レディ状態となる(ステップS3)。レディ状態において、制御部215は、音声入力部211がユーザ音声を入力すると、ユーザ音声に対応する音声データを記憶部214に保存する。制御部215は、所定の期間が経過すると、記憶部214に音声データが保存されているか否かを判定する(ステップS4)。
制御部215は、記憶部214に音声データが保存されていると判定すると(ステップS4のYes)、記憶部214に保存された音声データと、記憶部214に記憶されているスマートスピーカ識別情報とをサーバ3に送信して(ステップS5)、図5に示す動作を終了する。
また、制御部215は、音声データが起動コマンドを示さないと判定した場合(ステップS2のNo)、又は、記憶部214に音声データが保存されていないと判定した場合(ステップS4のNo)、図5に示す動作を終了する。
以上、図1、図2及び図5を参照して第1スマートスピーカ21aの動作を説明した。なお、第2スマートスピーカ21b及び第3スマートスピーカ21cは、第1スマートスピーカ21aと同様に、図5に示す動作を実行する。
続いて図1、図3、図4及び図6を参照して、サーバ3の動作を説明する。図6は、実施形態1に係るサーバ3の動作を示すフローチャートである。図6に示す動作は、サーバ3の通信部31が音声データ及びスマートスピーカ識別情報を受信するとスタートする。
図6に示すように、通信部31が音声データ及びスマートスピーカ識別情報を受信すると、音声認識部32は、音声データをテキスト情報に変換して、認識結果テキストを生成する(ステップS11)。この結果、制御部34が、認識結果テキストを取得する。また、制御部34は、通信部31が音声データ及びスマートスピーカ識別情報を受信すると、処理結果データ(音声データ)の送信先として、通信部31が受信したスマートスピーカ識別情報を記憶部33に保存する。
制御部34は、認識結果テキストを取得すると、認識結果テキストから特定のコマンドを認識できるか否かを判定する(ステップS12)。換言すると、制御部34は、認識結果テキストに特定のコマンドを示す文字列が含まれるか否かを判定する。例えば、制御部34は、記憶部33に記憶されているキーワード群を参照して、認識結果テキストに特定のコマンドを示す文字列が含まれるか否かを判定する。あるいは、制御部34は、記憶部33に記憶されているコーパスを用いた意図推定処理により、認識結果テキストに特定のコマンドを示す文字列が含まれるか否かを判定する。
制御部34は、認識結果テキストから特定のコマンドを認識できると判定すると(ステップS12のYes)、認識した特定のコマンドを記憶部33に保存する(ステップS13)。
制御部34は、認識した特定のコマンドを記憶部33に保存すると、記憶部33に記憶されている管理テーブル331を参照して、認識結果テキストから指定キーワードを認識できるか否かを判定する(ステップS14)。換言すると、制御部34は、認識結果テキストに指定キーワードを示す文字列が含まれるか否かを判定する。
制御部34は、認識結果テキストから指定キーワードを認識できると判定すると(ステップS14のYes)、認識した指定キーワードに対応するスマートスピーカ識別情報を、処理結果データ(音声データ)の送信先として記憶部33に保存する(ステップS15)。
制御部34は、スマートスピーカ識別情報を記憶部33に保存すると、記憶部33に保存した特定のコマンドに対応する処理結果データ(音声データ)を取得する(ステップS16)。あるいは、制御部34は、認識結果テキストから指定キーワードを認識できないと判定すると(ステップS14のNo)、記憶部33に保存した特定のコマンドに対応する処理結果データ(音声データ)を取得する(ステップS16)。具体的には、制御部34は、特定のコマンドに対応する処理を実行して、処理結果データを取得する。あるいは、制御部34は、他のサーバに、特定のコマンドに対応する処理の実行を要求して、他のサーバから処理結果データを取得する。
制御部34は、処理結果データを取得すると、処理結果データの送信先として記憶部33に保存したスマートスピーカ識別情報を参照して、通信部31に処理結果データ(音声データ)を送信させ(ステップS17)、図6に示す動作を終了する。詳しくは、認識結果テキストから指定キーワードを認識できた場合(ステップS14のYes)、サーバ3は、音声送信スマートスピーカと指定スマートスピーカとに処理結果データを送信する。一方、認識結果テキストから指定キーワードを認識できない場合(ステップS14のNo)、サーバ3は、音声送信スマートスピーカに処理結果データを送信する。
また、制御部34は、認識結果テキストから特定のコマンドを認識できないと判定すると(ステップS12のNo)、エラーフラグをONにする(ステップS18)。制御部34は、エラーフラグをONにすると、エラーメッセージを示す音声データを通信部31に送信させ(ステップS17)、図6に示す動作を終了する。詳しくは、サーバ3は、音声送信スマートスピーカにエラーメッセージ(音声データ)を送信する。エラーメッセージは、コマンドを認識できない旨を示す。
以上、図1~図6を参照して、本発明の実施形態1について説明した。本実施形態によれば、音声データをサーバに送信したスマートスピーカ(処理ユニット)に加えて、音声データをサーバに送信したスマートスピーカ(処理ユニット)以外のスマートスピーカ(処理ユニット)も処理の結果を受信することができる。例えば、第1スマートスピーカ21aのユーザが起動コマンドを示す音声を発声した後、所定の期間内に、検索キーワードに基づく検索の実行を促す音声と、B地点を示す音声とを発声すると、検索キーワードに基づく検索結果を示す音声が、第1スマートスピーカ21a及び第2スマートスピーカ21bから出力される。
なお、本実施形態において、サーバ3の記憶部33は、第1スマートスピーカ21a~第3スマートスピーカ21cのそれぞれの指定キーワードを記憶したが、第1スマートスピーカ21a~第3スマートスピーカ21cのそれぞれの指定キーワードに加えて、第1スマートスピーカ21a~第3スマートスピーカ21cの全てを指定する指定キーワードを更に記憶してもよい。例えば、第1スマートスピーカ21a~第3スマートスピーカ21cの全てを指定する指定キーワードは、「オール(ALL)」であり得る。この場合、例えば、第1スマートスピーカ21aのユーザが起動コマンドを示す音声を発声した後、所定の期間内に、検索キーワードに基づく検索の実行を促す音声と、「オール」を示す音声とを発声すると、検索キーワードに基づく検索結果を示す音声が、第1スマートスピーカ21a~第3スマートスピーカ21cから出力される。
[実施形態2]
続いて図7~図12を参照して本発明の実施形態2について説明する。但し、実施形態1と異なる事項を説明し、実施形態1と同じ事項についての説明は割愛する。実施形態2は、情報処理システム1がウエブ会議システムである点で実施形態1と異なる。
図7は、実施形態2に係る情報処理システム1の構成を示す図である。図7に示すように、情報処理システム1(ウエブ会議システム)は、第1処理ユニット2a~第3処理ユニット2cと、第1サーバ3と、第2サーバ4とを備える。なお、第1サーバ3は、実施形態1において説明したサーバ3に対応する。
本実施形態において、第1処理ユニット2aは、第1スマートスピーカ21aと、第1端末22aと、第1表示装置23aとを含む。第2処理ユニット2bは、第2スマートスピーカ21bと、第2端末22bと、第2表示装置23bとを含む。第3処理ユニット2cは、第3スマートスピーカ21cと、第3端末22cと、第3表示装置23cとを含む。第1スマートスピーカ21a~第3スマートスピーカ21cはそれぞれ音声入出力端末の一例であり、第1端末22a~第3端末22cはそれぞれ情報処理端末の一例である。
また、本実施形態において、第1スマートスピーカ21a及び第1表示装置23aは、第1端末22aの周辺装置であり、第2スマートスピーカ21b及び第2表示装置23bは、第2端末22bの周辺装置であり、第3スマートスピーカ21c及び第3表示装置23cは、第3端末22cの周辺装置である。
本実施形態において、第1サーバ3は、例えばインターネット回線を介して、第1スマートスピーカ21a~第3スマートスピーカ21cの各々との間で通信を行う。更に、第1サーバ3は、例えばインターネット回線を介して、第1端末22a~第3端末22cの各々との間で通信を行う。
第1サーバ3は、第1スマートスピーカ21a~第3スマートスピーカ21cから受信した音声データに基づいて処理結果データを取得する。本実施形態において、処理結果データは、音声データ又は端末用コマンドである。
第1サーバ3は、処理結果データが音声データである場合、音声送信スマートスピーカに処理結果データ(音声データ)を送信する。更に、実施形態1において説明したように、第1サーバ3は、音声送信スマートスピーカ以外のスマートスピーカにも処理結果データ(音声データ)を送信する。詳しくは、第1サーバ3は、受信した音声データに指定キーワードが含まれる場合、音声送信スマートスピーカと指定スマートスピーカとに処理結果データ(音声データ)を送信する。
第1サーバ3は、処理結果データが端末用コマンドである場合、音声送信スマートスピーカに接続している端末に処理結果データ(端末用コマンド)を送信する。以下、音声送信スマートスピーカに接続している端末を「接続端末」と記載する場合がある。
詳しくは、第1サーバ3は、第1スマートスピーカ21a~第3スマートスピーカ21cと第1端末22a~第3端末22cとの対応関係を記憶している。第1サーバ3は、第1端末22a~第3端末22cから定期的に要求信号を受信する。要求信号は、第1サーバ3に対し、処理結果データ(端末用コマンド)の送信を要求する。第1サーバ3は、処理結果データが端末用コマンドである場合、接続端末から要求信号を受信すると、接続端末へ処理結果データ(端末用コマンド)を送信する。
更に、第1サーバ3は、接続端末以外の端末にも処理結果データ(端末用コマンド)を送信する。詳しくは、第1サーバ3は、受信した音声データに指定キーワードが含まれる場合、接続端末と、指定スマートスピーカに接続している端末とに、処理結果データ(端末用コマンド)を送信する。なお、以下の説明において、指定スマートスピーカに接続している端末を「指定端末」と記載する場合がある。
第2サーバ4は、例えばインターネット回線を介して、第1端末22a~第3端末22cの各々との間で通信を行うことにより、第1端末22a~第3端末22cの間でウエブ会議を実行させる。具体的には、第2サーバ4は、第1端末22aから受信した音声データ及び撮像データを、第2端末22b及び第3端末22cへ送信する。同様に、第2サーバ4は、第2端末22bから受信した音声データ及び撮像データを、第1端末22a及び第3端末22cへ送信する。また、第2サーバ4は、第3端末22cから受信した音声データ及び撮像データを、第1端末22a及び第2端末22bへ送信する。
続いて図7を参照して、第1処理ユニット2aに含まれる第1スマートスピーカ21a、第1端末22a、及び第1表示装置23aの動作について説明する。
第1スマートスピーカ21aは、ユーザ音声に対応する音声データを第1端末22aへ送信する。また、第1スマートスピーカ21aは、第1端末22aから音声データを受信する。第1スマートスピーカ21aは、第1端末22aから受信した音声データに対応する音声を出力する。更に、第1スマートスピーカ21aは撮像部を備え、撮像データを第1端末22aへ送信する。
また、第1スマートスピーカ21aは、レディ状態においても、音声データ及び撮像データを第1端末22aへ送信し、第1端末22aから音声データを受信する。更に、実施形態1において説明したように、第1スマートスピーカ21aがレディ状態となってから所定の期間が経過するまでの間にユーザが音声を発声すると、第1スマートスピーカ21aは、ユーザ音声に対応する音声データを第1サーバ3へ送信する。
第1端末22aは、第1スマートスピーカ21aから受信した音声データ及び撮像データを第2サーバ4へ送信する。また、第1端末22aは、第2サーバ4から音声データ及び撮像データを受信する。第1端末22aは、第2サーバ4から受信した音声データを第1スマートスピーカ21aへ送信する。また、第1端末22aは、第2サーバ4から受信した撮像データを第1表示装置23aに出力する。第1表示装置23aは、第1端末22aから入力された撮像データに対応する映像を表示する。
更に、第1端末22aは、第1サーバ3へ要求信号を送信して、第1サーバ3に対し処理結果データ(端末用コマンド)の送信を要求する。第1端末22aは、第1サーバ3から端末用コマンドを受信すると、受信した端末用コマンドに対応する処理を実行する。
なお、第2処理ユニット2bに含まれる第2スマートスピーカ21b、第2端末22b、及び第2表示装置23bの動作は、第1処理ユニット2aに含まれる第1スマートスピーカ21a、第1端末22a、及び第1表示装置23aの動作と同様であるため、その説明は省略する。また、第3処理ユニット2cに含まれる第3スマートスピーカ21c、第3端末22c、及び第3表示装置23cの動作は、第1処理ユニット2aに含まれる第1スマートスピーカ21a、第1端末22a、及び第1表示装置23aの動作と同様であるため、その説明は省略する。
続いて図7及び図8を参照して、実施形態2に係る第1スマートスピーカ21aの構成を説明する。図8は、実施形態2に係る第1スマートスピーカ21aの構成を示す図である。
図8に示すように、第1スマートスピーカ21aは、音声入力部211、音声出力部212、第1通信部213、記憶部214、制御部215、撮像部216、及び第2通信部217を備える。なお、第1通信部213は、実施形態1において説明した通信部213に対応する。
本実施形態において、制御部215は音声データ生成部の一例である。また、第1通信部213は音声データ送信部の一例であるとともに、第1処理結果データ受信部の一例である。
撮像部216は、第1スマートスピーカ21aの周辺環境を撮像して画像信号(アナログ電気信号)を出力する。例えば、撮像部216は、CCD(Charge-Coupled Device)のような撮像素子を備える。
第2通信部217は、第1端末22aとの間の通信を制御する。第2通信部217は、例えば、Bluetooth(登録商標)のような近距離無線通信規格に準じた無線通信モジュールを備える。あるいは、第2通信部217は、例えば、USB(Universal Serial Bus)端子を備えるUSBインターフェースであり得る。
第2通信部217は、音声入力部211が入力した音声に対応する音声データを第1端末22aへ送信する。また、第2通信部217は、撮像部216から出力された画像信号に対応する撮像データを第1端末22aへ送信する。更に、第2通信部217は、第1端末22aから音声データを受信する。
制御部215は、音声入力部211から入力されたアナログ電気信号(ユーザ音声)をデジタル信号(音声データ)に変換して、第2通信部217にデジタル信号を送信させる。また、制御部215は、撮像部216から入力された画像信号(アナログ電気信号)をデジタル信号(撮像データ)に変換して、第2通信部217にデジタル信号を送信させる。
更に、制御部215は、第2通信部217が受信したデジタル信号(音声データ)をアナログ電気信号に変換して、音声出力部212に音声を出力させる。また、実施形態1と同様に、制御部215は、第1通信部213が受信したデジタル信号(音声データ)をアナログ電気信号に変換して、音声出力部212に音声を出力させる。したがって、本実施形態において、音声出力部212は、第1通信部213が第1サーバ3から受信した音声データに対応する音声に加えて、第2通信部217が第1端末22aから受信した音声データに対応する音声を出力する。
更に、制御部215は、レディ状態となってから所定の期間が経過する前に音声入力部211がユーザ音声を入力すると、ユーザ音声に対応する音声データを第2通信部217に送信させる一方で、ユーザ音声に対応する音声データの複製物を記憶部214に保存する。制御部215は、所定の期間が経過すると、記憶部214に保存されている音声データ(複製物)を第1通信部213に送信させる。
以上、図7及び図8を参照して、第1スマートスピーカ21aの構成を説明した。なお、第2スマートスピーカ21b及び第3スマートスピーカ21cの構成は、第1スマートスピーカ21aの構成と同様であるため、その説明は割愛する。
続いて図7及び図9を参照して、第1サーバ3の構成を説明する。図9は、実施形態2に係る第1サーバ3の構成を示す図である。図9に示すように、第1サーバ3は、通信部31と、音声認識部32と、記憶部33と、制御部34とを備える。
本実施形態において、記憶部33は、第1管理テーブル331と、第2管理テーブル332とを記憶する。第1管理テーブル331は、実施形態1において説明した管理テーブル331に対応する。したがって、第1管理テーブル331には、指定キーワードが登録されている。第2管理テーブル332には、第1スマートスピーカ21a~第3スマートスピーカ21cと第1端末22a~第3端末22cとの対応関係が登録されている。
また、記憶部33は、端末用記憶領域333を有する。本実施形態において、端末用記憶領域333は、第1記憶領域333aと、第2記憶領域333bと、第3記憶領域333cとを含む。第1記憶領域333aは、第1端末22aに送信する端末用コマンド(処理結果データ)を記憶する領域である。同様に、第2記憶領域333bは、第2端末22bに送信する端末用コマンド(処理結果データ)を記憶する領域であり、第3記憶領域333cは、第3端末22cに送信する端末用コマンド(処理結果データ)を記憶する領域である。
制御部34は、通信部31に処理結果データを送信させる。具体的には、制御部34は、処理結果データが音声データであるか端末用コマンドであるかを判定する。制御部34は、認識結果テキストに指定キーワードを示す文字列が含まれているか否かを示す判定結果と、処理結果データが音声データであるか端末用コマンドであるかを示す判定結果とに基づいて、処理結果データの送信先を決定する。
詳しくは、処理結果データが音声データであり、認識結果テキストに指定キーワードを示す文字列が含まれていない場合、通信部31は、実施形態1と同様に、音声送信スマートスピーカに処理結果データを送信する。また、処理結果データが音声データであり、認識結果テキストに指定キーワードを示す文字列が含まれている場合、通信部31は、実施形態1と同様に、音声送信スマートスピーカと指定スマートスピーカとに処理結果データを送信する。
一方、処理結果データが端末用コマンドあり、認識結果テキストに指定キーワードを示す文字列が含まれていない場合、制御部34は、第1記憶領域333a~第3記憶領域333cのうち、接続端末に対応する記憶領域に端末用コマンドを記憶させる。通信部31が接続端末から要求信号を受信すると、制御部34が、接続端末に対応する記憶領域から端末用コマンドを読み出し、通信部31が、記憶部33から読み出された端末用コマンドを接続端末に送信する。
また、処理結果データが端末用コマンドあり、認識結果テキストに指定キーワードを示す文字列が含まれている場合、制御部34は、第1記憶領域333a~第3記憶領域333cのうち、接続端末に対応する記憶領域と、指定端末に対応する記憶領域とに端末用コマンドを記憶させる。通信部31が接続端末から要求信号を受信すると、制御部34が、接続端末に対応する記憶領域から端末用コマンドを読み出し、通信部31が、記憶部33から読み出された端末用コマンドを接続端末に送信する。また、通信部31が指定端末から要求信号を受信すると、制御部34が、指定端末に対応する記憶領域から端末用コマンドを読み出し、通信部31が、記憶部33から読み出された端末用コマンドを指定端末に送信する。
続いて図10(a)及び図10(b)を参照して、第1管理テーブル331及び第2管理テーブル332を説明する。図10(a)は、実施形態2に係る第1管理テーブル331を示す図である。図10(b)は、実施形態2に係る第2管理テーブル332を示す図である。図10(a)に示すように、第1管理テーブル331は、図4を参照して説明した管理テーブル331と同様に、スマートスピーカ登録欄41と、指定キーワード登録欄42とを有する。
図10(b)に示すように、第2管理テーブル332は、スマートスピーカ登録欄101と、端末登録欄102とを有する。スマートスピーカ登録欄101には、図10(a)に示すスマートスピーカ登録欄41と同様に、スマートスピーカ識別情報が登録される。端末登録欄102には、サーバ3との間で通信が可能な端末を識別する端末識別情報が登録される。第2管理テーブル332は、スマートスピーカ識別情報と端末識別情報とを関連付ける。
本実施形態では、端末登録欄102に、第1端末22a~第3端末22cを識別する端末識別情報が登録される。端末識別情報は、ユーザが任意に決定して登録する。例えば、ユーザは、スマートスピーカ識別情報を登録する際に、スマートスピーカ識別情報に関連付けて端末識別情報を登録し得る。
なお、第1端末22a~第3端末22cは、要求信号を第1サーバ3に送信する際に、自機の端末識別情報を送信する。第1端末22a~第3端末22cはそれぞれ、自機の端末識別情報を記憶している。第1サーバ3は、要求信号と共に受信した端末識別情報に基づいて、要求信号を送信した端末に処理結果データを送信する。
続いて図7及び図11を参照して、第1端末22aの構成を説明する。図11は、実施形態2に係る第1端末22aの構成を示す図である。図11に示すように、第1端末22aは、第1通信部221、第2通信部222、出力部223、記憶部224、及び制御部225を備える。本実施形態において、第1端末22aは、ノート型PC(パーソナルコンピュータ)又はデスクトップ型PCのような情報処理装置である。あるいは、第1端末22aは、タブレットPC又はスマートフォンのような携帯型の情報処理装置である。
第1通信部221は、第1サーバ3との間の通信を制御する。また、第1通信部221は、第2サーバ4との間の通信を制御する。第1通信部221は、例えば、LANボード又は無線LANボードを備える。本実施形態において、第1通信部221は、第2処理結果データ受信部の一例である。また、第1通信部221は、要求信号送信部の一例である。
具体的には、第1通信部221は、要求信号と、図10(b)を参照して説明した端末識別情報とを第1サーバ3に送信する。また、第1通信部221は、第1サーバ3から処理結果データ(端末用コマンド)を受信する。
更に、第1通信部221は、音声データ及び撮像データを第2サーバ4に送信する。また、第1通信部221は、音声データ及び撮像データを第2サーバ4から受信する。
第2通信部222は、第1スマートスピーカ21aとの間の通信を制御する。第2通信部222は、例えば、Bluetooth(登録商標)のような近距離無線通信規格に準じた無線通信モジュールを備える。あるいは、第2通信部222は、例えば、USB端子を備えるUSBインターフェースであり得る。
第2通信部222は、第1スマートスピーカ21aから音声データを受信する。また、第2通信部222は、第1スマートスピーカ21aへ音声データを送信する。更に、第2通信部222は、第1スマートスピーカ21aから撮像データを受信する。
出力部223は、撮像データを第1表示装置23aに出力する。出力部223は、例えば、HDMI(登録商標)端子又はDisplayportのようなデジタル映像インターフェースである。なお、出力部223は、D-SUB端子のようなアナログ映像インターフェースであってもよい。
記憶部224は、例えばRAM及びROMのような半導体メモリーを備える。更に、記憶部224は、HDDのようなストレージデバイスを備える。記憶部224は、制御部225が実行する制御プログラムを記憶する。また、記憶部224は、図10(b)を参照して説明した端末識別情報を記憶する。本実施形態において、記憶部224は更に、ウエブ会議用アプリケーションソフトウエアを記憶する。
制御部225は、例えばCPU又はMPUのようなプロセッサを備える。また、制御部225は、記憶部224に記憶された制御プログラムに基づいて、第1端末22aの動作を制御する。
具体的には、制御部225は、定期的に要求信号を生成し、第1通信部221を介して要求信号と端末識別情報とを第1サーバ3に送信する。例えば、制御部225は、30秒ごと、又は1分ごとに、第1通信部221を介して要求信号と接続端末識別情報とを送信する。また、制御部225は、第1通信部221を介して第1サーバ3から処理結果データ(端末用コマンド)を受信すると、端末用コマンドに対応する処理を実行する。
例えば、端末用コマンドは、ウエブ会議の終了を命令するコマンドであり得る。端末用コマンドがウエブ会議の終了を命令するコマンドである場合、制御部225は、ウエブ会議用アプリケーションソフトウエアの実行を停止する。あるいは、端末用コマンドは、印刷の実行を命令するコマンドであり得る。端末用コマンドが印刷の実行を命令するコマンドである場合、制御部225は、第1端末22aに接続されているプリンターに印刷を要求する。
続いて図7及び図11を参照して、第1端末22aの制御部225がウエブ会議用アプリケーションソフトウエアに基づいて実行する処理について説明する。制御部225は、ウエブ会議用アプリケーションソフトウエアを実行することにより、第2処理ユニット2bの第2端末22bと第3処理ユニット2cの第3端末22cとの間でウエブ会議を実行する。
具体的には、制御部225は、第2通信部222を介して第1スマートスピーカ21aから受信した音声データ及び撮像データを、第1通信部221を介して第2サーバ4へ送信する。この結果、第2処理ユニット2bの第2スマートスピーカ21b、及び第3処理ユニット2cの第3スマートスピーカ21cから、第1スマートスピーカ21aに入力された音声が出力される。また、第2処理ユニット2bの第2表示装置23b、及び第3処理ユニット2cの第3表示装置23cが、第1スマートスピーカ21aによって撮像された映像を表示する。
また、制御部225は、第1通信部221を介して第2サーバ4から受信した音声データを、第2通信部222を介して第1スマートスピーカ21aに送信する。この結果、第1スマートスピーカ21aから、第2処理ユニット2bの第2スマートスピーカ21bによって入力された音声が出力される。また、第1スマートスピーカ21aから、第3処理ユニット2cの第3スマートスピーカ21cによって入力された音声が出力される。
また、制御部225は、第1通信部221を介して第2サーバ4から受信した撮像データを、出力部223を介して第1表示装置23aに出力する。この結果、第1表示装置23aが、第2処理ユニット2bの第2スマートスピーカ21bによって撮像された映像、及び第3処理ユニット2cの第3スマートスピーカ21cによって撮像された映像を表示する。
以上、図7及び図11を参照して、第1端末22aの構成を説明した。なお、第2端末22b及び第3端末22cの構成は第1端末22aの構成と同様であるため、その説明は省略する。
続いて図7、図9、図10(a)、図10(b)及び図12を参照して、第1サーバ3の動作を説明する。図12は、実施形態2に係る第1サーバ3の動作を示すフローチャートである。図12に示す動作は、第1サーバ3の通信部31が音声データ及びスマートスピーカ識別情報を受信するとスタートする。
図12に示すように、通信部31が音声データ及びスマートスピーカ識別情報を受信すると、図6を参照して説明した動作と同様に、音声認識部32が、音声データをテキスト情報に変換して、認識結果テキストを生成する(ステップS21)。また、制御部34は、通信部31が音声データ及びスマートスピーカ識別情報を受信すると、処理結果データ(音声データ)の送信先として、通信部31が受信したスマートスピーカ識別情報を記憶部33に保存する。
制御部34は、認識結果テキストを取得すると、図6を参照して説明した動作と同様に、認識結果テキストから特定のコマンドを認識できるか否かを判定する(ステップS22)。
制御部34は、認識結果テキストから特定のコマンドを認識できると判定すると(ステップS22のYes)、図6を参照して説明した動作と同様に、認識した特定のコマンドを記憶部33に保存する(ステップS23)。
制御部34は、認識した特定のコマンドを記憶部33に保存すると、図6を参照して説明した動作と同様に、記憶部33に記憶されている第1管理テーブル331を参照して、認識結果テキストから指定キーワードを認識できるか否かを判定する(ステップS24)。
制御部34は、認識結果テキストから指定キーワードを認識できると判定すると(ステップS24のYes)、図6を参照して説明した動作と同様に、認識した指定キーワードに対応するスマートスピーカ識別情報を、処理結果データ(音声データ)の送信先として記憶部33に保存する(ステップS25)。
制御部34は、スマートスピーカ識別情報を記憶部33に保存すると、記憶部33に保存した特定のコマンドが、処理結果データとして音声データを取得させるコマンドであるのか、処理結果データとして端末用コマンドを取得させるコマンドであるのかを判定する(ステップS26)。あるいは、制御部34は、認識結果テキストから指定キーワードを認識できないと判定すると(ステップS24のNo)、記憶部33に保存した特定のコマンドが、処理結果データとして音声データを取得させるコマンドであるのか、処理結果データとして端末用コマンドを取得させるコマンドであるのかを判定する(ステップS26)。
制御部34は、特定のコマンドが音声データを取得させるコマンドであると判定すると(ステップS26の「音声データ」)、特定のコマンドに対応する処理を実行して、音声データ(処理結果データ)を取得する(ステップS27)。あるいは、制御部34は、他のサーバに、特定のコマンドに対応する処理の実行を要求して、他のサーバから音声データ(処理結果データ)を取得する(ステップS27)。
制御部34は、音声データ(処理結果データ)を取得すると、処理結果データの送信先として記憶部33に保存したスマートスピーカ識別情報を参照して、通信部31に音声データ(処理結果データ)を送信させ(ステップS28)、図12に示す動作を終了する。詳しくは、認識結果テキストから指定キーワードを認識できた場合(ステップS24のYes)、第1サーバ3は、音声送信スマートスピーカと指定スマートスピーカとに音声データ(処理結果データ)を送信する。一方、認識結果テキストから指定キーワードを認識できない場合(ステップS24のNo)、第1サーバ3は、音声送信スマートスピーカに音声データ(処理結果データ)を送信する。
一方、制御部34は、特定のコマンドが端末用コマンドを取得させるコマンドであると判定すると(ステップS26の「コマンド」)、特定のコマンドに対応する処理を実行して、端末用コマンド(処理結果データ)を取得する(ステップS29)。
制御部34は、端末用コマンド(処理結果データ)を取得すると、処理結果データの送信先として記憶部33に保存したスマートスピーカ識別情報と、第2管理テーブル332とを参照して、第1記憶領域333a~第3記憶領域333cのうちの少なくとも1つに端末用コマンドを記憶させる(ステップS30)。
制御部34は、端末用コマンドを端末用記憶領域333に記憶した後に、通信部31が要求用信号を受信すると、端末用記憶領域333に記憶した端末用コマンド(処理結果データ)を通信部31に送信させ(ステップS31)、図12に示す動作を終了する。詳しくは、認識結果テキストから指定キーワードを認識できた場合(ステップS24のYes)、第1サーバ3は、接続端末と指定端末とに端末用コマンド(処理結果データ)を送信する。一方、認識結果テキストから指定キーワードを認識できない場合(ステップS24のNo)、第1サーバ3は、接続端末に端末用コマンド(処理結果データ)を送信する。
また、制御部34は、認識結果テキストから特定のコマンドを認識できないと判定すると(ステップS22のNo)、図6を参照して説明した動作と同様に、エラーフラグをONにして(ステップS32)、エラーメッセージを示す音声データを通信部31に送信させ(ステップS28)、図12に示す動作を終了する。詳しくは、第1サーバ3は、音声送信スマートスピーカにエラーメッセージ(音声データ)を送信する。
続いて図11及び図13を参照して、第1端末22aの動作を説明する。図13は、実施形態2に係る第1端末22aの動作を示すフローチャートである。図13に示す動作は、定期的に実行される。
詳しくは、図13に示すように、制御部225は、第1通信部221を介して第1サーバ3に要求信号を送信する(ステップS41)。制御部225は、要求信号を送信した後、第1通信部221が第1サーバ3から端末用コマンドを受信したか否かを判定する(ステップS42)。制御部225は、第1通信部221が端末用コマンドを受信したと判定すると(ステップS42のYes)、受信した端末用コマンドに対応する処理を実行して(ステップS43)、図13に示す動作を終了する。あるいは、制御部225、第1通信部221が端末用コマンドを受信しないと判定すると(ステップS42のNo)、図13に示す動作を終了する。
なお、第2端末22bの制御部225及び第3端末22cの制御部225も、第1端末22aの制御部225と同様の動作を実行する。
以上、図7~図13を参照して、本発明の実施形態2について説明した。本実施形態によれば、音声データをサーバに送信した処理ユニットに加えて、音声データをサーバに送信した処理ユニット以外の処理ユニットも処理の結果を受信することができる。例えば、第1処理ユニット2a(第1端末22a)のユーザが起動コマンドを示す音声を発声した後、所定の期間内に、ウエブ会議の終了を促す音声と、B地点を示す音声とを発声すると、第1端末22a及び第2端末22bがウエブ会議用アプリケーションの実行を停止する。あるいは、第1処理ユニット2a(第1端末22a)のユーザが起動コマンドを示す音声を発声した後、所定の期間内に、ウエブ会議の終了を促す音声と、「オール」を示す音声とを発声すると、第1端末22a~第3端末22cがウエブ会議用アプリケーションの実行を停止する。
なお、本実施形態において、第1スマートスピーカ21a~第3スマートスピーカ21cが撮像部216を備える構成を説明したが、第1端末22a~第3端末22cが撮像部を備えてもよい。あるいは、第1端末22a~第3端末22cに周辺装置としてカメラ装置が接続されてもよい。
また、本実施形態において、情報処理システム1はウエブ会議システムであったが、情報処理システム1はテレビ会議システム又は電話会議システムであってもよい。この場合、第1端末22a~第3端末22cは、LANを介して接続される。
情報処理システム1がテレビ会議システム又は電話会議システムである場合、第2サーバ4は省略され得る。また、情報処理システム1が電話会議システムである場合、第1端末22a~第3端末22cは、電話会議専用のマイク/スピーカ装置であり得る。また、情報処理システム1が電話会議システムである場合、第1表示装置23a~第3表示装置23cは省略され得る。
また、本実施形態において、第1処理ユニット2a~第3処理ユニット2cが第1端末22a~第3端末22cを含む構成について説明したが、第1スマートスピーカ21a~第3スマートスピーカ21cが第1端末22a~第3端末22cの機能を有してもよい。この場合、第1端末22a~第3端末22cは省略され得る。
以上、本発明の実施形態1、2について図面を参照しながら説明した。但し、本発明は、上記の実施形態に限られず、その要旨を逸脱しない範囲で種々の態様において実施することが可能である。
例えば、本発明による実施形態では、情報処理システム1は、3つの処理ユニットを備えたが、情報処理システム1は、2つの処理ユニット又は4つ以上の処理ユニットを備えてもよい。
また、本発明による実施形態において、第1スマートスピーカ21a~第3スマートスピーカ21cの制御部215は、所定の期間が経過した後にユーザ音声をサーバ3に送信したが、第1スマートスピーカ21a~第3スマートスピーカ21cの制御部215は、所定の期間が経過する前にユーザ音声をサーバ3に送信してもよい。具体的には、第1スマートスピーカ21a~第3スマートスピーカ21cの制御部215は、音声データを、所定回数(例えば、2回)、記憶部214に保存すると、記憶部214に保存した音声データをサーバ3に送信してもよい。