JP2011227236A - 音声対話装置 - Google Patents

音声対話装置 Download PDF

Info

Publication number
JP2011227236A
JP2011227236A JP2010095770A JP2010095770A JP2011227236A JP 2011227236 A JP2011227236 A JP 2011227236A JP 2010095770 A JP2010095770 A JP 2010095770A JP 2010095770 A JP2010095770 A JP 2010095770A JP 2011227236 A JP2011227236 A JP 2011227236A
Authority
JP
Japan
Prior art keywords
voice
unit
utterance
answer
response
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.)
Granted
Application number
JP2010095770A
Other languages
English (en)
Other versions
JP5405381B2 (ja
Inventor
Sachie Sakata
さち恵 坂田
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.)
Honda Motor Co Ltd
Original Assignee
Honda Motor 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 Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Priority to JP2010095770A priority Critical patent/JP5405381B2/ja
Publication of JP2011227236A publication Critical patent/JP2011227236A/ja
Application granted granted Critical
Publication of JP5405381B2 publication Critical patent/JP5405381B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】中断した発話を円滑に再開する音声対話装置を提供する。
【解決手段】 音声対話装置(コミュニケーションロボット)は、音声合成部21aによって、発話情報に基づいて音声出力(発話)する。音声対話装置は、音声入力部21bによって音声の入力を検出すると、発話中断処理手段473aによって音声合成部21aによる発話を中断させる。次に、音声対話装置は、応答行動選択手段473cによって、中断の原因となった入力音声に対する応答行動を選択して実行する。そして、音声対話装置は、再開位置決定手段473bによって、応答行動の実行状況に応じて、中断させた発話情報おける発話の再開位置を決定し、決定した再開位置から発話を再開させる。
【選択図】図8

Description

