(57)【要約】【課題】テキスト入力支援データを提供する。【解決手段】コンピュータで実装される方法は、ユーザに関連する位置情報をシステムで受信すること、予測テキスト結果を示す情報をシステムで受信すること、位置情報を使用して辞書データを生成すること、および辞書データをリモート装置に提供することを含む。予測テキスト結果を示す、受信した情報が、複数のリモート検索者によって行われた検索要求に関係する。前記辞書データが、複数の語句を、対応する複数の予測重み付けと共に含む。予測テキスト結果を示す情報を使用して辞書データを生成する段階をさらに含む。【選択図】図３
2014194827.tif 000002
【特許請求の範囲】
【請求項１】
テキスト入力支援データを提供する、コンピュータで実装される方法であって、
ユーザ装置に関連する位置情報をコンピュータシステムで受信する段階と、
予測テキスト結果を示す情報を前記コンピュータシステムで受信する段階と、
位置情報に関する予測テキスト結果を示す前記情報の一部を使用して位置関連辞書データを前記コンピュータシステムで生成する段階と、
前記位置関連辞書データを前記コンピュータシステムから前記ユーザ装置に提供する段階と
を含み、
前記提供された位置関連辞書データは、前記ユーザ装置上でユーザが入力するテキストの一部が入力された後に、前記入力を完了するための提案であって、前記入力に関連する選択肢である提案を前記ユーザ装置が提供するように配置され、
前記位置関連辞書データは、前記ユーザ装置の既存の辞書に追加するための補足データを含む方法。
【請求項２】
前記位置関連辞書データが、複数の位置関連語句を、対応する複数の予測重み付けと共に含む請求項1に記載の方法。
【請求項３】
予測テキスト結果を示す前記情報は、複数のユーザによって行われた検索要求に関する請求項1に記載の方法。
【請求項４】
前記検索要求に基づいて、検索で使用されるユーザプリファレンスを前記コンピュータシステムで受信する段階をさらに含む請求項3に記載の方法。
【請求項５】
生成した前記位置関連辞書データが、前記ユーザ位置付近の場所と関連付けられる請求項1に記載の方法。
【請求項６】
生成した前記位置関連辞書データが、前記ユーザ位置付近のユーザからの共通照会データと関連付けられる請求項1に記載の方法。
【請求項７】
前記位置関連辞書データが、前記ユーザによって入力された検索照会から識別された位置と関連付けられる請求項1に記載の方法。
【請求項８】
前記位置関連辞書データは、前記リモート装置からの検索要求に応答して前記リモート装置に提供され、かつ前記位置関連辞書データが、前記検索要求に対する結果と共に提供される請求項1に記載の方法。
【請求項９】
検索要求を前記コンピュータシステムで受信する段階と；
検索結果を生成する段階と；
前記検索結果を前記位置関連辞書データと共に提供する段階と；
をさらに含む請求項1に記載の方法。
【請求項１０】
前記位置関連辞書データが、前記検索結果に関する文書からのデータを含む請求項9に記載の方法。
【請求項１１】
前記位置関連辞書データが、前記ユーザ位置の近傍の1つまたは複数のエリアに対応するデータを含む請求項1に記載の方法。
【請求項１２】
前記ユーザ位置の近傍の1つまたは複数のエリアに対応する前記データが位置名を含む請求項11に記載の方法。
【請求項１３】
第１のリモートクライアントからデータ要求および位置を示す情報を受信する要求プロセッサと、
前記位置に関連付けられる検索結果を返すために、前記データ要求および前記位置を示す前記情報に応答して検索する検索エンジンと、
前記第１のリモートクライアントに関する位置関連予測データ入力情報を含む前記第１のリモートクライアントで使用される情報を生成する辞書ジェネレータと、
前記データ要求および前記位置関連予測データ入力情報に応答する前記検索結果を受信し、前記第１のリモートクライアントで使用される前記位置関連予測データ入力情報と共に前記データ要求に応答する検索結果を含む応答を提供する応答フォーマッタと
を備え、
前記提供された位置関連予測データ入力情報は、前記第１のリモートクライアント上でユーザが入力するテキストの一部が入力された後に、前記入力を完了するための提案であって、前記入力に関連する選択肢である提案を前記第１のリモートクライアントが提供するように配置され、前記位置関連予測データ入力情報は、前記第１のリモートクライアントの既存の辞書に追加するための補足データを含むデータ収集および配布システム。
【請求項１４】
前記検索エンジンが、前記データ要求からユーザ位置を示す情報を抽出するように動作可能である請求項13に記載のシステム。
【請求項１５】
前記辞書ジェネレータが、複数のオブジェクトについての位置関連予測一致スコアを計算する一致レータを備える請求項13に記載のシステム。
【請求項１６】
前記複数のオブジェクトが、データ要求を生成する際にユーザが入力することのできる複数の語句を含む請求項15に記載のシステム。
【請求項１７】
前記一致レータにサブミットする文書中のオブジェクトを識別するオブジェクトセレクタをさらに備える請求項15に記載のシステム。
【請求項１８】
1つまたは複数の前記クライアントで使用される前記情報が、前記位置の近傍の1つまたは複数のエリアに対応するデータを含む請求項13に記載のシステム。
【請求項１９】
情報を受信および送信するトランシーバであって、送信される情報が、前記位置を示す前記情報を含むトランシーバと、
前記装置のユーザが入力した曖昧な情報の可能性のある所期の使用法を示す位置関連予測データ入力情報を含む語彙リポジトリであって、出現データが、前記位置と前記可能性のある前記所期の使用法との関連付けを反映する、語彙リポジトリと、
前記装置に提供された曖昧な情報を、可能な解を識別することにより可能性のある解に決定し、可能性のある所期の使用法を示す前記位置関連予測データ入力情報を前記可能な解に適用する曖昧性除去エンジンと
を備える通信装置と組み合わせた請求項１３〜１８の何れか１項に記載のデータ収集および配布システム。
【請求項２０】
前記位置を示す前記情報を得るのに使用される位置決めシステムをさらに備える請求項19に記載のシステム。
【請求項２１】
前記ユーザが、前記位置を示す情報を入力する請求項19に記載のシステム。
【請求項２２】
ユーザのプリファレンスが、前記語彙リポジトリ内に何の情報が含まれるかを決定する
請求項19に記載のシステム。
【請求項２３】
前記出現データが一定のしきい値に達したとき、前記出現データに関連する表示情報が語彙リポジトリから除去される請求項19に記載のシステム。
【請求項２４】
前記出現データが、人口統計グループのメンバによる使用法の習慣を表すデータを含む請求項19に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピューティング装置または通信装置のユーザが情報を入力する際の支援に関し、より詳細には、ユーザが入力するテキストを曖昧性除去するために辞書を提供および更新することに関する。
【背景技術】
【０００２】
コンピュータおよびコンピュータネットワークがますます多種多様な情報にアクセスすることができるようになるにつれて、人々は、その情報を得るためのより多くの方法を求めている。具体的には、人々は現在、適切に備えられたネットワークに永続的に接続されたパーソナルコンピュータからのみ以前には入手可能であった情報へのアクセスを、道路上、家庭内、またはオフィス内で有することを期待している。人々は、自分の携帯電話から株価および天気予報を求め、自分の携帯情報端末(PDA)からEメールを求め、自分のパームトップから最新の文書を求め、すべての自分の装置から、時宜を得た正確な検索結果を求める。人々はまた、移動時に、地域で、国内で、または国際的に移動するとしても、使いやすいポータブル装置でこの情報のすべてを求める。
【０００３】
ポータビリティは一般に、サイズの小さい装置を必要とし、それにより、データ入力キーの数と、メモリの量と、利用可能な処理能力とが制限される。さらに、ウルトラポータブル装置はしばしば、片手で保持しなければならず、または全く保持してはならず、その結果、データ入力は、片手用または手を使用しないものでなければならない。装置のこうした制限は一般に、ユーザが補償しなければならない。例えば、ユーザは、電話キーパッドなどの制限されたキーボード、または制限された音声認識機能を使用しなければならない。そのような制限された装置により、ユーザがデータ入力のための特別な技巧(例えばPDAに対する略記書体など)を学習することを余儀なくされることがあり、または曖昧なデータ入力時に不正確な推測を行うことによってユーザが決して意図しなかったデータが生成されることがある。
【０００４】
こうした問題を解決するためのいくつかの試みが行われている。例えば、略記書体と普通の書体を認識するようにPDAがプログラムされている。さらに、携帯電話は、ユーザがキー組合せを同時に、または順に押下する(例えばトリプルタップ)ことを可能にすることにより、各キー上の3つの文字の存在によって、意図されるテキストについての曖昧さが生じる可能性があるとしても、入力された文字を認識することができる。他の解決策は、押下されたキーの組合せに合致するすべての可能な語句を識別することなどにより、文字をユーザが入力することを意図した文字の知識に基づく推測を行い、最も一般的な語句を選択し、または最も一般的なものから最も一般的でないものへとソートされた可能な語句のリストをユーザに提示することを含む。こうした解決策はすべて制限を有する。
【０００５】
ポータブルの制限された装置を別としても、ユーザは、自分のコンピュータで一層のテキスト入力インテリジェンスを望む。例えば、ユーザは、データ入力を支援し、またはスペルチェッカや文法チェッカなどのデータ入力の誤りを補正するシステムを望む。やはり、複数の解決策が存在するが、すべて制限を有する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−３２５２５２号公報
【特許文献２】特開２００３−３３０９１６号公報
【特許文献３】特開平１１−０２５０８４号公報
【特許文献４】特開２００４−０７０５４７号公報
【特許文献５】特開２００３−２９６２１２号公報
【特許文献６】特開２００３−３０３１８６号公報
【特許文献７】特表２０００−５０８０９３号公報
【特許文献８】米国特許出願公開第２００３／５４８３０号明細書
【特許文献９】国際公開第２００１／８００７９号
【特許文献１０】米国特許第６３７７９６５号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００７】
したがって、全機能を備える装置と、制限された装置のどちらでも、ユーザがより迅速かつ正確にデータを入力するのを支援するシステムが求められている。
【課題を解決するための手段】
【０００８】
この文書は、コンピューティング装置および通信装置のユーザがデータをそうした装置に入力するのを支援する方法およびシステムを開示する。一態様では、テキスト入力支援データを提供する、コンピュータで実装される方法が開示される。この方法は、ユーザに関連する位置情報をシステムで受信すること、予測テキスト結果を示す情報をシステムで受信すること、位置情報を使用して辞書データを生成すること、および辞書データをリモート装置に提供することを含む。予測テキスト結果を示す、受信した情報は、複数のリモート検索者によって行われた検索要求に関係付けることができる。さらに、辞書データは、複数の語句を、対応する複数の予測重み付けと共に含むことができ、予測テキスト結果を示す情報を使用して辞書データを生成することができる。
【０００９】
一実装では、辞書データをリモート装置に提供することは、データを携帯電話に送信することを含むことができる。システムは、検索結果に基づいて、検索で使用されるユーザプリファレンスを受信することもできる。辞書データの生成は、ユーザ位置を示す情報に関するデータを生成することも含むことができる。生成した辞書データを、ユーザ位置付近の場所と関連付けることができる。さらに、生成した辞書データを、ユーザ位置付近の各ユーザからの共通照会データと関連付けることができ、リモート装置からの要求に応答してリモート装置に提供することができる。辞書データをリモート装置に提供する前に辞書データを圧縮することもでき、データは、リモート装置上の既存の辞書に追加するための補足データを含むことができる。
【００１０】
別の実装では、この方法は、検索要求を受信すること、検索結果を生成すること、および検索結果を辞書データと共に提供することをさらに含むことができる。辞書データは、検索結果に関する文書からのデータを含むことができる。さらに、辞書データは、ユーザ位置の近傍の1つまたは複数のエリアに対応するデータを含むことができ、そのデータは位置名を含むことができる。
【００１１】
別の態様では、データ収集および配布システムが提供され、データ収集および配布システムは、1つまたは複数のリモートクライアントからデータ要求を受信する要求プロセッサと、データ要求に応答して検索するローカル検索エンジンと、1つまたは複数のクライアントに関する予測データ入力情報を含む1つまたは複数のクライアントで使用される情報を生成する辞書ジェネレータと、予測データ入力情報を含むデータ要求に応答する情報を受信し、1つまたは複数のクライアントで使用されるデータ要求に応答する情報を提供する応答フォーマッタとを含む。要求プロセッサは、ユーザ位置を示す情報を受信するように動作可能でよい。さらに、ローカル検索エンジンは、データ要求からユーザ位置を示す情報を抽出するように動作可能でよい。
【００１２】
一実装では、辞書ジェネレータは、複数のオブジェクトについての予測一致スコアを計算する一致レータを含むことができ、複数のオブジェクトは、ユーザがデータ要求を生成する際に入力することのできる複数の語句を含むことができる。システムはまた、一致レータにサブミットする文書中のオブジェクトを識別するオブジェクトセレクタを含むことができる。ローカル検索エンジンはまた、複数の要求およびユーザ位置を示す情報を受信し、予測データ入力情報と共に応答フォーマッタによる送信を求める要求を提供するように動作可能でよい。1つまたは複数のクライアントで使用される情報は、ユーザ位置の近傍の1つまたは複数のエリアに対応するデータを含むことができ、そのデータは位置名を含むことができる。
【００１３】
さらに別の態様では、データ入力装置のユーザによるオブジェクトの可能性のある使用法を示す情報を提供する、コンピュータで実装されるシステムは、ユーザ位置に関連し、ユーザによる使用法を示す文書を提供する手段と、文書中のオブジェクトの使用法データについて文書を解析し、関連する一致レーティングを生成する一致レータと、一致レーティングをデータ入力装置に送信するインターフェースとを含むことができる。一致レータはさらに、オブジェクトの位置データについて文書を解析し、一致レーティングを生成することができ、一致レーティングは、少なくとも部分的には、オブジェクトの位置データに関連する位置がユーザ位置からどれほど離れているかに基づくことができる。さらに、一致レーティングは、少なくとも部分的には、ユーザのプリファレンスに基づくことができる。
【００１４】
別の態様では、通信装置は、情報を送信および受信するトランシーバを含む。送信される情報は、ユーザ位置を示す情報を含む。装置はまた、装置のユーザが入力した曖昧な情報の可能性のある所期の使用法を示す情報を含む語彙リポジトリであって、出現データが、ユーザ位置と可能性のある所期の使用法を示す情報との関連付けを反映する語彙リポジトリと、装置に提供された曖昧な情報を、可能な解を識別することにより可能性のある解に決定し、可能性のある所期の使用法を示す情報を可能な解に適用する曖昧性除去エンジンとを含む。
【００１５】
一実施形態では、システムは、ユーザ位置を示す情報を得るのに使用される位置決めシステムをさらに含むことができる。さらに、ユーザは、ユーザ位置を示す情報を入力することができる。
【００１６】
別の実装では、ユーザのプリファレンスは、語彙リポジトリ内に何の情報が含まれるかを決定することができる。さらに、出現データが一定のしきい値に達したとき、出現データに関連する表示情報を語彙リポジトリからなくすことができる。出現データは、人口統計グループのメンバによる使用法の習慣を表すデータを含むことができる。
【００１７】
ここで説明するシステムおよび技法は、以下の利点のうちの1つまたは複数を提供することができる。システムは、効果的かつ自動化されたテキスト入力を提供することができ、ユーザの位置に関係するテキストを入力する際に困難が生じたときに支援を提供することができる。さらに、システムは、位置に関連する、テキスト入力に関する提案を提供することによってユーザを支援することができる。そのようなシステムは、過剰なシステム要件を必要とすることなく、迅速かつより正確なデータ入力を可能にし、その結果、システムは、他のアプリケーションが動作中にバックグラウンドで動作することができ、メモリなどの資源が制限された携帯電話などのポータブルシステム上にも実装することができる。
【００１８】
添付の図面および以下の説明で、本発明の1つまたは複数の実施形態の詳細を述べる。本発明の他の特徴、目的、および利点は、説明および図面ならびに特許請求の範囲から明らかになるであろう。
【００１９】
これから、以下の図面を参照しながら上記およびその他の態様を説明する。
【００２０】
様々な図面での同様の参照記号は同様の要素を示す。
【図面の簡単な説明】
【００２１】
【図１】データ曖昧性除去機能を有するデータ入力システムの略図である。
【図２】位置データを送信し、データ入力辞書に関するデータに関連する情報を返すシステムの略図である。
【図３】データ入力辞書に関する情報を識別、フォーマット、および配布するシステムの略図である。
【図４】ユーザ特有のデータ入力辞書を受信および使用するシステムの略図である。
【図５】データ入力辞書のための情報を準備する例示的ステップを示すフローチャートである。
【図６】装置に入力された情報を曖昧性除去する例示的ステップを示すフローチャートである。
【図７】リモート装置からの要求に応答してデータ入力辞書情報を提供する例示的ステップのフローチャートである。
【図８】データ入力辞書の論理的なツリーベースの組織を示す略図である。
【発明を実施するための形態】
【００２２】
ここで説明するシステムおよび技法は、データ入力の支援に関する。このシステムは、パーソナルコミュニケータおよびパーソナルコンピュータを含む多くの形態を取ることができる。電話キーパッドおよび音声を含む多くの形態でデータを入力することもできる。一般には、システムは、例えばユーザの地理的位置、以前にタイプしたワード、ユーザの自己選択プロファイル、またはユーザにとって外部であるがユーザまたはユーザの選択と関連付けられる情報源に基づいてより正確な曖昧性除去選択を行うように、ユーザ特有のデータを識別することによって動作する。
【００２３】
図1に、データ曖昧性除去機能を有する、制限されたデータ入力システム10を示す。図示するシステム10は携帯電話ハンドセットを備えるが、携帯情報端末、パーソナルコンピュータ、音声駆動個人通信装置などの任意の適切な形態を取ることができる。この実施形態では、システム10は、システム10のユーザに任意の適切な情報を表示するようにプログラムすることのできるディスプレイ画面12を有する。例えば、ディスプレイ画面12を使用して、検索ボックス12aや関連する制御ボタンなどの、インターネット検索アプリケーションに関する情報を表示することができる。
【００２４】
図示するように、検索ボックス12aは単に、検索語句がユーザによって入力されたときに検索語句を表示する画面上の対照エリアでよい。検索ボタン12bは、検索ボックス12aの内容を、インターネットによってセルラネットワークに接続された検索エンジンなどの検索エンジンにサブミットすることができる。次いで、ディスプレイ画面12は、検索の結果を表示することができる。あるいは、「I'm Feeling Lucky」ボタン12cが検索結果をサブミットし、次いでディスプレイ画面12が、検索に対して最も適切なマッチに関するページを直ちに表示することもできる。
【００２５】
いくつかの方式のうちのいずれでもシステム10にデータを入力することができる。具体的には、データ入力キー14を使用して英数字文字などの情報を入力することができ、データ入力キー14は、2から9のキー上に英字文字を有する標準電話キーパッドの形態を取ることができる。音声認識を含む、英数字情報を入力する他の適切な方式も使用することができる。ここでは、テキストの入力への参照は、キーボードを介する入力または筆記による入力、さらには音声認識使用可能システムに対して話すことによるデータ入力などの他のデータ入力の方式を包含する。
【００２６】
さらに、例えば所定の機能またはプログラムされた機能を実施し、またはディスプレイ画面12上のアイコンを制御するために、制御キー16を設けることができる。制御キー16を補助キーとして使用することもでき、すなわち数字の0が0以外のものを表すことができ、「#」キーをスペースキーとして使用することができ、「*」キーは、バックスペースキーの代理とすることができ、「1」キーが句読点を表すことができる。さらに、制御ホイール15をハンドセットの側部に設け、ユーザがディスプレイ画面12上に示される選択肢をスクロールすることを可能にし、内側に押して所望の選択肢上でクリックすることを可能にすることができる。システム10がフルサイズのパーソナルコンピュータを含む場合、またはシステムが音声制御を介して動作する場合には特に、他の適切なデータプレゼンテーション機能およびデータ入力機能も設けることができる。
【００２７】
システム10は、入力されたデータの曖昧性除去を可能にする機能も備えることができる。例えば語句がまだ完全に入力されていないため、各キーストロークが複数の異なる文字を表す可能性があるため(キーパッドが標準電話キーパッドであるときなど)、または取得された音声が明瞭でなく、または不完全であったために、入力されたデータは曖昧である可能性がある。したがって、解決すべき曖昧さは、内挿的かつ外挿的である可能性がある。内挿的曖昧さは、データが電話キーパッド上で入力されたときなどに、テキスト入力に関するデータのすべてが入力されたが、そのデータで複数の可能なテキストを表すことができるときに生じる。外挿的曖昧さは、ユーザがテキスト入力に関するデータの一部を入力したが、データ入力を完了していないときに生じる。そのような状況では、システムは、エントリを完了するための選択肢を提供することができる。システムはまた、入力されたキーストロークに対する可能な解が1つだけ存在するときなどに、ユーザがワードに関するキーストロークの入力を終了したときを判定することができる。
【００２８】
曖昧さは、ユーザが電話キーパッド上でシングルタップ方法を使用してワードの一部のみを入力したときなど、同時に内挿的かつ外挿的であることもある。さらに、曖昧さは、例えば電話ユーザが数字を入力することを意図しているか、シングルタップでテキストを入力することを意図しているか、それとも複数タップ方法でテキストを入力することを意図しているかをシステムが容易には判定することができないときに、データ入力タイプに関して生じることがある。
【００２９】
一般には、曖昧性除去機能は、格納された辞書内のエントリをシステム10に入力されたキーストロークに合致することができるものと突き合わせることによって動作することができる。ソリューションセットの形態の合致した語句を、最も可能性の高いマッチをセットの上部に配置する方式でソートすることができる。ユーザは、制御ホイール15を使用することなどによってソリューションセットをスクロールし、所望のデータ項目を選択することができる。さらに、予測されるマッチをユーザによる介入なしに自動的に選択するようにシステムをセットアップすることができる(しかし、ユーザは、リアルタイムで、またはデータが入力された後に、選択を編集または上書きすることができる)。
【００３０】
図1では、メイン辞書21と補足辞書23の2つの辞書が示されている。メイン辞書21は、特定のアプリケーションで一般に使用される共通の語句を表し、システム10が最初にセットアップされるときにシステム10はメイン辞書21を備えることができる。通常、そのようなメイン辞書は、約20000ワードから100000ワードの辞書を含むことができるが、システム能力に応じて他のサイズの辞書も許容される。さらに、辞書は英語に限定されず、他の文字を有する他の言語、さらには他のタイプのオブジェクトもカバーすることができる。
【００３１】
補足辞書23は、ユーザにさらにパーソナライズされた体験を与え、それによってより正確な曖昧性除去を実現するように時々システム10に追加することのできる追加のデータを表す。例えば、補足辞書23は、ユーザによる可能性の高いデータ入力と合致させるように試みて定期的に更新される、時間に敏感な情報を含むことができる。一例を挙げると、ユーザが最近入力した検索語句と密接に関係する検索語句、または広範な多数のユーザに現在人気のある語句で装置を更新するように、補足辞書23を検索エンジンと組み合わせて使用することができる。補足辞書23はメイン辞書21の一部でもよく、その結果新しいエントリが単にメイン辞書21に追加され、別々に格納されない。
【００３２】
例えば、ユーザが「管理理論(management theory)」についての検索を入力した場合、検索エンジンは、他の最近の類似の検索を調べ、識別された検索のすぐ後に入力された他の検索語句、または検索の結果として現れる文書中で使用される他の語句などの、そうした他の検索についての情報をユーザの装置に提供することができる。さらに、検索は、装置にデータを返して、ワードの出現に関する確率を更新することもできる。具体的には、検索に関連する他の語句は、その語句自体が辞書に既に存在している場合、その確率を増加させることができる。例えば、「管理理論」が検索エントリとして与えられたとき、「補償(compensation)」、「ドラッカー(Drucker)」、「デミング(Deming)」などの語句を装置に返すことができ、その語句に、普通なら有することのないはずの、将来の検索に対する解としての重要性を与えることができる。さらに、普通ならその語句が辞書にはなかったはずのときに、その語句を辞書に追加することができる。
【００３３】
一般には、一例を挙げると、辞書21、23は、テキスト入力の曖昧性除去を支援する3つの情報を含むことができる。第1に、辞書21、23は、ワードまたは他のオブジェクト自体を含むことができる。第2に、辞書21、23は、タイプまたは選択される各ワードまたはオブジェクトの確率を含むことができる。以下でより詳細に説明するように、こうした確率を、使用するアプリケーションに依存する確率の組に分解することもできる。第3に、辞書21、23は、各ワードの他のワードとの一致確率または相互一致(co-concurrence)確率を含むことができる。例えば、「パラダイム(paradigm)」に関するエントリは、「シフト(shit)」または「変化(change)」という語との高い相互一致を示すことがある。このようにして、「パラダイム」という語が装置に入力されると、「シフト」および「変化」という語を、追跡ワードに関する可能性の高い候補のリストの上部に昇格させることができる。
【００３４】
それぞれの情報を他と独立に変更することができる。例えば、ユーザがワードを非常に頻繁にタイプする場合、そのワードの確率(全体での確率であっても、特定のアプリケーションに関する確率であっても)を増加させることができる。同様に、相互一致確率のみを更新することもできる。したがって、特定のワードの入力とは無関係に確率を更新することができる。
【００３５】
さらに、ワードがタイプされると、そのワードに関連する確率のすべてを更新および修正することができる。それは、ある人がワードを使用するとき、近い将来にすぐ再びそのワードを使用する可能性が高いからである。例えば、レストランを検索する人は、その人が良いレストランを見つけるまで、特定の検索セッション中に「日本食(Japanse)」というワードを何度も入力することがある(「日本食」と「寿司(sushi)」というワード間の共通の相互一致のために、「日本食」というワードの使用により、その人が「寿司」を入力する可能性が高くなる)。
【００３６】
別々のアプリケーションについて一意的に一致データを格納することができる。例えば、1つのアプリケーションはEメールでよい。ワードがタイプされているとき、システムは、特定のアプリケーションに関してタイプされているそのワードの確率に従って、ソリューションセット中の項目を調べることができる。アプリケーションがEメールである場合、「ハロー(hello)」の確率が非常に高いことがあり、アプリケーションがゲームである場合、「左(left)」および「右(right)」の確率が非常に高いことがある。これは、アプリケーション特有の出現確率である。次いでシステムは、ソリューションセット内の各項目に関連する最も一般的なワードを識別し、その情報および以前に入力されたワードに基づいて確率を調節する。システムはまた、各エントリに関連する2番目に最も一般的なワードを識別し、以前のワードが入力されたとして確率を調節する。一致データについてのこの調節は、何のアプリケーションが現在動作中であるかに関わりなく着手することができる。次いで、プロセスは、残りの関連するエントリを通じて同様の方式で続行する。
【００３７】
辞書21、23の例示的編成は、ワード、句読点、実施すべき機能などのいくつかのオブジェクトを含む対応するオブジェクトリスト22、24を含む。任意の適切な方式でオブジェクトをソートすることができる。第2辞書フィールドは、対応する識別リスト26、28を含み、識別リスト26、28は、例えば、それぞれの特定のオブジェクトに対応するキーパッドストロークを含むことができる。各キーストロークが要求に追加されるときにシステムはリストに追従することができるので、それぞれの識別に従ってオブジェクトをソートして、システム10がより効率的に任意の所与のキーストローク組合せに対する適切なマッチを識別するのを支援することができる。図8を参照しながら、辞書を編成するための例示的なツリーベースの構造をより詳細に与える。
【００３８】
再び図1を参照すると、各辞書エントリは、ユーザがいくつかの曖昧なキーストロークを入力したときに特定のオブジェクトが所期のオブジェクトとなる可能性を表すデータを含むことのできる1つまたは複数の出現フィールドまたは一致フィールド30、32、34、36を備えることができる。例えば、出現値は、語句の、他の語句と比較した相対的人気を表すことができる。この相対的人気は、例えば1群の関連する文書をスキャンし、ワードごとの文書のパーセント構成を求めることによって求めることができる。一致値のうちの1つまたは複数は、語句を、しばしば第1の語句と共に使用され、または第1の語句の近くで使用される他の語句と相関付ける相互一致データを含むことができる。
【００３９】
例えば、ある人が「で会いましょう(I'll see you at)」とタイプし、電話キーパッドに4663とタイプしたとき、入力された数字は恐らく、GONEまたはHONEではなくHOMEを表す。システム10は、HOMEという語句が「at」、「in」、「around」、「near」、「reach」などの語句の近くにしばしば見られることを示すように相互一致データを格納することができる。対応する相互一致語句が入力され、そのような文脈へのアクセスなしではHOMEが最上位の選択肢ではなかった可能性がある場合に、その相互一致データは、HOMEを好ましい解として他の可能な解の上に昇格させることができる。システム10は、相互一致データを使用する際に、順方向および逆方向のどちらにも調べることができる。例えば、システムは、特定の語句を選択し、次いで、ユーザが次の語句をタイプ入力した後にその選択を再訪し、次いで、恐らくは、選択したワードを更新することができる。要約すれば、システムは、双方向相互一致チェックを実現することができる。
【００４０】
各エントリに対して1つまたは複数のフラグフィールド38、40を設けることもでき、それを使用して、例えば特定のエントリが一時的エントリであることを示すことができる。例えば、補足辞書は、現在人気のある検索語句である語句についての情報などの、時間に敏感な情報を受け取ることができる。この情報は、Google Zeitgeistの一部として提供されるものと同様でよい。その場合、フラグは、情報が失効するように設定されたイベントを表すことができる。時間に敏感な情報の別の例には、時刻に基づくエントリが含まれる。例えば、ユーザが空腹になる可能性が高い時間に、レストランに関する検索語句を強調することができる。フラグは、食事の時間が過ぎた後は情報が失効したことを示すことができる。特定の語句が成人向け語句であることを示すためにフラグを使用することもでき、その結果、その語句は、ユーザが成人向けクエリフィルインを有することを選択した場合にのみ示されることになる。さらに、フラグは、語句が特定のアプリケーションに特有のものであることを示すことができる。他の適切なフラグを設けて使用することもできる。
【００４１】
システム10でのユーザ特有のデータ入力情報の使用に関連して、追加の機能も利用可能である。例えば、補足辞書23に関連する情報を、所定の時間枠の実行、システム10を実装する装置のリセットなどの特定のイベントの出現時に置換、削除、またはリセットすることができる。一例として、現在の検索語句についての最新の情報をシステム10に提供することができるが、ダウンロードした検索情報が恐らくは安定しており、システム10にとって助けにならないときはシステムが元の状態に戻るように、1日または複数日後に失効するように設定することができる。さらに、装置がオフにされ、またはリセットされたときなどセッションが終了するとき、特定の検索セッション中に辞書を更新する情報をリセットすることができる。
【００４２】
時刻または人の位置に基づいてデータを変更することもできる。例えば、ユーザが空腹になる可能性が高い時間に、レストランに関する検索語句を強調することができる。さらに、ユーザのデータ入力がユーザの位置を標的とするように、グローバルポジショニングシステムを利用することができる。一例として、システムは、ユーザが自宅から離れて、したがって移動しているときを認識することができ、したがって、レストラン情報や航空便情報などの旅行者により関連する情報で辞書を更新することができる。さらに、システムは、近接する街、街路、アトラクション、および建物の名前などの、ユーザに近接する位置についての情報をユーザの標準辞書に追加することができる。例えば、ユーザがバージニア州アレクサンドリアに位置している場合、システムは、アーリントン、ワシントン、連邦議会議事堂(Capitol)、レーガンナショナル(Reagan-National)、ダレス(Dulles)などの用語に関する辞書データを装置に提供することができる。
【００４３】
図2は、位置データを送信し、データ入力辞書23に関する位置に関連する情報を返すのに使用されるシステム42の略図である。ワイヤレス通信装置62のユーザは、より広い地理的エリア46の部分44内に位置することができる。例えば、部分44を、家屋、地域、都市、セルラまたは他の送信塔サービスエリア、郵便番号、エリアコード、州、国、または大陸と定義することができる。地理的エリア46は単に、部分44よりも物理的に広く、部分44を包含するエリアでよい。
【００４４】
ワイヤレス通信装置62をインターネット58などのネットワークに通信式に接続することができ、それによってワイヤレス通信装置62は、システム50などの他の装置と通信する。装置62は、インターネット58に直接的または間接的に接続することができる。例えば、装置62は、携帯電話ネットワークに接続することができ、携帯電話ネットワークはインターネット58に接続され、装置62は、voice over IP(VoIP)などの技術を使用することもできる。任意の装置についての通信の流れは双方向でよく、それによってシステム50は、装置からコマンドなどの情報を受信することができ、情報を装置に送信することもできる。
【００４５】
ユーザのデータ入力がユーザの位置を標的とするように、装置62でグローバルポジショニングシステム(GPS)機能を利用してシステム50に位置データを送信することができる。例えば、装置62がGPS使用可能である携帯電話である場合、システム50は、携帯電話に照会して携帯電話の現在位置を求めることができる。一実施形態では、システムのクエリを、事前設定時間に行われるように自動的に生成することができる。他の実施形態では、ユーザが部分44から別の位置に移動するときを監視する装置62上にインストールされたクライアントソフトウェアによってクエリを促すことができ、またはユーザがクライアントソフトウェアで検索を要求する場合、ワイヤレス装置62によって求められる位置データを検索語句と共に送ることができる。あるいは、位置データの送信をユーザが動作不能にすることができる。
【００４６】
ユーザは、装置62を使用して位置データを入力することもできる。例えば、ユーザは、ユーザの住居または仕事場に関する位置情報を入力することができる。例えば装置62の購入時、またはモバイル装置用のGoogleクライアントなどのクライアントが装置上にインストールされるときに、データを入力することができる。さらに、ユーザが部分44の外部に移動したときに、ユーザは、ユーザの現在位置、将来の位置、または目的地を反映するように位置情報を更新することができる。
【００４７】
あるいは、位置データをユーザの検査要求から得ることもできる。例えば、ユーザが特定の住所への方向を求める要求を送るとき、システム50は、クエリから住所を抽出し、それを使用して位置データを得ることができる。ユーザが会社への方向を要求するが、住所情報を提供しない場合、システム50は、イエローページデータベースなどの情報源を使用して、会社に関する住所情報を得ることができる。次いで、住所情報を使用して、会社への方向を計算することができ、装置62内の辞書23を増強する際に使用される位置データを提供することができる。あるいは、ユーザは、会社名ならびに郵便番号などの部分的住所を入力することもできる。郵便番号を使用して位置データを得ることができる。会社住所を求めることができる場合、位置データを、街路名などのより特定の情報で補足することができる。
【００４８】
システム50で受信される位置データを使用して、装置62上の辞書23をユーザの位置に関連する情報で更新することができる。例えば、ユーザが装置62を使用してホテルについての検索要求を開始し、その人がカリフォルニア州パロアルトにいることを位置データが示す場合、システム50は、地元のHoliday InnおよびRadissonに関する検索結果を返すことができる。さらに、装置62上の辞書23を、そうしたホテル名で更新することができる。こうした語句が辞書23に事前ロードされると、地元のHoliday InnおよびRadissonに関するレビューを読むなどの追加のクエリをユーザが実施したい場合、その人は、予測テキスト入力の支援と共に語句をタイプし、プルダウンリストからその語句を選択することができる。ホテル名は、デフォルトではメイン辞書21にも補足辞書32にも存在しない可能性が高い。したがって、語句を事前ロードしないと、ユーザは、トリプルタップなどのより低速な方法で語句を入力しなければならなくなる。さらに、Googleクライアントがインストールされる場合、辞書23の代わりに、または辞書23に加えて、事前ロードされた情報でGoogleクライアントを増強することができる。
【００４９】
別の実施形態では、システム50は、レッドウッドシティやアサートンなどのパロアルトを取り囲む町の名前で辞書23を増強することもできる。ユーザがパロアルトのホテルを探している場合、その人は隣接する町のホテルも探すことを決定することがある。辞書23に周囲の町の名前および周囲の町のホテル名を事前ロードすることにより、ユーザは、予測テキスト入力を利用することによってより高速に語句をタイプすることができ、またはユーザに提示されるメニューから用語を選択することができる。地域、郵便番号、州、国などの任意の周囲のエリアを辞書に事前ロードすることもでき、辞書は都市または町に限定されない。
【００５０】
位置データに関する一般的なクエリを辞書に事前ロードすることもできる。例えば、ユーザがパロアルトにいる場合、スタンフォードやElizabeth F. Gamble Gardensなどのパロアルトの地理的位置付近に位置する場所についての一般的なクエリで使用される語句を辞書23に事前ロードすることができる。さらに、パロアルトに位置する他のユーザによって生成された一般的なクエリで使用される語句を事前ロードすることができる。例えば、パロアルトのユーザが第2抵当貸主についての検索要求を頻繁にサブミットする場合、このクエリからの語句とその結果を辞書23に事前ロードすることができる。位置関連語句を、ユーザが関心のある可能性のある位置のリストを事前設定するのに使用することもでき、ユーザが装置62にデータを入力中に、ワードのオートコンプリーションのために語句を使用することができる。語句をテキスト入力プログラムで使用してスペルチェックを実施することもできる。
【００５１】
特定の町などの特定の位置ではなく一般的位置に基づいて語句をロードすることができる。例えば、位置は、「家(home)」または「旅行(traveling)」のような一般的なものでよい。ユーザが「家」であるとき、その標準辞書が使用される。ユーザが「旅行中」であるとき、旅行関連語句をロードし、かつ/または昇格させることができる。そのような語句は、ホテルチェーンの名前およびレストランのタイプを含むことができる。そのような一般的状況では、装置が自動位置感知機能を有さない場合、装置の位置を手動で最良に変更することができる。
【００５２】
位置関連の、事前ロードされた語句は、ユーザが部分44にいる間は予測テキスト入力アルゴリズムでより高い優先順位を有することができる。ユーザが部分44を去るとき、この以前の位置に関連する語句により低い優先順位を割り当てることができる。語句は、ユーザが部分44からどれだけ離れているかに基づいてレーティングを受けることができる。例えば、ユーザがパロアルトからレッドウッドシティまで移動する場合、パロアルトに関連する語句の優先順位を33パーセント減少させることができるが、ユーザが、パロアルトからはレッドウッドシティよりも遠いサンフランシスコまで移動する場合、語句の優先順位を90パーセント減少させることができる。同時に、ユーザが向かう部分に関連する語句の優先順位を上昇させることができる。例えば、ユーザがサンフランシスコに向けて移動するとき、この都市に関する語句の優先順位を、パロアルト関連の語句の優先順位が低下したとしても上昇させることができる。
【００５３】
関連する語句に関する辞書23のスペースを節約するために、ユーザが部分44から一定の距離だけ移動した後は語句を除去することもできる。このことは、ユーザが部分44を去るとすぐに位置関連の語句を除去することを含むことができる。あるいは、部分44から移動した距離に関連して優先順位が0に達するまで語句の優先順位を低下させることによって位置関連の語句を除去することもでき、優先順位0は、語句を除去すべきであることを示すことができる。他の実施形態では、語句の優先順位は、ドロップダウンリスト上のその位置を示すことができ、高い優先順位は、語句をリストの上端付近に配置すべきことを指示することができる。低い優先順位を有する語句は、リストの下端に近くなる。最長時間未使用(LRU)アルゴリズムなどの、語句の使用頻度を考慮に入れるアルゴリズムによって語句を除去することもできる。LRUアルゴリズムを使用すると、例えば、ユーザがパロアルトに関する検索を頻繁に入力するが、レッドウッドシティに関する検索は決して入力しない場合、レッドウッドシティがパロアルトに近い位置であったとしても、レッドウッドシティに関する語句を辞書23から除去することができる。このアルゴリズムは、ユーザがこの位置から遠くに移動する場合であっても、この人がパロアルトに関する語句について引き続き検索する場合、パロアルト関連の語句を保つこともできる。
【００５４】
装置62は、ユーザのプリファレンスを格納することもでき、ユーザのプリファレンスは、辞書23を更新するのに何の位置関連情報が使用されるかを決定することができる。装置上にインストールされたクライアントによって、または他のソフトウェアまたはハードウェア構成要素によってプリファレンスを格納することができる。プリファレンスは、ユーザが日本食を好むがタイ料理を好まないなど、その人の好き嫌いを含むことができる。ユーザがパロアルトに位置し、レストランについての検索を入力した場合、装置62は、検索と共にプリファレンス情報を送信することができる。次いでシステム50は、地元のタイ料理レストランの名前ではなく、地元の日本食レストランの名前で辞書23を補足することができる。別の実施形態では、ユーザが日本食レストランについての検索を入力した場合、ベトナム料理や中国料理のレストランなどの他の地元のアジア料理レストランの名前で辞書23を補足することができるが、タイ料理レストランを除外する。
【００５５】
ユーザのプリファレンスは、どの位置関連語句を辞書23に追加することができるかを決定するのに使用される汎用プロファイルを含むことができる。プロファイルは、特定のグループのメンバに通常は関連するプリファレンスを含むことができる。職業、収入水準、および年齢を含む一定の属性を有する人々にグループを限定することができる。例えば、ティーンエージャに関する汎用プロファイルは、その人がピザを好むが、高価なレストランを好まないことを示すことができる。ユーザがレストランを検索するとき、システム50は、位置情報およびサブミットされた検索語句を使用して、コストで地元のレストランを評価する情報源を参照することができる。地元のピザレストランの名前で辞書23を補足することができるが、辞書23は、高価であると評価されるピザレストランを除外する。ある実施形態では、ユーザのプリファレンスまたは属性をより正確に反映するように汎用プロファイルを補足または修正することができる。
【００５６】
さらに、「減少レート」に従って情報を調節することができる。例えば、ワードが使用されていない各時間枠と共に語句の確率を低下させることができる。減少は、時間または位置ではなく、使用法に基づくことができ、すなわちワードが使用されるごとに他のすべてのワードの確率が減少する。次いで、ワードの確率がしきい値レベル未満に低下したときにワードが除去される。例えば、他のワードをタイプしたある期間の後、装置が「ラベンダー(lavender)」というワードをあまり受信しないことが明らかとなり、そのワードを辞書から除去することができる。
【００５７】
辞書21および補足辞書23が何らかの特定の形式を取る必要はない。むしろ、辞書は、どんな形式であれ、データ入力を完了または補正し、適切なデータを選択するのに役に立つ能力を提供するためのデータを格納する任意の適切な構造でよい。さらに、辞書を組み合わせることができ、またはさらに分割することができ、様々なデータタイプおよび形式を有することができ、単なるワード以外のオブジェクトを表すことができる。
【００５８】
具体的には、辞書データの各項目は多くの形式を取ることができる。例えば、項目はワードまたはフレーズでよい。項目は語根でもよく、その結果、システムは、より単純な構成部品からワードを構築することができる。さらに、項目は数字、1つの句読点、または他のシンボルでよい。項目はまた、イメージ、サウンド、または他のそのようなオブジェクトも含むことができる。さらに、項目は、事前定義され、特定のコードと関連付けられるのであれ、ユーザによるマクロとして定義されるのであれ、システムで実施すべき機能を表すことができる。したがって、上記での「ワード」および「語句」という用語の使用は例示的なものであり、いかなる形でも限定的なものではないものとする。
【００５９】
編成的に、各語句についての「関連」語句の順序付けられたリストとして情報をコンピュータ上に格納することができる。例えば、サーバは、同一の文書に頻繁に出現するワード、同一のセッションで頻繁に出現するワード、または他のグループを格納することができる。この順序付けられたリストを相互一致の確率(または相互一致の相対的確率)と共にサーバによって装置に返すことができる。例えば、「ムスタング(mustang)」というワードについて、「フォード(Ford)」は確率0.10を有することができ、「馬(horse)」は確率0.15を有することができる。
【００６０】
図3は、データ入力辞書に関する情報を識別、フォーマット、および配布するシステム50の略図である。システム50は、例えば、インターネット検索プロバイダの一般的システムの一部として実装することができる。システム50は一般に、様々な情報源からの語句の出現および一致についての情報を得て、そのような情報源でのワード使用の分析に基づいて辞書情報を生成するように装備される。そのような情報源は、例えば、特定の組織の情報のデータストア、個人についてのデータ(送信済みアイテムボックスに格納された発信メッセージなど)、またはインターネット検索サービスのユーザが最近入力した検索語句についてのデータを含むことができる。
【００６１】
システム50は、様々な方式で通信を可能にするインターフェース52を備える。例えば、システム50は、LAN、WAN、または他の適切な通信手段などを介して、システム50の外部のデータベース54と通信することができる。システム50はサーバ56とも通信することができ、サーバ56は、システム50で必要とされる様々なアプリケーションへのアクセスを提供することができる。さらに、システム50をインターネット58などのネットワークに通信式に接続することができ、それによってシステム50は、サーバファーム60、ワイヤレス通信装置62、パーソナルコンピュータ64などの様々な装置と通信する。任意の装置についての通信の流れは双方向でよく、それによってシステム50は、装置からコマンドなどの情報を受信することができ、情報を装置に送信することもできる。
【００６２】
装置から受信されたコマンド、位置データ、および要求を要求プロセッサ66に供給することができ、要求プロセッサ66は、要求を解釈し、それを事前定義された許容できる要求と関連付け、それをシステム50の別の構成要素にコマンドなどの形で渡し、特定の動作を実施することができる。例えば、要求は検索要求を含み、要求プロセッサ66は、検索エンジン70に検索要求に対応する検索結果を生成させることができる。そのような検索エンジン70は、Google PageRank(商標)システムで使用されるようなデータ取出しおよび検索技法を使用することができる。次いで、検索エンジン70で生成された結果を、結果に対して必要なフォーマット化を実施する応答フォーマッタ68を使用して元の要求側に戻すことができる。
【００６３】
さらに、プロセッサ66で受信された要求は、検索要求と共にローカル検索エンジン71に渡される位置データを含むことができる。ローカル検索エンジンは、検索技法を使用して、ユーザの位置と関連付けられる結果をユーザに返すことができる。あるいは、エンジン71で生成される結果が、検索結果として元の要求側に戻されないこともある。その代わりに、ユーザは、その人の位置に必ずしも関連付けられるわけではない検索結果を受信することができるが、位置関連の結果を使用して、検索側装置上の辞書を増強することができる。さらに、要求とは無関係のプロセッサ66で位置データを受信することができる。ローカル検索エンジン71で位置データを使用して、その位置に関して一般的な要求および周囲の位置の名前を含む結果を生成することができる。次いで、こうした結果を使用して、ユーザが装置62に入力することを望む可能性のある位置関連語句を辞書23に事前ロードすることができる。
【００６４】
ローカル検索エンジン71は、検索エンジン70と協働することができ、または検索エンジン70とは無関係に動作することができる。検索エンジン70は、ローカル検索エンジン71に要求を送信することができ、エンジン71は、追加の処理のために結果をエンジン70に返すことができる。あるいは、ローカル検索エンジン71は、要求および位置データをプロセッサ66から直接受信し、応答フォーマッタ68を使用して結果を元の要求側に提供することもできる。ある実施形態では、ローカル検索エンジン71を検索エンジン70内の機能として実装することができる。
【００６５】
検索エンジン70およびローカル検索エンジン71は、その適切な動作のためにいくつかの他の構成要素に依拠することができる。例えば、検索エンジン70は、検索をより一層効率的にするように、要求が行われるごとにウェブサイト自体を検索する代わりにウェブサイトの索引72を参照することができる。情報を変更するために潜在的情報源を継続的にスキャンすることができるウェブクローラ76で収集およびフォーマットされた情報を使用して、索引を設定することができる。索引72に加えて、ローカル検索エンジン71は、イエローページデータベースなどの住所または位置情報を含むデータベースに依拠することができる。データベースは、記憶システム74、データベース54、サーバファーム60、または図示していない他の場所で実装することができる。エンジン71は、データベース内の住所情報を使用して、要求によって生成される可能な結果に関連する位置を求めることができる。次いで、エンジン71は、ユーザに近い位置に関連する結果を返すことができる。
【００６６】
検索結果に加えて、システム50は、辞書ジェネレータ78を用いて、ユーザ特有の情報を含むことができる更新済み辞書情報をユーザに提供することができる。辞書ジェネレータ78は一般に、アクセスされるデータストアから、関連する一致データまたは情報(ある語句の出現、語句と他の語句の一致、および相互一致(n-gram)データを含む)を抽出し、情報についての出現パラメータを生成し、個人通信装置のユーザなどのリモートユーザを含むユーザが後で実装するために送信することのできる方式で情報を編成することによって動作する。
【００６７】
辞書ジェネレータ78が操作する情報は、検索エンジン上で最近入力されたすべての検索語句などの一般的なものでよく、または特定のグループのメンバによって入力された検索語句などの特定のものでよい。システム50は、ユーザから識別情報を受け取ることができ、ユーザに最も関連する辞書情報を与えるように、その情報を使用してユーザが属するグループを決定する。例えば、エンジニア、歯科医、または弁護士は、自分自身が特定のグループに該当するものとして自己識別することができ、次いで、そのグループに関連するデータを受け取ることができる。このようにして、辞書データは、グループのメンバに特に関連するものでよい。システム50はまた、ユーザから位置データを受信することができ、その情報を使用して、ユーザの現在位置に密接に関係するエントリを辞書に与えることができる。
【００６８】
任意の適切な構成要素を使用して辞書ジェネレータ78を実装することができる。図示するように、辞書ジェネレータ78は、オブジェクトピッカ80、オブジェクトセレクタ、一致レータ82、およびパッケージャ84を含む。オブジェクトピッカ80またはオブジェクトセレクタは、情報ストアでどのようにデータが使用され、または編成されるかを判定するように、情報ストアを構文解析あるいは解析することのできるモジュールである。例えば、オブジェクトピッカは、特定の文書または文書のグループ中のそれぞれの固有ワードを識別することができる。オブジェクトピッカは、直接的に文書を検討することができ、あるいはウェブクローラ76によって収集され、索引72に格納されたデータ、または検索エンジン70またはローカル検索エンジン71によって生成された結果と協調して動作することができる。
【００６９】
一致レータ82は、文書中の特定の語句または他のオブジェクトの出現の可能性の判定を与える。例えば、一致レータ82は、語句の、他の語句と比べた使用量を確立する正規化数(すなわち語句の正規化出現)を提供することができる。一致レータ82は、一致情報および相互一致情報を提供するように、いくつかのワードまたはフレーズ間、またはワードの各部分間のような使用情報も確立することができる。
【００７０】
パッケージャ84は、容易にアクセスおよび使用することができる形式で辞書情報を配置する。例えば、パッケージャ84は、情報を圧縮または暗号化することができ、個人通信装置などの装置で読むことができる方式で情報を符号化することもできる。
【００７１】
辞書ジェネレータ78構成要素を「階層化」構造(ISO/OSI構造と同様の方式)またはオブジェクト指向構造として実装し、より高いモジュラリティを実現することもできる。例えば、様々なタイプの装置に対して送信可能辞書データを生成するように複数の異なるパッケージャ84を実装することができ、その複数の異なるパッケージャ84はすべて、共通の方式で一致レータ82と通信することができる。さらに、例えば様々なタイプまたはレベルの一致データを提供するために、複数の一致レータを設けることができる。さらに、例えばテキストファイル、サウンドファイル、または他の材料にアクセスするために、様々なオブジェクトピッカを使用することができる。
【００７２】
そのような階層化構造では、各構成要素が意識する必要があるのは、隣の隣接する構成要素へのインターフェースだけであり、隣の構成要素の内部動作、または離れた層中の構成要素の動作について意識する必要がない。そのような方式で、よりモジュラな方式で項目を実装し、システムのコーディング効率を向上させ、誤りを最小限に抑えることができる。
【００７３】
辞書ジェネレータ78は、必要に応じてシステムストレージ74にもアクセスすることができる。システムストレージ74は、アプリケーション、保守ルーチン、管理および報告ソフトウェアなどのシステムを操作するのに必要なファイルのための1つまたは複数の記憶位置でよい。
【００７４】
あるアプリケーションでは、特定のユーザに関連する情報を含む文書にアクセスするようにシステム50をプログラムすることができる。インターネットサイトのページ、組織内に保持される様々なデータストアなどの1つまたは複数のグループの情報を、1つまたは複数のユニフォームリソースロケータ(URL)をシステム50に提供することなどによってスキャンすることができる。システム50は、一定の語句の出現、一致、および相互一致を判定することができ、その語句に一致パラメータを割り当てることができる。システム50はまた、通常の語法での出現レートと比較して高い出現レートを有する特定の語句が組織にとって特別なものであることを示すように、そのような語句を識別することもできる。そのような語句は、例えば組織およびその支部の名前を含むことができ、組織で使用される特定の頭字語も指すことができる。例えば、組織は、企業全体でEメールを「ワイヤ(wire)」として郷愁を誘う参照を行っていることがあり、その結果、組織の内部通信は、通常の語法で使用されるよりもずっと頻繁に「ワイヤ」という語句を使用する。組織の文書(例えばEメールまたはその他の文書)のスキャンによってこの特殊な使用法が見つかり、「wire」という語句に高い出現レーティングが与えられる。
【００７５】
この機能により、会社または会社の各部分などの組織が遠隔通信プロバイダなどのサービスプロバイダと契約して、通信装置を会社の従業員に供給することができるサービスが可能となる。遠隔通信プロバイダ、または検索会社などのそのエージェントは、会社の文書をスキャンすることができ、それによって契約の下で配布される各通信装置上にロードすることのできる、組織に特有のカスタム辞書を生成することができる。装置はまた、ユーザを組織のメンバとして識別する情報を中央システムに送ることもでき、それによって、組織に関連する更新済み辞書情報をユーザの装置に渡すことができる。
【００７６】
図4は、ユーザ特有のデータ入力辞書を受信および使用するシステム90の略図である。システム90をパーソナルコミュニケータなどの装置、例えば携帯電話として実装することができる。システム90は、送信機94を使用してワイヤレスに情報を受信および送信し、受信した信号が信号プロセッサ96に渡され、信号プロセッサ96は、デジタル信号プロセッサ(DSP)回路などを含むことができる。通常の音声通信はオーディオプロセッサ92を経由し、オーディオプロセッサ92は、ユーザインターフェース108を介することを含めて、スピーカ/マイクロフォン98と通信することができる。
【００７７】
ユーザインターフェース108は、音声通信、視覚的通信、およびデータ入力通信を含む、システム90のユーザとのすべての通信を処理する。情報の視覚的プレゼンテーションを、ディスプレイ画面100を介して提供することができる。一般的なデータ入力は、入力された音声データを除いて、キーパッド102を介して行うことができる。キーパッド102は、標準12キー電話キーパッドとして構成することができる。装置は、必要な制御機能を実施するために適切な制御キー104も備えることができる。キーパッド102および制御キー104は、接触プッシュボタン、ジョイスティック、タッチ検知パネルの各部分、または他の適切な入力装置を含むことができる。図が見やすいように、通信が単一のユーザインターフェース108を介して行われるように図示するが、複数のインターフェースを使用することができ、必要に応じて他の構成要素と組み合わせることができる。
【００７８】
システム90は、ゲーム、番号をダイヤルする際に支援するアプリケーション、ウェブブラウジングの一部としてデータの入力を含む、ウェブブラウジングを可能にするアプリケーションなどのいくつかのコンピュータアプリケーション114を備えることができる。ROM、フラッシュメモリ、RAM、MRAM、あるいはその他にアプリケーションを適宜格納することができ、必要に応じてシステム90でアクセスすることができる。ダイヤリングモジュール112は、システムが、入力されたダイヤリング数字または音声ダイヤリング命令をインターフェース108を介して受け取り、通信インターフェース120を使用して送信機94を介して適切なダイヤリング信号を提供するための標準ダイヤリング機能を提供することができる。
【００７９】
データ入力モジュール110は、システム90に入力された検索データなどのダイヤリング命令以外のデータを受信する。データ入力モジュールは、入力されたデータをアプリケーションに直接供給することができ、または曖昧性除去エンジン116を使用して入力されたデータの変換を助けることができる。曖昧性除去エンジン116は、複数の可能な意味を持つと妥当に解釈される、入力された情報を解析することができ、規則を情報に適用して、ユーザが実際に何を入力することを意図したかを判定することができ、または判定を助けることができる。
【００８０】
何を入力することが意図されたかを判定する際に、曖昧性除去エンジン116は、辞書118に依拠することができ、辞書118は、ワードの可能性のある使用法または一般的な使用法についての情報または他の形式のデータを生成することができ、またはリモートサイトから送信機94を介してそのような情報の提供を受けることができる。
【００８１】
パーソナルコミュニケータでの実装として示すが、システム90は、他の多くの形態を取ることができる。例えば、ネットワーク化されていてもいなくても、かつネットワーク化される場合は、ワイヤでネットワーク化されても、ワイヤレスでネットワーク化されても、パーソナルコンピュータの一部としてシステム90を実装することができる。さらに、データ入力は、完全なキーボード、制限されたキーボード、または音声コマンドによる入力を含む様々な方式で行うことができる。さらに、リモートサーバなど、1つまたは複数の構成要素をシステム90からリモートに配置することができ、構成要素を組み合わせることによって、または図示される構成要素以外の構成要素を使用することによってシステム90の機能を提供することができる。
【００８２】
図5は、データ入力辞書のための情報を準備する例示的ステップを示すフローチャートである。一般には、このチャートは、システムが、例えばユーザについての情報、ユーザがメンバであるグループについての情報、またはユーザによる語句の可能性のある使用法を反映する情報を含む、ユーザ特有の辞書または辞書の補足を準備する実装を示す。ステップ120では、リポジトリリストが受信される。リポジトリリストは、解析すべき情報を含むファイルまたは位置のリストを含むことができ、ユーザのEメールアカウントに対する方向、またはスキャンすべき文書を含む特定のデータストアに対する方向を含むことができる。例えば、リポジトリリストは、ユーザのEメールアカウントまたはアウトボックスの位置、または組織に関してファイルが格納される位置を含むことができる。ステップ122では、第1サイトが情報に関してスキャンされ、ステップ124で情報が構文解析される。例えば、サイトのそれぞれの固有ワードを識別することができ、ワードの絶対出現数または相対出現数も追跡することができる。ステップ126では、サイトで識別された新しい語句が辞書に追加される。
【００８３】
ステップ128では、識別されたすべてのサイトがスキャンされたかどうかに関して判定が行われる。スキャンされていない場合、ステップ130で、スキャンすべきサイトのリストを追跡するパラメータが増分され、次いでステップ122で、別のサイトがスキャンされる。すべてのサイトがスキャンされている場合、ステップ132で、様々な語句についての出現および一致スコアまたはパラメータを生成することができる。
【００８４】
比較的単純な例として、スキャンしたすべての文書中の合計ワード数を計算することができ、識別されたそれぞれの固有ワードの出現回数を合計で割り、各ワードについての正規化出現数を作成することができる。ワード間の相互一致(n-gram)スコアを生成することもできる。アプリケーション特有の一致データを生成することができるように、スキャンした各文書のタイプを追跡することもできる。例えば、Eメール通信に関する一致データは、ワードプロセッシング文書などのより公式な文書、またはインスタントメッセージングなどのあまり公式ではない文書に関するものとは異なる可能性がある。スキャンしたアプリケーションに従って一致データを分割することができ、次いで、ユーザが対応するアプリケーションを使用しているときに、関連データにアクセスすることができる。
【００８５】
システムは、ステップ134で追加のデータを辞書に組み込むことを可能にすることができる。例えば、大規模な組織について辞書が確立されている場合、組織は、いくつかの語句を辞書に含めるべきであることを指定することができ、普通なら文書解析が示すはずのスコアよりも高いスコアを有するべき語句も指定することができる。システムは、ステップ138で辞書を配布する前に検討が望まれる場合、そのような検討のために辞書も提示することができる(136)。配布は、例えば特定の装置の配置時に行うことができ、または辞書データを自動または手動ダウンロードのために利用可能にすることによって行うことができる。配布は、ハンドセット作成時、販売時点(ユーザがグループの一部であると自己識別した後)に、さらには後日に電波を介して行うことができる。辞書更新は、任意の関連する時間に行うこともできる。
【００８６】
一実装では、スキャンすべきデータストアは、ユーザのEメールアウトボックスでよい。アウトボックス内の文書は、ユーザが使用することを好むワードおよびフレーズを表す可能性が高く、したがって、ユーザによる後のデータ入力に対する良好な予測子となる可能性が高い。さらに、アウトボックスには一般に、一般的な名前、ユーザが一般にメッセージを送信するEメールアドレス、一般に使用されるウェブサイトなどの通常は辞書にない情報が設定される。
【００８７】
図6は、装置に入力された情報を曖昧性除去する例示的ステップを示すフローチャートである。ステップ150では、キーストロークまたは他の曖昧なデータ入力が受領される。ステップ152は、キーストロークがデータキー152を表すかどうかを判定する。キーストロークがデータキー152を表さない場合、キーストロークは、実施すべき何らかの動作を表し、したがって、動作が識別され(154)、システムは動作を実行する(156)。例えば、キーストロークは、入力されたデータのサブミットを表すことができ、または装置をオフする要求を表すことができる。
【００８８】
キーストロークが入力されたデータを表す場合、キーストロークが、キーストロークのバッファリング済みシーケンスに追加される(158)。したがって、システムは、キーストロークのシーケンスを使用して、ユーザのキーストロークを入力する際の可能性の高い意図を判定することができる。以下で図8に関してより完全に説明するように、具体的には、システムは、キーストロークに対する可能なデータマッチをソリューションセットの形で得ることができ(160)、ソリューションセットを、キーストロークに対する可能なマッチのリストとして表示することができる。システムは、一致データ(例えば出現データ、一致データ、または相互一致データ)を使用することなどによってマッチ162を優先順位付けることもできる。
【００８９】
システムが曖昧さを自動的に解決するように設定される場合(164)、システムは、選択を自動的に行うのに十分なデータを受信したかどうかを判定する。例えば、入力されたキーストロークに対して存在する辞書中のマッチが1つだけである場合、システムで容易に選択を行うことができる。さらに、2番目に良好なマッチに関するスコアが一定の値未満であるとき、または最良のスコアと2番目に良好なスコアとの間の差が一定のしきい値を超えるときなど、何らかの曖昧さがあるときであってもマッチを作成する規則を確立することができる。
【００９０】
誤った選択の数の制御が可能となるように(すなわち、「厳密な」動作を指定することによって)、システムがマッチを自動的に選択する前にどれだけ「緩やか」または「厳密に」反応するかを指定するようにユーザにオプションを与えることもできる。システムが選択を行うための十分なデータを有する場合(166)、システムは、適切な入力を選択する(168)。システムが十分なデータを有さない場合、システムは、次のキーストロークを待つ。一例として、検索アプリケーションでは、「I'm Feeling Doubly Lucky」モードに関してシステムを確立することができる。そのようなモードでは、選択が正確であるという十分に高い信頼度を選択規則が示すとき、システムは、自動的にワードまたはフレーズを選択することができ、次いで、ワードまたはフレーズを検索要求として自動的にサブミットすることができ、第1マッチング検索結果の情報にユーザを向けることができる(これは従来の「I'm Feeling Doubly Lucky」ステップである)。
【００９１】
システムが曖昧さを自動的に解決するように設定されない場合、システムは、ユーザが所望のマッチを選択する(172)ための可能なマッチをユーザに提示することができる(170)。システム辞書に格納された一致情報に従って、または別の適切な方式でマッチをソートすることができる。ユーザが選択を行わない場合、システムは別のキーストロークを待つ。ユーザは、電話キーパッド上の「1」を入力すること、制御キーを押下すること、またはスペースバー(「#」)として指定されたキーを押下すること、または選択を強制するような様々な他の機構などによって入力終了指示を与えることもできる。
【００９２】
システムは、ユーザが情報を入力しているモードを判定することもできる。具体的には、携帯電話ユーザがキーストロークを入力するとき、ユーザは、曖昧性除去を必要とする1タップデータ入力を使用して、または複数タップ入力を使用して(例えば、ユーザの辞書にないであろうことをユーザが知っている適切な名前などの語句をユーザが入力している場合)、番号をダイヤリングしている可能性がある。次いで、システムは、これらの可能性のそれぞれについてのマッチを同時に識別および提示することができる。
【００９３】
キー押下のシーケンスがどんな事前定義された語句とも合致しない場合(すなわち、これは新しいワードである)、ワードを「オンザフライ」で追加することができる。そのような状況では、ワードが入力されたが可能なマッチが存在しないと装置が判定するとき、装置は、画面を点滅させ、または特定のトーンを鳴らし、あるいは語句またはフレーズを話すことなどによって合図を与えることができる。次いで、標準の低速のタイピング機構(例えばトリプルタップ)を使用してワードを完成させる機会をユーザに与えることができる。ワードが代替入力方法で完成したとき、ワードを辞書に自動的に追加することができる。そのとき、ワードに確率を割り当てることもでき、その確率は一般には高い確率となる。ワードが使用されたばかりの場合、そのワードは再び使用される可能性が高いからである。
【００９４】
さらに、曖昧性除去システムを使用して所定のキーシーケンスを入力することを試みる前に、この方式で語句を追加するためにその所定のキーシーケンスを入力することをユーザに許可することができる。例えば、ユーザが別の人の複雑な珍しい名前を入力することを意図する場合、ユーザは、トリプルタップ入力を直ちに開始するように適切な指示を与えることができる。より基本的な方法で情報を入力する意図を示す他の方式をユーザに提供することもできる。
【００９５】
さらに、マッチが存在せず、または一致データが、マッチを行う語句にとって十分に悪い場合、システムは、追加の情報を見つけ出すことができる。具体的には、装置は、リモートサーバに要求を行い、その適切な一致データとの可能なマッチを得ることができる。受信された情報を使用して、装置の辞書を更新することもできる。リモート装置とメインシステムとの間の接続が十分な速度を有する場合、リモートに格納された辞書情報を、キーストロークごとを含めて、頻繁に転送することができる。
【００９６】
図7は、リモート装置からの要求に応答してデータ入力辞書情報を提供する例示的ステップのフローチャートである。フローチャートは、サーバによって実施されるステップとクライアントによって実施されるステップとを示すように分割される。図示するように、サーバは、ユーザから要求を受信して応答を与えるように確立される任意の機器またはシステムでよく、一方クライアントは、任意の適切な装置、またはユーザによって操作される要素の集合でよい。言い換えれば、関係は、正式なクライアント-サーバ関係に限定されない。
【００９７】
ステップ180では、クライアントは、検索エンジンで検索するための語句などの検索エントリをユーザから受信する。次いで、クライアントは、エントリを検索要求として送信し(182)、サーバは要求を受信する(184)。サーバは、多くの周知の検索技法を含む任意の適切な手段で検索結果または結果を生成することができる(186)。
【００９８】
サーバは、検索要求および結果に対応するデータを含む一致データを生成することができる(188)。一致データは、過去または最近に特定の検索語句を使用した他の検索者によって入力された他の語句を含むことができる。例えば、検索語句が「コミックス(comics)」である場合、一致データは、「Dilbert」、「Blondie」、「Beavis」、「Bart」、「漫画(cartoons)」、「アニメーション(animation)」などの語句を含むことができる。一致データは、検索結果で識別される位置でデータに関係付けることもできる。例えば、検索語句が「アブラハムリンカーン(Abraham Lincoln)」であり、検索結果のうちの1つがゲティスバーグの演説(Gettysburg Address)である場合、一致情報は、その文書からの「four score」というフレーズを含むことができる。このようにして、ユーザが検索結果を開き、「four score」とは何を意味するのだろうと思うときにシステムの準備をすることができ、次いでユーザは、そのフレーズを後続の検索語句として入力することを開始する。次いで、システムは、そのようなユーザ固有の情報を用いない場合よりも容易にユーザのテキスト入力を完成することができる。
【００９９】
検索結果および一致データが集められるとき、サーバは、それらをクライアントに送信することができる(190、192)。次いで、クライアントは、後続のキーストロークを受信したとき(194)に使用するように、一致データをその既存の辞書に統合することができる。追加の情報を用いて、ユーザの入力したキーストロークに対する合致を補足ソリューションセットによって表すことができる(196)。補足ソリューションセットは、サーバからのデータによって補足される、押下されたキーストロークに対する可能な合致を表し、サーバからの更新後一致データを含むこともできる。
【０１００】
辞書が過度に大きくなるのを防止するために、要求された検索についての情報は、ユーザが新しい検索トピックに移動するとすぐに古くなる可能性があるので、システムは、時間間隔の実行、または装置のリセットなどのイベントの出現時に辞書198をリセットすることができる。さらに、辞書が容量に達し、または容量に近づいた場合、現在の最低確率語句などの語句を1つずつまたはグループとして除去することができる。
【０１０１】
別の実施形態では、リモート装置は、ユーザがキーストロークを入力するときに、すなわちクライアント装置とサーバとの間に高速接続が存在するときに、入力されたキーストロークについてのデータを常に送信していることがある。ユーザがタイプするとき、サーバは、関連ワードを調べている可能性があり、サーバサイトの辞書を含む辞書に対して一定の更新を提供している可能性がある。更新後情報を求めてサーバにpingすることなどによって、ユーザによる検索の入力を除いて、情報を頻繁に要求することもできる。このようにして、装置は、更新後辞書情報を周期的にダウンロードすることができる。
【０１０２】
図8は、データ入力辞書の論理的なツリーベースの組織を示す略図である。ツリーの各ノードは円によって表され、従来通りに印刷された電話キーパッド上の数字キーストロークの入力時に生じる状態を表す。「1」はその上に文字を有さず、句読点入力、特定のデータ入力の終わりの表現(スペースバーまたは「エンタ」キーなど)などの目的で使用することができる。各単一キーストロークは、ユーザに関する単一文字の入力を表すが、システムに関する3つの可能な文字(「7」および「9」のキーについては4つの可能な文字)を曖昧に表す。
【０１０３】
例えば、キーストローク225は、システムに対して、[AまたはBまたはC]および[AまたはBまたはC]および[JまたはKまたはL]を表す。このシーケンスは、Bill the Catで発音される「ACK」というワードを表すことができ、または、多くの中でもとりわけ、BALL、CALL、ABJECT、またはACKNOWLEDGEなどの他の語句の最初を表すことができる。次いでユーザが「3」のキーを入力した場合、ソリューションセットのサイズが劇的に縮小し、その結果、第4文字としてD、E、またはFを有するワードのみが適切な解となることができ、この例では、ABJECTのみである。このようにして、それぞれの追加の文字の入力がツリーを「剪定」し、正確となる妥当な推測で選択を行うことのできる十分小さいソリューションセットにシステムを近づける。
【０１０４】
対の形または他の適切な形でキーストロークを解釈することもできる。具体的には、従来のマルチキー入力技法を使用して一定のデータの入力を可能にするように、キーストロークの各対について特定の文字を識別することができる。この方式で識別された文字を組み合わせて、システムに提示するための曖昧な組合せを生成することもできる。例えば、電話ユーザが226393を押下した場合、ユーザは、マルチキー入力技法を使用して「BOY」を入力しようと試みている可能性がある。その人は、単一キー技法を使用して、[AまたはBまたはC]および[AまたはBまたはC]および[MまたはNまたは0]および[DまたはEまたはF]および[WまたはXまたはYまたはZ]および[DまたはEまたはF]を入力している可能性もある。システムは、両者の曖昧さを解決することができ、さらなる解決またはコンプリーションのために結果を一緒に提示することができる。
【０１０５】
テキスト入力に関して今述べた機能は、音声認識、またはビデオ認識などの他の手段を使用してデータを得るシステムに適用することもできる。音声などのフォーマットからの入力の変換は、音声認識を他のデータ入力技術と共に組み込むのに使用されるいくつかの周知の手段のいずれでも行うことができる。例えば、感知される音声コマンドをVoiceXMLや他の使用可能なフォーマットなどのフォーマットに変換することができる。さらに、システムは、様々な異なる言語で入力されたデータに対して動作することができる。
【０１０６】
入力を与える他の方法も適宜使用することができる。例えば、装置は、入力を与えることのできる加速度計を備えることができる。例えば、ユーザは、装置を急に動かして、語句を入力したことを示すことができる。さらに、ユーザは、装置を前方または後方に傾斜させることによって、リストなどから項目を選択することができる。
【０１０７】
本明細書では、「電子文書」および「文書」という用語は、ファイルに格納された電子データとネットワークを介して受信される電子データの両方を含む、1組の電子データを意味する。電子文書は、必ずしもファイルに対応しない。文書を、他の文書を保持するファイルの一部に格納することができ、当該の文書専用の単一ファイルに格納することができ、または1組の連係したファイルに格納することができる。
【０１０８】
ここで述べたシステムおよび技法の様々な実装を、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せとして実現することができる。上記の様々な実装は、記憶システム、少なくとも1つの入力装置、および少なくとも1つの出力装置からデータおよび命令を受け取り、それらへデータおよび命令を送るように結合された、専用または汎用でよい少なくとも1つのプログラム可能プロセッサを含むプログラム可能システム上で実行可能および/または解釈可能である1つまたは複数のコンピュータプログラムでの実装を含むことができる。
【０１０９】
こうしたコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとも呼ばれる)は、プログラム可能プロセッサに対する機械語命令を含み、高レベル手続型および/またはオブジェクト指向プログラミング言語、および/またはアセンブリ/機械語で実装することができる。本明細書では、「機械可読媒体」という用語は、機械語命令を機械可読信号として受け取る機械可読媒体を含む、機械語命令および/またはデータをプログラム可能プロセッサに提供するのに使用される任意のコンピュータプログラム製品、機器、および/または装置(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。「機械可読信号」という用語は、プログラム可能プロセッサに機械語命令および/またはデータを提供するのに使用される任意の信号を指す。
【０１１０】
ユーザとの対話を実現するために、ユーザに情報を表示するディスプレイ装置(CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)と、ユーザがコンピュータに入力を与えることのできるキーボードおよびポインティングデバイス(例えばマウスまたはトラックボール)とを有するコンピュータ上に、ここで説明したシステムおよび技法を実装することができる。ユーザとの対話を実現するのに他の種類の装置も使用することができる。例えば、ユーザに提供されるフィードバックは、任意の形態の知覚フィードバック(例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバック)でよく、音響入力、音声入力、または触覚入力を含む任意の形態でユーザからの入力を受け取ることができる。
【０１１１】
ここで説明したシステムおよび技法は、(例えばデータサーバとして)バックエンド構成要素を含み、またはミドルウェア構成要素(例えばアプリケーションサーバ)を含み、またはフロントエンド構成要素(例えば、ここで説明したシステムおよび技法の実装とユーザが対話することのできるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータ)を含み、あるいはそのようなバックエンド、ミドルウェア、またはフロントエンド構成要素の任意の組合せを含むコンピューティングシステムで実装することができる。任意の形態または媒体のデジタルデータ通信(例えば通信ネットワーク)によってシステムの構成要素を相互接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、広域ネットワーク(「WAN」)、およびインターネットを含む。
【０１１２】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは一般に互いにリモートであり、通常は通信ネットワークを介して対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で動作し、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
【０１１３】
いくつかの実施形態を上記で詳細に説明したが、他の修正形態も可能である。本開示の各部分は、制限されたキーボードを有するポータブル装置を通じて動作を論じているが、フルキーボードを備える完全に機能するコンピュータを含む、いくつかの装置のいずれも支援することができる。さらに、図に示される論理フローは、望ましい結果を達成するために、図示される特定の順序またはシーケンシャルオーダを必要としない。さらに、他のステップを設けることができ、または記載のフローからステップをなくすことができ、他の構成要素を記載のシステムに追加し、または記載のシステムから除去することができる。他の実施形態は、添付の特許請求の範囲内にある。
【符号の説明】
【０１１４】
10 システム
12 ディスプレイ画面
12a 検索ボックス
12b 検索ボタン
12c 「I'm Feeling Lucky」ボタン
14 データ入力キー
15 制御ホイール
16 制御キー
21 メイン辞書
23 補足辞書
22、24 オブジェクトリスト
23 データ入力辞書
26、28 識別リスト
30、32、34、36 一致フィールド
38、40 フラグフィールド
42 システム
46 地理的エリア
44 地理的エリアの部分
50 システム
52 インターフェース
54 データベース
56 サーバ
58 インターネット
60 サーバファーム
62 ワイヤレス通信装置
64 パーソナルコンピュータ
66 要求プロセッサ
68 応答フォーマッタ
70 検索エンジン
71 ローカル検索エンジン
72 索引
74 記憶システム
76 ウェブクローラ
78 辞書ジェネレータ
80 オブジェクトピッカ
82 一致レータ
84 パッケージャ
90 システム
92 オーディオプロセッサ
94 送信機
96 信号プロセッサ
98 スピーカ/マイクロフォン
100 ディスプレイ画面
102 キーパッド
104 制御キー
108 ユーザインターフェース
110 データ入力モジュール
112 ダイヤリングモジュール
114 コンピュータアプリケーション
116 曖昧性除去エンジン
118 辞書
198 辞書
225 キーストローク
【図１】
2014194827.tif 000003
【図２】
2014194827.tif 000004
【図３】
2014194827.tif 000005
【図４】
2014194827.tif 000006
【図５】
2014194827.tif 000007
【図６】
2014194827.tif 000008
【図７】
2014194827.tif 000009
【図８】
2014194827.tif 000010