(57)【特許請求の範囲】
【請求項１】
コンピュータのキー入力手段から入力される文字列を修正する方法であって、
ユーザーが前記キー入力手段によって第１文字列を入力すると、前記第１文字列に該当する単語が前記コンピュータのライブラリに収録されているか否かを判断する段階と、
前記判断の結果、前記第１文字列に該当する単語が前記ライブラリに収録されていない場合、前記第１文字列を修正対象候補として登録する段階と、
前記第１文字列の前記入力の後に、前記キー入力手段によって第２文字列が入力されると、前記修正対象候補として登録されている前記第１文字列と前記第２文字列とを比較し、当該比較の結果、前記第１文字列と前記第２文字列が共通の文字を含み、かつ前記第１文字列と前記第２文字列とで異なる部分が前記キー入力手段上で隣接している２つの文字であるか、または配列順序が互いに異なる２つの部分文字列である場合に、前記第１文字列と前記第２文字列との間に関連性ありと決定する段階と、
前記第２文字列の前記入力の前および／または後に前記ユーザーからの修正命令が検出されることにより、前記修正命令に応じて前記第２文字列との前記関連性ありと決定された前記第１文字列を前記第２文字列に置換する段階と、
を含む各段階を前記コンピュータに実行させて文字列を修正する方法。
【請求項２】
前記コンピュータは、モバイル機器またはパーソナルコンピュータである、請求項１に記載の文字列を修正する方法。
【請求項３】
前記コンピュータは、モバイル機器であり、
前記モバイル機器が揺らされたことを前記修正命令として認識させる、請求項１に記載の文字列を修正する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、誤字修正方法および同方法を実施する装置に関する。本発明に係る方法は、スマートフォンのタッチキーパッド入力および全てのモバイル機器（フィーチャーフォンを含む）のキーパッド入力だけでなく、パーソナルコンピュータのキーボード入力にも適用可能である。
【背景技術】
【０００２】
パーソナルコンピュータまたはモバイルフォンにおいて、文字（英文字、韓国文字、数字、特殊文字などを含む入力可能な全ての文字タイプ）を入力する時の典型的な誤字の修正方法は、バックスペースなどの削除機能キーにより誤字が含まれる単語と現在のカーソルの位置との間のすべての単語を削除して削除したすべての単語をもう一度入力、またはマウス（パーソナルコンピュータの場合）または指タッチ（モバイル機器の場合）でカーソルを誤字が含まれる単語のところへ移動させ誤字が含まれる単語を修正するものである。
【０００３】
しかし、誤字を含む単語と現在のカーソルの位置との間に正しく入力された単語が存在する場合は、バックスペースなどの削除機能キーを入力するという典型的な誤字修正方法では誤字を含む単語だけでなく正しく入力された単語までも削除されてしまう。パーソナルコンピュータにおいてマウスを利用してカーソルを移動させる場合はキーボードからいずれか一方の手をマウスに移し、マウス制御により誤字の位置へと正しくカーソルを移動させ、かつ文字入力を再開するためにマウス制御により以前の位置にカーソルを戻す必要がある。このようなユーザーに手間を要する過程は非常に不便である。モバイル機器において指タッチでカーソルを移動させる場合は、誤字の場所へ一回でカーソルを位置させるためのカーソルの制御の正確性が一般的に十分でなく、やはりユーザーに手間を要することとなり非常に不便である。
【０００４】
自動修正機能は、誤字の修正におけるユーザーの利便性を向上させるために開発された。自動修正機能はすでに商用化されているもので、単語「Ａ」が誤字で「Ｂ」に修正すべきであると装置により判断された場合に、ユーザーにより実際に入力された単語「Ａ」を自動的に単語「Ｂ」に修正するというものである。自動的に再入力される単語「Ｂ」はライブラリにすでに入力されておりユーザーに再入力を要求するものではない。
【０００５】
自動修正機能では再入力される単語がユーザーが修正の意図をもって実際に入力した単語ではなくシステムがユーザーが実際に入力しようとしていると推定した単語であるので、推定の正確性が十分でないときに問題が生じていた。問題となる推定の正確性は、装置のライブラリに登録されている単語の数には限界があるという点に一部起因する。パーソナルコンピュータおよびモバイル機器という入力環境においては、多くのユーザーが、古いライブラリでは対応されていない新たな造語や新たな略語を頻繁に使用している実情がある。このため、ライブラリのアップデートが頻繁になされない場合ライブラリの限界は顕著になってくる。このような理由で多くのユーザーは、自動単語修正機能が装置（パーソナルコンピュータまたはモバイル機器）に搭載されているにも関わらず、自動単語修正機能をＯＦＦにして、文字を入力している。
【０００６】
自動修正機能のさらなる問題点は、自動修正機能が現在入力している単語に対してのみ自動修正が働くということである。このため、現在入力している単語ではなくすでに入力した単語に誤字が発見された場合は、前述の典型的な誤字修正方法と同様に、誤字を含む単語と現在のカーソルの位置の間の単語をバックスペースのような削除機能キーを入力して削除し、またはマウス制御または指タッチによりでカーソルを誤字の箇所へ移動させなければならない。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明が解決しようとする課題は、前述した従来の技術の問題点を解決することである。
【０００８】
具体的には、本発明の課題はバックスペースのような削除キーを入力したり、マウス制御または指タッチでカーソルを移動させるという不便な動作を要求しない誤字修正方法及び同方法を実施する装置を提供することである。
【課題を解決するための手段】
【０００９】
本発明の目的を達成する特有の技術手段について以下説明する。
【００１０】
この発明の技術手段は大きく分けて３つのグループに分ける事ができる。各グループはユーザーの修正意図を自動で判断する方法とユーザーが直接修正命令を供給する方法とに分けられる。
【００１１】
この発明の全ての技術手段において共通する点は誤字をバックスペースなどの削除機能キーを使用して削除するのではなく、誤記の正確な位置に位置させるためにカーソルをユーザーが制御することはないという点である。ユーザー誤字の修正のためにカーソルの処置を動かさないが、カーソルの位置を動かさずに正しい単語または文字を入力する。誤字の修正のためのユーザーの活動は現在のカーソル位置にて行われる。
【００１２】
本発明の明細書においては、「単語」という用語は文字列と定義される。このような「単語」、すなわち文字列はライブラリに存在することが要求される事はなく、各単語は他の単語からスペースによって分離されている。
【００１３】
（第１手段：所定範囲の一つまたは複数のすでに入力された単語と新規に入力された単語との間の比較）
この手段はすでに入力された一つまたは複数の単語に誤字がある場合に適用される。誤字を含む一つまたは複数の単語は、新規に入力された単語に置換される。
【００１４】
まず、ユーザーの修正意図を自動的に判断する方法について説明する。
【００１５】
ユーザーが単語を入力するごとに、入力された単語がライブラリと比較される。ライブラリに収録されていない単語は修正されるべき候補の単語に登録される。新規に入力された単語と修正されるべき候補の単語との間の関連性が計算される。計算された関連性が所定値を超える場合、新規の単語の入力がユーザーの誤字修正の意図によってなされたものと判断する。新規に入力された単語の後に、スペースが入力されれば、修正されるべき候補の単語が新規に入力された単語に置換される。
【００１６】
次に、ユーザーが直接に修正命令を供給する方法について説明する。
【００１７】
ユーザーが単語入力後、修正命令がなされれば、入力された単語が修正目標単語として認識される。次に、修正目標単語と、修正目標単語が入力される前に入力された単語との間の関連性が計算される。計算された関連性が上記の所定値を超える単語が一つ以上存在するとその単語は修正目標単語により置換される。
【００１８】
（第２手段：新規に入力された単語と新規に入力された単語の直前に入力された単語との比較）
この手段はユーザーが意図した単語の入力を完了する前に誤字を認識した場合に適用される。この場合、ユーザーは意図する単語の入力が完了していない段階でスペースを入力し、新規に正しい単語を入力し、新規の正しい単語の直前に入力された誤字を含む単語を新規の正しい単語で置換する。
【００１９】
まず、ユーザーの修正意図を自動的に判断する方法について説明する。
【００２０】
ユーザーが単語を入力するごとに入力された単語がライブラリと比較される。ライブラリに存在しない単語は修正されるべき候補の単語として登録される。新規に入力された単語の最初の文字から始まる部分文字列と、新規に入力された単語の直前に入力された候補の単語との間の関連性が計算される。計算された関連性が所定値を超える場合、新規の単語の入力がユーザーの誤字修正の意図からなされたものと判断される。新規の単語の入力後、スペースの入力が行われれば修正されるべき候補の単語が新規に入力された単語に置換される。
【００２１】
次に、ユーザーが直接に修正命令を供給する方法について説明する。
【００２２】
ユーザーが単語を入力した後、修正命令をすると、入力された単語は修正目標単語として認識される。修正目標単語の最初の文字から始まる部分文字列と、修正目標単語の直前に入力された単語との間の関連性が計算される。計算された関連性が所定値を超える場合、修正目標単語の直前に入力された単語が修正目標単語に置換される。
【００２３】
（第３手段：一単語内の部分文字列間の比較）
本手段はユーザーが意図した単語の入力を完了する前に誤字の入力を認識した場合に適用される。第２手段と異なり、ユーザーはスペースを入力しないで正しい文字を続けて入力し、誤字を含む部分文字列が正しい部分文字列に置換され、単語の入力が完了する。
【００２４】
まず、ユーザーの修正の意図が自動的に判断される方法について説明する。
【００２５】
ユーザーが単語の入力を完了すると、入力された単語がライブラリと比較される。入力された単語がライブラリに存在しない場合、入力された単語内の部分文字列に関連性の高い部分文字列が存在するのか否かを判断する。入力された単語内の部分文字列に関連性の高い文字列が存在すると判断されれば、その中で先に入力された部分文字列を新たに入力された部分文字列へと置換した単語がライブラリに存在するかどうかを判断する。ライブラリに存在すると判断されれば、先に入力された部分文字列が新たに入力された部分文字列に置換される。
【００２６】
次に、ユーザーが直接に修正命令をする方法について説明する。
【００２７】
ユーザーが単語入力後、修正命令をすれば入力された単語内の部分文字列間の関連性が計算される。相互間に関連性の高い部分文字列が存在すると判断されれば、その中で先に入力された部分文字列を新たに入力された部分文字列へと置換した単語がライブラリに存在するかどうかを判断する。ライブラリに存在すると判断されれば、先に入力された部分文字列が新たに入力された部分文字列に置換される。
【発明の効果】
【００２８】
本発明により、バックスペースのような削除機能キーを入力しなくても誤字の修正を可能になるため、既存の誤字修正方法と比べてより早く簡便な誤字の修正が可能になる。
【図面の簡単な説明】
【００２９】
【図１】ユーザーの意図が自動的に判断される、第１手段による実施形態を示す図である。
【図２】ユーザーが直接に修正命令する、第１手段による実施形態を示す図である。
【図３】ユーザーの意図が自動的に判断される、第２手段による実施形態を示す図である。
【図４】ユーザーが直接に修正命令をする、第２手段による実施形態を示す図である。
【図５】ユーザーの意図が自動的に判断される、第３手段による実施形態を示す図である。
【図６】ユーザーが直接に修正命令する、第３手段による実施形態を示す図である。
【発明を実施するための形態】
【００３０】
図１は、ユーザーの意図が自動的に検知される、第１手段による実施形態を示す図である。ユーザーは「Ｈａｐｐｙ  Ｅａｓｔｅｒ  ｅｖｅｒｙｏｎｅ」の入力を意図したが、実際には「Ｈｓｐｐｙ  Ｅａｓｔｅｒ  ｗｖｅｒｙｏｎｅ」と入力している。第１手段によれば、ユーザーが単語を入力するたびに入力された単語がライブラリと対比され、ライブラリに載っていない単語は修正されるべき候補の単語として登録される。このため、上述のケースの場合、「Ｈｓｐｐｙ」と「ｗｖｅｒｙｏｎｅ」が修正されるべき候補の単語として登録される。ユーザーが「Ｈｓｐｐｙ  Ｅａｓｔｅｒ  ｗｖｅｒｙｏｎｅ」と入力した段階で、ユーザーが「ｗｖｅｒｙｏｎｅ」について誤字を認識し、これを「ｅｖｅｒｙｏｎｅ」へ修正しようとする。このために、ユーザーは、「Ｈｓｐｐｙ  Ｅａｓｔｅｒ  ｗｖｅｒｙｏｎｅ」の後に１スペースを入力し、次に「ｅｖｅｒｙｏｎｅ」と入力する。この段階で、ユーザーの入力は、「Ｈｓｐｐｙ  Ｅａｓｔｅｒ  ｗｖｅｒｙｏｎｅ  ｅｖｅｒｙｏｎｅ」となる。第１手段によれば、新たに入力された単語と修正されるべき候補の単語との間の関連性が計算される。この例においては、新たに入力された単語である「ｅｖｅｒｙｏｎｅ」が修正されるべき候補の単語の一つである「ｗｖｅｒｙｏｎｅ」との関連性が高いため、新たに入力された単語である「ｅｖｅｒｙｏｎｅ」はユーザーの修正意図によって書き込まれたものと判断される。このような判断により、ユーザーが１スペースを入力したときに、「ｗｖｅｒｙｏｎｅ」は「ｅｖｅｒｙｏｎｅ」に置換され、文全体である「Ｈｓｐｐｙ  Ｅａｓｔｅｒ  ｗｖｅｒｙｏｎｅ  ｅｖｅｒｙｏｎｅ」が「Ｈｓｐｐｙ  Ｅａｓｔｅｒ  ｅｖｅｒｙｏｎｅ」に変化する。この段階で、ユーザーは「Ｈｓｐｐｙ」の誤字をさらに認識し、これを修正しようとする。このために、ユーザーは「ｈａｐｐｙ」という正しい単語を入力する。二つの修正されるべき候補の単語の一つである「ｗｖｅｒｙｏｎｅ」はすでに「ｅｖｅｒｙｏｎｅ」に修正されているので、現時点では、修正されるべき候補の単語が一つのみとなっており、それは「Ｈｓｐｐｙ」である。「Ｈｓｐｐｙ」と「ｈａｐｐｙ」とは関連性が高いので、新たに入力された単語である「ｈａｐｐｙ」はユーザーの修正意図により書き込まれたものと判断される。このような判断により、修正されるべき候補の単語である「Ｈｓｐｐｙ」は「ｈａｐｐｙ」へと置換され、このような置換の過程において「ｈａｐｐｙ」が文の最初の文字とすべきであることがさらに検知され、これにより、「ｈａｐｐｙ」の文字「ｈ」が大文字である「Ｈ」に変換される。そして、文全体である「Ｈｓｐｐｙ  Ｅａｓｔｅｒ  ｅｖｅｒｙｏｎｅ」が「Ｈａｐｐｙ  Ｅａｓｔｅｒ  ｅｖｅｒｙｏｎｅ」に変化することで、修正が完了する。修正されるべき候補の単語を決定する範囲は、状況に応じて自由に設定することができる。例えば、現在入力している単語の１０単語前までをその範囲に設定してもよく、現在入力している単語の１００単語前までをその範囲に設定してもよい。ユーザーが作業をしている文書全体をその範囲に設定してもよい。上述の修正過程で使用された、単語間の関連性の判断方法を以下に説明す��。
【００３１】
単語間の関連性の判断は様々な方法により実施することができる。典型的には、以下の２つの方法が利用される。第１の方法は、ユーザーがあるキーの入力を意図したが、文字盤配列でその意図するキーに隣接するキーを実際には入力する可能性が高いということに基づく。例えば、「ｅｖｅｒｙｏｎ」と「ｗｖｅｒｙｏｎｅ」との間の関連性の判断において、二つの単語間に存在する差異は最初の文字である「ｅ」と「ｗ」だけである。また、「ｅ」と「ｗ」は文字盤配列において互いに隣接しているため、ユーザーは「ｅ」の入力を意図したが実際には「ｗ」の入力がなされた可能性が高い。従って、システムは、「ｅｖｅｒｙｏｎｅ」と「ｗｖｅｒｙｏｎｅ」は互いに関連性が高いと判断する。第２の方法は文字の入力順序が変更されることに基づく。高速で文字を入力する場合、文字の入力順序が高頻度で変更される。例えば、「ｅｖｅｒｙｏｎｅ」と「ｅｖｒｅｙｏｎｅ」との間の関連性の判断において、二つの単語間で３番目と４番目の文字に差異が存在する。すなわち、「ｅｖｅｒｙｏｎｅ」の「ｅｒ」と「ｅｖｒｅｙｏｎｅ」の「ｒｅ」である。「ｅｒ」と「ｒｅ」との間の差異は文字の順序である。このような場合にシステムは「ｅｖｅｒｙｏｎｅ」と「ｅｖｒｅｙｏｎｅ」とが互いに関連性が高いと判断する。ユーザーが長い単語を入力する場合には、隣接するキーを誤入力する回数、およびキーの入力順が変更される回数が増大し得るため、関連性の定量化処理において単語の長さによって他の基準を適用することができる。
【００３２】
本発明に適用可能な関連性の判断方法は上述の二つの方法に限定されない。
【００３３】
図２は、ユーザーが直接に修正命令をする、第１手段による実施形態を示す図である。ユーザーは、「Ｈａｐｐｙ  Ｅａｓｔｅｒ  ｅｖｅｒｙｏｎｅ」の入力を意図していたが実際には「Ｈｓｐｐｙ  Ｅａｓｔｅｒ  ｗｖｅｒｙｏｎｅ」を入力した。ユーザーはまず「ｗｖｅｒｙｏｎｅ」の誤字を認識し、これを修正するため「Ｈｓｐｐｙ  Ｅａｓｔｅｒ  ｗｖｅｒｙｏｎｅ」の後にスペースを１つ入力し、次に、「ｅｖｅｒｙｏｎｅ」を入力する。この段階で、ユーザーは修正命令を行う。修正命令は様々な方法で実施することができる。修正命令のためのファンクションキーまたは仮想キーボードにおける一定の領域を利用することができる。修正命令がモバイル機器において実施される場合は、モバイル機器を軽く揺らしたり、仮想キーボード上で左右上下にスワイプする動作を修正命令として認識させることができる。どのような方法であっても、「ｅｖｅｒｙｏｎｅ」と入力した後に修正命令が実施される場合は、システムは、「ｅｖｅｒｙｏｎｅ」を修正目標単語として認識する。その後、修正目標単語である「ｅｖｅｒｙｏｎｅ」と、修正目標単語が入力される前に入力された単語との間の関連性が計算される。修正目標単語である「ｅｖｅｒｙｏｎｅ」が入力される前に入力された単語のうち、「ｗｖｅｒｙｏｎｅ」が修正目標単語である「ｅｖｅｒｙｏｎｅ」と関連性が高い。このため、修正命令に従い、「ｗｖｅｒｙｏｎｅ」は修正目標単語である「ｅｖｅｒｙｏｎｅ」へと置換される。この段階においては、ユーザーが今までに入力した「Ｈｓｐｐｙ  Ｅａｓｔｅｒ  ｗｖｅｒｙｏｎｅ  ｅｖｅｒｙｏｎｅ」が「Ｈｓｐｐｙ  Ｅａｓｔｅｒ  ｅｖｅｒｙｏｎｅ」へと変更される。ユーザーはさらに「Ｈｓｐｐｙ」の誤字を認識し、「ｅｖｅｒｙｏｎｅ」の後にスペースを１つ入力して、続けて「ｈａｐｐｙ」と入力する。その後、ユーザーは修正命令を再度実施する。そうすると、「ｈａｐｐｙ」が修正目標単語であると認識され、修正目標単語が入力される前に入力された単語と修正目標単語との関連性が計算される。計算の結果、「Ｈｓｐｐｙ」が「ｈａｐｐｙ」との関連性が高い。このため、「Ｈｓｐｐｙ」は「ｈａｐｐｙ」へと置換され、その置換の過程でｈａｐｐｙが文の最初の単語であることがさらに検知される結果、「ｈａｐｐｙ」の「ｈ」が大文字の「Ｈ」に変更される。これにより、「Ｈｓｐｐｙ  Ｅａｓｔｅｒ  ｅｖｅｒｙｏｎｅ」の文全体が、「Ｈａｐｐｙ  Ｅａｓｔｅｒ  ｅｖｅｒｙｏｎｅ」に変更され、修正が完了する。修正されるべき候補の単語を決定する範囲は、状況に応じて自由に設定することができる。例えば、現在入力している単語の１０単語前までをその範囲に設定してもよく、現在入力している単語の１００単語前までをその範囲に設定してもよい。ユーザーが作業をしている文書全体をその範囲に設定してもよい。関連性の計算方法は上述の図１の実施形態で説明したものと同様の方法を使用することができる。
【００３４】
図３は、ユーザーの修正の意図が自動的に検出される、第２手段による実施形態を示す図である。ユーザーは「Ｉ  ｒｅｍｅｍｂｅｒ」と入力することを意図しているが、「Ｉ  ｒｅｍｅ」と入力しなければならないところ、間違って「Ｉ  ｔｅｍｅ」と入力されていることを認識する。その段階でユーザーがスペースを１つ入力すると、「ｔｅｍｅ」が単語としてシステムに認識される。第２手段によると、ユーザーが単語を入力するたびにライブラリとの対比が実行され、ライブラリにない単語は修正されるべき候補の単語として登録される。「ｔｅｍｅ」はライブラリにないため、修正されるべき候補の単語としてシステムに登録される。その後、ユーザーはもともと意図していた単語である「ｒｅｍｅｍｂｅｒ」を入力すると、ユーザーによる入力全体は、「Ｉ  ｔｅｍｅ  ｒｅｍｅｍｂｅｒ」となる。新規に入力された単語の最初の文字、すなわち「ｒ」からの部分文字列と、新規に入力された単語の直前に入力された候補の単語である「ｔｅｍｅ」との間の関連性が計算される。新規に入力された単語の直前に入力された候補の単語である「ｔｅｍｅ」が４文字を有するので、「ｒｅｍｅｍｂｅｒ」の最初の４文字である「ｒｅｍｅ」と「ｔｅｍｅ」との関連性が検討される。しかし、新規に入力された単語の最初の文字から始まる部分文字列の長さは、候補の単語の文字数に限定されない。新規に入力された単語の直前に入力された候補の単語である「ｔｅｍｅ」と、新規に入力された単語の最初の文字から始まる部分文字列である「ｒｅｍｅ」との間の関連性が高いため、システムは新規に入力された単語である「ｒｅｍｅｍｂｅｒ」はユーザーの修正の意図によるものと認識する。その後、修正されるべき候補の単語である「ｔｅｍｅ」が「ｒｅｍｅｍｂｅｒ」に置換され、修正が完了する。関連性の計算方法は上述の図１の実施形態で説明したものと同様の方法を使用することができる。
【００３５】
図４は、ユーザーが直接に修正命令を供給する、第２手段による実施形態を示す図である。ユーザーは「Ｉ  ｒｅｍｅｍｂｅｒ」の入力を意図したが、「Ｉ  ｒｅｍｅ」と入力しなければならないところ実際には間違って「Ｉ  ｒｅｍｅ」と入力されていることを認識する。この段階で、ユーザーがスペースを１つ入力し、次に、続けて「ｒｅｍｅｍｂｅｒ」と入力する。その後、修正命令がなされる。上述したように多様になされ得る修正命令に従い、「ｒｅｍｅｍｂｅｒ」が修正目標単語としてシステムに認識される。修正目標単語の最初の文字から始まる部分文字列と、修正目標単語の直前に入力された単語との間の関連性が計算される。修正目標単語の直前に入力された単語である「ｔｅｍｅ」が４文字を有するため、「ｒｅｍｅｍｂｅｒ」の最初の４文字である「ｒｅｍｅ」が「ｔｅｍｅ」と比較されることができる。しかし、修正目標単語の最初の文字から始まる部分文字列の長さは、修正目標単語の直前に入力された単語の文字数に限定されない。「ｒｅｍｅ」と「ｔｅｍｅ」との間の関連性が高いため修正目標単語の直前に入力された「ｔｅｍｅ」は、修正目標単語である「ｒｅｍｅｍｂｅｒ」に置換され、修正過程が完了する。関連性の計算方法は上の図１の実施形態で説明したものと同様の方法を使用することができる。
【００３６】
図５は、ユーザーの修正の意図が自動的に検出される、第３手段による実施例を示す図である。
【００３７】
ユーザーは「Ｉ  ｒｅｍｅｍｂｅｒ」の入力を意図したが、実際には「Ｉ  ｒｅｎｅ」と入力した段階で、「ｒｅｍｅ」と入力しなければならないところを「ｒｅｎｅ」と入力したことを認識する。図３と図４の実施形態においては、「ｒｅｎｅ」を単語として認識させるために、ユーザーはスペースを１つ入力し、次に、正しい単語である「ｒｅｍｅｍｂｅｒ」を入力して「ｒｅｎｅ」を「ｒｅｍｅｍｂｅｒ」に置換させる。しかし、図３、４の実施形態と異なり、ユーザーは「ｒｅｎｅ」の後にスペースを１つ入力せずに続けて正しい文字を入力して誤字を修正する。もともと意図した単語である「ｒｅｍｅｍｂｅｒ」と実際に入力した「ｒｅｎｅ」とを考慮すると、１番目と２番目の文字には間違いが含まれていないが、３番目の文字が間違っているため、ユーザーは意図する単語である「ｒｅｍｅｍｂｅｒ」の３番目の文字である「ｍ」から最後の文字まで入力する。これにより、ユーザーの入力は現時点で「Ｉ  ｒｅｎｅｍｅｍｂｅｒ」となっている。「ｒｅｎｅｍｅｍｂｅｒ」の入力が単語として完了している段階で、このような単語がライブラリにあるかどうか判断される。その単語がライブラリにない場合は、互いに関連性の高い、単語内の部分文字列が存在するかどうかが判断される。本実施形態では、「ｒｅｎｅｍｅｍｂｅｒ」という単語の部分文字列である「ｎｅ」と「ｍｅ」とが関連性が高いと判断され、次に、前に入力された部分文字列「ｎｅ」が後に入力された部分文字列「ｍｅ」に置換された単語がライブラリに収録されているのかが判断される。このような置換の結果である「ｒｅｍｅｍｂｅｒ」がライブラリに存在するため、前に入力された「ｎｅ」が後に入力された「ｍｅ」に置換され、「ｒｅｎｅｍｅｍｂｅｒ」の入力が「ｒｅｍｅｍｂｅｒ」に変更される。
【００３８】
ユーザーが「ｒｅｎｅｍｅｍｂｅｒ」と入力している際における、部分文字列間の関連性を判断する方法を以下説明する。ここでは、様々な方法で実行可能な関連性の計算方法の中から、文字盤の配列上、意図するキーに対し横に隣接するキーを誤って入力する可能性の高さに注目する。すなわち、「ｓ」が入力されればこの入力は「ｓ」の左に隣接する「ａ」を間違って入力したものか、あるいは「ｓ」の右に隣接する「ｄ」を間違って入力しものかもしれないという可能性を考慮する。最初の文字である「ｒ」が入力されたときには、これと比較すべき他の文字は存在しない。「ｒｅ」と入力されると、１番目の文字である「ｒ」と２番目の文字である「ｅ」は文字盤の配列において隣接するため、「ｅ」が修正の意図で入力された可能性が考慮され、修正候補Ａに登録される。「ｒｅｎ」と入力された場合、３番目の文字「ｎ」と１番目の文字「ｒ」および２番目の文字「ｅ」とは隣接しないため追加の修正候補として登録されない。「ｒｅｎｅ」と入力されると、４番目の文字「ｅ」と１番目の文字「ｒ」が隣接するため「ｒｅｎ」を修正しようとする意図から「ｅ」を入力したのかもしれないという可能性を考慮し、修正候補Ｂに登録される。「ｒｅｎｅｍ」が入力された場合、５番目の文字「ｍ」と３番目の文字「ｎ」が隣接するため文字列「ｎｅ」を修正しようとして５番目の文字「ｍ」を入力したかもしれないという可能性を考慮し、修正候補Ｃに登録される。さらに、文字列「ｅｎ」を文字列「ｅｍ」へと修正しようとする意図から５番目の文字「ｍ」を入力したかもしれないという可能性を考慮し、これを修正候補Ｄへ登録する。この時点で修正候補Ｂの場合、「ｒｅｎ」を修正するために「ｒ」に隣接する４番目の文字「ｅ」を入力したとするならば、４番目の文字「ｅ」の次に「ｅ」の入力がされなければならないが、実際には「ｍ」が入力されたことにより修正候補Ｂは修正候補から除かれる。「ｒｅｎｅｍｅ」と入力された場合、１番目の文字「ｒ」と６番目の文字「ｅ」は隣接するために「ｒｅｎｅｍ」を修正しようという意図かもしれないという可能性を考慮し、修正候補Ｅに登録する。この時点で、修正候補Ｃに関し、「ｎｅ」から「ｍｅ」への修正意図の可能性が高くなったため、この修正候補は修正候補に残存させる。さらに、修正候補Ａに関し、２番目の入力「ｅ］が１番目の入力「ｒ」を修正するためになされたと判断するためには、部分文字列「ｅｎｅｍｅ」がライブラリになくてはならないが、部分文字列「ｅｎｅｍｅ」はライブラリに存在しないので修正候補Ａは修正候補から除かれる。「ｒｅｎｅｍｅｍ」と入力された場合、７番目の文字「ｍ」と３番目の文字「ｎ」が隣接するため、７番目の文字「ｍ」が「ｎｅｍｅ」を修正するためになされた可能性を考慮し、修正候補Ｆに登録される。また、２番目と３番目の文字である「ｅｎ」を、６番目と７番目の文字である「ｅｍ」に修正しようとする意図から７番目の文字「ｍ」を入力した可能性を考慮し、これを修正候補Ｇに登録する。この時点で、「ｒｅｎｅｍ」を修正する可能性を考慮した修正候補Ｅに関し、６番目と７番目の文字「ｅｍ」の入力が、「ｒｅｎｅｍ」を修正するためになされていないとシステムは判断し、修正候補Ｅは修正候補から除かれる。「ｒｅｎｅｍｅｍｂ」と入力されると、８番目の文字である「ｂ」は３番目の文字である「ｎ」と隣接するため「ｎｅｍｅｍ」を修正しようとして８番目の文字である「ｂ」を入力した可能性を考慮し、修正候補Ｈに登録される。この時点で「ｎｅｍｅ」の修正の可能性を考慮した修正候補Ｆに関し、７番目、８番目の文字「ｍｂ」が「ｎｅｍｅ」を修正するために入力されていないとシステムが判断し、修正候補Ｆは修正候補から除かれる。さらに、２番目と３番目の文字「ｅｎ」を６番目と７番目である「ｅｍ」に修正する可能性を考慮した修正候補Ｇに関し、４番目の文字である「ｅ」と８番目の文字「ｂ」が少なくとも隣接する関係になければならないが、この関係を満たさないため修正候補Ｇは修正候補から除かれる。「ｒｅｎｅｍｅｍｂｅ」と入力された場合、９番目の文字「ｅ」と１番目の文字「ａ」とが隣接するため、９番目の文字「ｅ」の入力が「ｒｅｎｅｍｅｍｂ」を修正しようとしてなされた可能性を考慮し、修正候補Ｉに登録される。「ｒｅｎｅｍｅｍｂｅｒ」と入力された場合、１０番目の文字「ｒ」は２番目、４番目、６番目、９番目の文字「ｅ」と隣接するため、各々修正候補Ｊ，Ｋ，Ｌ，Ｍに登録される。この時点で、「ｎｅｍｅｍ」を修正する可能性を考慮する修正候補Ｈに関し、「ｂｅｒ」の入力が「ｒｅｍｅｍ」の修正のためになされていないとシステムは判断し、修正候補Ｈは修正候補から除かれる。最後にスペースが入力されると、「ｒｅｎｅｍｅｍｂ」の修正の可能性を考慮する入力候補Ｉに関し、「ｒｅｎｅｍｅｍｂ」を「ｅｒ」に修正することができないので、修正候補Ｉは修正候補から除かれる。同様の理由で、修正候補Ｊ、Ｋ、Ｌ、Ｍもまた修正候補から除かれる。ここで、残っている修正候補は、３番目と４番目の文字「ｎｅ」を５番目と６番目の文字「ｍｅ」に修正する可能性を考慮するＣと、２番目と３番目の文字「ｅｎ」を４番目と５番目の文字「ｅｍ」に修正する可能性を考慮するＤである。修正候補Ｃによる修正の結果は「ｒｅｍｅｍｂｅｒ」であり、この結果は修正候補Ｄによる修正結果と同じであり、修正された単語である「ｒｅｍｅｍｂｅｒ」はライブラリにあるので修正が完了する。上述の部分文字列の間の関連性の判断方法は例示であり、本発明の実施において適宜変更できる。
【００３９】
図６はユーザーが直接に修正命令を供給する、第３手段による実施形態を示す図である。ユーザーは「Ｉ  ｒｅｍｅｍｂｅｒ」の入力を意図したが、実際に「Ｉ  ｒｅｎｅ」と入力した段階で１番目と２番目の文字は正しく入力されているが３番目の文字から誤字が発生していることを認識する。このため、ユーザーは、「Ｉ  ｒｅｎｅ」の後にスペースを入力することなく、３番目の文字から再度入力する。よって、現時点で、ユーザーの入力は「Ｉ  ｒｅｎｅｍｅｍｂｅｒ」となった。この後、修正命令がなされる。上述したように多様に実施することができる修正命令により、入力された単語内で部分文字列の間の関連性が計算される。本実施形態においては、「ｒｅｎｅｍｅｍｂｅｒ」という単語内の「ｎｅ」と「ｍｅ」とが関連性が高いと判断され、次に、先に入力された部分文字列である「ｎｅ」が後から入力された部分文字列である「ｍｅ」へと置換された単語である「ｒｅｍｅｍｂｅｒ」がライブラリに存在するかどうか判断する。このような置換の結果は「ｒｅｍｅｍｂｅｒ」であり、ライブラリに存在するため、先に入力された「ｎｅ」が後に入力された「ｍｅ」に置換され、「ｒｅｎｅｍｅｍｂｅｒ」が「ｒｅｍｅｍｂｅｒ」に変更される。部分文字列間の関連性の計算方法は上述した図５の実施形態で説明したものと同様の方法が使用されることができる。
【００４０】
本発明の第１ないし第３手段について説明した。各々の手段は独立的に実施されることができ、各々の手段がその他のいくつかの手段と結合されて実施されることもできる。
【図１】
0005878674.tif 000002
【図２】
0005878674.tif 000003
【図３】
0005878674.tif 000004
【図４】
0005878674.tif 000005
【図５】
0005878674.tif 000006
【図６】
0005878674.tif 000007