(57)【特許請求の範囲】
【請求項１】
複数の文書カテゴリから構成される検索対象となる文書に含まれる文字列と、当該文字列の前記文書における出現位置と、を対応づけた索引情報を記憶している記憶手段と、
検索キーワードを一字ずつ入力するユーザの操作と、検索キーワードを確定するユーザの操作と、を受け付ける操作受付手段と、
前記操作受付手段が検索キーワードを一文字ずつ入力するユーザの操作を受け付ける度に、当該受け付けた操作が示す文字をそれまで受け付けた操作が示す文字又は文字列に加えて検索キーワードとして取得する取得手段と、
前記操作受付手段が検索キーワードを一文字ずつ入力するユーザの操作を受け付ける度に、前記文書のうち前方一致検索の対象となるカテゴリに属する文字列から、前記取得手段が取得した前記検索キーワードから始まる文字列を、前記索引情報を用いて検索する前方一致検索手段と、
前記操作受付手段が前記検索キーワードを確定するユーザの操作を受け付けたことに応じて、前記索引情報を用いて、前記文書から前記確定された検索キーワードを含む文字列を検索する部分一致検索手段と、
前記前方一致検索手段が検索した結果を示す情報と、前記部分一致検索手段が検索した結果を示す情報と、を出力する出力手段と、
を備えることを特徴とするテキスト検索装置。
【請求項２】
前記前方一致検索手段は、前記索引情報を用いて、前記検索キーワードが前記前方一致検索の対象となるカテゴリに属する文字列のうち、当該検索キーワードが先頭にある文字列を特定して、前記検索キーワードから始まる文字列を検索する、
ことを特徴とする請求項１に記載のテキスト検索装置。
【請求項３】
前記記憶手段は、前記前方一致検索の対象となるカテゴリに属する文字列の先頭に、先頭であることを示すマークである先頭マークを挿入した上で、当該文字列を前記索引情報として記憶し、
前記前方一致検索手段は、前記取得手段が取得した検索キーワードの先頭に前記先頭マークを挿入して、当該先頭マークを含む検索キーワードを、前記先頭マークを挿入した文字列を含む索引情報を用いて前記文書を検索することにより、前記検索キーワードが先頭にある文字列を特定する、
ことを特徴とする請求項２に記載のテキスト検索装置。
【請求項４】
前記索引情報は、前記前方一致検索の対象となるカテゴリに属する各文字列の先頭の位置を示す先頭情報をさらに含み、
前記前方一致検索手段は、前記索引情報を用いて前記検索キーワードの位置を特定し、
当該特定した位置と、前記索引情報の先頭情報が示す位置と、を比較して前記検索キーワードが先頭にある文字列を特定する、
ことを特徴とする請求項２又は３に記載のテキスト検索装置。
【請求項５】
複数の文書カテゴリから構成される検索対象となる文書に含まれる文字列と、当該文字列の前記文書における出現位置と、を対応づけた索引情報を記憶している記憶手段を備えたコンピュータを、
検索キーワードを一字ずつ入力するユーザの操作と、検索キーワードを確定するユーザの操作と、を受け付ける操作受付手段、
前記操作受付手段が検索キーワードを一文字ずつ入力するユーザの操作を受け付ける度に、当該受け付けた操作が示す文字をそれまで受け付けた操作が示す文字又は文字列に加えて検索キーワードとして取得する取得手段、
前記操作受付手段が検索キーワードを一文字ずつ入力するユーザの操作を受け付ける度に、前記文書のうち前方一致検索の対象となるカテゴリに属する文字列から、前記取得手段が取得した前記検索キーワードから始まる文字列を、前記索引情報を用いて検索する前方一致検索手段、
前記操作受付手段が前記検索キーワードを確定するユーザの操作を受け付けたことに応じて、前記索引情報を用いて、前記文書から前記確定された検索キーワードを含む文字列を検索する部分一致検索手段、
前記前方一致検索手段が検索した結果を示す情報と、前記部分一致検索手段が検索した結果を示す情報と、を出力する出力手段、
として機能させるためのプログラム。
【請求項６】
検索キーワードを一字ずつ入力するユーザの操作と、検索キーワードを確定するユーザの操作と、を受け付ける操作受付手段と、
前記操作受付手段が検索キーワードを一文字ずつ入力するユーザの操作を受け付ける度に、当該受け付けた操作が示す文字をそれまで受け付けた操作が示す文字又は文字列に加えて検索キーワードとして取得する取得手段と、
前記操作受付手段が検索キーワードを一文字ずつ入力するユーザの操作を受け付ける度に、文書のうち前方一致検索の対象となるカテゴリに属する文字列から、前記取得手段が取得した前記検索キーワードから始まる文字列を検索する前方一致検索手段と、
前記操作受付手段が前記検索キーワードを確定するユーザの操作を受け付けたことに応じて、前記文書から前記確定された検索キーワードを含む文字列を検索する部分一致検索手段と、
前記前方一致検索手段が検索した結果を示す情報と、前記部分一致検索手段が検索した結果を示す情報と、を出力する出力手段と、
を備えることを特徴とするテキスト検索装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テキスト検索装置及びプログラムに関する。
【背景技術】
【０００２】
複数の項目（フィールド）を含む文書（辞書等）を検索する装置が知られている。検索装置には、ユーザの利便性を高めるため、検索対象文書に文字列が存在するか否かだけでなく、その出現頻度等に着目して検索結果文書の順位付けを行なうものがある（例えば特許文献１）。特許文献１に記載の技術では、索引（インデックス）を用いて検索する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−０４９５４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
電子辞書には、検索キーワードを一文字入れるたびに見出語を検索し、見出語一覧表示するインクリメント検索機能と、検索キーワードを入れ終わった後に全文を検索する全文検索（本検索）機能と、二つの検索機能を持つことでユーザの利便性が高めたものがある。このような電子辞書では、一般に前方一致検索でインクリメント検索し、部分一致検索により全文検索する。
【０００５】
しかし、特許文献１の技術を用いて前方一致検索を用いる機能と部分一致検索を用いる機能を一つの装置に持たせるためには、それぞれに対応する索引情報を別々に記憶しておく必要がある。そのため、必要な記憶容量が大きくなってしまうという問題がある。
【０００６】
本発明はこのような事情に鑑みて成されたものであり、ユーザにとって利便性が高い検索機能を実現でき、かつ必要な記憶容量が小さいテキスト検索装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明に係るテキスト検索装置は、
複数の文書カテゴリから構成される検索対象となる文書に含まれる文字列と、当該文字列の前記文書における出現位置と、を対応づけた索引情報を記憶している記憶手段と、
検索キーワードを一字ずつ入力するユーザの操作と、検索キーワードを確定するユーザの操作と、を受け付ける操作受付手段と、
前記操作受付手段が検索キーワードを一文字ずつ入力するユーザの操作を受け付ける度に、当該受け付けた操作が示す文字をそれまで受け付けた操作が示す文字又は文字列に加えて検索キーワードとして取得する取得手段と、
前記操作受付手段が検索キーワードを一文字ずつ入力するユーザの操作を受け付ける度に、前記文書のうち前方一致検索の対象となるカテゴリに属する文字列から、前記取得手段が取得した前記検索キーワードから始まる文字列を、前記索引情報を用いて検索する前方一致検索手段と、
前記操作受付手段が前記検索キーワードを確定するユーザの操作を受け付けたことに応じて、前記索引情報を用いて、前記文書から前記確定された検索キーワードを含む文字列を検索する部分一致検索手段と、
前記前方一致検索手段が検索した結果を示す情報と、前記部分一致検索手段が検索した結果を示す情報と、を出力する出力手段と、
を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ユーザにとって利便性が高い検索機能を実現でき、かつ必要な記憶容量が小さいテキスト検索装置及びプログラムを提供できる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態１に係るテキスト検索装置の一例を示す斜視図である。
【図２】実施形態１に係るテキスト検索装置の一構成例を表すハードウェア構成図である。
【図３】実施形態１に係るテキスト検索装置が実行するデータ等生成処理の一例を表すフローチャートである。
【図４】実施形態１に係るテキスト検索装置が有する機能の一例を表す機能ブロック図である。
【図５】（ａ）は、テキスト検索装置が記憶する辞書データの一例を表す図である。（ｂ）は、テキスト検索装置が記憶する再配置コンテンツテキストデータの一例を表す図である。
【図６】実施形態１に係るテキスト検索装置が表示するインクリメント検索の結果表示画面の一例を表す図である。
【図７】実施形態１に係るテキスト検索装置が表示する本検索の結果表示画面の一例を表す図である。
【図８】実施形態１に係るテキスト検索装置が記憶する辞書テーブルの一例を表す図である。
【図９】実施形態１に係るテキスト検索装置が記憶する転置インデックスを含む電子ファイルの一例を表す図である。
【図１０】実施形態１に係るテキスト検索装置が実行するテキスト検索処理の一例を表すフローチャートである。
【図１１】実施形態１に係るテキスト検索装置が実行する前方一致検索処理の一例を表すフローチャートである。
【図１２】実施形態１に係るテキスト検索装置が実行する本検索処理の一例を表すフローチャートである。
【図１３】実施形態１に係るテキスト検索装置が記憶する決定方法テーブルの一例を表す図である。
【図１４】実施形態１に係るテキスト検索装置が実行する単一文字列検索処理の一例を表すフローチャートである。
【図１５】実施形態１に係るテキスト検索装置が実行する出現位置取得処理の一例を表すフローチャートである。
【図１６】実施形態１に係るテキスト検索装置が実行する複数文字列検索処理の一例を表すフローチャートである。
【図１７】（ａ）は、検証文字列の特定出現位置が基準文字列の特定出現位置以降である場合における検証文字列と基準文字列との距離の一例を表す図である。（ｂ）は、検証文字列の特定出現位置が基準文字列の特定出現位置よりも先である場合における検証文字列と基準文字列との距離の一例を表す図である。
【図１８】検索キーワードの最小包含範囲の最小値と最大値との一例を表す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態に係るテキスト検索装置１００について、添付図面を参照しつつ説明する。
【００１１】
本発明の実施形態に係るテキスト検索装置１００は、図１に示すような電子辞書で構成され、ユーザの操作に応じて検索キーワードを入力するキーボード１００ｉと、検索キーワードに基づいて辞書を検索した検索結果を表示するＬＣＤ（Liquid Crystal Display）１００ｈと、を備える。
【００１２】
テキスト検索装置１００の内部には、図２に示すようなＣＰＵ（Central Processing Unit）１００ａ、ＲＯＭ（Read Only Memory）１００ｂ、ＲＡＭ（Random Access Memory）１００ｃ、ハードディスク１００ｄ、メディアコントローラ１００ｅ、ビデオカード１００ｇ、及びスピーカ１００ｊが内蔵され、図１に示したＬＣＤ１００ｈ及びキーボード１００ｉとバスを介して接続されている。
【００１３】
ＣＰＵ１００ａは、ＲＯＭ１００ｂ若しくはハードディスク１００ｄに保存されたプログラムにより、下記する検索処理のためにテキスト検索装置１００の各部を制御し、また内部処理を実行する。ＲＡＭ１００ｃは、ＣＰＵ１００ａによるプログラムの実行時において、処理対象とするデータを一時的に記憶する等、作業領域として用いられる。
【００１４】
ハードディスク１００ｄは、各種のデータを保存したテーブルと、英和辞書等の辞書データと、を記憶する。尚、テキスト検索装置１００は、ハードディスク１００ｄの代わりに、フラッシュメモリを備えても良い。
【００１５】
メディアコントローラ１００ｅは、フラッシュメモリ、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）、及びブルーレイディスク（Blu-ray Disc）（登録商標）を含む記録媒体から各種のデータ及びプログラムを読み出す。
【００１６】
ビデオカード１００ｇは、ＣＰＵ１００ａから出力されたデジタル信号に基づいて画像を描画（つまり、レンダリング）すると共に、描画された画像を表す画像信号を出力する。ＬＣＤ１００ｈは、ビデオカード１００ｇから出力された画像信号に従って画像を表示する。尚、テキスト検索装置１００は、ＬＣＤ１００ｈの代わりに、ＰＤＰ（Plasma Display Panel）若しくはＥＬ（Electroluminescence）ディスプレイを備えても良い。スピーカ１００ｊは、ＣＰＵ１００ａから出力された信号に基づいて音声を出力する。
【００１７】
ユーザが、辞書データを記録した記録媒体を図２に示したメディアコントローラ１００ｅへ当該記録媒体を挿入すると、ＣＰＵ１００ａは、メディアコントローラ１００ｅから辞書データの信号を受信する。ＣＰＵ１００ａは、メディアコントローラ１００ｅから辞書データを取得すると、辞書データをハードディスク１００ｄに保存する。その後、ＣＰＵ１００ａは、辞書データで表される辞書を検索キーワードに基づいて検索するために用いられるデータ及び電子ファイルを生成する、図３に示すようなデータ等生成処理を実行する。これにより、ＣＰＵ１００ａはテキスト検索装置１００のその他の構成要素と協働して、図４に示すような生成部１２０として機能する。図４は、ＣＰＵ１００ａが実行する機能を示す機能ブロック図である。そして、ＣＰＵ１００ａは、テキスト検索装置１００のその他の構成要素、特にハードディスク１００ｄと協働することで、情報記憶部１１０として機能する。
【００１８】
情報記憶部１１０は、本実施形態で検索対象となる辞書データを記憶する。この辞書データは、図５（ａ）に示すように、見出語を表すテキスト（以下、見出語テキストという）と、見出語の解説を表すテキスト（以下、解説テキストという）と、例えば、成句や複合語など（以下、イディオムという）といった見出語の用例を表すテキスト（以下、用例テキストという）と、で構成される。解説テキストと用例テキストとを合わせて本文テキストと言う。言い換えれば、辞書データに含まれるテキストは、見出語を示すテキスト（見出語テキスト）と、見出語を説明するための本文（本文テキスト）と、の２つのカテゴリ（見出語カテゴリ、本文カテゴリ）に分類できる。本文カテゴリに属するテキストは、さらに見出語の解説と、その用例と、の二つ（解説カテゴリ、用例カテゴリ）に分類できる。
また、辞書データのうち、見出語テキストが占める部分を見出部ＣＥ、本文テキストがしめる部分を本文部ＣＢという。
解説テキストは、当該テキストで表される内容が解説であることを表す解説タグに囲まれており、用例テキストは、当該テキストで表される内容が用例であることを表す用例タグに囲まれている。
【００１９】
辞書データは見出部ＣＥと本文部ＣＢとの組を一つの構成単位として、この構成単位が連なって構成されている。各構成単位は、見出部ＣＥに配置された見出語テキストのアルファベット順に並べられている。各構成単位において、見出語テキストを含む見出部ＣＥの直後に、その見出語を説明するための本文テキストを含む本文部ＣＢが配置されている。
また、各見出部ＣＥには、見出部ＣＥを識別する見出語番号が予め割り当てられている。辞書データには、この見出語番号を表す情報と、当該見出語番号で識別される見出部ＣＥが格納された情報記憶部１１０における記憶領域の先頭アドレスを表す情報と、当該見出部ＣＥの直後に格納された本文部ＣＢの先頭アドレスを表す情報と、が対応付けられた情報が、見出語の数だけ含まれる。
【００２０】
本文部ＣＢには、複数の解説テキストが、電子辞書の編集者が定めた並び順に従って配置されている。具体例としては、見出語のより一般的な意味内容を解説する解説テキストの方が、見出語のより特殊な意味内容を解説する解説テキストよりも先の位置に格納されている。あるいは、より使用頻度の高い意味内容を解説する解説テキストの方が、より使用頻度の低い意味内容を解説する解説テキストよりも先の位置に格納されているとしても良い。
【００２１】
本実施形態のテキスト検索装置１００は、情報記憶部１１０に記憶された辞書データから検索キーワードを次の二つの方法で検索して、検索結果をユーザに提示する。
第１に、テキスト検索装置１００は、ユーザがキーボード１００ｉを用いて検索キーワードを一文字入力する毎に、その時点のキーワードを前方一致検索して、キーワードを先頭に含む見出語を表示する。この検索をインクリメント検索と呼ぶ。また、テキスト検索装置１００がインクリメント検索を実行している状態を、インクリメント検索モードと呼ぶ。インクリメント検索の実行例を図６に示す。
【００２２】
ユーザが、検索語の先頭の一字（図６の例ではｗ）を入力すると検索対象となる複数の辞書データ（ここでは、英英辞典、英和辞典、百科事典）において、先頭がｗから始まる見出語を検索する。そして、図６の左側に示したように、見出語一覧をユーザが選択可能な態様で提示する。
次の一字（ここではｈ）を入力すると、同様にｗｈを先頭に持つ見出語を検索して表示する（図６の中央）。以下、３文字以上入力した場合についても、同様に検索して表示する（例えば図６の右）。ユーザは候補として所望の見出語（ここではwhile）が表示されると、いつでも所望の見出語を選択してその本文テキストを表示できるようにすることができる。
なお、図６ではインクリメント検索の結果を各辞書データ（英英辞典、英和辞典、百科事典）毎に分けて表示する例を紹介した。しかし、この例に限られず、すべての検索結果を文字順にソートしてまとめて表示する構成も可能である。このとき、重複する単語については一つだけ表示するとしても良い。
【００２３】
第２に、本実施形態のテキスト検索装置１００は、ユーザがキーボード１００ｉを用いて検索キーワードを入力して確定操作を実行すると、検索キーワードを含む見出テキスト・解説テキスト・用例テキストを部分一致検索して表示する（図７）。この検索を本検索と呼ぶ。また、テキスト検索装置１００が本検索を実行している状態を本検索モードと呼ぶ。
本実施形態では、インクリメント検索と本検索を一つの索引情報（転置インデックス）を用いて実行する。
【００２４】
ここで、インクリメント検索と本検索を一つの索引（転置インデックス）を用いて検索するための準備処理であるデータ等生成処理について、図３を参照して説明する。生成部１２０は、辞書データを取得すると図３に示すデータ等生成処理を開始する。
【００２５】
データ等生成処理では、まず生成部１２０が情報記憶部１１０に記憶された辞書コンテンツを表す辞書データを読み出す（ステップＳ１０１）。
【００２６】
そして、読み出した辞書データから、見出語テキストと本文テキスト（解説テキストと用例テキスト）とを抽出する（ステップＳ１０２）。具体的に説明する。本文部ＣＢには、解説テキストと用例テキストとが混在しているので、まず生成部１２０は、これらのテキストを内容に応じて分類分けをする。そのために、生成部１２０は、辞書データに含まれる見出語番号を表す情報と、見出部ＣＥの先頭アドレスを表す情報と、本文部ＣＢの先頭アドレスを表す情報と、を用いて、辞書データから見出語テキストと本文テキストとを複数抽出する。
さらに、生成部１２０はステップＳ１０２で、抽出された見出語テキスト毎に、見出語テキストで表される見出語を解説する解説テキストを本文テキストから解説タグに基づいて複数抽出し、かつ見出語の用例を表す用例テキストを用例タグに基づいて本文テキストから複数抽出する。
【００２７】
そして、インクリメント検索の対象となるカテゴリのテキスト（ここでは見出語）の先頭に、先頭であることを示すマーク（先頭マーク、ここでは半角スペース）を挿入する（ステップＳ１０３）。
【００２８】
その後、生成部１２０は、図５（ｂ）に示すような再配置コンテンツテキストデータ（ＣＴＤ）を生成して記憶する（ステップＳ１０４）。具体的には、見出語テキストに先頭マーク（ここでは「・」で代用して表示）を抽出した上で、構成単位ごとに抽出された解説テキストの並び順を変更せずにまとめて配置することで、抽出された複数の解説テキストが配置される部位（以下、解説部ＣＣという）を生成する。
同様に、生成部１２０は、構成単位毎に、抽出された複数の用例テキストの並び順を変更せずにまとめて配置することで、抽出された複数の用例テキストが配置された部位（以下、用例部ＣＸという）を生成する。
【００２９】
生成部１２０は、このようにして見出部ＣＥと、解説部ＣＣと、用例部ＣＸと、を対応付けた複数のデータ（再配置コンテンツテキストデータ、若しくは再配置ＣＴＤ）を生成する。そして、生成部１２０は、生成した再配置コンテンツテキストデータを情報記憶部１１０へ保存する（ステップＳ１０４）。
【００３０】
その後、生成部１２０は、再配置コンテンツテキストデータで表される辞書を識別する辞書番号を生成する。次に、生成部１２０は、図８に示す辞書テーブルへ、生成された辞書番号を表す情報と、辞書の名称を表す情報と、再配置コンテンツテキストデータが格納された情報記憶部１１０の記憶領域の先頭アドレスを表す情報と、を対応付けた情報を情報記憶部１１０に保存する（ステップＳ１０５）。
【００３１】
その後、生成部１２０は、再配置コンテンツテキストデータで表されるテキスト（つまり、見出部ＣＥ、解説部ＣＣ、及び用例部ＣＸに配置されたテキスト）のそれぞれについて、先頭から１文字ずつずらしながら１文字を切り出すことで、モノグラム文字列パタンを抽出する。また、同様に、生成部１２０は、再配置コンテンツテキストデータで表されるテキストの先頭から１文字ずつずらしながら２文字を切り出すことで、バイグラム文字列パタンを抽出する。以下、モノグラム文字列パタン、バイグラム文字列パタンを、Ｎグラム文字列パタンと総称する。尚、本実施形態では、文字は文字列に含まれるとし、特別に区別する記載がある場合を除き、文字と文字列とを区別しない。
【００３２】
次に、生成部１２０は、各Ｎグラム文字列パタンについて、Ｎグラム文字列パタンが再配置コンテンツテキストデータで表されるテキスト（以下、再配置テキストという）に出現する位置（以下、出現位置という）を１又は複数特定する。その後、生成部１２０は、Ｎグラム文字列パタン毎に、再配置テキストにおけるＮグラム文字列パタンの出現頻度を算出する。ここで、出現頻度は、例えば、再配置テキストにＮグラム文字列パタンが現われる総回数であるとして説明するが、これに限定される訳ではない。
【００３３】
次に、生成部１２０は、Ｎグラム文字列パタン毎に、Ｎグラム文字列パタンが出現する出現位置を示すアドレス（以下、出現位置アドレスという）を表す１又は複数の情報と、当該Ｎグラム文字列パタンの出現頻度を表す情報と、を対応付けた出現位置情報を生成する。
【００３４】
次に、生成部１２０は、出現位置情報を１又は複数含む電子ファイル（以下、出現位置情報ファイル若しくはＡＰファイルという）を生成し、情報記憶部１１０へ保存する（図３のステップＳ１０６）。
図９では、出現位置情報ファイル（ＡＰファイル）は「position.idx」という名称（ファイル名）で示されている。また、出現位置情報ファイルに保存された出現位置情報は、先頭アドレスから出現頻度用の所定バイト数までの領域に出現頻度を表す情報が格納され、当該領域の直後から出現位置用の所定バイト数毎に出現位置アドレスを表す情報が格納される。
【００３５】
次に、生成部１２０は、Ｎグラム文字列パタンを表す情報（以下、Ｎグラム文字列パタン情報という）と、当該Ｎグラム文字列パタンの出現位置情報が格納された情報記憶部１１０の記憶領域の先頭アドレス（以下、出現位置情報格納アドレスという）を表す情報と、を対応付けた情報を複数含む電子ファイル（以下、Ｎグラム文字列パタンファイル若しくはＳファイルという）を生成する。その後、生成部１２０は、Ｓファイルを情報記憶部１１０へ保存する（ステップＳ１０７）。
図９では、Ｓファイルは「pattern.idx」という名称（ファイル名）で示されている。
【００３６】
その後、生成部１２０は、見出語毎に、見出語の用例を表す用例テキストが分類された用例部ＣＸの先頭アドレスと、当該用例テキストの先頭アドレスと、の差分（以下、用例部開始位置からの差分という）を、用例部ＣＸに分類された用例テキストの個数（以下、用例個数という）だけ算出する。次に、生成部１２０は、見出語毎に、１又は複数の用例部開始位置からの差分を表す情報で構成される用例開始位置情報を生成し、生成された用例開始位置情報を複数含む電子ファイル（以下、用例開始位置情報ファイル若しくはＥＰファイルという）を生成する。
図９では、ＥＰファイルは「example.idx」という名称（ファイル名）で示されている。
その後、生成部１２０は、用例開始位置情報ファイルを情報記憶部１１０へ保存する（図３に示すステップＳ１０８）。尚、ＥＰファイルに保存された用例開始位置情報は、用例部開始位置からの差分を表す情報が、先頭アドレスから当該差分用の所定バイト数までの領域に格納され、当該領域の直後から所定バイト数毎に他の差分を表す情報が格納される。
【００３７】
次に、生成部１２０は、見出語テキストを含む見出部ＣＥを識別する見出番号と、当該見出部ＣＥが格納された情報記憶部１１０の記憶領域の先頭アドレス（以下、見出部ＣＥの開始位置を表すアドレスという）を表す情報と、当該見出語テキストで表される見出語を解説する解説テキストが配置された解説部ＣＣの先頭アドレス（以下、解説部ＣＣの開始位置を表すアドレスという）を表す情報と、当該見出語の用例を表す用例テキストが配置された用例部ＣＸの先頭アドレス（以下、用例部ＣＸの開始位置を表すアドレスという）を表す情報と、当該用例部ＣＸの用例個数を表す情報と、当該用例部ＣＸの用例部開始位置情報（ＥＰファイル、図９のexample.idx）が情報記憶部１１０に格納された領域の先頭位置を表すアドレス（以下、用例部開始位置情報格納アドレスという）を表す情報と、当該見出語を掲載した辞書の辞書番号を表す情報と、を対応付けた情報を複数含む電子ファイル（以下、見出等ファイル若しくはＴファイルという）を生成する。
図９では、Ｔファイルは「number.idx」という名称（ファイル名）で示されている。
生成部１２０は、Ｔファイルを情報記憶部１１０へ保存した後に（図３に示すステップＳ１０９）、データ等生成処理の実行を終了する。
【００３８】
図９（特に「pattern.idx」と「position.idx」）に示すような、文字列（ここではＮグラム文字列パタン）と、文字列の検索対象となる文書における出現位置とを、対応付けて記録した索引構造を転置インデックスと呼ぶ。本実施形態では、データ等生成処理により、インクリメント検索の対象となるカテゴリのテキストについて、先頭に先頭マークを付した再配置ＣＴＤの転置インデックスを生成する。
【００３９】
転置インデックスを情報記憶部１１０に記憶すると、この転置インデックスを用いて検索処理を実行する準備が整う。この状態で、ユーザが辞書の検索に用いる検索キーワードを入力する操作をキーボード１００ｉを用いて実行すると、ＣＰＵ１００ａがその情報を受け取り、図１０に示すテキスト検索処理を実行する。
このテキスト検索処理を実行することにより、ＣＰＵ１００ａは図４に示すような取得部１３０、インクリメント検索部１４１０と本検索部１４２０を含む検索部１４０、算出部１５０、決定部１６０、及び出力部１７０として機能する。また、ＣＰＵ１００ａは、図２に示したビデオカード１００ｇ及びＬＣＤ１００ｈと協働して表示部１８０として機能する。
【００４０】
ユーザがキーボード１００ｉを用いて、検索キーワードの入力を始めると、テキスト検索装置は待機モードからインクリメント検索モードに移行し、ＣＰＵ１００ａが図１０に示すテキスト検索処理を開始する。テキスト検索処理では、まず取得部１３０が現在までに入力されたキーワード（入力キーワード）を取得する（ステップＳ２０１）。
【００４１】
そして、インクリメント検索部１４１０が、上述した複数の転置インデックスを用いて、入力キーワードが含まれる見出語を、前方一致検索により抽出する前方一致検索処理を実行する（ステップＳ２０２）。
【００４２】
ステップＳ２０２で実行される前方一致検索処理について、図１１を参照して説明する。前方一致検索処理では、まず取得した入力キーワードの先頭に、先頭マーク（ここでは半角スペース）を挿入する（ステップＳ３０１）。例えば、ステップＳ２０１で取得した入力キーワードが「whi」の場合には、先頭に半角スペース（記号・で示す）を挿入した「・whi」を、以下の処理に用いる入力キーワードとする。以下、この例に沿って説明する。
【００４３】
そして、検索部１４０（インクリメント検索部１４１０）は、取得された検索キーワードからＮグラム文字列パタンを生成し、生成したＮグラム文字列パタンを検索パタンとする（ステップＳ３０２）。
Ｎの値は、設定値（転置インデックスに対応するＮの値）及び入力キーワードの文字数で変化する。例えば、入力キーワードが「・whi」であり、設定値がＮ＝２である場合には、バイグラム文字列パタン「・w」、「wh」、「hi」を検索パタンとして生成する。Ｎ＝３の場合は、「・wh」、「whi」を生成する。なお、（マーク挿入後の）入力キーワードの文字数が設定値以下である場合（例えば設定値がＮ＝３であり、入力キーワードが「・ｗ」である場合）、入力キーワードの文字数（ここでは２）をＮの値とする。そして、一つのＮグラム（バイグラム「・ｗ」）のみからなるＮグラム文字列パタンを生成する。ここでは、Ｎ＝２とし、「・w」、「wh」、「hi」を生成するとする。
【００４４】
そして、ステップＳ３０２で生成した検索パタンが一つであるか複数であるか判別する（ステップＳ３０３）。
【００４５】
検索パタンが複数生成された場合（ステップＳ３０３；ＮＯ）、インクリメント検索部１４１０は、検索パタンの各出現位置を特定して、その中で注目出現位置を特定する（ステップＳ３０４）。
ここでは、生成した複数の検索パタンのうち最も出現頻度が少ない検索パタンの出現位置を注目出現位置とする。具体的には、まずインクリメント検索部１４１０がＡＰファイル（つまり、出現位置情報ファイル）及びＳファイル（つまり、Ｎグラム文字列パタンファイル）から、検索パタンの出現頻度を検索する。即ち、インクリメント検索部１４１０は、Ｎグラム文字列パタンファイル（図９の「pattern.idx」）から、生成した検索パタンを表す情報に対応付けられた出現位置情報格納アドレスを表す情報を検索する。そして、インクリメント検索部１４１０は、出現位置情報ファイル（図９の「position.idx」）から、検索された情報で表される出現位置情報格納アドレスが指し示す位置を開始位置として、情報記憶部１１０に格納された出現位置情報を取得する。次に、インクリメント検索部１４１０は、取得した出現位置情報の先頭アドレスから上記出現頻度用の所定バイト数までの領域に格納された出現頻度を表す情報を抽出する。
【００４６】
その後、インクリメント検索部１４１０は、生成した複数の検索パタンの内で、最少の出現頻度に対応付けられた検索パタンを注目検索パタンとして特定する。ここでは、「wh」を注目検索パタンとする。出現頻度が最も少ない検索パタンに基づいて辞書から検索キーワードを検索することにより、下記するループ（図１１のステップＳ３０４からステップＳ３１６までのループ）が少ない回数で終了するので、より高速にインクリメント検索処理を実行出来るからである。
【００４７】
Ｓ３０４ではさらに、インクリメント検索部１４１０が注目検索パタンの出現位置情報における出現頻度を表す情報が格納された領域の直後から上記出現位置用の所定バイト数を読み込み、注目検索パタンの最初の出現位置を注目出現位置として選択する（ステップＳ３０４）。
【００４８】
そして、インクリメント検索部１４１０は注目検索パタン以外の検索パタン（他の検索パタン）の出現位置（特定出現位置）を特定する（ステップＳ３０５）。
具体的には、まず情報記憶部１１０が予め記憶する所定範囲を表す情報を取得する。さらに、インクリメント検索部１４１０は、注目検索パタン注目検索パタン「ｗｈ」以外の検索パタン「・w」、「hi」の出現位置の内で、注目出現位置から所定範囲までの出現位置を、それぞれ特定出現位置とする（ステップＳ３０５）。
【００４９】
次に、インクリメント検索部１４１０は、注目出現位置と、他の検索パタンの特定出現位置と、の連続性を評価して（ステップＳ３０６）、連続性の有無を判別し（ステップＳ３０７）、注目出現位置を含む位置に入力キーワードがあるか判別する。
具体的には、インクリメント検索部１４１０はステップＳ３０６で注目検索パタンと他の検索パタンについて、入力キーワードにおける相対位置（距離及び前後関係）を取得する。例えば、注目検索パタン「ｗｈ」は、入力キーワード（マーク挿入後）「・ｗｈｉ」において、他の検索パタン「・ｗ」の一文字後にあり、「ｈｉ」の一文字前に位置する。相対位置とは、このような「ｎ文字後（前）に位置する」という位置情報である。
同様に、ステップＳ３０５でＳファイルとＡＰファイルを参照して取得した注目出現位置と特定出現位置を比較して、再配置コンテンツテキストデータ上の注目検索パタンと他の検索パタンとの相対位置を取得する。そして、全ての他の検索パタンと注目検索パタンの相対位置が、入力キーワードと再配置コンテンツテキストデータとで一致した場合に、連続性があると評価される。一方、何れかの他の検索パタンと注目検索パタンの相対位置が、入力キーワードと再配置コンテンツテキストデータとで異なる場合、連続性は無いと評価される。このようにして、注目出現位置における連続性を評価する（ステップＳ３０６）。
【００５０】
インクリメント検索部１４１０は、ステップＳ３０６における連続性の評価で、連続性ありと評価されたか否か判別する（ステップＳ３０７）。連続性なしと評価された場合は（ステップＳ３０７；ＮＯ）、その注目出現位置については検索ヒット部位とせず、処理を終了する。そして、注目検索パタンの出現位置の全てについて上記処理を実行したか否かを判別する（ステップＳ３０８）。
【００５１】
注目検索パタンの出現位置の全てについて上記処理済みではないと判別すると（ステップＳ３０８；Ｎｏ）、ステップＳ３０４に戻り、次の出現位置を選択して上記の処理を繰り返す。
【００５２】
一方、全出現位置について上記処理済みであると判別すると（ステップＳ３０８；Ｙｅｓ）、ステップＳ３１８にスキップする。
【００５３】
一方、ステップＳ３０７で連続性ありと評価された場合は（ステップＳ３０７；Ｙｅｓ）、現在の注目出現位置について、ステップＳ３０２で生成した全検索パタンのうち先頭にある検索パタン（本例では「・ｗ」）の特定出現位置を、入力キーワード（本例では「・whi」）の再配置テキストにおける出現位置（検索ヒット部位）として特定する（ステップＳ３０９）。
【００５４】
一方、ステップＳ３０３で検索パタンが一つと判別された場合（ステップＳ３０３；Ｙｅｓ）は、その一つの検索パタンを注目検索パタンとしてステップＳ３０４と同様に出現位置を求め、求めた出現位置のうち未処理のものを注目出現位置として選択する（ステップＳ３１０）。そして、注目出現位置を入力キーワードの再配置テキストにおける出現位置として特定する（ステップＳ３１１）。
【００５５】
ステップＳ３０９又はステップＳ３１１で出現位置を特定すると、インクリメント検索部１４１０は、Ｔファイル（図９の「number.idx」）及び用例開始位置情報ファイル（ＥＰファイル、図９の「example.idx」）と、を参照して、出現位置が、どの構成単位のどの部位（見出部ＣＥ、解説部ＣＣ、及び用例部ＣＸのいずれか）に含まれるか特定する（ステップＳ３１２）。
【００５６】
具体的には、インクリメント検索部１４１０は、入力キーワード（本例では「・whi」）について特定した出現位置を表すアドレス以前のアドレスが指し示す位置から開始する見出部ＣＥであって、開始位置を指し示すアドレスが最大の見出部ＣＥを特定する。特定された見出部ＣＥを特定見出部と呼ぶ。即ち、特定見出部とは、出現位置が属する構成単位の見出部ＣＥである。
【００５７】
次に、インクリメント検索部１４１０は、Ｔファイル（見出等ファイル、図９の「number.idx」）を参照して、特定見出部の開始位置を指し示すアドレスを表す情報、当該特定見出部に分類された見出語テキストが表す見出語を解説する解説テキストが分類された解説部（以下、当該特定見出部に対応する解説部という）ＣＣの開始位置を指し示すアドレスを表す情報、当該特定見出部に対応する用例部ＣＸの開始位置を指し示すアドレスを表す情報、当該特定見出部に対応する用例開始位置情報格納アドレスを表す情報、当該見出語を掲載した辞書を識別する辞書番号を表す情報、及び当該特定見出部を識別する見出番号を表す情報を取得する。これらの情報から、特定見出部を示す識別子（見出番号）と、各部位の位置を特定できる情報を生成する。特定見出部を含む構成単位を特定構成単位と呼ぶ。また、各部位の位置から、特定した出現位置が特定構成単位のどの部位に位置するか定めることができる。この部位を特定部位とする。
【００５８】
ステップＳ３１２では、さらに、特定部位が見出部ＣＥである場合に、算出部１５０が下記式（１）を用いて出現位置の評価値（Ｅｓｔｉｄｘｉｄ，ｃｇｙ）を算出する。
【００５９】
【数１】
0005910134.tif 000002
【００６０】
ただし、ｉｄｘｉｄは得られた見出番号、ｃｇｙは特定部位の識別子である。ｃｇｙには、見出部ＣＥについて０が、解説部ＣＣについて１が、用例部ＣＸについて２が、それぞれ割り振られている。ここでは、特定した位置が見出部ＣＥ以外である場合には評価値を算出しないため、ｃｇｙは０のみを取る。また、Ｐｏｓｓｔｄｓｔｒ,0は入力キーワードの特定した出現位置、ＰｏｓＳｔｉｄｘｉｄ、ｈｅａｄｌｉｎｅ、ｈｄｌｉｄは見出番号ｉｄｘｉｄの見出部ＣＥの開始位置を示す。即ち、評価値（Ｅｓｔｉｄｘｉｄ，ｃｇｙ）は、特定した出現位置が、見出語の先頭から何文字離れているかを示す値である。評価値（Ｅｓｔｉｄｘｉｄ，ｃｇｙ）は、見出語に先頭マーク（半角スペース）が含まれている場合には０にならない場合がある。
【００６１】
そして、決定部１６０が特定した出現位置が見出部ＣＥの先頭にあるか判別する（ステップＳ３１３）。即ち、特定部位が見出部ＣＥであり、且つ評価値が０である場合は（ステップＳ３１３；Ｙｅｓ）、特定した出現位置は見出部ＣＥの先頭であるため、その見出部ＣＥを前方一致検索のヒット部位とみなせる。そのため決定部１６０がこの見出部ＣＥを検索結果に反映する（ステップＳ３１４）。一方、特定部位が見出部ＣＥでないか、あるいは評価値が０でない場合は（ステップＳ３１３；Ｎｏ）、特定した出現位置は検索結果から除外され（ステップＳ３１５）、以下の処理の対象とならない。
【００６２】
次に、インクリメント検索部１４１０は、ステップＳ３０４で求めた注目検索パタンの出現位置の全てについて、注目出現位置として上記処理を実行したか否かを判別する（ステップＳ３１６）。未処理の出現位置が残っている場合（ステップＳ３１６；Ｎｏ）、次の出現位置について処理を繰り返す。このとき、まずステップＳ３０３で検索パタンが一つであるか否か判別する（ステップＳ３１７）。複数であった場合（ステップＳ３１７；Ｎｏ）、ステップＳ３０４に戻る。一方、一つであった場合（ステップＳ３１７；Ｙｅｓ）、ステップＳ３１０に戻る。
【００６３】
一方、全ての出現位置について上記処理済みであった場合（ステップＳ３１６；Ｙｅｓ）、ステップＳ３１４で検索結果に反映した見出部ＣＥを、見出し番号順にソートする（ステップＳ３１８）。この処理を、図８にしめした辞書テーブルに登録された各辞書データについて実行する。
【００６４】
図１０に戻って、ステップＳ２０２で前方一致検索して見出語を抽出すると、出力部１７０がこの結果を示す情報を表示部１８０に出力して、図６に示したように検索結果を表示する。（ステップＳ２０３）。
そして、検索キーワードが確定したか判別する（ステップＳ２０４）。具体的には、現在の入力キーワードを検索キーワードとして確定する操作（例えば実行キーの押下）を検出すると、現在の入力キーワードを検索キーワードとする。この操作を検出しない場合（ステップＳ２０４；ＮＯ）、新たに一文字追加する操作を待ち受ける。そして、新たな操作を受け付けたことにより、新たな入力キーワードが得られた場合には、その入力キーワードについてステップＳ２０１から処理を繰り返す。
【００６５】
一方、上記の確定操作を検出して検索キーワードが確定すると（ステップＳ２０４；Ｙｅｓ）、テキスト検索装置１００は本検索モードに移行し、検索キーワードを用いた本検索処理を実行する（ステップＳ２０５）。
【００６６】
本検索処理では、再配置コンテンツデータに含まれる全テキストについて、部分一致検索を実行し（全文検索）、ヒットした部位を優先度順に表示する（図７）。図７の例では、検索結果を各カテゴリ毎に優先度をつけて表示している。この処理は、検索対象となる文書を全文して、部分一致した結果に優先度を付けて表示する既知の任意の方法を用いて実行して良い。ここでは、以下のような処理によって本検索を実行する。なお、必ずしも全文を検索する必要は無く、例えば検索対象となる文書の範囲（辞書の種類やカテゴリ、部位等）をユーザが選択できるとしても良い。
【００６７】
ステップＳ２０５で実行される本検索処理を、図１２を参照して説明する。
【００６８】
図１２に示すテキスト検索処理では、まず取得部１３０が確定した検索キーワード（１又は複数の検索キーワード）を取得する（ステップＳ１１）。ここでは、確定した入力キーワードが区切り文字（スペース等）を含む場合、その区切り文字で入力された文字を区切って、複数の検索キーワードを取得したとする。以降、１つの検索キーワード「while」が取得された場合を例に挙げて説明を行う。
【００６９】
ステップＳ１１の後に、本検索部１４２０は、図１１のステップＳ３０２と同様に、取得された検索キーワード（本例では「while」）からＮグラム文字列パタン（「ｗｈ」、「ｈｉ」、「ｉｌ」、「ｌｅ」）を生成し、生成したＮグラム文字列パタンを検索パタンとする（ステップＳ１２）。なお、取得した検索キーワードが複数である場合は、各キーワードについてＮグラム文字列パタンを生成する。
【００７０】
次に、本検索部１４２０は、検索パタン毎に、図１１のステップＳ３０４で説明した方法で、各検索パタンの出現頻度を取得する（ステップＳ１３）。そして、出現頻度が最も少ない検索パタンを特定する（ステップＳ１４）。このような検索パタンに基づいて辞書から検索キーワードを検索すれば、出現頻度がより多い検索パタンに基づいて辞書を検索するよりもテキスト検索処理が短時間で終了するためである。ここでは、「il」の出現頻度が最も少ないとして説明を行う。
【００７１】
その後、本検索部１４２０は、ステップＳ１１で取得した検索キーワードが一つであるか、複数であるか判別する（ステップＳ１５）。検索キーワードが一つである場合（ステップＳ１５；Ｙｅｓ）、その検索キーワードを基準文字列（優先度を定めるにあたって基準となる検索キーワード）とする（ステップＳ１６）。そして、単一文字列検索処理を実行する（ステップＳ１７）。
一方、検索キーワードが複数である場合（ステップＳ１５；Ｎｏ）、ステップＳ１２で生成した検索パタンのうち、最少の出現頻度の検索パタンを含む検索キーワードを基準文字列とし、基準文字列以外のキーワードを検証文字列とする（ステップＳ１８）。検索に要する計算量を削減するためである。そして、複数の検索キーワードを検索する処理（複数文字列検索処理）を実行する（ステップＳ１９）。ステップＳ１７乃至ステップＳ１９の検索処理を終えると、図１２の本検索処理は終了する。
【００７２】
ステップＳ１７で実行される単一文字列検索処理を、図１４を参照して説明する。単一文字列検索処理では、まず本検索部１４２０が図１２のステップＳ１２で生成した、基準文字列のＮグラム文字列パタンを検索パタンとして取得する（ステップＳ２１）。
【００７３】
そして、基準文字列の再配置ＣＴＤにおける出現位置を全て取得する処理（出現位置取得処理）を実行する（ステップＳ２２）。
【００７４】
出現位置取得処理について、図１５を参照して説明する。まず出現位置を取得すべき対象となる文字列（対象文字列、ここでは基準文字列）について生成された検索パタンが一つであるか判別する（ステップＳ３１）。検索パタンが複数生成された場合（ステップＳ３１；ＮＯ）、本検索部１４２０は、図１１のステップＳ３０４〜ステップＳ３０７と同様にステップＳ３２〜ステップＳ３５を実行する。即ち、注目検索パタンの出現位置を求めて注目出現位置を選択し（ステップＳ３２）、他の検索パタンの出現位置（特定出現位置）を求め（ステップＳ３３）、その連続性を評価して（ステップＳ３４）、連続しているか判別する（ステップＳ３５）。
【００７５】
そして、ステップＳ３５で注目出現位置において連続性が無いと判別すると（ステップＳ３５；Ｎｏ）、処理はステップＳ３６に移行し、未処理の出現位置があるか判別する（ステップＳ３６）。そして、未処理の出現位置があれば（ステップＳ３６；Ｎｏ）、次の出現位置についてステップＳ３２から処理を繰り返す。また、全ての出現位置について処理済なら（ステップＳ３６；Ｙｅｓ）、出現位置取得処理を終了する。
【００７６】
一方、連続性があると判別すると（ステップＳ３５；Ｙｅｓ）、図１１のＳ３０９と同様に、対象文字列の全検索パタンのうち先頭にある検索パタンの特定出現位置を、対象文字列の再配置テキストにおける出現位置として特定する（ステップＳ３７）。
【００７７】
一方、ステップＳ３１で検索パタンが一つと判別された場合（ステップＳ３１；Ｙｅｓ）は、その一つの検索パタンを注目検索パタンとしてステップＳ３２と同様に出現位置を求め、注目出現位置を選択する（ステップＳ３８）。そして、注目出現位置を入力キーワードの再配置テキストにおける出現位置として特定する（ステップＳ３９）。
【００７８】
次に、本検索部１４２０は、注目検索パタンの出現位置の全てを注目出現位置として上記処理を実行したかしたか否かを判別する（ステップＳ４０）。未処理の出現位置が残っている場合（ステップＳ４０；Ｎｏ）、次の出現位置について処理を繰り返す。このとき、まずステップＳ３１で検索パタンが一つであると判別したか否か判別する（ステップＳ４１）。検索パタンが一つであった場合（ステップＳ４１；Ｙｅｓ）、ステップＳ３８に戻る。一方、検索パタンが複数であった場合（ステップＳ４１；Ｎｏ）、ステップＳ３２に戻る。
【００７９】
一方、全ての出現位置について上記処理済みであった場合（ステップＳ４０；Ｙｅｓ）、対象文字列の全ての出現位置を特定したので、出現位置取得処理は終了する。
【００８０】
図１４に戻って、ステップＳ２２で基準文字列の再配置ＣＴＤにおける出現位置を全て取得すると、次に本検索部１４２０が、各出現位置が、どの構成単位のどの部位（見出部ＣＥ、解説部ＣＣ、及び用例部ＣＸのいずれか）に含まれるか、特定する（ステップＳ２３）。具体的な特定方法は図１１のステップＳ３１２と同様である。
【００８１】
ステップＳ２３ではさらに、算出部１５０が図１３に示す決定方法テーブルを参照して、現在の検索条件、各出現位置に対する評価値の決定方法（順位決定方法）を取得する。
例えば、検索キーワードが「単一」（つまり、１個）であり、見出部ＣＥが出現部位である場合については、数式（２）を用いて評価値を算出するという情報を取得する。このとき、その見出部ＣＥに含まれるテキストを特定テキストと呼ぶ。
さらに、算出部１５０は、評価値を算出する方法の情報を取得すると、その情報が示す方法で各出現部位の評価値を算出する（ステップＳ２３）。この評価値の値が小さい程、出力優先度は高い。
【００８２】
本実施形態では、検索キーワードが一つであり、特定部位が見出部ＣＥであった場合の出力優先度（Ｅｓｔidxid,0）は、以下の式（２）を用いて算出する。
【００８３】
【数２】
0005910134.tif 000003
【００８４】
なお、ＮｕｍＳｔｒｉｎｄｅｘは特定部位（見出部）の文字列の長さであり、ＮｕｍＳｔｒｓｔｄｓｔｒは基準文字列の長さである。
数式（２）で算出される評価値は、基準文字列と特定部位（見出部）の文字列（つまり、見出テキスト）とが完全に一致する場合に最小の値となり、特定見出部の見出テキストに基準文字列「while」以外の文字が多く含まれる程大きい値となる。これは、通常、ユーザは、検索キーワードである基準文字列と完全一致する見出テキストの表示を所望することが多いからである。また、通常、ユーザは、検索キーワード以外の文字を多く含む見出テキストよりも検索キーワード以外の文字を少なく含む見出テキストの表示を所望することが多いからである。
【００８５】
また、検索キーワードが一つであり、特定部位が解説部ＣＣであった場合の出力優先度（Ｅｓｔidxid,1）は、以下の式（３）を用いて算出する。
【００８６】
【数３】
0005910134.tif 000004
【００８７】
なお、ＰｏｓＳｔｉｄｘｉｄ，ｃｏｍｅｎｔａｒｙは、特定見出部に対応する解説部ＣＣの開始位置である。数式（３）で算出される評価値は、基準文字列の特定出現位置が、解説部ＣＣの開始位置に近い程小さい値となる。例えば、基準文字列をそれぞれ含む複数の解説テキストが同じ解説部ＣＣに分類されている場合には、解説部ＣＣにおいて先の位置に格納された解説テキストの評価値程小さい値となる。再配置コンテンツテキストデータの解説部ＣＣに分類された解説テキストは、例えば、見出語の一般的な意味内容若しくは見出語の使用頻度の高い意味内容を解説する解説テキスト程先の位置に格納されており、通常、ユーザは、一般的な解説を行う若しくは使用頻度の高いテキストの表示を所望することが多いためである。つまり、解説部ＣＣにおいて先の位置に格納された解説テキスト程ユーザが所望するテキストである可能性が高いと考えられるためである。このときには、その解説部ＣＣのうち、特定部位を含む解説テキストの特定部位を含む所定の文字数の文字列を特定テキストと呼ぶ。
【００８８】
また、検索キーワードが一つであり、特定部位が用例部ＣＸであった場合の出力優先度（Ｅｓｔidxid,2）は、以下の式（４）を用いて算出する。
【００８９】
【数４】
0005910134.tif 000005
【００９０】
なお、ＰｏｓＳｔｉｄｘｉｄ，example,expidは、特定見出部ｉｄｘｉｄに対応する用例部ＣＸにおける、基準文字列を含む用例テキスト（用例番号expidとする）の開始位置である。
なお、検索部１４０は、ＰｏｓＳｔｉｄｘｉｄ，example,expidは、次の手順で取得する。
まず、ステップＳ２３で取得した用例開始位置情報格納アドレスに基づいて、図９に示したファイル名が「example.idx」のＥＰファイル（つまり、用例開始位置情報ファイル）から用例開始位置情報を参照して求める。さらに、用例番号用例開始位置情報に含まれる用例部開始位置からの差分を表す情報の内で、算出された用例部ＣＸの開始位置と、処理対象となる特定出現位置と、の差分以下であり、かつ最大の差分を求める。
次に、検索部１４０は、検索した差分を表す情報が用例開始位置情報において何番目の情報であるかを上記差分用の所定バイト数に基づいて特定し、特定した番号を用例番号とする。
その後、求めた差分を、特定見出部に対応した用例部ＣＸの開始位置に加算することで、特定した用例番号の用例テキストの開始位置（ＰｏｓＳｔｉｄｘｉｄ，example,expid）を算出する。
【００９１】
数式（４）で算出される評価値は、基準文字列の特定出現位置が、用例テキストの開始位置に近い程小さい値となる。例えば、基準文字列をそれぞれ含む複数の解説テキストが同じ用例部ＣＸに分類されている場合には、用例部ＣＸにおける格納位置が先であるか後であるかではなく、用例テキストにおいて基準文字列「while」が使用される位置が先である程評価値が小さい値となる。通常、例えば、検索キーワードである基準文字列「while」の一般的な使用例若しくは使用頻度の高い使用例を表す用例テキスト程先の位置で基準文字列「while」を使用することが多いからである。また、通常、ユーザは、一般的な使用例を表すテキスト若しくは使用頻度の高いテキストの表示を所望することが多いためである。つまり、先の位置に基準文字列「while」が格納された用例テキスト程ユーザが所望するテキストである可能性が高いと考えられるためである。このときには、この用例テキストのうち特定部位を含む所定の長さの文字列を特定テキストと呼ぶ。すなわち、特定テキストとは、検索ヒット部位を含む、検索結果として表示されるべきテキストである。特定テキストは、上記説明に限らず、自由に設定された設定情報に基づき検索結果をふくむテキストから抽出されるとしてもよい。
【００９２】
そして、ステップＳ２３で全ての出現位置について評価値を算出すると、決定部１６０が、特定テキストのカテゴリ毎に、算出した特定テキストの評価値に基づき、１又は複数の特定テキストの表示順位を決定する（ステップＳ２４）。本実施形態では、決定部１６０は、特定テキストの評価値が小さい特定テキストの表示順位程、先に表示される順位に決定する。
【００９３】
その後、出力部１７０が、カテゴリ毎に、決定された表示順位で１又は複数の特定テキストを表示する、図７に示すような検索結果表示画面を表す信号を表示部１８０へ出力する（ステップＳ２５）。そして、単一文字列検索処理の実行を終了する。尚、表示部１８０は、出力された信号に基づいて検索結果表示画面を表する。
【００９４】
次に、ステップＳ１９で実行される複数文字列検索処理について、図１６を参照して説明する。
【００９５】
複数文字列検索処理では、まず本検索部１４２０が図１２のステップＳ１２で生成した、基準文字列のＮグラムを取得する（ステップＳ５１）。
【００９６】
そして、基準文字列の再配置ＣＴＤにおける出現位置を全て取得する処理（出現位置取得処理、図１５）を実行する（ステップＳ５２）。
【００９７】
さらに、図１２のＳ１８で定められた検証文字列の一つについて、図１２のステップＳ１２で生成した、基準文字列のＮグラムを取得する（ステップＳ５３）。
【００９８】
そして、検証文字列の再配置ＣＴＤにおける出現位置を全て取得する処理（出現位置取得処理、図１５）を実行する（ステップＳ５４）。
【００９９】
ある検証文字列の出現位置を全て取得すると、未処理の検証文字列があるか判別する（ステップＳ５５）。未処理の検証文字列が有る場合（ステップＳ５５；Ｎｏ）、次の未処理の検証文字列について、ステップＳ５３から処理を繰り返す。
【０１００】
一方、全ての検証文字列について出現位置を取得している場合（ステップＳ５５；Ｙｅｓ）、次にステップＳ５２で取得した基準文字列の出現位置の一つを、注目出現位置として選択する（ステップＳ５６）。
【０１０１】
そして、注目出現位置から所定の範囲に、すべての検証文字列が存在するか、ステップＳ５４で取得した検証文字列の出現位置に基づいて判別する（ステップＳ５７）。ここで、所定の範囲とは、注目出現部位が、ある見出番号の見出部ＣＥに有る場合は、その見出部全体を言う。また、解説部ＣＣに有る場合は、その解説部ＣＣ全体の中で、所定の文字数の範囲を言う。また、用例部ＣＸに有る場合は、その注目出現部位が属する用例テキスト（図５（ｂ）の用例テキスト１１、用例テキスト１２、等のそれぞれ）が占める範囲を言う。
なお、この「所定の範囲」はこれに限らず、自由に設定可能である。また、ユーザ操作等により設定変更することが出来るとしても良い。
【０１０２】
注目出現位置から所定の範囲に、すべての検証文字列が存在しない場合（ステップＳ５７；Ｎｏ）、その注目出現部位は複数の検索キーワードに対する検索（ＡＮＤ検索）のヒット部位では無いとの判断のもと、注目出現部位を検索結果から排除する（ステップＳ５８）。
【０１０３】
一方、注目出現位置から所定の範囲に、すべての検証文字列が存在する場合（ステップＳ５７；Ｙｅｓ）、注目出現部位を検索ヒット部位とする（ステップＳ５９）。そして、その注目出現部位について評価値を算出する（ステップＳ６０）。
【０１０４】
ここで、本処理における評価値の算出方法を説明する。まず、算出部１５０が図１３の決定方法テーブルを参照して、注目出現部位のカテゴリと、検索キーワードの単語数に合致する順位決定方法（算出方法）を取得する。
【０１０５】
注目出現部位が見出部ＣＥに位置する場合には、算出部１５０は、図１３に示す決定方法テーブルから、検索キーワードが「複数」であることを表す情報と、特定カテゴリ「見出部」を表す情報と、に対応付けられた順位決定方法「数式５」を表す情報を取得する。
【０１０６】
次に、算出部１５０は、基準文字列と、各検証文字列の文字数を取得する。次に、そして、各数値を以下の数式（５）に代入して、注目出現部位の特定テキストの評価値を算出する。
【０１０７】
【数５】
0005910134.tif 000006
【０１０８】
ここで、数式（５）で算出される基準文字列とｋ番目の検証文字列との距離について、基準文字列を「while」とし、１番目の検証文字列を「for」とした例を用いて説明する。図１７（ａ）に示すように、基準文字列「while」の特定出現位置が、１番目の検証文字列「for」の特定出現位置よりも先である場合には、基準文字列「while」と１番目の検証文字列「for」との距離は、基準文字列「while」の先頭から検証文字列の末尾までの距離を表す。これに対して、図１７（ｂ）に示すように、基準文字列「while」の特定出現位置が、１番目の検証文字列「for」の特定出現位置よりも後である場合には、基準文字列「while」と１番目の検証文字列「for」との距離は、検証文字列「for」の先頭から基準文字列「while」の末尾まで距離を表す。
【０１０９】
次に、数式（５）で算出される上限値ｍａｘＰｏｓ及び下限値ｍｉｎＰｏｓ並びにこれらを用いて算出される検索キーワード間距離（入力順を考慮しない場合）について、基準文字列「while」と１番目の検証文字列「for」と２番目の検証文字列「a」とを具体例として挙げて説明を行う。図１８に示すように、上限値ｍａｘＰｏｓ及び下限値ｍｉｎＰｏｓは、基準文字列と、基準文字列「while」との距離を最小とする１番目の検証文字列「for」と、基準文字列「while」との距離を最小とする２番目の検証文字列「a」と、基準文字列「while」、１番目の検証文字列「for」、及び２番目の検証文字列「a」の全てを含む最小の範囲（以下、最小包含範囲という）の下限値及び上限値である。また、検索キーワード間距離（入力順を考慮しない場合）は、当該下限値ｍｉｎＰｏｓと上限値ｍａｘＰｏｓとの差異である。
【０１１０】
このため、数式（５）で算出される評価値は、最小包含範囲に含まれる文字列が、入力された検索キーワードのみである場合に最小値となる。また、検索キーワードの全てがより狭い最小包含範囲に含まれている程（つまり、検索キーワードのいずれかの使用が開始される位置が、全ての検索キーワードの使用が終了される位置により近い程）算出される評価値が小さい値となる。例えば、入力された複数の検索キーワードが「for」、「a」、及び「while」である場合には、「for a while」を含む用例テキストの評価値の方が、「for a brief while」を含む用例テキストの評価値よりも小さい値となる。また、「for a brief while」を含む用例テキストの評価値の方が、「for a job while」を含む「This will allow you to look 『for a job while』 you are working at a part-time job」というテキストの評価値よりも小さい値となる。つまり、通常、ユーザは、検索キーワードのみで構成されるイディオムの使用例を表す用例テキストの表示を所望することが多いからであり、かつ検索キーワード以外の文字列を多く含む用例テキストよりも検索キーワード以外の文字を少なく含む用例テキストの表示を所望するからである。また、入力された複数の検索キーワードの間に文字が多く使用されている用例テキスト程、入力された複数の検索キーワードで構成されるイディオムとは異なるイディオムの使用例を表すことが多いためである。
【０１１１】
また、特定テキストの特定カテゴリが解説部ＣＣである場合には、算出部１５０は、決定方法テーブルから、検索キーワードが「複数」であることを表す情報と、特定カテゴリ「解説部」を表す情報と、に対応付けられた順位決定方法「数式６」を表す情報を取得する。
【０１１２】
次に、算出部１５０は、数式（５）を用いて評価値を算出する場合と同様に、検索キーワード間距離及び下限値ｍｉｎＰｏｓを算出する。また、算出部１５０は、数式（３）を用いて評価値を算出する場合と同様に、特定見出部に対応する解説部ＣＣの開始位置を算出する。その後、算出部１５０は、検索キーワード間距離及び下限値ｍｉｎＰｏｓと解説部ＣＣの開始位置Ｐｏｓｉｄｘｉｄ，ｃｏｍｅｎｔａｒｙとを、以下の数式（６）に用いて特定テキストの評価値を算出する。
【０１１３】
【数６】
0005910134.tif 000007
【０１１４】
数式（６）で算出される評価値は、検索キーワード間距離（入力順を考慮しない場合）が同じ解説テキストであれば、検索キーワードを包含する最小包含範囲の下限値ｍｉｎＰｏｓが解説部ＣＣの開始位置に近い程小さい値となる。また、数式（６）で算出される評価値は、下限値ｍｉｎＰｏｓと解説部ＣＣの開始位置との距離が同じ解説テキストであれば、検索キーワード間距離（入力順を考慮しない場合）が短い程小さい値となる。
【０１１５】
次に、特定テキストの特定カテゴリが用例部ＣＸである場合には、決定方法テーブルから、検索キーワードが「複数」であることを表す情報と、特定カテゴリ「用例部」を表す情報と、に対応付けられた順位決定方法「数式７」を表す情報を取得する。
【０１１６】
この場合、数式（５）を用いて評価値を算出する場合と同様に、検索キーワード間距離及び下限値ｍｉｎＰｏｓを算出し、数式（６）を用いて評価値を算出する場合と同様に、用例テキストの開始位置を算出する。その後、算出部１５０は、検索キーワード間距離及び下限値ｍｉｎＰｏｓと用例テキストの開始位置Ｐｏｓｉｄｘｉｄ、ｅｘａｍｐｌｅ，ｅｘｐｉｄとを、以下の数式（７）に用いて特定テキストの評価値を算出する。
【０１１７】
【数７】
0005910134.tif 000008
【０１１８】
数式（７）で算出される評価値は、同じ並び順の複数の検索キーワードの検索キーワード間距離（入力順を考慮しない場合）が同じであれば、下限値ｍｉｎＰｏｓが用例テキストの開始位置に近い程小さい値となり、下限値ｍｉｎＰｏｓと用例テキストの開始位置との距離が同じ解説テキストであれば、検索キーワード間距離（入力順を考慮しない場合）が短い程小さい値となる。
【０１１９】
以上のようにして注目出現部位の特定テキストについて評価値を算出すると、次に、Ｓ５２で求めた基準文字列の出現位置の全ての出現位置を注目出現位置として上記処理を実行したかしたか否かを判別する（ステップＳ６１）。未処理の出現位置が残っている場合（ステップＳ６１；Ｎｏ）、次の未処理の出現位置についてステップＳ５６から処理を繰り返す。
一方、全ての出現位置について上記処理済みであった場合（ステップＳ６１；Ｙｅｓ）、決定部１６０が、カテゴリ毎に、ステップＳ６０で算出された評価値に基づき、１又は複数の特定テキストの表示順位を決定する（ステップＳ６２）。本実施形態では、決定部１６０は、特定テキストの評価値が小さい特定テキストの表示順位程、先に表示される順位に決定する。
【０１２０】
その後、出力部１７０が、カテゴリ毎に、決定された表示順位で１又は複数の特定テキストを表示する、検索結果表示画面を表す信号を表示部１８０へ出力する（ステップＳ６３）。そして、単一文字列検索処理の実行を終了する。尚、表示部１８０は、出力された信号に基づいて検索結果表示画面を表する。
【０１２１】
以上説明したとおり、本実施形態のテキスト検索装置によれば、前方一致検索とその他の検索（部分一致検索）とを、一つの索引（転置インデックス）を用いて実行することが出来る。そのため、ユーザに対して前方一致検索と部分一致検索の結果を提示できる、ユーザの利便性の高いテキスト検索機能を、少ない必要記憶容量で実現できる。
【０１２２】
また、式（１）の評価値や、先頭マークを含めた検索により、部分一致検索用の索引情報を用いて、検索キーワードが前方一致検索の対象となるテキストの先頭にある文字列を特定する手段（特定手段）を実現している。このため、利便性の高いテキスト検索機能を実現するために必要な計算量の増加が少ない。
【０１２３】
例えば、先頭マークを含める検索により、先頭にある文字列を特定することにより、先頭マークを含めない場合よりも検索ヒット候補を抑えることが出来、計算量が少なくてすむ。
【０１２４】
また、本実施形態では、ユーザがキーワードを一文字ずつ入力している場合に前方一致検索（インクリメント検索）を実施し、検索キーワードを確定するとより詳細かつ表示される検索結果が多い部分一致検索を実施する。このように、ユーザが必要とする検索結果を、キーワード入力中とキーワード確定後といった状況に合わせて提示することが出来る。
【０１２５】
（変形例）
以上、本発明の実施形態１について説明したが、本発明の実施形態はこれに限られない。
例えば、上記実施形態１では、先頭マークは半角スペースであるとしたが、先頭マークはこれに限られず自由に選択可能である。例えば、先頭マークはシステムに予約されたユニークなマーク（その他で前方一致検索の対象となるテキストに現れないマーク）であってよい。このような場合、ユニークな先頭マークを挿入した転置インデックスを用いて、先頭マークを挿入した検索キーワードを検索すれば、検索ヒット部位は必ず対象となる文字列の先頭である。そのため、この場合には検索ヒット部位（特定部位）が前方一致検索の対象となるテキストの先頭であるかを、先頭を示すアドレスと特定部位とを比較して評価する必要はない。具体的には、図１１のステップＳ３１２で評価値を算出し、ステップＳ３１３での判別処理に反映する必要は無い。このような構成によれば、少ない必要計算量で前方一致検索と部分一致検索を実現できる。
【０１２６】
一方、前方一致検索において、先頭を示すアドレスと検索ヒット部位（特定部位）とを比較して評価する場合、転置インデックスに先頭マークが含まれておらず、検索キーワードの先頭に先頭マークを挿入しなくても、転置インデックスを用いて前方一致検索を実行することが出来る。この場合は、転置インデックスが外部サーバにあり、先頭マークを含んでいない一般的なものであった場合でも、その転置インデックスを用いて前方一致検索と部分一致検索とを実行することが出来る。
【０１２７】
また、実施形態１では再配置ＣＴＤ及び転置インデックスを生成する処理（データ等生成処理）をテキスト検索装置１００が実行するとしたが、これに限らず、予め外部装置が生成した再配置ＣＴＤ及び転置インデックスを記憶部に記憶していることで足りる。例えば、工場出荷時において、各辞書データに対応する再配置ＣＴＤと転置インデックスとを記憶するとしても良い。
【０１２８】
尚、実施形態１およびその変形例において、電子辞書は、電子辞典をも含む。つまり、電子辞書は、国語辞典、英和辞典、和英辞典、及び百科事典であっても良い。また、本発明では、テキスト検索装置１００は、検索キーワードに基づいて辞書を検索するとして説明したが、検索の対象とされる文書は、辞書に限定される訳ではなく、複数のカテゴリに分類されたテキストで構成される文書であれば、どのような文書でも良い。また、インクリメント検索（前方一致検索）と、全文検索（部分一致検索）における具体的な方法、特に順位付けの方法については、任意に設定可能である。
【０１２９】
検索の対象とされる文書は、例えば、「発明の名称」及び「特許請求の範囲」などのカテゴリにそれぞれ分類されたテキストで構成される特許明細書であっても良い。このとき、インクリメント検索の対処を、発明の名称とし、全文を本検索の対象とすることが考えられる。
また、検索の対象とされる文書は、例えば、ある製品が有する機能の名称を表すテキストが分類されるカテゴリ（以下、機能名カテゴリという）と、当該機能を利用するための操作方法を表すテキストが分類されるカテゴリ（以下、操作方法カテゴリという）とを有する説明書であっても良い。このとき、製品名と、カテゴリと、をインクリメント検索の対象とし、全文を本検索の対象とうすることが考えられる。
【０１３０】
尚、本実施形態において、検索キーワードの検索方法は、Ｎグラム検索を用いるとして説明したが、検索キーワードの検索方法は、これに限定される訳でない。
【０１３１】
尚、本発明は、実施形態１、若しくはその変形例に係るテキスト検索装置１００として提供できることはもとより、プログラムの適用により、既存のテキスト検索装置をテキスト検索装置１００として機能させることもできる。すなわち、テキスト検索装置１００による各機能構成を実現させるためのテキスト検索プログラムを、既存のテキスト検索装置を制御するコンピュータ（ＣＰＵなど）が実行できるように適用することで、実施形態１、若しくは変形例に係るテキスト検索装置１００として機能させることができる。
【０１３２】
このようなプログラムの配布方法は任意であり、例えば、メモリカード、ＣＤ−ＲＯＭ、又はＤＶＤ−ＲＯＭなどの記録媒体に格納して配布できる他、インタネットなどの通信媒体を介して配布することもできる。また、再配置ＣＴＤ及び転置インデックス等の上記処理に必要なデータの一部又は全部は、外部サーバに記憶されており、通信機能によりこれらのデータを取得して上記処理を実行する構成も可能である。
【０１３３】
また、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。つまり、本発明のいくつかの実施形態を説明したが、上述した実施形態は本発明を説明するためのものであり、本発明の範囲を限定するものではない。本発明の範囲は、実施形態ではなく、特許請求の範囲に記載された発明とその均等の範囲を含む。
以下に本願出願の当初の特許請求の範囲に記載された発明を付記する。
【０１３４】
（付記１）
複数の文書カテゴリから構成される検索対象となる文書に含まれる文字列と、当該文字列の前記文書における出現位置と、を対応づけた索引情報を記憶する記憶手段と、
検索キーワードを取得する取得手段と、
前記文書のうち前方一致検索の対象となるカテゴリに属する文字列から、前記検索キーワードから始まる文字列を、前記索引情報を用いて検索する前方一致検索手段と、
前記索引情報を用いて、前記文書から前記検索キーワードを含む文字列を検索する部分一致検索手段と、
前記前方一致検索手段が検索した結果を示す情報と、前記部分一致検索手段が検索した結果を示す情報と、を出力する出力手段と、
を備えることを特徴とするテキスト検索装置。
【０１３５】
（付記２）
前記前方一致検索手段は、前記索引情報を用いて、前記検索キーワードが前記前方一致検索の対象となるカテゴリに属する文字列のうち、当該検索キーワードが先頭にある文字列を特定して、前記検索キーワードから始まる文字列を検索する、
ことを特徴とする付記１に記載のテキスト検索装置。
【０１３６】
（付記３）
前記記憶手段は、前記前方一致検索の対象となるカテゴリに属する文字列の先頭に、先頭であることを示すマークである先頭マークを挿入した上で、当該文字列を前記索引情報を記憶し、
前記前方一致検索手段は、前記取得手段が取得した検索キーワードの先頭に前記先頭マークを挿入して、当該先頭マークを含む検索キーワードを、前記先頭マークを挿入した文字列を含む索引情報を用いて前記文書を検索することにより、前記検索キーワードが先頭にある文字列を特定する、
ことを特徴とする付記２に記載のテキスト検索装置。
【０１３７】
（付記４）
前記索引情報は、前記前方一致検索の対象となるカテゴリに属する各文字列の先頭の位置を示す先頭情報をさらに含み、
前記前方一致検索手段は、前記索引情報を用いて前記検索キーワードの位置を特定し、当該特定した位置と、前記索引情報の先頭情報が示す位置と、を比較して前記検索キーワードが先頭にある文字列を特定する、
ことを特徴とする付記２又は３に記載のテキスト検索装置。
【０１３８】
（付記５）
検索キーワードを一字ずつ入力するユーザの操作と、検索キーワードを確定するユーザの操作と、を受け付ける操作受付手段を更に備え、
前記取得手段は、
前記操作受付手段が検索キーワードを入力する操作を受け付ける度に、当該操作が示す文字をそれまで受け付けた操作が示す文字又は文字列に加えて、前記前方一致検索手段が検索する検索キーワードとして取得し、
前記操作受付手段が前記検索キーワードを確定するユーザの操作を受け付けると、当該確定された検索キーワードを、前記部分一致検索手段が検索する検索キーワードとして取得する、
ことを特徴とする付記１乃至４の何れか一つに記載のテキスト検索装置。
【０１３９】
（付記６）
コンピュータに、
複数の文書カテゴリから構成される検索対象となる文書に含まれる文字列と、当該文字列の前記文書における出現位置と、を対応づけた索引情報を取得する処理、
検索キーワードを取得する処理、
前記文書のうち前方一致検索の対象となるカテゴリに属する文字列から、前記検索キーワードから始まる文字列を、前記索引情報を用いて検索する処理、
前記索引情報を用いて、前記文書のうち前記検索キーワードを含む文字列を検索する処理、
前記検索した結果を示す情報を出力する処理、
を実行させることを特徴とするプログラム。
【符号の説明】
【０１４０】
１００・・・テキスト検索装置、１００ａ・・・ＣＰＵ、１００ｂ・・・ＲＯＭ、１００ｃ・・・ＲＡＭ、１００ｄ・・・ハードディスク、１００ｅ・・・メディアコントローラ、１００ｇ・・・ビデオカード、１００ｈ・・・ＬＣＤ、１００ｉ・・・キーボード、１００ｊ・・・スピーカ、１１０・・・情報記憶部、１２０・・・生成部、１３０・・・取得部、１４０・・・検索部、１４１０・・・インクリメント検索部、１４２０・・・本検索部、１５０・・・算出部、１６０・・・決定部、１７０・・・出力部、１８０・・・表示部
【図１】
0005910134.tif 000009
【図２】
0005910134.tif 000010
【図３】
0005910134.tif 000011
【図４】
0005910134.tif 000012
【図５】
0005910134.tif 000013
【図６】
0005910134.tif 000014
【図７】
0005910134.tif 000015
【図８】
0005910134.tif 000016
【図９】
0005910134.tif 000017
【図１０】
0005910134.tif 000018
【図１１】
0005910134.tif 000019
【図１２】
0005910134.tif 000020
【図１３】
0005910134.tif 000021
【図１４】
0005910134.tif 000022
【図１５】
0005910134.tif 000023
【図１６】
0005910134.tif 000024
【図１７】
0005910134.tif 000025
【図１８】
0005910134.tif 000026