(57)【要約】【課題】ルビを含む文書の全文検索を可能にし、当該電子文書を表示する際に、電子文書内の当該個所を明示可能な検索結果文字列表示方法およびシステムを提供することを目的とする。【解決手段】電子文書からフォント種類およびサイズ情報を付加したテキストデータを取得する段階と、テキストデータを読み込みインデックスファイルおよび位置情報ファイルを生成する段階と、インデックスファイルに対しキーワードによる全文検索を行う段階と、キーワードを含む電子文書に対応する位置情報ファイルから当該キーワードの位置情報を抽出しハイライトデータを生成する段階と、ハイライトデータに基づき当該電子文書のキーワードに合致するルビまたは本文をハイライト表示する段階とを行う検索結果文字列表示方法およびシステムを提供する。【選択図】　図１
2004021746.tif 000002
【特許請求の範囲】
【請求項１】
電子文書の全文検索を行い、検索に合致した電子文書内の該当文字列をハイライト表示する方法であって、
電子文書からフォント種類およびサイズ情報を付加したテキストデータを取得する段階と、
前記テキストデータを読み込み、インデックス作成用ファイルおよび位置情報ファイルを生成する段階と、
前記インデックス作成用ファイルから作成したインデックスに対し、キーワードによる全文検索を行う段階と、
前記キーワードを含む電子文書に対応する位置情報ファイルから、当該キーワードの位置情報を抽出し、ハイライトデータを生成する段階と、
前記ハイライトデータに基づき、当該電子文書のキーワードをハイライト表示する段階と、
を設けたことを特徴とする検索結果文字列表示方法。
【請求項２】
請求項１記載の検索結果文字列表示方法であって、
前記インデックス作成用ファイルおよび位置情報ファイルを生成する段階において、
前記テキストデータを一連の文字列単位に読み込み、当該文字列がルビか本文か判定する段階と、
前記ルビか本文かの判定に基づき、当該文字列をルビ用または本文用に各々確保したインデックス領域および位置情報領域に格納する段階と、
前記一連の文字列単位全ての判定および格納を行う段階と、
前記ルビ用および本文用のインデックス領域をインデックス作成用ファイルへ出力する段階と、
前記ルビ用および本文用の位置情報領域を位置情報ファイルへ出力する段階と、を設けたことを特徴とする検索結果文字列表示方法。
【請求項３】
請求項１または２記載の検索結果文字列表示方法であって、前記一連の文字列単位に読み込む段階が、
フォントの指定が連続して同じである複数の行を一連の文字列とする、
ことを特徴とする検索結果文字列表示用文字処理方法。
【請求項４】
請求項１から３のいずれかに記載の検索結果文字列表示方法であって、
前記文字列がルビか本文かを判定する段階が、
当該文字列のフォントサイズが、所定のフォントサイズに対して所定の比率以下の場合にルビと判定し、所定のフォントサイズと同サイズの場合を本文と判定する、
ことを特徴とする検索結果文字列表示用文字処理方法。
【請求項５】
請求項１から４のいずれかに記載の検索結果文字列表示方法であって、
前記ルビをルビ用の位置情報領域へ格納する段階において、
前記ルビと判定した文字列および位置情報を対にして格納する、
ことを特徴とする検索文字列表示方法。
【請求項６】
請求項１から５のいずれかに記載の検索結果文字列表示方法であって、
前記ルビをルビ用の位置情報領域へ格納する段階において、
前記テキストデータが、本文を構成する親文字とルビ文字が交互に記録されることにより一連のルビが分断されている場合、
分断されているルビを集めて一組のルビとして格納する、
ことを特徴とする検索結果文字列表示方法。
【請求項７】
請求項１から６のいずれかに記載の検索結果文字列表示方法であって、
前記本文を本文用の位置情報領域に格納する段階において、
前記テキストデータが、本文を構成する親文字とルビ文字が交互に記録されている場合、
当該ルビ文字を取り除き、当該ルビ文字と同じ文字種および長さの空白文字を代わりに挿入して本文を格納する、
ことを特徴とする検索結果文字列表示方法。
【請求項８】
請求項１から７のいずれかに記載の検索結果文字列表示方法であって、
前記インデックス作成用ファイルを出力する段階において、
前記ルビ用および本文用のインデックス領域を所定の順序に従い並べて、インデックス作成用ファイルへ出力する、
ことを特徴とする検索結果文字列表示方法。
【請求項９】
請求項１から８のいずれかに記載の検索結果文字列表示方法であって、
前記ハイライトデータを生成する段階において、
前記全文検索の結果に基づいて、毎回ハイライトデータを生成する、
ことを特徴とする検索結果文字列表示方法。
【請求項１０】
請求項１から９のいずれかに記載の検索結果文字列表示方法であって、
前記ハイライトデータを生成する段階において、
前記全文検索で指定したキーワードに該当するハイライトさせるルビまたは本文の位置情報をハイライトデータに出力する、
ことを特徴とする検索結果文字列表示方法。
【請求項１１】
請求項１から１０のいずれかに記載の検索結果文字列表示方法であって、
前記ハイライトデータを生成する段階において、
前記全文検索で指定したキーワードに該当する文字列が本文の場合、
前記位置情報ファイルの本文の親文字の間に挿入した空白文字を取り除き、該当文字の位置情報を取得して、ハイライトデータに出力する、
ことを特徴とする検索結果文字列表示方法。
【請求項１２】
請求項１から１１のいずれかに記載の検索結果文字列表示方法であって、
前記全文検索に複数のキーワードを指定した場合、
複数のキーワード全てに対して、ルビまたは本文の位置情報をハイライトデータに出力する、
ことを特徴とする検索結果文字列表示方法。
【請求項１３】
請求項１から１２のいずれかに記載の検索結果文字列表示方法であって、
前記ハイライト表示する段階において、
ルビ、または親文字、またはルビと親文字の両方をハイライト表示する、
ことを特徴とする検索結果文字列表示方法。
【請求項１４】
電子文書の全文検索を行い、電子文書内の該当文字列をハイライト表示するシステムであって、
電子文書からフォント種類およびサイズ情報を付加したテキストデータを生成するテキスト生成手段と、
前記テキストデータを読み込み、インデックス作成用ファイルおよび位置情報ファイルを生成する表示用データ生成手段と、
前記インデックス作成用ファイルから作成したインデックスを用いて全文検索を行う検索手段と、
前記検索手段の検索結果および前記位置情報ファイルを参照し、前記全文検索により該当した文字列の位置情報を出力するハイライトデータ生成手段と、
前記ハイライトデータに基づいて前記電子文書内の当該文字列をハイライト表示する表示手段と、
を備えることを特徴とする検索結果文字列表示システム。
【請求項１５】
請求項１４記載の検索結果文字列表示システムであって、前記表示用データ生成手段が、
前記テキストデータの文字列がルビか本文か判定する判定手段と、
前記ルビまたは本文と判定した当該文字列を各々区別してインデックス作成用ファイルに出力するインデックス出力手段と、
前記ルビまたは本文と判定した当該文字列および位置情報を各々区別して位置情報ファイルに出力する位置情報出力手段と、
を備えることを特徴とする検索結果文字列表示システム。
【請求項１６】
請求項１４または１５記載の検索結果文字列表示システムであって、
前記インデックス出力手段が、
前記判定手段がルビと判定した文字列を格納するルビ用インデックス領域と、
前記判定手段が本文と判定した文字列を格納する本文用インデックス領域と、
前記ルビ用インデックス領域および前記本文用インデックス領域を、所定の順序に従い並べて一つのインデックス作成用ファイルへ出力する第１の出力手段と、を備えることを特徴とする検索結果文字列表示システム。
【請求項１７】
請求項１４から１６のいずれかに記載の検索結果文字列表示システムであって、
前記位置情報出力手段が、
前記判定手段がルビと判定した文字列および当該文字列の位置情報を格納するルビ用位置情報領域と、
前記判定手段が本文と判定した文字列および当該文字列の位置情報を格納する本文用位置情報領域と、
前記ルビ用位置情報領域および前記本文用位置情報領域を、一つの位置情報ファイルへ出力する第２の出力手段と、
を備えることを特徴とする検索結果文字列表示システム。
【請求項１８】
請求項１４から１７のいずれかに記載の検索結果文字列表示システムであって、
前記ルビ用位置情報領域を、
前記ルビと判定した文字列および位置情報を対にして構成する、
ことを特徴とする検索文字列表示システム。
【請求項１９】
請求項１４から１８のいずれかに記載の検索結果文字列表示システムであって、
前記テキストデータの本文を構成する親文字とルビ文字が交互に記録されることにより一連のルビが分断されている場合、
前記ルビ用位置情報領域を、
分断されているルビを集めて一組のルビとして構成する、
ことを特徴とする検索結果文字列表示システム。
【請求項２０】
請求項１４から１９のいずれかに記載の検索結果文字列表示システムであって、
前記テキストデータの本文を構成する親文字とルビ文字が交互に記録されている場合、
前記本文位置情報領域を、
当該ルビ文字を取り除き、当該ルビ文字と同じ文字種および長さの空白文字を代わりに挿入した文字列により構成する、
ことを特徴とする検索結果文字列表示システム。
【請求項２１】
請求項１４から２０のいずれかに記載の検索結果文字列表示システムであって、
前記ハイライトデータを、
前記全文検索で指定したキーワードに該当するハイライトさせるルビまたは本文の位置情報から構成する、
ことを特徴とする検索結果文字列表示システム。
【請求項２２】
コンピュータを請求項１４から２１の検索結果文字列表示システムとして機能させるプログラム。
【請求項２３】
コンピュータを請求項１４から２１の検索結果文字列表示システムとして機能させるプログラムを記録したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子文書の全文検索に関し、特に、ルビを含む文書の検索結果において、当該個所をハイライト表示する検索結果の文字列の表示に関するものである。
【０００２】
【従来の技術】
全文検索システムは、電子文書検索システムの一形式で、文書登録時に文書内の文字の並びを解析して索引（インデックス）を作成しておき、検索時にはキーワードを用いてインデックスを検索し、キーワードが存在した場合は該当する電子文書をリストアップし、更に、リスト内から利用者が電子文書を選択した場合は、文書本体を表示、または指定したリンクにジャンプするものである。
【０００３】
全文検索システムに登録する文書の形式は、テキスト（実際には文字コード）を取り出せるものであれば何でもよい。一般的にはフィルタと呼ばれるプログラムを通して元文書からプレーンなテキストのみを取り出し、これを用いてインデックスを作成する。
【０００４】
ＨＴＭＬ（Ｈｙｐｅｒ　Ｔｅｘｔ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）ファイル、ワープロ文書ファイルなど、構造情報やレイアウト情報を含む文書は、各々特有の制御文字などを排除する専用のフィルタプログラムを通して自動的にテキストを取り出し、インデックスを作成する。
【０００５】
全文検索システムのキーワード検索の精度は、インデックスの正確さ、すなわち元文書に含まれているテキストの並びが正確かどうかにより左右される。横書きで文書書式なしのプレーンテキスト文書のように、人間が文書を読む方向とテキストの流れが完全に一致していることが好ましい。
【０００６】
しかしながら、紙への出力を前提としたレイアウト情報（縦組み、段組、回り込み設定、ノンブル付与等）を有する電子文書においては、人間が文書を読む方向と、フィルタプログラムによって取り出すテキストの流れが必ずしも一致しないことがある。特に、電子文書内にルビ（ふりがな）が振られた本文がある場合などは、一致しないことが顕著である。
【０００７】
このような場合、必要な単語が切れたり、順序が変わるようなことが生じ、ページ表示上では検索したい単語が存在するのに、全文検索では検索できない語句が発生する。
【０００８】
ルビが含まれる場合について、図９を用いて具体的に説明する。ルビの振り方には、大別して図９（ａ）に示すモノルビ（個別対応ルビ）と、図９（ｂ）に示すグループルビ（群扱いルビ）の２つがある。モノルビは、親文字１字ずつに複数文字のルビを振るものであり、グループルビは、複数の親文字に対して複数文字のルビを振るものである。
【０００９】
電子文書の元になるデータをＤＴＰ用のページレイアウトソフト（以下、組版ソフトという）で作成する場合、ルビの指定は、使用する組版ソフトにより異なるが、凡そ組版ソフト上でモノルビとグループルビの別、文字間の離れ、揃え、親文字との位置などの設定を行うことによって行う。
【００１０】
組版ソフトで制作したルビ付きの文章を、電子文書にデータ変換した場合、電子文書内部におけるルビの部分の文字並びは、図１０（ａ）または図１０（ｂ）に示すようないくつかの異なる記述形式となる。
【００１１】
ルビと本文の並び順は、使用する組版ソフトによって決定されるが、特に、図１０（ｂ）に示す親文字の直後にルビ文字が並ぶ形式の組版ソフトを使用した電子文書の場合、親文字とルビ文字が交互に並ぶことになり、各々相手により分断されることになる。
【００１２】
このような電子文書からテキストを取り出した場合、テキスト中には「世界」や「せかい」といった文字の並びが存在しないことになり、これらの文字を用いて全文検索を行っても、検索できないことになる。
【００１３】
また、図１０（ａ）に示す通常はルビと本文が異なる語となる組版ソフトの場合においても、２行に渡るルビを振ると、親文字の文字列に対してルビが挿入されてしまうことがあり、全文検索システムでは分断されたルビ文字および親文字が検索できないことがある。
【００１４】
検索に係る問題は、電子文書からルビと本文を判定して各々に用意した一時的な格納領域に格納し、例えばルビ、本文の順にインデックスに出力することにより解決することができるが、検索したキーワードの存在位置を知ることができないため、該当する電子文書を表示する場合に、当該文字列を含む個所を明示できないという問題がある。
【００１５】
【発明が解決しようとする課題】
本発明は上述の問題点に鑑みてなされたものであり、ルビを含む文書の全文検索を可能にし、当該電子文書を表示する際に、電子文書内の当該個所を明示可能な検索結果文字列表示方法およびシステムを提供することを目的とする。
【００１６】
【課題を解決するための手段】
上記目的を達成するために、本発明の第１の態様は、電子文書の全文検索を行い検索に合致した電子文書内の該当文字列をハイライト表示する方法であって、電子文書からフォント種類およびサイズ情報を付加したテキストデータを取得する段階と、前記テキストデータを読み込みインデックス作成用ファイルおよび位置情報ファイルを生成する段階と、前記インデックス作成用ファイルから作成したインデックスに対しキーワードによる全文検索を行う段階と、前記キーワードを含む電子文書に対応する位置情報ファイルから当該キーワードの位置情報を抽出しハイライトデータを生成する段階と、前記ハイライトデータに基づき当該電子文書のキーワードをハイライト表示する段階とを行うようにしたものである。
【００１７】
本発明の第２の態様は、上述の第１の態様に係る検索結果文字列表示方法において、前記インデックス作成用ファイルおよび位置情報ファイルを生成する段階において、前記テキストデータを一連の文字列単位に読み込み当該文字列がルビか本文か判定する段階と、前記ルビか本文かの判定に基づき当該文字列をルビ用または本文用に各々確保したインデックス領域および位置情報領域に格納する段階と、前記一連の文字列単位全ての判定および格納を行う段階と、前記ルビ用および本文用のインデックス領域をインデックス作成用ファイルへ出力する段階と、前記ルビ用および本文用の位置情報領域を位置情報ファイルへ出力する段階とを行うようにしたものである。
【００１８】
本発明の第３の態様は、上述の第１また２の態様に係る検索結果文字列表示方法において、前記一連の文字列単位に読み込む段階が、フォントの指定が連続して同じである複数の行を一連の文字列とするようにしたものである。
【００１９】
本発明の第４の態様は、上述の第１から３の態様に係る検索結果文字列表示方法において、前記文字列がルビか本文かを判定する段階が、当該文字列のフォントサイズが所定のフォントサイズに対して所定の比率以下の場合にルビと判定し、所定のフォントサイズと同サイズの場合を本文と判定するようにしたものである。
【００２０】
本発明の第５の態様は、上述の第１から４の態様に係る検索結果文字列表示方法において、前記ルビをルビ用の位置情報領域へ格納する段階において、前記ルビと判定した文字列および位置情報を対にして格納するようにしたものである。
【００２１】
本発明の第６の態様は、上述の第１から５の態様に係る検索結果文字列表示方法において、前記ルビをルビ用の位置情報領域へ格納する段階において、前記テキストデータが本文を構成する親文字とルビ文字が交互に記録されることにより一連のルビが分断されている場合、分断されているルビを集めて一組のルビとして格納するようにしたものである。
【００２２】
本発明の第７の態様は、上述の第１から６の態様に係る検索結果文字列表示方法において、前記本文を本文用の位置情報領域に格納する段階において、前記テキストデータが本文を構成する親文字とルビ文字が交互に記録されている場合、当該ルビ文字を取り除き当該ルビ文字と同じ文字種および長さの空白文字を代わりに挿入して本文を格納するようにしたものである。
【００２３】
本発明の第８の態様は、上述の第１から７の態様に係る検索結果文字列表示方法において、前記インデックス作成用ファイルを出力する段階において、前記ルビ用および本文用のインデックス領域を所定の順序に従い並べてインデックス作成用ファイルへ出力するようにしたものである。
【００２４】
本発明の第９の態様は、上述の第１から８の態様に係る検索結果文字列表示方法において、前記ハイライトデータ生成段階において、前記全文検索の結果に基づいて毎回ハイライトデータを生成するようにしたものである。
【００２５】
本発明の第１０の態様は、上述の第１から９の態様に係る検索結果文字列表示方法において、前記ハイライトデータを生成する段階において、前記全文検索で指定したキーワードに該当するハイライトさせるルビまたは本文の位置情報をハイライトデータに出力するようにしたものである。
【００２６】
本発明の第１１の態様は、上述の第１から１０の態様に係る検索結果文字列表示方法において、前記ハイライトデータを生成する段階において、前記全文検索で指定したキーワードに該当する文字列が本文の場合、前記位置情報ファイルの本文の親文字の間に挿入した空白文字を取り除き該当文字の位置情報を取得してハイライトデータに出力するようにしたものである。
【００２７】
本発明の第１２の態様は、上述の第１から１１の態様に係る検索結果文字列表示方法において、前記全文検索に複数のキーワードを指定した場合、複数のキーワード全てに対してルビまたは本文の位置情報をハイライトデータに出力するようにしたものである。
【００２８】
本発明の第１３の態様は、上述の第１から１２の態様に係る検索結果文字列表示方法において、前記ハイライト表示する段階において、ルビまたは親文字またはルビと親文字の両方をハイライト表示するようにしたものである。
【００２９】
本発明の第１４の態様は、電子文書の全文検索を行い電子文書内の該当文字列をハイライト表示するシステムにおいて、電子文書からフォント種類およびサイズ情報を付加したテキストデータを生成するテキスト生成手段と、前記テキストデータを読み込みインデックス作成用ファイルおよび位置情報ファイルを生成する表示用データ生成手段と、前記インデックス作成用ファイルから作成したインデックスを用いて全文検索を行う検索手段と、前記検索手段の検索結果および前記位置情報ファイルを参照し前記全文検索により該当した文字列の位置情報を出力するハイライトデータ生成手段と、前記ハイライトデータに基づいて前記電子文書内の当該文字列をハイライト表示する表示手段とを設けたものである。
【００３０】
本発明の第１５の態様は、上述の第１４の態様に係る検索結果文字列表示システムにおいて、前記表示用データ生成手段に、前記テキストデータの文字列がルビか本文か判定する判定手段と、前記ルビまたは本文と判定した当該文字列を各々区別してインデックス作成用ファイルに出力するインデックス出力手段と、前記ルビまたは本文と判定した当該文字列および位置情報を各々区別して位置情報ファイルに出力する位置情報出力手段とを設けたものである。
【００３１】
本発明の第１６の態様は、上述の第１４または１５の態様に係る検索結果文字列表示システムにおいて、前記インデックス出力手段に、前記判定手段がルビと判定した文字列を格納するルビ用インデックス領域と、前記判定手段が本文と判定した文字列を格納する本文用インデックス領域と、前記ルビ用インデックス領域および前記本文用インデックス領域を所定の順序に従い並べて一つのインデックス作成用ファイルへ出力する第１の出力手段とを設けたものである。
【００３２】
本発明の第１７の態様は、上述の第１４から１６の態様に係る検索結果文字列表示システムにおいて、前記位置情報出力手段に、前記判定手段がルビと判定した文字列および当該文字列の位置情報を格納するルビ用位置情報領域と、前記判定手段が本文と判定した文字列および当該文字列の位置情報を格納する本文用位置情報領域と、前記ルビ用位置情報領域および前記本文用位置情報領域を一つの位置情報ファイルへ出力する第２の出力手段とを設けたものである。
【００３３】
本発明の第１８の態様は、上述の第１４から１７の態様に係る検索結果文字列表示システムにおいて、前記ルビ用位置情報領域を、前記ルビと判定した文字列および位置情報を対にして構成するようにしたものである。
【００３４】
本発明の第１９の態様は、上述の第１４から１８の態様に係る検索結果文字列表示システムにおいて、前記テキストデータの本文を構成する親文字とルビ文字が交互に記録されることにより一連のルビが分断されている場合、前記ルビ用位置情報領域を、分断されているルビを集めて一組のルビとして構成するようにしたものである。
【００３５】
本発明の第２０の態様は、上述の第１４から１９の態様に係る検索結果文字列表示システムにおいて、前記テキストデータの本文を構成する親文字とルビ文字が交互に記録されている場合、前記本文位置情報領域を、当該ルビ文字を取り除き当該ルビ文字と同じ文字種および長さの空白文字を代わりに挿入した文字列により構成するようにしたものである。
【００３６】
本発明の第２１の態様は、上述の第１４から２０の態様に係る検索結果文字列表示システムにおいて、前記ハイライトデータを、前記全文検索で指定したキーワードに該当するハイライトさせるルビまたは本文の位置情報から構成するようにしたものである。
【００３７】
本発明の第２２の態様は、コンピュータを上述の第１４から２１の態様に係る検索結果文字列表示システムとして機能させるプログラムを提供するようにしたものである。
【００３８】
本発明の第２３の態様は、コンピュータを上述の第１４から２１の態様に係る検索結果文字列表示システムとして機能させるプログラムを、コンピュータ読み取り可能な記憶媒体により提供するようにしたものである。
【００３９】
以下、本発明を図示する実施形態に基づいて説明する。図１は、本発明の検索結果文字列表示システム１の一実施例の構成図である。
【００４０】
検索結果文字列表示システム１は、データ生成手段２と、検索結果表示手段３とを備えており、電子文書４からテキストデータ５を介して作成するインデックス作成用ファイル６と位置情報ファイル７に基づいて、検索キーワードに該当する文字列をハイライト表示するものである。
【００４１】
データ生成手段２は、テキスト生成手段８と、表示用データ生成手段９とを備えている。
【００４２】
テキスト生成手段８は、組版ソフトで制作した組版データから作成した電子文書４から、レイアウト情報などの不要な情報を取り除いたテキストデータ５を出力するものである。
【００４３】
また、テキストデータ５は、図２に示すようにフォント種類、サイズ、実際の文字などから構成される、マイクロソフト社が提唱する文書ファイルの１形式であるＲＴＦ（Ｒｉｃｈ　Ｔｅｘｔ　Ｆｏｒｍａｔ）形式などを用いる。
【００４４】
図３に、表示用データ生成手段９の構成を示す。表示用データ生成手段９は、判定手段１０と、インデックス出力手段１１と、位置情報出力手段１２とを備えており、テキストデータ５からインデックス作成用ファイル６および位置情報ファイル７を生成するものである。
【００４５】
判定手段１０は、テキストデータ５から同一のフォント種類を使用している一連の文字列単位を読み込み、フォントのサイズにより、ルビなのか、本文なのかを判定するものである。
【００４６】
インデックス出力手段１１は、ルビ用インデックス領域１３と、本文用インデックス領域１４と、第１の出力手段１５を備えており、テキストデータ５からインデックス作成用ファイル６を生成するものである。
【００４７】
ルビ用インデックス領域１３および本文用インデックス領域１４は、予めルビ文字と本文を構成する親文字の各々のために用意した一時的な記憶領域であり、判定手段１０の判定に基づき、ルビまたは本文の文字列を区別して格納するものである。
【００４８】
第１の出力手段１５は、ルビ用インデックス領域１３および本文用インデックス領域１４を、所定の順序に従い並べて、一つのインデックス作成用ファイル６へ出力するものである。
【００４９】
インデックス作成用ファイル６の内部構造は、使用する全文検索エンジンソフトにより異なる。テキストからインデックスを生成可能な全文検索エンジンであれば、特に限定されるものではなく、当該全文検索エンジンがインデックスを作成する入力形式に合致していればよい。
【００５０】
位置情報出力手段１２は、ルビ用位置情報領域１６と、本文用位置情報領域１７と、第２の出力手段１８を備えており、テキストデータ５から位置情報ファイル７を生成するものである。
【００５１】
ルビ用位置情報領域１６および本文用位置情報領域１７は、予めルビ文字と本文を構成する親文字の各々のために用意した一時的な記憶領域であり、判定手段１０の判定に基づき、ルビまたは本文の電子文書４の中の存在位置に係る情報を区別して格納するものである。
【００５２】
ルビ用位置情報領域１６は、判定手段１０が当該文字列がルビであると判定した場合、当該文字列と、当該文字列が属する頁、位置、長さなどの位置情報を対にして一時的に格納するものである。この時、テキストデータ５が親文字とルビ文字が交互に記録されている場合、親文字により分断されているルビ文字を集めて一組のルビとして格納する。
【００５３】
本文用位置情報領域１７は、判定手段１０が当該文字列が本文であると判定した場合、本文の文字列を一時的に格納するものである。この時、テキストデータ５が親文字とルビ文字が交互に記録されている場合、ルビ文字と同じ長さで、ルビ文字と同じ文字種（全角、あるいは半角）の空白文字を、ルビの代わりに挿入して格納する。
【００５４】
第２の出力手段１８は、ルビ用位置情報領域１６および本文用位置情報領域１７を、テキスト形式で記述される一つの位置情報ファイル７へ出力するものである。位置情報ファイル７の例を図４に示す。
【００５５】
検索結果表示手段３は、検索手段１９と、ハイライトデータ生成手段２０と、表示手段２１を備えており、全文検索の結果、キーワードを含む電子文書４の該当する文字列をハイライトにして表示するものである。
【００５６】
検索手段１９は、利用者から指定されたキーワードに基づいて、インデックス作成用ファイル６から予め作成しておいたインデックスを検索し、当該キーワードを含む電子文書４のリストを取得するものである。
【００５７】
ハイライトデータ生成手段２０は、利用者が検索手段１９により取得した電子文書４のリストから一つの電子文書４を選択した場合、当該電子文書４に対応する位置情報ファイル７から当該キーワードの位置情報を取得し、ハイライトデータ２２へ出力するものである。ハイライトデータ２２の例を図５に示す。
【００５８】
表示手段２１は、ハイライトデータ２２の記録内容に基づいて、当該電子文書４に含まれるキーワードの文字列をハイライト表示により明示するものであり、実際には電子文書４を表示可能なビューアと呼ばれるソフトである。
【００５９】
なお、本明細書において電子文書４は、アドビシステムズ社（Ａｄｏｂｅ　Ｓｙｓｔｅｍｓ　Ｉｎｃ．）が提唱するＰＤＦ形式（Ｐｏｒｔａｂｌｅ　Ｄｏｃｕｍｅｎｔ　Ｆｏｒｍａｔ：ＰＤＦは登録商標）の電子文書である。組版ソフトは、ＰＤＦを出力可能なソフトであれば、特に限定されるものではない。
【００６０】
ＰＤＦ形式の電子文書４は、画像、各種フォント、文字サイズを含む複雑なページレイアウトを記述できる文書形式として、紙面レイアウトを重視する文書に多く利用されており、縦書きで段組したものや、画像が多用された雑誌などの紙面も、ＰＤＦ形式であれば印刷物と同じレイアウトで電子文書を表示することが可能である。
【００６１】
ＰＤＦ形式の電子文書４を閲覧するためには、専用のビューアが必要である。ビューアは無償で配布されており、ダウンロードした電子文書４をビューア単体で閲覧できるほか、ウェブブラウザ内でビューアを起動して電子文書４を閲覧することも可能である。
【００６２】
次に、図６に示すフォローチャートに従い、本発明の検索結果文字列表示システム１の動作を詳細に説明する。
【００６３】
まず、組版ソフトで制作した組版データを、例えば、アクロバットディスティラー（Ａｃｒｏｂａｔ　Ｄｉｓｔｉｌｌｅｒ：登録商標）などのＰＤＦ制作ソフトを使用してＰＤＦ形式の電子文書４に変換する。
【００６４】
次に、テキスト生成手段８は、変換したＰＤＦ形式の電子文書４からレイアウト情報などを取り除き、テキストと、それぞれの文字列のフォント種類とサイズ情報を取り出し、ＲＴＦ形式のテキストデータ５に変換する。
【００６５】
テキスト生成手段８は、アドビアクロバット（Ａｄｏｂｅ　Ａｃｒｏｂａｔ：登録商標）などのＰＤＦ処理ソフトの文書保存機能などを用いることも可能である。
【００６６】
図７は、図２に示すテキストデータ５から、説明のために同じフォントを使用している文字列だけを抜き出したものである。この例では、図２の７行目における「￥ｆ０」というフォント種類の指定から、２３行目に次の「￥ｆ２」というフォント種類の指定が登場するまでが同じフォントを使用しているため、一つの連続した処理単位と考えるものである。
【００６７】
次に、例えば、読み込んだ一連の文字列の先頭から走査を行い、２つの異なるフォントサイズの指定を見つけ、例えば２倍の大きさのフォントサイズを本文のフォントサイズであると想定し、基準フォントサイズにセットする。
【００６８】
次に、判定手段１０は、同一のフォントを使用している複数の文字列の各行を順次読み込み、各文字列が条件に合致するか否かを判定する。文字列を判定する際は、改行、「｛」、「￥」などの制御文字に相当するものは無視する。通常の全文検索において、改行等の非表示文字を検索対象文字として扱うことがないためである。
【００６９】
判定手段１０は、まず、当該行の文字列（以下、文字列Ａという）のフォントサイズが基準フォントサイズの一定比率よりも大きなサイズの場合、あるいは基準フォントサイズの一定比率以下であるが、文字列Ａが平仮名やカタカナでない場合、文字列Ａを本文と判定し、本文用インデックス領域１４、および本文用位置情報領域１７へ文字列Ａを格納する。
【００７０】
通常、ルビは、親文字に対して１／２のフォントサイズを使用するから、例えば文字列Ａのフォントサイズが基準フォントサイズの５０％以下で、且つ当文字列Ａが平仮名またはカタカナの場合、文字列Ａをルビの候補として仮の判定を行う。
【００７１】
文字列Ａがルビ候補である場合、次の行の文字列（以下、文字列Ｂという）の判定を行う。これは、図１０（ｂ）に示す、モノルビが本文の親文字と交互に記録されている形式の電子文書４において、ルビまたは本文を本来の一つの言葉として抽出するためである。
【００７２】
まず、文字列Ｂのフォントサイズが基準フォントサイズと異なる、すなわちルビ候補の親文字のフォントサイズと異なるサイズである場合、文字列Ｂは、ルビ候補である文字列Ａの親文字の一部ではないことになる。したがって、これ以降に文字列Ａに連なる文字列はないことになり、文字列Ａは単独でルビであると判定できる。
【００７３】
文字列Ａをルビと判定した場合、文字列Ａをルビ用インデックス領域１３に、文字列Ａと、文字列Ａの頁内の開始位置と、長さとを、図４に例を示す形式でルビ用位置情報領域１６に格納する。更に、文字列Ａの長さ分の空白文字を本文用位置情報領域１７に格納し、文字列Ｂを次の判定および格納の対象とする。
【００７４】
文字列Ｂのフォントサイズが基準フォントサイズと同じで、且つ２文字以上の場合、ルビはグループルビであるから、文字列Ａをルビ用インデックス領域１３に、文字列Ａと、文字列Ａの頁内の開始位置と、長さとを、ルビ用位置情報領域１６に格納する。更に、文字列Ａの長さ分の空白文字を本文用位置情報領域１７に格納し、文字列Ｂを次の判定および格納の対象とする。
【００７５】
文字列Ｂのフォントサイズが基準フォントサイズと同じで、且つ１文字の場合、文字列Ｂは、文字列Ａの親文字の一部である可能性がある。この場合、更に次の行の文字列（以下、文字列Ｃという）の判定を行う。
【００７６】
文字列Ｃを読み込み、文字列Ｃのフォントサイズが文字列Ａのフォントサイズと同一で、且つ文字列Ｃが平仮名またはカタカナである場合、文字列Ｃは、文字列Ａに連なるルビの一部であると判定する。
【００７７】
文字列Ｃが文字列Ａに連なる判定の場合、文字列Ａをルビ用インデックス領域１３に、文字列Ａと、文字列Ａの頁内の開始位置と、長さとを、図４に示すように、直前に格納した文字列および位置情報に付加する形式で、ルビ用位置情報領域１６に格納する。更に、文字列Ａの長さ分の空白文字を本文用位置情報領域１７に格納する。
【００７８】
この場合、文字列Ｂが本文であることも判定しているので、本文用インデックス領域１４、および本文用位置情報領域１７へ文字列Ｂを格納し、文字列Ｃを次の判定および格納の対象とする。
【００７９】
文字列Ｃを読み込み、文字列Ｃのフォントサイズが文字列Ａのフォントサイズと異なる場合、文字列Ｃは、文字列Ａに連なるルビの一部ではないと判定し、文字列Ａが単独のルビであることになるから、文字列Ａをルビ用インデックス領域１３に、文字列Ａと、文字列Ａの頁内の開始位置と、長さとを、ルビ用位置情報領域１６に格納する。更に、文字列Ａの長さ分の空白文字を本文用位置情報領域１７に格納する。
【００８０】
この場合、文字列Ｂが本文であることも判定しているので、本文用インデックス領域１４、および本文用位置情報領域１７へ文字列Ｂを格納し、文字列Ｃを次の判定および格納の対象とする。
【００８１】
このようにして、同一のフォントを使用している文字列の全ての判定および格納を行った後、第１の出力手段１５は、所定の順序、例えばルビ、本文の順に従い、ルビ用インデックス領域１３および本文用インデックス領域１４を、インデックス作成用ファイル６へ出力する。
【００８２】
図８は、ルビ文字と親文字が交互に現れるテキストデータ５において、上述の判定およびインデックスの格納の動作を模式化したものである。図８（ａ）は、ＰＤＦ上の見え方を示している。
【００８３】
図８（ｂ）から図８（ｄ）は、基準サイズを１４ポイントに設定し、５０％以下のサイズの文字をルビだと判断する場合の、ルビ用インデックス領域１３および本文用インデックス領域１４の状態を段階的に示したものである。
【００８４】
図８（ｅ）は、ルビ用インデックス領域１３および本文用インデックス領域１４を出力した、インデックス作成用ファイル６を示したものである。ルビから「せかいあみだによらい」、本文から「世界阿弥陀如来」をこのインデックス作成用ファイル６に出力したので、インデックス作成用ファイル６から作成したインデックスを用いることにより、ひらがなの読みでも、漢字でも検索することが可能になる。
【００８５】
表示用データ生成手段９は、テキストデータ５に含まれる全ての文字列について、上述の処理を繰り返し、インデックス作成用ファイル６および位置情報ファイル７を生成する。
【００８６】
検索手段１９は、利用者が指定したキーワードにより、インデックス作成用ファイル６から予め作成しておいたインデックスを検索し、インデックスから当該キーワードを含む電子文書４のファイル名を取得し、当該キーワードを含む電子文書４のリストを生成する。
【００８７】
利用者が上述のリストの中から、一つのファイルを選択した場合、検索手段１９は、当該キーワードと、当該電子文書４のファイル名などをハイライトデータ生成手段２０へ渡して、ハイライトデータ２２の生成を依頼する。
【００８８】
ハイライトデータ生成手段２０は、例えば電子文書４と同じファイル名（拡張子は異なる）で関連付けた位置情報ファイル７を読み込み、渡されたキーワードが記録されている部分を探し出す。
【００８９】
この時、キーワードが、図４の例で、「＜ｒｕｂｙ＞」および「＜／ｒｕｂｙ＞」というタグで囲まれたルビの中に存在する場合は、ページと、相当する文字列の後ろに記録されている位置情報をハイライトファイル２２へ出力する。
【００９０】
ページは、「＜ｐａｇｅ＞」および「＜／ｐａｇｅ＞」というタグに囲まれた数字により取得できる。図４の例では「１」である。
【００９１】
図４の例で、「＜ｃｏｎｔｅｎｔ＞」および「＜／ｃｏｎｔｅｎｔ＞」というタグで囲まれた本文にキーワードが含まれるか否か判定する場合は、ルビ文字の代わりに挿入した空白文字を取り除いて、判定を行う。
【００９２】
キーワードが、本文の中に存在する場合は、ページと、ルビの代わりに挿入した空白文字を含めた本文を計数して求めた相当する文字列の先頭位置と、長さをハイライトデータ２２へ出力する。
【００９３】
例えば、位置情報ファイル７が図４の例で、キーワードが「阿弥陀」の場合、「＜ｃｏｎｔｅｎｔ＞」タグ内の空白文字を除去することにより、「阿弥陀」という文字が含まれることがわかる。「阿」は、「＜ｃｏｎｔｅｎｔ＞」タグの中の先頭から１０文字目、すなわち１９バイト目から始まり、「陀」は、１４文字目、すなわち２８バイト目で終わるから、ハイライトデータ２２には、「ｐｏｓ＝１９　ｌｅｎ＝１０」と出力する。
【００９４】
表示手段２１は、電子文書４と、ハイライトデータ２２を同時に読み込むことにより、電子文書４を表示する際に、ハイライトデータ２２に指定されたページ、先頭位置、長さの文字列をハイライトにして、検索結果の文字列を明示的に表示する。
【００９５】
以上、本発明を実施の形態に基づいて詳細に説明してきたが、本発明による検索結果文字列表示方法およびシステムは、上述の実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更が可能なことは当然のことである。
【００９６】
【発明の効果】
以上のとおり、本発明に係る検索結果文字列表示方法およびシステムによれば、親文字の文字間に入るモノルビが振られた電子文書も、並べ替えによって全文検索システムの検索対象にすることができ、キーワードを含む該当部分をハイライトにして、明示的に示すことが可能なる。
【図面の簡単な説明】
【図１】本発明の検索結果文字列表示システムの構成図である。
【図２】テキストデータの一実施例の説明図である。
【図３】本発明の表示用データ生成手段の構成図である。
【図４】本発明の位置情報ファイルの一実施例の説明図である。
【図５】本発明のハイライトデータの一実施例の説明図である。
【図６】本発明の検索結果文字列表示システムの動作を示すフローチャートである。
【図７】テキストデータの文字列の説明図である。
【図８】本発明の判定手段およびインデックス作成用ファイル生成の動作を示す模式図である。
【図９】ルビの説明図である。
【図１０】ルビ文字と親文字の位置関係を示す説明図である。
【符号の説明】
１　検索結果文字列表示システム
２　データ生成手段
３　検索結果表示手段
４　電子文書
５　テキストデータ
６　インデックス作成用ファイル
７　位置情報ファイル
８　テキスト生成手段
９　表示用データ生成手段
１０　判定手段
１１　インデックス出力手段
１２　位置情報出力手段
１３　ルビ用インデックス領域
１４　本文用インデックス領域
１５　第１の出力手段
１６　ルビ用位置情報領域
１７　本文用位置情報領域
１８　第２の出力手段
１９　検索手段
２０　ハイライトデータ生成手段
２１　表示手段
２２　ハイライトデータ
【図１】
2004021746.tif 000003
【図２】
2004021746.tif 000004
【図３】
2004021746.tif 000005
【図４】
2004021746.tif 000006
【図５】
2004021746.tif 000007
【図６】
2004021746.tif 000008
【図７】
2004021746.tif 000009
【図８】
2004021746.tif 000010
【図９】
2004021746.tif 000011
【図１０】
2004021746.tif 000012