(57)【特許請求の範囲】
【請求項１】
入力手段を介して文字列が入力される毎、部分文字列生成手段によって、既入力の文字列に従って先頭から１文字分づつ削除して成る部分文字列を逐次生成し、文字列検索式作成手段によって、複数の文字列が登録される文字列テーブルを検索するための文字列検索式を、前記生成された部分文字列に従って作成し、予測変換候補抽出手段によって、前記文字列検索式に従って前記文字列テーブルを検索することにより次の入力を予測し、表示手段によって、抽出された予測変換候補を、検索に使用した文字列と使用していない文字列とを区別して表示することからなる文字処理方法。
【請求項２】
入力手段を介して読み文字列を入力し、変換手段によって、入力された読み文字列をかな漢字文字列に変換し、記憶手段によって、変換されたかな漢字文字列を入力された読み文字列とともに入力履歴としてテーブルに記憶し、部分文字列生成手段によって、既入力された文字列に従って先頭から１文字分づつ削除して成る部分文字列を逐次生成し、予測変換候補抽出手段によって、前記部分文字列により前記テーブルを検索することにより次の入力を予測し、表示手段によって、抽出された予測変換候補を、検索に使用した文字列と使用していない文字列とを区別して表示することからなる文字処理方法。
【請求項３】
入力手段を介して文字列を入力し、文字列テーブル作成手段によって、少なくとも文字列と頻度情報を含む文字列テーブルを作成し、部分文字列生成手段によって、既に入力された文字列に従って先頭から１文字分づつ削除して成る部分文字列を逐次生成し、予測変換候補抽出手段によって、生成された部分文字列にて前記文字列テーブルを検索することにより次の入力を予測し、表示手段によって、抽出された予測変換候補を、検索に使用した文字列と使用していない文字列とを区別して表示することからなる文字処理方法。
【請求項４】
文字入力手段と、複数の文字列を登録してある文字列テーブルと、前記文字入力手段を介して入力された読み文字列に従って先頭から１文字分づつ削除して成る部分文字列を逐次生成する部分文字列生成手段と、前記生成された部分文字列で前記文字列テーブルを検索することにより次の入力を予測する予測変換候補抽出手段と、前記抽出された予測変換候補を、検索に使用した文字列と使用していない文字列とを区別して表示する表示手段とを具備する文字処理装置。
【請求項５】
文字入力手段と、この文字入力手段を介して入力された読み文字列を漢字かな混じり文字列に変換する変換手段と、前記変換されたかな漢字文字列を入力された読み文字列とともに入力履歴テーブルに記憶する記憶手段と、既に入力された文字列に従って先頭から１文字分づつ削除して成る部分文字列を逐次生成する部分文字列生成手段と、前記生成された部分文字列で前記入力履歴テーブルを検索することにより次の入力を予測する予測変換候補抽出手段と、前記抽出された予測変換候補を、検索に使用した文字列と使用していない文字列とを区別して表示する表示手段とを具備する文字処理装置。
【請求項６】
文字入力手段と、この文字入力手段を介して入力された文字列から少なくとも文字列と頻度とを含む文字列テーブルを作成するテーブル作成手段と、既に入力された文字列に従って先頭から１文字分づつ削除して成る部分文字列を逐次生成する部分文字列生成手段と、前記生成された部分文字列で前記文字列テーブルを検索することにより次の入力を予測する予測変換候補抽出手段と、前記抽出された予測変換候補を、検索に使用した文字列と使用していない文字列とを区別して表示する表示手段とを具備する文字処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、文字処理方法ならびにシステム及び同方法がプログラムされ記録される記録媒体、詳しくは既にに入力された文字列の一部から入力したい文字列を予測する方法ならびにシステム、及び同方法がプログラムされ記録される記録媒体に関する。
【０００２】
【従来の技術】
近年、ネットワークが急速に整備され、計算機を用いたコミュニケーンョンが一般化しつつある。それに伴い、デスクトップ計算機を用いたビジネス文書の作成、論文の執筆といった、文書作成のための従来からの主な用途に加えて、携帯情報機器を利用した電子メールの利用、メモの作成といった、より個人的な場面でも計算機で日本語文章を入力する機会が増大し、キーボード操作に熟練していない人でも、少ないキータッチで情報を正確に入力するための技術が求められている。
【０００３】
このような要請に対するーつの解決方法として、入力したい文字列のー部を入力し、あらかじめ優先順位とともに登録しておいた文字列テーブルや頻度情報とともに、記憶してある過去の入力文字列の中から優先順位や頻度の高い順に予測文字列を提示するという方法が提案されている。この方法は、特開昭６０−１０５０２号、特開昭６１−７４０６２号、特開昭６１−１５６４６８号、特開平２−１３１６２３号に記載されている。
【０００４】
【発明が解決しようとする課題】
しかしながら上述した方法は、基本的に単語やフレーズを、入力の先頭から予測していくことを前提としているため、文節ごとに分かち書きを行わない日本語文章の入力に際しては、予測効果が得られにくいという問題があった。
【０００５】
本発明は、上記事情に鑑みてなされたものであり、文章を文節分かち書きせずにべた入力していった場合にも適切な予測候補を適宜提示し、文章作成の際の入力の操作を軽減できる文字処理方法ならびにシステムおよび同方法がプログラムされ記録される記録媒体を提供することを目的とする。
【０００６】
【課題を解決するための手段】
本発明の文字処理方法は、入力手段を介して文字列が入力される毎、部分文字列生成手段によって、既入力の文字列に従って先頭から１文字分づつ削除して成る部分文字列を逐次生成し、文字列検索式作成手段によって、複数の文字列が登録される文字列テーブルを検索するための文字列検索式を、前記生成された部分文字列に従って作成し、予測変換候補抽出手段によって、前記文字列検索式に従って前記文字列テーブルを検索することにより次の入力を予測し、表示手段によって、抽出された予測変換候補を、検索に使用した文字列と使用していない文字列とを区別して表示することからなる文字処理方法である。また、入力手段を介して読み文字列を入力し、変換手段によって、入力された読み文字列をかな漢字文字列に変換し、記憶手段によって、変換されたかな漢字文字列を入力された読み文字列とともに入力履歴としてテーブルに記憶し、部分文字列生成手段によって、既入力された文字列に従って先頭から１文字分づつ削除して成る部分文字列を逐次生成し、予測変換候補抽出手段によって、前記部分文字列により前記テーブルを検索することにより次の入力を予測し、表示手段によって、抽出された予測変換候補を、検索に使用した文字列と使用していない文字列とを区別して表示することからなる文字処理方法である。更に、入力手段を介して文字列を入力し、文字列テーブル作成手段によって、少なくとも文字列と頻度情報を含む文字列テーブルを作成し、部分文字列生成手段によって、既に入力された文字列に従って先頭から１文字分づつ削除して成る部分文字列を逐次生成し、予測変換候補抽出手段によって、生成された部分文字列にて前記文字列テーブルを検索することにより次の入力を予測し、表示手段によって、抽出された予測変換候補を、検索に使用した文字列と使用していない文字列とを区別して表示することからなる文字処理方法である。
【０００７】
本発明の文字処理装置は、文字入力手段と、複数の文字列を登録してある文字列テーブルと、前記文字入力手段を介して入力された読み文字列に従って先頭から１文字分づつ削除して成る部分文字列を逐次生成する部分文字列生成手段と、前記生成された部分文字列で前記文字列テーブルを検索することにより次の入力を予測する予測変換候補抽出手段と、前記抽出された予測変換候補を、検索に使用した文字列と使用していない文字列とを区別して表示する表示手段とを具備する。また、文字入力手段と、この文字入力手段を介して入力された読み文字列を漢字かな混じり文字列に変換する変換手段と、前記変換されたかな漢字文字列を入力された読み文字列とともに入力履歴テーブルに記憶する記憶手段と、既に入力された文字列に従って先頭から１文字分づつ削除して成る部分文字列を逐次生成する部分文字列生成手段と、前記生成された部分文字列で前記入力履歴テーブルを検索することにより次の入力を予測する予測変換候補抽出手段と、前記抽出された予測変換候補を、検索に使用した文字列と使用していない文字列とを区別して表示する表示手段とを具備する。また、文字入力手段と、この文字入力手段を介して入力された文字列から少なくとも文字列と頻度とを含む文字列テーブルを作成するテーブル作成手段と、既に入力された文字列に従って先頭から１文字分づつ削除して成る部分文字列を逐次生成する部分文字列生成手段と、前記生成された部分文字列で前記文字列テーブルを検索することにより次の入力を予測する予測変換候補抽出手段と、前記抽出された予測変換候補を、検索に使用した文字列と使用していない文字列とを区別して表示する表示手段とを具備する。
【０００９】
本発明により、文章を文節分かち書きせずにベタ入力していった場合にも、適切な予測候補を適宜提示することができ、文書作成の際の入力操作にかかるオペレータの負担を軽減することができる。
【００１０】
【発明の実施の形態】
図１は本発明の文書処理システムの一実施形態を示す概略ブロック図である。
【００１１】
図において、１０１は入力部である。入力部１０１は、文字列の入力、もしくは、カーソルの移動、文字列の挿入・削除などの編集指示、次候補表示、候補選択の操作指示等、コマンド入力を行うキーボードで構成される。１０２は制御部である。制御部１０２は、入力部１０１を介しユーザによって入力される文字列を受け取り、部分文字列生成部１０４、検索部１０５、表示情報生成部１０９に指示を出して上記各部の動作を制御する他、表示情報記憶部１１０に記憶される内容を出力部１０３へ送る。制御部１０２のこの部分については後に詳述する。制御部１０２は、更に、カーソルの移動、文字列の挿入・削除などの編集コマンドを受け取り、それぞれのコマンドにしたがって予め決められた動作を行う。
【００１２】
１０４は部分文字列生成部である。部分文字列生成部１０４は、制御部１０２を介して受け取った入力文字列から部分文字列群を生成して、その結果を部分文字列記憶部１０７に記憶する。この部分文字列生成部１０４については後に詳述する。１０５は検索部である。検索部１０５は、部分文字列記憶部１０７に記憶される部分文字列群の全てあるいはー部により文字列テーブル１０８を検索して、その結果を検索結果記憶部１０６に記憶する。検索部１０５については後に詳述する。１０９は表示情報生成部である。表示情報生成部１０９は、検索結果記憶部１０６に記憶される情報から、検索結果をユーザに提示するために必要な情報を生成し、表示情報記憶部１１０に記憶する。表示情報生成部１０９についても後に詳述する。
【００１３】
図１に示すブロック図におけるデータの流れを、図４に示すフローチャートを用いて説明する。制御部１０２では、ステップＳ４０１において、文字列の入力を受け取り、その文字列を部分文字列生成部１０４に送る。制御部１０２は、更にステップＳ４０２において、部分文字列生成指示を出し、その指示情報を部分文字列生成部１０４に送る。ステップＳ４０３において、検索指示を出し、その指示情報を検索部１０５に送る。ステップＳ４０４において、表示情報生成指示を出し、その指示情報を表示情報生成部１０９に送る。ステップＳ４０５において、表示情報記憶部１１０から表示情報を受け取り、出力して処理を終了する。
【００１４】
部分文字列生成部１０４では、ステップＳ４０６において、制御部１０２から部分文字列生成指示情報を受け取る。ステップＳ４０７において、制御部１０２から文字列を受け取る。そしてステップＳ４０８において、部分文字列を生成する。更にステップＳ４０９において、生成した部分文字列を部分文字列記憶部１０５に出力する。検索部１０５では、ステップＳ４１０において、制御部１０２から検索指示情報を受け取る。そして、ステップＳ４１１において部分文字列記憶部１０５から部分文字列を受け取る。更にステップＳ４１２において、受け取った部分文字列で文字列テーブル１０８を検索し、ステップＳ４１３において、その検索結果を検索結果記憶部１０６に出力する。
【００１５】
表示情報生成部１０９では、ステップＳ４１４において、制御部１０２から表示情報生成指示情報を受け取る。ステップＳ４１５において、検索結果記憶部１０６から検索結果を受け取る。ステップＳ４１６において、受け取った検索結果から表示情報を生成する。ステップＳ４１７において、生成した表示情報を表示情報記憶部１１０に出力する。
【００１６】
部分文字列生成部１０４の処理動作につき、図７に示すフローチャートを用いて説明する。ステップＳ７０１において、入力バッファに文字列が追加されたか否かを判定する。追加された場合にはステップＳ７０２の処理に進み、そうでない場合には処理を終了する。入力がいわゆるローマ字入力である場合には、1 文字に相当する入力があるまで、ここでバッファリングを行う。ステップＳ７０２では入力文字列をバッファＢ［０］にセット、ステップＳ７０３において、バッファＢ［０］の文字数をＬにセットする。そして、ステップＳ７０４において、ｊ：＝１とする。次に、ステップＳ７０５においてｊ≦Ｌであるか否かを判定する。ｊ≦Ｌであった場合にはステップＳ７０６の処理に進み、そうでない場合には処理を終了する。ステップＳ７０６では、ｊ文字目からＬ文字目までの部分文字列をバッファＢ［ｊ］にセットする。ステップＳ７０７において、ｊ：＝ｊ＋１としてステップＳ７０５の処理に戻る。即ち部分文字列の数分だけ上記の動作を繰り返す。
【００１７】
検索部１０５の処理動作につき、図８に示すフローチャートを用いて説明する。
【００１８】
ステップＳ８０１において、部分文字列記憶部１０７から入力文字列ＩＮを読み込む。ステップＳ８０２において、入力文字列ＩＮを検索結果記憶部１０６に記憶する。ステップＳ８０３において、部分文字列記憶部１０７から入力文字列の文字数Ｌを読み込む。そして、ステップＳ８０４において、ｊ：＝１、Ｒ［ｊ］＝０とする。次に、ステップＳ８０５において、ｊ≦Ｌであるか否かを判定する。ｊ≦Ｌであった場合にはステップＳ８０６の処理に進み、そうでない場合にはステップＳ８１２の処理に進む。
【００１９】
ステップＳ８０６において、部分文字列記憶部１０７から部分文字列Ｂ［ｊ］を読み込み、ステップＳ８０７において、文字列Ｂ［ｊ］で文字列テーブル１０８を前方一致検索する。ステップＳ８０８において、読みがー致するエントリがあるか否かを判定する。一致するエントリがあった場合にはステップＳ８０９の処理に進み、そうでない場合にはステップＳ８１１の処理に進む。ステップＳ８０９において、読みがー致したエントリの件数をＲ［ｊ］にセットする。ステップＳ８１０において、文字列Ｂ［ｊ］、読みがー致したエントリの読み、表記を検索結果記憶部１０６に記憶する。そして、ステップＳ８１１において、ｊ：＝ｊ＋１とし、ステップＳ８０５の処理に戻る。ステップＳ８１２において、ｊ＝１からｊ＝ＬまでのＲ［ｊ］の和をＲにセットする。ステップＳ８１３において検索件数Ｒを検索結果記憶部１０６に記憶して処理を終了する。
【００２０】
部分文字列記憶部１０７に記憶される情報例のー部を図９に示す。これは入力部１０１から「いんたーねっと」という文字列が入力された場合の例である。入力文字列ＩＮ、入力文字列の文字数Ｌ、Ｌ個の部分文字列群Ｂ［１］〜Ｂ［Ｌ］が記憶されている。
【００２１】
文字列テーブル１０８に記憶される情報例のー部を図１０に示す。文字列テーブル１０８の各エントリは、読み、表記、品詞、頻度情報から成っている。検索結果記憶部１０６に記憶される情報例のー部を図１１に示す。検索結果記憶部１０６の各エントリは、入力文字列ＩＮ、検索件数Ｎ、Ｎ個の検索結果からなっており、検索結果は、番号、読み（ＹＭ）、表記（ＨＹ）、検索キー（ＫＥＹ）から成っている。
【００２２】
表示情報生成部１０９の処理動作を、図１６に示すフローチャートを用いて説明する。ステップＳ１６０１において、検索結果記憶部１０６から入力文字列を読み込み、バッファＩＮにセットする。ステップＳ１６０２において、検索結果記憶部１０６から検索件数を読み込み、バッファＮにセットする。ステップＳ１６０３において、ｊ：＝１とする。ステップＳ１６０４において、ｊ≦Ｌであるか否かを判定する。ｊ≦Ｌであった場合にはステップＳ１６０５の処理に進み、そうでない場合には処理を終了する。
【００２３】
ステップＳ１６０５において、検索結果記憶部１０６からｉ番目の検索結果を読み込み、その読みをＹＭ［ｊ］に、検索キーをＫＥＹ［ｊ］にセットする。また、ステップＳ１６０６において、入力文字列ＩＮから検索キーＫＥＹ［ｊ］を除いた残りの文字列をＳＴＲ１［ｊ］にセットする。更にステップＳ１６０７において、読みＹＭ［ｊ］から入力文字列ＩＮを除いた残りの文字列をＳＴＲ２［ｊ］にセットする。そしてステップＳ１６０８において、ＳＴＲ１［ｊ］、ＫＥＹ［ｊ］、ＳＴＲ２［ｊ］の内容を表示情報記憶部１１０に記憶する。ステップＳ１６０９において、ｊ：＝ｊ＋１とし、ステップＳ１６０４の処理に戻る。
【００２４】
表示情報記憶部１１０に記憶される情報例のー部を図１７に示す。表示情報記憶部１１０を構成する各エントリは、番号、文字列１（ＳＴＲ１）、検索キー（ＫＥＹ）、文字列２（ＳＴＲ２）から成っている。記号φは記憶されている文字列が無いことを示している。
【００２５】
制御部１０２は、図１７に示すような表示情報記憶部１１０に記憶される内容を受け取り、たとえばディスプレイに表示する。図１２は「いんたー」と入力された場合の、検索結果の表示例である。ここでは、入力領域の近傍の別領域に、４件の検索結果が選択候補として読みで表示されている。１番目の候補は、検索キーとして「いんたー」を使用して「いんたーねっと」という単語を得、「ねっと」の部分が入力補完されたことを示している。また、3 番目の候補は、検索キーとして「たー」を使用して「たーん」という単語を得、「ん」の部分が入力補完されたことを示している。「いん」は検索には使用されなかった文字列であり、「いん」と「たーん」の間には文節の切れ目があることを示している。ここで、反転している１番の候補を選択すると、図１３に示すように選択した候補が入力領域に表示される。
【００２６】
図１４に検索結果の別の表示例を示す。ここでは、検索結果が選択候補として表記で表示されている。ここで、反転している１番の候補を選択すると、図１５に示すように選択した候補が入力領域に表示される。図１２、図１４では、文節の切れ目、検索キーとして使用した文字列、入力補完された文字列の区別を示すために、スペース、点線下線、実線下線、ルビを使用しているが、これ以外にも文字の色、フォント、サイズの違い等を利用してもよく、これらの表示方法は本発明を限定するものではない。
【００２７】
次に図２に示すブロック図を用いて本発明の文字処理システムの他の実施形態について説明する。図中、図１と同一構成をとる部分には同一符号を付してあり、ここでは異なる部分についてのみ説明する。即ち、図２においては、変換結果メモリ２０１、かな漢字変換部２０２、かな漢字変換辞書２０３、入力履歴作成部２０４、入力履歴記憶部２０５が新たに追加され、また、図１における制御部１０２が制御部２０６に、検索部１０５が検索部２０７に置き換わっている。制御部２０６は、入力部１０１から文字列を受け取り、かな漢字変換部２０２、部分文字列生成部１０４、検索部２０７、表示情報生成部１０９、入力履歴作成部２０４に指示を出し、各部の動作を制御し、表示情報記憶部１１０に記憶される内容を、出力部１０３へ送る。制御部２０６のこの部分については後に詳述する。また、カーソルの移動、文字列の挿入・削除などの編集コマンドを受け取り、それぞれのコマンドに従って予め決められた動作を行う。
【００２８】
かな漢字変換部２０２は、制御部２０６を介して受け取った入力読み文字列をかな漢字変換辞書２０３を参照してかな漢字混じり表記に変換し、結果を変換結果メモリ２０１に書き込む。かな漢字変換部２０１の処理については、広く公知であるので、ここでは説明を省略する。入力履歴作成部２０４は、制御部２０６を介して受け取った入力読み文字列と、変換結果メモリ２０１に保持される変換結果から入力履歴を作成し、作成した履歴を入力履歴記憶部２０５に記憶する。入力履歴作成部２０４については後に詳述する。検索部２０７は、部分文字列記憶部１０７に記憶される部分文字列群の全てあるいはー部で、入力履歴記憶部２０５に記憶される履歴を検索して、その結果を検索結果記憶部１０６に記憶する。検索部２０７については後に詳述する。
【００２９】
図２に示すブロック図におけるデータの流れを、図５に示すフローチャートを参照しながら説明する。なお、図５において、図４に示すフローチャートの各ステップと同一部分には同一符号を付してあり、ここでは異なる部分についてのみ異符号を付し説明する。即ち、図５においては、変換結果メモリ２０１、かな漢字変換部２０２、入力履歴作成部２０４、入力履歴記憶部２０５が新たに追加され、また、図４における制御部１０２が制御部２０６に、検索部１０５検索部２０７に置き換わっている。
【００３０】
制御部２０６では、ステップＳ４０１において、文字列の入力を受け取り、部分文字列生成部１０４、かな漢字変換部２０２、入力履歴作成部２０４に文字列を送る。制御部２０６は更にステップＳ５０１において、かな漢字変換指示を出し、その指示情報をかな漢字変換部２０２に送る。ステップＳ５０２において、入力履歴作成指示を出し、その指示情報を入力履歴作成部２０４に送る。ステップＳ４０２において、部分文字列生成指示を出し、その指示情報を部分文字列生成部１０４に送る。ステップＳ４０３において検索指示を出し、その指示情報を検索部２０７に送る。ステップＳ４０４において、表示情報生成指示を出し、その指示情報を表示情報生成部１０９に送る。ステップＳ４０５において、表示情報記憶部１１０から表示情報を受け取り、出力して処理を終了する。
【００３１】
かな漢字変換部２０２では、ステップＳ５０３において、制御部２０６から変換指示情報を受け取る。ステップＳ５０４において、制御部２０６から読み文字列を受け取る。ステップＳ５０５において、受け取った読み文字列をかな漢字混じり表記に変換する。ステップＳ５０６において、変換結果を変換結果メモリ２０１に出力する。
【００３２】
入力履歴作成部２０４では、ステップＳ５０７において、制御部２０６から入力履歴作成指示情報を受け取る。ステップS508において、制御部２０６から入力読み文字列を受け取り、入力履歴記憶部２０５に出力する。ステップＳ５０９において、変換結果メモリ２０１から変換結果を受け取り、入力履歴記憶部２０５に出力する。
【００３３】
検索部２０７では、ステップＳ４１０において、制御部２０６から検索指示情報を受け取る。ステップＳ４１１において、部分文字列記憶部１０７から部分文字列を受け取る。ステップＳ５１０において、受け取った部分文字列で入力履歴記憶部２０５に記憶される履歴を検索する。ステップＳ４１３において、検索結果を検索結果記憶部１０６に出力する。
【００３４】
入力履歴作成部２０４の処理動作を、図１８に示すフローチャートを用いて説明する。ステップＳ１８０１において、まず、変換結果が確定されたかどうか判定する。確定された場合には、ステップＳ１８０２の処理に進む。そうでない場合には、処理を終了する。ステップＳ１８０２において、入力部１０１から入力された読み文字列を受け取る。ステップＳ１８０３において、受け取った読み文字列を区切り記号で分割する。ここで区切り記号とは、例えば、句読点、スペースなどである。あるいは、括弧や文末記号などの特定の記号でもよい。
【００３５】
ステップＳ１８０４において、分割した読み文字列を入力履歴記憶部２０５に記憶する。ステップＳ１８０５において、変換結果メモリ２０１から変換結果を受け取る。ステップＳ１８０６において、受け取った変換結果を区切り記号で分割する。この区切り記号は、読み文字列を分割した際に用いたものと同一とする。ステップＳ１８０７において、分割した変換結果を読みと対応させて入力履歴記憶部２０５に記憶し、ステップＳ１８０１の処理に戻る。
【００３６】
図１９に入力履歴記憶部２０５に記憶される情報例のー部を示す。入力履歴記憶部２０５の各エントリは、番号、読み、変換結果からなっている。ここでは、変換が確定された表現を、句読点で区切って記憶している。
【００３７】
検索部２０７の処理動作を、図２０に示すフローチャートを用いて説明する。
【００３８】
なお、図２０において、図８に示すフローチャートの各ステップと同一部分には同一符号を付し、ここでは異なる部分についてのみ説明する。即ち、図２０においては、ステップＳ８０７がステップＳ２００１に置き換わっており、ステップＳ８０１からステップＳ８０６、ステップＳ８０８からステップＳ８１３までの処理は、図８における処理と同様である。ステップＳ２００１において、文字列Ｂ［ｊ］で入力履歴記憶部２０５に記憶される履歴リストを前方一致検索する。
【００３９】
次に、本発明の文字処理システムの更に他の実施形態につき図３に示すブロック図を使用して説明する。図中、図１に示す実施形態と同一部分には同一番号を付し、ここでは異なるブロックについての説明する。即ち、図３の実施形態においては、文字列テーブル作成部３０１、文字列テーブル記憶部３０２、形態素解析辞書３０４が新たに追加され、また、図１における制御部１０２が制御部３０３に、検索部１０５が検索部３０５に置き換わっている。
【００４０】
制御部３０３は、入力部１０１から文字列を受け取り、部分文字列生成部１０４、検索部３０５、表示情報生成部１０９、文字列テーブル作成部３０１に指示を出して各部の動作を制御する他、表示情報記憶部１１０に記憶される内容を、出力部１０３へ送る。制御部３０３のこの部分については後に詳述する。制御部３０３は更に、カーソルの移動、文字列の挿入・削除などの編集コマンドを受け取り、それぞれのコマンドにしたがって予め決められた動作を行う。
【００４１】
検索部３０５は、部分文字列記憶部１０７に記憶される部分文字列群の全てあるいはー部で、文字列テーブル記憶部３０２に記憶されるテーブルを検索して、その結果を検索結果記憶部１０６に記憶する。検索部３０５については後に詳述する。文字列テーブル作成部３０１は、制御部３０３を介して入力された文書から文字列テーブルを作成し、文字列テーブル記憶部３０２に記憶する。文字列テーブル作成部３０１については後に詳述する。
【００４２】
図３のブロック図におけるデータの流れを、図６に示すフローチャートを参照しながら説明する。なお、図６において、図４と同一部分には同一符号を付してあり、ここでは異なる部分についてのみ説明する。即ち、図６においては、文字列テーブル作成部３０１、文字列テーブル記憶部３０２が新たに追加され、また図４における制御部１０２が制御部３０３に、検索部１０５が検索部３０５に置き換わっている。制御部３０３では、ステップＳ４０１において、文字列の入力を受け取り、部分文字列生成部１０４、文字列テーブル作成部３０１に文字列を送る。ステップＳ６０１において、文字列テーブル作成指示を出し、その指示情報を文字列テーブル作成部３０１に送る。ステップＳ４０２において、部分文字列生成指示を出し、その指示情報を部分文字列生成部１０４に送る。ステップＳ４０３において、検索指示を出し、その指示情報を検索部３０５に送る。ステップＳ４０４において、表示情報生成指示を出し、その指示情報を表示情報生成部１０９に送る。ステップＳ４０５において、表示情報記憶部１１０から表示情報を受け取り、出力して処理を終了する。
【００４３】
文字列テーブル作成部３０１では、ステップＳ６０２において、制御部３０３から文字列テーブル作成指示情報を受け取る。ステップＳ６０３において、制御部３０３から文字列を受け取る。ステップＳ６０４において、受け取った文字列から文字列テーブルを作成する。ステップＳ６０５において、作成した文字列テーブルを文字列テーブル記憶部３０２に出力する。検索部３０５では、ステップＳ４１０において、制御部３０３から検索指示情報を受け取る。ステップＳ４１１において、部分文字列記憶部１０７から部分文字列を受け取る。ステップＳ６０６において、受け取った部分文字列で文字列テーブル記憶部３０２に記憶されるテーブルを検索する。ステップＳ４１３において、検索結果を検索結果記憶部１０６に出力する。
【００４４】
文字列テーブル作成部３０１の処理動作を、図２１に示すフローチャートを用いて説明する。ステップＳ２１０１において、ディスクにユーザの新規文書が保存されたかどうか判定する。そうであった場合にはステップＳ２１０２の処理に進み、そうでない場合には処理を終了する。ここで、新規文書があるかどうか判定する場所は、利用しているコンピュータに接続されている全てのディスクでもよいし、あるいはシステムが自動的に設定してもよい、あるいはユーザが指定しても構わない。または、それらの場所をアプリケーンョンごとに変更してもよい。更には、ユーザの指示により、文字列テーブル作成を開始してもよい。これら文書の指定方法や文字列テーブル作成の開始方法は本発明を限定しない。
【００４５】
次に、ステップＳ２１０２において、文字列テーブル記憶部３０２に記憶されるテーブルのリストを作業バッファに読み込む。ステップＳ２１０３において、処理していない文が残っているかどうか判定する。残っていた場合にはステップＳ２１０２の処理に進み、そうでない場合にはステップＳ２１１１の処理に進む。
【００４６】
ステップＳ２１０４において、文書から１文を読み込む。ステップＳ２１０５において、読み込んだ文を形態素解析し、全ての自立語の読み、表記、品詞からなる見出しを得る。ここで、自立語だけでなく付属語も含めてもよいし、あるいは、見出しの単位を単語単位ではなく、文節単位、任意の区切り記号単位としてもよい。これらの単位の指定方法は本発明を限定しない。
【００４７】
更に、ステップＳ２１０６において、自立語数をバッファＮにセットする。そして、ステップＳ２１０７において、ｊ：＝１とする。ステップＳ２１０８において、ｊ≦Ｎであるか否かを判定する。ｊ≦Ｎであった場合にはステップＳ２１０９の処理に進み、そうでない場合にはステップＳ２１０３の処理に戻る。そして、ステップＳ２１０９において、リストにｊ番目の見出しが存在するかどうか判定し、存在した場合にはステップＳ２１１０の処理に進み、そうでない場合にはステップＳ２１１１の処理に進む。ステップＳ２１１０では、その見出しの出現回数に１を足して、リストに書き込む。ステップＳ２１１１では、出現回数を１に設定し、リストに書き込む。そして、ステップＳ２１１２において、ｊ：＝ｊ＋１とし、ステップＳ２１０８の処理に戻る。ステップＳ２１１３において、リストを文字列テーブル記憶部３０２に記憶し、処理を終了する。
【００４８】
図２２に、文字列テーブル３０２に記憶される情報例のー部を示す。文字列テーブル３０２の各エントリは、番号、読み、表記、品詞、出現回数から成っている。ここでは、文書中での出現順に番号が付与され、番号順にソートされているが、読み、表記、品詞、出現回数などでソートした形にしてもよい。
【００４９】
検索部３０５の処理動作を、図２３に示すフローチャートを用いて説明する。
【００５０】
なお、図２３において、図８に示すフローチャートと同一部分には同一符号を付し、異なる部分についてのみ異符号を付し説明する。即ち、図２３においては、ステップＳ８０７がステップＳ２３０１の処理に置き換わっており、ステップＳ８０１からステップＳ８０６、ステップＳ８０８からステップＳ８１３までの処理は、図８における処理と同様である。ステップＳ２３０１において、文字列Ｂ［ｊ］で文字列テーブル記憶部３０２に記憶されるテーブルのリストを前方一致検索する。
【００５１】
尚、本発明は、上記の実施形態に限定されず、要旨を変更しない範囲で適宜変更可能である。また、日本語文についてのみ予測入力する例を示したが、機械翻訳等においても同様に応用が可能である。
【００５２】
【発明の効果】
以上説明したように、本発明によれば、部分文字列生成部１０４は、制御部１０２を介して受け取った入力文字列から、先頭から１文字分づつ削除して成る部分文字列群を生成して、その結果を部分文字列記憶部１０７に記憶する。検索部１０５は、部分文字列記憶部１０７に記憶される部分文字列群の全てあるいはー部を利用して、文字列テーブル１０８を検索し、検索結果を検索結果記憶部１０６に記憶する。表示情報生成部１０９は、検索結果記憶部１０６に記憶される情報から、検索結果をユーザに分かりやすく提示するために必要な情報を生成し、表示情報記憶部１１０に記憶する。制御部１０２は、表示情報記憶部１１０に記憶される内容をディスプレイ等によりユーザに提示することにより、文章を文節分かち書きせずにべた入力していった場合にも、適切な予測候補を適宜提示し、文章作成の際の入力の操作を軽減することが可能な文字処理システムを提供できる。
【図面の簡単な説明】
【図１】本発明第１の実施形態に係る文字処理システムの概略構成を示すブロック図、
【図２】本発明第２の実施形態に係る文字処理システムの概略構成を示すブロック図、
【図３】本発明第３の実施形態に係る文字処理システムの概略構成を示すブロック図、
【図４】本発明第１の実施形態に係る文字処理システムのデータの流れを示す概略フローチャート、
【図５】本発明第２の実施形態に係る文字処理システムのデータの流れを示す概略フローチャート、
【図６】本発明第３の実施形態に係る文字処理システムのデータの流れを示す概略フローチャート、
【図７】部分文字列生成部１０４の処理動作を説明するためのフローチャート、
【図８】検索部１０５の処理動作を説明するためのフローチャート、
【図９】部分文字列記憶部１０７に記憶される情報例の一部を示す図、
【図１０】文字列テーブル１０８に記憶される情報例の一部を示す図、
【図１１】検索結果記憶部１０６に記憶される情報例の一部を示す図、
【図１２】検索結果表示の一例を示す図、
【図１３】検索結果表示の一例を示す図、
【図１４】検素結果表示の一例を示す図、
【図１５】検索結果表示の一例を示す図、
【図１６】表示情報生成部１０９の処理動作を説明するためのフローチャート、
【図１７】表示情報部記憶部１１０に記憶される情報例の一部を示す図、
【図１８】入力履歴作成部２０４の処理動作を説明するためのフローチャート、
【図１９】入力履歴記憶部２０５に記憶される情報例の一部を示す図、
【図２０】検索部２０７の処理動作を説明するためのフローチャート、
【図２１】文字列テーブル作成部３０１の処理動作を説明するためのフローチャート、
【図２２】文字列テーブル記憶部３０２に記憶される情報例の一部を示す図、
【図２３】検索部３０５の処理動作を説明するためのフローチャート、
【符号の説明】
１０１…入力部、１０２…制御部、１０３…出力部、１０４…部分文字列生成部、１０５…検索部、１０６…検索結果記憶部、１０７…部分文字列記憶部、１０８…文字列テーブル、１０９…表示情報生成部、１１０…表示情報記憶部、２０１…変換結果メモリ、２０２…かな漢字変換部、２０３…かな漢字変換辞書、２０４…入力履歴作成部、２０５…入力履歴記憶部、２０６…制御部、２０７…検索部、３０１…文字列テーブル作成部、３０２…文字列テーブル記憶部、３０３…制御部、３０４…形態素解析辞書、３０５…検索部
【図１】
0003934774.tif 000002
【図２】
0003934774.tif 000003
【図３】
0003934774.tif 000004
【図４】
0003934774.tif 000005
【図５】
0003934774.tif 000006
【図６】
0003934774.tif 000007
【図７】
0003934774.tif 000008
【図８】
0003934774.tif 000009
【図９】
0003934774.tif 000010
【図１０】
0003934774.tif 000011
【図１１】
0003934774.tif 000012
【図１２】
0003934774.tif 000013
【図１３】
0003934774.tif 000014
【図１４】
0003934774.tif 000015
【図１５】
0003934774.tif 000016
【図１６】
0003934774.tif 000017
【図１７】
0003934774.tif 000018
【図１８】
0003934774.tif 000019
【図１９】
0003934774.tif 000020
【図２０】
0003934774.tif 000021
【図２１】
0003934774.tif 000022
【図２２】
0003934774.tif 000023
【図２３】
0003934774.tif 000024