本発明は、人間との音声による対話が可能な音声対話装置に係り、音声対話装置が発話中であっても、周囲の状況に応じて発話を中断させて応答し、応答後に元の発話を再開させる音声対話装置に関する。
音声対話装置は、コミュニケーションロボットやカーナビゲーション装置などに搭載されている。例えば、このような音声対話装置が製品などの説明を行うときは、従来はシナリオが固定的であり、人間が自由なタイミングで質問などをしても、音声対話装置は応答することができなかった。
また、発話を中断させた後、発話を再開させるときに、音声対話装置は、中断させた発話文の最初からしか発話を再開できなかった。例えば、特許文献1(段落0020、図3参照)には、中断させた対話を再開させるときに、最後に応答した発話内容を再び発話させる音声対話装置が記載されている。
特開平11−126089号公報
特許文献1に記載された音声対話装置では、中断から再開までの時間が長い場合には、中断前の発話を繰り返すことで、対話対象である人物に発話内容を思い出しやすくすることができる。しかし、特許文献1に記載された発明は、短時間の中断であった場合でも、その人物は再度同じ発話を聞くことになり、発話が冗長になるためにストレスを感じることがあるという問題があった。
本発明はかかる課題に鑑みてなされたものであり、本発明の目的は、中断させた発話を円滑に再開させる音声対話装置を提供することである。
前記した目的を達成するために、請求項1に記載の音声対話装置は、外部情報取得手段と、音声出力部と、音声出力中断処理手段と応答行動選択手段と再開位置決定手段とを有する応答行動制御手段と、を備える構成とした。
かかる構成によれば、音声対話装置は、外部情報取得手段によって周囲状況としての外部情報を取得する。ここで、外部情報とは、例えば、周囲の音声を採音した音声データや周囲にいる人物を特定する個人識別情報、周囲を撮影した画像データなどと、これらのデータや情報を解析して得られる音量や発話内容、人物のいる方向を示す情報などのことである。
また、音声対話装置は、音声出力部によって、発話情報に基づいて音声出力(発話)する。音声対話装置は、音声出力中断処理手段によって、外部情報取得手段で取得した外部情報に基づいて、音声出力部が音声出力中の場合は、音声出力部による音声出力を中断させる。
そして、音声対話装置は、音声出力部による音声出力を中断させた場合には、応答行動選択手段によって、音声出力部による音声出力の中断の原因となった状況に対する応答行動を選択する。
そして、音声対話装置は、この中断の原因となった状況に対する応答行動を実行後に、再開位置決定手段によって、この応答行動の実行状況に応じて、音声出力部による音声出力を中断させた発話情報における再開位置を決定する。
そして、音声対話装置は、応答行動制御手段によって、再開位置決定手段で決定した再開位置から、音声出力部による音声出力を中断させた発話情報の音声出力部による音声出力を再開させる。
これによって、音声対話装置は、外部情報に基づいて把握される状況に応じて、適宜に音声出力部による音声出力を中断して応答し、応答後にこの応答の実行状況に応じて音声出力部による音声出力が中断された元の発話情報の、音声出力部による音声出力を再開する。
請求項2に記載の音声対話装置は、請求項1に記載の音声対話装置において、外部情報取得手段として、入力された音声を分析して、少なくとも音量を含む音声分析結果を外部情報として出力する音声入力部を含むように構成した。
かかる構成によれば、音声対話装置は、外部情報取得手段である音声入力部によって、入力された音声を分析して、少なくとも音量を含む音声分析結果を出力する。そして、音声対話装置は、音声出力中断処理手段によって、音声入力部から出力された音量を含む音声分析結果に基づいて、例えば、一定値以上の音量の音声入力があった場合に、音声出力部による音声出力を中断させる。
請求項3に記載の音声対話装置は、請求項1または請求項2に記載の音声対話装置において、音声中断処理手段は、外部情報に基づいて、音声出力部による発話情報の音声出力を、即時に中断させるか、発話情報において意味のまとまりによって定められる区切りの末尾で中断させるかを決定するように構成した。
かかる構成によれば、音声対話装置は、音声出力部による音声出力を中断させる状況になった場合に、音声中断処理手段によって、さらに、外部情報に基づく状況に応じて、中断タイミングとして、即時に中断させるか、発話情報において意味のまとまりによって定められる区切りの末尾で中断させるかを決定する。そして、音声対話装置は、音声出力中断処理手段によって、この決定されたタイミングで音声出力部による音声出力を中断させる。
請求項4に記載の音声対話装置は、請求項1ないし請求項3の何れか一項に記載の音声対話装置において、外部情報取得手段として、入力された音声を音声認識して少なくとも単語を含む音声認識結果を外部情報として出力する音声認識部を少なくとも含むように構成した。
かかる構成によれば、音声対話装置は、外部情報取得手段である音声認識部によって、入力された音声を音声認識して、入力された音声に含まれる発話内容である単語を少なくとも含む音声認識結果を出力する。そして、音声対話装置は、音声出力中断処理手段により音声出力部による音声出力を中断させると、応答行動選択手段によって、音声認識部から出力された単語を含む音声認識結果に基づいて、例えば、単語(発話内容)に対する回答を、応答行動として選択する。そして、音声対話装置は、応答行動制御手段によって、応答行動選択手段で選択した応答行動を実行させる。
請求項5に記載の音声対話装置は、請求項4に記載の音声対話装置において、応答行動制御手段は、回答要否判定手段をさらに有するように構成した。
かかる構成によれば、音声対話装置は、回答要否判定手段によって、少なくとも音声認識部から出力された音声認識結果を含む情報に基づいて、この音声認識の対象となった入力された音声に対して回答する必要があるか不要かを判定する。音声対話装置は、回答要否判定手段による判定結果である回答要否判定結果が回答必要の場合には、応答行動選択手段によって、応答行動として音声認識結果に対する回答を行うことを選択する。一方、音声対話装置は、回答要否判定結果が回答不要の場合には、応答行動選択手段によって、応答行動として予め定められた所定の発話を含む所定の応答行動を行うことを選択する。そして、音声対話装置は、応答行動選択手段によって、選択した応答行動を実行する。
請求項6に記載の音声対話装置は、請求項1ないし請求項5の何れか一項に記載の音声対話装置において、再開位置決定手段は、少なくとも応答行動を実行するために音声出力部による音声出力が中断された時間の長さである中断時間長に基づいて再開位置を決定するように構成した。
かかる構成によれば、音声対話装置は、応答行動選択手段により選択した応答行動を実行した後に、この応答行動の割り込みによって中断された音声出力部による音声出力の中断時間長に基づいて、音声出力部による音声出力が中断された発話情報における再開位置を適応的に決定する。そして、音声対話装置は、応答行動制御手段によって、再開位置決定手段で決定した再開位置から音声出力部による音声出力が中断された発話情報の、音声出力部による音声出力を再開させる。
請求項7に記載の音声対話装置は、請求項6に記載の音声対話装置において、再開位置決定手段は、中断時間長が、予め定められた所定の閾値を超えるかどうかで、再開位置を決定するように構成した。
かかる構成によれば、音声対話装置は、再開位置決定手段によって、中断時間長が予め定められた所定の閾値を超える場合には、音声出力部による音声出力が中断された発話情報における先頭を再開位置として決定し、中断時間長が所定の閾値以下の場合には、意味のまとまりによって定められる区切りの先頭であって音声出力部による音声出力が中断された発話情報における中断位置の直前の区切りの先頭を再開位置として決定する。そして、音声対話装置は、応答行動制御手段によって、再開位置決定手段で決定した再開位置から音声出力部による音声出力が中断された発話情報の、音声出力部による音声出力を再開させる。
請求項8に記載の音声対話装置は、請求項5に記載の音声対話装置において、再開位置決定手段は、回答要否判定結果に応じて、再開位置を決定するように構成した。
かかる構成によれば、音声対話装置は、再開位置決定手段によって、回答要否判定手段による判定結果である回答要否判定結果が回答必要の場合には、音声出力部による音声出力が中断された発話情報における先頭を再開位置として決定し、回答要否判定結果が回答不要の場合には、意味のまとまりによって定められる少なくとも1つの単語を含んで構成される区切りの先頭であって音声出力部による音声出力が中断された発話情報における中断位置の直前の区切りの先頭を再開位置に決定する。そして、音声対話装置は、応答行動制御手段によって、再開位置決定手段で決定した再開位置から、音声出力部による音声出力が中断された発話情報の、音声出力部による音声出力を再開させる。
請求項9に記載の音声対話装置は、請求項7または請求項8に記載の音声対話装置において、区切りは、1つまたは複数の文節によって構成するようにした。
かかる構成によれば、音声対話装置は、再開位置決定手段によって、音声出力部による音声出力が中断された発話情報の再開位置を決定する際に、発話情報の先頭以外から再開するように決定する場合は、1つまたは複数の文節によって構成される区切りを単位とした再開位置を決定する。そして、音声対話装置は、応答行動制御手段によって、再開位置決定手段が決定した再開位置である、発話情報の先頭か、または発話情報において音声出力部による音声出力が中断された位置を含む区切りの先頭、すなわち文節の先頭から音声出力部による音声出力を再開させる。
請求項10に記載の音声対話装置は、請求項9に記載の音声対話装置において、区切りは、係り受けによって意味のまとまりがある1つまたは複数の文節によって構成するようにした。
かかる構成によれば、音声対話装置は、再開位置決定手段によって、音声出力部による音声出力が中断された発話情報の再開位置を決定する際に、発話情報の先頭以外から再開するように決定する場合は、係り受けによって意味のまとまりがある1つまたは複数の文節によって構成される区切りを単位とした再開位置を決定する。そして、音声対話装置は、応答行動制御手段によって、再開位置決定手段が決定した再開位置である、発話情報の先頭か、または発話情報において音声出力部による音声出力が中断された位置を含む区切りの先頭、すなわち係り受けによって意味のまとまりがある文節群の先頭から音声出力部による音声出力を再開させる。
請求項1に記載の発明によれば、音声対話装置は、周囲の状況に対する応答の実行状況に応じて、適応的に音声出力の再開位置を決定するため、対話対象にストレスを感じさせることなく中断させた音声出力を円滑に再開させることができる。
請求項2に記載の発明によれば、音声対話装置は、少なくとも音量に基づいて音声出力を中断させるため、対話対象である人物の音声による質問などに対して、音声出力を中断させて迅速に応答することができる。
請求項3に記載の発明によれば、音声対話装置は、外部の状況に応じて音声出力を中断させるタイミングを適応的に決定するため、不用意に音声出力が中断されず、対話対象である人物は、違和感なく音声対話装置による音声出力を聴取することができる。
請求度4に記載の発明によれば、音声対話装置は、音声出力を中断させて、対話対象である人物の発話内容を音声認識した音声認識結果に応じた応答行動をするため、固定したシナリオに限定されず、自由なタイミングで対話対象と対話を行うことができる。
請求項5に記載の発明によれば、音声対話装置は、少なくとも音声認識結果に基づく回答要否判定結果に応じて応答行動を選択するため、例えば、対話対象である人物の相槌などの回答不要な音声が入力されたために音声出力を中断させた場合と、回答が必要な音声が入力されたために音声出力を中断させた場合とで、それぞれに適切な応答行動を行うため、対話対象である人物は、相槌や独り言などを誤って発声した場合でも、音声対話装置と円滑に対話することができる。
請求項6に記載の発明によれば、音声対話装置は、中断させた音声出力を再開させる際に、この音声出力に割り込んで実行した応答行動に要した時間である中断時間長に応じて、適応的に音声出力の再開位置を決定するため、再開された音声出力を聴取する人物は、ストレスなく容易に内容を理解することができる。
請求項7に記載の発明によれば、音声対話装置は、中断時間が長い場合は、音声出力を中断させた発話情報の先頭から音声出力を再開させ、中断時間が短い場合は、音声出力を中断させた意味のまとまりがある区切りの先頭から音声出力を再開させる。このため、再開した音声出力を聴取する人物は、中断時間が長い場合には、容易に内容を理解することができ、中断時間が短い場合には、同じ音声の繰り返しが低減されて冗長に感じることなく、かつ容易に内容を理解することができる。
請求項8に記載の発明によれば、音声対話装置は、回答要否判定結果が回答必要な場合には、音声出力を中断させた発話情報の先頭から音声出力を再開させ、回答要否判定結果が回答不要な場合には、音声出力を中断させた意味のまとまりがある区切りの先頭から音声出力を再開させる。このため、回答という比較的中断時間が長くなる応答行動の割り込み後には、発話情報の先頭から再開された音声出力を聴取する人物は、容易に内容を理解することができる。一方、所定の応答行動という比較的中断時間が短い応答行動の割り込み後には、同じ音声の繰り返しが低減されて再開された音声出力を聴取する人物は、冗長に感じることなく、かつ容易に内容を理解することができる。
請求項9に記載の発明によれば、音声対話装置は、発話情報の途中から音声出力を再開させる場合でも、少なくとも文節の先頭から音声出力を再開させるため、再開された音声出力を聴取する人物は容易に内容を理解することができる。
請求項10に記載の発明によれば、音声対話装置は、発話情報の途中から音声出力を再開させる場合でも、係り受けによって意味のつながりがある区切りの先頭から音声出力を再開させるため、再開された音声出力を聴取する人物はさらに容易に内容を理解することができる。
本発明の実施形態に係るロボットを含むロボットシステムの構成を模式的に示す図である。 ロボットによる自己位置検出およびオブジェクト検出の一例を模式的に示す図である。 図1に示したロボットシステムで用いられるローカル地図の一例を示す図である。 図1に示した管理用コンピュータの記憶手段に記憶されたタスク情報データベースの構成の一例を示す図である。 図1に示した管理用コンピュータの記憶手段に記憶されたタスクスケジュールテーブルの構成の一例を示す図である。 本発明の実施形態に係るロボットの構成を示すブロック図である。 図6に示した本発明の実施形態に係るロボットの主制御部および記憶部の構成を示すブロック図である。 図7に示した本発明の実施形態に係る応答行動制御手段の構成を示すブロック図である。 本発明の実施形態に係るルールデータベースの構成の一例を示す図である。 本発明の実施形態に係る動作データベースの構成の一例を示す図である。 本発明の実施形態に係る状況データベースの構成の一例を示す図である。 本発明の実施形態に係る発話データを説明するための図であり、(a)は発話文の一例を示し、(b)は発話データの構成の一例を示す。 本発明の実施形態に係る中断位置情報および再開位置情報を説明するための図であり、(a)は中断位置情報の構成の一例を示し、(b)は再開位置情報の構成の一例を示す。 本発明の実施形態に係る回答要否判定手段の構成を示すブロック図である。 本発明の実施形態に係る単語信頼度を説明するための図であり、(a)は単語信頼度を算出した様子を示す一例であり、(b)は単語信頼度を算出した様子を示す他の例である。 本発明の実施形態に係る回答要否判定手段における判定閾値の決定方法を説明するための図である。 本発明の実施形態に係るロボットの音声入力に対する応答行動の制御処理の流れを示すフロー図である。 図17に示した本発明の実施形態に係るロボットの音声入力に対する応答行動の制御処理のフロー図における対話状況に応じた次の行動を選択する処理の流れを示すフロー図である。
以下、図面を参照して本発明の音声対話装置を実施するための形態について詳細に説明する。本実施形態における音声対話装置は、音声による対話が可能なコミュニケーションロボット(以下「ロボット」という)の形態をしている。
まず、本発明の実施形態に係るロボットを含むロボット制御システムAの全体構成について図1を参照して説明する。
(ロボット制御システムAの構成)
図1に示すように、ロボット制御システムAは、ロボットRと、このロボットRと無線通信によって接続された基地局1と、この基地局1とロボット専用ネットワーク2を介して接続された管理用コンピュータ3と、この管理用コンピュータ3にネットワーク4を介して接続された端末5とから構成される。
図1に示すように、このロボット制御システムAは、移動機能を備えた複数のロボットR,R,R(ただし、ロボットを特定しない場合は、単にロボットRという)を有しており、各ロボットRは、管理用コンピュータ3においてロボットRごとに予め設定されたタスクの実行計画(タスクスケジュール)に従って、タスクを実行する。
ここでは、自律移動型の2足歩行ロボットを一例として説明する。
ロボットRは、管理用コンピュータ3から入力された実行命令に従ってタスクを実行するものであり、ロボットRがタスクを実行する領域として予め設定されたタスク実行エリア内に、少なくとも一台配置されている。
ここで、図1には、来訪者を会議室などの所定の場所に案内するという内容のタスク(案内タスク)を実行中のロボットRと、荷物をある人に渡すという内容のタスク(荷物配達タスク)を実行中のロボットRと、新たなタスクが割り当てられるまで待機中のロボットRとが、例示されている。また、この例では、タスク実行エリア内に、3箇所のバッテリ補給エリアB,B,Bが設けられており、ロボットRは必要に応じてバッテリ充電(バッテリ充電タスク)を行うことができる。
ロボットRは、図2に示すように、頭部R1、腕部R2、脚部R3、胴部R4および背面格納部R5を有しており、胴部R4にそれぞれ接続された頭部R1、腕部R2、脚部R3は、それぞれアクチュエータ(駆動手段)により駆動され、自律移動制御部50(図6参照)により2足歩行の制御がなされる。この2足歩行についての詳細は、例えば、特開2001−62760号公報に開示されている。
このロボットRは、例えば、案内タスクを実行するときには、人物Hを所定の案内領域(オフィスや廊下などの移動領域)で案内する。ここでは、ロボットRは、周囲に光(例えば、赤外光、紫外光、レーザ光など)および電波を発信して周辺領域に、タグTを備えた人物Hが存在するか否かを検知し、検知した人物Hの位置を特定して接近し、タグTに基づいて、人物Hが誰であるのかという個人識別を行う。このタグTは、ロボットRが人物の位置(距離および方向)を特定するために発する赤外光および電波を受信する。このタグTは、受信した赤外光に含まれる受光方向を示す信号と、受信した電波に含まれるロボットIDとに基づいて、タグ識別番号(発話者識別情報)を含む受信報告信号を生成し、当該ロボットRに返信する。この受信報告信号を受信したロボットRは、受信報告信号に基づいて、タグTを装着した人物Hまでの距離と方向とを認識し、当該人物Hに接近することができる。
ロボットRは、あるタスク(例えば案内タスクや荷物配達タスクなど)を実行するために案内領域内を自律移動する場合に、レーザスリット光または赤外線を照射して、路面状態あるいは路面上のマークを探索するようになっている。すなわち、ロボットRは、自己が移動領域内のどこを移動しているかを把握し、通常の移動領域内にいる場合はレーザスリット光を路面に照射して路面の段差、うねり、障害物の有無などを検出し、マークMの設置領域内にいる場合は、赤外線を路面に照射してマークMを検出し、自己位置の確認・補正などを行うようになっている。ここで、マークMは、例えば赤外線を再帰的に反射する反射材料で構成された部材である。また、マークMは位置データを有しており、当該位置データは地図データに含まれる形で記憶部30(図6参照)に記憶されている。なお、地図データは、案内領域内の特定の場所に設置されたマークMの位置データと、当該位置データに所定の幅(範囲)を持たせたマークMの設置領域に関するデータとを含んでいる。また、マークMの設置領域とは、マークMから所定距離の範囲内にある領域をいい、例えば、マークMを中心とした半径が1〜3mの円形領域や、マークMの手前(ロボット側)3mの矩形領域などのように任意に設定される。
図1に戻って、ロボット制御システムAの構成の説明を続ける。
基地局1は、ロボットRと管理用コンピュータ3との間のデータ交換を仲介するものである。
具体的には、基地局1は、管理用コンピュータ3から出力された実行命令をロボットRに送信するとともに、ロボットRから送信されたロボットRの状態に関するデータ(ステータス情報)やロボットRが実行命令を受信したことを示す信号(受信報告信号)を受信して、管理用コンピュータ3に出力するものである。
基地局1は、ロボットRと管理用コンピュータ3との間のデータ交換を確実に行えるようにするために、タスク実行エリア内に少なくとも一つ設けられている。
なお、タスク実行エリアが建物の数フロアに亘って設定されている場合には、フロアごとに設けられていることが好ましく、一つの基地局1では総てのタスク実行エリアをカバーできない場合には、複数の基地局1がタスク実行エリア内に設けられていることが好ましい。
ロボット専用ネットワーク2は、基地局1と、管理用コンピュータ3と、ネットワーク4とを接続するものであり、LAN(Local Area Network)などにより実現されるものである。
管理用コンピュータ3は、複数のロボットRを管理するものであり、基地局1、ロボット専用ネットワーク2を介してロボットRの移動・発話などの各種制御を行うとともに、ロボットRに対して必要な情報を提供する。ここで、必要な情報とは、検知された人物の氏名や、ロボットRの周辺の地図(ローカル地図)などがこれに相当し、これらの情報は、管理用コンピュータ3の記憶部3aに記憶されている。
ここでは、案内領域301は、図3に示すように、建物のあるフロアの長方形の領域である。ロボットRやロボットRが案内すべき人物は、案内領域301の出入口302の外側の廊下303を通って案内領域301に入る。出入口302の内側には、ホール304が広がっており、ホール304の奥の隅には受付305が配置され、案内領域301の壁側には個室として仕切られた複数の会議室306(306a,306b,306c)が設けられている。受付305は、L字型のカウンタテーブル305aと、受付スタッフが配置されるカウンタスペース305bとから成る。カウンタスペース305bには、基地局1が設置されている。なお、管理用コンピュータ3は、通路や部屋などのローカル地図の情報を位置座標データと関連づけて登録したローカルマップ(ローカル地図データ)と、ローカルマップを集積したタスク実行エリアの地図情報であるグローバルマップとを記憶部3a(図1参照)に保持している。
また、管理用コンピュータ3は、ロボットRに実行させるタスクに関する情報(タスクデータ)を記憶するタスク情報データベースを記憶部3a(図1参照)に保持している。
図4に示すように、タスク情報データベース400には、タスクごとに割り当てられた固有の識別子であるタスクID、タスクの優先度、タスクの重要度、タスクを実行させるロボットの識別子であるロボットID、案内や運搬(荷物配達)などのタスクの内容、タスク実行エリア内におけるタスクを開始する位置(開始位置)、タスク実行エリア内におけるタスクを終了する位置(終了位置)、タスクの実行に要する時間(所要時間)、そしてタスクの開始予定時刻(開始時刻)、タスクの終了予定時刻(終了時刻)、そしてタスクの状態などが、情報項目として含まれている。
また、管理用コンピュータ3は、ロボットRに実行させるタスクの実行計画(タスクスケジュール)を、ロボットRごとに設定するものである。
図5に示すように、タスクスケジュールテーブル500は、ロボットRに実行させるタスクの実行順位、タスク情報データベース400(図4参照)に登録されたタスクを特定するためのタスクID、タスクの優先度、タスクの内容、そしてタスクの状態を情報項目として含むテーブルである。
このタスクスケジュールテーブル500では、これら情報項目が、タスク実行エリア内に配置されたロボットRごとに整理されており、どの様なタスクが、どのような順番で各ロボットRに割り当てられているのかを把握できるようになっている。
再び、図1に戻って、ロボット制御システムAの構成の説明を続ける。
端末5は、ネットワーク4を介して管理用コンピュータ3に接続し、管理用コンピュータ3の記憶部3aに、人物に関する情報などを登録する、もしくは登録されたこれらの情報を修正するものである。また、端末5は、ロボットRに実行させるタスクの登録や、管理用コンピュータ3において設定されるタスクスケジュールの変更や、ロボットRの動作命令の入力などを行うものである。
以下、ロボットRについて詳細に説明する。
[ロボット]
ロボットRは、頭部R1、腕部R2、脚部R3、胴部R4および背面格納部R5に加えて(図2参照)、これら各部R1〜R5の適所に、図6に示すように、カメラC,C、スピーカS、マイクMC,MC、画像処理部10、音声処理部20、記憶部30、主制御部40、自律移動制御部50、無線通信部60、バッテリ70、対象検知部80、および周辺状態検知部90を有する。
さらに、ロボットRは、ロボットRの向いている方向を検出するジャイロセンサSR1や、予め設定された地図上におけるロボットRの存在する位置座標を取得するためのGPS(Global Positioning System)受信器SR2を有している。
[カメラ]
カメラ(視覚センサ)C,Cは、ロボットRの前方移動方向側の映像をデジタルデータとして取り込むことができるものであり、例えば、カラーCCD(Charge-Coupled Device)カメラが使用される。カメラC,Cは、左右に平行に並んで配置され、撮影した画像は画像処理部10に出力される。このカメラC,Cと、スピーカSおよびマイクMC,MCは、いずれも頭部R1の内部に配設される。スピーカSは、音声処理部20で音声合成された所定の音声を出力する(発話する)ことができる。
[画像処理部]
画像処理部10は、カメラC,Cが撮影した画像(撮影画像)を処理して、撮影された画像からロボットRの周囲の状況を把握するため、周囲の障害物や人物の認識を行う部分である。この画像処理部10は、ステレオ処理部11a、移動体抽出部11bおよび顔認識部11cを含んで構成される。
ステレオ処理部11aは、左右のカメラC,Cが撮影した2枚の画像の一方を基準としてパターンマッチングを行い、左右の画像中の対応する各画素の視差を計算して視差画像を生成し、生成した視差画像および元の画像を移動体抽出部11bに出力する。なお、この視差は、ロボットRから撮影された物体までの距離を表すものである。
移動体抽出部11bは、ステレオ処理部11aから出力されたデータに基づき、撮影した画像中の移動体を抽出するものである。移動する物体(移動体)を抽出するのは、移動する物体が人物であると推定して、人物の認識をするためである。
移動体の抽出をするために、移動体抽出部11bは、過去の数フレーム(コマ)の画像を記憶しており、最も新しいフレーム(画像)と、過去のフレーム(画像)とを比較して、パターンマッチングを行い、各画素の移動量を計算し、移動量画像を生成する。そして、視差画像と、移動量画像とから、カメラC,Cから所定の距離範囲内で、移動量の多い画素がある場合に、人物があると推定し、その所定距離範囲のみの視差画像として、移動体を抽出し、顔認識部11cへ移動体の画像を出力する。
顔認識部11cは、抽出した移動体の一部分の大きさ、形状などから顔領域および顔の位置を認識する。なお、顔認識部11cは、同様にして、抽出した移動体の一部分の大きさ、形状などから手の位置も認識する。
顔認識部11cによって認識された顔の位置は、ロボットRが移動するときの情報として、また、その人とのコミュニケーションを取るため、主制御部40に出力される。
この画像処理部10は、外部情報取得手段として機能することができ、主制御部40に出力された顔認識結果は、外部情報として主制御部40を介して記憶部30に記憶される。
なお、本実施形態において、外部情報とはロボットRの周囲状況を示す情報を指し、外部情報取得手段とは外部情報を取得する手段を指す。また、外部情報には、画像データのようにカメラなどのセンサ出力そのものである情報と、顔認識結果のようにセンサ出力を解析や加工をして得られる情報とが含まれるものとする。本実施形態では、画像処理手段10、音声処理手段20の各部、対象検知手段80、および周辺状態検知部90が外部情報取得手段に含まれる。その他の外部情報については、各外部情報取得手段の説明とともに後記する。
[音声処理部]
音声処理部20は、音声合成部21aと、音声入力部21bと、音声認識部21cと、音源定位部21dとを含んで構成される。
音声合成部(音声出力部)21aは、主制御部40が決定し、出力してきた発話行動の指令に基づき、発話内容を示す文字情報(テキストデータ)を含む発話データ(発話情報)から音声データを生成し、スピーカSに音声を出力する部分である。音声データの生成には、予め記憶部30に記憶している文字情報(テキストデータ)と音声データとの対応関係を利用する。なお、音声データは、管理用コンピュータ3から取得され、記憶部30に保存される。
音声入力部21bは、マイクMC,MCから入力される音声信号をデジタル化した音声データに変換する。音声入力部21bは、変換した音声データを音声認識部21cに出力する。
また、音声入力部21bは、変換した音声データを分析し、入力された音声データに音声(人物の音声)が含まれているかどうか、すなわち音声が存在するかどうかを検出する。さらにまた、音声入力部21bは、検出した音声の音量を算出するとともに、順次入力される音声データに、継続して音声が存在する時間を示す音声継続長を算出する。音声入力部21bは、音声の存在の検出結果、音量および音声継続長を音声分析結果として主制御部40に出力する。
音声認識部21cは、音声入力部21bから音声データを入力し、入力した音声データから単語を音声認識して文字情報(テキストデータ)を生成し、主制御部40に出力するものである。なお、音声データと文字情報(テキストデータ)との対応関係は、記憶部30に予め記憶されている。
また、音声認識部21cは、音声認識した単語ごとに、単語の音声認識の信頼度を示す単語信頼度を算出して主制御部40に出力する。単語信頼度は、入力した音声データを、例えば、音声認識の分野では公知のHMM(隠れマルコフモデル)を用いてモデル化された単語モデルに当てはめた場合に、その単語であることの確からしさを示す尤度に基づいて算出することができる。
このような単語信頼度を算出する音声認識エンジンとしては、例えば、オープンソースソフトウェアであるJulius音声認識システムを利用することができる。
(http://julius.sourceforge.jp/index.php?q=doc/cm.html参照)
さらに、音声認識部21cは、音声認識した発話ごとに、発話ごとの音量と、発話ごとの継続時間である発話長とを算出する。音声認識部21cは、算出した音量と発話長とを主制御部40に出力する。
音声認識部21cは、この音量を、次のようにして算出することができる。まず、音声データを、例えば10ms程度の所定の長さ(フレーム長)の音声フレームに分割する。そして、音声フレームごとのパワースペクトルを算出することにより、その音声フレームにおける音量を求めることができる。そして、当該発話区間における音量の最大値や平均値を算出して当該発話における音量として用いることができる。
また、発話長は、当該発話区間に含まれる音声フレーム数を計数し、フレーム長に乗ずることにより算出することができる。
なお、音声認識部21cは、音声入力部21bから音声データに加えて、音量および音声継続長を入力して、これらに基づいて発話毎の音量や発話長を算出するようにしてもよい。これによって音声入力部21bと重複する計算を省略することができる。
音源定位部21dは、マイクMC,MC間の音圧差および音の到達時間差に基づいて音源位置(ロボットRが認識する平面状の位置)を特定し、主制御部40に出力するものである。音源位置は、例えば、ロボットRの立っている方向(z軸方向)周りの回転角θで表される。
なお、音声入力部21b、音声認識部21cおよび音源定位部21dは、それぞれ外部情報取得手段として機能することができ、主制御部40に出力された音の存在や音量などの音声分析結果、単語や単語信頼度などの音声認識結果、音源位置などは、外部情報として主制御部40によって記憶部30に記憶される。
[記憶部]
記憶部30は、例えば、一般的なハードディスク等から構成され、管理用コンピュータ3から送信された必要な情報(ローカル地図データ、発話データなど)を記憶するものである。また、記憶部30は、後記するように、主制御部40の各種動作を行うために必要な情報を記憶している。
[主制御部]
主制御部40は、画像処理部10、音声処理部20、記憶部30、自律移動制御部50、無線通信部60、対象検知部80、および周辺状態検知部90を統括制御するものである。また、ジャイロセンサSR1、およびGPS受信器SR2が検出したデータは、主制御部40に出力され、ロボットRの行動を決定するために利用される。この主制御部40は、例えば、管理用コンピュータ3と通信を行うための制御、管理用コンピュータ3から取得したタスク実行命令に基づいて所定のタスクを実行するための制御、ロボットRを目的地に移動させるための制御、人物を識別するための制御、人物と対話するための制御を行うために、種々の判断を行ったり、各部の動作のための指令を生成したりする。
また、主制御部40は、画像処理部10、音声処理部20、対象検知部80、および周辺状態検知部90などの外部情報取得手段から入力した画像処理結果や音声認識結果などの外部状況を把握するための外部情報を、記憶部30に記憶される状況DB(状況データベース)に格納する。状況DBについては後記する。
[自律移動制御部]
自律移動制御部50は、主制御部40の指示に従い頭部R1、腕部R2、脚部R3および胴部R4を駆動するものである。この自律移動制御部50は、図示を省略するが、頭部R1の首関節を駆動させる首制御部、腕部R2の手の先の指関節を駆動させる手制御部、腕部R2の肩関節、肘関節、手首関節を駆動させる腕制御部、脚部R3に対して胴部R4を水平方向に回転駆動させる腰制御部、脚部R3の股関節、膝関節、足首関節を駆動させる足制御部を有している。これら首制御部、手制御部,腕制御部、腰制御部および足制御部は、頭部R1、腕部R2、脚部R3および胴部R4を駆動するアクチュエータに駆動信号を出力する。
[無線通信部]
無線通信部60は、管理用コンピュータ3とデータの送受信を行う通信装置である。無線通信部60は、公衆回線通信装置61aおよび無線通信装置61bを有する。
公衆回線通信装置61aは、携帯電話回線やPHS(Personal Handyphone System)回線などの公衆回線を利用した無線通信手段である。一方、無線通信装置61bは、IEEE802.11b規格に準拠するワイヤレスLANなどの、近距離無線通信による無線通信手段である。
無線通信部60は、管理用コンピュータ3からの接続要求に従い、公衆回線通信装置61aまたは無線通信装置61bを選択して管理用コンピュータ3とデータ通信を行う。
バッテリ70は、ロボットRの各部の動作や処理に必要な電力の供給源である。このバッテリ70は、充填式の構成をもつものが使用される。ロボットRは、バッテリ補給エリア(図1参照)でバッテリ70の充電器に嵌合され、バッテリ充電される。
[対象検知部]
対象検知部80は、ロボットRの周囲にタグTを備える人物が存在するか否かを検知するものである。対象検知部80は、複数の発光部81(図6では1つのみ表示した)を備える。これら発光部81は、例えば、LEDから構成され、ロボットRの頭部R1外周に沿って前後左右などに配設される(図示は省略する)。対象検知部80は、発光部81から、各発光部81を識別する発光部IDを示す信号を含む赤外光をそれぞれ発信するとともに、この赤外光を受信したタグTから受信報告信号を受信する。いずれかの赤外光を受信したタグTは、その赤外光に含まれる発光部IDに基づいて、受信報告信号を生成するので、ロボットRは、この受信報告信号に含まれる発光部IDを参照することにより、当該ロボットRから視てどの方向にタグTが存在するかを特定することができる。また、対象検知部80は、タグTから取得した受信報告信号の電波強度に基づいて、タグTまでの距離を特定する機能を有する。したがって、対象検知部80は、受信報告信号に基づいて、タグTの位置(距離および方向)を、人物の位置として特定することができる。さらに、対象検知部80は、発光部81から赤外光を発光するだけではなく、ロボットIDを示す信号を含む電波を図示しないアンテナから発信する。これにより、この電波を受信したタグTは、赤外光を発信したロボットRを正しく特定することができる。
また、タグTは、それぞれタグTを備えた人物に対応付けられた固有のタグ識別番号(個人識別情報)を有しており、このタグ識別番号を受信報告信号に含ませてロボットRに送信する。そして、ロボットRは、タグTから送信された受信報告信号に含まれるタグ識別番号によって、タグTを備えた人物を特定することができる。
対象検知部80は、タグTから受信したタグ識別番号を主制御部40に出力する。
なお、対象検知部80およびタグTについての詳細は、例えば、特開2006−192563号公報に開示されている。この対象検知部80は、外部情報取得手段として機能することができ、主制御部40に出力されたタグ識別番号は、外部情報として主制御部40によって記憶部30に記憶される。
[周辺状態検知部]
周辺状態検知部90は、ロボットRの周辺状態を検知するものであり、ジャイロセンサSR1やGPS受信器SR2によって検出された自己位置データを取得可能になっている。また、周辺状態検知部90は、探索域に向かってスリット光を照射するレーザ照射部91と、探索域に向かって赤外線を照射する赤外線照射部92と、スリット光または赤外線が照射された探索域を撮像する床面カメラ93とを有する。この周辺状態検知部90は、床面カメラ93で撮像したスリット光画像(スリット光が照射されたときの画像)を解析して路面状態を検出する。また、周辺状態検知部90は、床面カメラ93で撮像した赤外線画像(赤外線が照射されたときの画像)を解析してマークM(図2参照)を検出し、検出されたマークMの位置(座標)からマークMとロボットRとの相対的な位置関係を計算する。周辺状態検知部90は、検出した路面状態やマークMとロボットRとの相対的な位置関係などの情報を主制御部40に出力する。なお、周辺状態検知部90についての詳細は、例えば、特開2006−167844号公報に開示されている。この周辺状態検知部90は、外部情報取得手段として機能することができ、主制御部40に出力された路面状態や相対的な位置関係情報は、外部情報として主制御部40によって記憶部30に記憶される。
[主制御部の構成]
次に、図7を参照(適宜図6参照)してロボットRの主制御部40の構成を説明する。
主制御部40は、静止障害物統合部41と、オブジェクトデータ統合部42と、行動パターン部43と、身振り統合部44と、内部状態検出部45と、行動計画管理部46とを備えている。
静止障害物統合部41は、周辺状態検知部90で検知されたロボットRの周辺状態に関する情報を統合し、行動パターン部43に出力するものである。例えば、静止障害物統合部41が、ロボットRの進路の床面に段ボール箱などの障害物を検知した場合や、床面の段差を検知した場合には、行動パターン部43は、この統合された障害物情報に基づいて、図示しない局所回避モジュールによって迂回経路を探索する。
オブジェクトデータ統合部42は、ロボットRの姿勢データ、画像処理部10、対象検知部80および音源定位部21dからの入力データに基づいて、対象物(オブジェクト)に関する識別データ(オブジェクトデータ)を統合し、この統合したオブジェクトデータを記憶部30のオブジェクトデータ記憶手段31に出力するものである。これにより、オブジェクトデータ記憶手段31には、オブジェクトデータをオブジェクト別かつ時刻別に記録したデータであるオブジェクトマップが生成される。
行動パターン部43は、行動パターンを実行するための各種プログラム(モジュール)を格納するとともに、この行動パターンを実行するときに、記憶部30を参照して、行動パターンに反映するものである。
また、行動パターン部43は、応答行動制御手段47を含んで構成されている。応答行動制御手段47は、ロボットRが発話中に音声入力部21bによって音声の入力を検出したときに、ロボットRの発話を中断させ、この音声に対する応答行動を実行し、その後に中断させた元の発話を再開させるものである。応答行動制御手段47の詳細については後記する。
本実施形態では、図7に示すように、記憶部30に、オブジェクトデータ記憶手段31のほかに、ローカル地図データ記憶手段32と、ルールDB(ルールデータベース)記憶手段33と、発話情報記憶手段34と、応答状況記憶手段35とを備えている。また、応答状況記憶手段35は、状況DB(状況データベース)記憶手段36と内部状態記憶手段37とを備えている。
ローカル地図データ記憶手段32は、図3を参照して説明したロボットRの周辺の地図(ローカル地図)を記憶するものである。このローカル地図は、例えば、管理用コンピュータ3から取得される。
ルールDB記憶手段33は、各種行動パターンに対応したシナリオ(台本)、状況に応じた行動を選択するためのルール(ルールDB)、ルールを実行するための具体的な動作内容や発話内容(動作DB(動作データベース))等を記憶するものである。ここでルールとは、ロボットRが発現する動作についての決まりごとを示す。またシナリオは、例えば、歩行中に人物や障害物(オブジェクト)に遭遇したときにオブジェクトの1m手前で立ち止まるといったもの、立ち止まってから10秒後に腕部R2を所定位置まで上げるといったものなど動作に関するものと、発話に関するものとがある。また、ルールDB記憶手段33は、所定の発話を行うときに頭部R1、腕部R2、脚部R3および胴部R4のうちの少なくとも1つの部位を移動させる身体動作である身振りを指定する予め作成されたシナリオを記憶する。
なお、ルールDB記憶手段33が記憶する動作DBについては後記する。
発話情報記憶手段34は、ロボットRの発話に用いられる情報である発話データ(発話情報)を記憶するものである。発話情報記憶手段34は、各種行動パターンに対応したシナリオで定められた発話データを記憶する。ここで、発話データは、例えば、挨拶を示す定型文「○○さん、こんにちは」、確認を示す定型文「これを、△△さんへ渡すのですね」、相手の発話に対して回答が分からない(回答不能である)ことを示す応答語「ん?」等が含まれる。また、発話情報記憶手段34は、ルールDB記憶手段33に記憶された製品や技術説明などのプレゼンテーションのシナリオに沿った発話データ等を記憶している。これらの発話データは、例えば、管理用コンピュータ3から送信される。
なお、発話情報記憶手段34が記憶する発話データ(発話情報)の構成については後記する。
応答状況記憶手段35は、現在状況に関する情報を記憶するものであり、ロボットRの周囲状況を記憶する状況DB記憶手段36と、ロボットRの内部状態を記憶する内部状態記憶手段37とを備えている。
状況DB記憶手段36は、外部情報取得手段である画像処理部10、音声入力部21b、音声認識部21c、対象検知部80などによって取得した外部情報に基づいてロボットRが把握したロボットRの周囲の現在状況に関する情報(状況DB)を記憶するものである。本実施形態では、状況DBは、カメラC,Cを介して入力された画像を処理する画像処理部10の処理結果、マイクMC,MCを介して入力された音声を分析する音声入力部21bの処理結果、マイクMC,MCを介して入力された音声の内容を認識する音声認識部21cの処理結果、対象検知部80によるタグTの認識結果、タグTで特定される対話対象となる人物の発話の際の平均音量などを含む周囲状況を格納する。
この状況DBの具体例については後記する。
内部状態記憶手段37は、ロボットRの内部状態を示す情報を記憶するものである。本実施形態では、内部状態記憶手段37に記憶される内部状態には、ロボットRが発話を中断したときの中断位置を示す中断位置情報と、発話を再開するときの再開位置を示す再開位置情報とが含まれる。
なお、内部状態記憶手段37に記憶される中断位置情報および再開位置情報については後記する。
行動パターン部43は、オブジェクトデータ記憶手段31、ローカル地図データ記憶手段32、ルールDB記憶手段33、発話情報記憶手段34、状況DB記憶手段36、内部状態記憶手段37を適宜利用して様々な場面や状況に応じた行動パターンを実行するモジュールを備えている。モジュールの例としては、目的地移動モジュール、局所回避モジュール、デリバリモジュール、案内モジュール、人対応モジュール、応答行動制御モジュールなどがある。
目的地移動モジュールは、ロボットRの現在位置から、例えば、タスク実行エリア内のタスク実行位置等の目的地までの経路探索(例えばノード間の経路を探索)および移動を行うものである。この目的地移動モジュールは、地図データと現在位置とを参照しつつ、目的地までの最短距離を求める。
局所回避モジュールは、歩行中に障害物が検知されたときに、静止障害物統合部41で統合された障害物情報に基づいて、障害物を回避する迂回経路を探索するものである。
デリバリモジュールは、荷物配達タスクを実行するときに動作するものであり、物品の運搬を依頼する人物(依頼人)から物品を受け取る(把持する)動作や、受け取った物品を受取人に渡す(物品を手放す)動作を実行するものである。
案内モジュールは、例えば、タスク実行エリア内の案内開始地点に来訪した来訪客を案内領域301(図3参照)の受付305にいる受付スタッフのもとへ案内するタスクを実行するものである。
人対応モジュールは、例えば、物品運搬タスクや案内タスクの実行時に所定のシナリオに基づいて、発話、姿勢の変更、腕部R2の上下移動や把持等を行うものである。なお、人対応モジュールは、タスクの実行にかかわらず、軽い挨拶やお天気の話題等を、目的をもって意図的に発話することもできる。
また、人対応モジュールには、様々な人に挨拶を行うという動作を実行する出会い応対モジュールや、特定の相手に向けて説明や質疑応答などのサービスを実行するプレゼンQA(プレゼンテーションと質疑応答)モジュールなどのサブモジュールが含まれている。
応答行動制御モジュールは、例えば人対応モジュールなどの発話を含むタスクの実行時において、ロボットRが発話中に音声入力を検出したときに、この音声入力に対する応答行動を制御するためのモジュールである。応答行動制御モジュールは、このような応答行動を行う必要があるときに行動パターン部43によって起動され、起動によって行動パターン部43に応答行動制御手段47が生成される。応答行動制御手段47の詳細については後記する。
身振り統合部44は、対象とする人物に対して行う発話に対応した身振りをルールDB記憶手段33から抽出し、抽出した身振りを指定するコマンドを自律移動制御部50に出力するものである。頭部R1の動作による身振りは、例えば、頭部R1を下方に傾けることで「お辞儀」、「礼」、「同意」、「謝罪」等を表示する動作や、頭部R1を左右に傾ける(かしげる)ことで「分からない」という意思表示を伝える動作が含まれる。また、腕部R2の動作による身振りは、例えば、腕部R2を上げることで「喜び」、「賞賛」等を表示する動作や、腕部R2を下方左右に広げることや握手を行うことで「歓迎」という意思表示を伝える動作が含まれる。また、脚部R3の動作による身振りは、例えば、その場で駆け足をすることで「喜び」、「元気」等の意思表示を伝える動作が含まれる。
内部状態検出部45は、ロボットRの内部状態を検出するものである。本実施形態では、内部状態検出部45は、充電状況(充電器に嵌合されたか否かを示す情報)およびバッテリ70の残量を検出する。また、内部状態検出部45は、ロボットRの状態(現在位置、充電状況、バッテリ残量、タスク実行状況など)に関するデータを所定時間間隔ごとにステータス情報として生成する。また、内部状態検出部45は、生成したステータス情報を無線通信部60を介して管理用コンピュータ3に出力する。そして、管理用コンピュータ3は、入力されたステータス情報を記憶部3aに格納された図示しないロボット情報データベースにロボットRごとに登録する。
行動計画管理部46は、行動パターン部43が備える各種モジュールを所定のスケジュールで実行する行動計画を管理するものである。本実施形態では、行動計画管理部46は、管理用コンピュータ3から取得したタスク実行命令に基づいて予め定められたタスクを実行するための行動計画を管理し、現在実行すべき作業に必要なモジュールを適宜選択する。
応答行動制御手段47は、ロボットRが音声合成部21aによってスピーカSから発話(音声出力)を実行する場合において、外部情報として、マイクMC,MCを介して音声入力部21bに音声入力があったときに、この音声入力に対して、発話の中断、音声への応答、発話の再開などの応答行動を制御するための制御手段である。
なお、本実施形態では、応答行動制御手段47は、ロボットRが発話を含むタスクを実行する際に行動パターン部43によって生成され、音声入力の状況や入力された音声の音声認識処理の状況などを、例えば数ミリ秒程度の周期で常時監視して、その時々の状況に応じた行動を実行するものである。
[応答行動制御手段の構成]
次に、図8を参照(適宜図6および図7参照)して、応答行動制御手段47の詳細な構成について説明する。
応答行動制御手段47は、図8に示すように、即時中断判定手段471と、回答要否判定手段472と、応答行動決定手段473と、行動コマンド実行管理手段474とを備え、さらに応答行動決定手段473は、発話中断処理手段473aと、再開位置決定手段473bと、応答行動選択手段473cとを備えて構成されている。
応答行動制御手段47は、前記した各構成手段によって、記憶部30(図7参照)に記憶された各種の情報に基づいて、前記した音声入力に対する応答行動の実行を制御する。音声入力部21bから出力される音声の存在、音量、音声継続長などの音声分析結果や、音声認識部21cから出力される単語や単語信頼度などの音声認識結果と、記憶部30に記憶された各種の情報に基づき、対象検知部80から出力されるタグ識別番号に対応付けられた人物(発話者)に関する情報を考慮して、この応答行動を制御する。
まず、応答行動制御手段47が用いる記憶部30に記憶された各種の情報について、適宜に図面を参照して説明する。
記憶部30に備えられたルールDB記憶手段(ルールデータベース記憶手段)33は、前記したようにルールDB(ルールデータベース)と動作DB(動作データベース)とを記憶している。
ルールDBは、状況に応じた発話および動作のうちの少なくとも1つの実行命令を含むルールを複数格納したものである。
ここで、ルールDBおよび動作DBの具体例について図9および図10を参照して説明する。
図9に示すように、ルールDB900は、項目として、ルールID、ルール内容、動作IDを有している。
ルールIDおよび動作IDは、それぞれ各ルールおよび各動作を識別するための識別子である。ルール内容は、動作IDで示される動作を実行する状況(条件)を示したものである。例えば、ルールID=「1」で示されるルールは、「大きな音がした(=マイククリップ)」場合に、「びっくりする」動作である動作ID=「4」で示される動作を実行するものである。ここで、動作IDで示される動作内容は、図10に示す動作DBに定められている。
また、ルールID=「7」で示されるルールは、回答不要(または回答不能)な音声入力があったときに、首を傾げて「ん?」と発話するという動作ID=「11」で定められた動作を行うものである。
なお、ルールID=「X」のルールは、ルール内容として「何もしない」ことを示す特別ルールである。
また、図10に示すように、動作ID1000は、項目として、動作IDと、動作内容と、可動部の部位の一例として頭、掌、腰、腕および口と、を有している。ここで、部位は、例えば、頭(頭部R1)、掌や腕(腕部R2)、腰(脚部R3、胴部R4)、口(スピーカS)を指す。
例えば、動作ID=「5」は、頭、腰および腕を使用することで、「顔と体とをターゲットに向けて手を挙げる」動作を行うことを示す。
また、動作ID=「11」は、首(頭)を傾けながら、「ん?」と発話する動作を行うことを示し、入力した音声に対して回答不要(または回答不能)と判定したときに行う応答行動として選択される動作である。
なお、動作ID=「7」,「8」については、詳細は図示していないが、自律移動制御部50によって動かす腕部R2の関節の自由度や各関節の回転角度ごとに動作を定めたため、異なる動作IDを付与した。ここで、関節の自由度は、関節を前後方向に曲げる、上下方向に曲げる、回転させる等の動きを示す。なお、腕部R2以外の部位にも同様に設定できる。
また、動作ID=「9」,「10」については、詳細は図示していないが、音声合成部21aによって合成する音声の音量ごとに、異なる動作IDを付与した。なお、図10に示した動作以外に、例えば、「腰をひねる」、「腕をぶらぶら振る」、「手指を閉じたり開いたりする」、「把持した旗等の物品を振る」等の動作を含んでもよい。
図8に戻って、記憶部30に記憶された各種の情報について説明を続ける。
記憶部30に備えられた状況DB記憶手段36は、ロボットR(図6参照)の周囲状況である外部情報のデータベースである状況DB(状況データベース)と、平均音量DB(平均音量データベース)とを記憶している。
状況DB記憶手段36は、内部状態記憶手段37とともに、ロボットR(図6参照)が応答行動を制御するために必要な内外の状況に関する情報を記憶するための応答状況記憶手段35を構成している。
ここで、図11を参照して状況DBの具体例について説明する。
図11に示すように、本実施形態における状況DB1100は、項目として、状況IDと、状況内容と、現在表示とを有している。ここで、状況IDは、各状況を識別するための識別子であり、状況内容は、「画像異常」、「誰もいない」などの状況を示している。また、現在表示は、現在の状況を示すものである。現在表示が「on/off」で示しされるものは、「on」または「off」の状態をとり、「on」が状況内容に該当する場合を示し、「off」が状況内容に該当しない場合を示す。例えば、状況ID=「4」では、「小さな音がした」場合の現在表示が「on」となり、それ以外の音がしないか大きな音がした場合は現在表示が「off」となる。
また、状況ID=「10」である「音量」のように、現在表示が「値」となっているものは、具体的な数値として状況が示される。
さらにまた、状況ID=「12」の「音声認識結果」のように、現在表示が「構造データ」となっているものは、状況が単一の数値ではなく複数の数値などによって構成されて示されることを示す。
平均音量DBは、ロボットR(図6参照)の対話対象となるタグTを備えた人物ごとの発話時の平均的な音量である平均音量が、対話対象たる人物を識別するタグ識別番号に対応付られて格納されている。
この平均音量は、個々の人物ごとに、予め種々の場面での音声を採集して、その平均音量を算出して平均音量DBに格納しておく。また、入力された音声の音量をタグ識別番号に対応付けて、逐次に音量履歴として記憶しておき、音量履歴からこれまで蓄積された音量の平均を算出して平均音量として用いるようにしてもよい。
図8に戻って、記憶部30に記憶された各種の情報やデータについて説明を続ける。
記憶部30に備えられた発話情報記憶手段34は、前記したように発話データ(発話情報)を記憶している。
ここで、発話データの構成の具体例について図12を参照して説明する。
本実施形態における発話データは、図12(a)に示すように、例えば発話文100のように、文を単位として構成され、区切りK1〜K3に分割された構造を有するものである。そして、発話の実行制御は、区切りK1〜K3単位で行われる。
なお、発話データは、挨拶文のような定型文や製品説明のシナリオにおける説明文のように予め作成されて発話情報記憶手段36に記憶されているものと、対話状況に応じて適宜に単語を組み合わせてロボットR(図6参照)が作成するものとが含まれる。
ここで、区切りとは、ある程度の意味のまとまりがあることによって定められる発話の実行単位であり、発話の中断位置や再開位置を定めるための単位となる。
本実施形態では、意味まとまりによって定められる区切りK1〜K3として、係り受けを考慮した文節のまとまり(文節の集合体)を単位とする。しかし、これに限定されるものではなく、単語を最小の単位とすることができる。この他に、例えば、文節を単位とした区切りに分割してもよく、文を単位とした区切りに分割してもよい。また、区切りの単位を、例えば「係り受けを考慮した文節」のみとするのではなく、意味内容のまとまりや長さを考慮して、文節、単語、文などを単位とする区切りを混在させるようにしてもよい。
以下、本実施形態における区切りK1〜K3について順を追って説明する。
図12(a)に示した例では、「これまで28の都道府県で活動を行ってきました。」が1つの発話文100である。これを単語(品詞)に分割すると、「これまで」「28」「の」「都道府県」「で」「活動」「を」「行って」「き」「まし」「た」「。」となる。
また、発話文100を、少なくとも1つの自律語を含む1または複数の品詞からなる単位である文節に分割すると、「これまで」「28の」「都道府県で」「活動を」「行って」「きました。」となる。
さらに、発話文100を、文節と文節との間の修飾関係である係り受けを考慮し、意味のまとまりがある1つまたは複数の文節を1つにまとめるように分割すると、「これまで」「28の都道府県で」「活動を行ってきました。」となる。
本実施形態における発話文100は、係り受けを考慮した文節のまとまりごとに分割した区切りK1〜K3から構成されている。
本実施形態では、発話を中断した後に、発話を再開する場合には、区切りK1〜K3を単位として再開位置を決定する。このため、区切りK1〜K3として、ある程度の意味のまとまりがある単位とすることが好ましい。これによって、ロボットR(図6参照)が2番目以降の区切りK2またはK3の先頭から発話を再開したときにも、発話を聴取する対話対象が、発話内容を理解し易くすることができる。
特に、発話を中断させてから、応答行動の実行後に中断させた発話の再開を開始するまでの時間である中断時間が短い場合には、発話文100の先頭(すなわち1番目の区切りK1の先頭)から再開せず、中断が発生した2番目以降の区切りK2またはK3の先頭から発話を再開することで、発話の繰り返しが抑制されるため対話対象に冗長性を感じさせず、かつ対話対象に発話内容を容易に理解させることができる。
図12(b)は、図12(a)に示した区切りK1〜K3に分割された発話文100を含む発話データ110の構成例を示したものである。
図12(b)に示した発話データ110は、項目として、発話文100を識別するための識別子である発話文IDと、区切り数と、区切り番号ごとの発話内容とを有している。
なお、本実施形態では、1つの発話文100が1つの発話データ110に含まれるように構成したが、文の長さや意味のつながりを考慮して、複数の発話文を1つの発話データに含めるようにしてもよい。
また、本実施形態では、発話データ110は、各区切りK1〜K3に対応するデータをそれぞれ独立した項目として分割する構成したが、各区切りK1〜K3の境界に、例えば、スペース(空白文字)「 」、コンマ「,」、コロン「:」、セミコロン「;」などを分離記号として発話文中に挿入することで分割位置を示すようにしてもよい。
さらにまた、区切りを予め定めずに、発話時に発話文100を適宜に構成し、構成した発話文100を形態素解析して自動的に区切りK1〜K3に分割するようにしてもよい。
図8に戻って、記憶部30に記憶された各種の情報について説明を続ける。
記憶部30に備えられた内部状態記憶手段37は、ロボットR(図6参照)の内部状態を示す情報として、発話状態に関する情報である中断位置情報および再開位置情報を含んで記憶している。
ここで、中断位置情報および再開位置情報の具体例について図13を参照(適宜図12参照)して説明する。
図13(a)に示すように、中断位置情報120は、項目として、中断した発話データを識別するための発話文IDと、発話文100において発話が中断された位置を示す中断位置とを有する。中断位置は、発話文100を構成する区切り単位で識別される。このため、中断が発生した区切りK1〜K3に対応する区切り番号が設定される。例えば、図13(a)に示した例では、区切り番号=「2」に対応する区切りK2の途中または区切り末で発話が中断されたことを示す。
また、図13(b)に示すように、再開位置情報130は、項目として、再開する発話データを識別するための発話文IDと、発話文100において発話を再開する位置を示す再開位置とを有する。再開位置は、中断位置と同様に発話文100を構成する区切り単位で設定される。このため、再開する区切りK1〜K3に対応する区切り番号が設定される。
図8に戻って、応答行動制御手段47の構成について説明を続ける。
即時中断判定手段471は、ロボットR(図6参照)が発話中に音声入力があったときに、その発話を即時中断するかどうかを、音量や音声継続長などの入力された音声の状況に基づいて判定する手段である。
即時中断判定手段471は、状況DB記憶手段36から状況DBに格納されている外部情報である音声入力部21bから出力された音量および音声継続長と、対象検知部80で検知されたタグ識別番号と、音声認識部21cから音声認識結果が出力されたかどうかとを、例えば、数ミリ秒程度の周期で定期的に入力する。また、即時中断判定手段471は、このタグ識別番号で特定される人物を入力された音声の発話者とみなして、状況DB記憶手段36から、タグ識別番号に対応付けて平均音量DBに格納されているこの発話者の平均音量を入力する。そして、即時中断判定手段471は、入力した音量をこの平均音量で除した値が予め定められた値(例えば、1)以上の場合に、発話を即時中断すると判定し、この即時中断判定結果を発話中断処理手段473aに出力する。
これは、一定以上の音量による発話は、回答が必要である可能性が高いからである。
なお、本実施形態では、平均音量は人物が装着しているタグT(図6参照)を識別するタグ識別番号に基づいて発話者である人物を特定し、この人物を特定するタグ識別番号に対応付けて状況DBに格納されている平均音量を入力するようにしたが、これに限定されるものではない。例えば、オブジェクトデータ統合部42(図7参照)によって統合される人物を示すオブジェクトデータによって人物を特定し、この人物が発話したときの音量を、この人物を特定するオブジェクトデータに対応付けて状況DB記憶手段36にこの人物の音量の履歴として記憶しておく。そして、この人物が再度発話したときに、このオブジェクトデータに対応付けられて状況DB記憶手段36に記憶されている過去に発話したときの音量の平均を算出して平均音量を取得するようにしてもよい。
これによって、タグT(図6参照)を装着していない人物であっても、2回目以降の発話では、平均音量を参照することができる。
また、ロボットR(図6参照)の近傍に複数の人物がいて、各人物のタグ識別番号の認識が困難な場合でも、音源定位部21d(図6参照)から出力される音源定位情報に基づいて、発話を行った人物のオブジェクトデータを特定することができる。そして、特定したオブジェクトデータに対応付けてこの発話の音量を状況DB記憶手段36にこの人物の音量の履歴として記憶しておくことにより、一度発話を行った人物に対しては、タグ識別番号を特定できなくとも、2度目以降の発話の際にはこの人物の平均音量を参照することができる。
また、即時中断判定手段471は、音量と平均音量の比が前記した予め定められた値より小さい場合であっても、音声入力部21bから入力した音声継続長が予め定められた値以上の場合には、即時中断すると判定する。この予め定められ音声継続長としては、回答が不要な相槌などの発話における音声継続長の分布を考慮して、経験的に、例えば1.5秒程度とすることができる。音声継続長を考慮して即時中断の判定をするのは、小さな音量による発話であっても、音声継続長が長い場合は回答が必要である可能性が高いからである。
なお、本実施形態では、音量と平均音量との比および音声継続長に基づいて即時中断の判定を行うようにしたが、これに限定されるものではなく、何れか一方のみに基づいて判定してもよい。また、音量と平均音量との比ではなく、単にそのときの音量に基づいて判定してもよい。
回答要否判定手段472は、音声認識部21cから音声認識結果が出力されたときに、この音声認識結果に基づいて、入力された音声に対して回答する必要があるかどうかを判定する手段である。
回答要否判定手段472は、状況DB記憶手段36に記憶されている状況DBを定期的に参照し、音声認識部21cから音声認識結果が出力されたかどうかを監視する。回答要否判定手段472は、音声認識部21cから音声認識結果が出力されたことを検知すると、状況DB記憶手段36から、状況DBに格納されている音声認識結果である単語、単語信頼度、音量および発話長と、対象検知部80が検知した対話対象である人物を特定するタグ識別番号とを入力する。また、回答要否判定手段472は、状況DB記憶手段36から、このタグ識別番号に対応付けられて平均音量DBに格納されている平均音量を入力する。回答要否判定手段472は、音声認識結果を含むこれらの情報に基づいて、入力された音声に対して回答が必要かどうかを判定し、判定した結果である回答要否判定結果を再開位置決定手段473bおよび応答行動選択手段473cに出力する。
なお、回答要否判定手段472の詳細な構成については後記する。
応答行動決定手段473は、発話中断処理手段473aと再開位置決定手段473bと応答行動選択手段473cとを備えて構成されている。応答行動決定手段473は、これらの構成手段によって、即時中断判定手段471から入力した即時中断判定結果と、回答要否判定手段472から入力した回答要否判定結果と、応答状況記憶手段35に記憶されている各種の情報とに基づいて、ロボットR(図6参照)の発話の中断、入力された音声に対する応答、および中断した発話の再開という応答行動の内容を決定して実行する手段である。
発話中断処理手段473aは、即時中断判定手段471から入力した即時中断判定結果に基づいて、発話の中断処理を行う手段である。また、発話中断処理手段473aは、ロボットR(図6参照)が発話中に、音声認識部21cから音声認識結果が出力された場合にも即時中断を行う。
発話中断処理手段473aは、即時中断判定結果が「即時中断する」との判定結果の場合は、発話を即時に中断させることを示す中断コマンドである即時中断コマンドを行動コマンド実行管理手段474に出力して発話の中断を即時に実行させる。
一方、即時中断判定結果が「即時中断しない」との判定結果の場合は、発話中断処理手段473aは、音声が入力されたときに発話中の区切りK1〜K3(図12参照)の発話が完了したところ(区切り末)で発話を中断させることを示す中断コマンドである区切り末中断コマンドを行動コマンド実行管理手段474に出力して、区切り末での発話の中断を実行させる。
なお、中断すべき発話が音声出力以外の身振りなどの動作を伴うときには、発話とともに動作も中断させる。また、以下の説明において発話を中断させるときも、同様に発話の中断とともに動作も中断させるものとする。
また、発話中断処理手段473aは、状況DB記憶手段36に記憶されている状況DBを監視することで、即時中断判定結果に従って区切り末での発話中断が予定されている場合であっても、音声認識部21cから音声認識結果が出力されたことを検知すると、即時中断コマンドを行動コマンド実行管理手段474に出力して発話の中断を実行させる。
これによって、ロボットR(図6参照)は、音声認識結果に基づいて迅速かつ適切に応答することができる。
なお、発話中断処理手段473aは、音声認識結果の出力を検知した場合に、その音声認識結果が相槌などの予め定められた回答不要語に該当するかどうかを判定し、回答不要語の場合は即時中断せず、回答不要語でない場合は即時中断を実行させるようにしてもよい。
また、本実施形態では、発話中断処理手段473aは、即時中断判定結果が「即時中断しない」であった場合は、発話中の区切り末で発話を中断させることとしたが、これに限定されるものではない。例えば、即時中断判定手段471によって、即時中断判定結果を「即時中断する」か「即時中断しない」かの2段階ではなく、音量や音声継続長などに応じて、順次に「即時中断する」「区切り末で中断する」「文末で中断する」「中断しない」のように多段階に判定するようにし、この判定結果に従って発話を中断させるようにしてもよい。また、中断を判定するときの状況を示すその他の外部情報に基づいて、発話データにおける、より適切な位置での発話を中断させるようにしてもよい。
再開位置決定手段473bは、回答要否判定手段472から入力した回答要否判定結果と、行動コマンド実行管理手段474によって作成され内部状態記憶手段37に記憶されている中断位置情報120(図13参照)とに基づいて、中断させた発話を再開させるときに、中断した発話文100におけるどの区切りK1〜K3(図12参照)から発話を再開させるかを決定する手段である。
回答要否判定結果が「回答必要」の場合には、入力された音声に対する回答を行った後に発話が再開されるため、中断からの時間経過が比較的長くなる。このため、再開位置決定手段473bは、発話が中断された発話文100の先頭の区切りK1を示す区切り番号=「1」を再開位置として再開位置情報130(図13参照)を作成する。再開位置決定手段473bは、作成した再開位置情報130(図13参照)を、行動コマンド実行管理手段474を介して内部状態記憶手段37に記憶する。これによって、比較的長い時間の経過後であっても、対話対象である人物に元の発話内容を容易に思い出させることができ、円滑に元の発話内容に復帰させることができる。
一方、回答要否判定結果が「回答不要」の場合には、入力された音声に対する回答を行わず、音声の入力は検知したが回答しないことを示す所定の応答行動(首を傾げながら、「ん?」と発話する)を行った後に発話が再開されるため、中断からの時間経過が比較的短くなる。このため、再開位置決定手段473bは、内部状態記憶手段37に記憶されている中断位置情報120(図13参照)において、発話が中断された発話文100の区切り(図12に示した例では区切りK2)を示す区切り番号=「2」を再開位置とする再開位置情報130(図13参照)を作成する。再開位置決定手段473bは、作成した再開位置情報130(図13参照)を、行動コマンド実行管理手段474を介して内部状態記憶手段37に記憶する。これによって、比較的短い時間の経過後での発話の再開であるため、対話対象である人物に冗長な感じをさせることなく、円滑に元の発話内容に復帰させることができる。
応答行動選択手段473cは、回答要否判定結果と音声認識結果とに基づいて、入力された音声に対する応答行動の内容を選択するとともに、入力された音声に対する応答行動を実行後に、中断された元の発話を再開させる手段である。
応答行動選択手段473cは、回答要否判定手段472から回答要否判定結果を入力し、状況DB記憶手段36から状況DBに格納されている音声認識結果である単語(文字情報)を入力する。
応答行動選択手段473cは、回答要否判定結果が「回答必要」の場合には、音声認識結果である単語(文字情報)を解析して、この解析結果に応じた回答内容としての行動内容を、ルールDB記憶手段33に記憶されたシナリオの中から選択し、選択した行動内容を行動コマンド実行管理手段474に出力して実行させる。
一方、回答要否判定結果が「回答不要」の場合には、応答行動選択手段473cは、回答しないことを示す所定の行動である「首を傾げながら「ん?」と発話する」に対応する動作ID=「11」を、ルールDB記憶手段33に記憶されている動作DB1000(図10参照)から選択する。そして、応答行動選択手段473cは、選択したこの行動内容を行動コマンド実行管理手段474に出力して実行させる。
また、応答行動選択手段473cは、応答行動の終了後に再開コマンドを行動コマンド実行管理手段474に出力し、中断されている発話の再開を実行させる。
行動コマンド実行管理手段474は、応答行動決定手段473を構成する各手段から入力した中断コマンド、再開コマンドおよび行動内容に従って、音声合成部21aおよび身振り統合部44に各種コマンドを出力することで、応答行動決定手段473から指示された行動を実行する手段である。
行動コマンド実行管理手段474は、発話中断処理手段473aから即時中断コマンドまたは区切り末中断コマンドを入力し、発話や動作の実行状態に応じて、音声合成部21aおよび身振り統合部44に中断コマンドを出力して発話および動作を中断させる。行動コマンド実行管理手段474は、発話を中断させたときは、中断させた発話の位置を示す中断位置情報を内部状態記憶手段37に記憶する。
また、行動コマンド実行管理手段474は、再開位置決定手段473bから再開位置情報を入力し、入力した再開位置情報を内部状態記憶手段37に記憶する。
さらに、行動コマンド実行管理手段474は、応答行動選択手段473cから応答行動の内容を示す行動内容を入力し、行動内容で指示された発話データを発話情報記憶手段34から入力する。そして、行動コマンド実行管理手段474は、発話データを音声合成部21aに出力して発話を実行させる。同時に行動内容に動作が伴う場合は、行動コマンド実行管理手段474は、動作内容を身振り統合部44に出力してこの動作を実行させる。
また、行動コマンド実行管理手段474は、音声合成部21aおよび身振り統合部44から、それぞれに出力した発話データおよび動作内容の実行の終了を通知する発話終了信号および動作終了信号を入力する。
ここで、身振り統合部44は、行動コマンド実行管理手段474から入力した動作内容に対応して、ロボットR(図6参照)の各可動部の動作を制御する自律移動制御部50に動作を指示する動作コマンドを出力し、自律移動制御部50から動作コマンドに対する動作の終了を通知する動作終了信号を入力する。そして、身振り統合部44は、自律移動制御部50から動作終了信号を入力すると、行動コマンド実行管理手段474に対して動作終了信号を出力する。
また、本実施形態では、行動コマンド実行管理手段474は、音声合成部21aおよび身振り統合部44に対して、それぞれ発話および動作の区切りごとに出力して実行させるものとする。
行動コマンド実行管理手段474は、音声合成部21aおよび身振り統合部44に対して中断コマンドを出力することによって、発話および発話に伴う動作を即時中断させることができる。また、行動コマンド実行管理手段474は、現在発話中および動作中の区切りに対しては中断コマンドを出力せず、次の区切りに対応する発話データおよび動作内容の音声合成部21aおよび身振り統合部44への出力を中止することにより、現在発話中および動作中の区切り末で発話および動作を中断させることができる。
このように、行動コマンド実行管理手段474は、発話および動作の実行および中断を区切り単位で管理することで、発話および動作の中断処理を実行した場合の中断位置を認識することができる。
なお、発話に伴う動作の区切りについては詳細な説明は省略するが、発話の区切りと同様とすることができる。本実施形態では、簡単のため、発話の区切りと動作の区切りとを同じタイミングで設定するものとして説明するが、それぞれ独立して設定するようにしてもよい。
さらに、行動コマンド実行管理手段474は、応答行動選択手段473cから再開コマンドを入力し、内部状態記憶手段37に記憶されている再開位置情報を入力し、この再開位置情報によって指示される区切りの発話データを音声合成部21aに出力し、発話を再開させる。この発話が動作を伴う場合には、同様にして、再開位置情報によって指示される区切りの動作内容を身振り統合部44に出力して、中断された動作を発話と同時に再開させる。
本実施形態では、行動コマンド実行管理手段474は、応答行動選択手段473cから入力した再開コマンドに従って、内部状態記憶手段37に記憶されている再開位置情報を入力して再開位置を認知するようにしたが、これに限定されるものではない。
例えば、再開位置決定手段473bは回答要否判定結果に基づいて、回答要否判定結果が「回答必要」の場合は「先頭」を、回答要否判定結果が「回答不要」の場合は「中断位置」を中断された発話の再開位置の条件として決定し、決定した再開位置の条件を応答行動選択手段473cに出力する。応答行動選択手段473cは、再開位置決定手段473bから入力した再開位置の条件を示す「先頭」または「中断位置」を再開コマンドに付加して行動コマンド実行管理手段474に出力するようにする。そして、行動コマンド実行管理手段474は、再開コマンドに付加された再開位置の条件が「先頭」である場合は、内部状態記憶手段37に記憶されている中断位置情報に設定されている発話文ID(図13(a)参照)の発話データの先頭の区切りから発話を再開し、再開コマンドに付加された再開位置の条件が「中断位置」である場合は、内部状態記憶手段37に記憶されている中断位置情報で設定されている発話文ID(図13(a)参照)の発話データの中断位置の区切りから発話を再開するようにすればよい。この場合は、再開位置情報の作成は不要である。
次に、図14を参照(適宜図6参照)して、回答要否判定手段472の詳細な構成について説明する。
図14に示すように、回答要否判定手段472は、音量係数算出手段472aと、発話長係数算出手段472bと、単語信頼度平均算出手段472cと、判定閾値設定手段472dと、単語信頼度判定手段472eと、回答不要語判定手段472fと、総合判定手段472gとを備えて構成されている。
音量係数算出手段472aは、音声認識結果である単語信頼度に基づく平均スコアに対する補正係数である音量係数を、音量と平均音量とに基づいて算出する手段である。
音量係数算出手段472aは、状況DB記憶手段36から、状況DBに格納されている音声認識部21cが音声認識結果の一部として出力した音量と、対象検知部80が検知したタグ識別番号とを入力する。また、音量係数算出手段472aは、入力したタグ識別番号で特定される人物を、対話対象である入力された音声の発話者とみなして、状況DB記憶手段36から、タグ識別番号に対応付られて平均音量DBに格納されているこの対話対象の平均音量を入力する。そして、この音量と平均音量とから音量係数を算出し、算出した音量係数を単語信頼度判定手段472eに出力する。
ここで、音量係数について説明する。
ロボットR(図6参照)が発話中に対話対象となる人物が発話する場合、音量が小さい場合は回答が不要な相槌や独り言などであることが多く、音量が大きい場合は回答が必要な質問や要求などであることが多い。そこで、本実施形態では、単語信頼度平均算出手段472cが算出する平均スコアに基づいて回答の要否を判定する際に、音量の大小で平均スコアを補正するための音量係数を、式(1−1)によって算出するものである。
(音量係数)=(音量)/(音量基準値) ・・・式(1−1)
式(1−1)において、音量は個人差が大きいため、本実施形態では、音量基準値として対話対象ごとに設定された平均音量を用いるようにしている。
なお、音量の単位は[dB(デシベル)]を用いることができるが、これに限定されるものではない。
また、個々の発話者において、その発話者の音量は、それほど大きく変化せず、±6[dB]程度である。このため、音量係数の算出を、式(1−1)に替えて、式(1−2)を用いて行うようにしてもよい。但し、式(1−2)において、音量基準値はその発話者の平均音量を用い、音量の単位は[dB]である。
(音量係数)={6−((音量基準値)−(音量))}/6 ・・・式(1−2)
式(1−2)によれば、入力された音声の音量が音量基準値である平均音量に等しいとき、音量係数は「1.0」となる。一方、音量が実質的な下限である(平均音量−6)[dB]のとき、音量係数は「0.0」となる。他方、音量が実質的な上限である(平均音量+6)[dB]のとき、音量係数は「2.0」となる。このように、式(1−2)を用いることによって、音量の変化に対応して敏感に、かつ適切な範囲の音量係数を算出することができる。
なお、前記した音量係数の算出において、「音量」として用いる値は、音声認識の対象となった一連の音声区間における音量の最大値や平均値を用いることができる。
発話長係数算出手段472bは、音声認識結果である単語信頼度に基づく平均スコアに対する補正係数である発話長係数を、発話長に基づいて算出する手段である。
発話長係数算出手段472bは、状況DB記憶手段36から、状況DBに格納されている音声認識部21cが出力した音声認識の対象となった一連の音声の継続時間である発話長を入力する。そして、発話長係数算出手段472bは、この発話長と予め定められた基準発話長とから発話長係数を算出し、算出した発話長係数を単語信頼度判定手段472eに出力する。
ここで、発話長係数について説明する。
ロボットR(図6参照)が発話中に対話対象となる人物が発話する場合、発話長が短い場合は回答が不要な相槌や独り言などであることが多く、発話長が長い場合は回答が必要な質問や要求などであることが多い。そこで、本実施形態では、前記した音量係数とともに、単語信頼度平均算出手段472cが算出する平均スコアに基づいて回答の要否を判定する際に、発話長の長短で平均スコアを補正するための発話長係数を、式(2)によって算出するものである。
(発話長係数)=(発話長)/(基準発話長) ・・・式(2)
なお、式(2)において、基準発話長は、相槌などの回答が不要な発話の発話長の分布に基づいて、経験的に1.5秒程度とすることができる。
単語信頼度平均算出手段472cは、音声認識結果である一連の入力された音声に含まれるすべての単語の単語信頼度の平均である平均スコアを算出する手段である。
単語信頼度平均算出手段472cは、状況DB記憶手段36から、状況DBに格納されている音声認識部21cが音声認識結果として出力した一連の音声に含まれるすべての単語についての単語信頼度を入力し、これらの単語ごとに算出された単語信頼度の平均である平均スコアを、式(3)によって算出する。
(平均スコア)=Σ(単語信頼度)/(単語数) ・・・式(3)
単語信頼度平均算出手段472cは、算出した平均スコアを単語信頼度判定手段472eに出力する。
ここで、図15を参照(適宜図14参照)して、単語信頼度に基づく回答要否の判定手法について説明する。
音声認識部21cは、マイクMC,MC(図6参照)を介して入力された対話対象の一連の音声を音声認識し、この一連の音声に含まれる単語とともに、単語ごとに音声認識の信頼度示す単語信頼度を算出する。
図15は、このときの単語と単語信頼度とが出力される様子を示したものである。図15(a)は入力した音声を正しく認識した場合の一例であり、「、開発のエピソードを教えて。」を単語ごとに分割し、単語信頼度が算出されている。このときの平均スコアは0.461である。
一方、図15(b)は、入力した音声を誤って認識した場合の一例である。ここでは、入力した音声である「へー、そうなの。」の中に、音声認識のための単語モデルとして登録されていない未知語が含まれるため、登録された単語モデルの中から最も確からしい単語が選択されて、「ふーん」「。」「拾う」「の」「。」と5つの単語に分割され、単語ごとに単語信頼度が算出されている。このときの平均スコアは0.180である。
このように、誤って音声認識されたときには、個々の単語の単語信頼度には高いものが含まれることもあるが、平均スコアは比較的低くなる。逆に、正しく音声認識できたときには、個々の単語の中には低い単語信頼度のものも含まれるが、平均スコアは比較的高くなる。そのため、平均スコアを用いることで、より精度よく音声認識の成否を判定することができる。
ロボットR(図6参照)が発話中になされる対話対象である人物の発話は、相槌や独り言のような回答を必要としない発話の場合は、発音や意味が不明瞭であることが多いため、音声認識の信頼度が低くなりがちである。逆に、質問や要求のように回答を必要とする発話の場合には、発音や意味が明瞭で音声認識の信頼度が高いことが多い。
そこで、本実施形態では、平均スコアの大きさに基づいて回答の要否を判定するものである。
図14に戻って、回答要否判定手段472の説明を続ける。
判定閾値設定手段472dは、単語信頼度判定手段472eにおいて、平均スコア、音量係数および発話長係数に基づく回答の要否判定を行うための判定閾値を設定する手段である。判定閾値設定手段472dは、予め定められた判定閾値を単語信頼度判定手段472eに出力する。
ここで、図16を参照(適宜図14参照)して、単語信頼度に基づく回答要否の判定のための判定閾値を定める手法について説明する。
判定閾値を定めるために、まず、回答が必要な発話と回答が不要な発話とについて、予め回答の要否を正しく定めた正解付きの教示データ(音声データ)を準備する。そして、それぞれの教示データについての発話を音声認識して単語信頼度の平均である平均スコアを算出する。
図16は、前記した教示データを用いて実験した結果を概念的に示したものである。図16において、回答が必要な場合の平均スコアの分布D1を破線で示し、回答が不要な場合の平均スコアの分布D2を実線で示している。ここで、分布D1と分布D2とが交わる位置における平均スコアを判定閾値として用いる。これによって、要否何れかの方に誤判定が偏ることなく、精度よく要否判定を行うことができる。
なお、教示データは、性別や年齢など発話する人物の属性、発話内容(語彙)、音量、発話長(発話のスピード)などが異なる種々のデータからなる。
また、平均スコアに基づいて回答要否を判定する際に、平均スコアに前記した音量係数や発話長係数を乗じた評価値に基づいて回答要否を判定する場合には、判定閾値を定めるための実験データとして、前記した平均スコアに替えて、平均スコアに音量係数や発話長係数を乗じた評価値を用いるようにすればよい。これによって、音量係数や発話長係数を用いる場合の判定閾値を適切に定めることができる。
図14に戻って、回答要否判定手段472の説明を続ける。
単語信頼度判定手段472eは、単語信頼度を利用して回答要否の判定を行う手段である。
単語信頼度判定手段472eは、音量係数算出手段472aから入力した音量係数と、発話長係数算出手段472bから入力した発話長係数と、単語信頼度平均算出手段472cから入力した平均スコアと、判定閾値設定手段472dから入力した判定閾値とに基づいて回答要否の判定を行い、単語信頼度を利用した判定結果である単語信頼度判定結果を総合判定手段472gに出力する。
本実施形態では、単語信頼度判定手段472eは、単語信頼度を利用した回答要否の判定において、単語信頼度の平均である平均スコアを音量係数と発話長係数とによって補正した評価値を、式(4)によって算出して用いる。
(評価値)=(平均スコア)×(音量係数)×(発話長係数) ・・・式(4)
そして、単語信頼度判定手段472eは、式(4)で算出された評価値が、判定閾値以上の場合は回答が必要と判定し、判定閾値未満の場合は「回答不要」と判定する。
なお、本実施形態では、評価値として平均スコアに音量係数と発話長係数とを乗じて算出して用いるようにしたが、これに限定されるものではなく、平均スコアをそのまま用いてもよく、音量係数のみ、または発話長係数のみを乗じて算出して用いるようにしてもよい。この場合、評価値の算出方法に応じた判定閾値を判定閾値設定手段472dに設定するようにすればよい。
また、本実施形態では、単語信頼度の平均スコアに基づいて、回答要否の判定を行うようにしたが、これに限定されるものではなく、音声認識の結果の信頼度を示す他の評価値(スコア)に基づいて回答要否の判定を行うようにしてもよい。
回答不要語判定手段472fは、音声認識された単語が回答不要語に該当するかどうかで回答要否を判定する手段である。
回答不要語判定手段472fは、状況DB記憶手段36から、状況DBに格納されている音声認識部21cが出力した単語を入力し、入力した単語が予め定められた回答不要語に該当するかどうかを記憶部30(図6参照)に記憶されている回答不要語DB(不図示)を検索して判定する。回答不要語判定手段472fは、判定した結果である回答不要語判定結果を総合判定手段472gに出力する。
回答不要語判定手段472fは、状況DB記憶手段36に記憶されている状況DBに格納されている音声認識部21cが出力したすべての単語が回答不要語に該当する場合は、「回答不要」と判定する。また、少なくとも1つの単語が回答不要語でない場合には、「回答必要」と判定する。
総合判定手段472gは、単語信頼度判定手段472eから入力した単語信頼度判定結果と、回答不要語判定手段472fから入力した回答不要語判定結果とに基づいて、最終的な回答要否を判定し、その判定結果を回答要否判定結果として再開位置決定手段473b(図8参照)および応答行動選択手段473c(図8参照)に出力する。
ここで、総合判定手段472gは、単語信頼度判定結果が「回答不要」の場合には、質問や要求が不明確であり回答不能である場合に該当するため、回答不要語判定結果に関わらず、「回答不要」と最終判定する。また、総合判定手段472gは、単語信頼度判定結果が「回答必要」の場合であっても、回答不要語判定結果が「回答不要」の場合は、発話は明確であるが、回答不要の場合に該当するため、「回答不要」と最終判定する。そして、総合判定手段472gは、単語信頼度判定結果が「回答必要」の場合で、かつ回答不要語判定結果が「回答必要」の場合は、「回答必要」と最終判定する。
なお、本実施形態では、外部情報取得手段として音声入力部21bおよび音声認識部21cを用いて、これらの外部情報取得手段によって取得される音声に関する外部情報に基づいて発話の中断を行うようにしたが、これに限定されるものではない。例えば、外部情報取得手段として画像処理部10によって取得される外部情報に基づき、停電や目隠しなどのいたずらをされた場合を想定し、画像が真っ暗になった場合(画像異常)に即時中断するように判定するようにしてもよく、対象検知部80や周辺状態検知部90によって取得されるタグ識別番号や場所の情報に基づいて、特定の人物が近づいた場合や、特定の場所に来たときを条件として発話の中断を判定するようにしてもよい。また、これらの外部情報と音声に関する外部情報とを組み合わせて総合的に判定するようにしてもよい。
また、対話履歴や対話対象である人物の位置などを条件として、発話の中断を判定するようにしてもよい。
そして、これらの外部情報に基づく状況の発生に対して発話を中断した後、中断の原因となった状況に応答し、この応答に要した時間に応じて中断した元の発話の再開位置を決定するようにしてもよい。
さらにまた、中断の原因となった状況に対する応答に要した時間に替えて、またはこれに加えて、前記した種々の外部情報を参照して発話を再開するときの再開位置の決定をするようにしてもよい。
また、本実施形態では、応答行動制御手段47は、外部情報を状況DB記憶手段36に記憶された状況DBを介して入力するようにしたが、これに限定されるものではなく、外部情報を外部情報取得手段から直接入力するようにしてもよい。
[ロボットの動作]
次に、図6に示したロボットRの動作について、主として応答行動制御手段47の動作を中心に図17を参照(適宜図6から図8参照)して説明する。
応答行動制御手段47は、ロボットRが音声合成部21aを介してスピーカSから発話(音声出力)を実行する場合において、外部情報として、マイクMC,MCを介して音声入力部21bに音声の入力(人物の音声の入力)があったときに、この入力された音声に対して、発話の中断、音声への回答、発話の再開などの応答行動を行う必要があるときに行動パターン部43によって予め起動される。応答行動制御手段47は、稼働中は、例えば数ミリ秒程度の周期で、図17に示す処理を繰り返し実行するものである。
また、状況DB記憶手段36に記憶されている状況DBに格納される音声分析結果や音声認識結果などの外部情報は、音声入力部21bや音声認識部21cなどの外部情報取得手段によって時々刻々に変化する。応答行動制御手段47は、時々刻々に変化する状況DBに格納された外部情報を、前記したように周期的に参照して、適宜に外部情報に応じた応答行動を実行するものである。
図17に示すように、まず、応答行動制御手段47は、発話中断処理手段473aによって、状況DB記憶手段36に記憶されている状況DBを参照して、音声認識結果が音声認識部21cから出力されたかどうかを確認する(ステップS10)。
音声認識結果が出力されている場合は(ステップS10でYes)、応答行動制御手段47は、行動コマンド実行管理手段474によってロボットRが発話中かどうかを確認する(ステップS21)。ロボット発話中の場合は(ステップS21でYes)、応答行動制御手段47は、発話中断処理手段473aから行動コマンド実行管理手段474に即時の発話中断を指示するコマンドである即時中断コマンドを出力させる。即時中断コマンドを入力した行動コマンド実行管理手段474は、音声合成部21aおよび身振り統合部44に速やかに中断コマンドを出力する(ステップS22)。これによって、ロボットRによる発話および発話に伴う身振りなどの動作が即時中断される。
そして、応答行動制御手段47は、行動コマンド実行管理手段474によって、発話の中断位置を示す中断位置情報を作成して内部状態記憶手段37に記憶する(ステップS23)。
一方、ロボットRが発話中でない場合は(ステップS21でNo)、音声認識部21cから音声認識結果が出力される前に、既に発話が中断された状態が該当するため、応答行動制御手段47は、行動コマンド実行管理手段474によって、中断位置を示す中断位置情報を作成して内部状態記憶手段37に記憶する(ステップS23)。
なお、ステップS23において、発話データの区切りの途中で即時中断された場合は、その区切りを中断位置とし、発話データの区切り末で中断された場合は、区切り末まで発話されたこの区切りを中断位置として示す中断位置情報が作成される。
ステップS23で中断位置情報を内部状態記憶手段37に記憶すると、応答行動制御手段47は、回答要否判定手段472および応答行動選択手段473cによって、状況DB記憶手段36に記憶から、状況DBに格納されているステップS10で確認された音声認識結果である単語、単語信頼度、発話長および音量に基づいて、音声認識結果に応じた応答の行動内容を選択する(ステップS24)。
ステップS24の処理を詳細に説明すると、応答行動制御手段47は、まず、回答要否判定手段472によって、音声認識結果に基づいて回答要否判定を行い、回答要否判定結果を応答行動選択手段473cに出力する。そして応答行動制御手段47は、応答行動選択手段473cによって、回答要否判定手段472から入力した回答要否判定結果と前記した音声認識結果である単語(文字情報)とに基づいて、音声認識の対象となった入力された音声に対する応答の行動内容を選択する。
ここで、回答要否判定結果が「回答不要」の場合は、応答行動制御手段47は、応答行動選択手段473cによって、ルールDB記憶手段33に記憶されている動作DBを検索し、予め定められた応答行動である「首を傾げながら、「ん?」と発話する」という短い発話による応答の行動内容を選択する。
一方、回答要否判定結果が「回答必要」の場合は、応答行動制御手段47は、応答行動選択手段473cによって、音声認識結果である単語(文字情報)を解析し、質問内容を理解する。そして、理解した質問内容に対して適切な回答のシナリオを、ルールDB記憶手段33を検索して選択する。そして、この選択したシナリオの行動内容に従って、入力された音声に対して回答するという応答の行動内容を選択する。
例えば、音声認識された質問内容が「燃費は?」であったとすると、応答行動制御手段47は、応答行動選択手段473cによって、燃費に関する説明のためのシナリオを行動内容としてルールDB記憶手段33から選択する。また、回答が予め定められた所定の時間よりも長く要する場合には、シナリオの最後に、例えば、「元の説明に戻ります。」のように、中断された発話に戻ることを示す発話を行うようにするのが望ましい。これによって、対話対象である人物にストレスを与えることなく、円滑に元の発話を再開させることができる。
ステップS24で音声認識結果に応じた応答の行動内容を選択すると、応答行動制御手段47は、応答行動選択手段473cによって、ステップS24で選択した応答の行動内容を行動コマンド実行管理手段474に出力し、この行動内容を実行させる(ステップS15)。
なお、ステップS24において回答不要の入力された音声に対する応答の行動内容を選択した場合は、首を傾げながら、「ん?」と発話後に、対話対象からの再度の音声の入力がないか確認するために、例えば、1.5秒程度待機することが望ましい。そして、待機中に対話対象からの再度の音声の入力がない場合は、ステップS13において、中断された元の発話を再開する行動が選択されることになる。これによって、応答行動制御手段47は、対話対象からの再度の音声の入力があった場合に、対話対象である人物にストレスを与えることなく、この新たに入力された音声に対する応答行動を行うことができる。
次に、ステップS10において、音声認識結果が出力されていない場合(ステップS10でNo)、応答行動制御手段47は、即時中断判定手段471によって、状況DB記憶手段36に記憶されている状況DBを参照して、音声入力部21bが出力した音声分析結果である音声の存在を示す情報を確認する(ステップS11)。
人物の音声が存在する場合は(ステップS11でYes)、応答行動制御手段47は、行動コマンド実行管理手段474によって、ロボットRが発話中かどうかを確認する(ステップS16)。
ロボットRが発話中の場合は(ステップS16でYes)、応答行動制御手段47は、即時中断判定手段471によって、状況DB記憶手段36に記憶されている状況DBを参照し、音声入力部21bが出力した音声分析結果である音量および音声継続長、ならびに対象検知部80が出力したタグ識別番号を入力する。続いて、応答行動制御手段47は、即時中断判定手段471によって、状況DB記憶手段36に記憶された平均音量DBを参照して、このタグ識別番号に対応付けられた平均音量を入力する。そして、応答行動制御手段47は、即時中断判定手段471によって、音量と平均音量との比および音声継続長の値の少なくとも一方が、それぞれ予め定められた所定の値より大きい場合には「即時中断する」と判定し(ステップS17でYes)、それ以外の場合は「即時中断しない」と判定する(ステップS17でNo)。
即時中断すると判定した場合は(ステップS17でYes)、応答行動制御手段47は、即時中断判定手段471から「即時中断する」という即時中断判定結果を発話中断処理手段473aに出力することで、発話を即時中断するという行動を選択する(ステップS18)。
ステップS18で即時中断する行動を選択すると、応答行動制御手段47は、選択した行動である発話の即時中断を実行するために、発話中断処理手段473aによって、即時に発話の中断を指示する即時中断コマンドを行動コマンド実行管理手段474に出力し、さらに行動コマンド実行管理手段474によって中断コマンドを音声合成部21aおよび身振り統合部44に出力する。これによって、発話および発話に伴う動作が即時中断される(ステップS15)。
一方、即時中断しないと判定した場合は(ステップS17でNo)、応答行動制御手段47は、即時中断判定手段471から「即時中断しない」という即時中断判定結果を発話中断処理手段473aに出力することで、発話を即時中断せず、区切り末で発話を中断するという行動を選択する(ステップS19)。
ステップS19で区切り末で発話を中断する行動を選択すると、応答行動制御手段47は、選択した行動である発話の区切り末での発話の中断を実行するために、発話中断処理手段473aによって、区切り末での発話の中断を指示する区切り末中断コマンドを行動コマンド実行管理手段474に出力する。このとき、応答行動制御手段47は、行動コマンド実行管理手段474によって音声合成部21aおよび身振り統合部44には中断コマンドは出力せず、かつ次の区切りの発話データおよび動作内容の音声合成部21aおよび身振り統合部44への出力を中止する。これによって、現在発話中の区切りの発話および発話に伴う動作が終了した時点で発話および発話に伴う動作が中断される(ステップS15)。
また、ステップS16において、ロボットRが発話中でない場合(ステップS16でNo)、応答行動制御手段47は、音声認識結果が入力されるまで待機するという行動を選択する(ステップS20)。
応答行動制御手段47は、選択した行動の実行である待機をする(ステップS15)。なお、待機とは、次の区切りの発話データが残っている場合でも、行動コマンド実行管理手段474によって次の区切りの発話データおよび動作内容の出力をせず、積極的には処理を実行しないことを意味する。
次に、ステップS11において、音声データに人物の音声が存在しない場合は(ステップS11でNo)、応答行動制御手段47は、行動コマンド実行管理手段474によって、ロボットRが発話中かどうかを確認する(ステップS12)。
ロボットRが発話中の場合は(ステップS12Yes)、応答行動制御手段47は、その発話を継続するという行動を選択する(ステップS14)。
応答行動制御手段47は、選択した行動である発話の継続を実行する(ステップS15)。なお、発話の継続とは、行動コマンド実行管理手段474による中断コマンドの出力をせず、積極的には処理を実行しないことを意味する。
一方、ロボットRが発話中でない場合は(ステップS12でNo)、応答行動制御手段47は、対話状態に応じた次の行動を選択する(ステップS13)。対話状態に応じた次の行動とは、例えば、現在のシナリオに基づく発話の継続や、中断された発話の再開である。このステップS13の詳細については後記する。
そして、応答行動制御手段47は、対話状態に応じて選択した次の行動を実行する(ステップS15)。
次に、図18を参照(適宜図6から図8および図17参照)して、図17に示したフロー図におけるステップS13である「対話状況に応じた次の行動を選択」する処理の詳細について説明する。
図18に示すように、この処理では、まず、応答行動制御手段47は、行動コマンド実行管理手段474によって、ロボットRの発話が中断された状態かどうかを確認する(ステップS30)。
ここで、ロボットRの発話が中断された状態である場合は(ステップS30でYes)、発話の中断の原因となった入力された音声に対する応答行動としての発話が終了した直後の状態が該当する。この場合は、応答行動制御手段47は、応答行動選択手段473cによって、直前に実行した中断の原因となった入力された音声に対する応答行動における発話が、短い発話かどうかを確認する(ステップS34)。ここで、短い発話とは、回答不要な入力された音声に対する応答行動(例えば、「首を傾げて、「ん?」と発話する」)における発話が該当する。
直前の発話が短い発話である場合は(ステップS34でYes)、応答行動制御手段47は、再開位置決定手段473bによって、回答要否判定結果と内部状態記憶手段37に記憶されている中断位置情報とに基づいて、再開位置を決定し、この再開位置を示す再開位置情報を行動コマンド実行管理手段474を介して内部状態記憶手段37に記憶する(ステップS36)。
ここで、回答要否判定結果は「回答不要」であるから、再開位置決定手段473bは、再開位置として、中断された元の発話データにおいて、発話が中断された区切りから発話を再開するように再開位置情報を作成する。
そして、応答行動制御手段47は、再開位置決定手段473bから行動コマンド実行管理手段474に対して再開コマンドを出力させることで、中断された元の発話が再開される(ステップS15、図17参照)。ここで、応答行動制御手段47は、再開コマンドを入力した行動コマンド実行管理手段474によって、内部状態記憶手段37に記憶されている再開位置情報に従って、発話情報記憶手段34から発話データを取得する。そして、応答行動制御手段47は、行動コマンド実行管理手段474によって、再開位置に該当する区切りの発話データを音声合成部21aに出力する。
一方、直前の発話が短い発話でない場合は(ステップS34でNo)、応答行動制御手段47は、再開位置決定手段473bによって、回答要否判定結果と内部状態記憶手段37に記憶されている中断位置情報とに基づいて、再開位置を決定し、この再開位置を示す再開位置情報を作成して行動コマンド実行管理手段474を介して内部状態記憶手段37に記憶する(ステップS35)。
ここで、回答要否判定結果は「回答必要」であるから、再開位置決定手段473bは、再開位置として、中断された元の発話データにおいて、先頭の区切りのから発話を再開するように再開位置情報を作成する。
この場合の、応答行動制御手段47の処理は、再開位置情報の内容が異なる以外は、ステップS36と同様であるから、詳細な説明は省略する。
なお、本実施形態では、ステップS34の「直前の発話が短い発話かどうか」の判定において、回答要否判定結果に応じて「短い発話である」か否かを判定するようにしたが、これに限定されるものではなく、回答の要否に関わらず、実際に応答行動に要した時間を計測して判定するようにしてもよい。例えば、回答としての発話が「はい」「いいえ」のように、予め定められた所定の時間より短い場合は、「短い発話である」と判定するようにしてもよい。
また、本実施形態では、入力された音声に対する応答行動において発話をする場合がある。そして、この応答行動としての発話中に新たに音声の入力があった場合には、2重またはそれ以上の多重の発話の中断状態が発生する。このような多重の発話の中断状態から発話を再開する場合は、最初に中断された発話を再開するものとする。
次に、ロボットRの発話が中断された状態でない場合は(ステップS30でNo)、応答行動制御手段47は、行動コマンド実行管理手段474によって、現在実行中のシナリオにおける発話の残りがあるかどうかを確認する(ステップS31)。
発話の残りがある場合は(ステップS31でYes)、応答行動制御手段47は、行動コマンド実行管理手段474によって、次の区切りの発話データおよび発話に伴う動作内容を選択し(ステップS33)、音声合成部21aおよび身振り統合部44に出力して、この区切りの発話および動作を実行させる(ステップS15、図17参照)。
一方、発話の残りがない場合は(ステップS31でNo)、行動パターン部43は、これまでの対話状態や外部状況や行動のスケジュールなどに応じて、新たな次の行動(タスク)を選択する(ステップS32)。このとき、応答行動制御手段47は、新たな次の行動による発話が開始されるまでは、実質的に待機することになる。
以上、本発明の実施形態について説明したが、本発明は前記した実施形態に限定されるものではない。
本実施形態では、音声対話装置を、2足歩行可能な自律移動型のコミュニケーションロボットとして説明したが、これに限定されず、車輪で移動する自律移動型ロボットへの応用も可能である。また、脚部などの移動手段を有さない据え置き型や携帯型の音声対話装置としてもよく、カーナビゲーション装置のように、自動車などの移動体に搭載可能な音声対話装置としてもよい。さらに、頭部や腕部のような可動部を有さない音声対話装置としてもよい。そして可動部の替わりに画像表示手段を備えている場合には、例えば、首を傾げる動作に替えて、首を傾げる動作を行う人物の映像を画像表示手段に表示するようにしてもよく、単に「?」マークを画像表示手段に大きく表示するようにしてもよい。
A ロボットシステム
R ロボット(コミュニケーションロボット)(音声対話装置)
R1 頭部
R2 腕部
R3 脚部
R4 胴体部
R5 背面格納部
1 基地局
2 ロボット専用ネットワーク
3 管理用コンピュータ
3a 記憶部
4 ネットワーク
5 端末
10 画像処理部(外部情報取得手段)
20 音声処理部
21a 音声合成部(音声出力部)
21b 音声入力部(外部情報取得手段)
21c 音声認識部(外部情報取得手段)
21d 音源定位部(外部情報取得手段)
30 記憶部
31 オブジェクトデータ記憶手段
32 ローカル地図データ記憶手段
33 ルールDB記憶手段
34 発話情報記憶手段
35 応答状況記憶手段
36 状況DB記憶手段
37 内部状態記憶手段
40 主制御部
41 静止障害物統合部
42 オブジェクトデータ統合部
43 行動パターン部
44 身振り統合部
45 内部状態検出部
46 行動計画管理部
47 応答行動制御手段
50 自律移動制御部
60 無線通信部
70 バッテリ
80 対象検知部(外部情報取得手段)
90 周辺状態検知部(外部情報取得手段)
100 発話文
110 発話データ(発話情報)
120 中断位置情報
130 再開位置情報
471 即時中断判定手段
472 回答要否判定手段
472a 音量係数算出手段
472b 発話長係数算出手段
472c 単語信頼度平均算出手段
472d 判定閾値設定手段
472e 単語信頼度判定手段
472f 回答不要語判定手段
472g 総合判定手段
473 応答行動決定手段
473a 発話中断処理手段
473b 再開位置決定手段
473c 応答行動選択手段
474 行動コマンド実行管理手段
C カメラ
K1、K2、K3 区切り
MC マイク
S スピーカ
SR1 ジャイロセンサ
SR2 GPS受信器

Claims (10)

  1. 周囲状況としての外部情報を取得する外部情報取得手段と、
    発話情報に基づいて音声出力する音声出力部と、
    前記音声出力部による前記発話情報に基づく音声出力を中断させ、前記中断に対する応答行動を選択し、前記選択した応答行動を実行した後に前記中断させた前記発話情報に基づく音声出力を再開させる応答行動制御手段と、
    を備えた音声対話装置であって、
    前記応答行動制御手段は、
    前記外部情報取得手段が取得した外部情報に基づいて前記音声出力部による前記発話情報に基づく音声出力を中断させる音声出力中断処理手段と、
    前記外部情報に基づいて前記応答行動を選択する応答行動選択手段と、
    前記応答行動の実行状況に応じて、前記発話情報における音声出力を再開する位置である再開位置を決定する再開位置決定手段と、
    を有することを特徴とする音声対話装置。
  2. 前記外部情報取得手段は、入力された音声を分析して少なくとも音量を含む音声分析結果を前記外部情報として出力する音声入力部を少なくとも備え、
    前記音声出力中断処理手段は、少なくとも前記音声入力部が出力した前記音声分析結果に基づいて前記音声出力部による音声出力を中断させることを特徴とする請求項1に記載の音声対話装置。
  3. 前記音声出力中断処理手段は、前記外部情報に基づいて、前記音声出力部による前記発話情報に基づく音声出力を即時に中断させるか、または前記発話情報における意味のまとまりによって定められる区切りであって、前記音声出力部により音声出力中の前記区切りの末尾で前記音声出力部による音声出力を中断させるかを決定することを特徴とする請求項1または請求項2に記載の音声対話装置。
  4. 前記外部情報取得手段は、入力された音声を音声認識して少なくとも単語を含む音声認識結果を前記外部情報として出力する音声認識部をさらに備え、
    前記応答行動選択手段は、少なくとも前記音声認識結果を含む前記外部情報に基づいて応答行動の内容を選択することを特徴とする請求項1ないし請求項3の何れか一項に記載の音声対話装置。
  5. 前記応答行動制御手段は、少なくとも前記音声認識結果に基づいて、当該音声認識された入力音声に対して回答する必要があるか不要かを判定する回答要否判定手段をさらに有し、
    前記応答行動選択手段は、前記回答要否判定手段による判定結果である回答要否判定結果が回答必要の場合には、前記応答行動として前記音声認識結果に対する回答を行うことを選択し、前記回答要否判定結果が回答不要の場合には、前記応答行動として予め定められた所定の発話を含む所定の応答行動を行うことを選択することを特徴とする請求項4に記載の音声対話装置。
  6. 前記再開位置決定手段は、少なくとも前記応答行動を実行するために前記音声出力部による音声出力が中断された時間の長さである中断時間長に基づいて前記再開位置を決定することを特徴とする請求項1ないし請求項5の何れか一項に記載の音声対話装置。
  7. 前記再開位置決定手段は、前記中断時間長が、予め定められた所定の閾値を超える場合には、前記音声出力部による音声出力が中断された発話情報における先頭を前記再開位置として決定し、前記中断時間長が前記所定の閾値以下の場合には、意味のまとまりによって定められる区切りの先頭であって前記音声出力部による音声出力が中断された発話情報における中断位置の直前の前記区切りの先頭を前記再開位置として決定することを特徴とする請求項6に記載の音声対話装置。
  8. 前記再開位置決定手段は、前記回答要否判定結果が回答必要の場合には、前記音声出力部による音声出力が中断された発話情報における先頭を前記再開位置として決定し、前記回答要否判定結果が回答不要の場合には、意味のまとまりによって定められる少なくとも1つの単語を含んで構成される区切りの先頭であって前記音声出力部による音声出力が中断された発話情報における中断位置の直前の前記区切りの先頭を前記再開位置として決定することを特徴とする請求項5に記載の音声対話装置。
  9. 前記区切りは、1つまたは複数の文節によって構成されることを特徴とする請求項7または請求項8に記載の音声対話装置。
  10. 前記区切りは、係り受けによって意味のまとまりがある1つまたは複数の文節によって構成されることを特徴とする請求項9に記載の音声対話装置。
JP2010095770A 2010-04-19 2010-04-19 音声対話装置 Expired - Fee Related JP5405381B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010095770A JP5405381B2 (ja) 2010-04-19 2010-04-19 音声対話装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010095770A JP5405381B2 (ja) 2010-04-19 2010-04-19 音声対話装置

Publications (2)

Publication Number Publication Date
JP2011227236A true JP2011227236A (ja) 2011-11-10
JP5405381B2 JP5405381B2 (ja) 2014-02-05

Family

ID=45042648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010095770A Expired - Fee Related JP5405381B2 (ja) 2010-04-19 2010-04-19 音声対話装置

Country Status (1)

Country Link
JP (1) JP5405381B2 (ja)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014077969A (ja) * 2012-10-12 2014-05-01 Honda Motor Co Ltd 対話システム及び対話システム向け発話の判別方法
JP2015018344A (ja) * 2013-07-09 2015-01-29 シャープ株式会社 再生装置、再生装置の制御方法、および、制御プログラム
JP2015111253A (ja) * 2013-10-31 2015-06-18 シャープ株式会社 サーバ、発話制御方法、発話装置、発話システムおよびプログラム
JP2015152868A (ja) * 2014-02-18 2015-08-24 シャープ株式会社 情報処理装置
JP2016208491A (ja) * 2015-04-16 2016-12-08 パナソニックIpマネジメント株式会社 情報通知方法及び音声出力装置
JP2017215639A (ja) * 2016-05-30 2017-12-07 シャープ株式会社 ネットワークシステム、音声出力方法、サーバおよび電気機器
WO2019026360A1 (ja) 2017-07-31 2019-02-07 ソニー株式会社 情報処理装置および情報処理方法
KR20190071953A (ko) * 2017-12-15 2019-06-25 한국전자통신연구원 발화 정지 시점을 고려한 발화 제어 방법 및 이를 위한 장치
JP2020008635A (ja) * 2018-07-04 2020-01-16 株式会社日立製作所 音声対話システム、音声対話装置および音声対話方法
CN111226125A (zh) * 2017-10-16 2020-06-02 三菱重工制冷空调系统株式会社 位置推定装置、空调系统、位置推定方法以及程序
CN111312229A (zh) * 2018-11-26 2020-06-19 夏普株式会社 信息处理装置、信息处理方法以及记录介质
CN111312242A (zh) * 2020-02-13 2020-06-19 上海凯岸信息科技有限公司 一种不影响对话管理的意图打断智能语音机器人方案
CN111583923A (zh) * 2020-04-28 2020-08-25 北京小米松果电子有限公司 信息控制方法及装置、存储介质
WO2021071271A1 (en) * 2019-10-10 2021-04-15 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof
CN113076394A (zh) * 2021-03-25 2021-07-06 浙江天畅智链科技有限公司 一种交互机器人
CN113450788A (zh) * 2020-03-26 2021-09-28 本田技研工业株式会社 声音输出的控制方法和声音输出控制装置
WO2022060970A1 (en) * 2020-09-21 2022-03-24 Amazon Technologies, Inc. Dialog management for multiple users

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220037299A (ko) 2020-09-17 2022-03-24 삼성전자주식회사 전자 장치 및 그 제어 방법

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6240577A (ja) * 1985-08-16 1987-02-21 Toshiba Corp 音声対話装置
JPS62105198A (ja) * 1985-10-31 1987-05-15 富士通株式会社 音声出力制御方式
JPS6395532A (ja) * 1986-10-13 1988-04-26 Nippon Telegr & Teleph Corp <Ntt> 音声ガイダンス出力制御方法
JPH05323993A (ja) * 1992-03-16 1993-12-07 Toshiba Corp 音声対話システム
JP2002169750A (ja) * 2000-11-30 2002-06-14 Nec Corp ブラウザ搭載装置
JP2002278575A (ja) * 2001-03-22 2002-09-27 Sony Corp 音声出力装置および音声出力方法、並びにプログラムおよび記録媒体
JP2003302991A (ja) * 2002-04-12 2003-10-24 Brother Ind Ltd 文章読み上げ装置、文章読み上げ方法、及びプログラム
JP2004004953A (ja) * 2003-07-30 2004-01-08 Matsushita Electric Ind Co Ltd 音声合成装置および音声合成方法
JP2007206888A (ja) * 2006-01-31 2007-08-16 Toyota Central Res & Dev Lab Inc 応答生成装置、方法及びプログラム
JP2008051883A (ja) * 2006-08-22 2008-03-06 Canon Inc 音声合成制御方法および装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6240577A (ja) * 1985-08-16 1987-02-21 Toshiba Corp 音声対話装置
JPS62105198A (ja) * 1985-10-31 1987-05-15 富士通株式会社 音声出力制御方式
JPS6395532A (ja) * 1986-10-13 1988-04-26 Nippon Telegr & Teleph Corp <Ntt> 音声ガイダンス出力制御方法
JPH05323993A (ja) * 1992-03-16 1993-12-07 Toshiba Corp 音声対話システム
JP2002169750A (ja) * 2000-11-30 2002-06-14 Nec Corp ブラウザ搭載装置
JP2002278575A (ja) * 2001-03-22 2002-09-27 Sony Corp 音声出力装置および音声出力方法、並びにプログラムおよび記録媒体
JP2003302991A (ja) * 2002-04-12 2003-10-24 Brother Ind Ltd 文章読み上げ装置、文章読み上げ方法、及びプログラム
JP2004004953A (ja) * 2003-07-30 2004-01-08 Matsushita Electric Ind Co Ltd 音声合成装置および音声合成方法
JP2007206888A (ja) * 2006-01-31 2007-08-16 Toyota Central Res & Dev Lab Inc 応答生成装置、方法及びプログラム
JP2008051883A (ja) * 2006-08-22 2008-03-06 Canon Inc 音声合成制御方法および装置

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014077969A (ja) * 2012-10-12 2014-05-01 Honda Motor Co Ltd 対話システム及び対話システム向け発話の判別方法
JP2015018344A (ja) * 2013-07-09 2015-01-29 シャープ株式会社 再生装置、再生装置の制御方法、および、制御プログラム
JP2015111253A (ja) * 2013-10-31 2015-06-18 シャープ株式会社 サーバ、発話制御方法、発話装置、発話システムおよびプログラム
JP2015152868A (ja) * 2014-02-18 2015-08-24 シャープ株式会社 情報処理装置
WO2015125549A1 (ja) * 2014-02-18 2015-08-27 シャープ株式会社 情報処理装置
JP2016208491A (ja) * 2015-04-16 2016-12-08 パナソニックIpマネジメント株式会社 情報通知方法及び音声出力装置
JP2017215639A (ja) * 2016-05-30 2017-12-07 シャープ株式会社 ネットワークシステム、音声出力方法、サーバおよび電気機器
WO2019026360A1 (ja) 2017-07-31 2019-02-07 ソニー株式会社 情報処理装置および情報処理方法
JPWO2019026360A1 (ja) * 2017-07-31 2020-05-28 ソニー株式会社 情報処理装置および情報処理方法
CN111226125A (zh) * 2017-10-16 2020-06-02 三菱重工制冷空调系统株式会社 位置推定装置、空调系统、位置推定方法以及程序
CN111226125B (zh) * 2017-10-16 2023-08-22 三菱重工制冷空调系统株式会社 空调系统和空调控制方法
KR20190071953A (ko) * 2017-12-15 2019-06-25 한국전자통신연구원 발화 정지 시점을 고려한 발화 제어 방법 및 이를 위한 장치
KR102170155B1 (ko) * 2017-12-15 2020-10-28 한국전자통신연구원 발화 정지 시점을 고려한 발화 제어 방법 및 이를 위한 장치
JP2020008635A (ja) * 2018-07-04 2020-01-16 株式会社日立製作所 音声対話システム、音声対話装置および音声対話方法
JP7068077B2 (ja) 2018-07-04 2022-05-16 株式会社日立製作所 音声対話システム、音声対話装置および音声対話方法
CN111312229A (zh) * 2018-11-26 2020-06-19 夏普株式会社 信息处理装置、信息处理方法以及记录介质
WO2021071271A1 (en) * 2019-10-10 2021-04-15 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof
CN111312242A (zh) * 2020-02-13 2020-06-19 上海凯岸信息科技有限公司 一种不影响对话管理的意图打断智能语音机器人方案
CN113450788A (zh) * 2020-03-26 2021-09-28 本田技研工业株式会社 声音输出的控制方法和声音输出控制装置
CN111583923A (zh) * 2020-04-28 2020-08-25 北京小米松果电子有限公司 信息控制方法及装置、存储介质
CN111583923B (zh) * 2020-04-28 2023-11-14 北京小米松果电子有限公司 信息控制方法及装置、存储介质
WO2022060970A1 (en) * 2020-09-21 2022-03-24 Amazon Technologies, Inc. Dialog management for multiple users
US11908468B2 (en) 2020-09-21 2024-02-20 Amazon Technologies, Inc. Dialog management for multiple users
CN113076394A (zh) * 2021-03-25 2021-07-06 浙江天畅智链科技有限公司 一种交互机器人

Also Published As

Publication number Publication date
JP5405381B2 (ja) 2014-02-05

Similar Documents

Publication Publication Date Title
JP5405381B2 (ja) 音声対話装置
JP4560078B2 (ja) コミュニケーションロボット
JP5411789B2 (ja) コミュニケーションロボット
JP5366048B2 (ja) 情報提供システム
JP2008254122A (ja) ロボット
EP3463244B1 (en) Guide robot and method and system for operating the same
JP4718987B2 (ja) インターフェース装置およびそれを備えた移動ロボット
JP4276624B2 (ja) ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
CN106328132A (zh) 一种智能设备的语音交互控制方法和装置
CN109571499A (zh) 一种智能导航引领机器人及其实现方法
Chaccour et al. Computer vision guidance system for indoor navigation of visually impaired people
JP4886572B2 (ja) ロボット
JP2009248193A (ja) 接客システム及び接客方法
KR20190106921A (ko) 커뮤니케이션 로봇 및 그의 구동 방법
JP4764377B2 (ja) 移動型ロボット
Chaccour et al. Novel indoor navigation system for visually impaired and blind people
JP4178846B2 (ja) 自律駆動式支援装置およびプログラム
JP5324956B2 (ja) 道案内ロボット
JP2020182092A (ja) 警備システム及び監視表示装置
JP5866646B2 (ja) コミュニケーションシステム、発話内容生成装置、発話内容生成プログラムおよび発話内容生成方法
Goetze et al. Multimodal human-machine interaction for service robots in home-care environments
JP2019144612A (ja) 走行装置
KR20230095585A (ko) 안내 로봇 및 그것의 동작 방법
JP7308068B2 (ja) 警備システム及び監視表示装置
RU108172U1 (ru) Многомодальный подвижный автомат информационного обслуживания

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130730

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130920

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131030

R150 Certificate of patent or registration of utility model

Ref document number: 5405381

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees