(57)【要約】【課題】  言語モデルの切替及び適応のための装置及び方法を提供する。【解決手段】  この言語モデル切替・適応装置は、目的アプリケーションの状態が変更される場合、現在の状態情報あるいは目的アプリケーションの言語モデルに対する要求の言語モデル切替え部に通知する通知管理部と、受信した現在の状態情報あるいは要求に従って言語モデルセットから切り替える１つ以上の言語モデルを選択する言語モデル切替え部と、選択された言語モデルを用いてユーザの入力をデコードするＬＭＢエンジンと、デコードされた結果を受け取り、デコードされた結果に基づいて選択された言語モデルを修正する言語モデル適応部を備える。【選択図】  図１
2007280364.tif 000002
【特許請求の範囲】
【請求項１】
目的アプリケーションの状態が変更された場合、現在の状態情報あるいは目的アプリケーションの言語モデルに対する要求を言語モデル切替部に通知する通知管理部と、
受信した現在の状態情報あるいは要求に従って言語モデルセットから切り替える１以上の前記言語モデルを選択する言語モデル切替部と、
１以上の選択された前記言語モデルを用いてユーザの入力をデコードするＬＭＢエンジンと、
デコード結果を受信し、当該デコード結果に基づいて、１以上の選択された前記言語モデルを修正する言語モデル適応部と
を備えることを特徴とする言語モデル切替・適応装置。
【請求項２】
前記ＬＭＢエンジンが、音声認識エンジンであることを特徴とする請求項１に記載の言語モデル切替・適応装置。
【請求項３】
前記ＬＭＢエンジンが、テキスト入力エンジンであることを特徴とする請求項１に記載の言語モデル切替・適応装置。
【請求項４】
前記言語モデル切替部が、
前記通知管理部から現在の状態情報あるいは前記言語モデルに対する要求を受信し、現在の状態情報を受信した場合に、対応付けテーブルを検索することにより、前記状態情報を言語モデルに対する要求に変換する受信変換ユニットと、
前記言語モデルに対する要求あるいは変換された要求に基づいて前記言語モデルセットから切り替える１つ以上の言語モデルを選択する言語モデル選択ユニットを備えることを特徴とする請求項１から請求項３の何れか１項に記載の言語モデル切替・適応装置。
【請求項５】
前記通知管理部が、
前記目的アプリケーションの状態の変更を検知するＧＷＥＳグラフィック・ユーザ・インタフェースと、
現在の状態情報あるいは前記目的アプリケーションの言語モデルに対する要求を前記言語モデル切替部に通知するソフトウェア・キーボード入力パネルを備えることを特徴とする請求項１から請求項４の何れか１項に記載の言語モデル切替・適応装置。
【請求項６】
前記言語モデルセットの１つの言語モデルが、１つの言語ドメイン内において他の言語モデルとオーバラップし、あるいはオーバラップしないことを特徴とする請求項１に記載の言語モデル切替・適応装置。
【請求項７】
目的アプリケーションの状態を対応する１以上の言語モデルに対応付けるグローバル言語モデル対応付け部を備え、
前記目的アプリケーションが、要求フラグおよび前記グローバル言語モデル対応付け部によって言語モデルに対する要求を識別し、前記通知管理部へ言語モデルに対する要求を送信することを特徴とする請求項１に記載の言語モデル切替・適応装置。
【請求項８】
前記言語モデル切替部が、
前記通知管理部から目的アプリケーションの言語モデルに対する要求を受信する受信モジュールと、
受信した要求に従って、前記言語モデルセットから切り替える１以上の言語モデルを選択する言語モデル選択モジュールを備えることを特徴とする請求項７に記載の言語モデル切替・適応装置。
【請求項９】
目的アプリケーションの状態が変更された場合に、現在の状態情報あるいは前記目的アプリケーションの言語モデルに対する要求を通知する通知ステップと、
通知された現在の状態情報あるいは要求に従って、言語モデルセットから切り替える１以上の言語モデルを選択する言語モデル切替ステップと、
１以上の選択された言語モデルを用いて、ユーザの入力をデコードするでデコードステップと、
デコードされた結果を受け取り、デコードされた結果に基づいて１以上の選択された言語モデルを修正する言語モデル適応ステップと
を有することを特徴とする言語モデルの切替・適応方法。
【請求項１０】
前記ユーザの入力が、音声認識入力であることを特徴とする請求項９に記載の言語モデルの切替・適応方法。
【請求項１１】
前記ユーザの入力が、テキスト入力であることを特徴とする請求項９に記載の言語モデルの切替・適応方法。
【請求項１２】
前記言語モデル切替ステップが、
前記現在の状態情報あるいは前記言語モデルに対する要求を受信し、現在の状態情報を受信した場合に、対応付けテーブルを検索することにより、前記状態情報を言語モデルに対する要求に変換する受信変換ステップと、
前記言語モデルに対する要求あるいは変換された要求に基づいて前記言語モデルセットから切り替える１つ以上の言語モデルを選択する言語モデル選択ステップを有することを特徴とする請求項９から請求項１１の何れか１項に記載の言語モデルの切替・適応方法。
【請求項１３】
前記通知ステップが、
前記目的アプリケーションの状態の変更を検知する検知ステップと、
現在の状態情報あるいは前記目的アプリケーションの言語モデルに対する要求を通知する通信ステップを有することを特徴とする請求項９から請求項１２の何れか１項に記載の言語モデルの切替・適応方法。
【請求項１４】
前記言語モデルセットの１つの言語モデルが、１つの言語ドメイン内において他の言語モデルとオーバラップし、あるいはオーバラップしないことを特徴とする請求項９に記載の言語モデルの切替・適応方法。
【請求項１５】
目的アプリケーションの状態を対応する１以上の言語モデルに対応付けるグローバル言語モデル対応付けステップを有し、
前記目的アプリケーションが、要求フラグおよび前記グローバル言語モデル対応付けステップによって言語モデルに対する要求を識別し、前記通知ステップへ言語モデルに対する要求を提供することを特徴とする請求項９に記載の言語モデルの切替・適応方法。
【請求項１６】
前記言語モデル切替ステップが、
目的アプリケーションから言語モデルに対する要求を受信するステップと、
受信した要求に従って、前記言語モデルセットから切り替える１以上の言語モデルを選択する言語モデル選択ステップを有することを特徴とする請求項１５に記載の言語モデルの切替・適応方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自然言語処理の技術に関し、特に、言語モデルの切替及び適応のための装置及び方法に関する。
【背景技術】
【０００２】
言語モデル技術（Language model technology）は、自然言語処理（Natural Language Processing）における主要な構成要素のうちの１つである。それは、多くの分野において広く利用されている。例えば、音声認識（ＳＲ）のように、光学文字認識（ＯＣＲ）、予測的テキスト入力（ＰＴＥ：Predictive Text Entry）等である。予測的テキスト入力は、しばしば非英語および完全文テキスト入力のために文章レベル入力方法（Sentence-Level Input Method）と称される。一般に、言語モデルは文の確率を推測するためにしばしば利用される。例えば、音声認識において、音声認識装置は音声仮定シーケンス（acoustic hypothesis sequence）を供給する。それは種々の文候補を生成することができる。その後、候補文はそれぞれ言語モデルによってスコアが付けられ、最も高いスコアを有するものが最良の候補であると考えられる。同様に、中国語のような非英語のテキスト入力あるいは携帯電話のような１０ボタン装置へのテキスト入力は、困難である。これは、ユーザがコード・シーケンスを入力し、かつ長いリストから適切な候補を選択しなければならないためである。言語モデルは、適切な候補を自動的に選択することを支援することができる。例えば、携帯電話の数字シーケンス「４６６３」は３つの英単語候補「ｇｏｏｄ／ｈｏｍｅ／ｇｏｎｅ」に対応している。前の単語が「ｇｏ」であれば、言語モデルは、「ｈｏｍｅ」が第１の候補であると自動的に予測することができる。要するに、言語モデルは言語モデルに関連する曖昧さが生じる場合に、候補を選ぶために利用することができる。
【０００３】
しかし、言語モデルのパフォーマンスは完全にドメイン（domain）依存である。言語モデルに基づいたアプリケーションが、その専門フィールド以外のドメインにおいて動作すると、パフォーマンスは劇的に低下する。この問題を解決するために、ドメインが変わる場合、言語モデルは修正されるべきである。しかし、アプリケーションが多くの別個のドメインの間で頻繁に切り替わる必要がある場合、パフォーマンスはモデルの修正から利益を得ないばかりか、修正がモデルを使用不可能にすることもある。この現象は次のセクションで説明される。
【０００４】
上述したように、言語モデリングにおける一般的な問題はドメイン依存の問題である。目的アプリケーションが固定ドメインにおいて動作する場合、この問題は目立たないかもしれない。しかし、アプリケーションが、互いに全く異なる多くのドメインにおいて利用されると、この問題が言語モデルパフォーマンスを制限する。
【０００５】
一般的に言えば、ドメイン依存の問題を解決する２つの典型的な方法がある。第１の方法は、言語モデル適応（ＬＭＡ）である。また、第２の方法は言語モデル切替（ＬＭＳ）である。それらは両方とも、入力方法によって生成された入力テキストのような最新の入力データによって提供される情報に従ってモデルを高めようとする。
【０００６】
従来の言語モデル適応は、最新のトピック（topic）が局所的に静止していると仮定する。すなわち、ドメインは、言語モデル使用の処理手続きを通じて不変である。従って、最新の出力テキストは、モデルが次に続く処理手続きにおいてよりよく動作するように、言語モデルを修正するために利用することができる。最も一般的な方法では、最近のテキストの利用のためにキャッシュ・モデルを設定し、補間を利用するためにキャッシュ・モデルと一般的なモデルを組み合わせる。長いドキュメントの音声認識や印刷された長いドキュメントのＯＣＲ処理において、この方法は効果的に動作する。
【０００７】
従来の言語モデル切替方法も、同様に最新のトピックが局所的に静止していると仮定する。これらのケースにおいて、最近のテキストストリームは言語モデルを高めるのには十分ではないが、代わりに、最近のテキストストリームが、最新のトピックを判断しかつ最新のトピックについて予め設定されている適切なモデルを選択するのに利用される。
【０００８】
従来の方法は単に最近のテキストストリームを言語モデル適応および切り替えに利用するので、ここでは、それらをテキストストリームに基づいた言語モデル適応／切り替え方法と呼ぶ。
【０００９】
上述したように、テキストストリームに基づいたＬＭＡ／ＬＭＳ方法は、両方とも最新のトピックが局所的に静止していると仮定し、それによって、最新のテキストストリームをモデルの性能を高めるために利用することができる。実際、この仮定は必ずしも満たされるとは限らない。あるケースにおいては、テキストストリームの量が少なすぎると、言語モデル適応において利用することができない。また、このようなテキストは言語モデル適応にはほとんど役に立たない。他のいくつかのケースにおいては、言語モデルアプリケーションが、いかなるテキストストリームも提供しないで、コンテキストから他のコンテキストへ頻繁に切り替わる。すなわち、局所的な静止特性が破壊される。従って、言語モデル適応も言語モデル切替方法も効果的に作用しない。
【００１０】
特に、テキストストリームに基づいた方法が利用することができるのはただ一つ最新のテキストストリームである。トピックの静止していない性質のために、言語モデル適応あるいは切り替えを誤る可能性がある。さらに、アプリケーションが動作している場合、現在のアプリケーションのドメインが多くのフィールド中で切り替わる可能性がある。現在の既存の解決法は、モデルを修正するかあるいはモデルを選択するために最近のテキストストリームを利用することでこの問題に対処する。明らかに、ドメイン切り替えが非常に頻繁にあれば、モデルは劇的に修正される。あるいは、新しいモデルが単に選択されているとすぐにドメインが変わる。これは、以前の判定が次の入力要求と調和しないという重大な結果になる。それは、改良をもたらすのではなくかえってモデルの性能を損なう。
【００１１】
最近広く利用されている中国語の入力方法を例にとると、それらは、現在の編集フィールドをテキスト文字列で記入する必要があることを識別するだけであり、現在のアプリケーションあるいは現在のフィールドがどのような優先権を持っているか留意しない。実際、ユーザがコンタクトマネージャ（contact manage）において項目に記入する場合、名前、住所、勤め口、趣味および電話番号のようなフィールドを編集することが必要である。明らかに、それらのフィールドは互いには全く異なる。また、名前入力から取得した情報がアドレス入力を改善しない可能性があると共に、さらにアドレス入力を誤らせる可能性もある。この場合、テキストストリームに基づいた方法は少しもうまく機能しない。
【００１２】
他の例として１０ボタン携帯電話のための文レベル入力方法を考える。ユーザがショートメッセージを入力する場合、ドメインはショートメッセージ会話ドメインである。ユーザが、アドレス帳の名前欄に書き入れる場合、そのドメインが名前である。ユーザがスマートフォンを介してインターネット・サーフィンを行う場合、ユーザはインターネットＵＲＬをブラウザーのアドレスバーに書き入れる必要がある。また、ユーザが自分の友達にダイヤルする場合、入力ドメインは電話番号である。同様に、テキストストリームに基づいた方法はこの場合もまた助けにならない。
【００１３】
音声認識システムをこれらの２つの例における入力方法と置き換えたとしても、状態は類似している。
【発明の開示】
【発明が解決しようとする課題】
【００１４】
すなわち、以上の説明から以下のことが判明する。純粋なテキストストリームに基づいた方法は、上記の文脈依存のケースにおいて、その言語モデルがどのドメインに現在利用されているかを（あるいは、そのような固定ドメインは全く存在しないかを）識別するために効果的な手段を提供しない。また、それらの方法は、ＬＭＢエンジン・アプリケーションが多くのドメイン間で頻繁に切り替わる場合にドメイン依存問題に対処する効果的な手法を有していない。
さらに、ドメイン検出が不正確であるため、モデル適応は成功か失敗となる。
【００１５】
実際、ある場合において、言語モデル要求が固定的でかつ具体的であることが分かる。例えば、携帯電話によるコンタクトマネージャの入力フィールドは、名前入力を要求する。本特許出願の発明者は、言語モデル切り替えと適応のためにこの要求を取得して利用することが可能であることを見出した。
【課題を解決するための手段】
【００１６】
本発明は上記の問題に解決するためになされたものであり、言語モデルの切替えと適応のための方法および装置を提供することを目的とする。
本発明は、目的アプリケーションの状態が変更された場合に、特定の場面に対して適切な言語モデルを選択する。また特定のモデルを修正するためにテキストストリームフィードバックを用いる。
従って、切り替えが様々な言語モデル間で実行される場合にドメイン依存問題が解決され、特定の言語モデルについての適応が言語モデルの特性を向上させる。
【００１７】
第１の本発明による言語モデル切替・適応装置は、目的アプリケーションの状態が変更された場合、現在の状態情報あるいは目的アプリケーションの言語モデルに対する要求の言語モデル切替え部に通知する通知管理部と、受信した現在の状態情報あるいは要求に従って言語モデルセットから切り替える１つ以上の言語モデルを選択する言語モデル切替え部と、１つ以上の選択された言語モデルを用いてユーザの入力をデコードするＬＭＢエンジンと、デコードされた結果を受け取り、デコードされた結果に基づいて１つ以上の選択された言語モデルを変更する言語モデル適応部を備える。
【００１８】
第２の本発明による言語モデルの切替・適応方法は、目的アプリケーションの状態が変更された場合に、現在の状態情報あるいは前記目的アプリケーションの言語モデルに対する要求を通知する通知ステップと、通知された現在の状態情報あるいは要求に従って、言語モデルセットから切り替える１以上の言語モデルを選択する言語モデル切替ステップと、１以上の選択された言語モデルを用いて、ユーザの入力をデコードするでデコードステップと、デコードされた結果を受け取り、デコードされた結果に基づいて１以上の選択された言語モデルを修正する言語モデル適応ステップとを有する。
【００１９】
言語モデルのドメイン依存の問題のための従来の解決法と違って、本発明は、対応するドメインに対して特定のモデルを構築し目的アプリケーションの状態を利用する。また、また、テキストデータの履歴を用いる。また、ＬＭＢエンジンは目的アプリケーションと通信し、重要な情報を交換する。
【発明の効果】
【００２０】
本発明の効果について以下に述べる。
１．多数の異なるドメインにおいて動作し、かつそれらの間で頻繁に切り替えられるＬＭＢエンジンを実現することができる。
２．各言語モデルは互いに大きく異なっていてもよいし、語彙も全く異なっていても適用することが可能である。このことはＬＭＢエンジンをより柔軟にする。
３．言語モデルの適応が現在の特定のモデルについてなされるので、従来のモデル適応より遥かに効果的な性能向上が達成される。
４．ＬＢＭエンジンが目的アプリケーションと通信することができるので、ユニークな要求をする新しい目的アプリケーションを開発することが可能となる。また、通信手段は、新しい要求に応じる言語モデルセットに対して新しい言語モデルを追加するために用いることが可能である。この手段は、拡張性に富むＬＢＭエンジンアプリケーションを提供する。
上述した効果に起因して、ＬＭＢエンジンの性能を向上させることが可能となる。
【発明を実施するための最良の形態】
【００２１】
図１は、本発明による言語モデルの切替え及び適応のための装置の概略構成示すブロック図である。この装置は、全てのアプリケーションのための計算能力を提供するＣＰＵ０１と、装置がメモリ０７と固定記憶装置０４（ハードディスクやフラッシュメモリ等の記憶装置）との間のデータをやり取りする内部バス０２と、汎用アプリケーション０９及びユーザ・インタフェース０３（特にキー入力のためのキーボードおよび音声入力用のマイクロホン等）を備えている。固定記憶装置０４は、言語モデルセット０５及びその他のデータ０６を記憶する。本装置は、さらに目的アプリケーション１４と、言語モデル適応部１２と、言語モデル切替部１１と、通知管理部１３及び言語モデル関連（ＬＭＢ）エンジン１０を含む。
【００２２】
ＬＭＢエンジン１０は、一般に言語モデルを利用し、アプリケーションのための言語モデル関連サービスを提供する。ＬＭＢエンジン１０は、例えばテキスト入力エンジンあるいは音声認識エンジンである。目的アプリケーション１４は、ノートパッド、単語アプリケーション及びメール・エディタ等のような、ＬＭＢエンジン１０から言語モデル関連サービスを受け取るアプリケーションである。
【００２３】
言語モデルセット０５は、種々の状況のための言語モデルの組を管理する。
【００２４】
言語モデル切替部１１は、様々な言語モデル間で切り替えを行う。通知管理部１３は、言語モデル切替部１１と目的アプリケーション１４との間の通知情報を通信する。目的アプリケーション１４の状態が変更されるか、特定の言語モデルに対する要求が送信された時、通知管理部１３はそれを認識する。そこで、通知管理部１３は、言語モデル切替部１１に対して、特定の言語モデルの具体的な要求あるいは目的アプリケーションの状態情報を送信する。それにより、言語モデル切替部１１は、性能を上げるために現在の言語モデルを適切なものに切り替える。言語モデル切替部１１は、状態情報を言語モデルの要求に変換し、マッピングテーブルに従って対応する言語モデルを選択する。そのようなマッピングテーブルは、固定記憶装置４上に他のデータ０６として記憶される。このマッピングテーブルの例を図５に示す。
【００２５】
言語モデル適応部１２は、フィードバック入力結果に従って言語モデルを自己適応するために利用される。ＬＭＢエンジン１０が現在稼動中の言語モデルを用いることによりユーザからの入力をデコードする場合、言語モデル適応部１２は、デコードされた入力を受取り、デコードされた入力（入力のデコード結果）に従って現在活動中の言語モデルを修正する。
【００２６】
従って、言語モデル適応部１２は、現在稼動中の言語モデルについて適応を実行するためにＬＭＢエンジン１０からの結果テキストを利用する結果フィードバック経路を提供する。また、言語モデル切替部１１及び言語モデル適応部１２は、言語モデルセットにアクセスするためのインタフェースとしての機能を提供する。通知管理部１３は、これらの構成要素間のブリッジとしての役割を果たす。
【００２７】
なお、言語モデルセット０５、言語モデル切替部１１、言語モデル適応部１２及び通知管理部１３については、それらを、単一のモジュールに併合することが可能であるし、あるいはＬＭＢエンジン１０に組み込むことも可能である。
【００２８】
図２は、言語モデルの切替及び適応処理手順を実行する図１の装置の主要な構成要素を示す。図２においては、主要な構成要素０５、１０、１１、１２、１３及び１４だけが図示されている。説明を分かりやすくするために、目的アプリケーションの状態は１４’によって示される。目的アプリケーション１４は、それぞれ目的アプリケーション状態ＤＡＳ４（１４１）のような、状態１４’を有している。現在の目的アプリケーション１４が変更すると（あるいは、同じアプリケーションにおいてある分野から他の分野に切り替わり、新しい要求が発生すると）、状態が変更される。通知管理部１３は、この変更を認識して、適切なモデルを選択するか、あるいはこの特別な状態に現在のモデルを適応させるために言語モデル切替部１１に通知する。１つの言語モデルは、１つ以上の目的アプリケーション状態で利用される可能性がある。例えば、ＬＭ２は、ＤＡ１とＤＡ４の両方によって用いられている。また、１つの状態が、その要求に応じて組み合わせるために１つ以上の言語モデルを必要とする場合がある。例えば、ＬＭ３とＬＭ４がＤＡＳ２用に利用するために互いに組み合わせされる。
【００２９】
図２において、ＤＡＳ４（１４１）は現在活動中の目的アプリケーション状態である。また、言語モデル０５０１は、現在活動中の言語モデルである。それらの間の点線１１１はこの関係を示している。また、太い点線１０１及び１０２は、現在の活動中の言語モデルを現在の活動中の目的アプリケーション状態のために用いるＬＭＢエンジン１０を示している。言語モデル切替部１１が現在の目的アプリケーションＤＡＳ４（１４１）のために言語モデルセット０５０１から適切な言語モデルを選択した後、フィードバック結果、現在の活動中の言語モデル０５０１を改善するために用いられ、また、言語モデル適応部１２によって適応される言語モデルは、０５０１１として示される。ＬＭＢエンジン１０は、ユーザの入力をデコードし、言語モデル適応部１２にデコードされた入力結果を供給する。それにより、言語モデル適応部１２は、現在活動中の言語モデル０５０１について適応された言語モデル０５０１１を修正する。フィードバック結果が利用可能でない場合には、適応処理を省くことも可能である。
【００３０】
ここで、言語モデルを切り替えて適応する方法について、図３及び図１を参照して説明する。図３は、その方法の概略フローチャートを示している。ステップＳ３０１０で、目的アプリケーションの現在の状態が変更される。これは、現在の目的アプリケーションの新たなフィールドが活性化されるか、新しい目的アプリケーションが活性化され、あるいは、ある言語モデルの要求が目的アプリケーションから送信されることを意味している。ステップＳ３０１１で、通知管理部１３はこの変更を認識し、ステップＳ３０１２において、現在の状況情報あるいは言語モデルの要求を言語モデル切替部１１に通知する。言語モデル切替部１１は、ステップＳ３０１３において、この通知を受け取り、ステップＳ３０１４において、現在の状況情報あるいは言語モデルの要求に従って対応する言語モデルを選択する。ここで、状況情報を受け取ると、言語モデル切替部１１は、まず状況情報を言語モデルの要求に翻訳する。ステップＳ３０１５で、ＬＭＢエンジン１０は、ユーザから受信した入力をデコードするために新しい活動中の言語モデルを用いる。また、デコードされた結果は、ステップＳ３０１６において、目的アプリケーション１４に送られる。さらに、デコードされた結果は、言語モデル適応のために言語モデル適応部１２にフィードバックされ、これにより、ステップＳ３０１７で、対応するモデルの性能が向上される。
【００３１】
このように、デコード及びフィードバック適応のループは、ステップＳ３０１５、Ｓ３０１６及びＳ３０１７を実行することにより終了する。もし、ステップＳ３０１８で、現在の目的アプリケーション状態１４‘が変更しないことが判定されると、処理手順はステップＳ３０１５に移行し、デコード及び適応ループが繰り返される。他方、現在の目的アプリケーション状態１４００が変更し、ステップＳ３０１９でユーザがプログラムを終了しない場合には、処理手順はステップＳ３０１０に移行し、全工程が繰り返される。
【００３２】
図４は、本発明による言語モデルセットの論理的な構成を示す。図４においては、５つの言語モデルが示されている。また、言語モデルＬＭ１は０５３で示されている。ＬＭ１（０５３）は、特定の言語Ｉ（必要ならば、いくつかの言語の結合であってもよい）の全空間を示している。部分０５２は、言語Ｉの空間の部分集合（サブセット）１であり、特定の領域に対応している。ＬＭ１（０５３）はこの部分集合１上に作成され、その特性について記述している。部分集合は言語の部分空間である。例えば、中国語の名前、親族称呼、身分証明書番号等である（中国語には、身分証明書番号のためのいくつかの規則がある）。図４に示すように、１つの言語に複数の特定の言語モデルがある場合もある。また、２つ以上の部分集合間でオーバラップすることもあり、それは許容される。
【００３３】
図５は、本発明による対応付けテーブルの構成例を示している。対応付けテーブルは、言語モデルセットにおける言語モデルの要求に目的アプリケーション状態をマップしている。対応付けテーブルは、特定の目的アプリケーション状態に対する適切な言語モデルを選択する言語モデル切替部１１及び言語モデル適応部１２を支援する。
【００３４】
部分１４１１は目的アプリケーション状態を示している。目的アプリケーション状態は、アプリケーション名、入力フィールド名、入力フィールドＩＤなどを含んでいる。目的アプリケーション状態は、部分１１０１１、部分１１０１２、部分１１０１３のように、具体的な要求に、あるいは特定の領域にマップされる。その後、要求は、言語モデルセット０５内のそのドメインのための、特定の言語モデル（例えば、モデル０５０１、０５０２のような言語モデル）にマップされる。この実施例の対応付けテーブルにおいて、リクエスト内の部分１１０１２は一つのモデル０５０１に対応する。一方、リクエスト内の部分１１０１３は２つのモデル０５０１および０５０２に対応している。目的アプリケーションが具体的なリクエスト（つまり言語モデルの要求）を提供すると、言語モデル切替部１１はリクエストによって適切な言語モデルを検索する。目的アプリケーションが具体的なリクエストでなく状態を提供するなら、言語モデル切替部１１は、まずその状態を具体的なリクエストに変換する。
【００３５】
図６は、言語モデル適応を実行する本実施例の装置を図示している。この図は、ＬＭＢエンジン１０が、目的アプリケーション（例えば、ショートメッセージ・マネージャ１４）のために動作する場合、言語モデル適応がどのように処理されるかを示している。
【００３６】
ショートメッセージ・マネージャ１４において、３つのビューが表示されている。ＳＭ（Short Message：ショートメッセージ）エディタは、新しいメッセージを作成するかあるいは入力メッセージに応答するために使用される。また、ＳＭインボックスとＳＭアウトボックスは他から受信したメッセージ、および送信されたメッセージを格納するためにそれぞれ使用される。この図は特定のモデルのパフォーマンスを高めるために適応テキストがどのように使用されるかを示すためのものであるので、言語モデル適応のための主要な構成要素だけを示している。また、通知マネージャ１３および言語モデル切替部１１のような他の構成要素は、ここでは省略されている。言語モデル適応部１２は、ショートメッセージ・マネージャから現在の会話のテキストストリームを取得し、そして、そのテキストストリームに基づいて言語モデルセット０５内の現在の言語モデル０５０３を修正する。また、ＬＭＢエンジン１０は、入力復号化を指示するために拡張モデルを使用する。
【００３７】
図７は、目的アプリケーションの状態変更の例を示す概略図である。名前カード・マネージャは目的アプリケーション１４の一例である。名前カード・マネージャは、その種々のフィールドのために多くの別個の入力を要求する。ユーザは、名前カード・マネージャに記入するために情報を入力する。図７に示されるように、部分１４１１は現在の入力フィールドであって、会社名フィールドである。この要求は通知マネージャ１３によって読み取られる。また、言語モデル切替部１１は、ユーザによる入力をより的確にするために言語モデルセット０５から適切なモデル０５０４を選択する。
【００３８】
図８は、本発明の実施例による言語モデル切替および適応のための装置の概略図を示す。この装置１００は、WinCE OSの元で動作している。この図の主な構成要素（通知マネージャ１３）は、マイクロソフトＭＳＤＮドキュメント（Microsoft MSDN document）によって提供される。また、以下の具体例は部分的にＭＳＤＮドキュメントで提供される。テキスト入力エンジン１０´は、ユーザによる入力を意味のあるコンテンツに変換するためのアプリケーションである。例えば、漢字はピンインにエンコードされる。実際、各ピンインはアルファベット文字の列であり、発音に対応している。漢字の数は莫大であるため、漢字をキーによって直接入力することができない（実際、それほど多くのキーを備えるようなキーボードは存在しない）。代わりに、ユーザはピンイン文字列を入力し、デコード候補結果から適切な文字を選択する。中国語においては非常に多くの同音異義語があるので、言語モデルは全ての候補を取得するために使用される。特に、文レベル入力方法（sentence level input method）のために、言語モデルは非常に不可欠である。
【００３９】
この図において、目的アプリケーション１４は例えばポケットワード（Pocket WORD）である。目的アプリケーションのために全部の文候補を予測するために、テキスト入力エンジン１０´は、言語モデル切替部１１および適応部１２を介して言語モデルセット０５を使用する。テキスト入力エンジン１０´は通知マネージャ１３を介して目的アプリケーション１４と通信する。
【００４０】
通知マネージャ１３は、２つのユニットである、ＧＷＥＳグラフィック・ユーザ・インタフェース１３０１およびソフトキーボード入力パネル（ＳＩＰ）１３０２から構成される。ＧＷＥＳグラフィック・ユーザ・インタフェース１３０１は、ＧＷＥＳ（Graphics, Windowing, and Events Subsystem、これらは中核となるMicrosoft（登録商標） Windows（登録商標） CEの機能の大部分を含んでいる）モジュールである。また、それはローレベルのシステム支援を提供する。ＧＷＥＳグラフィック・ユーザ・インタフェース１３０１は、目的アプリケーション１４のために状態の変更を検出する。ＳＩＰ１３０２は実際にタッチ・スクリーンを管理し、目的アプリケーションとテキスト入力エンジン（Text Input Engine）の間の通信サポートを提供する。ＳＩＰ１３０２はＷｉｎＣＥ  ＯＳの一部であり、目的アプリケーションの状態取り替えを認識する。ＳＩＰ１３０２は、状態取り替えのテキスト入力エンジン１０´に通知し、かつテキスト入力エンジン１０´に動作と情報を要求するための手段を備えている。特に、それは関数インタフェース（function interface）（詳細はマイクロソフト開発ネットワークを参照）を含んでおり、通信のために多くの処理をすることができる。ＳＩＰ１３０２は、目的アプリケーション１４がその状態を変化させていることをテキスト入力エンジン１０´に通知する。例えば、目的アプリケーションの現在の入力フィールドが中国語の名前を入力することを要求する名前欄であること、あるいは、現在のフィールドが古い中国の詩（Old Chinese Poem）を入力するために要求している欄であること等である。古い中国語の詩（Ｏｌｄ  Ｃｈｉｎｅｓｅ  Ｐｏｅｍ）は、現代の中国語とは全く異なっている。中国の詩（Old Chinese Poem）においては、１つの文は普通５あるいは７文字を含んでおり、また、１つの詩は普通４文を含んでいる。さらに、その要求が非常に奇妙で、テキスト入力エンジン１０´がそのようなエリア情報を含んでいないことを目的アプリケーション１４が識別している場合、特定のドメインのための入力の性能を高めるために、言語モデルセットに専門の辞書および新しい言語モデルをさらに加えることができる。すなわち、この手段はテキスト入力エンジン１０´のために十分な拡張性を提供する。
【００４１】
言語モデル切替部１１は２ユニットを含んでいる。１つは受信変換ユニット１１０１である。また、他方は言語モデル選択ユニット１１０２である。受信変換ユニット１１０１は、目的アプリケーション１４および種々の入力フィールドのためのそれらの対応する要求のリストを管理する。受信変換ユニット１１０１は状態情報を受信し、要求を分析する、あるいは状態情報を言語モデルのための具体的な要求に変換し、次に、どの言語モデルが使用されるかを決めるためにその変換結果を言語モデル選択ユニット１１０２へ渡す。
【００４２】
実際、現在の入力フィールドの要求を決定するために言語モデル切替部１１用の２つのモードがある。一つは受動的なモードであり、もう１つは能動的なモードである。能動的なモードにおいては、目的アプリケーションは、言語モデル切替部によって定義されたリクエスト仕様の詳細を識別し、通知マネージャ１３を介して言語モデル切替部１１に言語モデルのためのその要求を直接送信する。言語モデル切替部１１は、言語モデルのためのその要求を受信し、モデルを切り替える。受動的なモードにおいては、目的アプリケーション１４は言語モデル切替部１１を認識しておらず、何も送信しない。言語モデル切替部１１は目的アプリケーションの状態（例えば、アプリケーションのタイトル、入力フィールドタイトル、入力フィールドのＩＤ等）を調査する。受信変換ユニット１１０１はこの情報を得て、情報を具体的な要求に変換する。ある場合には、受動的なモードと能動的なモードの両方が状態決定に使用される。
【００４３】
言語モデル適応部１２は選択された言語モデルを適応させする。言語モデル適応はモデルセット全体ではなくアクティブなモデルについての処理であることに留意すべきである。通知マネージャ１３が適切なモデルを選択した後、テキスト入力エンジン１０´はユーザからの入力情報を解読し、言語モデル適応部１２にそれを提供する。従って、言語モデル適応部１２は、アクティブなモデルのパフォーマンスを高めるためにこのフィードバックを利用する。
【００４４】
本発明の上記実施例によれば、目的アプリケーションのリクエストが変わる場合、入力方法のためにソフトキーボードのレイアウトを変化させる必要はない。現在の特定のリクエストに応じるために異なる言語モデルを単にロードする必要があるだけである。
【００４５】
図９は、本発明の他の実施例による、言語モデル切替および適応用の装置の概略構成を示している。この装置は、グローバル言語モデル対応付け部１４００１、目的アプリケーション１４、通知マネージャ１３、ＬＭＢエンジン１０、言語モデル切替部１１、言語モデル適応部１２および言語モデルセット０５から構成される。グローバル言語モデル対応付け部１４００１は、グローバル言語モデル対応付け部１４００１上に格納される標準化された言語モデルドメイン区分仕様書に従った言語モデルへ目的アプリケーション１４の状態を対応付ける。この仕様書において、言語ドメインはいくつかの小さなドメインに分割される。また、ドメインにはそれぞれユニークなＩＤが割り当てられる。分割されたドメインは、言語モデルのための要求に対応している。また、要求はこの仕様書に詳細に明示されている。要求は、図５に示すように、例えば中国語の名前や英語の名前である。グローバル言語モデル対応付け部１４００１は、装置の演算システムに埋め込むことができる。
【００４６】
従って、目的アプリケーション１４は、その状態が変化する場合に、対応する具体的な要求を決定するためにグローバルな言語モデル対応付け部１４００１および標準化された要求フラグ１４００２を使用する。これにより、要求は少しも不明瞭さを有することなく表現される。標準化された要求フラグ１４００２は、目的アプリケーション１４に埋め込まれている。目的アプリケーションの状態が変化する場合、標準化された要求フラグは、言語モデルのための要求を提示する。必要であれば、通知マネージャ１３は、現在の具体的な要求に適切なモデルを選択し、かつ特定のモデルを適応させるために、ＬＭＢエンジン１０、言語モデル切替部１１および言語モデル適応部１２と協同して動作する。図８と異なり、言語モデル切替部１１は、受信変換ユニット１１０１ではなく受信ユニット１１０３を含んでいる。目的アプリケーション１４が、グローバルな言語モデル対応付け部１４００１を利用することによりその要求を認識しており、通知マネージャ１３のもとへその要求を直接送信するため、言語モデル切替部１１０３は、標準要求の受信のみを行い、何ら変換処理をする必要はない。
【００４７】
以上好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
【図面の簡単な説明】
【００４８】
本発明の他の目的および利点は、以下の図面と共に示した実施例の説明から明白となりかつより容易に理解されるはずである。
【図１】本発明の一実施例による言語モデル切替および適応のための装置の概略構成を示すブロック図である。
【図２】本発明による切り替えおよび適応処理手順を実行する装置の主要な構成要素を示すブロック図である。
【図３】言語モデルを切り替えて適応する方法を説明するフローチャートである。
【図４】本発明の言語モデルセットの論理的な構成を示す図である。
【図５】本発明による対応付けテーブルの構成例を示す図である。
【図６】言語モデル適応を実行する実施例の装置を示すブロック図である。
【図７】目的アプリケーションの状態取り替えの実施例を示すブロック図である。
【図８】本発明の実施例による、言語モデル切替および適応のための装置の構成を示すブロック図である。
【図９】本発明の他の実施例による、言語モデル切替および適応のための装置の構成を示すブロック図である。
【符号の説明】
【００４９】
０１：ＣＰＵ
０２：内部バス
０３：ユーザ・インタフェース
０４：固定記憶装置
０５：言語モデルセット
０７：メモリ
０８：オペレーティング・システム
０９：汎用アプリケーション
１０：ＬＭＢエンジン
１１：言語モデル切替部
１２：言語モデル適応部
１３：通知管理部
１４：目的アプリケーション
１１０１：受信変換ユニット
１１０２：言語モデル選択ユニット
１１０３：受信ユニット
１３０１：ＧＷＥＳグラフィック・ユーザ・インタフェース
１３０２：ソフトキーボード入力パネル
１４００１：グローバル言語モデル対応付け部
１４００２：標準化された要求フラグ
【図１】
2007280364.tif 000003
【図２】
2007280364.tif 000004
【図３】
2007280364.tif 000005
【図４】
2007280364.tif 000006
【図５】
2007280364.tif 000007
【図６】
2007280364.tif 000008
【図７】
2007280364.tif 000009
【図８】
2007280364.tif 000010
【図９】
2007280364.tif 000011
【外国語明細書】
2007280364000001.pdf