JP7342419B2 - ロボットの制御装置、ロボット、ロボットの制御方法及びプログラム - Google Patents

ロボットの制御装置、ロボット、ロボットの制御方法及びプログラム Download PDF

Info

Publication number
JP7342419B2
JP7342419B2 JP2019094271A JP2019094271A JP7342419B2 JP 7342419 B2 JP7342419 B2 JP 7342419B2 JP 2019094271 A JP2019094271 A JP 2019094271A JP 2019094271 A JP2019094271 A JP 2019094271A JP 7342419 B2 JP7342419 B2 JP 7342419B2
Authority
JP
Japan
Prior art keywords
response
utterance
target
analysis
robot
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
Application number
JP2019094271A
Other languages
English (en)
Other versions
JP2020190587A (ja
Inventor
克典 石井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2019094271A priority Critical patent/JP7342419B2/ja
Publication of JP2020190587A publication Critical patent/JP2020190587A/ja
Priority to JP2023135703A priority patent/JP2023169166A/ja
Application granted granted Critical
Publication of JP7342419B2 publication Critical patent/JP7342419B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)
  • Toys (AREA)
  • Machine Translation (AREA)

Description

本発明は、ロボットの制御装置、ロボット、ロボットの制御方法及びプログラムに関する。
自律型で動作し、人と対話を行うロボットが提案されている。例えば、特許文献1には、人間との対話が適切に行えるようにする自然言語処理装置が記載されている。特許文献1の自然言語処理装置は、解析可能な単位の自然言語文の一部が入力するごとに、各解析処理部で逐次的かつ並列的に解析処理を実行する逐次解析処理部と、逐次解析処理部の各解析処理部での解析結果に基づいて、対話応答文などの出力を得る出力部とを備える。逐次解析処理部に用意された各処理部は、自らの処理部での直前又はそれより前の過去の解析結果と、他の処理部での直前又はそれより前の過去の解析結果とを取得し、取得した解析結果を参照しながら先読みをしつつ解析結果を得る。
特開2017-102771号公報
人と対話を行うロボットでは一般に、人の話す内容を聞き終えてから、応答文を生成し発話するため、発話途中ではロボットがなんら応答せず、話者にはロボットがなんら聞いていないように感じられる。特許文献1の自然言語処理装置では、文の一部が入力するごとに、各解析処理部で逐次的かつ並列的に解析処理を行い、早く応答を返そうとする。
しかし、この自然言語処理装置を、ユーザと対話可能に構成されたロボットに適用した場合には、次の入力データを先読みする先読み処理で予測した結果を用いて解析処理が行われるので、この解析処理の結果が誤っている可能性がある。解析結果が誤っている場合には、ユーザによる入力文に対して不適当な応答文が生成されてしまい、ひいては、ユーザの発話に対する応答を適切に行うことができない。
本発明は、上述の事情に鑑みてなされたもので、ロボットへの人の発話に対する応答を迅速かつ適切に行うことを目的とする。
上記目的を達成するため、本発明に係るロボットの制御装置は、
対象に対して応答可能なロボットの制御装置であって、
前記対象の発話を取得する取得手段と、
前記対象が発話しているときに前記取得手段により取得された前記発話を部分的に解析し、前記発話の一部の音素列が、前記対象に対する非言語的な挙動を用いた複数の第1応答にそれぞれ対応付けられている複数の参照音素列の何れかに一致するか否かを判別する第1解析手段と、
前記第1解析手段により一致すると判別された前記参照音素列に対応付けられている前記第1応答を前記ロボットに実行させるように制御する第1制御手段と、
前記取得手段により取得された前記対象の発話を、前記第1解析手段により解析される発話の区間よりも長い区間で解析する第2解析手段と、
前記第2解析手段による解析結果に応じて、前記対象の前記発話に対する応答文を生成する生成手段と、
前記生成手段により生成された前記応答文に基づいて、前記ロボットによる言語を用いた第2応答を制御する第2制御手段と、
を備え、
前記複数の参照音素列の各々は、前記対象の発話の内容を特定可能な最短の音素列に設定されていることを特徴とする。
本発明によれば、ユーザの発話に対する応答を迅速かつ適切に行うことができる。
本発明の実施の形態に係る制御装置が適用されるロボットの概略構成を示す図である。 実施の形態に係るロボットの制御装置の機能構成を示すブロック図である。 実施の形態に係る制御装置がロボットに実行させるジェスチャ番号2の動作を示す正面図である。 実施の形態に係る制御装置がロボットに実行させるジェスチャ番号3の動作を示す正面図である。 実施の形態に係る制御装置がロボットに実行させるジェスチャ番号4の動作を示す正面図である。 実施の形態に係る制御装置がロボットに実行させるジェスチャ番号5の動作を示す正面図である。 実施の形態に係る制御装置がロボットに実行させるジェスチャ番号6の動作を示す正面図である。 実施の形態に係る制御装置の会話記録処理を示すフローチャートである。 図4に示す会話記録処理で記録される会話記録の例を示す図である。 実施の形態に係る制御装置の分析学習処理を示すフローチャートである。 会話記録から所定の対象に対応するすべての発話文を読み出した例を示す図である。 ユニーク音素列テーブルの例を示す図である。 文とジェスチャの対応の例を示す図である。 実施の形態に係る制御装置の応答ジェスチャデータベース登録処理を示すフローチャートである。 発話文の発話された時間の例を示すタイミングチャートである。 図10に示す応答ジェスチャデータベース登録処理で用いられる応答ジェスチャデータベースの例を示す図である。 実施の形態に係る制御装置の予測応答制御処理を示すフローチャートである。 応答時間リストの例を示す図である。 実施の形態に係る制御装置の言語応答制御処理を示すフローチャートである。 実施の形態に係るロボットの応答例を示すタイミングチャートである。
以下、本発明の実施の形態について、図面を参照して説明する。なお、図中同一又は相当する部分には同一の符号を付す。
実施の形態.
図1は、本発明の実施の形態に係る制御装置2が適用されたロボット1の概略構成を示す図である。ロボット1は、外観的には人(子供)を模した立体的な形状を有する。ロボット1は、頭部101と、胴体部102と、腕部103と、を備える。頭部101及び腕部103は、ロボット1に内蔵された駆動装置であるジェスチャ作動部7によって動かすことができる部位である。頭部101は、首の関節5によって、屈曲・伸展、回旋及び側屈が可能に胴体部102に取り付けられている。腕部103は、肩の関節6によって、屈曲・伸展及び内転・外転が可能に胴体部102に取り付けられている。
ロボット1は、音声を収音するためのマイクロフォン3、音声を出力するためのスピーカ4、頭部101及び腕部103を動かすためのジェスチャ作動部7、ならびに、制御装置2を備える。このロボット1は、所定の対象の発話を音声認識し、発話に対する応答文を生成し、音声合成で応答文を発話して、人と会話できる。ロボット1はまた、所定の対象との会話の際に、非言語的な挙動で、すなわち、頭部101及び腕部103の動きで応答を行うことができる。ロボット1では、このような非言語的な挙動として、互いに異なる複数のジェスチャ動作が設定されており、これらの複数のジェスチャ動作には、頷いたり、腕を上げたり降ろしたりする動作が含まれる。
ロボット1は、自装置の外部に存在する所定の対象からの呼び掛け、接触等の外部からの刺激に反応して、様々に動作する。これによって、ロボット1は、所定の対象とコミュニケーションをとり、所定の対象と交流することができる。所定の対象とは、ロボット1の外部に存在し、且つ、ロボット1とコミュニケーション及び交流する相手となる対象である。所定の対象とは、例えば、ロボット1の所有者であるユーザ、ユーザの周囲の人間(ユーザの親近者もしくは友人等)、及び発話可能な他のロボットである。所定の対象は、コミュニケーション対象、コミュニケーション相手、交流対象、交流相手等とも言うことができる。
図2は、上記の制御装置2の機能構成を示すブロック図である。制御装置2は、マイクロフォン3及びスピーカ4に電気的に接続されており、マイクロフォン3から音声信号を取得し、スピーカ4から応答文を発話する。また、制御装置2は、ロボット1に上記のジェスチャ動作を実行させるために、ジェスチャ作動部7を制御する。ジェスチャ作動部7はアクチュエータを備え、例えば、図1に示すロボット1の頭部101及び腕部103を駆動する。
ロボット1は、頭部101の屈曲・伸展、回旋及び側屈それぞれの回転角度を検出するセンサ(ポテンショメータ)を関節5に備え、ジェスチャ作動部7は、関節5のセンサの検出値を用いたフィードバック制御によって、頭部101に所定の動きをさせる。同様に、ロボット1は、腕部103の屈曲・伸展及び内転・外転それぞれの回転角度を検出するセンサ(ポテンショメータ)を関節6に備え、ジェスチャ作動部7は、関節6のセンサの検出値を用いたフィードバック制御によって、腕部103に所定の動きをさせる。
図3A~図3Eは、ロボット1に実行させるジェスチャ動作の例を示す正面図である。図3Aは、所定の対象の発話「おはよう」に応答するための、ジェスチャ番号2のジェスチャ動作を示す。ジェスチャ番号2のジェスチャ動作は、関節5及びジェスチャ作動部7により、頭部101を正面(又は正面の少し上方)に向け、関節6及びジェスチャ作動部7により、左右の腕部103を肩よりも上に挙げる動作である。
図3Bは、所定の対象の発話「こんにちは」に応答するための、ジェスチャ番号3のジェスチャ動作を示す。ジェスチャ番号3のジェスチャ動作は、関節5及びジェスチャ作動部7により、頭部101を正面(又は正面の少し上方)に向け、関節6及びジェスチャ作動部7により、左右の腕部103を頭部101の前に挙げる動作である。
図3Cは、所定の対象の発話「ばいばい」、「さようなら」又は「さよなら」に応答するための、ジェスチャ番号4のジェスチャ動作を示す。ジェスチャ番号4のジェスチャ動作は、関節5及びジェスチャ作動部7により、頭部101を少し左に傾け、関節6及びジェスチャ作動部7により、左の腕部103を下にさげたまま、右の腕部103を頭部101の近くまで挙げる動作である。ジェスチャ番号4のジェスチャ動作では、右の腕部103を挙げた状態で、左右に振ってもよい。
図3Dは、所定の対象の発話「ただいま」に応答するための、ジェスチャ番号5のジェスチャ動作を示す。ジェスチャ番号5のジェスチャ動作は、関節5及びジェスチャ作動部7により、頭部101を正面(又は正面の少し上方)に向け、関節6及びジェスチャ作動部7により、左右の腕部103を肩の高さまで挙げる動作である。
図3Eは、所定の対象の発話「おやすみ」に応答するための、ジェスチャ番号6のジェスチャ動作を示す。ジェスチャ番号6のジェスチャ動作は、関節6及びジェスチャ作動部7により、左右の腕部103を下におろしたまま、関節5及びジェスチャ作動部7により、頭部101を下に向ける動作である。
図2に示すように制御装置2は、制御部20、記憶部30並びにマイクロフォン3、スピーカ4及びジェスチャ作動部7と信号を入出力するI/Oインタフェースを備える。制御部20は、CPU(Central Processing Unit)等で構成され、記憶部30に記憶されたプログラムを実行することにより、後述する各部(音声取得部21、識別部22、部分解析部23、ジェスチャ応答制御部24、発話解析部25、応答文生成部26、言語応答制御部27、学習部28及び特定部29)の機能を実現し、ロボット1の動作を制御する。また、記憶部30は、ROM(Read Only Memory)及びRAM(Random Access Memory)等で構成され、ROMの一部又は全部は電気的に書き換え可能なメモリ(フラッシュメモリ等)で構成されている。なお、ロボット1は、例えば所定の対象の顔を認識するための撮像装置を備えていてもよく、制御部20はI/Oインタフェースを介して当該撮像装置と通信して画像データ等を取得してもよい。
取得手段として機能する音声取得部21は、所定の対象によってマイクロフォン3から入力された音声信号を、所定の周波数でサンプリングすることによりA/D変換し、例えばリニアPCM(Pulse Code Modulation)によるデジタルデータを生成する。音声取得部21はさらに、当該デジタルデータを短時間フーリエ変換(STFT:Short-Time Fourier Transform)により変換してスペクトログラムを取得する。音声取得部21は、取得したスペクトログラムを識別部22に送る。
また、音声取得部21は、スペクトログラムを逐次解析して、発声内容を示す音素の列を取得する。音素は、分節音ラベリングで得られる。分節音ラベリングは、音声信号を構成すると考えられる子音、母音などの構成要素に分解して、それぞれの構成要素を表現するラベルを付与することである。音声取得部21は、スペクトログラムから得られるフォルマントの遷移と、スペクトログラムのパターン及びその変化から、音声信号を構成要素に分解し、構成要素のパターンに適合するラベルを選択して付与する。なお、音素の列を取得する(音声データを音素単位にラベル付けする)処理は、例えばオープンソースのJulius音素セグメンテーションキットを用いて行うことができる。音声取得部21は、分節音ラベルから音素に変換し、得られた音素と、音素間の時間もしくは音素の発声された時刻とを逐次、学習部28及び発話解析部25に送る。
識別部22は、音声取得部21から送られたスペクトログラムから、例えばi-vectorなどの音声特徴データを抽出し、抽出した音声特徴データが、記憶部30に記憶されている複数の所定の対象の音声特徴データの何れと照合するかを判定することによって、所定の対象を識別し、識別した所定の対象の対象IDを取得する。識別部22は、取得した対象IDを、学習部28及び発話解析部25に送る。
学習手段として機能する学習部28は、所定の対象ごとに、音声取得部21から送られた音素の列と発話解析部25による音声認識結果の文章とから、マイクロフォン3から入力された発話の内容を特定できる最短の音素列を学習する。第1解析手段として機能する部分解析部23は、所定の対象から入力された発話を部分的に解析し、当該発話内の一部の音素列に、学習部28で学習された音素列(後述する最短音素列)に一致する音素列があった場合には、その旨をジェスチャ応答制御部24に送る。また、特定手段として機能する特定部29は、発話解析部25による音声認識結果に応じて、入力された発話に応じたジェスチャ動作を特定する。ジェスチャ応答制御部24では、入力された発話内の一部の音素列に、最短音素列に一致する音素列があった場合には、この一致する最短音素列に対応するジェスチャ動作を選択し、その応答をジェスチャ作動部7に行わせる。
ジェスチャ応答制御部24は、例えば、図3A~図3Eのジェスチャ動作に対応する、頭部101の屈曲・伸展、回旋及び側屈、ならびに腕部103の屈曲・伸展及び内転・外転それぞれの、動作開始角度、動作角速度、動作角加速度、停止角度及び停止時間などを記述した動作シーケンスをジェスチャ作動部7に送る。ジェスチャ作動部7は、ジェスチャ応答制御部24から送られた動作シーケンスに従って、頭部101及び腕部103を駆動するための制御信号を、関節5及び関節6のセンサの検出値に応じて生成し、生成した信号をアクチュエータに入力することによって、頭部101及び腕部103を駆動する。
第2解析手段として機能する発話解析部25は、音声取得部21から送られた音素の列を用いて、入力された発話を、第1解析手段として機能する部分解析部23により解析される発話の区間よりも長い区間で解析し、音声認識する。その際、発話解析部25は、記憶部30に記憶されている辞書データベースを参照し形態素解析等を行って、音声取得部21から送られた音声データを音声認識する。発話解析部25は、解析した結果を、応答文生成部26に送る。応答文生成部26は、発話した話者ごとに発話された内容に適した応答文を生成する。応答文生成部26は、生成した応答文を言語応答制御部27に送り、言語応答制御部27は、音声合成によって応答文をスピーカ4から発声させる。
制御部20は、ユーザの発話に対して、できるだけ早く、ジェスチャ動作による非言語的な応答を返すために、会話記録処理、分析学習処理及び予測応答制御処理を実行する。以下、これらの会話記録処理、分析学習処理及び予測応答制御処理について、順に説明する。
図4は、実施の形態に係る会話記録処理を示すフローチャートである。会話記録処理において、制御装置2は、ロボット1に登録されている所定の対象ごとに、ロボット1と所定の対象との会話の内容及び認識した短文を記録する。会話記録処理は、一連の会話が行われるごとに繰り返され、会話記録データを蓄積する。
制御部20は、ロボット1と所定の対象との会話が開始されるのと同時に会話記録処理を開始する。制御部20は、例えば、音声取得部21で所定の閾値を超える音声レベルの音声を検出したときに、音声認識処理を開始し、音声認識を行うことができたら、会話が開始されたと判定する。また音声中にノイズが多い場合は、音声認識結果を分かち書きして1単語認識できたら、会話が開始されたと判定するようにしてもよい。
まず識別部22で、前述のように所定の対象を識別する(ステップS401)。
次いで、発話解析部25は、会話が終了しているか否かを判別する(ステップS402)。会話の終了は、例えば、無音時間の長さが所定の長さを超えたことの判定、コンテクストの終結の判定、もしくはカメラを用いて顔認識を行う場合には話者の顔が認識できなくなったことの判定 、又はこれらの組み合わせで判別できる。コンテクストの終結の判定については、発話解析部25が、例えば、質問に対して回答が発話されたのち、所定の時間、所定の対象から次の発話がない場合、あるいは、「ばいばい」もしくは「またね」のように、所定の対象が会話の終了を宣言する発話があったことを検出した場合に、コンテクストの終結と判定できる。
会話が終了していないとき(ステップS402;N)には、発話解析部25は、所定の対象の発話から音声取得部21で取得した音声データを、記憶部30に記憶されている辞書データベースを参照し形態素解析等を行って音声認識する(ステップS403)。そして発話解析部25は、認識結果と音声のデータを対応づけた会話記録を会話記録データベースとして記憶部30に記録し(ステップS404)、ステップS402に戻る。会話記録は、図5に示すように、時刻、会話の相手(対象ID)、会話時の所定の対象の発話文、会話時の所定の対象の発話に含まれる音素列及び音声データを含む。ここで、時刻は、その会話が開始された時刻又は終了された時刻である。発話文は、発声された文の内容を表す文字列である。音素列は、発話文の音素の列である。音声データの欄は、音声データそのもの、又は音声データが記録されているファイルを指定する情報である。音声データは後に音素列の発話された長さを解析するために用いられる。
一方、発話解析部25は、会話が終了しているとき(ステップS402;Y)には、会話記録処理を終了する。以上のようにして、発話解析部25は、所定の対象の発話の認識結果と音声データとを対応づけた会話記録を会話記録データベースとして、記憶部30に記憶させる。
次に、図6を参照しながら、分析学習処理について説明する。この分析学習処理は、ジェスチャ動作を制御する際に用いられる応答ジェスチャデータベースを生成して記憶部30に記録するための処理である。分析学習処理は、例えば、所定の数の会話が新たに会話記録データベースに記憶されたとき、又は、所定の期間を経過するごとに、実行される。
学習部28は、まず、前回の分析学習処理で生成された応答ジェスチャデータベースをクリアする(S600)。分析学習は、ロボット1に登録されているすべての所定の対象について、所定の対象ごとに行う。次いで、図5に示される会話記録データベースのうち、図7に示すように、登録されている最初の所定の対象の対象ID(ID=1)に対応する複数の発話文をすべて読み出し、読み出した複数の発話文を、RAMの所定の記憶領域に記憶させる(ステップS601)。
次いで学習部28は、すべての所定の対象について、後述するジェスチャ動作の制御のための分析学習が終了しているか否かを判別する(ステップS602)。すべての所定の対象について分析学習が終了していないとき(ステップS602;N)には、ステップS601で記憶された(図7に示すような)複数の発話文から、重複する発話文(例えば「おはよう」)のうちの最初の1つ(例えば、2018/9/9 9:01の「おはよう」)を残して他の当該発話文(例えば、2018/9/12 8:00、2018/9/14 8:00及び2018/9/14 9:00の「おはよう」)を削除したテーブル(ユニーク音素列テーブル)を作成して、RAMの所定の記憶領域に記憶させる(ステップS603)。このユニーク音素列テーブルは、1つの対象IDについて分析学習するための一時的なものであり、時刻及び音声データは不要で、所定の対象ごとに対象IDが番号付けされているから、図8に示すように、発話文と音素列との対応があればよい。そして、学習部28は、ユニーク音素列テーブルのうちの最初の発話文を読み出す(ステップS604)。
次に、上記のユニーク音素列テーブルから発話文がすべて読み出されたか否かを判別する(ステップS605)。ユニーク音素列テーブルから発話文がすべて読み出されていないときには(ステップS605;N)、特定部29は、ステップS604で読み出された発話文に対応するジェスチャ動作を、記憶部30に記憶されている図9に示すジェスチャ動作データベースを用いて特定する(ステップS606)。図9に示すように、このジェスチャ動作データベースは、ジェスチャ対応文と、ジェスチャ動作の番号とを対応付けて記憶するものであり、ステップS606では、ステップS604で読み出された発話文と一致するジェスチャ対応文に対応するジェスチャ動作の番号が、上記の対応するジェスチャ動作を表す番号として特定される。例えば、ジェスチャ対応文「おはよう」に対して、図3Aに示すジェスチャ動作を表すジェスチャ番号“2”が特定される。
次いで、学習部28は、上記のステップS606で対応するジェスチャ動作を特定できたか否かを判別する(ステップS607)。ステップS606でジェスチャ動作を特定できたとき(ステップS607;Y)には、後述する(図10に示す)応答ジェスチャデータベース登録処理を実行する(ステップS608)。そして、ユニーク音素列テーブルから、ステップS604で読み出した発話文の次に続く発話文を読み出し(ステップS609)、上記のステップS605~S608を再度、実行する。一方、上記のステップS606で対応するジェスチャ動作を特定できないとき(ステップS607;N)には、上記のステップS608をスキップし、応答ジェスチャデータベース登録処理を実行せずに、ステップS609以降を実行する。
そして、ステップS605~S609を繰り返し実行した結果、上記のユニーク音素列テーブルから発話文がすべて読み出されたとき(ステップS605;Y)には、図5に示される会話記録データベースに記憶された発話文のうち、ステップS601で読み出す対象になった最初の対象IDの次の対象IDに対応する複数の発話文をすべて読み出し、読み出した複数の発話文を、RAMの所定の記憶領域に記憶させる(ステップS610)。次いで、前記ステップS602以降を再度、実行する。以上により、すべての所定の対象について、上述したステップS603~S609による分析学習が終了すると(ステップS602;Y)、分析学習処理が終了される。
次に、図10を参照しながら、図6のステップS608の応答ジェスチャデータベース登録処理について説明する。学習部28は、この応答ジェスチャデータベース登録処理により、図6のステップS604又はS609で読み出された発話文を特定できる最低限の(最も短い)音素列として、最短音素列を特定する。例えば、「おはよう」の文に対して、ohaの音素列を特定する。
まず、学習部28は、ローカル変数としてのカウンタNに1をセットして(ステップS1000)、図6のステップS604又はS609で読み出された発話文の音素列の、先頭からN番目までを読み出す(ステップS1001)。そして、着目している発話文の音素列の長さが、読み出した音素列の長さNに等しいか否かを判別する(ステップS1002)。発話文の音素列の長さが、読み出した音素列の長さNに等しいとき(ステップS1002;Y)には、発話文を特定できる最短音素列がなかったとして、応答ジェスチャデータベースには何も記憶せずに図6のフローチャート(ステップS609)に戻る。
発話文の音素列の長さが、読み出した音素列の長さNに等しくないとき(ステップS1002;N)には、学習部28は、ユニーク音素列テーブルに、着目する発話文以外の発話文で、先頭からの音素列が、読み出した音素列に一致するものがあるか検索する(ステップS1003)。
そして、学習部28は、ステップS1003で一致する音素列があったか否かを判別する(ステップS1004)。一致する音素列があったとき(ステップS1004;Y)には、カウンタNに1を加算して(ステップS1005)、着目している発話文の音素列の、先頭からN番目までを読み出す(ステップS1006)。そして、ステップS1002に戻り、ステップS1002からの処理を再度、実行する。
ステップS1002~S1006を繰り返し実行した結果、上述のユニーク音素列テーブルに、着目する発話文以外の発話文で、先頭からの音素列が、読み出した音素列に一致するものがなかったとき(ステップS1004;N)には、読み出したN番目までの音素列を、着目している発話文の内容を特定可能な最短の音素列(以下「最短音素列」という)として記憶部30のRAMに記録する(ステップS1007)。
次に、学習部28は、図6のステップS601又はステップS610で読み出された、所定の対象の対象IDに対応する(図7に示すような)複数の発話文が記憶されている所定の領域を参照し、着目している発話文と同じ発話文すべての、N番目までの該当する音素列(最短音素列)の発話された平均的な長さを計測する(ステップS1008)。このとき、同じ発話文の出現回数をカウントする。
ステップS1008では、着目している発話文と同じ発話文の音声データをすべて取り出し、ステップS1007で特定した最短音素列の音素の区間の長さ(最初から最短音素列の終了までの時間)をそれぞれ取り出して、その平均時間を計算する。例えば、発話文「おはよう」の最短音素列が“oha”になったとする。図11は、異なる時刻に発話された同じ所定の対象の同じ発話文「おはよう」の音声データを、開始タイミングを一致させて、上下に並べて示す。学習部28は、図7に示す所定の対象の対象IDに対応する複数の発話文の音声データから、図11に示すように、発話文「おはよう」の音声データを取り出し、音声データの開始から“a”の音素の終了までの時間、例えば図11のt1及びt2を平均して、最短音素列“oha”の発話された平均の長さを計測する。
そして、学習部28は、発話文、ステップS1007で特定した最短音素列、ステップS1008で計測した最短音素列の発話された時間(最短音素列の発話された時間に検出時間(例えば20ms)を加算した時間でもよい)、図6のステップS606で特定したジェスチャ動作の番号、及び、当該発話文の出現回数を、図12に示す応答ジェスチャデータベースに記憶し(ステップS1009)、図6のフローチャート(ステップS609)に戻る。
図5、図9及び図12では、「おはよう」などの挨拶のことばを例に記載しているが、発話文及びジェスチャ対応文にはそれぞれ「あのー」、「えーと」、「おや」、「まあ」などの感動詞、間投詞もしくは感嘆詞を含めてもよい。
次に、図13を参照しながら、予測応答制御処理について説明する。予測応答制御処理は、例えば、音声取得部21で、所定の閾値を超える音声レベルの音声を検出したときに開始される。制御部20は、予測応答制御を開始したら、まず、識別部22で所定の対象を識別する(ステップS1300)。次に、部分解析部23は、識別された所定の対象について、応答ジェスチャデータベースから最短音素列長さを読み出し、読み出した最短音素列長さを用いて、図14に示すような応答時間リストを生成する(ステップS1301)。図14に示す応答時間リストでは、応答時間は、短いものから順にリストされている。
そして、制御部20は、所定の対象とロボット1との会話が終了したか否かを判別する(ステップS1302)。会話の終了は会話記録処理(図4)のステップS402と同様に判別できる。会話が終了していないとき(ステップS1302;N)には、所定の対象が発話し始めたか否かを判別し(ステップS1303)、発話し始めるまで待機する(ステップS1303;N)。発話し始めは、例えば、音声レベルが閾値以上になったこと、あるいはカメラを用いて顔認識を行う場合には所定の対象の顔認識で検出する。所定の対象が発話し始めたとき(ステップS1303;Y)には、ステップS1304以降の処理を実行する。
一方、会話が終了したとき(ステップS1302;Y)には、予測応答制御処理を終了する。以上により、ステップS1304以降の処理は、所定の対象による1回の発話が開始されるごとに実行される。
ステップS1304以降で、制御部20は、予測応答時間リストに記録された予測応答時間の数だけ、以下のような処理を行う。
部分解析部23は、ステップS1301で生成された応答時間リストから、最初の応答時間を読み出し(ステップS1304)、当該応答時間が、ステップS1303で所定の対象の発話が開始されたと判別されてから経過したか否かを判別し(ステップS1305)、当該応答時間が経過するまで待機する(ステップS1305;N)。当該応答時間が経過したとき(ステップS1305;Y)には、部分解析部23は、所定の対象の発話が開始されてから当該応答時間が経過するまでにマイクロフォン3から入力された所定の対象の音声を切り出す(ステップS1306)。そして、部分解析部23は、切り出した音声に無音声が検出されるか否かを判別する(ステップS1307)。切り出した所定の対象の音声に一定時間(例えば100ms)以上連続して、例えばレベルが閾値以下の無音が含まれていたら(ステップS1307;Y)、ステップS1302に戻る。
一方、切り出した所定の対象の音声に無音声が含まれていないとき(ステップS1307;N)には、部分解析部23は、ステップS1306で切り出した音声を音素列に変換する(ステップS1308)。そして、部分解析部23は、ステップS1300で識別された所定の対象に対応する応答ジェスチャデータベースに記憶された複数の最短音素列の中に、ステップS1308で変換した音素列と一致する音素列が存在するか否かを判別する(ステップS1309)。変換した音素列と一致する最短音素列が存在するとき(ステップS1309;Y)には、この一致する最短音素列に対応するジェスチャ動作をロボット1に実行させ(ステップS1312)、ステップS1302に戻る。
例えば、ステップS1308で変換した音素列が“oha”であったする。部分解析部23は、音素列“oha”を、図12に示す応答ジェスチャデータベースの最短音素列の中から検索すると、最短音素列“oha”が一致するので、それに対応するジェスチャ番号“2”を取得して、ジェスチャ応答制御部24に送る。そして、ジェスチャ応答制御部24は、図3Aに示すジェスチャ番号2に対応するジェスチャ動作を、ロボット1に実行させる。
一方、変換した音素列と一致する最短音素列が存在しないとき(ステップS1309;N)には、応答時間リストから応答時間をすべて読み出したか否かを判別する(ステップS1310)。応答時間リストから応答時間をすべて読み出していないとき(ステップS1310;N)には、部分解析部23は、応答時間リストから次の応答時間を読み出し(ステップS1311)、ステップS1305以降を再度、実行する。そして、応答時間リストから応答時間がすべて読み出されたとき(ステップS1310;Y)には、ステップS1302に戻る。
以上、予測応答制御処理について説明した。制御部20は、この予測応答制御処理でジェスチャ動作を行うのと並行して、次に説明する言語応答制御処理を行う。この言語応答制御処理について、図15を参照して説明する。言語応答制御処理は、予測応答制御処理と同様、例えば、制御部20の音声取得部21で、所定の閾値を超える音声レベルの音声を検出したときに開始される。制御部20は、言語応答制御処理を開始したら、まず、識別部22で所定の対象を識別する(ステップS1501)。次に、制御部20は、所定の対象とロボット1との会話が終了したか否かを、会話記録処理(図4)のステップS402と同様に判別する(ステップS1502)。
会話が終了していないとき(ステップS1502;N)には、予測応答制御処理(図13)のステップS1303と同様に、所定の対象が発話し始めたか否かを判別し(ステップS1503)、発話し始めるまで待機する(ステップS1503;N)。一方、会話が終了したとき(ステップS1502;Y)には、言語応答制御処理を終了する。
所定の対象が発話を開始したとき(ステップS1503;Y)には、発話解析部25は、対象の発話音素を音声取得部21から取得して(ステップS1504)、所定の対象の発話が終了したか否かを判別する(ステップS1505)。発話が終了したか否かは、例えば、音声取得部21で取得する音声データの音声レベルが所定の閾値以下である状態が所定の時間(例えば600ms)継続したか否かにより判別できる。発話が終了していない間は(ステップS1505;N)、発話音素の取得(ステップS1504)を繰り返す。
所定の対象の発話が終了したとき(ステップS1505;Y)には、発話解析部25は、取得した音素の列を発話文に変換し(ステップS1506)、変換した発話文から、記憶部30に記憶されている辞書データベースを参照し、構文解析して、発話文に含まれている単語と構文を取得する(ステップS1507)。
次に、応答文生成部26は、発話文の単語と構文に基づいて、記憶部30に記憶されている応答文データベースを参照して、所定の対象の発話に対する応答文を生成する(ステップS1508)。そして、言語応答制御部27は、音声合成によって応答文をスピーカ4から発声させ(ステップS1509)、ステップS1502に戻る。
以上、言語応答制御処理について説明した。次に、予測応答制御処理の動作例を図16を参照して説明する。図16は、図14の応答時間リストから読み出した応答時間に従って切り出した音声の音素列が、図12の応答ジェスチャデータベースの最短音素列に一致し、一致した最短音素列に対応するジェスチャ動作を実行した場合の動作例を示す。この例では、所定の対象により「おはよう」という発話が入力されている。
そして、所定の対象が発話を開始してから(時点:T0~)、応答時間リストの最初の応答時間(100ms)が経過するまで(時点:T1)に入力された所定の対象の音声を切り出し(図13のステップS1306)、切り出した音声を音素列に変換すると(図13のステップS1308)、“oha”であった場合を想定している。この変換した“oha”の音素列は、図12の応答ジェスチャデータベースの発話文「おはよう」の最短音素列“oha”に一致する(ステップS1309:Y)。そこで、この最短音素列“oha”に対応するジェスチャ番号“2”のジェスチャ動作をロボット1に実行させる(ステップS1312)。
その後、所定の対象からの音声がない状態(音声取得部21で取得する音声データの音声レベルが所定の閾値以下である状態)が一定時間(例えば600ms)経過すると(図15のステップS1505;Y)、言語応答制御部27は、ロボット1を制御して、言語を用いた発話応答をロボット1に実行させる(ステップS1506~S1509)。上記の一定時間(例えば600ms)は、所定の対象が発話し終えたのを確認して応答文を生成するための時間である。このように、ロボット1に発話応答を実行させる前に、所定の対象の発話文、すなわち発話の内容を最短音素列を用いて予測し、それに応じてジェスチャ動作をロボット1に実行させるので、ロボット1の発話応答が実行される前に、所定の対象はロボット1が自分の発話を聞いているという実感を持つことができる。
制御装置2がロボット1に行わせる非言語的な応答は、頭部101及び腕部103の動きに限らない。非言語的な応答として、ジェスチャ動作には、頭部101及び腕部103の動きだけではなく、顔の表情、例えば、瞼の開閉、眉の上げ下げ、目、鼻もしくは口の動きなどの動作、あるいは、手を振る、又は手の形を変えて示す、例えば、手を握るもしくは手を開いて上に挙げる、などを含む。その他、非言語的な応答としては、ロボット1に備えられるディスプレイ式の目の表示態様を変えるものでもよい。
分析学習の対象の会話記録は、少なくとも直近に記録された発話文を含むが、この会話記録が記録された期間は一定の期間である必要はない。例えば、分析学習を行う時の直近の所定の期間として、直近の1日、直近の1週間、直近の1ヶ月等、任意の期間の会話記録でもよい。分析学習ごとに対象とする会話記録の期間を変化させる場合、前回の分析学習の対象の会話記録と、新たな分析学習の対象の会話記録とは、対象とする期間の一部が重複していてもよいし、全く重複しなくてもよい。
以上説明したとおり、本実施の形態によれば、所定の対象の発話の部分的な一致によって、当該発話に対応する非言語的な挙動をロボットに行わせることができるので、少なくとも、発話終了検出、音声認識及び応答文生成の時間をかけずに応答することができ、所定の対象の発話に対する応答を迅速かつ適切に行うことができる。
また、所定の対象に対して非言語的な挙動を用いた所定の応答を返すので、所定の対象の会話を邪魔しない(会話自体は通常に進行する)。そのため、発話に対して応答文で早く反応を返す場合に比べて、誤った反応を行う可能性が小さい。また仮に、ロボット1が行う非言語的な挙動(ジェスチャ動作等)が、所定の対象の発話文に対する応答として適切でなかったとしても、会話には大きな影響を与えない。
実施の形態に係る分析学習処理では、ジェスチャ動作に対応づけられている発話文について、会話記録の重複を除去したユニーク音素列テーブルで先頭からの音素列が一致しない最短の音素列について、その音素列の長さが当該発話文の長さよりも短い場合に、当該発話文を特定する最短音素列として記録するので、当該発話文全体を解析してから応答するのに比べて、短時間で応答することができる。
制御装置2は、所定の対象を識別する識別部22を備え、発話記録の発話文に、識別した所定の対象の対象IDを対応づけ、分析学習処理で所定の対象ごとに、ジェスチャ動作に対応づけられた発話文を特定する最短音素列を特定して記録し、所定の対象ごとに応答ジェスチャデータベースを作成する。そして、所定の対象との会話において、所定の対象を識別して、その所定の対象の応答ジェスチャデータベースを用いて、発話文を最短音素列で特定するので、所定の対象の発話に合わせたジェスチャ応答が可能で、素早くジェスチャ応答を返すことができる。
例えば実施の形態では、図8に示すように、発話文に「おはよう」と「おやすみ」が存在する場合は、「おはよう」を特定する最短音素列は”oha”となるため、最短音素列の例として主に”oha”を用いて説明した。しかし、識別した所定の対象が、標準語の「おはよう」の代わりに「はやえなっす」という方言を話す人の場合、「はやえなっす」を特定する最短音素列は”ha”、”haya”、”hayae”等になり得る。もし最短音素列が”ha”となる場合は、最短音素列が”oha”になる人と比べてさらに速い応答が可能になる。このように、制御装置2は、識別対象毎に会話記録処理や分析学習処理を行うことにより、当該識別対象にとって最適な予測応答制御処理を行うことができるようになる。
実施の形態では、最短音素列の長さの時間で音声を切り出して音素列を比較したが、それに限らず、さまざまな変形が可能である。例えば、音声の切り出しを逐次行い、話し始めからの音素列が最短音素列と一致するかどうかで、予測応答制御処理における一致する音素列があるか否かの判定を行ってもよい。また、音素列に変換せず、直接、話し始めからの音声と、ジャスチャ動作に対応させて記憶した参照音声との比較を行い、類似する音声なら参照音声に対応するジェスチャを行う構成としてもよい。
実施の形態では、応答ジェスチャデータベースの登録の際に、音素列の長さの平均時間を計算して登録を行ったが、集計した時間のゆれが大きいものは、登録しないとしてもよい。実施の形態では、出現回数、音素列の長さのゆれを考慮せず登録を行う構成としているが、出現回数、音素列の長さのゆれが統計的に意味のある頻度になったら登録するとしてもよい。
実施の形態では、学習部28で、所定の対象毎に発話文を特定する最短音素列とジェスチャ動作との対応を学習したが、所定の対象毎に応答ジェスチャデータベースを学習せず、例えば工場出荷前に予め作成した応答ジェスチャデータベースをロボット1のROM(又は不揮発性のRAM)に記憶させてもよい。予め応答ジェスチャデータベースを作成するには、様々な発話文を集めた音声会話データベースもしくはロボットとの音声会話を集めたデータベース(音声会話を沢山集めたもの)を用意し、この用意したデータベースを用いて、図6の分析学習を行えばよい。その場合、当該応答ジェスチャデータベースに登録される最短音素列の長さは、想定される一般の対象の平均又は標準偏差を含む時間とすることができる。また、当該応答ジェスチャデータベースには、出現回数に代えて発話文の一般的な発生確率を含めてもよい。あるいは、当該応答ジェスチャデータベースを書き換え可能なROM又は不揮発性のRAMに記憶させておき、ロボット1が作動している間に、所定の対象の発話から出現回数をカウントして、当該応答ジェスチャデータベース内の出現回数の項目を更新していくようにしてもよい。
実施の形態では、発話の内容を「発話文」として規定したが、発話の内容は文に限定されない。例えば、「挨拶」(「おはよう」、「こんにちは」等)、「お礼」(「ありがとう」、「感謝しているよ」等)、「質問」(「ちょっと教えて」、「ひとつ聞いてもいい」等)、「評価」(「うまいね」、「よくわかったね」等)等の「発話のカテゴリ」(ここでは「発話の目的」)を発話の内容として規定してもよい。この場合、制御装置2は、それらの「発話のカテゴリ」それぞれに対して、ロボット1の非言語的な挙動の応答を定めておいて、その「発話のカテゴリ」を特定する最短音素列と非言語的な挙動の応答との対応を学習することができる。非言語的な挙動は、例えば、「挨拶」に対してはおじぎのジェスチャ、「お礼」又は「評価」に対しては手を横に振るジェスチャ、「質問」に対しては頭部101を傾げるジェスチャ等とすることができる。
ジェスチャに対応づけられる発話文(ジェスチャ対応文)は、日本語に限らず、外国語でもよい。制御装置2は、言語ごとの音素セットを用いて、分析学習処理及び予測応答処理を行うことができる。例えば、英語の発話文とジェスチャ動作を対応づけておいて、英語の音素セットを用いて、上述の分析学習処理及び予測応答制御処理を行うことができる。
その他、1つの発話文に対応する非言語的な挙動は、1つには限らない。例えば、1つの発話文(ジェスチャ対応文)に、複数のジェスチャ動作を含むジェスチャ動作群を対応づけておいて、その発話文の最短音素列を検出したときに、対応するジェスチャ動作群から1つのジェスチャ動作を選択して、ロボット1に実行させてもよい。その場合、ジェスチャ動作群からのジェスチャ動作の選択は、決まった確率又はランダムでもよいし、あるいは、最短音素列が発話されたときの音の高さ、発話の声の大きさ、音素列のうちのアクセントの位置、音素列の抑揚の違いなどの発話の変化に応じて、ジェスチャ動作群からジェスチャ動作を選択してもよい。さらに、発話の変化によって、ジェスチャ動作群からジェスチャ動作を選択する確率を変化させて、変化させた確率でジェスチャ動作を選択してもよい。
以上の構成の変化及び変形例のほか、さまざまな変形と派生が可能である。例えば、ロボット1の形状は、図1に示した形状に限らない。例えば、犬又は猫をはじめとして、ペットを模した形状とすることができる。ロボット1は、また、ぬいぐるみやアニメなどのキャラクタの形状であってもよい。
あるいはさらに、ロボット1は、スマートフォン又はタブレットなどの画面に表示されるアバターであってもよい。ロボット1がアバターである場合、制御装置2は、スマートフォン又はタブレットにインストールされるアプリケーションプログラムで実現することができる。制御装置2は、アバターが画面に表示されているスマートフォン又はタブレットが備えるマイクロフォン3から音声信号を取得し、画面に表示されているアバターに非言語的な応答を行わせ、そして、スマートフォン又はタブレットが備えるスピーカ4から、応答文を発話させる。
制御装置2は、制御部20として、CPUの代わりに、例えばASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、又は、各種制御回路等の専用のハードウェアを備え、専用のハードウェアが、図2に示した各部として機能してもよい。この場合、各部の機能それぞれを個別のハードウェアで実現してもよいし、各部の機能をまとめて単一のハードウェアで実現することもできる。また、各部の機能のうちの、一部を専用のハードウェアによって実現し、他の一部をソフトウェア又はファームウェアによって実現してもよい。
制御装置2の各機能を実現するプログラムは、例えば、フレキシブルディスク、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)-ROM、メモリカード等のコンピュータ読み取り可能な記憶媒体に格納して適用できる。さらに、プログラムを搬送波に重畳し、インターネットなどの通信媒体を介して適用することもできる。例えば、通信ネットワーク上の掲示板(BBS:Bulletin Board System)にプログラムを掲示して配信してもよい。そして、このプログラムを起動し、OS(Operating System)の制御下で、他のアプリケーションプログラムと同様に実行することにより、上記の処理を実行できるように構成してもよい。
以上、本発明の好ましい実施の形態について説明したが、本発明はかかる特定の実施の形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲とが含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
(付記1)
対象に対して応答可能なロボットの制御装置であって、
前記対象の発話を取得する取得手段と、
前記対象が発話しているときに前記取得手段により取得された前記発話を部分的に解析する第1解析手段と、
前記ロボットによる応答であって、前記対象に対する非言語的な挙動を用いた第1応答を、前記第1解析手段による解析結果に応じて制御する第1制御手段と、
前記取得手段により取得された前記対象の発話を、前記第1解析手段により解析される発話の区間よりも長い区間で解析する第2解析手段と、
前記第2解析手段による解析結果に応じて、前記対象の前記発話に対する応答文を生成する生成手段と、
前記生成手段により生成された前記応答文に基づいて、前記ロボットによる言語を用いた第2応答を制御する第2制御手段と、
を備えることを特徴とするロボットの制御装置。
(付記2)
前記第1解析手段が解析する前記発話の音素列の長さは、前記第2解析手段が解析する前記発話の音素列の長さよりも短く設定されていることを特徴とする、付記1に記載のロボットの制御装置。
(付記3)
前記第1応答は複数の第1応答から成り、
前記複数の第1応答に対応する複数の参照音素列を記憶する記憶手段を更に備え、
前記第1解析手段は、前記対象が発話しているときに前記取得手段により取得された前記発話の一部の音素列が前記複数の参照音素列の何れかに一致するか否かを判別し、
前記第1制御手段は、前記第1解析手段により前記一部の音素列が前記複数の参照音素列の前記何れかに一致すると判別されたときには、前記複数の第1応答のうち、当該一致すると判別された前記複数の参照音素列の前記何れかに対応する第1応答を前記ロボットに実行させることを特徴とする、付記1又は2に記載のロボットの制御装置。
(付記4)
前記複数の参照音素列の各々は、前記対象の発話の内容を特定可能な最短の音素列に設定されていることを特徴とする、付記3に記載のロボットの制御装置。
(付記5)
前記ロボットは、前記対象として互いに異なる複数の対象に対して、前記第1応答及び前記第2応答を実行可能であり、
前記複数の対象の各々を識別する識別手段を更に備え、
前記取得手段は、前記識別された対象ごとに、当該対象の発話を取得し、
前記取得された対象の発話の内容を解析する解析手段と、
前記複数の第1応答から、前記解析手段による解析結果に応じた第1応答を特定する特定手段と、
前記解析手段による解析結果に基づいて、当該解析結果に対応する前記対象の発話の内容を特定可能な最短の音素列を前記参照音素列として、前記特定された第1応答に対応付けて、前記識別された対象ごとに学習する学習手段と、を更に備えることを特徴とする、付記3に記載のロボットの制御装置。
(付記6)
前記ロボットは、駆動可能な可動部を有し、
前記第1応答は、前記ロボットの前記可動部を駆動することによって実現されるジェスチャ動作による応答であり、前記第2応答は、前記対象に対して前記応答文を発話する応答であることを特徴とする、付記1から5の何れか1つに記載のロボットの制御装置。
(付記7)
対象に対して、前記第1応答と、前記第2応答とを実行可能に構成され、付記1から6の何れか1つに記載のロボットの制御装置を備えたロボット。
(付記8)
対象に対して応答可能なロボットの制御装置が実行するロボットの制御方法であって、
前記対象の発話を取得する取得ステップと、
前記対象が発話しているときに前記取得ステップにより取得された前記発話を部分的に解析する第1解析ステップと、
前記ロボットによる応答であって、前記対象に対する非言語的な挙動を用いた第1応答を、前記第1解析ステップによる解析結果に応じて制御する第1制御ステップと、
前記取得ステップにより取得された前記対象の発話を、前記第1解析ステップにより解析される発話の区間よりも長い区間で解析する第2解析ステップと、
前記第2解析ステップでの解析結果に応じて、前記対象の前記発話に対する応答文を生成する生成ステップと、
前記生成ステップで生成された前記応答文に基づいて、前記ロボットによる言語を用いた第2応答を制御する第2制御ステップと、
を備えることを特徴とするロボットの制御方法。
(付記9)
対象に対して応答可能なロボットを制御するコンピュータを、
前記対象の発話を取得する取得手段、
前記対象が発話しているときに前記取得手段により取得された前記発話を部分的に解析する第1解析手段、
前記ロボットによる応答であって、前記対象に対する非言語的な挙動を用いた第1応答を、前記第1解析手段による解析結果に応じて制御する第1制御手段、
前記取得手段により取得された前記対象の発話を、前記第1解析手段により解析される発話の区間よりも長い区間で解析する第2解析手段、
前記第2解析手段による解析結果に応じて、前記対象の前記発話に対する応答文を生成する生成手段、及び
前記生成手段により生成された前記応答文に基づいて、前記ロボットによる言語を用いた第2応答を制御する第2制御手段、
として機能させるためのプログラム。
1…ロボット、2…制御装置、3…マイクロフォン、4…スピーカ、5,6…関節、7…ジェスチャ作動部、20…制御部、21…音声取得部、22…識別部、23…部分解析部、24…ジェスチャ応答制御部、25…発話解析部、26…応答文生成部、27…言語応答制御部、28…学習部、29…特定部、30…記憶部、101…頭部、102…胴体部、103…腕部

