(57)【特許請求の範囲】
【請求項１】
音声認識システムにおいて発音辞書を修正して１又は複数の別の発音を含ませる方法であって、前記発音辞書におけるそれぞれの発音は１又は複数の動的にリンクされた音素値として表されている、方法において、コンピュータによって実現される
前記動的にリンクされている音素値の中の１又は複数に対して１又は複数の代替的な音素値を定義する１又は複数の音素代替パターンを受け取るステップと、
前記代替的な音素値とそれへの新たなリンクとを前記動的にリンクされている音素値に加えるステップと、
考察している特定の単語に対して、前記動的にリンクされている音素値の中で１又は複数の最良の経路を決定するステップと、
前記最良の経路のそれぞれを表す発音を加えることによって、前記発音辞書を修正するステップと、
を含むことを特徴とする方法。
【請求項２】
請求項１記載の方法において、前記１又は複数の音素代替パターンを受け取るステップは、それぞれが、（ａ）第１の音素を識別する情報と、（ｂ）前記第１の音素を含む単語の認識の間に前記第１の音素に対して代替される１又は複数の音素とを含む１又は複数の音素代替パターンを受け取るステップを含むことを特徴とする方法。
【請求項３】
請求項１記載の方法において、前記１又は複数の音素代替パターンを受け取るステップは、（ａ）第１の音素を識別する情報と、（ｂ）前記第１の音素は前記動的にリンクされている音素値から削除されるべきであることを指示する情報とを含む少なくとも１つの音素代替パターンを受け取るステップを含むことを特徴とする方法。
【請求項４】
請求項１記載の方法において、前記１又は複数の最良の経路を決定するステップは、考察している特定の単語に対する複数の例示的な発音を受け取るステップと、前記動的にリンクされている音素値の中から１又は複数の最良の経路を前記例示的な発音のそれぞれに対して決定するステップとを更に含むことを特徴とする方法。
【請求項５】
請求項１記載の方法において、前記１又は複数の最良の経路を決定するステップは、前記音声認識システムによってその実行の間に生成され記憶される測定データに基づき、考察している特定の単語に対する複数の例示的な発音を受け取るステップを更に含むことを特徴とする方法。
【請求項６】
請求項１記載の方法において、前記１又は複数の最良の経路を決定するステップは、前記発音辞書において用いられる発音を表すフォーマットに従って前記最良の経路のそれぞれを発音に変換するステップを更に含むことを特徴とする方法。
【請求項７】
音声認識システムにおいて発音辞書を修正して１又は複数の別の発音を含ませる方法であって、前記発音辞書におけるそれぞれの発音は前記音声認識システムの使用の間は動的にリンクされた音素ネットワークにおけるノードの間に１又は複数の経路として表され、それぞれの発音における音素は前記ネットワークにおけるノードの間の弧によって表される、方法において、コンピュータによって実現される
前記ネットワークの中の１又は複数の音素に対して１又は複数の代替的な値を定義する１又は複数の音素代替パターンを受け取るステップと、
前記代替的な値とそれへの新たな弧とを前記ネットワークに加えるステップと、
考察している特定の単語に対して、前記ネットワークを通過する１又は複数の最良の経路を決定するステップと、
前記最良の経路のそれぞれを表す発音を加えることによって、前記発音辞書を修正するステップと、
を含むことを特徴とする方法。
【請求項８】
請求項７記載の方法において、前記１又は複数の音素代替パターンを受け取るステップは、それぞれが、（ａ）第１の音素を識別する情報と、（ｂ）前記ネットワークにおいて前記第１の音素に対して代替される１又は複数の音素とを含む１又は複数の音素代替パターンを受け取るステップを含むことを特徴とする方法。
【請求項９】
請求項７記載の方法において、前記１又は複数の音素代替パターンを受け取るステップは、（ａ）第１の音素を識別する情報と、（ｂ）前記第１の音素は前記ネットワークから削除されるべきであることを指示する情報とを含む少なくとも１つの音素代替パターンを受け取るステップを含むことを特徴とする方法。
【請求項１０】
請求項７記載の方法において、前記１又は複数の最良の経路を決定するステップは、考察している特定の単語に対する複数の例示的な発音を受け取るステップと、前記ネットワークを通過する１又は複数の最良の経路を前記例示的な発音のそれぞれに対して決定するステップとを更に含むことを特徴とする方法。
【請求項１１】
請求項７記載の方法において、前記１又は複数の最良の経路を決定するステップは、前記音声認識システムによってその実行の間に生成され記憶される測定データに基づき、考察している特定の単語に対する複数の例示的な発音を受け取るステップを更に含むことを特徴とする方法。
【請求項１２】
請求項７記載の方法において、前記１又は複数の最良の経路を決定するステップは、前記発音辞書において用いられる発音を表すフォーマットに従って前記最良の経路のそれぞれを発音に変換するステップを更に含むことを特徴とする方法。
【請求項１３】
音声認識システムにおいて発音辞書を修正して１又は複数の別の発音を含ませる方法であって、前記発音辞書におけるそれぞれの発音は前記音声認識システムの使用の間は動的にリンクされた音素ネットワークにおけるノードの間の１又は複数の経路として表され、それぞれの発音における音素は前記ネットワークにおけるノードの間の弧によって表される、方法において、コンピュータによって実現される
前記ネットワークの中の１又は複数の音素に対して１又は複数の代替的な値を定義する１又は複数の音素代替パターンを受け取るステップと、
前記代替的な値とそれへの新たな弧とを前記ネットワークに加えるステップと、
考察している特定の単語に対して、複数の例示的な発音を受け取るステップと、
前記ネットワークを用いて前記例示的な発音の認識を実行することによって、考察している前記単語に対して、前記ネットワークを通過する１又は複数の最良の経路を決定するステップと、
前記最良の経路のそれぞれを表す発音を加えることによって、前記発音辞書を修正するステップと、
を含むことを特徴とする方法。
【請求項１４】
音声認識システムにおいて発音辞書を修正して１又は複数の別の発音を含ませる１又は複数の命令の１又は複数のシーケンスを実行するコンピュータ可読媒体であって、前記発音辞書におけるそれぞれの発音は１又は複数の動的にリンクされた音素値として表されており、前記１又は複数の命令の１又は複数のシーケンスは１又は複数のプロセッサによって実行されると前記１又は複数のプロセッサに、
前記動的にリンクされている音素値の中の１又は複数に対して１又は複数の代替的な音素値を定義する１又は複数の音素代替パターンを受け取るステップと、
前記代替的な音素値とそれへの新たなリンクとを前記動的にリンクされている音素値に加えるステップと、
考察している特定の単語に対して、前記動的にリンクされている音素値の中で１又は複数の最良の経路を決定するステップと、
前記最良の経路のそれぞれを表す発音を加えることによって、前記発音辞書を修正するステップと、
を実行させる命令を含むことを特徴とするコンピュータ可読媒体。
【請求項１５】
請求項１４記載のコンピュータ可読媒体において、前記１又は複数の音素代替パターンを受け取る命令は、それぞれが、（ａ）第１の音素を識別する情報と、（ｂ）前記第１の音素を含む単語の認識の間に前記第１の音素に対して代替される１又は複数の音素とを含む１又は複数の音素代替パターンを受け取る命令を含むことを特徴とするコンピュータ可読媒体。
【請求項１６】
請求項１４記載のコンピュータ可読媒体において、前記１又は複数の音素代替パターンを受け取る命令は、（ａ）第１の音素を識別する情報と、（ｂ）前記第１の音素は前記動的にリンクされている音素値から削除されるべきであることを指示する情報とを含む少なくとも１つの音素代替パターンを受け取る命令を含むことを特徴とするコンピュータ可読媒体。
【請求項１７】
請求項１４記載のコンピュータ可読媒体において、前記１又は複数の最良の経路を決定する命令は、考察している特定の単語に対する複数の例示的な発音を受け取る命令と、前記動的にリンクされている音素値の中から１又は複数の最良の経路を前記例示的な発音のそれぞれに対して決定する命令とを更に含むことを特徴とするコンピュータ可読媒体。
【請求項１８】
請求項１４記載のコンピュータ可読媒体において、前記１又は複数の最良の経路を決定する命令は、前記音声認識システムによってその実行の間に生成され記憶される測定データに基づき、考察している特定の単語に対する複数の例示的な発音を受け取る命令を更に含むことを特徴とするコンピュータ可読媒体。
【請求項１９】
請求項１４記載のコンピュータ可読媒体において、前記１又は複数の最良の経路を決定する命令は、前記発音辞書において用いられる発音を表すフォーマットに従って前記最良の経路のそれぞれを発音に変換する命令を更に含むことを特徴とするコンピュータ可読媒体。
【請求項２０】
音声認識システムであって、
発音辞書がその上に記憶されている記憶媒体であって、前記発音辞書におけるそれぞれの発音は１又は複数の動的にリンクされている音素値として表される、記憶媒体と、
前記記憶媒体に通信的に結合されている拡張機構及び最良経路機構であって、
前記動的にリンクされている音素値の中の１又は複数に対して１又は複数の代替的な音素値を定義する１又は複数の音素代替パターンを受け取るステップと、
前記代替的な音素値とそれへの新たなリンクとを前記動的にリンクされている音素値に加えるステップと、
考察している特定の単語に対して、前記動的にリンクされている音素値の中で１又は複数の最良の経路を決定するステップと、
前記最良の経路のそれぞれを表す発音を加えることによって、前記発音辞書を修正するステップと、
によって、音声認識システムにおいて発音辞書を修正して１又は複数の別の発音を含ませるように構成されている拡張機構及び最良経路機構と、
を備えていることを特徴とする音声認識システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、広くは、コンピュータ・ベース又はソフトウェア・ベースの音声認識システムに関し、更に詳しくは、別の単語発音のパターン定義に基づいてその発音辞書を修正することによりコンピュータ・ベースの音声認識器の精度を向上させるアプローチに関する。
【０００２】
【従来の技術】
多くのコンピュータ・ベース又はソフトウェア・ベースの音声認識システムは、発音辞書を用いて、受け取られた発話に含まれる特定の単語を識別する。ここで用いている「発話」（utterance）という用語は、人間又は機械のいずれかによって発生された１又は複数の音を指す。発話の例には、これに限定されることはないが、１つの音、任意の２つ以上の音、１つの単語、２つ以上の単語などが含まれる。
【０００３】
音素ベースの認識器における発音辞書は、単語を音素の組として定義する。ここでそれぞれの音素は、特定の言語の話者によって区別される音声の小さな組の１つである。例えば、「pan」という単語は、音素「p」（硬音の「p」の音）と音素「ah」（短い「a」の音）と音素「n」とによって特徴付けられる。音素は、書物形式の辞書において用いられ読者がある単語をどのように発音すべきかを決定するのを助ける発音記号とほぼ同等である。
【０００４】
音声認識システムは、それぞれの音素に対して１組の数値データ（「モデル」）を有している。１つの単語は、その単語を構成するそれぞれの音素に対するモデルを組み立てることによってモデル化される。
【０００５】
一般的に、発音辞書は、発話の予測される発音を定義するデータを含む。発話が受け取られると、受け取られた発話は、又は、受け取られた発話の少なくとも一部は、発音辞書に含まれている予測発音と比較される。発話は、受け取られた発話又はその一部が発音辞書に含まれている予測発音と一致すると、認識される。
【０００６】
発音辞書に関する最も重要な関心の中の１つとして、発音辞書によって定義された発話の予測発音が当該発話の実際の発音を正確に反映していることを保証することがある。特定の発話の実際の発音が予測発音と一致しない場合には、音声認識システムは、単語の認識に成功することができない可能性があり、誤った発音辞書を有しているということになりかねない。
【０００７】
発話の実際の発音は、様々な理由から誤って表現されることがある。例えば、流暢な会話では、ある規則に従って削除又は調整される音がある。音声認識システムを用いるアプリケーション・プログラム（「アプリケーション」）が、ユーザのアクセントが地域によって異なる広い地理的領域にまたがってインストールされている場合もある。複数の単語が予測しない発音を伴って用いられるため、アプリケーションの性質により、認識エラーが内在的に反復されることもある。更に、予測発音は、いくぶん、ユーザに依存する傾向にある。その結果、特定のアプリケーションのユーザが変更されると、音声認識システムの精度に悪影響が生じる可能性がある。これは、発音におけるイントネーション及び強勢の相違など、ユーザの話し方の性質の違いに起因する。
【０００８】
従来は、発音辞書は、手動で更新され、報告された問題に対処するように発話の実際の発音の変化を反映してきた。アプリケーション又はユーザの変更によって音声認識システムが発話を認識することができなくなると、その問題は音声認識システムの管理者に報告される。すると、管理者は、問題の発話を識別し、アプリケーション又はユーザの変更を反映するように発音辞書を手動で更新する。
【０００９】
しかし、発音辞書を手動で更新してアプリケーション又はユーザの変化を反映させるという手法には、いくつかの重大な短所がある。これらの問題点と自動的な辞書更新を用いた対応については、発明者であるエチエンヌ・バーナードの名前で１９９９年６月２４日に出願された米国特許出願第０９／３４４，１６４号である"Automatically Determining the Accuracy of a Pronunciation Dictionary in a Speech Recognition System"に詳細な記載がある。
【００１０】
手動の辞書更新や自動的な辞書更新は有用であるのだが、このようなアプローチには依然として短所があり、改善の余地がある。例えば、従来のアプローチには、辞書の修正を音又は単語パターンに関して生成する又は特徴付けることができる機構が含まれていない。その点で、従来のアプローチでは、問題点に対して、認識エラーの根本原因、すなわち、別の発音が用いられているということを認識していない対応しかしていない。
【００１１】
更に、従来のアプローチでは、音声認識システムを用いている特定のアプリケーションのコンテキストでも、認識を有効に改善できない。特定のアプリケーションのコンテキスト又は語彙のために、話者は、従来型のアプローチでは適切に又は特定的に訂正されない単語を用いることを強いられることがありうる。
【００１２】
以上を鑑みると、発音辞書を調整することにより特定のアプリケーションにおいて生じる認識エラーに対処することができる改良型の音声認識システムの必要性は、この分野において顕著である。
【００１３】
また、特定の音の差異ではなく生成された音パターンに基づいて別の発音への対応が可能な改良型音声認識システムに対する必要性も存在している。
これ以外の必要性も、以下の説明から明らかであろう。
【００１４】
【発明の概要】
以上の必要性と、以下の説明から明らかになるそれ以外の必要性及び目的は、別の発音のパターンに基づいて音声認識システムにおける発音辞書を自動的に修正するアプローチを１つの側面において含む本発明によって、達成される。複数の動的にリンクされた音素値などの発音辞書の表現が、得られる。１又は複数のパターン定義が得られる。パターン定義は、発音辞書におけるすべての単語のゼロ又は１又は複数の音素に対して代替されるゼロ又は１又は複数の音素を特定する。リンクされた音素値は、それぞれの単語のそれぞれの経路に対して、パターン定義に従って代替的な音素ストリングのそれぞれを用いている別の経路を加え、従って、動的にリンクされた音素値の拡張された組を作成することによって、修正される。
【００１５】
こうして、特定の単語の１又は複数の例示的な発音が得られる。音素値の拡張された組を通過する１又は複数の最良の経路が、例示的な発音のそれぞれに対して決定される。最良の経路のそれぞれに対して、別の単語発音が、発音辞書のフォーマットを用いてそれぞれの経路を発音に変換することによって構築される。発音辞書は、それぞれの別の単語発音を加えることによって、修正される。その結果として、特定の音声認識アプリケーションのユーザによって実際に話される別の発音に対応する修正された発音辞書が作成される。
【００１６】
実施例は、添付の図面における例によって図解されている。ただし、これは、限定を意図していない。図面においては、類似する構成要素に対しては、同じ参照番号が付されている。
【００１７】
【発明の実施の形態】
以下の説明では、説明のために、特定の詳細を与えることにより、本発明の完全な理解を提供しようとしている。しかし、本発明は、以下の詳細がなくても実現できることは明らかである。場合によっては、周知の構造や装置はブロック図形式によって表現し、本発明を不必要に曖昧にすることを回避している。
【００１８】
別の発音パターンに基づいて音声認識システムにおける発音辞書を自動的に修正するアプローチについて、説明する。一般に、動的リンクされたネットワーク（ＤＬＮ）など、発音辞書の表現は、記憶装置から得られる。１又は複数のパターン定義が、記憶装置から得られる。パターン定義は、発音辞書におけるすべての単語のゼロ又は１又は複数の音素に対して代替されるゼロ又は１又は複数の音素を特定する。ＤＬＮは、ＤＬＮにおけるそれぞれの単語のそれぞれの経路に関して、パターン定義による代替的な音素ストリングのそれぞれを用いる別の経路を加え、それによって、拡張されたＤＬＮを作成することにより、修正される。
【００１９】
こうして、特定の単語の１又は複数の発音が得られる。拡張されたＤＬＮを通過する１又は複数の最良の経路が、例示的な発音に対して決定される。最良の経路のそれぞれに対して、別の単語発音が、発音辞書のフォーマットを用いてそれぞれの経路を発音に変換することによって、構築される。発音辞書は、それぞれの別の単語発音を加えることによって、修正される。結果的に、特定の音声認識アプリケーションのユーザによって実際に話される別の発音に対処することができる修正された発音辞書が作成される。
【００２０】
システムの概観と動作コンテキスト
図１は、システム１００を図解しており、本発明の実施例の様々な側面及び特徴を説明している。
【００２１】
システム１００は、音声認識システム（ＳＲＳ）１０４と相互作用（対話）するアプリケーション・プログラム（「アプリケーション」）１０２を含む。アプリケーション１０２は、ＳＲＳ１０４の音声認識サービスを用いる任意の構成要素である。アプリケーション１０２の例としては、限定的ではないが、１又は複数のコンピュータ・プログラム又はプロセスの形式で実現され、航空券の予約、セキュリティ商取引などのサービスを実行する音声付勢式システム又は電話ベースのサービスが含まれる。アプリケーション１０２は、リンク１０６によってＳＲＳ１０４に通信的に結合されている。
【００２２】
ＳＲＳ１０４は、音声認識器１０８と、発音辞書１１２を含む不揮発性記憶装置１１０と、ＤＬＮ拡張ツール１１４と、最良経路ツール１２１と、動的リンクされたネットワーク１２２と、パターン定義１２４とを含む。認識器１０８は、リンク１１６によって不揮発性記憶装置１１０に通信的に結合されている。ＤＬＮ拡張ツール１１４は、リンク１１８によって不揮発性記憶装置１１０に通信的に結合されている。最良経路ツールは、リンク１２０によって不揮発性記憶装置１１０に結合されている。リンク１１６、１１８及び１２０は、それぞれの接続されている要素の間でのデータ交換を行う任意の機構を用いて実現することができる。リンク１１６、１１８及び１２０の例には、限定的ではないが、ネットワーク接続、ワイヤ、光ファイバ・リンク、無線通信リンクが含まれる。不揮発性記憶装置１１０は、例えば、１又は複数のディスクである。
【００２３】
認識器１０８は、発音辞書を用いて受け取られた発話を認識するように構成された機構である。認識器１０８は、また、本発明の様々な特徴及び側面を曖昧にすることを回避するためにこの図には図解されておらず説明もされていないＳＲＳ１０４の他の構成要素との相互作用を要求する。適切な認識器の例として、米国ボストン所在のスピーチワークス・インターナショナル社から市販されているSpeechWorks 5.0に含まれている音声認識器がある。
【００２４】
発音辞書１１２は、ＳＲＳ１０４による認識が可能な発話に対する予測発音を定義するデータを含む。発音辞書１１２については、この明細書においてより詳しく説明する。
【００２５】
ＤＬＮ拡張ツール１１４と最良経路ツール１２１とは、認識器１１６及び発音辞書１１２と相互作用することができる１又は複数のソフトウェア要素、プログラム又はプロセスを含む。
【００２６】
動的リンク・ネットワーク（ＤＬＮ）１２２は、発音辞書１１２からの発音の表現である。ある実施例では、ＤＬＮ１２２は、音素のグラフの形式でメイン・メモリに記憶されているデータ構造である。これにより、発音辞書の中で特定の発音を見つける高速の機構が得られる。ＤＬＮ１２２は、サーチができるし、そうでない場合には、認識が実行されている途中において認識器１０８によって用いられる。
【００２７】
パターン定義１２４は、１つの単語の特定の別の発音において用いられ得る音素の代替に関する１又は複数の定義である。ＤＬＮ拡張ツール１１４は、パターン定義１２４を用いて、発音辞書１１２を修正する際に用いるためにＤＬＮ１２２をどのように修正すべきかを決定する。
【００２８】
ある実施例によると、ＤＬＮ拡張ツール１１４と最良経路ツール１２１とは、発音辞書１１２を修正する際に用いられるように構成されており、話者がアプリケーション１０２を用いている最中に発する可能性がある発音の特定の変形例（バリアント）に対応する。ＤＬＮ拡張ツール１１４と最良経路ツール１２１との特定の構成及びプロセスは、以下で説明される。
【００２９】
ＳＲＳ１０４は、本発明の様々な側面及び特徴が曖昧になることを回避するために図解されておらず説明もない他の要素を含む場合がある。例えば、ＳＲＳ１０４は、開発プロセスにおいて役に立つ様々なソフトウェア開発ツールやアプリケーション・テスト・ツールを含んでいる場合がある。このようなツールの例としては、スピーチワークス・インターナショナル社から市販されている再利用が可能な音声ソフトウェア・モジュールであるDialogModulesTMのパッケージがある。
【００３０】
発音表現
図２Ａは、発音辞書１１２の例示的な実現例を図解しているブロック図２００である。発音辞書１１２のこれ以外の実現例を用いることも可能であるし、本発明は、発音辞書１１２のどのような特定の実現例にも限定されない。
【００３１】
説明の目的のために、ここでは、単語認識に関して、複数の実施例について説明する。しかし、これらの実施例は、任意のタイプの発話に対して適用できる。ここでの例では、発音辞書１１２は、１又は複数のエントリ２０２を含み、これらのエントリは、それぞれが、特定の単語に対する特定の予測発音に対応している。それぞれのエントリは、単語識別子値と予測発音表現データとを含む。
【００３２】
単語識別子値は、エントリ２０２が関連付けられている特定の単語を特定する任意のデータである。例えば、単語識別子は、特定のエントリ２０２が関連付けられている「CAROUSEL」、「APPLE」又は「ZOO」などの実際の単語でありうる。別の例を挙げると、単語識別子値は、単語自体ではない、WORD1（単語１）又はWORD2（単語２）などのデータであり、これによって、エントリ２０２が特定の単語に写像されることを可能にするものである場合もある。本発明は、単語識別子値のどのような特定の実現例にも限定されない。
【００３３】
予測発音表現データは、当該予測発音表現データを含むエントリと関連付けられた単語に対する予測発音を特定する任意のデータである。ある実施例では、予測発音表現データは、ここでは「音素ストリング」とも称される１又は複数の音素を特定する。ここで用いている「音素」（phoneme）という用語は、ある言語のある方言における最小の区別可能な音を指す。
【００３４】
例えば、エントリ２０４は、単語識別子値であるWORD1と関連付けられており、このWORD1に対する予測発音を定義する予測発音表現データDATA1（データ１）を含む。図２Ｂは、ある実施例によるDATA1に対する例示的な音素ストリング２０８を図解しているブロック図である。音素ストリング２０８は、Ｐ１からＰＮまでのＮ個の音素を含む。音素ストリング２０８は、WORD1に対する予測発音を定義する。音素ストリング２０８は、任意の数の音素を含むことができ、本発明は、どのような特定の長さの音素ストリングにも限定されない。
【００３５】
図２に図解されているように、WORD1やWORD4など、発音辞書２１２におけるいくつかの単語は、ただ１つのエントリ２０２しか有しておらず、従って、ただ１つの予測発音しか有していない。これ以外の単語は、複数の予測発音を有している。例えば、WORD2は、３つのエントリ２０２を有し、従って、３つの予測発音を有している。WORD3は２つの予測発音を有し、WORD5は４つの予測発音を有している。このように、発音辞書１１２は、任意の数の単語に対する任意の数の発音を特定する。ただし、本発明は、どのような数の単語を有する、又は、特定の単語に対するどのような数の予測発音と有する発音辞書にも限定されることはない。
【００３６】
別の単語発音のパターン定義に基づく発音辞書の修正
図３Ａは、別の単語発音のパターン定義に基づいて発音辞書を修正するプロセスの流れ図である。図３Ａは、ＤＬＮ拡張ツール１１４を実現するプログラム命令又はプロセスを表している。
【００３７】
このプロセスは、既存の発音情報を検索することによって開始する。好適実施例では、既存の発音情報は発音辞書１１２の中にあり、ＤＬＮ１２２の中にコンパイルされる。好ましくは、ＤＬＮ１２２は、単語グラフの形式のデータ構造である。このコンパイレーションは、１又は複数の音韻学上の規則を発音辞書１１２の中のそれぞれの発音に適用し、結果的に得られる情報をＤＬＮに記憶することによって実行される。
【００３８】
図４は、あるＤＬＮのセグメントのブロック図であり、「pan」という１つの単語の１つの発音に関するＤＬＮを通過する経路が示されている。それぞれの発音は、ＤＬＮ１２２における弧（アーク）によってリンクされるノードの複数の経路として記憶される。それぞれの経路は、１又は複数の空のノード４０ａ−４０ｎで構成される。２つのノードの間のそれぞれの弧４２ａ−４２ｎは、音素を表し、音素ラベルを含む。図４に示されている例示的な経路では、「pan」という単語が、音素「ｐ閉鎖（p-closure）」、「Ｐ」、「Ａ」、「Ｎ」によって表現され、これらは、それぞれが弧４２ａ、４２ｂ、４２ｃ、４２ｄ上のラベルとして現れている。
【００３９】
図４は、ＤＬＮ全体に存在している要素を図解している。実際の認識において用いられるＤＬＮ１２２のようなＤＬＮは、これよりも大きく、数万のノードとおそらくは数十万の潜在的な経路を含む場合がある。
【００４０】
グラフを用いることにより、別の発音に対する有用なモデル化が得られる。例えば、「butter」（この単語は、「but」及び「ter」という音のどちらを強調するということはなく平坦にすなわち非強勢的に発音される）など、別の平坦（フラット）な発音を有する単語の場合などである。別の平坦な発音は、グラフにおける１又は複数の別の経路として表すことができる。
【００４１】
ＤＬＮグラフが作成されメモリに記憶されていると仮定すると、ブロック３０２に示されているように、ＤＬＮグラフが得られる、すなわち、読み出される。ブロック３０４からブロック３１２は、ＤＬＮグラフを修正するプロセスを提供しており、それによって、１又は複数の予め定義されたパターンに従って別の発音が直接的に反映され、拡張されたＤＬＮが作成される。
【００４２】
ブロック３０４では、パターン定義が得られる。例えば、パターン定義１２４が読み出される。パターンにはコンテキスト情報が含まれ、それぞれのパターンはパターン・タイプを有している。例えば、特定のパターンは、代替パターン、削除パターン又は挿入パターンでありうる。
【００４３】
代替パターンは、例えば、音声認識システムに対して、「辞書が「e」の音を有している場合には、「uh」の音も許容せよ」と命令する情報で構成されている。代替パターンには、一般的な発話の中の単語には話者によって縮小された母音が含まれることがあるという問題に対処するものがある。例えば、「Microsoft」という単語は文字通りには「MIKE-ROW-SOFT」と発音されるのであろうが、「MIKE-RUH-SOFT」と発音されるのが一般的である。このように、標準的には「O」の音である単語の一部が、「UH」の音として発音されている。従って、ある例示的なパターンは音声認識システムに対して、すべての母音について、シュワー（schwa、アクセントのない曖昧な母音）を代替すべきであることを命令する。
【００４４】
削除パターンは、例えば、音声認識システムに対して、「関連する単語を認識しようとするときには、特定の音を音素辞書から削除せよ」と命令する。
１つのパターンが、複数の音素に関係する場合がある。例えば、あるパターンは、複数の音素から構成されるクラスタの１又は複数の交替音素による代替を特定することがある。パターンが複数の音素のゼロ又はより少ない数の交替音素による代替を特定するときには、そのパターンは、実際には削除パターンである。逆に、パターンが、１つの音素が複数の代替音素によって交替されるべきであると特定する場合もある。
【００４５】
パターンは、規則とは区別されなければならない。規則は、音声認識器が認識を実行するときに常に生じるその認識器の行動（ふるまい）を規制する。パターンは、認識されるべき単語が既知であり認識エラーが生じ得ないときに、発音学習の間だけに用いられる推薦される代替候補である。
【００４６】
現実には、パターンは、NAVRulesなどの標準的な発音生成ツールを用いてある語彙に対して生成される発音の組を比較し、これらの発音を音声認識システムの発音辞書と比較し、又は、既存の発音辞書を手動で調整される発音と比較することによって、得られる。
【００４７】
ある実施例では、パターンは、テキスト・ファイルの形式で記憶される。それぞれのパターンは、「PAT」というタグによって区切られ、その後に１又は複数の音素のテキスト表現が続く。「SUB」で始まるそれぞれのラインは、現在の音素に対して代替される音素のテキスト表現を含む。例えば、あるパターンが、次のラインを含むとする。
PAT OW
SUB AX
SUB NUL
この例では、「PAT」というタグがパターンを識別する。テキスト「OW」は、短い「O」の音に対する音素を表している。テキスト「AX」は、短い「A」の音を代替物として考えるべきであることを示している。テキスト「NUL」（null）は、別のパターンが「OW」の音を完全に削除することを含んでいることを示している。これ以外のパターンをテキスト・ファイルに含めることも可能である。
【００４８】
ブロック３０６では、パターン定義の次のパターンが識別される。このパターンは、「現在（current）」のパターンと称される。１つのパターンが複数の音素に言及することもありうる。例えば、次のパターンを考える。
PAT OW ER
SUB AO R
この例では、「ow er」というシーケンスがＤＬＮの中で見つけられなければならず、このシーケンス全体に対して、代替物「ao r」が与えられる。ブロック３０８では、パターンへのそれぞれの一致に対して、別の経路が、ＤＬＮにおいて作成される。上の例では、シーケンス「ow er」がＤＬＮの中で３回生じる場合には、すべての３回の場合が、代替物である「ao r」を用いて拡張される。現在のパターン定義に対して複数の代替物が特定される場合には、ブロック３１０及びブロック３０８によって形成されるループに示されるように、追加的な音素代替物が処理される。パターン定義ファイルに追加的なパターンが存在する場合には、これらの追加的なパターンは、ブロック３１３及びブロック３０６によって形成されるループに示されるように処理される。
【００４９】
このプロセスは、すべてのパターンが考察され、それぞれのパターンのすべての音素が考察されるまで、反復される。その結果、ブロック３１２に示されているように、拡張されたＤＬＮが作成され記憶される。拡張されたＤＬＮには、パターン定義におけるパターンに従って新たな音素弧が追加される結果として生じる多くの追加的な経路を有している。
【００５０】
ＤＬＮグラフが定義されたすべてのパターンを用いて修正されると、ＤＬＮグラフは非常に複雑なものとなり、また、考慮される必要がある潜在的な発音の数のために認識が不正確になる可能性がある。パターンは語彙の中の特定の単語とは関連付けられていないから、パターンを組み入れることによるＤＬＮの修正の結果として、汎用の音声認識には用いることができない非常に大きな修正済ＤＬＮが生じることがある。しかし、修正されたＤＬＮは、同じ単語に対する異なる複数の発音の組と共に用いられるときには、その単語に対する最良の別の経路又は発音を迅速に見つけるのに用いることができる。
【００５１】
図３Ｂは、修正されたＤＬＮを用いて別の発音を作成するプロセスの流れ図である。図３Ｂは、最良経路ツール１２１によって実行されるプログラム命令又はプロセスを表している。
【００５２】
一般に、図３Ｂは、修正されたＤＬＮグラフを、考察している１つの特定の単語の例示的な経験的な発音に適用するステップを含んでいる。音声認識システムは、この単語の異なる例示的な現実に発せられる発音に対するテスト認識を反復的に実行するように構成されている。ＤＬＮにはこの単語しか存在しないのであるから、誤認識の可能性は存在しない。このプロセスは、ＤＬＮを通過する最高スコアの経路を見つけるときにだけ用いられる。音声認識システムは、この単語の認識の際にはどの弧が用いられるかを示すデータを生成するように構成されている。この情報は、ＤＬＮを通過する最良の経路を見つけるのに用いられる。最良の経路とは、その単語の認識に関して最高スコアを結果的に生じるような１又は複数の経路である。
【００５３】
ブロック３１４では、例示的な発音が得られる。例示的な発音は、実際の話者による正確な発音であるのが一般的であり、その話者によってアプリケーション１０２が用いられている間に記録される。ある実施例では、少なくとも５つの例示的な発音がテスト・データとして用いられるが、それよりも多数の例示的な発音が用いられるのが好ましい。正しい別の発音から導かれない認識器のエラーに基づいて発音辞書を修正してしまう可能性を小さくするためには、可能な限り多数の発音を用いることが望ましい。
【００５４】
例示的な発音は、測定データ１２８から得られる。測定データは、実行中に音声認識システムによって作成される１又は複数のファイルから構成される。スピーチワークス・インターナショナル社によるSpeechWorks5.0のような現在の音声認識システムでは、動作中に、スリー（slee）ログ及び波形情報が生成される。テスト・データとして用いられる例示的な発音は、このスリー・ログ及び波形情報から得られる。
【００５５】
好適実施例では、認識信頼性スコアが高い、又は、発音が発せられたときに話者によって確認された例示的な発音だけが、テスト・データとして用いられるように選択される。これは、エラーではなく有効な別の発音のみに基づいて発音辞書が修正されることになる傾向を有するという点で、効果的である。例えば、話者が「MICROSOFT」と発話したが、これが低い信頼性スコアで認識されたと仮定する。スリー・ログが、次の認識コンテキストが確認コンテキストであることを示す場合には、その認識の確認を尋ねられたときに話者は「はい」と答え、その「はい」という発話が高い信頼値を獲得した場合には、その発話が用いられる。
【００５６】
ブロック３１６では、拡張されたＤＬＮを通過する最良経路が、例示的な発音のそれぞれについて決定される。最良経路情報は、例示的な発音と共に拡張されたＤＬＮを用いて認識を実行した後で測定データ１２８を読み出すことによって決定される。認識が実行されるたびに、認識システムは測定データを生成するが、この測定データには、それ以外の情報の他に、ＤＬＮを通過して辿られた経路の記録が含まれる。これらの経路は、別個のフィルタ・プログラムを用いて測定データ１２８を読み出すことによって抽出される。
【００５７】
ＤＬＮにおける単語の複数のサンプル発音に関して認識器を動作させた後では、ＤＬＮにおけるそれぞれの弧に対して、最良の経路の一部であった回数に関するカウントを生成することができる。多くの周知のグラフ経路サーチ・プログラムの任意のものをＤＬＮにおけるこれらの弧及びカウントに適用し、その結果として、ＤＬＮを通過する１又は複数の全体的な最良の経路が得られる。ある実施例では、全体的な最良の経路は、ＤＬＮを通過するそれぞれの経路に関して、それぞれの弧が辿られた回数の幾何平均を計算し記憶することによって決定される。このようにすると算術平均よりも優れた結果が得られることがわかっているのであるが、その理由は、幾何平均は少数回だけ辿られた孤立している弧を「罰する」傾向を有するからである。
【００５８】
ブロック３１８では、全体的な最良経路のそれぞれを発音辞書にとって使用可能なフォーマットに変換することによって、１又は複数の別の発音が発音辞書において作成される。以上のプロセスによると最良の経路が得られるが、この経路はＤＬＮで現れる拡張された形式を有し、発音辞書自体を作成又は修正するのには用いることができない。例えば、経路は、閉鎖音（t閉鎖、p閉鎖など）などのように発音辞書において文字通りに表現されない音に対する弧を含む場合がある。従って、この経路は、発音辞書を作成又は修正するのに用いることができる基本形式に変換される。これは、経路を辞書形式に変換する１又は複数の規則又は方法を適用することによって実行することができる。例えば、シーケンス「tcl t」は、単に「t」に置き換えられる。
【００５９】
ブロック３２０では、発音辞書は、それぞれの変換された別の発音を辞書に追加することによって修正される。この結果は、ブロック３２２に示されているような、修正された発音辞書である。修正された発音辞書は、アプリケーション１０２の使用の間により正確な認識実行を成功させることができる。以上のプロセスの結果として、発音辞書は、別の発音に対して、そして、現場での使用の際にアプリケーションが実際に経験する発音に対して対処することができるように、迅速かつ効率的に変換される。
【００６０】
アプリケーション１０２は、修正された発音辞書と共に用いられると、拡張されたＤＬＮを用いることから生じうる問題に遭遇することはない。認識器１０８が初期化される際には、現在の発音辞書に基づいてＤＬＮ１２２を再構築することが好ましい。このようにして、ＤＬＮ１２２はもはや拡張されることはなく、修正された発音辞書を反映することになる。
【００６１】
以上のプロセスは、考察している任意の数の単語に対して連続的に反復することができる。例えば、音声認識システムが特定のアプリケーション・プログラムと共に用いられる用いられ、認識が複数の異なる単語に関して反復的に誤っていることをそのアプリケーションの使用から得られる経験的なデータが示している場合には、プロセスをそれぞれの単語に関して反復することができる。複数の単語を含む発話を用いることもできる。発話の中の個々の単語が、個別的に最適化されるのである。
【００６２】
別の実施例では、すべてのノードに関して、別々のプロセスが、パターンに基づいてそれぞれの弧に追加された可能性がある代替物とは無関係に、認識において高スコアを獲得しパターンには含まれていなかったそれ以外の音素がいくつかあるかどうかを判断する。そのような音素のスコアが更に高い場合には、それが、代替物として提案される。
【００６３】
以上のプロセスはオフラインのプロセスとして図解し説明したのであって、発音辞書がまず修正され、その後で修正された形式で適当な計算リソースを用いてリアルタイムに使用されたのであるが、このプロセスは、オンラインの形式でも実現することができる。例えば、別の発音が認識される際に、拡張されたＤＬＮを通過する経路の上でカウントを行い記憶することができる。このカウントは、連続的に評価され、最良の経路が識別されたかどうかが判断される。識別された場合には、発音辞書と認識器の（拡張された）ＤＬＮを更新することができる。このようにして、この実施例では、発音辞書を、別の発音が認識されるのと同時に以上のプロセスを用いて更新することができる。
【００６４】
実現機構
ここで説明したアプローチは、コンピュータ・ソフトウェア、ファームウェア又はハードウェア回路の任意の形式で、あるいは、コンピュータ・ソフトウェア及びハードウェア回路の組合せとして実現することができる。従って、本発明は、特定のコンピュータ・ソフトウェア又はハードウェア回路での実現例に限定されることはない。例えば、図１に図解されているように、このアプローチは、ＳＲＳ１０４の一部であるＤＬＮ拡張ツール１１４と最良経路ツール１２１において、実現することができる。別の例では、このアプローチは、認識器１０８の一部として実現することができる。また、アプローチは、ＳＲＳ１０４の外部にあり発音辞書１１２を更新するのに周期的に用いられるスタンドアロンの機構として実現することができる。このアプローチは、また、上述したようなリアルタイムのプロセスとしても実現できる。
【００６５】
図５は、本発明の実施例を実現することができる例示的なコンピュータ・システム５００を図解しているブロック図である。コンピュータ・システム５００は、情報を通信するバス５０２又はそれ以外の通信機構と、バス５０２に結合されており情報を処理するプロセッサ５０４とを含む。更に、コンピュータ・システム５００は、ランダム・アクセス・メモリ（ＲＡＭ）又はそれ以外の動的な記憶装置などであって、バス５０２に結合されており、プロセッサ５０４によって実行される情報及び命令を記憶するメイン・メモリ５０６を含んでいる。メイン・メモリ５０６は、プロセッサ５０４が命令を実行する間に一次的な変数やそれ以外の中間的な情報を記憶するのにも用いることができる。コンピュータ・システム５００は、更に、バス５０２に結合されておりプロセッサへの静的な情報及び命令を記憶するリード・オンリ・メモリ（ＲＯＭ）５０８又はそれ以外の静的な記憶装置も含む。磁気ディスク又は光ディスクなどの記憶装置５１０が提供され、バス５０２に結合されて、情報及び命令を記憶する。
【００６６】
コンピュータ・システム５００は、バス５０２によって、ブラウン管（ＣＲＴ）などであり情報をコンピュータ・ユーザに対して表示するディスプレイ５１２に結合される。英数字及びそれ以外のキーを含む入力装置５１４がバス５０２に結合され、情報及びコマンドの選択をプロセッサ５０４に送る。別のタイプのユーザ入力装置として、マウス、トラックボール又はカーソル方向付けキーなどのカーソル制御装置５１６があり、方向に関する情報とコマンドの選択とをプロセッサ５０４に送り、ディスプレイ５１２上でのカーソル移動を制御する。この入力装置は、第１の軸（例えば、ｘ軸）と第２の軸（例えば、ｙ軸）との２つの軸に対する２つの自由度を有しているのが一般的であり、それによって、この装置が平面内での位置を特定することが可能になる。
【００６７】
本発明は、発音辞書の精度を自動的に決定するコンピュータ・システム５００の使用に関する。本発明のある実施例によると、発音辞書の精度を自動的に決定する機構が、プロセッサ５０４がメイン・メモリ５０６に含まれている１又は複数の命令の中の１又は複数のシーケンスを実行することに応答して、コンピュータ・システム５００によって提供される。これらの命令は、記憶装置５１０などの他のコンピュータ可読な媒体からメイン・メモリ５０６の中に読み出される。メイン・メモリ５０６に含まれる命令のシーケンスを実行すると、プロセッサ５０４がこの出願において説明されているプロセス・ステップを実行する。マルチ・プロセス構成の１又は複数のプロセッサを用いて、メイン・メモリ５０６に含まれる命令のシーケンスを実行することもできる。別の実施例では、ハードワイヤード回路を、ソフトウェア命令の代わりに、又は、ソフトウェア命令と組み合わせて用いて本発明を実現することもできる。このように、本発明の実施例は、ハードウェア回路及びソフトウェアのどのような特定の組合せにも限定されることはない。
【００６８】
ここで用いている「コンピュータ可読な媒体」という用語は、命令を実行のためにプロセッサ５０４に提供することに参加する任意の媒体を意味する。そのような媒体は、多くの形式をとることができる。限定を意味することはないが、例えば、不揮発性媒体、揮発性媒体、伝送媒体などがある。不揮発性媒体には、例えば、記憶装置５１０などの光又は磁気ディスクが含まれる。揮発性媒体は、メイン・メモリ５０６のようなダイナミック・メモリを含む。伝送媒体には、同軸ケーブル、銅製ワイヤ、光ファイバなどが含まれ、バス５０２を構成するワイヤも含まれる。また、伝送媒体は、無線波及び赤外線データ通信の間に生じる音波又は光波の形式をとる場合もある。
【００６９】
コンピュータ可読な媒体の一般的な形式としては、例えば、フロッピ・ディスク（登録商標）、フレキシブル・ディスク、ハードディスク、磁気テープ、又は任意のそれ以外の磁気媒体、ＣＤ−ＲＯＭ、任意のそれ以外の光媒体、パンチカード、紙テープ、パターンを有するホールを備えた任意のそれ以外の物理媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、任意のそれ以外のメモリ・チップ又はカートリッジ、後述する搬送波、コンピュータが読むことができる任意のそれ以外の媒体が含まれる。
【００７０】
１又は複数の命令の１又は複数のシーケンスを実行のためにプロセッサ５０４に運ぶ際には、様々な形態のコンピュータ可読な媒体が関係する。例えば、命令を、最初は、リモート・コンピュータの磁気ディスク上に運ぶことができる。このリモート・コンピュータは、命令をそのダイナミック・メモリにロードし、その命令をモデムを用い電話回線を介して送ることができる。コンピュータ・システム５００の近くにあるモデムがこの電話回線上のデータを受信し、赤外線送信機を用いてデータを赤外線信号に変換することができる。バス５０２に結合された赤外線検出器は、赤外線信号において運ばれるデータを受信して、そのデータをバス５０２の上に置くことができる。バス５０２は、データをメイン・メモリ５０６まで運び、メイン・メモリからプロセッサ５０４が命令を検索してそれを実行する。メイン・メモリ５０６によって受信された命令は、プロセッサ５０４によって実行される前又は後に記憶装置５１０上に光学的に記憶される。
【００７１】
コンピュータ・システム５００は、また、バス５０２に結合された通信インターフェース５１８を含む。通信インターフェース５１８は、ローカル・ネットワーク５２２に接続されたネットワーク・リンク５２０への双方向のデータ通信を与える。例えば、通信インターフェース５１８は、対応するタイプの電話回線へのデータ通信接続を提供するＩＳＤＮカード又はモデムでありうる。別の例としては、通信インターフェース５１８は、互換性を有するＬＡＮへのデータ通信接続を提供するローカル・エリア・ネットワーク（ＬＡＮ）カードでありうる。無線リンクを実現することも可能である。そのような実現例では、通信インターフェース５１８は、様々なタイプの情報を表すデジタル・データ・ストリームを運ぶ電気、電磁気又は光信号を送受信する。
【００７２】
ネットワーク・リンク５２０は、一般的には、１又は複数のネットワークを介して他のデータ装置に至るデータ通信を提供する。例えば、ネットワーク・リンク５２０は、ローカル・ネットワークを介してインターネット・サービス・プロバイダ（ＩＳＰ）５２６によって管理されているホスト・コンピュータ５２４又はデータ装置に至る接続を提供する。ＩＳＰ５２６は、現在では「インターネット」５２８と一般的に称されている全世界的なパケット・データ通信ネットワークを介するデータ通信サービスを提供する。ローカル・ネットワーク５２２とインターネット５２８とは、共に、デジタル・データ・ストリームを運ぶ電気、電磁気又は光信号を用いる。コンピュータ・システム５００との間でデジタル・データを運ぶ様々なネットワークを介する信号とネットワーク・リンク５２０上及び通信インターフェース５１８を介する信号とは、情報を運ぶ搬送波の例示的な形態である。
【００７３】
コンピュータ・システム５００は、ネットワーク、ネットワーク・リンク５２０及び通信インターフェース５１８を介して、プログラム・コードを含むデータを送受信することができる。インターネットの例では、サーバ５３０が、インターネット５２８、ＩＳＰ５２６、ローカル・ネットワーク５２２及び通信インターフェース５１８を介して、アプリケーション・プログラムのために要求されたコードを送信する。本発明によると、そのようにしてダウンロードされたアプリケーションが、この出願において説明されている発音辞書の精度を自動的に判断することができる。
【００７４】
受信されたコードは、受信された時点でプロセッサ５０４によって実行されることがあるし、後で実行するために記憶装置５１０やそれ以外の不揮発性記憶装置に記憶することもありうる。このようにして、コンピュータ・システム５００は、搬送波の形態でアプリケーション・コードを取得することもできる。
【００７５】
発音辞書の精度を自動的に判断するこの出願において説明されているアプローチは、従来のアプローチと比較していくつかの長所及び効果を有している。特に、自動化された機構を用いていることにより、発音辞書の精度を判断するのに必要な人的資源の量を削減することができる。これにより、ユーザが特定の単語に伴う問題点を識別するのを待つことなく、発音辞書の精度を周期的に評価して訂正することが可能になる。更に、自動化されたアプローチにより、従来型の手動によるアプローチよりも、発音辞書をより迅速に更新し、アプリケーションへの変更を反映させることが可能になる。このアプローチは、自動化されていると特徴により、発音辞書１１２の精度を向上させることができる。その理由は、（１）このアプローチは、音声認識システム１０４の特徴に対応しており、（２）手動で調整された発音は、バイアスのかかった言語的な先入観のために不正確である可能性があるからである。
【００７６】
以上では、特定の実施例について説明を行った。しかし、本発明のより広い精神及び範囲から逸脱することなく、様々な修正及び変更が可能であるのは明らかであろう。従って、明細書及び図面は、限定的な意味を有するものではなく例示的なものであると考えられるべきである。
【図面の簡単な説明】
【図１】ある実施例による音声認識システムにおける発音辞書を自動的に修正するシステムのブロック図である。
【図２】図２Ａ及び２Ｂで構成されている。図２Ａは、ある実施例による発音辞書のコンテンツの一部を図解しているブロック図である。図２Ｂは、ある実施例による音素ストリング構成のコンテンツを図解しているブロック図である。
【図３】図３Ａ及び３Ｂで構成されている。図３Ａは、ある実施例による発音辞書を修正するプロセスの一部を示す流れ図である。図３Ｂは、ある実施例による発音辞書を修正するプロセスの一部を示す流れ図である。
【図４】動的リンクされたネットワーク（ＤＬＮ）を通過する経路の図である。
【図５】実施例を実装するコンピュータ・システムのブロック図である。
【図１】
0004707916.tif 000002
【図２】
0004707916.tif 000003
【図３】
0004707916.tif 000004
0004707916.tif 000005
【図４】
0004707916.tif 000006
【図５】
0004707916.tif 000007