(57)【特許請求の範囲】
【請求項１】
発話された音声の音声認識結果が入力され、当該音声認識結果を記憶する記憶部を有し、新規発話の音声認識結果が入力された場合に前記新規発話の音声認識結果と前記記憶された音声認識結果とを時間順序を保ったまま連結し、連結した音声認識結果に連結したことを表す連結フラグを付与する連結処理部と、
前記新規発話の音声認識結果と前記連結処理部で連結された連結音声認識結果を構文解析する構文解析部と、
前記構文解析部で構文解析された文章候補群から前記連結フラグが付与された文章候補を優先させて回答対象となる文章候補を決定し、当該回答対象の文章候補に応じた応答情報を生成する対話処理部とを具備することを特徴とする音声対話装置。
【請求項２】
前記対話処理部が特定の語彙を待つ対話状態になったときに、前記連結処理部は前記新規発話の音声認識結果と前記記憶された音声認識結果の連結をしないことを特徴とする請求項１記載の音声対話装置。
【請求項３】
前記対話処理部が回答対象の文章候補の決定又は応答情報の生成を終了する前に、前記連結処理部に次の音声認識結果が入力されたとき、前記連結処理部は前記新規発話の音声認識結果と前記記憶された音声認識結果の連結をすることを特徴とする請求項１記載の音声対話装置。
【請求項４】
前記対話処理部が前記構文解析部からの解析結果が有意な解析結果か否か検出し、当該検出した結果が有意な解析結果でないときに、前記連結処理部は前記新規発話の音声認識結果と前記記憶された音声認識結果の連結をすることを特徴とする請求項１記載の音声対話装置。
【請求項５】
前記対話処理部が回答対象の文書候補を決定するとき文章候補数が所定の個数を上回った場合に、前記連結処理部は前記新規発話の音声認識結果と前記記憶された音声認識結果の連結をすることを特徴とする請求項１記載の音声対話装置。
【請求項６】
前記対話処理部で応答情報を生成する終了時刻と前記連結処理部に音声認識結果が入力される時刻との差分である発話間隔が所定の値よりも大きければ、前記連結処理部は前記新規発話の音声認識結果と前記記憶された音声認識結果の連結は不要であると判定することを特徴とする請求項１記載の音声対話装置。
【請求項７】
発話された音声の音声認識結果が入力され、当該音声認識結果を連結処理候補として記憶し、新規発話の音声認識結果が入力された場合に前記新規発話の音声認識結果と前記記憶された音声認識結果とを時間順序を保ったまま連結し、連結した音声認識結果に連結したことを表す連結フラグを付与する連結処理ステップと、
前記新規発話の音声認識結果と前記連結処理ステップで連結された連結音声認識結果を構文解析する構文解析ステップと、
前記構文解析ステップで構文解析された文章候補群から前記連結フラグが付与された文章候補を優先させて回答対象となる文章候補を決定し、当該回答対象の文章候補に応じた応答情報を生成する対話処理ステップとを具備することを特徴とする音声対話方法。
【請求項８】
前記対話処理ステップが特定の語彙を待つ対話状態になったときに、前記連結処理ステップは前記新規発話の音声認識結果と前記記憶された音声認識結果の連結をしないことを特徴とする請求項７記載の音声対話方法。
【請求項９】
前記対話処理ステップが回答対象の文章候補の決定又は応答情報の生成を終了する前に、前記連結処理ステップに次の音声認識結果が入力されたとき、前記連結処理ステップは前記新規発話の音声認識結果と前記記憶された音声認識結果の連結をすることを特徴とする請求項７記載の音声対話方法。
【請求項１０】
前記対話処理ステップが前記構文解析ステップからの解析結果が有意な解析結果か否か検出し、当該検出した結果が有意な解析結果でないときに、前記連結処理ステップは前記新規発話の音声認識結果と前記記憶された音声認識結果の連結をすることを特徴とする請求項７記載の音声対話方法。
【請求項１１】
前記対話処理ステップが回答対象の文書候補を決定するとき文章候補数が所定の個数を上回った場合に、前記連結処理ステップは前記新規発話の音声認識結果と前記記憶された音声認識結果の連結をすることを特徴とする請求項７記載の音声対話方法。
【請求項１２】
前記対話処理ステップで応答情報を生成する終了時刻と前記連結処理ステップに音声認識結果が入力される時刻との差分である発話間隔が所定の値よりも大きければ、前記連結処理ステップは前記新規発話の音声認識結果と前記記憶された音声認識結果の連結は不要であると判定することを特徴とする請求項７記載の音声対話方法。
【請求項１３】
発話された音声の音声認識結果が入力され、当該音声認識結果を連結処理候補として記憶し、新規発話の音声認識結果が入力された場合に前記新規発話の音声認識結果と前記記憶された音声認識結果とを時間順序を保ったまま連結し、連結した音声認識結果に連結したことを表す連結フラグを付与する連結処理と、
前記新規発話の音声認識結果と前記連結処理で連結された連結音声認識結果を構文解析する構文解析と、
前記構文解析で構文解析された文章候補群から前記連結フラグが付与された文章候補を優先させて回答対象となる文章候補を決定し、当該回答対象の文章候補に応じた応答情報を生成する対話処理とを含むことを具備することを特徴とする音声対話処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は利用者の音声入力を受理し解釈する機能を持ち、発話の区切りがあいまいな音声の解釈を実行する機能を持つ音声対話装置、音声対話方法及び音声対話処理プログラムに関する。
【０００２】
【従来の技術】
近年、音声や自然言語入力などによる文章入力を受け付けるインターフェースに関する研究が盛んである。また、そのようなインターフェースを用いるエキスパートシステムなどが多数開発され、音声やテキストなどによる入力を受理する装置が一般向けにも利用可能となっている。特に音声による入力は利用者にとって利用しやすいものと位置付けられ、音声認識技術を利用し音声入力を受け付ける音声対話装置が開発されている。
【０００３】
従来このような音声対話装置では入力される文章を記述する文法を定義し、発話のポーズを区切りとして構文解析によって音声認識結果が文法に適合するものを適切な入力文として採用していた。しかしながら音声による話し言葉入力は特殊であり、発話の区切りがあいまいという特徴がある。このため、例えば音声対話装置を採用したナビゲーションシステムなどで「目的地の近くの（ポーズ）レストラン」のような文章の途中で発話が中断される、すなわち利用者の意図がポーズをはさんだ複数回の発話（「目的地の近くの」と）「レストラン」）によって表現される場合がある。このような場合、入力文が文法と適合しないために適切な入力文が得られないという問題があった。
【０００４】
このような問題に対処した音声解釈技術として特開平11-237894号に開示されているものがある。これは、例えば「目的地の近くの」の解釈結果群を保持しておき「レストラン」が入力された時に保持していた解釈結果群の後部に追加するという具合に単語が入力される毎にこれまでの解釈結果群との時間的な連結を図るものである。このため発話が文章の途中で区切られても次の発話入力をも継続して解釈し、複数の発話からなる適切な文章を探索することが可能となる。この解釈結果群から適切な候補を選択する際には構文解析用の文法に加えて言語理解規則を作成し、言語理解規則による優先度が最も高いものを解釈結果として採用している。
【０００５】
ところが、上記の技術では解釈のために文法の他に言語理解規則を作成する必要がある。このため、既存のシステムに適用する文法だけでは実行不可能であり、新規に作成するルールも適用する文法が複雑になればそれだけ作成が困難になるという問題がある。
【０００６】
また、音声入力の場合、利用者が入力を推敲せずに発話するために言い直しや条件の追加などの発話がなされる場合がある。このような場合には音声解釈の後段の対話処理などで、直前の回答に対応する解釈内容と新規入力のみの解釈内容との意味の合成（以下意味合成と表記）を図らなければならない。上記の技術では、その解釈結果が新規発話のみによるものかその前の解釈との連結によるものかが不明であるため、意味合成すべきかどうかを判定することが困難であるという問題がある。あるいは意味合成をしない場合には、別途言い直し・条件追加に対応する文法と言語理解規則を作成する必要がある。
【０００７】
加えて、例えば音声対話装置から質問文が提示される場合など、音声解釈の際にポーズで区切られた音声情報の時間的な連結を図らないほうが良い場合がある。逆に音声対話装置からの応答を聞かずに入力がなされるなどの状況では、利用者の発話途中で解釈を開始したと考えられるため時間的な連結が優先される。しかしながら、上記技術ではそのようなフィードバックは利用せずに言語的ルールを参照することでその判定を行っているため、不適切な解釈が行われるという問題がある。
【０００８】
【発明が解決しようとする課題】
このように従来の音声対話装置では、発話の区切りがあいまいな音声入力を考慮し、入力の音声情報を時間的に連結して解釈するためには文法の他に言語理解規則を作成する必要があるため、既存のシステムに適用する文法だけでは実行不可能であり、新規に作成するルールも適用する文法が複雑になればそれだけ作成が困難になるという問題があった。
【０００９】
また、利用者の言い直しや条件追加の場合には、後段の対話処理で意味合成をする必要があるが、その解釈結果が新規発話のみによるものかその前の解釈との連結によるものかが不明であるため、意味合成すべきかどうかを判定することが困難であるという問題がある。
【００１０】
あるいはこの場合に意味合成を実行しないのであれば言い直し、条件追加のための文法と言語規則を別途作成する必要があるという問題がある。
【００１１】
加えて、音声対話装置からのフィードバックは利用せずに言語的ルールを参照することでその判定を行っているため、音声情報を連結する・しないの判定において不適切な解釈が行われるという問題がある。
【００１２】
本発明はこのような事情を考慮してなされたもので、新規に文法やルールを作成せずに発話の区切りのあいまいさを考慮して解釈することができ、または、その解釈実行時に言い直し条件追加の解釈のための意味合成の実行可否判定ができ、または、対話処理部のフィードバックを利用することで時間的な連結条件をより適切に判定することが可能な音声対話装置、音声対話方法及び音声対話処理プログラムを提供することにある。
【００１３】
【課題を解決するための手段】
上記目的を解決するために本発明に係る音声対話装置、音声対話方法及び音声対話処理プログラムは、発話された音声の音声認識結果が入力され、当該音声認識結果を連結処理候補として記憶し、新規発話の音声認識結果が入力された場合に前記新規発話の音声認識結果と前記記憶された音声認識結果とを時間順序を保ったまま連結し、連結した音声認識結果に連結したことを表す連結フラグを付与する連結処理を行い、前記新規発話の音声認識結果と前記連結処理で連結された連結音声認識結果を構文解析する構文解析処理を行い、前記構文解析処理で構文解析された文章候補群から前記連結フラグが付与された文章候補を優先させて回答対象となる文章候補を決定し、当該回答対象の文章候補に応じた応答情報を生成する対話処理を行うことを特徴とするものである。
【００１４】
これによれば、発話の区切りをこえた音声解析結果を作成し、既存の構文解析方式・ルールを採用していても構文解析を可能とすることが可能となる。
【００１７】
また、本発明に係る音声対話装置、音声対話方法は、その対話処理が特定の語彙を待つ対話状態になったときに、連結処理は新規発話の音声認識結果と記憶された音声認識結果の連結をしないことを特徴とするものである。
【００１９】
また、本発明に係る音声対話装置、音声対話方法は、その対話処理が回答対象の文章候補の決定又は応答情報の生成を終了する前に、連結処理に次の音声認識結果が入力されたとき、連結処理は新規発話の音声認識結果と記憶された音声認識結果の連結をすることを特徴とするものである。
【００２０】
また、本発明に係る音声対話装置、音声対話方法は、その対話処理が構文解析処理からの解析結果が有意な解析結果か否か検出し、当該検出した結果が有意な解析結果でないときに、連結処理は新規発話の音声認識結果と記憶された音声認識結果の連結をすることを特徴とするものである。
【００２１】
また、本発明に係る音声対話装置、音声対話方法は、その対話処理が回答対象の文書候補を決定するとき文章候補数が所定の個数を上回った場合に、連結処理は新規発話の音声認識結果と記憶された音声認識結果の連結をすることを特徴とするものである。
【００２２】
また、本発明に係る音声対話装置、音声対話方法は、その対話処理で応答情報を生成する終了時刻と連結処理に音声認識結果が入力される時刻との差分である発話間隔が所定の値よりも大きければ、連結処理は新規発話の音声認識結果と記憶された音声認識結果の連結は不要であると判定することを特徴とするものである。
【００２３】
【発明の実施の形態】
本発明は利用者の音声入力を受理し解釈する機能を持ち、発話の区切りがあいまいな音声の解釈を実行する機能を持つ音声対話装置及びその音声対話方式を提供するものであり、以下、図面を参照して本発明の詳細につき説明する。
【００２４】
図１は、本発明の一実施の形態に係る音声対話装置100の概略構成図である。
図１に示すように本発明の音声対話装置100は連結処理部101、構文解析部102、対話処理部103、応答出力部104からなる。
【００２５】
音声解析装置110は利用者が発話した音声入力の音響的な解析を行うことにより音声識結果を出力する。この音声対話装置100は音声解析装置110から与えられた音声認識結果を解釈し、その解釈結果に応じて応答を返すものである。
【００２６】
連結処理部101は音声解析装置110、構文解析部102、対話処理部103と接続している。また、連結処理部101はその内部に音声認識結果を保持する記憶部101-1をもち、音声解析装置110から通知される今回の音声認識結果と記憶部101-1に記憶していたそれ以前の音声認識結果とを時間的に連結するかどうかを判定する。
【００２７】
判定は対話処理部103から必要な情報を受け取り、それに基づいて実行される。利用する情報及び判定方法の詳細は後述する。その後判定結果が『連結あり』であれば、以前の音声認識結果と今回の音声認識結果を時間的に連結する。連結した場合は連結したことを表す連結フラグをその認識結果に付与し、連結済みの認識結果と今回の認識結果をそれぞれ構文解析部102に通知する。連結していない場合は今回の認識結果のみを構文解析部102に通知する。
【００２８】
また、構文解析部102は連結処理部101、対話処理部103と接続し、連結処理部101から通知される音声認識結果に対して構文解析を実行し、文法で受理可能な候補(文章候補)群を対話処理部103に通知しているが、連結フラグが付与されている音声認識結果から得られる各文章候補には連結フラグ情報も付与する。構文解析方式は既存のものを使用することが可能である。
【００２９】
また、対話処理部103は構文解析部102、連結処理部101、応答出力部104と接続し、構文解析部102から通知される文章候補群を解釈し、回答対象となる文章候補（回答対象候補）を決定すると共に応答を生成し、応答出力部104に通知する。構文解析部102から通知される文章候補群に連結／非連結の文章候補が混在する場合には、連結フラグのあるものを優先させる。また選択された回答対象候補を記憶し、次に入力される新規情報との意味合成を実行して解釈する。
【００３０】
ただし、連結フラグが付与されている文章候補に関しては意味合成処理を実行しないようにする。同時に連結処理部101に認識結果連結の判定に必要な情報を通知する。なお、意味合成処理および判定に必要な情報についての詳細は後述する。
【００３１】
また、応答出力部104は対話処理部103と接続し、対話処理部から通知される応答の情報に基づき応答を出力する。
【００３２】
次に図２乃至図４に示す具体例を用いて本発明の一実施形態を説明する。
【００３３】
ここではナビゲーションシステムにおける地図検索タスクを例にしてさらに詳しく説明する。
【００３４】
地図検索タスクは検索対象となる場所を指定する音声入力を受け付け、それに基づき地図データベースの検索を遂行するものである。音声入力としては例えば「目的地近くの（ポーズ）レストラン」の発話で、（ポーズ）を境にして文章の途中で発話が中断される発話を考える。
【００３５】
音声認識方式はキーワードスポッティングを採用しているものとし、その認識結果は所定のキーワードが検出された時刻に配置される図２のようなグラフとなる。また、各ノード（「目的地」「近く」「うち」等）内の"()"内はその単語が所属するクラスタ識別子である。クラスタ情報として、例えば"(場所)"には場所を表す単語である「目的地」「レストラン」「中華料理屋」などを対応させて登録する。この登録情報は本発明の主旨と異なるため割愛する。
【００３６】
対象とする文法は図３のようなテンプレート形式のものとする。各行が一つの文法を表現しており、":"の左側（Place1、Place2、Place3）が文法の識別子、右側がテンプレート情報である。テンプレート情報内のそれぞれの"()"で囲まれている部分は語彙情報のクラスタの識別子であり、左から順に出現する系列を受理できることを表している。例えばPlace1の文法では「目的地 近く レストラン」という文章を受理できる。この文法は例えばPlace1のサブセットである『(場所)(位置関係)』という文法を設定していないことから、文法の途中で発話が中断されることを考慮していないものと言える。
【００３７】
図２では201、202、203がそれぞれ一つの音声認識結果である。これらでは音声認識結果をグラフ状に表しているが、各ノードが認識された単語に対応し、その横方向が時間軸（左から右）を、その縦方向が音声認識のあいまい性により同じ時間で複数の候補が現れた場合を現している。そのグラフの辺は時間的条件（重なり／離れ）によって連絡される。
【００３８】
始めに「目的地近くの（ポーズ）レストラン」が音声解析装置110に入力されると、（ポーズ）の前の部分の「目的地近くの」に対応する音声区間について音声認識結果を連結処理部101に通知する。
【００３９】
連結処理部101はこの音声認識結果に対して連結が必要であるかどうか判定を行う。この場合は初期状態であるため連結対象となる認識結果が存在しないため、そのまま構文解析部102に音声認識結果を通知し、音声認識結果201を記憶部101-1に一時保存する。
【００４０】
構文解析部102は音声認識結果201を対象にして構文解析を実行する。本実施例での構文解析部102は与えられた音声認識結果のグラフ構造のStart-Endの区間から対象とする文法にマッチするノード列（群）を探索する処理を実行するものであり、構文解析方式は既存のものを使用することが可能である。以後このノード列を文章候補と呼ぶ。
【００４１】
この場合、音声認識結果201には「（場所）（位置関係）」となる候補しか生成できないため、図３の文法には当てはまらないため構文解析に失敗した旨を対話処理部103に通知する。
【００４２】
対話処理部103は構文解析部102から通知される文章候補群を解釈するが、この場合構文解析部102から解析失敗したことを通知されているため、連結処理部101にその旨を通知する。
【００４３】
つぎに、音声解析装置110が（ポーズ）の後の部分の「レストラン」に対応する音声区間の音声認識結果202を連結処理部101に通知する。
【００４４】
連結処理部101はこの音声認識結果に対して連結が必要であるかどうかを判定する。この場合は直前の構文解析に失敗しているために『連結あり』であると判断される（判定の詳細は後述）。このとき図２の201と202に示した音声認識結果の連結処理が実行され、連結された認識結果203と今回入力された認識結果202とが構文解析部102に通知される。
【００４５】
連結処理は一時保存されていた音声認識結果と今回入力された音声認識結果とを時間的に連結する処理である（図２）。
【００４６】
すなわち、一時保存されている認識結果の右側に今回入力された音声認識結果を配置し、それを１つの音声認識結果としてノード同士の辺を連結させる処理となる。Start／Endノードは音声区間の始終端を表すように適宜取り除かれる。
【００４７】
また、連結したことを明示する連結フラグを連結した認識結果に通知する。
【００４８】
この例では音声認識結果201の最後尾にある「近く」ノードの右側に音声認識結果202を配置し、時間条件に基づき辺を作成することで両認識結果が連結している（203）。音声認識結果203は「目的地近くのレストラン」に相当する音声区間を対象にした認識結果と等価になっている。さらに、音声認識結果203には連結フラグが付与されている。
【００４９】
構文解析部102では音声認識結果203と202を対象にして構文解析を実施する。
音声認識結果203からは「（場所）（位置関係）（場所）」となる候補が生成可能であり、「目的地  近く  レストラン」などの文章候補が探索される。音声認識結果202からは「（場所）」となる候補が生成可能であり「レストラン」などの文章候補が探索される。これら全ての文章候補を対話処理部103に通知する。
【００５０】
対話処理部103では、連結フラグのある文章候補を優先して回答対象として選択するため、文章候補「目的地  近く  レストラン」を回答対象として採用する。この候補には連結フラグが付与されているために意味合成は実行されない。
【００５１】
これに基づき応答情報を生成し応答出力部104に通知する。応答出力部104は通知された応答情報に基づき利用者に応答を出力する。
【００５２】
次に対話処理部103で実行される意味合成について図４を示して説明する。
利用者の発話の例として、まず（１）「目的地の近くのレストラン」が入力され、システムが回答した後に（２）「やっぱり中華料理屋」が入力された場合を考える。
【００５３】
この場合音声解析装置110が入力（２）に対する音声認識結果を連結処理部101に通知した時に、連結判定部101において『連結なし』と判定され、構文解析部102に音声区間「やっぱり中華料理屋」に相当する認識結果を通知したものとする。
【００５４】
構文解析部102ではこの入力から文章候補「中華料理屋」を生成し、対話処理部103に通知し、対話処理部103では、文章候補「中華料理屋」には連結フラグが付与されていないため、意味合成が実行される。
【００５５】
図４において401が入力（１）に対してシステムが回答を行った際の回答対象候補であり、文章候補「目的地  近く  レストラン」に相当する。402が入力（２）に対する文章候補「中華料理屋」を解釈したものとなっている。
この解釈結果は場所を表す“Place”という式で表されており、Placeには３種類のスロットが存在する。各スロットにおいて“：”の左には属性、右側には属性値が与えられる。
【００５６】
401を例に取ると、「基準点が『目的地』、基準点に関する位置関係が『近く』、対象となるクラスが『レストラン』である」という情報に入力文が解釈されていることを表している。意味合成処理は対話処理部103に保存されている回答対象候補のスロット毎に新規入力に対応する文章候補のスロットの属性値を上書きする処理である。その結果が403であり、新規入力である402のクラスの値「中華料理屋」が401のクラススロットに上書きし、「目的地 近く 中華料理屋」となる候補が得られる。
【００５７】
図５は本発明の一実施形態に係る音声対話装置における認識結果の連結処理の概略構成である。以下、図１及び図５を参照して認識結果の連結処理について説明する。
【００５８】
連結処理部101は対話処理部103から(1)対話状態(S501)、(2)解析終了フラグ(S502)、(3)構文解析成功フラグ(S503)、(4)条件不足フラグ(S504)、(5)時間条件 (S505)の情報を受け取り、それらに基づいて連結の判定をしその結果に基づき認識結果の連結処理を実行する。なお、初期値として(1)対話状態情報＝"追加"、(2)解釈終了フラグ＝"φ"、(3)構文解析成功フラグ＝"φ"、(4)条件不足フラグ＝"φ"、(5)応答終了時刻＝"φ"が与えられている。なお、"φ"は非通知状態であることを意味する。
【００５９】
はじめに、対話処理部103の対話状態を確認する（S501）。ここでは対話状態として音声解析装置110からの認識結果の連結が不要であることを明示する『更新』とそれ以外の『追加』の2種類を定義する。この情報は対話処理部103で変更が検出されるたびに対話処理部103から連結処理部101に通知する。例えば「更新」状態は、対話処理部103で問い返しを決定した場合など、特定の語彙を待つ状態になる時に検出される。この時は次に入力される特定の語彙だけが必要であるために以前の認識結果は不要となる。更新状態が通知されている場合には「連結なし」と判断しS507へ、そうでなければ解析終了フラグの有無の判断であるS502へ進む。
【００６０】
S502では、新規入力が行われた時が解釈中・応答生成中かどうかの判定を行う。この情報は、例えば対話処理部103が解釈終了あるいは応答生成部104の応答生成終了をモニタすることで検出することが可能である。この検出時に解釈終了したことを意味する解釈終了フラグを対話処理部103から連結処理部101に通知する。
【００６１】
連結処理部101では、解釈終了フラグを受け取っていない時に次の認識結果を受け取った場合は、利用者の入力が終了する前の認識結果に対して解釈を始めたものと判断し、連結が必要という判定をする。連結処理部101が解釈終了フラグを受け取っていない場合はS506「連結あり」と判断しS506へ、受け取っている場合は構文解析成功フラグの有無の判断であるS503へ進む。
【００６２】
S503では、直前の認識結果に対する構文解析が成功したかどうかによる判定を行う。この情報は、例えば対話処理部103が構文解析部102から有意な構文解析結果が通知されたか否かを検出することで得ることが可能である。有意な構文解析結果が通知された時に、構文解析に成功したことを意味する構文解析成功フラグを対話処理部103から連結処理部101に通知する。
【００６３】
連結処理部101では、構文解析成功フラグを受け取っていない時に次の認識結果を受け取った場合は、直前の認識結果が、それに対する構文解析に成功していないために発話の途中であるという可能性があると判断し、認識結果の連結が必要と判定する。連結処理部101が構文解析成功フラグを受け取っていない場合には「連結あり」と判断しS506へ、そうでなければ条件不足フラグの有無の判断であるS504に進む。
【００６４】
S504では、直前の解釈結果があいまいかどうかの判定を行う。この情報は、対話処理部103で構文解析結果を解釈し回答対象候補を生成する度にあいまいか否かを判定したものを利用する。判定基準は、例えばデータベース検索をタスクとした場合には対話処理部103における解釈時に回答対象候補の検索結果が所定の個数を上回った場合にあいまいであると判定することや、あるいは回答対象候補の元となる入力条件に与える条件の数・種類などに基づき判定することも可能である。
【００６５】
あいまいであると判断された場合には、それを意味する条件不足フラグを対話処理部103から連結処理部101に通知する。連結処理部101では、条件不足フラグ受け取った時に次の認識結果を受け取った場合は今後続けて条件指定が見込まれるため連結が必要であると判定する。連結処理部101が条件不足フラグを受け取っている場合には「連結あり」と判断しS506へ、そうでなければ時間条件の判断であるS505へ進む。
【００６６】
S505では、時間的な連結条件を判定する。この判定は応答生成の終了時刻と、次発話開始時刻との差分である発話間隔をしきい値処理することで行うことができる。応答生成の終了時刻は、例えば対話処理部103が応答生成部104の応答生成終了時刻をモニタすることで取得することが可能である。次発話開始時刻は、例えば連結処理部101に認識結果が通知される時刻などで取得することが可能である。対話処理部103から連結処理部101へは応答生成終了時刻を通知する。
【００６７】
連結処理部101では発話間隔を計算し、それが所定の値よりも大きければ発話の関連性がないものとし、連結処理は不要であると判定することができる。発話間隔が所定の値よりも大きければ「連結なし」と判断しS507へ、そうでなければ「連結あり」と判断しS506へ進む。
【００６８】
S506では、以前の認識結果と通知された新規の認識結果とを連結する。連結の手続きは前述(図２)のように実行する。その後、構文解析部102へ連結した認識結果と新規の認識結果をそれぞれ通知する。S508へ進む。
【００６９】
S507では、連結する必要がないと判断されたため、構文解析部102へ新規の認識結果のみを通知し、S508へ進む。
【００７０】
S508では、連結処理部101の初期化処理を行う。初期化処理は対話処理部103から通知される各情報を初期化する処理と、記憶する認識結果の更新処理からなる。例えば、対話処理部103から通知される情報を、対話状態情報＝"追加"、解釈終了フラグ＝"φ"、構文解析成功フラグ＝"φ"、条件不足フラグ＝"φ"、応答終了時刻＝"φ"と初期化する。尚"φ"は非通知状態であることを意味する。更に、これまでに保存されていた認識結果を破棄し、今回入力された新規の認識結果を連結処理部101で保存しておく。
【００７１】
以上が本発明に係る音声対話装置装置の構成とその機能、及びその音声対話方式である。
【００７２】
さらに、本実施形態の音声認識装置をナビゲーションシステムにおける地図検索タスクに適用して、その動作について［対話1］乃至［対話３］を例にして詳細に説明する。
［対話1］
User1：「目的地の近くの(ポーズ) レストラン」
前述した利用者が音声認識装置に対して発した「目的地の近くの(ポーズ) レストラン」について図１乃至図２を用いてさらに説明する。
【００７３】
まず、(ポーズ)の前の「目的地の近くの」の音声が検出され、音声解析装置110によって音声認識が行われる。この結果が図２の201であり、これが連結処理部101に通知される。このとき連結処理部101は初期状態であり、上述したように対話状態＝"追加"、解釈終了フラグ＝"φ"、構文解析成功フラグ＝"φ"、条件不足フラグ＝"φ"、応答生成終了時刻＝"φ"、保存されている認識結果なしとなっている。
【００７４】
この場合、解釈終了フラグがないためにS502で『連結あり』と判定しS506に進むが、以前の認識結果が記憶されていないために新規の認識結果である図２の201を構文解析部102に通知する。
【００７５】
構文解析部102では、図２の201を対象にして図３の文法を適用して構文解析すると、"(位置関係)"で終了する文法は定義されていないために構文解析できず失敗し、構文解析に失敗したことを対話処理部103に通知する。
【００７６】
対話処理部103では、構文解析に失敗したことを受理したことで解釈終了したと判定し、解釈終了フラグを連結処理部101に通知する。その後解釈失敗した旨を通知する応答を生成するように応答生成部104に通知する。
【００７７】
続いて、「レストラン」の部分が音声解析装置110で音声認識され、図２の202が認識結果として対話管理部101に通知される。このとき連結処理部101の判定情報の状態は、対話状態＝"追加"、解釈終了フラグ＝"終了"、構文解析成功フラグ＝"φ"、条件不足フラグ＝"φ"、応答生成終了時刻＝"φ"となっている。ここで、連結判定を実行すると構文解析成功フラグが通知されていないのでS503で連結と判定され、S506に進む。S506では直前の認識結果である図２の201と新規の認識結果である図２の202を連結し、新たに認識結果、図２の201を生成し図２の201と202を構文解析部102に通知する。
【００７８】
構文解析部102で構文解析を実行する。音声認識方式はキーワードスポッティングを用いると図２の201からは音響スコアの順に「目的地 近く レストラン」、「目的地 近く スーパー」、「うち 近く レストラン」、「うち 近く スーパー」が出力される。また、図２の202からは音響スコア順に「レストラン」、「スーパー」が出力される。これを対話処理部103に通知する。
【００７９】
対話処理部103では、まず構文解析が成功したことを連結処理部101に通知する。連結された認識結果を優先的に取り扱うため、図２の201から得られた候補を優先する。このとき、直前の入力に対する解釈は失敗しているため全ての候補について意味合成は行われない。その結果「目的地 近く レストラン」が解釈結果として適当であると決定し、これを回答対象候補とする。回答のためのデータベース検索を実行し、応答情報を生成する。ここでこの検索結果が少ない数で収まったとする。このときに解釈終了フラグを連結処理部101に通知する。その後、応答生成部104で「目的地 近く レストラン」に関する応答文が利用者に提示される。
【００８０】
以上のように、音声認識結果を連結するという処理を追加することによって、文章の途中で発話が中断されることを想定していない文法でも発話単位のあいまい性に対応することが可能である。
【００８１】
なお、「目的地 近く」を受理可能な文法を作成している場合でも、「目的地の近くの場所」というあいまいな条件を指定することになるため、あいまいであると判断することが可能である。このときは連結処理部101が条件不足フラグを受け取るため、S504で『連結あり』と判定され、最終的には「目的地 近く レストラン」が選択される。
【００８２】
また、User1'：「目的地の（ポーズ）近くのレストラン」という発話の場合、
「目的地」は構文解析可能(図３のPlace2に該当)となるが、このようなポーズは一般的に短く、解釈中あるいは応答文生成中に「近くのレストラン」が入力されることになる。このため、S502あるいはS505で連結と判定され、最終的には「目的地 近く レストラン」が選択される。
［対話2］
User2：「目的地の近くのレストラン」
System2：「目的地の近くにはファミリーレストランがあります」
User3：「やっぱり中華料理屋」
利用者が発した「目的地の近くの レストラン」の音声について本実施形態の音声対話装置が音声認識した後、応答出力部104から「目的地の近くにはファミリーレストランがあります」が出力され、さらにこの応答として本実施形態の音声認識装置に対して「やっぱり中華料理屋」と発した場合について図１乃至図５を用いてさらに説明する。
【００８３】
まず、「目的地の近くのレストラン」の音声が検出され、音声解析装置110によって音声認識が行われその結果が連結処理部101に通知される。このときの連結処理部101は初期状態である。［対話1］の時と同様に以前の認識結果が記憶されていないために新規入力の認識結果のみを構文解析部102に通知する。
【００８４】
構文解析部102では、構文解析を実行する。その結果、図６の601の「目的地 近く レストラン」を得る。これを対話処理部103に通知する。
【００８５】
対話処理部103では、まず構文解析が成功したことを連結処理部101に通知する。初期状態では意味合成をするための直前の回答対象候補が存在しないため、「目的地 近く レストラン」は解釈結果として適当であると決定し、これを回答対象候補とする。
【００８６】
回答のためのデータベース検索を実行し、応答情報を生成する。ここでこの検索結果が少ない数で収まったとする。このときに解釈終了フラグを連結処理部101に通知する。その後、応答生成部104で「目的地 近く レストラン」に関する応答文「目的地の近くにはファミリーレストランがあります」が利用者に提示される。
【００８７】
続いて、この応答文を受けて、「やっぱり中華料理屋」の部分が音声解析装置110で音声認識され、図６の602が認識結果として連結処理部101に通知される。
「目的地の近くにはファミリーレストランがあります」と「やっぱり中華料理屋」との発話間隔は短いものとする。
【００８８】
このとき連結処理部101の判定情報の状態は、対話状態＝"追加"、解釈終了フラグ＝"終了"、構文解析成功フラグ＝"成功"、条件不足フラグ＝"φ"、応答生成終了時刻＝T2となっている。ここで、連結判定を実行すると、「目的地の近くにはファミリーレストランがあります」と「やっぱり中華料理屋」の発話間隔は短いためにS505で連結と判定され、S506に進む。S506では直前の認識結果と新規の認識結果601を連結し、新たに認識結果、図５の603が得られたとする。この図５の603と602を構文解析部102に通知する。
【００８９】
構文解析部102で構文解析を実行する。図６の603からは音響スコアの順に「目的地 近く 中華料理屋」「目的地 近く レストラン」「うち 近く 中華料理屋」「うち 近く レストラン」を、図６の602からは「中華料理屋」を得る。これを対話処理部103に通知する。
【００９０】
対話処理部103では、まず構文解析が成功したことを連結処理部101に通知する。連結された認識結果を優先的に取り扱うため、図６の603から得られた候補を優先する。このとき、図６の603から得られた文章候補には連結フラグが付与されているため、直前の回答対象候補である「目的地 近く レストラン」との意味合成を実行しないように動作し、そのまま「目的地 近く 中華料理屋」が解釈結果であると決定し、これを回答対象候補とする。回答のためのデータベース検索を実行し、応答情報を生成する。
【００９１】
ここでこの検索結果が少ない数で収まったとする。このときに解釈終了フラグを連結処理部101に通知する。その後、応答生成部104で「目的地 近く 中華料理屋」に関する応答文が利用者に提示される。
【００９２】
なお、構文解析部102で図６の603の構文解析に失敗した場合は、602の構文解析結果である「中華料理屋」が対話処理部103に通知される。この候補は連結フラグが付与されていないため、直前の回答対象候補「目的地 近く レストラン」と「中華料理屋」との意味合成が実行される(図４)。最終的には「目的地 近く 中華料理屋」が回答対象候補として選択されることになる。
【００９３】
以上のように、連結したことを明示する連結フラグを各文章候補に付与することによって、誤って意味合成を実行しないように制御することが可能となる。
［対話3］
System4:「近くのコンビニについてお尋ねですか？」
User4:「はい」
システムがS4のような問い返し発話をする時には次の語彙セットを「はい」／「いいえ」に限定するものとする。このときに対話処理部103は対話状態＝"更新"を連結処理部101に通知する。
【００９４】
続いて「はい」が入力され音声認識結果が連結処理部101に通知される。このとき連結処理部101の判定情報の状態は、対話状態＝"更新"、解釈終了フラグ＝"終了"、構文解析成功フラグ＝"成功"、条件不足フラグ＝"φ"、応答生成終了時刻＝T3となっている。ここで連結判定を実行すると対話状態＝"更新"であるためにS501で連結なしと判定され、S507に進む。認識結果として連結したものを作成せずに、新規入力の音声認識結果のみを構文解析部102に通知し、システムは「はい」に対応した処理を実行することが可能となる。
【００９５】
以上のように、システムが決定した対話状況などにより連結の判定をすることによって、意図しない認識結果の連結を実行しないように制御することが可能となる。
【００９６】
かくしてこのように構成された音声対話装置及びその音声対話方法によれば、新規に文法やルールを作成せずに発話の区切りのあいまいさを考慮して解釈することができ、その解釈実行時に言い直し条件追加の解釈のための意味的意味合成の実行可否判定ができ、対話処理部のフィードバックを利用することで時間的な連結条件をより適切に判定することが可能となる。
【００９７】
なお、上述の例では、ナビゲーションシステムのデータベース検索の形式で実現しているように記述しているが、これらの音声対話方法については上述の実現形態に限定されるものではない。以下のような実現形態も本発明の趣旨の範囲内である。
【００９８】
また、簡単の為に音声認識方式をキーワードスポッティング方式とし、テンプレート形式の文法、テンプレートとのマッチングによって構文解析を行うように記述しているが、例えば音声認識方式を連続単語認識、文法を文脈自由文法などの書き換え規則などにし、構文解析方式をチャートパーザやLRパーザなどの既存の手法にしても良い。音声認識結果を構文解析できる組み合わせであれば任意の組み合わせが可能である。
【００９９】
また、簡単の為に連結処理部101で管理する「以前の認識結果」は直前のものだけであると記述したが、直前の複数回の認識結果を記憶しても良い。この場合は記憶する認識結果を全て連結した形式で一つの結果として保存する手法や、発話ごとの認識結果に時間情報を付与して段階的に破棄する手法などが考えられる。
【０１００】
対話処理部103における意味合成実行条件について、連結フラグがないものには必ず意味合成を実行するように記述しているが、本発明の実現形態はこれに限定されるものではなく、例えば、対話処理部103で検出される連結判定情報を利用して独自に意味合成実行判定おこなうようにすることで実現することも可能である。
【０１０１】
例えば、発話間隔の時間条件を対話処理部103でも判定するようにし、発話間隔が大きい時には意味合成をしないようにすることや、対話状態＝"更新"の場合には意味合成をしないようにするように制御することが可能である。あるいは連結処理部101においても同様の判定を対話処理部103に通知することが可能である。また、解釈情報の形式や意味合成の手法は意味合成によって以前の解釈結果と新規入力の値を合成するものであれば既存の方式を適用することが可能である。
【０１０２】
また、対話処理部103での候補選択条件において、連結フラグがある候補とない候補が混在する場合には連結フラグがある候補を優先させるように記述したが、音響スコアのみで比較して有意な候補を選択してもよい。
【０１０３】
以上のように、本発明の実現形態には上述の例に対して種々の変形が可能であり、それらも趣旨に反しない限り本発明の実施形態の範囲内である。
【０１０４】
【発明の効果】
以上説明したように本発明の音声対話装置、音声対話方法及び音声対話処理プログラムによれば新規に文法やルールを作成せずに発話の区切りのあいまいさを考慮して解釈することができ、または、その解釈実行時に言い直し条件追加の解釈のための意味的意味合成の実行可否判定ができ、または、対話処理部のフィードバックを利用することで時間的な連結条件をより適切に判定することが可能となる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係る音声対話装置を示す図
【図２】本発明の第１の実施の形態に係る音声対話装置による音声認識結果の連結を示す図
【図３】本発明の第１の実施の形態に係る音声対話装置の文法の一例を示す図
【図４】本発明の第１の実施の形態に係る音声対話装置の意味合成の一例を示す図
【図５】本発明の第１の実施の形態に係る音声対話装置の連結処理部の処理を示すフロー図
【図６】本発明の第１の実施の形態に係る音声対話装置による他の音声認識結果の連結を示す図
【符号の説明】
100・・・音声対話装置
101・・・連結処理部
102・・・構文解析部
103・・・対話処理部
104・・・応答処理部
110・・・音声解析装置
【図１】
0003795350.tif 000002
【図２】
0003795350.tif 000003
【図３】
0003795350.tif 000004
【図４】
0003795350.tif 000005
【図５】
0003795350.tif 000006
【図６】
0003795350.tif 000007