JP7465075B2 - Calculation device, recording medium, voice input device - Google Patents
Calculation device, recording medium, voice input device Download PDFInfo
- Publication number
- JP7465075B2 JP7465075B2 JP2019206587A JP2019206587A JP7465075B2 JP 7465075 B2 JP7465075 B2 JP 7465075B2 JP 2019206587 A JP2019206587 A JP 2019206587A JP 2019206587 A JP2019206587 A JP 2019206587A JP 7465075 B2 JP7465075 B2 JP 7465075B2
- Authority
- JP
- Japan
- Prior art keywords
- robot
- recognition
- voice
- information
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004364 calculation method Methods 0.000 title claims description 26
- 238000000034 method Methods 0.000 claims description 253
- 230000008569 process Effects 0.000 claims description 251
- 238000004886 process control Methods 0.000 claims description 48
- 238000012544 monitoring process Methods 0.000 claims description 46
- 230000004913 activation Effects 0.000 claims description 33
- 238000004891 communication Methods 0.000 claims description 26
- 238000012545 processing Methods 0.000 description 48
- 238000001994 activation Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 20
- 230000033001 locomotion Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 241000282412 Homo Species 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004904 shortening Methods 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007562 laser obscuration time method Methods 0.000 description 1
Images
Description
本発明は、演算装置、記録媒体、および音声入力装置に関する。 The present invention relates to a computing device, a recording medium, and a voice input device.
少子高齢化や働き方改革により、人と対話可能な大量のロボットを安価に提供することが求められている。ロボットが人へ満足度の高い音声対話を提供するには、迅速な応答速度と高精度の認識率が必要となる。この実現のために、ロボットに対してユーザが話しかけた際に音声認識プロセスを起動する方式が考えられる。しかし、音声認識プロセスは、発話による音声を高精度に文字に変換するための容量の大きい言語モデルを有しており、起動に数秒の時間を要してしまう。そのため、ユーザの発話を契機に音声認識プロセスを起動するとユーザの音声認識開始までに待ち時間が発生し、結果的にユーザへの応答が遅延するため、ユーザの満足度が低下する問題を有する。
特許文献1には、音声出力部を備えたコミュニケーションロボットであって、被写体を撮影して撮影画像を生成する撮影部と、前記撮影部によって得られた撮影画像に基づいて、発話対象者を特定する対象者特定手段と、前記コミュニケーションロボットの配置位置周辺の混雑度を判定する混雑度判定手段と、前記混雑度判定手段による判定結果に応じて所定の処理を行うとともに、前記対象者特定手段により特定した前記発話対象者に対する発話データを、前記音声出力部から出力する発話手段と、を備えるコミュニケーションロボットが開示されている。
Due to the declining birthrate and aging population, as well as work style reforms, there is a demand to provide a large number of robots capable of interacting with humans at low cost. In order for a robot to provide a highly satisfying voice dialogue to humans, it is necessary to have a fast response speed and a high recognition rate. To achieve this, a method of starting a voice recognition process when a user speaks to a robot can be considered. However, the voice recognition process has a large-capacity language model for converting spoken voice into characters with high accuracy, and it takes several seconds to start up. Therefore, if the voice recognition process is started in response to a user's speech, a waiting time occurs before the user's voice recognition starts, resulting in a delayed response to the user, which causes a problem of lowering user satisfaction.
特許文献1に記載されている発明では、音声認識プロセスを起動するタイミングに改善の余地がある。
The invention described in
本発明の第1の態様による演算装置は、ユーザとの音声対話が発生する可能性を示すリソース制御情報、および音声情報を送信する複数のロボットと通信するサーバ通信部と、前記ロボットから受信する前記音声情報を文字情報に変換する認識プロセスを複数実行可能な音声認識部と、前記ロボットから受信する前記リソース制御情報を用いて前記認識プロセスの起動数を管理し、前記認識プロセスの起動および停止を行うプロセス制御部とを備える。
本発明の第2の態様による記録媒体は、以下のプログラムを記録したコンピュータ読み取り可能な記録媒体であり、プログラムは、ユーザとの音声対話が発生する可能性を示すリソース制御情報、および音声情報を送信する複数のロボットと通信するサーバ通信部を備えるコンピュータに、前記ロボットから受信する前記音声情報を文字情報に変換する認識プロセスを複数実行可能な音声認識処理と、前記ロボットから受信する前記リソース制御情報を用いて前記認識プロセスの起動数を管理し、前記認識プロセスの起動および停止を行うプロセス制御処理と、を実行させる。
本発明の第3の態様による音声入力装置は、受信した音声情報を文字情報に変換する認識プロセスを複数実行可能な音声認識部を備える演算装置と通信可能なロボット通信部と、ユーザとの距離に基づき前記演算装置に前記認識プロセスの起動を要求する起動要求を送信する起動要求部と、前記ユーザの発話を録音し前記音声情報として前記演算装置に送信する送信部と、を備える音声入力装置であって、前記認識プロセスの起動時間、および前記ユーザと当該音声入力装置との相対速度の積を監視距離として算出する距離決定部をさらに備え、前記起動要求部は、前記ユーザと当該音声入力装置との距離が前記監視距離以下の場合に前記起動要求を送信する。
A computing device according to a first aspect of the present invention includes resource control information indicating the possibility of a voice dialogue with a user, a server communication unit that communicates with a plurality of robots that transmit voice information, a voice recognition unit that is capable of executing a plurality of recognition processes that convert the voice information received from the robots into text information, and a process control unit that uses the resource control information received from the robots to manage the number of recognition processes that are activated and starts and stops the recognition processes.
A recording medium according to a second aspect of the present invention is a computer-readable recording medium having the following program recorded thereon, the program causing a computer having resource control information indicating the possibility of a voice dialogue with a user and a server communication unit that communicates with a plurality of robots that transmit voice information to execute a voice recognition process capable of executing a plurality of recognition processes that convert the voice information received from the robots into text information, and a process control process that uses the resource control information received from the robots to manage the number of recognition processes that are activated and to start and stop the recognition processes.
A voice input device according to a third aspect of the present invention is a voice input device comprising: a robot communication unit capable of communicating with a calculation device having a voice recognition unit capable of executing multiple recognition processes for converting received voice information into text information; a start-up request unit that transmits a start-up request to the calculation device to request the start-up of the recognition process based on the distance from the user; and a transmission unit that records the user's speech and transmits it to the calculation device as the voice information, and further comprises a distance determination unit that calculates the product of the start-up time of the recognition process and the relative speed between the user and the voice input device as a monitoring distance, and the start-up request unit transmits the start-up request when the distance between the user and the voice input device is less than or equal to the monitoring distance.
本発明によれば、ユーザがロボットに近づくと音声認識プロセスが起動されるので、ユーザが発話してから音声認識が開始されるまでの時間を短縮できる。 According to the present invention, the voice recognition process is initiated when the user approaches the robot, thereby shortening the time between when the user speaks and when voice recognition begins.
―第1の実施の形態―
以下、図1~図15を参照して、音声認識システムの第1の実施の形態を説明する。
-First embodiment-
A first embodiment of a voice recognition system will be described below with reference to FIGS.
図1は第1の実施の形態における音声認識システムの全体を示す概要図である。音声認識システムSは、複数のロボット200と、後に詳述する音声認識部600を備える演算装置400とを含んで構成される。なお以下では、複数のロボット200のそれぞれを区別するために、枝番を付してロボット200-1、ロボット200-2、などと呼ぶ。ロボット200の数は複数であればよいため、図1では「n」個から構成されるとしてロボット200-nまでを記載している。
Figure 1 is a schematic diagram showing the entire voice recognition system in the first embodiment. The voice recognition system S is configured to include
複数のロボット200のそれぞれは、演算装置400と通信を行う。この通信はたとえば、通信の効率化のためにルータ120により集約されて行われる。ルータ120と演算装置400は、ネットワーク110を介して接続される。ただしルータ120と演算装置400はネットワーク110を介さずに通信を行ってもよい。
Each of the
ロボット200およびルータ120は、テナント100に設置される。テナント100とは、ビルや商業施設などである。演算装置400は、ネットワーク上のクラウド300に設置される。クラウド300とは、ネットワークで接続された1または複数の地点を指す抽象的な概念である。本実施の形態では図1に示す構成を前提として説明するが、ロボット200および演算装置400が同一のロケーション、たとえば同一の建物内や同一の室内に存在してもよい。また、テナント100やクラウド300は単なる例示である。
The
本実施の形態では、ロボット200の周囲に存在する人間を「ユーザ」と呼ぶ。ユーザはロボット200に近づいて発話を行い、ロボット200はユーザの発話に対応する行動を行う。詳述すると、ロボット200はユーザの発話を音声データとして記録し、演算装置400を用いて音声データをテキストデータに変換し、そのテキストデータを解釈することでユーザの発話に対応する行動を行う。
In this embodiment, humans around the
図2はロボット200-1の構成図である。ロボット200-1~200-nは同じ構成を有するので、ここでは代表してロボット200-1の構成を説明する。ただし図2では、ハードウエア構成、機能構成、および情報が混在して記載されている。ロボット200-1は、ハードウエア構成として、通信インタフェース部201、距離センサ202、マイク203、およびスピーカー204を備える。ロボット200-1は、機能構成として動作指示解析部205、ロボット動作制御部206、データ送受信部207、距離決定部208、起動要求部209、および割当要求部210を備える。ロボット200-1は、センサ情報211、音声情報212、人歩行速度情報213、およびテナント地図情報214の情報を有する。
Figure 2 is a configuration diagram of robot 200-1. Robots 200-1 to 200-n have the same configuration, so here the configuration of robot 200-1 will be described as a representative. However, in Figure 2, the hardware configuration, functional configuration, and information are described together. Robot 200-1 has a
ロボット200-1のハードウエア構成を説明する。通信インタフェース部201は、演算装置400との通信を行う通信モジュールである。ロボット200-1は距離センサ202を用いて周囲のユーザとの距離情報を取得し、センサ情報211として保存する。距離センサ202はたとえば、奥行き(Depth)情報が付加されたカラー、すなわちRGBの情報である三次元点群を取得するRGB-Dセンサである。ただし距離センサ202はこれに限定されない。また、ロボット内部に含まれるセンサのみに限定されず、例えば外部に設置された監視カメラをセンサとして情報を取得してもよい。
The hardware configuration of the robot 200-1 will now be described. The
マイク203は、ユーザがロボット200-1に対して発話した音声を録音し、音声情報212として保存する。ロボット200-1はデータ送受信部207を介して演算装置400と通信を行い、取得したデータを送信、または演算装置400から送られたデータを受信する。スピーカー204は演算装置400から送られてきた発話音声情報を再生する。以上がロボット200-1のハードウエア構成の説明である。
The
ロボット200-1の機能構成を説明する。ロボット200-1が有する機能である動作指示解析部205、ロボット動作制御部206、データ送受信部207、距離決定部208、起動要求部209、および割当要求部210は、たとえば不図示のROMに格納されるプログラムをRAMに展開して実行することにより実現される。ただしプログラムは、不図示の不揮発性の記憶装置に格納されていてもよい。また、ロボット200-1が不図示の入出力インタフェースを備え、必要なときに入出力インタフェースとロボット200-1が利用可能な媒体を介して、他の装置からプログラムが読み込まれてもよい。ここで媒体とは、たとえば入出力インタフェースに着脱可能な記憶媒体291、または通信媒体292、すなわち有線、無線、光などのネットワーク、または当該ネットワークを伝搬する搬送波やディジタル信号、を指す。
The functional configuration of the robot 200-1 will be described. The functions of the robot 200-1, namely, the motion
動作指示解析部205は、演算装置400から送られてきた動作指示を解析してロボット200が解釈できる形式に変換し、ロボット動作制御部206に出力する。ロボット動作制御部206は、受信した動作指示に従った動作、たとえば表情の変更や移動を行う。データ送受信部207は、通信インタフェース部201を利用して演算装置400とのデータの送受信を実現する。距離決定部208は、後述する処理で閾値として用いられる距離である監視距離を決定する。この監視距離は次のように利用される。すなわちユーザがロボット200に対して監視距離よりも近づいた場合に認識プロセス601の起動を開始することで、ユーザが発話を開始した際には即座に音声認識を開始することができる。
The motion
距離決定部208は、演算装置400から受信する認識プロセス601の起動に必要な時間であるプロセス起動時間と、ユーザとロボット200との相対速度とを用いて、監視距離を算出する。ただし本実施の形態ではロボット200は移動しないので、相対速度の代わりに、予めロボット200に保存される人歩行速度情報213を用いる。たとえば認識プロセス601のプロセス起動時間が5秒、ユーザの歩行速度が1秒あたり1mの場合に、距離決定部208は監視距離を5mと決定する。なお、認識プロセス601の起動必要時間は予めロボットに保存してあったデータを利用してもよい。
The
起動要求部209は、距離決定部208から得られた監視距離と、距離センサ202で取得したロボット200-1から周囲のユーザまでの距離情報とを比較する。起動要求部209は、ロボット200-1から監視距離以内にユーザが侵入したと判断する場合に認識プロセス601の起動要求を演算装置400に送信する。なお起動要求は、ユーザとの音声対話が発生する可能性を示す情報とも呼べる。また、起動要求を受信した演算装置400は認識プロセス601の起動のためにリソースの確保を行うので、起動要求はリソース制御情報とも呼べる。
The
また起動要求部209は、監視距離以内に存在していたユーザがロボット200-1から監視距離よりも遠くに移動したと判断する場合に認識プロセス601の停止要求を演算装置400に送信する。割当要求部210は、ユーザが発話を開始すると認識プロセス601の割当要求を演算装置400に送信し、ユーザの発話が終了すると認識プロセス601の割当解除要求を演算装置400に送信する。以上がロボット200-1の機能構成の説明である。
In addition, the
ロボット200-1に格納される情報を説明する。センサ情報211は、距離センサ202を用いて取得された、周囲のユーザとの距離情報である。音声情報212は、マイク203を用いて取得された、ユーザがロボット200-1に対して発話した音声を録音したものである。
The information stored in the robot 200-1 will now be described. The
人歩行速度情報213は、ユーザが歩行する速度の情報であり、予め保存される。人歩行速度情報213は、予め保存してあるデータだけではなく、距離センサ202の出力を解析した結果など、新しく取得した値を利用してもよい。テナント地図情報214は、テナント100における壁、柱、および棚などの固定物の三次元点群の情報である。テナント地図情報214は、起動要求部209がユーザとロボット200との距離を判別する際に利用される。以上がロボット200-1に格納される情報の説明である。
The human
図3は演算装置400と入出力装置の関係を示す図である。クラウド300にはネットワーク110に接続される通信インタフェース部301が備えられる。ネットワーク110には入力装置302および出力装置303が接続される。入力装置302はたとえば、キーボード、マウス、タッチパネルなどである。出力装置303はたとえば、液晶ディスプレイである。オペレータは、入力装置302を用いて演算装置400に動作指令を行い、演算装置400による演算の結果を出力装置303を用いて確認できる。
Figure 3 is a diagram showing the relationship between the
図4は演算装置400の構成を示す図である。ただし図4には、演算装置400の機能構成と演算装置400に格納される情報とが示されている。演算装置400はその機能として、サーバ通信部401、音声認識部600、対話処理部403、音声合成部404、指示部405、時間測定部406、プロセス制御部407、プロセス停止部408、タスク受付部409、およびタスク制御部410を備える。演算装置400には、対話定義情報412、動作シナリオ情報413、音声認識処理情報414、および寿命情報415が格納される。
Figure 4 is a diagram showing the configuration of the
演算装置400が有する機能を説明する。サーバ通信部401は通信インタフェース部301及びネットワーク110を介してロボット200と相互に通信を行い、音声データ等をやり取りする。音声認識部600はロボット200から受信したデータを処理し、音声データをテキストデータへ変換する。音声認識部600の詳細な構成については後述する。
The functions of the
対話処理部403は対話定義情報412を用いて、音声認識部402によって得られたテキストデータに応答するテキストを出力する。音声合成部404は、対話処理部403によって出力された応答テキストを音声データに変換する。指示部405は、音声合成部404によって生成されたデータ、および動作シナリオ情報413に従ってロボットに発話や動作を実行させる指示を生成する。さらに指示部405は、サーバ通信部401を介してロボット200に対して生成した指示を送信する。
The
時間測定部406は、認識プロセス601に対する起動指示から、認識プロセス601による音声認識処理が処理開始できるまでの時間を測定する。この時間については後に具体例を用いて改めて説明する。時間測定部406はたとえば、何度か測定を行い最長の時間をプロセス起動時間としてロボット200に送信する。なおプロセス起動時間は、時間測定部406が測定する代わりに、演算装置400のオペレータが予め測定した値を入力装置302から入力して用いてもよい。
The
プロセス制御部407はロボット200から受信した認識プロセス601の起動要求、停止要求、割当要求、および割当解除要求にしたがって認識プロセス601を制御する。プロセス制御部407の動作の詳細は後述する。プロセス停止部408は、所定の時間以上停止している認識プロセス601を停止させる。タスク受付部409は、入力装置302を介してロボット200へユーザからの指示を受け付け、タスク制御部410は受け付けた処理を実行する。以上が、演算装置400が有する機能の説明である。
The
演算装置400に格納される情報を説明する。対話定義情報412は、ユーザとロボット200との対話を成立させるための複数組の文章である。対話定義情報412はたとえば質問と回答の組合せであり、演算装置400はユーザの発話する質問に対する回答を出力する。動作シナリオ情報413には、状況ごとにロボット200が行うべき動作が記載されている。動作シナリオ情報413にはたとえば、ユーザが特定の一連の発話を行った場合に、ロボット200が特定の動作、たとえば移動およびあらかじめ定められたポーズをとることが記載される。
The information stored in the
音声認識処理情報414には待機管理テーブル700、数管理テーブル800、および割当管理テーブル900が格納される。これらのテーブルについては後述する。寿命情報415は、プロセス停止部408が認識プロセス601を停止する際に参照する起動時間のしきい値である。寿命情報415は、管理者により予め登録される。
The voice
図5は演算装置400を実現するコンピュータ500のハードウエア構成を示す図である。演算装置400は、1または複数のコンピュータ500により構成される。コンピュータ500は、CPU(Central Processing Unit)に代表される演算装置501、RAM(Random Access Memory)等のメモリ502、入力装置503、出力装置504、メモリコントローラ505、およびI/O(Input/Output)コントローラ506を備える。演算装置501、メモリ502、入力装置503、出力装置504、およびI/Oコントローラ506は、メモリコントローラ505を介して相互に接続される。入力装置503はたとえば、キーボード、マウス、タッチパネルなどである。出力装置504はたとえば、外部ディスプレイモニタに接続されたビデオグラフィックカードなどである。
Figure 5 is a diagram showing the hardware configuration of a
コンピュータ500は、演算装置400の各プログラムがI/Oコントローラ506を介してSSDやHDD等の外部記憶装置508から読み出す。そしてこれらのプログラムを演算装置501およびメモリ502が協働して実行することにより、演算装置400の機能が実現される。また、コンピュータ500が不図示の入出力インタフェースを備え、必要なときに入出力インタフェースとコンピュータ500が利用可能な媒体を介して、他の装置からプログラムが読み込まれてもよい。ここで媒体とは、たとえば入出力インタフェースに着脱可能な記憶媒体591、または通信媒体592、すなわち有線、無線、光などのネットワーク、または当該ネットワークを伝搬する搬送波やディジタル信号、を指す。
In the
図6は音声認識部600の構成の一例を示す図である。音声認識部600は、任意の数の認識プロセス601と、言語モデル602と、ロードバランサ603と、コントローラ604とを備える。コントローラ604は、プロセス制御部407およびプロセス停止部408の動作指示に従って認識プロセス601の起動および停止を実行する。認識プロセス601は、それぞれのロボット200から受信した音声データをテキストデータに変換する処理を行うプロセスの総称である。本実施の形態では個々の認識プロセス601には枝番を付して、認識プロセス601-1、認識プロセス601-2、・・などと呼ぶ。
Figure 6 is a diagram showing an example of the configuration of the
言語モデル602は、音声データをテキストデータに変換するための辞書の役割を有する。ロードバランサ603は、ロボット200から送られてきた音声データを、後述する割当管理テーブル900を参照していずれかの認識プロセス601に送信する。
The
認識プロセス601-1の起動を例に、認識プロセス601を詳しく説明する。コントローラ604は、演算プロセスの起動を指示されると、音声認識処理のプログラムをROMなどから読みこみ、メモリ502に領域を確保して展開し、言語モデル602のマウントや各種の初期化処理を実行して認識プロセス601-1として動作させる。データの読み込みや各種の初期化処理が完了すると、認識プロセス601-1は起動完了となり、任意のロボット200に対して割り当てが可能となる。
The
認識プロセス601-1は、いずれかのロボット200に対して割り当てられるとそのロボット200から出力された音声を受け取り、音声認識処理を実行する。コントローラ604は、後述する処理により認識プロセス601-1を停止させることを決定すると、メモリ502に確保した認識プロセス601-1の領域を解放する。
When the recognition process 601-1 is assigned to one of the
コントローラ604が認識プロセス601の起動指示を受けてから、新たな認識プロセス601の起動が完了するまでの時間が、時間測定部406が計測する時間である。コントローラ604は、再び演算プロセスの起動を指示されると、先ほどと同一の音声認識処理のプログラムを読みこみ、メモリ502の先ほどとは異なる領域に展開し、認識プロセス601-2として動作させる。
The time measured by the
すなわち認識プロセス601-1、認識プロセス601-2、・・などのそれぞれは、同一のプログラムコードを用いて生成された、音声認識プログラムの異なる実体である。本実施の形態では、それぞれの認識プロセス601には異なるロボット200からの音声データが入力されるので、音声データが入力された後では、それぞれの認識プロセス601のメモリ内の情報は一致しない。
In other words, each of the recognition processes 601-1, 601-2, ... is a different instance of a voice recognition program generated using the same program code. In this embodiment, voice data from
認識プロセス601-1は、1台のロボット200から送信された音声データを処理する。認識プロセス601-1は、ある1台のロボット200から送信された音声データの処理が完了すれば、別な1台のロボット200から送信された音声データの処理は可能である。しかし認識プロセス601-1は、同時に2台のロボット200から送信された音声データは処理できない。
The recognition process 601-1 processes voice data transmitted from one
コントローラ604によるそれぞれの認識プロセス601の起動は、それぞれの認識プロセス601の「生成」とも呼べる。また、コントローラ604によるそれぞれの認識プロセス601の停止は、それぞれの認識プロセス601の「削除」とも呼べる。それぞれの認識プロセス601は、デプロイされたプログラム、インスタンス、プロセス、コンテナ、などとも呼ばれる。認識プロセス601は、Linux(登録商標)のコンテナ技術を用いて実現することもできるし、仮想マシンを用いて実現してもよい。また図6に示す構成は概念的な構成にすぎず、パブリッククラウドのSoftware-as-a-Service(以下、「SaaS」と記載する)を利用して、それぞれの認識プロセス601を個別のインスタンスとして起動してもよい。
The activation of each
(データ)
図7は起動中のそれぞれの認識プロセス601を管理する待機管理テーブル700の一例を示す図である。待機管理テーブル700は複数のレコードから構成され、各レコードは処理ID701、ステータス702、および待機時間703のフィールドを有する。処理ID701には、それぞれの認識プロセス601に割り当てられるユニークなIDが格納される。処理ID701に格納する値は、たとえば認識プロセス601がプログラムの実行により実現される場合にそのプロセスのプロセスID番号を用いてもよい。ステータス702には、それぞれの認識プロセス601の割当状況、つまり現時点で音声認識処理に実際に利用されているか否かを示す情報が格納される。
(data)
7 is a diagram showing an example of a standby management table 700 that manages each running
プロセス制御部407は、利用可能ないずれかの認識プロセス601を、あるロボット200に占有させるために割当状態に遷移させ、あるロボット200による音声認識処理が不要になると解除状態に遷移させる。待機時間703のフィールドには、それぞれの認識プロセス601において、ステータス702が待機状態に移行してからの経過時間を示す情報が格納される。図7に示す例では、経過時間そのものを待機時間703のフィールドに格納しているが、待機状態に遷移した時刻を格納し、必要な場合に現在時刻と待機時間703のフィールドの値とを比較させてもよい。
The
図8はプロセス制御部407が使用する数管理テーブル800の一例を示す図である。数管理テーブル800は、起動数801、割当数802、および予約数803のフィールドを有するレコードを1つのみ有する。起動数801のフィールドには、現在起動しているそれぞれの認識プロセス601の数が格納される。割当数802のフィールドには、ロボット200から発行された割当要求に従い割り当てられている認識プロセス601の数が格納される。予約数803のフィールドには、まだ認識プロセス601が割り当てられておらず、短時間のうちに音声認識処理が必要になることが想定されるロボット200の数が格納される。
Figure 8 is a diagram showing an example of a number management table 800 used by the
なお以下では、”起動数801のフィールドに格納される値”のことを起動数801と呼ぶこともあり、”割当数802のフィールドに格納される値”のことを割当数802と呼ぶこともあり、”予約数803のフィールドに格納される値”のことを予約数803と呼ぶこともある。
Note that below, the "value stored in the field of
図9はロボットに対する認識プロセス601の割当情報を管理する割当管理テーブル900の一例を示す図である。割当管理テーブル900は複数のレコードから構成され、各レコードは、割当要求ID901、ロボットID902、および処理ID701のフィールドを有する。処理ID701のフィールドには、図7に例示した待機管理テーブル700の処理ID701と同様の情報が格納されるのでここでは説明を省略する。
Figure 9 shows an example of an allocation management table 900 that manages allocation information for the
割当要求ID901には、それぞれのロボット200に対して発話を開始した際に発行される割当要求それぞれに設定されるユニークなIDが格納される。ロボットID902には、ロボット200にそれぞれ設定されるユニークなIDが格納される。プロセス制御部407が割当要求を受信すると、要求元のロボット200と割り当てる認識プロセス601を紐付けて割当要求IDを付与し、割当管理テーブル900に登録する。
In the
(ロボットの処理を示すフローチャート)
図10~図12を参照してロボット200に共通して備えられる各機能の処理を詳しく説明する。ただし図10~図12の説明では、特定のロボット200であるロボット200-1が各フローチャートを実行するとして説明を行う。
(Flowchart showing the robot's processing)
The processing of each function commonly provided to the
図10は、ロボット200に備えられる起動要求部209の処理を示すフローチャートである。起動要求部209は、ロボット200-1の起動が完了すると処理を開始する。起動要求部209は、まずステップS1001において、距離決定部208から監視距離の情報、たとえば「5m」を取得する。次にステップS1002では起動要求部209は、距離センサ202により取得された距離情報を取得する。続くステップS1091では、後述するユーザ検出処理により、ステップS1001で取得した監視範囲に存在するユーザを検出する。
Figure 10 is a flowchart showing the processing of the
続くステップS1003では起動要求部209は、ロボット200-1から監視距離の範囲にユーザが存在すると判断する場合にはステップS1004へ進む。起動要求部209は、ロボット200-1から監視距離の範囲にユーザがいないと判断する場合にはステップS1002へ戻る。ステップS1004では起動要求部209は、演算装置400に向けて認識プロセス601の起動要求を送信する。続くステップS1005では起動要求部209は、ステップS1002と同様に距離センサ202により取得された距離情報を取得する。続くステップS1092では起動要求部209は、ステップS1091と同様のユーザ検出処理を行いステップS1006に進む。
In the following step S1003, if the
ステップS1006では起動要求部209は、ロボット200-1から監視距離の範囲にユーザが存在するか否か、換言するとステップS1003において監視範囲内に存在すると判断したユーザが、まだ監視範囲内にとどまっているか否かを判断する。起動要求部209は、ユーザが監視範囲内に存在すると判断する場合はステップS1005に戻り、ユーザが監視範囲内に存在しないと判断する場合はステップS1007に進む。ステップS1007では起動要求部209は、認識プロセス601の停止要求を演算装置400へ送信する。続くステップS1008では起動要求部209は、ロボット200-1が停止処理中であるか否かを判断し、停止処理中であると判断する場合には図10に示す処理を終了し、停止処理中ではないと判断する場合にはステップS1002に戻る。
In step S1006, the
図11は、図10のステップS1091やステップS1092に示したユーザ検出処理の詳細を示すフローチャートである。ステップS1101では起動要求部209は、テナント地図情報214の点群情報を取得する。ステップS1102では起動要求部209は、テナント地図情報214を基に現在のロボット200-1の位置を特定する。なおロボット200-1が移動しない場合は、固定の位置座標を用いてもよい。次にステップS1103では起動要求部209は、距離センサ202で取得した三次元点群情報から監視距離の外側に位置する点群を削除する。
Figure 11 is a flowchart showing the details of the user detection process shown in steps S1091 and S1092 of Figure 10. In step S1101, the
続くステップS1104では起動要求部209は、テナント地図情報214と三次元点群情報とを照らし合わせ、壁や柱などの固定物に相当する点群を削除する。ステップS1103およびステップS1104の処理により、ロボット200-1が取得した点群内に含まれる固定物の情報が削除されるため、監視範囲内にユーザが存在する場合にはその点群のみが残る。ステップS1105では起動要求部209は、ステップS1104の処理後に点群が残っていると判断する場合にはステップS1106へ進み、点群が残っていないと判断する場合はステップS1107に進む。
In the following step S1104, the
ステップS1106では起動要求部209は、監視範囲内にユーザを検出した旨の検出結果を出力して図11に示す処理を終了する。ステップS1107では起動要求部209は、監視範囲内にユーザを検出しなかった旨の検出結果を出力して図11に示す処理を終了する。
In step S1106, the
図12は割当要求部210の処理を示すフローチャートである。割当要求部210は、ユーザの発話開始を検出すると図12に示す処理を実行する。発話の開始はたとえば、マイク203に入力される音の大きさがあらかじめ定めた閾値よりも大きくなったことで検出できる。ステップS1202では起動要求部209は、演算装置400に対して認識プロセス601の割当要求を送る。ステップS1203起動要求部209は、ユーザの対話終了を検知したか否かを判断する。
Figure 12 is a flowchart showing the processing of the
対話終了の検知はたとえば、センサを用いてロボット200-1の正面にいたユーザの移動を検知することや、ユーザの発話終了後に一定時間が経過してもユーザから次の発話がないことの検知で実現できる。起動要求部209はユーザの対話終了を検知したと判断する場合にはステップS1204に進み、ユーザの対話終了を検知していないと判断する場合にはステップS1203に留まる。ステップS1204では起動要求部209は、演算装置400に対して認識プロセス601の割当解除要求を送信する。
The end of the dialogue can be detected, for example, by using a sensor to detect the movement of the user who was in front of the robot 200-1, or by detecting that the user does not make a next utterance even after a certain time has passed since the user finished speaking. If the
なおステップS1202およびS1204では、起動要求部209が演算装置400に対して送信する情報には送信元であるロボット200-1を特定可能な情報が含まれている。たとえば通信プロトコルにTCP/IPを用いる場合には、IPパケットのヘッダに含まれる送信元のIPアドレスがロボット200-1を示すものであることにより演算装置400は送信元のロボット200を特定できる。また通信プロトコルに送信者を特定する情報が含まれないCAN(登録商標)などの場合には、ロボット200-1はペイロードにロボット200-1を示す識別子を追加する。
In steps S1202 and S1204, the information sent by the
(演算装置の処理を示すフローチャート)
図13~図15を参照して演算装置400が備える機能の処理を詳しく説明する。ただし図13~図15の説明では、割当要求、解除要求、起動要求、および停止要求を送信したロボット200がロボット200-1であるとして説明する。
(Flowchart showing the processing of the arithmetic device)
The processing of the functions of the
図13および図14は、演算装置400に含まれるプロセス制御部407の処理を示すフローチャートである。演算装置400は、ロボット200-1から何らかの要求、具体的には割当要求、解除要求、起動要求、および停止要求のいずれかを受信すると図13に示す処理を開始する。
Figures 13 and 14 are flowcharts showing the processing of the
ステップS1301では演算装置400は、受信した要求が割当要求および解除要求のいずれかであると判断すると、「A」に進み図14に示す処理を実行する。演算装置400は、受信した要求が割当要求および解除要求のいずれでもないと判断する場合はステップS1302に進む。ステップS1302ではプロセス制御部407は、受信した要求が起動要求であるか否かを判断し、起動要求であると判断する場合にはステップS1303に進み、起動要求ではない、すなわち停止要求であると判断する場合はステップS1308に進む。
In step S1301, if the
ステップS1303ではプロセス制御部407は、数管理テーブル800を読み込み、次に説明する空処理数を算出する。空処理数とは、起動数801から割当数802および予約数803を引いた値である。図8に示す数管理テーブル800の例では、起動数801が「3」、割当数802が「1」、予約数803が「1」なので、空処理数は、「3」から「2」を引いて「1」となる。続くステップS1304ではプロセス制御部407は、空処理数が1以上であると判断する場合はステップS1305に進み、空処理数がゼロであると判断する場合はステップS1306に進む。ステップS1305ではプロセス制御部407は、数管理テーブル800の予約数803を「1」だけ増やして図13に示す処理を終了する。
In step S1303, the
ステップS1306ではプロセス制御部407は、認識プロセス601を起動し、起動した認識プロセス601の情報を待機管理テーブル700に登録する。続くステップS1307ではプロセス制御部407は、数管理テーブル800の起動数801および予約数803をそれぞれ「1」だけ増やして図13に示す処理を終了する。ステップS1308ではプロセス制御部407は、数管理テーブル800の予約数803を「1」だけ減らして図13に示す処理を終了する。
In step S1306, the
図14は、図13においてステップS1301において肯定判断される場合に実行される「A」の処理を示すフローチャートである。まずステップS1402ではプロセス制御部407は、受信した要求が割当要求であるか否かを判断し、割当要求であると判断する場合にはステップS1403に進み、割当要求ではない、すなわち割当解除要求であると判断する場合はステップS1408に進む。ステップS1403ではプロセス制御部407は、待機管理テーブル700を参照してデータを取得する。
Figure 14 is a flowchart showing the processing of "A" that is executed when a positive judgment is made in step S1301 in Figure 13. First, in step S1402, the
続くステップS1404ではプロセス制御部407は、待機管理テーブル700の中から、ステータス702のフィールドの値が「待機」であり、かつ待機時間703のフィールドの値が最も小さい、換言すると待機している時間が最も短いレコードを選択する。そしてプロセス制御部407は、そのレコードのステータス702のフィールドの値を「割当」に変更する。続くステップS1405ではプロセス制御部407は、ステップS1404で選択したレコードの処理ID701の値で特定される認識プロセス601に対して、ロボット200-1から送信された音声情報を送るようにロードバランサ603に指示をする。
In the next step S1404, the
続くステップS1406ではプロセス制御部407は、割当要求を送信したロボット200-1のロボットIDと、選択した認識プロセス601のIDとを割当管理テーブル900の新たなレコードを追加して記録する。最後にステップS1407においてプロセス制御部407は、数管理テーブル800の割当数802の値を「1」増やし、予約数803を「1」減らして、図14に示す処理を終了する。
In the next step S1406, the
ステップS1402において否定判断されると実行されるステップS1408ではプロセス制御部407は、割当管理テーブル900において、割当解除要求を送信したロボット200-1のロボットIDが含まれるレコードを特定する。続くステップS1409ではプロセス制御部407は、ステップS1408において特定したレコードにおけるステータス702のフィールドの値を「待機」に変更し、待機時間703のフィールドの値を「0」に変更する。続くステップS1410ではプロセス制御部407は、割当管理テーブル900から該当の登録を削除する。最後にプロセス制御部407は、ステップS1411にて数管理テーブル800の割当数802を「1」減らし、予約数803を「1」増して図14に示す処理を終了する。
In step S1408, which is executed if a negative judgment is made in step S1402, the
図15はプロセス停止部408の処理を示すフローチャートである。プロセス停止部408はたとえば、10秒、1分、10分などの所定の時間ごとに、図15に示す処理を実行する。まずステップS1501ではプロセス停止部408は、待機管理テーブル700の全レコードの待機時間703のフィールドの値を読み込む。続くステップS1502ではプロセス停止部408は、ステップS1501で読み込んだレコードのうち、待機時間703のフィールドの値が予め設定された閾値以上の値を有するレコードを特定する。さらにプロセス停止部408は、その特定したレコードに記載された処理ID701で特定される認識プロセス601を停止させる。
Figure 15 is a flowchart showing the processing of the
続くステップS1503ではプロセス停止部408は、ステップS1502において停止させた認識プロセス601の数だけ、数管理テーブル800における起動数801の値を減らす。最後にステップS1504においてプロセス停止部408は、待機管理テーブル700からステップS1502において停止した認識プロセス601が記載されているレコードを削除して図15に示す処理を終了する。
In the next step S1503, the
上述した第1の実施の形態によれば、次の作用効果が得られる。
(1)演算装置400は、ユーザとの音声対話が発生する可能性を示すリソース制御情報、および音声情報を送信する複数のロボット200と通信するサーバ通信部401と、ロボット200から受信する音声情報を文字情報に変換する認識プロセス601を複数実行可能な音声認識部600と、ロボット200から受信するリソース制御情報を用いて認識プロセス601の起動数を管理し、認識プロセス601の起動および停止を行うプロセス制御部407およびプロセス停止部408とを備える。そのため演算装置400は、ユーザがロボット200に近づくと認識プロセス601が起動されるので、ユーザが発話してから認識プロセス601による音声認識が開始されるまでの時間を短縮できる。
According to the above-described first embodiment, the following advantageous effects can be obtained.
(1) The
本実施の形態で説明したように、監視距離は人間の歩行速度を用いて決定しているので、ほとんどのケースでユーザがロボット200の近くに到着した際には認識プロセス601の起動は完了している。しかし途中からユーザがロボット200に走って近づいた場合や、ユーザが遠くからロボット200に対して発話を行った場合には、発話が行われるタイミングでは認識プロセス601が起動中である可能性もある。しかしそのような場合であっても、すでに認識プロセス601の起動は開始されているので、ユーザが発話してから認識プロセス601による音声認識が開始されるまでの時間を短縮できる効果を有する。
As explained in this embodiment, the monitoring distance is determined using the walking speed of a human, so in most cases, the activation of the
なお、ユーザの存在有無にかかわらず認識プロセス601を予め起動しておき、音声情報を受信すると即座に音声認識処理を開始しつつ新たな認識プロセス601をさらに起動する手法も考えられる。しかしこの場合は、少なくとも1つの認識プロセス601を常にアイドル状態で起動するのでリソースの浪費となる。認識プロセス601を実行するコンピュータ500が、認識プロセス601以外のアプリケーションにも利用している場合にはそのアプリケーションが利用可能なリソースを減少させるデメリットがある。また認識プロセス601がSaaSを利用している場合には、アイドル状態で待機させる認識プロセス601の利用料金が余計な支出となるデメリットがある。そのため、このようなデメリットが生じない本実施の形態の手法に優位性がある。
It is also possible to start the
(2)リソース制御情報には、ロボット200がユーザとの距離に基づき出力する認識プロセスの起動要求が含まれる。プロセス制御部407は、ロボットが送信する起動要求に基づき認識プロセス601を起動し、起動した認識プロセス601をロボット200に割当てることでロボットが送信する音声情報を文字情報に変換する。そのため、すでに起動している認識プロセス601をロボット200-1に割り当てることができるので、ユーザが監視距離のそばなどロボット200-1から離れた位置から発話した場合にも、即座に音声認識処理を開始することができる。
(2) The resource control information includes a request to start a recognition process that the
(3)プロセス制御部407は、ロボット200-1から認識プロセス601の割当要求を受信した場合に(図14のS1402:YES)、ステップS1403~S1407の処理によりロボット200-1に認識プロセス601を割り当てる。これは割当管理テーブル900を用いて管理される。
(3) When the
(4)プロセス停止部408は、ロボット200-1から認識プロセス601の割当解除要求を受信した場合に(図14のS1402:NO)、ステップS1408~S1411の処理によりロボット200-1に対する認識プロセス601の割当を解除する。
(4) When the
(5)音声入力装置でもあるそれぞれのロボット200は、受信した音声情報を文字情報に変換する認識プロセス601を複数実行可能な音声認識部600を備える演算装置400と通信可能なデータ送受信部207と、ユーザとの距離に基づき演算装置400に認識プロセス601の起動を要求する起動要求を送信する起動要求部209と、ユーザの発話を録音し音声情報として演算装置400に送信するデータ送受信部207と、を備える。
(5) Each
(6)ロボット200-1は、認識プロセス601の起動時間、およびユーザとロボット200-1との相対速度の積を監視距離として算出する距離決定部208を備える。ただし本実施の形態ではロボット200は移動しないので、相対速度の代わりに、予めロボット200に保存される人歩行速度情報213を用いる。起動要求部209は、図10のステップS1091、S1003、S1004に示すように、ユーザとロボット200-1との距離が監視距離以下の場合に起動要求を送信する。そのため、ユーザがロボット200-1に到達するときには認識プロセス601の起動が完了しており、即座に音声認識が開始できる。
(6) Robot 200-1 is equipped with
(7)ロボット200-1の起動要求部209は、ステップS1092、S1006、S1007に示すように、ユーザとロボット200-1との距離が監視距離よりも遠くなると認識プロセス601を停止させる停止要求を送信する。そのため演算装置400において認識プロセス601のために用いるリソースを適切に節約できる。
(7) As shown in steps S1092, S1006, and S1007, the
(変形例1)
上述した第1の実施の形態では、それぞれのロボット200が演算装置400に対して割当要求および割当解除要求を送信した。しかしそれぞれのロボット200は、割当要求および割当解除要求の少なくとも一方を送信しなくてもよい。ロボット200が割当要求を送信しない場合には、演算装置400はロボット200から音声情報を送信するたびに割当管理テーブル900を参照し、音声情報を送信したロボット200への認識プロセスの割当の有無を判断する。そして演算装置400は、音声情報を送信したロボット200に認識プロセスが割り当てられていないと判断する場合には、割当要求を受信した場合と同様の処理を行う。
(Variation 1)
In the first embodiment described above, each
ロボット200が割当解除要求を送信しない場合には、演算装置400は次の処理を行う。すなわち演算装置400は割当管理テーブル900を参照し、認識プロセス601が割り当てられており、かつ所定時間より長く音声情報を送信していないロボット200を特定して、そのロボット200に対する認識プロセス601の割り当てを解除する。
If the
この変形例1によれば、次の作用効果が得られる。
(8)プロセス制御部407は、認識プロセス601が割り当てられていないロボット200から音声情報を受信した場合にロボットに認識プロセスを割り当てる。そのため演算装置400は自発的に認識プロセス601の割り当てを実行することで、ロボット200の処理負荷を下げることができる。
According to the first modification, the following effects can be obtained.
(8) When the
(9)プロセス制御部407は、認識プロセス601が割り当てられたロボット200から所定時間より長く音声情報を受信しない場合にロボットに対する認識プロセスの割当を解除する。そのため演算装置400は自発的に認識プロセス601の割り当てを解除することで、ロボット200の処理負荷を下げることができる。
(9) The
(変形例2)
上述した第1の実施の形態では、演算装置400はそれぞれのロボット200に対して1つの認識プロセスのみを割当てた。しかし演算装置400は、それぞれのロボット200に対して複数の認識プロセスを割当てもよい。この場合にはそれぞれのロボット200は、そのロボット200から監視距離以内に存在するユーザの数に応じて起動要求を送信する。ロボット200は、音声が発せられる方向ごとに一意な識別子を付して音声情報を演算装置400に出力してもよい。
(Variation 2)
In the above-described first embodiment, the
たとえばロボット200-1は、左方向と右方向からそれぞれ音声が発せられると、左方向からの音声の音声情報には識別子として「200-1L」を付し、右方向からの音声の音声情報には識別子として「200-1R」を付して送信する。演算装置400は、「200-1L」と「200-1R」の識別子が付された音声情報を、それぞれ異なる認識プロセス601に割り振られるようにロードバランサ603に設定する。この変形例2によれば、それぞれのロボット200が複数のユーザから同時に話しかけられた場合にも即座に対応できる利点を有する。
For example, when robot 200-1 receives voices from the left and right directions, it assigns the identifier "200-1L" to the voice information of the voice from the left direction and the identifier "200-1R" to the voice information of the voice from the right direction and transmits the same. The
(変形例3)
上述した第1の実施の形態では、演算装置400はロボット200から認識プロセス601の停止要求を受けた場合に、図13のステップS1308に示すように予約数803を減少させるのみで認識プロセス601の停止は行わなかった。しかし演算装置400のプロセス停止部408は、ロボット200から認識プロセス601の停止要求を受けた場合に認識プロセス601を停止させてもよい。この場合にプロセス停止部408は、待機管理テーブル700を参照して待機時間703が最も長い認識プロセス601を停止させることが望ましい。
(Variation 3)
In the above-described first embodiment, when the
この変形例3によれば、次の作用効果が得られる。
(10)プロセス停止部408は、ロボット200から認識プロセス601を停止する要求を受信した場合に認識プロセス601を停止する。そのため、不要な認識プロセス601を早期に停止させてリソースをさらに節約できる。
According to the third modification, the following advantageous effects can be obtained.
(10) The
―第2の実施の形態―
図16~図17を参照して、認識システムの第2の実施の形態を説明する。以下の説明では、第1の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態と同じである。本実施の形態では、主に、ロボットがセンサ情報をそのまま演算装置に送信する点で、第1の実施の形態と異なる。第2の実施の形態における音声認識システムのハードウエア構成は第1の実施の形態と同様なので説明を省略する。
--Second embodiment--
A second embodiment of the recognition system will be described with reference to Figures 16 and 17. In the following description, the same components as in the first embodiment are given the same reference numerals, and differences will be mainly described. Points that are not particularly described are the same as in the first embodiment. This embodiment differs from the first embodiment mainly in that the robot transmits sensor information directly to the arithmetic unit. The hardware configuration of the voice recognition system in the second embodiment is the same as in the first embodiment, so description will be omitted.
図16は第2の実施の形態におけるロボット200-1の構成図であり、第1の実施の形態における図2に対応する。図16に示す構成は、第1の実施の形態に比べて距離決定部208、起動要求部209、および割当要求部210が含まれない点が異なる。
Figure 16 is a configuration diagram of robot 200-1 in the second embodiment, and corresponds to Figure 2 in the first embodiment. The configuration shown in Figure 16 differs from the first embodiment in that it does not include
図17は第2の実施の形態における演算装置400の構成図であり、第1の実施の形態における図4に対応する。図17に示す構成は、第1の実施の形態に比べて、距離決定部208、起動要求部209、割当要求部210、およびテナント地図情報214をさらに含む点が異なる。
Figure 17 is a configuration diagram of the
本実施の形態ではロボット200のそれぞれは、センサ情報をそのまま演算装置400に送信する。センサ情報を受信した演算装置400は、第1の実施の形態と同様に距離決定部208、起動要求部209、および割当要求部210を動作させることで、認識プロセス601の管理を行う。すなわち第2の実施の形態では、演算装置400は受信するセンサ情報を用いて認識プロセス601を制御するので、センサ情報を「リソース制御情報」と呼ぶことができる。
In this embodiment, each
上述した第2の実施の形態によれば、次の作用効果が得られる。
(11)リソース制御情報には、ロボットに搭載されるセンサの出力であるセンサ情報が含まれる。プロセス制御部407は、センサ情報を用いてロボット200から所定の監視距離以内に音声を発話するユーザが存在すると判断する場合に認識プロセス601を起動する。そのため、第1の実施の形態に比べてロボット200の処理負荷を軽減でき、リソースが少なく演算能力が低いハードウエアでも認識システムに用いることができる。
According to the above-described second embodiment, the following advantageous effects can be obtained.
(11) The resource control information includes sensor information that is the output of a sensor mounted on the robot. The
(12)リソース制御情報には、ロボット200に搭載されるセンサの出力であるセンサ情報が含まれる。プロセス制御部407は、ロボット200から所定の監視距離以内に存在していたユーザが、監視距離よりも遠くに移動したことをセンサ情報を用いて判断する場合に認識プロセスを停止する。そのため、第1の実施の形態に比べてロボット200の処理負荷を軽減でき、リソースが少なく演算能力が低いハードウエアでも認識システムに用いることができる。
(12) The resource control information includes sensor information, which is the output of a sensor mounted on the
(第2の実施の形態の変形例)
ロボット200-1のプロセス停止部408は、センサ情報を用いてユーザとロボット200-1との距離が、監視距離よりも遠い停止距離よりも遠いと判断する場合に認識プロセス601を停止してもよい。たとえば監視距離が10m、停止距離が15mの場合に、ユーザが遠方からロボット200-1に近づき、10m以内になると1つの認識プロセス601が新たに起動され、そのユーザが15mよりも遠くに移動すると1つの認識プロセス601が停止される。このとき停止される認識プロセス601は、待機時間が最も長い認識プロセス601である。
(Modification of the second embodiment)
The
―第3の実施の形態―
図18を参照して、認識システムの第3の実施の形態を説明する。以下の説明では、第1の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態と同じである。本実施の形態では、主に、ロボットが移動する点で、第1の実施の形態と異なる。
--Third embodiment--
A third embodiment of the recognition system will be described with reference to Fig. 18. In the following description, the same components as those in the first embodiment are denoted by the same reference numerals, and differences will be mainly described. Points that are not particularly described are the same as those in the first embodiment. This embodiment differs from the first embodiment mainly in the movement of the robot.
音声認識システムSのハードウエア構成および機能構成は、距離決定部208を除いて第1の実施の形態と同様である。そのため距離決定部208の動作のみを説明する。
The hardware configuration and functional configuration of the voice recognition system S are the same as those of the first embodiment, except for the
図18は、第3の実施の形態における距離決定部208の処理を示すフローチャートである。以下では、ロボット200-1が実行する距離決定部208の処理を説明する。ステップS1801では距離決定部208は、予め保存されている情報である人歩行速度情報213を読み込む。続くステップS1802では距離決定部208は、演算装置400からプロセス起動時間の情報を取得する。続くステップS1803では距離決定部208は、監視距離算出要求が発生した時点でのロボット200-1の移動速度を算出する。ロボット200-1の移動速度の算出は様々な手段を利用できるが、一例を挙げるとロボット200-1に付随する車輪の回転速度から算出することができる。
Figure 18 is a flowchart showing the processing of the
ステップS1804では距離決定部208は、プロセス起動時間、人歩行速度、およびロボット移動速度を用いて監視距離を算出する。プロセス起動時間が5秒、人歩行速度が毎秒1m、ロボット移動速度が毎秒0.5mだった場合は、(1m毎秒+0.5m毎秒)×5秒となり、監視距離は7.5mとなる。ただしこの場合に、ユーザおよびロボット200-1の進行方向を考慮して両者のベクトル和を相対速度としてもよいし、計算を簡略化し、かつ認識プロセス601の起動遅れを防止するために、両者の進行方向を考慮せずに両者の速度の和を相対速度としてもよい。
In step S1804, the
上述した第3の実施の形態によれば、次の作用効果が得られる。
(13)ロボット200-1は、認識プロセス601の起動時間、およびユーザとロボット200-1との相対速度の積を監視距離として算出する距離決定部208を備える。そのため、それぞれのロボット200の移動速度を考慮することにより、それぞれのロボット200が移動している場合でもユーザが発話する時点で音声認識処理を起動完了状態にすることができる。
According to the above-described third embodiment, the following advantageous effects can be obtained.
(13) The robot 200-1 includes a
上述した各実施の形態および変形例において、機能ブロックの構成は一例に過ぎない。別々の機能ブロックとして示したいくつかの機能構成を一体に構成してもよいし、1つの機能ブロック図で表した構成を2以上の機能に分割してもよい。また各機能ブロックが有する機能の一部を他の機能ブロックが備える構成としてもよい。特にプロセス制御部407およびプロセス停止部408は、両者の機能を併せ持つ1つの機能ブロックに統合してもよい。
In each of the above-mentioned embodiments and variants, the functional block configurations are merely examples. Several functional configurations shown as separate functional blocks may be configured together, or a configuration shown in a single functional block diagram may be divided into two or more functions. Also, some of the functions of each functional block may be provided by other functional blocks. In particular, the
上述した各実施の形態および変形例において、ロボットおよび演算装置が実行するプログラムは不図示のROMに格納されるとしたが、プログラムは不揮発性の記憶領域に格納されていてもよい。また、ロボットおよび演算装置が不図示の入出力インタフェースを備え、必要なときに入出力インタフェースとロボットおよび演算装置が利用可能な媒体を介して、他の装置からプログラムが読み込まれてもよい。ここで媒体とは、例えば入出力インタフェースに着脱可能な記憶媒体、または通信媒体、すなわち有線、無線、光などのネットワーク、または当該ネットワークを伝搬する搬送波やディジタル信号、を指す。また、プログラムにより実現される機能の一部または全部がハードウエア回路やFPGAにより実現されてもよい。 In the above-mentioned embodiments and variants, the programs executed by the robot and the computing device are stored in a ROM (not shown), but the programs may be stored in a non-volatile storage area. The robot and the computing device may also have an input/output interface (not shown), and the programs may be loaded from another device when necessary via the input/output interface and a medium available to the robot and the computing device. Here, the medium refers to, for example, a storage medium that is detachable from the input/output interface, or a communication medium, i.e., a network such as a wired, wireless, or optical network, or a carrier wave or digital signal that propagates through the network. Some or all of the functions realized by the programs may be realized by a hardware circuit or an FPGA.
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。 The above-mentioned embodiments and modifications may be combined with each other. Although various embodiments and modifications have been described above, the present invention is not limited to these. Other aspects that are conceivable within the scope of the technical concept of the present invention are also included within the scope of the present invention.
200…ロボット
208…距離決定部
209…起動要求部
210…割当要求部
213…人歩行速度情報
400…演算装置
401…サーバ通信部
402…音声認識部
407…プロセス制御部
408…プロセス停止部
601…認識プロセス
700…待機管理テーブル
800…数管理テーブル
900…割当管理テーブル
200...
Claims (10)
前記ロボットから受信する前記音声情報を文字情報に変換する認識プロセスを複数実行可能な音声認識部と、
前記ロボットから受信する前記リソース制御情報を用いて前記認識プロセスの起動数を管理し、前記認識プロセスの起動および停止を行うプロセス制御部とを備える演算装置。 a server communication unit that communicates with a plurality of robots that transmit resource control information indicating the possibility of a voice dialogue with a user and voice information;
a voice recognition unit capable of executing a plurality of recognition processes for converting the voice information received from the robot into text information;
a process control unit that uses the resource control information received from the robot to manage the number of recognition processes being activated and activates and stops the recognition processes.
前記リソース制御情報には、前記ロボットがユーザとの距離に基づき出力する前記認識プロセスの起動要求が含まれ、
前記プロセス制御部は、前記ロボットが送信する前記起動要求に基づき前記認識プロセスを起動し、起動した前記認識プロセスを前記ロボットに割当てることで前記ロボットが送信する音声情報を文字情報に変換する演算装置。 2. The computing device according to claim 1,
the resource control information includes a request to start the recognition process, which is output by the robot based on a distance between the robot and a user;
The process control unit is a calculation device that activates the recognition process based on the activation request transmitted by the robot, and converts voice information transmitted by the robot into text information by assigning the activated recognition process to the robot.
前記プロセス制御部は、前記ロボットから前記認識プロセスの割当要求を受信した場合、および前記認識プロセスが割り当てられていない前記ロボットから音声情報を受信した場合の少なくとも一方の場合に前記ロボットに前記認識プロセスを割り当てる演算装置。 3. The computing device according to claim 2,
The process control unit is a computing device that assigns the recognition process to the robot when at least one of a request for assignment of the recognition process is received from the robot and when voice information is received from the robot to which the recognition process is not assigned.
前記プロセス制御部は、前記ロボットから前記認識プロセスの割当解除要求を受信した場合、および前記認識プロセスが割り当てられた前記ロボットから所定時間より長く音声情報を受信しない場合の少なくとも一方の場合に前記ロボットに対する前記認識プロセスの割当を解除する演算装置。 4. The computing device according to claim 3,
The process control unit is a computing device that releases the allocation of the recognition process to the robot in at least one of the following cases: when a request to release the recognition process from the robot is received, and when no voice information is received from the robot to which the recognition process is allocated for a predetermined period of time.
前記リソース制御情報には、前記ロボットに搭載されるセンサの出力であるセンサ情報が含まれ、
前記プロセス制御部は、前記センサ情報を用いて前記ロボットから所定の監視距離以内に音声を発話するユーザが存在すると判断する場合に前記認識プロセスを起動する演算装置。 2. The computing device according to claim 1,
the resource control information includes sensor information that is an output of a sensor mounted on the robot;
The process control unit is a computing device that initiates the recognition process when it determines, using the sensor information, that a user speaking is present within a predetermined monitoring distance from the robot.
前記プロセス制御部は、前記ロボットから前記認識プロセスを停止する要求を受信した場合に前記認識プロセスを停止する演算装置。 2. The computing device according to claim 1,
The process control unit is a computing device that stops the recognition process when a request to stop the recognition process is received from the robot.
前記リソース制御情報には、前記ロボットに搭載されるセンサの出力であるセンサ情報が含まれ、
前記プロセス制御部は、前記ロボットから所定の監視距離以内に存在していたユーザが、前記監視距離よりも遠くに移動したことを前記センサ情報を用いて判断する場合に前記認識プロセスを停止する演算装置。 2. The computing device according to claim 1,
the resource control information includes sensor information that is an output of a sensor mounted on the robot;
The process control unit is a computing device that stops the recognition process when it determines using the sensor information that a user who was within a predetermined monitoring distance from the robot has moved farther than the monitoring distance.
前記ロボットから受信する前記音声情報を文字情報に変換する認識プロセスを複数実行可能な音声認識処理と、
前記ロボットから受信する前記リソース制御情報を用いて前記認識プロセスの起動数を
管理し、前記認識プロセスの起動および停止を行うプロセス制御処理とを実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。 A computer having a server communication unit that communicates with a plurality of robots that transmit resource control information indicating a possibility of a voice dialogue with a user and voice information,
a voice recognition process capable of executing a plurality of recognition processes for converting the voice information received from the robot into text information;
A computer-readable recording medium having recorded thereon a program for executing a process control process that manages the number of recognition processes started using the resource control information received from the robot and starts and stops the recognition processes.
ユーザとの距離に基づき前記演算装置に前記認識プロセスの起動を要求する起動要求を送信する起動要求部と、
前記ユーザの発話を録音し前記音声情報として前記演算装置に送信する送信部と、を備える音声入力装置であって、
前記認識プロセスの起動時間、および前記ユーザと当該音声入力装置との相対速度の積を監視距離として算出する距離決定部をさらに備え、
前記起動要求部は、前記ユーザと当該音声入力装置との距離が前記監視距離以下の場合に前記起動要求を送信する音声入力装置。 a robot communication unit capable of communicating with a computing device having a voice recognition unit capable of executing a plurality of recognition processes for converting received voice information into text information;
an activation request unit that transmits an activation request to the arithmetic device to request activation of the recognition process based on a distance to a user;
A voice input device comprising: a transmitting unit that records an utterance of the user and transmits the utterance as the voice information to the arithmetic device,
a distance determination unit that calculates a monitoring distance by multiplying an activation time of the recognition process by a relative speed between the user and the voice input device;
The activation request unit is a voice input device that transmits the activation request when the distance between the user and the voice input device is equal to or less than the monitoring distance.
前記起動要求部は、前記ユーザと当該音声入力装置との距離が前記監視距離よりも遠くなると前記認識プロセスを停止させる停止要求を送信する音声入力装置。 10. The voice input device according to claim 9,
The voice input device, wherein the start request unit transmits a stop request to stop the recognition process when the distance between the user and the voice input device becomes greater than the monitoring distance.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019206587A JP7465075B2 (en) | 2019-11-14 | 2019-11-14 | Calculation device, recording medium, voice input device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019206587A JP7465075B2 (en) | 2019-11-14 | 2019-11-14 | Calculation device, recording medium, voice input device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021081482A JP2021081482A (en) | 2021-05-27 |
JP7465075B2 true JP7465075B2 (en) | 2024-04-10 |
Family
ID=75964976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019206587A Active JP7465075B2 (en) | 2019-11-14 | 2019-11-14 | Calculation device, recording medium, voice input device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7465075B2 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014202800A (en) | 2013-04-02 | 2014-10-27 | パイオニア株式会社 | Voice recognition control device |
JP2018013545A (en) | 2016-07-19 | 2018-01-25 | トヨタ自動車株式会社 | Voice interactive device and speech production control method |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0242493A (en) * | 1988-08-02 | 1990-02-13 | Toshiba Corp | Voice input device |
-
2019
- 2019-11-14 JP JP2019206587A patent/JP7465075B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014202800A (en) | 2013-04-02 | 2014-10-27 | パイオニア株式会社 | Voice recognition control device |
JP2018013545A (en) | 2016-07-19 | 2018-01-25 | トヨタ自動車株式会社 | Voice interactive device and speech production control method |
Also Published As
Publication number | Publication date |
---|---|
JP2021081482A (en) | 2021-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3410435B1 (en) | Electronic apparatus for recognizing keyword included in your utterance to change to operating state and controlling method thereof | |
US10803862B2 (en) | Electronic device and method for processing user speech | |
US11145302B2 (en) | System for processing user utterance and controlling method thereof | |
KR102098136B1 (en) | Select device to provide response | |
US20220130388A1 (en) | Electronic device for processing user speech and operating method therefor | |
US10909982B2 (en) | Electronic apparatus for processing user utterance and controlling method thereof | |
US20180150280A1 (en) | Electronic device for processing multi-modal input, method for processing multi-modal input and sever for processing multi-modal input | |
US20190258456A1 (en) | System for processing user utterance and controlling method thereof | |
US20170133009A1 (en) | Electronic device and method for controlling the same | |
US11042703B2 (en) | Method and device for generating natural language expression by using framework | |
US11031005B2 (en) | Continuous topic detection and adaption in audio environments | |
US20180286400A1 (en) | Method for operating speech recognition service and electronic device supporting the same | |
US20120221878A1 (en) | Power allocation in devices | |
KR102508677B1 (en) | System for processing user utterance and controlling method thereof | |
US20200075008A1 (en) | Voice data processing method and electronic device for supporting same | |
KR20180109631A (en) | Electronic device and method for executing function of electronic device | |
CN111477225A (en) | Voice control method and device, electronic equipment and storage medium | |
US20200034112A1 (en) | Electronic device for performing operation according to user input after partial landing | |
JP7465075B2 (en) | Calculation device, recording medium, voice input device | |
CN113473199B (en) | Equipment control method and device based on microphone | |
WO2021036887A1 (en) | Data processing system and method | |
KR20190002069A (en) | Method and apparatus for function of translation using earset | |
CN111816180B (en) | Method, device, equipment, system and medium for controlling elevator based on voice | |
JP7229884B2 (en) | Control device and device control method | |
KR20210001905A (en) | Electronic apparatus and control method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220707 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230719 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230725 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230911 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231212 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240115 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240319 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240329 |