説明

対話システム、対話フローの更新方法およびプログラム

【課題】実際のユーザの発話に適した分類カテゴリの設定が比較的容易に行えるようなメンテナンス性の高い対話システム、対話フローの更新方法およびプログラムを提供する。
【解決手段】音声対話システム10は、入力された入力データを複数のカテゴリのいずれかに分類する発話意図分類部12と、分類されたカテゴリを起点とする状態遷移を、ユーザとの対話形式で進行して最終状態に導く対話管理部13と、入力データと、進行された状態遷移と、を対にした対話対を登録する対話状態遷移情報記憶部14と、登録された複数の対話対から新たなカテゴリの候補である新規カテゴリを抽出する新規カテゴリ抽出部15と、を備える。発話意図分類部12は、抽出された新規カテゴリを、分類可能なカテゴリに追加する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対話システム、対話フローの更新方法およびプログラムに関する。
【背景技術】
【0002】
近年、ユーザとコンピュータが音声を用いてインタラクションを行うような音声対話システムが実用化され、広く利用されている。このようなシステムを構築するに当たっては、システムの提供者側が対話の流れ(対話フロー)の構造を事前に設計する必要がある。
【0003】
例えばIVR(Interactive Voice Response;自動音声応答)は今日最も実用化の進んでいる音声対話システムの例である。このような素朴な音声対話システムでは、対話フローは完全にシステム側が主導する形となり、システムは予め記述された対話フロー構造に基づいて必要な都度、ユーザに追加の情報入力を促す。例えば天気情報問合せシステムについて考える。システムはまず始めに「天気をお知りになりたい都道府県をお答えください」のようにユーザに促し、ユーザがこれに対して「○○県」と答えると、システムは「お知りになりたい日付をお答えください」のように必要な情報を問い合わせる。そしてサービスを提供するために必要な情報がすべて入力されたならば、「○月○日の○○県の天気は○○です」のようにユーザの所望する情報を音声で提示する。
【0004】
このような音声対話システムは、比較的限定された入力音声を認識処理できれば十分実用的なものとなるため、今日でも既に広く利用されている。対話フロー構造の記述には、標準化されたマークアップ言語が用いられており、こうした記述言語をGUIなどで効率的に編集するツールの整備なども進んでいる。総じて、比較的低コストに音声対話システムを実現できる状況にあると言える。
【0005】
しかしながら、このような素朴な音声対話システムはユーザビリティの点で問題が多い。その原因は、対話フロー構造がユーザからは見えないためであり、また同時に、対話フローが漸進的にしか進行しないのでタスク達成までに掛かる時間がしばしば過剰に長くなるためである。
【0006】
一例として音声カーナビゲーションシステムを挙げる。一般的な音声カーナビゲーションシステムにおいて、音声で目的地を設定するためには次のような手順が必要となる。
(1)目的地設定処理の開始を示す発話(例:「ルート検索」)
(2)目的地を示す発話(例:「東京都港区三田」)
(3)(2)の発話内容に対する認識結果を確認・確定する発話(例:「はい」)
また、場合によっては、さらに、
(4)(2)の発話内容を目的地として設定することを確認・確定する発話(例:「はい」)も必要になることがある。
いずれにしても、ユーザは「まず(1)に相当する発話が必要である」という対話フローの構造を知っておく必要があり、さもなければそもそも目的地設定のための対話を開始することすらできない。
【0007】
より扱いやすい音声対話システムを構築するためには、ユーザが対話フローの構造を把握していない場合でも利用できるような仕組みが望まれる。例えば、ユーザの自由な発話を音声認識技術によってテキスト化し、そこから何らかのテキスト解析技術を用いてユーザがその発話に込めた意図を抽出することよってユーザの目的が達成できるようにすれば良い。
【0008】
自由発話を許容する音声対話システムの例として特許文献1(特許第3275840号)を挙げる。この文献で開示された音声対話システムでは、複数の機能を持つ機器を音声発話によって操作するために、予め各機能の間の依存関係を定義しておく。ユーザが音声発話を行うと、その発話を音声認識手段でテキスト化した後、自然言語解析手段を用いてユーザの意図する操作指示を抽出する。ユーザの操作指示は複数の機能に跨って影響することがあり、単純に実行することができないか、あるいは単純に実行すると危険である場合がある。例えば、「ビデオ録画中」に発せられた「電源オフ操作」の指令のように相矛盾する操作指令や、ビデオカセットへの上書き録画のような不可逆な操作指令などが挙げられている。この文献で開示された音声対話システムでは、予め与えられた機能間依存関係情報を用いてユーザが音声発話で与えた操作指示の実行に依存して必要となる機能操作を調べ上げ、それらを順にユーザに問い合わせるようなインタラクションを行う。その結果、安全に処理を行うのに十分な操作指令が揃った後に、最初に指示された操作を実行する。
【0009】
ユーザの自由発話を許さない音声対話システムであれば、単に、相互に矛盾する操作が同時に現れないように対話フローを設計することができる。例えば「ビデオ録画中」には「ビデオ録画停止」のみが受理可能な仕組みにしておけば、都度ユーザに確認する必要はない。その一方で、例えば、本当に「ビデオ録画を停止して電源をオフにする」よう操作指示を与えたい場合には、一旦「ビデオ録画停止」を発話しなければならず不便である。また、そのような操作が必要であることをユーザが気付かなければ望みのタスク(この場合はビデオの電源オフ)を達成することができない。
【0010】
特許文献1に開示された音声対話システムから、ユーザの自由発話からその意図を抽出することで動作する音声対話システムが持つ二つの特徴が伺える。
【0011】
第一に、このようなシステムでは、ユーザの自由発話から抽出した意図を、予め記憶されたシステムの対話フロー上のいずれかの状態にマップする機構が必要である。当該文献の表現を借りれば「前記操作対象となる機器が前記操作手順導出手段が導出した操作に応じた状態にあるかどうかを判別する手段を備え」るということである。当該文献は機器操作の音声入力に特化したシステムであるため「状態」とは「機器の状態」を指す。当該文献内では「前記操作手段は、前記操作対象となる機器に対する操作を行う前に、前記応答生成手段に前記応答を生成させて前記出力手段から出力させると共に、該出力手段から出力された応答に対して所定の入力がされたときに、前記操作対象となる機器に対する操作を行う」とあるので、このシステムにける「機器の状態」は「対話フロー上の状態」と同一視されていると看做せる。より厳密には、「機器の状態」と「機器に対する操作指示」の組み合わせによって次に行われる対話フローが決定されることになる。いずれにしても、ユーザの自由発話を何らかの内部状態にマップすることで、後続する対話を決定するという機構であることには変わりない。
【0012】
第二に、このようなシステムでは、ユーザの自由発話から抽出した意図情報に加えてさらに追加の情報の入力を行う機構が望まれる、ということである。特許文献1の例においては、ユーザ発話から抽出した機器の操作指令だけでは、危険な操作に対する確認や相矛盾する操作への対応などの情報が不足しているため、これら不十分な情報を得るために、音声対話を後続させる必要がある。ユーザの自由発話を許容しない従来のシステムにおいては、そもそも、必要な情報すべてを順次得るように対話フローを設計する。しかし、自由発話を許す場合にはこのように不足する情報を補充するための音声(またはそれ以外のモダリティを利用した)インタラクションを後続させる必要がある。
【0013】
以上のように、高度な発話意図抽出手段を有した音声対話システムも開発されている。しかしながら、このような高度な発話意図抽出手段を利用した音声対話システムを構築するためには往々にして専門的な知識が必要となり、またそれらの知識をシステムに実装する工数も大きくなるため、高コストなシステムにならざるを得ない。その結果、比較的単純で応用範囲の狭いトイシステムとなりがちである。例えば特許文献1で開示されている音声対話システムにおいて、操作対象機器に新たな機能が追加された場合、既存のすべての(あるいは代表的な)機能との間の依存関係をすべて洗い出しなおす必要がある。仮に三つ以上の機能に対して特別な問題が生じる可能性があるとすれば機能の数に対して指数的に把握すべき依存関係が増えていくので、機能強化に合わせて音声対話システムを更新するコストもまた指数的に増えていくと言える。
【0014】
比較的低コストで実現可能な発話意図抽出型音声対話システムとして、機械学習に基づくテキスト分類技術を利用した音声対話システムが考えられる。このような音声対話システムの例として非特許文献1を挙げる。この文献で開示されたシステムでは、まずユーザの発話を音声認識手段によってテキストに変換する。このテキストを、事前に収集したラベル付き学習データより機械学習手法を用いて構築した意図分類器に掛けることで、ユーザの発話意図を大まかに分類する。例えば "I see charges on my bill that I do not understand."という発話であれば "Explain"(説明の依頼)という意図であることが分かる。さらにユーザ発話の認識テキストを固有表現抽出器に掛けることによって、その意図の対象となる事項(の固有表現)も合わせて取得する。例えば前掲の例であれば "Bill_Charge"(料金請求)が抽出されるので、結果として "Explain(Bill_Charge)"(料金請求に関する説明の依頼)がユーザの発した発話の意図であることが分かる。
【0015】
自動テキスト分類技術に基づく音声対話システムは、特許文献1のような高度なテキスト解析技術を用いる音声対話システムに比べれば限定的な意図しかユーザ発話から抽出できないが、ユーザの自由発話をまったく許容しないシステムに比べれば十分に高い自由度を実現できる。その一方、ユーザの自由発話をまったく許容しないシステムに比べれば必要となる追加の知識(自動分類器の学習データ)は少なくないが、高度なテキスト解析技術が要求するほどの追加の知識(機器の機能間依存関係)を必要としない。すなわち、こうした既存技術のちょうど中間に当たる音声対話システムであると言える。
【0016】
しかしながら、テキスト分類器を動作させるためには予めいくつかの分類カテゴリをシステム提供者側が用意し、各々の分類カテゴリに対する想定入力文を学習データとして収集しておく必要がある。適切な分類カテゴリを用意できない場合には、ユーザが自由発話に込めた情報を適切に拾い出すことができず、結果として、従来の素朴な音声対話システムと同様の問題を抱えることになってしまう。
【0017】
一方で、分類カテゴリの追加や削除は容易ではない。理由のひとつとしては、発話分類を用いる方式であってもテキスト分類器を新たに構築したり、既存のテキスト分類器を強化したりするためには追加の学習データが必要となるためにある程度のコストが掛かることが挙げられる。また別の理由としては、十分な学習データが得られなければ分類精度に悪影響を及ぼすため、不用意に分類カテゴリを増減することが難しいということも挙げられる。何らかの方法で分類カテゴリ候補の妥当性を検証することができれば、新たな分類カテゴリをいたずらに追加・削除することを回避し、効率的にテキスト分類器およびそれに後続する対話フローを最適化できるようになり、実用性が飛躍的に高まる。
【先行技術文献】
【特許文献】
【0018】
【特許文献1】特願平10−228114号公報
【非特許文献】
【0019】
【非特許文献1】Narendra Gupta et al , "The AT&T Spoken Language Understanding System". IEEE Transactions on Audio, Speech, and Processing, 14:1, 213−222.
【発明の概要】
【発明が解決しようとする課題】
【0020】
第1の問題点は、音声認識結果からユーザの発話意図を分類し、それに基づいて後続する対話フローを制御するような音声対話システムにおいては、分類カテゴリの設定が不適切であるが故に、ユーザの発話意図が対話フローに満足に反映されない、ということが起こり得るという点である。その理由は、システム側が予め用意した分類カテゴリが、実際のユーザ発話に照らして不必要に偏っていたり、あるいは詳細化が不十分であったりする場合、そのような分類カテゴリ間の自動分類結果は後続する対話フローに対して十分なフィードバックを与えないためである。
【0021】
例えば音声医療相談システムを構築するのに当たって、想定ユーザ発話を病気の症状の説明と仮定し、病名ごとに別々の分類カテゴリを用意したとする。このようなシステムに対し、ユーザが「風邪の予防にはどんな対策をすればよいか」を尋ねたとすると、どの分類カテゴリ(=病名)を選んでも不適切である。また、一方で、異なる複数の分類カテゴリで呈される症状の間でほとんど区別がつかない場合、どの分類カテゴリが選択されても結局は病名を確定させるための追加の対話が必要となる。
【0022】
第2の問題点は、音声対話システムに対するユーザの利用履歴等を単純に参照して分類カテゴリを不用意に最適化しようとすると、結果としてユーザ発話意図の自動分類機構が満足に動作しなくなる、という点である。その理由は、新たな分類カテゴリが他の分類カテゴリと十分に比較可能であるかどうかを考慮せずに設計された自動分類器は十分な精度で動作せず、結果として後続する対話フローに対して誤ったフィードバックを与える可能性があるためである。
【0023】
例えば上述の音声医療相談システムにおいて、過去一ヶ月に症状として「胃の痛み」を訴えたケースの最終的な診断結果の多くが「逆流性胃炎」であったとしても、それによって直ちに「逆流性胃炎」を分類カテゴリに追加してよいとは言えない。なぜなら、他の分類カテゴリ(=病名)でも「胃の痛み」を訴えるケースはあり得るからである。
【0024】
本発明の目的は、音声認識結果からユーザの発話意図を分類し、それに基づいて後続する対話フローを制御するような音声対話システムにおいて、実際のユーザの発話に適した分類カテゴリの設定が比較的容易に行えるようなメンテナンス性の高い対話システムを提供することにある。
【0025】
本発明の他の目的は、上記の分類カテゴリ設定の最適化の際に、不用意な最適化によって発話意図の自動分類精度が劣化することを防ぐことができるようなメンテナンス性の高い対話システムを提供することにある。
【課題を解決するための手段】
【0026】
本発明によれば、入力データを入力し、入力された前記入力データを複数のカテゴリのいずれかに分類する分類手段と、前記分類手段によって分類された前記カテゴリを起点とする状態遷移を、ユーザとの対話形式で進行して最終状態に導く対話管理手段と、前記分類手段に入力された前記入力データと、前記対話管理手段によって進行された前記状態遷移と、を対にした対話対を登録する状態遷移記憶手段と、前記状態遷移記憶手段によって登録された複数の前記対話対から新たな前記カテゴリの候補である新規カテゴリを抽出する新規カテゴリ抽出手段と、を備え、前記分類手段は、前記新規カテゴリ抽出手段によって抽出された前記新規カテゴリを、分類可能な前記カテゴリに追加することを特徴とする対話システムが提供される。
【0027】
また、本発明によれば、入力データを入力し、入力された前記入力データを複数のカテゴリのいずれかに分類する分類ステップと、前記分類ステップで分類された前記カテゴリを起点とする状態遷移を、ユーザとの対話形式で進行して最終状態に導く対話管理ステップと、前記分類ステップで入力された前記入力データと、前記対話管理ステップで進行された前記状態遷移と、を対にした対話対を登録する状態遷移記憶ステップと、前記状態遷移記憶ステップで登録された複数の前記対話対から新たな前記カテゴリの候補である新規カテゴリを抽出する新規カテゴリ抽出ステップと、前記新規カテゴリ抽出ステップで抽出された前記新規カテゴリを、前記分類ステップで分類される前記カテゴリとして追加する新規カテゴリ追加ステップと、を備えることを特徴とする対話フローの更新方法が提供される。
【0028】
さらに、本発明によれば、コンピュータが読み出し可能な記憶媒体に格納されたプログラムであって、入力データを入力し、入力された前記入力データを複数のカテゴリのいずれかに分類する分類処理と、前記分類処理で分類された前記カテゴリを起点とする状態遷移を、ユーザとの対話形式で進行して最終状態に導く対話管理処理と、前記分類処理で入力された前記入力データと、前記対話管理処理で進行された前記状態遷移と、を対にした対話対を登録する状態遷移記憶処理と、前記状態遷移記憶処理で登録された複数の前記対話対から新たな前記カテゴリの候補である新規カテゴリを抽出する新規カテゴリ抽出処理と、前記新規カテゴリ抽出処理で抽出された前記新規カテゴリを、前記分類処理で分類される前記カテゴリとして追加する新規カテゴリ追加処理と、を前記コンピュータに実行させることを特徴とするプログラムが提供される。
【発明の効果】
【0029】
本発明によれば、実際のユーザの発話に適した分類カテゴリの設定が比較的容易に行えるようなメンテナンス性の高い対話システムが提供される。また、本発明によれば、不用意な最適化によって発話意図の自動分類精度が劣化することを防ぐことができるようなメンテナンス性の高い対話システムが提供される。
【図面の簡単な説明】
【0030】
【図1】本発明の実施の形態に係る音声対話システムの機能構成図である。
【図2】本実施形態の音声対話システムの動作フローを表すフローチャートである。
【発明を実施するための形態】
【0031】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【0032】
図1は、本発明の実施の形態に係る音声対話システム10の機能構成図である。図1を参照すると、本発明の第1の実施形態は、音声認識部11と、発話意図分類部12と、対話管理部13と、対話状態遷移情報記憶部14と、新規カテゴリ抽出部15とから構成されている。
【0033】
なお、図1に図示する機能の全部または一部は、ハードウェアで実現されてもよいし、あるいは、プロセッサに処理を実行させるプログラム(またはプログラムコード)で実現されてもよい。プロセッサは、不揮発性メモリなどの記録媒体から、各々の機能の実現に要するプログラムやデータ等を読み出したり、書き込んだりすることができる。
【0034】
上記の各機能は、それぞれ概略つぎのように動作する。音声認識部11は、ユーザの発話を音声認識し、音声認識された発話の少なくとも一部を機械可読な発話データ(テキストデータ)に変換する。発話意図分類部12は、音声認識部11によって変換された発話データを入力データとして入力し、入力された入力データを複数のカテゴリのいずれかに分類する。対話管理部13は、発話意図分類部12によって分類されたカテゴリを起点とする状態遷移を、ユーザとの対話形式で進行して最終状態に導く。対話状態遷移情報記憶部14は、発話意図分類部12に入力された入力データと、対話管理部13によって進行された状態遷移と、を対にした対話対を登録する。新規カテゴリ抽出部15は、対話状態遷移情報記憶部14によって登録された複数の対話対を学習し、学習された対話対から新たなカテゴリの候補である新規カテゴリを抽出する。さらに、発話意図分類部12は、新規カテゴリ抽出部15によって抽出された新規カテゴリを、分類可能なカテゴリに追加する。
【0035】
以下、上述の各機能について、より詳細に説明する。
【0036】
音声認識部11は、ユーザの自由発話である音声データを入力し、音声認識技術を用いてテキストデータに変換する。ここで音声認識技術としては既知の任意の技術を用いることができる。例えば、大語彙連続音声認識技術を用いると、ユーザの発話の自由度がより広いため好適である。後述の発話意図分類部12の動作によっては、キーワードスポッティング方式の音声認識技術でも構わない。また、文法ベースの音声認識技術であっても、システムが要求する程度にユーザ発話の自由度が得られるなら、用いてよい。いずれにしても、入力された音声データを、後続する発話意図分類部12が要求するテキストデータに変換できることが条件である。
【0037】
発話意図分類部12は、音声認識部11によってユーザの自由発話音声から得られたテキストを入力とし、当該ユーザ発話が、所与の分類カテゴリのいずれに属すかを推定する。推定には、既知の任意のテキスト分類技術を用いることができるが、一例を挙げると、入力テキストに含まれる各単語に関して、分類カテゴリごとに予め求めておいた分類寄与度を求め、それらを合算する。例えば単語w1,w2,w3からなるテキストが入力され、分類カテゴリがA,B,Cであるとき、w1のA,B,Cそれぞれの寄与度が1,2,2であり、同様にw2とw3がそれぞれ3,1,2および2,5,2であれば、この入力テキストはAに関して6点(=1+3+2)、Bに関して8点(=2+1+5)、Cに関して6点(=2+2+2)となる。この場合、発話意図分類部12は、最もスコアの高いBに属するもの推定する。
【0038】
音声認識部11から出力されるテキストデータが文であって、日本語である場合、発話意図分類部12は必要に応じて形態素解析処理などを合わせて行ってもよい。また、言語によらず、複数の単語対から構成される意味的なまとまり(固有表現と呼ばれる)を単位として扱うことによって精度が高まるのであれば、発話意図分類部12は、固有表現抽出処理を合わせて行ってよい。音声認識部11から出力されるテキストデータが単語群である場合(すなわちキーワードスポッティング方式の音声認識技術を用いた場合)は、単語群をそのまま用いても良い。
【0039】
発話意図分類部12はまた、音声認識部11から出力されるテキストデータに対して、以下の処理のいずれかひとつまたは複数の任意の組み合わせによって抽出した情報を利用するようなテキスト分類技術によって実現することもできる。
・認識結果テキストの表現の揺れを吸収するために、同義語と看做せる単語や固有表現を単一の単語にまとめる。
・単語や文の読みを合わせて用いる。例えば「生物」を「いきもの」と読む場合と「せいぶつ」と読む場合、異なるカテゴリに寄与することがあり得る。同様に、単語や文の音声のアクセント情報やイントネーション情報を合わせて用いても良い。これは、例えば「箸」と「橋」の区別などに有用である。
・テキスト中の単語が属す品詞やクラスを用いる。
・単語や文の一部の分類寄与度にその単語や文の一部の認識スコアの大小に基づいてボーナスやペナルティを足し引きしたり、信頼度尺度に応じて分類寄与度を重み付けて評価したりする。
・認識スコアや信頼度尺度を用いて誤認識の可能性の高い単語や文の一部を削除する。
【0040】
対話管理部13は、発話意図分類部12の分類結果に基づいて、ユーザの所望の動作(ゴール)を実現するために不足する情報をユーザに問い合わせる。
【0041】
ある程度複雑な音声対話システムでは、最終的なゴールに到達するために対話管理部13は多くの情報を得る必要があり、それら一つ一つを問い合わせた結果に応じて、さらに複数の情報が必要になったり、あるいは逆に、推定可能な情報の問い合わせをスキップしたりといった複雑な処理を行う。具体的な実装はさまざまであるが、抽象的には、対話管理部13は一種の状態遷移マシンとして表現できる。すなわち、対話管理部13は、発話意図分類部12の出力に応じて異なる初期状態から出発し、ユーザの所望の動作に到達可能な最適なパスを選択しながら(あるいは盲目的に)状態遷移を繰り返し、さらなる状態遷移のためにユーザからの追加の情報入力が必要な場合にはその旨をユーザに提示し、入力を受け付ける。
【0042】
例えば、本実施形態の音声対話システム10を「空席照会」「座席予約」の機能を備える「新幹線の座席予約システム」に適用する場合、対話管理部13は次のような処理を行う。なお、上記機能のいずれであっても、対話管理部13は「到着駅」「出発駅」「席区分」「人数」「時間帯指定有無」「喫煙指定有無」を要求することを前提として説明する。
対話管理部13は、上記に列挙した項目のうち、インタラクション(ユーザ発話の入力等)によって指定される項目について処理し、指定されない項目に関しては、これらを個別に問い合わせる。また、「時間帯指定有無」が「有」である場合などは、さらに「乗車時間帯」が要求されるので、これも問い合わせる。
場合によっては1つの対話(インタラクション)で複数の項目が指定される場合もある。例えば、「グリーン車に乗りたい」というユーザ発話が入力されれば、「席区分:グリーン車」は「禁煙指定有無:有」かつ「禁煙指定:禁煙車」が一度に指定される。あるいは、「次の大阪行き」というユーザ発話が入力されれば、「到着駅:大阪」「時間帯指定:有」「乗車時間帯:直近」が一度に指定される。
【0043】
より具体的に説明すれば、入力されるユーザ発話が「次の大阪行きは空いている?」である場合、発話意図分類部12と対話管理部13は、次のような処理をする。
1.発話意図分類部12は「時間帯指定:有」「時間帯:直近」「到着駅:大阪」に相当する状態を分類先として対話管理部13に出力する。
2.この状態では「空席照会」か「座席予約」かが不明なので、対話管理部13は「空席照会」と「座席予約」のいずれを所望しているのか、ユーザに問い合わせる。
3.さらに対話管理部13は、欠けている「出発駅」「席区分」「人数」「喫煙指定有無」の項目について個別にユーザに問い合わせる。
【0044】
このとき、追加情報入力の提示(ユーザへの問い合わせ)は音声によるガイダンスを発してもよいし、備わっているのであれば、GUI装置に対してプロンプトを表示させてもよい。その他、ビープ音やメロディ、バイブレーション、発光なども用いることができる。
【0045】
追加情報入力の受理は、音声認識による方法でも良いし、マウスやキーボード、タッチパネル、圧力センサなど任意のモダリティを利用してよい。音声認識を用いる場合、音声認識部11を用いても良いし、別途、追加入力を受け付ける情報に特化した別の音声認識手段を用いても良い。
【0046】
対話状態遷移情報記憶部14は、対話管理部13の内部の状態遷移を逐一監視し、あるユーザの音声発話である音声データ、あるいはその音声データを音声認識部11によってテキスト化したテキストデータと、当該音声データ(または当該テキストデータ)が属する分類カテゴリを起点とする対話管理部13の一連の動作が完了するまでの間に経由した対話状態の遷移情報とをペア(以降、このペアを対話対と称す)として、記憶媒体に登録する。
【0047】
新規カテゴリ抽出部15は、音声認識部11から対話状態遷移情報記憶部14までの一連の動作が何度か駆動し、対話状態遷移情報記憶部14にいくつかの対話対が記憶された後に起動される。本実施形態において、新規カテゴリ抽出部15の起動タイミングは、対話状態遷移情報記憶部14に記憶された対話対の数が所定の数を超えたときとするが、必ずしもこれに限らなくてもよい。例えば、新規カテゴリ抽出部15は、所定の時刻になると自律的に起動してもよいし、ユーザの操作入力によって起動してもよい。
【0048】
新規カテゴリ抽出部15は、対話状態遷移情報記憶部14に登録された複数の対話対から新たなカテゴリの候補となりうる対話状態の有無を調査し、見つかれば、これを抽出する。以降で詳述するように、本実施形態においては、上記抽出処理は複数の対話対間における対話状態遷移の相似性によって為される。すなわち、少なくとも一つの状態を共有する複数の対話対が登録されている場合、共有されている当該状態(または状態群)を新たな分類カテゴリ候補として抽出する。なお、グループが共有している状態が複数存在する場合、それらの状態のいずれか一つを抽出してもよいし、複数の状態を組み合わせて新たな分類カテゴリ候補としてもよい。
【0049】
続いて、新規カテゴリ抽出部15が特定の対話状態を共有する対話対のグループを抽出する処理について、詳細に説明する。
【0050】
例えば、ある発話X1がカテゴリL1に分類され、対話状態遷移がS(L1)→a→b→c→G(C)と進んだ場合にこの発話によって得られる対話対を{X1,S(L1),a,b,c,G(C)}と表すことを定義する。いま、別の発話X2によって得られた対話対が{X2,S(L2),d,e,c,G(C)}とすると、これらの対話対は状態cを共有する。もしX1とX2から直接状態cに遷移することができれば、状態a,b,d,eを経由する必要がなくなり、ユーザへの追加情報入力の要求回数を削減することができる。
【0051】
比較的単純な対話フロー構造を持つ音声対話システムの場合は、上記のように単純に同一の対話状態を経由したかどうかだけでも構わない。
【0052】
より複雑な音声対話システムの場合は、対話状態自体がいくつかの属性を持つことがある。例えば、列車の座席予約システムの対話フローであれば、例えば「到着駅問い合わせ状態」のような対話状態を経由することになるが、この状態が「出発駅」なる属性を持っており、先に入力されていた出発駅に関する情報を属性値として与えられているようなケースがある。この属性は例えば到着駅問い合わせ時に表示する地図情報のデフォルト画面の設定などに利用される。こうした属性値の情報を、共有状態の判定時に無視しても良いし、あるいは利用しても良い。前者は、先ほどの例で言えば「到着駅の問い合わせをしたかどうか」のみで判断することに相当し、後者は、例えば「東京から出発した場合の到着駅の問い合わせをしたかどうか」で判断していることに相当する。
【0053】
また、例えば対話対P1,P2が状態q,rを共有している状況で別の対話対P3がqまたはrのみを有している場合は、P1,P2のみからなるグループとP1,P2,P3からなるグループを二つ抽出しても良いし、何らかの尺度でどちらか一方のみを残しても良い。例えば、単純により要素数の大きなグループのみを残したり、共有状態数の多いグループを優先的に抽出したりしても良い。
【0054】
以上のように新規カテゴリ抽出部15によって抽出された状態を、そのまま新たなカテゴリ候補として採用しても構わないが、当該状態が既に登録されている分類カテゴリと十分に比較可能であるかどうかを評価し、その妥当性を考慮することが望ましい。その理由は、既に述べたように、当該状態の分類カテゴリとしての妥当性を考慮しなければ発話意図分類部12が十分な精度で動作しなくなり、不適切な状態へ遷移することになって却ってユーザの利便性を損なうためである。
【0055】
従って、本実施形態では新規カテゴリ抽出部15によって出力される状態が新規カテゴリとして適切か(十分な精度で分類可能か)否かを判定する判定部16を設ける。なお、本実施形態において、判定部16は新規カテゴリ抽出部15の内部構造として説明するが、新規カテゴリ抽出部15とは異なる別の機構であってもよい。
【0056】
最も単純な判定部16は、その状態に到達するユーザ発話群(を含む対話対)の個数が所与のある値より大きいか否かで判断を行うものである。すなわち、十分に多くのユーザ発話が得られれば、十分に精度の高いカテゴリ分類器を学習できるという判断基準である。
【0057】
より望ましい判定部16は、その状態に到達するユーザ発話群(を含む対話対)と、到達しないユーザ発話群(を含む対話対)とを何らかの尺度によって明確に弁別可能であるかどうかによって、新規カテゴリとして適切か否かを判断するものである。そこで、本実施形態においては、このような弁別を行う弁別器を判定部16として用いる。
この弁別器(判定部16)と発話意図分類部12が、同じ素性データを入力として用いるのであれば、この弁別器の処理は、発話意図分類部12によって為そうとする課題(N値分類)の部分問題と看做せる。従って、ある新規カテゴリ候補である(新規カテゴリ抽出部15によって出力される)状態について、十分に弁別精度の高い弁別器を構築可能なのであれば、少なくともその状態に到達するユーザ発話の一部については正しくその分類カテゴリに分類できるような発話意図分類部12が構築できる。
【0058】
このような弁別器(判定部16)は、ユーザ発話群を入力とし、ある状態に到達するか否か(真偽値)を出力とする2値分類器を利用して実現できる。例えばサポートベクターマシン(SVM)等の機械学習ベースの分類モデルを、このような2値分類器として用いることができる。このような2値分類器は、十分な量の学習データ(出力ラベルつき入力データの集合)が与えられた場合、一連のアルゴリズムを用いることで自動的に内部パラメータを更新する(学習する)ことができるので、十分に学習された弁別器によって新規カテゴリとして適切か否かを判断することができる。
【0059】
例えば、弁別器(判定部16)が、真(=到達する)または偽(=到達しない)を返す場合、正解が真である(=到達する)ユーザ発話に対して真を返すならプラスの得点を、正解が偽である(=到達しない)ユーザ発話に対して真を返すならマイナスの得点を、それぞれ与え、すべての過去の対話対に対する得点の合計が所与の閾値を超える場合は妥当と看做すといった方法でもよい。
【0060】
あるいはまた、例えば、弁別器(判定部16)が「到達する確からしさ」を0.0〜1.0の実数値で返す場合、正解が真である(=到達する)ユーザ発話に対する「到達する確からしさ」の合計と、正解が偽である(=到達しない)ユーザ発話に対する「到達する確からしさ」の合計と、を比較し、前者が後者より所与の割合だけ大きければ妥当と看做すといった方法でもよい。
【0061】
上記のような弁別器の学習には、真偽ラベルのついたユーザ発話群である学習データが必要である。そのような学習データは事前に集めても良いが、本実施形態においては、対話状態遷移情報記憶部14によって過去に登録された対話対を利用することもできる。なぜなら、対話状態遷移情報記憶部14によって登録された対話対を参照すれば、入力されたユーザ発話を起点とする対話(状態遷移)において、評価対象の状態に到達したか否か(真偽値)を判断することができるからである。
従って、事前に学習データを用意しなくても、本実施形態の音声対話システム10を稼動し続けることによって、上記のような弁別器を学習させることができる。
【0062】
また、本実施形態において、弁別器(判定部16)による弁別処理の精度が所与の精度以上であるか否かを判断する検定部17を更に備えることが好ましい。このとき、新規カテゴリ抽出部15は、検定部17によって弁別処理の精度が所与の精度以上であると判断された場合、その弁別処理に用いられた状態を新規カテゴリとして抽出する。
なお、本実施形態において、検定部17も、判定部16と同様に新規カテゴリ抽出部15の内部構造として説明するが、新規カテゴリ抽出部15とは異なる別の機構であってもよい。
【0063】
機械学習ベースの分類モデルの学習は、基本的には、与えられた学習データに対して最適なパラメータを得るように動作するが、学習データが少ない場合には、その学習データに過度に適合しすぎるという問題がある(ロバスト性が低い)。そこで、何らかの基準で学習データの個数が十分であるかどうかを判断する必要がある。
【0064】
最も単純な判断基準は、学習データの個数が所与の閾値以上であるか否かを用いるものである。
さらに別の判断基準として、交差検定を用いる方法も考えられる。これは、ロバストなモデルを学習するのに十分な学習データが得られているなら、確率的には、その学習データのどの一部に対しても概ね同程度の弁別性能を示すことが期待できるという概念に基づいている。
【0065】
検定部17に交差検定法を適用する場合、検定部17は、登録された対話対の一部を学習用データとして弁別器に学習させ、残りを評価用データとして弁別器に判断させる。このとき、検定部17は、複数通りの学習用データと評価用データとの組み合わせを用いて、弁別器に複数回の(新規カテゴリとして適切か否かの)判断を行わせ、その判断結果に基づいて当該弁別器の学習の良し悪し(妥当性)を判断する。このとき、学習の妥当性を示す尺度は複数通り存在してもよく、それらの平均や多数決をとっても良い。
【0066】
上述のような処理で、新規カテゴリ抽出部15が抽出した新たなカテゴリ候補(新規カテゴリ)が、発話意図分類部12が分類可能な分類カテゴリとして追加される。なお、新たな分類カテゴリを追加され、発話意図分類部12の分類結果としてその新カテゴリが得られた場合、対話管理部13が直接その新カテゴリの元となった対話対グループが共有する状態のいずれか一つに遷移するように発話意図分類部12が更新されることが望ましい。
【0067】
図2は、本実施形態の音声対話システム10の動作フローを表すフローチャートである。まず、ユーザからの発話を音声認識し、音声認識された発話の少なくとも一部を機械可読なデータ(発話データ)に変換する(ステップS1)。つぎに、ステップS1で変換された発話データを入力データとして入力し、入力された入力データを複数のカテゴリのいずれかに分類する(ステップS2)。続いて、ステップS2で選択された分類カテゴリを初期状態とする状態遷移を、ユーザとの対話形式で進行して最終状態に導く(ステップS3)。そして、ステップS2で入力された入力データと、ステップS3で進行された状態遷移と、を対にした対話対を登録する(ステップS4)。
【0068】
ステップS1〜ステップS4の動作が繰り返され、対話対が所定の数に達したとき(ステップS5のYES)、ステップS4で登録された複数の対話対から新たなカテゴリの候補である新規カテゴリを抽出する(ステップS6)。そして、ステップS6で抽出された新規カテゴリを、ステップS2で分類されるカテゴリとして追加する(ステップS7)。なお、対話対が所定の数に満たない間(ステップS5のNO)、ステップS1〜ステップS4の一連の動作が繰り返される。
【0069】
ここで、本実施形態の効果について説明する。第1の効果は、音声認識結果からユーザの発話意図を分類し、それに基づいて後続する対話フローを制御するような音声対話システムにおいて、実際のユーザの発話に適した分類カテゴリの設定が行えるような音声対話システムを提供できることにある。その理由は、実際にシステムに入力されたユーザ発話に基づいて分類カテゴリを再設定することが可能であるためである。
【0070】
第2の効果は、上記分類カテゴリの再設定を、比較的低コストに行えることにある。その理由は、発話分類に後続するユーザとシステムの間の対話によって得られた情報と、その情報に基づく発話状態の遷移の中から特に強く共有される対話状態を新たな分類カテゴリとして選ぶため、分類カテゴリの再設定に当たってシステム提供者側が特別に何らかの知識(データ等)を追加する必要がないためである。
【0071】
第3の効果は、上記分類カテゴリの再設定の際に、不用意な最適化によって発話意図の自動分類精度が劣化することを防ぐことができるような音声対話システムを提供できることにある。その理由は、新たな分類カテゴリに対する分類器の正例の学習データとなるべきユーザ発話と、負例となるべきユーザ発話とが得られるので、それらを十分な精度で弁別可能な弁別器が学習可能であるかを事前にチェックすることで、十分な精度の発話意図分類器を再学習可能かどうか予測できるためである。
【0072】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
【0073】
例えば、上記の実施形態では、ユーザの発話を音声認識して得られたデータを入力する音声対話システムとして説明したが、必ずしもこれに限らなくてもよい。例えば、キーボードやタッチパネルに対して操作入力しながら、ユーザとの対話形式でインタラクションを行う操作型の対話システムに応用してもよいし、音声入力と操作入力との双方に対応してインタラクションを行う対話システムに応用してもよい。当然、音声認識を行わない対話システムの場合、上記の実施形態で説明した音声認識部11を用いる必要はない。
【0074】
上記実施形態の説明にはフローチャートを用いており、複数のステップを順番に記載してあるが、その記載の順番は、本発明の対話フローの最適化方法のステップを実行する順番を限定するものではない。このため、本発明の対話フローの最適化方法を実行するときには、その複数のステップの順番は内容的に支障しない範囲で変更することができる。
【0075】
なお、当然ながら、上述した実施の形態および複数の変形例は、その内容が相反しない範囲で組み合わせることができる。また、上述した実施の形態および変形例では、各構成要素の機能などを具体的に説明したが、その機能などは本願発明を満足する範囲で各種に変更することができる。
【0076】
本発明によれば、音声を用いて機器を操作する音声機器制御装置や情報検索装置をコンピュータに実現するためのプログラムといった用途に適用できる。これらは、パーソナルコンピュータ、携帯電話、カーナビゲーションシステム、ゲーム機、家電機器の操作、店頭での商品案内、工場等での工程管理情報入力などで利用できる。また、本発明は当該システムへの過去の入力を学習データとして利用するため、特にクライアント・サーバ型の利用形態で有効である。
【符号の説明】
【0077】
10 音声対話システム
11 音声認識部
12 発話意図分類部
13 対話管理部
14 対話状態遷移記憶部
15 新規カテゴリ抽出部
16 判定部
17 検定部

