(57)【要約】【課題】  発音規則辞書を用いて精度よく未知語の発音を推定する。【解決手段】  単語の複数の断片化パターンを生成し、生成された上記複数の断片化パターンから複数の発音を生成する。その後、生成された複数の発音の各々に対して、尤もらしさを示すスコアを対応付け、スコアが最も高い発音を選択する。ここで、上記スコアは、断片の数、断片の長さ、各断片に対して以前計算されたスコア、のうちの少なくともいずれかの組み合わせに基づくものとする。【選択図】  図３
2008145456.tif 000002
【特許請求の範囲】
【請求項１】
発音辞書を有する音声処理装置によって実行される、単語の発音を推定する音声処理方法であって、
前記単語の複数の断片化パターンを生成するステップと、
生成された前記複数の断片化パターンから複数の発音を生成するステップと、
生成された前記複数の発音の各々に対して、尤もらしさを示すスコアを対応付けるステップと、
前記スコアが最も高い発音を選択するステップと、
を有し、
前記スコアは、断片の数、断片の長さ、各断片に対して以前計算されたスコア、のうちの少なくともいずれかの組み合わせに基づくことを特徴とする音声処理方法。
【請求項２】
前記スコアは２段階で計算され、第１段階では断片の数及び断片の長さのみが使用され、第２段階では各断片に対して以前計算されたスコアがさらに使用されることを特徴とする請求項１に記載の音声処理方法。
【請求項３】
前記スコアはポアソン分布に基づいて計算されることを特徴とする請求項２に記載の音声処理方法。
【請求項４】
前記発音辞書内の他の規則を用いて推定される規則が前記発音辞書に含まれることを特徴とする請求項１乃至３のいずれか１項に記載の音声処理方法。
【請求項５】
発音辞書を用いて単語の発音を推定する音声処理装置であって、
前記単語の複数の断片化パターンを生成する手段と、
生成された前記複数の断片化パターンから複数の発音を生成する手段と、
生成された前記複数の発音の各々に対して、尤もらしさを示すスコアを対応付ける手段と、
前記スコアが最も高い発音を選択する手段と、
を有し、
前記スコアは、断片の数、断片の長さ、各断片に対して以前計算されたスコア、のうちの少なくともいずれかの組み合わせに基づくことを特徴とする音声処理装置。
【請求項６】
コンピュータに請求項１から４までのいずれか１項に記載の音声処理方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は音声処理方法及び装置に関し、特に、音声のラベリングを行う音声処理方法及び装置に関する。
【背景技術】
【０００２】
自動音声認識（ＡＳＲ）の分野においては、人間の声を認識するための装置を必要とする。一般な音声認識の手法では、人の声（voice）の録音が複数格納されたトレーニング用データベースを使用して人間の声のモデルを作成する。これらの録音は「発話（utterances）」とよばれる。各発話で話されていることのテキスト表記、つまりラベルを各発話に付与することが極めて重要である。たとえば、ある人が言った「Ｔｏｋｙｏ」という単語の録音が発話であれば、「Ｔｏｋｙｏ」というテキストのラベルが存在する必要がある。これによりＡＳＲシステムは、録音内の音声とテキストラベルとの対応を知ることができる。
【０００３】
上記のように音声を単語 (word) に対応付けるシステム（単語ベースのＡＳＲ）を構築することは可能である。しかし、最近のＡＳＲシステムの多くでは、実際には、単音（phone）などのサブワード単位に音声を対応付ける（phonetic ASR）。単語の単音 (phone) と音素 (phoneme) とを区別する言語学者もいるが、ここではこれらを同義的に使用する。したがって、どのような単語も、該当する単音を連結することによって表すことができる。上の例では、単語「Ｔｏｋｙｏ」を５つの単音／ｔ／、／ｏ／、／ｋ／、／ｙ／、／ｏ／によって表すことができる。なお、単音は必ずしも文字とは限らない。これは、「ｈｅａｒ」及び「ｈｅｒｅ」などの英単語を考えると明らかである。これらの単語は、綴り（スペリング）は異なるが、発音表記は同じである。なお、発音表記は主観的なこともある。たとえば、単語「Ｔｏｋｙｏ」の両方の「ｏ」の音を長母音と認識し、／ｔｏｏｋｙｏｏ／と書く人（日本生まれ）もいる。音声ＡＳＲでは、単語ではなく、単音を発話ラベルに含める必要がある。これを実現するには、一般に、各単語をそれに相当する音声に置き換える新しいラベルを作成する。
【０００４】
日本語などの言語においては、綴りと単音との間には極めて緊密な関係が存在するので、平仮名又はカタカナの各文字を１つ又は２つの単音に容易に対応付けることができる。しかし、英語やフランス語などの言語においては、この対応付けは通常、音声発音辞書 (phonetic pronunciation dictionary) を用いて行われる。この辞書内の各エントリは、２つのフィールド、つまり単語のフィールドとその発音綴りのフィールドとを有する。この辞書があれば、単語ラベルを発音ラベルに置き換えることは簡単である。ただし、これを行うには、発音を対応付ける必要がある単語ごとに、エントリを辞書に含める必要がある。
【０００５】
ＡＳＲで使用されるトレーニング用データ（トレーニング用音声発話）の性質のために、問題が発生する。所望の言語を広範囲に録音するために、トレーニング用データは新聞から読み上げられるか、又はテレビ放送から録音することが多い。どちらの場合も、テキスト表記は容易に推測できても、トレーニング用データ内の各単語に対応するエントリが発音辞書内にないことがある。発音辞書にないこのような単語は、語彙外（ＯＯＶ：Ｏｕｔ  Ｏｆ  Ｖｏｃａｂｕｌａｒｙ）単語という。トレーニング用データを十分に活用するには、ＯＯＶ単語を発音どおりに綴る手段が必要である。言語によっては、ＯＯＶ単語の数は数百にもなる。
【０００６】
ＯＯＶ単語に対するエントリを用意する１つの明らかな手段は、これらの単語を手作業で追加することである。ただし、この処理は熟練を要する、つまりある程度の言語学的知識を必要とするので、費用がかかる。ＯＯＶ単語が多数ある場合、この処理は単調で間違いが発生しやすい。複数の言語が必要な場合、この処理はほぼ不可能に近い。ＯＯＶの発音を自動的に用意する手段を有することが大いに好ましい。
【０００７】
考慮すべきもう１つの点は、発音が複数存在するという問題である。発音の変化（これ自体が主観的である）が極めて小さい言語がある一方で、発音の変化が大きい言語が存在する。この理由の１つは実際の発音の変化であり、別の理由はさまざまな言語学者の主観的見解による。１つの辞書が複数の人間によって構成される場合は、その辞書自体が一貫性に欠ける。ソースが何であれ、単語によっては複数の発音を用意しておくと、ＡＳＲデータベースのアライメントに役立つ。この理由は、たとえば特許文献１のように、所与の単語に対して正しい発音又は最も近い発音をアライメント処理によって選択することができるからである。
【０００８】
ＯＯＶの問題は、他の関連分野でも発生する。たとえば、音声合成とも呼ばれるテキスト−音声（ＴＴＳ：Ｔｅｘｔ  Ｔｏ  Ｓｐｅｅｃｈ）変換では、合成対象のすべての単語に対して発音綴りが必要である。ＡＳＲアライメントとＴＴＳとの間の主な違いは、ＴＴＳでは各単語に対して扱える発音が通常１つだけであるのに対して、ＡＳＲでは複数の発音を扱える点である。自然言語処理（ＮＬＰ：Ｎａｔｕｒａｌ  Ｌａｎｇｕａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ）の一部の局面においても、ＯＯＶの発音が必要とされる。たとえば、ＮＬＰ方式にはＡＳＲの手法を含めうるが、ＮＬＰ方式では認識された単語が実際には出力されない。代わりに、ＮＬＰシステムは、認識された単語に応じて何らかの措置をとるか、又はＴＴＳを使用して音声応答を生成しうる。
【０００９】
多くの発明者がこのＯＯＶ問題に取り組んできた。これは、「テキスト−発音変換 (text to pronunciation conversion)」又は「書記素−音素変換 (grapheme to phoneme conversion)」として公知である。さまざまなアプローチの調査結果が、特許文献２に提示されている。本発明のアプローチが新規であることを説明するために、他の最近の業績のいくつかについて論じる。
【００１０】
ＯＯＶ単語を発音する１つの明らかな方法は、その単語を個々の文字に分解し、所定の発音を各文字に割り当てるというものである。たとえば、次の英単語は、次のように妥当と思われる複数の発音に分解できるであろう。
【００１１】
ｄｏｇ→ｄ＋ｏ＋ｇ＝／ｄｏｇ／
ｃａｔ→ｃ＋ａ＋ｔ＝／ｋａｔ／
【００１２】
ただし、２番目の例では、文字「ｃ」は、「ｃｅｉｌｉｎｇ」の場合のように単音／ｓ／として発音されることも多いことに注目すべきである。「ｔｈｒｏｕｇｈ」及び「ｒｏｕｇｈ」のように、綴りと発音との間の関係が弱い単語を考えると、この方法は英語において誤りが発生しやすいことは明らかである。ただし、イタリア語又はウェールズ語では利点があるであろう。この方法は特許文献２において改良されている。特許文献２では、上記のように形成された当初の推測を学習によって得た一連の変形規則によって補う。彼らのアプローチの不具合は、単語によっては綴りと発音との間の違いが単純に大きすぎることである。これに対して、本発明では、このような難しい発音を辞書の形態で当然保持する。
【００１３】
ＯＯＶ単語を発音する別の明らかな自動的手段は、その単語を言語学的に異なる複数の部分に分けるというものである。たとえば、英語では、「ｓ」を加えることによって多くの名詞を複数形又は所有格にすることができる。
【００１４】
ｃａｔ→ｃａｔｓ＝ｃａｔ＋ｓ
ｃａｔ→ｃａｔ’ｓ＝ｃａｔ＋’ｓ
【００１５】
これらの各ケースにおいては、複数形又は所有格は一般にＯＯＶであるか、又は少なくともＯＯＶになる可能性が高い。ただし、構成部分がＯＯＶになる可能性は低い。同じことは、たとえば、英語及びドイツ語における複合語 (compound words) についても言える。たとえば以下の単語は、より基本的な部分に分解される。
【００１６】
ｇｒｅｅｎｈｏｕｓｅ＝ｇｒｅｅｎ＋ｈｏｕｓｅ
ｒａｃｅｈｏｒｓｅ＝ｒａｃｅ＋ｈｏｒｓｅ
【００１７】
複合語の場合、この「断片化 (fragmentation)」アプローチの精度は高い。
【００１８】
英語のすべての単語が頭子音 (onset) 及び韻 (rime) を有すると考える特許文献３では、一見分かりにくい分解機構を使用している。彼らの方法は、上記の複数の例を総合したものであるが、言語学的構造、すなわち頭子音及び韻、を課すという欠点がある。これに対し本発明は言語学的な規制構造を課さないという利点があることを示す。
【００１９】
特許文献４は、上記方法のさらなる総合化と見ることができる。特許文献４では、１つの単語が複数の頭子音及び複数の韻から成ると考える代わりに、接頭辞 (prefix) と挿入辞 (infix) と接尾辞 (suffix) への分解を考える。これらの断片種別ごとにそれぞれ別の発音辞書を対応付ける。次に、検索アルゴリズムがこの３種類の断片の組み合わせを用いて１つのＯＯＶ単語を構築する。この方法は、より汎用的であるが、依然として言語学的構造による制約を受ける。この方法では、所与のＯＯＶ単語に対して発音を１つだけ生成することも可能である。
【００２０】
特許文献３及び特許文献４は、どちらも単語の断片に発音を対応付けた辞書を必要とする。このような辞書を手作業で作成すると、上記のＯＯＶ単語の手入力に伴うすべての問題が発生する。自動的な方法が好ましく、トレーニング用発音辞書が与えられれば自動的な方法は可能である。このような自動的な方法の１つが、最大の共通サブワードという概念を考えた特許文献５によって開示されている。この方法では、基本的には、トレーニング用辞書に頻出する書記素と音素との長い組み合わせを検索する。頻出する組み合わせは、規則又は断片として、基本的には他のエントリと同じように辞書に格納される。共通の最大サブワードによるアプローチは、抽出される断片を意味のありそうな断片に限定するヒューリスティックと見ることができる。本発明の一局面は特許文献５と同様の目的を有するが、本発明は、共通の最大サブワードの抽出に限定されず、新規の統計的基礎に基づき、意味のある、多くの場合より短い、断片を抽出する方法を開示する。
【００２１】
【特許文献１】米国特許第６２３３５３３号
【特許文献２】米国特許第６４１１９３２号
【特許文献３】米国特許第６０９４６３３号
【特許文献４】米国特許第６０７６０６０号
【特許文献５】米国特許第６３４７２９５号
【発明の開示】
【００２２】
本発明は、書記素を音素に変換するための発音アルゴリズムを提供する。
すなわち、本発明は、
１．単語から音素へのマッピング辞書と、
２．単語から音素へのマッピングが必要な１又は２以上の単語と、
が与えられると、与えられた辞書に含まれていない単語に対しての、単語から音素へのマッピングを提供する。この発音アルゴリズムは、１つのＯＯＶ単語の断片化パターンとしてありうるすべての断片化パターンの検索に基づく。４文字から成る単語の例を図２に示す。Ｎ個の文字から成る単語の場合、ありうる断片化パターンの数は２Ｎ−１である。すなわち、断片化パターンの数は指数関数的に増える。本発明は、多数の断片化パターンを扱うための統計的手段を提供する。
【００２３】
まず、本発明は、単語から音素へのマッピングを収容した拡張辞書を必要とする。実際に、この拡張辞書内のマッピングは複数の断片を含む。本明細書においては、１つの断片を、書記素から音素への１つのマッピングと定義する。この場合、書記素列が１つの完全な単語を形成できるが、必ずしも１つの完全な単語を形成するとは限らない。この方法は辞書及び言語に依存せず、断片は音節又は接頭辞などの言語的特徴を表すことができるが、必ずしも表すとは限らない。
【００２４】
断片抽出方法の中核部分を一例によって説明する。英語発音辞書の一部を図１に示す。この図において、左側の単語は、単語「ａｂｄｕｃｔ」の語形変化に係る単語であり、右側の単音はこの辞書内の発音である。図１から一見して、いくつかの断片を推測できる。まず、先頭の２行の違いは、接尾辞「ＥＤ」１０と発音／ＥＲＤ／１１だけであることに注目されたい。これは次の発音を意味する。
【００２５】
１  ＥＤ      ＥＲ  Ｄ
【００２６】
ここで、最初の整数は一致の数である。同様に、「〜ＩＮＧ」で終わる行と「〜ＯＲ」で終わる行とを最初の行に突き合わせることによって、次のように推測できる。
【００２７】
１  ＩＮＧ    ＩＨ  Ｎ  Ｇ
１  ＯＲ      ＥＲ
【００２８】
他にも次のような組み合わせがある。
【００２９】
１  Ｓ        Ｓ
５  Ｓ        Ｚ
【００３０】
最後の断片は、５つの異なる組み合わせから推測できることに注目されたい。第１は「ａｂｄｕｃｔｅｅ」と「ａｂｄｕｃｔｅｅｓ」との違いであり、第２は「ａｂｄｕｃｔｉｏｎ」と「ａｂｄｕｃｔｉｏｎｓ」との違いである。第３は、第２の組み合わせの代替発音から推測され、最後の２つは同じ規則を「ａｂｄｕｃｔｏｒ」に適用する。最後の断片の頻度が高いことが本発明の鍵である。この断片は極めて短いにもかかわらず、統計的に有意である。
【００３１】
最後の断片の例に示すように、このアルゴリズムは当然複数の発音を生成する。これらの断片の推測には、言語学的又は語学の知識が一切不要であったことにも注目されたい。単に説明のために、左方一致を使用して英語の接尾辞を推測した。次の方法も可能である。
【００３２】
１．右方一致で接頭辞を推測する。
２．接頭辞付き単語に対して左方一致によって挿入辞を推測する。
３．接頭辞が付いていない単語に対して左方一致によって韻を推測する。
４．接尾辞が付いていない単語に対して右方一致によって頭子音を推測する。
【００３３】
いずれのケースにおいても、従来技術で言及されている用語が図らずも使用されているが、従来技術の言語的制約はない。さらに、このアルゴリズムは複数回実行でき、２回目以降の実行では、それまでの実行時に推測された断片を使用して他の断片を推測することができる。
【００３４】
このアルゴリズムを大型のトレーニング用辞書に適用すると、多くの断片が生成されるが、その多くは統計的に有意ではない。好適な実施形態においては、これらの意味のない断片は、断片の確率に閾値を設定することによって簡単に除去される。
【００３５】
次に、この拡張辞書を次のように発音アルゴリズムで使用する。最初に、発音される単語をその単語の断片化パターンとしてありうるすべての断片化パターンに分解する。断片化パターンの数が極めて多くなることもあるが、発音が得られる断片化パターンの数は通常極めて少ない。
【００３６】
ただし、発音を割り当てる前に、これらの可能な断片化パターンのそれぞれに、断片の数と各断片のサイズとに基づく尤度を割り当てる。これらの尤度を正規化して１に追加してから、降順に並び替える。次に、この並び順に断片化パターンを１つずつ第１のテンポラリリストに追加する。このリストへの追加は、累積確率が第１の閾値に達するまで行う。この処理によって、断片化パターン候補の数が管理可能なサイズに減る。
【００３７】
次に、このテンポラリリスト内の各断片化パターンに発音を割り当てる。各断片化パターンを構成する各断片の発音としてありうる発音がすべて含まれるので、断片化パターンごとに複数の発音が生成されうる。次に、これらの発音自体に尤度を割り当てる。この尤度は、各構成発音の尤度の平均である。次に、これらの発音を上記のように正規化してから並び替え、第２のテンポラリリストに追加する。第２のテンポラリリストへの追加は、累積確率が第２の閾値に達するまで行われる。最後に、この第２のテンポラリリストがＯＯＶ単語の発音として採用される。この第２のテンポラリリストが単一の発音になることもある。単一の発音が必要な場合は、尤度が最も高い発音を選択する。
【００３８】
本発明は、従来技術の以下の手法と利点とをすべて兼ね備えている。
【００３９】
１．言語に依存しないので、対象言語の構造に関する予備知識が一切不要である。
２．データ駆動型である。すなわち、トレーニング用辞書以外の入力は不要である。
３．断片化パターンに基づくので、長い単語の場合でも精度が維持される。
４．複数の発音が生成され、正しい発音が以降のデータベースアライメントで使用される可能性が高くなる。
５．すべての発音が確率情報を有するので、最適な発音を１つだけ生成できることは自明である。
【００４０】
これらを可能にするために、どの従来技術にも開示されていない統計的処理手法が用いられる。
【発明を実施するための最良の形態】
【００４１】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。なお、本発明は以下の実施形態に限定されるものではなく、本発明の実施に有利な具体例を示すにすぎない。また、以下の実施形態の中で説明されている特徴の組み合わせの全てが本発明の課題解決手段として必須のものであるとは限らない。
【００４２】
（実施形態１）
図５は、本実施形態における音声処理装置を実現するコンピュータシステムの構成を示す図である。図示のように、本コンピュータシステムは、システム全体の制御をつかさどるＣＰＵ１、ブートプログラム等を記憶しているＲＯＭ２、主記憶装置として機能するＲＡＭ３をはじめ、以下の構成を備える。
【００４３】
ハードディスク装置（ＨＤＤ）４には、ＯＳ４０１、後述する断片解析処理を行うための断片解析プログラム、発音辞書、拡張辞書などが格納されている。もっとも、このコンピュータシステムが別の機器に組み込まれるなどの場合、これらはＨＤＤではなくＲＯＭ２に格納しておくことも可能である。ＶＲＡＭ５は表示しようとするイメージデータを展開するメモリであり、ここにイメージデータ等を展開することでＣＲＴ６に表示させることができる。７及び８は、入力デバイスとしてのキーボード及びマウスである。
【００４４】
次に、たとえばエントリごとに２つのフィールドを有する発音辞書について説明する。第１のフィールドは単語であり、第２のフィールドは、その単語が実際にどのように発音されるかを表す音素列である。一例は、ＣＭＵ（カーネギー・メロン大学）辞書である。この辞書には、アメリカ英語の単語から単音へのマッピングが収容されている。一般の辞書と同じように、ＣＭＵ辞書には、特定の単語については複数のエントリが含まれている。これは、これらの単語に複数の発音が存在することを示す。ＣＭＵの単音は、１つ、２つ、又は３つのローマ字で表されている。この方式は、当技術分野においてＡＲＰＡｂｅｔとしても周知である。各単音を、たとえば、それぞれのＩＰＡ又はＳＡＭＰＡ符号で表すことができ、これらは同じ情報の符号化方法が単に異なるだけであることは周知である。
【００４５】
辞書形式のように各発音に対して単語が１回だけ出現するのではなく、それぞれ異なる単語が１度だけ出現し、その単語に複数の発音が対応付けられるように、この辞書をコンピュータのメモリに読み込む。読み込んだ後、各単語の異なる発音ごとに確率を対応付ける。これらの確率は最初に１．０に設定される。次に、この辞書を以下のように拡張する。このアルゴリズムは、オフラインでの実行を予定しているので、速度又はメモリ使用量は最適化されていない。
【００４６】
この辞書内の最初の単語をフォーカス単語とし、このフォーカス単語の最初の発音をフォーカス発音として設定する。フォーカス単語の文字数が所定の文字数を超える場合は、処理は直ちに次の単語に移る。好適な実施形態においては、この文字数は２５文字であるが、処理に使用可能なメモリ量に応じてこの値を変えてもよい。
【００４７】
次に、断片化パターンのインデックスを１に初期化し、フォーカス単語に対する断片化パターンを１つ生成する。断片化パターンのインデックスをＮ−１個のバイナリビットで表すことによって、断片化パターンのインデックスを断片化パターンに関連付ける。ここで、Ｎは、フォーカス単語内の文字数である。これを図２に示す。断片化パターンのインデックス２０のビット２１は、フォーカス単語の文字間のスペースに対応する。二進数の１は区切り位置を意味し、二進数の０は区切り位置でないことを意味する。したがって、インデックス１は、２つの文字列２２に断片化されることを意味する。この場合の一方の長さはＮ−１であり、もう一方の長さは１である。
【００４８】
図３において、フォーカス単語の断片化パターンが生成されると（３０）、次にこの断片化パターンが順方向に解析される（３１）。すなわち、フォーカス単語の先頭に対応する断片から、かつフォーカス発音の最初の単音を指す単音インデックスから解析される。この断片自体が辞書のエントリでない場合は、処理は逆方向の解析に進む。ただし、この断片が辞書のエントリである場合は、その断片の各発音が辞書エントリから順番に、フォーカス発音の単音インデックスから最初の２〜３個の単音と比較される。フォーカス発音の最初の２〜３個の単音がこの断片の辞書エントリに正確に一致すると、この断片化パターン内の次の断片を用いて順方向パーサが再帰的に呼び出され、今しがた検討された断片の発音内の単音の数だけ単音インデックスがインクリメントされる。以降の再帰呼び出しにおいては、単音インデックスの値だけずらしながら、この断片の各単音がフォーカス発音内の各単音と突き合わされる。
【００４９】
通常、上記の再帰処理は完了しないか（辞書エントリがない断片がある場合）、又は断片化パターン内の最後の断片に複数回、つまり断片の発音の組み合わせごとに、到達するかのどちらかであろう。断片化パターン内の最後の断片に到達するたびに、以下のケースの何れか１つが発生する。
【００５０】
１．何れかの断片発音がフォーカス発音の残りの単音に正確に一致した場合は、単音がまだ残っているか否かに関係なく、処理は逆方向の解析に進む。
２．その断片に対応するエントリが辞書内になかった場合は、フォーカス発音内の残りの単音がその断片に対する発音候補として採用される。また、辞書内にエントリがあったとしてもその断片の何れの発音もフォーカス発音内の残りの単音に一致しなかった場合も、フォーカス発音内の残りの単音がその断片に対する発音候補として採用される。これらの場合、当該断片と上記の残余単音とが断片候補辞書に追加され、この辞書内のその断片と発音の組み合わせに対する発音の確率が所定の確率に追加される。好適な実施形態においては、この所定の確率は０．１である。
【００５１】
上記の説明から、順方向の解析によって接尾辞の発音を推測できることが明らかになったはずである。
【００５２】
順方向の再帰呼び出しが完了したら、次にこの断片化パターンが逆方向に解析される（３２）。逆方向の解析は、以下の処理が当然逆方向から始まる点を除けば、順方向の解析と同じである。
【００５３】
１．フォーカス単語の末尾に対応する断片から解析が開始され、先頭に向かって進む。
２．単音インデックスは、初めにフォーカス発音の最後の単音を指している。
３．この断片の発音がフォーカス発音の末尾から単音インデックスまでの２〜３個の単音と比較される。
４．一致した断片発音内の単音の数だけ単音インデックスがデクリメントされる。
５．最後の断片、つまりフォーカス単語の先頭に対応する断片に対して処理が行われる。
【００５４】
なお、どちらの方向においても同じ断片候補辞書が使われる。
【００５５】
上記の説明から、逆方向の解析によって接頭辞の発音を推測できることが明らかになったはずである。
【００５６】
次に、断片化パターンのインデックスがインクリメントされ、断片化パターンインデックス２Ｎ−１−１まで（２Ｎ−１−１を含む）の各値に対して処理が繰り返される。
【００５７】
フォーカス発音に対する処理がフォーカス単語のすべての断片化パターンについて完了すると、処理は次のフォーカス発音に進み、その後、次のフォーカス単語に進む。
【００５８】
最後に、断片候補辞書内の断片候補の各発音が順番に検討される。発音に対応付けられているカウンタが所定の数値より大きい場合は、この断片とその発音とが主発音辞書に追加される。好適な実施形態においては、この所定の数値は１．０である。次に、この辞書情報をファイルに書き込んで将来使用できるようにしてもよい。辞書の拡張後、この拡張辞書を次のように用いて任意の単語が発音される。
【００５９】
１つの単語に対して１つの発音が必要な場合は、第１のステップでその単語に対応するエントリが拡張辞書にあるかどうかを調べる。エントリが存在する場合は、そのエントリに対する１つ又は２以上の発音を通常通り使用する。エントリが存在しない場合は、図４に示すＯＯＶ処理を開始する。
【００６０】
ＯＯＶ処理の第１段階では、ＯＯＶ単語の２Ｎ−１個の断片化パターン（ＮはＯＯＶ単語内の文字数）を順番に検討する（４０）。各断片化パターンについて、その断片化パターン内のすべての断片に対して辞書エントリが得られなかった場合は、処理は次の断片化パターンに進む。すべての断片に対して辞書エントリが得られた場合は、その断片化パターンを、その断片化パターン尤度と共に、第１のリストに格納する。この尤度は、次のように計算される。各断片について、断片の確率を断片化パターン内の断片の数に応じて計算する。この確率は、第１の統計的分布の値である。断片化パターンの確率を断片化パターン内の断片の数に応じて計算する。この確率は、第２の統計的分布の値である。次に、これらの値の積を求めることによって上記の断片化パターンの尤度を求める（４１）。この断片化パターンにＦ個の断片が含まれている場合は、Ｆ＋１個の数値の積を求める。好適な実施形態においては、上記の第１及び第２の統計的分布は、次式で表されるようなポアソン分布である。
【００６１】
2008145456.tif 000003
【００６２】
ただし、ｘは、第１の統計的分布の場合は断片の数であり、第２の統計的分布の場合は断片の長さである。ｖは所定の定数である。上記の第１の分布においては、ｖは６に等しい。上記の第２の分布においては、ｖは２に等しい。
【００６３】
次に、上記の第１のリスト内の断片化パターンの尤度の合計が１になるように、各尤度を尤度の合計値で除算することによって各尤度を正規化する。次に、上記第１のリスト内の断片化パターンを尤度の降順に並び替えてから、第２のリスト内の尤度の合計が第１の所定の閾値に達するまで、断片化パターンを尤度の降順に１つずつ第２のリストに追加する（４２）。好適な実施形態においては、第１の所定の閾値は０．８である。この結果、第２のリストには最も可能性の高い断片化パターンが含まれる。
【００６４】
発音処理の次の段階（４３）では、上記の第２のリスト内の断片化パターンに発音が割り当てられる。簡単に言うと、この処理は、各断片化パターンを構成する各断片に対する発音を連結し、得られたこれらの発音をテンポラリ辞書に追加するだけである。ただし、複数の発音を有する断片が多数存在するという事実によって、この処理は混乱する。このため、断片の発音の組み合わせとしてありうる組み合わせをすべて検討する。たとえば、断片化パターンが３つの断片を有し、各断片が２つの発音を有する場合は、８とおりの発音がそれぞれ異なる確率と共にテンポラリ辞書に追加される。推測された各発音に対応付けられる確率は、個々の断片の発音の確率の平均である。これらの個々の確率は、拡張処理中に計算されている。
【００６５】
最後に（４４）、テンポラリ辞書内の確率の合計が１になるように、各確率を確率の合計値で除算することによって確率を正規化する。次に、テンポラリ辞書内のすべての発音を確率の降順に並び替えてから、発音を確率の降順に１つずつ第２のテンポラリ辞書に追加する。第２のテンポラリ辞書への追加は、第２のテンポラリ辞書内の確率の合計が第２の所定の閾値に達するまで、又はテンポラリ辞書内の発音の数が第３の所定の閾値に達するまで、行う。好適な実施形態においては、第２の所定の閾値は０．４であり、第３の所定の閾値は１０である。
【００６６】
この結果、テンポラリ辞書には当該ＯＯＶ単語に対して最も尤もらしい発音が含まれる。すなわち、書記素から音素への変換が完了する。その後、これらの発音を必要に応じて使用できる。
【００６７】
（他の実施形態）
以上、本発明の好適な一実施形態を説明したが、本発明の範囲から逸脱することなく、この実施形態を変更しうる。
【００６８】
上述の実施形態の主な用途はＡＳＲトレーニング用セットのアライメントのための音声の推測であるが、得られた発音綴りは自動音声認識自体に使用することができる。ＡＳＲは文法モデル又は言語モデルに必ず依存し、これらは単語から構成されている。文法モデル又は言語モデル内の単語をＡＳＲエンジンで使用される音声モデルに対応付けるには、発音綴りが必要である。複数の発音が得られた場合は、最も尤もらしい発音を選択してもよいし、あるいは、すべての発音を使用するようにしてもよい。
【００６９】
本発明は、テキスト−音声（ＴＴＳ）変換にも使用できる。この場合、話されるテキストを発音に対応付ける必要がある。通常、必要な発音は１つだけであるので、複数の発音が得られた場合は最も尤もらしい発音を選択すればよい。
【００７０】
発音綴りは、音声情報の検索にも使用できるであろう。１つのクエリーを１又は２以上の単語として指定することができ、このクエリーは１又は２以上の音声シーケンスに変換されうる。次に、この音声シーケンスが、検索対象のデータ内の同様の音声シーケンスに突き合わされるであろう。このようなアプローチは、通常の単語検索に比べ、このクエリーのように発音される用語も検索できる点で優れている。
【００７１】
この発音処理の第２段階では、発音の確率がいくつかの断片の確率の平均によって求められたが、断片の確率の他の関数を使用してもよい。他の関数としては、断片の確率の合計又は積が挙げられる。
【００７２】
上記の辞書拡張処理においては、断片の確率を推測するために追加した断片の確率は固定値であったが、他の手段を用いて断片の確率を推測してもよい。
【００７３】
上述の実施形態では、確率を断片カウントに対応付けるためにポアソン分布を使用したが、他の分布を使用することもできる。他の分布としては、負の二項分布 (negative binomial distribution) やベルヌイ分布 (Bernoulli distribution) が挙げられる。
【００７４】
上述の実施形態で使用した音声単位は、代表的に、単音又は音素として認識されているものであるが、音声学的に導かれるか否かに関係なく、任意のサブワード単位を使用できる。たとえば、日本語のカナ又は任意の言語の音節を使用できるであろう。中国語又は韓国語の音節は、先頭文字及び最終文字（頭子音及び尾子音）、トーンなどに分解できるであろう。子音は、それを構成する閉鎖音と開放音とに分解できるであろう。
【００７５】
以上、本発明の実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００７６】
なお、本発明は、前述した実施形態の各機能を実現するプログラムを、システム又は装置に直接又は遠隔から供給し、そのシステム又は装置に含まれるコンピュータがその供給されたプログラムコードを読み出して実行することによっても達成される。
【００７７】
従って、本発明の機能・処理をコンピュータで実現するために、そのコンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、上記機能・処理を実現するためのコンピュータプログラム自体も本発明の一つである。
【００７８】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００７９】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、記録媒体としては、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【００８０】
また、プログラムは、クライアントコンピュータのブラウザを用いてインターネットのホームページからダウンロードしてもよい。すなわち、ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードしてもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードする形態も考えられる。つまり、本発明の機能・処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明の構成要件となる場合がある。
【００８１】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布してもよい。この場合、所定条件をクリアしたユーザにのみ、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報で暗号化されたプログラムを復号して実行し、プログラムをコンピュータにインストールしてもよい。
【００８２】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現されてもよい。なお、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行ってもよい。もちろん、この場合も、前述した実施形態の機能が実現され得る。
【００８３】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行ってもよい。このようにして、前述した実施形態の機能が実現されることもある。
【図面の簡単な説明】
【００８４】
【図１】実施形態における、「ａｂｄｕｃｔ」を語幹とする単語についての英語発音辞書の一例を示す図である。
【図２】本発明に係る断片化パターンの生成を説明する図である。
【図３】実施形態における、辞書内の単語から断片の発音を生成するためのアルゴリズムを示すフローチャートである。
【図４】実施形態における、辞書にない単語に対して発音を生成するためのアルゴリズムを示すフローチャートである。
【図５】実施形態に係るコンピュータシステムの構成を示す図である。
【図１】
2008145456.tif 000004
【図２】
2008145456.tif 000005
【図３】
2008145456.tif 000006
【図４】
2008145456.tif 000007
【図５】
2008145456.tif 000008