(57)【要約】  開示する実施構成は、多言語環境において動作する仮想キーボードを通じてユーザが選択した文字に関するアクセント記号付きの又は関連する文字の表示を含む。１つの態様では、ユーザがキーをクリックして押し続けた時に、ポップアップが、そのキーに関連する文字のアクセント記号付き文字を表示する。別の態様では、アクセント記号付き文字の順序が、ユーザがタイプしている現在の言語におけるアクセント記号付き文字の出現頻度に基づくことができる。別の態様では、文字がディスプレイの端部に存在する場合、ポップアップが異なる場所に視覚的に表示され、表示内のアクセントの順序が、より頻繁に出現するアクセントにより素早くアクセスできるように設定される。別の態様では、アクセント記号付きの同等語及び複合語の修正に自動修正が使用される。別の態様では、異なる言語に対して視覚的に異なるキーボードレイアウトが提供される。【選択図】図２
2010538391.tif 000002
【特許請求の範囲】
【請求項１】
タッチセンサ式ディスプレイ上のタッチ作動の場所を検出するステップと、
前記タッチ作動に関連するキー選択を特定するステップと、
前記キー選択に関連する１又はそれ以上の別のキー選択を表示すべきかどうかを判定するステップと、
前記キー選択に関連する１又はそれ以上の別のキー選択を表示すべきであると判定した場合、前記１又はそれ以上の別のキー選択を前記タッチ作動の前記場所の近くに表示するステップと、
を含むことを特徴とする方法。
【請求項２】
前記１又はそれ以上の別のキー選択を前記タッチ作動の前記場所の近くに表示するステップが、前記タッチ作動に関して中心に配置された前記１又はそれ以上の別のキー選択を表示するステップを含む、請求項１に記載の方法。
【請求項３】
前記１又はそれ以上の別のキー選択を前記タッチ作動の前記場所の近くに表示するステップが、前記１又はそれ以上の別のキー選択を、直前に作動したキーの場所に関連して表示するステップを含む、請求項１に記載の方法。
【請求項４】
前記キー選択が文字を定義し、前記１又はそれ以上の別のキー選択が前記文字に関連するアクセント選択肢を含む、請求項１に記載の方法。
【請求項５】
前記１又はそれ以上の文字を、ある言語における前記アクセント選択肢の出現頻度に基づく順序で表示するステップをさらに含む、請求項４に記載の方法。
【請求項６】
前記１又はそれ以上の文字を、最も高い頻度で出現するアクセント選択肢が前記タッチ作動の最も近くに表示されるように前記タッチ作動の前記場所に基づく順序で表示するステップをさらに含む、請求項４に記載の方法。
【請求項７】
テキスト入力を取得するステップと、
テキスト入力エラーを判定するステップと、
前記テキスト入力エラーが、リエゾンの変形、複合語、又はアクセント選択肢に対応するかどうかを判定するステップと、
前記テキスト入力エラーに関する１又はそれ以上の修正選択肢を決定するステップと、
前記テキスト入力エラーに関連する、前記テキスト入力を表示するディスプレイ上の表示場所を決定するステップと、
前記１又はそれ以上の修正選択肢を前記ディスプレイ上の前記表示場所の近くに表示するステップと、
を含むことを特徴とする方法。
【請求項８】
前記テキスト入力エラーに関連する表示場所を決定するステップが、前記テキスト入力エラーに関連するキーの場所を特定するステップを含む、請求項７に記載の方法。
【請求項９】
前記１又はそれ以上の修正選択肢を前記ディスプレイ上の前記表示場所の近くに表示するステップが、前記１又はそれ以上の修正選択肢を、直前に作動したキーの場所に関連して表示するステップを含む、請求項８に記載の方法。
【請求項１０】
前記１又はそれ以上の修正選択肢を前記ディスプレイ上の前記表示場所の近くに表示するステップが、前記修正選択肢を前記キーの前記場所及びディスプレイの縁に関連して表示するステップを含む、請求項９に記載の方法。
【請求項１１】
選択された文字に関するアクセント選択肢を決定するステップと、
前記アクセント選択肢の表示順を決定するステップと、
前記アクセント選択肢を前記表示順に従って表示するステップと、
を含むことを特徴とする方法。
【請求項１２】
前記アクセント選択肢の１つに対するユーザ選択を受け取るステップと、
前記選択された文字を前記選択されたアクセント選択肢と置き換えるステップと、
をさらに含む請求項１１に記載の方法。
【請求項１３】
前記アクセント選択肢の表示順を決定するステップが、ある言語における前記アクセント選択肢の出現頻度に基づいて前記表示順を決定するステップを含む、請求項１１に記載の方法。
【請求項１４】
前記ディスプレイ上のタッチ作動の場所を特定するステップと、
前記アクセント選択肢を、最も高い頻度で出現するアクセント選択肢が前記タッチ作動の前記場所の最も近くに表示されるように前記タッチ作動の前記場所に基づく順序で表示するステップとをさらに含む、請求項１１に記載の方法。
【請求項１５】
第１の言語に設定された第１の仮想キーボードを指定する第１の入力を取得するステップと、
第２の言語に設定された第２の仮想キーボードを指定する第２の入力を取得するステップと、
前記第１の仮想キーボードを表示するステップと前記第２の仮想キーボードを表示するステップとの間で推移を行うステップと、
を含むことを特徴とする方法。
【請求項１６】
タッチの場所を検出するように動作可能なタッチセンサ式ディスプレイと、
前記タッチセンサ式ディスプレイに結合され、前記タッチに関連するキー選択を特定し、該キー選択に関連する１又はそれ以上の別のキー選択を表示すべきかどうかを判定し、該キー選択に関連する１又はそれ以上の別のキー選択を表示すべきであると判定した場合、該１又はそれ以上の別のキー選択を前記タッチセンサ式ディスプレイ上の前記タッチの場所の近くに表示させるように動作可能なプロセッサと、
を備えることを特徴とするシステム。
【請求項１７】
前記１又はそれ以上の別のキー選択を前記タッチ作動の前記場所の近くに表示することが、前記タッチに関して中心に配置された前記別のキー選択の１又はそれ以上を表示すること含む、請求項１６に記載のシステム。
【請求項１８】
前記１又はそれ以上の別のキー選択を前記タッチ作動の前記場所の近くに表示することが、前記１又はそれ以上の別のキー選択を、直前に作動したキーの場所に関連して表示することを含む、請求項１６に記載のシステム。
【請求項１９】
前記キー選択が文字を定義し、前記１又はそれ以上の別のキー選択が前記文字に関連するアクセント選択肢を含む、請求項１６に記載のシステム。
【請求項２０】
前記１又はそれ以上の文字を、ある言語における前記アクセント選択肢の出現頻度に基づく順序で表示することをさらに含む、請求項４に記載のシステム。
【請求項２１】
前記１又はそれ以上の文字を、最も高い頻度で出現するアクセント選択肢が前記タッチ作動の最も近くに表示されるように前記タッチ作動の前記場所に基づく順序で表示することをさらに含む、請求項４に記載のシステム。
【請求項２２】
テキスト入力を取得すること、
テキスト入力エラーを判定すること、
前記テキスト入力エラーが、リエゾンの変形、複合語、又はアクセント選択肢に対応するかどうかを判定すること、
前記テキスト入力エラーに関する１又はそれ以上の修正選択肢を決定すること、
前記テキスト入力エラーに関連する、前記テキスト入力を表示するディスプレイ上の表示場所を決定すること、
前記１又はそれ以上の修正選択肢を前記ディスプレイ上の前記表示場所の近くに表示すること、
を含むことを特徴とするシステム。
【請求項２３】
前記テキスト入力エラーに関連する表示場所を決定することが、前記テキスト入力エラーに関連するキーの場所を特定することを含む、請求項７に記載のシステム。
【請求項２４】
前記１又はそれ以上の修正選択肢を前記ディスプレイ上の前記表示場所の近くに表示することが、前記１又はそれ以上の修正選択肢を、直前に作動したキーの場所に関連して表示することを含む、請求項８に記載のシステム。
【請求項２５】
前記１又はそれ以上の修正選択肢を前記ディスプレイ上の前記表示場所の近くに表示することが、前記修正選択肢を前記キーの前記場所及びディスプレイの縁に関連して表示することを含む、請求項９に記載のシステム。
【請求項２６】
選択された文字に関するアクセント選択肢を決定すること、
前記アクセント選択肢の表示順を決定すること、
前記アクセント選択肢を前記表示順に従って表示すること、
を含むことを特徴とするシステム。
【請求項２７】
前記アクセント選択肢の１つに対するユーザ選択を受け取ることと、
前記選択された文字を前記選択されたアクセント選択肢と置き換えることをさらに含む、請求項１１に記載のシステム。
【請求項２８】
前記アクセント選択肢の表示順を決定することが、ある言語における前記アクセント選択肢の出現頻度に基づいて前記表示順を決定することを含む、請求項１１に記載のシステム。
【請求項２９】
前記ディスプレイ上のタッチ作動の場所を特定すること、
前記アクセント選択肢を、最も高い頻度で出現するアクセント選択肢が前記タッチ作動の前記場所の最も近くに表示されるように前記タッチ作動の前記場所に基づく順序で表示することをさらに含む、請求項１１に記載のシステム。
【請求項３０】
第１の言語に設定された第１の仮想キーボードを指定する第１の入力を取得するステップと、
第２の言語に設定された第２の仮想キーボードを指定する第２の入力を取得するステップと、
前記第１の仮想キーボードを表示するステップと前記第２の仮想キーボードを表示するステップとの間で推移を行うステップと、
を含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
〔関連出願との相互参照〕
本出願は、２００７年９月４日に出願された「多言語環境における仮想キーボード」に割り当てられた米国仮特許出願第６０／９６９，９１８号、及び２００８年２月１１日に出願された「多言語環境における仮想キーボード」に割り当てられた米国特許出願第１２／０２８，９６０号からの優先権の利益を主張するものであり、これらの特許出願はその全体が引用により本明細書に組み入れられる。
【０００２】
本出願の主題は、全般的には、情報入力装置に関する。
【背景技術】
【０００３】
通常、コンピュータ装置は、コンピュータキーボードからテキスト及び文字の入力を受け取るように構成される。最新のコンピュータキーボードは、長方形又は長方形に近いキーで構成され、通常は英語のアルファベットのＡ〜Ｚの文字などの文字がキーの上に刻印又は印刷される。ほとんどの場合、個々のキーを押すことが１つの文字のタイピングに対応する。
【０００４】
携帯電話、ＭＰＥＧ−１オーディオ層３（ＭＰ３）プレーヤ、又は携帯情報端末（ＰＤＡ）などの携帯機器にとっては、従来のコンピュータキーボードは、場合によって大きすぎる可能性がある。携帯機器によっては、ユーザ入力を受け取るために従来のコンピュータキーボードの小型版を含むものもあれば、又は仮想キーボードを使用するものもある。仮想キーボードは、コンピュータキーボードをシミュレートするためのソフトウェアアプリケーション又はソフトウェアアプリケーションの機能の形をとることができる。例えば、スタイラスで操作するＰＤＡ又は通信機器上のタッチセンサ式ディスプレイでは、ユーザが仮想キーボードを使用して仮想キーボードのキーを選択又は選出することによりテキストを入力する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願第１１／２２８，７３７号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
これらの小型キーボード及び仮想キーボードは、２以上の文字に対応するキーを有することができる。例えば、キーのなかには、デフォルトでは英語の一般的な文字、例えば文字「ａ」に対応するとともに、別の文字又は文字「
2010538391.tif 000003
」のようなアクセント選択肢を伴う文字などのその他の追加文字、又はその他のアクセント選択肢を伴う文字にも対応できるものもある。仮想キーボードの（サイズなどの）物理的限界に起因して、ユーザは、仮想キーボード上で直ぐに利用できない文字をタイプすることが難しいと気付く場合がある。
【課題を解決するための手段】
【０００７】
開示する実施構成は、多言語環境において動作する仮想キーボードを通じてユーザが選択した文字に関するアクセント記号付きの又は関連する文字の表示を含む。１つの態様では、ユーザがキーをクリックして押し続けた時に、ポップアップが、そのキーに関連する（アクセント記号付きなどの）別の文字を表示する。別の態様では、アクセント記号付き文字の順序が、ユーザがタイプしている現在の言語におけるアクセント記号付き文字の出現頻度に基づくことができる。別の態様では、文字がディスプレイの端部に存在する場合、ポップアップが異なる場所に視覚的に表示され、表示内のアクセントの順序が、より頻繁に出現するアクセントにより素早くアクセスできるように設定される。別の態様では、（フランス語などに有用な）アクセント記号付きの同等語の修正及び（ドイツ語などに有用な）複合語の修正に、自動修正が使用される。別の態様では、異なる言語に対して視覚的に異なるキーボードレイアウトが提供される。
【０００８】
システム、方法、装置、コンピュータ可読媒体、及びユーザインターフェイスを対象とする実施構成を含む他の実施構成を開示する。
【図面の簡単な説明】
【０００９】
【図１】仮想キーボードを有する携帯機器例を示す図である。
【図２】アクセント選択肢を表示する仮想キーボードの例を示す図である。
【図３Ａ】アクセント選択肢を表示する仮想キーボードの例を示す図である。
【図３Ｂ】アクセント選択肢を表示する仮想キーボードの例を示す図である。
【図４】携帯機器におけるテキスト入力に修正案を提供する例を示す図である。
【図５】携帯機器におけるテキスト入力に修正案を提供する例を示す図である。
【図６】携帯機器におけるテキスト入力に修正案を提供する例を示す図である。
【図７Ａ】仮想キーボードレイアウトの例を示す図である。
【図７Ｂ】仮想キーボードレイアウトの例を示す図である。
【図７Ｃ】仮想キーボードレイアウトの例を示す図である。
【図７Ｄ】仮想キーボードレイアウトの例を示す図である。
【図７Ｅ】仮想キーボードレイアウトの例を示す図である。
【図８】仮想キーボード上のタイピングに１又はそれ以上の文字を提供するための方法例を示すフロー図である。
【図９】テキスト入力を修正するための方法例を示すフロー図である。
【図１０】フランス語入力においてリエゾンを判定するための方法例を示すフロー図である。
【図１１】ドイツ語入力において複合語を修正するための方法例を示すフロー図である。
【図１２】図１〜図１１を参照しながら説明する操作を実行するためのシステムアーキテクチャ例を示すブロック図である。
【発明を実施するための形態】
【００１０】
図１は、仮想キーボード１０２を備えた携帯機器例１００を示す図である。例えば、携帯機器１００は、携帯電話、携帯情報端末（ＰＤＡ）、又は（携帯型ＭＰＥＧ−１オーディオ層３（ＭＰ３）プレーヤ、携帯型ＤＶＤプレーヤなどの）携帯型メディア機器であってもよい。携帯機器１００のいくつかの例は、カリフォルニア州クパチーノのＡｐｐｌｅ社のｉＰｈｏｎｅ（商標）又はｉＰｏｄ（商標）であってもよい。１つの実施構成では、携帯機器１００が、仮想キーボード１０２を表示するタッチスクリーンディスプレイを含む。
【００１１】
仮想キーボード１０２は、ボタン又はキー１０４を含む。例えば、キー１０４の各々は文字に対応する。１つの例では、ユーザが、文字に対応するキーの表示域にタッチすることにより文字を選択することができる。図示の例では、仮想キーボード１０２は、英語のキーボードレイアウトでキーを表示する。いくつかの実施構成では、仮想キーボード１０２は、他のキーボードレイアウトを使用してキー１０４を表示することができる。例えば、仮想キーボード１０２は、ユーザの要求を受け取った際に、現在表示されているキーボードレイアウトを別のキーボードレイアウトと「スワップ」（例えば、交換）するように構成される。仮想キーボードレイアウトのいくつかの例については、図７Ａ〜図７Ｅを参照しながら説明する。
【００１２】
携帯機器１００により様々なソフトウェアアプリケーションを実行することができる。図示の例では、携帯機器１００がインスタントメッセージング（ＩＭ）アプリケーションを実行している。例えば、ユーザは、ＩＭアプリケーションを使用して、インターネットなどのネットワークを介して１又はそれ以上のユーザと通信することができる。仮想キーボード１０２とともに他のソフトウェアアプリケーションを使用することもできる。例えば、仮想キーボード１０２を、ｅメールアプリケーション、テキスト編集アプリケーション、又はユーザがテキストを入力できるようにするその他のアプリケーションとともに使用することができる。
【００１３】
ユーザは、仮想キーボード１０２を使用してＩＭアプリケーションにテキストを入力する。図示のように、ＩＭアプリケーションは、ユーザが入力したテキストを表示するための入力ボックス１０６を含む。例えば、ユーザは、仮想キーボード１０２から文字を選択することによりテキストを入力してメッセージを作成することができる。メッセージを入力した後に、ユーザは発信ボタン１０８を選択して遠隔地のユーザへメッセージを送信することができる。
【００１４】
仮想キーボード１０２は、キーボード機能を提供するためのアクションボタン１１０を含む。例えば、ユーザは、アクションボタン１１０を使用して、（ピリオド（「．」）又はカンマ（「，」）などの）句読文字及び（「１」、「２」、及び「３」などの）数字のような、キー１０４が表示していない文字を入力することができる。
【００１５】
いくつかの実施構成では、アクションボタン１１０を使用して仮想キーボード１０２を設定することができる。１つの例では、アクションボタン１１０を使用して仮想キーボード１０２のキーボードレイアウトを設定することができる。例えば、ユーザは、アクションボタン１１０を使用して、仮想キーボード１０２を英語のキーボードレイアウト表示からフランス語のキーボードレイアウト表示に変更することができる。１つの例では、アクションボタン１１０を使用して仮想キーボード１０２の入力言語を設定することができる。例えば、ユーザは、アクションボタン１１０を使用して仮想キーボード１０２の（英語、フランス語、ドイツ語などの）言語を選択することができる。
【００１６】
ユーザが選択した入力言語に基づいて、携帯機器１００は、ユーザのタイピングを支援する様々な機能を実行することができる。いくつかの実施構成では、携帯機器１００が、入力されたテキストに対する入力修正を行うことができる。例えば、仮想キーボード１０２は、ユーザのタイピング場所及びユーザが選択した言語に基づいて、ユーザ入力の１又はそれ以上の修正選択肢を自動的に決定することができる。例えば、ユーザが「ｄａｔ」と入力し、ユーザが選択した言語が英語であるとする。ユーザが選択した言語に基づいて、携帯機器１００は、ユーザ入力が正しいかどうかを検証することができる。１つの例では、「ｄａｔ」は英語の単語ではないので、携帯機器は、ユーザ入力が正しくないと検証することができる。いくつかの例では、次に携帯機器１００は、ユーザのタイピング場所を検出することにより修正済みのユーザ入力を提供することができる。例えば、ユーザがキー「Ｄ」の右端近くで文字「ｄ」を選択したとする。このタイピングの位置に基づいて、携帯機器１００は、「ｆａｔ」という修正を選択して提供することができる。いくつかの例では、携帯機器１００は、文字「Ｆ」の方がユーザのタイピングの場所に近いという理由で「ｅａｔ」ではなく「ｆａｔ」を選択して提供する。
【００１７】
ユーザが選択した他の言語では、携帯機器１００が、ユーザ入力を修正するための他の言語特有の多様性を含むことができる。１つの例では、携帯機器１００が、ユーザが選択した言語で利用可能なアクセント選択肢を使用してユーザ入力を修正することができる。１つの例では、携帯機器１００が、特別な形の言語を使用してユーザ入力の修正を決定することができる。例えば、ユーザが選択した言語がフランス語の場合、携帯機器１００は、ユーザ入力のリエゾンの変形が修正となり得るかどうかを判定することができる。例えば、ユーザが選択した言語がドイツ語の場合、携帯機器１００は、入力された単語が複合語であるかどうかを判定することができ、複合語を構文解析して構成単語に変えることによりユーザ入力を修正することができる。ユーザが選択した言語を使用してユーザ入力を修正する様々な例については、図４〜図６を参照しながら説明する。
【００１８】
いくつかの実施構成では、仮想キーボード１０２を、選択した文字のアクセント選択肢を表示するように構成することができる。（フランス語、ドイツ語、イタリア語などの）様々な言語は、単語内の文字のアクセントを示す発音区別符付きの文字を含む。ユーザが（例えばアクションボタン１１０を使用して言語を設定することにより）これらの言語を選択して入力を行う場合、仮想キーボード１０２は、ユーザの要求の検出時にアクセント選択肢を表示することができる。図２〜図３は、アクセント選択肢を表示する仮想キーボード２００、３００の例を示す図である。例えば、図１の携帯機器１００内に仮想キーボード２００、３００を実装することができる。
【００１９】
図２に示すように、仮想キーボード２００は、文字「Ｅ」に関するアクセント選択肢２０２をポップアップウィンドウ２０４内に表示する。例えば、ユーザは、（表示されたアクセント選択肢２０２の１つにタッチすることなどにより）入力ボックス１０６に入力すべきアクセント選択肢２０２のうちの１つを選択することができる。
【００２０】
いくつかの実施構成では、１又はそれ以上の指又はスタイラスを使用するユーザの１又はそれ以上のタッチ又はジェスチャを検出することによりポップアップウィンドウ２０４が作動する。１つの実施構成では、例えば、ユーザが文字「Ｅ」を（２秒などの）所定の時間よりも長く押し続けたことを携帯機器１００が検出した場合にポップアップウィンドウ２０４を作動させることができる。他のユーザ入力、タッチ、又はジェスチャを使用してポップアップウィンドウ２０４を作動させることもできる。１つの実施構成では、ユーザが、文字「Ｅ」のキーとアクションボタン１１０とを同時に押し続けた場合にポップアップウィンドウ２０４を作動させることができる。いくつかの実施構成では、ユーザが選択した言語で利用可能なアクセント選択肢を伴う文字をユーザが選択した場合にポップアップウィンドウ２０４が作動されるように仮想キーボード２００を設定することができる。
【００２１】
いくつかの実施構成では、ユーザが選択した言語に基づいて、異なるアクセント選択肢２０２のセットが選択され表示されるようにすることができる。１つの例では、ドイツ語の文字は、アクセント選択肢としてウムラウトのみを使用し、ウムラウトのアクセントは、ドイツ語の「ａ」、「ｏ」、及び「ｕ」の文字にのみ利用可能である。例えば、ユーザがドイツ語を選択して入力した場合、表示ウィンドウ２０４は、ユーザが「ａ」、「ｏ」、又は「ｕ」の文字を選択した場合にウムラウトのアクセント選択肢を含むポップアップウィンドウ２０４を作動させることができる。
【００２２】
いくつかの実施構成では、より頻繁に使用されるアクセント選択肢を、ポップアップウィンドウ２０４内のよりアクセスしやすい表示域に表示するための順序でアクセント選択肢２０２が表示される。１つの例では、仮想キーボード２００は、アクセント選択肢２０２を表示する順序を、ユーザが選択した言語の辞書に基づいて動的に決定することができる。例えば、ポップアップウィンドウ２０４は、アクセント選択肢２０２を出現頻度に基づいて降順（又は昇順）で表示することができる。
【００２３】
１つの実施構成では、アクセント選択肢２０２の順序は辞書に基づく統計推定に基づくものであってもよい。例えば、携帯機器１００は、（大きな文書サンプルなどの）データサンプルに基づいてアクセント選択肢２０２の各々の出現数をカウントすることができる。このカウントに基づいて、携帯機器１００は、アクセント選択肢２０２の出現頻度を決定することができる。例えば、カウントが１０回のアクセント選択肢は、カウントが５回のアクセント選択肢よりも頻度が高いと判定することができる。いくつかの実施構成では、機器１００の製造時にアクセント選択肢の各々のカウントを携帯機器１００に記憶することができる。いくつかの実施構成では、機器１００に対して外部サーバからカウントを更新することができる。
【００２４】
１つの実施構成では、過去のユーザ入力に基づいてアクセント選択肢２０２の順序を決定することができる。例えば、携帯機器１００は、過去のユーザ入力に基づいて次のユーザ入力の確率分布を求めることができる。
【００２５】
別の実施構成では、携帯機器１００は、ユーザが選択した言語の辞書を使用して確率分布を生成することができる。例えば、携帯機器１００は、ユーザが選択した言語の辞書に基づく確率モデルを含むことができる。例えば、確率モデルは、ユーザが選択した言語における文字のユニグラムモデルであってもよい。この言語モデル及び過去のユーザ入力に基づいて、アクセント選択肢２０２の選択確率を求めることができる。この選択確率を使用して、仮想キーボード２００のアプリケーションは、アクセント選択肢２０２の出現頻度を判定することができる。例えば、選択確率の高いアクセント選択肢は選択確率の低いアクセント選択肢よりも高い頻度を有すると判定することができる。
【００２６】
様々な配列スキームを使用して、出現頻度に基づいてアクセント選択肢を順序付けることができる。いくつかの例では、出現頻度が最も高いアクセント選択肢を、ポップアップウィンドウ２０４の最も左の位置に表示することができる。その他の配列を使用することもできる。いくつかの例では、仮想キーボード２００が、最も高い出現頻度のアクセント選択肢を選択するためにユーザのタイピングする手の動きの量が最も少ない場所を求めることにより、最も高い確率のアクセント選択肢の位置を決定することができる。従って、最も高い頻度で出現するアクセント選択肢が（タッチ作動などの）ユーザ入力の最も近くに表示されるようにアクセント選択肢を表示することができる。
【００２７】
いくつかの実施構成では、ユーザがアクションボタン１１０を使用してアクセント選択肢２０２の表示順を構成することができる。例えば、ユーザは、アクションボタン１１０を押し続けて（例えばクリックして動かす動作により）アクセント選択肢を望ましい位置に移動させることにより、ポップアップウィンドウ２０４を作動させた後にアクセント選択肢２０２の順序を再構成することができる。
【００２８】
図３Ａに示すように、仮想キーボード３００は、文字「Ｏ」に関するアクセント選択肢３０２をポップアップウィンドウ３０４内に表示する。例えば、ユーザは、文字「Ｏ」を所定の時間よりも長く押し続けることによりポップアップウィンドウ３０４を作動させてアクセント選択肢３０２を表示させることができる。
【００２９】
いくつかの実施構成では、ポップアップウィンドウ３０４の位置及びアクセント選択肢３０２の順序が、選択した文字に対応するキーの位置に基づいて決定される。例えば、キーが表示域の端部３０６の近くにある場合、ポップアップウィンドウ３０４を異なる場所に表示して端部３０６を避けることができる。例えば、文字「Ｏ」は端部３０６の近くに位置しており、ポップアップウィンドウ３０４は、図２に示すポップアップウィンドウ２０４の表示場所とは異なる場所に表示される。
【００３０】
いくつかの実施構成では、携帯機器１００を、アクセント選択肢３０２の表示場所を動的に決定するように構成することができる。１つの例では、携帯機器１００が、選択されたキーの位置に基づいて表示場所を決定することができる。例えば、携帯機器は、（例えば、選択された文字「Ｏ」の中心上にアクセント選択肢３０２の中心を定めて）図３Ａにおける選択された文字「Ｏ」の上などに近い場所にアクセント選択肢３０２を表示することができる。同様に、文字「Ｕ」のアクセント選択肢の中心を文字「Ｕ」の上に定めることができるなどである。
【００３１】
別の実施構成では、図３Ｂに示すように、携帯機器が、タッチ作動場所の位置に基づいて表示場所を決定することができる。図３は、タッチの場所３０８、及びタッチの場所３０８の投射線３１０を示している。例えば、ユーザは、タッチの場所３０８で指を押し続けることによりポップアップウィンドウ３０４を作動させることができる。１つの例では、携帯機器１００が、タッチの場所３０８上の投射線３１０沿いの近い場所を決定する。例えば、携帯機器１００は、アクセント選択肢３０２及びポップアップウィンドウをタッチ作動に対して中心に、例えば投射線３１０に表示することができる。
【００３２】
１つの実施構成では、キーの場所に基づいて、アクセント選択肢３０２の順序を様々な向きに表示することもできる。例えば、図２のアクセント選択肢２０２を右から左へ降順で表示して、最も高い頻度で出現するアクセントをディスプレイの中央近くに配置することができる。これとは逆に、図３Ａ及び図３Ｂに示す例では、アクセント選択肢３０２を右から左へ昇順で表示して、最も高い頻度で出現するアクセントをディスプレイの中央近くに配置する。
【００３３】
いくつかの実施構成では、ユーザがアクションボタン１１０を使用してポップアップウィンドウ３０４の位置を設定することができる。例えば、ユーザは、アクションボタン１１０を押し続け、ポップアップウィンドウ３０４をユーザが望む位置に移動させることにより、ポップアップウィンドウ３０４の位置を固定することができる。いくつかの実施構成では、ユーザがアクションボタンを使用して、アクセント選択肢が常に（例えばユーザが選択した）一定の順序で表示されるようにアクセント選択肢３０２の動的順序付けを無効にすることもできる。
【００３４】
図４〜図６は、（図１の携帯機器１００などの）携帯機器においてユーザ入力の修正を提供する例を示している。例えば、ユーザが選択した言語に基づいて入力修正を決定することができる。図４に示すように、携帯機器４００は、ＩＭアプリケーションにおけるユーザのテキスト入力を表示するための入力ボックス４０２を含む。図示の例では、入力ボックス４０２が「ｅｔｅ」という単語４０４を含む。
【００３５】
携帯機器４００は、単語４０４のアクセントの変形に基づいて単語４０４を修正することができる。説明例として、ユーザが選択した言語がフランス語であるとする。単語４０４がフランス語の正しい単語ではないと判定した後、携帯機器４００は、単語４０４に含まれる文字のフランス語のアクセントの変化形に基づいて単語４０４の修正選択肢を生成する。図示のように、携帯機器４００は、「
2010538391.tif 000004
」（フランス語で夏時間を意味する）という修正選択肢をポップアップウィンドウ４０６内に提供する。例えば、ユーザは、ポップアップウィンドウ４０６内の修正選択肢を選択して単語４０４を置き換えることができる。
【００３６】
いくつかの実施構成では、ユーザが選択した言語及び（ユーザが選択した言語のユーザ辞書又はユーザのタイピングデータの履歴などの）統計に基づいて修正選択肢を決定することができる。例えば、ポップアップウィンドウ４０６は、この決定による最も可能性の高い修正選択肢を含むことができる。他の例では、２以上の修正選択肢を表示することができ、この修正選択肢を降順で又は確率によって表示することができる。仮想キーボードのための修正選択肢を決定する方法の例が、「タッチスクリーン仮想キーボードの仮想キーの作動」に割り当てられた米国特許出願第１１／２２８，７３７号に記載されており、該特許出願はその全体が引用により本明細書に組み入れられる。
【００３７】
いくつかの実施構成では、ユーザ入力がフランス語の場合、携帯機器が、ユーザ入力のリエゾンの変形を認識することによりユーザが入力した単語を修正することができる。図５に示すように、携帯機器５００は入力ボックス５０２を含む。入力ボックス５０２は「ｄａｒｇｅｎｔ」という入力単語５０４を含む。この例では、ユーザが選択した言語はフランス語である。単語５０４が正しいフランス語の単語ではないと判定した後、携帯機器５００は、単語５０４の修正選択肢を決定することができる。いくつかの実施構成では、携帯機器５００が、単語５０４のリエゾンの変形が正しいフランス語の単語であるかどうかを判定することができる。この場合、単語５０４のリエゾンの変形は「ｄ’ａｒｇｅｎｔ」であり、これが正しいフランス語の単語である。従って携帯機器５００は、ポップアップウィンドウ５０６内にリエゾンの変形「ｄ’ａｒｇｅｎｔ」を表示することができ、ユーザは、ポップアップウィンドウ５０６内の単語を選択して単語５０４を置き換えることができる。フランス語入力のリエゾンの変形を決定するための方法例については、図１０を参照しながら説明する。
【００３８】
１つの実施構成では、ユーザが、指又はスタイラスの位置を大きく変えずに、推奨される置き換えを都合良く選択できるように、例えばユーザが直前に作動／入力した「ｔ」などの文字の近くにポップアップウィンドウ５０６を表示し、或いはタッチセンサ式ディスプレイ上のタッチ作動の場所の上にポップアップウィンドウ５０６の中心を定めることができる。その他の表示位置調整技術を使用することもできる。例えば、破線のポップアップ５０５で示すように、ポップアップを単語の近くに表示することができる。
【００３９】
いくつかの実施構成では、携帯機器５００が、リエゾンの変形、例えば「ｄ’ａｒｇｅｎｔ」をフランス語辞書に追加することができる。例えば、携帯機器５００は、言語の各々の動的辞書を含むことができる。１つの実施構成では、携帯機器５００は、リエゾンが頻繁に使用される単語であると判定した場合、ユーザ入力によるリエゾンの変形を追加することができる。例えば、携帯機器５００は、ある単語がユーザにより（５回などの）所定の回数よりも多く入力された場合に、この単語が頻繁に使用されると判定することができる。ある単語が頻繁に使用される単語であるかどうかを判定するための他のスキームを使用することもできる。例えば、携帯機器５００は、頻繁に使用される単語を頻度閾値に基づいて判定することができる。１つの実施構成では、携帯機器５００が、修正としてのリエゾンの変形のユーザの容認を比較し、容認率を更新し、この容認率を（５０％閾値などの）頻度閾値と比較する。例えば、容認率が５０％よりも高い場合、携帯機器は、この単語を頻繁に使用される単語であると判定し、辞書に追加する。
【００４０】
リエゾンの変形を辞書に追加した後、例えば、このリエゾンの変形を他のユーザ入力での入力修正方法に利用できるようにすることができる。例えば、単語「ｄ’ａｒｇｅｎｔ」を辞書に追加した後、携帯機器５００は、「ｄ’ａｒｇｅｎｔ」をユーザ入力「ｃａｒｇｅｎｔ」の修正選択肢として使用することができる。
【００４１】
いくつかの実施構成では、ユーザ入力が複合語であると判定することによりユーザ入力を修正することができる。ドイツ語などのいくつかの言語では、個々の構成単語を分離する区切り文字を全く使用せずに複合語を１つの単語として表すことができる。いくつかの例では、複合語の構成単語が識別された場合、携帯機器がより正確な修正選択肢を提供することができる。説明例として、図６では、携帯機器６００が入力ボックス６０２を含む。図示の例では、入力ボックス６０２が「ｂｕｃｈｓｒｉｔｅ」という入力単語６０４を含む。携帯機器６００は、携帯機器６００がアクセス可能なドイツ語辞書内に単語６０４が見つからないという理由で、単語６０４が正しいドイツ語の単語ではないと判定することができる。より強固なエラー修正処理を促進するために、携帯機器６００を複合語内の構成単語を識別するように構成することができる。図６に示す例では、携帯機器６００は、単語６０４に基づいて「Ｂｕｃｈ」及び「Ｓｅｉｔｅ」という２つの構成単語を識別することができる。例えば、携帯機器６００は、単語６０４を構文解析して「Ｂｕｃｈ」という単語を識別する。単語６０４内の「Ｂｕｃｈ」という単語を識別した後、例えば、携帯機器６００は、残りの「Ｓｒｉｔｅ」という単語が入力エラーであり、「Ｓｅｉｔｅ」という単語に正しく修正できると判定する。この結果、携帯機器６００は、「Ｂｕｃｈｓｅｉｔｅ」という修正選択肢をポップアップウィンドウ６０６内に表示する。例えば、ユーザは、ポップアップウィンドウ６０６内の修正選択肢を選択して単語６０４を置き換えることができる。複合語を修正する方法例については、図１１を参照しながら説明する。
【００４２】
図５を参照しながら説明したような、辞書内にリエゾンの変形を追加するのと同様に、携帯機器６００は、「Ｂｕｃｈｓｅｉｔｅ」という複合語が頻繁に使用される単語であると判定した場合、この複合語を辞書内に追加することができる。例えば、ある複合語が辞書に追加されると、この複合語をさらなるユーザ入力の修正選択肢として使用することができる。
【００４３】
図７Ａ〜図７Ｅは、仮想キーボード１０２（図１）の仮想キーボードレイアウト７１０、７２０、７３０、７４０、７５０の例を示している。いくつかの例では、携帯機器１００が、ユーザ選択に基づいて仮想キーボードレイアウト７１０、７２０、７３０、７４０、７５０を表示することができる。例えば、ユーザは、アクションボタン１１０を使用して仮想キーボードレイアウト７１０、７２０、７３０、７４０、７５０の１つを選択して表示することができる。図示のように、キーボードレイアウト７１０は英語のキーボードレイアウトであり、キーボードレイアウト７２０はフランス語のキーボードレイアウトであり、キーボードレイアウト７３０はドイツ語のキーボードレイアウトであり、キーボードレイアウト７４０はイタリア語のキーボードレイアウトである。
【００４４】
ある実施構成では、ユーザが、複数の言語を入力するためにキーボードレイアウトをカスタマイズすることができる。例えば、図７Ｅのキーボードレイアウト７５０は英語のキーボードレイアウトである。この一方で、ユーザは、レイアウト７５０をアクセント選択肢７５２を表示するように設定することができる。いくつかの例では、ユーザが英語のキーボードレイアウト７５０を使用して、英語及びその他の言語でテキストを入力することができる。１つの例では、ユーザが携帯機器を作動させ、文字「Ａ」を選択して所定の持続時間の間押し続けることなどによりアクセント選択肢７５２を表示させた場合、アクセント選択肢７５２を表示することができる。いくつかの実施構成では、ユーザが、表示されるアクセント選択肢７５２の順序を設定することもできる。例えば、ユーザは、アクセント選択肢のうちの１つを選択し、選択したアクセント選択肢を新しい位置に動かして放すことによりアクセント選択肢７５２の順序を並べ替えることができる。
【００４５】
様々な実施構成において、携帯機器１００は、例えばユーザからのスワイプジェスチャの検出時に、異なる仮想キーボードレイアウト７１０、７２０、７３０、７４０を表示するように変更を行うことができる。１つの実施構成では、（携帯機器１００などの）携帯機器が、ユーザからのスワイプ動作の検出時に、表示しているキーボードレイアウト７１０、７２０、７３０、７４０を変更する。例えば、ユーザが、ディスプレイを仮想キーボード１０２の左から右（又は右から左）へと横切って指をスワイプした場合にスワイプ動作を検出することができる。
【００４６】
いくつかの実施構成では、他のタッチ又はジェスチャを使用して仮想キーボードレイアウト７１０、７２０、７３０、７４０の表示を変更することができる。例えば、ユーザがアクションボタン１１０と仮想キーボード１０２のスペースキーとを同時に選択したことを検出した時などに、キーボードレイアウト７１０、７２０、７３０、７４０をローテーションさせることができる。
【００４７】
いくつかの実施構成では、仮想キーボードレイアウト７１０、７２０、７３０、７４０のローテーションをアニメ表示することができる。例えば、現在のレイアウトをディスプレイからロールアウトさせ、次のレイアウトをディスプレイにロールインさせることにより、仮想キーボードレイアウト７１０、７２０、７３０、７４０を円滑にスワップすることができる。別の例では、（例えばジャンプ動作を使用して）キーを現在のレイアウト内の古い位置から次のレイアウト内の新しい位置へ動かすようにアニメ表示することにより、仮想キーボードレイアウト７１０、７２０、７３０、７４０の２つをスワップすることができる。
【００４８】
いくつかの実施構成では、ユーザが、キーボードレイアウト７１０、７２０、７３０、７４０の表示順を設定することができる。例えば、レイアウト７１０、７２０、７３０、７４０の現在の表示順は、７１０、７２０、７３０、７４０の順序に従うものであってもよい。すなわち、現在のキーボードレイアウトがレイアウト７１０である場合、次の表示されるレイアウトはレイアウト７２０であり、以降同様に続く。携帯機器がキーボードレイアウト７４０を表示している場合、キーボードレイアウトの表示は「一周ループする」ことができ、次の表示されるキーボードレイアウトはレイアウト７１０となる。
【００４９】
いくつかの実施構成では、携帯機器が、ユーザタッチ又はジェスチャを検出することにより、キーボードレイアウト７１０、７２０、７３０、７４０の表示順を並べ替えることができる。例えば、ユーザは、スワイプ及びホールドジェスチャを使用して表示順を設定することができる。１つの例では、ユーザは、まずキーボードレイアウト７２０を選択し、ディスプレイを横切ってスワイプすることができる。次にユーザは、キーボードレイアウト７３０が出現した後にこれを解除することなく、例えばディスプレイの端部で押し続けることができる。このようなユーザのジェスチャを検出すると、携帯機器は、例えばキーボードレイアウト７４０を表示することができる。この時、キーボードレイアウト７４０が出現した後に、選択したキーボード７２０をユーザが解除すると、携帯機器１００は、レイアウト７２０をレイアウト７３０とレイアウト７４０との間に配置することにより表示順を設定することができる。
【００５０】
図８は、仮想キーボード上でのタイピングのための１又はそれ以上のアクセント選択肢を提供するための方法例８００を示すフロー図である。例えば、（携帯機器１００などの）携帯機器は、方法８００を使用して、ユーザが発音区別符付きの文字をタイピングするために（アクセント選択肢２０２などの）１又はそれ以上のアクセント選択肢を表示することができる。或いは、この方法を使用して、必要に応じて他の文字変化、関連する文字、又は記号を表示することができる。方法８００は、文字のアクセント選択肢に対する要求を受け取るステップから開始する（８０２）。例えば、携帯機器１００は、ある文字が選択されて所定の時間長の間押し続けられた場合、要求を受け取ったと判定する。
【００５１】
次に、方法８００は、キー及びディスプレイの縁に関連して、アクセント選択肢を表示するための表示場所を決定する（８０４）。いくつかの実施構成では、携帯機器１００は、ポップアップウィンドウ２０４又は３０４を表示すべき場所を、選択されたキー及びディスプレイの端部からの相対距離に基づいて決定する。１つの例では、選択された文字キーが端部に近い場合、携帯機器１００は、ディスプレイの端部を避けるように表示場所を決定することができる。いくつかの実施構成では、携帯機器１００は、タッチ作動場所に基づいて表示場所を決定することができる。例えば、携帯機器は、ポップアップウィンドウ３０４を作動させるためのタッチの場所３０８に基づいてアクセント選択肢３０２の中心を定めることができる。
【００５２】
方法８００は、アクセント選択肢の表示順を決定する（８０６）。例えば、携帯機器１００は、アクセント選択肢の出現頻度に基づいてアクセント選択肢の表示順を決定することができる。１つの実施構成では、携帯機器１００は、より頻繁に出現するアクセント選択肢を、ポップアップウィンドウ２０４又は３０４のよりアクセスしやすい範囲に表示することができる。
【００５３】
方法８００は、決定された表示順を使用して、決定された場所にアクセント選択肢を表示する（８０８）。例えば、携帯機器１００は、ポップアップウィンドウ２０４の場所及びアクセント選択肢２０２の順序を決定した後にアクセント選択肢２０２を表示することができる。
【００５４】
方法８００は、表示したアクセント選択肢の１つを指定するユーザ入力を受け取る（８１０）。例えば、携帯機器１００は、ユーザが、アクセント選択肢２０２の１つをクリックした後に、ポップアップウィンドウ２０４からユーザ入力を受け取ることができる。
【００５５】
次に、方法８００は、選択された文字を指定されたアクセント選択肢と置き換える（８１２）。例えば、携帯機器１００は、選択されたアクセント選択肢を入力ボックス１０６への入力として使用することができる。
【００５６】
図９は、テキスト入力を修正するための方法例９００を示すフロー図である。例えば、方法９００は、（携帯機器４００などの）携帯機器により実施することができる。方法９００は、テキスト入力エラーを検出するステップから開始する（９０２）。例えば、携帯機器１００は、１又はそれ以上の辞書を使用して入力ボックス１０６内のテキスト入力を検証することができる。例えば、携帯機器１００は、ユーザが選択した言語の辞書にテキスト入力が含まれていない場合、このテキスト入力がエラーであると判定することができる。
【００５７】
方法９００は、選択された言語及び統計に基づいて１又はそれ以上の修正選択肢を決定することができる（９０４）。いくつかの例では、携帯機器１００が、例えば、ユーザが選択した言語の辞書に記憶された単語に基づいて１又はそれ以上の修正選択肢を決定することができる。１つの例では、携帯機器１００は、入力文字の言語特有のアクセント選択肢を使用して修正選択肢を選択することができる。例えば、携帯機器４００は、テキスト入力「ｅｔｅ」に対して「
2010538391.tif 000005
」という修正選択肢を提供する。いくつかの例では、修正選択肢が統計に基づいて決定される。例えば、携帯機器４００は、ユーザが選択した言語の辞書に基づいて作成されたユニグラムモデルを使用して修正選択肢を決定することができる。いくつかの例では、ユーザが選択した言語の１又はそれ以上の特徴に基づいて修正選択肢が決定される。例えば、ユーザが選択した言語がフランス語である場合、携帯機器１００は、ユーザ入力のリエゾンの変形を修正選択肢と見なすことができる。別の例では、ユーザが選択した言語がドイツ語である場合、携帯機器１００は、ユーザ入力を複合語と見なして修正選択肢を決定することができる。
【００５８】
次に方法９００は、ユーザに対してテキスト入力エラーの場所の近くに修正選択肢を表示する（９０６）。例えば、正しくないテキスト入力の近くに表示されるポップアップウィンドウ内に修正選択肢を表示することができる。例えば、携帯機器はまた、ディスプレイの端部を避けるようにポップアップウィンドウを表示することもでき、又はユーザが入力した最後の文字の近くにポップアップウィンドウを表示することもでき、或いはタッチセンサ式ディスプレイ上のタッチ作動の場所に関連して中心を定めたポップアップウィンドウを表示することもできる。
【００５９】
修正選択肢の表示後、方法９００は、選択肢の１つを指定するユーザ入力を受け取る（９０８）。例えば、図４に示す例では、ユーザは、ポップアップウィンドウ４０６内に表示された「
2010538391.tif 000006
」という修正選択肢をタッチして選択することができる。
【００６０】
方法９００は、テキスト入力を指定された修正選択肢と置き換える（９１０）。例えば、携帯機器４００は、入力ボックス４０２内のテキスト入力を修正選択肢と置き換えることができる。いくつかの例では、ユーザは、ポップアップウィンドウ内に表示された修正選択肢のいずれも選択する必要がない。例えば、ユーザは、ポップアップウィンドウを無視してタイピングを継続することができ、又はポップアップウィンドウの閉じボタンを選択することによりポップアップウィンドウを閉じることができる。ユーザが、修正選択肢のいずれも選択しなかった場合、携帯機器４００は、テキスト入力を変更しないままにしておくことができる。いくつかの実施構成では、テキスト入力を有効な入力と見なすことができるように、ユーザがこのテキスト入力を辞書内に追加することができる。
【００６１】
図１０は、フランス語入力においてリエゾンを決定するための方法例１０００を示すフロー図である。例えば、方法１０００は、（携帯機器５００などの）携帯機器により実施することができる。方法１０００は、単語がフランス語であるかどうかを判定するステップから開始する（１００２）。例えば、携帯機器５００は、ユーザが選択した言語をチェックすることにより単語がフランス語であるかどうかを判定することができる。ユーザが選択した言語がフランス語である場合、携帯機器５００は、単語がフランス語であると判定する。
【００６２】
次に方法１０００は、単語がリエゾン文字で始まるかどうかを判定する（１００４）。例えば、携帯機器５００は、「ｄａｒｇｅｎｔ」という単語５０４が、「Ｄ」又は「Ｌ」などのリエゾン文字で始まるかどうかを判定することができる。
【００６３】
いくつかの例では、単語がリエゾン文字で始まる場合、方法１０００が単語の２番目の文字が母音であるかどうかを判定する（１００６）。例えば、携帯機器５００は、「ｄａｒｇｅｎｔ」という単語内の２番目の文字「ａ」が母音であるかどうかを判定する。その他の例では、方法１０００は、単語の２番目の文字が母音であるかどうかを判定せず、例えば単語内の３番目又は５番目の文字をチェックする。フランス語では、（例えば「ｑｕ’  ｅｌｌｅ」のように）「ｑｕ」をリエゾン接頭辞として使用することができ、この結果、方法１０００は、単語の３番目の文字が母音又は例えば「ｙ」であるかどうかを判定する。（イタリア語などの）他の言語は、（例えば、イタリア語の「ｎｅｌｌ’  ａｒｃｈｉｐｅｌａｇｏ」という単語などで）「ｎｅｌｌ」のようなより長い接頭辞を使用するが、この場合方法１０００は、単語の５番目の文字が母音であるかどうかを判定する。このようにして、対象言語にふさわしいリエゾン接頭辞の組を前提として、リエゾン候補内の適当な文字が方法１０００によりチェックされる。追加要素として、単語候補の発音の一部の特定、ユーザが過去にタイピングした単語の参照、又は対象言語のテキストのコーパスにおける単語候補の参照を挙げることができる。
【００６４】
いくつかの例では、２番目の文字が母音である場合、方法１０００は単語が動詞であるかどうかを判定する（１００８）。例えば、ユーザが「私の名前はＫｅｎです」とフランス語でタイピングしたいと望む場合、ユーザは「Ｊｅ  ｍ’  ａｐｐｅｌｌｅ  Ｋｅｎ」とタイピングすることになる。この場合、ユーザが機器５００上で実際には「ｍａｐｐｅｌｌｅ」とタイピングした場合、方法１０００は、「ａｐｐｅｌｌｅ」が動詞であり、「ｍ」が動詞にとっての適切なリエゾン接頭文字であることを認識する。
【００６５】
単語が動詞である場合、方法１０００は単語の先頭の文字を除外し、単語の残りの文字がフランス語の単語を形成するかどうかを判定する（１０１０）。例えば、携帯機器５００は、単語「ｄａｒｇｅｎｔ」から先頭の文字「ｄ」を除外して、単語「ａｒｇｅｎｔ」がフランス語の単語であるかどうかを判定することができる。携帯機器５００は、「ａｒｇｅｎｔ」という単語がフランス語の単語であるかどうかをフランス語辞書を使用して判定することができる。
【００６６】
単語の残りの文字がフランス語の単語を形成する場合、方法１０００は、単語の先頭の文字と２番目の文字との間にアポストロフィ文字を挿入する（１０１２）。例えば、携帯機器５００が、単語「ａｒｇｅｎｔ」が「ｓｉｌｖｅｒ」を意味するフランス語の単語であると判定した場合、携帯機器５００は、「ｄ」と「ａ」との間にアポストロフィを挿入することにより、単語「ｄａｒｇｅｎｔ」を「ｄ’ａｒｇｅｎｔ」に修正する。
【００６７】
図１１は、ドイツ語入力において複合語を修正するための方法例１１００を示すフロー図である。例えば、方法１１００は、（携帯機器６００などの）携帯機器により実施することができる。方法１１００は、単語がドイツ語の複合語であるかどうかを判定するステップから開始する（１１０２）。例えば、携帯機器６００は、ユーザが選択した言語をチェックすることにより、単語「ｂｕｃｈｓｒｉｔｅ」がドイツ語の単語であるかどうかを判定することができる。
【００６８】
単語がドイツ語である場合、方法１１００は、単語を構文解析して１又はそれ以上の構成単語の組み合わせに変える（１１０４）。例えば、携帯機器６００は、「ｂｕｃｈｓｒｉｔｅ」という単語を構文解析してドイツ語辞書にある構成単語に変える。いくつかの例では、構成単語を組み合わせて、元の単語と同等の又はほぼ同等の単語を形成することができる。
【００６９】
次に方法１１００は、構成単語が名詞であるかどうかを判定する（１１０６）。例えば、構成単語が名詞であるかどうかを判定した後に、携帯機器６００は、少なくとも１つの名詞ではない構成単語を含む組み合わせをフィルタにかけることができる。
【００７０】
方法１１００は、構成単語の組み合わせを比較する（１１１０）。例えば、携帯機器６００は、構成単語と入力された単語との間の類似性に基づいて構成単語の組み合わせを比較することができる。
【００７１】
次に方法１１００は、構成単語の組み合わせに基づいて複合語を修正する（１１１２）。例えば、携帯機器６００は、「ｂｕｃｈ」という構成単語と「ｓｅｉｔｅ」という構成単語との組み合わせを使用して複合語「ｂｕｃｈｓｒｉｔｅ」を修正することができる。例えば、携帯機器６００は、「ｂｕｃｈｓｒｉｔｅ」という単語に対して「Ｂｕｃｈｓｅｉｔｅ」という修正選択肢を提供することができる。
【００７２】
いくつかの実施構成では、図１１の方法１１００を、他の言語の他の短縮語を識別するように適応させることができる。いくつかの実施構成では、携帯機器が、単語の先頭の文字と２番目の文字との間以外の位置にある単語の短縮形を検出することができる。１つの実施構成では、携帯機器が、単語の最後の文字と最後から２番目の文字との間の短縮形を検出することができる。例えば、携帯機器は、「ｃａｎ’ｔ」の最後と最後から２番目の文字との間の短縮形を検出することにより、「ｃａｎｔ」という単語を「ｃａｎ’ｔ」という単語に修正することができる。
【００７３】
いくつかの実施構成について説明したが、携帯機器１００の他の実施構成も可能である。いくつかの実施構成では、携帯機器１００が、ユーザが選択した言語を動的に決定するように構成される。例えば、携帯機器１００は、ユーザが選択した言語を現在のユーザ入力に基づいて調整することができる。１つの例では、携帯機器１００は、所定数の単語がドイツ語で入力されたことを検出した後に、ユーザが選択した言語を英語からドイツ語に変更することができる。いくつかの実施構成では、ユーザ入力に基づいてキーボードレイアウトを自動的に決定することもできる。１つの例では、いくつかの連続する入力単語が英語の単語に対応してその他の言語に対応しない場合、英語のキーボードレイアウトを選択することができる。その後、いくつかのユーザ入力単語がドイツ語の単語に対応する場合、ドイツ語のキーボードレイアウトを選択することができる。従って、携帯機器１００は、ユーザが選択した言語をユーザが変更する必要なく動的に調整する入力修正サービスを提供することができる。
【００７４】
図１２は、図１〜図１１を参照しながら説明した様々な操作を行うためのシステムアーキテクチャ例１２００のブロック図である。例えば、アーキテクチャ１２００を、図１及び図４〜図６に関連して説明した携帯機器１００、４００、５００、又は６００に含めることができる。アーキテクチャ１２００は、プロセッサ１２１０と、メモリ１２２０と、記憶装置１２３０と、入力／出力装置１２４０とを含む。構成要素１２１０、１２２０、１２３０、及び１２４０の各々は、システムバス１２５０を使用して相互接続される。プロセッサ１２１０は、アーキテクチャ１２００内で実行するための命令を処理することができる。いくつかの実施構成では、プロセッサ１２１０がシングルスレッドプロセッサである。他の実施構成では、プロセッサ１２１０がマルチスレッドプロセッサである。プロセッサ１２１０は、メモリ１２２０又は記憶装置１２３０に記憶された命令を処理して、ユーザインターフェイス用のグラフィック情報を入力／出力装置１２４０に表示することができる。
【００７５】
メモリ１２２０は、アーキテクチャ１２００内の情報を記憶する。いくつかの実施構成では、メモリ１２２０がコンピュータ可読媒体である。他の実施構成では、メモリ１２２０が揮発性メモリユニットである。さらに他の実施構成では、メモリ１２２０が不揮発性メモリユニットである。
【００７６】
記憶装置１２３０は、アーキテクチャ１２００に大容量記憶装置を提供することができる。いくつかの実施構成では、記憶装置１２３０がコンピュータ可読媒体である。様々な異なる実施構成では、記憶装置１２３０は、フロッピー（登録商標）ディスク装置、ハードディスク装置、光ディスク装置、又はテープ装置であってもよい。
【００７７】
入力／出力装置１２４０は、アーキテクチャ１２００に入力／出力操作を提供する。いくつかの実施構成では、入力／出力装置１２４０がキーボード及び／又はポインティングデバイスを含む。他の実施構成では、入力／出力装置１２４０が、グラフィックユーザインターフェイスを表示するためのディスプレイユニットを含む。
【００７８】
説明した特徴部は、デジタル電子回路の形で、或いはコンピュータハードウェア、ファームウェア、ソフトウェア、又はこれらの組み合わせの形で実装することができる。これらの特徴部は、プログラム可能プロセッサによって実行するために、機械可読記憶装置又は伝播信号などの情報担体の形で明確に具体化されるコンピュータプログラム製品の中に実装することができ、方法ステップは、プログラム可能プロセッサが命令のプログラムを実行して、入力データに作用して出力を生成することにより説明した実施構成の機能を実行することによって実施することができる。説明した特徴部は、データ記憶システム、少なくとも１つの入力装置、及び少なくとも１つの出力装置との間でデータ及び命令を送受信すべく結合された少なくとも１つのプログラム可能プロセッサを含むプログラム可能システム上で実行可能な１又はそれ以上のコンピュータプログラムの形で有利に実装することができる。コンピュータプログラムとは、コンピュータ内で直接的又は間接的に使用して、ある動作を行い又はある結果を引き起こすことができる命令セットのことである。コンピュータプログラムは、コンパイラ型言語又はインタープリタ型言語を含むあらゆる形のプログラミング言語で書くことができ、スタンドアローンプログラムの形、或いはモジュール、構成要素、サブルーチン、又はコンピュータ環境での使用に適したその他のユニットの形を含むあらゆる形で展開することができる。
【００７９】
一例として、命令のプログラムの実行に適したプロセッサは、汎用及び専用の両マイクロプロセッサ、及びいずれかの種類のコンピュータの単独プロセッサ、又は複数のプロセッサのうちの１つを含む。一般に、プロセッサは、読み取り専用メモリ、又はランダムアクセスメモリ、或いはこれらの両方から命令及びデータを受け取る。コンピュータの必須要素は、命令を実行するためのプロセッサ、及び命令及びデータを記憶するための１又はそれ以上のメモリである。一般に、コンピュータは、データファイルを記憶するための１又はそれ以上の大容量記憶装置も含み、或いはこれらと通信を行うべく動作可能に結合されるが、このような装置は、内部ハードディスク及び着脱可能ディスクなどの磁気ディスク、光磁気ディスク、及び光ディスクを含む。一例を挙げると、コンピュータプログラム命令及びデータを明確に具体化するのに適した記憶装置として、ＥＰＲＯＭ、ＥＥＰＲＯＭ、及びフラッシュメモリ装置などの半導体メモリ装置、内部ハードディスク及び着脱可能ディスクなどの磁気ディスク、光磁気ディスク、並びにＣＤ−ＲＯＭ及びＤＶＤ−ＲＯＭディスクを含む全ての形の不揮発性メモリが挙げられる。プロセッサ及びメモリをＡＳＩＣ（特定用途向け集積回路）によって補い、又はこの中に組み込むことができる。
【００８０】
ユーザとのインタラクションを提供するために、これらの特徴部は、ユーザに情報を表示するためのＣＲＴ（ブラウン管）又はＬＣＤ（液晶ディスプレイ）モニタ、並びにユーザがコンピュータに入力を行えるようにするキーボード及びマウス又はトラックボールなどのポインティングデバイスを有するコンピュータ上に実装することができる。
【００８１】
これらの特徴部は、データサーバなどのバックエンド構成要素を含む、或いはアプリケーションサーバ又はインターネットサーバなどのミドルウェア構成要素を含む、或いはグラフィックユーザインターフェイス又はインターネットブラウザ、若しくはこれらのいずれかの組み合わせを有するクライアントコンピュータなどのフロントエンド構成要素を含むコンピュータシステム内に実装することができる。システムの構成要素は、通信ネットワークなどのデジタルデータ通信のいずれかの形又は媒体によって接続することができる。通信ネットワークの例として、ＬＡＮ、ＷＡＮ、無線ネットワーク、並びにインターネットを形成するコンピュータ及びネットワークが挙げられる。
【００８２】
コンピュータシステムは、クライアント及びサーバを含むことができる。クライアント及びサーバは、一般に互いに離れて存在し、通常は図１に関して上述したようなネットワークを介してやりとりする。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行され互いにクライアント対サーバの関係を有するコンピュータプログラムにより生じる。
【００８３】
いくつかの実施構成について説明した。それでもなお、様々な修正を加えることができることを理解できよう。例えば、１又はそれ以上の実施構成の要素を組み合わせて、削除して、修正して、又は補足してさらなる実施構成を形成することができる。図示した論理フローは、望ましい結果を得るために図示の特定の順番、又は順序を必要としない。また、説明したフローに他のステップを設けることができ、或いはこれからステップを削除することができ、及び説明したシステムに他の構成要素を追加し、又はこれから構成要素を除去することができる。従って、その他の実施構成は以下の特許請求の範囲内にある。
【符号の説明】
【００８４】
１１０  アクションボタン
２００  仮想キーボード
２０２  アクセント選択肢
２０４  ポップアップウィンドウ
【図１】
2010538391.tif 000007
【図２】
2010538391.tif 000008
【図３Ａ】
2010538391.tif 000009
【図３Ｂ】
2010538391.tif 000010
【図４】
2010538391.tif 000011
【図５】
2010538391.tif 000012
【図６】
2010538391.tif 000013
【図７Ａ】
2010538391.tif 000014
【図７Ｂ】
2010538391.tif 000015
【図７Ｃ】
2010538391.tif 000016
【図７Ｄ】
2010538391.tif 000017
【図７Ｅ】
2010538391.tif 000018
【図８】
2010538391.tif 000019
【図９】
2010538391.tif 000020
【図１０】
2010538391.tif 000021
【図１１】
2010538391.tif 000022
【図１２】
2010538391.tif 000023
【手続補正書】
【提出日】平成22年9月1日(2010.9.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
タッチセンサ式ディスプレイ上のタッチ作動の場所を検出するステップと、
前記タッチ作動に関連するキー選択を特定するステップと、
前記キー選択に関連する１又はそれ以上の別のキー選択を表示すべきかどうかを判定するステップと、
前記キー選択に関連する１又はそれ以上の別のキー選択を表示すべきであると判定した場合、前記１又はそれ以上の別のキー選択を前記タッチ作動の前記場所の近くに表示するステップと、
を含むことを特徴とする方法。
【請求項２】
前記１又はそれ以上の別のキー選択を前記タッチ作動の前記場所の近くに表示するステップが、前記タッチ作動に関して中心に配置された前記１又はそれ以上の別のキー選択を表示するステップを含む、請求項１に記載の方法。
【請求項３】
前記１又はそれ以上の別のキー選択を前記タッチ作動の前記場所の近くに表示するステップが、前記１又はそれ以上の別のキー選択を、直前に作動したキーの場所に関連して表示するステップを含む、請求項１に記載の方法。
【請求項４】
前記キー選択が文字を定義し、前記１又はそれ以上の別のキー選択が前記文字に関連するアクセント選択肢を含む、請求項１に記載の方法。
【請求項５】
前記１又はそれ以上の文字を、ある言語における前記アクセント選択肢の出現頻度に基づく順序で表示するステップをさらに含む、請求項４に記載の方法。
【請求項６】
前記１又はそれ以上の文字を、最も高い頻度で出現するアクセント選択肢が前記タッチ作動の最も近くに表示されるように前記タッチ作動の前記場所に基づく順序で表示するステップをさらに含む、請求項４に記載の方法。
【請求項７】
テキスト入力を取得するステップと、
テキスト入力エラーを判定するステップと、
前記テキスト入力エラーが、リエゾンの変形、複合語、又はアクセント選択肢に対応するかどうかを判定するステップと、
前記テキスト入力エラーに関する１又はそれ以上の修正選択肢を決定するステップと、  前記テキスト入力エラーに関連する、前記テキスト入力を表示するディスプレイ上の表示場所を決定するステップと、
前記１又はそれ以上の修正選択肢を前記ディスプレイ上の前記表示場所の近くに表示するステップと、
を含むことを特徴とする方法。
【請求項８】
前記テキスト入力エラーに関連する表示場所を決定するステップが、前記テキスト入力エラーに関連するキーの場所を特定するステップを含む、請求項７に記載の方法。
【請求項９】
前記１又はそれ以上の修正選択肢を前記ディスプレイ上の前記表示場所の近くに表示するステップが、前記１又はそれ以上の修正選択肢を、直前に作動したキーの場所に関連して表示するステップを含む、請求項８に記載の方法。
【請求項１０】
前記１又はそれ以上の修正選択肢を前記ディスプレイ上の前記表示場所の近くに表示するステップが、前記修正選択肢を前記キーの前記場所及びディスプレイの縁に関連して表示するステップを含む、請求項９に記載の方法。
【請求項１１】
選択された文字に関するアクセント選択肢を決定するステップと、
前記アクセント選択肢の表示順を決定するステップと、
前記アクセント選択肢を前記表示順に従って表示するステップと、
を含むことを特徴とする方法。
【請求項１２】
前記アクセント選択肢の１つに対するユーザ選択を受け取るステップと、
前記選択された文字を前記選択されたアクセント選択肢と置き換えるステップと、
をさらに含む請求項１１に記載の方法。
【請求項１３】
前記アクセント選択肢の表示順を決定するステップが、ある言語における前記アクセント選択肢の出現頻度に基づいて前記表示順を決定するステップを含む、請求項１１に記載の方法。
【請求項１４】
前記ディスプレイ上のタッチ作動の場所を特定するステップと、
前記アクセント選択肢を、最も高い頻度で出現するアクセント選択肢が前記タッチ作動の前記場所の最も近くに表示されるように前記タッチ作動の前記場所に基づく順序で表示するステップとをさらに含む、請求項１１に記載の方法。
【請求項１５】
第１の言語に設定された第１の仮想キーボードを指定する第１の入力を取得するステップと、
第２の言語に設定された第２の仮想キーボードを指定する第２の入力を取得するステップと、
前記第１の仮想キーボードを表示するステップと前記第２の仮想キーボードを表示するステップとの間で推移を行うステップと、
を含むことを特徴とする方法。
【請求項１６】
タッチの場所を検出するように動作可能なタッチセンサ式ディスプレイと、
前記タッチセンサ式ディスプレイに結合され、前記タッチに関連するキー選択を特定し、該キー選択に関連する１又はそれ以上の別のキー選択を表示すべきかどうかを判定し、該キー選択に関連する１又はそれ以上の別のキー選択を表示すべきであると判定した場合、該１又はそれ以上の別のキー選択を前記タッチセンサ式ディスプレイ上の前記タッチの場所の近くに表示させるように動作可能なプロセッサと、
を備えることを特徴とするシステム。
【請求項１７】
前記１又はそれ以上の別のキー選択を前記タッチ作動の前記場所の近くに表示することが、前記タッチに関して中心に配置された前記別のキー選択の１又はそれ以上を表示すること含む、請求項１６に記載のシステム。
【請求項１８】
前記１又はそれ以上の別のキー選択を前記タッチ作動の前記場所の近くに表示することが、前記１又はそれ以上の別のキー選択を、直前に作動したキーの場所に関連して表示することを含む、請求項１６に記載のシステム。
【請求項１９】
前記キー選択が文字を定義し、前記１又はそれ以上の別のキー選択が前記文字に関連するアクセント選択肢を含む、請求項１６に記載のシステム。
【国際調査報告】
2010538391.tif 000024
2010538391.tif 000025
2010538391.tif 000026
2010538391.tif 000027
2010538391.tif 000028