【特許請求の範囲】
【請求項1】
入力データを入力し、入力された前記入力データを複数のカテゴリのいずれかに分類する分類手段と、
前記分類手段によって分類された前記カテゴリを起点とする状態遷移を、ユーザとの対話形式で進行して最終状態に導く対話管理手段と、
前記分類手段に入力された前記入力データと、前記対話管理手段によって進行された前記状態遷移と、を対にした対話対を登録する状態遷移記憶手段と、
前記状態遷移記憶手段によって登録された複数の前記対話対から新たな前記カテゴリの候補である新規カテゴリを抽出する新規カテゴリ抽出手段と、を備え、
前記分類手段は、前記新規カテゴリ抽出手段によって抽出された前記新規カテゴリを、分類可能な前記カテゴリに追加することを特徴とする対話システム。
【請求項2】
請求項1に記載の対話システムであって、
前記新規カテゴリ抽出手段は、登録された複数の前記対話対の夫々に含まれる前記状態遷移が有するいずれかの状態を、前記新規カテゴリとして抽出することを特徴とする対話システム。
【請求項3】
請求項2に記載の対話システムであって、
前記新規カテゴリ抽出手段は、少なくとも一つの前記状態を共有する複数の前記対話対が登録されている場合、共有されている当該状態を前記新規カテゴリとして抽出することを特徴とする対話システム。
【請求項4】
請求項2または3に記載の対話システムであって、
前記新規カテゴリ抽出手段によって抽出された前記状態が前記新規カテゴリとして適切か否かを評価する判定手段を備えることを特徴とする対話システム。
【請求項5】
請求項4に記載の対話システムであって、
前記判定手段は、
複数の前記対話対を入力し、入力された前記対話対のうち、前記新規カテゴリ抽出手段によって抽出された前記状態を含む前記対話対の個数が所与の値より大きいとき、当該状態が前記新規カテゴリとして適切であると判定することを特徴とする対話システム。
【請求項6】
請求項4に記載の対話システムであって、
前記判定手段は、前記新規カテゴリ抽出手段によって抽出された前記状態を含む前記対話対と、他の前記対話対とを弁別する弁別処理を行い、
さらに、前記弁別処理の精度が所与の精度以上であるか否かを判断する検定手段を備え、
前記新規カテゴリ抽出手段は、前記検定手段によって前記弁別処理の精度が前記所与の精度以上であると判断された場合、当該状態を前記新規カテゴリとして抽出することを特徴とする対話システム。
【請求項7】
請求項6に記載の対話システムであって、
前記検定手段は、交差検定法を用いることを特徴とする対話システム。
【請求項8】
請求項1乃至5いずれか一項に記載の対話システムであって、
前記ユーザの発話を音声認識し、音声認識された前記発話の少なくとも一部を機械可読な発話データに変換する音声認識手段を備え、
前記分類手段は、前記音声認識手段によって変換された前記発話データを前記入力データとして入力することを特徴とする対話システム。
【請求項9】
入力データを入力し、入力された前記入力データを複数のカテゴリのいずれかに分類する分類ステップと、
前記分類ステップで分類された前記カテゴリを起点とする状態遷移を、ユーザとの対話形式で進行して最終状態に導く対話管理ステップと、
前記分類ステップで入力された前記入力データと、前記対話管理ステップで進行された前記状態遷移と、を対にした対話対を登録する状態遷移記憶ステップと、
前記状態遷移記憶ステップで登録された複数の前記対話対を学習し、学習された前記対話対から新たな前記カテゴリの候補である新規カテゴリを抽出する新規カテゴリ抽出ステップと、
前記新規カテゴリ抽出ステップで抽出された前記新規カテゴリを、前記分類ステップで分類される前記カテゴリとして追加する新規カテゴリ追加ステップと、
を備えることを特徴とする対話フローの更新方法。
【請求項10】
コンピュータが読み出し可能な記憶媒体に格納されたプログラムであって、
入力データを入力し、入力された前記入力データを複数のカテゴリのいずれかに分類する分類処理と、
前記分類処理で分類された前記カテゴリを起点とする状態遷移を、ユーザとの対話形式で進行して最終状態に導く対話管理処理と、
前記分類処理で入力された前記入力データと、前記対話管理処理で進行された前記状態遷移と、を対にした対話対を登録する状態遷移記憶処理と、
前記状態遷移記憶処理で登録された複数の前記対話対を学習し、学習された前記対話対から新たな前記カテゴリの候補である新規カテゴリを抽出する新規カテゴリ抽出処理と、
前記新規カテゴリ抽出処理で抽出された前記新規カテゴリを、前記分類処理で分類される前記カテゴリとして追加する新規カテゴリ追加処理と、
を前記コンピュータに実行させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate


【公開番号】特開2011−215742(P2011−215742A)
【公開日】平成23年10月27日(2011.10.27)
【国際特許分類】
【出願番号】特願2010−81583(P2010−81583)
【出願日】平成22年3月31日(2010.3.31)
【出願人】(000004237)日本電気株式会社 (19,353)
【出願人】(000232254)日本電気通信システム株式会社 (586)
【Fターム(参考)】