JP2009223170A - Speech recognition system - Google Patents
Speech recognition system Download PDFInfo
- Publication number
- JP2009223170A JP2009223170A JP2008069605A JP2008069605A JP2009223170A JP 2009223170 A JP2009223170 A JP 2009223170A JP 2008069605 A JP2008069605 A JP 2008069605A JP 2008069605 A JP2008069605 A JP 2008069605A JP 2009223170 A JP2009223170 A JP 2009223170A
- Authority
- JP
- Japan
- Prior art keywords
- article
- speech recognition
- word
- dictionary
- book
- 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.)
- Pending
Links
Images
Abstract
Description
この発明は音声認識システムに関し、特にたとえば、人間の発する音声を音声認識して人間が指示する物品を特定する音声認識システムに関する。 The present invention relates to a speech recognition system, and more particularly to a speech recognition system that recognizes speech produced by a person and identifies an article designated by the person.
この種の音声認識システムの例が開示された特許文献は見当たらないが、音声認識は人間と装置をつなぐインターフェースとしてさまざまな装置に採用されており、音声認識を採用した装置には、たとえば、特許文献1に開示された仕分け設備がある。
There is no patent document that discloses an example of this type of speech recognition system, but speech recognition is used in various devices as an interface for connecting a person and a device. There is a sorting facility disclosed in
特許文献1によると、この仕分け設備は、商品のピッキング、ピッキングされた商品の検品、および商品がピッキングされたコンテナの仕分けを行うものであり、ピッキング作業者や仕分け作業者が行う音声による各種の指示は、音声認識されて仕分け設備に与えられる。
しかし、音声認識を実現するためには、一般的に、音素ベースの音声認識辞書が採用されるところ、この仕分け装置のような背景技術では、人間の発するさまざまな発話内容に対応するべく音声認識辞書の語彙が大きくなる(特許文献1の段落番号0019の第5行目参照。)。そして、音声認識辞書の語彙が大きくなるということは、音声認識によって生成された音素記号列とマッチング処理をする音声認識辞書に登録された音素記号列が多くなるということであるので、音声認識の処理にかかる時間が長くなるという問題が起こる。また、音声認識辞書に登録された音素記号列が多くなると、音声認識によって生成された音素記号列とマッチングの対象となる候補音素記号列が多くなるので、正しく音声認識できる割合が低下するという問題も起こる。 However, in order to realize speech recognition, phoneme-based speech recognition dictionaries are generally used. However, in background technology such as this sorter, speech recognition is performed to deal with various utterances produced by humans. The dictionary vocabulary increases (see the fifth line of paragraph number 0019 of Patent Document 1). An increase in the vocabulary of the speech recognition dictionary means that the number of phoneme symbol strings registered in the speech recognition dictionary to be matched with the phoneme symbol string generated by the speech recognition increases. There arises a problem that the processing time becomes long. In addition, when the number of phoneme symbol strings registered in the speech recognition dictionary increases, the number of phoneme symbol strings generated by speech recognition and the candidate phoneme symbol strings to be matched increases, so the rate of correct speech recognition decreases. Also happens.
それゆえに、この発明の主たる目的は、新規な音声認識システムを提供することである。 Therefore, the main object of the present invention is to provide a novel speech recognition system.
また、この発明の他の目的は、音声認識の処理にかかる時間を短縮し、正しく音声認識できる割合を高めることができる、音声認識システムを提供することである。 Another object of the present invention is to provide a speech recognition system capable of reducing the time required for speech recognition processing and increasing the rate of correct speech recognition.
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。 The present invention employs the following configuration in order to solve the above problems. The reference numerals in parentheses, supplementary explanations, and the like indicate correspondence relationships with embodiments described later to help understanding of the present invention, and do not limit the present invention in any way.
第1の発明は、人間の発する音声を音声認識して人間が指示する物品を特定する音声認識システムであって、人間の位置を検出する位置検出手段、位置検出手段が検出した人間の位置に基づいて、人間の近傍にある物品を特定する近傍物品特定手段、物品特定手段が特定した物品に関する音声認識辞書を構築する辞書構築手段、および辞書構築手段が構築した音声認識辞書を用いて音声認識を行って人間が指示する物品を特定する指示物品特定手段を備える、音声認識システムである。 A first aspect of the present invention is a voice recognition system for recognizing a voice generated by a human to identify an article designated by the human, a position detecting unit for detecting a human position, and a human position detected by the position detecting unit. Based on, a nearby article specifying unit that specifies an article in the vicinity of a person, a dictionary building unit that builds a speech recognition dictionary related to the article specified by the article specifying unit, and a voice recognition using a voice recognition dictionary built by the dictionary building unit It is a voice recognition system provided with the instruction | indication article | item identification means which identifies the article | item which a person instruct | indicates by performing.
第1の発明では、音声認識システム(10)は、人間の発する音声を音声認識して人間が指示する物品を特定する。位置検出手段(124、200、208)は音声を発して物品を指示する人間の位置を検出する。また、近傍物品特定手段(122、200)は位置検出手段が検出した人間の位置に基づいて、人間の近傍にある物品を特定する。そして、辞書構築手段(200、122、205A)は物品特定手段が特定した物品に関する音声認識辞書(205B)を構築する。さらに、指示物品特定手段(200)は、辞書構築手段が構築した音声認識辞書を用いて人間が発した音声の音声認識を行って当該人間が指示する物品を特定する。 In the first invention, the speech recognition system (10) identifies an article designated by a person by recognizing the speech produced by the person. The position detection means (124, 200, 208) detects the position of the person who indicates the article by producing a sound. The nearby article specifying means (122, 200) specifies an article in the vicinity of the person based on the position of the person detected by the position detecting means. Then, the dictionary construction means (200, 122, 205A) constructs a speech recognition dictionary (205B) related to the article specified by the article specification means. Furthermore, the designated article specifying means (200) performs voice recognition of a voice uttered by a person using the voice recognition dictionary constructed by the dictionary construction means, and identifies an article designated by the person.
第1の発明によれば、人間の近傍にある物品に関する情報のみを記憶した音声認識辞書に基づいて音声認識を行うので、音声認識にかかる時間を短縮するとともに正しく音声認識できる割合を高めることができる。 According to the first invention, since voice recognition is performed based on a voice recognition dictionary that stores only information related to articles in the vicinity of humans, it is possible to reduce the time required for voice recognition and increase the rate of correct voice recognition. it can.
第2の発明は、第1の発明に従属する発明であって、辞書構築手段は、当該音声認識システムが対象とするすべての物品に関する第2音声認識辞書に基づいて第1音声認識辞書を構築する。 The second invention is an invention subordinate to the first invention, wherein the dictionary construction means constructs the first speech recognition dictionary based on the second speech recognition dictionary for all articles targeted by the speech recognition system. To do.
第2の発明では、辞書構築手段(200、122、205A)は当該音声認識システムが対象とするすべての物品に関する第2音声認識辞書(126)に基づいて第1音声認識辞書を構築する。 In the second invention, the dictionary construction means (200, 122, 205A) constructs the first speech recognition dictionary based on the second speech recognition dictionary (126) for all articles targeted by the speech recognition system.
第2の発明によれば、第2音声認識辞書に基づいて第1音声認識辞書を構築するので、第1音声認識辞書を迅速かつ用意に構築することができる。 According to the second aspect, since the first speech recognition dictionary is constructed based on the second speech recognition dictionary, the first speech recognition dictionary can be constructed quickly and easily.
第3の発明は、人間の発する音声を音声認識して人間が指示する物品を特定する音声認識システムであって、当該音声認識システムが対象とする各物品について物品の存在する位置を示す位置情報を記憶する位置情報記憶手段、当該音声認識システムが対象とする各物品について物品に関連する単語と当該単語の音素記号列を含む音声認識情報を記憶する音声認識情報記憶手段、音声認識処理を行って得られる音素記号列に基づいて音声認識情報記憶手段に記憶されている音声認識情報を参照して物品に関連する単語を特定する単語特定手段、単語特定手段が特定した単語に基づいて人間が指示した物品を特定する物品特定手段、人間の位置を検出する位置検出手段、および位置検出手段が検出した人間の位置と位置情報記憶手段に記憶されている位置情報とに基づいて当該人間の近傍に存在する物品を特定する近傍物品特定手段を備え、単語特定手段は、近傍物品特定手段が特定した物品に関連する単語を含む音声認識情報のみを参照して単語を特定する、音声認識システムである。 A third invention is a voice recognition system for recognizing voices uttered by humans to identify articles designated by humans, and position information indicating positions where articles exist for each article targeted by the voice recognition system Position information storage means for storing speech recognition information storage means for storing speech recognition information including a word related to the article and a phoneme symbol string of the word for each article targeted by the speech recognition system, and performing speech recognition processing A word specifying means for specifying a word related to the article with reference to the speech recognition information stored in the speech recognition information storage means based on the phoneme symbol string obtained in this manner, and a human being based on the word specified by the word specifying means Stored in the article specifying means for specifying the instructed article, the position detecting means for detecting the position of the person, and the human position detected by the position detecting means and the position information storage means. Based on the position information, and a nearby article specifying means for specifying an article that exists in the vicinity of the person, and the word specifying means refers only to the speech recognition information including the word related to the article specified by the neighboring article specifying means. This is a speech recognition system that identifies words.
第3の発明では、音声認識システム(10)人間の発する音声を音声認識して人間が指示する物品を特定する。位置情報記憶手段(122、205A)は当該音声認識システムが対象とする各物品について物品の存在する位置を示す位置情報を記憶する。また、音声認識情報記憶手段(126)は当該音声認識システムが対象とする各物品について物品に関連する単語と当該単語の音素記号列を含む音声認識情報を記憶する。そして、単語特定手段(200)は音声認識処理を行って得られる音素記号列に基づいて音声認識情報記憶手段に記憶されている音声認識情報を参照して物品に関連する単語を特定する。さらに、物品特定手段(200、205A)は単語特定手段が特定した単語に基づいて人間が指示した物品を特定する。また、位置検出手段(124、200、208)は、人間の位置を検出する。さらに、近傍物品特定手段(200)は位置検出手段が検出した人間の位置と位置情報記憶手段に記憶されている位置情報とに基づいて当該人間の近傍に存在する物品を特定する。そして、単語特定手段は、近傍物品特定手段が特定した物品に関連する単語を含む音声認識情報のみを参照して単語を特定する。 In the third invention, a voice recognition system (10) recognizes a voice uttered by a person and specifies an article designated by the person. The position information storage means (122, 205A) stores position information indicating the position where the article exists for each article targeted by the voice recognition system. The voice recognition information storage means (126) stores voice recognition information including a word related to the article and a phoneme symbol string of the word for each article targeted by the voice recognition system. The word specifying means (200) specifies words related to the article with reference to the speech recognition information stored in the speech recognition information storage means based on the phoneme symbol string obtained by performing the speech recognition process. Further, the article specifying means (200, 205A) specifies an article designated by a person based on the word specified by the word specifying means. The position detecting means (124, 200, 208) detects the position of a person. Further, the nearby article specifying means (200) specifies an article existing in the vicinity of the person based on the position of the person detected by the position detecting means and the position information stored in the position information storage means. Then, the word specifying means specifies the word by referring only to the speech recognition information including the word related to the article specified by the nearby article specifying means.
第3の発明によれば、人間の近傍に存在する物品に関連する単語を含む音声認識情報のみを参照して音声認識を行って物品に関連する単語を特定するので、音声認識の処理にかかる時間を短縮するとともに正しく音声認識できる割合を高めることができる。 According to the third invention, since the speech recognition is performed by referring to only the speech recognition information including the word related to the article existing in the vicinity of the human to identify the word related to the article, the voice recognition process is performed. It is possible to shorten the time and increase the rate of correct voice recognition.
第4の発明は、第3の発明に従属する発明であって、単語特定手段は、近傍物品特定手段が特定した物品に関連する単語を含む音声認識情報のみを音声認識情報記憶手段から抽出して記憶した副音声認識情報記憶手段を参照することによって、音声認識情報記憶手段に記憶された音声認識情報を参照する。 The fourth invention is an invention subordinate to the third invention, wherein the word specifying means extracts from the voice recognition information storage means only the speech recognition information including the word related to the article specified by the nearby article specifying means. The voice recognition information stored in the voice recognition information storage means is referred to by referring to the sub voice recognition information storage means stored in the above.
第4の発明では、単語特定手段(200)は、近傍物品特定手段が特定した物品に関連する単語を含む音声認識情報のみを音声認識情報記憶手段から抽出して記憶した副音声認識情報記憶手段を参照することによって、音声認識情報記憶手段に記憶された音声認識情報を参照する。 In the fourth invention, the word specifying means (200) is a sub-voice recognition information storage means for extracting and storing only the voice recognition information including the word related to the article specified by the nearby article specifying means from the voice recognition information storage means. Is referred to, the voice recognition information stored in the voice recognition information storage means is referred to.
第4の発明によれば、人間の近傍に存在する物品に関連する単語を含む音声認識情報のみを記憶した副音声認識情報記憶手段を用いて音声認識を行うので、音声認識の処理にかかる時間を短縮するとともに正しく音声認識できる割合を高めることができる。 According to the fourth aspect of the invention, since the voice recognition is performed using the sub voice recognition information storage unit that stores only the voice recognition information including the word related to the article existing in the vicinity of the person, the time required for the voice recognition process The rate at which correct speech recognition can be achieved can be increased.
この発明によれば、音声認識の処理にかかる時間を短縮することができる。 According to the present invention, the time required for the speech recognition process can be shortened.
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。 The above object, other objects, features and advantages of the present invention will become more apparent from the following detailed description of embodiments with reference to the drawings.
図1を参照して、この実施例のコミュニケーションロボットシステム(以下、単に「システム」ということがある。)10は、コミュニケーションロボット(以下、単に「ロボット」ということがある。)12を含む。このロボット12は、たとえば無線LANなどのネットワーク14にアクセスすることができる。ロボット12はサーバ20と協働して人間16が音声、視線、および指差しで指示する物品を特定し、たとえばその物品を人間16に持っていくなどの動作を実行する。
Referring to FIG. 1, a communication robot system (hereinafter simply referred to as “system”) 10 of this embodiment includes a communication robot (hereinafter also simply referred to as “robot”) 12. The
人間16は、その人物が誰であるかを示す無線タグ18を装着しているとともに、図示しないが、モーションキャプチャのためのマーカが付着されている。マーカは、典型的には、人間の頭頂、両肩、両肘、両手の人差し指の先端などに設定されていて、それらのマーカが、人間16の全体とともに、サーバ20に制御されるカメラ120によって撮影される。カメラ120は、実施例では、3つ設けられ、人間16を3方向から撮影し、そのカメラ映像をサーバ20に供給する。
The human 16 is wearing a
サーバ20は無線LANのようなネットワーク14に結合され、上述のようにして入力されるカメラ映像データに基づいて、マーカの動きを検出するモーションキャプチャ処理を実行するとともに、たとえば肌色領域を検出することによって、人間16の顔の位置を特定することができる。
The
このシステム10では、上述のように、ロボット12が人間16の指示する物品を対象物として特定するものである。対象物となり得る物品の例として、この実施例では、本(書籍)24を用いる。本24には、その本がどのような本であるかを示す無線タグ18が付着されている。本24は本棚26に収納される。
In the
ただし、対象物となり得る物品は実施例の書籍だけでなく、もし家庭用のシステムであれば、家庭内のあらゆる物品が考えられる。また、当然、家庭用としてだけではなく、人間と一緒に働く任意の場所(会社、事務所、工場など)での利用が考えられる。 However, the articles that can be the object are not only the books of the embodiment, but any household article can be considered if it is a home system. Naturally, it can be used not only for home use but also in any place (company, office, factory, etc.) that works with people.
そして、このシステム10が対象とするすべての物品(本24)は、サーバ20に付設された物品辞書122に登録される。物品辞書122については後述する。
All articles (books 24) targeted by this
また、システム10が対象とする人間16は、人間16に付着されている無線タグ18が複数存在するアンテナ124のいずれかを介して無線タグ読取装置208(図4参照)で読み取られることによって、その位置がサーバ20で把握される。つまり、人間16の位置は、人間16に付着されている無線タグ18からの電波をどのアンテナ124で受信したかによって若干大まかな位置が把握される。
Further, the human 16 targeted by the
なお、図1では、簡単のため、1台のロボット12を示してあるが、2台以上であってよい。また、人間16は1人に限定される必要はなく、無線タグ18で識別できるので、複数であってよい。
In FIG. 1, one
また、図1に示す実施例では、このシステム10を設置している空間のワールド座標を用いてロボット12、人間16、物品24などの位置が表現されていて、他方、ロボット12の制御はロボット座標で行なわれるので、詳細は説明しないが、ロボット12は、後述の処理における必要に応じて、ロボット座標とワールド座標との間の座標変換処理を実行するものである。
In the embodiment shown in FIG. 1, the positions of the
図2を参照して、ロボット12のハードウェアの構成について説明する。また、図2はこの実施例のロボット12の外観を示す正面図である。ロボット12は台車30を含み、台車30の下面にはロボット12を自律移動させる2つの車輪32および1つの従輪34が設けられる。2つの車輪32は車輪モータ36(図3参照)によってそれぞれ独立に駆動され、台車30すなわちロボット12を前後左右の任意方向に動かすことができる。また、従輪34は車輪32を補助する補助輪である。したがって、ロボット12は、配置された空間内を自律制御によって移動可能である。
The hardware configuration of the
台車30の上には、円柱形のセンサ取り付けパネル38が設けられ、このセンサ取り付けパネル38には、多数の赤外線距離センサ40が取り付けられる。これらの赤外線距離センサ40は、センサ取り付けパネル38すなわちロボット12の周囲の物体(人間や障害物など)との距離を測定するものである。
A cylindrical
なお、この実施例では、距離センサとして、赤外線距離センサを用いるようにしてあるが、赤外線距離センサに代えて、超音波距離センサやミリ波レーダなどを用いることもできる。 In this embodiment, an infrared distance sensor is used as the distance sensor, but an ultrasonic distance sensor, a millimeter wave radar, or the like can be used instead of the infrared distance sensor.
センサ取り付けパネル38の上には、胴体42が直立するように設けられる。また、胴体42の前方中央上部(人の胸に相当する位置)には、上述した赤外線距離センサ40がさらに設けられ、ロボット12の前方の主として人間との距離を計測する。また、胴体42には、その側面側上端部のほぼ中央から伸びる支柱44が設けられ、支柱44の上には、全方位カメラ46が設けられる。全方位カメラ46は、ロボット12の周囲を撮影するものであり、後述する眼カメラ70とは区別される。この全方位カメラ46としては、たとえばCCDやCMOSのような固体撮像素子を用いるカメラを採用することができる。なお、これら赤外線距離センサ40および全方位カメラ46の設置位置は、当該部位に限定されず適宜変更され得る。
A
胴体42の両側面上端部(人の肩に相当する位置)には、それぞれ、肩関節48Rおよび肩関節48Lによって、上腕50Rおよび上腕50Lが設けられる。図示は省略するが、肩関節48Rおよび肩関節48Lは、それぞれ、直交する3軸の自由度を有する。すなわち、肩関節48Rは、直交する3軸のそれぞれの軸廻りにおいて上腕50Rの角度を制御できる。肩関節48Rの或る軸(ヨー軸)は、上腕50Rの長手方向(または軸)に平行な軸であり、他の2軸(ピッチ軸およびロール軸)は、その軸にそれぞれ異なる方向から直交する軸である。同様にして、肩関節48Lは、直交する3軸のそれぞれの軸廻りにおいて上腕50Lの角度を制御できる。肩関節48Lの或る軸(ヨー軸)は、上腕50Lの長手方向(または軸)に平行な軸であり、他の2軸(ピッチ軸およびロール軸)は、その軸にそれぞれ異なる方向から直交する軸である。
An
また、上腕50Rおよび上腕50Lのそれぞれの先端には、肘関節52Rおよび肘関節52Lが設けられる。図示は省略するが、肘関節52Rおよび肘関節52Lは、それぞれ1軸の自由度を有し、この軸(ピッチ軸)の軸回りにおいて前腕54Rおよび前腕54Lの角度を制御できる。
In addition, an elbow joint 52R and an elbow joint 52L are provided at the respective distal ends of the
前腕54Rおよび前腕54Lのそれぞれの先端には、人の手に相当するハンド56Rおよびハンド56Lがそれぞれ設けられる。これらのハンド56Rおよび56Lは、詳細な図示は省略するが、開閉可能に構成され、それによってロボット12は、ハンド56Rおよび56Lを用いて物体を把持または挟持することができる。ただし、ハンド56R,56Lの形状は実施例の形状に限らず、人間の手に酷似した形状や機能を持たせるようにしてもよい。
At the tip of each of the
また、図示は省略するが、台車30の前面,肩関節48Rと肩関節48Lとを含む肩に相当する部位,上腕50R,上腕50L,前腕54R,前腕54L,球体56Rおよび球体56Lには、それぞれ、接触センサ58(図3で包括的に示す)が設けられる。台車30の前面の接触センサ58は、台車30への人間や他の障害物の接触を検知する。したがって、ロボット12は、その自身の移動中に障害物との接触が有ると、それを検知し、直ちに車輪32の駆動を停止してロボット12の移動を急停止させることができる。また、その他の接触センサ58は、当該各部位に触れたかどうかを検知する。なお、接触センサ58の設置位置は、当該部位に限定されず、適宜な位置(人の胸,腹,脇,背中および腰に相当する位置)に設けられてもよい。
Although not shown, the front surface of the
胴体42の中央上部(人の首に相当する位置)には首関節60が設けられ、さらにその上には頭部62が設けられる。図示は省略するが、首関節60は、3軸の自由度を有し、3軸の各軸廻りに角度制御可能である。或る軸(ヨー軸)はロボット12の真上(鉛直上向き)に向かう軸であり、他の2軸(ピッチ軸、ロール軸)は、それぞれ、それと異なる方向で直交する軸である。
A neck joint 60 is provided at the upper center of the body 42 (a position corresponding to a person's neck), and a
頭部62には、人の口に相当する位置に、スピーカ64が設けられる。スピーカ64は、ロボット12が、それの周辺の人間に対して音声ないし音によってコミュニケーションを取るために用いられる。また、人の耳に相当する位置には、マイク66Rおよびマイク66Lが設けられる。以下、右のマイク66Rと左のマイク66Lとをまとめてマイク66ということがある。マイク66は、周囲の音、とりわけコミュニケーションを実行する対象である人間の音声を取り込む。さらに、人の目に相当する位置には、眼球部68Rおよび眼球部68Lが設けられる。眼球部68Rおよび眼球部68Lは、それぞれ眼カメラ70Rおよび眼カメラ70Lを含む。以下、右の眼球部68Rと左の眼球部68Lとをまとめて眼球部68ということがある。また、右の眼カメラ70Rと左の眼カメラ70Lとをまとめて眼カメラ70ということがある。
The
眼カメラ70は、ロボット12に接近した人間の顔や他の部分ないし物体などを撮影して、それに対応する映像信号を取り込む。この実施例では、ロボット12は、この眼カメラ70からの映像信号によって、人間16の左右両目のそれぞれの視線方向(ベクトル)を検出する。その視線検出方法は具体的には、2つのカメラを用いるものとして特開2004‐255074号公報に、1つのカメラを用いるものとして特開2006‐172209号公報や特開2006‐285531号公報開示されるが、ここではその詳細は重要ではないので、これらの公開公報を引用するにとどめる。
The
ただし、人間16の視線ベクトルの検出のためには、よく知られているアイマークレコーダなどが利用されてもよい。 However, a well-known eye mark recorder or the like may be used for detecting the line-of-sight vector of the human 16.
また、眼カメラ70は、上述した全方位カメラ46と同様のカメラを用いることができる。たとえば、眼カメラ70は、眼球部68内に固定され、眼球部68は、眼球支持部(図示せず)を介して頭部62内の所定位置に取り付けられる。図示は省略するが、眼球支持部は、2軸の自由度を有し、それらの各軸廻りに角度制御可能である。たとえば、この2軸の一方は、頭部62の上に向かう方向の軸(ヨー軸)であり、他方は、一方の軸に直交しかつ頭部62の正面側(顔)が向く方向に直行する方向の軸(ピッチ軸)である。眼球支持部がこの2軸の各軸廻りに回転されることによって、眼球部68ないし眼カメラ70の先端(正面)側が変位され、カメラ軸すなわち視線方向が移動される。なお、上述のスピーカ64,マイク66および眼カメラ70の設置位置は、当該部位に限定されず、適宜な位置に設けられてよい。
The
このように、この実施例のロボット12は、車輪32の独立2軸駆動,肩関節48の3自由度(左右で6自由度),肘関節52の1自由度(左右で2自由度),首関節60の3自由度および眼球支持部の2自由度(左右で4自由度)の合計17自由度を有する。
As described above, the
図3はロボット12の電気的な構成を示すブロック図である。この図3を参照して、ロボット12は、CPU80を含む。CPU80は、マイクロコンピュータ或いはプロセッサとも呼ばれ、バス82を介して、メモリ84,モータ制御ボード86,センサ入力/出力ボード88および音声入力/出力ボード90に接続される。
FIG. 3 is a block diagram showing the electrical configuration of the
メモリ84は、図示は省略をするが、ROM,HDDおよびRAMを含む。ROMおよびHDDには、ロボット12の動作を制御するための制御プログラムが予め記憶される。たとえば、各センサの出力(センサ情報)を検知するための検知プログラムや、外部コンピュータとの間で必要なデータやコマンドを送受信するための通信プログラムなどが記録される。また、RAMは、ワークメモリやバッファメモリとして用いられる。
The
さらに、この実施例では、ロボット12は、人間16とのコミュニケーションをとるために発話したり、ジェスチャしたりできるように構成されているが、メモリ84に、このような発話やジェスチャのための発話/ジェスチャ辞書85Aが設定されている。
Furthermore, in this embodiment, the
モータ制御ボード86は、たとえばDSPで構成され、各腕や首関節および眼球部などの各軸モータの駆動を制御する。すなわち、モータ制御ボード86は、CPU80からの制御データを受け、右眼球部68Rの2軸のそれぞれの角度を制御する2つのモータ(図3では、まとめて「右眼球モータ92」と示す)の回転角度を制御する。同様にして、モータ制御ボード86は、CPU80からの制御データを受け、左眼球部68Lの2軸のそれぞれの角度を制御する2つのモータ(図3では、まとめて「左眼球モータ94」と示す)の回転角度を制御する。
The motor control board 86 is constituted by, for example, a DSP, and controls driving of each axis motor such as each arm, neck joint, and eyeball unit. That is, the motor control board 86 receives control data from the
また、モータ制御ボード86は、CPU80からの制御データを受け、肩関節48Rの直交する3軸のそれぞれの角度を制御する3つのモータと肘関節52Rの角度を制御する1つのモータとの計4つのモータ(図3では、まとめて「右腕モータ96」と示す)の回転角度を制御する。同様にして、モータ制御ボード86は、CPU80からの制御データを受け、肩関節48Lの直交する3軸のそれぞれの角度を制御する3つのモータと肘関節52Lの角度を制御する1つのモータとの計4つのモータ(図3では、まとめて「左腕モータ98」と示す)の回転角度を制御する。
The motor control board 86 receives control data from the
さらに、モータ制御ボード86は、CPU80からの制御データを受け、首関節60の直交する3軸のそれぞれの角度を制御する3つのモータ(図3では、まとめて「頭部モータ100」と示す)の回転角度を制御する。そして、モータ制御ボード86は、CPU80からの制御データを受け、車輪32を駆動する2つのモータ(図3では、まとめて「車輪モータ36」と示す)の回転角度を制御する。
Further, the motor control board 86 receives control data from the
モータ制御ボード86にはさらにハンドアクチュエータ108が結合され、モータ制御ボード86は、CPU80からの制御データを受け、ハンド56R,56Lの開閉を制御する。
A
なお、この実施例では、車輪モータ36を除くモータは、制御を簡素化するためにステッピングモータ(すなわち、パルスモータ)を用いる。ただし、車輪モータ36と同様に直流モータを用いるようにしてもよい。また、ロボット12の身体部位を駆動するアクチュエータは、電流を動力源とするモータに限らず適宜変更された、たとえば、他の実施例では、エアアクチュエータが適用されてもよい。
In this embodiment, a motor other than the
センサ入力/出力ボード88は、モータ制御ボード86と同様に、DSPで構成され、各センサからの信号を取り込んでCPU80に与える。すなわち、赤外線距離センサ40のそれぞれからの反射時間に関するデータがこのセンサ入力/出力ボード88を通じてCPU80に入力される。また、全方位カメラ46からの映像信号が、必要に応じてセンサ入力/出力ボード88で所定の処理を施してからCPU80に入力される。眼カメラ70からの映像信号も、同様にして、CPU80に入力される。また、上述した複数の接触センサ58(図3では、まとめて「接触センサ58」と示す)からの信号がセンサ入力/出力ボード88を介してCPU80に与えられる。音声入力/出力ボード90もまた、同様に、DSPで構成され、CPU80から与えられる音声合成データに従った音声または声がスピーカ64から出力される。また、マイク66からの音声入力が、音声入力/出力ボード90を介してCPU80に与えられる。
Similar to the motor control board 86, the sensor input /
また、CPU80は、バス82を介して通信LANボード102に接続される。通信LANボード102は、たとえばDSPで構成され、CPU80から与えられた送信データを無線通信装置104に与え、無線通信装置104は送信データを、ネットワーク14を介してサーバ20に送信する。また、通信LANボード102は、無線通信装置104を介してデータを受信し、受信したデータをCPU80に与える。たとえば、送信データとしては、ロボット12からサーバ20への信号(コマンド)であったり、ロボット12が行ったコミュニケーションについての動作履歴情報(履歴データ)などであったりする。このように、コマンドのみならず履歴データを送信するのは、メモリ84の容量を少なくするためと、消費電力を抑えるためである。この実施例では、履歴データはコミュニケーションが実行される度に、サーバ20に送信されたが、一定時間または一定量の単位でサーバ20に送信されるようにしてもよい。
The
さらに、CPU80は、バス82を介して無線タグ読取装置106が接続される。無線タグ読取装置106は、アンテナ(図示せず)を介して、無線タグ18(RFIDタグ)から送信される識別情報の重畳された電波を受信する。そして、無線タグ読取装置106は、受信した電波信号を増幅し、当該電波信号から識別信号を分離し、当該識別情報を復調(デコード)してCPU80に与える。図1によれば無線タグ18は、ロボット12が配置された会社の受付や一般家庭の居間などに居る人間16に装着され、無線タグ読取装置106は、通信可能範囲内の無線タグ18を検出する。なお、無線タグ18は、アクティブ型であってもよいし、無線タグ読取装置106から送信される電波に応じて駆動されるパッシブ型であってもよい。
Further, the
図4を参照して、サーバ20のハードウェアの構成について説明する。図4に示すように、サーバ20は、CPU200を含む。CPU200は、プロセッサとも呼ばれ、バス202を介して、メモリ204、カメラ制御ボード206、無線タグ読取装置208、LAN制御ボード210、入力装置制御ボード212、およびモニタ制御ボード214に接続される。
The hardware configuration of the
CPU200は、サーバ20の全体の制御を司る。メモリ204は、ROM、RAM、およびHDDなどを包括的に示したものであり、サーバ20の動作のためのプログラムを記録したり、CPU200が動作する際のワークエリアとして機能したりする。カメラ制御ボード206は、当該制御ボード206に接続されるカメラ120を制御するためのものである。
The
無線タグ読取装置208は、当該制御ボード208に接続されるアンテナ124を介して人間16や物品(本)24に装着された無線タグ18から送信される識別情報の重畳された電波を受信する。そして、無線タグ読取装置208は、受信した電波信号を増幅し、当該電波信号から識別信号を分離し、当該識別情報を復調(デコード)してCPU200に与える。アンテナ124は、ロボット12が配置された会社の受付や一般家庭の各部屋などにくまなく配置され、システム10が対象とするすべての物品(本)24および人間16の無線タグ18から電波を受信できるようになっている。したがって、アンテナ124は複数存在するが、図1および図4では包括的に示している。
The
また、LAN制御ボード210は、当該制御ボード210に接続される無線通信装置216を制御し、サーバ20が外部のネットワーク14に無線によってアクセスできるようにするものである。さらに、入力装置制御ボード212は、当該制御ボード212に接続される入力装置としてのたとえば、キーボードやマウスなどによる入力を制御するものである。そして、モニタ制御ボード214は、当該制御ボード214に接続されるモニタへの出力を制御するものである。
The
また、サーバ20は、図示しないインターフェースによって、サーバ20に付設された物品辞書122および音声認識辞書126(図1参照)に接続されている。
The
メモリ204には、物品ローカル辞書205A、音声認識ローカル辞書205B、発話パターン辞書205C、発話辞書205D、個人正誤DB205E、および音声認識率DB205Fが設定されている。
In the
物品ローカル辞書205Aは、後述する物品辞書122から抽出された内容が登録される辞書である。サーバ20は、ロボット12が人間16を認識した際に、当該人間16の近傍に存在する物品(本)24の情報だけを物品辞書122から抽出して物品ローカル辞書205Aに登録する。音声認識ローカル辞書205Bは、後述する音声認識辞書126から抽出された内容が登録される辞書である。サーバ20は、ロボット12が人間16を認識して物品ローカル辞書205Aを作成すると、当該物品ローカル辞書205Aに登録されている単語を音声認識するために必要な情報を音声認識辞書126から抽出して音声認識ローカル辞書205Bに登録する。したがって、物品ローカル辞書205Aおよび音声認識ローカル辞書205Bは、人間16の位置の変化に応じて動的に書き換えられる。このように音声認識辞書126から音声認識ローカル辞書205Bを作成し、音声認識に使用する辞書を小さくすることによって音声認識の対象となる単語(音素記号列)の数を少なくし、音声認識の処理にかかる時間を短くするとともに正しく音声認識できる割合を高めることができる。
The article
発話パターン辞書205Cは、人間16の行った発話の内容が特定のパターンであるか否かを判断するための辞書である。発話辞書205Dは、サーバ20がロボット12に、人間16に対して発話させる音声の内容を決定するために必要な情報を記憶している。また、個人正誤DB205Eは、システム10が、人間16が指示した物品(本)24を特定することに最終的に成功したか否かを人間16のID別に記憶している。そして、音声認識率DB205Fは、音声認識辞書126に登録されている単語のそれぞれについての音声認識における認識率、つまり、実際の音声認識により当該単語を正しく認識できた割合を記憶している。
The utterance pattern dictionary 205C is a dictionary for determining whether or not the content of the utterance performed by the human 16 is a specific pattern. The
次に、図5を参照して物品辞書122を説明する。この図5に示す物品辞書122は、たとえばユーコード(Ucode)のようなIDをそれぞれの物品の1つに割り当て、物品毎にその名称、属性、位置(座標)などの必要な情報を文字列として登録している。なお、ユーコードは、具体的には、128ビットの数字からなり、340兆の1兆倍のさらに1兆倍の数の物品を個別に識別できるものである。ただし、この物品辞書122に使うIDは必ずしもこのようなユーコードである必要はなく、適宜の数字や記号の組み合わせからなるものであってよい。
Next, the
このような物品辞書122は、システム10(ロボット12およびサーバ20)が識別すべき対象物となるすべての、たとえば家庭内の物品をIDと文字列とで登録するものであり、いわばグローバル辞書に相当する。
Such an
物品辞書122には、1つの物品(本)24についての情報が1つのレコードとして登録されている。そして、たとえば、1つのレコードには、本のID以外に「名称」、「属性」、「著者」、「出版社」などの項目が記憶されている。「属性」の項目には、本のカバーの色や体裁など当該本を補足的に説明する単語が記憶されている。各項目の情報はテキスト形式の単語で記憶されている。しかし、「属性」の項目においてダブルコーテーション(“)で囲まれている情報は、音声認識における音素記号形式(音素記号列)の単語で記憶されている。
In the
この音素記号列の情報は、ロボット12がマイク66で拾った人間16が発する音声をサーバ20が音声認識する処理の過程で生成される情報であり、音声認識ローカル辞書205B(音声認識辞書126)に登録されておらず、音声認識をすることができなかったが、人間16の視線や指差しにより、人間16がどの本を指示しているか判断できた場合に、その認識できなかった音声に相当する音素記号列をその本のレコードの「属性」として記憶したものである。
The information of the phoneme symbol string is information generated in the process of the
また、音素記号列の後に括弧書きで付記されているのは、当該音素記号列に対応つけて記憶された人間16のIDの情報である。これは、当該音声記号列の示す音声が、当該IDが示す人間16によって発せられたことを示している。
Further, what is appended in parentheses after the phoneme symbol string is information on the ID of the
なお、前述したように、物品辞書122には各物品(本)24が存在する場所の情報も記憶されており、物品辞書122の1つのレコードには、図示しないが当該物品(本)24が存在する場所を記憶する項目も含まれている。
As described above, the
次に、図10を参照して音声認識辞書126を説明する。一般的に音声認識辞書には単語辞書と文法辞書とが存在するが音声認識辞書126は単語辞書である。文法辞書についての説明は省略する。音声認識辞書126は、図10に示すように、テキスト形式の単語を記憶する項目、テキスト形式の単語に対応する音素記号形式(音素記号列)の単語を記憶する項目、および当該テキスト形式の単語が物品の名称、たとえば、本のタイトル(名称)であるか否かを示す情報を記憶する項目を含むレコードからなっている。テキスト形式の単語を記憶する項目に記憶されているのが物品の名称であるか否かを示す情報を記憶する項目には、テキスト形式の単語を記憶する項目に物品の名称が記憶されている場合には「1」が記憶され、そうでない場合は「0」が記憶されている。
Next, the
音声認識の処理では、入力された音声を音素に分解し、分解した各音素について当該音素を表す記号を生成する。そして、入力された音声の単語に相当するこの記号の列が音声認識辞書126に記憶されている音素記号列である。音声認識の処理では、音声から生成した音素記号列ともっとも近い音素記号列を音声認識辞書126(音声認識ローカル辞書205B)内で特定し、この特定した音素記号列に対応して記憶されている単語を音声認識結果として出力する。
In the speech recognition process, the input speech is decomposed into phonemes, and a symbol representing the phoneme is generated for each decomposed phoneme. The symbol string corresponding to the input speech word is a phoneme symbol string stored in the
前述したように、このシステム10では、人間16が音声と視線および指差しによって物品(本)24を指示すると、ロボット12とサーバ20とが協働して、人間16が指示した物品(本)24を特定し、その特定した物品(本)24をロボット12が人間16のところに運搬などする。以下において、この人間16とシステム10とのやり取りをコミュニケーションと呼ぶことがある。
As described above, in the
より詳細に述べると、このシステム10では、人間16がロボット12に近づくと、ロボット12が人間16を無線タグ18によって認識する。サーバ20には、システム10が対象とする物品(本)24のすべてが登録された物品辞書122、および音声認識によって物品(本)24を特定するための単語が登録された音声認識辞書126が付設されている。ロボット12が人間16を認識すると、ロボット12はサーバ20に対して物品辞書122および音声認識辞書126のローカル辞書(物品ローカル辞書205A、音声認識ローカル辞書205B)の作成を指示する。
More specifically, in the
ローカル辞書の作成の指示を受けると、サーバ20では、ロボット12が認識した人間16の位置を特定し、特定した当該人間16から所定の範囲内、たとえば、半径5m以内にある物品(本)24のレコードのみを物品辞書122から抽出して物品ローカル辞書205Aを作成する。そして次に、音声認識辞書126から、物品ローカル辞書205Aに登録されている物品(本)24を音声認識するため必要な情報のみを抽出して音声認識ローカル辞書205Bを作成する。
Upon receiving an instruction to create a local dictionary, the
その後、ロボット12は、認識した人間16に対して、たとえば、「何か本を持ってきましょうか?」という発話を行う。この発話に対し、人間16は、持ってきてほしい物品(本)24に視線を向けつつ当該物品(本)24を指差しながら、「化学の謎持ってきて」などと答える。
Thereafter, the
するとロボット12は、「化学の謎持ってきて」という人間16の声を音声認識し、人間16の視線を推定し、指差した指が向かっている方向を推定することによって、人間16が指示している物品(本)24を特定する。
Then, the
人間16が指示している物品(本)24を特定すると、サーバ20は、人間16に特定した物品(本)24を確認するためにロボット12が発話する音声の内容、たとえば、「白い本ですか?」を決定し、ロボット12が当該物品(本)24(化学の謎の本24)を指し示しながらこれを発話する。
When the article (book) 24 instructed by the
このとき、サーバ20は、発話の内容を、次回に人間16が当該物品(本)24(化学の謎の本24)をロボット12に指示する際に、人間16に当該物品(本)24(化学の謎の本24)を特定するための単語として使用してほしい単語を含んだものとする。
At this time, the
たとえば、ロボット12が特定した物品(本)24(化学の謎の本24)を確認するための発話内容が「白い本ですか?」であった場合、システム10は、次回に人間16が「化学の謎」の本を指示する際には、指差しとともに、「化学の謎持ってきて」と発話する代わりに「あの白い本持ってきて」と発話することを期待している。このことは、人間はロボットの発話内容を真似する傾向があるという知見に基づいている。この場合、人間16に物品(本)24を特定するために次回に使用することを期待する単語は「白い」である。この「白い」という単語は、人間16の近傍に「化学の謎」の本24の他に「白い」物品(本)24が存在せず、また、「白い」という単語の音声認識における認識率が高い場合にサーバ20によって選択される。
For example, when the utterance content for confirming the article (book) 24 (the mysterious book of chemistry 24) identified by the
ところで、人間16が指差しとともに、「化学の謎を持ってきて」などと発話する場合、「化学の謎」という単語ではなく、その人間16が独自に使用する、たとえば、「化学の謎」の省略形である「バケナゾ」という単語を用い「バケナゾ持ってきて」などと発話することが考えられる。この場合、「バケナゾ」という単語が物品辞書122および音声認識辞書126に登録されていなければ、システム10は「バケナゾ」という音声を認識し、「バケナゾ」が「化学の謎」の本を指示していることを特定することができない。
By the way, when the human 16 speaks with a pointing hand, “Take a chemical mystery” or the like, the word “chemical mystery” is used instead of the word “chemical mystery”. It is possible to use the word “Bakenazo”, which is an abbreviation for, and say “Bring a Bakenazo”. In this case, if the word “bakenazo” is not registered in the
このような場合においても、システム10は、人間16の視線や指差しの方向に基づいて人間16が指示している物品(本)24を特定することが可能である。したがって、「バケナゾ」などのように音声認識できなかった単語がある場合には、視線や指差しの方向に基づいて特定した結果を利用して、音声認識できなかった単語を物品辞書122および音声認識辞書126に登録する。
Even in such a case, the
システム10が特定した物品(本)24を確認するために、ロボット12がたとえば「白い本ですか?」と発話すると、人間16は、「そうです」あるいは「ちがいます」などと発話し、ロボット12に返答する。サーバ20は、この人間16の返答における音声を音声認識し、システム10が特定した物品(本)24が、人間16が指示したものであるか否かを判断する。システム10が特定した物品(本)24が、人間16が指示したものでなかった場合には、次の候補である物品(本)24が、人間16が指示したものであるか否かを確認する。一方、システム10が特定した物品(本)24が、人間16が指示したものであった場合には、ロボット12が当該物品(本)24を人間16のところにまで運搬する。
When the
次に、図1に示す実施例におけるロボット12およびサーバ20の動作について、図15から図22に示すフロー図を参照して説明する。
Next, operations of the
図15の最初のステップS1において、ロボット12のCPU80(図3)は、同じく図3に例示するセンサ入力/出力ボード88からのセンサ入力にしたがって、人間16(図1)を認識したかどうか判断する。具体的には、たとえば赤外線センサ40で人体を検知し、そのとき無線タグ読取装置106で人間16が装着している無線タグ18を認識したとき、人間16を認識したと判断する。このとき、ロボット12は、無線タグ18より人間16のユーザID(たとえば、(456…0000004))を読み取る。
In the first step S1 of FIG. 15, the CPU 80 (FIG. 3) of the
ステップS1でYESと判断すると、次のステップS3で、ロボット12のCPU80は、ローカル辞書、つまり、物品ローカル辞書205Aおよび音声認識ローカル辞書205Bを作成する指示を、ネットワーク14を介してサーバ20に送信する。このとき、ローカル辞書の作成指示と同時に、ステップS1で認識したと判断した人間16のユーザID(456…0000004)をもサーバ20に送信する。
If YES is determined in step S1, the
ロボット12からローカル辞書の作成指示とユーザIDとが送信されると、サーバ20では、図16のステップS31で、CPU200は、ローカル辞書の作成指示を受信したと判断し、ステップS33において、ロボット12が認識した人間16とのコミュニケーションに使用する当該人間16に専用の物品ローカル辞書205Aおよび音声認識ローカル辞書205Bの作成を行う。
When the local dictionary creation instruction and the user ID are transmitted from the
ステップS33の「ローカル辞書の作成」の処理は、図18のフロー図に示す手順で実行される。まず、図18のステップS81で、ロボット12から送信されたユーザIDで特定される人間16の近傍にある物品(本)24のレコードを物品辞書122から抽出して物品ローカル辞書205Aを作成する。
The process of “create local dictionary” in step S33 is executed according to the procedure shown in the flowchart of FIG. First, in step S81 in FIG. 18, a record of an article (book) 24 near the
このとき、CPU200は、無線タグ読取装置208を駆動してアンテナ124を介して、人間16に付着された無線タグ18から電波を受信して人間16ごとにユーザIDと人間の位置を特定する。そして、こうして特定した複数の人間16のユーザIDと人間の位置の情報と、ロボット12より送信されたユーザIDとに基づいてロボット12が認識した人間16の位置を特定する。
At this time, the
ロボット12が認識した人間16の位置を特定すると、次に、物品辞書122に記憶されている各レコードの物品(本)24の位置が記憶されている項目を参照し、図5に示すような物品辞書122から、ロボット12が認識した人間16の近傍に位置する物品(本)24のレコードをすべて抽出して、図6に示すような物品ローカル辞書205Aを作成する。
When the position of the
こうして物品ローカル辞書205Aを作成すると、次に、CPU200はステップS83で、「物品ローカル辞書205Aに登録されている単語」の一覧300を作成する。図7は、この単語の一覧300を示した図解図である。この単語の一覧300は、音声認識辞書126から音声認識ローカル辞書205Bを作成する際に使用される。図6および図7からわかるように、単語の一覧300に登録される「物品ローカル辞書205Aに登録されている単語」とは、物品ローカル辞書205Aの各レコードの「名称」、「属性」、「著者」、「出版社」のそれぞれに記憶されているテキスト形式の単語である。ただし、図7に示されるように、この単語一覧300には、テキスト形式の文字列からなる単語のみではなく、先に説明した音素記号列(図7の例では、“bakenazo”、“saiai”)もユーザID(図7の例では、(456…0000004)、(456…0000003))とともに登録される。これらの音素記号列(およびユーザID)は、先述したように、物品辞書122に単語が登録されていなかったために、登録されていない単語に対応する音素記号列が後から登録されたものである。
After the article
ステップS85では、単語の一覧300に登録されている音素記号列の中から、ロボット12が認識した人間16のユーザID以外のユーザIDが対応つけられている音素記号列を削除する。ロボット12が認識した人間16のユーザIDが(456…0000004)である場合には、図8に示したように、他の人間16のユーザID(456…0000003)と対応つけられている“saiai”が削除される。ユーザIDが(456…0000003)である人間16に特有の“saiai”という本24(化学の目)の名称の呼び方は、ロボット12が認識したユーザIDが(456…0000004)である人間16とのコミュニケーションにおける音声認識には必要がないと考えられるからである。
In step S85, a phoneme symbol string associated with a user ID other than the user ID of the human 16 recognized by the
次に、CPU200は、ステップS87で、単語の一覧300における冗長性を排除する。つまり、図7の例において、単語の一覧300に登録されている「白色」や「ハードカバー」などの重複部分を図8に示すように削除する。
Next, in step S87, the
こうして単語の一覧300が完成すると、次に、この単語の一覧300を利用して音声認識辞書126から音声認識ローカル辞書205Bを作成する。
When the word list 300 is completed in this manner, the speech recognition
まず、ステップS89において、CPU200は、メモリ204内に設定したカウンタCt1をインクリメントする。初期状態では、カウンタCt1は「0」である。このカウンタCt1は、単語の一覧300に登録されている単語の数をカウントするものであり、単語の一覧300のポインタとして機能する。したがって、カウンタCt1のカウント値によって、単語の一覧300内において異なる単語を指定する。カウンタCt1のカウント値が、単語の一覧300に登録されている単語の数「L」に等しくなるまで、以下の動作が各単語について実行されると理解されたい。
First, in step S89, the
ステップS91では、単語の一覧300に登録されている単語が音素記号列であるか否かを判断する。たとえば、単語の一覧300に登録されている単語が図8に示すように、テキスト形式で表現された「地球温暖化」という単語であれば、ステップS91でNOと判断される。すると、ステップS93で、テキスト形式である「地球温暖化」という単語をキーとして、音声認識辞書126(図10参照)を検索し、「地球温暖化」という単語を記憶した項目を含むレコードを抽出し、図11に示すように音声認識ローカル辞書205Bに登録する。
In step S91, it is determined whether or not the word registered in the word list 300 is a phoneme symbol string. For example, if the word registered in the word list 300 is the word “global warming” expressed in a text format as shown in FIG. 8, NO is determined in step S91. Then, in step S93, the speech recognition dictionary 126 (see FIG. 10) is searched using the word “global warming” in text format as a key, and a record including an item storing the word “global warming” is extracted. Then, it is registered in the voice recognition
一方、単語の一覧300に登録されている単語が図8に示すように、音素記号形式で表現された“bakenazo”という単語であれば、ステップS91でYESと判断される。すると、ステップS95で、音素記号列である“bakenazo”という単語をキーとして音声認識辞書126を検索し、“bakenazo”という単語を記憶した項目を含むレコードを抽出し、図11に示すように音声認識ローカル辞書205Bに登録する。
On the other hand, if the word registered in the word list 300 is the word “bakenazo” expressed in the phoneme symbol form as shown in FIG. 8, “YES” is determined in the step S91. Then, in step S95, the
このようにして、物品辞書122から物品ローカル辞書205Aが作成され、音声認識辞書126から音声認識ローカル辞書205Bが作成される。
In this way, the article
一方、図15に戻って、ロボット12において、ステップS3でローカル辞書の作成指示をサーバ20に送信した後は、ステップS5で、CPU80は、メモリ84内に設定している発話/ジェスチャ辞書85Aを用いて、スピーカ64から、たとえば、「何か本を持って来ましょうか?」のような発話を行なわせる。その後、人間16がたとえば「花火の匠持ってきて」のような発話をしたとすると、ロボット12が人間16の指示を認識し、ステップS7で、CPU80が、“YES”と判断する。このとき、人間16は、「花火の匠持ってきて」という発話とともに、該当本に視線を向けつつ当該本を指差すことによって、どの本持ってきてほしいかを指示する。
On the other hand, returning to FIG. 15, after the
CPU80は、ステップS7でYESと判断すると、次にステップS9において、人間16が指示した「花火の匠持ってきて」という音声の情報とともに、音声認識ならびに視線と指差しの推定を行わせる指示をサーバ20に送信する。
If the
サーバ20では、CPU200が、図16のステップS35において、ロボット12から音声認識ならびに視線と指差しの推定を行わせる指示を音声の情報とともに受信したと判断すると、ステップS37における「音声認識による物品の推定」の処理とステップS39における「視線と指差しによる物品の推定」の処理とを並列的に実行する。
In the
「音声認識による物品の推定」の処理は、図19のフロー図に示す手順にしたがって実行される。まず、CPU200は、ステップS111で、ロボット12から送信されてきた「花火の匠持ってきて」という音声の情報を音声認識する。具体的には、「花火の匠持ってきて」という音声を音素に分割し、各音素に対応する音素記号を生成する。そして、図示しない文法辞書を参照して、生成した音素記号列“hanabinotakumi mottekite”のうち“hanabinotakumi”という音素記号列が目的語であると特定する。次に、この“hanabinotakumi”という音素記号列をキーとして音声認識ローカル辞書205B(図11参照)を検索し、もっとも近い音素記号列の単語を記憶した項目を有するレコードを特定する。そして、特定したレコードに記憶されているテキスト形式の単語である「花火の匠」を得る。また、このとき、特定したレコードの「物品名称」の項目に記憶されている情報に基づいて、音声認識されたのが物品の名称であるか、つまり、本24のタイトル(名称)であるか否かを判断することができる。この判断に基づいて後ほどフラグtwの設定を行うが、後ほど設定を行うのはフロー図の表現上の都合であり、ステップS111においてフラグtwの設定を行えばよい。
The process of “estimating an article by voice recognition” is executed according to the procedure shown in the flowchart of FIG. First, in step S <b> 111, the
たとえば、人間16が「花火の匠持ってきて」という代わりに「黒いの持ってきて」と指示した場合には、同様にしてステップS111における音声認識の結果として、「黒い」が得られる。なお、音声認識の方法としては特に限定されるものではなく既存の方法を採用することができる。 For example, when the human 16 instructs “bring a fireworks master” instead of “bring a black firework”, “black” is similarly obtained as a result of the speech recognition in step S111. The voice recognition method is not particularly limited, and an existing method can be adopted.
また、人間16が「花火の匠持ってきて」という代わりに、「花火の匠」という単語の人間16独特の略語である「ハナタク」という単語を用いて、「ハナタク持ってきて」と発話した場合には、音声認識ローカル辞書205Bには「ハナタク」という単語に相当する“hanataku”という音素記号列は登録されていないので、音声認識をすることができない。
Also, instead of saying "Take Fireworks Takumi", human 16 uttered "Take Hanatak" using the word "Hanataku" which is a unique abbreviation for the word "Fireworks Takumi". In this case, since the phonetic symbol string “hanataku” corresponding to the word “hanataku” is not registered in the speech recognition
このように、音声認識ができない単語があった場合には、CPU200は、ステップS113において、YESと判断し、ステップS115において、音声認識した人間16の発話内容は特定のパターンであったか否かを判断する。ここで発話内容の特定のパターンとは、たとえば、「○○持ってきて」や「○○お願い」などであり、人間16が指示する物品を特定する単語(○○)が含まれるであろう発話パターンである。人間16が発した発話の内容がこれらの特定のパターンに該当するか否かは、音声認識の処理における図示しない文法辞書を用いた発話内容の文法解析とともに、メモリ204に設定されている発話パターン辞書205Cを参照することによって判定することができる。
As described above, when there is a word that cannot be recognized by the voice, the
ステップS115でYESと判断した場合は、音声認識できなかった単語であって、人間16が指示した物品を特定するであろう単語があることを示すために、ステップS117で、メモリ204上に設定されているフラグnwに数値「1」を記憶させてフラグnwをオン状態にする。なお、フラグnwの初期状態はオフ状態(数値「0」)である。そして、ステップS119では、ステップS111における音声認識の処理で生成された、音声認識できなかった単語の音素記号列をメモリ204に設定されたワークエリアwaに格納する。なお、ステップS115でNOと判断すると、ステップS117およびステップS119をスキップする。
If YES is determined in step S115, it is set on the
一方、ステップS113においてNOと判断すると、つまり、音声認識できない単語がなかったと判断すると、ステップS121において、CPU200は、音声認識した単語は物品の名称、つまり、本24のタイトル(名称)であったかどうかを判断する。この音声認識した単語が本24のタイトル(名称)であったかどうかは、音声認識ローカル辞書205Bの各レコードに含まれる「物品名称」の項目に記録されている情報に基づいて判断される。
On the other hand, if NO is determined in step S113, that is, if it is determined that there is no word that cannot be voice-recognized, in step S121, the
ステップS121でYESと判断すると、ステップS123で、本24のタイトル(名称)が音声認識されたことを示すために、メモリ204に設定されたフラグtwに数値「1」を記憶させてフラグtwをオン状態にする。なお、フラグtwの初期状態はオフ状態(数値「0」)である。ステップS121でNOと判断するとステップS123をスキップする。
If YES is determined in the step S121, a numerical value “1” is stored in the flag tw set in the
ステップS125では、CPU200は、ステップS111における音声認識の結果として得られたテキスト形式の単語、たとえば、「花火の匠」に基づいて物品ローカル辞書205Aを参照し、人間16が指示した物品(本)24の候補としての物品(本)24を選出する。具体的には、ステップS111で得られたテキスト形式の単語、たとえば、「花火の匠」をキーとして、物品ローカル辞書205Aを検索し、「花火の匠」というテキスト形式の単語を項目に記憶しているレコードを特定する。図6の例では、物品IDが「123…0000046」であるレコードが「名称」の項目に「花火の匠」という単語を記憶しているので、物品IDが「123…0000046」である物品(本)24が特定される。こうして特定された物品IDの物品(本)24が、人間16が指示した物品の候補として選出され、当該物品(本)24のIDが物品リストA(不図示)に登録される。
In step S125, the
ここで、ステップS111における音声認識の結果として得られた単語が、たとえば、「白い」であった場合は、図6の物品ローカル辞書205Aの例の場合では、「属性」の項目に「白い」という単語を記憶しているレコードが複数存在するので、これらのレコードに含まれる物品ID、つまり、物品IDが「123…0000035」、「123…0000091」、および「123…0000102」の物品(本)24が、人間16が指示した物品の候補として選出される。この場合、こうして選出された複数の物品のIDが、物品リストA(不図示)に登録される。
Here, if the word obtained as a result of the speech recognition in step S111 is “white”, for example, in the case of the article
ステップS127では、こうして選出された物品(本)24の候補が物品リストAに存在するか否かを判断する。ステップS127でYESと判断すると、ステップS129で、CPU200は、音声認識の結果による物品(本)24の候補が存在することを示すために、メモリ204に設定されているフラグcaに数値「1」を記憶させてフラグcaをオン状態にする。なお、フラグcaの初期状態はオフ状態(数値「0」)である。ステップS127でNOと判断すると、ステップS129をスキップする。このようにして、音声認識によって、人間16が指示した物品(本)24の推定が行われる。
In step S127, it is determined whether or not the candidate for the article (book) 24 thus selected exists in the article list A. If YES is determined in step S127, in step S129, the
図16に戻って、ステップS39の「視線と指差しによる物品の推定」の処理は、図20のフロー図に示す手順にしたがって実行される。CPU200は、まず、ステップS141で、メモリ204内に設定したカウンタCt2をインクリメントする。初期状態ではカウンタCt2は「0」が設定されている。このカウンタCt2は、人間16の近傍に存在する物品の数をカウントするもので、物品ローカル辞書205A(図6参照)のポインタとして機能する。したがって、カウンタCt2のカウント値によって、物品ローカル辞書205A内において、異なる物品を指定する。カウンタCt2のカウント値が、物品ローカル辞書205A内にリストアップしている物品の数「m」に等しくなるまで、以下の動作が各物品について、実行されるものと理解されたい。
Returning to FIG. 16, the processing of “estimation of article by line of sight and pointing” in step S39 is executed according to the procedure shown in the flowchart of FIG. First, the
ステップS141に続いて、CPU200は、人間16の視線を推定してそれの確信度を求める動作と、指差し方向を推定してそれの確信度を求める動作とを並行して実行するが、ここでは便宜上、まず視線を推定し次いで指差し方向を推定する順序で説明する。
Subsequent to step S141, the
図20のステップS141〜ステップS153の処理は、図16のステップS35でロボット12から音声認識ならびに視線と指差しの推定を行わせる指示を受信した後の一定の繰り返しの時間(t1,t2,t3,…,tm)毎に実行されるが、実施例では、50Hz(1秒間に50回)で実行されるものとする。なお、ステップS141〜ステップS153の処理は、たとえば、図15のステップS5でロボット12が発話を行った際に、その旨を知らせる通知をロボット12からサーバ20に送信し、当該通知を受信したサーバ20が、当該通知を受信した後の一定の繰り返しの時間(t1,t2,t3,…,tm)毎に実行するようにしてもよい。
The processing from step S141 to step S153 in FIG. 20 is performed at a predetermined repetition time (t1, t2, t3) after receiving an instruction for performing speech recognition and gaze and pointing estimation from the
ステップS143では、CPU200は、ロボット12から、人間16の視線の方向を示す視線ベクトル情報を受信する。フロー図には明記しないが、ロボット12では、CPU80は、たとえば眼カメラ70からのカメラ映像を処理することによって、先に挙げた公開公報に記載したいずれかの方法に従って、人間16の左右のそれぞれの眼の視線ベクトルを推定する。この左右それぞれの眼の視線方向は図13において直線L1およびL2で示される。このようにして、ロボット12は、所定の時間間隔で繰り返し各視線L1およびL2を推定し、この視線の方向を示す視線ベクトル情報をサーバ20に送信する。
In step S <b> 143, the
サーバ20では、ステップS145において、CPU200が、カウンタCt2がそのとき物品ローカル辞書205A内でポイントしている物品と、各視線L1およびL2との距離を計算する。この計算の際には、CPU200は、ロボット12から受信した視線ベクトル情報をロボット座標系からワールド座標系に座標変換して使用する。また、この距離の計算の際には、物品ローカル辞書205Aの当該物品(本)24のレコードに記録されている当該物品(本)24の位置の情報が利用される。
In the
一方、指差し方向を推定するためには、ステップS147において、まず、CPU200は、人間16が指差し動作をした腕を特定する。具体的には、モーションキャプチャのデータを参照して、たとえば、人間16の指先と肩の高さとの差が小さい側の腕を指差し腕として推定する。なぜなら、指差し動作をする場合には、腕を持ち上げる動作をまずすると考えられるからである。このようにして、ステップS147でどちらの腕を用いて指差し動作をするかを推定した後、CPU200は、次のステップS149において、指差し方向を推定する。
On the other hand, in order to estimate the pointing direction, in step S147, first, the
この実施例では、図13に示すように、指差し腕の指先と顔の中心(重心)とを通る直線L3、および指差し腕の指先とその腕の肘とを通る直線L4を想定する。そして、モーションキャプチャのデータを参照して、その直線L3およびL4を推定する。次のステップS151において、各直線L3およびL4と各物品との間の距離を計算する。 In this embodiment, as shown in FIG. 13, a straight line L3 passing through the fingertip of the pointing arm and the center (center of gravity) of the face and a straight line L4 passing through the fingertip of the pointing arm and the elbow of the arm are assumed. Then, the straight lines L3 and L4 are estimated with reference to the motion capture data. In the next step S151, the distance between each straight line L3 and L4 and each article is calculated.
上述のステップS143〜S145およびステップS147〜S151は、繰返し時間(t1,t2,t3,...,tm)毎に行われる。そして、各繰返しの時間(t1,t2,t3,...,tm)毎に、線L1,L2,L3,およびL4との距離が最小になる物品を求める。各線において、最小になった物品に対して高い確信度(図14でいえば「○」印)を付与する。このようにして、たとえば図14に示すような確信度表を作成する。 The above-described steps S143 to S145 and steps S147 to S151 are performed every repetition time (t1, t2, t3,..., Tm). Then, for each repetition time (t1, t2, t3,..., Tm), an article having a minimum distance from the lines L1, L2, L3, and L4 is obtained. In each line, a high certainty factor (“◯” in FIG. 14) is assigned to the minimized article. In this way, for example, a certainty factor table as shown in FIG. 14 is created.
このように直線毎に最短距離を持つ物品を算出することによって確信度表を作成するようにすれば、1つの物品について2以上の直線について確信度(○)が付与されることがある。このことによって、後にステップS155で説明するような物品リストB(不図示)を作成することができるのである。 If the certainty factor table is created by calculating the article having the shortest distance for each straight line as described above, the certainty factor (○) may be given to two or more straight lines for one article. As a result, an article list B (not shown) as will be described later in step S155 can be created.
この図14の確信度表において、視線L1およびL2のそれぞれについて評価される確信度は「視線確信度」ということができ、指差し方向線L3およびL4のそれぞれについて評価される確信度が「指差し方向確信度」であるということができる。 In the certainty factor table of FIG. 14, the certainty factor evaluated for each of the lines of sight L1 and L2 can be referred to as “gaze certainty factor”, and the certainty factor evaluated for each of the pointing direction lines L3 and L4 is It can be said that it is the “direction direction certainty”.
図14に示す例で説明すると、「123…0000001」のIDを持つ物品、実施例でいえば図1に示す「地球温暖化」という名称の本についていえば、時間t1に一方の視線L2とこの本との間の距離が最小になったものの、その他の時間区間ではどの線も当該本に最接近することはなかったと判断できる。次の、「123…0000046」のIDを持つ物品、実施例でいえば図1に示す「花火の匠」という名称の本についていえば、時間t1を除いて、各時間にどれかの線がこの物品に再接近したことがわかる。このようにして、図14に示す確信度表がステップS145およびステップS151で作成される。 Referring to the example shown in FIG. 14, an article having an ID of “123... 0000001”, in the example, a book named “global warming” shown in FIG. Although the distance to the book is minimized, it can be determined that no line is closest to the book in other time intervals. For the next article having an ID of “123 ... 0000046”, in the example, the book named “Fireworks Takumi” shown in FIG. It can be seen that this article has been approached again. In this way, the certainty factor table shown in FIG. 14 is created in steps S145 and S151.
ステップS155においてCPU200は、図14に示す確信度表を参照して、そのとき人間16が指示したと考える物品(本)24を特定する。具体的には、確信度評価(図14で言えば丸印)が単に多い順や、繰返し時間で視線(L1またはL2)と指差し(L3またはL4)の両方に○が入っている回数が多い順などに従って、物品のIDのリストである物品リストB(不図示)を作成する。
In step S <b> 155, the
この確信度評価について、たとえば、図14に示す例で説明すると、「123…0000001」のIDを持つ「地球温暖化」という名称の本についていえば、確信度評価は「1」(1つの○印が付与された。)であり、「123…0000046」のIDを持つ「花火の匠」という本の確信度は「3」ということになる。したがって、この場合には、物品リストBには、ID「123…0000046」、ID「123…0000001」の順で登録される。 This confidence evaluation will be described with reference to the example shown in FIG. 14. For example, if the book named “global warming” having the ID “123... The degree of certainty of the book “Fireworks Takumi” with ID “123... 0000046” is “3”. Accordingly, in this case, ID “123... 0000046” and ID “123... 0000001” are registered in the article list B in this order.
ただし、確信度(○印)の数が同じ場合であるとか、確信度(○印)の数が所定の閾値より小さい場合など、判断に迷う場合には、たとえば、図14に示す各繰り返しの時間の全区間の半分以上で確信度が付与されているような物品を対象物として特定すればよい。 However, when the number of certainty factors (circles) is the same, or when the number of certainty factors (circles) is smaller than a predetermined threshold, for example, each repetition shown in FIG. What is necessary is just to specify the articles | goods to which confidence is provided in the half or more of all the sections of time as a target object.
このようにして、ステップS37の「音声認識による物品の推定」の処理で物品リストAが作成され、ステップS39の「視線と指差しによる物品の推定」の処理で物品リストBが作成されると、次に、CPU200は、図16のステップS41で、人間16が指示した物品の候補の一覧である候補物品一覧C(不図示)を作成する。この候補物品一覧Cを作成する処理は、図21のフロー図に示す手順で実行される。
In this manner, the article list A is created by the process of “estimating articles by voice recognition” in step S37, and the article list B is created by the process of “estimating articles by line of sight and pointing” in step S39. Next, in step S41 of FIG. 16, the
まず、CPU200は、ステップS161で、メモリ204に設定されているフラグcaがオン状態であるか、つまり、音声認識の結果により推定された物品が存在するか否か、言い換えれば、物品リストAに物品のIDが登録されているか否かを判断する。
First, in step S161, the
ステップS161でNOと判断すると、音声認識の結果によって推定された物品は存在しないので、ステップS163で、視線確信度および指差し方向確信度に基づいて候補物品一覧Cを作成する。つまり、物品リストBの内容をそのままに候補物品一覧Cを作成する。 If NO is determined in step S161, there is no article estimated based on the result of the voice recognition. Therefore, in step S163, a candidate article list C is created based on the line-of-sight certainty and the pointing direction certainty. That is, the candidate article list C is created with the contents of the article list B as they are.
一方、ステップS161でYESと判断すると、次に、CPU200は、ステップS165で、フラグtwがオン状態であるか、つまり、音声認識により本24のタイトル(名称)(物品の名称)が認識されたか否か、言い換えれば、音声認識の結果として得られた物品リストAに登録されている物品のIDは、人間16の発話内容に含まれる本24のタイトル(名称)に基づいて決定されたか否かを判断する。
On the other hand, if “YES” is determined in the step S161, the
ステップS165でYESと判断すると、ステップS167で、CPU200は、音声認識の結果を視線確信度および指差し方向確信度よりも優先させて候補物品一覧Cを作成する。つまり、物品リストAに登録されている物品のIDが上位となるように先に候補物品一覧Cに登録し、その後に、物品リストBに登録されている物品のIDが下位となるように登録する。これは、人間16が名指しした本24のタイトル(名称)を音声認識して物品(本)24を推定したほうが、視線や指差しに基づいて物品(本)24を推定するよりも確実であると考えられるからである。なお、物品リストAと物品リストBとに重複する物品のIDが存在する場合には、物品リストBに登録されている物品のIDを候補物品一覧Cに登録しない。
If YES is determined in step S165, in step S167, the
一方、ステップS165でNOと判断すると、CPU200は、ステップS169で、視線確信度および指差し方向確信度を音声認識の結果よりも優先させて候補物品一覧Cを作成する。つまり、物品リストBに登録されている物品のIDが上位となるように先に候補物品一覧Cに登録し、その後に、物品リストAに登録されている物品のIDが下位となるように登録する。なお、物品リストAと物品リストBとに重複する物品のIDが存在する場合には、物品リストAに登録されている物品のIDを候補物品一覧Cに登録しない。
On the other hand, if NO is determined in step S165, the
このようにして候補物品一覧Cが作成されると、次に、CPU200は、図16のステップS43で、候補物品一覧Cから第1候補である物品(本)24を選出する。はじめのステップS43では、候補物品一覧Cの先頭に登録されている物品(本)24のIDを選出する。2回目以降のステップS43では、候補物品一覧Cの2番目以降に登録されている物品(本)24のIDを選出する。
When the candidate article list C is created in this way, the
そして、ステップS45では、ステップS43で物品(のID)が選出されたか否か、つまり、候補となる物品(本)24が存在したか否かを判断する。ステップS45で、YESと判断すると、次に、CPU200は、ステップS47において、ステップS43で選出された物品の位置情報を取得する。つまり、CPU200は、ステップS43で選出された物品(本)24(以下、「選出物品(本)24」と呼ぶ。)のIDをキーとして物品ローカル辞書205Aを検索することによって、当該物品IDが示す物品(本)24の位置の情報を取得する。
In step S45, it is determined whether or not an article (its ID) is selected in step S43, that is, whether or not a candidate article (book) 24 exists. If YES is determined in the step S45, the
次に、CPU200は、ステップS49で、「選出物品(本)24」が、人間16が指示した物品(本)24であるか否かを人間16に確認するためにロボット12に発話させる際の発話内容を決定する。ロボット12が行うこの発話の内容には、サーバ20が、人間16が指示したと推定する物品(本)24を特定する単語(以下、「特定単語」と呼ぶ。)が含まれる。図6を参照して、サーバ20が、人間16が指示したと推定した物品(本)24が、物品IDが「123…0000046」である「花火の匠」とう本であったとする。この場合、ステップS49では、たとえば、「花火の匠の本ですね」、「黒色の本ですね」、「ハードカバーの本ですね」などという発話内容を決定する。この例の場合、それぞれ、「花火の匠」、「黒色」、「ハードカバー」が先述の「特定単語」である。この「発話内容の決定」の処理は、図22のフロー図に示す手順で実行される。
Next, in step S49, the
図22を参照して、まず、CPU200は、ステップS181で、メモリ204に設定されている個人正誤DB205Eを参照して、ロボット12が認識した人間16とコミュニケーションをとるのがはじめてであるか否か、つまり、当該人間16の指示する物品(本)24を特定するのがはじめてであるか否かを判断する。個人正誤DB205Eは、ロボット12と人間16とのコミュニケーション結果の記録である。つまり、この個人正誤DB205Eには、ロボット12とコミュニケーションを行った人間16のIDと当該人間16が指示する物品(本)24をシステム10が正しく推定することができたか否かを示す成功、不成功の別がコミュニケーションのたび毎に記録されている。個人正誤DB205Eに当該人間16のIDが記録されていなければ、当該人間16は初対面であると判断する。
Referring to FIG. 22, first, in step S181,
ステップS181でYESと判断すると、つまり、人間16は初対面であると判断すると、ステップS183で、CPU200は、物品(本)24の「特定単語」を本24のタイトル(名称)に決定する。この本24のタイトル(名称)の内容は、図16のステップS43で選出した物品(本)24(「選出物品(本)24」)のIDを物品ローカル辞書205Aで検索することによって得ることができる。
If YES is determined in step S181, that is, if it is determined that the human 16 is the first meeting, the
そして、ステップS203では、メモリ204に設定されている発話辞書205Dを利用して、ステップS183で決定した「特定単語」である本24のタイトル(名称)、たとえば、「花火の匠」に基づいて「花火の匠の本ですね」などという発話内容を決定する。なお、ステップS203では、決定した発話内容をロボット12がこれにしたがって発話するための発話内容情報の生成も行う。
In step S203, using the
一方、ステップS181でNOと判断された場合、つまり、当該人間16のIDが個人正誤DB205Eに記録されている場合は、ステップS185で、CPU200は、同じく個人正誤DB205Eを参照して当該人間16とのコミュニケーションにおける成功率を計算し、成功率が、たとえば、70%以上であるか否かを判断する。ステップS185でNOと判断すると、先に説明したように、ステップS183で、物品(本)24の「特定単語」を本24のタイトル(名称)と決定し、ステップS203で、発話内容を決定する。
On the other hand, if NO is determined in step S181, that is, if the ID of the
一方、ステップS185で、YESと判断すると、ステップS187で、「選出物品(本)24」に関する単語の一覧D(不図示)を物品ローカル辞書205Aから作成する。たとえば、「選出物品(本)24」が、図6を参照して物品IDが「123…0000046」である「花火の匠」という本24であったとすると、単語の一覧Dには、物品ローカル辞書205Aの物品IDが「123…0000046」であるレコードに登録されている単語である「花火の匠」、「黒色」、「ハードカバー」、「近藤四郎」、「ATR出版株式会社」が登録される。
On the other hand, if YES is determined in the step S185, a word list D (not shown) relating to the “selected article (book) 24” is created from the article
単語の一覧Dが作成されると、次に、CPU200は、ステップS189で、単語の一覧Dに登録されている単語のうち、人間16の近傍に存在する物品(本)24に関連する単語と同一の単語を削除する。人間16の近傍には、物品ローカル辞書205Aに登録されている物品(本)24が存在することになる。「選出物品(本)24」が、図6を参照して物品IDが「123…0000046」である「花火の匠」という本24であったとすると、単語の一覧Dには、先述したように、「ハードカバー」という単語や「ATR出版株式会社」という単語が登録されている。
After the word list D is created, the
ここで、物品(本)24の「特定単語」を「ハードカバー」という単語や「ATR出版株式会社」という単語に決定し、ロボット12が「ハードカバーの本ですね」や「ATR出版株式会社の本ですね」と発話したとする。すると、図6の物品ローカル辞書205Aからわかるように、人間16の近傍には「ハードカバーの本」や「ATR出版株式会社の本」は複数存在するので、人間16はロボット12の発話に基づいてロボット12がどの物品(本)24を示しているのかがわからない。そこで、単語の一覧Dから、物品ローカル辞書205Aに記録されている「選出物品(本)24」以外のレコードに記録されている単語と同一の単語を削除する。
Here, the “specific word” of the article (book) 24 is determined to be the word “hardcover” or the word “ATR Publishing Co., Ltd.”, and the
次に、ステップS191で、CPU200は、単語の一覧Dから6個未満の音素からなる単語、つまり、音声認識の処理において6個未満の音素に分解される単語を削除する。これは、音素数の少ない単語は正しく音声認識されにくいためである。なお、分解される音素の数は、当該単語を音声認識ローカル辞書205Bに参照することによって判明する当該単語に対応する音素記号列を構成する音素記号の数によって判断することができる。ただし、図11の音声認識ローカル辞書205Bに示した音素記号列は、説明の表現の都合上、アルファベットを用いてローマ字であらわしたものであり、図11に示すアルファベットが音素記号をあらわしたものではない。そして、ステップS193では、さらに、単語の一覧Dから平仮名の「う」で始まる単語を削除する。これは、「う」から始まる単語は正しく音声認識されにくいためである。
Next, in step S191, the
次に、CPU200は、ステップS195で、単語の一覧Dに単語が存在するか否かを判断する。ステップS195でNOと判断すると、「特定単語」とするべき単語が単語の一覧Dに存在しないので、ステップS197で指示形容詞である「あの」という単語を「特定単語」に決定する。そして、ステップS203では、発話辞書205Dを利用して、ステップS197で決定した「特定単語」である「あの」に基づいて「あの本ですね」などという発話内容を決定する。あるいは、指示形容詞とステップS187の段階で作成した単語の一覧Dに登録されているいずれかの単語を用いて、「あの白い本ですね」という発話内容にしてもよい。ただし、この例では、「白い本」という言葉によっては物品(本)24を一意に特定することはできない。なお、ステップS203では、指示代名詞を用いて「白いあれ(これ)ですね」という発話内容にしてもよいし、単に「あれ(これ)ですね」という発話内容にしてもよい。
Next, in step S195, the
一方、ステップS195でYESと判断すると、ステップS199で、メモリ204に設定されている音声認識率DB205Fを参照し、単語の一覧Dに登録されている単語のそれぞれの音声認識率を取得して単語の一覧Dに登録されている単語を音声認識率の高い順にソートする。そして、ステップS201では、単語の一覧Dの最上位に登録されているもっとも音声認識率の高い単語を「特定単語」に決定する。ステップS203では、発話辞書205Dを利用して、ステップS201で決定した「特定単語」に基づいて発話内容を決定する。このようにして、システム10が推定した人間16が指示した物品(本)24を人間16に確認するためにロボット12が発話する内容が決定される。
On the other hand, if “YES” is determined in the step S195, the speech
このように、人間16が指示したとシステム10が推定した物品(本)24を人間16に確認する際にロボット12が発話する内容に、音声認識率の高い「特定単語」を利用すると、人間16がこれを真似し、次回にその物品(本)24を指示する際にこの「特定単語」を利用すれば、システム10は音声認識による物品(本)24の特定を容易に行うことができるようになる。
As described above, when a “specific word” having a high voice recognition rate is used as the content spoken by the
図16に戻って、ステップS49において発話内容が決定されると、次に、CPU200は、ステップS51で、ステップS47で取得した「選出物品(本)24」の位置情報とステップS203(図22)で生成した発話内容情報とをロボット12に送信する。
Returning to FIG. 16, when the utterance content is determined in step S49, the
ロボット12では、「選出物品(本)24」の位置情報と発話内容情報とを受信すると、CPU80が、図15のステップS11でYESと判断する。するとCPU80は、次のステップS13において、メモリ84に設定されている発話/ジェスチャ辞書85Aを参照して、「選出物品(本)24」の位置情報に基づいて「選出物品(本)24」を指差すとともに、発話内容情報に基づいて発話を行う。なお、このとき、CPU80は、受信した「選出物品(本)24」の位置情報をワールド座標系からロボット座標系に座標変換して利用する。
When the
「選出物品(本)24」が「花火の匠」というタイトル(名称)の本24である場合は、このステップS13では、図1において右から2番名に置かれている本を指差しジェスチャで示すとともに、たとえば、「花火の匠の本ですね」のような発話を行う。
When the “selected article (book) 24” is the
このようなロボット12の指差しと発話に対し、人間16は、「そうです」とか「ちがいます」などといった応答を行う。するとロボット12では、CPU80が、マイク66を通して入力された人間16の声を取り込み、ステップS15で人間16の応答があったと判断する。そして、ステップS17では、取り込んだ人間16の音声の情報とともに、当該音声を音声認識して肯定する内容であるか否定する内容であるかを判断させる指示をサーバ20に送信する。
In response to such pointing and utterance of the
サーバ20では、CPU200は、音声認識により肯定であるか否定であるかを判断させる指示と、音声認識すべき音声の情報を受信すると、図16のステップS53でYESと判断する。そして、次に、CPU200は、ステップS55で、受信した音声の情報に音声認識処理を施して、音声の内容が肯定を示すものであるか否定を示すものであるかを判断し、ステップS57でその判断結果をロボット12に送信する。
In
ロボット12では、音声認識による肯定であるか否定であるかの判断結果を受信すると、CPU80は、ステップS19でYESと判断する。そして、さらに、ステップS21ではサーバ20における音声認識の結果が肯定を示すものであったか否かを判断する。ステップS21でNOと判断すると、CPU80は、ステップS11で、サーバ20から「選出物品(本)24」の位置情報と発話内容情報とをさらに受信したか否かを判断する。
When the
一方、ステップS21でYESと判断すると、ロボット12は、該当する物品(本)24の方向に移動し、該当する物品(本)24を把持して人間16の位置に運ぶ。つまり、物品(本)24が存在する位置の座標が既にわかっているので、ロボット12のCPU80は、車輪モータ36を制御して、ロボット12をその物品(本)24の位置に移動させ、次いでアクチュエータ108(図3)を制御することによってハンド56R(または56L)開閉して物品(本)24をハンド56R(または56L:図2)で把持させ、その状態で再び車輪モータ36を制御してロボット12を人間16の位置にまで移動させる。このようにして、ステップS23で、サーバ20が図16のステップS43で選出した「選出物品(本)24」を人間16に運ぶことができる。
On the other hand, if “YES” is determined in the step S <b> 21, the
一方、サーバ20では、図16のステップS57で、音声認識による人間16の音声の内容が肯定であるか否定であるかの判断結果をロボット12に送信した後、図17のステップS61で、当該判断の結果が肯定であったか否かを判断する。ステップS61でNOと判断すると、CPU200は、図16のステップS43で、音声認識の結果ならびに視線確信度と指差し方向確信度から作成した前述の候補物品一覧Cから、次の候補である物品(本)24の選出を行う。
On the other hand, in step S57 in FIG. 16, the
このとき、候補物品一覧Cに他の物品(本)24のIDが登録されていない場合には、ステップS45で物品が選出されなかったと判断される(ステップS45でNO)。すると、CPU200は、ステップS59で候補物品がない旨の通知をロボット12に送信する。
At this time, if the ID of the other article (book) 24 is not registered in the candidate article list C, it is determined that no article has been selected in step S45 (NO in step S45). Then, the
ロボット12では、候補物品がない旨の通知を受信すると、CPU200が、図15のステップS25でYESと判断し、人間16が指示する物品(本)24を特定できなかったものとして処理を終了する。
When the
一方、図17に戻って、ステップS61でYESと判断すると、次に、CPU200は、ステップS63で、人間16の指示する物品(本)24を特定することができたことを示すために、メモリ204に設定されているフラグscに数値「1」を記憶させてフラグscをオン状態にする。なお、フラグscの初期状態はオフ状態(数値「0」)である。
On the other hand, returning to FIG. 17, if YES is determined in the step S61, the
次に、CPU200は、ステップS65で、メモリ204に設定されているフラグnwがオン状態であるか否かを判断する。先に説明したように、このフラグnwは、人間16が発話した音声を音声認識した結果、音声認識できない単語が存在し、その単語が、人間16が指示した物品を特定するであろう単語である場合にオン状態に設定される。
Next, in step S65, the
ステップS65でYESと判断すると、CPU200は、ステップS67で、音声認識できなかった単語を物品辞書122に登録して辞書を更新する。具体的には、図19のステップS119で、メモリ204のワークエリアwaに格納された音声認識できなかった単語の音素記号列を、物品辞書122に登録する。たとえば、人間16が「ハナタク持ってきて」と発話し、「ハナタク」が音声認識できなかったが、視線や指差しに基づく推定により、人間16は「花火の匠」の本を指示していたと判明したとする。この場合、ワークエリアwaには単語「ハナタク」の音素記号列“hanataku”が格納されているので、この音素記号列を、図9に示すように、物品辞書122の物品のIDが「123…0000046」である「花火の匠」という本24のレコードの「属性」の項目に、この「ハナタク」という単語を発話した人間16のIDとともに記憶する。
If YES is determined in the step S65, the
次に、CPU200は、ステップS69で、音声認識できなかった単語を音声認識辞書126に新たなレコードとして登録して辞書を更新する。具体的には、ステップS67での例をそのまま用いると、図12に示すように、音声認識辞書126に、図16のステップS43で選出された物品(本)24(「選出物品(本)24」)の名称の単語である「花火の匠」を記憶した項目と、メモリ204のワークエリアwaに格納されている音素記号列である“hanataku”を記憶した項目とを含むレコードを追加する。このとき、当該レコードの「物品名称」の項目には、物品の名称(本24のタイトル(名称))であることを示す値「1」が格納される。
Next, in step S69, the
このように音声認識辞書122に「花火の匠」という単語と“hanataku”という音素記号列を登録しておくと、次回以降において、人間16が、たとえば、「ハナタク持ってきて」と発話すると、「ハナタク」を音声認識することができ、その音声認識の結果として物品(本)24の名称である「花火の匠」を得ることができる。
If the word “fireworks master” and the phoneme symbol string “hanataku” are registered in the
ステップS71では、メモリ204に設定されている個人正誤DB205Eを更新する。つまり、メモリ204に設定されているフラグscがオン状態であるか否かを判断し、オン状態である場合には、人間16が指示する物品(本)24を特定することができたということを示しているので、個人正誤DB205Eに当該人間16とのコミュニケーションが成功したことを示す情報を記憶する。一方、フラグscがオフ状態である場合には、当該人間16とのコミュニケーションが不成功であったことを示す情報を記憶する。
In step S71, the personal correctness /
なお、ステップS65でNOと判断した場合は、ステップS67およびステップS69をスキップする。 If NO is determined in step S65, steps S67 and S69 are skipped.
このように、このシステム10では、物品(本)24を指示する人間16の位置を検出し、当該人間16の近傍に存在する物品(本)24を特定する。また、音声認識辞書126に含まれるレコードから人間16の近傍に存在する物品(本)24に関連する単語についてのレコードのみを抽出して音声認識ローカル辞書205Bを作成する。そして、この音声認識ローカル辞書205Bを用いて、人間16が発する音声を認識して、当該人間16が指示する物品(本)24を特定する。つまり、本件では、人間16の発話中に含まれると予想される単語を、人間16の近傍の空間に存在する物品(本)24に限定することにより、音声認識に利用する音声認識辞書(音声認識ローカル辞書205B)に含まれる単語を最適なものとしている。したがって、システム10が対象とするすべての物品(本)24に関連する単語についてのレコードが登録された音声認識辞書126を用いて音声認識の処理を実行する場合に比べ、音声認識の処理にかかる時間を短縮するとともに、音声認識の精度を向上することができる。
Thus, in this
なお、上述の実施例では、音声認識辞書126からこれとは別個の音声認識ローカル辞書205Bを作成することにより音声認識の処理にかかる時間を短縮したが、これに代えて、音声認識ローカル辞書205Bを別途に構築するのではなく、たとえば、音声認識辞書126に登録されているレコードのうち、人間16の近傍に存在する物品(本)24に関連する単語についてのレコードのみにフラグを立て、フラグが立っているレコードのみを参照して音声認識の処理を行うようにしても同様に音声認識の処理にかかる時間を短縮し、音声認識の精度を向上することができる。
In the above-described embodiment, the time required for the speech recognition process is shortened by creating a separate speech recognition
10 …コミュニケーションロボットシステム
12 …コミュニケーションロボット
14 …ネットワーク
18 …無線タグ
20 …サーバ
24 …物品(本)
80 …CPU
120 …カメラ
124 …アンテナ
200 …CPU
208 …無線タグ読取装置
DESCRIPTION OF
80 ... CPU
120 ...
208... RFID tag reader
Claims (4)
人間の位置を検出する位置検出手段、
前記位置検出手段が検出した人間の位置に基づいて、人間の近傍にある物品を特定する近傍物品特定手段、
前記近傍物品特定手段が特定した物品に関する第1音声認識辞書を構築する辞書構築手段、および
前記辞書構築手段が構築した前記第1音声認識辞書を用いて音声認識を行って人間が指示する物品を特定する指示物品特定手段を備える、音声認識システム。 A voice recognition system for recognizing human-generated voice and identifying an article designated by the human,
Position detecting means for detecting a human position,
Based on the position of the person detected by the position detection means, a nearby article specifying means for specifying an article in the vicinity of the person,
Dictionary construction means for constructing a first speech recognition dictionary related to the article identified by the neighboring article identification means, and articles designated by a human by performing speech recognition using the first speech recognition dictionary constructed by the dictionary construction means A voice recognition system comprising a specified article specifying means for specifying.
当該音声認識システムが対象とする各物品について物品の存在する位置を示す位置情報を記憶する位置情報記憶手段、
当該音声認識システムが対象とする各物品について物品に関連する単語と当該単語の音素記号列を含む音声認識情報を記憶する音声認識情報記憶手段、
音声認識処理を行って得られる音素記号列に基づいて前記音声認識情報記憶手段に記憶されている音声認識情報を参照して物品に関連する単語を特定する単語特定手段、
前記単語特定手段が特定した単語に基づいて前記人間が指示した物品を特定する物品特定手段、
人間の位置を検出する位置検出手段、および
前記位置検出手段が検出した前記人間の位置と前記位置情報記憶手段に記憶されている位置情報とに基づいて当該人間の近傍に存在する物品を特定する近傍物品特定手段を備え、
前記単語特定手段は、前記近傍物品特定手段が特定した物品に関連する単語を含む前記音声認識情報のみを参照して単語を特定する、音声認識システム。 A voice recognition system for recognizing human-generated voice and identifying an article designated by the human,
Position information storage means for storing position information indicating the position of the article for each article targeted by the voice recognition system;
Voice recognition information storage means for storing voice recognition information including a word related to the article and a phoneme symbol string of the word for each article targeted by the voice recognition system;
Word specifying means for specifying a word related to an article with reference to the speech recognition information stored in the speech recognition information storage means based on a phoneme symbol string obtained by performing speech recognition processing;
Article specifying means for specifying an article designated by the person based on the word specified by the word specifying means;
Based on position detection means for detecting the position of a person, and the position of the person detected by the position detection means and position information stored in the position information storage means, an article existing in the vicinity of the person is specified. Providing a nearby article specifying means,
The said word specific | specification means is a speech recognition system which specifies a word only with reference to the said speech recognition information containing the word relevant to the articles | goods which the said adjacent goods specific | specification means specified.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008069605A JP2009223170A (en) | 2008-03-18 | 2008-03-18 | Speech recognition system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008069605A JP2009223170A (en) | 2008-03-18 | 2008-03-18 | Speech recognition system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009223170A true JP2009223170A (en) | 2009-10-01 |
Family
ID=41239987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008069605A Pending JP2009223170A (en) | 2008-03-18 | 2008-03-18 | Speech recognition system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009223170A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016035614A (en) * | 2014-08-01 | 2016-03-17 | シャープ株式会社 | Apparatus, voice output method, voice output program, network system, server, and communication apparatus |
WO2018102980A1 (en) * | 2016-12-06 | 2018-06-14 | 吉蒂机器人私人有限公司 | Speech interaction method, device and system |
KR20180125241A (en) * | 2017-05-15 | 2018-11-23 | 네이버 주식회사 | Device control according to user's talk position |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003084795A (en) * | 2001-09-10 | 2003-03-19 | Kenwood Corp | On-vehicle voice recognition system |
JP2004240319A (en) * | 2003-02-07 | 2004-08-26 | Toshiba Tec Corp | Portable terminal for speech recognition and speech recognition system using same |
JP2007264328A (en) * | 2006-03-28 | 2007-10-11 | Matsushita Electric Works Ltd | Bathroom apparatus and voice operation system used therefor |
JP2007286136A (en) * | 2006-04-13 | 2007-11-01 | Alpine Electronics Inc | In-vehicle voice recognition device and voice recognition method |
JP2007298592A (en) * | 2006-04-28 | 2007-11-15 | Fujitsu Ten Ltd | Speech processing apparatus |
-
2008
- 2008-03-18 JP JP2008069605A patent/JP2009223170A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003084795A (en) * | 2001-09-10 | 2003-03-19 | Kenwood Corp | On-vehicle voice recognition system |
JP2004240319A (en) * | 2003-02-07 | 2004-08-26 | Toshiba Tec Corp | Portable terminal for speech recognition and speech recognition system using same |
JP2007264328A (en) * | 2006-03-28 | 2007-10-11 | Matsushita Electric Works Ltd | Bathroom apparatus and voice operation system used therefor |
JP2007286136A (en) * | 2006-04-13 | 2007-11-01 | Alpine Electronics Inc | In-vehicle voice recognition device and voice recognition method |
JP2007298592A (en) * | 2006-04-28 | 2007-11-15 | Fujitsu Ten Ltd | Speech processing apparatus |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016035614A (en) * | 2014-08-01 | 2016-03-17 | シャープ株式会社 | Apparatus, voice output method, voice output program, network system, server, and communication apparatus |
WO2018102980A1 (en) * | 2016-12-06 | 2018-06-14 | 吉蒂机器人私人有限公司 | Speech interaction method, device and system |
CN109429522A (en) * | 2016-12-06 | 2019-03-05 | 吉蒂机器人私人有限公司 | Voice interactive method, apparatus and system |
KR20180125241A (en) * | 2017-05-15 | 2018-11-23 | 네이버 주식회사 | Device control according to user's talk position |
KR102025391B1 (en) * | 2017-05-15 | 2019-09-25 | 네이버 주식회사 | Device control according to user's talk position |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6509707B2 (en) | Information processing device, information processing method and storage medium | |
JP5429462B2 (en) | Communication robot | |
JP5366048B2 (en) | Information provision system | |
US11437034B2 (en) | Remote control method and apparatus for an imaging apparatus | |
US8606735B2 (en) | Apparatus and method for predicting user's intention based on multimodal information | |
JP5070441B2 (en) | Robot remote control system | |
JP5145569B2 (en) | Object identification method and apparatus | |
JP7375748B2 (en) | Information processing device, information processing method, and program | |
JP2007260822A (en) | Guide robot | |
JP5411789B2 (en) | Communication robot | |
JP5163202B2 (en) | Article estimation system | |
US20200269421A1 (en) | Information processing device, information processing method, and program | |
CN107618036B (en) | Control device, control system, and control method | |
CN113056315B (en) | Information processing apparatus, information processing method, and program | |
JP2009131914A (en) | Robot control system | |
JP5194314B2 (en) | Communication system | |
JP6468643B2 (en) | Communication system, confirmation action determination device, confirmation action determination program, and confirmation action determination method | |
JP5866646B2 (en) | Communication system, utterance content generation device, utterance content generation program, and utterance content generation method | |
JP2009223170A (en) | Speech recognition system | |
KR101652705B1 (en) | Apparatus for predicting intention of user using multi modal information and method thereof | |
JP2019175432A (en) | Dialogue control device, dialogue system, dialogue control method, and program | |
JP5324956B2 (en) | Road guidance robot | |
JP4399603B2 (en) | Communication robot | |
JP2007160427A (en) | Robot control system | |
JP5610283B2 (en) | External device control apparatus, external device control method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110214 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120119 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120305 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120426 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121120 |