説明

語彙獲得装置、マルチ対話行動システム及び語彙獲得プログラム

【課題】対話の中で新しい名前を覚える語彙獲得装置を提供する。
【解決手段】入力された音声から音素列候補を作成する音素認識部2と、音素列候補に基づいて複数の単語列を作成する単語マッチング部3と、複数の単語列から認識結果として尤度が高い単語列を選択する判別部4と、判別部4が選択した単語列に基づいて新たな単語を獲得する獲得部5と、名前を教示するときに使用する教示単語のリスト4Aと、教示単語と未知語との確率モデル4Bと、を備え、判別部4は、単語列ごとに、単語列中の単語とリスト4A中の教示単語とのあてはまり程度を表す第1評価値と、当該単語列中の単語同士の連接確率を表す第2評価値と、を算出すると共に、第1評価値と第2評価値との和が最大の単語列を選択し、さらに、獲得部5は、判別部4が選択した単語列で第1評価値の算出に関与しなかった単語を新たな単語として獲得する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は音声認識処理装置に係り、特に自然な対話の中から、新しい名前を覚えることができる語彙獲得装置、マルチ対話行動システム及び語彙獲得プログラムに関する。
【背景技術】
【0002】
近年、音声対話機能を持つロボットやアニメーションエージェントなどの研究が盛んに行われている。音声対話を行うには音声認識が必要であるが、現在の音声認識技術は、あらかじめ登録した単語やフレーズしか認識ができない。これは、実際にロボットが家庭やオフィスなどで使われるようになる際に問題となる。
【0003】
家庭やオフィスなどでは特有の言葉が用いられ、しかも、日々新しい言葉が誕生する。たとえば、ある家庭で新しい物品を購入すると、それにその家庭特有の名前をつけることがよく行われる。そのような物品を家庭内で探すタスクを言葉で指示しようとするとき、ロボットがその言葉を知らないと指示が理解できない。キーボード入力により新しい言葉を登録することが考えられるが、煩雑である。したがって,ロボットは音声コミュニケーションによって新しい名前を覚える能力を持つことが望ましい。
今までに物体の名前を覚えるシステムの研究が数多く行われてきたが、そのほとんどは、名前を覚えるというタスクに特化しており、複数の発話のセットから統計的に獲得するものである(特許文献1〜3、非特許文献1,2)
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第3529049号公報
【特許文献2】特許第3951235号公報
【特許文献3】特開2007−021719号公報
【非特許文献】
【0005】
【非特許文献1】Roy, D.: Integration of Speech and Vision Using Mutual Information, in Proc. ICASSP-2000, pp. 2369-2372 (2000)
【非特許文献2】Yu, C. and Ballard, D.: On the Integration of Grounding Language and Learning Objects, in Proc. 19th AAAI (488-494)
【非特許文献3】Nakano, M., Funakoshi, K., Hasegawa, Y., and Tsujino, H.: A Framework for Building Conversational Agents Based on a Multi-Expert Model, in Proc. 9th SIGdial Workshop, pp. 88-91 (2008)
【非特許文献4】Holzapfel, H., Neubig, D., and Waibel, A.: A dialogue approach to learning object descriptions and semantic categories, Robotics and Autonomous Systems, Vol. 56, No. 11, pp. 1004-1013 (2008)
【非特許文献5】O’Neill, I. M. and McTear, M. F.: Object-oriented modelling of spoken language dialogue systems, Natural Language Engineering, Vol. 6, No. 3&4, pp. 341-362 (2001)
【非特許文献6】Funakoshi, K., Nakano, M., Torii, T., Hasegawa, Y., Tsujino, H., Kimura, N., and Iwahashi, N.:Robust acquisition and recognition of spoken location names by domestic robots, in Proc. IROS-2007, pp. 1435-1440 (2007)
【非特許文献7】鳥井豊隆, 長谷川雄二, 中野幹生, 中臺一博, 辻野広司:人・ロボットインタラクションシステムの為のミドルウェアの開発,計測自動制御学会第7 回システムインテグレーション部門講演会(SI2006), pp. 2D2-1 (2006)
【非特許文献8】中野幹生, 船越孝太郎, 長谷川雄二, 辻野広司:オブジェクト指向に基づくロボット・エージェントのマルチドメイン対話行動制御モジュール構築ツールRIME-TK, 人工知能学会研究会資料SIG-SLUD-54 (2008)
【非特許文献9】Kawahara, T., Lee, A., Takeda, K., Itou, K., and Shikano, K.: Recent progress of open-source LVCSR engine Julius and Japanese model repository, in Proc. Interspeech- 2004 (ICSLP), pp. 3069-3072 (2004)
【非特許文献10】山本博史, 小窪浩明, 菊井玄一郎, 小川良彦, 匂坂芳典:複数のマルコフモデルを用いた階層化言語モデルによる未登録語認識, 電子情報通信学会論文誌D-II, Vol. J87-D-2, No. 12, pp.2104-2111 (2004)
【非特許文献11】田口亮, 岩橋直人, 能勢隆, 船越孝太郎, 中野幹生:モデル選択による言語獲得手法とその評価, 第23 回人工知能学会全国大会講演論文集(2009)
【非特許文献12】Sakoe, H.: Two-level DP-matching-A dynamic programming-based pattern matching algorithm for connected word recognition, IEEE Trans. on Acoustics, Speech and Signal Processing, Vol. 27, No. 6, pp. 588-595 (1979)
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、実際の家庭用ロボットの使用を考えると、自然な対話の中で名前を教示する発話を検出し、例えばその発話の中にある物体の名前を抽出して物体と結びつけて覚える必要がある。
【0007】
本発明は以上の点に鑑みて創作されたもので、対話の中で新しい名前を覚える語彙獲得装置、マルチ対話行動システム及び語彙獲得プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明の語彙獲得装置は、入力された音声から音素列候補を作成する音素認識部と、音素列候補に基づいて複数の単語列を作成する単語マッチング部と、複数の単語列から認識結果として尤度が高い単語列を選択する判別部と、判別部が選択した単語列に基づいて新たな単語を獲得する獲得部と、名前を教示するときに使用する教示単語のリストと、教示単語と未知語との確率モデルと、を備え、判別部は、上記単語列ごとに、単語列中の単語と上記リスト中の教示単語とのあてはまり程度を表す第1評価値と、当該単語列中の単語同士の連接確率を表す第2評価値と、を算出すると共に、第1評価値と第2評価値との和が最大の単語列を選択し、さらに、獲得部は、判別部が選択した単語列で第1評価値の算出に関与しなかった単語を新たな単語として獲得することを特徴としている。
【0009】
本発明の語彙獲得装置は、好ましくは、入力された音声の認識を行う音声認識部と、音声認識部によって音声認識された発話の内容を理解する音声理解部と、を備え、音声理解部によって発話内容が名前の教示であると認識された場合に語彙の獲得処理を行う。
【0010】
本発明の語彙獲得装置は、好ましくは、ユーザが発話した音声から教示フレーズに該当する音声を切り出す教示フレーズ抽出部をさらに備え、音素認識部が、上記教示フレーズ抽出部からの音声に基づいて前記音素列候補を作成する。
【0011】
上記目的を達成するために、本発明のマルチ対話行動システムは、入力された音声の認識を行う音声認識部と、音声認識部によって音声認識された発話の内容を理解する音声理解部と、音声理解結果に基づいて各種の対話行動を行う複数の機能部と、を備え、機能部は、音声理解部によって発話内容が名前の教示であると認識された場合に語彙の獲得処理を行う語彙獲得装置を備え、語彙獲得装置は、入力された音声から音素列候補を作成する音素認識部と、音素列候補に基づいて複数の単語列を作成する単語マッチング部と、複数の単語列から認識結果として尤度が高い単語列を選択する判別部と、判別部が選択した単語列に基づいて新たな単語を獲得する獲得部と、名前を教示するときに使用する教示単語のリストと、教示単語と未知語との確率モデルと、を備え、判別部は、上記単語列ごとに、単語列中の単語と上記リスト中の教示単語とのあてはまり程度を表す第1評価値と、当該単語列中の単語同士の連接確率を表す第2評価値と、を算出すると共に、上記第1評価値と上記第2評価値との和が最大の単語列を選択し、さらに、獲得部は、判別部が選択した単語列で上記第1評価値の算出に関与しなかった単語を新たな単語として獲得することを特徴としている。
【0012】
本発明のマルチ対話行動システムは、好ましくは、ユーザが発話した音声から教示フレーズに該当する音声を切り出す教示フレーズ抽出部をさらに備え、音素認識部が、上記教示フレーズ抽出部からの音声に基づいて前記音素列候補を作成する。
【0013】
上記目的を達成するために、本発明の語彙獲得プログラムは、コンピュータを、入力された音声から音素列候補を作成する音素認識部、音素列候補に基づいて複数の単語列を作成する単語マッチング部、複数の単語列から認識結果として尤度が高い単語列を選択する判別部、判別部が選択した単語列に基づいて新たな単語を獲得する獲得部、として機能させ、上記判別部は、上記単語列ごとに、単語列中の単語と、名前を教示するときに使用する教示単語のリスト中の教示単語とのあてはまり程度を表す第1評価値と、当該単語列中の単語同士の連接確率を表す第2評価値と、を算出すると共に、上記第1評価値と上記第2評価値との和が最大の単語列を選択し、さらに、獲得部は、判別部が選択した単語列で上記第1評価値の算出に関与しなかった単語を新たな単語として獲得する。
【0014】
本発明の語彙獲得プログラムは、好ましくは、さらに、コンピュータを、入力された音声の認識を行う音声認識部、音声認識部によって音声認識された発話の内容を理解する音声理解部、として機能させ、音声理解部によって発話内容が名前の教示であると認識された場合に語彙の獲得処理を行う。
【0015】
本発明の語彙獲得プログラムは、好ましくは、さらに、コンピュータを、ユーザが発話した音声から教示フレーズに該当する音声を切り出す教示フレーズ抽出部として機能させ、音素認識部が、上記教示フレーズ抽出部からの音声に基づいて音素列候補を作成する。
【発明の効果】
【0016】
本発明によれば、自然な対話の中から、新しい名前を覚えることができる。
【図面の簡単な説明】
【0017】
【図1】本発明の一実施形態に係る語彙獲得装置の構成を示すブロック図である。
【図2】上記実施形態に係る語彙獲得装置の処理を説明するための概略フローチャートである。
【図3】本発明の他の実施形態に係るマルチ対話行動システムの構成を示すブロック図である。
【図4】本発明の他の実施形態に係る音声認識部が作成するBWGの例を示す図である。
【図5】本発明の他の実施形態に係る音声認識部におけるBWGの作成方法を説明するための図である。
【図6】本発明の実施例に係るRIMEのモジュール構成を示す図である。
【図7】本発明の実施例に係る語彙獲得対話ロボットのアーキテクチャを示す図である。
【図8】本発明の実施例に係る語彙獲得対話ロボットの写真像を示す図である。
【発明を実施するための形態】
【0018】
以下、本発明の実施形態について、下記の項目内容を順次に、必要箇所では図面を参照しつつ詳細に説明する。
A.概要『語彙獲得装置』について
B.『語彙獲得装置』の構成
B−1.『音素認識部』
B−2.『単語マッチング部』
B−3.『判別部』
B−4.『獲得部』
B−5.『語彙獲得装置のその他の構成』
C.『語彙獲得装置の動作』
D.『語彙獲得装置の効果』
E.『他の実施形態に係るマルチ対話行動システム』
E−1.『音声認識部』
E−2.『ドメイン選択部』
E−3.『ドメイン』
E−4.『確認発話生成部』
E−5.『行動実行部』
E−6.『他の実施形態に係るマルチ対話行動システムの作用』
E−7.『他の実施形態に係るマルチ対話行動システムの効果』
F.『実施例』
F−1.『提案アーキテクチャの課題』
F−2.『語彙獲得対話ロボットアーキテクチャ』
F−2−1.『マルチエキスパートモデルRIME』
F−2−2.『アーキテクチャの概要』
F−2−3.『エキスパート選択』
F−2−4.『語彙獲得対話エキスパート』
F−2−5.『物体探索エキスパート』
F−2−6.『物体の名前を返答するエキスパート』
F−3.『実装』
F−3−1.『ロボット』
F−3−2.『対話行動制御』
F−3−3.『語彙獲得』
F−3−4.『画像学習・認識』
G.その他
【0019】
A.概要『語彙獲得装置』について
本発明の実施形態に係る語彙獲得装置は、ユーザの発話から単語を学習する。特に語彙獲得装置はユーザからの命令に応じてシステムの状態を学習モードへの切換えなどを行わずに、自動で単語、つまり未知語を会話の中で学習する。ここで、単語とは、物や場所や人の名前である。
【0020】
B.『語彙獲得装置』の構成
図1は本実施形態に係る語彙獲得装置1の構成を示すブロック図である。語彙獲得装置1は、音素認識部2と、単語マッチング部3と、判別部4と、獲得部5と、を備えている。
次に、音素認識部2、単語マッチング部3、判別部4、獲得部5の各機能について説明する。
【0021】
B−1.『音素認識部』
音素認識部2は、入力された音声から音素列候補を作成する。この音素認識部2は、例えば、日本語音素の統計モデルに基づいて音声を音素認識する。音素モデルは、図示省略するが、語彙獲得装置1に予め設けられている。
ユーザが『これがペットボトルだよ』と発話した場合、音素認識部2によって、“korebabedobotorudajyo”といった音素認識候補が作成される。
【0022】
B−2.『単語マッチング部』
単語マッチング部3は、音素認識部2で認識され音素認識候補に基づいて単語列を複数、例えばN個作成する。
例えば、前述の音素認識候補“korebabedobotorudajyo”から、下記表1のような単語列を作成する。
【表1】

