(57)【要約】音節構造を、発音の違いを解決する自動音声認識処理を構成する要素として用いて、効率的に混同しうる態様を解決して、コンテキストを活用し、音声を綴りにマッピングするシステム、方法およびコンピュータプログラムを記載する。
2020527253.tif 000002
【特許請求の範囲】
【請求項１】
データ処理方法において、
特定の言語で話された単語から生成された生成記号ストリームを、音響処理システムから計算システムで受信する工程と、
複数の生成パターンを、前記生成記号ストリームから抽出する工程と、
生成パターンから標準パターンへの１つ以上のマッピングについての条件付き確率を含むものである、保存された生成から標準へのマッピングデータを用いて、候補音節、および、各前記候補音節の確率を、前記複数の生成パターンから生成する工程と、
１つ以上のマッピングについての条件付き確率を含むものである、保存された音節から綴りパターンへのマッピングを用いて、候補綴りパターン、および、各前記候補綴りパターンの確率を、前記候補音節から生成する工程と、
前記生成記号ストリームの綴り表記を、少なくとも部分的には各前記候補綴りパターンの前記確率に基づいて生成する工程と
を含む方法。
【請求項２】
前記生成記号ストリームは、母音間子音（ＩＶＣ）および母音近傍（ＶＮ）単位を含む音素配列単位へと分割されるものであり、その分割は、該生成記号ストリームの各記号について、
３‐記号バッファをゼロに、ＩＶＣ累積バッファをゼロとなるように初期化して、生成記号を順に前記３‐記号バッファに追加する工程と、
記号を前記３‐記号バッファに追加した後に、該３‐記号バッファの中央の記号が母音であり、したがって、それらの３つの記号は、ＶＮを含むかを決定して、前記ＶＮを保存する工程と、
追加された記号が子音の場合は、前記子音を、前記ＩＶＣ累積バッファに加える工程と、
次に追加された記号が子音ではない場合は、前記記号を前記ＩＶＣ累積バッファに、ＩＶＣとして保存する工程と、
前記生成記号ストリームが続く限りは処理を継続する工程と
を順に行うことによって行われるものである、請求項１に記載のデータ処理方法。
【請求項３】
生成音素配列ストリームを、標準音素配列ストリームにマッピングする工程を、
更に含み、その工程は、
処理待ち行列を、空となるように初期化する工程と、
生成ＩＶＣとＶＮの交互のストリームを受信する工程と、
アラインメントされた生成および標準ＩＶＣの予め計算保存されたデータベースを用いる工程であって、前記データベースは、生成ＩＶＣを１つ以上の標準ＩＶＣに、保存され関連付けられた条件付き確率と共にマッピングするものである工程と、
アラインメントされた生成および標準ＶＮの保存されたデータベースを用いる工程であって、前記データベースは、生成ＶＮを１つ以上の標準ＶＮに、保存され関連付けられた条件付き確率と共にマッピングするものである工程と
によって行われるものである、請求項１に記載のデータ処理方法。
【請求項４】
前記マッピングされた標準ストリームを更に処理する工程を、
含み、その工程は、
各前記標準ＩＶＣが、直前の標準ＶＮパターンの組の少なくとも１つの要素から整合して連続したものであるかを決定し、そのようなＶＮパターンの少なくとも１つとも整合しない標準ＩＶＣを除外する工程と、
各前記標準ＶＮが、直前の標準ＩＶＣパターンの組の少なくとも１つの要素から整合して連続したものであるかを決定し、そのようなＩＶＣパターンの少なくとも１つとも整合しない標準ＶＮを除外する工程と、
整合しないＩＶＣおよびＶＮを除外した後に、条件付き確率を再び正規化する工程と
によって行われるものである、請求項３に記載のデータ処理方法。
【請求項５】
前記候補音節を生成する工程は、
整合した標準ＩＶＣパターンを、音節のコーダ‐オンセットシーケンスへと分割する工程と、
分割された整合した標準ＩＶＣパターンの前記コーダ部分を用いて、残りのＩＶＣパターンおよびＶＮパターンから増やされたオンセットを通る整合した経路を完成する工程であり、各前記整合した経路は候補音節を形成するものである工程と、
保存された音節表にない候補音節を除外する工程と、
各前記候補音節の確率を計算する工程と、
前記候補音節を保存する工程と
を含むものである、請求項１に記載の方法。
【請求項６】
各前記候補音節について確率を生成する工程は、
特定の生成記号の組に対応する各候補音節について、
前記音節ついての前記ＶＮの確率を、前記生成から標準へのマッピングの保存計算された確率から特定する工程、
前記音節のオンセットの確率を、前記オンセットがそれに基づきうる各標準ＩＶＣについての前記生成から標準へのマッピングの保存計算された確率に基づいて特定する工程と、
前記音節のコーダの確率を、前記コーダがそれに基づきうる各標準ＩＶＣについての前記生成から標準へのマッピングの保存計算された確率に基づいて特定する工程と、
前記ＶＮの前記確率、前記オンセットの前記確率、および、前記コーダの前記確率を集計して、音節確率値とする工程と、
前記特定の生成記号の組について、前記候補音節の前記音節確率値の合計を正規化する工程と
を含むものである、請求項５に記載の方法。
【請求項７】
候補音節を綴りパターンにマッピングする工程は、
アラインメントされた標準音節分けした発音および綴り音節パターンを含むデータを保存する工程と、
待ち行列を、空となるように初期化して、前記候補音節を順に提供し、学習保存された音節分けした綴りパターンの組にマッピングする工程と、
前記パターンと関連付けられた単語位置コードを用いて、無効パターンを除外する工程と、
前記マッピングされた綴りパターンを保存する工程と
を含むものである、請求項１に記載の方法。
【請求項８】
音節位置制約、および、統計モデルを適用して、出力綴りパターンを選択する工程を、更に含み、その工程は、
綴りパターンを、待ち行列を通して、重なる音節のシーケンスが順次処理される複数の音節サイズの単位のスライディングウインドウの形態で順に処理する工程と、
綴りパターンの組を受信した時に、各綴りパターンの組に対応するｎ‐グラムモデルに保存されたデータを参照する工程と、
シフトさせたｎ‐グラムモデルの条件付き確率を合計して、経路確率を生成する工程と、
前記経路確率を保存する工程と
によって行われるものである、請求項１に記載の方法。
【請求項９】
アラインメントされた生成記号パターンおよび標準記号発音パターンを含むデータを保存する工程と、
前記保存されたデータの生成および標準発音記号パターンの各組合せについて、前記パターンの確率を、該保存されたデータの前記組合せの発生回数に対応する値と、異なる生成発音の前記標準発音の発生回数に対応する値との関数として、計算する工程と、
前記生成および標準発音の組合せを、対応する前記生成から標準へのマッピングの前記組合せの計算した確率と共に保存する工程と
を更に含む、請求項３に記載の方法。
【請求項１０】
アラインメントされた音節分け標準発音および綴りパターンを含むデータを保存する工程と、
前記保存されたデータの音節分け標準発音および綴りパターンの各組合せについて、前記パターンの確率を、該保存されたデータの前記組合せの発生回数に対応する値と、該保存されたデータの前記音節分け標準発音の発生回数に対応する値との関数として、計算する工程と、
前記音節分け標準発音および綴りパターンの組合せを、対応する前記生成から標準へのマッピングの前記組合せの計算した確率と共に保存する工程と
を更に含む、請求項３に記載の方法。
【請求項１１】
文字起こしされた特定の言語で話されたか、または、書かれた音声を含む総語数コーパスを保存する工程と、
特定の言語の単語の音節分けした発音および対応する綴りパターン含む発音辞書を保存する工程と、
前記発音辞書を用いて、前記総語数コーパスを、音節分けした綴りの単語データベースに変換する工程と、
音節分けした綴りのチャンクコーパスを用いて、各ｎ‐グラムパターンについて関連回数を累積して、各候補綴り音節パターンについて確率を生成する工程と
を更に含む、請求項１に記載の方法。
【請求項１２】
文字起こしされた特定の言語で話されたか、または、書かれた音声を含む総語数コーパスを保存する工程と、
特定の言語の単語の音節分けした発音および対応する綴りパターン含む発音辞書を保存する工程と、
前記発音辞書を用いて、前記総語数コーパスを、発音音節データベースに変換する工程と、
前記発音音節データベースを用いて、各ｎ‐グラムパターンについて関連回数を累積して、各候補発音音節パターンについて確率を生成する工程と
を更に含む、請求項１に記載の方法。
【請求項１３】
訓練中に、前記システムによって生成された最も尤度が高い綴り音節パターンが、対象綴りパターンに一致しない場合には、
予期しない綴り音節パターンを含む多音節シーケンスの拡張コンテキストを保存する工程と、
認識時に、前記システムによって生成された各綴り音節パターンをマッチングして、任意の保存されたシーケンスに一致するか分かるようにする工程と、
一致した場合には、前記拡張コンテキストシーケンスを保存し、一致しない場合には、最も尤度が高い綴りパターンを保存する工程と
を更に含む、請求項１に記載の方法。
【請求項１４】
音節分けが単語位置表記を含み、オンセット最大化の原則を用いて実行される場合には、その音節分け標準発音パターンにアラインメントされた綴りパターンを含む発音辞書を保存する工程を、
更に含む、請求項７に記載の方法。
【請求項１５】
生成記号ストリームは、コンピュータシステムのデジタル方式でプログラムされたロジックを用いて、テレビ番組のオーディオ入力から生成されるものであり、
前記特定の綴りパターンを、前記テレビ番組を表示している表示装置に、該テレビ番組の字幕として表示させる工程を、
更に含む、請求項１に記載の方法。
【請求項１６】
システムにおいて、
１つ以上のプロセッサと、
命令を保存するメモリと
を含み、前記命令は、前記１つ以上のプロセッサによって実行された場合に、
特定の言語で話された単語から生成された生成記号ストリームを、音響処理システムから受信する処理と、
複数の生成パターンを、前記生成記号ストリームから抽出する処理と、
生成パターンから標準パターンへの１つ以上のマッピングについての条件付き確率を含むものである、保存された生成から標準へのマッピングデータを用いて、候補音節、および、各前記候補音節の確率を、前記複数の生成パターンから生成する処理と、
１つ以上のマッピングについての条件付き確率を含むものである、保存された音節から綴りパターンへのマッピングを用いて、候補綴りパターン、および、各前記候補綴りパターンの確率を、前記候補音節から生成する処理と、
前記生成記号ストリームの綴り表記を、少なくとも部分的には各前記候補綴りパターンの前記確率に基づいて生成する処理と
を行わせるものであるシステム。
【請求項１７】
前記生成記号ストリームは、母音間子音（ＩＶＣ）および母音近傍（ＶＮ）単位を含む音素配列単位へと分割されるものであり、その分割は、該生成記号ストリームの各記号について、
３‐記号バッファをゼロに、ＩＶＣ累積バッファをゼロとなるように初期化して、生成記号を順に前記３‐記号バッファに追加する処理と、
記号を前記３‐記号バッファに追加した後に、該３‐記号バッファの中央の記号が母音であり、したがって、それらの３つの記号は、ＶＮを含むかを決定して、前記ＶＮを保存する処理と、
追加された記号が子音の場合は、前記子音を、前記ＩＶＣ累積バッファに加える処理と、
次に追加された記号が子音ではない場合は、前記記号を前記ＩＶＣ累積バッファに、ＩＶＣとして保存する処理と、
前記生成記号ストリームが続く限りは処理を継続する処理と
を順に行うことによって行われるものである、請求項１６に記載のシステム。
【請求項１８】
前記命令は、前記１つ以上のプロセッサによって実行された場合に、生成音素配列ストリームを、標準音素配列ストリームにマッピングする処理を、
更に行わせ、その処理は、
処理待ち行列を、空となるように初期化する処理と、
生成ＩＶＣとＶＮの交互のストリームを受信する処理と、
アラインメントされた生成および標準ＩＶＣの予め計算保存されたデータベースを用いる処理であって、前記データベースは、生成ＩＶＣを１つ以上の標準ＩＶＣに、保存され関連付けられた条件付き確率と共にマッピングするものである処理と、
アラインメントされた生成および標準ＶＮの保存されたデータベースを用いる処理であって、前記データベースは、生成ＶＮを１つ以上の標準ＶＮに、保存され関連付けられた条件付き確率と共にマッピングするものである処理と
によって行われるものである、請求項１６に記載のシステム。
【請求項１９】
前記命令は、前記１つ以上のプロセッサによって実行された場合に、前記マッピングされた標準ストリームを更に処理する処理を、
行わせ、その処理は、
各前記標準ＩＶＣが、直前の標準ＶＮパターンの組の少なくとも１つの要素から整合して連続したものであるかを決定し、そのようなＶＮパターンの少なくとも１つとも整合しない標準ＩＶＣを除外する処理と、
各前記標準ＶＮが、直前の標準ＩＶＣパターンの組の少なくとも１つの要素から整合して連続したものであるかを決定し、そのようなＩＶＣパターンの少なくとも１つとも整合しない標準ＶＮを除外する処理と、
整合しないＩＶＣおよびＶＮを除外した後に、条件付き確率を再び正規化する処理と
によって行われるものである、請求項１８に記載のシステム。
【請求項２０】
前記候補音節を生成する処理は、
整合した標準ＩＶＣパターンを、音節のコーダ‐オンセットシーケンスへと分割する処理と、
分割された整合した標準ＩＶＣパターンの前記コーダ部分を用いて、残りのＩＶＣパターンおよびＶＮパターンから増やされたオンセットを通る整合した経路を完成する処理であり、各前記整合した経路は候補音節を形成するものである処理と、
保存された音節表にない候補音節を除外する処理と、
各前記候補音節の確率を計算する処理と、
前記候補音節を保存する処理と
を含むものである、請求項１６に記載のシステム。
【請求項２１】
各前記候補音節について確率を生成する処理は、
特定の生成記号の組に対応する各候補音節について、
前記音節ついての前記ＶＮの確率を、前記生成から標準へのマッピングの保存計算された確率から特定する処理、
前記音節のオンセットの確率を、前記オンセットがそれに基づきうる各標準ＩＶＣについての前記生成から標準へのマッピングの保存計算された確率に基づいて特定する処理と、
前記音節のコーダの確率を、前記コーダがそれに基づきうる各標準ＩＶＣについての前記生成から標準へのマッピングの保存計算された確率に基づいて特定する処理と、
前記ＶＮの前記確率、前記オンセットの前記確率、および、前記コーダの前記確率を集計して、音節確率値とする処理と、
前記特定の生成記号の組について、前記候補音節の前記音節確率値の合計を正規化する処理と
を含むものである、請求項２０に記載のシステム。
【請求項２２】
候補音節を綴りパターンにマッピングする処理は、
アラインメントされた標準音節分けした発音および綴り音節パターンを含むデータを保存する処理と、
待ち行列を、空となるように初期化して、前記候補音節を順に提供し、学習保存された音節分けした綴りパターンの組にマッピングする処理と、
前記パターンと関連付けられた単語位置コードを用いて、無効パターンを除外する処理と、
前記マッピングされた綴りパターンを保存する処理と
を含むものである、請求項１６に記載のシステム。
【請求項２３】
前記命令は、前記１つ以上のプロセッサによって実行された場合に、音節位置制約、および、統計モデルを適用して、出力綴りパターンを選択する処理を、
更に行わせ、その処理は、
綴りパターンを、待ち行列を通して、重なる音節のシーケンスが順次処理される複数の音節サイズの単位のスライディングウインドウの形態で順に処理する処理と、
綴りパターンの組を受信した時に、各綴りパターンの組に対応するｎ‐グラムモデルに保存されたデータを参照する処理と、
シフトさせたｎ‐グラムモデルの条件付き確率を合計して、経路確率を生成する処理と、
前記経路確率を保存する処理と
によって行われるものである、請求項１６に記載のシステム。
【請求項２４】
前記命令は、前記１つ以上のプロセッサによって実行された場合に、
アラインメントされた生成記号パターンおよび標準記号発音パターンを含むデータを保存する処理と、
前記保存されたデータの生成および標準発音記号パターンの各組合せについて、前記パターンの確率を、該保存されたデータの前記組合せの発生回数に対応する値と、異なる生成発音の前記標準発音の発生回数に対応する値との関数として、計算する処理と、
前記生成および標準発音の組合せを、対応する前記生成から標準へのマッピングの前記組合せの計算した確率と共に保存する処理と
を更に行わせるものである、請求項１８に記載のシステム。
【請求項２５】
前記命令は、前記１つ以上のプロセッサによって実行された場合に、
アラインメントされた音節分け標準発音および綴りパターンを含むデータを保存する処理と、
前記保存されたデータの音節分け標準発音および綴りパターンの各組合せについて、前記パターンの確率を、該保存されたデータの前記組合せの発生回数に対応する値と、該保存されたデータの前記音節分け標準発音の発生回数に対応する値との関数として、計算する処理と、
前記音節分け標準発音および綴りパターンの組合せを、対応する前記生成から標準へのマッピングの前記組合せの計算した確率と共に保存する処理と
を更に行わせるものである、請求項１８に記載のシステム。
【請求項２６】
前記命令は、前記１つ以上のプロセッサによって実行された場合に、
文字起こしされた特定の言語で話されたか、または、書かれた音声を含む総語数コーパスを保存する処理と、
特定の言語の単語の音節分けした発音および対応する綴りパターン含む発音辞書を保存する処理と、
前記発音辞書を用いて、前記総語数コーパスを、音節分けした綴りの単語データベースに変換する処理と、
音節分けした綴りのチャンクコーパスを用いて、各ｎ‐グラムパターンについて関連回数を累積して、各候補綴り音節パターンについて確率を生成する処理と
を更に行わせるものである、請求項１６記載のシステム。
【請求項２７】
前記命令は、前記１つ以上のプロセッサによって実行された場合に、
文字起こしされた特定の言語で話されたか、または、書かれた音声を含む総語数コーパスを保存する処理と、
特定の言語の単語の音節分けした発音および対応する綴りパターン含む発音辞書を保存する処理と、
前記発音辞書を用いて、前記総語数コーパスを、発音音節データベースに変換する処理と、
前記発音音節データベースを用いて、各ｎ‐グラムパターンについて関連回数を累積して、各候補発音音節パターンについて確率を生成する処理と
を更に行わせるものである、請求項１６に記載のシステム。
【請求項２８】
前記命令は、前記１つ以上のプロセッサによって実行された場合に、
訓練中に、前記システムによって生成された最も尤度が高い綴り音節パターンが、対象綴りパターンに一致しない場合には、
予期しない綴り音節パターンを含む多音節シーケンスの拡張コンテキストを保存する処理と、
認識時に、前記システムによって生成された各綴り音節パターンをマッチングして、任意の保存されたシーケンスに一致するか分かるようにする処理と、
一致した場合には、前記拡張コンテキストシーケンスを保存し、一致しない場合には、最も尤度が高い綴りパターンを保存する処理と
を更に行わせるものである、請求項１６記載のシステム。
【請求項２９】
前記命令は、前記１つ以上のプロセッサによって実行された場合に、
音節分けが単語位置表記を含み、オンセット最大化の原則を用いて実行される場合には、その音節分け標準発音パターンにアラインメントされた綴りパターンを含む発音辞書を保存する処理を、
更に行わせるものである、請求項２１に記載のシステム。
【請求項３０】
生成記号ストリームは、コンピュータシステムのデジタル方式でプログラムされたロジックを用いて、テレビ番組のオーディオ入力から生成されるものであり、
前記命令は、前記１つ以上のプロセッサによって実行された場合に、
前記特定の綴りパターンを、前記テレビ番組を表示している表示装置に、該テレビ番組の字幕として表示させる処理を、
更に行わせるものである、請求項１６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の一技術分野は、話者を問わないコンピュータによる自動音声認識である。他の技術分野は、記録されたオーディオ信号からの音声を表す記号を、視聴覚番組のグラフィカルテキスト字幕などで連続表示しうるテキストに自動変換する技術である。本開示は、概して、話された単語をテキストまたは他の記号表記に変換する処理に関し、音声の自動文字起こしを含む。
【背景技術】
【０００２】
本章で記載するアプローチは、追及しうるものであるが、必ずしも、既に考えられたり、追及されたりしたものとは限らない。したがって、別段の記載がない限りは、本章のいずれのアプローチも、単に、本章に含められたというだけで、従来技術であると見なされるべきではない。
【０００３】
ライブテレビ放送中に話された音声に対応するテキスト字幕の自動生成表示など、自動音声認識（ＡＳＲ）のいくつかの利用例において、単語の正確さが高いこと、単語の発話から、対応する文字起こしテキストが入手可能になるまでの遅延が小さいか、無いこと、更に、話された単語が予め定義された語彙リストにない場合でも、良好な結果を生成できることが必要である。更に、計算効率が高く、省エネルギーで、クラウドに接続しなくても、分散した計算装置上で完全な性能で機能しうるＡＳＲシステムも必要である。
【発明の概要】
【０００４】
本開示の目的は、話者が発声し、音響特性分析により記号形式に自動で割り当てられた音を表す記号の入力ストリームを、対応する文字起こしされた綴りパターンの出力ストリームに変換することである。発声された音は標準発音から大きく異なることが多いが、そのような場合でも、意図された単語に正確に文字起こしすることも目的とする。更に、システムの訓練中に用いた参照辞書になかった単語についても、妥当な文字起こしを行うこと、つまり、「語彙外」問題を軽減することも目的とする。更に、音声生成と、それに対応する文字起こしされた綴りパターン生成の間の遅延（「待ち時間」）を最小にすることも目的とする。更に、上記目的を、低い計算複雑性で実現することを目的とする。音節は、音声の基本時間構造単位である。本開示のいくつかの態様は、音節の周囲、および、その内部構造での処理工程を、分割、アラインメント、同期、マッピング、更に、モデル化を行うように構成して、上記目的を実現する。
【図面の簡単な説明】
【０００５】
【図１】オンセット、核、および、コーダを含む音節構造を示している。
【図２】ＩＰＡ記号とＫｌａｔｔｅｓｅの対応を示す図である。
【図３】多音節語の構造を示す。
【図４】様々なストリームの関係を示す。
【図５Ａ】例示的な訓練参考材料を示す。
【図５Ｂ】例示的な訓練参考材料を示す。
【図６】音素配列パターンを発音辞書から学習する例示的な方法を示すフローチャートである。
【図７】生成パターンから標準パターンへのマッピングを学習する例示的な方法を示すフローチャートである。
【図８】候補音節から綴りパターンへのマッピングを学習する例示的な方法を示すフローチャートである。
【図９】ＩＶＣパターンおよびＶＮパターンを、生成ストリームから抽出する例示的な方法を示すフローチャートである。
【図１０】候補音節の組を、標準パターンの組から生成する例示的な方法を示すフローチャートである。
【図１１】整合性制約の適用を示す図である。
【図１２】生成パターンの標準ＩＶＣに対する確率の例を示し、整合性制約を用いた削減を含む。
【図１３】候補音節を綴りパターンにマッピングする例示的な方法を示すフローチャートである。
【図１４】位置制約および統計モデルを適用して、出力綴りパターンを選択する例示的な方法を示すフローチャートである。
【図１５】綴り候補のコンフュージョンネットワークを示す。
【図１６】音節構造を用いて自動音声認識を行う例示的な方法を示す。
【図１７】実施形態を行いうるコンピュータシステムを示すブロック図である。
【発明を実施するための形態】
【０００６】
以下の記載において、本開示の完全な理解のために多数の具体的な詳細事項を示して説明する。しかしながら、本発明の実施形態は、これらの具体的な詳細事項を含まずに実施しうることが明らかだろう。他の場合において、本開示を不必要に曖昧にしないために、既知の構造および装置をブロック図で示している。実施形態を以下のような各章で開示する。
【０００７】
１．概観  
２．例示的な言語処理システムの概観  
３．音節構造の概観  
４．動作段階  
４．１  訓練段階  
４．１．１  発音辞書から音素配列パターンの学習  
４．１．２  生成パターンから標準パターンへのマッピングの学習  
４．１．３  標準音節と綴りパターンの関係の学習  
４．１．４  音節発音空間でｎ‐グラムモデルの学習  
４．１．５  音節綴り空間でｎ‐グラムモデルの学習  
４．１．６  閾値およびオーバーライドの学習  
４．２  認識段階  
５．使用例  
６．実施形態の利点  
７．ハードウェア概略
【０００８】
１．概観  
実施形態において、方法は、音素配列規則および制約を反映した音節および音声の他の音節サイズの単位を用いて、話された音の入力ストリームを表す記号および他の非音声記号（生成ストリーム）を、標準発音のストリーム（標準ストリーム）に変換し、次に、標準ストリームを、綴りテキストの出力（綴りストリーム）に変換する。
【０００９】
方法は、訓練段階および認識段階を含む。訓練段階は、（特別に構成された発音辞書、並びに、文字起こしされた単語および文のコーパス含む）訓練材料の組を用いて、（生成、標準、および、綴りの）３つのストリームから、音節およびそれらの構成要素、母音間子音（ＩＶＣ）音素シーケンス、母音近傍（ＶＮ）音素シーケンス、および、音節サイズの綴り単位を含む言語音素配列単位またはパターンのうち、いくつかの擬似閉集合の組を、抽出する工程を含む。これらの単位またはパターンの各組は、音素、音節および単語の配列および分割を支配する規則によって制約される。次に、処理は、生成ストリームから抽出された各単位を、全ての容認標準単位と関連付けるか、マッピングさせて、各生成‐標準関連付けの条件付き確率を決定する。訓練材料を再び用いて、処理は、標準単位またはパターンを、容認綴りパターンと関連付けるか、マッピングさせて、条件付き確率を、各標準‐綴り組合せに指定する。更に、訓練材料を用いて、音節の発音および綴りの両方について、ｎ‐グラムモデルを生成する。最後に、訓練工程は、学習し、容認されるが非常に低い確率の音節を破棄して、拡張コンテキストツールを生成して、前の工程で満足な結果が得られなかった場合を修正する。
【００１０】
認識段階は、言語学上の単位の組、および、訓練段階で学習した３つのマッピングされたストリームの条件確率を用いる工程を含む。生成ＩＶＣおよび生成ＶＮを、入力音響記号ストリームから抽出して、生成ＩＶＣおよびＶＮストリームまたは待ち行列を生成する。そのストリームは、学習した条件付き確率を用いて標準ＩＶＣおよびＶＮパターンの組にマッピングされて、標準ＩＶＣおよびＶＮストリームまたは待ち行列を生成する。標準ＩＶＣおよびＶＮのストリームから、学習した容認ＩＶＣおよびＶＮの組と整合しないＩＶＣおよびＶＮパターンが除外され、条件付き確率が、再び正規化される。次に、標準ストリームは、候補音節のコーダ‐オンセットシーケンスの組に分割されて、そこから、候補音節のストリームが生成される。容認できない音節、つまり、音節表にない音節は除外されて、正規化された条件付き確率が、容認候補について、ＩＶＣ、ＶＮ、コーダ、および、オンセットの学習した確率から生成される。次に、候補ＩＶＣパターンを、学習して関連付けられた綴りパターンの組にマッピングする。学習した音節位置制約と整合しないパターンは除外されて、その結果得られる容認綴りパターンのストリームに、スライディングｎ‐グラムコンテキストモデルを適用して、経路確率を生成する。最も尤度が高い綴りパターンを、それが、学習した拡張コンテキストのオーバーライドの組の要素として特定されない限りは、出力し、特定された場合には、オーバーライドを出力する。
【００１１】
２．例示的な言語処理システムの概観  
図５Ａは、音声および非音声音を表す記号ストリームを、綴りパターンの出力ストリームに変換するマッピングを訓練するための例示的なシステムを示している。
【００１２】
計算システム５００を、１つ以上のプロセッサコアを有するサーバクラスのコンピュータまたは他のコンピュータ、コプロセッサ、若しくは、他のコンピュータを用いて実現しうる。計算システム５００は、物理的サーバコンピュータ、および／または、クラウドコンピューティングを介するものなど、データセンタに保存された仮想サーバインスタンスでありうる。更に、または、その代わりに、計算システム５００は、スマートフォン、パーソナルコンピュータ、タブレットコンピューティング装置、ＰＤＡ、ラップトップ、または、情報の送受信が可能で本明細書に記載の機能を行いうる任意の他の計算装置でありうる。
【００１３】
図５Ａは、単一の計算システム５００を、分かり易い例を示すために個別の要素と示している。しかしながら、他の実施形態において、より多くの計算システムを用いて、本明細書に記載の機能を行いうる。例えば、第１の計算システムは、訓練材料５０２を用いて、抽出、マッピング、および、音素配列単位の組の生成を行い、マッピング５１２を、第２の計算システムに送信しうる。第２の計算システムは、マッピング５１２を用いて、綴りパターンを、記号ストリームから生成しうる。更に、または、その代わりに、多数の計算システムを用いうる。
【００１４】
計算システム５００は、訓練材料５０２を含む。訓練材料５０２は、抽出およびマッピング５１２を生成するのに用いるデータを含む。図５Ａの実施形態において、訓練材料５０２は、発音辞書５０４、パラレルに文字起こしされた音声音のコーパス５０６、および、総語数コーパス５０８を含む。他の実施形態において、多少の訓練材料を用いて、抽出およびマッピング５１２を生成しうる。
【００１５】
発音辞書５０４は、特定の言語の単語の音節分けした標準発音および対応する綴りパターンを含む。本開示では、例として英語を用いているが、本明細書に記載の方法は、任意の言語で用いうる。
【００１６】
パラレルに文字起こしされた音声音のコーパス５０６は、特定の言語の異なる音ストリームのアラインメントされた生成および標準発音を含む。
【００１７】
総語数コーパス５０８は、特定の言語で話されたか、または、書かれた一連の句または文を文字起こししたものを含む。
【００１８】
これらの３つツールの全ては、専有材料または商業的に入手可能なコーパス、若しくは、それらの組合せから構成されうる。
【００１９】
訓練命令５１０は、計算システムのＲＡＭなどのメインメモリの１つ以上のページの組を含みうるもので、そこに、実行可能な命令がロードされており、実行された時には、計算システムに、それらのモジュールについて本明細書に記載の機能および動作を行わせうる。例えば、訓練命令は、ＲＡＭのページの組を含み、それは、実行された場合には、生成発音パターンの各インスタンスの特定、および、そのパターンの１つ以上の標準発音パターンへのマッピングを行わせる命令を含みうる。
【００２０】
命令は、ＣＰＵ、ＧＰＵ、Ｐｈｉまたは他の処理チップの命令の組で機械実行可能なコードであり、ＪＡＶＡ（登録商標）、Ｃ、Ｃ＋＋、ＯＢＪＥＣＴＩＶＥ−Ｃ、または、任意の他の人間が読むことができるプログラミング言語または環境で記述されたソースコードを元にコンパイルされたもののみか、若しくは、ＪＡＶＡＳＣＲＩＰＴ（登録商標）、他のスクリプト言語、および、他のプログラミングソーステキストのスクリプトとの組合せでありうる。「ページ」という用語は、広義に、メインメモリ内の任意の領域のことを称することを意図し、システムで用いる具体的な用語は、メモリアーキテクチャまたはプロセッサアーキテクチャに応じて異なりうる。他の実施形態において、訓練命令５１０は、図５Ａのシステムまたは別のリポジトリシステムで、不揮発性ＲＡＭまたはディスク記憶装置などの大容量記憶装置にデジタル方式で保存されたソースコードの１つ以上のファイルまたはプロジェクトも表しうるもので、それは、コンパイルまたはインタープリットされた場合に、実行可能な命令を生成し、命令が実行された場合に、コンピュータが、それらの命令について、本明細書に記載の機能または動作を行いうる。つまり、図面は、プログラマーまたはソフトウェア開発者が、後でコンパイルして実行可能にするか、または、コンピュータが実行するためにバイトコードまたは等価物にインタープリットするソースコードを構成配列する様子を示しうる。
【００２１】
実施形態において、計算システム５００は、訓練命令５１０を用いて、様々な言語処理値５１２を生成する。これらは、発音辞書から学習した音素配列データの組を含み、それは、音節（音節表）、音節オンセット、音節コーダ、条件付き確率と関連付けられたＩＶＣパターンおよびＶＮパターンの包括的な組を１つ以上含む。それらは、４．１．２章に記載するような生成ＩＶＣおよびＶＮパターンの標準ＩＶＣおよびＶＮパターン５１６へのマッピング、並びに、標準音節の綴りへのマッピング５１８も含む。それらは、音節発音のｎ‐グラムモデル５２０、および、音節綴りのｎ‐グラムモデル５２２を学習する工程も含む。それらは、４．１．６章に記載するような音節確率閾値およびコンテキストのオーバーライド５２４を学習する工程も含む。
【００２２】
計算システム５００は、更に、マッピングを用いて、入力生成パターンから綴りパターンを生成するようにプログラムまたは構成されうる。更に、または、その代わりに、計算システム５００は、マッピングを、ネットワークを介して異なる計算装置に送信するようにプログラムまたは構成されうる。ネットワークは、広義で、１つ以上のデータ通信ネットワークの任意の組合せを表し、それは、ローカルエリアネットワーク、ワイドエリアネットワーク、インターネットワークまたはインターネットを含み、地上または衛星リンクを含む任意の有線または無線リンクを用いるものである。ネットワークは、計算システム５００と第２の計算システムの間でのデータ交換を提供する任意の媒体または機構によって実現されうる。計算システム５００と第２の計算システムは、直接（有線または無線）通信リンクも有しうる。計算システム５００は、ＴＣＰ／ＩＰ、Ｂｌｕｅｔｏｏｔｈ（登録商標）などの標準ネットワーク通信プロトコル、および、ＨＴＴＰ、ＴＬＳなど、より高いレイヤのプロトコルを用いるようにプログラムまたは構成されうる。
【００２３】
３．音節構造の概観  
音声は、調音器官（つまり、あご、舌、唇など）の構成を変化させて生成される。子音は、声道に沿ったどこかで、狭窄を形成することによって生成され、一方、母音は、もっと開放した構成で生成される。狭窄と開放を交互に行うことで、音声信号に変調パターンを生じて、それは、何か他の音響および音素配列の合図も用いて、音節に感覚的に分割される。音節は、音声の基本的時間構造単位である。訓練がほとんどなくても、子供は、「意味を成さない」単語（例えば、「ｎａｐｋａｐｉｔｙ」）を含む未知の単語についてさえ、発話された音節数を数えうる。音節の「ビート」は、音声に特徴的なリズムを与えて、混同しうる代わりのものに焦点を当てた感覚処理が、各ビート内で、できるようにする。音節の内部構造（つまり、音素配列）が、その言語で容認される音素シーケンスを局所的に制約するので、認知効率は更に高められる。
【００２４】
音素配列制約は、音節間の潜在的な分割点も限定する。単語の境は、音節の境の部分集合なので、音節分割の制約は、単語分割も制約する。音節は、多数の他の方法で、音声認知に貢献する。例えば、音節は、語の強勢の担体であり、更に、疑問文を平叙文から識別、句の境検出などに用いられるピッチパターンおよび時間延長という合図も担持する。
【００２５】
本開示のいくつかの態様は、音節の構造を活用する。図１は、単音節語「ｓｔｒｅｎｇｔｈｓ」の構造を示している。図１に示すように、音節は、３つの部分である「オンセット」１０３、「核」１０４、および、「コーダ」１０５を含む。オンセット１０３は、核の前のゼロ以上の子音のシーケンスである。核１０４は、単一の母音的な音である。コーダ１０５は、核の後のゼロ以上の子音のシーケンスである。図１において、更に、本開示を通して、発音１０２は、「Ｋｌａｔｔｅｓｅ」で表している。
【００２６】
ＩＰＡ記号からＫｌａｔｔｅｓｅへの対応を、図２に示す。この表記を、利便性が高く、計算が容易なことから用いる。音素配列規則が支配する音節を、調音器官の特徴パターンまたは聴覚特徴パターンなどの任意の他の発音記号表記で画定しうる場合には、それらの表記を用いうる。図２から分かるように、音素記号を、子音２００または核２０１として分類しうる。
【００２７】
各言語は、オンセットで、コーダで、または、音節全体で生じうる記号シーケンスを制限する音素配列規則の組を有する。英語では、例えば、／ｓｔｒ／は、コーダではなく、オンセットとして容認される。同様に、／ＧｋＴｓ／は、オンセットではなくコーダとして容認される。多音節語、および、話された単語のシーケンスにおいて、１つの音節のコーダの後に、次の音節のオンセットがくる。図３は、これを、２音節の単語「ａｃｔｉｏｎ」を用いて示している。ここで、コーダ‐オンセットシーケンス内の記号パターンを、ＩＶＣ３０１パターンと称する。ＩＶＣパターン内の音節の境は、ＩＶＣパターンを分割した結果、有効コーダパターンおよび有効オンセットパターンが得られる場所だけで生じうる。
【００２８】
図３を参照すると、潜在的には、ＩＶＣパターン３０１の／ｋＳ／は、／‐ｋＳ／、／ｋ‐Ｓ／、または、／ｋＳ‐／に分割されうる。しかしながら、／ｋＳ／は、有効コーダでも、有効オンセットでもないので、唯一の有効な分割は、／ｋ‐Ｓ／である。いくつかのＩＶＣパターンについて、コーダ‐オンセットシーケンスを分ける１つより多くの有効な分け方がある。そのような場合に、辞書発音を音節分けする時に、実施形態は、有効オンセットである可能性があるものから最長のものが選択されるようにＩＶＣを分割する「オンセット最大化の原則」（ＭＯＰ）を用いる工程を含む。例えば、単語「ｍｏｄａｌ」は、ｍｏ‐ｄａｌ、または、ｍｏｄ‐ａｌに分割しうる。ＭＯＰは、前者の分け方を必要とする。「コーダ最大化の原則」（ＭＣＰ）など、任意の他の整合した方法を用いうる。いずれの方法を用いた場合にも、共通の組の様々な長さのＩＶＣとなる。更に、オンセットとコーダの複雑さは、言語によって異なる。したがって、ＩＶＣの最大数、および、ＩＶＣ内の子音の数も、言語、および、関連辞書が１つより多くの言語から単語を組み込む程度に応じて長さが異なる。
【００２９】
ＶＮ３０２パターンは、音節の核の前の音素、核、および、核の後の音素を含む。オンセットおよび／またはコーダがｎｕｌｌの音節について、ＶＮの最初および／または最後の記号を、音声の切れ目、または、隣接した音節からの音声音と称しうる。
【００３０】
音節構造を活用することで、いくつかの利点を提供する。音節、および、その内部構造は、容認音パターンについての局所決定的制約を提供する（例えば、ＩＶＣパターンは、有効コーダ‐オンセットシーケンスを含まなくてはならない、発話の最初のＩＶＣは、有効オンセットでなくてはならないなど）。これらの制約と整合しない仮のパターンは価値がないとして、更なる処理から除外されて、認識時間で要求される計算の数を大きく削減し、有効パターンの確率を高めうる。
【００３１】
容認コーダおよびオンセットパターンの組は、可能な音節分割点を非常に制約する。これにより、競合する仮の音節が、一時的にアラインメントされた組を形成するのを可能にする。通常の話す速度は、毎秒８未満の音節を生成し、各音節「ビート」の到着と同期した処理工程を、遅い速度においても適用するのを可能にする。十分に大きく適切に用意された発音辞書から学習した場合には、オンセット、コーダ、音節、ＩＶＣパターン、および、ＶＮパターンは、擬似閉集合を形成する。言語の音素配列規則が変化することは、稀である。したがって、語彙外という問題は、音節に関する単位に基づく場合には、大きく削減される。多数の発音の変形は、単語の端近くのＩＶＣパターン内で、または、音節の中心部分のＶＮパターンで生じる規則的変化である。規則的変化を学習することによって、候補標準形を、変更された生成形から回復しうる。
【００３２】
各音節の発音は、１つ以上の綴りパターンに関連付けられている。図１に示すように、綴りパターン「ｓｔｒｅｎｇｔｈｓ」１００は、音節の発音／ｓｔｒ’ＥＧｋＴｓ／１０２に関連付けられる。／ｓｔｒ’ＥＧｋＴｓ／などのいくつかの音節は、１つだけの関連付けられた綴りパターンを有する。他の音節は、多数の関連付けられた綴りパターンを有する。例えば、／Ｄ’Ｅｒ／は、綴りパターン「ｔｈｅｒｅ」、「ｔｈｅｉｒ」、および、「ｔｈｅｙ’ｒｅ」と関連付けられる。所定の音節について関連付けられた綴りパターンは、単語中の音節位置によって影響を受けることが多い。例えば、／Ｄ’Ｅｒ／の「ｔｈｅｙ’ｒｅ」としての綴りのマッピングは、／Ｄ’Ｅｒ／が単音節語を表す場合にのみ生じ、一方、綴りのマッピング「ｔｈｅｒｅ」は、単音節語について、または、多音節語、例えば、「ｔｈｅｒｅｆｏｒｅ」の最初の音節として、正しいことがありうる。
【００３３】
音節位置の綴りのマッピングへの影響を活用するために、発音辞書は、音節位置によって決定されたコードを含む。観察された関連を、単音節語については、「０」と符号を付し、多音節語の最初の音節については、「１」と符号を付し、多音節語の次の音節については、「２」と符号を付している。図１において、「０」の位置コード１０１は、「ｓｔｒｅｎｇｔｈｓ」の音節／ｓｔｒ’ＥＧｋＴｓ／との関連が、単音節語で生じることを示している。図３において、「１」の位置コード３０３は、綴りパターン「ａｃ」の音節／’＠ｋ／との関連が、多音節語の最初の音節で生じることを示し、「２」の位置コード３０４は、綴りパターン「ｔｉｏｎ」の音節／Ｓｘｎ／との関連が、多音節語の最初の音節以外で生じることを示している。
【００３４】
音節毎の処理を用いることで、コンテキストモデリングおよび制約を、音響および綴りの両方の観点で同じ単位に適用して、曖昧さの排除を補完しうる。
【００３５】
４．動作段階  
本開示の実施形態は、訓練と認識の２つの段階に分けられる。両方の段階は、段階的な生成、標準および綴りの３つの記号ストリームで行われる。図４は、ストリームの関係を示している。最初のストリームは、訓練段階と認識段階の両方で最初の入力である生成４０２ストリームである。生成ストリームは、話者によって生成されて、音響信号の自動処理によって記号形に変換された入力音シーケンスを記号で表したものである。入力ストリームは、生成ＩＶＣ４０３パターンおよびＶＮ４０１パターンに分割される。
【００３６】
訓練段階で学習したマッピングを、認識段階で用いて、各生成ＩＶＣ４０３およびＶＮ４０１パターンを対応する標準ＩＶＣ４０４およびＶＮパターン４００の組に、関連付けられた条件付き確率を用いて変換する。これらの標準ＩＶＣおよびＶＮパターンは、次に、標準音節４０５にマッピングされ、それは次に、綴りのストリーム４０６にマッピングされる。但し、図４において、明瞭に示すために、マッピングされたパターンの組を、それらの組の単一の要素で表している。
【００３７】
４．１訓練段階  
訓練段階において、システムは、オンセット、コーダ、音節、ＩＶＣ、および、ＶＮの許容パターン、並びに、生成ストリームのそのような各パターンと標準空間の１つ以上の対応するパターンの組との関連付けを学習する。更に、関連付けられた綴りパターンの組を、各標準音節について学習し、条件付き確率を、そのような各関連付けられたパターンに指定する。音節単位に基づいたｎ‐グラムコンテキストモデルも、音節発音および音節綴りパターンの両方に基づいて学習する。許容パターンとｎ‐グラムモデルの様々な組を、訓練材料を参照して学習する。図５Ａに示すように、訓練材料は、発音辞書５０４、パラレルに文字起こしされた音声音ストリームのコーパス５０６、および、大規模な総語数コーパス５０８を含む。図５Ｂに示すように、発音辞書５０４は、音節表５３２、ＶＮの組５３４、ＩＶＣの組５３６、音節コーダの組５３８、および、音節オンセットの組５４０を含む音素配列単位５３０の組のソースである。発音辞書５０４は、総語数コーパス５０８にも適用されて、音節分けした綴りの単語コーパス５２６、および、発音音節コーパス５２８を生成する。
【００３８】
発音辞書５０４を含む単語の主要部を、最初に、公的に入手可能か専有の１つ以上の単語コーパスから取得する。
【００３９】
これらの各単語の発音をアメリカ英語について用意する場合、発音は、その単語が独立に注意深く話された時の「標準米語」発音を表すことを意図する。標準発音に追加で、その代わりの発音も、その単語の一般的な発音について、辞書に含めうるもので、それは、音節数が変化したものか（例えば、「ｐｒｏｂａｂｌｙ」について、／ｐｒ’ａｂｌｉ／）、並びに／若しくは、更なるコーダおよび／またはオンセットを導入したものでありうる（例えば、「ａｄｍｉｒａｌ」について、／’＠ｄｍｒｘｌ／は、英語の通常のオンセットではない／ｍｒ／を導入する）。頻繁に生じる単語を含めることに追加で、単音節語、他の方法では表されない有効音素配列パターンの例である単語、および、新しい音節綴りパターンを導入する単語の全てを含めるように特に努力する。
【００４０】
いくつかの単語は、１つより多くの「正しい」スペリング（例えば、「ａｍｅｂａ」または「ａｍｏｅｂａ」）を有するが、ほとんどの利用例について、標準スペリングが望ましい。したがって、辞書の各単語について、単一の綴りパターンを、「標準」として選択し、それ以外の全てを「代わりのスペリング」と見なす。固有名詞および固有形容詞など、大文字で始める必要のある単語について、大文字で始めることを標準スペリングに含む。
【００４１】
発音を、オンセット最大化の原則を用いて音節分けした後に、標準綴りを、綴りのシーケンスを発音した音節に指定することによって音節分けして、その分割が、発音した音節への最も密接な対応を保つようにする。これは、いくつかの場合において、一般的な辞書綴り音節分けと異なる。例えば、「ｐａｓｓｉｏｎ」／ｐ’＠‐Ｓｘｎ／は、辞書で典型的に見つけられる「ｐａｓ‐ｓｉｏｎ」ではなく、「ｐａ‐ｓｓｉｏｎ」に音節分けされる。単語「ｍｉｓｓｉｏｎ」／ｍ’Ｉ‐Ｓｘｎ／も同様に、「ｍｉｓ‐ｓｉｏｎ」ではなく、「ｍｉ‐ｓｓｉｏｎ」に音節分けされる。この通常と異なる綴り音節分けは、音節／Ｓｘｎ／が、多数の単語の綴りパターン「ｓｓｉｏｎ」と関連付けられることを明らかにする。
【００４２】
辞書への入力がハイフン付けされた複合語の場合、ハイフン記号は、複合語の最初の部分の最後の音節の綴りの部分になりうる。例えば、複合語「Ａｎｇｌｏ‐Ａｍｅｒｉｃａｎ」において、音節／ｇｌｏ／は、位置コード「２」を有する綴りパターン「ｇｌｏ‐」と関連付けられる。ハイフン付けされた単語において、ハイフンの後の音節の位置コードは、ハイフンの後に１つだけの音節がある場合には、「０」と設定し、ハイフンの後に１より多くの音節がある場合には、「１」と設定する。
【００４３】
但し、辞書は、いくつかの外来語（例えば、「ｓｃｈｍｕｃｋ」）および非英語名を含みうることに留意すべきである。したがって、学習した音素配列規則は、「純粋な」英語について定義された規則に厳密に限定されるものではない。更に、システムを英語を用いて記載しているが、本発明のアプローチを、他の言語の処理にも、それらの言語の参照辞書を用いて利用しうる。
【００４４】
４．１．１発音辞書から音素配列パターンの学習  
オンセット、コーダ、音節（つまり、「音節表」）、ＩＶＣパターン、および、ＶＮパターンの組を、発音辞書５０４を参照して学習する。辞書の各単語は標準発音を有し、代わりの発音も有しうる。図６は、音素配列パターンを発音辞書から学習する例示的な方法を示すフローチャートである。図６を参照すると、オンセット、コーダ、音節、ＩＶＣパターンおよびＶＮパターンの組は、ｎｕｌｌに設定される６００。発音辞書の各発音について、最初の母音の前の子音シーケンスは、オンセットの組に追加され６０２、最後の母音の後の子音シーケンスは、コーダの組に追加される。辞書に未処理の入力がない場合には、ＩＶＣパターンの組を、各コーダを各オンセットとシーケンスにすることによって生成する６０４。
【００４５】
いくつかのコーダおよび／またはオンセットは、単語内部だけで生じることが可能なので、生成したＩＶＣパターンの組を、発音辞書の単語内部のＩＶＣパターンと比べてチェックする。その組にない任意の単語内部のＩＶＣパターンが見つかった場合には、以前に知られていなかったコーダおよび／またはオンセットを、各々の組に追加し、ＩＶＣパターンの組を再び生成する６０５。
【００４６】
工程６０６において、オンセット最大化の原則（ＭＯＰ）を用いて、各発音を音節に分けて、音節を音節表に追加する。工程６０７において、辞書の各単語の発音の各母音について、ＶＮパターンを抽出する。ＶＮパターンは、核の前の記号、核の記号、および、核の後の記号の３つの記号シーケンスから構成される。核が、発音の最初の記号の場合、切れ目記号「＃」をＶＮの最初の位置に追加することによって、ＶＮパターンを拡張する。
【００４７】
更なるＶＮパターンは、核が最初の記号の場合に、ＶＮの最初の位置に各単語の発音の最後の記号を反復的に追加することによって生成される。同様に、核が単語の発音の最後の記号の場合には、切れ目記号「＃」をＶＮの最後の位置に追加することによって、ＶＮを拡張し、更なるＶＮパターンは、ＶＮの最後の位置に各単語の発音の最初の記号を反復的に追加することによって生成される。オンセットおよび／またはコーダパターンが子音を含まない場合には、ＶＮは多音節または多数の単語に及びうるので、核が発音の最初または最後の位置の場合には、更なるＶＮパターンの生成が必要である。このように生成されたＶＮパターンは、全ての可能な単語のシーケンスを説明する。
【００４８】
４．１．２生成パターンから標準パターンへのマッピングの学習  
話された単語の発音は標準から異なることが多い。多くの違いは、音節の端近くで（つまり、ＩＶＣパターン内で）生じる。例えば、「Ｄｉｄ  ｙｏｕ  ｓｅｅ  ｈｅｒ？」という発話において、最初の２つの単語は、標準の／ｄＩｄｙｕ／の代わりに／ｄＩＪｕ／と話されうる。／ｄｙ／の代わりに／Ｊ／と話されるのは、調音器官構成が関わって、規則的に生じるものである。他の違いは、コンテキストの音節中心部分への影響により生じる。
【００４９】
本開示の一態様は、各生成ＩＶＣまたはＶＮパターンと、それと対応する尤もらしい標準ＩＶＣまたはＶＮ対象パターンの組とのマッピングを学習することである。それは、アラインメントされた生成および標準音声音ストリーム５０６を含む訓練材料を参照することによって行われる。対応する標準ＩＶＣまたはＶＮパターンを有する各生成ＩＶＣまたはＶＮパターンの各観察回数を数える。関連回数を数えることで、観察したパターンを考慮した各標準パターンの条件付き確率が推定される。
【００５０】
図７は、生成パターンから標準パターンへのマッピングを学習する例示的な方法を示すフローチャートである。更に、図７は、生成パターンから標準パターンへの条件付き確率マッピングを学習する処理を示している。各ＩＶＣまたはＶＮパターンを、そのようなパターンの例が訓練材料になくても、標準的に生成しうることが知られている。したがって、工程７００において、生成パターンの組を初期化して、標準パターンの組の各要素を含むようにする。対応する標準パターンと対にされた各生成パターンの関連回数は、１となるように初期化される。
【００５１】
次の工程７０１において、生成ストリームで残りのＩＶＣまたはＶＮパターンを特定する間に、標準ストリームで対応するＩＶＣまたはＶＮパターンを特定する。工程７０２において、各観察した生成パターンと標準パターンの対について、関連回数を１加える。工程７０３において、各対について平滑化された条件付き確率推定値を、以下のように計算する：
Ａは、生成パターンの観察数であり、
Ｂは、対象パターンが生成パターンと関連付けられた回数であり、
Ｃは、生成パターンと関連付けられた異なる対象パターンの数である場合、
【００５２】
【数１】
2020527253.tif 000003
【００５３】
以下のような他の平滑化技術も用いうる：
【００５４】
【数２】
2020527253.tif 000004
【００５５】
４．１．３音節と綴りパターンの関係の学習  
既に記載したように、発音辞書５０４は、音節分けした発音および対応する綴りパターンを含む。図８は、候補音節の綴りパターンへのマッピングを学習する例示的な方法を示すフローチャートである。更に、図８は、単語中の音節位置を考慮した各綴りパターンの条件付き確率を学習するのに用いる処理を示している。マッピングをｎｕｌｌとなるように初期化した後に８００、残りの未処理入力がある間は８０１、発音辞書における各発音の各音節‐綴りの対を検査して、既にマッピングリストに加えられているか分かるようにする８０２。加えられている場合には、関連回数を１加えて、工程８０１で処理を継続する。加えられていない場合には、新しい対を、関連回数１で、追加し８０３、更に、工程８０１で処理を継続する。工程８０４において、処理すべき入力が残っていない場合には、関連回数を用いて、条件付き確率を以下のように計算する：
Ａは、音節発音の観察数であり、
Ｂは、綴りパターンが音節発音と関連付けられた回数であり、
Ｃは、音節発音と関連付けられた異なる綴りパターンの数である場合、
【００５６】
【数３】
2020527253.tif 000005
【００５７】
以下のような他の平滑化技術も用いうる：
【００５８】
【数４】
2020527253.tif 000006
【００５９】
４．１．４音節発音空間でｎ‐グラムモデルの学習  
近傍の音節の発音のコンテキストの影響を、音節発音のｎ‐グラムモデルを訓練することによって取得する。実施形態において、３‐グラムモデルを訓練する。これらのモデルを、大規模な総語数コーパス、文字起こしされた音声または書かれたテキストから取得した一連の文または句を用いて訓練する。総語数コーパスは、発音辞書を用いて、発音音節コーパスに変換されて、標準および任意の代わりの発音の両方を含む各単語の音節分けした発音を検索するようにする。ｎ個の音節からなる各シーケンスは、ｎ‐グラムを表し、本実施形態において、３つの音節からなる各シーケンスは、３‐グラムを表す。次に、各３‐グラムパターンについて、関連回数を累積する。回数を累積した後に、回数は、生成パターンから標準パターンへの条件付き確率を計算するのに用いた技術と同様の平滑化技術を用いて、確率に変換される。
【００６０】
４．１．５音節綴り空間でｎ‐グラムモデルの学習  
近傍の音節の綴りのコンテキスト的影響も、ｎ‐グラムモデルを訓練することによって取得する。実施形態において、３‐グラムモデルを訓練する。これらのモデルを、大規模な総語数コーパスを用いて訓練する。総語数コーパスを、発音辞書を用いて、音節分けした綴りのチャンクコーパスに変換し、各単語の音節分けした綴りを検索するようにする。次に、各ｎ‐グラムパターンについて、関連回数を累積する。回数を累積した後に、回数は、生成パターンから標準パターンへの条件付き確率を計算するのに用いた技術と同様の平滑化技術を用いて、確率に変換される。
【００６１】
４．１．６閾値およびオーバーライドの学習  
候補音節を構成して確率を指定する時に、いくつかは非常に低い確率を有する。実際、非常に低いので、綴りパターンにマッピングされた後に、これらの音節は選択されることがない。訓練後に、システムを試験して、その値より低い場合には特定の音節が出力結果に関わることがない確率閾値を決定する。この閾値を記録し、認識時に用いて、出力に影響しない候補を除外するようにする。
【００６２】
曖昧さのほとんどは、局所的に解決されうる。曖昧さには、コンテキストを拡張することによって解決しうるものがある。曖昧さには、コンテキストを拡張しても解決されないものもある。むやみに大きいｎ‐グラムを用いて結果を改良する代わりに、短いものでは失敗する場合だけ、より大きいｎ‐グラムを生成する。
【００６３】
学習中に、「最も尤度が高い」綴りパターンが対象パターンに一致しない場合には、システムは、「オーバーライド」を生成する。これは、「誤り」を「キー」として記録し、次に、その誤りを修正するであろう拡張コンテキスト（特定の最大数の音節または単語まで）を特定する。そのような拡張コンテキストを見つけた場合は、誤りキー、関連付けられたコンテキスト、および、正しい綴りパターンを記録する。この手法を、システム展開後にも採用して、システムの出力を改良するフィードバックを可能にしうる。
【００６４】
４．２認識段階  
図９は、ＩＶＣパターンおよびＶＮパターンを生成ストリームから抽出する例示的な方法を示すフローチャートである。認識中に、図９に示した処理を用いて、入力生成記号ストリーム４０２を処理して、生成ＩＶＣ４０３およびＶＮ４０１パターンを抽出し、それらを、各々、標準ＩＶＣ４０４およびＶＮ４００にマッピングする。抽出処理は、丁度受信した記号（Ｂ３）、その直前に受信した記号（Ｂ２）、および、その直前に受信した記号（Ｂ１）を含む３‐記号バッファを維持する。ＩＶＣ累積バッファも維持される。
【００６５】
任意の生成記号を受信する前に、３‐記号バッファは、空となるように初期化される９００。次に、ＩＶＣ累積部をｎｕｌｌに設定する９０１。次の記号を受信し９０２、それは、３‐記号バッファでＢ３になる９０３。次に、３‐記号バッファを検査して、ＶＮパターンを含むか分かるようにする９０４。含む場合には、ＶＮパターンを待ち行列１にプッシュする９０５。受信した記号Ｂ３を検査して、子音かどうか分かるようにする９０６。子音の場合には、ＩＶＣ累積部に加えられて９０７、次の生成記号を受信しながら、処理が継続される９０２。そうでない場合は、累積したＩＶＣ（ｎｕｌｌでありうる）を待ち行列１にプッシュして９０８、次の生成記号を受信しながら、処理が継続される９０２。
【００６６】
図１０は、候補音節の組を標準パターンの組から生成する例示的な方法を示すフローチャートである。待ち行列１にＩＶＣおよびＶＮパターンが到着すると、図１０に示すように処理される。処理開始前に、待ち行列は空となるように初期化される１００１。次のパターンを受信し１００２、それがＩＶＣパターンであるかどうかに基づいて処理される１００３。生成ＶＮパターンの場合には、標準ＶＮパターンの組にマッピングされる１００４。有効であるには、標準ＶＮパターンは、前の標準ＩＶＣパターンの組のいくつかの要素から整合して連続したものを形成しなくてはならない１００５。整合しないＶＮパターンは、更なる処理から除外される。丁度受信したパターンが生成ＩＶＣパターンの場合には、標準ＩＶＣパターンの組にマッピングされる１００６。有効であるには、標準ＩＶＣパターンは、前の標準ＶＮパターンの組のいくつかの要素から整合して連続したものを形成しなくてはならない。整合しないＩＶＣパターンは、更なる処理から除外される１００７。残りのＩＶＣパターンの要素への整合した連続を有さない、いずれのＶＮパターンも除外される。
【００６７】
図１１は、経路整合性制約の適用を詳細に示している。１１００、１１０１、１１０２は、待ち行列１にＶＮおよびＩＶＣパターンが交互に到着するのを示している。ＶＮおよびＩＶＣパターンの有効候補マッピングは、到着パターンを通して整合経路を形成する。有効であるには、到着するＩＶＣパターン１１０１は、そのＩＶＣパターンの直前に到着したＶＭパターン１１００の残りの組の１つ以上の要素と整合しなくてはならない。ＶＮパターン１１００とＩＶＣパターン１１０１の間の連続経路の整合性は、パターンの「重なった」部分１１０６を検査することによって決定される。具体的には、ＶＮパターン１１００の最終記号は、切れ目記号、母音記号または子音記号である。最終記号が切れ目記号または母音の場合には、有効なＩＶＣの連続は、ｎｕｌｌコーダパターンを有するものへと制約される。子音の場合には、有効なＩＶＣパターンの連続は、それと同じ子音で始まるものへと制約される。
【００６８】
それについての有効な連続がないＶＮパターンは、除外される。同様に、少なくとも１つの残りのＶＮパターンからの有効な連続ではないＩＶＣパターンも除外される。ＶＮパターンが待ち行列１に到着する時、保持されるには、ＶＮパターンは、前の候補ＩＶＣパターンの組の残りの要素の１つ以上からの有効な連続を形成しなくてはならない。上記処理と同様に、整合性制約を、ＩＶＣおよびＶＮパターン１１０７の端の記号を検査することによって適用し、但し、この時には、マッチングは、ＩＶＣの最後の記号およびＶＮの最初の記号が関わるものである。ＶＮの最初の記号が子音の場合は、有効であるには、少なくとも１つのＩＶＣの最後の記号と一致しなくてはならない。そうでない場合には、ｎｕｌｌオンセットパターンを有するＩＶＣの連続にすぎない。
【００６９】
再び、図１０を参照すると、整合ＩＶＣパターンがコーダ‐オンセットシーケンスに分割されると１００８、コーダ部分を用いて、残りの前のＩＶＣパターンおよび残りの前のＶＮパターンから分割されたオンセットを通る整合経路を完成させる。各整合経路は、候補音節を形成する１００９。候補音節が音節表にない場合には、その候補音節は除外される１０１０。容認候補音節を、待ち行列２にプッシュする１０１１。パターンマッピング１００４、１００６により、生成パターンを考慮した各標準パターンマッピングの条件付き確率が推定される。ＩＶＣパターンがコーダ‐オンセットシーケンスに分割されると、ＩＶＣパターンのこれらの構成要素は、ＩＶＣパターンの確率を引き継ぐ。多数の残りのＩＶＣパターンの分割が、同じコーダまたは同じオンセットパターンを生じる場合、共通するパターンの確率は、それらを含むＩＶＣパターンの確率の合計として推定される。オンセット、コーダ、および、ＶＮの組の確率は、各々、合計で１に正規化される。音節候補４０５を形成する時に、それらのオンセットパターン、ＶＮパターン、および、それらのコーダパターンの確率の積として計算した確率を指定する。次に、音節候補の組の確率は、合計で１に正規化される。次に、音節候補に指定された確率は、ｎ‐グラムコンテキストモデルを適用することによって更に調節される。
【００７０】
図１２は、整合性制約を適用することで、ＩＶＣの認識がいかに簡単になるかを例示的に示している。この例は、単一音素生成ＩＶＣ／Ｔ／の例である。訓練処理は、広範囲の条件付き確率１２０１を有する生成ＩＶＣ／Ｔ／１２００と関連付けられた５８の異なる標準ＩＶＣを生成した。整合性制約の適用後に、可能性のある標準ＩＶＣパターンの組は、かなり少なく１４に削減され、つまり、約７６％削減される。次に、残りのＩＶＣパターンの関連付けられた条件付き確率１２０３は、合計で１に正規化される。
【００７１】
次に、各候補音節４０５と関連付けられた綴りパターン４０６の組を生成する。図１３は、候補音節を綴りパターンにマッピングする例示的な方法を示すフローチャートである。図１３において、待ち行列２は空となるように初期化される１３００。候補音節の組を待ち行列２に受信し１３０１、綴りパターンの組にマッピングする１３０２。パターンと関連付けられた位置コード１０１、３０３、３０４を用いて、無効パターンを除外する１３０３。残りのマッピングされたパターンを、待ち行列３にプッシュする１３０４。
【００７２】
図１４は、音節位置制約および統計モデルを適用して、出力綴りパターンを選択する処理を示している。待ち行列３を用いて、コンテキストで音節と関連付けられた綴りのチャンクを処理する。その処理は、音節綴りパターンの「Ｎ」個の直近の候補の組の履歴を含むスライディングウインドウとして考えうる。パターンの条件付き確率、および、それらのコンテキストの確率を用いて、最も尤度が高いパターンを特定して、スライディングウインドウの「最も古い」端で出力する。
【００７３】
実施形態において、スライディングウインドウのサイズは、７音節に設定される。他の実施形態は、コンテキストと待ち時間の間で異なるトレードオフで、異なる長さを用いうる。待ち行列３は、空となるように初期化される１４００。次の綴りパターンの組を受信する１４０１。シフトさせたｎ‐グラムコンテキストモデルを用いて、経路確率を生成する。次に、シフトさせたｎ‐グラムモデルの合計を適用する１４０２。丁度出力されようとするパターンが、オーバーライドの組のキーとして見つけられ、かつ、コンテキストがオーバーライドと整合する場合は、オーバーライドと関連付けられた出力パターンを出力し、そうでない場合には、「最も尤度が高い」パターンを出力する１４０３。
【００７４】
図１５は、例示的な綴り候補のコンフュージョンネットワークを示している。３音節クロック期間後に、３‐グラムモデル１５０６を、パターンに、音節クロック期間１５００、１５０１、１５０２で適用する。綴り候補が音節クロック期間１５０３に到着すると、３‐グラムモデル１５０７を、パターンに、音節クロック期間１５０１、１５０２、１５０３で適用する。綴りパターンの各新しい組が到着する時に１５０４、１５０５、３‐グラムモデル１５０８、１５０９を各々適用する。
【００７５】
いくつかの状況において、生成ストリームを生成する音響認識部は、具体的な音素分類を高い信頼性で特定できないことがありうる。そのような場合、ストリームの記号は広い音声分類を示しうる。これが生じた場合には、標準パターンの組は、広い分類の要素である各具体的分類を表す記号を置き換えることによって、マッピングを繰り返すことによって生成された組の組合せとなる。例えば、音響プロセッサが、音素セグメントが／ｍ／か／ｎ／かを高い信頼性で決定できなかった場合には、広い分類｛／ｍ／，／ｎ／｝を表す記号を生成ストリームに挿入することになるだろう。生成から標準へのマッピングは、次に、別々のマッピングの組合せとして、マッピングされた標準ＩＶＣパターンの組について、広い分類の記号の代わりに、／ｍ／および／ｎ／をＩＶＣに挿入して置き換える。
【００７６】
５．使用例  
図１６は、音節構造を用いて自動音声認識を行う例示的な方法を示している。
【００７７】
工程１６０２において、オーディオ入力から生成された生成記号ストリームを受信する。例として、計算システムは、テレビ番組などを介して、オーディオ入力を受信する。音響認識部を用いて、生成記号ストリームを、オーディオ入力から生成しうる。計算システムは、処理のための生成記号ストリームを受信しうる。例えば、計算システムは、テレビ番組の字幕を生成するようにプログラムまたは構成されうる。
【００７８】
工程１６０４において、４．１．１章および図６のように学習した生成ＩＶＣおよびＶＮを、生成記号ストリーム内で、４．２章および図９で記載したように特定する。
【００７９】
工程１６０６において、４．２章および図１０で記載したように、生成ＩＶＣおよびＶＮは、標準ＩＶＣおよびＶＮにマッピングされ、４．１．２章および図７で記載した訓練処理で学習した音素配列パターンおよび条件付き確率を用いる。工程１６０８において、４．２章および図１１で記載したように、経路整合性制約を用いて、整合しないＩＶＣおよびＶＮを除外する。任意の単一の生成ＩＶＣまたはＶＮについて、複数の異なる標準ＩＶＣおよびＶＮを生成しうる。
【００８０】
工程１６１０において、４．２章および図１０で記載したように、整合したＩＶＣは、コーダ‐オンセットシーケンスに分割される。工程１６１２において、４．２章および図１１で記載したように、コーダを用いて、候補音節を生成し、更に、音節表にない候補音節を除外する。
【００８１】
工程１６１４において、４．２章に記載し、図１２に示したように、各候補音節の確率を生成する。各候補音節の確率は、構成要素であるオンセット、コーダおよびＩＶＣの学習した確率から導かれ、容認できない部分を除外した後に正規化し、更に、Ｎ‐グラムモデルを通して調節される。
【００８２】
工程１６１６において、４．２章および図１３に記載したように、候補音節は、４．１．３章および図８に記載したように訓練処理で学習した関連付けを通して、綴りパターンにマッピングされ、更に、工程１６１８において、整合しない綴りパターンは除外される。単一の候補音節を、多数の綴りパターンにマッピングしうる。
【００８３】
工程１６２０において、４．２章および図１４に記載したように、各綴りパターンの確率を、４．１．４章および４．１．５章に記載したような訓練処理で学習した構成要素である音節の確率を用いて生成する。
【００８４】
工程１６２２において、４．２章および図１４に記載したように、最も尤度が高い綴りパターンを、それが４．１．６章に記載したような訓練処理で学習した拡張コンテキストのオーバーライドの組のキーと一致しない限りは、出力し、一致する場合は、オーバーライドを出力する。他の実施形態において、ｎ個の最も尤度が高い綴りシーケンスについて、辞書を再び参照し、完全に一致するものが特定された場合には、その一致したものを出力する。
【００８５】
６．実施形態の利点  
本明細書に記載のコンピュータによる処理は、マシンラーニング技術と言語学の知識を新しく、従来にはない組合せで用いて、生成された音声から抽出した音素および言語学記号を、標準綴りの正しいテキストに変換する。この自動音声テキスト変換システムの明確に異なる「バックエンド」の言語処理部は、現在の技術である「言語モデル」より計算効率が非常に高い。本発明は、効率的な「フロントエンド」の音響処理と組み合わされた場合に、話された単語を、分散した装置で、高い正確さと低い待ち時間で連続して文字起こしすることが可能になりうる。それは、自動音声認識を採用する全ての目的で価値のあるツールとなるもので、限定するものではないが、ボイス検索、分散した装置および機器のボイスコマンド制御、および、ボイスディクテーションを含む。正確なリアルタイムの字幕およびサブタイトルを記録またはライブ映像に生成するのに、特に有用である。
【００８６】
ライブ放送についての字幕は、高い正確さと、話された単語と表示された字幕の間でほとんど遅延がないか、全く遅延がないこと、更に、予め定義した語彙リストの部分にはないか、または、異なるアクセントで話された単語の字幕を生成できることが要求される。人間には、そのような字幕を、高い正確さ、または、高速で生成するのは困難である。本明細書に記載の規則を採用することによって、コンピュータは、受信した音ストリームを分割し、規則の特定の組を用いて最適な候補単語を特定し、更に、候補単語を、高い正確さで、高速に出力し、それにより、文字起こしされた出力結果を、ライブ放送でリアルタイムに再生するのを可能にする。更に、ニュース番組などのライブ番組では、固有名詞など、それより前には見たことのない単語が使われることが少なくない。現在の技術であるＡＳＲシステムは、その辞書に含まれた単語だけを出力できるものであり、それは、これらの見たことのない単語をいつも間違えることを意味する。本発明は、前に見たことのない単語を、音声から近似させて出力することが可能である。
【００８７】
７．ハードウェア概略  
一実施形態によれば、本明細書に記載の技術は、１つ以上の専用計算装置によって実施される。専用計算装置は、ハードワイヤードされて技術を行うか、若しくは、技術を行うように持続的にプログラムされた１つ以上の特定用途向け集積回路（ＡＳＩＣ）またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）などのデジタル電子装置を含むか、若しくは、ファームウェア、メモリ、他の記憶装置、または、それらの組合せのプログラム命令に従って技術を行うようにプログラムされた１つ以上の汎用ハードウェアプロセッサを含みうる。更に、そのような専用計算装置は、カスタムハードワイヤードロジック、ＡＳＩＣ、または、ＦＰＧＡを、カスタムプログラミングと組み合わせて、技術を実施しうる。専用計算装置は、デスクトップコンピュータシステム、ポータブルコンピュータシステム、手に持つ装置、ネットワーク装置、若しくは、ハードワイヤードおよび／またはプログラムロジックを組み込んで技術を行う任意の他の装置でありうる。
【００８８】
例えば、図１７は、実施形態を行いうるコンピュータシステム１７００を示すブロック図である。コンピュータシステム１７００は、バス１７０２、または、情報を通信する他の通信機構、並びに、バス１７０２と連結されて情報を処理するハードウェアプロセッサ１７０４を含む。ハードウェアプロセッサ１７０４は、例えば、汎用マイクロプロセッサでありうる。
【００８９】
コンピュータシステム１７００は、バス１７０２に連結されて、情報およびプロセッサ１７０４によって実行される命令を記憶するランダムアクセスメモリ（ＲＡＭ）または他の動的記憶装置などのメインメモリ１７０６も含む。メインメモリ１７０６は、プロセッサ１７０４によって命令が実行される間に、一時変数または他の中間情報を記憶するのにも用いられうる。そのような命令は、プロセッサ１７０４にアクセス可能な非一時的な記憶媒体に記憶された場合、コンピュータシステム１７００を、命令に指定された動作を行うようにカスタマイズされた専用マシンにする。
【００９０】
コンピュータシステム１７００は、読出し専用メモリ（ＲＯＭ）１７０８、または、バス１７０２に連結されて静的情報およびプロセッサ１７０４のための命令を記憶する他の静的記憶装置を更に含む。磁気ディスク、光ディスク、または、固体ドライブなどの記憶装置１７１０が備えられ、それは、情報および命令を記憶するためにバス１７０２に連結される。
【００９１】
コンピュータシステム１７００は、バス１７０２を介して、陰極線管（ＣＲＴ）など、コンピュータユーザに情報を表示する表示装置１７１２に連結されうる。英数字および他のキーを含む入力装置１７１４は、プロセッサ１７０４に情報およびコマンド選択を伝えるためにバス１７０２に結合されている。他の種類のユーザ入力装置は、マウス、トラックボール、または、カーソル方向キーなどのカーソル制御１７１６であり、方向情報およびコマンド選択をプロセッサ１７０４に伝え、表示装置１７１２上のカーソル移動を制御する。この入力装置は、典型的には、２軸である第１の軸（例えば、ｘ）および第２の軸（例えば、ｙ）に２自由度を有し、平面内の位置を特定可能である。
【００９２】
コンピュータシステム１７００は、本明細書に記載の技術を、カスタマイズされたハードワイヤードロジック、１つ以上のＡＳＩＣまたはＦＰＧＡ、ファームウェア、並びに／若しくは、プログラムロジックを用いて実施しうるもので、それらは、コンピュータシステムとの組合せでコンピュータシステム１７００を専用マシンにするか、または、プログラムする。一実施形態によれば、本明細書の技術は、コンピュータシステム１７００によって、メインメモリ１７０６に含まれた１つ以上の命令の１つ以上のシーケンスを実行するプロセッサ１７０４に応じて行われる。そのような命令は、記憶装置１７１０などの他の記憶媒体からメインメモリ１７０６に読み込まれうる。メインメモリ１７０６に含まれる命令のシーケンスを実行することで、プロセッサ１７０４に、本明細書に記載の処理工程を行わせる。代わりの実施形態において、ハードワイヤード回路を、ソフトウェア命令の代わりに、または、それとの組合せで用いうる。
【００９３】
「記憶媒体」という用語は、本明細書で用いるように、データ、および／または、機械を特別な態様で動作させる命令を記憶する任意の非一時的な媒体のことを称する。そのような記憶媒体は、不揮発性媒体、および／または、揮発性媒体を含みうる。不揮発性媒体は、例えば、光学ディスク、磁気ディスク、または、記憶装置１７１０などの固体ドライブを含む。揮発性媒体は、メインメモリ１７０６などの動的メモリを含む。記憶媒体の一般的な形態は、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、固体ドライブ、磁気テープ、または、任意の他の磁気データ記憶媒体、ＣＤ‐ＲＯＭ、任意の他の光学データ記憶媒体、孔パターンを有する任意の物理的媒体、ＲＡＭ、ＰＲＯＭ、および、ＥＰＲＯＭ、ＦＬＡＳＨ‐ＥＰＲＯＭ、ＮＶＲＡＭ、任意の他のメモリチップまたはカートリッジを含む。
【００９４】
記憶媒体は、送信媒体と別個のものであるが、共に用いうる。送信媒体は、記憶媒体間で情報の伝達に関わる。例えば、送信媒体は、同軸ケーブル、銅線、および、光ファイバを含み、バス１７０２を含むワイヤを。送信媒体は、電波および赤外線データ通信中に生成されるものなど、音響または光波の形態でもありうる。
【００９５】
様々な形態の媒体が、１つ以上の命令の１つ以上のシーケンスをプロセッサ１７０４に実行のために搬送するのに関わりうる。例えば、命令は、最初に、磁気ディスク、または、遠隔コンピュータの固体ドライブに担持されうる。遠隔コンピュータは、命令を動的メモリにロードして、命令を、電話回線を通してモデムを用いて送信する。コンピュータシステム１７００のローカルモデムは、電話回線でデータを受信し、赤外線送信器を用いて、データを赤外線信号に変換しうる。赤外線検出器は、赤外線信号に担持されたデータを受信し、適切な回路は、データをバス１７０２に載せうる。バス１７０２は、データをメインメモリ１７０６に搬送し、プロセッサ１７０４は、そこから命令を読み出して実行する。メインメモリ１７０６によって受信された命令は、任意で、プロセッサ１７０４による実行の前または後に、記憶装置１７１０に記憶されうる。
【００９６】
コンピュータシステム１７００は、バス１７０２に連結された通信インターフェイス１７１８も含みうる。通信インターフェイス１７１８は、ローカルネットワーク１７２２に接続されたネットワークリンク１７２０に連結する双方向データ通信を提供する。例えば、通信インターフェイス１７１８は、統合サービスディジタル通信網（ＩＳＤＮ）カード、ケーブルモデム、衛星モデム、または、対応する種類の電話回線へのデータ通信を提供するモデムでありうる。他の例として、通信インターフェイス１７１８は、互換性のあるローカルアリアネットワーク（ＬＡＮ）へのデータ通信接続を提供するＬＡＮカードでありうる。無線リンクも使用しうる。任意の利用例において、通信インターフェイス１７１８は、様々な種類の情報を表すデジタルデータストリームを担持する電気、電磁または光信号を送受信する。
【００９７】
ネットワークリンク１７２０は、典型的には、１つ以上のネットワークを介して他のデータ装置へのデータ通信を提供する。例えば、ネットワークリンク１７２０は、ローカルエリアネットワーク１７２２を介してホストコンピュータ１７２４またはインターネットサービスプロバイダ（ＩＳＰ）１７２６によって運転されるデータ装置への接続を提供しうる。ＩＳＰ１７２６は、次に、データ通信サービスを、今では一般的に「インターネット」１７２８と称されるワールドワイドパケットデータ通信ネットワークを提供する。ローカルエリアネットワーク１７２２およびインターネット１７２８の両方は、デジタルデータストリームを担持する電気、電磁または光信号を用いる。様々なネットワークを通る信号、並びに、ネットワークリンク１７２０上、および、通信インターフェイス１７１８を通る信号は、送信媒体の形態の例であり、デジタルデータをコンピュータシステム１７００へと、および、そこから搬送する。
【００９８】
コンピュータシステム１７００は、ネットワーク、ネットワークリンク１７２０および通信インターフェイス１７１８を介して、メッセージを送信し、プログラムコードを含むデータを受信しうる。インターネットの例において、サーバ１７３０は、要求されたアプリケーションプログラムのコードを、インターネット１７２８、ＩＳＰ１７２６、ローカルエリアネットワーク１７２２、および、通信インターフェイス１７１８を介して送信しうる。
【００９９】
受信したコードは、受信された時に、プロセッサ１７０４によって実行されるか、および／または、後で実行されるために他の不揮発性記憶装置に記憶されうる。
【０１００】
ここまでの明細書の記載において、実施形態を、利用例により異なりうる多数の具体的な詳細事項について記載した。したがって、本明細書の記載および図面は、限定するものではなく、例示するものであると見なされるべきである。本開示の範囲を唯一かつ排他的に示すもの、および、出願人が本開示の範囲であると意図するものは、本出願から特定の形態で許可される請求項の文言および等価範囲であり、許可請求項は、任意の補正事項を含むものである。
【符号の説明】
【０１０１】
１７００  コンピュータシステム
１７０４  プロセッサ
１７１２  表示部
１７１４  入力装置
１７２０  ネットワークリンク
【図１】
2020527253.tif 000007
【図２】
2020527253.tif 000008
【図３】
2020527253.tif 000009
【図４】
2020527253.tif 000010
【図５Ａ】
2020527253.tif 000011
【図５Ｂ】
2020527253.tif 000012
【図６】
2020527253.tif 000013
【図７】
2020527253.tif 000014
【図８】
2020527253.tif 000015
【図９】
2020527253.tif 000016
【図１０】
2020527253.tif 000017
【図１１】
2020527253.tif 000018
【図１２】
2020527253.tif 000019
【図１３】
2020527253.tif 000020
【図１４】
2020527253.tif 000021
【図１５】
2020527253.tif 000022
【図１６】
2020527253.tif 000023
【図１７】
2020527253.tif 000024
【国際調査報告】
2020527253.tif 000025