Claims (11)

  1. 対象に対して応答可能なロボットの制御装置であって、
    前記対象の発話を取得する取得手段と、
    前記対象が発話しているときに前記取得手段により取得された前記発話を部分的に解析し、前記発話の一部の音素列が、前記対象に対する非言語的な挙動を用いた複数の第1応答にそれぞれ対応付けられている複数の参照音素列の何れかに一致するか否かを判別する第1解析手段と、
    前記第1解析手段により一致すると判別された前記参照音素列に対応付けられている前記第1応答を前記ロボットに実行させるように制御する第1制御手段と、
    前記取得手段により取得された前記対象の発話を、前記第1解析手段により解析される発話の区間よりも長い区間で解析する第2解析手段と、
    前記第2解析手段による解析結果に応じて、前記対象の前記発話に対する応答文を生成する生成手段と、
    前記生成手段により生成された前記応答文に基づいて、前記ロボットによる言語を用いた第2応答を制御する第2制御手段と、
    を備え、
    前記複数の参照音素列の各々は、前記対象の発話の内容を特定可能な最短の音素列に設定されていることを特徴とするロボットの制御装置。
  2. 前記第1解析手段が解析する前記発話の音素列の長さは、前記第2解析手段が解析する前記発話の音素列の長さよりも短く設定されていることを特徴とする、請求項1に記載のロボットの制御装置。
  3. 前記複数の第1応答に対応する前記複数の参照音素列を記憶する記憶手段を更に備え、
    前記第1解析手段は、前記対象が発話しているときに前記取得手段により取得された前記発話の一部の音素列が前記記憶手段に記憶されている前記複数の参照音素列の何れかに一致するか否かを判別し、
    前記第1制御手段は、前記第1解析手段により前記一部の音素列が前記複数の参照音素列の前記何れかに一致すると判別されたときには、前記複数の第1応答のうち、当該一致すると判別された前記複数の参照音素列の前記何れかに対応する第1応答を前記ロボットに実行させることを特徴とする、請求項1又は2に記載のロボットの制御装置。
  4. 対象に対して応答可能なロボットの制御装置であって、
    互いに異なる複数の対象の各々を識別する識別手段と、
    前記識別された対象ごとに、当該対象の発話を取得する取得手段と、
    前記対象が発話しているときに前記取得手段により取得された前記発話を部分的に解析し、前記発話の一部の音素列が、前記対象に対する非言語的な挙動を用いた複数の第1応答にそれぞれ対応付けられている複数の参照音素列の何れかに一致するか否かを判別する第1解析手段と、
    前記複数の第1応答から、前記第1解析手段により一致すると判別された前記参照音素列に対応付けられている第1応答を特定する特定手段と、
    前記特定手段により特定された第1応答を前記ロボットに実行させるように制御する第1制御手段と、
    前記取得手段により取得された前記対象の発話を、前記第1解析手段により解析される発話の区間よりも長い区間で解析する第2解析手段と、
    前記第2解析手段による解析結果に応じて、前記対象の前記発話に対する応答文を生成する生成手段と、
    前記生成手段により生成された前記応答文に基づいて、前記ロボットによる言語を用いた第2応答を制御する第2制御手段と、
    前記第1解析手段による解析結果に基づいて、当該解析結果に対応する前記対象の発話の内容を特定可能な音素列を前記参照音素列として、前記特定された第1応答に対応付けて、前記識別された対象ごとに学習する学習手段と、
    を備えることを特徴とするロボットの制御装置。
  5. 前記学習手段は、前記第1解析手段による解析結果に基づいて、当該解析結果に対応する前記対象の発話の内容を特定可能な最短の音素列を前記参照音素列として、前記特定された第1応答に対応付けて、前記識別された対象ごとに学習する、ことを特徴とする、請求項4に記載のロボットの制御装置。
  6. 前記ロボットは、駆動可能な可動部を有し、
    前記第1応答は、前記ロボットの前記可動部を駆動することによって実現されるジェスチャ動作による応答であり、前記第2応答は、前記対象に対して前記応答文を発話する応答であることを特徴とする、請求項1から5の何れか1項に記載のロボットの制御装置。
  7. 対象に対して、前記第1応答と、前記第2応答とを実行可能に構成され、請求項1から6の何れか1項に記載のロボットの制御装置を備えたロボット。
  8. 対象に対して応答可能なロボットの制御装置が実行するロボットの制御方法であって、
    前記対象の発話を取得する取得ステップと、
    前記対象が発話しているときに前記取得ステップにより取得された前記発話を部分的に解析し、前記発話の一部の音素列が、前記対象に対する非言語的な挙動を用いた複数の第1応答にそれぞれ対応付けられている複数の参照音素列の何れかに一致するか否かを判別する第1解析ステップと、
    前記第1解析ステップにより一致すると判別された前記参照音素列に対応付けられている前記第1応答を前記ロボットに実行させるように制御する第1制御ステップと、
    前記取得ステップにより取得された前記対象の発話を、前記第1解析ステップにより解析される発話の区間よりも長い区間で解析する第2解析ステップと、
    前記第2解析ステップでの解析結果に応じて、前記対象の前記発話に対する応答文を生成する生成ステップと、
    前記生成ステップで生成された前記応答文に基づいて、前記ロボットによる言語を用いた第2応答を制御する第2制御ステップと、
    を備え、
    前記複数の参照音素列の各々は、前記対象の発話の内容を特定可能な最短の音素列に設定されていることを特徴とするロボットの制御方法。
  9. 対象に対して応答可能なロボットを制御するコンピュータを、
    前記対象の発話を取得する取得手段、
    前記対象が発話しているときに前記取得手段により取得された前記発話を部分的に解析し、前記発話の一部の音素列が、前記対象に対する非言語的な挙動を用いた複数の第1応答にそれぞれ対応付けられている複数の参照音素列の何れかに一致するか否かを判別する第1解析手段、
    前記第1解析手段により一致すると判別された前記参照音素列に対応付けられている前記第1応答を前記ロボットに実行させるように制御する第1制御手段、
    前記取得手段により取得された前記対象の発話を、前記第1解析手段により解析される発話の区間よりも長い区間で解析する第2解析手段、
    前記第2解析手段による解析結果に応じて、前記対象の前記発話に対する応答文を生成する生成手段、及び
    前記生成手段により生成された前記応答文に基づいて、前記ロボットによる言語を用いた第2応答を制御する第2制御手段、
    として機能させ、
    前記複数の参照音素列の各々は、前記対象の発話の内容を特定可能な最短の音素列に設定されているプログラム。
  10. 対象に対して応答可能なロボットの制御装置が実行するロボットの制御方法であって、
    互いに異なる複数の対象の各々を識別する識別ステップ、
    前記識別された対象ごとに、当該対象の発話を取得する取得ステップ、
    前記対象が発話しているときに前記取得ステップにより取得された前記発話を部分的に解析し、前記発話の一部の音素列が、前記対象に対する非言語的な挙動を用いた複数の第1応答にそれぞれ対応付けられている複数の参照音素列の何れかに一致するか否かを判別する第1解析ステップ、
    前記複数の第1応答から、前記第1解析ステップにより一致すると判別された前記参照音素列に対応付けられている第1応答を特定する特定ステップ、
    前記特定ステップにより特定された第1応答を前記ロボットに実行させるように制御する第1制御ステップ、
    前記取得ステップにより取得された前記対象の発話を、前記第1解析ステップにより解析される発話の区間よりも長い区間で解析する第2解析ステップ、
    前記第2解析ステップによる解析結果に応じて、前記対象の前記発話に対する応答文を生成する生成ステップ、
    前記生成ステップにより生成された前記応答文に基づいて、前記ロボットによる言語を用いた第2応答を制御する第2制御ステップ、
    前記第1解析ステップによる解析結果に基づいて、当該解析結果に対応する前記対象の発話の内容を特定可能な音素列を前記参照音素列として、前記特定された第1応答に対応付けて、前記識別された対象ごとに学習する学習ステップ、
    を備えることを特徴とするロボットの制御方法。
  11. 対象に対して応答可能なロボットを制御するコンピュータを、
    互いに異なる複数の対象の各々を識別する識別手段、
    前記識別された対象ごとに、当該対象の発話を取得する取得手段、
    前記対象が発話しているときに前記取得手段により取得された前記発話を部分的に解析し、前記発話の一部の音素列が、前記対象に対する非言語的な挙動を用いた複数の第1応答にそれぞれ対応付けられている複数の参照音素列の何れかに一致するか否かを判別する第1解析手段、
    前記複数の第1応答から、前記第1解析手段により一致すると判別された前記参照音素列に対応付けられている第1応答を特定する特定手段、
    前記特定手段により特定された第1応答を前記ロボットに実行させるように制御する第1制御手段、
    前記取得手段により取得された前記対象の発話を、前記第1解析手段により解析される発話の区間よりも長い区間で解析する第2解析手段、
    前記第2解析手段による解析結果に応じて、前記対象の前記発話に対する応答文を生成する生成手段、
    前記生成手段により生成された前記応答文に基づいて、前記ロボットによる言語を用いた第2応答を制御する第2制御手段、
    前記第1解析手段による解析結果に基づいて、当該解析結果に対応する前記対象の発話の内容を特定可能な音素列を前記参照音素列として、前記特定された第1応答に対応付けて、前記識別された対象ごとに学習する学習手段、
    として機能させるためのプログラム。
