"アラインされていないエントリをアラインされたエントリに変換することによって発音辞書を構築するための方法であって、前記アラインされていないエントリおよび前記アラインされたエントリは、単語のセットと、前記単語のセットに対応する発音のセットとを含み、前記アラインされたエントリ内の各単語は、前記発音のセットからの発音のサブセットとアラインされ、前記方法は、前記単語のセット内の前記単語ごとに、前記単語と発音予測との間に1対1の対応が存在するように、前記発音予測を求めるステップと、前記各発音予測を前記発音のサブセットにマッピングするステップであって、前記各発音予測が前記発音のサブセットとアラインされた予測-発音マップを作成する、マッピングするステップと、前記単語と前記発音予測との間の前記1対1の対応を使用して、前記予測-発音マップに基づいて前記アラインされたエントリを求めるステップと、を含み、前記方法の前記ステップはプロセッサによって実行される、方法。前記発音および前記予測は、音節の連結として表され、前記方法は、A文字列を形成する前記発音のセット内の前記発音の前記音節を連結するステップであって、前記発音の前記音節は、Aチャンクを形成する、連結するステップと、B文字列を形成する前記発音予測の音節を連結するステップであって、前記発音予測の前記音節は、Bチャンクを形成する、連結するステップと、前記A文字列内の文字と前記B文字列内の文字との間のアラインメント経路を求めるステップと、前記アラインメント経路に基づいてAチャンク対Bチャンクマップを求めるステップと、前記Aチャンク対Bチャンクマップに基づいて前記予測-発音マップを求めるステップと、をさらに含む、請求項1に記載の方法。前記Aチャンク対Bチャンクマップは、1対1のチャンクマップである、請求項2に記載の方法。前記Aチャンク対Bチャンクマップは、1対多のチャンクマップであり、前記方法は、前記Aチャンク対Bチャンクマップを1対1のチャンクマップに分解するステップをさらに含む、請求項2に記載の方法。前記分解するステップは、前記1対多のチャンクマップが許容するAチャンク対Bチャンクマッピングの1対1のチャンクマップのデカルト積を求めるステップと、前記各1対1のチャンクマップの累積編集距離を計算するステップと、最も小さい累積編集距離を有する前記1対1のチャンクマップを選択するステップと、をさらに含む、請求項4に記載の方法。前記各1対1チャンクマップ内の前記マッピングごとに編集距離を求めるステップであって、前記各1対1チャンクマップの編集距離を生成する、編集距離を求めるステップと、前記各1対1チャンクマップの前記編集距離を合算することによって前記累積編集距離を求めるステップと、をさらに含む、請求項5に記載の方法。内部辞書から前記発音予測を選択するステップをさらに含む、請求項1に記載の方法。書記素対音素変換器を使用して前記発音予測を求めるステップをさらに含む、請求項1に記載の方法。前記単語の正書法形態を、前記単語の前記発音予測として選択するステップをさらに含む、請求項1に記載の方法。前記A文字列内の前記文字と、前記B文字列内の前記文字との間の、挿入コスト、削除コスト、および置換コストを表すコスト行列を求めるステップと、前記コストを最小にする要素のインデックスを表すインデックス行列を求めるステップと、前記インデックス行列に基づいて前記アラインメント経路を求めるステップと、をさらに含む、請求項2に記載の方法。前記アラインメント経路は、前記インデックス行列内の右下端の要素から開始し、前記コストを最小にする前記要素の前記インデックスを辿ることによって後方にリトレースされる経路である、請求項10に記載の方法。前記インデックス行列内の前記要素は、前記削除コストを表し、前記方法は、前記アラインメント経路上に、2つのアスタリスクを水平に並べて配置するステップをさらに含む、請求項11に記載の方法。前記インデックス行列内の前記要素は、前記挿入コストを表し、前記方法は、前記アラインメント経路上に、2つのアスタリスクを垂直に並べて配置するステップをさらに含む、請求項11に記載の方法。前記インデックス行列内の前記要素は、前記置換コストを表し、前記方法は、前記アラインメント経路上に、2つのアスタリスクを対角線状に並べて配置するステップをさらに含む、請求項11に記載の方法。前記アラインされたエントリは、単語-発音マッピングのセットを含み、前記方法は、閾値未満の確率を有する単語-発音マッピングを除去するステップをさらに含む、請求項1に記載の方法。前記単語のセット内の前記単語ごとに、頻度カウントcw,pを求めるステップであって、前記頻度カウントは、単語wと発音pとの間のマッピング数を示す、頻度カウントを求めるステップと、にしたがって、前記頻度カウントcw,pおよび発音qを有する前記単語の頻度カウントに基づいて、前記単語wと前記発音pとの間の前記単語-発音マッピングの確率Pw,pを求めるステップと、をさらに含む、請求項15に記載の方法。アラインされていないエントリのセットから発音辞書を構築するための方法であって、アラインされていないエントリは、単語のセットと、前記単語のセットに対応する発音のセットとを含み、前記方法は、前記各アラインされていないエントリをアラインされたエントリに反復的に変換するステップであって、前記アラインされたエントリ内の各単語は、前記発音のセットからの発音のサブセットとアラインされる、変換するステップと、前記各アラインされたエントリを内部辞書に格納するステップと、前記内部辞書を前記発音辞書として出力するステップと、を含み、前記方法の前記ステップはプロセッサによって実行される、方法。前記変換するステップは、前記単語のセット内の前記単語ごとに、前記単語と発音予測との間に1対1の対応が存在するように、前記発音予測を求めるステップと、前記各発音予測を前記発音のサブセットにマッピングするステップであって、前記各発音予測が前記発音のサブセットとアラインされた予測-発音マップを作成する、マッピングするステップと、前記単語と前記発音予測との間の前記1対1の対応を使用して、前記予測-発音マップに基づいて前記アラインされたエントリを求めるステップと、をさらに含む、請求項17に記載の方法。前記アラインされたエントリは、単語-発音マッピングのセットを含み、前記方法は、閾値未満の確率を有する単語-発音マッピングを除去するステップをさらに含む、請求項17に記載の方法。アラインされていないエントリをアラインされたエントリに変換することによって発音辞書を構築するためのシステムであって、前記アラインされていないエントリおよび前記アラインされたエントリは、単語のセットと、前記単語のセットに対応する発音のセットとを含み、前記アラインされたエントリ内の各単語は、前記発音のセットからの発音のサブセットとアラインされ、前記システムは、前記単語のセット内の前記単語ごとに、前記単語と発音予測との間に1対1の対応が存在するように、前記発音予測を求めるための発音予測サブモジュールと、前記各発音予測を前記発音のサブセットにマッピングして、前記各発音予測が前記発音のサブセットにアラインされた予測-発音マップを作成するための動的プログラミングサブモジュールと、前記単語と前記発音予測との間の前記1対1の対応を使用して、前記予測-発音マップに基づいて前記アラインされたエントリを求めるように構成されるプロセッサと、を備える、システム。したがって、単語を発音とアラインするための方法を提供するとともに、音声認識器に入力するのに適した発音辞書を作成することが必要とされている。主題発明の目的は、単語を発音にアラインして発音辞書を作成するための方法を提供することである。この発明のさらなる目的は、単語を自動的にアラインする方法を提供することである。この発明のさらなる目的は、自動音声認識器への入力に適した最終発音辞書を作成することである。この発明の実施の形態は、単語の正書法表現が、対応する発音の形態と大幅に異なり、これがマッピングエラーにつながるという認識に基づく。したがって、この発明の実施の形態は、単語を発音に直接マッピングする代わりに、単語ごとに、単語と発音予測との間に1対1の対応が存在するように、発音予測を求め、次に、発音予測を発音にマッピングする。この発明の実施の形態は、2つの表音形態間のマッピングは、正書法と表音形態との間のマッピングよりも正確であるという別の認識を利用する。この発明の実施の形態の1つは、アラインされていないエントリをアラインされたエントリに変換することによって発音辞書を構築するための方法であって、アラインされていないエントリおよびアラインされたエントリは、単語のセットと、単語のセットに対応する発音のセットとを含み、アラインされたエントリ内の各単語は、発音のセットからの発音のサブセットとアラインされ、上記方法は、単語のセット内の単語ごとに、単語と発音予測との間に1対1の対応が存在するように、発音予測を求めるステップと、各発音予測を発音のサブセットにマッピングするステップであって、各発音予測が発音のサブセットとアラインされた予測-発音マップを作成する、マッピングするステップと、単語と発音予測との間の1対1の対応を使用して、予測-発音マップに基づいてアラインされたエントリを求めるステップと、を含む、方法を開示する。この発明の実施の形態の別の形態は、アラインされていないエントリのセットから発音辞書を構築するための方法であって、アラインされていないエントリは、単語のセットと、単語のセットに対応する発音のセットとを含み、上記方法は、各アラインされていないエントリをアラインされたエントリに反復的に変換するステップであって、アラインされたエントリ内の各単語は、発音のセットからの発音のサブセットとアラインされる、変換するステップと、各アラインされたエントリを内部辞書に格納するステップと、内部辞書を発音辞書として出力するステップと、を含み、方法のステップはプロセッサによって実行される、方法を開示する。この発明の実施の形態のさらに別の形態は、アラインされていないエントリをアラインされたエントリに変換することによって発音辞書を構築するためのシステムであって、アラインされていないエントリおよびアラインされたエントリは、単語のセットと、単語のセットに対応する発音のセットとを含み、アラインされたエントリ内の各単語は、発音のセットからの発音のサブセットとアラインされ、上記システムは、単語のセット内の単語ごとに、単語と発音予測との間に1対1の対応が存在するように、発音予測を求めるための発音予測サブモジュールと、各発音予測を発音のサブセットにマッピングして、各発音予測が発音のサブセットとアラインされた予測-発音マップを作成するための動的プログラミングサブモジュールと、単語と発音予測との間の1対1の対応を使用して、予測-発音マップに基づいてアラインされたエントリを求めるように構成されるプロセッサと、を備える、システムを開示する。この発明によれば、単語を発音にアラインして発音辞書を作成するための方法を得ることができる。実施の形態1.システム概観この発明の実施の形態は、単語の正書法表現が発音の対応する形態と大幅に異なり、これが単語を発音にマッピングする際のエラーにつながるという認識に基づく。したがって、この発明の実施の形態では、単語を発音に直接マッピングする代わりに、単語と発音予測との間に1対1の対応が存在するように単語ごとに発音予測が求められ、発音予測が発音にマッピングされる。この発明の実施の形態は、2つの表音形態間のマッピングが、正書法形態と表音形態との間のマッピングよりも正確であるという別の認識を利用する。図2は、この発明の実施の形態1による、アラインされていないエントリ210をアラインされたエントリ220に変換するための方法を示している。この方法は、この技術分野において既知のプロセッサ201を使用して、変換モジュール200によって実行される。アラインされていないエントリは、単語のセット212および単語のセットに対応する216発音のセット214を含む。しかしながら、アラインされていないエントリ内の単語および発音は、アラインされていない。本明細書において定義されるように、単語のセットは、単語のセット内の各単語が、発音のセットからの発音のサブセットにマッピングされている場合、その発音のセットにアラインされている。様々な実施形態において、発音のサブセットは、0個以上の発音を含む。図3は、図1に示すアラインされていないエントリの例に対応するアラインされたエントリ220の例を示している。左側の列301の単語は、右側の列302からの発音にアラインされている。この発明の様々な実施形態では、アラインされていないエントリは、等しい数または異なる数の単語および発音を含む。上述した目的によれば、発音予測235は、単語と発音予測との間に1対1の対応が存在するように、単語のセットからの単語ごとに求められる230。各発音予測は、発音のサブセットにマッピングされ240、各発音予測が発音のサブセットに位置合わされた、予測-発音マップ245が作成される。アラインされたエントリ内の単語が発音にアラインされる225ように、1対1の対応255に基づいて、発音予測-発音マップから、アラインされたエントリが求められる250。アラインされたエントリ内の単語は、アラインされていないエントリ内の単語と同一である。しかしながら、アラインされたエントリ内の発音は、アラインされていないエントリ内の発音と異なる可能性がある。様々な実施形態において、下記でより詳細に説明するように、発音は、より小さな成分、たとえば音節に分割され、それにしたがって再配列される。発音辞書の確定図4は、この発明の実施の形態1の1つによる、発音辞書470を構築するための方法400を示している。この方法は、メモリ図示せず内に格納されているアラインされていないエントリのセット410にわたって反復する。各アラインされていないエントリ210は、変換モジュール200によってアラインされたエントリ220に変換される。アラインされたエントリは、反復460中、本方法によって維持される内部辞書435に追加される430。440において全てのアラインされていないエントリが変換された445とき、内部辞書は、発音辞書470として出力される。1つの実施形態では、出力の前に、プルーニングモジュール450が、低精度の単語-発音マッピングが除去されるように内部辞書をプルーニングする。図5は、変換モジュールの例を示している。1つの実施形態では、変換モジュールは、発音予測サブモジュール510と、音節分解サブモジュール520と、動的プログラミングDPサブモジュール530と、編集距離EDサブモジュール540とを含む。変換モジュールの動作は、以下の例を用いて説明される。図6Bは、アラインされていないエントリの例を示している。アラインされていないエントリ内の単語は、NewYorkNYExspressoであり、対応する発音は、nujOrknujOrkEk|sprE|soである。この例では、発音の数は単語の数よりも多い。図6Aは、図6Bと同じ例がシンボルで書かれたものを示している。ここで、発音piは、音節の連結SjSkとして表される。変数iは、発音のセットにおける発音のインデックスであり、変数jおよびkは、発音の音節のインデックスである。発音予測サブモジュール発音予測サブモジュールは、アラインされていないエントリ内の単語ごとに発音予測を作成する。様々な実施形態において、発音予測は、いくつかのソースのうちの少なくとも1つから導出される。第1のソースは、内部辞書435である。発音予測サブモジュールは、内部辞書内にその単語のための単語-発音マップが存在するか否かを判断し、その単語の頻度の最も高い発音をその単語の発音予測として選択する。その目的のために、1つの実施形態は、これまでに単語-発音マップが発生した回数を示す頻度カウントcw,pを含む。発音が発音予測として選択される場合、単語-発音マップの頻度カウントは、たとえば1だけ増加される。付加的にまたは代替的に、1つの実施形態は、書記素対音素G2Pエンジン550を使用して単語の発音予測を求める。この実施形態は、単語がまれに、かつ/または変換200の開始時に発生する場合に有利である。たとえば、1つの実施形態は、論理的推論sequiturG2Pエンジン550を使用する。これは、アーヘン工科大学コンピューターサイエンス学部において開発されたデータ駆動型書記素対音素変換器である。参照により本明細書に援用される、M.ビザーニM.BisaniおよびH.ナイH.Ney書記素対音素変換のための結合シーケンスモデルJoint-SequenceModelsforGrapheme-to-PhonemeConversionSpeechCommunication,Volume50,Issue5,May2008,Pages434-451を参照されたい。付加的にまたは代替的に、1つの実施形態は、単語の正書法形態を単語の発音予測として使用する。図7Aおよび図7Bは、発音予測の例を示している。音節分解サブモジュール音節分解サブモジュール520は、アラインされていないエントリ内の発音を、個々の音節に編成する。音節分解は、誤りのあるエントリの問題、すなわち、発音の音節が1つの単語に誤ってマージされる問題に対処する。発音を音節に編成することによって、この問題を訂正する発音の再アラインメントが可能になる。1つの実施形態では、発音は、連結シンボル、たとえば|によって隔てられた連結音節であり、音声分解サブモジュールは、連結シンボルを空白類で置き換える。付加的にまたは代替的に、別個の音声分解製品が音声分解に使用される。たとえば、1つの実施形態は、アメリカ国立標準技術研究所NISTによって開発された分節ツールを使用する。図8Aおよび図8Bは、音節分解の例を示している。動的プログラミングサブモジュール用語のみの問題として、各発音の音節は、Aチャンクと呼ばれる。同様に、発音予測は、Bチャンクと呼ばれる。Aチャンクの連結は、A文字によって形成されるA文字列と呼ばれ、Bチャンクの連結は、B文字によって形成されるB文字列と呼ばれる。図9Aは、Aチャンク910およびBチャンク920の例を示している。図9Bは、A文字列930およびB文字列940の例を示している。動的プログラミングサブモジュールは、A文字列内の文字と、B文字列内の文字との間の、最小編集距離を有するアラインメント経路を求める。2つの文字列間の、レーベンシュタイン距離とも呼ばれる編集距離は、第1の文字列を第2の文字列に変換するのに必要とされる編集動作の最小数として規定される。ここで、許容可能な編集動作は、一度に単一のシンボルの挿入、削除、または置換である。編集距離は、動的プログラミングサブモジュールによって用いられる動的プログラミングを介して求められる。シンボルシーケンスの長さがそれぞれnおよびmである場合、動的プログラミングは、サイズn×mの行列のエントリを求めることをともなう。動的プログラミングサブモジュールは、挿入コスト、削除コスト、および置換コストの最小値に基づいて、行列内の全ての要素を再帰的に求める。行列内の全ての要素が求められると、行列内の右下端の要素が2つの文字列間の編集距離となる。様々な実施形態において、挿入コスト、削除コスト、および置換コストは、同一であるかまたは異なる。図10は、A文字列930とB文字列940との間の最小編集距離を有するアラインメント経路を示している。アラインメント経路は、アスタリスク1010によってマークされている。アラインメント経路を求めるために、動的プログラミングサブモジュールは、要素、すなわち挿入コスト、削除コスト、または置換コストを表す要素を追跡し、行列の各点においてアラインメントのコストを最小にする。たとえば、1つの実施形態は、2つの行列、すなわちコストを表すコスト行列およびコストを最小にする要素のインデックスを表すインデックス行列を求める。行列の全ての要素が求められた後、インデックス行列内の右下端の要素から開始する経路は、要素のインデックスを辿ることによって後方にリトレースされ、文字列間のアラインメント経路が特定される。アスタリスク1010は、アラインメント経路に沿った点である。インデックス行列内の要素が削除を表す場合、アラインメント経路上に、2つのアスタリスク1015が水平に並んで配置される。図10を参照すると、これらの2つのアスタリスクは、文字列930からの要素jおよびj1が、ともに文字列940からの要素iにマッピングされており、すなわち、要素jが文字列間のマッピングから削除されることを示している。インデックス行列内の要素が挿入を表す場合、アラインメント経路上に、2つのアスタリスク1025が垂直に並んで配置される。これらの2つのアスタリスクは、文字列930からの要素jが、文字列940からの要素iおよびi1にマッピングされており、すなわち、要素jが文字列間のマッピングにおいて2回挿入されることを示している。インデックス行列内の要素が置換を表す場合、アラインメント経路上に、2つのアスタリスク1035が対角線状に並んで配置される。これらの2つのアスタリスクは、文字列930からの要素jが文字列940からの要素iにマッピングされており、要素j1が要素i1にマッピングされていることを示している。図15は、この発明の実施の形態1による、アラインメント経路を求めるための擬似コードを示している。編集距離サブモジュール編集距離サブモジュールは、BチャンクとAチャンクとの間に1対1のマッピングを作成する。マッピングは、動的プログラミングサブモジュールによって提供されるアラインメント経路に基づいて作成される。最初に、A文字対Bチャンクマップが生成され、マップが、A文字列またはB文字列の文字ごとに、その文字が属する対応するAチャンクまたは、Bチャンクを特定する。たとえば、図10に示すように、A文字/N/は、Bチャンク1にマッピングし、A文字/u/は、Bチャンク1にマッピングし、A文字/j/は、Bチャンク2にマッピングし、以下同様である。しかしながら、いくつかの場合、動的プログラミングは、1つのA文字を複数のBチャンクにマッピングする。たとえば、A文字/k/は、Bチャンク2およびBチャンク3にマッピングされる。図11に示すように、A文字対Bチャンクマップに基づいて、Aチャンク対Bチャンクマップが求められる。Aチャンク対Bチャンクマップは、以下のように求められる。単一のAチャンクからの全ての文字が単一のBチャンクにマッピングされる場合、Aチャンクは、対応するBチャンクにマッピングされる。たとえば、Aチャンク1は、Bチャンク1にマッピングされる。Aチャンク内の文字が複数のBチャンクにマッピングする場合、そのAチャンクは、複数のBチャンクにマッピングする。たとえば、Aチャンク2は、Bチャンク2およびBチャンク3にマッピングされる。A文字対Bチャンクマップが1対1のチャンクマップである場合、すなわち各Aチャンクが1つのみのBチャンクにマッピングされる場合、予測発音マップ245が形成され、このマップに基づいて、アラインされたエントリが求められる。しかしながら、少なくとも1つのAチャンクが複数のBチャンクにマッピングされる場合、すなわち図11に示すような1対多のチャンクマップの場合、A文字対Bチャンクマップは、1対1のチャンクマップに分解される必要がある。1つの実施形態は、1対多のチャンクマップが許容するAチャンク対Bチャンクマッピングの1対1のチャンクマップのデカルト積を求め、各1対1のチャンクマップの累積編集距離を計算し、最も小さい累積編集距離を有する1対1のチャンクマップを選択することによって、A文字対Bチャンクマップを分解する。図12は、A文字対Bチャンクマップを分解するための方法を示している。ここで、A文字対Bチャンクマップは、1対多のチャンクマップである。各1対1のチャンクマップ1210~1240について、マッピングされたAチャンクとBチャンクとの間の編集距離が求められ、合算されて、累積編集距離1215~1245が生成される。最小の1250値1260を有する累積編集スコアによって、分解されたAチャンク-Bチャンクマッピングが決まる。この例では、マッピング1210が最も小さい累積編集距離、すなわち7を有するので、マッピング1210が、分解されたマッピングとして選択される。図13Aおよび図13Bは、変換モジュールによって出力されたアラインされたエントリの例を示している。変換モジュールは、単語Newを発音nuとアラインし、単語Yorkを発音jOrkとアラインし、単語NYを発音nu|jOrkとアラインし、単語Exspressoを発音Ek|sprE|soとアラインする。プルーニングモジュールプルーニングモジュール450は、低い精度の単語-発音マッピングが除去されるように、内部辞書をプルーニングする。1つの実施形態は、上述した頻度カウントcw,pに基づいて単語-発音マッピングをプルーニングする。各頻度カウントcw,pは、にしたがって、単語wについて全ての他の発音qに関して求められた全ての頻度カウントの和で除算することによって、単語wが発音pにマッピングされる確率Pw,pに変換される。確率Pが特定の閾値未満の単語-発音マッピングは、内部辞書から除去され、したがって発音辞書から除去される。図14Aおよび図14Bは、プルーニングの例を示している。この発明を好ましい実施形態の例として説明してきたが、この発明の精神および範囲内で様々な他の適応および変更を行うことができることは理解されたい。したがって、添付の特許請求の範囲の目的は、この発明の真の精神および範囲内に入るすべての変形および変更を包含することである。"