(57)【要約】【課題】グラマー方式の音声アプリケーションによる自然発話の認識を手間とコストをかけずに行えるようにする。【解決手段】グラマー記憶部１２に記憶されたグラマーと補正情報記憶部１３に記憶された補正情報とからアプリケーション固有の文章データを生成して固有文章記憶部１５に記憶する固有文章生成手段１４と、この文章データに基づき一般トピック記憶部１７に記憶された一般トピックをアプリケーション固有のトピックにシフトしてシフト後トピック記憶部１８に記憶するトピックシフト手段１６と、シフト後のトピックによりディクテーションで音声認識を行って認識結果を認識結果記憶部２２に記憶する自然発話認識手段２１と、グラマーから候補文を生成して候補文記憶部２０に記憶する候補文生成手段１９と、候補文と認識結果とのマッチングにより最終認識結果を決定するマッチング手段２３とを備えた。【選択図】        図１
2005024797.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムに入力される音声をグラマー方式で認識するために用いられるグラマーを読み出す読出し手段と、
前記読出し手段により読み出された前記グラマーに基づいて、前記アプリケーションプログラムに入力される音声をディクテーションで認識するために用いられる統計的言語モデルを生成する統計的言語モデル生成手段と
を備えたことを特徴とする統計的言語モデル生成装置。
【請求項２】
前記統計的言語モデル生成手段は、前記統計的言語モデルを生成するために、一般的な統計的言語モデルを前記読出し手段により読み出された前記グラマーに基づいて変更することを特徴とする請求項１記載の統計的言語モデル生成装置。
【請求項３】
前記統計的言語モデル生成手段は、前記統計的言語モデルを一般的な統計的言語モデルとは別に生成することを特徴とする請求項１記載の統計的言語モデル生成装置。
【請求項４】
前記統計的言語モデル生成手段は、
前記読出し手段により読み出された前記グラマーを展開し、前記アプリケーションプログラムに固有の文章データを生成する固有文章生成手段を更に備え、
前記固有文章生成手段により生成された前記文章データを、前記統計的言語モデルを生成するために用いることを特徴とする請求項１記載の統計的言語モデル生成装置。
【請求項５】
前記固有文章生成手段は、前記グラマーを展開した結果に対して所定の補正を行うことにより前記文章データを生成することを特徴とする請求項４記載の統計的言語モデル生成装置。
【請求項６】
アプリケーションプログラムに入力された音声をディクテーションで認識する自然発話認識手段と、
前記入力された音声をグラマー方式で認識するために用いられるグラマーに基づいて、前記自然発話認識手段による認識結果を前記アプリケーションプログラムで処理可能な最終認識結果に変換する認識結果変換手段と
を備えたことを特徴とする音声認識装置。
【請求項７】
前記認識結果変換手段は、
前記グラマーを展開して前記最終認識結果の候補である候補文を生成する候補文生成手段と、
前記候補文生成手段により生成された前記候補文と、前記自然発話認識手段による認識結果とのマッチングにより、当該候補文の中から１つの候補文を前記最終認識結果として選択するマッチング手段と
を備えたことを特徴とする請求項６記載の音声認識装置。
【請求項８】
前記マッチング手段は、前記候補文生成手段により生成された前記候補文の中から、前記自然発話認識手段による認識結果との一致度が最大の候補文を、前記最終認識結果として選択することを特徴とする請求項７記載の音声認識装置。
【請求項９】
アプリケーションプログラムに入力される音声をグラマー方式で認識するために用いられるグラマーに基づいて、当該アプリケーションプログラムに入力される音声をディクテーションで認識するために用いられる統計的言語モデルを生成する統計的言語モデル生成手段を更に備え、
前記自然発話認識手段は、前記入力された音声を、前記統計的言語モデル生成手段により生成された前記統計的言語モデルを用いてディクテーションで認識することを特徴とする請求項６記載の音声認識装置。
【請求項１０】
前記統計的言語モデル生成手段は、前記統計的言語モデルを生成するために、一般的な統計的言語モデルを前記グラマーに基づいて変更することを特徴とする請求項９記載の音声認識装置。
【請求項１１】
前記統計的言語モデル生成手段は、前記統計的言語モデルを一般的な統計的言語モデルとは別に生成し、
前記自然発話認識手段は、前記入力された音声を、前記一般的な統計的言語モデルと、前記統計的言語モデル生成手段により生成された前記統計的言語モデルとを用いてディクテーションで認識することを特徴とする請求項９記載の音声認識装置。
【請求項１２】
アプリケーションプログラムに入力される音声をグラマー方式で認識するために用いられるグラマーを、グラマー記憶部から読み出すステップと、
読み出された前記グラマーに基づいて、前記アプリケーションプログラムに入力される音声をディクテーションで認識するために用いられる統計的言語モデルを生成するステップと、
生成された前記統計的言語モデルを、前記アプリケーションプログラムから参照可能な統計的言語モデル記憶部に記憶するステップと
を含むことを特徴とする統計的言語モデル生成方法。
【請求項１３】
前記統計的言語モデルを生成するステップは、
読み出された前記グラマーを展開し、前記アプリケーションプログラムに固有の文章データを生成するステップと、
生成された前記文章データに基づいて、前記統計的言語モデルを生成するステップと
を更に含むことを特徴とする請求項１２記載の統計的言語モデル生成方法。
【請求項１４】
前記文章データを生成するステップで生成された前記文章データに対して所定の補正を行うために用いられる補正情報を、補正情報記憶部から読み出すステップと、
前記文章データに対して前記補正情報に基づく補正が必要かどうかを判断するステップと、
前記補正情報に基づく補正が必要と判断された前記文章データに対して前記補正情報に基づく補正を行うことにより新たな文章データを生成し、当該新たな文章データを前記統計的言語モデルを生成するステップで用いる前記文章データに追加するステップと
を更に含むことを特徴とする請求項１３記載の統計的言語モデル生成方法。
【請求項１５】
アプリケーションプログラムに入力される音声をディクテーションで認識するために用いられる統計的言語モデルを、統計的言語モデル記憶手段から読み出すステップと、
前記アプリケーションプログラムに入力された音声を、読み出された前記統計的言語モデルを用いてディクテーションで認識するステップと、
前記入力された音声をグラマー方式で認識するために用いられるグラマーを、グラマー記憶部から読み出すステップと、
読み出された前記グラマーに基づいて、前記ディクテーションによる認識結果を前記アプリケーションプログラムで処理可能な最終認識結果に変換するステップと
を含むことを特徴とする音声認識方法。
【請求項１６】
前記認識結果を変換するステップは、
読み出された前記グラマーを展開して前記最終認識結果の候補である候補文を生成するステップと、
生成された前記候補文と前記ディクテーションによる認識結果とのマッチングにより、当該候補文の中から１つの候補文を前記最終認識結果として選択するステップと
を更に含むことを特徴とする請求項１５記載の音声認識方法。
【請求項１７】
前記選択するステップでは、生成された前記候補文の中から、前記ディクテーションによる認識結果との一致度が最大の候補文を、前記最終認識結果として選択することを特徴とする請求項１６記載の音声認識方法。
【請求項１８】
アプリケーションプログラムに入力される音声をグラマー方式で認識するために用いられるグラマーを、グラマー記憶部から読み出すステップと、
読み出された前記グラマーに基づいて、前記アプリケーションプログラムに入力される音声をディクテーションで認識するために用いられる統計的言語モデルを生成するステップと、
生成された前記統計的言語モデルを統計的言語モデル記憶手段に記憶するステップと、
前記統計的言語モデル記憶手段から前記統計的言語モデルを読み出すステップとを更に含み、
前記ディクテーションで認識するステップでは、
前記入力された音声を、読み出された前記統計的言語モデルを用いてディクテーションで認識することを特徴とする請求項１５記載の音声認識方法。
【請求項１９】
コンピュータに、
アプリケーションプログラムに入力される音声をグラマー方式で認識するために用いられるグラマーを読み出す機能と、
読み出された前記グラマーに基づいて、前記アプリケーションプログラムに入力される音声をディクテーションで認識するために用いられる統計的言語モデルを生成する機能と
を実現させるためのプログラム。
【請求項２０】
前記統計的言語モデルを生成する機能として、
読み出された前記グラマーを展開し、前記アプリケーションプログラムに固有の文章データを生成する機能と、
生成された前記文章データに基づいて、前記統計的言語モデルを生成する機能と
を更に実現させるための請求項１９記載のプログラム。
【請求項２１】
コンピュータに、
アプリケーションプログラムに入力された音声をディクテーションで認識する機能と、
前記入力された音声をグラマー方式で認識するために用いられるグラマーに基づいて、前記ディクテーションによる認識結果を前記アプリケーションプログラムで処理可能な最終認識結果に変換する機能と
を実現させるためのプログラム。
【請求項２２】
前記認識結果を変換する機能として、
読み出された前記グラマーを展開して前記最終認識結果の候補である候補文を生成する機能と、
生成された前記候補文と前記ディクテーションによる認識結果とのマッチングにより、当該候補文の中から１つの候補文を前記最終認識結果として選択する機能と
を更に実現させるための請求項２１記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、グラマー方式の音声アプリケーションプログラム（以下、「音声アプリケーション」という）を用いて自然発話の認識を行う音声認識装置等に関する。
【０００２】
【従来の技術】
近年、利用者が発した音声の認識結果に基づき所定の処理を行う音声アプリケーションを用いた各種サービスシステムが普及している。各種サービスシステムとしては、電車の乗り換え案内システム、飛行機の予約システム等があり、このようなシステムの場合、利用者が音声入力を行うとコンピュータが音声により応答を返す、いわゆる対話型の音声アプリケーションが主流である。
【０００３】
ところで、このような音声アプリケーションでは、従来、グラマーを有限状態オートマトンに変換したモデル（状態遷移モデル）により音声認識を行う方式（以下、「グラマー方式」という）が一般的に用いられている。「グラマー」とは、そのアプリケーションに依存した語彙や言い回し（単語の並びのルール）を直接記述したものである。従って、グラマー方式は、固有の言い回しや語彙が多い音声アプリケーションに適している。また、グラマーは作成や修正が容易なため、グラマー方式には、メンテナンスがし易いという利点もある。
【０００４】
一方、音声アプリケーションを用いた各種サービスシステムにおいては、グラマーで記述されたような決まりきった発話のみではなく、人間が普通に会話する時に行うような発話（以下、「自然発話」という）であっても認識してほしいという要望もある。ところが、上述したグラマー方式では、受理する語彙や言い回しを全て記述しておく必要があるため、このような自然発話の認識に用いるには、その記述の手間、および、それに比例する探索効率の低下の点からみて、適していない。
そこで、自然発話の認識は、グラマー方式ではなく、統計的言語モデル（Ｎ−ｇｒａｍ言語モデル）を用いるディクテーションにより行うのが一般的である。このモデルでは、統計量により探索の範囲を絞るので、グラマーから外れた発話でも、探索効率の大幅な低下なく認識できる。このように、自然発話を統計的言語モデルにより高精度に認識する方法がいくつか提案されており（例えば、特許文献１参照。）、更に、認識結果から発話意図を理解しようとするＮＬＵ（Ｎａｔｕｒａｌ  Ｌａｎｇｕａｇｅ  Ｕｎｄｅｒｓｔａｎｄｉｎｇ）方式が普及しつつある。
【０００５】
【特許文献１】
特開平１１−８５１８３号公報（第３−４頁、第１図）
【０００６】
【発明が解決しようとする課題】
しかしながら、グラマー方式の音声アプリケーションにおいて、ディクテーションにより自然発話の認識を行うには、次のような問題点があった。
第１に、アプリケーションごとに固有の対話データを大量に収集し、統計的言語モデルを作成しなければならないということである。このような対話データの収集にはコストがかかると共に、言語モデルの作成には、音声認識の専門的な知識が必要であり、その専門的な知識を開発者に習得させるのは困難であるという問題点があった。
第２に、音声認識した結果をアプリケーションで処理するためには、アプリケーションに応じたキーワードとそうでない不要語とを区別するためのグルーピングを行う必要があるということである。このようなグルーピングにも、音声認識の専門的な知識が必要であり、コストもかかるという問題点があった。
第３に、そこで得られたキーワード列から発話意図を理解するためのルールを大量に記述する必要があるということである。このようなルールの記述も、作業コストが大きくなってしまうという問題点があった。
【０００７】
本発明は、以上のような技術的課題を解決するためになされたものであって、その目的は、グラマー方式の音声アプリケーションによる自然発話の認識を手間とコストをかけずに行えるようにすることにある。
また他の目的は、グラマー方式の音声アプリケーションによる自然発話の認識を、アプリケーションの開発者が音声認識に関する専門知識を習得しなくても行えるようにすることにある。
【０００８】
【課題を解決するための手段】
かかる目的のもと、本発明は、グラマー方式で音声認識を行うために使用されていたグラマーを、ディクテーションで音声認識を行うために使用される統計的言語モデル生成のための入力データとして利用するようにした。即ち、本発明の統計的言語モデル生成装置は、アプリケーションプログラムに入力される音声をグラマー方式で認識するために用いられるグラマーを読み出す読出し手段と、この読出し手段により読み出されたグラマーに基づいて、アプリケーションプログラムに入力される音声をディクテーションで認識するために用いられる統計的言語モデルを生成する統計的言語モデル生成手段とを備えている。
ここで、統計的言語モデル生成手段は、読出し手段により読み出されたグラマーを展開し、アプリケーションプログラムに固有の文章データを生成する固有文章生成手段を更に備え、固有文章生成手段により生成された文章データを、統計的言語モデルを生成するために用いるようにしてもよい。
【０００９】
また、本発明は、ディクテーションによる認識結果をグラマー方式で処理できる形に変換するようにした。即ち、本発明の音声認識装置は、アプリケーションプログラムに入力された音声をディクテーションで認識する自然発話認識手段と、入力された音声をグラマー方式で認識するために用いられるグラマーに基づいて、自然発話認識手段による認識結果をアプリケーションプログラムで処理可能な最終認識結果に変換する認識結果変換手段とを備えている。
ここで、認識結果変換手段は、グラマーを展開して最終認識結果の候補である候補文を生成する候補文生成手段と、この候補文生成手段により生成された候補文と、自然発話認識手段による認識結果とのマッチングにより、候補文の中から１つの候補文を最終認識結果として選択するマッチング手段とを備えてもよい。
【００１０】
他の観点から捉えると、本発明は、統計的言語モデル生成装置における統計的言語モデル生成方法として把握することができる。即ち、本発明の統計的言語モデル生成方法は、アプリケーションプログラムに入力される音声をグラマー方式で認識するために用いられるグラマーを、グラマー記憶部から読み出すステップと、読み出されたグラマーに基づいて、アプリケーションプログラムに入力される音声をディクテーションで認識するために用いられる統計的言語モデルを生成するステップと、生成された統計的言語モデルを、アプリケーションプログラムから参照可能な統計的言語モデル記憶部に記憶するステップとを含んでいる。
ここで、統計的言語モデルを生成するステップは、読み出されたグラマーを展開し、アプリケーションプログラムに固有の文章データを生成するステップと、生成された文章データに基づいて、統計的言語モデルを生成するステップとを更に含んでもよい。
【００１１】
また、本発明は、音声認識装置における音声認識方法として把握することもできる。即ち、本発明の音声認識方法は、アプリケーションプログラムに入力される音声をディクテーションで認識するために用いられる統計的言語モデルを、統計的言語モデル記憶手段から読み出すステップと、アプリケーションプログラムに入力された音声を、読み出された統計的言語モデルを用いてディクテーションで認識するステップと、入力された音声をグラマー方式で認識するために用いられるグラマーを、グラマー記憶部から読み出すステップと、読み出されたグラマーに基づいて、ディクテーションによる認識結果をアプリケーションプログラムで処理可能な最終認識結果に変換するステップとを含んでいる。
ここで、認識結果を変換するステップは、読み出されたグラマーを展開して最終認識結果の候補である候補文を生成するステップと、生成された候補文とディクテーションによる認識結果とのマッチングにより、候補文の中から１つの候補文を最終認識結果として選択するステップとを更に含んでもよい。
【００１２】
一方、本発明は、統計的言語モデル生成装置に所定の機能を実現させるためのプログラムとして把握することもできる。即ち、本発明のプログラムは、コンピュータに、アプリケーションプログラムに入力される音声をグラマー方式で認識するために用いられるグラマーを読み出す機能と、読み出されたグラマーに基づいて、アプリケーションプログラムに入力される音声をディクテーションで認識するために用いられる統計的言語モデルを生成する機能とを実現させるものである。
ここで、統計的言語モデルを生成する機能として、読み出されたグラマーを展開し、アプリケーションプログラムに固有の文章データを生成する機能と、生成された文章データに基づいて、統計的言語モデルを生成する機能とを更に実現させてもよい。
【００１３】
また、本発明は、音声認識装置に所定の機能を実現させさせるためのプログラムとして把握することもできる。即ち、本発明のプログラムは、コンピュータに、アプリケーションプログラムに入力された音声をディクテーションで認識する機能と、入力された音声をグラマー方式で認識するために用いられるグラマーに基づいて、ディクテーションによる認識結果をアプリケーションプログラムで処理可能な最終認識結果に変換する機能とを実現させるものである。
ここで、認識結果を変換する機能として、読み出されたグラマーを展開して最終認識結果の候補である候補文を生成する機能と、生成された候補文とディクテーションによる認識結果とのマッチングにより、候補文の中から１つの候補文を最終認識結果として選択する機能とを更に実現させてもよい。
【００１４】
【発明の実施の形態】
以下、添付図面に示す実施の形態に基づいて本発明を詳細に説明する。
図１は、本発明の実施の形態の全体構成を示すブロック図である。図１に示すように、本実施の形態は、業務処理手段１１と、グラマー記憶部１２と、補正情報記憶部１３と、固有文章生成手段１４と、固有文章記憶部１５と、トピックシフト手段１６と、一般トピック記憶部１７と、シフト後トピック記憶部１８と、候補文生成手段１９と、候補文記憶部２０と、自然発話認識手段２１と、認識結果記憶部２２と、マッチング手段２３とを含む。
【００１５】
業務処理手段１１は、音声アプリケーションを実行することにより、所定の業務処理を行う手段である。
グラマー記憶部１２は、業務処理手段１１が実行する音声アプリケーションの発話単位ごとに、音声入力されることが想定される単語の並びのルールを記述したグラマーを格納する部分である。ここで、「発話単位」とは、コンピュータの入力要求に従って利用者が音声入力を行う単位である。音声アプリケーションが列車の乗り換え案内に関するものであるとすると、例えば、出発駅・到着駅の入力（「○○駅から××駅まで行きたい」等）、時刻の入力（「１０時に着きたい」等）がこれに相当する。
【００１６】
図２に、グラマー記憶部１２の記憶内容の一例を示す。図２は、１つの音声アプリケーションで用いられるグラマーを想定して図示したものである。対話型の音声アプリケーションであれば、１つのアプリケーションに複数の発話単位が含まれるのが通常であるので、図２においては、複数のグラマーを図示している。アプリケーションが列車の乗り換え案内に関するものであるとすると、例えば、グラマー＃１は、出発駅・到着駅の入力という発話単位に対するグラマーであり、グラマー＃２は、時刻の入力という発話単位に対するグラマーである。なお、１つのアプリケーションに対して複数のグラマーが存在する場合は、各グラマーは、グラマーを一意に識別する識別情報により特定される。
また、図２では、４つのグラマーを図示しているが、グラマーの数はこれに限られるものではない。更に、業務処理手段１１が複数の音声アプリケーションを実行する場合は、グラマー記憶部１２には、各音声アプリケーションで用いられるグラマーを併せて記憶するようにしてもよい。その場合、グラマーの識別情報には、そのグラマーがどのアプリケーションで用いられるものであるかを示す情報も含まれる。
なお、グラマー記憶部１２に記憶されるグラマーとしては、既存のアプリケーションで用いるために既に作成されているものがあれば、それをそのまま利用することができる。
【００１７】
補正情報記憶部１３は、アプリケーションで用意されたグラマーに対し所定のバリエーションを付加するのに用いる補正情報を格納するための部分である。補正情報としては、例えば、グラマーから展開された文章データの語尾に所定のバリエーションを与えるための情報がある。但し、これだけには限られず、決まりきった言い回しとして用意されたグラマーに対し、それを自然発話した場合に想定される様々なバリエーションを与えるための情報として捉えてよい。
【００１８】
固有文章生成手段１４は、グラマー記憶部１２から読み出したグラマーと補正情報記憶部１３から読み出した補正情報とに基づき、アプリケーション固有の文章データを生成する手段である。
固有文章記憶部１５は、固有文章生成手段１４により生成されたアプリケーション固有の文章データを記憶するための部分である。
【００１９】
トピックシフト手段１６は、自然発話認識手段２１がディクテーションによる音声認識で用いるトピックを、一般的なものからアプリケーション固有のものへとシフトする手段である。
なお、「トピック」とは、本来は、音声がいかなる対象について発せられたものであるかを示す概念であるが、本明細書においては、音声をいかなる単語の並びと解釈すべきかを決定する際に用いる統計的な情報を意味するものとして用いる。同じような音の並びであっても、場面によって異なる単語の並びに解釈しなければならないケースは多い。このような場合に、音声が発せられた場面に応じた適切な意味での解釈を可能とするものがトピックである。
【００２０】
例えば、「あのー、中央林間から、えー、新宿まで行きたいんですけど」という音声は、一般的なトピックを用いるベースディクテーションでは、「あの、中央委員会から、えー、新宿で生きたいですけど」という単語の並びに解釈されるかもしれない。しかし、列車の乗り換え案内のトピックを用いてディクテーションを行えば、適切な単語の並びに解釈する可能性が高まる。
また、トピックとしては、音声がいかなる方言で発せられたものかという観点の統計的情報も考えられる。
例えば、「えーと、阪急で行ってきてんで」という音声は、一般的なトピックを用いれば、「えーと、半球で一滴、点で」という単語の並びに解釈されるかもしれない。しかし、関西弁のトピックを用いれば、適切な単語の並びに解釈する可能性は高まる。
【００２１】
一般トピック記憶部１７は、一般的なトピック、即ち、汎用的なＮ−ｇｒａｍ言語モデルを格納するための部分である。
シフト後トピック記憶部１８は、トピックシフト手段１６によりアプリケーション固有にシフトされたトピック、即ち、汎用的なＮ−ｇｒａｍ言語モデルからアプリケーション固有にシフトされたＮ−ｇｒａｍ言語モデルを格納するための部分である。
【００２２】
候補文生成手段１９は、グラマー記憶部１２に記憶されたグラマーから、アプリケーションが受理し得るフレーズを全て展開し、候補文を生成する手段である。
候補文記憶部２０は、候補文生成手段１９により生成された候補文を記憶するための部分である。
【００２３】
自然発話認識手段２１は、入力された音声を、シフト後トピック記憶部１８に記憶されたＮ−ｇｒａｍ言語モデルを用いて認識する手段である。
認識結果記憶部２２は、自然発話認識手段２１による音声認識の結果を記憶するための部分である。
マッチング手段２３は、認識結果記憶部２２に記憶された認識結果と、候補文記憶部２０に記憶された候補文とのマッチングをとる手段である。
【００２４】
なお、本実施の形態は、コンピュータシステムにより実現される。このコンピュータシステムとしては、本実施の形態における機能の全てを包含する１台のコンピュータからなる第１のシステム構成と、それぞれが本実施の形態における機能の一部を包含する複数台のコンピュータからなる第２のシステム構成とが考えられる。
但し、第１のシステム構成を採用した場合であっても、第２のシステム構成を採用した場合であっても、各コンピュータのハードウェア構成は、中央処理装置（ＣＰＵ）、主記憶装置、ハードディスク装置等の補助記憶装置、入力装置、出力装置を備えた一般的なものでよい。
【００２５】
第１のシステム構成の場合、コンピュータ内の補助記憶装置には、業務処理手段１１、固有文章生成手段１４、トピックシフト手段１６、候補文生成手段１９、自然発話認識手段２１、マッチング手段２３を実現するためのプログラムが記憶され、ＣＰＵがこれらのプログラムを主記憶装置に読み込んで実行することにより、それぞれ、業務処理手段１１、固有文章生成手段１４、トピックシフト手段１６、候補文生成手段１９、自然発話認識手段２１、マッチング手段２３が実現される。また、グラマー記憶部１２、補正情報記憶部１３、固有文章記憶部１５、一般トピック記憶部１７、シフト後トピック記憶部１８、候補文記憶部２０、認識結果記憶部２２は、コンピュータ内の補助記憶装置により実現してもよいし、コンピュータに装着可能な可搬型記録媒体により実現してもよい。
【００２６】
第２のシステム構成の場合、例えば、統計的言語モデルを生成する機能を有するコンピュータ（統計的言語モデル生成装置）と、統計的言語モデル生成装置により生成された統計的言語モデルを用いて自然発話を認識し、認識結果をグラマー方式のアプリケーションに処理できる形で受け渡す機能を有するコンピュータ（音声認識装置）とから構成することが考えられる。
この場合、統計的言語モデル生成装置内の補助記憶装置には、固有文章生成手段１４と、トピックシフト手段１６とを実現するためのプログラムが記憶され、統計的言語モデル生成装置のＣＰＵがこれらのプログラムを主記憶装置に読み込んで実行することにより、それぞれ、固有文章生成手段１４、トピックシフト手段１６が実現される。また、補正情報記憶部１３、固有文章記憶部１５、一般トピック記憶部１７、シフト後トピック記憶部１８は、統計的言語モデル生成装置内の補助記憶装置により実現してもよいし、統計的言語モデル生成装置に装着可能な可搬型記録媒体により実現してもよい。
一方、音声認識装置内の補助記憶装置には、業務処理手段１１、候補文生成手段１９、自然発話認識手段２１、マッチング手段２３を実現するためのプログラムが記憶され、音声認識装置のＣＰＵがこれらのプログラムを主記憶装置に読み込んで実行することにより、それぞれ、業務処理手段１１、候補文生成手段１９、自然発話認識手段２１、マッチング手段２３が実現される。また、グラマー記憶部１２、候補文記憶部２０、認識結果記憶部２２は、音声認識装置内の補助記憶装置により実現してもよいし、音声認識装置に装着可能な可搬型記録媒体により実現してもよい。
【００２７】
次に、本実施の形態の動作について詳細に説明する。
図３は、本実施の形態の統計的言語モデル生成処理の動作を示すフローチャートである。これは、第１のシステム構成で言えば、コンピュータの統計的言語モデル生成処理の流れを示すフローチャートであり、第２のシステム構成で言えば、統計的言語モデル生成装置の動作を示すフローチャートである。
なお、以下では、特定の１つのアプリケーションについての統計的言語モデルを生成するものとして説明を進める。また、補正情報記憶部１３には、文末とその文末の変化のバリエーションとを対応付けた文末変化定義が、補正情報として記憶されているものとする。
【００２８】
まず、固有文章生成手段１４が、グラマー記憶部１２からグラマーを読み込むと共に、補正情報記憶部１３から文末変化定義を読み込む（ステップ３０１）。次に、固有文章生成手段１４は、グラマーを展開してアプリケーション固有の文章データを作成する。即ち、従来は認識のために使用していたグラマーを、ディクテーションに用いるアプリケーション固有のトピックを生成するための入力データに変換する。更に、作成した文章データの数を変数Ｍに設定する（ステップ３０２）。また、ステップ３０１で読み込んだ文末変化定義の数を変数Ｎに設定する（ステップ３０３）。
【００２９】
変数Ｍ、Ｎが設定されると、固有文章生成手段１４は、変数Ｉに１からＭを設定しながらステップ３０５〜３０７の処理を繰り返す（ステップ３０４）。また、変数Ｊに１からＮを設定しながら、ステップ３０６、３０７の処理を繰り返す（ステップ３０５）。即ち、ステップ３０６、３０７の処理を全ての変数Ｉ、Ｊの組み合わせについて行う。
ステップ３０６では、Ｉ番目の文章データ（以下、「文章データＩ」）の文末とＪ番目の文末変化定義（以下、「文末変化定義Ｊ」）の見出しとが等しいかどうかを判断し、等しい場合にのみ、ステップ３０７において、文章データＩの文末の言い回しを文末変化定義Ｊに応じて変更することにより作成した新たな文章データを追加する。
固有文章生成手段１４は、このようにして作成された文章データを固有文章記憶部１５に記憶する。
【００３０】
次に、トピックシフト手段１６は、固有文章記憶部１５から全ての文章データを入力してトピック（Ｎ−ｇｒａｍ言語モデル）を生成する（ステップ３０８）。そして、一般トピック記憶部１７に記憶された一般的なトピック（Ｎ−ｇｒａｍ言語モデル）を、ステップ３０８で生成されたトピックを用いて、アプリケーション固有のトピック（Ｎ−ｇｒａｍ言語モデル）にシフトする（ステップ３０９）。
【００３１】
なお、ステップ３０８における文章データに基づくトピックの生成は、既存の技術により実現可能である。
また、ステップ３０９における一般的なトピックのアプリケーション固有のトピックへのシフトには、例えば、次のような方法を用いることができる。即ち、一般トピックにおけるＮ−ｇｒａｍ言語モデルの確率に係数ａを掛けて得られる値と、アプリケーション固有のトピックにおけるＮ−ｇｒａｍ言語モデルの確率に係数ｂを掛けて得られる値とを足し合わせることにより得られる値を、アプリケーション固有にシフトしたトピックのＮ−ｇｒａｍ言語モデルの確率とする、という方法である。但し、係数ａ、ｂは、これらの和が１となるような所定の係数とする。
トピックシフト手段１６は、このようにしてシフトされたトピックをシフト後トピック記憶部１８に記憶する。
【００３２】
なお、図３では、特定の１つのアプリケーションについてトピックをシフトする処理を示したが、複数のアプリケーションについてトピックをシフトする処理にこれを応用することもできる。その場合は、図３のフローチャートに従い各アプリケーションについて処理を行い、トピックシフト手段１６がシフト後のトピックにそれぞれ対応するアプリケーションの識別情報を付加して記憶するようにすればよい。
【００３３】
また、図４および図５は、本実施の形態の音声認識処理の動作を示すフローチャートである。これは、第１のシステム構成で言えば、コンピュータの音声認識処理の流れを示すフローチャートであり、第２のシステム構成で言えば、音声認識装置の動作を示すフローチャートである。
業務処理手段１１が、実行中の音声アプリケーションに含まれる特定の１つの発話単位において利用者の発話があった場合に、自然発話認識手段２１、候補文生成手段１９、マッチング手段２３をこの順で呼び出すことにより、図４および図５の処理が実行される。なお、それ以外の対話の管理については、従来と同様、音声アプリケーションが行う。
【００３４】
まず、自然発話認識手段２１は、シフト後トピック記憶部１８からアプリケーション固有にシフトしたトピックをロードする（ステップ４０１）。次に、グラマーが指定されたか終了要求かを判断し（ステップ４０２）、終了要求であれば、処理を終了するが、グラマー指定であれば、ステップ４０１でロードされたトピック（アプリケーションに特化したＮ−ｇｒａｍ言語モデル）を用いたディクテーションによりユーザの発話を認識する（ステップ４０３）。なお、このディクテーションでは、一般的なトピックでカバーされている多様な自然発話を認識でき、かつ、アプリケーション固有のトピックにシフトさせているので、アプリケーション固有の語彙の認識もできる。また、認識結果は、認識結果記憶部２２に記憶される。
【００３５】
一方、候補文生成手段１９は、現在の発話単位に対するグラマーをグラマー記憶部１２からロードして候補文に展開し、候補文記憶部２０に記憶する（ステップ４０４）。例えば、アプリケーションが、ユーザに発話を促すプロンプトを流すと同時に、アプリケーションでそのプロンプト時に指定されているグラマーの識別情報を候補文生成手段１９に伝え、候補文生成手段１９がその識別情報に対応するグラマーを展開する。なお、これで得られる各候補文は、グラマー方式のアプリケーションで処理できる形になっており、アプリケーションに返す最終認識結果の候補となっている。
【００３６】
次に、マッチング手段２３は、認識結果記憶部２２に記憶された認識結果と候補文記憶部２０に記憶された候補文とのマッチングをとり、候補文の中でディクテーションによる認識結果に最も近いものを選出する。そして、選出された候補文を最終認識結果としてアプリケーションに返却する（ステップ４０５）。
その後、アプリケーションは、認識結果と指定したグラマーとを照合し、それに基づき、次の対話状態へ遷移していく。
【００３７】
なお、図４では、自然発話認識手段２１による音声認識（ステップ４０３）の後に、候補文生成手段１９（ステップ４０４）を行っているが、この順序は逆であってもよいし、並行して行うようにしてもよい。
【００３８】
次に、ステップ４０５におけるマッチング処理の一例について、詳細に説明する。図５にその処理の流れを示す。
まず、マッチング手段２３は、変数Ｎに候補文の数を設定する（ステップ４１１）。次に、変数Ｍａｘｓｃｏｒｅに“−９９９９”を設定すると共に、変数Ｉｎｄｅｘに“−１”を設定する（ステップ４１２）。そして、変数ｉに１からＮを設定しながら、ステップ４１４〜４１６の処理を繰り返す（ステップ４１３）。
ステップ４１４において、マッチング手段２３は、認識結果とｉ番目の候補文（以下、「候補文（ｉ）」）とを比較してＳｃｏｒｅ（ｉ）を計算する。ここで、Ｓｃｏｒｅ（ｉ）は、認識結果と候補文（ｉ）との一致度を判断するための指標であり、Ｓｃｏｒｅ（ｉ）が大きいほど一致度が高いものと定義している。次に、ステップ４１５において、変数Ｍａｘｓｃｏｒｅの値と変数Ｓｃｏｒｅ（ｉ）の値とのどちらが大きいかを判断し、変数Ｓｃｏｒｅ（ｉ）の方が大きい場合にのみ、ステップ４１６において、変数ＭａｘｓｃｏｒｅにＳｃｏｒｅ（ｉ）を代入すると共に、変数Ｉｎｄｅｘにｉを代入する。
【００３９】
次に、マッチング手段２３は、変数Ｍａｘｓｃｏｒｅと閾値ＴＨとを比較する（ステップ４１７）。Ｍａｘｓｃｏｒｅが閾値ＴＨより大きい場合は、Ｏｕｔｐｕｔに候補文（Ｉｎｄｅｘ）を代入する（ステップ４１８）。一方、Ｍａｘｓｃｏｒｅが閾値ＴＨより小さい場合は、Ｏｕｔｐｕｔに“Ｒｅｊｅｃｔｅｄ”を代入する（ステップ４１９）。そして、マッチング手段２３は、Ｏｕｔｐｕｔをアプリケーションに返す（ステップ４２０）。
【００４０】
次に、本実施の形態の動作について具体例を用いて詳細に説明する。
グラマー記憶部１２には、図２に示したようなグラマーが記憶されているものとする。なお、実際の乗り換え案内アプリケーションに用いるグラマーでは、これより多くの駅名が定義されるが、ここでは簡単のために２つの駅名のみを定義している。
まず、固有文章生成手段１４は、図６に示すように、アプリケーション固有の文章データを生成する。
【００４１】
まず、図３のステップ３０２における文章データへの展開処理について説明する。
即ち、固有文章生成手段１４は、指定されたグラマーの１つ目の定義「＜駅名＞から＜駅名＞まで」の＜駅名＞に、＜駅名＞として定義されている「中央林間」および「新宿」を当てはめながら文章を展開し、「中央林間から新宿まで」と、「新宿から中央林間まで」という文章データを生成する。また、２つ目の定義「＜駅名＞から＜駅名＞まで＜文末＞」の＜駅名＞に、＜駅名＞として定義されている「中央林間」および「新宿」を、＜文末＞に、＜文末＞として定義されている「行きたい」および「お願いします」を当てはめながら文章を展開し、「中央林間から新宿まで行きたい」、「新宿から中央林間まで行きたい」、「中央林間から新宿までお願いします」および「新宿から中央林間までお願いします」という文章データを生成する。
【００４２】
次に、図３のステップ３０４〜３０７における文末変化定義の反映処理について説明する。
候補文生成手段１９は、上記展開処理で生成された「中央林間から新宿まで」、「新宿から中央林間まで」、「中央林間から新宿まで行きたい」、「新宿から中央林間まで行きたい」、「中央林間から新宿までお願いします」および「新宿から中央林間までお願いします」を１文ずつ読み込みながら、文末が文末変化定義の見出しである「行きたい」に等しいものがあるかどうか判断する。「中央林間から新宿まで行きたい」、「新宿から中央林間まで行きたい」を読み込んだ時に、これらの文末が文末変化定義の見出しである「行きたい」と等しいので、これらを「行きたいです」に変更した「中央林間から新宿まで行きたいです」および「新宿から中央林間まで行きたいです」を新たに生成し、トピックのシフトに用いる文章データに追加する。
【００４３】
トピックシフト手段１６は、アプリケーション固有の文章データと一般トピック記憶部１７に記憶された一般的なトピックに基づき、アプリケーション固有にシフトしたトピックを生成し、シフト後トピック記憶部１８に記憶する。この動作は、図７の「アプリケーション動作前」の枠内に示す。
【００４４】
次に、図４および図５の流れに従い、ディクテーションによる自然発話の認識を行う場合について具体的に説明する。
ここでは、図７の「認識時」の枠内に示すように、ユーザが「あのー、中央林間から、えーと、新宿まで行きたいんです」という自然発話を行ったとする。そして、この自然発話に対し、自然発話認識手段２１が、シフト後トピック記憶部１８に記憶されたＮ−ｇｒａｍ言語モデルを用いて「あの、中央林間から、えー、新宿まで行きたいのですが」と認識したものとする。
【００４５】
この場合、候補文生成手段１９は、図８に示すように、アプリケーションで処理可能な候補文を生成する。
即ち、候補文生成手段１９は、指定されたグラマーの１つ目の定義「＜駅名＞から＜駅名＞まで」の＜駅名＞に、＜駅名＞として定義されている「中央林間」および「新宿」を当てはめながら文章を展開し、「中央林間から新宿まで」と、「新宿から中央林間まで」という候補文を生成する。また、２つ目の定義「＜駅名＞から＜駅名＞まで＜文末＞」の＜駅名＞に、＜駅名＞として定義されている「中央林間」および「新宿」を、＜文末＞に、＜文末＞として定義されている「行きたい」および「お願いします」を当てはめながら文章を展開し、「中央林間から新宿まで行きたい」、「新宿から中央林間まで行きたい」、「中央林間から新宿までお願いします」および「新宿から中央林間までお願いします」という候補文を生成する。
【００４６】
マッチング手段２３は、図９に示すように、これらの候補文と図７における認識結果（Ｎ−ｇｒａｍ認識結果）とのマッチングをとり、最もスコアの高い候補文を最終認識結果とする。もし候補文の中にＮ−ｇｒａｍ認識結果と同じものがあれば、その候補文を正解として最高スコアとなるようにし、もし候補文の中にＮ−ｇｒａｍ認識結果と同じものがなければ、その認識結果に最も近い候補文を求めるという処理である。
【００４７】
スコアの計算には、例えば、次のような式を用いることができる。
Ｓｃｏｒｅ  ＝  （ｎｇｒａｍＷｏｒｄｓ−  ｒｅｐｌａｃｅｄＷｏｒｄｓ  −  ｒｅｊｅｃｔｅｄＷｏｒｄｓ−  ｉｎｓｅｒｔｅｄＷｏｒｄｓ）  ／  ｎｇｒａｍＷｏｒｄｓ
但し、ｎｇｒａｍＷｏｒｄｓは、Ｎ−ｇｒａｍ認識結果に含まれる単語の数を、ｒｅｐｌａｃｅｄＷｏｒｄｓはＮ−ｇｒａｍ認識結果に対して、異なる単語に置換された単語の数を、ｒｅｊｅｃｔｅｄＷｏｒｄｓは、Ｎ−ｇｒａｍ認識結果に含まれるが候補文に含まれない単語の数を、ｉｎｓｅｒｔｅｄＷｏｒｄｓは、Ｎ−ｇｒａｍ認識結果に含まれないが候補文に含まれる単語の数を、それぞれ意味する。
即ち、Ｎ−ｇｒａｍ認識結果と完全に一致した候補文のスコアは１となり、これがスコアの最大値となる。
【００４８】
図９のマッチングによるスコア、即ち、図７におけるＮ−ｇｒａｍ認識結果に対する図８の各候補文のスコアを計算すると次のようになる。
中央林間から新宿まで：（  １１−０−７−０  ）  ／  １１  ＝  ０．３６
新宿から中央林間まで：（  １１−２−７−０  ）  ／  １１  ＝  ０．１８
中央林間から新宿まで行きたい：（  １１−０−５−０  ）  ／  １１  ＝  ０．５４
新宿から中央林間まで行きたい：（  １１−２−５−０  ）  ／  １１  ＝  ０．３６
中央林間から新宿までお願いします：（  １１−３−４−０  ）  ／  １１  ＝  ０．３６
新宿から中央林間までお願いします：（  １１−５−４−０  ）  ／  １１  ＝  ０．１８
【００４９】
マッチング手段２３は、スコアが最大のものを最終認識結果とするので、アプリケーションは、最終認識結果として、「中央林間から新宿まで行きたい」を受け取る。
【００５０】
なお、本実施の形態の変形例としては、図１０のような構成も考えられる。
図１の構成では、固有文章記憶部１５に記憶されたアプリケーション固有の文章データを、一般トピック記憶部１７に記憶された一般的なトピックをアプリケーション固有のものにシフトするのに用いた。これに対し、図１０の構成では、固有トピック生成手段３１が、固有文章記憶部１５に記憶されたアプリケーション固有の文章データに基づき、アプリケーションに固有のトピックを生成し、固有トピック記憶部３２に記憶するようにしている。
また、図１の構成では、自然発話認識手段２１が、シフト後トピック記憶部１８に記憶されたトピックを用いてディクテーションによる音声認識を行った。これに対し、図１０の構成では、自然発話認識手段２１が、一般トピック記憶部１７に記憶された一般のトピックと、固有トピック記憶部３２に記憶されたアプリケーションに固有のトピックとを用いて、ディクテーションによる音声認識を行うようにしている。
その他の動作については、図１の構成と同じである。
【００５１】
このように、本実施の形態では、状態遷移モデルに変換するという目的で使用されていたグラマーをトピック生成のための入力データとして利用する構成とした。即ち、従来は、状態遷移モデルとして使用するという観点から、グラマーを展開することには意味がなかったが、本実施の形態では、グラマーを展開し、展開したグラマーをトピック生成のための文章データとして使用している。
また、ディクテーションによる認識結果をグラマー方式で処理できる形にすると情報量が落ちるので、従来、このような変換を行うことはなかった。これに対し、本実施の形態では、グラマー方式のアプリケーションに変更を加えずにディクテーションを行えるようにするものであるので、あえて情報の少ないグラマー方式の認識結果に変換するようにしている。
更に、グラマー方式の状態遷移モデルの場合、統計的言語モデルと完全にマッチしない入力（ここでは音声入力ではなくディクテーション認識結果のテキスト入力）に対しては、“Ｒｅｊｅｃｔ”という結果を返すだけであった。これに対し、本実施の形態では、グラマーから展開されたどの候補に最も近いかを計算し、“Ｒｅｊｅｃｔ”されるケースを減らしている。
【００５２】
かかる構成により、本実施の形態は、状態遷移モデルを想定して作成されるグラマー方式の音声アプリケーションにおいて、自然発話を許容する音声認識機能をアプリケーションの変更をすることなく実現することができるという効果を有している。しかも、アプリケーション開発者に音声認識に関する専門的な知識の習得を要求することなく、手間とコストをかけずに、このような変更を可能とするものである。
【００５３】
【発明の効果】
このように、本発明によれば、グラマー方式の音声アプリケーションによる自然発話の認識を手間とコストをかけずに行うことが可能となる。
【図面の簡単な説明】
【図１】本実施の形態の全体構成を示したブロック図である。
【図２】本実施の形態におけるグラマー記憶部の記憶内容の例を示した図である。
【図３】本実施の形態における統計的言語モデル生成処理の動作を示したフローチャートである。
【図４】本実施の形態における音声認識処理の動作を示したフローチャートである。
【図５】本実施の形態におけるマッチング処理の動作を示したフローチャートである。
【図６】本実施の形態における固有データ生成処理の例を示した図である。
【図７】本実施の形態におけるトピックシフト処理および自然発話認識処理の例を示した図である。
【図８】本実施の形態における候補文生成処理の例を示した図である。
【図９】本実施の形態におけるマッチング処理の例を示した図である。
【図１０】本実施の形態の変形例の全体構成を示したブロック図である。
【符号の説明】
１１…業務処理手段、１２…グラマー記憶部、１３…補正情報記憶部、１４…固有文章生成手段、１５…固有文章記憶部、１６…トピックシフト手段、１７…一般トピック記憶部、１８…シフト後トピック記憶部、１９…候補文生成手段、２０…候補文記憶部、２１…自然発話認識手段、２２…認識結果記憶部、２３…マッチング手段、３１…固有トピック生成手段、３２…固有トピック記憶部
【図１】
2005024797.tif 000003
【図２】
2005024797.tif 000004
【図３】
2005024797.tif 000005
【図４】
2005024797.tif 000006
【図５】
2005024797.tif 000007
【図６】
2005024797.tif 000008
【図７】
2005024797.tif 000009
【図８】
2005024797.tif 000010
【図９】
2005024797.tif 000011
【図１０】
2005024797.tif 000012