JP2019094271A 2019-05-20 2019-05-20 ロボットの制御装置、ロボット、ロボットの制御方法及びプログラム Active JP7342419B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019094271A JP7342419B2 (ja) 2019-05-20 2019-05-20 ロボットの制御装置、ロボット、ロボットの制御方法及びプログラム
JP2023135703A JP2023169166A (ja) 2019-05-20 2023-08-23 ロボット、応答方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019094271A JP7342419B2 (ja) 2019-05-20 2019-05-20 ロボットの制御装置、ロボット、ロボットの制御方法及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023135703A Division JP2023169166A (ja) 2019-05-20 2023-08-23 ロボット、応答方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2020190587A JP2020190587A (ja) 2020-11-26
JP7342419B2 true JP7342419B2 (ja) 2023-09-12

Family

ID=73454992

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019094271A Active JP7342419B2 (ja) 2019-05-20 2019-05-20 ロボットの制御装置、ロボット、ロボットの制御方法及びプログラム
JP2023135703A Pending JP2023169166A (ja) 2019-05-20 2023-08-23 ロボット、応答方法及びプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023135703A Pending JP2023169166A (ja) 2019-05-20 2023-08-23 ロボット、応答方法及びプログラム

Country Status (1)

Country Link
JP (2) JP7342419B2 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293191A (ja) 1999-04-02 2000-10-20 Canon Inc 音声認識装置及び音声認識方法並びにその方法に用いられる木構造辞書の作成方法
JP2005196134A (ja) 2003-12-12 2005-07-21 Toyota Central Res & Dev Lab Inc 音声対話システム及び方法並びに音声対話プログラム
JP2011175304A (ja) 2011-06-13 2011-09-08 Denso Corp 音声対話装置および方法
JP2014206677A (ja) 2013-04-15 2014-10-30 株式会社アドバンスト・メディア 音声認識装置および音声認識結果確定方法
WO2016103881A1 (ja) 2014-12-25 2016-06-30 エイディシーテクノロジー株式会社 ロボット
WO2016157650A1 (ja) 2015-03-31 2016-10-06 ソニー株式会社 情報処理装置、制御方法、およびプログラム
WO2017145373A1 (ja) 2016-02-26 2017-08-31 三菱電機株式会社 音声認識装置
JP2018165805A (ja) 2017-03-28 2018-10-25 日本電信電話株式会社 対話装置、対話装置の制御方法およびプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3199972B2 (ja) * 1995-02-08 2001-08-20 シャープ株式会社 あいづち応答のある対話装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293191A (ja) 1999-04-02 2000-10-20 Canon Inc 音声認識装置及び音声認識方法並びにその方法に用いられる木構造辞書の作成方法
JP2005196134A (ja) 2003-12-12 2005-07-21 Toyota Central Res & Dev Lab Inc 音声対話システム及び方法並びに音声対話プログラム
JP2011175304A (ja) 2011-06-13 2011-09-08 Denso Corp 音声対話装置および方法
JP2014206677A (ja) 2013-04-15 2014-10-30 株式会社アドバンスト・メディア 音声認識装置および音声認識結果確定方法
WO2016103881A1 (ja) 2014-12-25 2016-06-30 エイディシーテクノロジー株式会社 ロボット
WO2016157650A1 (ja) 2015-03-31 2016-10-06 ソニー株式会社 情報処理装置、制御方法、およびプログラム
WO2017145373A1 (ja) 2016-02-26 2017-08-31 三菱電機株式会社 音声認識装置
JP2018165805A (ja) 2017-03-28 2018-10-25 日本電信電話株式会社 対話装置、対話装置の制御方法およびプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
大野 博之, 外4名,連続単語認識における認識結果の逐次早期確定アルゴリズムの評価,電子情報通信学会技術研究報告,社団法人電子情報通信学会,2010年12月,Vol. 110, No. 357,第77-82ページ,NLC2010-21, SP2010-94
平沢 純一, 外1名,わかってうなずくコンピュータの試作,電子情報通信学会技術研究報告,社団法人電子情報通信学会,1997年12月,Vol. 97, No. 440,第79-86ページ,NLC97-54, SP97-87

