JP2006039120A - 対話装置および対話方法、並びにプログラムおよび記録媒体 - Google Patents
対話装置および対話方法、並びにプログラムおよび記録媒体 Download PDFInfo
- Publication number
- JP2006039120A JP2006039120A JP2004217429A JP2004217429A JP2006039120A JP 2006039120 A JP2006039120 A JP 2006039120A JP 2004217429 A JP2004217429 A JP 2004217429A JP 2004217429 A JP2004217429 A JP 2004217429A JP 2006039120 A JP2006039120 A JP 2006039120A
- Authority
- JP
- Japan
- Prior art keywords
- sentence
- response
- substantial
- formal
- input
- 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.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims description 185
- 230000002452 interceptive effect Effects 0.000 title claims description 44
- 230000004044 response Effects 0.000 claims abstract description 1242
- 239000013598 vector Substances 0.000 claims description 104
- 238000012217 deletion Methods 0.000 claims description 10
- 230000037430 deletion Effects 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 description 74
- 230000015572 biosynthetic process Effects 0.000 description 53
- 238000003786 synthesis reaction Methods 0.000 description 53
- 238000012545 processing Methods 0.000 description 50
- 230000006870 function Effects 0.000 description 41
- 238000012986 modification Methods 0.000 description 33
- 230000004048 modification Effects 0.000 description 33
- 230000014509 gene expression Effects 0.000 description 27
- 239000002245 particle Substances 0.000 description 23
- 238000012795 verification Methods 0.000 description 16
- 230000003993 interaction Effects 0.000 description 10
- 238000004519 manufacturing process Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 8
- 238000003780 insertion Methods 0.000 description 8
- 230000037431 insertion Effects 0.000 description 8
- 230000008451 emotion Effects 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 7
- 238000001308 synthesis method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000001228 spectrum Methods 0.000 description 5
- 238000006467 substitution reaction Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 2
- 241000287531 Psittacidae Species 0.000 description 2
- 230000009118 appropriate response Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000012015 optical character recognition Methods 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 210000001072 colon Anatomy 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
- G10L13/027—Concept to speech synthesisers; Generation of natural phrases from machine-based concepts
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Machine Translation (AREA)
Abstract
【課題】形式と内容が適切な応答を、短時間で返す。
【解決手段】 形式的応答生成部11は、入力文に対して、形式的応答文を生成し、応答出力制御部16に供給する。実質的応答生成部13は、入力文に対して、実質的応答文を生成し、応答出力制御部15に供給する。応答出力制御部16は、形式的応答文と実質的応答文の出力を制御し、入力文に対する最終的な応答文を出力する。即ち、応答出力制御部16は、例えば、形式的応答文を出力し、その後、実質的応答文を出力する。本発明は、例えば、対話を行うロボットなどに適用できる。
【選択図】図2
【解決手段】 形式的応答生成部11は、入力文に対して、形式的応答文を生成し、応答出力制御部16に供給する。実質的応答生成部13は、入力文に対して、実質的応答文を生成し、応答出力制御部15に供給する。応答出力制御部16は、形式的応答文と実質的応答文の出力を制御し、入力文に対する最終的な応答文を出力する。即ち、応答出力制御部16は、例えば、形式的応答文を出力し、その後、実質的応答文を出力する。本発明は、例えば、対話を行うロボットなどに適用できる。
【選択図】図2
Description
本発明は、対話装置および対話方法、並びにプログラムおよび記録媒体に関し、特に、例えば、形式と内容が適切な応答を、短時間で返すことができるようにする対話装置および対話方法、並びにプログラムおよび記録媒体に関する。
例えば、人間と音声で対話を行う対話装置である音声対話システムは、ゴールのある対話を行うものと、ゴールのない対話(雑談)を行うものとに大別することができる。
ゴールのある対話を行う音声対話システムとしては、例えば、音声対話によりチケットの予約を行うチケット予約システムなどがあり、雑談を行う音声対話システムとしては、例えば、非特許文献1に記載されている、いわゆる「人工無能」などがある。
ゴールのある対話を行う音声対話システムと、雑談を行う音声対話システムとでは、ユーザからの音声入力(発話)に対して、どのような応答をするべきかの方針が異なる。
即ち、ゴールのある対話を行う音声対話システムでは、ゴールに到達するのに必要な情報を、ユーザに発話してもらえるような応答を出力する必要がある。このため、例えば、飛行機のチケットを音声で予約するための音声対話システムにおいて、そのチケットの予約に必要な情報が、例えば、出発日、出発時刻、出発地、および目的地である場合に、ユーザが、「2月16日。東京から札幌まで」と発話したとすると、音声対話システムは、出発時刻の情報が不足していると判断して、「出発は何時ですか」という応答を出力するのが望ましい。
一方、雑談を行う音声対話システムについては、どのような応答をすべきかの正解は存在しない。しかしながら、雑談を行うという性質上、音声対話システムの応答には、ユーザが「面白い」と感じる応答であることや、ユーザが「自分の話を理解してくれている」と感じる応答であること、ユーザが次の発言をしたくなるような応答であること、などが要求される。
いま、ユーザが「自分の話を理解してくれている」と感じる応答であることに注目すると、そのような応答であるためには、応答の形式がユーザの発話に合っていることや、応答の内容(話題)がユーザの発話に合っていることなどが必要である。
ここで、例えば、ユーザが、「はい」か、「いいえ」で回答することができる質問をした場合、「はい」(または、その他の肯定を表す言葉)や、「いいえ」(または、その他の否定を表す言葉)などが、形式が合っている応答である。また、ユーザが挨拶の発話をした場合には、その挨拶に応じた挨拶(例えば、「おはよう」に対して「おはよう」、「ただいま」に対して「お帰り」など)が、形式が合っている応答である。さらに、ユーザの発話に対して相づちをうつような応答も、形式が合っている応答である。
一方、例えば、ユーザが天気に関する発話をした場合、その天気に関する応答が、内容が合っている応答である。
従って、例えば、ユーザが「明日は晴れるかなあ」と発話した場合には、「そうだね、天気が気になるね」が、形式と内容のいずれも合っている応答である。ここで、応答「そうだね、天気が気になるね」の前半部分「そうだね」は、相づちをうつ応答であり、形式が合っている応答である。また、応答「そうだね、天気が気になるね」の後半部分「天気が気になるね」は、内容が合っている応答である。
音声対話システムにおいて、上述のような形式と内容のいずれも合っている応答を出力することにより、ユーザに「(システムは)自分の話を聞いてくれた」という印象を持たせることができる。
しかしながら、従来の音声対話システムでは、形式と内容の両方が合っている応答を生成するのは困難であった。
即ち、雑談を行う場合の応答を生成する方法としては、例えば、規則を用いる方法や、用例を用いる方法などがある。
規則を用いる方法は、例えば、非特許文献2や3で紹介されているイライザ(Eliza)と呼ばれるプログラムで採用されている。
規則を用いる方法では、例えば、「入力に○○(単語や言い回し)が含まれていたら〜を出力する」といった規則の集合を用いて、応答が生成される。
従って、例えば、ユーザから「どうもありがとうございました」という入力(発話)があった場合において、「入力に『ありがとう』が含まれていたら『どういたしまして』と応答する」という規則が存在するときには、その規則にしたがい、応答「どういたしまして」という応答が生成される。
しかしながら、形式が合っている応答を生成する規則は、比較的記述しやすいが、内容が合っている応答を生成する規則は、記述が難しい。また、内容が合っている応答を生成する規則は、多数になりがちで、そのような多数の規則をメンテナンスするのは、多大な労力を必要とする。
なお、応答を生成する方法としては、規則を用いる方法や、用例を用いる方法以外に、応答生成用テンプレートを用いる方法があるが(例えば、特許文献1参照)、応答生成用テンプレートを用いる方法にも、規則を用いる方法と同様の問題がある。
一方、用例を用いる方法については、例えば、非特許文献4に、「・・・人間同士のチャットのログを用いて辞書を生成する戦略がある。これはn-1番目の文からキーを抽出し、n番目の文を値とするという操作を全文にわたって繰り返すことで辞書を生成する」ことが記載されている。この記載における「チャットのログ」が、用例に該当する。
このように、用例としては、チャットのログなどを用いることができるので、多数の用例を集めることは、人手で多数の規則を記述することに比べれば容易であり、そのような多数の用例によって、多様な応答を生成することができる。
しかしながら、用例を用いる方法によって、形式と内容がいずれも合っている応答を生成するためには、そのような応答に相当する文が、1つの用例として存在する必要がある。
一般に、1つの用例は、形式または内容のうちのいずれか一方だけが合っている応答に相当する文になっていることが多い。従って、形式または内容のうちのいずれか一方だけが合っている応答に相当する文になっている用例を集めることは、容易であるが、それに対して、形式と内容の両方が合っている応答に相当する文になっている用例を集めることは、容易ではない。
また、音声対話システムについては、応答の形式や内容がユーザの発話に合っていることの他に、応答のタイミングも、ユーザが好印象を持つ、あるいは、ユーザが煩わしさを感じるかどうかの重要な要因となる。特に、応答時間、つまり、ユーザが発話してから、音声応答システムが何らかの応答を返すまでの時間が重要である。
応答時間には、ユーザの発話の音声認識に要する時間、その発話に対する応答の生成に要する時間、その応答を音声波形にする音声合成を行って再生する時間、オーバーヘッドの処理に要する時間などが影響する。
いま、これらの時間のうちの、対話システム(対話装置)に固有の時間である、応答の生成に要する時間に注目すると、応答の生成は、規則を用いる方法では、規則の数が少ない方が短時間で行うことができるし、用例を用いる方法であっても、用例の数が少ない方が短時間で行うことができる。
しかしながら、ユーザを飽きさせない多様な応答を行うためには、ある程度の数の規則や用例が必要である。従って、応答の生成に用いる規則や用例の数を維持しつつ、応答時間を短縮する技術が必要である。
以上のように、対話システムには、ユーザが「自分の話を理解してくれている」と感じられるように、形式と内容が適切な応答を返すことが要請されており、さらに、ユーザに煩わしさを感じさせないように、応答時間を短縮することも要請されている。
本発明は、このような状況に鑑みてなされたものであり、形式と内容が適切な応答を、短時間で返すことができるようにするものである。
本発明の対話装置は、入力文に対して、形式的な応答文である形式的応答文を取得する形式的応答取得手段と、入力文に対して、実質的な応答文である実質的応答文を取得する実質的応答取得手段と、形式的応答文と実質的応答文の出力を制御し、入力文に対する最終的な応答文を出力する出力制御手段とを備えることを特徴とする。
本発明の対話方法は、入力文に対して、形式的な応答文である形式的応答文を取得する形式的応答取得ステップと、入力文に対して、実質的な応答文である実質的応答文を取得する実質的応答取得ステップと、形式的応答文と実質的応答文の出力を制御し、入力文に対する最終的な応答文を出力する出力制御ステップとを含むことを特徴とする。
本発明のプログラムは、入力文に対して、形式的な応答文である形式的応答文を取得する形式的応答取得ステップと、入力文に対して、実質的な応答文である実質的応答文を取得する実質的応答取得ステップと、形式的応答文と実質的応答文の出力を制御し、入力文に対する最終的な応答文を出力する出力制御ステップとを含むことを特徴とする。
本発明の記録媒体に記録されているプログラムは、入力文に対して、形式的な応答文である形式的応答文を取得する形式的応答取得ステップと、入力文に対して、実質的な応答文である実質的応答文を取得する実質的応答取得ステップと、形式的応答文と実質的応答文の出力を制御し、入力文に対する最終的な応答文を出力する出力制御ステップとを含むことを特徴とする。
本発明においては、入力文に対して、形式的応答文が取得されるとともに、実質的応答文が取得される。そして、形式的応答文と実質的応答文の出力が制御され、入力文に対する最終的な応答文が出力される。
本発明によれば、形式と内容が適切な応答を出力することが可能となる。また、本発明によれば、応答を、短時間で返すことが可能となる。
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
請求項1に記載の対話装置は、
入力文に対する応答文を出力することにより、対話を行う対話装置(例えば、図1の音声対話システム)において、
前記入力文に対して、形式的な応答文である形式的応答文を取得する形式的応答取得手段(例えば、図2の形式的応答生成部11)と、
前記入力文に対して、実質的な応答文である実質的応答文を取得する実質的応答取得手段(例えば、図2の実質的応答生成部13)と、
前記形式的応答文と実質的応答文の出力を制御し、前記入力文に対する最終的な応答文を出力する出力制御手段(例えば、図2の応答出力制御部16)と
を備えることを特徴とする。
入力文に対する応答文を出力することにより、対話を行う対話装置(例えば、図1の音声対話システム)において、
前記入力文に対して、形式的な応答文である形式的応答文を取得する形式的応答取得手段(例えば、図2の形式的応答生成部11)と、
前記入力文に対して、実質的な応答文である実質的応答文を取得する実質的応答取得手段(例えば、図2の実質的応答生成部13)と、
前記形式的応答文と実質的応答文の出力を制御し、前記入力文に対する最終的な応答文を出力する出力制御手段(例えば、図2の応答出力制御部16)と
を備えることを特徴とする。
請求項2に記載の対話装置は、
用例を記憶する用例記憶手段(例えば、図2の対話用例データベース121乃至12Iや、対話用例データベース141乃至14J)をさらに備え、
前記形式的応答取得手段または実質的応答取得手段は、前記入力文と用例に基づいて、前記形式的応答文または実質的応答文を取得する
ことを特徴とする。
用例を記憶する用例記憶手段(例えば、図2の対話用例データベース121乃至12Iや、対話用例データベース141乃至14J)をさらに備え、
前記形式的応答取得手段または実質的応答取得手段は、前記入力文と用例に基づいて、前記形式的応答文または実質的応答文を取得する
ことを特徴とする。
請求項3に記載の対話装置は、
前記入力文、または前記入力文に対する最終的な応答文を、対話履歴として記憶する対話履歴記憶手段(例えば、図2の対話履歴データベース15)をさらに備え、
前記形式的応答取得手段または実質的応答取得手段は、さらに、前記対話履歴にも基づいて、前記形式的応答文または実質的応答文を取得する
ことを特徴とする。
前記入力文、または前記入力文に対する最終的な応答文を、対話履歴として記憶する対話履歴記憶手段(例えば、図2の対話履歴データベース15)をさらに備え、
前記形式的応答取得手段または実質的応答取得手段は、さらに、前記対話履歴にも基づいて、前記形式的応答文または実質的応答文を取得する
ことを特徴とする。
請求項16に記載の対話装置は、
音声を認識し、音声認識結果を前記入力文として出力するとともに、前記音声認識結果を構成する単語の正解確信度を出力する音声認識手段(例えば、図1の音声認識部2)をさらに備え、
前記形式的応答取得手段または実質的応答取得手段は、前記入力文と用例とのマッチングを、前記正解確信度に基づいて行うことにより、前記形式的応答文または実質的応答文を取得する
ことを特徴とする。
音声を認識し、音声認識結果を前記入力文として出力するとともに、前記音声認識結果を構成する単語の正解確信度を出力する音声認識手段(例えば、図1の音声認識部2)をさらに備え、
前記形式的応答取得手段または実質的応答取得手段は、前記入力文と用例とのマッチングを、前記正解確信度に基づいて行うことにより、前記形式的応答文または実質的応答文を取得する
ことを特徴とする。
請求項17に記載の対話装置は、
音声を認識し、音声認識結果を前記入力文として出力する音声認識手段(例えば、図1の音声認識部2)をさらに備え、
前記形式的応答取得手段または実質的応答取得手段は、前記入力文と用例とのマッチングにより得られるスコアと、前記入力文である音声認識結果の尤度を表すスコアとに基づいて、前記形式的応答文または実質的応答文を取得する
ことを特徴とする。
音声を認識し、音声認識結果を前記入力文として出力する音声認識手段(例えば、図1の音声認識部2)をさらに備え、
前記形式的応答取得手段または実質的応答取得手段は、前記入力文と用例とのマッチングにより得られるスコアと、前記入力文である音声認識結果の尤度を表すスコアとに基づいて、前記形式的応答文または実質的応答文を取得する
ことを特徴とする。
請求項20に記載の対話装置は、
音声を認識し、音声認識結果を前記入力文として出力する音声認識手段(例えば、図1の音声認識部2)をさらに備え、
前記形式的応答取得手段は、前記音声の音響的な特徴に基づいて、前記形式的応答文を取得し、
実質的応答取得手段は、前記入力文に基づいて、実質的応答文を取得する
ことを特徴とする。
音声を認識し、音声認識結果を前記入力文として出力する音声認識手段(例えば、図1の音声認識部2)をさらに備え、
前記形式的応答取得手段は、前記音声の音響的な特徴に基づいて、前記形式的応答文を取得し、
実質的応答取得手段は、前記入力文に基づいて、実質的応答文を取得する
ことを特徴とする。
請求項24に記載の対話方法は、
入力文に対する応答文を出力することにより、対話を行う対話方法において、
前記入力文に対して、形式的な応答文である形式的応答文を取得する形式的応答取得ステップ(例えば、図14のステップS3)と、
前記入力文に対して、実質的な応答文である実質的応答文を取得する実質的応答取得ステップ(例えば、図14のステップS5)と、
前記形式的応答文と実質的応答文の出力を制御し、前記入力文に対する最終的な応答文を出力する出力制御ステップ(例えば、図14のステップS4およびS6)と
を含むことを特徴とする。
入力文に対する応答文を出力することにより、対話を行う対話方法において、
前記入力文に対して、形式的な応答文である形式的応答文を取得する形式的応答取得ステップ(例えば、図14のステップS3)と、
前記入力文に対して、実質的な応答文である実質的応答文を取得する実質的応答取得ステップ(例えば、図14のステップS5)と、
前記形式的応答文と実質的応答文の出力を制御し、前記入力文に対する最終的な応答文を出力する出力制御ステップ(例えば、図14のステップS4およびS6)と
を含むことを特徴とする。
請求項25に記載のプログラム、および請求項26の記録媒体に記録されているプログラムは、
入力文に対する応答文を出力することにより、コンピュータに対話を行わせるプログラムにおいて、
前記入力文に対して、形式的な応答文である形式的応答文を取得する形式的応答取得ステップ(例えば、図14のステップS3)と、
前記入力文に対して、実質的な応答文である実質的応答文を取得する実質的応答取得ステップ(例えば、図14のステップS5)と、
前記形式的応答文と実質的応答文の出力を制御し、前記入力文に対する最終的な応答文を出力する出力制御ステップ(例えば、図14のステップS4およびS6)と
を含むことを特徴とする。
入力文に対する応答文を出力することにより、コンピュータに対話を行わせるプログラムにおいて、
前記入力文に対して、形式的な応答文である形式的応答文を取得する形式的応答取得ステップ(例えば、図14のステップS3)と、
前記入力文に対して、実質的な応答文である実質的応答文を取得する実質的応答取得ステップ(例えば、図14のステップS5)と、
前記形式的応答文と実質的応答文の出力を制御し、前記入力文に対する最終的な応答文を出力する出力制御ステップ(例えば、図14のステップS4およびS6)と
を含むことを特徴とする。
以下、図面を参照して、本発明の実施の形態について説明する。
図1は、本発明を適用した音声対話システムの一実施の形態の構成例を示している。
音声対話システムは、マイク(マイクロフォン)1、音声認識部2、制御部3、応答生成部4、音声合成部5、およびスピーカ6から構成されており、音声による対話を行うようになっている。
即ち、マイク1は、ユーザ等の音声(発話)を、電気信号としての音声信号に変換し、音声認識部2に供給する。
音声認識部2は、マイク1からの音声信号を対象に音声認識を行い、その音声認識結果(認識結果)としての、例えばテキストの単語列を、制御部3に供給する。
なお、音声認識部2による音声認識のアルゴリズムとしては、例えば、HMM(Hidden Markov Model)法その他の任意のアルゴリズムを採用することができる。
また、音声認識部2から制御部3に供給する音声認識結果は、いわゆる認識仮説としての単語列のうちの、例えば、最も尤度の高い(尤度が有するスコアが最も高い)1つの単語列であっても良いし、上位N個の単語列であっても良い。但し、ここでは、最も尤度の高い1つの単語列が、音声認識結果として、音声認識部2から制御部3に供給されるものとする。
さらに、音声認識部2から制御部3には、単語列の形ではなく、例えば、単語グラフの形で、音声認識結果を供給することもできる。
また、音声対話システムでは、マイク1および音声認識部2とともに、あるいは、それらに代えて、キーボードを設け、ユーザには、そのキーボードを操作することにより、テキストを入力してもらい、そのテキストを、制御部3に供給するようにすることもできる。
さらに、制御部3には、ユーザによる手書き文字を文字認識することにより得られるテキストや、カメラやスキャナで読み取った画像をOCR(Optical Character Recognition)で処理することにより得られるテキストなどを供給するようにすることもできる。
制御部3は、音声対話システム全体の制御を行う。
即ち、制御部3は、例えば、音声認識部2に制御信号を供給することにより、音声認識を行わせる。また、制御部3は、例えば、音声認識部2から供給される音声認識結果を、対話の入力文として、応答生成部4に供給し、その入力文に対する応答文を生成させる。さらに、制御部3は、例えば、応答生成部4から供給される応答文を受信し、音声合成部5に供給する。また、制御部3は、音声合成部5から、音声合成が完了した旨の完了通知を受け、その完了通知に応じて必要な処理を行う。
応答生成部4は、制御部3から供給される音声認識結果としての入力文に対する応答文、即ち、ユーザの発話に対して返事するテキストを生成し、その応答文を、制御部3に供給する。
音声合成部5は、制御部から供給される応答文を対象に、例えば、規則音声合成などの音声合成を行い、対応する合成音(の音声信号)を、スピーカ6に供給する。
スピーカ6は、音声合成部5からの、応答文に対応する合成音を出力(放音)する。
なお、音声合成部5では、例えば、規則音声合成によって合成音を生成する他、典型的な応答文については、対応する音声をあらかじめ記憶しておき、その音声を再生するようにすることもできる。
また、制御部3から供給される応答文は、音声合成部5およびスピーカ6によって音声により出力する他、ディスプレイやプロジェクタによって表示するようにしても良い。
次に、図2は、図1の応答生成部4の構成例を示している。
形式的応答生成部11には、音声認識部2(図1)からの音声認識結果としての入力文が供給されるようになっている。形式的応答生成部11は、入力文、対話用例データベース121,122,・・・,12Iに記憶された用例、さらには、必要に応じて、対話履歴データベース15に記憶された対話履歴に基づいて、入力文に対して、形式的な応答文、即ち、形式が入力文に合っている形式的応答文を生成(取得)し、応答出力制御部16に供給する。
従って、ここでは、形式的応答生成部11は、用例を用いる方法により、応答文(形式的応答文)を生成する。但し、形式的応答生成部11では、用例を用いる方法以外の、例えば、規則を用いる方法により、応答文を生成することも可能である。形式的応答生成部11が、規則を用いる方法により、応答文を生成する場合、次に説明する対話用例データベース12iに代えて、規則のデータベースが設けられる。
対話用例データベース12i(i=1,2,・・・,I)は、形式的応答生成部11が形式的応答文を生成するのに用いる用例、即ち、例えば、ある文(発言)に対して、少なくとも、形式が合っている文(発言)になっている用例を記憶している。
なお、ある1つの対話用例データベース12iと、他の1つの対話用例データベース12i'とでは(i≠i’)、例えば、記憶している用例のカテゴリが異なる。即ち、例えば、対話用例データベース12iが、挨拶に関する多数の用例を記憶しているとすると、対話用例データベース12i'は、相づちに関する多数の用例を記憶している。このように、対話用例データベース121乃至12Iにおいては、用例が、所定の単位(カテゴリ)の用例の群(用例群)ごとに記憶されている。
ここで、以下、適宜、対話用例データベース121,122,・・・,12Iを、特に区別する必要がない限り、対話用例データベース12と記述する。
実質的応答生成部13には、音声認識部2(図1)から、形式的応答生成部11に供給されるのと同一の音声認識結果としての入力文が供給されるようになっている。実質的応答生成部13は、入力文、対話用例データベース141,142,・・・,14Jに記憶された用例、さらには、必要に応じて、対話履歴データベース15に記憶された対話履歴に基づいて、入力文に対して、実質的な応答文、即ち、内容(話題)が入力文に合っている実質的応答文を生成(取得)し、応答出力制御部16に供給する。
従って、ここでは、実質的応答生成部13は、用例を用いる方法により、応答文(実質的応答文)を生成する。但し、実質的応答生成部13では、上述の形式的応答生成部11と同様に、用例を用いる方法以外の、例えば、規則を用いる方法により、応答文を生成することも可能である。実質的応答生成部13が、規則を用いる方法により、応答文を生成する場合、次に説明する対話用例データベース14jに代えて、規則のデータベースが設けられる。
対話用例データベース14j(j=1,2,・・・,J)は、実質的応答生成部13が実質的応答文を生成するのに用いる用例、即ち、例えば、ある文(発言)に対して、少なくとも、内容が合っている文(発言)になっている用例を記憶している。
なお、ある1つの対話用例データベース14jには、例えば、ある一連の対話の発言、即ち、ある話題に関しての対話の開始から終了までの発言が、1単位の用例として記憶されている。ある対話の発言列があった場合に、例えば、「ところで」などといった話題を転換するフレーズを、新たな単位の始まりとすることができる。
ここで、以下、適宜、対話用例データベース141,142,・・・,14Jを、特に区別する必要がない限り、対話用例データベース14と記述する。
対話履歴データベース15は、応答出力制御部16から供給される、入力文、もしくはその入力文に対して最終的に出力された応答文(最終的な応答文)のうちの一方または両方を、対話履歴として記憶する。対話履歴データベース15に記憶された対話履歴は、上述したように、必要に応じて、形式的応答生成部11や実質的応答生成部13で、応答文(形式的応答文、実質的応答文)の生成に用いられる。
応答出力制御部16は、形式的応答生成部11からの形式的応答文と、実質的応答生成部13からの実質的応答文の出力を制御し、入力文に対する最終的な応答文を、制御部3(図1)に出力する。即ち、応答出力制御部16は、入力文に対して得られた形式的応答文と実質的応答文とを、いわば合成し、その入力文に対する最終的な応答文を得て、制御部3に出力する。
また、応答出力制御部16には、音声認識部2(図1)から音声認識結果としての入力文が供給されるようになっている。応答出力制御部16は、入力文に対する最終的な応答文を出力した後、その入力文と最終的な応答文を、対話履歴データベース15に供給する。対話履歴データベース15では、上述したように、応答出力制御部16からの入力文と最終的な応答文が、対話履歴として記憶される。
次に、図3は、図2の形式的応答生成部11が形式的応答文の生成に用いる、対話用例データベース12に記憶された用例の例を示している。
対話用例データベース12では、用例が、例えば、入力例と、その入力例に対する応答としての応答例とのセットの形で記憶されている。
また、対話用例データベース12に記憶されている用例は、形式的応答生成部11が形式的応答文を生成するのに用いる用例であるため、入力例とセットになっている応答例は、その入力例に対して、少なくとも、形式が合っている文になっており、さらに、入力例は、応答例に対応した文になっている。
即ち、対話用例データベース12に記憶されている用例である応答例は、例えば「はい」や「そうです」といった肯定の返事や、「いいえ」や「いや、違います」といった否定の返事、「こんにちは」や「どういたしまして」といった挨拶、「うん」や「ええ」といった相づちなどになっている。そして、そのような応答例とセットになっている入力例は、応答例の応答をするのが形式的には自然(適切)な文(用例)になっている。
図3に示した対話用例データベース12は、例えば、インターネット上のチャットのログなどの、実際の対話を記述したリストから、形式的な応答文となる発言を、応答例として抽出し、その発言の直前の発言を、その応答例とセットにする入力例として抽出することにより作成することができる。その他、対話用例データベース12は、人手によって作成しても良い。
ここで、対話用例データベース12の用例(入力例と応答例)は、後述するマッチング等で使用されることに備えて、あらかじめ単語単位に区切られている。図3において、単語を区切る記号としては、空白が用いられているが、この空白は、形式的応答生成部11や応答出力制御部16での処理において、必要に応じて除去される。後述する図7で説明する対話用例データベース14の用例についても同様である。
なお、用例は、単語単位で区切らずに(単語を区切る記号としての空白なしで)記憶しておき、マッチング時に必要に応じて単語単位に区切るようにしても良い。
また、本明細書中において、「単語」とは、1つの単位として扱った方が処理上都合が良い文字列のことであり、言語学的な単語とは必ずしも一致しない。「文」についても同様である。
次に、図4乃至図6を参照して、図2の形式的応答生成部11による形式的応答文の生成について説明する。
形式的応答生成部11は、図4に示すように、対話用例データベース12に記憶された用例に基づいて、入力文に対する形式的応答文を生成する。
即ち、図4は、図3に示した対話用例データベース12に記憶された用例を模式的に示しており、用例は、入力例と、その入力例に対応する応答例とのセットの形で記憶されている。
形式的応答生成部11は、図4に示すように、対話用例データベース12に記憶された入力例#1,#2,・・・,#k,・・・のそれぞれと、入力文とのマッチングを行い、入力例#1,#2,・・・,#k,・・・のそれぞれについて、入力文との類似度を表すスコアを求める。そして、形式的応答生成部11は、例えば、入力例#kが入力文に、最も類似している場合、即ち、入力例#kのスコアが最も高い場合、図4に示すように、その入力例#kとセットになっている応答例#kを選択し、形式的応答文として出力する。
形式的応答生成部11が出力する形式的応答文は、その形式が入力文に合っている応答文であるから、形式的応答生成部11での入力文と入力例とのマッチングは、形式(内容(話題)ではなく)が合っているかという観点で、入力文と入力例との類似度を表すスコアを求める処理である必要がある。
そこで、形式的応答生成部11では、例えば、ベクトル空間法により、入力文と入力例とのマッチングが行われるようになっている。
ここで、ベクトル空間法は、文章検索の分野で広く使われている方法の一つであり、文章をベクトルで表し、文章間の類似度または距離が、ベクトル同士のなす角度として求められる。
図5を参照して、ベクトル空間法による、入力文と入力例とのマッチングについて説明する。
対話用例データベース12に、Kセットの入力例と応答例とのセットが記憶されており、K個の入力例に登場する単語の中で、例えば、表記が異なる単語の数が、M個であるとする。
この場合、対話用例データベース12に記憶された入力例は、図5に示すように、M個の単語#1,#2,・・・,#Mを要素とするM次元のベクトルで表すことができる。
入力例を表すベクトルの、単語#m(m=1,2,・・・,M)に対応する要素の値としては、例えば、その入力例における単語#mの出現回数を採用することができる。
入力文も、入力例と同様に、M次元のベクトルで表すことができる。
いま、図5に示すように、ある入力例#k(k=1,2,・・・,K)を表すベクトルをxkと、入力文を表すベクトルをyと、ベクトルxkとyとがなす角度をθkと、それぞれ表すこととすると、その余弦(cosine)であるcosθkは、式(1)にしたがって求めることができる。
ここで、式(1)において、・は内積を表し、|z|はベクトルzのノルムを表す。
cosθkは、ベクトルxkとyとが同一の向きであるときに最大値である1となり、ベクトルxkとyとが逆向きであるときに最小値である-1となる。但し、ここでは、入力文のベクトルyや入力例#kのベクトルxkの要素は、0以上の値をとるので、ベクトルxkとyとのcosθkの最小値は0となる。
ベクトル空間法によるマッチングでは、すべての入力例#kについて、cosθkをスコアとして計算し、例えば、最大のスコアを与える入力例#kが、入力文に最も類似する入力例として求められる。
例えば、いま、入力例として、入力例#1「これ は 用例 の 記述 の 例 です」と、入力例#2「用例 は この よう に し て 単語 ごと に 区切っ て 記述 し ます」との2つが対話用例データベース12に記憶されており、入力文として「これ は どちら の 用例 に 近い です か」が入力されたとする。この場合、入力例#1,#2、入力文のそれぞれを表すベクトルは、図6に示すようになる。
図6から、入力例#1のスコアであるcosθ1は、6/(√10√9)=0.632・・・となり、入力例#2のスコアであるcosθ2は、4/(√21√9)=0.291・・・となる。
従って、この場合、スコアが高い入力例#1が、入力文に最も類似する入力例ということになる。
ここで、ベクトル空間法においては、入力文や入力例を表すベクトルの要素の値として、例えば、上述したように、単語の出現回数が使用されるが、この単語の出現回数は、tf(Term Frequency)と呼ばれる。
一般に、ベクトルの(要素の)値としてtfを使用した場合、スコアは、出現頻度が高い単語の影響を受けやすい。また、日本語では、助詞や助動詞の出現頻度が高い傾向がある。従って、tfを使用した場合、入力文や入力例の中の助詞や助動詞に、いわば引きずられたスコアが得られやすい傾向がある。即ち、例えば、入力文に、助詞「の」が頻出している場合は、助詞「の」が頻出している入力例のスコアが高くなる傾向がある。
一般の文章検索では、出現頻度が高い単語の影響を受けるのを防止するために、ベクトルの値として、tfの代わりに、後述するidfを用いたtf×idfという尺度を使用することがある。
しかしながら、日本語の文については、助詞や助動詞こそが、その文の形式を表していると考えられるので、形式的応答文を生成する形式的応答生成部11でのマッチングにおいて、入力文および入力例における助詞や助動詞に影響を受けるのは、むしろ望ましい。
そこで、形式的応答生成部11でのマッチングでは、tfを採用することができる。
なお、ベクトルの値として、tfの代わりに、後述するdf(Document Frequency)を用いたtf×dfという尺度を使用することにより、助詞や助動詞の影響を一層強くすることができ、形式的応答生成部11でのマッチングでは、このtf×dfを採用することもできる。
ここで、ある単語wについてのdfであるdf(w)は、例えば、式(2)で表される。
式(2)において、対数(log)の底は、例えば2である。また、式(2)において、C(w)は、単語wが出現している入力例の数を表し、offsetは、所定の定数である。
式(2)によれば、単語wが出現する入力例の数が多いほど、その単語wのdf(w)も大になる。
即ち、例えば、助詞「の」が出現する入力例の数が1023であるとし、つまり、C(の)が1023であるとし、offsetが1であるとする。また、ある入力例#k(または入力文)における助詞「の」の出現回数が2回、つまり、tfが2であるとする。この場合、入力例#kを表すベクトルの、単語(助詞)「の」に対応する要素の値は、tfを採用したときにはtf=2となり、tf×dfを採用したときにはtf×df(の)=2×10=20となる。
従って、tf×dfを採用することにより、形式的応答生成部11でのマッチングは、文に出現する頻度が高い単語の影響を受けることになる。
以上のように、対話用例データベース12に、形式的な文を、応答例として記憶しておき、形式的応答生成部11において、入力文と入力例とのマッチングを、「文の形式が近いか」という尺度で行うことにより、形式が入力文にあった応答文を生成することができる。
なお、ベクトルの要素の値として、tfに代えてtf×dfを採用することは、入力例と入力文との両方について行っても良いし、いずれか一方だけについて行っても良い。
また、形式的応答生成部11でのマッチングにおいて、助詞や助動詞といった文の形式を表す語句の影響を大にする方法としては、tf×dfを採用する方法の他、例えば、入力文や入力例のベクトルの要素のうち、助詞や、助動詞、その他の文の形式を表す語句に対応する要素を除く要素の値を0にする(文の形式を表す語句に対応する要素以外を無視する)方法などがある。
ここで、上述の場合には、形式的応答生成部11において、入力文と、対話用例データベース12に記憶された用例(入力例、応答例)とに基づいて、その入力文に対する形式的応答文を生成するようにしたが、形式的応答文は、さらに、対話履歴データベース15に記憶された対話履歴にも基づいて生成することができる。対話履歴にも基づいて、応答文を生成する方法については、実質的応答生成部13における実質的応答文の生成を例にして、後述する。
次に、図7は、図2の実質的応答生成部13が実質的応答文の生成に用いる、対話用例データベース14に記憶された用例の例を示している。
対話用例データベース14では、用例が、例えば、発言ごとに区別可能な形式で記憶されている。即ち、図7では、対話用例データベース14において、1レコード(1行)に1発言(発話)の形で、用例が記憶されている。
また、図7では、1レコードに、用例の他、その用例の発言を行った話者と、その用例を他の用例と区別するための用例番号とが記憶されている。ここで、用例番号は、用例に対して、その発言順にシーケンシャルに付されており、さらに、各レコードは、用例番号の昇順にソートされている。従って、ある用例番号の用例は、その用例番号の1つ前の用例番号の用例に対する応答になっている。
対話用例データベース14に記憶されている用例は、実質的応答生成部14が実質的応答文を生成するのに用いる用例であるため、その直前の用例に対して、少なくとも、内容が合っている文になっている。
なお、図7に示した対話用例データベース14の用例は、「ATR(Advanced Telecommunications Research Institute International)旅行会話コーパス」(http://www.red.atr.co.jp/database_page/sdb_main.html)を元に作成したものであるが、その他、実際の座談会や対談の書き起こし文などから作成することも可能である。もちろん、すべて人手で作成しても構わない。
また、図7に示した用例は、図3で説明したように、あらかじめ単語単位に区切られている。但し、用例は、必ずしも、単語単位に区切っておく必要はない。
さらに、対話用例データベース14に記憶される用例は、一連の対話ごとにデータ(ファイル)を分割しておくのが望ましい。
ここで、図7に示したように、用例を、1レコードに1発言の形で記述する場合には、ある用例が、その直前の用例に対する応答になっている必要がある。従って、用例の順番の入れ替えや削除などの編集を行うと、その編集点における用例が、その直前の用例の応答になっていないことが生じるため、用例を、1レコードに1発言の形で記述する場合には、用例の編集は、原則として行うことができない。
一方、図3に示したように、用例を、入力例と、その入力例に対する応答例とのセットの形で記述する場合には、任意のセットの応答例は、その応答例とセットなっている入力例に対する応答となっているから、セットの順番の入れ替えや削除などの編集を行っても問題はない。
なお、図3に示したような入力例と応答例とのセットは、例えば、図7における任意の用例を入力例とし、その用例の次の用例(その用例の直後の用例)を応答例とすることにより作成することができる。
次に、図8を参照して、図2の実質的応答生成部13による実質的応答文の生成について説明する。
図8は、対話用例データベース14に記憶された用例を模式的に示しており、用例は、その発言順に並んでいる。
実質的応答生成部11は、図8に示したような、対話用例データベース14に記憶された用例に基づいて、入力文に対する実質的応答文を生成する。
即ち、対話用例データベース14に記憶された用例は、図8に示すように、ある対話における発言を、その発言順に並べたものとなっている。
実質的応答生成部13は、図8に示すように、対話用例データベース14に記憶された用例#1,#2,・・・,#p−1,#p,#p+1,・・・のそれぞれと、入力文とのマッチングを行い、用例#1,#2,・・・のそれぞれについて、入力文との類似度を表すスコアを求める。そして、実質的応答生成部13は、例えば、用例#pが入力文に、最も類似している場合、即ち、用例#pのスコアが最も高い場合、図8に示すように、その用例#pの次の用例#p+1を選択し、実質的応答文として出力する。
実質的応答生成部13が出力する実質的応答文は、その内容が入力文に合っている応答文であるから、実質的応答生成部13での入力文と用例とのマッチングは、内容(形式ではなく)が合っているかという観点で、入力文と用例との類似度を表すスコアを求める処理である必要がある。
入力文と用例との内容が合っているかという観点のマッチングも、上述したベクトル空間法により行うことができる。
即ち、ベクトル空間法において、ベクトルの要素の値として、tfの代わりに、例えば、idf(Invert Document Frequency)を用いたtf×idfという尺度を採用することにより、入力文と用例との内容が合っているかという観点のマッチングを行うことができる。
ここで、ある単語wについてのidfであるidf(w)は、例えば、式(3)で表される。
式(3)において、対数(log)の底は、例えば2である。また、式(3)において、Pは、用例の総数を表し、C(w)は、単語wが出現している用例の数を表す。さらに、offsetは、所定の定数である。
式(3)によれば、ある用例に偏って出現する語句(単語)w、つまり、その用例の内容(話題)を表していると考えられる語句のidf(w)は大になり、多くの用例に、万遍なく現れる語句(単語)w、つまり、一般には、助詞や助動詞などのidf(w)は小になる。
即ち、例えば、助詞「は」が出現する用例の数が1024であるとし、つまり、C(は)が1024であるとし、offsetが1であるとする。さらに、用例の総数Pが4096であり、用例#p(または入力文)における助詞「は」の出現回数が2回、つまり、tfが2であるとする。この場合、用例#pを表すベクトルの、単語(助詞)「は」に対応する要素の値は、tfを採用したときにはtf=2となり、tf×idfを採用したときにはtf×idf(は)=2×3=6となる。
なお、ベクトルの要素の値として、tfに代えてtf×idfを採用することは、用例と入力文との両方について行っても良いし、いずれか一方だけについて行っても良い。
また、実質的応答生成部13でのマッチングにおいて、文の内容を表す語句の影響を大にする方法としては、tf×idfを採用する方法の他、例えば、入力文や用例のベクトルの要素のうち、名詞や、動詞、形容詞、形容動詞といった自立語ではない語句、即ち、例えば、助詞や助動詞といった付属語の類に対応する要素の値を0にする(付属語の類に対応する要素を無視する)方法などがある。
さらに、上述の場合には、実質的応答生成部13において、入力文と、対話用例データベース14に記憶された用例とに基づいて、その入力文に対する実質的応答文を生成するようにしたが、実質的応答文は、さらに、対話履歴データベース15に記憶された対話履歴にも基づいて生成することができる。以下、対話履歴にも基づいて、応答文を生成する方法について、実質的応答生成部13における実質的応答文の生成を例にして説明するが、その前に、対話履歴データベース15に記憶された対話履歴について説明する。
即ち、図9は、図2の対話履歴データベース15に記憶されている対話履歴を示している。
対話履歴データベース15では、図1の音声対話システムとユーザとの間で行われた対話における発言が、例えば、1レコード(1行)に1発言(発話)の形で記憶される。即ち、対話履歴データベース15には、上述したように、応答出力制御部16から、ユーザの発話の音声認識結果である入力文と、その入力文に対する最終的な応答文とが供給されるが、対話履歴データベース15では、その入力文や最終的な応答文が、1発言として1レコードに記憶される。
さらに、対話履歴データベース15の1レコードには、発言(入力文や最終的な応答文)の他、例えば、発言順に付されるシーケンシャルな番号である発言番号、発言が行われた時刻(または日時)である発言時刻、発言を行った発言者(話者)の情報が記憶される。
ここで、発言番号の初期値が、例えば1であるとすると、図9では、発言番号が1乃至r−1のr−1個の発言が、対話履歴として記憶されている。この場合、対話履歴データベース15に、次に記憶される発言の発言番号は、rになる。
また、発言時刻は、発言が入力文である場合には、例えば、その入力文となったユーザの発話が行われた時刻であり、発言が最終的な応答文である場合には、例えば、その最終的な応答文が応答出力制御部16から出力された時刻であり、これらの時刻は、例えば、図1の音声対話システムが内蔵する図示せぬ時計によって認識される。
さらに、対話履歴データベース15における話者の情報は、発言が入力文である場合には、その入力文に対応する発話を行ったユーザを表す「ユーザ」とされ、発言が最終的な応答文である場合には、その最終的な応答文を出力する図1の音声対話システムを表す「システム」とされる。
なお、対話履歴データベース15において、発言番号や、発言時刻、話者の情報を記憶することは必須ではない。また、対話履歴データベース15においては、発言としての入力文と最終的な応答文を、その発言順に記憶するのが望ましい。
実質的応答生成部13では、入力文と、対話用例データベース14に記憶された用例の他、以上のような対話履歴データベース15に記憶された対話履歴にも基づいて、実質的応答文を生成することができる。
対話履歴に基づく実質的応答文の生成方法としては、対話履歴における最新の発言を使用して実質的応答文を生成する方法と、対話履歴における最新の発言から任意の回数だけ遡った発言までを使用して実質的応答文を生成する方法とがある。
なお、対話履歴における最新の発言の発言番号をr−1とし、以下、適宜、発言番号がr−1の発言を、発言#r−1と表す。
図10は、対話履歴における最新の発言#r−1を使用して実質的応答文を生成する方法を示している。
実質的応答生成部13は、対話履歴における最新の発言#r−1を使用して実質的応答文を生成する場合、図10に示すように、入力文と、対話用例データベース14に記憶された用例#pとのマッチングの他に、その1つ前の用例#p−1と対話履歴における発言#r−1とのマッチングを行う。
即ち、2つの文AとBとのマッチングにより計算される、その2つの文AとBとの類似度を表すスコア(例えば、式(1)で求められるcosθk)を、score(A,B)と表すこととすると、実質的応答生成部13は、対話用例データベース14に記憶された用例#pについての、入力文に対するスコアを、例えば、式(4)にしたがって求める。
ここで、式(4)において、Ur-1は、対話履歴における発言#r−1を表し、例えば、図9では、最下行(レコード)の発言「そうだね 。 天気 が 気 に なる ね 。」が、発言#r−1である。また、式(4)において、αは、発言#r−1に対する重み(発言#r−1を考慮する程度)を表し、0以上の適切な値が設定される。なお、αを0とした場合には、対話履歴を考慮せずに、用例#pのスコアが求められることになる。
実質的応答生成部13は、対話用例データベース14に記憶された用例#1,#2,・・・,#p−1,#p,#p+1,・・・のそれぞれについて、式(4)によるスコアを求めるマッチングを行う。そして、実質的応答生成部13は、対話用例データベース14に記憶された用例のうちの、式(4)のスコアが上位の用例、即ち、例えば、スコアが最も高い用例の、並び順で次の用例を、入力文に対する実質的応答文とする。従って、例えば、図10に示すように、式(4)のスコアが最も高い用例が、用例#pであったとすると、並び順で、次の用例#p+1が選択され、実質的応答文とされる。
なお、式(4)では、入力文と用例#pとのスコアscore(入力文,用例#p)と、発言#r−1(Ur-1)と用例#p−1との、重みα付きのスコアαscore(Ur-1,用例#p−1)との加算値を、用例#pについての最終的なスコアとして求めるようにしたが、用例#pについての最終的なスコアは、その他、例えば、スコアscore(入力文,用例#p)と、スコアαscore(Ur-1,用例#p−1)とを引数とする任意の単調増加関数によって求めることが可能である。
次に、図11は、対話履歴における最新の発言から任意の回数だけ遡った発言までを使用して実質的応答文を生成する方法を示している。
実質的応答生成部13は、対話履歴における最新の発言#r−1から任意の回数Dだけ遡った発言まで、つまり、発言#r−1,#r−2,・・・,#r−Dを使用して実質的応答文を生成する場合、入力文と、対話用例データベース14に記憶された用例#pとのマッチングの他に、その直前のT個の用例#p−1,#p−2,・・・,#p−Dと対話履歴における発言#r−1,#r−2,・・・,#r−Dとそれぞれのマッチングを行う。
即ち、実質的応答生成部13は、対話用例データベース14に記憶された用例#pについての、入力文に対するスコアを、例えば、式(5)にしたがって求める。
ここで、式(5)において、tr-dは、履歴における発言#r−1がされた時刻(図9における発言時刻)から現在時刻までの経過時間を表す。但し、d=0のときのtrは、例えば、0であるとする。
また、式(5)において、関数f(t)は、引数tと共に単調減少していく非負関数である。但し、引数tが0のときの関数f(0)は、例えば、1であるとする。
さらに、式(5)において、Ur-dは、対話履歴における発言#r−dを表す。但し、d=0のときのUrは、入力文を表す。
なお、式(5)におけるDは、0以上で、pまたはrのうちの小さい方より小さい値の整数値である。
実質的応答生成部13は、対話用例データベース14に記憶された用例#1,#2,・・・,#p−1,#p,#p+1,・・・のそれぞれについて、式(5)によるスコアを求めるマッチングを行う。そして、実質的応答生成部13は、対話用例データベース14に記憶された用例のうちの、式(5)のスコアが上位の用例、即ち、例えば、スコアが最も高い用例の、並び順で次の用例を、入力文に対する実質的応答文とする。従って、例えば、図11に示すように、式(5)のスコアが最も高い用例が、用例#pであったとすると、並び順で、次の用例#p+1が選択され、実質的応答文とされる。
式(5)によれば、用例#pについての最終的なスコアには、入力文Urと用例#pとのスコアscore(Ur,用例#p)が、1(=f(0))の重みで反映されるとともに、d回前の発言#r−d(Ur-d)と用例#p−dとのスコアscore(Ur-d,用例#p−d)が、そのd回前の発言#r−d(Ur-d)がされた発話時刻から現在時刻までの経過時間tr-dに応じて減少する重みf(tr-d)で反映される。なお、式(5)において、Dを0とした場合には、対話履歴を考慮せずに、用例#pのスコアが求められることになる。
ここで、図12は、式(5)における、時間tを引数とする関数f(t)の例を示している。
図12の関数f(t)は、例えば、いわゆる忘却曲線を模した関数となっている。但し、忘却曲線は、人が記憶した事項を覚えている度合いを表す曲線であり、減衰の度合いが緩やかな曲線であるのに対して、図12の関数f(t)は、そのような忘却曲線よりも減衰の度合いが急峻になっている。
以上のように、対話履歴にも基づいて実質的応答文を生成することにより、ユーザが過去の発話と同一の発話をすることにより、過去に入力されたとの同一の入力文が入力された場合であっても、過去の入力文に対する用例とは異なる用例のスコアが高くなることによって、過去の応答文とは異なる応答文を返すことが可能となる。
さらに、応答文の内容(話題)が突然変化し、ユーザが不自然に感じることを防止することが可能となる。
即ち、例えば、対話用例データベース14において、図7に示したような旅行時の対話から得られた用例と、対談番組で行われた対話から書き起こすことにより得られた用例とが記憶されているとする。この場合、前回出力された実質的応答文が、旅行時の対話から得られた用例であったときに、対談番組で行われた対話から書き起こすことにより得られた用例が、今回の実質的応答文として出力されると、ユーザは、「急に話題が変わった」という印象を受け、不自然に感じることが予想される。
そこで、式(4)や式(5)にしたがってスコアを計算するマッチングを行うことで、対話履歴にも基づいて実質的応答文を生成することにより、上述のような、いままでと内容が異なる実質的応答文が出力されることを防止することができる。
即ち、前回出力された実質的応答文が、上述したように、旅行時の対話から得られた用例であったときには、式(4)や式(5)にしたがってスコアを計算することで、対談番組で行われた対話から書き起こすことにより得られた用例よりも、旅行時の対話から得られた用例についてのスコアの方が、一般に高くなるので、対談番組で行われた対話から書き起こすことにより得られた用例が、今回の実質的応答文として出力されることを防止することができる。
なお、ユーザが、例えば、「話は変わるけど」などといった話題を変更する発話をした場合は、応答生成部4(図2)は、対話履歴データベース15に記憶された対話履歴をクリアし、対話履歴、即ち、前回までの入力文や、前回までの応答文が、今回の応答文に影響を与えないようにすることができる。
次に、図13を参照して、図2の応答出力制御部16による形式的応答文と実質的応答文との出力の制御について説明する。
上述したように、応答出力制御部16には、形式的応答生成部11から形式的応答文が供給されるとともに、実質的応答生成部13から実質的応答文が供給される。そして、応答出力制御部16は、入力文に対して得られた形式的応答文と実質的応答文とを合成し、その入力文に対する最終的な応答文を得て、制御部3に出力する。
具体的には、例えば、応答出力制御部16は、入力文に対して得られた形式的応答文と実質的応答文とを、その順に出力し、結果として、形式的応答文と実質的応答文とを、その順で連結したものを、最終的な応答文として出力する。
即ち、例えば、図13に示すように、入力文として、「明日は晴れるといいな」が、形式的応答生成部11および実質的応答生成部13に供給され、形式的応答生成部11において、「そうだね。」という、入力文「明日は晴れるといいな」に対して形式が合っている形式的応答文が生成されるとともに、実質的応答生成部13において、「天気が気になるね」という、入力文「明日は晴れるといいな」に対して内容が合っている実質的応答文が生成されたとする。さらに、形式的応答生成部11から応答出力制御部16に対して、形式的応答文「そうだね。」が供給されるとともに、実質的応答生成部13から応答出力制御部16に対して、実質的応答文「明日は晴れるといいな」が供給されたとする。
この場合、応答出力制御部16では、形式的応答生成部11からの形式的応答文「そうだね。」と、実質的応答生成部13からの実質的応答文「明日は晴れるといいな」とを、その順で、(制御部3を介して)音声合成部5(図1)に出力する。音声合成部5は、そこに供給される形式的応答文「そうだね。」と、実質的応答文「明日は晴れるといいな」とを対象に、順次、音声合成を行い、その結果、スピーカ6からは、合成音「そうだね。天気が気になるね」が、入力文「明日は晴れるといいな」に対する最終的な応答文として出力される。
なお、図13では、応答出力制御部16において、入力文に対して得られた形式的応答文と実質的応答文とを、その順に出力することで、形式的応答文と実質的応答文とを、その順で連結したものを、最終的な応答文として出力するようにしたが、応答出力制御部16では、その他、例えば、入力文に対して得られた形式的応答文と実質的応答文とを、その逆順に出力することで、形式的応答文と実質的応答文とを、その逆順で連結したものを、最終的な応答文として出力することが可能である。
また、形式的応答文と実質的応答文とのうちのいずれを先に出力するかは、例えば、入力文に対する応答文とすることの相応しさを表すスコアとしての応答スコアに基づいて決定することができる。即ち、形式的応答文と実質的応答文それぞれについて、応答スコアを求め、その応答スコアの高い方を先に出力し、低い方を後に出力するようにすることができる。
あるいは、また、応答出力制御部16では、形式的応答文と実質的応答文のうちの、例えば、応答スコアが高い方のみを、最終的な応答文として選択して出力することができる。
さらに、応答出力制御部16では、形式的応答文と実質的応答文のいずれの応答スコアも、所定の閾値より大である場合(以上である場合)には、形式的応答文と実質的応答文を、その順、または逆順で出力し、形式的応答文と実質的応答文のうちのいずれかの応答スコアだけが所定の閾値より大である場合には、その所定の閾値より応答スコアが大の方だけを出力することができる。そして、形式的応答文と実質的応答文のいずれの応答スコアも、所定の閾値以下(未満)である場合には、例えば、形式的応答文や実質的応答文に代えて、例えば、ユーザの発話を聞き返す文、あるいはユーザの発話が理解できない旨の文などを、最終的な応答文として出力するようにすることができる。
なお、応答スコアとしては、例えば、入力文と用例とのマッチングにより求められるスコアなどを採用することができる。
次に、図14のフローチャートを参照して、図1の音声対話システムの動作について説明する。
なお、図14のフローチャートにしたがった動作では、応答出力制御部16が、形式的応答文と実質的応答文とを、その順で出力することにより、形式的応答文と実質的応答文とをその順で連結した文が、入力文に対する最終的な応答文として出力されるようになっている。
音声対話システムでは、大きく分けて、対話処理と音声合成処理が行われる。
対話処理では、まず最初に、ステップS1において、音声認識部2は、ユーザが発話をするのを待って、ユーザが発話を行ったら、その発話によってマイク1に入力される音声について、音声認識を行う。
ここで、ユーザが、一定時間以上黙っている場合には、音声対話システムにおいて、例えば、「何かしゃべってよ」といった発話を促すメッセージを、合成音によりスピーカ6から出力し、あるいは、図示せぬディスプレイに表示することができる。
ステップS1において、音声認識部2は、ユーザが発話を行うことによってマイク1に入力された音声について、音声認識を行った場合、その音声認識結果を、単語単位の単語列にし、入力文として、制御部3に供給する。
ここで、入力文は、上述したように、音声認識による他、ユーザがキーボードを操作することによって入力することができる。ユーザがキーボードを操作することによって、入力文が制御部3に入力された場合、制御部3は、その入力文を、単語単位に分割する。
制御部3は、入力文の入力を受けると、ステップS1からS2に進み、例えば、その入力文に基づき、対話処理を終了するかどうかを判定する。
ステップS2において、対話処理を終了しないと判定された場合、制御部3は、入力文を、応答生成部4(図2)の形式的応答生成部11と実質的応答生成部13に供給し、ステップS3に進む。
ステップS3では、形式的応答生成部11が、入力文に対して、形式的応答文を生成し、応答出力制御部16に供給して、ステップS4に進む。即ち、例えば、入力文が、「明日は晴れるかな」であり、その入力文に対して、「そうだね」が、形式的応答文として生成された場合、その形式的応答文が、形式的応答生成部11から応答出力制御部16に供給される。
ステップS4では、応答出力制御部16が、形式的応答生成部11からの形式的応答文を、制御部3(図1)を介して、音声合成部5に出力し、ステップS5に進む。
ステップS5では、実質的応答生成部13が、入力文に対して、実質的応答文を生成し、応答出力制御部16に供給して、ステップS6に進む。即ち、例えば、入力文が、「明日は晴れるかな」であり、その入力文に対して、「天気が気になるね」が、実質的応答文として生成された場合、その実質的応答文が、実質的応答生成部13から応答出力制御部16に供給される。
ステップS6では、応答出力制御部16が、ステップS4での形式的応答文の出力に続いて、実質的応答生成部13からの実質的応答文を、制御部3(図1)を介して、音声合成部5に出力し、ステップS7に進む。
即ち、図14では、応答出力制御部16は、形式的応答生成部11からの形式的応答文を、音声合成部5に出力し、その形式的応答文に続いて、実質的応答生成部13からの実質的応答文を、音声合成部5に出力する。結果として、例えば、上述したように、形式的応答文が「そうだね」であり、実質的応答文が「天気が気になるね」であった場合、応答出力制御部16から音声合成部5に対しては、その形式的応答文と実質的応答文とをその順で連結した文「そうだね、天気が気になるね」が出力されることになる。
ステップS7では、応答出力制御部16は、対話履歴データベース15の対話履歴を更新して、ステップS1に戻り、以下、同様の処理が繰り返される。
即ち、ステップS7では、応答出力制御部16は、入力文と、その入力文に対して出力した最終的な応答文、即ち、形式的応答文および実質的応答文をその順で連結した文とを、対話履歴データベース15に供給する。そして、例えば、対話履歴データベース15における最新の発言が発言番号r−1の発言であったとすると、対話履歴データベース15は、応答出力制御部16からの入力文を、発言番号rの発言として記憶するとともに、応答出力制御部16からの最終的な応答文を、発言番号r+1の発言として記憶する。
従って、例えば、上述したように、入力文が「明日は晴れるかな」であり、形式的応答文と実質的応答文とをその順で連結した文である最終的な応答文が「そうだね、天気が気になるね」であった場合、対話履歴データベース15においては、入力文「明日は晴れるかな」が発言番号rの発言として記憶され、最終的な応答文「そうだね、天気が気になるね」が発言番号r+1の発言として記憶される。
一方、ステップS2において、対話処理を終了すると判定された場合、即ち、入力文が、例えば、「終わりにしよう」等の対話の終了を意味する文である場合、対話処理は終了する。
以上のように、対話処理では、ステップS3において、入力文に対する形式的応答文が生成され、ステップS4において、その形式的応答文が、応答出力制御部16から音声合成部5に出力される。さらに、ステップS5において、入力文に対する実質的応答文が生成され、ステップS6において、その実質的応答文が、応答出力制御部16から音声合成部5に出力される。
音声合成部5(図1)は、以上のように、対話処理において、応答出力制御部16から形式的応答文が出力され、あるいは、実質的応答文が出力されると、対話処理とは並列に、音声合成処理を開始する。
即ち、音声合成処理では、まず最初に、ステップS11において、音声合成部5は、応答出力制御部16から出力された形式的応答文、または実質的応答文を受信し、ステップS12に進む。
ステップS12では、音声合成部5は、ステップS11で受信した形式的応答文または実質的応答文を対象に音声合成を行い、これにより、形式的応答文または実質的応答文に対応する合成音を生成して、スピーカ6(図1)から出力し、音声合成処理を終了する。
対話処理では、上述したように、ステップS4において、形式的応答文が、応答出力制御部16から音声合成部5に出力され、その後、ステップS6において、実質的応答文が、応答出力制御部16から音声合成部5に出力される。そして、音声合成処理では、上述したように、応答文を受信した順に、その応答文を対象とした音声合成が行われる。
従って、例えば、上述したように、形式的応答文が「そうだね」であり、実質的応答文が「天気が気になるね」であった場合、応答出力制御部16から音声合成部5に対しては、その形式的応答文「そうだね」と、実質的応答文「天気が気になるね」とが、その順で出力され、音声合成部5では、やはり、その順で音声合成が行われる。その結果、スピーカ6からは、合成音「そうだね、天気が気になるね」が出力される。
なお、対話処理と音声合成処理とを並列に行うことができない場合には、音声合成部5は、対話処理におけるステップS4とS5との間に、直前のステップS4で応答出力制御部16から出力される形式的応答文を対象とした音声合成を行い、対話処理におけるステップS6とS7との間に、直前のステップS6で応答出力制御部16から出力される実質的応答文を対象とした音声合成を行う。
以上のように、形式的応答生成部11と実質的応答生成部13とを別個に設け、形式的応答生成部11において形式的応答文を生成するとともに、実質的応答生成部13において実質的応答文を生成するようにしたので、入力文に対して形式が合っている形式的応答文、および入力文に対して内容が合っている実質的応答文を得ることができる。さらに、応答出力制御部16において、形式的応答文と実質的応答文との出力を制御するようにしたので、形式と内容が適切な応答文を出力することができ、これにより、ユーザに「自分が言ったことを理解してもらえた」という印象を与えることができる。
また、形式的応答生成部11による形式的応答文の生成と、実質的応答生成部13による実質的応答文の生成とは独立して行われるので、音声合成部5において、応答出力制御部16から出力される形式的応答文や実質的応答文の音声合成を、形式的応答生成部11や実質的応答生成部13の処理と並列に行うことができる場合には、形式的応答生成部11で生成された形式的応答文の合成音による出力を行いながら、実質的応答生成部13において実質的応答文の生成を行うことができ、ユーザからの入力文が入力されてから、応答文の出力が開始されるまでの時間である応答時間を短縮することができる。
即ち、例えば、形式的応答生成部11と実質的応答生成部13において、それぞれ、上述したように、用例に基づき、形式的応答文と実質的応答文を生成する場合、形式的応答文は、入力文の構造を表す語句に依存する文(形式が合っている文)であるという性質上、そのような形式的応答文を生成するための用例は、入力文の内容(話題)を表す語句に依存する文(内容が合っている文)であるという性質を有する実質的応答文を生成するための用例に比較して、それほど多くの数を必要としない。
従って、形式的応答文を生成するための用例と、実質的応答文を生成するための用例との数の比が、例えば、1:9であるとし、さらに、説明を簡単にするために、応答文の生成に要する時間が、単純に、その応答文の生成に用いる用例の数に比例することとすると、形式的応答文を生成するのに要する時間は、形式的応答文を生成するための用例と、実質的応答文を生成するための用例とのすべてに基づき、応答文を生成する場合の1/10で済む。よって、形式的応答文を生成して即座に出力することにより、形式的応答文を生成し、さらに、実質的応答文を生成してから、その形式的応答文と実質的応答文を出力する場合に比較して、応答時間を1/10に短縮することができる。
その結果、リアルタイム性が高い対話、あるいはテンポの良い対話を行うことができる。
ここで、音声合成部5において、応答出力制御部16から出力される形式的応答文や実質的応答文の音声合成を、形式的応答生成部11や実質的応答生成部13の処理と並列に行うことができない場合には、形式的応答生成部11による形式的応答文の生成が行われた後、音声合成部5において、その形式的応答文を対象とした音声合成を行い、その後、実質的応答生成部13による実質的応答文の生成を行い、音声合成部5において、その実質的応答文を対象とした音声合成を行うこととなる。あるいは、形式的応答文と実質的応答文の生成を順次行った後、音声合成部5において、その形式的応答文と実質的応答文を対象とした音声合成を順次行うこととなる。
なお、実質的応答文の生成に、入力文と用例だけではなく、対話履歴も用いるようにすることで、実質的応答文の内容(話題)が急に変化することを防止することができる他、同一の入力文に対して異なる実質的応答文の生成が可能となる。
次に、図15のフローチャートを参照して、図1の音声対話システムが対話処理を行う場合の動作の他の実施の形態について説明する。
図15の対話処理では、ステップS26の処理が行われることを除いて、図14の対話処理と同様の処理が行われる。即ち、図15の対話処理は、ステップS21乃至S25,S27,S28において、図14の対話処理のステップS1乃至S7における場合とそれぞれ同様の処理が行われる。そして、図15の対話処理では、図14のステップS5に対応するステップS25の処理後に、ステップS26の処理が行われてから、図14のステップS6に対応するステップS27の処理が行われる点が、図14の対話処理と異なる。
即ち、図15の対話処理では、ステップS21において、図14のステップS1における場合と同様に、音声認識部2は、ユーザが発話をするのを待って、そのユーザの発話を音声認識し、その音声認識結果を、単語単位の単語列にして、入力文として、制御部3に供給する。制御部3は、入力文の入力を受けると、ステップS21からS22に進み、図14のステップS2における場合と同様に、その入力文に基づき、対話処理を終了するかどうかを判定する。ステップS22において、対話処理を終了すると判定された場合、対話処理は終了する。
また、ステップS22において、対話処理を終了しないと判定された場合、制御部3は、入力文を、応答生成部4(図2)の形式的応答生成部11と実質的応答生成部13に供給し、ステップS23に進む。ステップS23では、形式的応答生成部11が、入力文に対して、形式的応答文を生成し、応答出力制御部16に供給して、ステップS24に進む。
ステップS24では、応答出力制御部16が、形式的応答生成部11からの形式的応答文を、制御部3(図1)を介して、音声合成部5に出力し、ステップS25に進む。これにより、図14で説明したように、音声合成部5では、形式的応答文を対象とした音声合成が行われる。
ステップS25では、実質的応答生成部13が、入力文に対して、実質的応答文を生成し、応答出力制御部16に供給して、ステップS26に進む。
ステップS26では、応答出力制御部16が、実質的応答生成部13からの実質的応答文の中に、直前のステップS24で音声合成部5(図1)に出力した形式的応答文と重複する表記(部分)が存在するかどうかを調査し、即ち、例えば、実質的応答生成部13からの実質的応答文が、直前のステップS24で音声合成部5に出力した形式的応答文を包含するかどうかを調査し、実質的応答文が、形式的応答文を包含する場合には、その包含部分を、実質的応答文から削除(除去)する。
具体的には、例えば、形式的応答文が「そう。」であり、実質的応答文が「そう。天気が気になるね」であった場合、図14の対話処理によれば、その形式的応答文と実質的応答文とが連結した合成音「そう。そう。天気が気になるね」が出力されることになり、「そう。」が重複することになる。
そこで、図15の対話処理では、ステップS26において、実質的応答生成部13からの実質的応答文が、直前のステップS24で音声合成部5に出力した形式的応答文を包含するかどうかを調査し、実質的応答文が、形式的応答文を包含する場合には、その包含部分を、実質的応答文から削除するようになっている。これにより、形式的応答文が「そう。」であり、実質的応答文が、形式的応答文「そう。」を包含する「そう。天気が気になるね」であった場合、実質的応答文「そう。天気が気になるね」から、包含部分「そう。」が削除され、実質的応答文は、「天気が気になるね」にされる。
なお、ステップS26では、実質的応答文の中に、形式的応答文との重複部分が存在する場合も、その重複部分を、実質的応答文から削除することができる。即ち、例えば、形式的応答文が「うん、そうだね。」であり、実質的応答文が「そうだね。天気が気になるね」である場合のように、形式的応答文「うん、そうだね。」の終わりの部分「そうだね。」と、実質的応答文「そうだね。天気が気になるね」の先頭の部分「そうだね。」とが重複する場合、ステップS26では、実質的応答文「そうだね。天気が気になるね」から、重複部分「そうだね。」を削除して、実質的応答文を、「天気が気になるね」にすることができる。
ここで、ステップS26では、実質的応答文の中に、形式的応答文との重複部分が存在しない場合、実質的応答文に対しては、何ら処理は行われない。
ステップS26の後は、ステップS27に進み、応答出力制御部16は、実質的応答生成部13からの実質的応答文を、制御部3(図1)を介して、音声合成部5に出力し、ステップS28に進む。ステップS28では、応答出力制御部16は、図14のステップS7で説明したように、入力文と、その入力文に対して出力した最終的な応答文によって、対話履歴データベース15の対話履歴を更新して、ステップS21に戻り、以下、同様の処理が繰り返される。
以上のように、図15の対話処理では、ステップS26において、実質的応答文から、形式的応答文と実質的応答文との重複部分(包含部分)を削除し、その重複部分の削除後の実質的応答文を、音声合成部5に出力するようにしたので、例えば、「そう。そう。天気が気になるね」といった「そう。」の重複が存在する不自然な合成音(応答)や、「うん、そうだね。そうだね。天気が気になるね」といった「そうだね。」が重複する不自然な合成音がされることを防止することができる。
即ち、例えば、上述したように、形式的応答文が「そう。」であり、実質的応答文が「そう。天気が気になるね」であった場合、図14の対話処理によれば、その形式的応答文と実質的応答文とが連結した合成音「そう。そう。天気が気になるね」が出力されることになり、「そう。」が重複する。また、例えば、形式的応答文が「うん、そうだね。」であり、実質的応答文が「そうだね。天気が気になるね」であった場合、図14の対話処理によれば、合成音「うん、そうだね。そうだね。天気が気になるね」が出力されることになり、「そうだね。」が重複する。
これに対して、図15の対話処理によれば、実質的応答文の中に、形式的応答文と重複する部分(重複部分)が存在するかどうかを調査し、重複部分が存在する場合には、実質的応答文から、その重複部分を削除するようにしたので、重複部分が存在する不自然な合成音の出力を防止することができる。
即ち、形式的応答文が「そう。」であり、実質的応答文が「そう。天気が気になるね」であり、「そう。」が重複する(実質的応答文に形式的応答文が包含される)場合、ステップS26において、上述したように、実質的応答文「そう。天気が気になるね」から、重複部分「そう。」が削除され、実質的応答文は、「天気が気になるね」にされる。その結果、合成音としては、形式的応答文「そう。」と、重複部分である「そう。」が削除された実質的応答文「天気が気になるね」とが連結された文「そう。天気が気になるね」が出力されることになる。
また、例えば、形式的応答文が「うん、そうだね。」であり、実質的応答文が「そうだね。天気が気になるね」であり、「そうだね。」が重複する場合、ステップS26において、上述したように、実質的応答文「そうだね。天気が気になるね」から、重複部分「そうだね。」が削除され、実質的応答文は、「天気が気になるね」にされる。その結果、合成音としては、形式的応答文「うん、そうだね。」と、重複部分である「そうだね。」が削除された実質的応答文「天気が気になるね」とが連結された文「うん。そうだね。天気が気になるね」が出力されることになる。
ところで、上述のように、形式的応答文と実質的応答文とに、重複部分が存在する場合には、その重複部分は、実質的応答文から削除する他、形式的応答文から削除することもできる。しかしながら、図15の対話処理においては、重複部分を削除するステップS26の処理が、形式的応答文を、応答出力制御部16から音声合成部5に出力するステップS24の処理後に行われるため、形式的応答文から、重複部分を削除することはできない。
そこで、図16のフローチャートを参照して、形式的応答文からの重複部分の削除が可能な対話処理について説明する。
図16の対話処理では、ステップS31において、図14のステップS1における場合と同様に、音声認識部2は、ユーザが発話をするのを待って、そのユーザの発話を音声認識し、その音声認識結果を、単語単位の単語列にして、入力文として、制御部3に供給する。制御部3は、入力文の入力を受けると、ステップS31からS32に進み、図14のステップS2における場合と同様に、その入力文に基づき、対話処理を終了するかどうかを判定する。ステップS32において、対話処理を終了すると判定された場合、対話処理は終了する。
また、ステップS32において、対話処理を終了しないと判定された場合、制御部3は、入力文を、応答生成部4(図2)の形式的応答生成部11と実質的応答生成部13に供給し、ステップS33に進む。ステップS33では、形式的応答生成部11が、入力文に対して、形式的応答文を生成し、応答出力制御部16に供給して、ステップS34に進む。
ステップS34では、実質的応答生成部13が、入力文に対して、実質的応答文を生成し、応答出力制御部16に供給して、ステップS35に進む。
なお、ステップS33とS34の処理は、並列に行っても構わない。
ステップS35では、応答出力制御部16が、形式的応答生成部11からステップS33で得られる形式的応答文と、実質的応答生成部13からステップS34で得られる実質的応答文とを合成し、これにより、入力文に対する最終的な応答文を作成し、ステップS36に進む。ここで、ステップS35において、形式的応答文と実質的応答文とを合成する方法については、後述する。
ステップS36では、応答出力制御部16が、ステップS35での形式的応答文と実質的応答文との合成によって得られた最終的な応答文を、制御部3(図1)を介して、音声合成部5に出力し、ステップS37に進む。音声合成部5では、図14で説明した音声合成処理において、応答出力制御部16からの最終的な応答文を対象とした音声合成が行われる。
ステップS37では、応答出力制御部16は、図14のステップS7で説明したように、入力文と、その入力文に対して出力した最終的な応答文によって、対話履歴データベース15の対話履歴を更新して、ステップS31に戻り、以下、同様の処理が繰り返される。
図16の対話処理では、ステップS35において、例えば、次のような第1乃至第3の合成方法のうちのいずれかによって、形式的応答文と実質的応答文とが合成され、入力文に対する最終的な応答文が作成される。
即ち、第1の合成方法では、形式的応答文と実質的応答文とが、その順または逆順で連結され、最終的な応答文とされる。
第2の合成方法では、形式的応答文と実質的応答文のそれぞれについて、所定の条件を満たすかどうかがチェックされる。なお、所定の条件の詳細については、後述する第6の変形例において説明する。
第2の合成方法において、形式的応答文と実質的応答文の両方が所定の条件を満たす場合、第1の合成処理と同様に、形式的応答文と実質的応答文とが、その順または逆順で連結され、最終的な応答文とされる。また、形式的応答文と実質的応答文のうちのいずれか一方だけが所定の条件を満たす場合、その所定の条件を満たす方だけが、最終的な応答文とされる。形式的応答文と実質的応答文のうちのいずれも所定の条件を満たさない場合、例えば、「良い返事が思いつかなかったよ」等が、最終的な応答文とされる。
第3の合成方法では、機械翻訳等で用いられている、フレーズ単位の翻訳結果から文を生成する技術を応用して、形式応答文と実質的応答文とから、最終的な応答文が生成される。
なお、第1または第2の合成方法において、形式的応答文と実質的応答文とを連結する場合には、図15の対話処理で説明したように、形式的応答文と実質的応答文との重複部分を削除して、最終的な応答文を作成することができる。
図16の対話処理では、形式的応答文と実質的応答文とを合成した後に、その合成によって得られる最終的な応答文が、応答出力制御部16から音声合成部5に出力されるので、重複部分の削除は、形式的応答文と実質的応答文のいずれからでも行うことができる。
また、形式的応答文と実質的応答文とに、重複部分が存在する場合には、応答出力制御部16において、その重複部分を、形式的応答文または実質的応答文から削除する他、単純に、形式的応答文を無視し、実質的応答文を、そのまま最終的な応答文とすることができる。
このように、形式的応答文を無視し、実質的応答文を、そのまま最終的な応答文とすることによっても、図15の対話処理で説明したような、重複部分が存在する不自然な合成音がされることを防止することができる。
即ち、例えば、形式的応答文が「そう。」であり、実質的応答文が「そう。天気が気になるね」であった場合には、形式的応答文を無視し、実質的応答文を、そのまま最終的な応答文とすることにより、最終的な応答文は、「そう。天気が気になるね」となる。従って、形式的応答文「そう。」と、実質的応答文「そう。天気が気になるね」とを、その順で連結することにより、最終的な応答文が、「そう。そう。天気が気になるね」といった「そう。」が重複する不自然な文になることを防止することができる。
また、例えば、形式的応答文が「うん、そうだね。」であり、実質的応答文が「そうだね。天気が気になるね」であった場合には、形式的応答文を無視し、実質的応答文を、そのまま最終的な応答文とすることにより、最終的な応答文は、「そうだね。天気が気になるね」となる。従って、形式的応答文「うん、そうだね。」と、実質的応答文「そうだね。天気が気になるね」とを、その順で連結することにより、最終的な応答文が、「うん、そうだね。そうだね。天気が気になるね」といった「そうだね。」が重複する不自然な文になることを防止することができる。
なお、図16の対話処理では、形式的応答文と実質的応答文の生成後に、応答出力制御部16において、その形式的応答文と実質的応答文とを合成することにより、最終的な応答文を作成し、その後、最終的な応答文を、音声合成部5に出力するので、形式的応答文の音声合成と、実質的応答文の生成とを並列に行うことが可能な図14や図15の対話処理に比較して、ユーザからの入力文が入力されてから、応答文の出力が開始されるまでの応答時間が長くなることがある。
但し、図16の対話処理では、応答出力制御部16において、形式的応答文と実質的応答文の生成が終了するのを待って、その形式的応答文と実質的応答文とが合成され、最終的な応答文が作成されるので、例えば、形式的応答文と実質的応答文のいずれをも自由に加工等して合成することができる。
次に、図1の音声対話システムの変形例である第1乃至第10の変形例について説明する。第1乃至第10の変形例は、簡単には、以下のようなものである。
即ち、第1の変形例は、入力文と用例とのマッチングに、ベクトル空間法の代わりにDP(Dynamic Programming)マッチング法を用いるものであり、第2の変形列は、実質的応答生成部13において、スコアが最も高い用例の、並び順で次の用例を、実質的応答文とする代わりに、スコアが最も高い用例を、実質的応答文とするものである。第3の変形例は、特定の話者が発言した用例だけを応答文として採用することで、図1の音声対話システムのキャラクタ付けを実現するものである。第4の変形例は、入力文と用例とのマッチングにおいて、所定の単位の用例群ごとに優先度を付してスコアを計算することで、それまでの話題を維持した用例が、応答文として出力されやすくするものである。第5の変形例は、一部が変数で記述された用例を用いて、応答文を生成するものであり、第6の変形例は、形式的応答文や実質的応答文が所定の条件を満たすかどうかを判定し、所定の条件を満たす形式的応答文や実質的応答文を出力するものである。第7の変形例は、音声認識結果の正解確信度(confidence measure)を求め、その正解確信度にも基づいて、応答文を生成するものであり、第8の変形例は、対話履歴も用例として用いて応答文を生成するものである。第9の変形例は、音声認識結果の、いわゆるNベスト、即ち、尤度(尤度を表すスコア)の高い上位N個の音声認識結果それぞれの尤度と、用例とのマッチングにより求められるスコアとを用いて、応答文を生成するものであり、第10の変形例は、ユーザの発話の音響的特徴を用いて、形式的応答文を生成するものである。
以下、第1乃至第10の変形例について説明する。
[第1の変形例]
第1の変形例では、実質的応答生成部13において、入力文と用例とのマッチングに、ベクトル空間法ではなく、DPマッチング法を用いる。
第1の変形例では、実質的応答生成部13において、入力文と用例とのマッチングに、ベクトル空間法ではなく、DPマッチング法を用いる。
ここで、DPマッチング法は、要素の数(長さ)が異なる2つのパターンについて、要素同士の対応をとりながら、その2つのパターンの距離尺度などを計算する方法としてよく用いられる。
入力文と用例とは、単語を要素とする単語列であり、従って、DPマッチング法によれば、入力文と用例とについて、それぞれを構成する単語同士の対応をとりながら、その入力文と用例との距離尺度を計算することができる。
そこで、図17を参照して、DPマッチング法による入力文との用例とのマッチングについて説明する。
図17は、入力文との用例とのDPマッチングの結果を示している。
即ち、図17上側は、入力文「明日 は 出かけ よう かな」と、用例「今度 から そう し よう かな」とのDPマッチングの結果を示しており、図17下側は、入力文「明日 サッカー しよう か」と、用例「どう しよう か な」とのDPマッチングの結果を示している。
DPマッチングにおいては、入力文と用例との単語の並び順を維持したまま、それぞれの単語同士の対応をとり、その対応関係が求められる。
対応関係には、正解、置換誤り、挿入誤り、削除誤りがあり、それぞれは、マークC,S,I,Dで表される。
ここで、正解Cとは、入力文と用例との、対応をとられた単語どうしが一致することを表す。置換誤りSとは、入力文と用例との、対応をとられた単語どうしが、異なる単語であることを表す。挿入誤りIとは、用例にある単語と対応をとる単語が、入力文に存在しないこと(用例に、入力文に存在しない余計な単語があること)を表す。削除誤りDとは、入力文にある単語と対応をとる単語が、用例に存在しないこと(用例に、入力文に存在する単語が不足していること)を表す。
従って、DPマッチングによって付されたマークが、正解C以外の置換誤りS、挿入誤りI、または削除誤りDのうちのいずれかである場合には、入力文と用例との間には、何らかの違い(存在する単語の違い、単語の並び順の違い)があることになる。
入力文と用例とのマッチングを、DPマッチング法によって行う場合、入力文と用例の各単語に対して、マッチングにおいてその単語を考慮する度合いとしての重みを付与する。重みは、すべての単語について1であっても良いし、単語ごとに異なっていても良い。
ここで、図18は、図17にDPマッチングの結果を示した入力文と用例の各単語に重みを付与した状態を示している。
図18上側は、図17上側のDPマッチングの結果における入力文と用例の各単語に重みを付与したものであり、図18下側は、図17下側のDPマッチングの結果における入力文と用例の各単語に重みを付与したものである。
なお、図18において、入力文と用例の各単語の直後のコロン(:)に続く数字が、重みである。
形式的応答生成部11におけるマッチングでは、そこで生成する形式的応答文の性質上、助詞や助動詞などの文の形式を表す単語に重きをおくべきであり、実質的応答生成部13におけるマッチングでは、そこで生成する実質的応答文の性質上、内容(話題)を表す単語に重きをおくべきである。
そこで、形式的応答生成部11におけるマッチングでは、例えば、入力文の単語の重みとしては、dfを採用し、用例の単語の重みとしては、1.0を採用するのが望ましい。また、実質的応答生成部13におけるマッチングでは、例えば、入力文の単語の重みとしては、idfを採用し、用例の単語の重みとしては、1.0を採用するのが望ましい。
但し、図18では、説明のために、重みとして、入力文の単語にはdfが、用例の単語にはidfが、それぞれ採用されている。
次に、入力文と用例とのマッチングを行うにあたっては、入力文と用例とが、どれだけ類似しているか(あるいは、入力文と用例とが、どれだけ離れているか)を評価する評価尺度を導入することが必要である。
ここで、音声認識におけるマッチングでは、correctnessとaccuracyという評価尺度が知られており、文書検索におけるマッチングでは、precisionという評価尺度が知られている。
そこで、入力文と用例とのマッチングをDPマッチング法により行うにあたって、correctness,accuracy,precisionから類推した評価尺度を導入することとする。
評価尺度correctness,accuracy,precisionは、それぞれ、式(6)乃至式(8)にしたがって計算することができる。
なお、式(6)乃至式(8)において、Ciは、入力文において、正解Cとなっている単語の重みの総和を表し、Siは、入力文において、置換誤りSとなっている単語の重みの総和を表す。また、Diは、入力文において、削除誤りDとなっている単語の重みの総和を表し、Coは、用例において、正解Cとなっている単語の重みの総和を表す。さらに、Soは、用例において、置換誤りSとなっている単語の重みの総和を表し、Ioは、用例において、挿入誤りIとなっている単語の重みの総和を表す。
従って、すべての単語の重みが1である場合には、Ciは、入力文における正解Cの数に等しく、Siは、入力文における置換誤りSの数に等しい。また、Diは、入力文における削除誤りDの数に等しく、Coは、用例における正解Cの数に等しい。さらに、Soは、用例における置換誤りSの数に等しく、Ioは、用例における挿入誤りIの数に等しい。
図18上側のDPマッチングの結果では、Ci,Si,Di,Co,So,Ioは、式(9)に示すようになり、その結果、correctness,accuracy,precisionは、式(10)に示すようになる。
また、図18下側のDPマッチングの結果では、Ci,Si,Di,Co,So,Ioは、式(11)に示すようになり、その結果、correctness,accuracy,precisionは、式(12)に示すようになる。
入力文と用例との類似度を表すスコアとしては、式(6)乃至式(8)の3つの評価尺度correctness,accuracy,precisionのうちのいずれを用いることも可能であるが、上述したように、用例の単語の重みとして1.0を採用するとともに、形式的応答生成部11におけるマッチングでは、入力文の単語の重みとしてdfを採用し、実質的応答生成部13におけるマッチングでは、入力文の単語の重みとしてidfを採用する場合、correctness,accuracy,precisionのうちの、accuracyを、入力文と用例との類似度を表すスコアとして用いるのが望ましい。即ち、これにより、形式的応答生成部11では文の形式を重視したマッチングを、実質的応答生成部13では文の内容を表す単語を重視したマッチングを、それぞれ行うことができる。
評価尺度accuracyを、入力文と用例との類似度を表すスコアとして用いた場合、スコアが1.0に近いほど、入力文と用例とが類似していることを表す。
ここで、ベクトル空間法による入力文と用例とのマッチングでは、入力文と用例とが類似しているとは、入力文と用例それぞれを構成する単語の同一性が高いことを意味するが、DPマッチング法による入力文と用例とのマッチングでは、入力文と用例とが類似しているとは、入力文と用例それぞれを構成する単語の同一性が高いだけでなく、それぞれの単語の語順や、文長(それぞれの単語の数)などの同一性も高いことを意味する。従って、DPマッチング法によるマッチングによれば、ベクトル空間法によるマッチングに比較して、入力文と用例との類似性を、いわば、より厳格に判断することができる。
なお、入力文の単語に付与する重みとしてidfを採用した場合、idfは、上述の式(3)で計算されるため、式(3)におけるC(w)が0となるときには、式(3)によって、idfを求めることができない。
即ち、式(3)におけるC(w)は、単語wが出現している用例の数を表すから、入力文の単語が、すべての用例に存在しない場合、0となり、式(3)では、idfを計算することができない問題(いわゆる未知語の問題)がある。
そこで、入力文の単語wについてのC(w)が0となる場合には、その単語wについては、例えば、次のような第1または第2の対処法によって対処する。
即ち、第1の対処法では、C(w)が0となる単語wに対しては、重みとして0を付与することにより、マッチングにあたって、その単語w(未知語)を考慮しないようにする。
第2の対処法では、C(w)が0となる単語wについては、C(w)として、例えば、1、あるいは、0乃至1の範囲の任意の値を用いて、式(3)によりidfを計算することで、マッチングにあたって、大きな重みを与えるようにする。
なお、入力文と用例との類似度を表すスコアとなるcorrectness,accuracy、またはprecisionの計算は、DPマッチングの最中に行うことができる。即ち、入力文と用例との類似度を表すスコアとして、例えば、accuracyを採用する場合には、accuracyが最も大となるように、入力文と用例の単語を対応付けながら、各単語が、正解C、置換誤りS、挿入誤りI、または削除誤りDのうちのいずれに該当するかを求めることができる。
また、DPマッチングでは、正解C以外の置換誤りS、挿入誤りI、および削除誤りDの数を最も少なくするという簡単な尺度で、入力文と用例の単語を対応付けることができ、入力文と用例の各単語が、正解C、置換誤りS、挿入誤りI、または削除誤りDのうちのいずれに該当するかを確定してから、入力文と用例との類似度を表すスコアとなるcorrectness,accuracy、またはprecisionの計算を行っても良い。
さらに、入力文と用例との類似度を表すスコアとしては、correctness,accuracy、またはprecisionのうちのいずれか1つの他、それらのうちの2以上から、何らかの演算によって求められる値を採用することもできる。
また、DPマッチング法によるマッチングでは、ベクトル空間法によるマッチングに比較して、上述したように、入力文と用例との類似性を、より厳格に判断することができるが、その反面、演算量が大となり、時間も要する。そこで、入力文と用例とのマッチングとしては、まず、すべての用例を対象として、ベクトル空間法によるマッチングを行い、入力文に類似する上位複数個の用例を選択し、その上位複数個の用例を対象として、DPマッチング法によるマッチングを行うといった、ベクトル空間法とDPマッチング法との両方を採用したマッチングを行うことができる。この場合、すべての用例を対象として、DPマッチング法によるマッチングを行うのに比較して、処理の高速化を図ることができる。
さらに、形式的応答生成部11と実質的応答生成部13とでは、それぞれ、マッチングの方法として、同一の方法を採用して、形式的応答文と実質的応答文を生成することもできるし、異なる方法を採用して、形式的応答文と実質的応答文を生成することもできる。
即ち、例えば、形式的応答生成部11では、DPマッチング法によるマッチングを行い、実質的応答生成部13では、ベクトル空間法によるマッチングを行うことができる。また、例えば、形式的応答生成部11では、ベクトル空間法とDPマッチング法の両方を採用したマッチングを行い、実質的応答生成部13では、ベクトル空間法によるマッチングを行うことができる。
[第2の変形例]
第2の変形列では、実質的応答生成部13において、スコアが最も高い用例の、並び順で次の用例を、実質的応答文とするのではなく、そのスコアが最も高い用例を、実質的応答文とする。
第2の変形列では、実質的応答生成部13において、スコアが最も高い用例の、並び順で次の用例を、実質的応答文とするのではなく、そのスコアが最も高い用例を、実質的応答文とする。
即ち、上述の場合には、実質的応答生成部13において、図8や、図10、図11で説明したように、入力文に対するスコアが最も高い用例が、用例#pであった場合に、その次の用例#p+1を、実質的応答文とするようにしたが、実質的応答文としては、スコアが最も高い用例#pを、そのまま採用することもできる。
但し、スコアが最も高い用例#pが、入力文に一致する場合(完全に一致する場合、用例#pが入力文を包含する場合、または入力文が用例#pを包含する場合のうちの、例えば、完全に一致する場合)、その用例#pを実質的応答文とすると、入力文と同一の実質的応答文が出力され、単純なオウム返しの応答となってしまい、ユーザに不自然さを感じさせる。
そこで、スコアが最も高い用例#pが、入力文に一致する場合には、入力文と異なる用例のうちの、スコアが最も高い用例を、実質的応答文として採用することができる。この場合、入力文と類似するが、入力文とは異なる用例が、実質的応答文とされることになる。
以上のように、スコアが最も高い用例を、実質的応答文として採用する場合には、対話用例データベース14(図2)に記憶させておく用例は、対話の用例である必要はなく、例えば、小説や、日記、新聞記事などの、いわゆるモノローグの用例で良い。
一般に、モノローグの用例は、対話の用例に比較して収集することが容易であり、従って、スコアが最も高い用例を、実質的応答文として採用することにより、対話用例データベース14には、モノローグの用例を記憶させておけば良く、対話用例データベース14の構築を容易に行うことが可能となる。
ここで、対話用例データベース14には、対話の用例と、モノローグの用例とを、混在する形で記憶させておくことができる。即ち、ある対話用例データベース14jには、対話の用例を記憶させておき、他の対話用例データベース14j'には、モノローグの用例を記憶させておくことができる。この場合、最もスコアが高い用例が、対話の用例を記憶している対話用例データベース14jに記憶された用例であれば、その次の用例を、実質的応答文とすれば良く、また、最もスコアが高い用例が、モノローグの用例を記憶している対話用例データベース14j'に記憶された用例であれば、その用例を、実質的応答文とすれば良い。
なお、モノローグの用例においては、ある用例の次の用例が、ある用例の応答になっているとは限らないため、図10や図11で説明したように、ユーザと音声対話システムとの対話履歴(対話履歴データベース15(図2)に記憶された対話履歴)を用いて、入力文と用例とのマッチング(式(4)や式(5)にしたがってスコアを計算するマッチング)を行うのは適切であるとは言えない。
一方、入力文と用例とのマッチングにあたって、対話履歴を用いることにより、上述したように、いままでに行われた対話の話題を維持すること、即ち、応答文の内容が突然変化し、ユーザが不自然に感じることを防止することが可能となる。
しかしながら、用例として、モノローグの用例を用いる場合には、対話履歴を用いたマッチングを行うことは適切でないから、どのようにして、いままでに行われた対話の話題を維持するかが問題となる。入力文と用例とのマッチングにあたって、対話履歴を用いずに、いままでに行われた対話の話題を維持する方法については、第4の変形例で説明する。
また、第2の変形列では、実質的応答生成部13において、モノローグの用例を対象にマッチングを行い、スコアが最も高い用例が、入力文に一致する場合には、単純なオウム返しの応答となることを防止するために、入力文と異なる用例のうちの、スコアが最も高い用例を、実質的応答文する方法を採用することとしたが、この方法は、対話の用例を対象にマッチングを行い、スコアが最も高い用例の次の用例を、実質的応答文とする場合にも応用することができる。
即ち、音声対話システムにおいて、今回出力する応答文が、前回出力された応答文と同一である場合には、ユーザに不自然さを感じさせる。
そこで、実質的応答部生成部13では、入力文と類似する用例の次の用例であって、前回出力された実質的応答文と異なる用例を、今回出力する実質的応答文とすること、つまり、前回出力された実質的応答文となった用例と異なる用例の、並び順で直前にある用例うちの、スコアが最も高い用例の次の用例を、今回出力する実質的応答文とすることができる。
[第3の変形例]
第3の変形例では、特定の話者が発言した用例だけを応答文として採用することで、図1の音声対話システムのキャラクタ付けを実現する。
第3の変形例では、特定の話者が発言した用例だけを応答文として採用することで、図1の音声対話システムのキャラクタ付けを実現する。
即ち、上述の場合には、例えば、実質的応答生成部13において、スコアが高い用例の次の用例を、実質的応答文とし、その実質的応答文とした用例の話者を、特に考慮していなかった。
このため、図1の音声対話システムに、特定のキャラクタ、即ち、例えば、ホテルの予約係などの役割をさせるとした場合であっても、音声対話システムにおいて、ホテルの予約係に相応しくない応答が行われることがあり得る。
そこで、対話用例データベース14(図2)において、例えば、図7に示したように、用例とともに、その用例の話者(発言者)の情報が記憶されている場合には、実質的応答生成部13において、用例の話者(の情報)にも基づいて、実質的応答文を生成することができる。
即ち、例えば、対話用例データベース14に、図7に示したような用例が記憶されており、音声対話システムに、ホテルの予約係の役割をさせる場合には、実質的応答生成部13において、話者が「予約係」になっている用例を、優先的に、実質的応答文とするようにすることができる。
具体的には、図7では、「予約係」の話者の発言である用例(用例番号が1,3,5,・・・の用例)と、「申込者」の話者の発言である用例(用例番号が2,4,6,・・・の用例)とが、その発言順に、交互に並んでいるので、最もスコアの高い用例の次の用例を、実質的応答文とする場合には、「予約係」の話者の発言である用例の直前の用例のスコア、つまり、「申込者」の話者の発言である用例のスコアが大となるようにすることで、話者が「予約係」になっている用例を、優先的に、実質的応答文とすることができる。
「申込者」の話者の発言である用例のスコアを大にするには、例えば、入力文との類似度を表すスコアの計算対象の用例が、「申込者」の話者の発言であるかどうかを判定し、その用例が、「申込者」の話者の発言である場合には、その用例のスコアの計算にあたって、所定のオフセット値を加算し、あるいは乗算するようにすれば良い。
以上のようなスコアの計算を行うことによって、実質的応答生成部13では、「申込者」の話者が発言した用例の次の用例、即ち、「予約係」の話者が発言した用例が、実質的応答文とされやすくなり、その結果、ホテルの予約係の役割を果たす音声対話システムを実現することができる。
なお、音声対話システムには、幾つかのキャラクタの中から、任意のキャラクタを設定する操作部等を設け、その操作部が操作されることにより設定されたキャラクタに応じた用例を、優先的に、実質的応答文とするようにすることができる。
[第4の変形例]
第4の変形例では、入力文と用例とのマッチングにおいて、スコアの計算に、式(4)や式(5)を採用するのではなく、所定の単位の用例群ごとに優先度を付してスコアを計算することで、それまでの話題を維持した用例が、応答文として出力されやすくする。
第4の変形例では、入力文と用例とのマッチングにおいて、スコアの計算に、式(4)や式(5)を採用するのではなく、所定の単位の用例群ごとに優先度を付してスコアを計算することで、それまでの話題を維持した用例が、応答文として出力されやすくする。
このため、例えば、対話用例データベース14(図2)には、用例を、適切な単位の用例群ごとに分けて記憶させておく。
具体的には、対話用例データベース14に記憶させる用例として、例えば、対談番組から書き起こした用例を使用する場合には、用例を、例えば、放映日ごとや、対談相手ごと、あるいは、対談の話題ごとなどの所定の単位の用例群ごとに分けて、対話用例データベース14に記憶させておく。
例えば、いま、用例が、上述のように、所定の単位の用例群ごとに分けて、図2に示した対話用例データベース141,142,・・・,14Jそれぞれに記憶されているものとする。即ち、ある対話用例データベース14jには、ある用例群の用例が記憶されており、他の対話用例データベース14j'には、他の用例群の用例が記憶されているとする。
なお、ある用例群の用例が記憶されている対話用例データベース14jは、例えば、1つのファイルであっても良いし、あるファイルの中のタグ等で識別することができる部分であっても良い。
以上のように、対話用例データベース14jに、ある用例群の用例を記憶させることにより、対話用例データベース14jは、その対話用例データベース14jに記憶されている用例の内容、即ち、その用例による対話における話題によって特徴付けることができる。対話用例データベース14jを特徴付ける話題は、例えば、上述のベクトル空間法で説明したベクトルで表すことができる。
即ち、対話用例データベース14jに記憶された用例において、表記が異なる単語の数がP個であるとすると、これらのP個の単語を要素とし、各単語の数を要素の値とするP次元のベクトルは、対話用例データベース14jを特徴付ける話題を表す。
いま、対話用例データベース14jを特徴付ける話題を表すベクトルを、話題ベクトルということとすると、この話題ベクトルの要素を軸とする空間である話題空間を考えることができる。
図19は、話題空間を示している。なお、図19では、図が煩雑になるのを避けるため、話題ベクトルの要素である単語AとBの2軸によって定義される2次元の話題空間を示してある。
図19に示すように、対話用例データベース141,142,・・・,14Jそれぞれの話題ベクトル(の終点)は、話題空間にプロットすることができる。
ある対話用例データベース14jを特徴付ける話題と、他の対話用例データベース14j'を特徴付ける話題との類似度(または距離)の尺度としては、例えば、ベクトル空間法における場合と同様に、対話用例データベース14jを特徴付ける話題を表す話題ベクトルと、対話用例データベース14j'を特徴付ける話題を表す話題ベクトルとが話題空間でなす角度の余弦(cosine)や、それらの話題ベクトルどうしの話題空間での距離(終点どうしの距離)を採用することができる。
そして、対話用例データベース14jを特徴付ける話題を表す話題ベクトルと、対話用例データベース14j'を特徴付ける話題を表す話題ベクトルとの余弦が大きいほど、またはそれらの話題ベクトルどうしの距離が近いほど、対話用例データベース14jに記憶された用例群が表す話題と、対話用例データベース14j'に記憶された用例群が表す課題とが類似していることを表す。
図19においては、例えば、対話用例データベース141,143,1410は、それぞれの話題ベクトルどうしの距離が近く、従って、対話用例データベース141,143,1410それぞれに記憶された用例が表す話題は類似している。
以上から、実質的応答生成部13において、入力文とのマッチングを行う用例の用例群と、前回出力された実質的応答文となった用例の用例群との話題の類似性に基づき、入力文と用例とのマッチングを行うことにより、つまり、入力文と用例とのマッチングにおけるスコアの計算において、用例群ごとに優先度を付すことで、それまでの話題に合致した用例群の用例のスコアが大となるようにすることにより、そのような用例が、実質的応答文とされやすくなり、その結果、それまでの話題を維持することが可能となる。
具体的には、例えば、図19において、前回出力された実質的応答文となった用例が、対話用例データベース141に記憶されていたとすると、その対話用例データベース141に記憶された用例、あるいは話題ベクトルが対話用例データベース141に近い位置にある対話用例データベース143や1410に記憶された用例は、前回出力された実質的応答文となった用例と同様の話題の用例である可能性が高い。
逆に、話題ベクトルが対話用例データベース141から近い位置にない(遠い位置にある)対話用例データベース144乃至148などに記憶された用例は、前回出力された実質的応答文となった用例と異なる話題の用例である可能性が高い。
そこで、実質的応答生成部13では、それまでの話題を維持した用例が、優先的に、今回の実質的応答文とされるようにするため、入力文と用例#pとのマッチングにおけるスコアの計算を、例えば、式(13)にしたがって行うことができる。
ここで、式(13)において、Ur-1は、前回出力された実質的応答文となった用例を表す。また、file(Ur-1)は、用例Ur-1を記憶している対話用例データベース14を表し、file(用例#p)は、用例#pを記憶している対話用例データベース14を表す。また、f_score(file(Ur-1),file(用例#p))は、用例Ur-1を記憶している対話用例データベース14に記憶されている用例群と、用例#pを記憶している対話用例データベース14に記憶されている用例群との類似度を表し、例えば、それぞれの話題ベクトルどうしが話題空間でなす角度の余弦である。さらに、score(入力文,用例#p)は、ベクトル空間法やDPマッチング法によって求められる入力文と用例#pとの類似度(スコア)を表す。
入力文と用例#pとのマッチングにおけるスコアの計算を、式(13)にしたがって行うことにより、対話履歴を用いなくても、話題が突然変化することを防止し、話題を維持することが可能となる。
[第5の変形例]
第5の変形例では、例えば、対話用例データベース14に、一部が変数で記述された用例を記憶させておき、実質的応答生成部13において、そのような一部が変数で記述された用例から、実質的応答文を生成する。
第5の変形例では、例えば、対話用例データベース14に、一部が変数で記述された用例を記憶させておき、実質的応答生成部13において、そのような一部が変数で記述された用例から、実質的応答文を生成する。
このため、対話用例データベース14に記憶された用例を対象に、ユーザの名前(氏名)に置換することができる単語や、現在時刻、今日の日付に置換することができる単語などの、特定のカテゴリに属する単語を検索し、その単語を、その単語のカテゴリを表す変数に記述し直しておく。
即ち、対話用例データベース14において、例えば、ユーザの名前に置換することができる単語は、例えば、変数%USER_NAME%に、現在時刻に置換することができる単語は、例えば、変数%TIME%に、今日の日付に置換することができる単語は、例えば、変数%DATE%に、それぞれ記述し直しておく。
また、音声対話システムにおいては、対話の相手となるユーザのユーザ名を登録しておき、さらに、変数%USER_NAME%は、ユーザ名に置換し、変数%TIME%と%DATE%は、それぞれ現在時刻と現在の日付に置換する、といったルールを設定しておく。
この場合、実質的応答生成部13において、スコアが最も高い用例の次の用例として、例えば、一部が変数で記述された用例「%USER_NAME%さん、今日は%DATE%だよ」が得られたときには、その用例「%USER_NAME%さん、今日は%DATE%だよ」における変数%USER_NAME%と%DATE%を、ルールにしたがった所定の記述に置換し、その置換後の用例を、実質的応答文とすることができる。
例えば、音声対話システムにおいて、ユーザ名として、「佐藤」が登録されており、今日の日付が1月1日である場合には、上述の用例「%USER_NAME%さん、今日は%DATE%だよ」は、「佐藤さん、今日は1月1日だよ」に置換され、実質的応答文とされる。
以上のように、対話用例データベース14に、一部が変数で記述された用例を記憶させておき、実質的応答生成部13において、用例の変数を、所定の記述に置換することにより、実質的応答文を生成(取得)することにより、用例の数が少ない場合であっても、バリエーション豊かな実質的応答文を得ることが可能となる。
なお、対話用例データベース14においては、例えば、図3に示した対話用例データベース12と同様に、用例を、入力例と、その入力例に対する応答例とのセットの形で記憶しておき、セットになっている入力例と応答例との両方に、特定のカテゴリの単語が共通に存在する場合には、その単語を、その単語のカテゴリを表す変数に置換しておくようにすることができる。この場合、実質的応答生成部13では、入力文の中の特定のカテゴリの単語を、そのカテゴリを表す変数に置換し、その置換後の入力文と、入力例とのマッチングを行う。そして、実質的応答生成部13では、マッチングの結果、最も高いスコアが得られた入力例とセットになっている応答例を選択し、その応答例における変数を、入力文における同一の変数に置換された単語に変換して、実質的応答文とする。
この場合、例えば、対話用例データベース14に、入力例「私、佐藤太郎と申します」と、応答例「佐藤太郎さんですか、覚えておきます」とのセットが記憶されていたとして、人名のカテゴリに属する単語が、その人名のカテゴリを表す変数$人名$に置換されるものとすると、入力例「私、佐藤太郎と申します」と、応答例「佐藤太郎さんですか、覚えておきます」との両方に共通に存在する、人名のカテゴリに属する単語「佐藤太郎」が、人名のカテゴリを表す変数$人名$に置換される。その結果、入力例「私、佐藤太郎と申します」と、応答例「佐藤太郎さんですか、覚えておきます」とのセットは、入力例「私、$人名$と申します」と、応答例「$人名$さんですか、覚えておきます」とのセットにされる。
そして、入力文が、例えば、「鈴木と申します」であった場合、実質的応答生成部13では、入力文「鈴木と申します」の中の人名のカテゴリの単語「鈴木」が、そのカテゴリを表す変数$人名$に置換され、その置換後の入力文「$人名$と申します」と、入力例とのマッチングが行われる。そのマッチングの結果、例えば、上述の入力例「私、$人名$と申します」のスコアが最も高かったとすると、実質応答生成部13では、その入力例「私、$人名$と申します」とセットになっている応答例「$人名$さんですか、覚えておきます」が選択される。さらに、実質的応答生成部13では、その応答例「$人名$さんですか、覚えておきます」における変数$人名$が、入力文「$人名$と申します」における同一の変数$人名$に置換された単語「鈴木」に変換され、その結果得られる応答例「鈴木さんですか、覚えておきます」が、実質的応答文とされる。
[第6の変形例]
第6の変形例では、応答出力制御部16(図2)において、形式的応答文や実質的応答文を、単純に、音声合成部5(図1)に出力するのではなく、形式的応答文や実質的応答文が所定の条件を満たすかどうかを判定し、所定の条件を満たす形式的応答文や実質的応答文のみを、音声合成部5(図1)に出力する。
第6の変形例では、応答出力制御部16(図2)において、形式的応答文や実質的応答文を、単純に、音声合成部5(図1)に出力するのではなく、形式的応答文や実質的応答文が所定の条件を満たすかどうかを判定し、所定の条件を満たす形式的応答文や実質的応答文のみを、音声合成部5(図1)に出力する。
即ち、形式的応答文や実質的応答文を、上述したように、入力文と用例とのマッチングによって得られるスコアが最も高い用例の次の用例等とするのでは、すべての用例について、低いスコアしか得られない場合、つまり、入力文に対して適切な応答となる用例が存在しない場合であっても、低いスコアの中で最も高いスコアの用例の次の用例等が、形式的応答文や実質的応答文とされることになる。
さらに、文長(単語の数)が極端に長い(多い)用例や、逆に、極端に短い用例は、形式的応答文または実質的応答文として適切でないことがある。
そこで、このような応答として適切でない用例が、形式的応答文や実質的応答文とされて出力されることを防止するため、応答出力制御部16では、形式的応答文や実質的応答文が所定の条件を満たすかどうかを判定し、所定の条件を満たす形式的応答文や実質的応答文のみを、音声合成部5(図1)に出力することができる。
ここで、所定の条件としては、例えば、用例のスコアが所定の閾値以上(より大)であるという条件や、用例を構成する単語の数(文長)がC1以上C2以下(未満)であるという条件(C1<C2)などがある。
所定の条件は、形式的応答文と、実質的応答文とに対して共通に与えることもできるし、別々に与えることもできる。
第6の変形例では、応答出力制御部16(図2)が、形式的応答生成部11からの形式的応答文と、実質的応答生成部13からの実質的応答文とのそれぞれが、所定の条件を満たすかどうかを判定し、所定の条件を満たす形式的応答文または実質的応答文を、音声合成部5(図1)に出力する。
従って、第6の変形例では、第1に、形式的応答文と実質的応答文との両方が所定の条件を満たし、音声合成部5に出力されるケース、第2に、形式的応答文と実質的応答文とのうちの形式的応答文だけが所定の条件を満たし、音声合成部5に出力されるケース、第3に、形式的応答文と実質的応答文とのうちの実質的応答文だけが所定の条件を満たし、音声合成部5に出力されるケース、第4に、形式的応答文と実質的応答文との両方が所定の条件を満たさず、いずれも、音声合成部5に出力されないケース、の第1乃至第4のケースがある。
以上の第1乃至第4のケースのうちの第4のケースでは、形式的応答文と実質的応答文とのいずれも、音声合成部5に出力されないので、そのままだと、ユーザの発話に対して、何らの応答も行われないこととなり、ユーザに、音声対話システムが故障したと勘違いさせるおそれ等がある。そこで、第4のケースでは、応答出力制御部16において、例えば、「良い返事が思いつかなかったよ」、「ごめん。別の言葉で言ってくれる?」などといったユーザの発話を聞き返す文、あるいはユーザの発話が理解できない旨の文などを、音声合成部5に出力するようにすることができる。
次に、図20のフローチャートを参照して、応答出力制御部16において、形式的応答文と実質的応答文が所定の条件を満たすかどうかを判定し、所定の条件を満たす形式的応答文または実質的応答文を、音声合成部5に出力する対話処理について説明する。
なお、図20は、図15の対話処理において、形式的応答文と実質的応答文が所定の条件を満たすかどうかを判定し、所定の条件を満たす形式的応答文または実質的応答文を出力するようにした対話処理のフローチャートを示しているが、形式的応答文と実質的応答文が所定の条件を満たすかどうかを判定し、所定の条件を満たす形式的応答文または実質的応答文を出力することは、その他、例えば、図14のフローチャートで説明した対話処理などにも適用可能である。
図20の対話処理では、ステップS41において、図14のステップS1における場合と同様に、音声認識部2は、ユーザが発話をするのを待って、そのユーザの発話を音声認識し、その音声認識結果を、単語単位の単語列にして、入力文として、制御部3に供給する。制御部3は、入力文の入力を受けると、ステップS41からS42に進み、図14のステップS2における場合と同様に、その入力文に基づき、対話処理を終了するかどうかを判定する。ステップS42において、対話処理を終了すると判定された場合、対話処理は終了する。
また、ステップS42において、対話処理を終了しないと判定された場合、制御部3は、入力文を、応答生成部4(図2)の形式的応答生成部11と実質的応答生成部13に供給し、ステップS43に進む。ステップS43では、形式的応答生成部11が、入力文に対して、形式的応答文を生成し、応答出力制御部16に供給して、ステップS44に進む。
ステップS44では、応答出力制御部16が、形式的応答生成部11からの形式的応答文が所定の条件を満たすかどうか、即ち、例えば、形式的応答文となった応答例とセットになっている入力例について得られたスコアが所定の閾値以上であるかどうかや、形式的応答文となった応答例を構成する単語の数がC1以上C2以下であるかどうかなどを判定する。
ステップS44において、形式的応答文が所定の条件を満たすと判定された場合、ステップS45に進み、応答出力制御部16は、その所定の条件を満たす形式的応答文を、制御部3(図1)を介して、音声合成部5に出力し、ステップS46に進む。これにより、図14で説明したように、音声合成部5では、形式的応答文を対象とした音声合成が行われる。
一方、ステップS44において、形式的応答文が所定の条件を満たさないと判定された場合、ステップS45をスキップして、ステップS46に進む。従って、この場合、所定の条件を満たさない形式的応答文は、応答として出力されない。
ステップS46では、実質的応答生成部13が、入力文に対して、実質的応答文を生成し、応答出力制御部16に供給して、ステップS47に進む。
ステップS47では、応答出力制御部16が、実質的応答生成部13からの実質的応答文が所定の条件を満たすかどうか、即ち、例えば、実質的応答文となった用例の直前の用例について得られたスコアが所定の閾値以上であるかどうかや、実質的応答文となった用例を構成する単語の数がC1以上C2以下であるかどうかなどを判定する。
ステップS47において、実質的応答文が所定の条件を満たさないと判定された場合、ステップS48およびS49をスキップして、ステップS50に進む。この場合、所定の条件を満たさない実質的応答文は、応答として出力されない。
ここで、ステップS47において、実質的応答文が所定の条件を満たさないと判定された場合において、直前のステップS44でも、形式的応答文が所定の条件を満たさないと判定されているときは、上述の第4のケースに該当し、形式的応答文および実質的応答文のいずれも出力されない。そこで、この場合、応答出力制御部16は、上述したように、「良い返事が思いつかなかったよ」、「ごめん。別の言葉で言ってくれる?」などといっ文を、最終的な応答文として、音声合成部5に出力し、その後、ステップS47からS50に進む。
一方、ステップS47において、実質的応答文が所定の条件を満たすと判定された場合、ステップS48に進み、応答出力制御部16は、図15のステップS26における場合と同様に、所定の条件を満たす実質的応答文の中に、直前のステップS45で音声合成部5に出力した形式的応答文と重複する表記(部分)が存在するかどうかを調査し、そのような部分(重複部分)が存在する場合には、その重複部分を、実質的応答文から削除して、ステップS49に進む。
なお、ステップS48では、実質的応答文の中に、形式的応答文との重複部分が存在しない場合には、実質的応答文に対しては、何ら処理は行われない。
ステップS49では、応答出力制御部16は、実質的応答文を、制御部3(図1)を介して、音声合成部5に出力し、ステップS50に進む。ステップS50では、応答出力制御部16は、図14のステップS7で説明したように、入力文と、その入力文に対して出力した最終的な応答文によって、対話履歴データベース15の対話履歴を更新して、ステップS41に戻り、以下、同様の処理が繰り返される。
[第7の変形例]
第7の変形例では、音声認識結果の正解確信度(信頼度)(confidence measure)が求められ、形式的応答生成部11または実質的応答部生成部13において、その正解確信度にも基づいて、形式的応答文または実質的応答文が生成される。
第7の変形例では、音声認識結果の正解確信度(信頼度)(confidence measure)が求められ、形式的応答生成部11または実質的応答部生成部13において、その正解確信度にも基づいて、形式的応答文または実質的応答文が生成される。
即ち、図1の音声対話システムにおいて、音声認識部2は、音声対話システム用に新たに作成しても良いが、既存の音声認識部(音声認識装置または音声認識モジュール)を流用することもできる。
そして、既存の音声認識部には、音声認識結果としての単語列を構成する単語ごとに、その単語の確からしさを表す正解確信度を求め、音声認識結果とともに出力するものがある。
ここで、例えば、ユーザの発話が、「明日サッカーしようよ」であり、その発話に対する音声認識結果として、「明日朝から使用から」が得られた場合、正解確信度は、音声認識結果「明日朝から使用から」の各単語に対して、例えば、「明日(0.98)朝(0.3)から(0.5)使用(0.6)から(0.1)」といったように得られる。ここで、「明日(0.98)朝(0.3)から(0.5)使用(0.6)から(0.1)」において、カッコ()内の数字が、その直前の単語の正解確信度を表し、ここでは、正解確信度の値が大きいほど、音声認識結果として確からしいことを表す。
音声認識結果「明日(0.98)朝(0.3)から(0.5)使用(0.6)から(0.1)」において、例えば、単語「明日」は、ユーザの発話における単語「明日」に一致しており、0.98という高い正解確信度が得られている。また、例えば、音声認識結果「明日(0.98)朝(0.3)から(0.5)使用(0.6)から(0.1)」において、例えば、単語「朝」は、ユーザの発話における単語「サッカー」の全部または一部を誤認識したものであり、0.3という低い正解確信度が得られている。
音声認識部2が、音声認識結果としての単語列を構成する単語ごとに、正解確信度を求めて出力する場合には、形式的応答生成部11または実質的応答部生成部13において、その正解確信度にも基づいて、音声認識結果である入力文に対する形式的応答文または実質的応答文を生成することができる。
即ち、音声認識結果である入力文において、正解確信度の高い単語は、音声認識結果として正解である可能性が高く、逆に、正解確信度の低い単語は、音声認識結果として誤っている可能性が高い。
そして、入力文と用例とのマッチングでは、入力文において、音声認識結果として誤っている可能性が高い単語、つまり、正解確信度の低い単語の影響を受けにくいようにするのが望ましい。
そこで、形式的応答生成部11や実質的応答部生成部13では、入力文と用例とのマッチングにおけるスコアの計算を、入力文の各単語の正解確信度に基づいて行うことにより、正解確信度の低い単語の影響を受けにくいスコアを求めるようにすることができる。
具体的には、入力文と用例とのマッチングを、例えば、ベクトル空間法を用いて行う場合には、入力文を表すベクトル(式(1)におけるベクトルy)の各要素の値として、tf(入力文における、ベクトルの要素に対応する単語の数)に代えて、例えば、対応する単語の正解確信度の総和を用いる。
従って、入力文である音声認識結果が、例えば、上述した「明日(0.98)朝(0.3)から(0.5)使用(0.6)から(0.1)」であった場合、その入力文のベクトルにおいて、単語「明日」に対応する要素の値は、「明日」の正解確信度である0.98と、単語「朝」に対応する要素の値は、「朝」の正解確信度である0.3と、単語「から」に対応する要素の値は、2つの「から」の正解確信度0.5および0.1の和である0.6と、単語「使用」に対応する要素の値は、「使用」の正解確信度である0.6と、それぞれされる。
また、入力文と用例とのマッチングを、例えば、DPマッチング法を用いて行う場合には、入力文の各単語の重みとして、その単語の正確確信度を用いることができる。
従って、入力文である音声認識結果が、例えば、上述した「明日(0.98)朝(0.3)から(0.5)使用(0.6)から(0.1)」であった場合、入力文の単語「明日」、「朝」、「から」、「使用」、「から」の重みは、それぞれ、0.98,0.3,0.5,0.6,0.1とされる。
ここで、上述したように、文の形式は、助詞や助動詞などに、特に影響を受けるので、形式的応答文を生成する形式的応答生成部11でのマッチングは、入力文および用例における助詞や助動詞の影響を強く受けるように行うのが望ましい。
しかしながら、形式的応答生成部11において、単に、助詞や助動詞の影響を強く受けるようなマッチングを行うと、入力文である音声認識結果において、助詞や助動詞に、認識誤りが生じている場合には、そのような誤っている助詞や助動詞の影響を強く受けることになり、ユーザの発話に対して不自然な形式的応答文が得られることがありうる。
そこで、上述のように、入力文と用例とのマッチングにおけるスコアの計算を、入力文の各単語の正解確信度に基づいて行うことにより、正解確信度の低い単語、つまり、認識誤りが生じている単語の影響を受けにくいスコアを求めることができ、ユーザの発話に対して不自然な形式的応答文が得られることを防止することができる。
なお、正解確信度の計算方法としては、各種の方法が提案されているが、ここでは、音声認識結果の正解確信度を単語単位で求めることができる、あらゆる方法を採用することができる。
ここで、単語(単位)の正解確信度を求める方法の例について説明する。
例えば、音声認識部2(図1)が、HMM(Hidden Markov Model)法による音声認識を行う場合、次のようにして、正解確信度を計算することができる。
即ち、一般的に、HMM音響モデルによる音声認識では、音素や音節などを認識の基本単位とし、単語モデルは、音素や音節などのHMMの連結としてモデル化される。音声認識において、認識エラー(認識誤り)は、入力された音声信号を正確な音素単位や音節単位等に分離していないことによって生じることがある。逆に言えば、入力された音声信号について、音素単位等に分離する境界(位置)が正確に決定されていれば、正確な音素等の認識、さらには、正確な単語や文の認識を行うことができる。
そこで、音声認識結果において、入力された音声信号に対して、音素単位等に正確に境界が決定されているかどうかを検証する尺度として、音素境界検証尺度関数PBVMを導入する。そして、音声認識結果(単語列)について、音素境界検証尺度関数PBVMを音素単位で求め、その音素単位の音素境界検証尺度関数PBVMを、単語単位に拡張することで、単語の正解確信度とする。
音素境界検証尺度関数PBVMは、例えば次のようにして算出することができる。
まず、音声認識結果(単語列)の、ある音素kと次の音素k+1との間の境界を音素境界kとして、音素境界kの左右(音素境界kの時系列で前後)それぞれのコンテキストを定義する。ここで、音素境界kの左右(前後)それぞれのコンテキストの定義としては、例えば、図21乃至図23に示す3つのいずれかを採用することができる。
即ち、図21は、音素境界kの左右(前後)の2つのコンテキストの第1の定義の例を示している。
図21では、音声認識結果における音素k,k+1,およびk+2、並びに、音素kとk+1との境界である音素境界k、および音素k+1とk+2との境界である音素境界k+1が示されている。また、音素kおよびk+1については、音声信号のフレームの区切りが、点線で示されており、例えば、音素kの最後のフレームがフレームi、音素k+1の最初のフレームがフレームi+1となっている。さらに、音素kでは、HMM状態(HMMの状態)が状態a,b,cと遷移し、音素k+1では、HMM状態が状態a’,b’,c’と遷移している。
なお、図21(後述する図22および図23も同様)における実線の曲線は、例えば、音声信号のパワーの推移を表す。
音素境界kの左右(前後)の2つのコンテキストの第1の定義では、図21に示すように、音素境界kの左(音素境界kより時系列で前)のコンテキストは、音素kの最後のHMM状態である状態cに対応する全フレーム(フレーム(i−4)乃至フレームi)からなり、音素境界kの左(音素境界kより時系列で後)のコンテキストは、音素k+1の最初のHMM状態である状態a’に対応する全フレーム(フレーム(i+1)乃至フレーム(i+4))からなる。
図22は、音素境界kの左右(前後)の2つのコンテキストの第2の定義の例を示している。なお、図22において、図21と対応する部分については、同様の符号が付してあり、その説明は適宜省略する(後述する図23も同様)。
音素境界kの左右(前後)の2つのコンテキストの第2の定義では、図22に示すように、音素境界kの左のコンテキストは、音素kの最後から2番目のHMM状態である状態bに対応する全フレームからなり、音素境界kの左のコンテキストは、音素k+1の2番目のHMM状態である状態b’に対応する全フレームからなる。
図23は、音素境界kの左右(前後)の2つのコンテキストの第3の定義の例を示している。
音素境界kの左右(前後)の2つのコンテキストの第3の定義では、図23に示すように、音素境界kの左のコンテキストは、フレーム(i−n)乃至フレームiからなり、音素境界kの左のコンテキストは、フレーム(i+1)乃至フレーム(i+m)からなる。ここで、nおよびmは、1以上の任意の整数である。
次に、音素境界kの左右の2つのコンテキストの類似度を表す類似度関数を求めるが、そのために、コンテキストを表すベクトルを導入する。
例えば、音声認識を行うために、音声の特徴量として、スペクトルがフレームの単位で抽出されるものとすると、コンテキストのベクトル(コンテキストを表すベクトル)としては、例えば、そのコンテキストを構成する各フレームから得られるスペクトルの係数を要素とするベクトルの、コンテキストを構成する全フレームについての平均ベクトルを採用することができる。
2つのコンテキストのベクトルをxとyとするとき、ベクトルxとyの類似度を表す類似度関数s(x,y)は、例えば、ベクトル空間法によって、次式(14)で表すことができる。
式(14)において、|x|と|y|は、それぞれ、ベクトルxとyの大きさを表し、xtは、ベクトルxの転置を表す。なお、式(14)の類似度関数s(x,y)は、ベクトルxとyの内積xtyを、ベクトルxとyの大きさの積|x|・|y|で除算したものであるから、2つのベクトルxとyとの角度(cosθ)を意味する。
ここで、類似度関数s(x,y)は、その値が小さいほど、ベクトルxとyとが類似していることを表す。
ある音素境界kの音素境界検証尺度関数PBVM(k)は、類似度関数s(x,y)を用いて、例えば、式(15)で表すことができる。
なお、類似度関数s(x,y)の他に、2つのベクトルxとyとの類似度を求める関数としては、2つのベクトルxとyとの距離を表す距離関数d(x,y)(但し、d(x,y)は、−1乃至1の範囲に正規化されるものとする)も考えられる。この場合、音素kの音素境界検証尺度関数PBVM(k)は、式(16)のように表すことができる。
なお、音素境界kにおけるコンテキストのベクトルx,yとしては、そのコンテキストを構成する各フレームのスペクトルを表すベクトル(フレームから得られるスペクトルの係数を要素とするベクトル)の、コンテキストを構成する全フレームの平均値(平均ベクトル)の他、コンテキストを構成するフレームのうちの、例えば、音素境界kに最も近いフレームのスペクトルを表すベクトルから、コンテキストを構成するフレームのスペクトルを表すベクトルの、全フレームについての平均値を減算して得られるベクトルなどを採用することが可能である。また、HMMにおける特徴量(音声の特徴ベクトル)の出力確率密度関数がガウス分布を用いて表される場合には、例えば、コンテキストを構成するフレームに対応するHMM状態における出力確率密度関数を表すガウス分布を定義する平均ベクトルから音素境界kにおけるコンテキストのベクトルx,yを求めることが可能である。
上述の式(15)または式(16)で求められる、音素境界kの音素境界検証尺度関数PBVM(k)は、変数kに対して、0乃至1の間の値を持つ連続関数となり、PBVM(k)=0は、音素境界kの左右のコンテキストのベクトルが、互いに同一方向であることを意味する。即ち、音素境界検証尺度関数PBVM(k)の関数値が0である場合、音素境界kは、実際の音素境界ではない可能性が高く、従って、認識エラーが生じている可能性が高いことを表している。
一方、音素境界検証尺度関数PBVM(k)の関数値が1である場合、音素境界kの左右のコンテキストのベクトルが、互いに反対方向であることを意味し、音素境界kは、音声信号中の正確な音素境界である可能性が高いことを表している。
以上のように、0乃至1の範囲の音素境界検証尺度関数PBVM(k)は、音素境界kが実際の音素境界である確からしさを表す。
次に、音声認識結果としての単語列の各単語は、複数の音素で構成されるので、単語の正解確信度は、その単語における音素境界kの確からしさ、つまり、その単語を構成する音素の音素境界検証尺度関数PBVMから演算することができる。
具体的には、単語の正解確信度としては、例えば、単語の各音素の音素境界検証尺度関数PBVMの平均値、単語の各音素の音素境界検証尺度関数PBVMの最小値、単語の各音素の音素境界検証尺度関数PBVMの最大値と最小値の差、単語の各音素の音素境界検証尺度関数PBVMの標準偏差、単語の各音素の音素境界検証尺度関数PBVMの変動係数(標準偏差を平均値で除算した値)などを採用することができる。
なお、正解確信度としては、その他、例えば、特開平9−259226号公報に記載されているように、音声認識結果とする第1位の候補と、次の第2位の候補とのスコアの差を採用することも可能である。さらに正解確信度は、HMMから計算されるフレームごとの音響スコアや、ニューラルネットワークを用いて計算することも可能である。
[第8の変形例]
第8の変形列では、実質的応答生成部13において、対話履歴も用例として用いて応答文を生成する。
第8の変形列では、実質的応答生成部13において、対話履歴も用例として用いて応答文を生成する。
即ち、図10や図11の実施の形態では、実質的応答生成部13において、実質的応答文を生成するにあたり、入力文との用例とのマッチングを行うときのスコアの計算に、対話履歴データベース15(図2)に記憶された対話履歴を、いわば補助的に用いることとしたが、実質的応答生成部13では、対話履歴を用例として用いて、実質的応答文を生成することが可能である。
この場合、対話履歴データベース15に記憶された対話履歴における各発言(図9)のすべてを、用例データベース14に記憶されている用例と同様に扱っても良いが、そのようにすると、応答出力制御部16(図2)から出力された最終的な応答文が、入力文に対して不適切な文であったときに、その後、その不適切な文が、実質的応答文として出力されやすくなるという弊害が起こりうる。
そこで、対話履歴を用例として用いる場合には、第3の変形例における場合と同様に、図9に示した対話履歴において、特定の話者の発言を、優先的に、実質的応答文とするのが望ましい。
即ち、図9の対話履歴において、例えば、話者が「ユーザ」になっている発言(例えば、図9における発言番号がr−4やr−2の発言)を、他の話者(図9では、「システム」)の発言よりも優先的に、実質的応答文とするのが望ましい。この場合、ユーザによる過去の発話内容が、優先的に実質的応答文とされるので、ユーザに、「このシステムは言葉を学習している」といった印象を与えることができる。
また、対話履歴を用例として用いる場合には、第4の変形例における場合と同様に、対話履歴における発言を、所定の単位の発言群ごとに分けて記憶しておき、入力文と用例としての発言とのマッチングにおいて、所定の単位の発言群ごとに優先度を付して、式(13)で説明したようにスコアを計算することで、それまでの話題を維持した発言が、実質的応答文として出力されやすくするようにすることができる。
この場合、対話履歴における各発言を、所定の単位の発言群ごと、つまり、例えば、ある話題の発言群ごとに分けて記憶する必要があるが、これは、例えば、以下のようにして行うことができる。
即ち、対話履歴データベース15において、ユーザとの対話における話題の変更を検出し、前回の話題の変更の検出の直後から、今回の話題の変更の検出の直前までの発言(入力文と、それに対する最終的な応答文)を、1つの対話履歴ファイルとすることにより、話題ごとの発言を格納した対話履歴ファイルを記憶することができる。
ここで、話題の変更の検出は、例えば、ユーザが、「ところで」や「話は変わるけど」などといった、話題を変更する内容の発話を行ったかどうかを判定することにより行うことができる。ユーザが話題を変更する内容の発話を行ったかどうかの判定は、例えば、話題を変更するときの言い回しの用例(以下、適宜、話題変更用用例という)を多数用意し、入力文と話題変更用用例とのマッチングによって得られるスコアが所定の閾値以上であるかどうかによって行うことができる。
また、例えば、ユーザが一定時間以上黙っていた場合に、話題の変更があったとしても良い。
以上のように、話題ごとの対話履歴ファイルを構成する場合には、対話履歴データベース15では、対話処理が開始されると、対話履歴ファイルがオープンされ、その対話履歴ファイルに対して、応答出力制御部16から供給される入力文と、その入力文に対する最終的な応答文とが、発言として書き込まれていく(図9)。そして、話題の変更が検出されると、それまでオープンされていた対話履歴ファイルがクローズされ、新規の対話履歴ファイルがオープンされる。以下、同様に、その新規の対話履歴ファイルに対して、応答出力制御部16から供給される入力文と、その入力文に対する最終的な応答文とが、発言(図9)として書き込まれていく。
ここで、対話履歴ファイルのファイル名の命名規則を、例えば、所定の文字列であるsubject、所定のシーケンシャルな数字、および、所定の拡張子であるxxxの並びと定義しておけば、対話履歴データベース15においては、対話履歴ファイルとして、ファイル名がsubject0.xxx,subject1.xxx,・・・のファイルが順次増えていく。
なお、ここでは、対話履歴における発言を用例として用いるため、対話処理が実行されている間、対話履歴データベース15に存在する対話履歴ファイルのすべては、対話履歴における発言の読み出しのために、少なくとも読み出し用でオープンする必要がある。また、現に、入力文と最終的な応答文とが、対話履歴として書き込まれる対話履歴ファイルは、その書き込みのために、書き込み用でもオープンする必要がある。
さらに、対話履歴データベース15の記憶容量は有限であるため、例えば、(用例として用いられる)発言が実質的応答文として採用される頻度が少ない対話履歴ファイルは、削除するようにすることができる。
[第9の変形例]
第9の変形例では、音声認識結果の、いわゆるNベスト、即ち、尤度の高い上位N個の音声認識結果それぞれの尤度(尤度を表すスコア)と、用例とのマッチングにより求められるスコアとを用いて、形式的応答文や実質的応答文を生成する。
第9の変形例では、音声認識結果の、いわゆるNベスト、即ち、尤度の高い上位N個の音声認識結果それぞれの尤度(尤度を表すスコア)と、用例とのマッチングにより求められるスコアとを用いて、形式的応答文や実質的応答文を生成する。
即ち、上述の場合には、音声認識部2(図1)において、いわゆる認識仮説の中で最も尤度が最も高い認識仮説を、音声認識結果として出力するようにしたが、音声認識部2には、認識仮説のうちの尤度の高い上位N個の認識仮説を入力文として、尤度とともに出力させ、形式的応答生成部11や実質的応答生成部13では、その尤度の高い上位N個の認識仮説である入力文それぞれと、用例とのマッチングを行い、その結果得られる、N個の入力文それぞれに対する各用例のスコアと、N個の入力文それぞれの尤度(N個の入力文としての認識仮説の尤度)とを考慮して、各入力文に対する各用例の最終的なスコアを求めることができる。
この場合、対話用例データベース12や14に記憶されている用例の数を、Pで表すこととすると、形式的応答生成部11や実質的応答生成部13では、N個の入力文それぞれと、P個の用例それぞれとのマッチング、即ち、N×P回のマッチングが行われる。
このマッチングでは、例えば、式(17)にしたがって、各入力文に対する各用例の最終的なスコアが求められる。
ここで、式(17)において、入力文#nは、N個の入力文(上位N個の認識仮説)のうちのn番目の入力文を表し、用例#pは、P個の用例のうちのp番目の用例を表す。また、total_score(入力文#n,用例#p)は、入力文#nに対する用例#pの最終的なスコアを表す。さらに、recog_score(入力文#n)は、入力文(認識仮説)#nの尤度を表し、match_score(入力文#n,用例#p)は、入力文#nに対する用例#pの類似度を表すスコアで、上述したベクトル空間法やDPマッチング法によって求められる。また、2つの変数a,bを引数とする関数g(a,b)は、その引数aとbそれぞれに対して単調増加する関数である。関数g(a,b)としては、例えば、g(a,b)=c1a+c2b(c1とc2は非負の定数)や、g(a,b)=abなどを採用することができる。
形式的応答生成部11や実質的応答生成部13では、N個の入力文#nそれぞれに対する、P個の用例#pそれぞれの最終的なスコアtotal_score(入力文#n,用例#p)が、式(17)にしたがって求められ、例えば、この最終的なスコアtotal_score(入力文#n,用例#p)が最大となる用例#pが、形式的応答文や実質的応答文とされる。
なお、形式的応答生成部11と実質的応答生成部13とにおいて、最終的なスコアtotal_score(入力文#n,用例#p)が最大となる入力文#nは、異なっていても同一であってもかまわない。
但し、最終的なスコアtotal_score(入力文#n,用例#p)が最大となる入力文#nが、形式的応答生成部11と実質的応答生成部13とで異なる場合には、形式的応答生成部11と実質的応答生成部13に対して、あるユーザの発話について別々の入力文(音声認識結果)が供給されたのと等価な状態であり、この、ある発話についての別々の入力文を、どのように、対話履歴データベース15に対話履歴における発言として記憶させるかが問題となる。
例えば、形式的応答生成部11が対話履歴を用いずに、用例とのマッチングを行い、実質的応答生成部13が対話履歴を用いて、用例とのマッチングを行う場合には、実質的応答生成部13において最終的なスコアtotal_score(入力文#n,用例#p)が最大となった入力文#nの方を、対話履歴における発言として記憶させることができる。
その他、単純に、形式的応答生成部11において最終的なスコアtotal_score(入力文#n1,用例#p)が最大となった入力文#n1と、実質的応答生成部13において最終的なスコアtotal_score(入力文#n2,用例#p)が最大となった入力文#n2との両方を、対話履歴における発言として記憶させるようにしてもよい。
但し、入力文#n1と#n2との両方を、対話履歴における発言として記憶させる場合には、対話履歴に基づくマッチング(図10乃至図12で説明したマッチングと、対話履歴における発言を用例として用いるマッチングの両方を含む)において、その2つの入力文#n1と#n2を、1つの発言として扱う必要がある。
このため、例えば、ベクトル空間法によるマッチングを行う場合には、例えば、入力文#n1を表すベクトルV1と、入力文#n2を表すベクトルV2との平均ベクトル(V1+V2)/2を、2つの入力文#n1と#n2に対応する1つの発言を表すベクトルとして用いる必要がある。
[第10の変形例]
第10の変形例では、形式的応答生成部11において、ユーザの発話の音響的特徴を用いて、形式的応答文を生成する。
第10の変形例では、形式的応答生成部11において、ユーザの発話の音響的特徴を用いて、形式的応答文を生成する。
即ち、上述の場合には、形式的応答生成部11において、ユーザの発話の音声認識結果を入力文として、その入力文を用いることによって、即ち、入力文と用例とのマッチングを行うことによって、形式的応答文を生成したが、形式的応答生成部11では、音声認識結果である入力文に代えて、あるいは入力文とともに、ユーザの発話の音響的特徴を用いることによって、形式的応答文を生成することができる。
ここで、ユーザの発話の音響的特徴としては、例えば、その発話の発話長(音声区間)や、韻律に関する韻律情報などがある。
形式的応答生成部11において、例えば、ユーザの発話の発話長を用いることによって、形式的応答文を生成する場合には、発話長が長くなるに連れて、例えば、「うん」、「うんうん」、「うんうんうん」、・・・といったように、「うん」などの同一の単語の繰り返し回数が多くなる形式的応答文を生成することができる。
また、形式的応答生成部11では、発話長が長くなるに連れて、例えば、「そう」、「そうなんだ」、「へー、そうなんだ」、・・・といったように、語数が多くなる形式的応答文を生成することができる。発話長が長くなるに連れて、語数が多くなる形式的応答文を生成するには、例えば、語数の多い用例のスコアが高くなるように、優先度をつけて、入力文と用例とのマッチングを行えばよい。あるいは、発話長と、その発話長に応じた語数の用例とを対応付けておき、ユーザの発話の発話長に応じた語数の用例を、形式的応答文とすることができる。この場合、形式的応答文の生成には、音声認識結果を用いていないので、即座に、形式的応答文を得ることができる。なお、ある発話長に複数の用例が対応付けられている場合には、例えば、その複数の用例からランダムに、形式的応答文とする用例を選択すればよい。
その他、形式的応答生成部11では、上述の場合と同様に、スコアが最も高い用例を形式的応答文とし、音声合成部5(図1)において、発話長が長くなるに連れて、形式的応答文に対応する合成音の再生速度(出力速度)を遅くしても良い。
いずれにしても、ユーザの発話の発話長が長くなるほど、形式的応答文に対応する合成音の出力が開始されてから終了するまでの時間も長くなる。従って、例えば、図14のフローチャート等で説明したように、応答出力制御部16において、形式的応答文の出力を、実質的応答文の生成を待たずに行うことによって、ユーザの発話が終了した後、その発話に対する応答としての合成音の出力が開始されるまでの応答時間が長くなることを防止し、さらには、形式的応答文の出力と、実質的応答文の出力との間に、不自然な間ができることを防止することができる。
即ち、ユーザの発話の発話長が長い場合には、音声認識部2(図1)において音声認識結果が得られるまでに時間を要し、さらに、そのような発話長の長い発話の音声認識結果を入力文として、用例とのマッチングを行う実質的応答生成部13でも、そのマッチングの処理に時間を要することになる。従って、形式的応答生成部11において、音声認識結果が得られるまで待って、用例とのマッチングを行い、形式的応答文を生成するのでは、形式的応答文が得られるまでに時間を要し、応答時間が長くなる。
また、上述したように、実質的応答生成部13では、形式的応答生成部11のマッチングで用いられる用例に比較して数が多い用例を用いてマッチングが行われるため、実質的応答文の生成に要する時間は、形式的応答文の生成に要する時間よりもさらに長時間となる。従って、形式的応答文が生成され、合成音による出力が終了しても、まだ、実質的応答文の生成が終了していない場合には、形式的応答文の出力が終了してから、実質的応答文の出力が開始されるまでの間に、不自然な間ができることになる。
そこで、形式的応答生成部11において、例えば、発話長に対応した回数だけ単語「うん」を繰り返す形式的応答文を生成し、応答出力制御部16において、その形式的応答文の出力を、実質的応答文の生成を待たずに行うことによって、ユーザの発話が終了した後、即座に、形式的応答文による応答を行うことができる。さらに、形式的応答文は、例えば、発話長に対応した回数だけ単語「うん」を繰り返す文であるから、発話長が長いほど、形式的応答文が合成音によって出力されている時間が長くなる。従って、その間に、音声認識部2において音声認識結果が得られ、さらに、実質的応答生成部13において実質的応答文の生成を完了することが可能となり、その結果、上述したような不自然な間ができることを防止することができる。
なお、形式的応答生成部11では、ユーザの発話の発話長の他、その韻律情報のうちの、例えば、ピッチ(周波数)などを用いることによって、形式的応答文を生成することが可能である。
具体的には、形式的応答生成部11において、ユーザの発話のピッチの変化によって、ユーザの発話が平叙文または疑問文のうちのいずれであるかを判定し、ユーザの発話が平叙文である場合には、例えば、「そうなんだ」などの、平叙文に対する形式的な応答となる文を、形式的応答文として生成することができる。また、形式的応答生成部11では、ユーザの発話が疑問文である場合には、例えば、「うーん・・・」などの、疑問文に対する形式的な応答となる文を、形式的応答文として生成することができる。さらに、形式的応答生成部11では、あわせて、上述したように、ユーザの発話の発話長に応じて、形式的応答文の長さを変化させることもできる。
また、ユーザの発話の韻律情報から、ユーザの感情を推定し、形式的応答生成部11では、その感情に応じて、形式的応答文を生成することもできる。即ち、形式的応答生成部11では、例えば、ユーザの感情が高ぶっている場合には、ユーザを刺激しないように、ユーザの発話を肯定する形式的応答文を生成することができる。
ここで、ユーザの感情の推定には、例えば、特開平5-12023号公報に記載の方法などを採用することができる。また、ユーザの感情に応じた応答文の生成には、例えば、特開平8-339446号公報に記載の方法などを採用することができる。
ユーザの発話の発話長や韻律情報の抽出、さらには、ユーザの感情の推定を行う処理は、一般に、音声認識処理よりも負荷が軽いので、形式的応答生成部11において、音声認識結果である入力文に代えて、発話長や、韻律情報、ユーザの感情を用いて形式的応答文を生成して出力することにより、応答時間(ユーザが発話してから応答の出力が開始されるまでの時間)を一層短縮することができる。
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
そこで、図24は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体111に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体111は、いわゆるパッケージソフトウエアとして提供することができる。
なお、プログラムは、上述したようなリムーバブル記録媒体111からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部108で受信し、内蔵するハードディスク105にインストールすることができる。
コンピュータは、CPU(Central Processing Unit)102を内蔵している。CPU102には、バス101を介して、入出力インタフェース110が接続されており、CPU102は、入出力インタフェース110を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部107が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)103に格納されているプログラムを実行する。あるいは、また、CPU102は、ハードディスク105に格納されているプログラム、衛星若しくはネットワークから転送され、通信部108で受信されてハードディスク105にインストールされたプログラム、またはドライブ109に装着されたリムーバブル記録媒体111から読み出されてハードディスク105にインストールされたプログラムを、RAM(Random Access Memory)104にロードして実行する。これにより、CPU102は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、LCD(Liquid Crystal Display)やスピーカ等で構成される出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
また、プログラムは、1のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
なお、本実施の形態では、形式的応答生成部11が参照する対話用例データベース12では、図3に示したように、用例を、入力例と、その入力例に対する応答例とのセットの形で記憶し、実質的応答生成部13が参照する対話用例データベース14では、図7に示したように、用例を、1レコードに1発言の形で記憶するようにしたが、対話用例データベース12では、対話用例データベース14のように、用例を、1レコードに1発言の形で記憶することができるし、対話用例データベース14でも、対話用例データベース12のように、用例を、入力例と、その入力例に対する応答例とのセットの形で記憶することができる。
また、上述した説明のうち、形式的応答生成部11または実質的応答生成部13のうちのいずれか一方についてだけした説明は、適宜、他方にも適用可能である。
さらに、図1の音声対話システムは、例えば、現実のロボットや、ディスプレイに表示される仮想的なキャラクタ、翻訳を伴う対話システム、その他に適用可能である。
また、音声対話システムにおいて処理の対象となる言語は、日本語に限定されるものではなく、音声対話システムでは、英語その他の任意の言語を対象として処理を行うことが可能である。
1 マイク, 2 音声認識部, 3 制御部, 4 応答生成部, 5 音声合成部, 6 スピーカ, 11 形式的応答生成部, 121乃至12I 対話用例データベース, 13 実質的応答生成部, 141乃至14J 対話用例データベース, 15 対話履歴データベース, 16 応答出力制御部, 101 バス, 102 CPU, 103 ROM, 104 RAM, 105 ハードディスク, 106 出力部, 107 入力部, 108 通信部, 109 ドライブ, 110 入出力インタフェース, 111 リムーバブル記録媒体
Claims (26)
- 入力文に対する応答文を出力することにより、対話を行う対話装置において、
前記入力文に対して、形式的な応答文である形式的応答文を取得する形式的応答取得手段と、
前記入力文に対して、実質的な応答文である実質的応答文を取得する実質的応答取得手段と、
前記形式的応答文と実質的応答文の出力を制御し、前記入力文に対する最終的な応答文を出力する出力制御手段と
を備えることを特徴とする対話装置。 - 用例を記憶する用例記憶手段をさらに備え、
前記形式的応答取得手段または実質的応答取得手段は、前記入力文と用例に基づいて、前記形式的応答文または実質的応答文を取得する
ことを特徴とする請求項1に記載の対話装置。 - 前記入力文、または前記入力文に対する最終的な応答文を、対話履歴として記憶する対話履歴記憶手段をさらに備え、
前記形式的応答取得手段または実質的応答取得手段は、さらに、前記対話履歴にも基づいて、前記形式的応答文または実質的応答文を取得する
ことを特徴とする請求項2に記載の対話装置。 - 前記形式的応答取得手段または実質的応答取得手段は、前記対話履歴を前記用例として用いて、前記形式的応答文または実質的応答文を取得する
ことを特徴とする請求項3に記載の対話装置。 - 前記対話履歴記憶手段は、前記対話履歴を、話題ごとに分けて記憶する
ことを特徴とする請求項3に記載の対話装置。 - 前記形式的応答取得手段または実質的応答取得手段は、前記入力文と用例とのマッチングを、ベクトル空間法により行い、そのマッチングにより得られるスコアが上位の用例に基づいて、前記形式的応答文または実質的応答文を取得する
ことを特徴とする請求項2に記載の対話装置。 - 前記形式的応答取得手段または実質的応答取得手段は、前記入力文と用例とのマッチングを、DP(Dynamic Programming)マッチング法により行い、そのマッチングにより得られるスコアが上位の用例に基づいて、前記形式的応答文または実質的応答文を取得する
ことを特徴とする請求項2に記載の対話装置。 - 前記形式的応答取得手段または実質的応答取得手段は、前記入力文を構成する単語に対し、df(Document Frequency)またはidf(Invert Document Frequency)により重みを付して、前記用例とのマッチングを、DPマッチング法により行い、そのマッチングにより得られるスコアが上位の用例に基づいて、前記形式的応答文または実質的応答文を取得する
ことを特徴とする請求項7に記載の対話装置。 - 前記形式的応答取得手段または実質的応答取得手段は、
前記入力文と用例とのマッチングを、ベクトル空間法により行い、
前記ベクトル空間法によるマッチングにより得られるスコアが上位の複数の用例について、さらに、前記入力文とのマッチングをDP(Dynamic Programming)マッチング法により行い、
そのマッチングにより得られるスコアが上位の用例に基づいて、前記形式的応答文または実質的応答文を取得する
ことを特徴とする請求項2に記載の対話装置。 - 前記実質的応答取得手段は、前記入力文と類似する用例を、前記実質的応答文とする
ことを特徴とする請求項2に記載の対話装置。 - 前記実質的応答取得手段は、前記入力文と類似する用例であって、前記入力文と異なる用例を、前記実質的応答文とする
ことを特徴とする請求項10に記載の対話装置。 - 前記用例記憶手段は、発言順に並んだ用例を記憶しており、
前記実質的応答取得手段は、前記入力文と類似する用例の次の用例であって、前回出力された前記実質的応答文と異なる用例を、今回出力する前記実質的応答文とする
ことを特徴とする請求項2に記載の対話装置。 - 前記用例記憶手段は、用例と、その用例を発言した発言者の情報とを対応付けて記憶しており、
前記実質的応答取得手段は、前記発言者の情報にも基づいて、前記実質的応答文を取得する
ことを特徴とする請求項2に記載の対話装置。 - 前記用例記憶手段は、前記用例を、所定の単位の用例群ごとに記憶しており、
前記実質的応答取得手段は、前記入力文とのマッチングを行う用例の用例群と、前回出力された前記実質的応答文となった用例の用例群との類似性に基づき、前記入力文と用例とのマッチングを行うことにより、今回出力する前記実質的応答文を取得する
ことを特徴とする請求項2に記載の対話装置。 - 前記用例記憶手段は、一部が変数で記述された前記用例を記憶しており、
前記実質的応答取得手段は、前記用例の変数を、所定の記述に置換することにより、前記実質的応答文を取得する
ことを特徴とする請求項2に記載の対話装置。 - 音声を認識し、音声認識結果を前記入力文として出力するとともに、前記音声認識結果を構成する単語の正解確信度を出力する音声認識手段をさらに備え、
前記形式的応答取得手段または実質的応答取得手段は、前記入力文と用例とのマッチングを、前記正解確信度に基づいて行うことにより、前記形式的応答文または実質的応答文を取得する
ことを特徴とする請求項2に記載の対話装置。 - 音声を認識し、音声認識結果を前記入力文として出力する音声認識手段をさらに備え、
前記形式的応答取得手段または実質的応答取得手段は、前記入力文と用例とのマッチングにより得られるスコアと、前記入力文である音声認識結果の尤度を表すスコアとに基づいて、前記形式的応答文または実質的応答文を取得する
ことを特徴とする請求項2に記載の対話装置。 - 前記形式的応答取得手段と実質的応答取得手段は、それぞれ異なる方法で、形式的応答文と実質的応答文を取得する
ことを特徴とする請求項1に記載の対話装置。 - 前記出力制御手段は、前記形式的応答文または実質的応答文が所定の条件を満たすかどうかを判定し、前記所定の条件を満たす形式的応答文または実質的応答文を出力する
ことを特徴とする請求項1に記載の対話装置。 - 音声を認識し、音声認識結果を前記入力文として出力する音声認識手段をさらに備え、
前記形式的応答取得手段は、前記音声の音響的な特徴に基づいて、前記形式的応答文を取得し、
実質的応答取得手段は、前記入力文に基づいて、実質的応答文を取得する
ことを特徴とする請求項1に記載の対話装置。 - 前記出力制御手段は、前記形式的応答文を出力し、その後、前記実質的応答文を出力する
ことを特徴とする請求項1に記載の対話装置。 - 前記出力制御手段は、前記実質的応答文から、前記形式的応答文と実質的応答文との重複部分を削除し、その重複部分の削除後の前記実質的応答文を出力する
ことを特徴とする請求項21に記載の対話装置。 - 前記出力制御手段は、前記形式的応答文と実質的応答文とを連結して出力する
ことを特徴とする請求項1に記載の対話装置。 - 入力文に対する応答文を出力することにより、対話を行う対話方法において、
前記入力文に対して、形式的な応答文である形式的応答文を取得する形式的応答取得ステップと、
前記入力文に対して、実質的な応答文である実質的応答文を取得する実質的応答取得ステップと、
前記形式的応答文と実質的応答文の出力を制御し、前記入力文に対する最終的な応答文を出力する出力制御ステップと
を含むことを特徴とする対話方法。 - 入力文に対する応答文を出力することにより、コンピュータに対話を行わせるプログラムにおいて、
前記入力文に対して、形式的な応答文である形式的応答文を取得する形式的応答取得ステップと、
前記入力文に対して、実質的な応答文である実質的応答文を取得する実質的応答取得ステップと、
前記形式的応答文と実質的応答文の出力を制御し、前記入力文に対する最終的な応答文を出力する出力制御ステップと
を含むことを特徴とするプログラム。 - 入力文に対する応答文を出力することにより、コンピュータに対話を行わせるプログラムが記録されている記録媒体において、
前記入力文に対して、形式的な応答文である形式的応答文を取得する形式的応答取得ステップと、
前記入力文に対して、実質的な応答文である実質的応答文を取得する実質的応答取得ステップと、
前記形式的応答文と実質的応答文の出力を制御し、前記入力文に対する最終的な応答文を出力する出力制御ステップと
を含むことを特徴とするプログラムが記録されている記録媒体。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004217429A JP2006039120A (ja) | 2004-07-26 | 2004-07-26 | 対話装置および対話方法、並びにプログラムおよび記録媒体 |
US11/188,378 US20060020473A1 (en) | 2004-07-26 | 2005-07-25 | Method, apparatus, and program for dialogue, and storage medium including a program stored therein |
CNB2005101038327A CN100371926C (zh) | 2004-07-26 | 2005-07-26 | 通过响应输入语句而输出应答语句的交互对话装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004217429A JP2006039120A (ja) | 2004-07-26 | 2004-07-26 | 対話装置および対話方法、並びにプログラムおよび記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006039120A true JP2006039120A (ja) | 2006-02-09 |
Family
ID=35658393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004217429A Abandoned JP2006039120A (ja) | 2004-07-26 | 2004-07-26 | 対話装置および対話方法、並びにプログラムおよび記録媒体 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20060020473A1 (ja) |
JP (1) | JP2006039120A (ja) |
CN (1) | CN100371926C (ja) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009047920A (ja) * | 2007-08-20 | 2009-03-05 | Toshiba Corp | ユーザと音声により対話する装置および方法 |
JP2012094075A (ja) * | 2010-10-28 | 2012-05-17 | Toshiba Corp | 対話装置 |
JP2014219594A (ja) * | 2013-05-09 | 2014-11-20 | ソフトバンクモバイル株式会社 | 会話処理システム及びプログラム |
JP2015176058A (ja) * | 2014-03-17 | 2015-10-05 | 株式会社東芝 | 電子機器、方法及びプログラム |
JP2016009091A (ja) * | 2014-06-24 | 2016-01-18 | Kddi株式会社 | 複数の異なる対話制御部を同時に用いて応答文を再生する端末、プログラム及びシステム |
JP2016045655A (ja) * | 2014-08-21 | 2016-04-04 | トヨタ自動車株式会社 | 応答生成方法、応答生成装置及び応答生成プログラム |
JP2016090891A (ja) * | 2014-11-07 | 2016-05-23 | トヨタ自動車株式会社 | 応答生成方法、応答生成装置及び応答生成プログラム |
JP2017058406A (ja) * | 2015-09-14 | 2017-03-23 | Shannon Lab株式会社 | コンピュータシステムおよびプログラム |
JPWO2016002879A1 (ja) * | 2014-07-02 | 2017-04-27 | ヤマハ株式会社 | 音声合成装置、音声合成方法およびプログラム |
JP2017515134A (ja) * | 2014-01-15 | 2017-06-08 | マイクロソフト テクノロジー ライセンシング,エルエルシー | 模写によるデジタル携帯情報端末の対話、および応答時のリッチなマルチメディア |
JP6205039B1 (ja) * | 2016-09-16 | 2017-09-27 | ヤフー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
CN108364658A (zh) * | 2018-03-21 | 2018-08-03 | 冯键能 | 虚拟聊天方法及服务端 |
JP2018151471A (ja) * | 2017-03-10 | 2018-09-27 | 日本電信電話株式会社 | 対話方法、対話システム、対話装置、およびプログラム |
JP2018185537A (ja) * | 2018-07-26 | 2018-11-22 | ヤマハ株式会社 | 音声制御装置、音声制御方法およびプログラム |
JP2018190170A (ja) * | 2017-05-02 | 2018-11-29 | 日本電信電話株式会社 | 発話生成装置、発話生成方法、及び発話生成プログラム |
JP2020064168A (ja) * | 2018-10-17 | 2020-04-23 | 株式会社日立ビルシステム | 案内ロボットシステム及び案内方法 |
JP2020098308A (ja) * | 2018-12-19 | 2020-06-25 | Jeインターナショナル株式会社 | 音声問合せシステム、音声問合せ処理方法、スマートスピーカー運用サーバー装置、チャットボットポータルサーバー装置、およびプログラム。 |
JP2020126186A (ja) * | 2019-02-06 | 2020-08-20 | Kddi株式会社 | 相槌判定によって応答発話生成を制御する対話実施プログラム、装置及び方法 |
JP2021076677A (ja) * | 2019-11-07 | 2021-05-20 | Jeインターナショナル株式会社 | 自動発信システム、処理方法、およびプログラム |
JP2021182094A (ja) * | 2020-05-20 | 2021-11-25 | 三菱電機株式会社 | 音声出力制御装置、音声出力制御方法および音声出力制御プログラム |
JP2021193619A (ja) * | 2020-12-24 | 2021-12-23 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | 対話生成方法、装置、電子機器及び記憶媒体 |
JP2022133188A (ja) * | 2021-03-01 | 2022-09-13 | Kddi株式会社 | ユーザから発話された名詞を忘却する対話プログラム、装置及び方法 |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8126713B2 (en) * | 2002-04-11 | 2012-02-28 | Shengyang Huang | Conversation control system and conversation control method |
US7552053B2 (en) * | 2005-08-22 | 2009-06-23 | International Business Machines Corporation | Techniques for aiding speech-to-speech translation |
JP4846336B2 (ja) * | 2005-10-21 | 2011-12-28 | 株式会社ユニバーサルエンターテインメント | 会話制御装置 |
JP4849663B2 (ja) * | 2005-10-21 | 2012-01-11 | 株式会社ユニバーサルエンターテインメント | 会話制御装置 |
JP4849662B2 (ja) * | 2005-10-21 | 2012-01-11 | 株式会社ユニバーサルエンターテインメント | 会話制御装置 |
AU2007211838A1 (en) * | 2006-02-01 | 2007-08-09 | Icommand Ltd | Human-like response emulator |
US8150692B2 (en) * | 2006-05-18 | 2012-04-03 | Nuance Communications, Inc. | Method and apparatus for recognizing a user personality trait based on a number of compound words used by the user |
US8706487B2 (en) * | 2006-12-08 | 2014-04-22 | Nec Corporation | Audio recognition apparatus and speech recognition method using acoustic models and language models |
JP2008203559A (ja) * | 2007-02-20 | 2008-09-04 | Toshiba Corp | 対話装置及び方法 |
JP5238205B2 (ja) * | 2007-09-07 | 2013-07-17 | ニュアンス コミュニケーションズ,インコーポレイテッド | 音声合成システム、プログラム及び方法 |
CN101551998B (zh) * | 2009-05-12 | 2011-07-27 | 上海锦芯电子科技有限公司 | 一种语音互动系统以及其和人的语音互动方法 |
US8990200B1 (en) * | 2009-10-02 | 2015-03-24 | Flipboard, Inc. | Topical search system |
TWI396581B (zh) * | 2009-12-10 | 2013-05-21 | Compal Communications Inc | 機器娃娃隨機對答系統及其方法 |
US20110288497A1 (en) * | 2010-05-19 | 2011-11-24 | Nanomedical Systems, Inc. | Nano-Scale Coatings and Related Methods Suitable for In-Vivo Use |
US8364709B1 (en) * | 2010-11-22 | 2013-01-29 | Google Inc. | Determining word boundary likelihoods in potentially incomplete text |
US9400778B2 (en) * | 2011-02-01 | 2016-07-26 | Accenture Global Services Limited | System for identifying textual relationships |
US8775190B2 (en) * | 2011-02-04 | 2014-07-08 | Ryohei Tanaka | Voice-operated control circuit and method for using same |
US9672811B2 (en) * | 2012-11-29 | 2017-06-06 | Sony Interactive Entertainment Inc. | Combining auditory attention cues with phoneme posterior scores for phone/vowel/syllable boundary detection |
JP2014191212A (ja) * | 2013-03-27 | 2014-10-06 | Seiko Epson Corp | 音声処理装置、集積回路装置、音声処理システム及び音声処理装置の制御方法 |
JP2014219467A (ja) * | 2013-05-02 | 2014-11-20 | ソニー株式会社 | 音信号処理装置、および音信号処理方法、並びにプログラム |
US20140337011A1 (en) * | 2013-05-13 | 2014-11-13 | International Business Machines Corporation | Controlling language tense in electronic content |
US20150039312A1 (en) * | 2013-07-31 | 2015-02-05 | GM Global Technology Operations LLC | Controlling speech dialog using an additional sensor |
WO2015029304A1 (ja) * | 2013-08-29 | 2015-03-05 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 音声認識方法及び音声認識装置 |
JP6158006B2 (ja) * | 2013-09-17 | 2017-07-05 | 株式会社東芝 | 音声処理装置、方法、及びプログラム |
JP6257368B2 (ja) * | 2014-02-18 | 2018-01-10 | シャープ株式会社 | 情報処理装置 |
US20150325136A1 (en) * | 2014-05-07 | 2015-11-12 | Jeffrey C. Sedayao | Context-aware assistant |
US9390706B2 (en) * | 2014-06-19 | 2016-07-12 | Mattersight Corporation | Personality-based intelligent personal assistant system and methods |
US10083169B1 (en) * | 2015-08-28 | 2018-09-25 | Google Llc | Topic-based sequence modeling neural networks |
CN105306281B (zh) * | 2015-12-03 | 2019-05-14 | 腾讯科技(深圳)有限公司 | 信息处理方法及客户端 |
CN105573710A (zh) * | 2015-12-18 | 2016-05-11 | 合肥寰景信息技术有限公司 | 一种网络社区的语音服务方法 |
JP6655835B2 (ja) * | 2016-06-16 | 2020-02-26 | パナソニックIpマネジメント株式会社 | 対話処理方法、対話処理システム、及びプログラム |
CN107885756B (zh) | 2016-09-30 | 2020-05-08 | 华为技术有限公司 | 基于深度学习的对话方法、装置及设备 |
JP6697373B2 (ja) * | 2016-12-06 | 2020-05-20 | カシオ計算機株式会社 | 文生成装置、文生成方法及びプログラム |
WO2018123139A1 (ja) * | 2016-12-27 | 2018-07-05 | シャープ株式会社 | 応答装置、応答装置の制御方法、および制御プログラム |
KR102653450B1 (ko) * | 2017-01-09 | 2024-04-02 | 삼성전자주식회사 | 전자 장치의 입력 음성에 대한 응답 방법 및 그 전자 장치 |
US10229685B2 (en) * | 2017-01-18 | 2019-03-12 | International Business Machines Corporation | Symbol sequence estimation in speech |
CN106875940B (zh) * | 2017-03-06 | 2020-08-14 | 吉林省盛创科技有限公司 | 一种基于神经网络的机器自学习构建知识图谱训练方法 |
CN107220296B (zh) * | 2017-04-28 | 2020-01-17 | 北京拓尔思信息技术股份有限公司 | 问答知识库的生成方法、神经网络的训练方法以及设备 |
WO2018231106A1 (en) * | 2017-06-13 | 2018-12-20 | Telefonaktiebolaget Lm Ericsson (Publ) | First node, second node, third node, and methods performed thereby, for handling audio information |
CN107729350A (zh) * | 2017-08-29 | 2018-02-23 | 百度在线网络技术(北京)有限公司 | 路线优劣查询方法、装置、设备及存储介质 |
JP6972788B2 (ja) * | 2017-08-31 | 2021-11-24 | 富士通株式会社 | 特定プログラム、特定方法および情報処理装置 |
CN107943896A (zh) * | 2017-11-16 | 2018-04-20 | 百度在线网络技术(北京)有限公司 | 信息处理方法和装置 |
JP6828667B2 (ja) * | 2017-11-28 | 2021-02-10 | トヨタ自動車株式会社 | 音声対話装置、音声対話方法及びプログラム |
CN108427671B (zh) * | 2018-01-25 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 信息转换方法和装置、存储介质及电子装置 |
JP6940428B2 (ja) * | 2018-02-15 | 2021-09-29 | アルパイン株式会社 | 検索結果提供装置および検索結果提供方法 |
CN108491378B (zh) * | 2018-03-08 | 2021-11-09 | 国网福建省电力有限公司 | 电力信息运维智能应答系统 |
CN109635098B (zh) * | 2018-12-20 | 2020-08-21 | 东软集团股份有限公司 | 一种智能问答方法、装置、设备及介质 |
CN111381685B (zh) * | 2018-12-29 | 2024-03-22 | 北京搜狗科技发展有限公司 | 一种句联想方法和装置 |
CN112101037A (zh) * | 2019-05-28 | 2020-12-18 | 云义科技股份有限公司 | 语意相似度计算方法 |
US11138978B2 (en) | 2019-07-24 | 2021-10-05 | International Business Machines Corporation | Topic mining based on interactionally defined activity sequences |
CN110473540B (zh) * | 2019-08-29 | 2022-05-31 | 京东方科技集团股份有限公司 | 语音交互方法及系统、终端设备、计算机设备及介质 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2156631Y (zh) * | 1993-04-01 | 1994-02-16 | 阙学军 | 电话自动扬声应答装置 |
US5621859A (en) * | 1994-01-19 | 1997-04-15 | Bbn Corporation | Single tree method for grammar directed, very large vocabulary speech recognizer |
US5685000A (en) * | 1995-01-04 | 1997-11-04 | U S West Technologies, Inc. | Method for providing a linguistically competent dialogue with a computerized service representative |
US5797123A (en) * | 1996-10-01 | 1998-08-18 | Lucent Technologies Inc. | Method of key-phase detection and verification for flexible speech understanding |
US5836771A (en) * | 1996-12-02 | 1998-11-17 | Ho; Chi Fai | Learning method and system based on questioning |
US6236968B1 (en) * | 1998-05-14 | 2001-05-22 | International Business Machines Corporation | Sleep prevention dialog based car system |
US6253181B1 (en) * | 1999-01-22 | 2001-06-26 | Matsushita Electric Industrial Co., Ltd. | Speech recognition and teaching apparatus able to rapidly adapt to difficult speech of children and foreign speakers |
US6321198B1 (en) * | 1999-02-23 | 2001-11-20 | Unisys Corporation | Apparatus for design and simulation of dialogue |
US20020005865A1 (en) * | 1999-12-17 | 2002-01-17 | Barbara Hayes-Roth | System, method, and device for authoring content for interactive agents |
JP2001188784A (ja) * | 1999-12-28 | 2001-07-10 | Sony Corp | 会話処理装置および方法、並びに記録媒体 |
JP2001188783A (ja) * | 1999-12-28 | 2001-07-10 | Sony Corp | 情報処理装置および方法、並びに記録媒体 |
CN1465018A (zh) * | 2000-05-11 | 2003-12-31 | 南加利福尼亚大学 | 机器翻译技术 |
US6950793B2 (en) * | 2001-01-12 | 2005-09-27 | International Business Machines Corporation | System and method for deriving natural language representation of formal belief structures |
US6751591B1 (en) * | 2001-01-22 | 2004-06-15 | At&T Corp. | Method and system for predicting understanding errors in a task classification system |
JP2002283261A (ja) * | 2001-03-27 | 2002-10-03 | Sony Corp | ロボット装置及びその制御方法、並びに記憶媒体 |
US7363348B2 (en) * | 2001-05-29 | 2008-04-22 | International Business Machines Corporation | Method and system in an office application for providing content dependent help information |
US6990451B2 (en) * | 2001-06-01 | 2006-01-24 | Qwest Communications International Inc. | Method and apparatus for recording prosody for fully concatenated speech |
GB2376394B (en) * | 2001-06-04 | 2005-10-26 | Hewlett Packard Co | Speech synthesis apparatus and selection method |
US20030066025A1 (en) * | 2001-07-13 | 2003-04-03 | Garner Harold R. | Method and system for information retrieval |
US7167832B2 (en) * | 2001-10-15 | 2007-01-23 | At&T Corp. | Method for dialog management |
US7610556B2 (en) * | 2001-12-28 | 2009-10-27 | Microsoft Corporation | Dialog manager for interactive dialog with computer user |
JP2003345794A (ja) * | 2002-05-27 | 2003-12-05 | Sharp Corp | 電子翻訳装置 |
US7249019B2 (en) * | 2002-08-06 | 2007-07-24 | Sri International | Method and apparatus for providing an integrated speech recognition and natural language understanding for a dialog system |
JP2004118740A (ja) * | 2002-09-27 | 2004-04-15 | Toshiba Corp | 質問応答システム、質問応答方法、質問応答プログラム |
KR100580619B1 (ko) * | 2002-12-11 | 2006-05-16 | 삼성전자주식회사 | 사용자와 에이전트 간의 대화 관리방법 및 장치 |
JP3944159B2 (ja) * | 2003-12-25 | 2007-07-11 | 株式会社東芝 | 質問応答システムおよびプログラム |
US20050256700A1 (en) * | 2004-05-11 | 2005-11-17 | Moldovan Dan I | Natural language question answering system and method utilizing a logic prover |
US8041570B2 (en) * | 2005-05-31 | 2011-10-18 | Robert Bosch Corporation | Dialogue management using scripts |
-
2004
- 2004-07-26 JP JP2004217429A patent/JP2006039120A/ja not_active Abandoned
-
2005
- 2005-07-25 US US11/188,378 patent/US20060020473A1/en not_active Abandoned
- 2005-07-26 CN CNB2005101038327A patent/CN100371926C/zh not_active Expired - Fee Related
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009047920A (ja) * | 2007-08-20 | 2009-03-05 | Toshiba Corp | ユーザと音声により対話する装置および方法 |
JP2012094075A (ja) * | 2010-10-28 | 2012-05-17 | Toshiba Corp | 対話装置 |
JP2014219594A (ja) * | 2013-05-09 | 2014-11-20 | ソフトバンクモバイル株式会社 | 会話処理システム及びプログラム |
JP2017515134A (ja) * | 2014-01-15 | 2017-06-08 | マイクロソフト テクノロジー ライセンシング,エルエルシー | 模写によるデジタル携帯情報端末の対話、および応答時のリッチなマルチメディア |
JP2015176058A (ja) * | 2014-03-17 | 2015-10-05 | 株式会社東芝 | 電子機器、方法及びプログラム |
JP2016009091A (ja) * | 2014-06-24 | 2016-01-18 | Kddi株式会社 | 複数の異なる対話制御部を同時に用いて応答文を再生する端末、プログラム及びシステム |
JPWO2016002879A1 (ja) * | 2014-07-02 | 2017-04-27 | ヤマハ株式会社 | 音声合成装置、音声合成方法およびプログラム |
JP2019045867A (ja) * | 2014-07-02 | 2019-03-22 | ヤマハ株式会社 | 音声制御方法、音声制御装置およびプログラム |
JP2016045655A (ja) * | 2014-08-21 | 2016-04-04 | トヨタ自動車株式会社 | 応答生成方法、応答生成装置及び応答生成プログラム |
JP2016090891A (ja) * | 2014-11-07 | 2016-05-23 | トヨタ自動車株式会社 | 応答生成方法、応答生成装置及び応答生成プログラム |
JP2017058406A (ja) * | 2015-09-14 | 2017-03-23 | Shannon Lab株式会社 | コンピュータシステムおよびプログラム |
JP6205039B1 (ja) * | 2016-09-16 | 2017-09-27 | ヤフー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
JP2018045630A (ja) * | 2016-09-16 | 2018-03-22 | ヤフー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
JP2018151471A (ja) * | 2017-03-10 | 2018-09-27 | 日本電信電話株式会社 | 対話方法、対話システム、対話装置、およびプログラム |
JP2018190170A (ja) * | 2017-05-02 | 2018-11-29 | 日本電信電話株式会社 | 発話生成装置、発話生成方法、及び発話生成プログラム |
CN108364658A (zh) * | 2018-03-21 | 2018-08-03 | 冯键能 | 虚拟聊天方法及服务端 |
JP2018185537A (ja) * | 2018-07-26 | 2018-11-22 | ヤマハ株式会社 | 音声制御装置、音声制御方法およびプログラム |
JP2020064168A (ja) * | 2018-10-17 | 2020-04-23 | 株式会社日立ビルシステム | 案内ロボットシステム及び案内方法 |
JP7117970B2 (ja) | 2018-10-17 | 2022-08-15 | 株式会社日立ビルシステム | 案内ロボットシステム及び案内方法 |
JP2020098308A (ja) * | 2018-12-19 | 2020-06-25 | Jeインターナショナル株式会社 | 音声問合せシステム、音声問合せ処理方法、スマートスピーカー運用サーバー装置、チャットボットポータルサーバー装置、およびプログラム。 |
WO2020129419A1 (ja) * | 2018-12-19 | 2020-06-25 | Jeインターナショナル株式会社 | 音声問合せシステム、音声問合せ処理方法、スマートスピーカー運用サーバー装置、およびプログラム |
JP2020126186A (ja) * | 2019-02-06 | 2020-08-20 | Kddi株式会社 | 相槌判定によって応答発話生成を制御する対話実施プログラム、装置及び方法 |
JP2021076677A (ja) * | 2019-11-07 | 2021-05-20 | Jeインターナショナル株式会社 | 自動発信システム、処理方法、およびプログラム |
JP2021182094A (ja) * | 2020-05-20 | 2021-11-25 | 三菱電機株式会社 | 音声出力制御装置、音声出力制御方法および音声出力制御プログラム |
JP7267234B2 (ja) | 2020-05-20 | 2023-05-01 | 三菱電機株式会社 | 音声出力制御装置、音声出力制御方法および音声出力制御プログラム |
JP2021193619A (ja) * | 2020-12-24 | 2021-12-23 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | 対話生成方法、装置、電子機器及び記憶媒体 |
JP7264963B2 (ja) | 2020-12-24 | 2023-04-25 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | 対話生成方法、装置、電子機器及び記憶媒体 |
US11954449B2 (en) | 2020-12-24 | 2024-04-09 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method for generating conversation reply information using a set of historical conversations, electronic device, and storage medium |
JP2022133188A (ja) * | 2021-03-01 | 2022-09-13 | Kddi株式会社 | ユーザから発話された名詞を忘却する対話プログラム、装置及び方法 |
Also Published As
Publication number | Publication date |
---|---|
US20060020473A1 (en) | 2006-01-26 |
CN1734445A (zh) | 2006-02-15 |
CN100371926C (zh) | 2008-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006039120A (ja) | 対話装置および対話方法、並びにプログラムおよび記録媒体 | |
US20230012984A1 (en) | Generation of automated message responses | |
US11062694B2 (en) | Text-to-speech processing with emphasized output audio | |
US11443733B2 (en) | Contextual text-to-speech processing | |
JP5327054B2 (ja) | 発音変動規則抽出装置、発音変動規則抽出方法、および発音変動規則抽出用プログラム | |
US10140973B1 (en) | Text-to-speech processing using previously speech processed data | |
Nakamura et al. | The ATR multilingual speech-to-speech translation system | |
JP3994368B2 (ja) | 情報処理装置および情報処理方法、並びに記録媒体 | |
US20050261905A1 (en) | Method and apparatus for generating dialog prosody structure, and speech synthesis method and system employing the same | |
US11763797B2 (en) | Text-to-speech (TTS) processing | |
JP2001215993A (ja) | 対話処理装置および対話処理方法、並びに記録媒体 | |
KR101160193B1 (ko) | 감성적 음성합성 장치 및 그 방법 | |
JP2008134475A (ja) | 入力された音声のアクセントを認識する技術 | |
KR20030076686A (ko) | 계층적 언어 모델 | |
JP2001100781A (ja) | 音声処理装置および音声処理方法、並びに記録媒体 | |
US8155963B2 (en) | Autonomous system and method for creating readable scripts for concatenative text-to-speech synthesis (TTS) corpora | |
Stöber et al. | Speech synthesis using multilevel selection and concatenation of units from large speech corpora | |
JPWO2008056590A1 (ja) | テキスト音声合成装置、そのプログラム及びテキスト音声合成方法 | |
Aaron et al. | Conversational computers | |
JP2003186489A (ja) | 音声情報データベース作成システム,録音原稿作成装置および方法,録音管理装置および方法,ならびにラベリング装置および方法 | |
Beaufort | Expressive speech synthesis: Research and system design with hidden Markov models | |
JP3571925B2 (ja) | 音声情報処理装置 | |
Delić et al. | A Review of AlfaNum Speech Technologies for Serbian, Croatian and Macedonian | |
Narvani et al. | Text-to-Speech Conversion Using Concatenative Approach for Gujarati Language | |
Roshan et al. | Sentient Sound waves: Elevating Emotional Communication with AI-Generated Speech Technology |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070703 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20090818 |