単語マッチング部3は以下の二つの処理A,Bを実行する。
[処理A] 単語マッチング部3は、音素認識結果の全ての部分列と、各単語の距離を計算する。具体的には、単語マッチング部3は、予め備えている単語と、音素認識結果として得られた音素列中の各列部分との類似度、つまり距離を計算する。ここで、算出された距離が、閾値よりも長い組み合わせ、つまり列部分は除外する。この距離の計算方法として動的計画法を利用することができる(非特許文献12)。
[処理B] 単語マッチング部3は、音素認識結果である音素列に関し、その音素列の部分であって、日本語の単語候補になりえると考えられるものを全て未知語の候補として記憶する。具体的には、上記処理Aで距離が閾値以下と判断される列部分の全て、つまり処理Aで除外されない列部分を記憶する。
【0023】
B−3.『判別部』
判別部4は、複数の単語列から音声認識結果として最尤の単語列を選択する。判別部4は、名前以外の言葉、例えば『これは、・・・だよ』、『これが、・・・です』、『これが、・・・だよ』といった言い回しのリスト4Aを備えている。これらの言い回しは、ユーザが名前を教示する際に使用する単語であるため、以下、『教示単語』と呼ぶ。
【0024】
本実施形態では、教示単語を含む音声、例えば『これは、・・・だよ』、『これが、・・・です』、『これが、・・・だよ』などの音声中、 “・・・”位置に入る音声の認識候補を未知語として取り扱う。
ここで、説明の便宜上、単語マッチング部3で認識された単語列において、教示単語に関連した部分を教示部分と呼び、未知語に関連した部分を未知語部分と呼ぶ。
【0025】
さらに、判別部4は、教示単語と未知語との確率モデル4Bを備えている。この確率モデル4Bは、教示単語と未知語との2つの言葉が連続して起こる確率を示す。例えば、教示単語をW1とし、未知語をW2とすると、判別部4は下記表2に示す確率モデル4Bを備えている。
【表2】

上記表2では教示単語と未知語とを区別して表しているが、実際には、教示単語と未知語とを区別せずにそれらを一纏まりとした確率モデル4Bが用意されている。未知語は未知語のクラスに応じて<物の名前>などとして一括で扱う。
【0026】
本実施形態の判別部4は、下記の二つの評価を行う。
(評価1)音素認識結果中の教示単語とマッチされた部分と教示単語との類似度〔第1評価値〕。
(評価2)単語列の生起確率〔第2評価値〕。
単語列ごとに、評価1と評価2との総合評価、つまり第1評価値と第2評価値との和を求める。総合評価は下記の式1として表すことができる。
【数1】


式第1項が評価1であり、第2項が評価2であり、w1とw2とは重み付けである。
ここで、式1中の「言い回しとの類似度」は、下記式2として表せる。
【数2】


ただし、対応する音素が無い場合は音素間の距離を1とする。
また、式1中の「単語列の生起確率」は、下記式3として表せる。
【数3】

【0027】
判別部4は、単語列ごとに式1の総合評価(z)を算出し、それらの内、最大値をとる単語列を選択する。つまり、第1評価値と第2評価値との和が最大の単語列が最尤の認識結果として選択される。
【0028】
B−4.『獲得部』
獲得部5は、判別部4が選択した単語列、つまり第1評価値と第2評価値との和が最大の単語列に基づいて新たな単語を獲得する。具体的には、判別部によって選択された単語列を構成する未知語部分を新たな単語、つまり名前として獲得する。
例えば、表1の3番目の単語列が選択された場合、“ベトボドル”を新たな単語、つまり名前として、図示省略する記憶部に登録する。この“ベトボドル”部分は、第1評価値の計算に関連しない単語である。つまり、獲得部5は、第1評価値の計算に関連しない単語を新たな単語、つまり未知語として獲得する。
【0029】
B−5.『語彙獲得装置のその他の構成』
例えば、『これが・・・だよ』が『教示単語』であり、『XYZ』が『未知語』である、ユーザの発話『これがXZYだよ』を『教示フレーズ』と呼ぶ。
本実施形態に係る語彙獲得装置1には、ユーザが発話した音声から、教示フレーズに該当する音声が切り出されて、入力されて処理される。
なお、図示省略する教示フレーズ抽出部が教示フレーズをユーザの会話から抽出する。
【0030】
以上の語彙獲得装置1は例えばコンピュータから構成される。このコンピュータは、前もってインストールされたソフトウェアとしての語彙獲得プログラムを実行することで、上記の手法、即ち語彙獲得を実現する。具体的には、コンピュータが語彙獲得プログラムを実行することで、コンピュータが前述の音素認識部2と、単語マッチング部3と、判別部4と、獲得部5と、教示フレーズ抽出部として機能する。なお、プログラムには、コンピュータを前処理手段と特徴抽出手段として機能するものを含めても含めなくても良い。なお、プログラムは、通信回線を介してダウンロードしたものや、CD−ROMやDVD−ROM、携帯型記憶装置などの記憶媒体に記憶されているものを利用する。
【0031】
なお、複数のコンピュータをLANやインターネット、公衆網等を介して相互に接続して、音素認識部2と、単語マッチング部3と、判別部4と、獲得部5と、教示フレーズ抽出部との動作を複数のパーソナルコンピュータによって分散処理させてもよい。コンピュータは、従来公知の構成のものを使用することができ、RAM,ROM,ハードディスクなどの記憶装置と、キーボード,ポインティング・デバイスなどの操作装置と、操作装置等からの指示により記憶装置に格納されたデータやソフトウェアを処理する中央処理装置(CPU)と、処理結果等を表示するディスプレイなどを備えている。このコンピュータは汎用の装置であっても、専用の装置として構成されたものであってもよい。
【0032】
C.『語彙獲得装置の動作』
教示フレーズ抽出部が、ユーザが発話した音声の内、教示フレーズに該当する音声を本実施形態に係る語彙獲得装置1に入力する。この入力を契機に、語彙獲得装置1は処理を開始する。
語彙獲得装置1は、図2に示すように、入力された音声から音素列候補を作成する(ステップS1)。この音素列候補に基づいて、語彙獲得装置1は複数の単語列を作成する(ステップS2)。語彙獲得装置1は単語列ごとに式1を計算する(ステップS3)。ここで、語彙獲得装置1は、式1の値が最大の単語列を選択する(ステップS4)。そして、語彙獲得装置1は、選択した単語列中の未知語部分を新たな単語として抽出する。
【0033】
D.『語彙獲得装置の効果』
このように本発明の実施形態に係る語彙獲得装置1によれば、自然な対話の中から、新しい名前を覚えることができる。
【0034】
E.『他の実施形態に係るマルチ対話行動システム』
図3は本発明の他の実施形態に係るマルチ対話行動システム10の構成を示すブロック図である。
このマルチ対話行動システム10は、各種の対話行動を行う複数の機能部、つまり複数の機能領域を備えている。この機能領域をドメインと呼ぶ。マルチ対話行動システム10は、これらの複数のドメインを適宜選択して所望の対話行動を行う。
【0035】
このため、マルチ対話行動システム10は、図3に示すように、音声認識部20と、ドメイン選択部30と、複数のドメイン41、42、44と、確認発話生成部50と、行動実行部60と、を備えている。
【0036】
E−1.『音声認識部』
音声認識部20は、入力された音声の認識を行う。具体的には、音声認識部20は、音声認識結果としてBWG(Bag of Words in a Graph)を作成する。このBWGを利用することで、言葉や文法に何らの制限なく話される言語をトピックとして認識できる。なお、音声認識部20は、大語彙音声認識器(Large Vocabulary Automatic Speech Recognizer:LVASR)と言語モデルを備えている。
【0037】
一つのBWGは、認識単語を表すエッジ(edge:図中の棒線)の集合と、時点を表す頂点(vertex:図中の丸印)の集合とからなる。BWGの例を図4に示す。
【0038】
ここで、BWG作成手法の概略について図5を用いて説明する。
音声認識部20は、BWGを作成する際、音声認識結果として得たN-BESTを利用する。ここで、ある音声認識結果のN-BESTの第1位から第3位が以下であるとする。
第1位: ここ/が/木/屋敷/だよ
第2位: この/寡黙/屋敷/だよ
第3位: この/顔/倉敷/だよ
このようなN-BESTの第1位から第3位に基づいて、先ず図5(A)に示すように、単純なグラフを作成する。この図5(A)では、始点と終点とを共通化させている。
次に、図5(B)に示すように、共通単語[だよ]を纏めて一つの共通の弧、つまり共通のエッジに置き換える。
このような共通単語を繰り返し纏めて、図5(C)に示す形態、つまり、これ以上共通単語を纏められない形態を作成する。これが、BWGである。
【0039】
E−2.『ドメイン選択部』
ドメイン選択部30は、音声認識部20での音声認識結果からどのドメインを選択するかを決定する。
ここで、音声認識結果として作成されたBWG(結果BWGと呼ぶ)は各ドメイン41,42,44に渡される。各ドメイン41,42,44では、自身の機能を求める言葉に関連したBWG(以下、関連BWG或いはトピック分類モデルと呼ぶ)を予め備えており、各ドメイン41,42,44は、自身の関連BWGと結果BWGとの類似度を計算する。各ドメイン41,42,44における計算結果がドメイン選択部30に送られて、ドメイン選択部30は、スコアの大きい値を出したドメイン41,42,44を選択する。
【0040】
ここで、関連BWGと結果BWGとの類似度の計算について説明する。
各ドメイン41,42,44における処理には、学習フェーズと、実行フェーズとがある。実行フェーズで、関連BWGと結果BWGとの類似度の計算が行われる。このような実行フェーズの前処理として、学習フェーズが存在する。
【0041】
先ず、各ドメイン41,42,44の学習フェーズについて説明する。
学習フェーズでは、各ドメイン41,42,44は、前述の関連BWGを学習用の発話(以下、学習発話と呼ぶ)に基づいて作成する。
【0042】
ここで、学習発話の全体をUとし、トピックの集合をC、トピックcを持つ学習発話の集合をUcとする。
【0043】
トピック毎に分類された各学習発話uj、例えば場所の名前を教える発話の音声を、すべて大語彙統計言語モデルを用いた音声認識結果音声認識によって認識し、その結果をBWGの形で得る。このBWGの作成は前述の図5の手法に拠る。BWG中に現れる全ての単語の集合、つまり単語集合W(uj)を求める。
【0044】
このようにして得られた各学習発話ujの単語集合W(uj)を纏める。単語集合W(uj)の和集合Wは次式4として表せる。
【数4】

