JP4818683B2 - 言語モデルを作成する方法 - Google Patents

言語モデルを作成する方法 Download PDF

Info

Publication number
JP4818683B2
JP4818683B2 JP2005308459A JP2005308459A JP4818683B2 JP 4818683 B2 JP4818683 B2 JP 4818683B2 JP 2005308459 A JP2005308459 A JP 2005308459A JP 2005308459 A JP2005308459 A JP 2005308459A JP 4818683 B2 JP4818683 B2 JP 4818683B2
Authority
JP
Japan
Prior art keywords
pronunciation
language model
character
token
alternative
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005308459A
Other languages
English (en)
Other versions
JP2006146193A (ja
JP2006146193A5 (ja
Inventor
アイ.チェルバ シプリアン
モワット デビッド
ウー キァン
エル.チャンバース ロバート
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006146193A publication Critical patent/JP2006146193A/ja
Publication of JP2006146193A5 publication Critical patent/JP2006146193A5/ja
Application granted granted Critical
Publication of JP4818683B2 publication Critical patent/JP4818683B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/187Phonemic context, e.g. pronunciation rules, phonotactical constraints or phoneme n-grams
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models

Description

本発明は、一般に、音声認識ソフトウェアアプリケーションに関し、より詳細には、音声認識アプリケーションを介してフレーズの文字を処理する方法に関する。
音声は、おそらく人間によるコミュニケーションの最も古い形式であり、現在、多くの科学者が、音声を介してコミュニケーションする能力は人間の脳の生態中に生まれつき備わっているものと考えている。したがって、ユーザが音声などのNUI(Natural User Interface)を用いてコンピュータとコミュニケーションできるようになることは長い間求められて来た目標である。実は、最近、その目標の取得に向けて大きな進展があった。例えば、いくつかのコンピュータは、現在、コンピュータを動作するためのコマンドと、テキストに変換される口述(dictation)とを共にユーザが口頭で入力できる音声認識アプリケーションを含んでいる。そのアプリケーションは、通常、マイクロフォンを通して得られた音声サンプルを周期的に記録し、ユーザが話した音素を認識するためにそのサンプルを分析し、発話された音素により構成された単語を識別することによって動作する。
音声認識はより一般のものとなりつつあるが、経験豊富なユーザを失望させ、初めてのユーザを疎外する傾向のある従来の音声認識アプリケーションを使用するにはいくつかの欠点がまだある。このような欠点の1つには、話者とコンピュータの間の対話が含まれる。例えば、人間の対話の場合、人々は、聞いている人からの知覚される反応に基づいて自分の発話を制御することが多い。したがって、会話中、聞いている人は、自分に言われていることを理解していることを示すために、うなずいたり、「はい」または「うん(uh−huh)」などの音声応答を行うことによってフィードバックすることができる。さらに、聞いている人が、自分に言われていることを理解しない場合、疑問のある表情をしたり、身を乗り出したり、あるいは他の音声または非音声の合図をすることもできる。そのフィードバックに応答して、話者は、通常、話している方法を変更し、いくつかの場合では、話者は、聞いている人との対話方法の変更を、普通、その聞いている人に気付かれずに、速度をもっと遅くし、より大きな声で話し、より頻繁に休止を入れ、あるいはその説明を常に繰り返すようにしてもよい。したがって、会話におけるフィードバックは、聞いている人が話を理解しているかどうかを話者に知らせる非常に重要な要素である。しかし、残念なことに、従来の音声認識アプリケーションは、マン−マシンインターフェースにより可能な音声入力/コマンドに対応するこの種の「NUI(Natural User Interface)」フィードバックをまだ提供することができない。
現在、音声認識アプリケーションは、約90%から98%の認識精度を達成している。それは、ユーザが典型的な音声認識アプリケーションを使用して文書に口述するとき、音声認識アプリケーションによって、その約90%から98%の正確さでユーザ音声が認識されることを意味している。したがって、音声認識アプリケーションによって記録される100個の文字ごとに、約2個から10個の文字を訂正する必要があることになる。具体的には、既存の音声認識アプリケーションは、「s」(例えば、エス)、および「f」(例えば、エフ)など、特定の文字を認識することが困難な傾向がある。その問題に取り組むために既存の音声認識アプリケーションを使用する1つの手法には、ユーザに、どの文字を発音しているかを明確にするために事前定義のニーモニックを使用できるようにすることがある。例えば、口述するときに、ユーザは、「apple(リンゴ)のa」、または「boy(少年)のb」ということができる。
しかし、残念ながら、その手法は、音声認識アプリケーションに関するユーザの使い勝手のよさを制限しがちな点に関連する欠点がある。1つの欠点は、標準の軍のアルッファベット(例えば、alpha(アルファ)、bravo(ブラボー)、charlie(チャーリー)...)とすることの多い事前定義のニーモニックを文字ごとに使用することを含む。その理由は、(例えば、「Igloo(イグルー)のI」などと)口述するときに話すニーモニックのリストがユーザに与えられたとしても、ユーザは、自分自身のニーモニックアルファベット(例えば、「India(インド)のI」を作成し、事前定義のニーモニックアルファベットを無視することが多いためである。予想できるように、音声認識アプリケーションは、非事前定義のニーモニックを認識しないので、文字認識エラーが当たり前のことになる。他の欠点は、いくつかの文字は、それらに関連する主要なニーモニック(すなわち、>80%)の小集合(Apple(リンゴ)のA、Adam(アダム)のA、またはDog(犬)のD、David(デービッド)のD、またはZebra(シマウマ)のZ、Zulu(ズールー)のZ)を有するが、一方、他の文字はそれらに関連する主要なニーモニックを有していない(例えば、L、P、R、およびS)。このことは、適切な汎用言語モデルの作成を困難にするだけではなく、事実上不可能にする。
したがって、音声認識ソフトウェアアプリケーションに言語を伝えることは、なお比較的多数のエラーを生むことになり、またそれらのエラーにより、よく使用するユーザをいらいらさせるだけではなく、同様に初めてのユーザも失望させることが多く、音声認識アプリケーションを使用し続けることをユーザが拒否する結果になる可能性がある。
音声認識ソフトウェアアプリケーションで使用するためのニーモニック言語モデルを作成する方法を提供する。本方法は、事前定義の大量の文字本体、例えば、文字、数字、記号などを含むnグラム言語モデルを生成することを含み、そのnグラム言語モデルは、事前定義の大量の文字本体からの少なくとも1つの文字を含む。本方法はさらに、少なくとも1つの文字のそれぞれに対して新しい言語モデル(LM)トークンを構築すること、および文字の発音表記を取得するために、事前定義の発音辞書に対応する少なくとも1つの文字のそれぞれに対する発音を抽出することを含む。さらに、本方法は、代替の発音辞書を作成するために、文字の発音表記に対応する少なくとも1つの文字のそれぞれに対する少なくとも1つの代替の発音を作成すること、および音声認識ソフトウェアアプリケーションで使用するためにnグラム言語モデルをコンパイルすることを含み、その言語モデルのコンパイルは、新しい言語モデルトークンおよび代替の発音辞書に対応している。
音声認識ソフトウェアアプリケーションで使用するためのニーモニック言語モデルを作成する方法を提供する。本方法は、事前定義の大量の文字本体を含むnグラム言語モデルを生成することを含み、そのnグラム言語モデルは、事前定義の大量の文字本体からの少なくとも1つの文字を含む。さらに、本方法は、文字の発音表記を取得するために、事前定義の発音辞書に対応する少なくとも1つの文字のそれぞれに対する発音を抽出すること、および代替の発音辞書を作成するために、文字の発音表記に対応する少なくとも1つの文字のそれぞれに対して少なくとも1つの代替の発音を作成することを含む。
音声認識ソフトウェアアプリケーションで使用するためのニーモニック言語モデルを作成する方法を実施するためのシステムを提供する。本システムは、音声認識ソフトウェアアプリケーションおよび少なくとも1つのターゲットソフトウェアアプリケーションを記憶するための記憶装置を含む。本システムはさらに、データおよびコマンドを音声でシステムに入力するための入力装置、入力されたデータを表示するための表示画面を備える表示装置、および処理装置を含む。処理装置は、記憶装置、入力装置、および表示装置と通信可能であり、したがって、音声認識ソフトウェアアプリケーションに、表示画面に入力データを表示させ、入力されたコマンドに対応する入力データを処理させる命令を受け取ることができる。
マシン可読コンピュータプログラムコードを提供する。本プログラムコードは、音声認識ソフトウェアアプリケーションで使用するためのニーモニック言語モデルを作成する方法を処理装置に実施させるための命令を含み、その処理装置は、音声認識ソフトウェアアプリケーションを含む記憶装置および表示装置と通信可能である。本方法は、事前定義の大量の文字本体を含むnグラム言語モデルを生成することを含み、そのnグラム言語モデルは事前定義の大量の文字本体からの少なくとも1つの文字を含んでおり、さらに本方法は、その少なくとも1つの文字のそれぞれに対して、新しい言語モデル(LM)トークンを構築することを含む。本方法はさらに、文字の発音表記を取得するために、事前定義の発音辞書に対応する少なくとも1つの文字のそれぞれに対して発音を抽出すること、および代替の発音辞書を作成するために、文字の発音表記に対応して少なくとも1つの文字のそれぞれに対する少なくとも1つの代替の発音を作成することを含む。さらに、本方法は、音声認識ソフトウェアアプリケーションで使用するためのnグラム言語モデルをコンパイルすることを含み、その言語モデルのコンパイルは、新しい言語モデルトークンおよび代替の発音辞書に対応している。
マシン可読コンピュータプログラムコードでエンコードされた媒体を提供する。本プログラムコードは、音声認識ソフトウェアアプリケーションで使用するためのニーモニック言語モデルを作成する方法を処理装置に実施させる命令を含み、その処理装置は記憶装置および表示装置と通信可能であり、その記憶装置は、音声認識ソフトウェアアプリケーションを含む。本方法は、事前定義の大量の文字本体を含むnグラム言語モデルを生成することを含み、そのnグラム言語モデルは、事前定義の大量の文字本体からの少なくとも1つの文字を含んでおり、さらに本方法は、その少なくとも1つの文字のそれぞれに対して新しい言語モデル(LM)トークンを構築することを含む。本方法はさらに、文字の発音表記を取得するために、事前定義の発音辞書に対応する少なくとも1つの文字のそれぞれに対する発音を抽出すること、および代替の発音辞書を作成するために、文字の発音表記に対応する少なくとも1つの文字のそれぞれに対する少なくとも1つの代替の発音を作成することを含む。さらに、本方法は、音声認識ソフトウェアアプリケーションで使用するためのnグラム言語モデルをコンパイルすることを含み、その言語モデルのコンパイルは、新しい言語モデルトークンおよび代替の発音辞書に対応している。
本発明の前述および他の機能ならびに利点は、添付の図面と共に以下の例示的な諸実施形態の詳細な説明を読めばより完全に理解されよう。図中、同様なエレメントは、いくつかの図で同様の番号が付されている。
大部分の音声認識アプリケーションは、所与の音響的な発話のトランスクリプト(transcript)を単語単位で決定するために典型的な音響パターンおよび典型的な単語パターンのモデルを採用する。次いで、その単語パターンは音声認識アプリケーションによって使用され、それは、総称的に言語モデル(LM)と呼ばれる。したがって、言語モデルは単語のシーケンス、および所与のテキスト中で生ずるそのシーケンスの確率を表す。したがって、音声認識アプリケーションにおいて有効であるために、言語モデルは、大量のテキスト訓練データから構築されなければならない。ニーモニックは、デスクトップの音声認識ソフトウェアアプリケーションを用いて単語のスペルを訂正するために使用するとき、多大の効力を発揮するように使用できることも理解されたい。例えば、1つのシナリオは、ユーザがニーモニックを使用せずに単語のスペリングを試み、音声認識ソフトウェアアプリケーションが、伝えられた文字のうちの1つ(または複数)を誤認識した状況を含むこともできる。ニーモニックを使用して文字を再度話すことは、ユーザがその文字の再発話に成功する確率を劇的に高めることになる。
図1を参照すると、典型的な音声認識システム100を示すブロック図が示されており、それは、処理装置102、入力装置104、記憶装置106、および表示装置108を含み、音響モデル110および言語モデル112は、記憶装置106に記憶される。音響モデル110は、通常、どの単語が話されたかをデコーダが決定できるようにする情報を含む。音響モデル110は、入力装置104により提供されるスペクトルパラメータに基づいて一連の音素の仮説を立てることによってそれを達成する。音素とは、意味の特徴を搬送できる言語における最小の音声単位のことであり、通常、辞書および隠れマルコフモデルの使用を含む。例えば、音響モデル110は、単語およびそれに対応する発音の辞書(語彙目録(lexicon))を含むことができ、その発音は、所与の音素シーケンスが共に生じて1つの単語を形成する確率のインディケータを含む。さらに、音響モデル110はまた、独特の音素(distinct phonemes)が他の音素のコンテキスト中で生ずる可能性に関する情報も含むことができる。例えば、「トライフォン(tri−phone)」は、1つの独特の音素が左側に(前に付加され)、他の独特の音素が右側に(後ろに付加された)あるコンテキストで使用される独特の音素である。したがって、音響モデル110のコンテンツは、処理装置102によって使用され、どの単語が計算したスペクトルパラメータによって表されるかを予測する。
さらに、言語モデル(LM)112は、単語がどのように、またどのような頻度で共に生ずるのかを指定する。例えば、nグラム言語モデル112は、ある単語が一連の単語の後に続く確率を推定する。その確率値が集合的にnグラム言語モデル112を形成する。次いで、処理装置102は、音響モデル110を用いて識別された、最適な単語シーケンス仮説中から選択するために、nグラム言語モデル112からの確率を使用して、そのスペクトルパラメータによって表される可能性が最も高い単語または単語シーケンスを取得する。その最も可能性の高い仮説は、表示装置108によって表示することができる。
本明細書で説明する本発明は、ユーザによって入力された音声コマンドを受け取り、認識するために音声認識アプリケーションを使用する汎用コンピュータで実施されるシステムを用いたスタンドアロンの、かつ/または統合されたアプリケーションモジュールのコンテキスト中で記述される。オブジェクト指向アプリケーションのように、アプリケーションモジュールは、クライアントプログラムがアプリケーションモジュールと通信するためにアクセスできる標準のインターフェースを公開することができる。アプリケーションモジュールはまた、ワードプロセッシングプログラム、デスクトップパブリッシングプログラム、アプリケーションプログラムなどのいくつかの異なるクライアントプログラムに、ローカルにかつ/またはWAN、LANおよび/またはインターネットベースの車両などのネットワークを介して、そのアプリケーションプログラムを使用できるようにさせることができる。例えば、アプリケーションモジュールは、EメールアプリケーションまたはMicrosoft(登録商標)Wordなどの任意のアプリケーションおよび/またはテキストフィールドを有する制御によって、ローカルにまたはインターネットのアクセスポイントを介してアクセスされ、また使用することができる。しかし、本発明の諸態様を述べる前に、本発明に組み込むことが可能な、かつ本発明からの利益を受ける適切なコンピューティング環境の一実施形態を以下に説明する。
図2を参照すると、音声認識ソフトウェアアプリケーションで使用するためのニーモニック言語モデル112を作成する方法を実施するためのシステム200を示すブロック図が示されており、それは、処理装置204、システムメモリ206、システムバス208を含む汎用コンピュータシステム202を含み、そのシステムバス208が、システムメモリ206を処理装置204に結合する。システムメモリ206は、ROM(read only memory)210、およびRAM(random access memory)212を含むことができる。起動中などに、汎用コンピュータシステム202内のエレメント間で情報を転送することのできる基本ルーチンを含んでいるBIOS(基本入出力システム)214が、ROM210に記憶されている。汎用コンピュータシステム202はさらに、ハードディスクドライブ218、例えば、取外し可能磁気ディスク222から読み取りもしくはそれに書きこむための磁気ディスクドライブ220、およびCD−ROMディスク226を読み取るための、または他の光媒体から読み取りもしくはそれに書き込むための光ディスクドライブ224などの記憶装置216を含む。記憶装置216は、ハードディスクドライブインターフェース230、磁気ディスクドライブインターフェース232、および光ドライブインターフェース234などの記憶装置インターフェースによってシステムバス208と接続することができる。ドライブおよびその関連するコンピュータ可読媒体は、汎用コンピュータシステム202に対して不揮発性のストレージを提供する。上記のコンピュータ可読媒体の説明は、ハードディスク、取外し可能磁気ディスク、およびCD−ROMを指しているが、コンピュータシステムによって読み取り可能であり、かつ磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジなど、所望の最終目的に適切な他のタイプの媒体も使用できることを理解されたい。
ユーザは、キーボード236、マウス238などのポインティング装置、およびマイクロフォン240を含む従来の入力装置235を介して、汎用コンピュータシステム202にコマンドおよび情報を入力することができ、マイクロフォン240は、音声などのオーディオ入力を汎用コンピュータシステム202に入力するのに使用することができる。さらに、ユーザは、スタイラスを使用し書込みタブレット242上に図形情報を描くことによって、図面や手書きのものなど、図形情報を汎用コンピュータシステム202に入力することもできる。汎用コンピュータシステム202はまた、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなど、所望の最終目的に適した追加の入力装置を含むこともできる。マイクロフォン240は、システムバス208に結合されたオーディオアダプタ244を介して、処理装置204に接続することができる。さらに、他の入力装置がシステムバス208に結合されたシリアルポートインターフェース246を介してしばしば処理装置204に接続されるが、それを、パラレルポートインターフェース、ゲームポート、またはUSB(universal serial bus)などの他のインターフェースにより接続することもできる。
モニタや他のタイプの表示装置247など、表示画面248を有する表示装置247はまた、ビデオアダプタ250などのインターフェースを介してシステムバス208に接続されている。表示画面248に加えて、汎用コンピュータシステム202はまた、通常、スピーカおよび/またはプリンタなどの他の周辺出力装置を含むことができる。汎用コンピュータシステム202は、1つまたは複数の遠隔コンピュータシステム252への論理接続を用いてネットワーク化された環境中で動作することができる。遠隔コンピュータシステム252は、サーバ、ルータ、同位(peer)装置、または他の共通のネットワークノードとすることができ、図2には遠隔メモリストレージ装置254だけが示されているが、汎用コンピュータシステム202に関して説明した任意のまたはすべてのエレメントを含むことができる。図2に示した論理接続は、LAN(ローカルエリアネットワーク)256、WAN(広域ネットワーク)258を含む。このようなネットワーキング環境は、オフィスや、企業規模のコンピュータネットワーク、イントラネット、およびインターネットで普通のものである。
LANネットワーキング環境で使用される場合、汎用コンピュータシステム202は、ネットワークインターフェース260を介してLAN256に接続される。WANネットワーキング環境で使用される場合は、汎用コンピュータシステム202は、通常、インターネットなどのWAN258を介して通信を確立するためのモデム262または他の手段を含む。内部または外部とすることができるモデム262は、シリアルポートインターフェース246を介してシステムバス208に接続することができる。ネットワーク化された環境では、汎用コンピュータシステム202、またはその一部に関して示されたプログラムモジュールは、遠隔メモリストレージ装置254に記憶することができる。図示のネットワーク接続は例示的なものであり、コンピュータシステム間で通信リンクを確立するための他の手段を使用できることを理解されたい。アプリケーションモジュールが汎用コンピュータシステム以外のホストまたはサーバコンピュータシステム上で等価的に実施可能であり、CD−ROM以外の手段、例えば、ネットワーク接続インターフェース260により、ホストコンピュータシステムに等価的に送信できることも理解されたい。
さらに、いくつかのプログラムモジュールを汎用コンピュータシステム202のドライブおよびRAM212に記憶することができる。プログラムモジュールは、汎用コンピュータシステム202がどのように機能し、ユーザ、I/O装置または他のコンピュータとどのように対話するかを制御する。プログラムモジュールは、ルーチン、オペレーティングシステム264、ターゲットアプリケーションプログラムモジュール266、データ構造、ブラウザ、および他のソフトウェアもしくはファームウェアコンポーネントを含む。本発明の方法は、アプリケーションモジュール中に含めることができ、そのアプリケーションモジュールは、本明細書に記載の方法に基づいて音声エンジン訂正モジュール270などの1つまたは複数のプログラムモジュール中で実施できるので好都合である。ターゲットアプリケーションプログラム266は、本発明と共に使用される様々なアプリケーションを含むことができ、そのいくつかを図3に示す。これらのプログラムモジュールの目的およびそのいくつかのモジュール間の対話については、図3で説明するテキストにおいて十分に論ずる。それらは、例えば、Eメールアプリケーション、(米国ワシントン州レドモンドのMicrosoft Corporation(マイクロソフト社)により生産されるMicrosoft(登録商標)Wordなどの)ワードプロセッサプログラム、手書き認識プログラムモジュール、音声エンジン訂正モジュール270、およびIME(input method editor)などの任意のアプリケーションおよび/またはテキストフィ−ルドを有する制御を含む。
添付の図面で説明し示されたオペレーション、ステップ、および手順は、本発明の例示的な実施形態を当業者が実施できるように十分に開示されていると考えられるので、詳細な説明で述べた様々な手順を実行するための特定のプログラミング言語を何も説明していないことを理解されたい。さらに、例示的な実施形態を実施するのに使用できるコンピュータおよびオペレーティングシステムは数多くあり、したがって、これらの多くの異なるシステムすべてに適用可能なコンピュータプログラムの詳細を提供することはできない。特定のコンピュータの各ユーザは、そのユーザの必要性および目的にとって最も有益である言語とツールに気付かれよう。
図3を参照すると、図2の汎用コンピュータシステム202を用いて実施される音声認識ソフトウェアアプリケーションで使用するためのニーモニック言語モデルを作成する方法300を示すブロック図が示されており、その汎用コンピュータシステム202が、入力装置235、記憶装置216および表示装置247と通信する処理装置204を含み、その表示装置247が、図2に示すように表示画面248を含む。前に論じたように、入力装置235は、マイクロフォンなど所望の最終目的に適した任意の装置とすることができる。さらに、音声認識ソフトウェアアプリケーションを記憶装置216に記憶することができ、それにより、処理装置204は音声認識ソフトウェアアプリケーションにアクセスできるようになる。さらに、Microsoft(登録商標)Windows(登録商標)などの少なくとも1つのターゲットソフトウェアアプリケーション266を記憶装置216に記憶することができ、ユーザは、処理装置204に伝えられる命令を介してターゲットソフトウェアアプリケーションを実施することができる。
方法300は、オペレーションブロック302で示すように、文字および/または文字列の事前定義の大量の文字本体中の文字および/または文字列のそれぞれに対してnグラム言語モデル112を生成することを含む。上記で簡単に論じたように、それは、特有の文字が他の文字に続いて出現することに対して確率を割り当てることになる。例えば、単語「era(時代)」における文字列「er」の後の文字「a」の出現率を考える。nグラム言語モデル112を生成することにより、確率P(a|e、r)がその出現に割り当てられる。言い換えると、確立P(a|e、r)は、文字のシーケンス「er」の後にaが出現する可能性を表すことになる。nグラム言語モデル112は、コミュニティ規格(community standard)ARPAフォーマットにおけるファイルとして記述し、大文字/小文字依存(case sensitive)とすることができ、したがって、大文字と小文字の両方に対して確率を割り当てることができることを理解されたい。方法300はまた、オペレーションブロック304に示すように、事前定義の大量の文字および/または文字列本体中の文字および/または文字列のそれぞれに対して新しい言語モデルトークンを構築することを含む。例えば、言語モデルトークンがすでに存在している場合の文字「a」を考える。新しい言語モデルトークン「a―AsIn」がニーモニックスペリングで使用するために構築され、一方、古い言語モデルトークン「a」は文字のスペリングで使用するため保持される。このようにすると、性能を維持しかつ言語モデルのサイズを増加させずに、通常のスペリング技法およびニーモニックスペリング技法のためにnグラム言語モデル112を構築することができる。
方法300はさらに、オペレーションブロック306に示すように、文字の発音表記の代替の発音辞書を作成するために、音声認識ソフトウェアアプリケーションの事前定義の発音辞書に対応する文字および/または文字列のそれぞれに対する発音を抽出することを含む。例えば、再度、文字「a」を考えると、その場合、「a」で始まる単語に対する発音が、デスクトップの口述で使用される音声認識ソフトウェアアプリケーションの発音辞書から抽出される。その辞書を使用すると、単語「ARON(アロン)」が、図4に示すように「ae r ax n」の文字発音表記を有することが分かる。オペレーションブロック308に示すように、事前定義の発音辞書中の文字および/または文字列のそれぞれに対して、新しい言語モデルトークンを各文字の前に付加することによって、また長い無音「sil」を後ろに付加することによって代替の発音を作成することができる。例えば、新しい言語モデルトークン「a―AsIn」および単語「ARON」を考えてみる。上記の関係が与えられた場合、代替の発音は、「ey AA1 ey ae z ih n ae r ax n sil」で表されることになり、「ey AA1 ey ae z ih n」は、前に付加される「a AsIn」に対する発音であり、「ae r ax n」は、「ARON」に対する発音であり、「sil」は後ろに付加された長い無音である。さらに、大文字は同様な方法で処理される。例えば、フレーズ「capital a as in ARON(アロンにおける大文字a)」を考えてみる。上記の関係の場合、代替の発音は、「k ae p ih t ax l ey AA1 ey ae z ih n ae r ax n sil」で表されることになり、ここで、「k ae p ih t ax l」は、capitalに対する発音であり、「ey AA1 ey ae z ih n」は、前に付加される「a AsIn」に対する発音であり、「ae r ax n」は、「ARON」に対する発音であり、「sil」は後ろに付加される長い無音である。
大語彙認識装置(large vocabulary recognizer)で使用できるようにnグラム言語モデルは、次いで、オペレーションブロック310に示すように、標準のコンパイラを使用してコンパイルすることができ、そのコンパイラへの入力は、オペレーションブロック302で構築された(ARPAフォーマットの)nグラム言語モデル、およびオペレーションブロック304とオペレーションブロック306で構築された(文字ごとに異なる発音の変形をエンコードする)発音辞書を含む。nグラム言語モデル112は、JIT(Just−In−Time)コンパイラなど、所望の最終結果に適した任意のコンパイリング装置を用いてコンパイルすることができることを理解されたい。
方法300は、12万を超えるニーモニックを有する言語モデルをユーザが使用できるトライグラムベースの音声言語モデルを容易に作成することができることを理解されたい。それは、ユーザは12万の単語のうちの1つを言うことができるという事実(fact)をエンコードし、その単語の発音をエンコードし、および所与のコンテキストの前の2つの単語に現れる1つの単語のトライグラム確率をエンコードすることによって達成することができる。例えば、「this is(それは)」というフレーズが与えられた場合、ユーザが次に話す単語は、「near(近い)」または「kneel(ひざまずく)」であり得るが、英語では「this is near」は、「this is kneel」よりもはるかに普通であるため、「near」が選択される。同様に、スペリング言語モデルの場合、「単語」という用語は、実際には複数の文字を指し、その文字は、26の小文字、26の大文字、数字、および記号を含む。したがって、本明細書に開示の方法300は、1文字当たり平均5000の発音を使用し(SalmonのS=S、SugarのS=S、SalamanderのS=S...)、実際に、12万の単語口述モデルにおけるすべての単語が、可能なニーモニックとして使用される。各ニーモニックは、文字ごとまたは発音ごとに異なる重みが割り当てられ、あるものには、他のものよりもより大きく重み付けされる。例えば、ニーモニックフレーズで「Tom(トム)のT」は、「tertiary(第3の)のT」より大きく重み付けされる。それは、ニーモニックフレーズ「Tom(トム)のT」が高い頻度で使用される確率を有しているからである。さらに、ニーモニックシーケンスも確率を有しており、例えば、Donkey(ロバ)の「D」の後にFun(楽しみ)の「F」となる可能性は、Donkey(ロバ)の「D」の後にSun(太陽)の「S」が続く可能性より低い。それらの確率は、特別に生成することもできるが、あるいは、調査(survey)によってサンプリングされたニーモニックの簡単なリストから取得することもできる。本明細書に開示の方法300により、システム200は追加の文字および/または文字列を「学習」できることもまた理解されたい。さらに、方法300が、アメリカ英語音素に関して本明細書に開示され、論じられているが、方法300は、中国語やロシア語、スペイン語、フランス語などの言語に対する音素を用いて使用することもできる。
例示的な一実施形態によると、図3の処理は、全体的にまたは部分的に、マシン可読コンピュータプログラムに対応して動作する制御装置によって実施することができる。所定の機能および所望の処理、ならびにそのための計算(例えば、本明細書に規定した制御アルゴリズム、制御プロセスの実行など)を実施するために、制御装置は、それだけに限らないが、プロセッサ、コンピュータ、メモリ、ストレージ、レジスタ、タイミング、割り込み、通信インターフェース、および入出力信号インターフェース、ならびに前述の少なくとも1つを含む組合せを含むことができる。
さらに、本発明は、コンピュータまたは制御装置で実施されるプロセスの形で実施することもできる。本発明はまた、フロッピー(登録商標)ディスケット、CD−ROM、ハードドライブ、および/または他の任意のコンピュータ可読媒体など有形の媒体中で実施される命令を含むコンピュータプログラムコードの形で実施することもでき、そのコンピュータプログラムコードがコンピュータまたは制御装置にロードされ実行されるとき、そのコンピュータまたは制御装置は、本発明を実施する装置となる。本発明はまた、例えば、記憶媒体に記憶されようと、コンピュータまたは制御装置にロードされかつ/または実行されようと、または電気的な配線またはケーブリングを介し、光ファイバを介し、あるいは電磁放射を介するなど何らかの伝送媒体を介して送信されようと、コンピュータプログラムコードの形で実施することが可能であり、そのコンピュータプログラムコードがコンピュータまたは制御装置にロードされ実行されたとき、そのコンピュータまたは制御装置は、本発明を実施するための装置となる。汎用マイクロプロセッサ上に実装された場合、コンピュータプログラムコードセグメントは、特有の論理回路を作成するマイクロプロセッサを構成することができる。
本発明を例示的な実施形態を参照して説明してきたが、当業者であれば、本発明の趣旨および範囲を逸脱することなく、様々な変更、省略、および/または追加を行うことができ、等価な形態をそのエレメントの代用として使用することができることを理解されよう。さらに、本発明の範囲を逸脱することなく、特定の状態または材料を適合させるために、本発明の教示に多くの変更を加えることもできる。したがって、本発明を実行するために企図された最良の形態として開示された特定の実施形態に本発明を限定するものではなく、本発明は、添付の特許請求の範囲に含まれるすべての実施形態を含むものとする。さらに、第1、第2などの用語の使用は、特に説明のない限り、何らかの順序または重要性を示すものではなく、第1、第2などの用語は、1つのエレメントを他のものと区別するときに使用される。
典型的な音声認識システムを示すブロック図である。 例示的な一実施形態による音声認識ソフトウェアアプリケーションで使用するためのニーモニック言語モデルを作成する方法を実施するシステムを示す概略のブロック図である。 例示的な一実施形態による音声認識ソフトウェアアプリケーションで使用するためのニーモニック言語モデルを作成する方法を示すブロック図である。 アメリカ英語音素テーブルの図である。
符号の説明
102 処理装置
104 入力装置
106 記憶装置
110 音響モデル
112 言語モデル
204 処理装置
206 システムメモリ
230 ハードディスクドライブインターフェース
232 磁気ディスクドライブインターフェース
234 光ディスクドライブインターフェース
244 オーディオアダプタ
246 シリアルポートインターフェース
248 モニタ
250 ビデオアダプタ
252 ネットワークインターフェース
260 ネットワークインターフェース
264 オペレーティングシステム
266 アプリケーションプログラムモジュール(ワードプロセッサ)
270 音声エンジン訂正モジュール

Claims (16)

  1. コンピュータが、音声認識ソフトウェアアプリケーションで使用するための言語モデルを作成する方法であって、
    文字列からnグラム言語モデルを生成するステップと、
    前記nグラム言語モデルから文字を表す発音および用語“as−in”を表す発音を含む、トークンを構築するステップと、
    前記文字で始まる単語について辞書から発音を抽出するステップと、
    前記トークンを前記単語の発音の前に付加することによって、前記文字の代替の発音を作成するステップと、
    前記nグラム言語モデルおよび前記代替の発音をコンパイルして、前記音声認識ソフトウェアアプリケーションで使用するための言語モデルを形成するステップと、
    を含むことを特徴とする方法。
  2. 前記文字列は、小文字、大文字、数字および記号を含む文字のうちの少なくとも1つを含むことを特徴とする請求項1に記載の方法。
  3. 前記文字、前記単語、前記辞書および前記代替の発音のうちの少なくとも1つは、英語に対応していることを特徴とする請求項2に記載の方法。
  4. 前記構築するステップは、前記文字列のそれぞれの文字についてトークンを構築するステップを含むことを特徴とする請求項1に記載の方法。
  5. 前記トークンを構築するステップは、前記代替の発音を形成するために、前記単語の前記発音に、長い無音表記を後ろに付加するステップを含むことを特徴とする請求項1に記載の方法。
  6. 前記文字が大文字である場合、前記トークンを前記構築するステップは、前記代替の発音を形成するために、前記トークンに用語“capital”の表記を前に付加するステップをさらに含むことを特徴とする請求項1に記載の方法。
  7. 前記nグラム言語モデルは、ARPAフォーマットを使用して生成されることを特徴とする請求項1に記載の方法。
  8. 前記方法を実行するためのコンピュータ実行可能な命令はコンピュータが読み取り可能な媒体上で具現化される請求項1に記載の方法。
  9. 前記文字、前記単語、前記辞書および前記代替の発音のうちの少なくとも1つは、口語に対応していることを特徴とする請求項1に記載の方法。
  10. コンピュータが、音声認識ソフトウェアアプリケーションで使用するための言語モデルを作成する方法であって、
    文字列からnグラム言語モデルを生成するステップであって、前記nグラム言語モデルは、前記文字列からの文字を含む、生成するステップと、
    前記文字を表す発音および用語“as−in”を表す発音を含む、トークンを構築するステップと、
    辞書から前記文字の発音を抽出するステップと、
    前記文字の前記発音を使用して前記文字の代替の発音を作成するステップと、
    前記文字で始まる単語について前記辞書から単語の発音を抽出するステップと、
    前記代替の発音を形成するために、前記トークンを前記単語の発音の前に付加し、長い無音表記を前記単語の発音の後ろに付加するステップと、
    前記nグラム言語モデルおよび前記代替の発音をコンパイルして、前記音声認識ソフトウェアアプリケーションで使用するための言語モデルを形成するステップと、
    を含むことを特徴とする方法。
  11. 前記文字列は、小文字、大文字、数字および記号を含む文字のうちの少なくとも1つを含むことを特徴とする請求項10に記載の方法。
  12. 前記文字、前記辞書および前記代替の発音のうちの少なくとも1つは、英語に対応していることを特徴とする請求項10に記載の方法。
  13. 前記文字が大文字である場合、前記トークンを前記構築するステップは、前記代替の発音を形成するために、前記トークンに用語“capital”の表記を前に付加するステップをさらに含むことを特徴とする請求項10に記載の方法。
  14. 前記nグラム言語モデルは、ARPAフォーマットを使用して生成されることを特徴とする請求項10に記載の方法。
  15. 前記方法を実行するためのコンピュータ実行可能な命令はコンピュータが読み取り可能な媒体上で具現化される請求項10に記載の方法。
  16. 前記文字、前記辞書および前記代替の発音のうちの少なくとも1つは、口語に対応していることを特徴とする請求項10に記載の方法。
JP2005308459A 2004-11-24 2005-10-24 言語モデルを作成する方法 Expired - Fee Related JP4818683B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/996,732 US7418387B2 (en) 2004-11-24 2004-11-24 Generic spelling mnemonics
US10/996,732 2004-11-24

Publications (3)

Publication Number Publication Date
JP2006146193A JP2006146193A (ja) 2006-06-08
JP2006146193A5 JP2006146193A5 (ja) 2008-12-11
JP4818683B2 true JP4818683B2 (ja) 2011-11-16

Family

ID=35466493

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005308459A Expired - Fee Related JP4818683B2 (ja) 2004-11-24 2005-10-24 言語モデルを作成する方法

Country Status (14)

Country Link
US (2) US7418387B2 (ja)
EP (1) EP1662482B1 (ja)
JP (1) JP4818683B2 (ja)
KR (1) KR101183310B1 (ja)
CN (1) CN1779783B (ja)
AT (1) ATE534988T1 (ja)
AU (2) AU2005229636B2 (ja)
BR (1) BRPI0504510A (ja)
CA (1) CA2523933C (ja)
ES (1) ES2375283T3 (ja)
MX (1) MXPA05011448A (ja)
PL (1) PL1662482T3 (ja)
PT (1) PT1662482E (ja)
RU (1) RU2441287C2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8510109B2 (en) 2007-08-22 2013-08-13 Canyon Ip Holdings Llc Continuous speech transcription performance indication
US9973450B2 (en) 2007-09-17 2018-05-15 Amazon Technologies, Inc. Methods and systems for dynamically updating web service profile information by parsing transcribed message strings
KR100930714B1 (ko) 2007-12-14 2009-12-09 한국전자통신연구원 음성인식 장치 및 방법
US8010465B2 (en) * 2008-02-26 2011-08-30 Microsoft Corporation Predicting candidates using input scopes
US8447613B2 (en) * 2008-04-28 2013-05-21 Irobot Corporation Robot and server with optimized message decoding
JP2011007862A (ja) * 2009-06-23 2011-01-13 Fujitsu Ltd 音声認識装置、音声認識プログラム、および音声認識方法
EP3091535B1 (en) * 2009-12-23 2023-10-11 Google LLC Multi-modal input on an electronic device
US11416214B2 (en) 2009-12-23 2022-08-16 Google Llc Multi-modal input on an electronic device
US8914286B1 (en) * 2011-04-14 2014-12-16 Canyon IP Holdings, LLC Speech recognition with hierarchical networks
WO2013035293A1 (ja) * 2011-09-09 2013-03-14 旭化成株式会社 音声認識装置
KR101193362B1 (ko) * 2012-04-13 2012-10-19 최병기 문자열을 발음 단위로 분할하는 방법, 이를 이용하는 문자열의 어조 표현 방법 및 문자열의 어조를 표현하는 동영상 데이터가 저장된 저장매체
US20140068443A1 (en) * 2012-08-28 2014-03-06 Private Group Networks, Inc. Method and system for creating mnemonics for locations-of-interests
US10235358B2 (en) 2013-02-21 2019-03-19 Microsoft Technology Licensing, Llc Exploiting structured content for unsupervised natural language semantic parsing
US10073840B2 (en) 2013-12-20 2018-09-11 Microsoft Technology Licensing, Llc Unsupervised relation detection model training
WO2019203016A1 (ja) * 2018-04-19 2019-10-24 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
JP7332486B2 (ja) * 2020-01-08 2023-08-23 株式会社東芝 記号列変換装置および記号列変換方法
US11735169B2 (en) * 2020-03-20 2023-08-22 International Business Machines Corporation Speech recognition and training for data inputs

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2820093B2 (ja) * 1995-12-26 1998-11-05 日本電気株式会社 単音節認識装置
US6321196B1 (en) * 1999-07-02 2001-11-20 International Business Machines Corporation Phonetic spelling for speech recognition
GB2353887B (en) * 1999-09-04 2003-09-24 Ibm Speech recognition system
US7315815B1 (en) 1999-09-22 2008-01-01 Microsoft Corporation LPC-harmonic vocoder with superframe structure
US6694296B1 (en) * 2000-07-20 2004-02-17 Microsoft Corporation Method and apparatus for the recognition of spelled spoken words
WO2002029613A1 (en) * 2000-09-30 2002-04-11 Intel Corporation (A Corporation Of Delaware) Method and system for building a domain specific statistical language model from rule-based grammar specifications
US7400712B2 (en) * 2001-01-18 2008-07-15 Lucent Technologies Inc. Network provided information using text-to-speech and speech recognition and text or speech activated network control sequences for complimentary feature access
US6975986B2 (en) * 2001-05-30 2005-12-13 International Business Machines Corporation Voice spelling in an audio-only interface
US7225130B2 (en) * 2001-09-05 2007-05-29 Voice Signal Technologies, Inc. Methods, systems, and programming for performing speech recognition
US7315811B2 (en) * 2003-12-31 2008-01-01 Dictaphone Corporation System and method for accented modification of a language model

Also Published As

Publication number Publication date
MXPA05011448A (es) 2007-12-11
RU2441287C2 (ru) 2012-01-27
CN1779783A (zh) 2006-05-31
EP1662482B1 (en) 2011-11-23
PL1662482T3 (pl) 2012-04-30
US7765102B2 (en) 2010-07-27
JP2006146193A (ja) 2006-06-08
US7418387B2 (en) 2008-08-26
KR101183310B1 (ko) 2012-09-17
US20080319749A1 (en) 2008-12-25
CA2523933A1 (en) 2006-05-24
EP1662482A2 (en) 2006-05-31
BRPI0504510A (pt) 2006-07-11
KR20060058004A (ko) 2006-05-29
US20060111907A1 (en) 2006-05-25
AU2005229636B2 (en) 2010-09-30
PT1662482E (pt) 2011-12-19
CN1779783B (zh) 2011-08-03
CA2523933C (en) 2014-01-28
RU2005136460A (ru) 2007-05-27
EP1662482A3 (en) 2010-02-17
AU2010212370B2 (en) 2012-05-10
AU2010212370A1 (en) 2010-09-09
AU2005229636A1 (en) 2006-06-08
ES2375283T3 (es) 2012-02-28
ATE534988T1 (de) 2011-12-15

Similar Documents

Publication Publication Date Title
JP4818683B2 (ja) 言語モデルを作成する方法
TW546631B (en) Disambiguation language model
US8731928B2 (en) Speaker adaptation of vocabulary for speech recognition
EP1346343B1 (en) Speech recognition using word-in-phrase command
US7580838B2 (en) Automatic insertion of non-verbalized punctuation
US7421387B2 (en) Dynamic N-best algorithm to reduce recognition errors
US7124080B2 (en) Method and apparatus for adapting a class entity dictionary used with language models
EP1089193A2 (en) Translating apparatus and method, and recording medium used therewith
US11043213B2 (en) System and method for detection and correction of incorrectly pronounced words
EP1251490A1 (en) Compact phonetic model for arabic languages recognition
JP6245846B2 (ja) 音声認識における読み精度を改善するシステム、方法、およびプログラム
CN110870004A (zh) 基于音节的自动语音识别
KR20050101695A (ko) 인식 결과를 이용한 통계적인 음성 인식 시스템 및 그 방법
JP2007535692A (ja) 任意に話されたキャラクタのコンピュータによる認識及び解釈のためのシステム及び方法
Attanayake Statistical language modelling and novel parsing techniques for enhanced creation and editing of mathematical e-content using spoken input
WO2014035437A1 (en) Using character describer to efficiently input ambiguous characters for smart chinese speech dictation correction
JP7165439B2 (ja) ソース言語の音声によって拡張言語の音声認識モデルをトレーニングする方法
KR20230155836A (ko) 난발음 표기 방법
Maskeliunas et al. Recognition of voice commands using adaptation of foreign language speech recognizer via selection of phonetic transcriptions
Ellermann et al. Dragon systems' experiences in small to large vocabulary multi-lingual speech recognition applications.

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081024

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110517

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20110527

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110527

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110708

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110809

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110826

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110831

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140909

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees