(57)【特許請求の範囲】
【請求項１】
過去に入力された表記と読みとの対である履歴データを記憶する履歴データ記憶部と、押された回数に応じて複数の文字が割り当てられたキーで構成された入力部とを備え、前記入力部で読みが入力されたときに、前記入力された読みを用いて、前記履歴データ記憶部から入力が予測される前記履歴データの表記を入力予測候補として表示する入力予測処理を、コンピュータに実行させるためのプログラムであって、
読みを構成する文字と、割り当てられたキーおよびキーのストローク数との対応を示すキーストローク情報をもとに、前記入力部から入力された入力読みを前記キーストローク情報によるデータ列で表す入力読みストローク情報を取得する入力読みストローク情報取得処理と、
前記履歴データ記憶部に、前記履歴データの読みとして、前記キーストローク情報によるデータ列である履歴データ読みストローク情報が記憶されている場合に、前記入力読みストローク情報と前記履歴データ読みストローク情報とをデータ列の先頭から比較し、前記入力読みストローク情報のデータ列と先頭から一致するデータ列を持つ履歴データ読みストローク情報の履歴データを抽出し、前記抽出した履歴データの表記を入力予測候補とする候補取得処理とを、
コンピュータに実行させることを特徴とする入力予測処理プログラム。
【請求項２】
過去に入力された表記と読みとの対である履歴データを記憶する履歴データ記憶部と、押された回数に応じて複数の文字が割り当てられたキーで構成された入力部とを備え、前記入力部で読みが入力されたときに、前記入力された読みを用いて、前記履歴データ記憶部から入力が予測される前記履歴データの表記を入力予測候補として表示する入力予測処理を、コンピュータに実行させるためのプログラムであって、
読みを構成する文字と、割り当てられたキーおよびキーのストローク数との対応を示すキーストローク情報をもとに、前記入力部で入力された入力読みを前記キーストローク情報によるデータ列で表す入力読みストローク情報を取得する入力読みストローク情報取得処理と、
前記履歴データ記憶部の前記履歴データの読みを、前記キーストローク情報によるデータ列で表す履歴データ読みストローク情報に変換する処理と、
前記入力読みストローク情報と前記履歴データ読みストローク情報とをデータ列の先頭から比較し、前記入力読みストローク情報のデータ列と先頭から一致するデータ列を持つ履歴データ読みストローク情報の履歴データを抽出し、前記履歴データの表記を入力予測候補とする候補取得処理とを、
コンピュータに実行させることを特徴とする入力予測処理プログラム。
【請求項３】
請求項２に記載する入力予測処理プログラムであって、
前記候補取得処理では、
前記入力読みの最後の文字を除いた入力読み文字列を用いて、先頭からの文字列が前記入力読み文字列と完全に一致する履歴データの読みを抽出し、
前記キーストローク情報をもとに、前記入力読みの最後の文字のキーストロークのデータ列を取得し、
前記キーストローク情報をもとに、前記抽出された履歴データの読みの文字列中の前記入力読みの最後の文字の位置に対応する対応文字のキーストロークのデータ列を取得し、
前記抽出された履歴データの読みの対応文字のキーストロークのデータ列と前記入力読みの最後の文字のキーストロークのデータ列とを先頭から比較し、前記入力読みの最後の文字のキーストロークのデータ列と先頭から一致する対応文字のキーストロークのデータ列を持つ履歴データの読みを抽出し、前記抽出した履歴データの表記を入力予測候補とする処理を、
コンピュータに実行させることを特徴とする入力予測処理プログラム。
【請求項４】
請求項１ないし請求項３のいずれか一項に記載する入力予測処理プログラムであって、
前記キーストローク情報として、同じキーに割り当てられた文字が連続する読みについて、当該連続する各文字のキーストロークのデータ列を区別するために挿入される入力位置移動キーが設定されている場合に、
前記候補取得処理では、
前記入力読みの最後が入力位置移動キーであるときは、前記入力読みの入力読みストローク情報のデータ列の最後に前記入力位置移動キーの直前のキーストロークの値を付加する処理を、
コンピュータに実行させることを特徴とする入力予測処理プログラム。
【請求項５】
請求項１ないし請求項４のいずれか一項に記載する入力予測処理プログラムであって、
前記入力読みに対する入力予測候補から、入力する表記として選択された入力予測候補を表記とし、前記入力読みを読みとする履歴データを前記履歴データ記憶部に蓄積する履歴データ蓄積処理を、
コンピュータに実行させることを特徴とする入力予測処理プログラム。
【請求項６】
過去に選択された表記を記憶する履歴データ記憶部と、押された回数に応じて複数の文字が割り当てられたキーで構成された入力部とを備え、前記入力部で表記の一部が入力されたときに、前記入力された表記の一部を用いて、前記履歴データ記憶部から入力が予測される表記を入力予測候補として表示する入力予測処理を、コンピュータに実行させるためのプログラムであって、
文字が割り当てられたキーおよびキーのストローク数を示す情報をデータ列で表したキーストローク情報をもとに、前記入力部から入力された表記の一部を前記キーストローク情報によるデータ列で表す入力表記ストローク情報を取得する入力表記ストローク情報取得処理と、
前記キーストローク情報をもとに、前記履歴データ記憶部の前記表記をキーストローク情報によるデータ列で表す履歴データ表記ストローク情報に変換する処理と、
前記入力表記ストローク情報と前記履歴データ表記ストローク情報とをデータ列の先頭から比較し、前記入力表記ストローク情報のデータ列と先頭から一致するデータ列を持つ履歴データ表記ストローク情報の表記を抽出し入力予測候補とする候補取得処理とを、
コンピュータに実行させることを特徴とする入力予測処理プログラム。
【請求項７】
請求項６に記載する入力予測処理プログラムであって、
前記入力された表記の一部に対する入力予測候補から入力する表記として選択された入力予測候補を表記として前記履歴データ記憶部に蓄積する履歴データ蓄積処理を、
コンピュータに実行させることを特徴とする入力予測処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、入力予測処理プログラムに関し、特に、コンピュータ、携帯情報端末、携帯電話、ポケットベル、カーナビゲーションシステムなどの文字入力装置において、過去に入力された文字列を履歴データとして記憶しておき、次回に同じ文字が入力されると、記憶しておいた履歴データにもとづいて表記の候補を表示する入力予測処理プログラムに関する。
【０００２】
【従来の技術】
ユーザの入力操作および変換操作の負担を軽減すべく、入力された文字が確定する前に入力予測処理が行われる。
【０００３】
今までに入力した文字列の履歴データをもとに、次回の読み入力中に、読みが前方一致する履歴データを取得して入力予測の候補として表示する入力予測処理が行われる。この入力予測処理の場合に、従来は入力中の読みと履歴データの読みの文字コードを用いて比較していた。
【０００４】
特開平０８−３１４９２０「文字入力装置」には、複数の文字が割り当てられたキーが操作され、変換／次候補キーが操作されると、入力されたキー対応の文字について、検索した候補文字または文字列を出力手段へ送出する文字入力装置が記載されている。
【０００５】
【発明が解決しようとする課題】
従来の入力予測処理では、入力予測の候補の検索に文字コードを用いるため、入力予測処理が機能するためには、入力予測処理の対象となる所定数の文字が入力される必要がある。しかし、入力キー数が少なく、一つのキーに複数の文字が割り当てられているような文字入力装置においては、ある文字を入力するまでに同じキーを複数回押す等の操作が必要となる。
【０００６】
図４４に、少ないキーに複数の文字が割り当てられた入力キーによる入力装置２の例を示す。一般的に、携帯電話などの端末では、図４４に示すような１つのキーに複数のかな文字や英文字などが割り当てられている。入力装置２では、五十音図の各行のかな５文字もしくは英文字３〜４文字が１０個の数字キーのそれぞれに割り当てられている。
【０００７】
入力装置２では、キーを１ないし複数回押して読みを入力し、例えば漢字変換処理などの文字入力処理により所定の表記を得るようにしている。例えば、表記「相撲」を得るために読み「すもう」を入力する場合には、「３３３７７７７７１１１」を入力する必要がある。
【０００８】
入力キーの少ない入力装置を用いた読み（文字）入力処理において、読みを２文字入力した際に履歴データから単語を選択して入力候補を表示する入力予測処理を利用する場合に、読み「すも」の数字キーを押す回数は８回（「３３３７７７７７」）であり、通常の入力処理の場合に比べてキー操作回数はあまり軽減されない。
【０００９】
このように、入力する読みによっては、入力予測処理対象となるまでのキー操作回数が多くなり、従来の文字コードを用いた入力予測処理では操作負担の軽減という効果が得られない。
【００１０】
上記の特開平０８−３１４９２０「文字入力装置」を、前回入力した読みを次に入力し始めたことを契機にして入力候補を予測して表示する場合に適用すると、例えば「４１」と入力キー操作があると、「た行の文字のいずれか」に該当する候補を出力する。すなわち「４１」と入力キー操作すると、読み「と」で始まる表記「東京」も、読み「て」で始まる表記「提供」も候補として表示してしまうため、表示される候補数が多くなり過ぎて、かえって入力候補からの選択の処理に手間がかかり、結局入力操作の負担軽減にはならないという欠点がある。
【００１１】
本発明の目的は、複数文字が割り当てられた入力キー等を用いる入力装置において、入力予測候補を表示させるキー入力操作回数を軽減できる入力予測処理装置を提供することである。
【００１２】
【課題を解決するための手段】
上記の目的を達成するため、本発明は、過去に入力された表記と読みとの対である履歴データを記憶する履歴データ記憶部と、押された回数に応じて複数の文字が割り当てられたキーで構成された入力部とを備え、前記入力部で読みが入力されたときに、前記入力された読みを用いて、前記履歴データ記憶部から入力が予測される前記履歴データの表記を入力予測候補として表示する入力予測処理を、コンピュータに実行させるためのプログラムであって、読みを構成する文字と、割り当てられたキーおよびキーのストローク数との対応を示すキーストローク情報をもとに、前記入力部から入力された入力読みを前記キーストローク情報によるデータ列で表す入力読みストローク情報を取得する入力読みストローク情報取得処理と、前記履歴データ記憶部に、前記履歴データの読みとして、前記キーストローク情報によるデータ列である履歴データ読みストローク情報が記憶されている場合に、前記入力読みストローク情報と前記履歴データ読みストローク情報とをデータ列の先頭から比較し、前記入力読みストローク情報のデータ列と先頭から一致するデータ列を持つ履歴データ読みストローク情報の履歴データを抽出し、前記抽出した履歴データの表記を入力予測候補とする候補取得処理とを、コンピュータに実行させるものである。
【００１３】
また、本発明は、過去に入力された表記と読みとの対である履歴データを記憶する履歴データ記憶部と、押された回数に応じて複数の文字が割り当てられたキーで構成された入力部とを備え、前記入力部で読みが入力されたときに、前記入力された読みを用いて、前記履歴データ記憶部から入力が予測される前記履歴データの表記を入力予測候補として表示する入力予測処理を、コンピュータに実行させるためのプログラムであって、読みを構成する文字と、割り当てられたキーおよびキーのストローク数との対応を示すキーストローク情報をもとに、前記入力部で入力された入力読みを前記キーストローク情報によるデータ列で表す入力読みストローク情報を取得する入力読みストローク情報取得処理と、前記履歴データ記憶部の前記履歴データの読みを、前記キーストローク情報によるデータ列で表す履歴データ読みストローク情報に変換する処理と、
前記入力読みストローク情報と前記履歴データ読みストローク情報とをデータ列の先頭から比較し、前記入力読みストローク情報のデータ列と先頭から一致するデータ列を持つ履歴データ読みストローク情報の履歴データを抽出し、前記履歴データの表記を入力予測候補とする候補取得処理とを、コンピュータに実行させるものである。
【００１４】
また、本発明は、前記候補取得処理では、前記入力読みの最後の文字を除いた入力読み文字列を用いて、先頭からの文字列が前記入力読み文字列と完全に一致する履歴データの読みを抽出し、前記キーストローク情報をもとに、前記入力読みの最後の文字のキーストロークのデータ列を取得し、前記キーストローク情報をもとに、前記抽出された履歴データの読みの文字列中の前記入力読みの最後の文字の位置に対応する対応文字のキーストロークのデータ列を取得し、前記抽出された履歴データの読みの対応文字のキーストロークのデータ列と前記入力読みの最後の文字のキーストロークのデータ列とを先頭から比較し、前記入力読みの最後の文字のキーストロークのデータ列と先頭から一致する対応文字のキーストロークのデータ列を持つ履歴データの読みを抽出し、前記抽出した履歴データの表記を入力予測候補とする処理を、コンピュータに実行させるものである。
【００１５】
本発明の各手段または機能または要素をコンピュータにより実現するプログラムは、コンピュータが読み取り可能な、可搬媒体メモリ、半導体メモリ、ハードディスクなどの適当な記録媒体に格納することができ、これらの記録媒体に記録して提供され、または、通信インタフェースを介して種々の通信網を利用した送受信により提供される。
【００１６】
【発明の実施の形態】
以下に、本発明の実施の形態を説明する。
【００１７】
〔第１の実施の形態〕
図１に、第１の実施の形態において、本発明を実現するための各処理手段の構成例を示す。
【００１８】
本発明にかかる入力予測処理装置１は、入力装置２で所定数の読みが入力された場合に、記憶しておいた履歴データから入力された読みに対応する表記を選択して、入力予測候補として表示装置３に表示する装置である。
【００１９】
入力装置２は、各キーに複数の文字が割り当てられ、そのキーが押された回数（ストローク数）に対して予め設定されている文字（読み）を入力する装置である。入力装置２は、例えば図４４に示すような入力キーを持ち、各入力キーに所定の文字（読み）が割り当てられている。
【００２０】
表示装置３は、入力装置２で入力された読み、表記、入力予測候補などを表示する装置である。
【００２１】
入力予測処理装置１は、入力処理部１１と、記憶処理部１２と、履歴データ記憶部１３、キーストローク変換処理部１４と、キーストローク変換テーブル１５、候補取得処理部１６と、内部データ記憶部１７とを備える。
【００２２】
入力処理部１１は、入力装置２からのキー入力を受け取り、そのキーに応じた処理を行う手段である。入力処理部１１は、入力された読みおよび入力読みに対応する表記を記憶処理部１２へ渡す。
【００２３】
記憶処理部１２は、入力処理部１１の一部として、入力処理部１１から取得した読みを内部データ記憶部１７の入力読みＲ１に、取得した表記を表記Ｅ１に、それぞれ格納する手段である。
【００２４】
記憶処理部１２は、キーストローク変換処理部１４に入力読みＲ１を渡し、キーストローク変換処理された結果を受け取り、入力読みストロークＫ１とする。キーストロークは、読みを、その読みを構成する文字が割り当てられたキー情報の列で表した情報である。また、記憶処理部１２は、入力読みストロークＫ１と表記Ｅ１との組み合わせを履歴データ（読みｒおよび表記ｅ）として履歴データ記憶部１３に記憶する。
【００２５】
また、記憶処理部１２は、候補取得処理部１６の要求により、履歴データ記憶部１３の読みｒを履歴データ読みストロークＫ２に格納し、表記ｅを表記Ｅ１に格納する。
【００２６】
履歴データ記憶部１３は、読みｒおよび表記ｅからなる履歴データを、所定の順序をもって記憶する記憶域である。図２に履歴データ記憶部１３のデータ構造例を示す。
【００２７】
本形態では、履歴データ記憶部１３は、図２（Ａ）に示すように、入力読みストロークＫ１（３３３７７７７７１１１）を読みｒとし、表記Ｅ１（相撲）を表記ｅとして、読みｒと表記ｅとを履歴データの１レコードの内容として記憶する。
【００２８】
履歴データ記憶部１３には、図２（Ｂ）に示すように、履歴データとして、読みｒと読みｒにより変換処理された表記ｅとの組合せ情報が、読みｒ１と表記ｅ１、読みｒ２と表記ｅ２、読みｒ３と表記ｅ３、…のように順序を保持して記憶される。読みｒと表記ｅの組合せ情報の記憶の順序としては、古いものが後ろに格納される場合、または、新しいものが後ろに格納される場合がある。なお、図２（Ｃ）に示すように、記憶処理部１２は、履歴データ記憶部１３にインデックスを設けて履歴データを階層的に記憶するようにしてもよい。
【００２９】
キーストローク変換処理部１４は、キーストローク変換テーブル１５をもとに、与えられた入力パラメータをキーストロークのデータ列に変換する手段である。
【００３０】
キーストローク変換テーブル１５は、読みとキーストロークとの対応関係を定義するデータである。図３に、キーストローク変換テーブル１５の例を示す。図３のキーストローク変換テーブル１５は、入力装置２の「１」キーの１ストロークに読み「あ」が、同じく２ストロークに読み「い」が、さらには、５ストロークに「お」が割り当てられている定義例を示す。
【００３１】
候補取得処理部１６は、入力装置２で入力予測処理の対象となる所定数の読みが入力された場合に、その読みのキーストロークと一致する読みｒ（キーストロークのデータ列）に対応する表記ｅを入力予測候補として採用する手段である。
【００３２】
内部データ記憶部１７は、図４に示すように、各処理部が使用する内部データ（変数）を記憶する領域であり、入力読みＲ１と、入力読みストロークＫ１と、表記Ｅ１とを記憶する。
【００３３】
入力読みＲ１は、入力装置２で入力された読みが保持される変数である。入力読みストロークＫ１は、入力読みＲ１のキーストロークが保持される変数である。履歴データ読みストロークＫ２は、履歴データ記憶部１３で記憶される読みｒ（キーストローク）が格納される変数である。表記Ｅ１は、履歴データ記憶部１３で記憶される表記ｅが格納される変数である。
【００３４】
第１の実施の形態では、入力予測処理装置１は、入力された読みをキーストロークに変換したデータ列（キーストローク）と表記との組合せを履歴データとして記憶しておく。所定数の読みが入力されると、入力された読みのキーストロークと、履歴データの読みのキーストロークとを比較して、前方一致する場合に、履歴データのその読みに対応する表記を候補として採用する。
【００３５】
以下に、処理を詳しく説明する。なお、入力予測処理装置１は、本形態および以下の他の形態において、２文字以上の読みが入力された場合に、入力予測処理を行うものとする。
【００３６】
例えば、入力装置２で「３」キーが３回、「７」キーが５回、「１」キーが３回押されて読み「すもう」が入力され表記「相撲」が選択されたとする。
【００３７】
入力処理部１１は、入力装置２で入力された読み「すもう」と表記「相撲」とを記憶処理部１２へ渡す。
【００３８】
記憶処理部１２は、図５（Ａ）に示すように、受け取った読み「すもう」を入力読みＲ１とし、表記「相撲」を表記Ｅ１とする。そして、記憶処理部１２は、キーストローク変換処理部１４へ入力読みＲ１「すもう」を入力パラメータとして渡す。キーストローク変換処理部１４は、キーストローク変換テーブル１５を用いて、入力読みＲ１「すもう」をキーストロークのデータ列「３３３７７７７７１１１」に変換し、変換結果を記憶処理部１２へ戻す。記憶処理部１２は、キーストローク変換処理部１４からの戻り値「３３３７７７７７１１１」を受け取り、入力読みストロークＫ１とする。そして、図５（Ｂ）に示すように、記憶処理部１２は、入力読みストロークＫ１と表記Ｅ１とを履歴データ（読みｒおよび表記ｅ）として履歴データ記憶部１３に記憶する。
【００３９】
その後、入力装置２で「３」キーが３回押されて読み「す」が入力され、続いて「７」キーが１回押されて読み「ま」が入力されたとする。
【００４０】
記憶処理部１２は、入力処理部１１から読み「すま」を受け取り、入力読みＲ１とする。
【００４１】
候補取得処理部１６は、入力読みＲ１が所定数以上の読みであるので、入力読みＲ１「すま」を入力パラメータとしてキーストローク変換処理部１４へ渡す。キーストローク変換処理部１４は、入力パラメータ「すま」をキーストローク変換テーブル１５をもとにキーストロークのデータ「３３３７」へ変換して、候補取得処理部１６へ返却する。候補取得処理部１６は、返却された値「３３３７」を入力読みストロークＫ１とする。
【００４２】
一方、記憶処理部１２は、履歴データ記憶部１３に記憶された履歴データ（読みｒと表記ｅ）を抽出して読みｒを履歴データ読みストロークＫ２とし、表記ｅを表記Ｅ１とする。
【００４３】
次に、候補取得処理部１６は、図５（Ｃ）に示すように、入力読みストロークＫ１「３３３７」と履歴データ読みストロークＫ２「３３３７７７７７１１１」とを比較する。入力読みストロークＫ１と履歴データ読みストロークＫ２とが前方一致すれば、その表記Ｅ１を候補として採用する。採用した候補は表示装置３に表示される。
【００４４】
候補取得処理部１６は、履歴データ記憶部１３に記憶する履歴データのすべてについて比較処理を行い、所定数の候補を選択する。なお、候補取得処理部１６は、履歴データが記憶された時期や候補が選択される頻度をもとに表示する候補を選択し、または表示等の出力する順序を決定するようにしてもよい。
【００４５】
例えば、図６に示すような、読みｒ（ストローク）と表記ｅとの組合せが履歴データとして履歴データ記憶部１３に記憶されていた場合に、候補取得処理部１６は、入力読みストロークＫ１と履歴データの読みｒとを比較する。読みｒのキーストロークに下線を付けて示す部分が前方一致する部分である。候補取得処理部１６は、入力読みストロークＫ１「３３３７」と前方一致する読みｒ（ストローク）の表記ｅ「酢飯、相撲、菫、李、スマイル、住む」を候補として採用する。
【００４６】
したがって、ユーザは、表記「相撲」を得るために入力装置２で「３、３、３、７」と４回のストローク操作を行っただけで、表記「相撲」を含む候補を取得することができる。従来の入力予測処理では８回のストローク（３、３、３、７、７、７、７、７）が必要であったのに比べて、入力処理負担が軽減されることがわかる。
【００４７】
その後、入力装置２で「７」キーが再度押されて読み「すみ」が入力されると、上記と同様の処理により、記憶処理部１２は入力された読み「すみ」を入力読みＲ１とし、候補取得処理部１６は入力読みＲ１から変換された戻り値「３３３７７」を入力読みストロークＫ１とし、履歴データ記憶部１３の読みｒである履歴データ読みストロークＫ２と比較する。候補取得処理部１６は、図６に示す読みｒから、入力読みストロークＫ１「３３３７７」と前方一致する読みｒの表記ｅ「酢飯、相撲、菫、李、住む」の５つを候補として採用する。
【００４８】
以降、入力装置２でキーが押されて入力される読みが遷移すると、候補取得処理部１６では、入力読みＲ１からキーストロークのデータに変換された値を入力読みストロークＫ１とし、入力読みストロークＫ１と履歴データ読みストロークＫ２とを比較して前方一致する候補を抽出していく。
【００４９】
例えば、入力装置２で読み「すむ」が入力された場合には、図６に示す履歴データから、入力読みストロークＫ１「３３３７７７」と前方一致する読みｒに対応する表記ｅ「酢飯、相撲、李、住む」が候補とされる。さらに、入力装置２で読み「すめ」が入力された場合には、入力読みストロークＫ１「３３３７７７７」と前方一致する読みｒに対応する表記ｅ「酢飯、相撲、李」が候補とされる。また、入力装置２で読み「すも」が入力された場合には、図７に示すように、履歴データのうち入力読みストロークＫ１「３３３７７７７７」と前方一致する読みｒに対応する表記ｅ「相撲、李」が候補とされる。
【００５０】
このように、入力予測処理装置１では、キーストロークの回数の増加により入力される読みが遷移するに従って、入力予測の候補が絞り込まれて表示されるため、ユーザは、
1)  ストローク操作を行わずに所定数の候補から所望する表記を選択する方法、2)  ストローク操作を多めに行って、絞り込まれた候補から表記を選択する方法とのいずれの方法をも利用することができる。
【００５１】
図８に、キーストローク変換処理部１４を用いて入力読みのキーストロークを得る場合の履歴データ記憶処理の流れを示す。
【００５２】
記憶処理部１２は、入力処理部１１から受け取った入力装置２で入力された読みを入力読みＲ１とし（ステップＳ１）、入力読みＲ１をキーストローク変換処理部１４へ渡してキーストローク変換処理を行わせ（ステップＳ２）、その戻り値を入力読みストロークＫ１とし（ステップＳ３）、さらに、入力処理部１１から受け取った表記を表記Ｅ１とし（ステップＳ４）、入力読みストロークＫ１と表記Ｅ１との組合せを履歴データ記憶部１３に記憶する（ステップＳ５）。
【００５３】
図９に、図８に示す処理の流れの中のステップＳ２のキーストローク変換処理の流れを示す。
【００５４】
キーストローク変換処理部１４は、入力パラメータとして受け取った入力読みＲ１を読みＲとし（ステップＳ１１）、キーストローク変換テーブル１５を参照して、読みＲをキーストロークのデータ列に変換し、その処理結果（戻り値）を返却する（ステップＳ１２）。
【００５５】
また、記憶処理部１２は、キーストローク変換処理部１４が入力読みＲ１を変換したキーストロークのデータ列（入力読みストロークＫ１）を読みｒとして履歴データ記憶部１３へ記憶する代わりに、入力処理部１１から直接受け取った入力読みのキーストロークを入力読みストロークＫ１に格納し、これを読みｒとして履歴データ記憶部１３へ記憶するようにしてもよい。この場合に、入力処理部１１は、入力装置２で読み入力中に押されたキーストロークを保持して記憶処理部１２へ渡し、記憶処理部１２は、受け取ったキーストロークを入力読みストロークＫ１の内容として、履歴データ記憶部１３に記憶する。なお、入力処理部１１が読み入力中のキーストロークを直接入力読みストロークＫ１に格納するようにしてもよい。
【００５６】
図１０は、入力処理部１１から読みのキーストロークを得る場合の履歴データ記憶処理の流れを示す。
【００５７】
記憶処理部１２は、入力処理部１１から、読み入力中のキーストロークを受け取り、入力読みストロークＫ１とする（ステップＳ２１）。そして、記憶処理部１２は、入力処理部１１から確定した表記を受け取り、表記Ｅ１とし（ステップＳ２２）、さらに、入力読みストロークＫ１と表記Ｅ１との組合せを履歴データ記憶部１３へ記憶する（ステップＳ２３）。
【００５８】
図１１に、候補取得処理の流れを示す。候補取得処理部１６は、入力読みＲ１が所定数以上の読みとなると候補取得処理を開始する。
【００５９】
候補取得処理部１６は、入力読みＲ１を入力パラメータとしてキーストローク変換処理部１４へ渡してキーストローク変換処理を行わせ（ステップＳ３１）、その戻り値を入力読みストロークＫ１に格納し（ステップＳ３２）、入力読みストロークＫ１の長さを変数Ｌとする（ステップＳ３３）。さらに、記憶処理部１２では、履歴データ記憶部１３から履歴データ（読みｒと表記ｅ）を取り出し、読みｒを履歴データ読みストロークＫ２とし、表記ｅを表記Ｅ１とする（ステップＳ３４）。
【００６０】
履歴データ読みストロークＫ２と表記Ｅ１とにデータがあれば（ステップＳ３５）、候補取得処理部１６は、履歴データ読みストロークＫ２の長さを変数Ｍとする（ステップＳ３６）。そして、変数Ｌが変数Ｍ以下であれば（ステップＳ３７）、入力読みストロークＫ１の長さまで、入力読みストロークＫ１と履歴データ読みストロークＫ２とを先頭から比較して（ステップＳ３８）、両者が等しければ（ステップＳ３９）、表記Ｅ１を候補として採用する（ステップＳ４０）。そして、内部データ記憶部１７の履歴データ読みストロークＫ２および表記Ｅ１にデータがなくなるまで（ステップＳ３５）、ステップＳ３６からステップＳ４０までの処理を繰り返し、データがなくなれば処理を終了する。
【００６１】
〔第２の実施の形態〕
第２の実施の形態では、入力予測処理装置１は、入力された読みをそのまま文字列としてその表記とともに履歴データとして記憶しておく。所定数の読みが入力されると、入力された読みのキーストロークと、履歴データの読みから変換したキーストロークのデータ列とを比較して、一致する場合に履歴データのその読みに対応する表記を候補として採用する。
【００６２】
第２の実施の形態において、本発明を実現するための各処理手段の構成例は、図１に示す構成例とほぼ同様である。
【００６３】
本形態では、入力予測処理装置１の内部データ記憶部１７は、入力読みＲ１と、入力読みストロークＫ１と、履歴データ読みＲ２と、履歴データ読みストロークＫ２と、表記Ｅ１とを持つ。履歴データ読みＲ２は、履歴データ記憶部１３に記憶された履歴データの読みｒを保持する変数である。
【００６４】
本形態での履歴データ記憶処理では、記憶処理部１２は、入力処理部１１から受け取った読みを入力読みＲ１とし、入力読みＲ１の内容をそのまま読みｒとして履歴データ記憶部１３に記憶する。例えば、記憶処理部１２は、入力処理部１１から受け取った読み「すもう」を入力読みＲ１とし、確定した表記「相撲」を表記Ｅ１として、図１２に示すように、入力読みＲ１「すもう」と表記Ｅ１「相撲」とを履歴データの１レコード（読みｒと表記ｅ）として履歴データ記憶部１３に記憶する。
【００６５】
その後、入力装置２で読み「すもう」を入力するために、「３」キーが３回押されて読み「す」が入力され、続いて「７」キーが１回押されて「ま」が入力されたとする。
【００６６】
記憶処理部１２は、候補取得処理部１６の要求により、履歴データ記憶部１３から履歴データを取得し、読みｒを履歴データ読みＲ２とし、表記ｅを表記Ｅ１とする。
【００６７】
候補取得処理部１６は、第１の実施の形態と同様の処理により、入力読みＲ１を入力パラメータとしてキーストローク変換処理部１４へ渡し、その戻り値（キーストローク）を入力読みストロークＫ１とする。
【００６８】
候補取得処理部１６は、履歴データ読みＲ２のすべての内容（読み）を入力パラメータとしてキーストローク変換処理部１４へ渡し、キーストローク変換処理部１４からの戻り値を履歴データ読みストロークＫ２に格納する。
【００６９】
次に、候補取得処理部１６は、図５に示すように、入力読みストロークＫ１と履歴データ読みストロークＫ２とを比較して、前方一致する場合には、その履歴データ読みＲ２に対応する表記Ｅ１を候補として採用する。［比較処理Ａ］
例えば、図１３に示すような履歴データ（読みｒと表記ｅの組合せ）が履歴データ記憶部１３に記憶され、キーストローク変換処理部１４により変換された読みｒのキーストロークのデータ列を履歴データ読みストロークＫ２とする場合に、候補取得処理部１６は、入力読みＲ１「すま」の入力読みストロークＫ１「３３３７」と履歴データ読みストロークＫ２とを比較する。図１３中の履歴データ読みストロークＫ２の下線で示す部分は、入力読みストロークＫ１と前方一致する部分を表す。
【００７０】
候補取得処理部１６は、入力読みストロークＫ１「３３３７」に前方一致する履歴データ読みストロークＫ２に対応する表記ｅ「酢飯、相撲、菫、李、スマイル、住む」の６つを候補とする。
【００７１】
本形態の比較処理Ａの処理においても、第１の実施の形態と同様、ユーザは、入力装置２で「３３３７」と４回のストローク数で、所望する表記「相撲」を含む候補を取得することができる。
【００７２】
そして、さらに入力装置２で数字キーが押され、「すみ→すむ→すめ→すも」のように入力される読みが遷移していくと、記憶処理部１２は、入力装置２で順次入力される内容を入力読みＲ１とし、これをもとにキーストローク変換されたデータ列を入力読みストロークＫ１とする。また、候補取得処理部１６は、前記の処理と同様に、入力読みストロークＫ１と履歴データ読みストロークＫ２とを比較して候補を決定していく。
【００７３】
図１４に、本形態において比較処理Ａを用いた候補取得処理の流れを示す。
【００７４】
候補取得処理部１６は、入力読みＲ１の長さを変数Ｌとし（ステップＳ５１）、入力読みＲ１を入力パラメータとしてキーストローク変換処理部１４へ渡してキーストローク変換処理を行わせ（ステップＳ５２）、その戻り値を入力読みストロークＫ１とする（ステップＳ５３）。
【００７５】
記憶処理部１２では、履歴データ記憶部１３から履歴データ（読みｒと表記ｅ）を取り出し、読みｒを履歴データ読みＲ２とし、表記ｅを表記Ｅ１とする（ステップＳ５４）。
【００７６】
そして、履歴データ読みＲ２および表記Ｅ１に格納されたデータがあれば（ステップＳ５５）、候補取得処理部１６は、履歴データ読みＲ２の長さを変数Ｍとする（ステップＳ５６）。そして、変数Ｌが変数Ｍ以下であれば（ステップＳ５７）、履歴データ読みＲ２を入力パラメータとしてキーストローク変換処理部１４へ渡してキーストローク変換処理を行わせ（ステップＳ５８）、その戻り値を履歴データ読みストロークＫ２とする（ステップＳ５９）。そして、候補取得処理部１６は、入力読みストロークＫ１の長さまで、入力読みストロークＫ１と履歴データ読みストロークＫ２とを先頭から比較し（ステップＳ６０）、両方が等しければ（ステップＳ６１）、表記Ｅ１を候補として採用する（ステップＳ６２）。
【００７７】
その後、履歴データ読みＲ２および表記Ｅ１のデータがなくなるまで（ステップＳ５５）、ステップＳ５６からステップＳ６２までの処理を繰り返し、データがなくなったら処理を終了する。
【００７８】
さらに別の比較方法として、候補取得処理部１６は、入力読みＲ１の先頭から１文字分ずつを順にキーストローク変換させ、さらに、キーストローク変換される入力読みＲ１の読み（文字）の位置に対応する履歴データ読みＲ２の文字をキーストローク変換させて、戻り値を入力読みストロークＫ１と履歴データ読みストロークＫ２とする。そして、入力読みストロークＫ１と履歴データ読みストロークＫ２とを比較し、入力読みＲ１の最後の文字の直前まで比較を繰り返して、両者が完全一致する場合に表記Ｅ１を候補として採用する１つ目の条件とする。１つ目の条件を満たせば、入力読みＲ１の最後の文字およびこの最後の文字の位置に対応する履歴データ読みＲ２の読みをキーストローク変換させた結果を入力読みストロークＫ１および履歴データ読みストロークＫ２とし、入力読みストロークＫ１と履歴データ読みストロークＫ２とが前方一致していれば、表記Ｅ１を候補として採用する。［比較処理Ｂ］
例えば、図１５（Ａ）に示すように、記憶処理部１２は、入力読みＲ１「すま」の先頭１文字「す」をキーストローク変換した値「３３３」を入力読みストロークＫ１とし、入力読みＲ１の先頭１文字「す」に対応する履歴データ読みＲ２「すもう」の「す」をキーストローク変換した値「３３３」を履歴データ読みストロークＫ２とする。候補取得処理部１６は、図１５（Ｂ）に示すように、入力読みストロークＫ１「３３３」と履歴データ読みストロークＫ２「３３３」とを比較する。
【００７９】
そして、両者が完全一致する場合には、記憶処理部１２は、図１５（Ｃ）に示すように、入力読みＲ１「すま」の最後の文字「ま」をキーストローク変換した値「７」を入力読みストロークＫ１とし、入力読みＲ１の最後の文字「ま」に対応する履歴データ読みＲ２「すもう」の「も」をキーストローク変換した値「７７７７７」を履歴データ読みストロークＫ２とする。
【００８０】
候補取得処理部１６は、入力読みストロークＫ１と、入力読みストロークＫ１の長さ分の履歴データ読みストロークＫ２とを比較して両者が完全一致すれば、すなわち、入力読みストロークＫ１と履歴データ読みストロークＫ２とが前方一致すれば、表記Ｅ１を候補として採用する。例えば、図１５（Ｄ）に示すように、入力読みストロークＫ１「７」とその長さの分の履歴データ読みストロークＫ２「７」とを比較して完全一致であれば表記Ｅ１を候補として採用する。
【００８１】
例えば、図１６に示すような履歴データ（読みｒと表記ｅの組合せ）が履歴データ記憶部１３に記憶され、キーストローク変換処理部１４により変換された読みｒのキーストロークのデータ列を履歴データ読みストロークＫ２とする場合に、候補取得処理部１６は、入力読みＲ１「すむ」の先頭文字「す」の入力読みストロークＫ１「３３３」と、この先頭文字「す」の位置に対応する履歴データ読みストロークＫ２の文字（読み）のキーストローク変換された値とを比較する。さらに、入力読みＲ１「すむ」の「む」の入力読みストロークＫ１「７７７」と、入力読みＲ１「すむ」の「む」の位置に対応する履歴データ読みＲ２の文字のキーストローク変換された値である履歴データ読みストロークＫ２とを比較する。この時点で、図１６に示す履歴データのすべての表記ｅは完全一致している。さらに、候補取得処理部１６は、入力読みＲ１「すむ」の「す」の入力読みストロークＫ１「３３３」および同じく「む」の入力読みストロークＫ１「７７７」を比較して、前方一致する履歴データ読みストロークＫ２に対応する表記ｅ「酢飯、相撲、李、住む」の４つを候補とする。
【００８２】
図１７および図１８に、本形態において比較処理Ｂを用いた候補取得処理の流れを示す。
【００８３】
候補取得処理部１６は、入力読みＲ１の長さを変数Ｌとする（ステップＳ７１）。さらに、記憶処理部１２は、履歴データ記憶部１３から履歴データ（読みｒと表記ｅ）を取り出し、読みｒを履歴データ読みＲ２とし、表記ｅを表記Ｅ１とする（ステップＳ７２）。
【００８４】
履歴データ読みＲ２および表記Ｅ１にデータがあれば（ステップＳ７３）、候補取得処理部１６は、履歴データ読みＲ２の長さを変数Ｍとして（ステップＳ７４）、変数Ｌが変数Ｍであれば（ステップＳ７５）、変数Ｎを０として（ステップＳ７６）、変数Ｎが変数Ｌより小さい間のみ（ステップＳ７７）、入力読みストロークＫ１と履歴データ読みストロークＫ２とをクリアして（ステップＳ７８）、入力読みＲ１のＮ文字目の文字を入力パラメータとしてキーストローク変換処理部１７へ渡してキーストローク変換処理を行わせ（ステップＳ７９）、その戻り値を入力読みストロークＫ１とする（ステップＳ８０）。さらに、履歴データ読みＲ２のＮ文字目の文字を入力パラメータとしてキーストローク変換処理部１７へ渡してキーストローク変換処理を行わせ（ステップＳ８１）、その戻り値を履歴データ読みストロークＫ２とする（ステップＳ８２）。
【００８５】
その後、変数Ｎが変数Ｌ−１（入力読みＲ１の長さ−１）よりも小さい限りで、以下のステップＳ８７およびステップＳ８８の処理を繰り返す（ステップＳ８３）。
【００８６】
また、ステップＳ８３の処理で、変数Ｎが変数Ｌ−１以上になると、候補取得処理部１６は、入力読みストロークＫ１の長さまで、入力読みストロークＫ１と履歴データ読みストロークＫ２とを比較して（ステップＳ８４）、両方が等しければ（ステップＳ８５）、候補として採用する（ステップＳ８６）。ステップＳ８３の処理で、変数Ｎが変数Ｌ−１よりも小さく、履歴データ読みストロークＫ２のデータと入力読みストロークＫ１のデータとが等しければ（ステップＳ８７）、変数Ｎを１加算して（ステップＳ８８）、ステップＳ７７の処理へ戻る。そして、内部データ記憶部１７の履歴データ読みＲ２および表記Ｅ１にデータがなくなるまで（ステップＳ７３）、ステップＳ７４からステップＳ８６までの処理を繰り返し、データがなくなったら処理を終了する。
【００８７】
さらに別の比較方法として、候補取得処理部１６は、入力読みＲ１および履歴データ読みＲ２の先頭から読み（文字）のままで入力読みＲ１の長さ−１の範囲で比較し、読みが完全一致する場合に、入力読みＲ１の最後の文字とその文字の位置に対応する履歴データ読みＲ２の文字とをそれぞれキーストロークに変換させて、変換されたキーストロークのデータ列同士を比較し、前方一致する候補を採用する。［比較処理Ｃ］
図１９に示すように、候補取得処理部１６は、入力読みＲ１「すま」の最後の文字の１つ前までの文字「す」と、履歴データ読みＲ２「すもう」から入力読みＲ１で切り出した文字と同じ位置までの文字「す」とを比較して完全一致するかどうかを判定する。そして、完全一致する場合には、記憶処理部１２は、入力読みＲ１「すま」の最後の文字「ま」をキーストローク変換した値「７」を入力読みストロークＫ１とし、履歴データ読みＲ２「すもう」から、入力読みＲ１の「ま」の位置に対応する文字「も」もしくは「も」以降の文字をキーストローク変換した値「７７７７７」を履歴データ読みストロークＫ２とし、その後、候補取得処理部１６は、入力読みストロークＫ１「７」と、入力読みストロークＫ１の長さ分の履歴データ読みストロークＫ２「７７７７７」とを比較して、前方一致であるときは表記Ｅ１を候補として採用する。
【００８８】
例えば、図２０に示すような履歴データ（読みｒと表記ｅの組合せ）が履歴データ記憶部１３に記憶され、入力装置２から読み「すむ」が入力された場合に、入力読みＲ１の先頭の文字「す」と、この先頭の文字「す」に対応する履歴データ読みＲ２の文字（読み）とを比較して一致するかどうか判定する。入力読みＲ１の先頭「す」については、すべての読みｒが一致する。さらに、候補取得処理部１６は、入力読みＲ１「すむ」の「む」の入力読みストロークＫ１「７７７」と、この文字「む」に対応する履歴データ読みストロークＫ２とを比較し、前方一致する履歴データ読みストロークＫ２に対応する表記ｅ「酢飯、相撲、李、住む」の４つを候補とする。
【００８９】
図２１および図２２に、本形態において比較処理Ｃを用いた候補取得処理の流れを示す。
【００９０】
候補取得処理部１６は、入力読みＲ１の長さを変数Ｌとする（ステップＳ９１）。入力読みＲ１の最後の文字を入力パラメータとしてキーストローク変換処理部１７へ渡してキーストローク変換処理を行わせ（ステップＳ９２）、その戻り値を入力読みストロークＫ１とし（ステップＳ９３）、入力読みストロークＫ１の長さを変数ＬＸとする（ステップＳ９４）。
【００９１】
そして、記憶処理部１２では、履歴データ記憶部１３の履歴データ（読みｒと表記ｅ）を取り出し、読みｒを履歴データ読みＲ２とし、表記ｅを表記Ｅ１とする（ステップＳ９５）。
【００９２】
履歴データ読みＲ２および表記Ｅ１にデータがあれば（ステップＳ９６）、候補取得処理部１６は、履歴データ読みＲ２のデータの長さを変数Ｍとし（ステップＳ９７）、変数Ｌが変数Ｍ以下であれば（ステップＳ９８）、Ｌ−１文字までで、入力読みＲ１と履歴データ読みＲ２とを比較する。なお、Ｌ＝１の場合には等しいとみなす（ステップＳ９９）。両方が等しい場合には（ステップＳ１００）、履歴データ読みＲ２の先頭からＬ−１番目の１文字（あるいはＬ−１番目以降の全ての文字）を入力パラメータとしてキーストローク変換処理部１７へ渡してキーストローク変換処理を行わせ（ステップＳ１０１）、その戻り値を履歴データ読みストロークＫ２とする（ステップＳ１０２）。
【００９３】
そして、履歴データ読みストロークＫ２の長さを変数ＬＹとし（ステップＳ１０３）、変数ＬＸがＬＹ以下ならば（ステップＳ１０４）、ＬＸ文字までで入力読みストロークＫ１と履歴データ読みストロークＫ２とを比較する（ステップＳ１０５）。両方が等しければ（ステップＳ１０６）、その表記Ｅ１を候補として採用する（ステップＳ１０７）。
【００９４】
履歴データ読みＲ１および表記Ｅ１にデータがなくなるまで（ステップＳ９６）、ステップＳ９７からステップＳ１０７までの処理を繰り返し、データがなければ処理を終了する。
【００９５】
〔第３の実施の形態〕
同じ入力キーに割り当てられた異なる文字が連続するような読みを考える。例えば、履歴データ（読みｒと表記ｅ）として、読みｒ「あお」と表記ｅ「青」、読みｒ「いえ」と表記ｅ「家」が履歴データ記憶部１３に記憶されているとする。履歴データの読みｒは、入力された読みのキーストロークのデータ列で記憶されているため、入力された読み「あお」は、読みｒ「１１１１１１」として記憶され、読み「いえ」は、読みｒ「１１１１１１」として記憶される。
【００９６】
この場合に、表記「青木」を得るために入力装置２で読み「あ」が入力されると、候補取得部１６は、入力された読みのキーストロークと前方一致する読み「１１１１１１（いえ）」に対応する表記「家」を候補として採用するため、ユーザにとっては不適切な候補が表示されてしまうことになる。
【００９７】
同じキーに割り当てられた読みを連続して入力する場合に、読み（文字）は、通常トグル状に割り当てられているため、読みの選択のために、まず読みを１つ入力した後に特定のキーを押して読み入力位置を移動させる操作をしてから、さらに同じ入力キーを押すような入力操作が行なわれる。
【００９８】
例えば、入力装置２で読み「あお」を入力するには、「あ」を入力するために「１」キーを１回押した後に、例えば矢印キー（「→」で示す）などの読み入力位置を移動させるためのキー（以下、入力位置移動キーとする）を押し、さらに、読み「お」を入力するために「１」キーを５回押す。この場合に、読み「あお」の入力操作すなわちキーストロークは「１→１１１１１」となる。
【００９９】
本形態では、かかる入力位置移動キーの情報を利用して、より適切な入力予測の候補を提示できるようにする。
【０１００】
本形態において、入力予測処理装置１は、前記の第１の実施の形態で説明した入力予測処理装置１の構成例と同様の処理手段であり、第１の実施の形態で説明した処理とほぼ同様の処理により入力予測の候補を決定する。
【０１０１】
入力処理部１１は、入力装置２で入力された入力位置移動キーの情報を、記憶処理部１２に渡し、記憶処理部１２は、入力された読みと入力位置移動キーとの組合せを入力読みＲ１とし、履歴データの読みｒとして履歴データ記憶部１３に記憶する。
【０１０２】
例えば、記憶処理部１２は、入力装置２で「あ、→、お、き」と入力された場合に、記憶処理部１２は、入力された入力位置移動キーの情報を含む読み「あ→おき」を入力読みＲ１とし、入力読みＲ１を入力パラメータとしてキーストローク変換処理部１４へ渡す。キーストローク変換処理部１４では、入力読みＲ１の読みの部分を図３に示すキーストローク変換テーブル１５を用いてキーストロークに変換し、入力位置移動キーの情報をそのまま付加する。その戻り値「１→１１１１１２２」を入力読みストロークＫ１とし、入力読みストロークＫ１を読みｒとして表記ｅ「青木」とともに履歴データ記憶部１３に記憶する。
【０１０３】
その後、入力装置２で読み「あ→お」が入力されると、記憶処理部１２は、入力読み「あ→お」を入力読みＲ１として、キーストローク変換処理での戻り値「１→１１１１１」を入力読みストロークＫ１とし、さらに、履歴データ記憶部１３の読みｒを履歴データ読みストロークＫ２とする。候補取得処理部１６は、入力読みストロークＫ１と履歴データ読みストロークＫ２とを比較して、前方一致する読みｒに対応する表記Ｅ１を候補として採用する。
【０１０４】
本形態において、履歴データとして入力位置移動キーの情報を用いることにより、読み「あお」が入力された場合に、履歴データの表記ｅ「家」のように不適切な候補を抽出することがなくなる。
【０１０５】
なお、入力装置２で、一般的に入力位置移動キーが押される場合は、入力位置移動キーの直前の読みと同じ入力キーが押される可能性が高いと考えられる。そこで、キーストローク変換処理部１４は、入力パラメータとして受け取った入力読みＲ１の最後の文字が入力位置移動キーである場合に、入力読みＲ１の内容をキーストロークに変換し、入力位置移動キーの情報の後に入力位置移動キーの直前の読みのストロークのデータを付加し、そのデータ列を候補取得処理部１６へ返却する。
【０１０６】
入力装置２で、読み「あ、→」が入力されたとする。候補取得処理部１６は、入力読みＲ１「あ→」を入力パラメータとしてキーストローク変換処理部１４へ渡す。キーストローク変換処理部１４は、入力読みＲ１の「あ→」を、キーストローク変換テーブル１５をもとにキーストローク変換して、入力読みストロークＫ１に「１」を内容とし、「→」を付加し、「→」の直前の「１」を付加し、処理結果「１→１」を候補取得処理部１６へ返却する。その後、候補取得処理部１６は、入力読みストロークＫ１「１→１」をもとに履歴データ読みＲ２を比較し、前方一致する読みｒの表記Ｅ１を候補として採用する。
【０１０７】
履歴データとして、図２３に示すような読みｒと表記ｅの組合せが履歴データ記憶部１３に格納されていたとする。候補取得処理部１６は、入力読みＲ１からキーストローク変換された入力読みストロークＫ１「１→１」と、読みｒの内容である履歴データ読みストロークＫ２とを比較する。図２３の履歴データ読みストロークＫ２の下線で示す部分が前方一致する部分である。読みｒ「あお、あおき」に対応する表記ｅ「青、青木」を候補として抽出する。
【０１０８】
入力位置移動キーの直後に入力キーを付加しない場合には、比較する入力読みストロークＫ１は「１→」となり、履歴データの読みｒ「あめりか、あお、あか、あしあと、あおき」が一致して表記ｅ「アメリカ、青、赤、足跡、青木」が候補とされて、「アメリカ、赤、足跡」などの不適切な候補を含んでしまうことになる。
【０１０９】
このように、ユーザは、入力位置移動キーを押しただけの時点で、次に押されると推定した入力キーを１回押した状態にみなして、入力予測の候補を得ることができる。
【０１１０】
また、本形態では、前記の第２の実施の形態で説明した処理とほぼ同様の処理により入力予測の候補を決定する。
【０１１１】
履歴データ記憶処理において、記憶処理部１２は、入力装置２で入力された読みに入力位置移動キーが含まれている場合に、入力された読みから入力位置移動キーを削除して入力読みＲ１とし、入力読みＲ１を読みｒとして表記ｅとともに履歴データ記憶部１３に記憶する。
【０１１２】
その後、記憶処理部１２は、入力装置２で入力された読みを入力読みＲ１とし、入力読みＲ１をキーストローク変換処理部１４でキーストロークのデータ列に変換して入力読みストロークＫ１とする。そして、記憶処理部１２は、候補取得処理部１６の要求により、履歴データ記憶部１３の読みｒを履歴データ読みＲ２とし、履歴データ読みＲ２を入力パラメータとしてキーストローク変換処理部１４へ渡す。キーストローク変換処理部１４は、図２４に示すキーストローク変換テーブル１５’をもとに、履歴データ読みＲ２を入力位置移動キーを含むキーストロークのデータ列に変換し、最後の入力位置移動キー（→）を削除して履歴データ読みストロークＫ２とする。
【０１１３】
図２５に示すように、記憶処理部１２は、入力読みＲ１「あ→」をキーストローク変換して直前の読みを付加した値「１→１」を入力読みストロークＫ１とし、履歴データ読みＲ２「あお」をキーストローク変換して最後の入力位置移動キーを削除した値「１→１１１１１」を履歴データ読みストロークＫ２とし、その後、候補取得処理部１６は、入力読みストロークＫ１「１→１」と履歴データ読みストロークＫ２とを比較して、前方一致であるときは表記Ｅ１「青」を候補として採用する。
【０１１４】
また、図２６に示すように、候補取得処理部１６は、入力読みＲ１「あ→」の最後の文字の１つ前までの文字「あ」と、履歴データ読みＲ２「あお」から入力読みＲ１で切り出した文字と同じ位置までの文字「あ」とを比較して完全一致するかどうかを判定する。そして、完全一致する場合には、記憶処理部１２は、入力読みＲ１「あ→」の最後の「→」から直前の読みのキーストロークを調べた値「１」を入力読みストロークＫ１とし、履歴データ読みＲ２「あお」から、入力読みＲ１の「→」の位置に対応する文字「お」をキーストローク変換した値「１１１１１」を履歴データ読みストロークＫ２とする。その後、候補取得処理部１６は、入力読みストロークＫ１「１」と履歴データ読みストロークＫ２とを比較して、前方一致であるときは表記Ｅ１「青」を候補として採用する。
【０１１５】
例えば、図２７に示すような履歴データ（読みｒと表記ｅの組合せ）が履歴データ記憶部１３に記憶され、入力装置２から読み「あ→」が入力された場合に、入力読みＲ１の先頭の文字「あ」と、この先頭の文字「あ」に対応する履歴データ読みＲ２の文字（読み）とを比較して一致するかどうか判定する。さらに、候補取得処理部１６は、入力読みＲ１「あ→」の「→」から上記の処理で得られた入力読みストロークＫ１「１」と、履歴データ読みＲ２からキーストローク変換された履歴データ読みストロークＫ２とを比較して、前方一致するものに対応表記ｅ「青、青木」の２つを候補とする。
【０１１６】
図２８および図２９に、第３の実施の形態における候補取得処理の流れを示す。
【０１１７】
候補取得処理部１６は、入力読みＲ１の長さを変数Ｌ２とし（ステップＳ１１１）、入力読みＲ１の最後の文字と入力位置移動キーを表す文字（→）とを比較して（ステップＳ１１２）、等しければ（ステップＳ１１３）、入力読みＲ１の長さ−１を変数Ｌとする（ステップＳ１１４）。入力パラメータとして入力読みＲ１のＬ−１文字目をキーストローク変換処理部１４へ渡してキーストローク変換処理を行なわせ（ステップＳ１１５）、その戻り値の先頭１文字を入力読みストロークＫ１に格納する（ステップＳ１１６）。
【０１１８】
入力読みＲ１の最後の文字が入力位置移動キーを表す文字（→）と等しくなければ（ステップＳ１１３）、入力読みＲ１の長さを変数Ｌとし（ステップＳ１１７）、入力パラメータとして入力読みＲ１の最後の文字をキーストローク変換処理部１４へ渡してキーストローク変換処理を行なわせ（ステップＳ１１８）、その戻り値を入力読みストロークＫ１に格納する（ステップＳ１１９）。
【０１１９】
入力読みストロークＫ１の長さを変数ＬＸとし（ステップＳ１２０）、記憶処理部１２は、読みｒと表記ｅとを取り出し、読みｒを履歴データ読みＲ２とし、表記ｅを表記Ｅ１とし（ステップＳ１２１）、履歴データ読みＲ２および表記Ｅ１にデータがあれば（ステップＳ１２２）履歴データ読みＲ２の長さを変数Ｍとする（ステップＳ１２３）。
【０１２０】
そして、変数Ｌが変数Ｍ以下であれば（ステップＳ１２４）、Ｌ２−１文字までで、入力読みＲ１と履歴データ読みＲ２とを比較する。Ｌ２＝１の場合は、入力読みＲ１と履歴データ読みＲ２が等しいとみなす（ステップＳ１２５）。両者が等しければ（ステップＳ１２６）、入力パラメータとして履歴データ読みＲ２のＬ２−１番目の１文字あるいはそれ以降のすべての文字をキーストローク変換処理部１４へ渡してキーストローク変換処理を行わせ（ステップＳ１２７）、その戻り値を履歴データ読みストロークＫ２とする（ステップＳ１２８）。
【０１２１】
履歴データ読みストロークＫ２の長さを変数ＬＹとし（ステップＳ１２９）、ＬＹがＬＸ以上であれば（ステップＳ１３０）、ＬＸ番目の文字までで、入力読みストロークＫ１と履歴データ読みストロークＫ２とを比較し（ステップＳ１３１）、両者が等しい場合には（ステップＳ１３２）、表記Ｅ１を候補として採用する（ステップＳ１３３）。
【０１２２】
その後、履歴データ読みＲ２にデータがあるまで（ステップＳ１２１）、ステップＳ１２２からステップＳ１３３の処理を繰り返す。
【０１２３】
図３０に、図２８に示すステップＳ１１５、Ｓ１１８および図２９に示すＳ１２７のキーストローク変換処理の流れを示す。
【０１２４】
キーストローク変換処理部１４は、受け取った入力パラメータを読みＲとし、読みＲの長さを変数Ｌとし、変数Ｎを０とし、変数Ｋをクリアする（ステップＳ１４１）。読みＲのＮ番目の文字をストロークのデータ列に変換し、その結果を変数Ｋの最後に追加する（ステップＳ１４２）。そして、「→」等の入力位置移動キーの情報（→）を変数Ｋの最後に追加する（ステップＳ１４３）。変数Ｎを１加算して、変数Ｎが変数Ｌより小さい間はステップＳ１４２からステップＳ１４４までの処理を繰り返す（ステップＳ１４５）。
【０１２５】
〔第４の実施の形態〕
前記の実施の形態の説明では、入力処理部１１が入力装置２の入力キーのストローク数で入力される文字を区別する場合についての処理を説明した。本発明は、いわゆるページャー方式の入力、すなわち２以上の入力キーの組合せにより入力される文字を区別するような入力を行う場合においても適用することができる。この場合キーストローク変換を、例えば図３１に示すようなキーストローク変換テーブル３５を用いて行なう。例えば、読み「すもう」のキーストロークのデータ列は「３３７５１３」となる。
【０１２６】
本形態において、入力予測処理装置１は、前記の第１の実施の形態で説明した入力予測処理装置１の構成例と同様であり、第１の実施の形態および第２の実施の形態において説明した種々の処理を行うことにより入力予測の候補を抽出する。
【０１２７】
候補取得処理において、図３２に示すように、入力装置２で、読み「す」が入力され、続けて読み「も」のために「７」キーが押された場合に、記憶処理部１２は、「す、７」を受け取って入力読みＲ１「す７」とする。また、記憶処理部１２は、履歴データ記憶部１３から読みｒ「すもう」を履歴データ読みＲ２とし、表記ｅ「相撲」を表記Ｅ１とする。その後、候補処理取得部１６は、入力読みＲ１をキーストローク変換させた入力読みストロークＫ１「３３７」と、履歴データ読みＲ２をキーストローク変換させた履歴データ読みストロークＫ２「３３７５１３」とを比較して、前方一致であるときは表記Ｅ１「相撲」を候補として採用する。
【０１２８】
〔第５の実施の形態〕
前記の第１の実施の形態〜第４の実施の形態の説明では、履歴データ記憶部１３に記憶する履歴データが読みと表記の組合せである場合について説明した。
【０１２９】
本形態では、例えば、入力装置２の数字の各キーに割り当てられた複数の英数字を入力する場合のように、読みを表す文字がそのまま表記となるような文字入力処理において入力予測処理を行なう場合を説明する。
【０１３０】
本形態において、入力予測処理装置１は、前記の第１の実施の形態で説明した入力予測処理装置１の構成例と同様であり、第１の実施の形態ないし第３の実施の形態において説明した種々の処理を行うことにより入力予測の候補を抽出する。
【０１３１】
入力装置２の数字の各キーの英文字の割り当てが、例えば図３３に示すキーストローク変換テーブル４５に示す割り当てであるとする。入力装置２で入力された「ＳＩＺＥ」のキーストロークのデータ列は「７３３３９９２２」となる。
【０１３２】
内部データ記憶部１７’は、図３４に示すように、入力表記Ｅ３と、入力表記ストロークＫ３と、履歴データ表記Ｅ４と、履歴データ表記ストロークＫ４の４つの変数を持つ。入力表記Ｅ３は、入力装置２で入力された表記を保持する変数である。入力表記ストロークＫ３は、入力表記Ｅ３のキーストローク変換したデータ列を保持する変数である。履歴データ表記Ｅ４は、履歴データ記憶部１３から取り出した表記ｅを保持する変数である。履歴データ表記ストロークＫ４は、履歴データ表記Ｅ４をキーストローク変換処理したデータ列を保持する変数である。
【０１３３】
記憶処理部１２は、入力装置２で文字が入力されると、入力処理部１１から得たその入力文字を入力表記Ｅ３とする。そして、図３５に示すように、入力表記Ｅ３の内容を履歴データ（表記ｅ）として履歴データ記憶部１３に記憶する。
【０１３４】
その後、入力装置２で所定数の文字が入力されると、記憶処理部１２は、候補取得処理部１６の要求により、履歴データ記憶部１３から表記ｅを取得して履歴データ表記Ｅ４とする。また、候補取得処理部１６は、入力された文字である入力表記Ｅ３を入力パラメータとしてキーストローク変換処理部１４へ渡し、その戻り値を、入力表記ストロークＫ３とし、同様に履歴データ表記Ｅ４を入力パラメータとしたキーストローク変換処理による戻り値を履歴データ表記ストロークＫ４とする。そして、候補取得処理部１６は、入力表記ストロークＫ３と履歴データ表記ストロークＫ４とを比較して、一致する場合に履歴データ表記Ｅ４を候補とする。
【０１３５】
図３６に示すように、履歴データ記憶部１３に表記ｅ「ＳＩＺＥ」が記憶され、入力装置２で、表記「ＳＩＺＥ」を得るために「７」キーで「Ｓ」を得て、その後「３」キーを押したとする。記憶処理部１２は、入力表記Ｅ３「Ｓ、３」をキーストローク変換処理した値「７３」を入力表記ストロークＫ３とする。候補取得処理部１６は、記憶処理部１２が得た履歴データ表記Ｅ４「ＳＩＺＥ」をキーストローク変換処理したデータ列である履歴データ表記ストロークＫ４「７３３３９９２２」と入力表記ストロークＫ３「７３」とを比較して、前方一致する場合に、履歴データ表記Ｅ４「ＳＩＺＥ」を候補に採用する。
【０１３６】
図３７に比較結果の例を示す。図３７（Ａ）は、入力された表記と履歴データ記憶部１３に記憶された表記とをキーストロークのデータ列に変換して一致するかどうかの比較処理を行なった場合の結果例である。また、図３７（Ｂ）は、入力された表記と履歴データ記憶部１３に記憶された表記とを、一部を表記のまま（文字列）で比較し、一部をキーストロークのデータ列に変換して一致するかどうかの比較処理を行なった場合の結果例である。図３７中、一致する表記ｅを丸印を付けて表す。候補取得処理部１６は、前方一致する表記ｅ「ＳＨＥ、ＳＩＺＥ、ＳＨＡＤＥ」を候補として採用する。
【０１３７】
図３８および図３９に、第５の実施の形態における候補取得処理の流れを示す。
【０１３８】
候補取得処理部１６は、入力表記Ｅ３の長さを変数Ｌとし（ステップＳ１５１）、入力パラメータとして入力表記Ｅ３のＬ−１文字目をキーストローク変換処理部１４へ渡し、キーストローク変換処理を行なわせ（ステップＳ１５２）、その戻り値を入力表記ストロークＫ３とし（ステップＳ１５３）、入力表記ストロークＫ３の長さを変数ＬＸとする（ステップＳ１５４）。
【０１３９】
記憶処理部１２は、履歴データ記憶部１３から表記ｅを取り出し、履歴データ表記Ｅ４とし（ステップＳ１５５）、履歴データ表記Ｅ４にデータがあれば（ステップＳ１５６）、履歴データ表記Ｅ４の長さを変数Ｍとし（ステップＳ１５７）、変数Ｌが変数Ｍ以下であれば（ステップＳ１５８）、Ｌ−１文字までで、入力表記Ｅ３と履歴データ表記Ｅ４とを比較する。Ｌ＝１の場合は、入力表記Ｅ３と履歴データ表記Ｅ４が等しいとみなす（ステップＳ１５９）。両者が等しければ（ステップＳ１６０）、候補取得処理部１６は、入力パラメータとして、履歴データ表記Ｅ４のＬ−１番目の１文字あるいはそれ以降のすべての文字をキーストローク変換処理部１４へ渡し、キーストローク変換処理を行なわせ（ステップＳ１６１）、その戻り値を履歴データ表記ストロークＫ４とする（ステップＳ１６２）。
【０１４０】
履歴データ表記ストロークＫ４の長さを変数ＬＹとし（ステップＳ１６３）、ＬＹがＬＸ以上であるならば（ステップＳ１６４）、ＬＸ番目の文字までで、入力表記ストロークＫ３と履歴データ表記ストロークＫ４とを比較し（ステップＳ１６５）、両者が等しい場合には（ステップＳ１６６）、履歴データ表記Ｅ４を候補として採用する（ステップＳ１６７）。
【０１４１】
その後、履歴データ表記Ｅ４にデータがあるまで（ステップＳ１５６）、ステップＳ１５７からステップＳ１６７までの処理を繰り返し、データがなくなれば処理を終了する。
【０１４２】
〔第６の実施の形態〕
入力予測処理装置１は、中国語の表記の入力処理で一般的に実施される、いわゆるピンイン方式の文字入力処理において入力予測処理を行なうこともできる。
【０１４３】
ピンイン方式は、入力装置２のように数字の各キーに複数の英文字が割り当てられ、キーのストローク数によって入力される文字が遷移する入力方式である。この場合、キーストローク変換を、例えば図３３に示すようなキーストローク変換テーブル４５と同様のテーブルを用いて行なう。例えば、表記「力学」の読み「ＬＩＸＵＥ」を入力するためのキーストロークのデータ列は「４４４３３３８８８７７７２２」となる。なお、説明の簡略のため、以下のピンイン方式の入力の説明において、入力文字はすべて大文字とし、声調記号は省略している。
【０１４４】
本形態において、入力予測処理装置１は、前記の第１の実施の形態で説明した入力予測処理装置１の構成例と同様であり、第１の実施の形態ないし第３の実施の形態において説明した種々の処理を行うことにより入力予測の候補を抽出する。
【０１４５】
記憶処理部１２は、入力装置２でピンイン方式により入力された読み「ＬＩＸＵＥ」もしくはその読みのキーストロークのデータ列「４４４３３３８８８７７７２２」と確定した表記「力学」とを履歴データとして履歴データ記憶部１３に記憶する。
【０１４６】
その後、例えば、候補取得処理において、図４０に示すように、入力装置２で、読み「Ｌ」が入力され、続けて読み「Ｉ」のために「３」キーが押された場合に、記憶処理部１２は、「Ｌ、Ｇ」を受け取って入力読みＲ１「ＬＧ」とする。また、記憶処理部１２は、履歴データ記憶部１３から読みｒ「ＬＩＸＵＥ」を履歴データ読みＲ２とし、表記ｅ「力学」を表記Ｅ１とする。その後、候補取得処理部１６は、入力読みＲ１をキーストローク変換させた入力読みストロークＫ１「４４４３」と、履歴データ読みＲ２をキーストローク変換させた履歴データ読みストロークＫ２「４４４３３３８８８７７７２２」とを比較して、前方一致であるときは表記Ｅ１「力学」を候補として採用する。
【０１４７】
例えば、図４１に示すような、読みｒ（ストローク）と表記ｅとの組合せが履歴データとして履歴データ記憶部１３に記憶されていたとする。候補取得処理部１６は、比較処理の結果、入力読みストロークＫ１「４４４３」と前方一致する読みｒ（ストローク）の表記ｅ「力学、例外」を候補として採用する。
【０１４８】
また、候補取得処理部１６は、図４２に示すように、入力読みＲ１「ＬＧ」の最後の文字の１つ前までの文字「Ｌ」と、履歴データ読みＲ２「ＬＩＸＵＥ」から入力読みＲ１で切り出した文字と同じ位置までの文字「Ｌ」とを比較して完全一致するかどうかを判定する。そして、完全一致する場合には、記憶処理部１２は、入力読みＲ１「ＬＧ」の最後の文字「Ｇ」をキーストローク変換した値「３」を入力読みストロークＫ１とし、履歴データ読みＲ２「ＬＩＸＵＥ」から、入力読みＲ１の「Ｇ」の位置に対応する文字「Ｉ」（もしくは「Ｉ」以降の文字）をキーストローク変換した値「３３３」（もしくは「３３３８８８７７７２２」）を履歴データ読みストロークＫ２とし、その後、候補取得処理部１６は、入力読みストロークＫ１「３」と、入力読みストロークＫ１の長さ分の履歴データ読みストロークＫ２「３３３」（もしくは「３３３８８８７７７２２」）とを比較して、前方一致であるときは表記Ｅ１を候補として採用する。
【０１４９】
例えば、図４３に示すような履歴データ（読みｒと表記ｅの組合せ）が履歴データ記憶部１３に記憶され、入力装置２から読み「ＬＧ」が入力された場合に、入力読みＲ１の先頭の文字「Ｌ」と、この先頭の文字「Ｌ」に対応する履歴データ読みＲ２の文字（読み）とを比較して一致するかどうか判定する。入力読みＲ１の先頭「Ｌ」についてはすべての読みｒが一致する。さらに、候補取得処理部１６は、入力読みＲ１「ＬＧ」の「Ｇ」の入力読みストロークＫ１「３」と、文字「Ｇ」に対応する履歴データ読みストロークＫ２とを比較し、前方一致する履歴データ読みストロークＫ２に対応する表記ｅ「力学、例外」を候補とする。
【０１５０】
以上、本発明をその実施の形態により説明したが、本発明はその主旨の範囲において種々の変形が可能である。
【０１５１】
例えば、本発明の実施の形態では、キーストローク変換処理部は、キーストローク変換テーブルを参照して、入力読みなどをキーストロークのデータ列に変換するが、キーストローク変換テーブルを使用せずに、演算処理によって入力読み等の文字列をキーストロークのデータ列に変換するようにしてもよい。
【０１５２】
本発明の形態および実施例の特徴を列記すると以下のとおりである。
（付記１）  過去に入力された表記と読みを記憶する履歴データ記憶部を備え、次回の読みが入力されたときに、前記履歴データ記憶部から抽出した読みに対応する表記を候補として表示する入力予測処理をコンピュータに実行させるためのプログラムであって、
履歴データの読みとして、入力された読みをキーストロークのデータ列で表した読みストローク情報を前記履歴データ記憶部に記憶する記憶処理と、
次回の読みが入力された場合に、当該読みからキーストロークのデータ列で表す入力読みストローク情報を取得し、前記入力読みストローク情報と前記履歴データ読みとの先頭からの一部分が一致するときは、前記履歴データの読みに対応する前記表記を入力予測の候補とする候補取得処理とを、
コンピュータに実行させる
ことを特徴とする入力予測処理プログラム。
（付記２）  付記１に記載の入力予測処理プログラムにおいて、
前記記憶処理では、入力された読みの実際の入力時のキーストロークのデータ列を取得して前記読みストローク情報とする処理を、
コンピュータに実行させる
ことを特徴とする入力予測処理プログラム。
（付記３）  付記１に記載の入力予測処理プログラムにおいて、
前記記憶処理では、読みとキーストロークとの対応関係を定めた変換情報をもとに、入力された読みからキーストロークのデータ列を生成して前記読みストローク情報とする処理を、
コンピュータに実行させる
ことを特徴とする入力予測処理プログラム。
（付記４）  付記１に記載する入力予測処理プログラムであって、
前記記憶処理では、取得した前記入力された読みもしくは前記履歴データの読みに入力の位置を移動することを示す入力位置移動情報が含まれる場合に、前記入力位置移動情報を含めたキーストロークのデータ列を入力読みストローク情報もしくは履歴データ読みストローク情報として記憶する処理を、
コンピュータに実行させる
ことを特徴とする入力予測処理プログラム。
（付記５）  付記４に記載する入力予測処理プログラムであって、
前記候補取得処理では、取得した前記入力読みストローク情報もしくは前記履歴データ読みストローク情報の最後が入力位置移動情報であるときは、キーストロークのデータ列の最後に前記入力位置移動情報の直前のキーストロークの値を付加する処理を、
コンピュータに実行させる
ことを特徴とする入力予測処理プログラム。
（付記６）  過去に入力された表記と読みを記憶する履歴データ記憶部を備え、次回の読みが入力されたときに、前記履歴データ記憶部から抽出した履歴データの読みに対応する表記を候補として表示する入力予測処理をコンピュータに実行させるためのプログラムであって、
履歴データの読みとして、入力された読みの文字列を前記履歴データ記憶部に記憶する記憶処理と、
次回の読みが入力された場合に、当該入力された読みをキーストロークのデータ列で表す入力読みストローク情報を取得し、前記履歴データ記憶部の前記読みをキーストロークのデータ列で表す履歴データ読みストローク情報を取得し、前記入力読みストローク情報と前記履歴データ読みストローク情報との先頭からの一部分が一致するときは、前記履歴データの読みに対応する前記表記を候補とする候補取得処理とを、
コンピュータに実行させる
ことを特徴とする入力予測処理プログラム。
（付記７）  付記６に記載する入力予測処理プログラムであって、
前記候補取得処理では、前記入力された読みの最後から１つ前までの入力読みの文字列と、前記履歴データ読みのうち前記入力読みの文字列に対応する読みの文字列とが一致する場合に、前記入力読みの最後の文字をキーストロークのデータ列で表す入力読みストローク情報を取得し、前記履歴データの読みから前記入力された読みの最後の文字に対応する文字をキーストロークのデータ列で表す履歴データ読みストローク情報を取得し、前記入力読みストローク情報と前記履歴データ読みストローク情報との先頭からの一部分が一致するときに、前記履歴データの読みに対応する表記を候補に採用する処理を、
コンピュータに実行させる
ことを特徴とする入力予測処理プログラム。
（付記８）  付記６に記載する入力予測処理プログラムであって、
前記候補取得処理では、取得した前記入力読みもしくは前記履歴データの読みに入力位置移動情報が含まれる場合に、前記入力読みもしくは前記履歴データの読みの最後が入力位置移動情報であるときは、キーストロークのデータ列の最後に前記入力位置移動情報の直前のキーストロークの値を付加する処理を、
コンピュータに実行させる
ことを特徴とする入力予測処理プログラム。
（付記９）  過去に入力された表記を記憶する履歴データ記憶部を備え、次回の表記が入力されたときに、前記履歴データ記憶部から抽出した前記表記を候補として表示する入力予測処理をコンピュータに実行させるためのプログラムであって、
前記表記の文字列を前記履歴データ記憶部に記憶する記憶処理と、
次回の表記が入力された場合に、当該入力された表記をキーストロークのデータ列で表す入力表記ストローク情報を取得し、前記履歴データ記憶部の前記表記をキーストロークのデータ列で表す履歴データ表記ストローク情報を取得し、前記入力表記ストローク情報と前記履歴データ表記ストローク情報との先頭からの一部分が一致するときは、前記履歴データの表記を候補とする候補取得処理とを、
コンピュータに実行させる
ことを特徴とする入力予測処理プログラム。
（付記１０）  付記９に記載する入力予測処理プログラムであって、
前記候補取得処理では、前記入力された表記の最後から１つ前までの入力読みの文字列と、前記履歴データの表記のうち前記入力表記の文字列に対応する表記の文字列とが一致する場合に、前記入力表記の最後の文字をキーストロークのデータ列で表す入力表記ストローク情報を取得し、前記履歴データの表記から前記入力された表記の最後の文字に対応する文字をキーストロークのデータ列で表す履歴データ読みストローク情報を取得し、前記入力表記ストローク情報と前記履歴データ表記ストローク情報との先頭からの一部分が一致するときに、前記履歴データの前記表記を候補に採用する処理を、
コンピュータに実行させる
ことを特徴とする入力予測処理プログラム。
（付記１１）  付記９に記載する入力予測処理プログラムであって、
前記候補取得処理では、取得した前記入力表記もしくは前記履歴データの表記に入力位置移動情報が含まれる場合に、前記入力表記もしくは前記履歴データの表記の最後が入力位置移動情報であるときは、キーストロークのデータ列の最後に前記入力位置移動情報の直前のキーストロークの値を付加する処理を、
コンピュータに実行させる
ことを特徴とする入力予測処理プログラム。
（付記１２）  過去に入力された表記と読みを記憶する履歴データ記憶部を備え、次回の読みが入力されたときに、前記履歴データ記憶部から抽出した読みに対応する表記を候補として表示する入力予測処理方法であって、
履歴データの読みとして、入力された読みをキーストロークのデータ列で表した読みストローク情報を前記履歴データ記憶部に記憶する記憶処理過程と、
次回の読みが入力された場合に、当該読みからキーストロークのデータ列で表す入力読みストローク情報を取得し、前記入力読みストローク情報と前記履歴データ読みとの先頭からの一部分が一致するときは、前記履歴データの読みに対応する前記表記を入力予測の候補とする候補取得処理過程とを備える
ことを特徴とする入力予測処理方法。
（付記１３）  過去に入力された表記と読みを記憶する履歴データ記憶部を備え、次回の読みが入力されたときに、前記履歴データ記憶部から抽出した履歴データの読みに対応する表記を候補として表示する入力予測処理方法であって、
履歴データの読みとして、入力された読みの文字列を前記履歴データ記憶部に記憶する記憶処理過程と、
次回の読みが入力された場合に、当該入力された読みをキーストロークのデータ列で表す入力読みストローク情報を取得し、前記履歴データ記憶部の前記読みをキーストロークのデータ列で表す履歴データ読みストローク情報を取得し、前記入力読みストローク情報と前記履歴データ読みストローク情報との先頭からの一部分が一致するときは、前記履歴データの読みに対応する前記表記を候補とする候補取得処理過程とを備える
ことを特徴とする入力予測処理方法。
（付記１４）  過去に入力された表記を記憶する履歴データ記憶部を備え、次回の表記が入力されたときに、前記履歴データ記憶部から抽出した前記表記を候補として表示する入力予測処理方法であって、
前記表記の文字列を前記履歴データ記憶部に記憶する記憶処理過程と、
次回の表記が入力された場合に、当該入力された表記をキーストロークのデータ列で表す入力表記ストローク情報を取得し、前記履歴データ記憶部の前記表記をキーストロークのデータ列で表す履歴データ表記ストローク情報を取得し、前記入力表記ストローク情報と前記履歴データ表記ストローク情報との先頭からの一部分が一致するときは、前記履歴データの表記を候補とする候補取得処理過程とを備える
ことを特徴とする入力予測処理方法。
（付記１５）  過去に入力された表記と読みを記憶する履歴データ記憶部を備え、次回の読みが入力されたときに、前記履歴データ記憶部から抽出した読みに対応する表記を候補として表示する入力予測処理装置であって、
履歴データの読みとして、入力された読みをキーストロークのデータ列で表した読みストローク情報を前記履歴データ記憶部に記憶する記憶処理手段と、
次回の読みが入力された場合に、当該読みからキーストロークのデータ列で表す入力読みストローク情報を取得し、前記入力読みストローク情報と前記履歴データ読みとの先頭からの一部分が一致するときは、前記履歴データの読みに対応する前記表記を入力予測の候補とする候補取得処理手段とを備える
ことを特徴とする入力予測処理装置。
（付記１６）  過去に入力された表記と読みを記憶する履歴データ記憶部を備え、次回の読みが入力されたときに、前記履歴データ記憶部から抽出した履歴データの読みに対応する表記を候補として表示する入力予測処理装置であって、
履歴データの読みとして、入力された読みの文字列を前記履歴データ記憶部に記憶する記憶処理手段と、
次回の読みが入力された場合に、当該入力された読みをキーストロークのデータ列で表す入力読みストローク情報を取得し、前記履歴データ記憶部の前記読みをキーストロークのデータ列で表す履歴データ読みストローク情報を取得し、前記入力読みストローク情報と前記履歴データ読みストローク情報との先頭からの一部分が一致するときは、前記履歴データの読みに対応する前記表記を候補とする候補取得処理手段とを備える
ことを特徴とする入力予測処理装置。
（付記１７）  過去に入力された表記を記憶する履歴データ記憶部を備え、次回の表記が入力されたときに、前記履歴データ記憶部から抽出した前記表記を候補として表示する入力予測処理装置であって、
前記表記の文字列を前記履歴データ記憶部に記憶する記憶処理手段と、
次回の表記が入力された場合に、当該入力された表記をキーストロークのデータ列で表す入力表記ストローク情報を取得し、前記履歴データ記憶部の前記表記をキーストロークのデータ列で表す履歴データ表記ストローク情報を取得し、前記入力表記ストローク情報と前記履歴データ表記ストローク情報との先頭からの一部分が一致するときは、前記履歴データの表記を候補とする候補取得処理手段とを備える
ことを特徴とする入力予測処理装置。
（付記１８）  過去に入力された表記と読みを記憶する履歴データ記憶部を備え、次回の読みが入力されたときに、前記履歴データ記憶部から抽出した読みに対応する表記を候補として表示する入力予測処理をコンピュータに実行させるためのプログラムを記録した記録媒体であって、
履歴データの読みとして、入力された読みをキーストロークのデータ列で表した読みストローク情報を前記履歴データ記憶部に記憶する記憶処理と、
次回の読みが入力された場合に、当該読みからキーストロークのデータ列で表す入力読みストローク情報を取得し、前記入力読みストローク情報と前記履歴データ読みとの先頭からの一部分が一致するときは、前記履歴データの読みに対応する前記表記を入力予測の候補とする候補取得処理とを、
コンピュータに実行させるためのプログラムを記録した
ことを特徴とする入力予測処理プログラム記録媒体。
（付記１９）  過去に入力された表記と読みを記憶する履歴データ記憶部を備え、次回の読みが入力されたときに、前記履歴データ記憶部から抽出した履歴データの読みに対応する表記を候補として表示する入力予測処理をコンピュータに実行させるためのプログラムを記録した記録媒体であって、
履歴データの読みとして、入力された読みの文字列を前記履歴データ記憶部に記憶する記憶処理と、
次回の読みが入力された場合に、当該入力された読みをキーストロークのデータ列で表す入力読みストローク情報を取得し、前記履歴データ記憶部の前記読みをキーストロークのデータ列で表す履歴データ読みストローク情報を取得し、前記入力読みストローク情報と前記履歴データ読みストローク情報との先頭からの一部分が一致するときは、前記履歴データの読みに対応する前記表記を候補とする候補取得処理とを、
コンピュータに実行させるためのプログラムを記録した
ことを特徴とする入力予測処理プログラム記録媒体。
（付記２０）  過去に入力された表記を記憶する履歴データ記憶部を備え、次回の表記が入力されたときに、前記履歴データ記憶部から抽出した前記表記を候補として表示する入力予測処理をコンピュータに実行させるためのプログラムを記録した記録媒体であって、
前記表記の文字列を前記履歴データ記憶部に記憶する記憶処理と、
次回の表記が入力された場合に、当該入力された表記をキーストロークのデータ列で表す入力表記ストローク情報を取得し、前記履歴データ記憶部の前記表記をキーストロークのデータ列で表す履歴データ表記ストローク情報を取得し、前記入力表記ストローク情報と前記履歴データ表記ストローク情報との先頭からの一部分が一致するときは、前記履歴データの表記を候補とする候補取得処理とを、
コンピュータに実行させるためのプログラムを記録した
ことを特徴とする入力予測処理プログラム記録媒体。
【０１５３】
【発明の効果】
従来の入力予測処理では、「３３３７」という４回のストローク操作で入力される読み「すま」から、表記「相撲」を含む候補を得ることはできなかった。そして、表記「相撲」を含む候補を得るために読み「すも」を入力するには、「３３３７７７７７」という８回のキーストローク操作をしなければならなかった。
【０１５４】
本発明によれば、入力装置で「３３３７」という４回のキーストローク操作によって読み「すま」を入力するだけで、表記「相撲」を含む候補を得ることができる。よって、入力操作負担を大きく軽減することができる。
【０１５５】
また、本発明によれば、入力装置で入力位置移動キーの情報が入力されると、入力位置移動キーの直前のキーの情報を入力位置移動キーの後に付加して、次に押されると推定した入力キーを１回押した状態にみなして、入力読みストロークＫ１とし、履歴データ読みストロークＫ２と比較して候補を選択する。このため、ユーザは入力位置移動キーを押した時点で、より適切な入力予測の候補を得ることができ、入力操作負担をさらに軽減し、さらに、適切な入力予測候補を提示することができる。
【０１５６】
また、本発明によれば、履歴データの読みとして文字列を記憶し、候補取得時に読み（文字列）をキーストロークのデータ列に変換して入力された読みのキーストロークのデータ列と比較して候補を選択する。このため、入力予測候補取得時の入力処理方式に合わせたキーストローク変換を行うことができ、途中で入力処理方式が変更された場合にも、記憶しておいた履歴データを利用して入力予測候補を提示することができる。
【０１５７】
また、本発明によれば、履歴データとして表記のみを記憶し、入力予測の候補取得時に記憶した表記からキーストロークのデータ列を取得して入力された読みのキーストロークのデータ列と比較し候補を選択する。このため、入力される読み（文字）が直ちに表記となるような文字入力処理においても本発明を適用することができ、幅広い文字入力処理において入力予測を行なうことが可能となる。
【図面の簡単な説明】
【図１】本発明を実現するための各処理手段の構成例を示す図である。
【図２】第１の実施の形態における履歴データ例および履歴データ記憶部のデータ構造例を示す図である。
【図３】第１の実施の形態におけるキーストローク変換テーブルの例を示す図である。
【図４】第１の実施の形態における内部データ記憶部の構成例を示す図である。
【図５】第１の実施の形態における候補取得処理を説明するための図である。
【図６】第１の実施の形態における履歴データの比較結果の例を示す図である。
【図７】第１の実施の形態における履歴データの比較結果の例を示す図である。
【図８】第１の実施の形態における履歴データ記憶処理の流れを示す図である。
【図９】第１の実施の形態におけるキーストローク変換処理の流れを示す図である。
【図１０】第１の実施の形態における履歴データ記憶処理の流れを示す図である。
【図１１】第１の実施の形態における候補取得処理の流れを示す図である。
【図１２】第２の実施の形態における履歴データ例および履歴データ記憶部のデータ構成例を示す図である。
【図１３】第２の実施の形態における履歴データの比較結果の例を示す図である。
【図１４】第２の実施の形態において比較処理Ａを用いた候補取得処理の流れを示す図である。
【図１５】第２の実施の形態における比較処理Ｂによる候補取得処理を説明するための図である。
【図１６】第２の実施の形態における履歴データの比較結果の例を示す図である。
【図１７】第２の実施の形態において比較処理Ｂを用いた候補取得処理の流れを示す図である。
【図１８】第２の実施の形態において比較処理Ｂを用いた候補取得処理の流れを示す図である。
【図１９】第２の実施の形態における比較処理Ｃによる候補取得処理を説明するための図である。
【図２０】第２の実施の形態における履歴データの比較結果の例を示す図である。
【図２１】第２の実施の形態において比較処理Ｃを用いた候補取得処理の流れを示す図である。
【図２２】第２の実施の形態において比較処理Ｃを用いた候補取得処理の流れを示す図である。
【図２３】第３の実施の形態における履歴データの比較結果の例を示す図である。
【図２４】第３の実施の形態におけるキーストローク変換テーブルの例を示す図である。
【図２５】第３の実施の形態における候補取得処理を説明するための図である。
【図２６】第３の実施の形態における候補取得処理を説明するための図である。
【図２７】第３の実施の形態における履歴データの比較結果の例を示す図である。
【図２８】第３の実施の形態における候補取得処理の流れを示す図である。
【図２９】第３の実施の形態における候補取得処理の流れを示す図である。
【図３０】第３の実施の形態におけるキーストローク変換処理の流れを示す図である。
【図３１】第４の実施の形態におけるキーストローク変換テーブルの例を示す図である。
【図３２】第４の実施の形態における候補取得処理を説明するための図である。
【図３３】第５の実施の形態におけるキーストローク変換テーブルの例を示す図である。
【図３４】第５の実施の形態における内部データ記憶部の構成例を示す図である。
【図３５】第５の実施の形態における履歴データ記憶部の構成例を示す図である。
【図３６】第５の実施の形態における候補取得処理を説明するための図である。
【図３７】第５の実施の形態における履歴データの比較結果の例を示す図である。
【図３８】第５の実施の形態における候補取得処理の流れを示す図である。
【図３９】第５の実施の形態における候補取得処理の流れを示す図である。
【図４０】第６の実施の形態における候補取得処理を説明するための図である。
【図４１】第６の実施の形態における履歴データの比較結果の例を示す図である。
【図４２】第６の実施の形態における候補取得処理を説明するための図である。
【図４３】第６の実施の形態における履歴データの比較結果の例を示す図である。
【図４４】入力装置の外観例を示す図である。
【符号の説明】
１  入力予測処理装置
１１  入力処理部
１２  記憶処理部
１３  履歴データ記憶部
１４  キーストローク変換処理部
１５  キーストローク変換テーブル
１６  候補取得処理部
１７  内部データ記憶部（変数領域）
２  入力装置
３  表示装置
【図１】
0003923803.tif 000002
【図２】
0003923803.tif 000003
【図３】
0003923803.tif 000004
【図４】
0003923803.tif 000005
【図５】
0003923803.tif 000006
【図６】
0003923803.tif 000007
【図７】
0003923803.tif 000008
【図８】
0003923803.tif 000009
【図９】
0003923803.tif 000010
【図１０】
0003923803.tif 000011
【図１１】
0003923803.tif 000012
【図１２】
0003923803.tif 000013
【図１３】
0003923803.tif 000014
【図１４】
0003923803.tif 000015
【図１５】
0003923803.tif 000016
【図１６】
0003923803.tif 000017
【図１７】
0003923803.tif 000018
【図１８】
0003923803.tif 000019
【図１９】
0003923803.tif 000020
【図２０】
0003923803.tif 000021
【図２１】
0003923803.tif 000022
【図２２】
0003923803.tif 000023
【図２３】
0003923803.tif 000024
【図２４】
0003923803.tif 000025
【図２５】
0003923803.tif 000026
【図２６】
0003923803.tif 000027
【図２７】
0003923803.tif 000028
【図２８】
0003923803.tif 000029
【図２９】
0003923803.tif 000030
【図３０】
0003923803.tif 000031
【図３１】
0003923803.tif 000032
【図３２】
0003923803.tif 000033
【図３３】
0003923803.tif 000034
【図３４】
0003923803.tif 000035
【図３５】
0003923803.tif 000036
【図３６】
0003923803.tif 000037
【図３７】
0003923803.tif 000038
【図３８】
0003923803.tif 000039
【図３９】
0003923803.tif 000040
【図４０】
0003923803.tif 000041
【図４１】
0003923803.tif 000042
【図４２】
0003923803.tif 000043
【図４３】
0003923803.tif 000044
【図４４】
0003923803.tif 000045