(57)【特許請求の範囲】
【請求項１】
話者の発話音声を入力文字列として認識し、この入力文字列を解析して、前記話者に対する応答文を音声出力し、この音声出力に対して、前記話者がさらに発話音声を出力しながら対話することで、前記話者の意図を解読する音声対話装置において、
前記入力文字列から所望のカテゴリーに属する目的のキーワードの候補となる候補単語を前記入力文字列から抽出する候補単語抽出部と、
前記候補単語抽出部により抽出された前記候補単語のそれぞれのカテゴリーを同定する単語カテゴリー同定部と、
前記カテゴリー同定部により同定されたカテゴリーに対して、同一カテゴリーに属する前記候補単語が前記入力文字列中に複数存在する場合に、自然言語的出現順序として最後の前記候補単語をそのカテゴリーの前記キーワードとして決定する単語選択部と、
前記入力文字列に対して前記単語カテゴリー同定部により同定された前記カテゴリーと前記単語選択部により決定された前記キーワードとに基づき、次に尋ねるべき質問項目又は確認項目を決定し、対話の流れを制御する対話制御部と、
前記対話制御部により決定された前記質問項目又は確認項目に対応して決定される前記応答文を一連の出力文字列として生成する応答文生成部と、
前記応答文生成部により生成された前記出力文字列を音声に変換して出力する音声出力部と、
を有することを特徴とする音声対話装置。
【請求項２】
前記単語選択部は、前記話者からの肯定が得られない場合には、前記入力文字列における前記自然言語的出現順序の逆順に前記候補単語をキーワードとして選択し、前記対話制御部は、この逆順で、そのキーワードを確認項目として決定することを特徴とする請求項１に記載の音声対話装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば表現のし直し等の訂正表現等を含んだ文を入力して、その入力文に基づいて表現者の意図を選択的にくみ取る音声対話装置に関する。
したがって、本発明は、話者の言い直しや言い淀み等に対して意味処理方式が頑健で計算コストの低い音声対話装置等に、大いに有用であり、例えば、カーナビゲーション・システム等の運転支援システムや音声対話ロボット等を始めとして、音声対話型のマンマシン・インターフェイスを有する任意のコンピュータ・システムに適用することができる。  また、本発明は、相手に対話形式で応答することを前提としない自動翻訳装置や自動議事録生成装置、或いは、音声入力することを前提としない例えば利用者がキーボード等から入力する文字列入力型の言語処理装置等に応用することも可能である。
【０００２】
【従来の技術】
音声対話装置に関する従来技術としては、例えば、公開特許公報「特開平１０−７８９６１：発話解析装置」（以下、「文献１」と言う。）に記載されている技術や、公開特許公報「特開平１０−９７５３５：音声言語解析装置」（以下、「文献２」と言う。）に記載されている技術等が一般に広く知られている。
【０００３】
上記の文献１に記載の技術は、例えば「バスで三鷹まで、いや、吉祥寺まで出て下さい」等の様な所謂言い直し発話に対して、通常の構文規則の他に、言い直しを扱うための追加的な文法規則を導入するものであり、この従来技術においては、これらの規則に従う複雑な構文解析処理にて言い直し部を同定することにより、音声言語（特に言い直し文等）の意味理解処理を行っていた。
【０００４】
また、上記の文献２に記載の技術は、発話コーパスから得られた各部分構文木が別の単語にかかる時の依存確率と、部分構文木間の接続制約に基づいて、音声言語（特に言い直し文等）の意味理解処理を行うものであり、全体としては構文解析が困難な発話についても、その部分的な構文の解析結果に基づいて、発話全体の構文解析を押し進める所に特徴がある。
【０００５】
例えば上記の文献１や文献２の様に、従来は、複雑な構文解析手法に基づいて意味理解処理を行う音声対話装置が殆どであり、これらの従来装置は、発話が正しく音声認識されることを前提として構成されている。
【０００６】
【発明が解決しようとする課題】
しかしながら、現在の音声認識処理に関する技術水準では、発話が全て正しく音声認識されることは期待できない。即ち、現在の音声認識技術を前提とした場合、例えば上記文献１や文献２等の従来の音声対話装置には、高い精度の意味解析処理が期待できない。
【０００７】
例えば、従来の音声対話装置を用いた場合、話者の発話に対する以下の様な音声の誤認例がある。
《実際の対話》
対話装置：「中区の何のお店ですか？」
話者返答：「中区じゃなくって、千種区のレストランです。」
《誤認識の例》
誤認例１：「中区じゃ中区って、千種区のレストランで。」
誤認例２：「中区なって、千種区のレストランです。」
誤認例３：「中区って、千種区レストラン。」
【０００８】
本発明は、上記の課題を解決するために成されたものであり、その目的は、例えば表現のし直し等の訂正表現等を含んだ文を入力して、その入力文に基づいて表現者の意図をくみ取る際に、それらの訂正表現等に対して意味処理方式が頑健で計算コストの低い言語処理装置を実現することである。
また、例えば上記の様に、特に、本発明の言語処理装置が音声入力手段を備える場合には、本発明は、話者の言い直しや言い淀み等に対して意味処理方式が頑健で計算コストの低い言語処理装置を実現することをも、更なる目的とする。
【０００９】
【課題を解決するための手段、並びに、作用及び発明の効果】
上記の課題を解決するためには、以下の手段が有効である。
即ち、第１の手段は、話者の発話音声を入力文字列として認識し、この入力文字列を解析して、話者に対する応答文を音声出力し、この音声出力に対して、話者がさらに発話音声を出力しながら対話することで、話者の意図を解読する音声対話装置において、入力文字列から所望のカテゴリーに属する目的のキーワードの候補となる候補単語を入力文字列から抽出する候補単語抽出部と、候補単語抽出部により抽出された候補単語のそれぞれのカテゴリーを同定する単語カテゴリー同定部と、カテゴリー同定部により同定されたカテゴリーに対して、同一カテゴリーに属する候補単語が入力文字列中に複数存在する場合に、自然言語的出現順序として最後の候補単語をそのカテゴリーのキーワードとして決定する単語選択部と、入力文字列に対して単語カテゴリー同定部により同定されたカテゴリーと単語選択部により決定されたキーワードとに基づき、入力文字列の内容に応答して、次に尋ねるべき質問項目又は確認項目を決定し、対話の流れを制御する対話制御部と、対話制御部により決定された質問項目又は確認項目に対応して決定される応答文を一連の出力文字列として生成する応答文生成部と、応答文生成部により生成された出力文字列を音声に変換して出力する音声出力部と、を有することを特徴とする音声対話装置である。
【００１０】
【００１１】
以下、本発明の作用・効果等についても説明する。
例えば「中区」と「千種区」等の様な同一のカテゴリー（この場合、”所在”）に属する単語が複数出現した場合に、例えば、それらの中から最後に出現した単語（この場合、「千種区」）を表現者（話者、文字入力者等の使用者）が本意とする正しい単語と仮定する。この時、上記の第１の手段を用いれば、前記の誤認例１〜３の何れの場合においても、レストランの所在は一意に「千種区」に確定又は仮定される。
【００１２】
即ち、本発明の手段によれば、処理方式の原理が単純なため、例えば現在の音声認識技術を前提とした場合でも、意味解析不能等の望ましくない解析結果に帰着する可能性を低く抑制した形の頑強な処理方式が実現できる。即ち、同一カテゴリーの単語が複数有る時は、発音順序（自然言語的出現順序）に基づいて採択単語を決定すると言う単純なルールによるものなので、入力された文字列や、音声認識により解析的に得られた文が意味を成さない文であった場合にも、回答として必要とされるカテゴリーの単語さえ認識されていれば、その後も処理を継続することができる。
【００１３】
また、本発明の手段によれば、例えば上記の例の様に高い精度の意味解析の処理結果が期待できる。
また、前記の従来装置で行われている構文解析では、構文規則等を有する大規模なデータが必要とされるが、上記の本発明の手段によれば、それらの複雑な構文解析処理が必要とされないため、ＣＰＵ使用時間、メモリー使用量、プログラム開発コスト等の各側面で高い効率が期待できる。
【００１４】
また、単語選択部は、上記の自然言語的出現順序が最後の候補単語をキーワードとして選択する。
即ち、上記に例示した「それらの中から最後に出現した単語（この場合、「千種区」）を話者が本意とする正しい単語と仮定する」ことになる。
【００１５】
同一カテゴリーの単語が複数有る時は、最後に発音されたものを採択すると言う単純なルールによるものなので、音声認識結果として得られた文が意味を成さない文であった場合にも、回答として必要とされるカテゴリーの単語さえ認識されていれば、その後も処理を継続することができる。
また、実際に、検索処理や目的地設定処理等における多数の対話を観察した結果、言い直し等の発言が含まれる対話では、同一カテゴリーを有する単語の中では、発音順が最後のものが話者が本意とする単語であることが殆どであった。
このことからも、本発明によれば、より高い精度で正確に意味理解処理を実行することができる。
【００１６】
また、第２の手段は、上記の第１の手段において、単語選択部は、話者からの肯定が得られない場合には、入力文字列における自然言語的出現順序の逆順に候補単語をキーワードとして選択し、対話制御部は、この逆順で、そのキーワードを確認項目として決定することを特徴とする。
例えば、最後の単語を選択することが誤りだった場合には、その一つ前に発音された同一のカテゴリーの単語を話者が本意とする該当カテゴリーの単語として採用することができる。
これにより、例えば、本装置が上記の誤認例３における「中区って、千種区レストラン。」成る文字列を受け取った場合、その後、例えば以下の様な対話を継続することが可能となる。
【００１７】
《継続される対話例》
対話装置：「千種区のレストランですね？」
話者返答：「いいえ。」
対話装置：「中区のレストランですか？」
話者返答：「はい。」
【００１８】
例えばこの様に、カテゴリーが重複した複数の単語を優先順位を付けて全て記憶しておくことにより、正解確率がより高いと推定される方から順次採用していくことができ、高いヒット率を確保できると同時に、万一誤った選択をした場合にも、例えば「どちらのお店ですか？」等と言った同じ質問を何度も繰り返す必要が無くなる。
また、話者は、この作用によりその後、該当するカテゴリーの単語（この場合、”所在”）を繰り返し発音する必要が無くなる。したがって、話者はより簡単な返答（例：はい。／いいえ。等）で、対話を継続することが可能となる。勿論、同じカテゴリーの単語が３語以上含まれていた場合にも同様に、発音順の逆順に優先的に該当カテゴリーの単語を採用することができる。
【００１９】
尚、以上の本発明の作用・効果は、日本語処理に限定されることなく、任意の自然言語処理に対して有効である。
また、本発明は、上記の作用原理からも判るように、言語処理におけるキーワードの決定基準に特徴を有するものであり、必ずしも音声入力や音声出力を前提とするものではない。即ち、本発明は、使用者に対して実時間応答や対話型応答をすることを前提としない自動翻訳装置や自動議事録生成装置、或いは、音声入力することを前提としない例えば利用者がキーボード等から入力する文字列入力型の言語処理装置等に応用することも可能である。
以上の本発明の手段により、前記の課題を効果的、或いは合理的に解決することができる。
【００２０】
【発明の実施の形態】
以下、本発明を具体的な実施例に基づいて説明する。ただし、本発明は以下に示す実施例に限定されるものではない。
（実施例）
図１は、本発明の実施例に係わる音声対話装置１００の論理的な構成を例示する構成図である。
音声対話装置１００は、主に、音声入力部１１０と、音声認識部１２０と、意味理解部１４０と、データベース１５０と、対話制御部１６０と、応答文生成部１８０と、音声出力部１９０等から構成されている。勿論、音声対話装置１００は、物理的なハードウエア構成としては、周知の音声対話装置と同様に、音声入力部１１０が有するマイクや、音声出力部１９０が有するスピーカー等のマンマシン・インターフェイス部を備えたコンピュータ・システムにより具現されている。
【００２１】
（１）音声認識部１２０
音声認識部１２０は、話者の発話音声を文字列として認識する。即ち、マイク（音声入力部１１０）から入力された音声情報を、音声認識用辞書（認識用言語辞書や認識用音響辞書等）を用いた音声認識処理により文字列に変換する。
【００２２】
（２）意味理解部１４０
意味理解部１４０は、主に、単語抽出部１４２、単語カテゴリー同定部１４４、及び単語選択部１４６等から構成されている。これらにより、上記の文字列の中から必要なキーワード（スロット値となる単語）を抽出し、その単語のカテゴリーを同定し、スロット値として保持する。
【００２３】
（ａ）単語抽出部１４２
音声認識結果として出力された文字列から、スロット値となる様な単語を単語辞書等を利用して抽出する。
（ｂ）単語カテゴリー同定部１４４
抽出された単語のカテゴリーを単語辞書、或いはスロット値候補単語リスト１５４（図４）等を利用して同定する。カテゴリーとしては、例えば、住所、地名、施設の種類、店名、業種、施設名、ランドマーク名、或いはユーザ設定名等の任意の属性を定義することができる。
（ｃ）単語選択部１４６
単語カテゴリーを同定した単語を所定のスロットの値として保持する。その際に、同一カテゴリーに属する単語が複数存在していれば、話者の発声順序に基づいて、採用対象とすべき単語を１語選択する。
【００２４】
（３）データベース１５０
データベース１５０は、主に、音声認識用辞書、単語辞書、スロット値候補単語リスト１５４（図４）、及び音声合成用辞書等から構成されている。
（ａ）音声認識用辞書
認識用言語辞書や認識用音響辞書等からなる。
（ｂ）単語辞書
カテゴリー、関連カテゴリー、その他の属性、発音情報等を有する。
（ｃ）スロット値候補単語リスト１５４
図４に例示される候補単語リスト。単語とその単語のカテゴリーの対から構成されたテーブル。
（ｄ）音声合成用辞書
発話の抑揚、単語接続、間などに関する音声合成用の発音規則を有する。
【００２５】
（４）対話制御部１６０
次に尋ねるべき質問項目又は確認項目を決定し、対話の流れを制御する。
（５）応答文生成部１８０
利用者（話者）に対する応答文（確認応答文や質問応答文等）を生成し、更に、その応答文（単語列）を音響的なデジタル信号（音声情報）に変換・合成する。ただし、この変換・合成処理は、以下に例示する様に、音声出力部１９０が行う用にしても良い。
【００２６】
図２は、上記の音声対話装置１００が実行する処理の手順を例示するフローチャートである。本手順では、まず最初に、ステップ２１０により初期処理を実行する。本処理では、データベース１５０の中から使用頻度が高いと予期されるプログラム及びデータを、比較的アクセス速度の高いメモリー上にローディングしておく等の初期処理を実行する。例えば、音声対話装置１００がディスプレイ装置（図略）を有する場合等には、例えば初期メニュー画面を表示する等のその他の初期処理を行っても良い。
【００２７】
ステップ２２０では、前記の音声認識部１２０にて、話者の発話音声を文字列として認識する。即ち、マイク（音声入力部１１０）から入力された音声情報を、音声認識用辞書（認識用言語辞書や認識用音響辞書等）を用いて、文字列に変換する。
【００２８】
ステップ２３０では、前記の意味理解部１４０にて、上記の文字列の中から必要な単語（スロット値となる単語）を抽出し、その単語のカテゴリーを同定し、スロット値として保持する。
尚、この意味理解部１４０の処理については、図３を用いて後から詳しく述べる。
ステップ２４０では、前記の対話制御部１６０にて、次に尋ねるべき質問項目又は確認項目を決定し、対話の流れを制御する。
【００２９】
ステップ２５０では、前記の応答文生成部１８０にて、利用者（話者）に対する応答文（確認応答文や質問応答文等）を生成し、次のステップ２６０に制御を渡すと同時に、ステップ２２０の内部処理における音声入力待ち状態に入る。
ステップ２６０では、前記の音声出力部１９０にて、その応答文（単語列）を音響的なデジタル信号（音声情報）に変換・合成し、スピーカーに出力する。
【００３０】
図３は、音声対話装置１００の意味理解部１４０が実行する処理の手順を例示するフローチャートである。以下、本フローチャートを用いて、意味理解部１４０の具体的な作用について例示的に説明する。
次の文は、前述の《誤認識の例》の１つ目の例を示すものである。
誤認例１：「中区じゃ中区って、千種区のレストランで。」
【００３１】
例えばこの様な文字列を音声認識部１２０から受け取った場合、意味理解部１４０の単語抽出部１４２は、図３のステップ３２０を実行する。即ち、ステップ３２０では、音声認識結果である文字列を以下の様な単語列に変換する。
（単語列）
中区／じゃ／中区／って／、／千種区／の／レストラン／で／。／
ただし、上記単語列内のスラッシュ記号”／”は、単語（句読点を含む）を区切って示すための記号であり、必ずしも実際のコンピュータ・システム上に記憶されている必要はない。
【００３２】
次に、ステップ３４０では、単語カテゴリー同定部１４４の処理を実行する。即ち、このステップ３４０では、上記の単語列から期待されるスロットの値と成り得る単語を取り出し、そのカテゴリーを同定する。本実施例では、この処理にスロット値候補単語リスト１５４（図４）を利用する。
これらの処理により、各スロット値は、以下の形で保持される。
（スロット値の保持形式）
所在  ：  中区，中区，千種区
業種  ：  レストラン
【００３３】
次に、ステップ３６０では、単語選択部１４６の処理を実行する。即ち、このステップ３６０では、スロット値候補単語の中から実際に採択すべきスロット値を決定する。例えば、前述の本発明の第２又は第３の手段を適用する場合には、”所在”をカテゴリーとする上記の３語の単語の中から、話者が最後に発音した「千種区」を実際に採択すべきスロット値に決定する。この処理により、上記のスロット値は、以下の形で対話制御部１６０へ出力される。
（スロット値の出力形式）
所在  ：  千種区
業種  ：  レストラン
【００３４】
例えば、以上の様な意味理解部１４０の処理によれば、従来から多用されて来た大規模な構文解析用のデータ（例：構文規則や文テンプレート等）が必要ないため、この音声対話装置１００は、従来よりも少ないメモリ使用量で、上記の音声対話機能を実現することができる。
また、上記の音声対話装置１００によれば、構文規則や文テンプレートとのマッチング処理や、尤度判定処理等の複雑な処理が一切必要なくなるため、計算コストを大きく削減することができる。
【００３５】
また、上記の音声対話装置１００によれば、同一カテゴリーの単語が複数有る時は、最後に発音されたものを採択すると言う単純なルールによるものなので、音声認識結果として得られた文が意味を成さない文であった場合にも、回答として必要とされるカテゴリーの単語さえ認識されていれば、その後も処理を継続することができる。
従って、本発明によれば、頑健な意味理解処理を実現することが可能又は容易である。
【００３６】
また、意味理解部の単語選択部により、採択優先順位を話者の発声順序の順に決定する方式も有用な場合がある。例えば、この方式は、話者からの複数回答に対応する際に用いることができ、例えば、この複数回答に関するスロット値の択一権が話者から音声対話装置の側に委ねられた場合等に有用なことがある。
即ち、前記の採択優先順位を話者の発声順序の順に決定する方式においても、本発明の作用・効果が得られる場合がある。
【図面の簡単な説明】
【図１】  本発明の実施例に係わる音声対話装置１００の論理的な構成を例示する構成図。
【図２】  音声対話装置１００が実行する処理の手順を例示するフローチャート。
【図３】  意味理解部１４０が実行する処理の手順を例示するフローチャート。
【図４】  単語カテゴリー同定部１４４が使用するテーブル（スロット値候補単語リスト１５４）の概念図。
【符号の説明】
１００  …  音声対話装置
１１０  …  音声入力部
１２０  …  音声認識部
１４０  …  意味理解部
１４２  …  単語抽出部
１４４  …  単語カテゴリー同定部
１４６  …  単語選択部
１５０  …  データベース
１５４  …  スロット値候補単語リスト
１６０  …  対話制御部
１８０  …  応答文生成部
１９０  …  音声出力部
【図１】
0004220151.tif 000002
【図２】
0004220151.tif 000003
【図３】
0004220151.tif 000004
【図４】
0004220151.tif 000005