Also Published As

Publication number Publication date
JP2020190587A (ja) 2020-11-26
JP2023169166A (ja) 2023-11-29

Similar Documents

Publication Publication Date Title
JP7082357B2 (ja) 機械学習を利用したテキスト音声合成方法、装置およびコンピュータ読み取り可能な記憶媒体
KR102199050B1 (ko) 다중 언어 텍스트-음성 합성 모델을 이용한 음성 번역 방법 및 시스템
Tahon et al. Towards a small set of robust acoustic features for emotion recognition: challenges
JP7063779B2 (ja) 音声対話システム、音声対話方法、プログラム、学習モデル生成装置及び学習モデル生成方法
US9202466B2 (en) Spoken dialog system using prominence
JP2004538543A (ja) 多モード入力を使用した多モード・フォーカス検出、参照の曖昧性の解決およびムード分類のためのシステムおよび方法
JP2002358095A (ja) 音声処理装置および音声処理方法、並びにプログラムおよび記録媒体
JPH04329598A (ja) 音声及び手書き動作の統合型情報を用いたメッセージ認識システム及び方法   
JP2002189488A (ja) ロボット制御装置およびロボット制御方法、記録媒体、並びにプログラム
Sefara The effects of normalisation methods on speech emotion recognition
JP2016029576A (ja) コンピュータ生成ヘッド
Shain et al. Measuring the perceptual availability of phonological features during language acquisition using unsupervised binary stochastic autoencoders
CN115424606A (zh) 语音交互的方法、语音交互的装置和计算机可读存储介质
JP2010197644A (ja) 音声認識システム
JP7342419B2 (ja) ロボットの制御装置、ロボット、ロボットの制御方法及びプログラム
JP2017182261A (ja) 情報処理装置、情報処理方法、およびプログラム
JP2002307349A (ja) ロボット装置、情報学習方法、プログラム及び記録媒体
Chen et al. A novel approach of system design for dialect speech interaction with NAO robot
Hase et al. Speech Recognition: A Concise Significance
JP6701483B2 (ja) アンドロイドロボットの制御システム、装置、プログラムおよび方法
Meloni et al. A nonverbal recognition method to assist speech
Lin et al. Nonverbal acoustic communication in human-computer interaction
Rossiter Multimodal intent recognition for natural human-robotic interaction
Shitov Computational speech acquisition for articulatory synthesis
Miyazaki et al. Connectionist temporal classification-based sound event encoder for converting sound events into onomatopoeic representations

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220401

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230417

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: 20230801

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230814

R150 Certificate of patent or registration of utility model

Ref document number: 7342419

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150