【0045】
次に、tj∈W(uj)のときuj∈Ucである確率P(c|ti)を求める。本実施形態では、確率P(c|ti)がトピック分類モデル、つまり関連BWGを表す確率であり、具体的にはトピックcが自身のドメインに関するトピックtiである確率を表す。この確率P(c|ti)はベイズ則を用いて以下の式5ように変形できる。
【数5】

【0046】
ここで、式5中のP(ti|c)、P(ti)、P(c)は以下の式6、式7、式8と推定する。
【数6】


【数7】


【数8】

【0047】
このようにして、ドメインが予め備える関連BWG、つまりトピック分類モデルが作成される。ドメイン41,42,44毎にこのような学習フェーズが行われて、ドメイン41,42,44は、自分用のトピック分類モデルを備える。なお、新たな学習発話を追加することきには、上記の確率P(c|ti)、つまりトピック分類モデルの計算をやり直す。
【0048】
次に、各ドメイン41,42,44の実行フェーズについて説明する。
入力発話uがトピックcを持つ確率p(c|u)を、次式9を用いて、すべてのc∈Cについて求める。
【数9】


ここで、P(c|ti)は学習フェーズで求めたトピック分類モデル、つまり関連BWGを利用する。P(ti|u)はtj∈W(uj)ならば1/|W(u)|、それ以外の場合は0である。
この確率p(c|u)は、ドメイン41,42,44のそれぞれで算出され、それらの算出結果がドメイン選択部30に送られる。
ドメイン選択部30は、確率p(c|u)が最大になるcをトピックとする。言い換えれば、確率p(c|u)として最大の値を送出したドメインを選択する。
【0049】
ここで、このようなスコア値に基づいてドメイン41,42,44を選択することで、発話内容を理解するとも言える。そのため、ドメイン選択部30は、発話を理解する発話理解部でもある。
【0050】
E−3.『ドメイン』
各ドメイン41,42,44は、それぞれ、機能別に分かれたソフトウェアであり、装置の行動計画を生成するものなどである。例えば、ドメインとしては、図3に示すように、『物体探索ドメイン』42がある。この物体探索ドメイン42は、ユーザから指示された物体を探索する機能部である。
このような機能部の一つとして、本実施形態に係るマルチ対話行動システム10は、前述の実施形態の語彙獲得装置1を語彙獲得ドメイン41として備えている。
【0051】
本実施形態のドメイン選択部30は、語彙獲得ドメイン41を選択した場合、ドメイン決定の際に利用したBWG作成の基礎となった音声部分を、ユーザの音声から切り出して、教示フレーズとして語彙獲得ドメイン41に渡すように構成されている。なお、ドメイン選択部30を教示フレーズ抽出部として機能させる代わりに、他の装置部分、例えば別個独立のソフトウェアとして教示フレーズ抽出部を備えてもよいことは勿論である。
【0052】
E−4.『確認発話生成部』
確認発話生成部50は、語彙獲得ドメインが抽出した未知語、つまり新たな単語の確認をユーザに対して発話して確認する。
【0053】
E−5.『行動実行部』
行動実行部60は、ドメイン41,42,44からの制御に基づいて処理を行うものである。
例えば、マルチ対話行動システム10が移動するための車輪やその動力源であるモータなどを備えている場合には、行動実行部60はモータに対する制御をドメインによるコントロール下で実行する。
【0054】
E−6.『他の実施形態に係るマルチ対話行動システムの作用』
本実施形態に係るマルチ対話行動システム10では、ドメイン選択部30がユーザの発話内容を理解する。ここで、ドメイン選択部30では、ユーザがシステムに対して例えば物の名前や場所の名前を教えようとしていると判断した場合に、語彙獲得ドメイン41をアクティベートする。これにより、語彙獲得ドメイン41には、教示フレーズが入力される。語彙獲得ドメイン41では、図2に示す処理が行われる。
【0055】
E−7.『他の実施形態に係るマルチ対話行動システムの効果』
本実施形態に係るマルチ対話行動システム10によれば、ユーザの自然な対話の中から例えば物体の名前などを抽出して覚えることができる。
【0056】
F.『実施例』
以下、実施例として対話の中で新しい名前を覚えるロボットのアーキテクチャを提案する。提案するアーキテクチャは、マルチドメイン対話行動モデルRIME (Robot Intelligence with Multiple Experts)(非特許文献3)に基づいている。RIME は特定のドメインのインタラクションを行うエキスパートというモジュールを複数組み合わせることによって複雑なインタラクションを行うことができる。
RIMEのエキスパートの一つとして語彙獲得対話を行うエキスパートを用い、獲得した名前を他のエキスパートでも利用できるようにすることにより、マルチドメイン対話の中で語彙獲得を行うことができるようになる。
提案したアーキテクチャの有効性の実証のために対話ロボットを構築した。このロボットは対話により物体の名前を覚えるとともに、その名前で物体の探索を指示されると、移動して物体を探しに行くことができる。
【0057】
F−1.『提案アーキテクチャの課題』
提案アーキテクチャの課題は、様々なドメインの対話を行うロボットが人間との対話の中で物体の名前を覚えることである。つまり、いわゆるマルチドメイン対話の一つのドメインとして、語彙獲得対話ドメインがあるとする。語彙獲得対話では、人間は物体を見せながら、自然な発話でその名前をロボットに教える。
ここで自然な発話とは、定型的な発話ではなく、「これは・・・だよ」や「・・・を覚えて」など、様々な表現を用いた発話のことである。
語彙獲得対話以外のドメインとして、獲得した語彙を用いた人間の指示発話を理解して実行するドメインと、獲得した語彙を尋ねる発話に答えるドメインを扱う。獲得した語彙を用いた指示とは、例えば、「・・・はどこにある?」などの物体の探索の指示である。獲得した語彙の質問は「これは何ですか?」などである。これらのタスクを遂行するためには、語彙獲得の際に、語彙の音韻列を正しく獲得している必要がある。
さらに、ロボットはマルチドメイン対話機能を持つので、他の全く異なるドメインの対話も行える必要がある。例えば、天気情報に関する質問応答などの一般的に扱われている対話ドメインを扱うことができなければならない。
類似の課題を扱った研究として、Holzapfel らの研究がある(非特許文献4)。ロボットは対話の中で未知語(out-of-vocabulary word) を発見すると語彙を学習する対話を行う。Holzapfel ら研究と本実施例の違いは、Holzapfel らが定型的なパターンの中で未知語が現れる場合のみを扱っているのに対し、我々は自然な発話で物体の名前を教える発話を扱っていることである。さらに、我々は対話ドメインの追加が容易であることを目指しており、マルチドメイン対話アーキテクチャをベースにしている。
【0058】
F−2.『語彙獲得対話ロボットアーキテクチャ』
F−1節で述べたようなロボットは、発話を検出すると、その発話が どのドメインの発話なのかを判定しなくてはならない。
これは、マルチドメイン対話システムにおけるドメイン選択の問題として捉えることができる。本実施形態では一般的なマルチドメイン対話システムのアーキテクチャをベースにするが、その中でも、RIME(非特許文献3)を用いる。RIMEは、後述するように、その他のマルチドメイン対話システムアーキテクチャに比べて、対話中のドメインの変更が柔軟であること、および、ドメインの追加に関して制限が少ないという利点を持っている。
本節では、まずRIMEの概略を述べてから、提案アーキテクチャを説明する。
【0059】
F−2−1.『マルチエキスパートモデルRIME』
RIMEでは、特定の種類のサブタスクに特化した知識と内部状態を持つエキスパートと呼ぶモジュールを用いる。これは、マルチドメイン音声対話システムで用いられているドメインエキスパート(非特許文献5)の概念を拡張したものである(非特許文献3)。たとえば、天気予報に関する質問に答えられるロボットであれば、「天気予報に関する質問を理解する」というサブタスクのためのエキスパートや「天気予報を人に伝える」というサブタスクのためのエキスパートを持つ。また、「特定の場所に移動する」という物理行動を行うサブタスクのためのエキスパートなども用いることができる。これらのエキスパートを順次利用することにより、複雑なタスクを遂行することができる。たとえば、ある物を説明するタスクは、その物のところに人を案内して、言葉で説明するという二つのサブタスクを順次遂行することによって行うことができる。
RIMEでは、このようなエキスパートを利用して全体のシステムを動作させるためのプロセス群(これを調整プロセス群と呼ぶ。)が走っている。RIMEのモジュール構成を図6に示す。調整プロセスは三つあり、並行動作する。理解部が行う理解プロセスは音声認識結果をエキスパートに送信し、最適なエキスパートを選択し、タスク計画部におけるタスク計画プロセスにその情報を送る。行動選択部が行う行動選択プロセスは、選択されたエキスパートに対し、次の動作の決定を要求する。タスク計画プロセスは、タスクを遂行したり、音声認識結果に反応したりするために、どのエキスパートをアクティベートし、どのエキスパートをディアクティベートするかを決定する。これら三つのプロセスは発話割り込みを扱うために並列で動作する。
それぞれのエキスパートは内部状態にアクセスするためのメソッドを持っていなければならない。initializeメソッドはエキスパートが作られたときに用いられ、内部状態を初期化する。understandメソッドは音声認識結果を受け取った際に理解プロセスから呼び出され、音声認識結果に基づいて情報を更新する。select-actionメソッドは、行動選択プロセスから継続的に呼び出され、発話待ちの状態でなければ、内部状態に基づき、行動を一つ出力する。その他に割り込み発話を扱うためのメソッドなどを持っていなくてはならない。
understandメソッドの返り値は、その音声認識結果がどのくらいそのエキスパートで処理されるべきかを表す0以上1以下のスコアである。理解プロセスは、音声認識結果を、現在アクティベートされているエキスパートおよび、新規にアクティベートされる可能性のあるエキスパートに、このunderstandメソッドを用いて送り、最も高いスコアを返したエキスパートを選択して、その情報をタスク計画部に送る。これは、マルチドメイン音声対話システムにおけるドメイン選択の機能にあたる。
これらのインタフェースを実装しさえすれば、内部で知識や状態をどのような形で保持しているか、また、どのようなアルゴリズムで理解や行動選択を行うかに関わらず、どのようなエキスパートでも導入することができる。
各エキスパートは、global contextと呼ばれるデータ格納部を介して、共通に使える情報(例えば、話題になった事物、ユーザの興味、周囲の状況など)を享受できる。
【0060】
F−2−2.『アーキテクチャの概要』
語彙獲得対話ロボットのアーキテクチャを図7に示す。各タスクドメインごとにエキスパートを用意する。語彙獲得エキスパートは、語彙獲得モジュールおよび画像学習・認識モジュールと通信することにより、語彙獲得対話を行う。獲得した語彙の情報はglobal context に蓄えられ、他のエキスパートも用いることができる。語彙獲得対話エキスパートは獲得した語彙の情報をglobal context 経由で他のエキスパートに送る。
物体認識が必要なエキスパート、すなわち、物体探索エキスパートや物体の名前を返答するエキスパートは、必要に応じて画像学習・認識モジュールと通信する。
語彙獲得モジュールが独自に音声認識を行う必要があるため、音声区間検出後の音声を分離してRIMEの音声認識と語彙獲得モジュールの両方に送る。
【0061】
F−2−3.『エキスパート選択』
RIMEではエキスパート選択は、各エキスパートのunderstandメソッドが返すスコアを用いて行われる。本語彙獲得ロボットでは、音声認識は、各エキスパートが持っている文パターンに基づく有限状態文法と、大語彙統計言語モデルの二つを併用する。大語彙統計言語モデルを用いた認識結果は、BWG(Bag-of-Words in Graph) 法(非特許文献6)のような発話分類手法で用いる。この発話分類の結果と、有限状態文法を用いた認識結果が言語理解文法でカバーされているかどうか、有限状態文法を用いた認識結果の信頼度、および文脈などの情報などを利用してスコアを算出する。
【0062】
F−2−4.『語彙獲得対話エキスパート』
物体の名前を教示する発話が入力されて、このエキスパートがアクティベートされると、このエキスパートは画像学習認識モジュールに画像学習を要求する。画像学習認識モジュールは、見えている物体が過去に覚えたものと同じかどうかを判断し、同じならその物体のIDを、そうでなければ、物体の画像の特徴を記憶するとともに物体のIDを送り返す。学習に失敗した場合は、失敗フラグを送る。語彙獲得対話エキスパートは、学習が失敗であれば、その旨を音声でユーザに伝える。また、物体のIDが得られた場合は、語彙獲得モジュールに語彙獲得を要求する。語彙獲得モジュールは、あらかじめ学習してある教示発話の言語モデルを用いて名前を獲得して送り返す。
語彙獲得対話エキスパートは、獲得した語彙と物体ID との関係をglobal context に書き込むとともに、音声認識の有限状態文法に獲得した語彙を追加する。
【0063】
F−2−5.『物体探索エキスパート』
物体探索エキスパートは、物体探索要求が認識されると、認識結果から物体ID を得て、画像学習・認識モジュールに物体探索要求を送るとともにあらかじめ指定したルートでロボットを移動させる。物体探索は、高速だが精度の低い方法で行う。物体が存在する可能性があれば、ロボットを停止させる。そして画像学習・認識モジュールに物体認識要求を送るとともに、物体の存在する可能性の高い方向にロボットを移動させる。物体が認識されれば、探索は終了する。この探索の過程でロボットは、獲得した物体の名前を用いて「・・・を探しに行きます」「・・・を発見しました」等の発話を行う。
【0064】
F−2−6.『物体の名前を返答するエキスパート』
物体の名前を尋ねる発話が認識されると、画像学習・認識モジュールに画像学習要求を送る。返ってきた結果がすでに名前を覚えた物体のIDであれば、その物体の名前を答える。そうでなければ「わかりません」と答える。
【0065】
F−3.『実装』
上記アーキテクチャを用いて語彙獲得対話ロボットを構築した。語彙獲得、物体探索、名前の回答、その他の対話が行えることを確認している。以下に実装に用いたハードウエアおよびソフトウエアモジュールの詳細を述べる。
【0066】
F−3−1.『ロボット』
ロボットは図8に示すような全方向移動台車ロボットである。ロボットには指向性マイクロホン(三研マイクロホン(株)CS-3e) とステレオカメラ(東京エレクトロンデバイス(株) TDBD-SCAMv2) が取り付けられており、音声対話処理と画像処理はロボットに搭載された2台のPCで行っている。ロボットの移動は別のサーバコンピュータで制御されていて、ロボットおよびロボット上のPCとは無線LANで通信する。モジュール間通信はMMI-IF(非特許文献7)を用いることにより容易に実現している。
【0067】
F−3−2.『対話行動制御』
対話行動制御はRIMEをベースにしたツールキットRIMETK(非特許文献8)を用いて構築した。音声認識には、複数の言語モデルを用いてデコードできるJulius Ver.4*1(*1 http://julius.sourceforge.jp/)を用いている。また、音響モデルおよび大語彙言語モデルはJulius付属のものを用いている(非特許文献9)。音声合成はNTTアイティ(株)のFineVoiceを用いた。現在は、実装の都合上、語彙獲得対話エキスパートと物体探索エキスパートは一つのエキスパート(語彙獲得対話・物体探索エキスパート)になっている。その他、物体の名前を返答するエキスパート、天気情報の要求を理解するエキスパート、天気情報を提供するエキスパート、内線番号の質問を理解するエキスパート、内線番号を教えるエキスパートなどを用いている。
発話が入力されたときのエキスパートの選択は、大語彙統計言語モデルの認識結果を用いたBWG法(非特許文献6)による発話分類の結果と、有限状態文法を用いた認識結果をFinite-State Transducer(FST)で言語理解した結果を用いて行っている。BWG法による発話分類は、名前の教示か、探索要求か、その他の発話かに分類する。語彙獲得対話・物体探索エキスパートのunderstandメソッドは、発話分類の結果が名前の教示か探索要求の場合に一定のスコアを返す。
物体の名前を返答するエキスパート、天気情報の要求を理解するエキスパート、内線番号の質問を理解するエキスパートは、理解できる発話のパターンをFSTの形で保持しており、それらのFSTと同等の有限状態文法が音声認識用言語モデルとして用いられている。その有限状態文法を用いた音声認識結果が自分のFSTで理解できるかどうか、音声認識結果の信頼度、自分がすでにアクティベートされているかどうか、の三つの情報から、手書きのルールに基づきスコアを計算する。天気情報を提供するエキスパートや内線番号を教えるエキスパートは、要求を理解するエキスパートによってタスクが設定された場合にのみアクティベートされる。
現在のエキスパート選択スコアの計算のための規則は開発者の試行錯誤に基づいたものである。データに基づいたスコアの最適化が今後の課題である。
【0068】
F−3−3.『語彙獲得』
語彙獲得の方法には様々なものが考えられる。例えば、Holzapfelら(非特許文献4)が行っているように文のパターンをあらかじめ与える方法や、山本ら(非特許文献10)のように、統計的言語モデルの中に音韻n-gramなどで表された未知語の統計モデルを埋め込む方法がある。文のパターンをあらかじめ与えると、それ以外のパターンの文が認識できない。また、本実施形態は、どのような語彙でも獲得できるように、未知語の統計モデルは用いない。
そこで、新規な語彙獲得の方法として以下の方法を用いている。名前を教える発話のパターンが、個人ごとにある程度限られていると仮定し、あらかじめ田口らの方法(非特許文献11)を用いて、語彙を教示する発話の集合から言語知識を学習しておく。ここで、発話のうち物体の名前以外の部分のことを言い回しと呼ぶ。学習した言語知識には、言い回しのリスト、および言い回しと名前のbigramが含まれている。ここで名前の部分はクラス化し、クラスbigramとする。
発話が入力され、語彙獲得が要求されると、まず発話を音素認識(音素タイプライタ)により音素列に変換する。これにはATRで開発された音声認識システムATRASR(非特許文献10)を用いている。次に、二段DPマッチング(非特許文献12)を用いて言い回しを音素列に当てはめる。このとき、bigram確率を用いて、あり得ない単語列の当てはめが起こらないようにする。最後に当てはめた言い回しと当てはめられた部分の音素列との編集距離が閾値以下の場合、そこは言い回しではなく、名前であるとみなす。以上の方法で語彙獲得を行う。
【0069】
F−3−4.『画像学習・認識』
画像学習・認識モジュールはステレオカメラの情報を用いて物体の画像の学習および物体の探索を行う。物体を見せて学習させる際にまず問題となるのは、画像中のどの領域が学習すべき物体かという、物体の切り出しの問題である。この問題は、動きアテンションを用いることで解決する。これは、人が物体を持ちロボットに見せることで教示するため、その際に物体を動かすと仮定し、画像中の動いている塊が物体であるという事前知識を与える。つまり、画像中の動きを検出し、その領域の色や奥行きの情報を基に最終的な物体領域を確率的に推定するもので、ステレオの計算を含めても10fps程度で動作する。
物体探索では、シーン中のどこに認識すべき物体があるかを抽出する。但しこの際は必ずしも人が物体を持っている保証がないため、動きに注意を向けた抽出手法を用いることはできない。そこで、探索時の領域抽出には、色ヒストグラムと奥行き情報を併用した高速なアクティブ探索による領域抽出手法を利用する。
探索に成功した後、ロボットが物体に近づいてから最終的に認識を行う際には、SIFT(Scale Invariant Feature Transform)を用いた局所特徴のマッチングを利用する。この際、色情報を用いて候補を絞った上で、学習時に様々な方向から見て取得した物体のSIFT 情報とのマッチングを行い最終的な認識結果を得る。
【0070】
G: その他
以上詳述したが、本発明はその趣旨を逸脱しない範囲において様々な形態で実施をすることができる。
【0071】
実施形態の説明で挙げられた数値は例示であることは勿論である。図3に示すドメインの数は例示であり、その数に限定されるものではない。
【符号の説明】
【0072】
1 語彙獲得システム
2 音素認識部
3 単語マッチング部
4 判別部
4A リスト
4B 確率モデル
5 獲得部
10 マルチ対話行動システム
20 音声認識部
30 ドメイン選択部
41,42、44 ドメイン
50 確認発話生成部
60 行動実行部

【特許請求の範囲】
【請求項1】
入力された音声から音素列候補を作成する音素認識部と、
音素列候補に基づいて複数の単語列を作成する単語マッチング部と、
複数の単語列から認識結果として尤度が高い単語列を選択する判別部と、
上記判別部が選択した単語列に基づいて新たな単語を獲得する獲得部と、
名前を教示するときに使用する教示単語のリストと、
上記教示単語と未知語との確率モデルと、を備え、
上記判別部は、上記単語列ごとに、単語列中の単語と上記リスト中の教示単語とのあてはまり程度を表す第1評価値と、当該単語列中の単語同士の連接確率を表す第2評価値と、を算出すると共に、上記第1評価値と上記第2評価値との和が最大の単語列を選択し、
さらに、獲得部は、上記判別部が選択した単語列で上記第1評価値の算出に関与しなかった単語を新たな単語として獲得することを特徴とする、語彙獲得装置。
【請求項2】
さらに、入力された音声の認識を行う音声認識部と、
上記音声認識部によって音声認識された発話の内容を理解する音声理解部と、を備え、
上記音声理解部によって発話内容が名前の教示であると認識された場合に語彙の獲得処理を行うことを特徴とする、請求項1に記載の語彙獲得装置。
【請求項3】
ユーザが発話した音声から教示フレーズに該当する音声を切り出す教示フレーズ抽出部をさらに備え、
前記音素認識部が、上記教示フレーズ抽出部からの音声に基づいて前記音素列候補を作成することを特徴とする、請求項1又は2に記載の語彙獲得装置。
【請求項4】
入力された音声の認識を行う音声認識部と、
上記音声認識部によって音声認識された発話の内容を理解する音声理解部と、
音声理解結果に基づいて各種の対話行動を行う複数の機能部と、を備えたマルチ対話行動システムであって、
上記機能部は、上記音声理解部によって発話内容が名前の教示であると認識された場合に語彙の獲得処理を行う語彙獲得装置を備え、
上記語彙獲得装置は、
入力された音声から音素列候補を作成する音素認識部と、
音素列候補に基づいて複数の単語列を作成する単語マッチング部と、
複数の単語列から認識結果として尤度が高い単語列を選択する判別部と、
上記判別部が選択した単語列に基づいて新たな単語を獲得する獲得部と、
ユーザが名前を教示するときに使用する教示単語のリストと、
上記教示単語と未知語との確率モデルと、を備え、
上記判別部は、上記単語列ごとに、単語列中の単語と上記リスト中の教示単語とのあてはまり程度を表す第1評価値と、当該単語列中の単語同士の連接確率を表す第2評価値と、を算出すると共に、上記第1評価値と上記第2評価値との和が最大の単語列を選択し、
さらに、獲得部は、上記判別部が選択した単語列で上記第1評価値の算出に関与しなかった単語を新たな単語として獲得することを特徴とする、マルチ対話行動システム。
【請求項5】
ユーザが発話した音声から教示フレーズに該当する音声を切り出す教示フレーズ抽出部をさらに備え、
前記音素認識部が、上記教示フレーズ抽出部からの音声に基づいて前記音素列候補を作成することを特徴とする、請求項4に記載のマルチ対話行動システム。
【請求項6】
コンピュータを、
入力された音声から音素列候補を作成する音素認識部、
音素列候補に基づいて複数の単語列を作成する単語マッチング部、
複数の単語列から認識結果として尤度が高い単語列を選択する判別部、
上記判別部が選択した単語列に基づいて新たな単語を獲得する獲得部、
として機能させ、
上記判別部は、上記単語列ごとに、単語列中の単語と、名前を教示するときに使用する教示単語のリスト中の教示単語とのあてはまり程度を表す第1評価値と、当該単語列中の単語同士の連接確率を表す第2評価値と、を算出すると共に、上記第1評価値と上記第2評価値との和が最大の単語列を選択し、
さらに、獲得部は、上記判別部が選択した単語列で上記第1評価値の算出に関与しなかった単語を新たな単語として獲得することを特徴とする、語彙獲得プログラム。
【請求項7】
さらに、コンピュータを、
入力された音声の認識を行う音声認識部、
上記音声認識部によって音声認識された発話の内容を理解する音声理解部、
として機能させ、
上記音声理解部によって発話内容が名前の教示であると認識された場合に語彙の獲得処理を行うことを特徴とする、請求項6に記載の語彙獲得プログラム。
【請求項8】
さらに、コンピュータを、
ユーザが発話した音声から教示フレーズに該当する音声を切り出す教示フレーズ抽出部として機能させ、
前記音素認識部が、上記教示フレーズ抽出部からの音声に基づいて前記音素列候補を作成することを特徴とする、請求項6又は7に記載の語彙獲得プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate