(57)【特許請求の範囲】
【請求項１】
第１の文字列を受け付ける受付手段と、
第２の文字列を記憶している記憶手段から、前記受付手段によって受け付けられた第１の文字列を補完するために用いる文字列の候補として、該第２の文字列から該第１の文字列へ又は該第１の文字列から該第２の文字列へ編集するための距離に基づいて算出した点数を用いて、該第２の文字列を取得する取得手段と、
前記取得手段によって取得された第２の文字列又は該第２の文字列の一部を表示する表示手段と、
前記表示手段によって表示された第２の文字列又は該第２の文字列の一部を、操作者の選択操作によって選択し、該選択された第２の文字列又は該第２の文字列の一部に基づいて、前記第１の文字列を補完する補完手段
を具備し、
前記表示手段は、前記第２の文字列の一部から前記第１の文字列へ又は該第１の文字列から該第２の文字列の一部へ編集するための距離と第２の文字列の一部以外の部分の文字列の長さに基づいて、補完に用いる文字列として表示する文字列である該第２の文字列の一部を生成する
ことを特徴とする情報処理装置。
【請求項２】
前記記憶手段は、第２の文字列と該第２の文字列に関する数値を対応させて記憶しており、
前記取得手段は、前記記憶手段から、前記受付手段によって受け付けられた第１の文字列を補完するために用いる文字列の候補として、前記第２の文字列から該第１の文字列へ又は該第１の文字列から該第２の文字列へ編集するための距離と該第２の文字列に関する数値に基づいて算出した点数を用いて、該第２の文字列を取得し、
前記第２の文字列に関する数値は、該第２の文字列が、第２の文字列を抽出対象とした文書中で出現している頻度を示す数値であり、
前記取得手段は、前記第２の文字列に関する数値から前記距離と重みを乗算した値を減算して前記点数を算出し、該点数が高い順に予め定められた件数の第２の文字列を取得する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記取得手段は、距離が大であるほど選択されにくくなるようにしており、距離として、第２の文字列を第１の文字列にするための編集であって、挿入編集の距離は、削除編集の距離より大である、又は、第１の文字列を第２の文字列にするための編集であって、削除編集の距離は、挿入編集の距離より大である
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
コンピュータを、
第１の文字列を受け付ける受付手段と、
第２の文字列を記憶している記憶手段から、前記受付手段によって受け付けられた第１の文字列を補完するために用いる文字列の候補として、該第２の文字列から該第１の文字列へ又は該第１の文字列から該第２の文字列へ編集するための距離に基づいて算出した点数を用いて、該第２の文字列を取得する取得手段と、
前記取得手段によって取得された第２の文字列又は該第２の文字列の一部を表示する表示手段と、
前記表示手段によって表示された第２の文字列又は該第２の文字列の一部を、操作者の選択操作によって選択し、該選択された第２の文字列又は該第２の文字列の一部に基づいて、前記第１の文字列を補完する補完手段
として機能させ、
前記表示手段は、前記第２の文字列の一部から前記第１の文字列へ又は該第１の文字列から該第２の文字列の一部へ編集するための距離と第２の文字列の一部以外の部分の文字列の長さに基づいて、補完に用いる文字列として表示する文字列である該第２の文字列の一部を生成する
ことを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【０００２】
文章作成に関する技術がある。
これに関連する技術として、例えば、特許文献１には、予測変換による入力効率を向上させることを課題とし、表示順序設定部は、記憶部に格納されている入力履歴に基づいて、予測変換の変換候補の表示順序を設定し、予測変換処理部は、操作部の操作で入力された未確定文字列に対応する変換候補を、表示順序設定部が設定した表示順序で変換候補を表示部に表示し、確定入力処理部は、操作部からの入力に基づいて、選択された変換候補を確定文字列として確定入力すると、入力履歴更新部は、当該確定文字列についての入力履歴を生成して記憶部に格納し、削除検出部が、確定入力された確定文字列についての削除を検出すると、表示順序変更部が、該確定文字列を示す変換候補に設定された表示順序を、最上位以外の表示順序に変更し、これにより、誤って変換候補を確定した場合、修正時にその変換候補の表示順序が最上位とならないことが開示されている。
【０００３】
また、例えば、特許文献２には、予測処理結果の表示更新タイミングを制御することによって、ユーザーが任意のタイミングで予測候補文字列の選択を行うことができる文字列予測装置及び方法を提供することを課題とし、パターンを入力し、パターン認識用辞書を用いてパターン評価値を算出し、パターン評価値が高い順に認識候補文字を複数個出力し、その中から文脈辞書を用いて最適な認識候補文字を選択し、当該認識候補文字を組み合わせて検索文字列を生成し、キーとして予測辞書を検索し、複数の予測候補文字列を出力し、予測候補文字列もしくは最適な認識候補文字を表示する文字列入力方法であって、最新の予測候補文字列に表示更新するのか制御する条件を判定し、最新の予測候補文字列に表示更新する条件を満たしていると判定された場合に、最新の予測候補文字列に表示更新するように制御することが開示されている。
【０００４】
また、例えば、特許文献３には、文字入力装置を用いて文章を入力するに際し、ユーザーが入力しようとする文字列を予測する精度を向上させる予測入力装置を提供することを課題とし、音声入力部を介して入力された発言者の音声情報が、音声認識部でテキスト情報に変換され、予測データ作成部でそのテキスト情報から名詞が「読み」とともに抽出され、話題予測データが生成され、作成文書で使用された確定文字列は、文字情報入力部を介して予測データ作成部に与えられ、確定文字列と読みからなる履歴予測データが生成され、入力中の文字列（読み）が、予測処理部に与えられ、上記各予測データ並びに基本予測データに対して前方一致検索を行い、該当する文字列を予測候補に決定し、予測表示部を介して表示部に表示し、そして、予測選択部で選択された予測候補を予測候補出力部が作成文書に追加すべく出力することが開示されている。
【０００５】
また、例えば、特許文献４には、日本語及び他の言語入力を行うユーザーのタイピング作業を最小限とし、かつ正確で迅速な入力を実現する装置及び方法を提供することを課題とし、文字入力装置と共に用いる予測入力装置が、１の文字列とそれから予測される後続文字列候補リストとを互いに関連付け格納した後続文字列データベースと、既入力文字列の最後尾の文字列に対応する後続文字列候補リストを呼び出す手段と、呼び出しに応答して最後尾の文字列を判定する判定手段と、判定された文字列に対応する後続文字列候補リストを後続文字列データベースから検索する検索手段と、後続文字列候補リストを表示する表示手段と、表示された候補リスト中に適切な後続文字列がある場合はその適切な後続文字列を選択する選択手段と、選択された後続文字列を入力する手段とを有することが開示されている。
【０００６】
また、例えば、特許文献５には、同一文書内の文字列を指示する文字列が入力された場合、予め保存しておいた情報をもとに同一文書内に現れている文字列を予測文字列として入力者に示すことにより、その操作性を向上させることができる文字列予測方法、及びこの方法を用いた文字列予測装置を提供することを目的とし、文字列入力部と、かな−漢字辞書、指示文字列辞書、指示文字列判定部、漢字変換部、品詞情報保存部、文字列−品詞バッファ、表示部、被指示文字列選択制御部、文字列取り出し部、文字列選択部、及び出力部とを備え、かな漢字変換方法等によって得られた品詞情報を語彙と共に保存しておき、入力された文字列が同一文書内の語句を指示する指示文字列であった場合には保存しておいた情報をもとに、その時点までに入力された文章の中から文字列を取り出し、予測文字列として出力することを特徴とすることが開示されている。
【０００７】
また、例えば、特許文献６には、携帯端末機等の情報端末等に文書を入力する際、文字列を入力し予測変換中に、当該変換中の単語前方、すなわち既に入力済みの文章中に、単語やフレーズを簡便な操作のみで迅速に追加することを課題とし、文章を入力する際に、操作部におけるユーザー操作により入力された文字列に応じた単語の候補を単語検索部によって検索するとともに、単語の文章中における入力位置を検出し、単語の候補中から選択された単語を入力単語として取得し、入力単語の属性及び入力位置に応じて、入力単語の前方又は後方に連結される前方フレーズ又は後方フレーズの候補をフレーズ検索部により検索し、ユーザー操作に基づき、前方又は後方を切り替えてフレーズの候補を選択可能に表示部に表示し、これらの文字入力及び候補選択による入力結果に基づいて文章を構成することが開示されている。
【０００８】
また、例えば、特許文献７には、文章の入力時に語句の補完を効果的に行い、利用者による文章入力の効率を向上させることを課題とし、文章入力補助装置は、蓄積された１又は複数の電子文書から抽出した語句を記憶し、記憶される語句の中から、利用者により入力された文字列と関連する語句を検索し、検索された語句のいずれかに基づいて文字列を補完することが開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００８−０８３８４８号公報
【特許文献２】特開２００４−０７０５９９号公報
【特許文献３】特開２０００−２８５１１２号公報
【特許文献４】特開平１１−２１２９６７号公報
【特許文献５】特開平０９−０４４４９２号公報
【特許文献６】特開２００５−３０１６９９号公報
【特許文献７】特開２００９−２１１２８５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明は、第１の文字列を補完する場合に、第１の文字列の後に第２の文字列を付加する補完の候補だけでなく、第１の文字列の一部を置換する第２の文字列を補完の候補とするようにした情報処理装置及び情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【００１１】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、第１の文字列を受け付ける受付手段と、第２の文字列を記憶している記憶手段から、前記受付手段によって受け付けられた第１の文字列を補完するために用いる文字列の候補として、該第２の文字列から該第１の文字列へ又は該第１の文字列から該第２の文字列へ編集するための距離に基づいて算出した点数を用いて、該第２の文字列を取得する取得手段と、前記取得手段によって取得された第２の文字列又は該第２の文字列の一部を表示する表示手段と、前記表示手段によって表示された第２の文字列又は該第２の文字列の一部を、操作者の選択操作によって選択し、該選択された第２の文字列又は該第２の文字列の一部に基づいて、前記第１の文字列を補完する補完手段を具備し、前記表示手段は、前記第２の文字列の一部から前記第１の文字列へ又は該第１の文字列から該第２の文字列の一部へ編集するための距離と第２の文字列の一部以外の部分の文字列の長さに基づいて、補完に用いる文字列として表示する文字列である該第２の文字列の一部を生成することを特徴とする情報処理装置である。
【００１２】
請求項２の発明は、前記記憶手段は、第２の文字列と該第２の文字列に関する数値を対応させて記憶しており、前記取得手段は、前記記憶手段から、前記受付手段によって受け付けられた第１の文字列を補完するために用いる文字列の候補として、前記第２の文字列から該第１の文字列へ又は該第１の文字列から該第２の文字列へ編集するための距離と該第２の文字列に関する数値に基づいて算出した点数を用いて、該第２の文字列を取得し、前記第２の文字列に関する数値は、該第２の文字列が、第２の文字列を抽出対象とした文書中で出現している頻度を示す数値であり、前記取得手段は、前記第２の文字列に関する数値から前記距離と重みを乗算した値を減算して前記点数を算出し、該点数が高い順に予め定められた件数の第２の文字列を取得することを特徴とする請求項１に記載の情報処理装置である。
【００１３】
請求項３の発明は、前記取得手段は、距離が大であるほど選択されにくくなるようにしており、距離として、第２の文字列を第１の文字列にするための編集であって、挿入編集の距離は、削除編集の距離より大である、又は、第１の文字列を第２の文字列にするための編集であって、削除編集の距離は、挿入編集の距離より大であることを特徴とする請求項１又は２に記載の情報処理装置である。
【００１５】
請求項４の発明は、コンピュータを、第１の文字列を受け付ける受付手段と、第２の文字列を記憶している記憶手段から、前記受付手段によって受け付けられた第１の文字列を補完するために用いる文字列の候補として、該第２の文字列から該第１の文字列へ又は該第１の文字列から該第２の文字列へ編集するための距離に基づいて算出した点数を用いて、該第２の文字列を取得する取得手段と、前記取得手段によって取得された第２の文字列又は該第２の文字列の一部を表示する表示手段と、前記表示手段によって表示された第２の文字列又は該第２の文字列の一部を、操作者の選択操作によって選択し、該選択された第２の文字列又は該第２の文字列の一部に基づいて、前記第１の文字列を補完する補完手段として機能させ、前記表示手段は、前記第２の文字列の一部から前記第１の文字列へ又は該第１の文字列から該第２の文字列の一部へ編集するための距離と第２の文字列の一部以外の部分の文字列の長さに基づいて、補完に用いる文字列として表示する文字列である該第２の文字列の一部を生成することを特徴とする情報処理プログラムである。
【発明の効果】
【００１６】
請求項１の情報処理装置によれば、第１の文字列を補完する場合に、第１の文字列の後に第２の文字列を付加する補完の候補だけでなく、第１の文字列の一部を置換する第２の文字列を補完の候補とし、本発明の構成を有していない場合と比較して、文字列の入力に関する操作を少なくすることができる。また、補完すべき文字列として表示する文字列を編集するための距離と文字列の長さに基づいて制御することができる。
【００１７】
請求項２の情報処理装置によれば、第２の文字列に関する数値を用いて、第２の文字列を取得することができる。
【００１８】
請求項３の情報処理装置によれば、第１の文字列をそのまま用いられるような第２の文字列を選択することができる。
【００２０】
請求項４の情報処理プログラムによれば、第１の文字列を補完する場合に、第１の文字列の後に第２の文字列を付加する補完の候補だけでなく、第１の文字列の一部を置換する第２の文字列を補完の候補とし、本発明の構成を有していない場合と比較して、文字列の入力する操作を少なくすることができる。また、補完すべき文字列として表示する文字列を編集するための距離と文字列の長さに基づいて制御することができる。
【図面の簡単な説明】
【００２１】
【図１】本実施の形態のフレーズ抽出処理を行う情報処理装置の構成例についての概念的なモジュール構成図である。
【図２】本実施の形態の補完処理を行う情報処理装置の構成例についての概念的なモジュール構成図である。
【図３】本実施の形態による処理例を示すフローチャートである。
【図４】補完対象となる文字列の受け付け処理例を示す説明図である。
【図５】編集距離の算出例を示す説明図である。
【図６】編集距離の算出例を示す説明図である。
【図７】フレーズデータ格納テーブルのデータ構造例を示す説明図である。
【図８】フレーズ・重要度・編集距離対応テーブルのデータ構造例を示す説明図である。
【図９】スコア算出テーブルのデータ構造例を示す説明図である。
【図１０】スコア算出テーブルのデータ構造例を示す説明図である。
【図１１】補完フレーズの抽出例を示す説明図である。
【図１２】補完フレーズの抽出例を示す説明図である。
【図１３】補完フレーズの表示例を示す説明図である。
【図１４】補完フレーズの表示例を示す説明図である。
【図１５】補完フレーズの表示例を示す説明図である。
【図１６】補完フレーズの表示例を示す説明図である。
【図１７】補完した後の表示例を示す説明図である。
【図１８】補完フレーズの表示例を示す説明図である。
【図１９】補完した後の表示例を示す説明図である。
【図２０】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００２２】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図１は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００２３】
文章を作成する場合（特に、定型的な文章を入力する場合）に、キーボード、タッチパネル等を用いた文章打ち込みにおける省力化を行う技術として補完技術が存在する。
この補完技術は、次の２つの技術がある。（１）過去に作成された電子文書（以下、文書ともいう）から定型的なフレーズ（文字列）を抽出しておく技術、（２）文章打ち込みにおいて、打ち込まれた文章（文字列）に続くフレーズの候補をカーソル付近に表示し、操作者に選択させることで、文章作成の負担を軽減する技術である。
本実施の形態は、まず（１）の技術を用いる情報処理を図１の例を用いて説明し、次に（２）の技術を用いる情報処理を図２以降の例を用いて説明する。
【００２４】
本実施の形態である情報処理装置は、過去に作成された文書から定型的なフレーズ（以下、文字列ともいう）を抽出するものであって、図１の例に示すように、文書格納モジュール１１０、フレーズ抽出モジュール１２０、フレーズデータ格納モジュール１３０を有している。
これは、操作者が文章を書き始める前に、予め補完するフレーズを、過去に作成された文書から抽出して、フレーズデータを作成しておくためのものである。
【００２５】
文書格納モジュール１１０は、フレーズ抽出モジュール１２０と接続されている。文書格納モジュール１１０は、過去に作成された文書を格納しており、フレーズ抽出モジュール１２０からアクセスされる。この格納されている文書は、一人の操作者（特に、図２の例を用いて説明する補完技術を実現する情報処理装置の操作者と同じ操作者）によって作成された文書であってもよいし、他の人によって作成された文書であってもよい。例えば、組織（具体例として、会社、部署、グループ、プロジェクトに属しているメンバー等）によって作成された文書を記憶している文書データベース等が該当する。
【００２６】
フレーズ抽出モジュール１２０は、文書格納モジュール１１０、フレーズデータ格納モジュール１３０と接続されている。フレーズ抽出モジュール１２０は、文書格納モジュール１１０に格納されている文書から補完するフレーズを抽出し、その抽出したフレーズをフレーズデータ格納モジュール１３０に格納する。また、抽出したフレーズには重要度を付与してもよい。
例えば、句読点を区切りとしてフレーズを抽出し、そのフレーズが全ての文書中で出現している頻度を計数し、この頻度をそのフレーズの重要度とするようにしてもよい。また、形態素解析技術を用いて、フレーズを抽出してもよく。また、重要度は、文書格納モジュール１１０に格納された文書における出現頻度に基づいてその初期値を決定してもよい。そして、図２の例に示す情報処理装置において、そのフレーズの補完としての利用回数に基づいて更新することとしてもよい。例えば、語句の重要度Ｉは、語句の出現頻度をＡ、補完としての利用回数をＢとして、Ｉ＝ｐ・Ａ＋ｑ・Ｂ（ｐ，ｑは重み）という式により算出することとしてもよい。
【００２７】
フレーズデータ格納モジュール１３０は、フレーズ抽出モジュール１２０と接続されている。フレーズデータ格納モジュール１３０は、フレーズ抽出モジュール１２０によって抽出されたフレーズを格納している。また、フレーズ抽出モジュール１２０によって抽出されたフレーズとそのフレーズの重要度を対応付けて格納していてもよい。具体的なデータ構造例は、図７の例を用いて後述する。また、フレーズデータ格納モジュール１３０は、図２の例に示す情報処理装置からもアクセスされる。そのために、フレーズデータ格納モジュール１３０は、フレーズ抽出モジュール１２０又は図２の例に示す情報処理装置と通信回線を介して接続されているサーバー等内にあってもよい。
【００２８】
図２は、本実施の形態の補完処理を行う情報処理装置の構成例についての概念的なモジュール構成図である。
補完処理を行う情報処理装置は、図２の例に示すように、テキスト受付モジュール２１０、補完候補フレーズ取得モジュール２２０、フレーズデータ格納モジュール１３０、補完候補フレーズ表示モジュール２３０、補完モジュール２４０を有している。
【００２９】
テキスト受付モジュール２１０は、補完候補フレーズ取得モジュール２２０と接続されている。テキスト受付モジュール２１０は、キーボード、タッチパネル等に対する操作者の操作によって、打ち込まれる文字列（テキスト）を受け付ける。例えば、日本語入力フロントエンドプロセッサ(かな漢字変換モジュール)等によって構成されていてもよい。図４は、補完対象となる文字列の受け付け処理例を示す説明図である。既打込文字列表示領域４００内には、既に打ち込まれた文字列が表示されており、現在の打ち込み位置にカーソル４１０が表示されている。
【００３０】
補完候補フレーズ取得モジュール２２０は、テキスト受付モジュール２１０、フレーズデータ格納モジュール１３０、補完候補フレーズ表示モジュール２３０と接続されている。補完候補フレーズ取得モジュール２２０は、第１の文字列を受け付ける。ここでの第１の文字列は、後述する第２の文字列によって補完され得る文字列（補完対象の文字列）である。テキスト受付モジュール２１０によって打ち込まれた文字列から、第１の文字列を取得する。つまり、操作者がテキスト受付モジュール２１０に打ち込んだ文字列から、補完フレーズを検索するための第１の文字列（以下、検索キーともいう）を取得する。検索キーを取得するタイミングは、最後に文字が打ち込まれてから予め定められた時間が経過したときとする。例えば、最後に文字が入力されてから１００ｍｓ経過したときに検索キーを取得する。
取得する検索キーは、カーソル位置から前方の文字列を予め定められたルールに基づき取得する。例えば、カーソル位置から予め定められた文字数の文字列を取得してもよいし、カーソル位置の直前の区切り文字までの文字列を取得してもよい。例えば、区切り文字として句読点、改行、かっこ又は空白等を用いるものとする。図４に示す例では、検索キーとして“有意なリンパ節の腫大は”を取得することになる。
【００３１】
フレーズデータ格納モジュール１３０は、補完候補フレーズ取得モジュール２２０と接続されている。フレーズデータ格納モジュール１３０は、１つ以上のフレーズ（第２の文字列）を記憶している。この第２の文字列は、第１の文字列を補完するために用いる文字列である。
また、フレーズデータ格納モジュール１３０は、第２の文字列とその第２の文字列に関する数値（補完候補フレーズ取得モジュール２２０が補完候補として第２の文字列を抽出する際に用いる数値であり、具体的には、図１の例で説明した重要度）を対応させて記憶していてもよい。例えば、フレーズデータ格納テーブル７００を記憶している。図７は、フレーズデータ格納テーブル７００のデータ構造例を示す説明図である。フレーズデータ格納テーブル７００は、フレーズ欄７１０、重要度欄７２０を有している。フレーズ欄７１０は、第２の文字列を記憶している。重要度欄７２０は、その第２の文字列に対応する重要度を記憶している。
【００３２】
そして、補完候補フレーズ取得モジュール２２０は、フレーズデータ格納モジュール１３０から、第１の文字列を補完するために用いる文字列の候補として、第２の文字列から第１の文字列へ又は第１の文字列から第２の文字列へ編集するための距離（編集距離ともいわれる）に基づいて算出した点数（以下、スコアという）を用いて、第２の文字列を取得する。
また、補完候補フレーズ取得モジュール２２０は、フレーズデータ格納モジュール１３０から、第１の文字列を補完するために用いる文字列の候補として、第２の文字列から第１の文字列へ又は第１の文字列から第２の文字列へ編集するための距離と第２の文字列に関する数値に基づいて算出した点数を用いて、第２の文字列を取得するようにしてもよい。
なお、補完には、第１の文字列の後に、第２の文字列の一部を付加することがある。これは、第２の文字列の先頭にある文字列と第１の文字列が同じ場合が典型的な例であり、第１の文字列を打ち込んだ時点で、第２の文字列を打ち込もうとしていると判断して、続きの第２の文字列の一部（第２の文字列の前述の先頭の文字列以外の文字列である後半の文字列）を付加することである。なお、第２の文字列の一部とは、第２の文字列に含まれている文字列であって、１字以上の連続する文字列である。
この他に、補完には、第１の文字列の一部又は全部を第２の文字列又は第２の文字列の一部で置換することが含まれる。例えば、第１の文字列の一部と第２の文字列の一部が同じ場合であって、第１の文字列の全部を第２の文字列で置き換える場合が該当する。
【００３３】
補完候補フレーズ取得モジュール２２０の処理について、具体的に説明する。
補完候補フレーズ取得モジュール２２０は、第１の文字列（検索キー）を手がかりとして、フレーズデータ格納モジュール１３０からスコアが高い順に予め定められた件数の第２の文字列を取得する。
例えば、第２の文字列のスコアの計算は、重要度を用いない場合は、
スコア  ＝  −  重み  ×  距離  ・・・  （１）
重要度を用いる場合は、
スコア  ＝  重要度  −  重み  ×  距離  ・・・  （２）
の式によって計算する。そして、本例では取得する件数は３件とする。
（２）式での重要度とは、第２の文字列の重要度（具体的にはフレーズデータ格納テーブル７００の重要度欄７２０）である。各式における距離とは、第２の文字列から第１の文字列又は第１の文字列から第２の文字列へ変換するために必要となる編集の種類（挿入編集、削除編集、置換編集等）とその編集する文字数又は単語数に基づいて算出される値である。そして、距離が大であるほど補完の候補として選択されにくくなるようにしており（つまり、距離が大であるとスコアが低くなる）、距離として、第２の文字列を第１の文字列にするための編集であって、挿入編集の距離は、削除編集の距離より大である、又は、第１の文字列を第２の文字列にするための編集であって、削除編集の距離は、挿入編集の距離より大である。また、この距離算出のための編集として置換編集を含めてもよい。置換編集は、削除編集と挿入編集の組み合わせである。
以下では、主に第２の文字列から第１の文字列へ変換するために必要となる編集であって、編集は文字単位で行うことを例として用いて説明する。
例えば、削除編集のコストを０、挿入編集のコストを１とする。具体例をもって示すと、第２の文字列から５文字削除することによって第１の文字列となる場合はコストが０であり、第２の文字列に３文字挿入することによって第１の文字列となる場合はコストが３である。また、重みは１０とする。
なお、重要度の値に比べて距離の値が小さいことから、各式において重みを用いているが、重みは必ずしも必要ない。例えば、コスト自体を前述の１、０ではなく、１０、０のようにすることや、重要度を１／１０の値としてもよい。
【００３４】
例えば、フレーズデータ格納モジュール１３０内にある“有意なリンパ節の腫大は認められません。”という第２の文字列（フレーズ）であって、第１の文字列（検索キー）である“有意なリンパ節の腫大は”の場合、第１の文字列から第２の文字列への距離は、図５の例に示すように０となる。図５は、距離の算出例を示す説明図である。編集距離算出例５００は、フレーズ欄５１０、操作欄５２０、コスト欄５３０、編集距離欄５４０を有している。編集距離算出例５００の第１行は第２の文字列、第２行は第１の文字列のことを示している。つまり、第１行から第２行への編集を示している。
フレーズ欄５１０の第１行にある“有意なリンパ節の腫大は認められません。”というフレーズに対して、“認められません。”の８文字を削除するという編集（操作欄５２０の第２行）を施すと、フレーズ欄５１０の第２行のように第１の文字列（検索キー）である“有意なリンパ節の腫大は”に変換できる。ここでの編集は削除編集であるので、コストは０となり、結局、距離も０である（図５の例のコスト欄５３０、編集距離欄５４０の第２行参照）。
【００３５】
次に、フレーズデータ格納モジュール１３０内にある“顕著なリンパ節腫大はありません。”という第２の文字列（フレーズ）であって、第１の文字列（検索キー）である“有意なリンパ節の腫大は”の場合、第１の文字列から第２の文字列への距離は、図６の例に示すように３となる。図６は、距離の算出例を示す説明図である。編集距離算出例６００は、フレーズ欄６１０、操作欄６２０、コスト欄６３０、編集距離欄６４０を有している。編集距離算出例６００の第１行は第２の文字列、第５行は第１の文字列のことを示している。つまり、第１行から第５行への編集を示している。
フレーズ欄６１０の第１行にある“顕著なリンパ節腫大はありません。”というフレーズに対して、“ありません。”の６文字を削除するという編集（操作欄６２０の２行目）を施すと、フレーズ欄６１０の第２行のように“顕著なリンパ節腫大は”に変換でき、ここでの編集は削除編集であるので、コストは０となり、距離も０である（図６の例のコスト欄６３０、編集距離欄６４０の第２行参照）。
次に、フレーズ欄６１０の第２行にある“顕著なリンパ節腫大は”というフレーズに対して、“顕著”の２文字を削除するという編集（操作欄６２０の３行目）を施すと、フレーズ欄６１０の第３行のように“なリンパ節腫大は”に変換でき、ここでの編集は削除編集であるので、コストは０となり、距離も０である（図６の例のコスト欄６３０、編集距離欄６４０の第３行参照）。
次に、フレーズ欄６１０の第３行にある“なリンパ節腫大は”というフレーズに対して、“有意”の２文字を挿入するという編集（操作欄６２０の４行目）を施すと、フレーズ欄６１０の第４行のように“有意なリンパ節腫大は”に変換でき、ここでの編集は挿入編集であるので、コストは２となり、距離も２である（図６の例のコスト欄６３０、編集距離欄６４０の第４行参照）。
次に、フレーズ欄６１０の第４行にある“有意なリンパ節腫大は”というフレーズに対して、“の”の１文字を挿入するという編集（操作欄６２０の５行目）を施すと、フレーズ欄６１０の第５行のように第１の文字列（検索キー）である“有意なリンパ節の腫大は”に変換できる。ここでの編集は挿入編集であるので、コストは１となり、距離は３となる（図６の例のコスト欄６３０、編集距離欄６４０の第５行参照）。距離は、その編集でのコストと前回までの距離との和である。したがって、編集距離算出例６００の５行目では、コスト欄６３０の第５行の１と編集距離欄６４０の第４行の２を加算して、編集距離欄６４０の第５行の３となる。
なお、編集の順番は、編集距離算出例６００以外の順番であってもよい。編集距離算出例６００の第２行から第４行までは、編集の途中経過を示している。
【００３６】
補完候補フレーズ取得モジュール２２０は、フレーズデータ格納モジュール１３０内の第２の文字列全てに対して、前述の距離の算出を行ってもよいし、フレーズデータ格納モジュール１３０内から既存の技術を用いて第１の文字列と類似している第２の文字列を抽出し、その抽出した第２の文字列に対して、前述の距離の算出を行ってもよい。
その結果、フレーズ・重要度・編集距離対応テーブル８００を作成する。図８は、フレーズ・重要度・編集距離対応テーブル８００のデータ構造例を示す説明図である。フレーズ・重要度・編集距離対応テーブル８００は、フレーズ欄８１０、重要度欄８２０、編集距離欄８３０を有している。フレーズ・重要度・編集距離対応テーブル８００は、フレーズデータ格納テーブル７００に編集距離欄８３０を加えたものである。つまり、フレーズ欄８１０は、フレーズデータ格納テーブル７００のフレーズ欄７１０に対応し、重要度欄８２０は、フレーズデータ格納テーブル７００の重要度欄７２０に対応する。編集距離欄８３０は、フレーズ欄８１０内の第２の文字列に対して前述のように算出した距離を記憶している。
【００３７】
次に、各第２の文字列に対してのスコア算出方法について説明する。
図９は、スコア算出テーブル９００のデータ構造例を示す説明図である。スコア算出テーブル９００は、フレーズ欄９１０、重要度欄９２０、編集距離欄９３０、スコア欄９４０を有している。スコア算出テーブル９００は、フレーズ・重要度・編集距離対応テーブル８００にスコア欄９４０を加えたものである。つまり、フレーズ欄９１０は、フレーズ・重要度・編集距離対応テーブル８００のフレーズ欄８１０に対応し、重要度欄９２０は、フレーズ・重要度・編集距離対応テーブル８００の重要度欄８２０に対応し、編集距離欄９３０は、フレーズ・重要度・編集距離対応テーブル８００の編集距離欄８３０に対応する。スコア欄９４０は、フレーズ欄９１０内の第２の文字列に対して前述の（２）式によって算出したスコアを記憶している。例えば、第２行のスコア（２５）は、５５−１０×３の計算結果である。
次に、スコアが高い順に並べ替え（降順でのソート）を行う。並べ替えを行った結果を図１０の例に示す。図１０は、スコア算出テーブル１０００のデータ構造例を示す説明図である。スコア算出テーブル１０００は、フレーズ欄１０１０、重要度欄１０２０、編集距離欄１０３０、スコア欄１０４０を有している。スコアの高い順に並べ替えられている。
そして、このスコア算出テーブル１０００から上位にある第２の文字列を予め定められた数だけ抽出する。この第２の文字列が、操作者によって選択対象となるものであって、第１の文字列を補完するために用いる文字列となる。
【００３８】
補完候補フレーズ表示モジュール２３０は、補完候補フレーズ取得モジュール２２０、補完モジュール２４０と接続されている。補完候補フレーズ表示モジュール２３０は、補完候補フレーズ取得モジュール２２０によって取得された第２の文字列又はその第２の文字列の一部を表示する。その表示は、表示されている第１の文字列の近辺に表示するようにしてもよい。
また、補完候補フレーズ表示モジュール２３０は、第２の文字列の一部から第１の文字列へ又は第１の文字列から第２の文字列の一部へ編集するための距離とその第２の文字列の一部以外の部分の文字列の長さに基づいて、補完に用いる文字列として表示する文字列である第２の文字列の一部を生成するようにしてもよい。
補完候補フレーズ取得モジュール２２０によって選択された第２の文字列を先頭からの文字列とそれ以外の文字列の２つの部分に分ける。つまり、第２の文字列を前半部分と後半部分の２つに分割する。ここでは、前半の部分を「カーソルより前のフレーズ」といい、それ以外の後半の部分を「補完フレーズ」という。
【００３９】
カーソルより前のフレーズから第１の文字列（検索キー）への距離が最小であって、かつ補完フレーズが最長のものを、補完候補フレーズ表示モジュール２３０が表示する補完フレーズとする。もちろんのことながら、第１の文字列（検索キー）からカーソルより前のフレーズへの距離を用いるようにしてもよい。
この処理について、図１１を用いて説明する。図１１は、補完フレーズの抽出例を示す説明図である。補完フレーズ抽出例１１００は、Ｎｏ．欄１１１０、カーソルより前のフレーズ欄１１２０、補完フレーズ欄１１３０、カーソルより前のフレーズから検索キーへの編集距離欄１１４０を有している。カーソルより前のフレーズから検索キーへの編集距離欄１１４０は、第２の文字列を前半部分から第１の文字列への距離を記憶している。第１行から第８行までは、編集が削除編集のみであるので、距離は０である。第９行は“は”（１文字）の挿入編集が必要であるので、距離は１となり、第１０行は“大は”（２文字）の挿入編集が必要であるので、距離は２となる。したがって、スコア欄１０４０の値が最小で、編集距離欄１０３０の文字列長が最長のものは、第８行の“有意なリンパ節の腫大は”を選択することとなる。
【００４０】
他の例について、図１２を用いて説明する。図１２は、補完フレーズの抽出例を示す説明図である。補完フレーズ抽出例１２００は、Ｎｏ．欄１２１０、カーソルより前のフレーズ欄１２２０、補完フレーズ欄１２３０、カーソルより前のフレーズから検索キーへの編集距離欄１２４０を有している。カーソルより前のフレーズから検索キーへの編集距離欄１２４０は、第２の文字列を前半部分から第１の文字列への距離を記憶している。第１行から第１４行までは、“特に”を削除し、“の”を挿入し、“は”を挿入し、“などの異常は指摘できません”等を削除する編集が必要であるので、距離は２である。第１５行はさらに“大”（１文字）の挿入編集が必要であるので、距離は３となり、第１６行は第１５行に対してさらに“腫”（１文字）の挿入編集が必要であるので、距離は４となる。したがって、カーソルより前のフレーズから検索キーへの編集距離欄１２４０の値が最小で、補完フレーズ欄１２３０の文字列長が最長のものは、第１４行の“特に有意なリンパ節腫大”を選択することとなる。
【００４１】
また、補完候補フレーズ表示モジュール２３０は、補完候補フレーズ取得モジュール２２０によって選択された第２の文字列を、その一部ではなく、第２の文字列全体を表示するようにしてもよい。特に、第２の文字列から第１の文字列に編集する場合に、第２の文字列の先頭の文字から編集が必要であるか否かを判断し、編集が必要である場合に、第２の文字列全体を表示するようにしてもよい。例えば、図１２の例に示す補完フレーズ抽出例１２００では、補完フレーズ欄１２３０内のフレーズのみならず、カーソルより前のフレーズ欄１２２０内のフレーズも表示することになる。
【００４２】
図１３は、補完フレーズの表示例を示す説明図である。
補完候補フレーズ表示モジュール２３０は、既打込文字列表示領域４００に対して、カーソル４１０の近辺に補完フレーズ候補群表示領域１３１０を表示する。例えば、前述のように、最後に文字が入力されてから１００ｍｓ経過したときに、カーソル４１０の下方に補完フレーズ候補群表示領域１３１０を表示する。補完フレーズ候補群表示領域１３１０は、補完フレーズ１３１２、１３１４、１３１６を有している。補完フレーズ１３１２、１３１４、１３１６は、補完候補フレーズ取得モジュール２２０によって選択された第２の文字列であって、前述の補完候補フレーズ表示モジュール２３０の処理によって選択されたフレーズ（例えば、第２の文字列の後半部分の文字列）である。
【００４３】
図１４は、図１３の状態から、マウスカーソルを補完フレーズ１３１２に移動した場合（又はキーボード内の下矢印キーを押した場合、以下、同様）の例を示している。補完フレーズ１３１２が操作者によって選択されたならば、カーソル４１０の後に補完フレーズ１３１２に表示されている文字列を追加する編集がなされることを示している。
【００４４】
図１５は、図１３の状態から、マウスカーソルを補完フレーズ１３１４に移動した場合の例を示している。補完フレーズ１３１４が操作者によって選択されたならば、黒白を反転された領域である置換元文字列１５２０の位置から補完フレーズ１３１４に表示されている文字列を置換する編集がなされることを示している。これは、前述の第２の文字列から第１の文字列へ編集する場合の距離を算出するために、その編集が行われる第１の文字列内の位置を抽出しているが、その編集の最初の位置（先頭に近い位置）からカーソル４１０までの間を置換対象領域の文字列であるとして、他の文字列とは区別できるように（例えば、図１５の例のように黒白反転する）表示する。つまり、図１５の例では、補完フレーズ１３１４が操作者によって選択された場合、既打込文字列表示領域４００内の“の腫大は”を“腫大や胸水貯留は認められません。”に置換する。
【００４５】
図１６は、図１３の状態から、マウスカーソルを補完フレーズ１３１６に移動した場合の例を示している。補完フレーズ１３１６が操作者によって選択されたならば、黒白を反転された領域である置換元文字列１６２０の位置から補完フレーズ１３１６に表示されている文字列を置換する編集がなされることを示している。これは、前述の第２の文字列から第１の文字列へ編集する場合の距離を算出するために、その編集が行われる第１の文字列内の位置を抽出しているが、その編集の最初の位置（先頭に近い位置）からカーソル４１０までの間を置換対象領域の文字列であるとして、他の文字列とは区別できるように（例えば、図１６の例のように黒白反転する）表示する。
図１７は、補完した後の表示例を示す説明図である。つまり、図１６の例の状態から、補完フレーズ１３１６が操作者によって選択された場合を示している。既打込文字列表示領域４００内の“有意なリンパ節の腫大は”が“特に有意なリンパ節腫大などの異常は指摘できません。”に置換されている。
【００４６】
図１８は、補完フレーズの表示例を示す説明図である。
補完候補フレーズ表示モジュール２３０は、既打込文字列表示領域４００に対して、カーソル４１０の近辺に補完フレーズ候補群表示領域１８１０を表示する。例えば、前述のように、最後に文字が入力されてから１００ｍｓ経過したときに、カーソル４１０の下方に補完フレーズ候補群表示領域１８１０を表示する。補完フレーズ候補群表示領域１８１０は、補完フレーズ１８１２、１８１４、１８１６を有している。補完フレーズ１８１２、１８１４、１８１６は、補完候補フレーズ取得モジュール２２０によって選択された第２の文字列であって、前述の補完候補フレーズ表示モジュール２３０の処理によって選択されたフレーズ（例えば、第２の文字列の後半部分の文字列）である。
図１８に示す例は、前述の第２の文字列から第１の文字列へ編集する場合の距離を算出するために、その編集が行われる第１の文字列内の位置を抽出しているが、その編集の最後の位置（カーソル４１０に近い位置）からカーソル４１０までの間を置換対象領域の文字列であるとして、他の文字列とは区別できるように（例えば、図１８の例のように黒白反転する）表示する。
図１９は、補完した後の表示例を示す説明図である。つまり、図１８の例の状態から、補完フレーズ１８１６が操作者によって選択された場合を示している。既打込文字列表示領域４００内の“の腫大は”が“腫大などの異常は指摘できません。”に置換されている。
【００４７】
補完モジュール２４０は、補完候補フレーズ表示モジュール２３０と接続されている。補完モジュール２４０は、補完候補フレーズ表示モジュール２３０によって表示された第２の文字列又はその第２の文字列の一部を、操作者の選択操作によって選択し、その選択された第２の文字列又はその第２の文字列の一部に基づいて、第１の文字列を補完する。つまり、図１３から図１９の例を用いて説明した編集を行うものである。つまり、ここでの補完は、現在のカーソルの位置から文字列を単に追加する補完だけではなく、補完するフレーズに合わせて既に打ち込まれている文字列の一部又は全部を置換することも含めた補完を行うこともある。
【００４８】
図３は、本実施の形態による処理例を示すフローチャートである。
ステップＳ３０２では、補完候補フレーズ取得モジュール２２０は、フレーズデータ格納モジュール１３０からフレーズ（第２の文字列）を取得する。
ステップＳ３０４では、補完候補フレーズ取得モジュール２２０は、フレーズ（第２の文字列）は検索キー（第１の文字列）と同じであるか否かを判断し、同じである場合はステップＳ３０８へ進み、それ以外の場合はステップＳ３０６へ進む。
ステップＳ３０６では、補完候補フレーズ取得モジュール２２０は、フレーズ（第２の文字列）から検索キー（第１の文字列）への編集を行う。
ステップＳ３０８では、補完候補フレーズ取得モジュール２２０は、編集におけるスコアを算出する。
ステップＳ３１０では、補完候補フレーズ取得モジュール２２０は、スコアに対してソートを行う。上位から予め定められた数のフレーズ（第２の文字列）を選択する。
ステップＳ３１２では、補完候補フレーズ表示モジュール２３０は、表示するフレーズ（第２の文字列又は第２の文字列の一部）を生成する。
ステップＳ３１４では、補完候補フレーズ表示モジュール２３０は、生成したフレーズ（第２の文字列又は第２の文字列の一部）を表示する。
ステップＳ３１６では、補完候補フレーズ表示モジュール２３０は、操作者の選択操作によってフレーズ（第２の文字列又は第２の文字列の一部）を選択する。
ステップＳ３１８では、補完モジュール２４０は、検索キー（第１の文字列）をステップＳ３１６で選択したフレーズ（第２の文字列又は第２の文字列の一部）で補完する。
【００４９】
なお、本実施の形態（図１又は図２に例示する情報処理装置）としてのプログラムが実行されるコンピュータのハードウェア構成は、図２０に例示するように、一般的なコンピュータであり、具体的にはパーソナルコンピュータ、サーバーとなり得るコンピュータ等である。つまり、具体例として、処理部（演算部）としてＣＰＵ２００１を用い、記憶装置としてＲＡＭ２００２、ＲＯＭ２００３、ＨＤ２００４を用いている。ＨＤ２００４として、例えばハードディスクを用いてもよい。フレーズ抽出モジュール１２０、補完候補フレーズ取得モジュール２２０、補完候補フレーズ表示モジュール２３０、補完モジュール２４０等のプログラムを実行するＣＰＵ２００１と、そのプログラムやデータを記憶するＲＡＭ２００２と、本コンピュータを起動するためのプログラム等が格納されているＲＯＭ２００３と、補助記憶装置であるＨＤ２００４と、キーボード、マウス、タッチパネル等に対する利用者の操作に基づいてデータを受け付ける受付装置２００６と、ＣＲＴ、液晶ディスプレイ等の出力装置２００５と、ネットワークインタフェースカード等の通信ネットワークと接続するための通信回線インタフェース２００７、そして、それらをつないでデータのやりとりをするためのバス２００８により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
【００５０】
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図２０に示すハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図２０に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えばＡＳＩＣ等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図２０に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、情報家電、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００５１】
前述の実施の形態では、フレーズデータ格納モジュール１３０はフレーズ（第２の文字列）の重要度をそのフレーズと対応させて記憶している例を主に示したが、フレーズデータ格納モジュール１３０は重要度を記憶せずにフレーズだけを記憶しているようにしてもよい。その場合、補完候補フレーズ取得モジュール２２０が行うスコアの算出は、（１）式を例示したが、
スコア  ＝  −距離
としてもよい。なお、
スコア  ＝  距離
としてもよいが、その場合は、フレーズの並べ替えにおいて降順ではなく、昇順に並べ替えを行うようにして、スコアが少ないものから予め定められた数の第２の文字列を選択するようにすればよい。
【００５２】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標））、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００５３】
１１０…文書格納モジュール
１２０…フレーズ抽出モジュール
１３０…フレーズデータ格納モジュール
２１０…テキスト受付モジュール
２２０…補完候補フレーズ取得モジュール
２３０…補完候補フレーズ表示モジュール
２４０…補完モジュール
【図１】
0005803481.tif 000002
【図２】
0005803481.tif 000003
【図３】
0005803481.tif 000004
【図４】
0005803481.tif 000005
【図５】
0005803481.tif 000006
【図６】
0005803481.tif 000007
【図７】
0005803481.tif 000008
【図８】
0005803481.tif 000009
【図９】
0005803481.tif 000010
【図１０】
0005803481.tif 000011
【図１１】
0005803481.tif 000012
【図１２】
0005803481.tif 000013
【図１３】
0005803481.tif 000014
【図１４】
0005803481.tif 000015
【図１５】
0005803481.tif 000016
【図１６】
0005803481.tif 000017
【図１７】
0005803481.tif 000018
【図１８】
0005803481.tif 000019
【図１９】
0005803481.tif 000020
【図２０】
0005803481.tif 000021