JP2004021746A - 検索結果文字列表示方法およびシステム - Google Patents
検索結果文字列表示方法およびシステム Download PDFInfo
- Publication number
- JP2004021746A JP2004021746A JP2002177711A JP2002177711A JP2004021746A JP 2004021746 A JP2004021746 A JP 2004021746A JP 2002177711 A JP2002177711 A JP 2002177711A JP 2002177711 A JP2002177711 A JP 2002177711A JP 2004021746 A JP2004021746 A JP 2004021746A
- Authority
- JP
- Japan
- Prior art keywords
- character string
- ruby
- text
- search result
- position information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】ルビを含む文書の全文検索を可能にし、当該電子文書を表示する際に、電子文書内の当該個所を明示可能な検索結果文字列表示方法およびシステムを提供することを目的とする。
【解決手段】電子文書からフォント種類およびサイズ情報を付加したテキストデータを取得する段階と、テキストデータを読み込みインデックスファイルおよび位置情報ファイルを生成する段階と、インデックスファイルに対しキーワードによる全文検索を行う段階と、キーワードを含む電子文書に対応する位置情報ファイルから当該キーワードの位置情報を抽出しハイライトデータを生成する段階と、ハイライトデータに基づき当該電子文書のキーワードに合致するルビまたは本文をハイライト表示する段階とを行う検索結果文字列表示方法およびシステムを提供する。
【選択図】 図1
【解決手段】電子文書からフォント種類およびサイズ情報を付加したテキストデータを取得する段階と、テキストデータを読み込みインデックスファイルおよび位置情報ファイルを生成する段階と、インデックスファイルに対しキーワードによる全文検索を行う段階と、キーワードを含む電子文書に対応する位置情報ファイルから当該キーワードの位置情報を抽出しハイライトデータを生成する段階と、ハイライトデータに基づき当該電子文書のキーワードに合致するルビまたは本文をハイライト表示する段階とを行う検索結果文字列表示方法およびシステムを提供する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、電子文書の全文検索に関し、特に、ルビを含む文書の検索結果において、当該個所をハイライト表示する検索結果の文字列の表示に関するものである。
【0002】
【従来の技術】
全文検索システムは、電子文書検索システムの一形式で、文書登録時に文書内の文字の並びを解析して索引(インデックス)を作成しておき、検索時にはキーワードを用いてインデックスを検索し、キーワードが存在した場合は該当する電子文書をリストアップし、更に、リスト内から利用者が電子文書を選択した場合は、文書本体を表示、または指定したリンクにジャンプするものである。
【0003】
全文検索システムに登録する文書の形式は、テキスト(実際には文字コード)を取り出せるものであれば何でもよい。一般的にはフィルタと呼ばれるプログラムを通して元文書からプレーンなテキストのみを取り出し、これを用いてインデックスを作成する。
【0004】
HTML(Hyper Text Markup Language)ファイル、ワープロ文書ファイルなど、構造情報やレイアウト情報を含む文書は、各々特有の制御文字などを排除する専用のフィルタプログラムを通して自動的にテキストを取り出し、インデックスを作成する。
【0005】
全文検索システムのキーワード検索の精度は、インデックスの正確さ、すなわち元文書に含まれているテキストの並びが正確かどうかにより左右される。横書きで文書書式なしのプレーンテキスト文書のように、人間が文書を読む方向とテキストの流れが完全に一致していることが好ましい。
【0006】
しかしながら、紙への出力を前提としたレイアウト情報(縦組み、段組、回り込み設定、ノンブル付与等)を有する電子文書においては、人間が文書を読む方向と、フィルタプログラムによって取り出すテキストの流れが必ずしも一致しないことがある。特に、電子文書内にルビ(ふりがな)が振られた本文がある場合などは、一致しないことが顕著である。
【0007】
このような場合、必要な単語が切れたり、順序が変わるようなことが生じ、ページ表示上では検索したい単語が存在するのに、全文検索では検索できない語句が発生する。
【0008】
ルビが含まれる場合について、図9を用いて具体的に説明する。ルビの振り方には、大別して図9(a)に示すモノルビ(個別対応ルビ)と、図9(b)に示すグループルビ(群扱いルビ)の2つがある。モノルビは、親文字1字ずつに複数文字のルビを振るものであり、グループルビは、複数の親文字に対して複数文字のルビを振るものである。
【0009】
電子文書の元になるデータをDTP用のページレイアウトソフト(以下、組版ソフトという)で作成する場合、ルビの指定は、使用する組版ソフトにより異なるが、凡そ組版ソフト上でモノルビとグループルビの別、文字間の離れ、揃え、親文字との位置などの設定を行うことによって行う。
【0010】
組版ソフトで制作したルビ付きの文章を、電子文書にデータ変換した場合、電子文書内部におけるルビの部分の文字並びは、図10(a)または図10(b)に示すようないくつかの異なる記述形式となる。
【0011】
ルビと本文の並び順は、使用する組版ソフトによって決定されるが、特に、図10(b)に示す親文字の直後にルビ文字が並ぶ形式の組版ソフトを使用した電子文書の場合、親文字とルビ文字が交互に並ぶことになり、各々相手により分断されることになる。
【0012】
このような電子文書からテキストを取り出した場合、テキスト中には「世界」や「せかい」といった文字の並びが存在しないことになり、これらの文字を用いて全文検索を行っても、検索できないことになる。
【0013】
また、図10(a)に示す通常はルビと本文が異なる語となる組版ソフトの場合においても、2行に渡るルビを振ると、親文字の文字列に対してルビが挿入されてしまうことがあり、全文検索システムでは分断されたルビ文字および親文字が検索できないことがある。
【0014】
検索に係る問題は、電子文書からルビと本文を判定して各々に用意した一時的な格納領域に格納し、例えばルビ、本文の順にインデックスに出力することにより解決することができるが、検索したキーワードの存在位置を知ることができないため、該当する電子文書を表示する場合に、当該文字列を含む個所を明示できないという問題がある。
【0015】
【発明が解決しようとする課題】
本発明は上述の問題点に鑑みてなされたものであり、ルビを含む文書の全文検索を可能にし、当該電子文書を表示する際に、電子文書内の当該個所を明示可能な検索結果文字列表示方法およびシステムを提供することを目的とする。
【0016】
【課題を解決するための手段】
上記目的を達成するために、本発明の第1の態様は、電子文書の全文検索を行い検索に合致した電子文書内の該当文字列をハイライト表示する方法であって、電子文書からフォント種類およびサイズ情報を付加したテキストデータを取得する段階と、前記テキストデータを読み込みインデックス作成用ファイルおよび位置情報ファイルを生成する段階と、前記インデックス作成用ファイルから作成したインデックスに対しキーワードによる全文検索を行う段階と、前記キーワードを含む電子文書に対応する位置情報ファイルから当該キーワードの位置情報を抽出しハイライトデータを生成する段階と、前記ハイライトデータに基づき当該電子文書のキーワードをハイライト表示する段階とを行うようにしたものである。
【0017】
本発明の第2の態様は、上述の第1の態様に係る検索結果文字列表示方法において、前記インデックス作成用ファイルおよび位置情報ファイルを生成する段階において、前記テキストデータを一連の文字列単位に読み込み当該文字列がルビか本文か判定する段階と、前記ルビか本文かの判定に基づき当該文字列をルビ用または本文用に各々確保したインデックス領域および位置情報領域に格納する段階と、前記一連の文字列単位全ての判定および格納を行う段階と、前記ルビ用および本文用のインデックス領域をインデックス作成用ファイルへ出力する段階と、前記ルビ用および本文用の位置情報領域を位置情報ファイルへ出力する段階とを行うようにしたものである。
【0018】
本発明の第3の態様は、上述の第1また2の態様に係る検索結果文字列表示方法において、前記一連の文字列単位に読み込む段階が、フォントの指定が連続して同じである複数の行を一連の文字列とするようにしたものである。
【0019】
本発明の第4の態様は、上述の第1から3の態様に係る検索結果文字列表示方法において、前記文字列がルビか本文かを判定する段階が、当該文字列のフォントサイズが所定のフォントサイズに対して所定の比率以下の場合にルビと判定し、所定のフォントサイズと同サイズの場合を本文と判定するようにしたものである。
【0020】
本発明の第5の態様は、上述の第1から4の態様に係る検索結果文字列表示方法において、前記ルビをルビ用の位置情報領域へ格納する段階において、前記ルビと判定した文字列および位置情報を対にして格納するようにしたものである。
【0021】
本発明の第6の態様は、上述の第1から5の態様に係る検索結果文字列表示方法において、前記ルビをルビ用の位置情報領域へ格納する段階において、前記テキストデータが本文を構成する親文字とルビ文字が交互に記録されることにより一連のルビが分断されている場合、分断されているルビを集めて一組のルビとして格納するようにしたものである。
【0022】
本発明の第7の態様は、上述の第1から6の態様に係る検索結果文字列表示方法において、前記本文を本文用の位置情報領域に格納する段階において、前記テキストデータが本文を構成する親文字とルビ文字が交互に記録されている場合、当該ルビ文字を取り除き当該ルビ文字と同じ文字種および長さの空白文字を代わりに挿入して本文を格納するようにしたものである。
【0023】
本発明の第8の態様は、上述の第1から7の態様に係る検索結果文字列表示方法において、前記インデックス作成用ファイルを出力する段階において、前記ルビ用および本文用のインデックス領域を所定の順序に従い並べてインデックス作成用ファイルへ出力するようにしたものである。
【0024】
本発明の第9の態様は、上述の第1から8の態様に係る検索結果文字列表示方法において、前記ハイライトデータ生成段階において、前記全文検索の結果に基づいて毎回ハイライトデータを生成するようにしたものである。
【0025】
本発明の第10の態様は、上述の第1から9の態様に係る検索結果文字列表示方法において、前記ハイライトデータを生成する段階において、前記全文検索で指定したキーワードに該当するハイライトさせるルビまたは本文の位置情報をハイライトデータに出力するようにしたものである。
【0026】
本発明の第11の態様は、上述の第1から10の態様に係る検索結果文字列表示方法において、前記ハイライトデータを生成する段階において、前記全文検索で指定したキーワードに該当する文字列が本文の場合、前記位置情報ファイルの本文の親文字の間に挿入した空白文字を取り除き該当文字の位置情報を取得してハイライトデータに出力するようにしたものである。
【0027】
本発明の第12の態様は、上述の第1から11の態様に係る検索結果文字列表示方法において、前記全文検索に複数のキーワードを指定した場合、複数のキーワード全てに対してルビまたは本文の位置情報をハイライトデータに出力するようにしたものである。
【0028】
本発明の第13の態様は、上述の第1から12の態様に係る検索結果文字列表示方法において、前記ハイライト表示する段階において、ルビまたは親文字またはルビと親文字の両方をハイライト表示するようにしたものである。
【0029】
本発明の第14の態様は、電子文書の全文検索を行い電子文書内の該当文字列をハイライト表示するシステムにおいて、電子文書からフォント種類およびサイズ情報を付加したテキストデータを生成するテキスト生成手段と、前記テキストデータを読み込みインデックス作成用ファイルおよび位置情報ファイルを生成する表示用データ生成手段と、前記インデックス作成用ファイルから作成したインデックスを用いて全文検索を行う検索手段と、前記検索手段の検索結果および前記位置情報ファイルを参照し前記全文検索により該当した文字列の位置情報を出力するハイライトデータ生成手段と、前記ハイライトデータに基づいて前記電子文書内の当該文字列をハイライト表示する表示手段とを設けたものである。
【0030】
本発明の第15の態様は、上述の第14の態様に係る検索結果文字列表示システムにおいて、前記表示用データ生成手段に、前記テキストデータの文字列がルビか本文か判定する判定手段と、前記ルビまたは本文と判定した当該文字列を各々区別してインデックス作成用ファイルに出力するインデックス出力手段と、前記ルビまたは本文と判定した当該文字列および位置情報を各々区別して位置情報ファイルに出力する位置情報出力手段とを設けたものである。
【0031】
本発明の第16の態様は、上述の第14または15の態様に係る検索結果文字列表示システムにおいて、前記インデックス出力手段に、前記判定手段がルビと判定した文字列を格納するルビ用インデックス領域と、前記判定手段が本文と判定した文字列を格納する本文用インデックス領域と、前記ルビ用インデックス領域および前記本文用インデックス領域を所定の順序に従い並べて一つのインデックス作成用ファイルへ出力する第1の出力手段とを設けたものである。
【0032】
本発明の第17の態様は、上述の第14から16の態様に係る検索結果文字列表示システムにおいて、前記位置情報出力手段に、前記判定手段がルビと判定した文字列および当該文字列の位置情報を格納するルビ用位置情報領域と、前記判定手段が本文と判定した文字列および当該文字列の位置情報を格納する本文用位置情報領域と、前記ルビ用位置情報領域および前記本文用位置情報領域を一つの位置情報ファイルへ出力する第2の出力手段とを設けたものである。
【0033】
本発明の第18の態様は、上述の第14から17の態様に係る検索結果文字列表示システムにおいて、前記ルビ用位置情報領域を、前記ルビと判定した文字列および位置情報を対にして構成するようにしたものである。
【0034】
本発明の第19の態様は、上述の第14から18の態様に係る検索結果文字列表示システムにおいて、前記テキストデータの本文を構成する親文字とルビ文字が交互に記録されることにより一連のルビが分断されている場合、前記ルビ用位置情報領域を、分断されているルビを集めて一組のルビとして構成するようにしたものである。
【0035】
本発明の第20の態様は、上述の第14から19の態様に係る検索結果文字列表示システムにおいて、前記テキストデータの本文を構成する親文字とルビ文字が交互に記録されている場合、前記本文位置情報領域を、当該ルビ文字を取り除き当該ルビ文字と同じ文字種および長さの空白文字を代わりに挿入した文字列により構成するようにしたものである。
【0036】
本発明の第21の態様は、上述の第14から20の態様に係る検索結果文字列表示システムにおいて、前記ハイライトデータを、前記全文検索で指定したキーワードに該当するハイライトさせるルビまたは本文の位置情報から構成するようにしたものである。
【0037】
本発明の第22の態様は、コンピュータを上述の第14から21の態様に係る検索結果文字列表示システムとして機能させるプログラムを提供するようにしたものである。
【0038】
本発明の第23の態様は、コンピュータを上述の第14から21の態様に係る検索結果文字列表示システムとして機能させるプログラムを、コンピュータ読み取り可能な記憶媒体により提供するようにしたものである。
【0039】
以下、本発明を図示する実施形態に基づいて説明する。図1は、本発明の検索結果文字列表示システム1の一実施例の構成図である。
【0040】
検索結果文字列表示システム1は、データ生成手段2と、検索結果表示手段3とを備えており、電子文書4からテキストデータ5を介して作成するインデックス作成用ファイル6と位置情報ファイル7に基づいて、検索キーワードに該当する文字列をハイライト表示するものである。
【0041】
データ生成手段2は、テキスト生成手段8と、表示用データ生成手段9とを備えている。
【0042】
テキスト生成手段8は、組版ソフトで制作した組版データから作成した電子文書4から、レイアウト情報などの不要な情報を取り除いたテキストデータ5を出力するものである。
【0043】
また、テキストデータ5は、図2に示すようにフォント種類、サイズ、実際の文字などから構成される、マイクロソフト社が提唱する文書ファイルの1形式であるRTF(Rich Text Format)形式などを用いる。
【0044】
図3に、表示用データ生成手段9の構成を示す。表示用データ生成手段9は、判定手段10と、インデックス出力手段11と、位置情報出力手段12とを備えており、テキストデータ5からインデックス作成用ファイル6および位置情報ファイル7を生成するものである。
【0045】
判定手段10は、テキストデータ5から同一のフォント種類を使用している一連の文字列単位を読み込み、フォントのサイズにより、ルビなのか、本文なのかを判定するものである。
【0046】
インデックス出力手段11は、ルビ用インデックス領域13と、本文用インデックス領域14と、第1の出力手段15を備えており、テキストデータ5からインデックス作成用ファイル6を生成するものである。
【0047】
ルビ用インデックス領域13および本文用インデックス領域14は、予めルビ文字と本文を構成する親文字の各々のために用意した一時的な記憶領域であり、判定手段10の判定に基づき、ルビまたは本文の文字列を区別して格納するものである。
【0048】
第1の出力手段15は、ルビ用インデックス領域13および本文用インデックス領域14を、所定の順序に従い並べて、一つのインデックス作成用ファイル6へ出力するものである。
【0049】
インデックス作成用ファイル6の内部構造は、使用する全文検索エンジンソフトにより異なる。テキストからインデックスを生成可能な全文検索エンジンであれば、特に限定されるものではなく、当該全文検索エンジンがインデックスを作成する入力形式に合致していればよい。
【0050】
位置情報出力手段12は、ルビ用位置情報領域16と、本文用位置情報領域17と、第2の出力手段18を備えており、テキストデータ5から位置情報ファイル7を生成するものである。
【0051】
ルビ用位置情報領域16および本文用位置情報領域17は、予めルビ文字と本文を構成する親文字の各々のために用意した一時的な記憶領域であり、判定手段10の判定に基づき、ルビまたは本文の電子文書4の中の存在位置に係る情報を区別して格納するものである。
【0052】
ルビ用位置情報領域16は、判定手段10が当該文字列がルビであると判定した場合、当該文字列と、当該文字列が属する頁、位置、長さなどの位置情報を対にして一時的に格納するものである。この時、テキストデータ5が親文字とルビ文字が交互に記録されている場合、親文字により分断されているルビ文字を集めて一組のルビとして格納する。
【0053】
本文用位置情報領域17は、判定手段10が当該文字列が本文であると判定した場合、本文の文字列を一時的に格納するものである。この時、テキストデータ5が親文字とルビ文字が交互に記録されている場合、ルビ文字と同じ長さで、ルビ文字と同じ文字種(全角、あるいは半角)の空白文字を、ルビの代わりに挿入して格納する。
【0054】
第2の出力手段18は、ルビ用位置情報領域16および本文用位置情報領域17を、テキスト形式で記述される一つの位置情報ファイル7へ出力するものである。位置情報ファイル7の例を図4に示す。
【0055】
検索結果表示手段3は、検索手段19と、ハイライトデータ生成手段20と、表示手段21を備えており、全文検索の結果、キーワードを含む電子文書4の該当する文字列をハイライトにして表示するものである。
【0056】
検索手段19は、利用者から指定されたキーワードに基づいて、インデックス作成用ファイル6から予め作成しておいたインデックスを検索し、当該キーワードを含む電子文書4のリストを取得するものである。
【0057】
ハイライトデータ生成手段20は、利用者が検索手段19により取得した電子文書4のリストから一つの電子文書4を選択した場合、当該電子文書4に対応する位置情報ファイル7から当該キーワードの位置情報を取得し、ハイライトデータ22へ出力するものである。ハイライトデータ22の例を図5に示す。
【0058】
表示手段21は、ハイライトデータ22の記録内容に基づいて、当該電子文書4に含まれるキーワードの文字列をハイライト表示により明示するものであり、実際には電子文書4を表示可能なビューアと呼ばれるソフトである。
【0059】
なお、本明細書において電子文書4は、アドビシステムズ社(Adobe Systems Inc.)が提唱するPDF形式(Portable Document Format:PDFは登録商標)の電子文書である。組版ソフトは、PDFを出力可能なソフトであれば、特に限定されるものではない。
【0060】
PDF形式の電子文書4は、画像、各種フォント、文字サイズを含む複雑なページレイアウトを記述できる文書形式として、紙面レイアウトを重視する文書に多く利用されており、縦書きで段組したものや、画像が多用された雑誌などの紙面も、PDF形式であれば印刷物と同じレイアウトで電子文書を表示することが可能である。
【0061】
PDF形式の電子文書4を閲覧するためには、専用のビューアが必要である。ビューアは無償で配布されており、ダウンロードした電子文書4をビューア単体で閲覧できるほか、ウェブブラウザ内でビューアを起動して電子文書4を閲覧することも可能である。
【0062】
次に、図6に示すフォローチャートに従い、本発明の検索結果文字列表示システム1の動作を詳細に説明する。
【0063】
まず、組版ソフトで制作した組版データを、例えば、アクロバットディスティラー(Acrobat Distiller:登録商標)などのPDF制作ソフトを使用してPDF形式の電子文書4に変換する。
【0064】
次に、テキスト生成手段8は、変換したPDF形式の電子文書4からレイアウト情報などを取り除き、テキストと、それぞれの文字列のフォント種類とサイズ情報を取り出し、RTF形式のテキストデータ5に変換する。
【0065】
テキスト生成手段8は、アドビアクロバット(Adobe Acrobat:登録商標)などのPDF処理ソフトの文書保存機能などを用いることも可能である。
【0066】
図7は、図2に示すテキストデータ5から、説明のために同じフォントを使用している文字列だけを抜き出したものである。この例では、図2の7行目における「¥f0」というフォント種類の指定から、23行目に次の「¥f2」というフォント種類の指定が登場するまでが同じフォントを使用しているため、一つの連続した処理単位と考えるものである。
【0067】
次に、例えば、読み込んだ一連の文字列の先頭から走査を行い、2つの異なるフォントサイズの指定を見つけ、例えば2倍の大きさのフォントサイズを本文のフォントサイズであると想定し、基準フォントサイズにセットする。
【0068】
次に、判定手段10は、同一のフォントを使用している複数の文字列の各行を順次読み込み、各文字列が条件に合致するか否かを判定する。文字列を判定する際は、改行、「{」、「¥」などの制御文字に相当するものは無視する。通常の全文検索において、改行等の非表示文字を検索対象文字として扱うことがないためである。
【0069】
判定手段10は、まず、当該行の文字列(以下、文字列Aという)のフォントサイズが基準フォントサイズの一定比率よりも大きなサイズの場合、あるいは基準フォントサイズの一定比率以下であるが、文字列Aが平仮名やカタカナでない場合、文字列Aを本文と判定し、本文用インデックス領域14、および本文用位置情報領域17へ文字列Aを格納する。
【0070】
通常、ルビは、親文字に対して1/2のフォントサイズを使用するから、例えば文字列Aのフォントサイズが基準フォントサイズの50%以下で、且つ当文字列Aが平仮名またはカタカナの場合、文字列Aをルビの候補として仮の判定を行う。
【0071】
文字列Aがルビ候補である場合、次の行の文字列(以下、文字列Bという)の判定を行う。これは、図10(b)に示す、モノルビが本文の親文字と交互に記録されている形式の電子文書4において、ルビまたは本文を本来の一つの言葉として抽出するためである。
【0072】
まず、文字列Bのフォントサイズが基準フォントサイズと異なる、すなわちルビ候補の親文字のフォントサイズと異なるサイズである場合、文字列Bは、ルビ候補である文字列Aの親文字の一部ではないことになる。したがって、これ以降に文字列Aに連なる文字列はないことになり、文字列Aは単独でルビであると判定できる。
【0073】
文字列Aをルビと判定した場合、文字列Aをルビ用インデックス領域13に、文字列Aと、文字列Aの頁内の開始位置と、長さとを、図4に例を示す形式でルビ用位置情報領域16に格納する。更に、文字列Aの長さ分の空白文字を本文用位置情報領域17に格納し、文字列Bを次の判定および格納の対象とする。
【0074】
文字列Bのフォントサイズが基準フォントサイズと同じで、且つ2文字以上の場合、ルビはグループルビであるから、文字列Aをルビ用インデックス領域13に、文字列Aと、文字列Aの頁内の開始位置と、長さとを、ルビ用位置情報領域16に格納する。更に、文字列Aの長さ分の空白文字を本文用位置情報領域17に格納し、文字列Bを次の判定および格納の対象とする。
【0075】
文字列Bのフォントサイズが基準フォントサイズと同じで、且つ1文字の場合、文字列Bは、文字列Aの親文字の一部である可能性がある。この場合、更に次の行の文字列(以下、文字列Cという)の判定を行う。
【0076】
文字列Cを読み込み、文字列Cのフォントサイズが文字列Aのフォントサイズと同一で、且つ文字列Cが平仮名またはカタカナである場合、文字列Cは、文字列Aに連なるルビの一部であると判定する。
【0077】
文字列Cが文字列Aに連なる判定の場合、文字列Aをルビ用インデックス領域13に、文字列Aと、文字列Aの頁内の開始位置と、長さとを、図4に示すように、直前に格納した文字列および位置情報に付加する形式で、ルビ用位置情報領域16に格納する。更に、文字列Aの長さ分の空白文字を本文用位置情報領域17に格納する。
【0078】
この場合、文字列Bが本文であることも判定しているので、本文用インデックス領域14、および本文用位置情報領域17へ文字列Bを格納し、文字列Cを次の判定および格納の対象とする。
【0079】
文字列Cを読み込み、文字列Cのフォントサイズが文字列Aのフォントサイズと異なる場合、文字列Cは、文字列Aに連なるルビの一部ではないと判定し、文字列Aが単独のルビであることになるから、文字列Aをルビ用インデックス領域13に、文字列Aと、文字列Aの頁内の開始位置と、長さとを、ルビ用位置情報領域16に格納する。更に、文字列Aの長さ分の空白文字を本文用位置情報領域17に格納する。
【0080】
この場合、文字列Bが本文であることも判定しているので、本文用インデックス領域14、および本文用位置情報領域17へ文字列Bを格納し、文字列Cを次の判定および格納の対象とする。
【0081】
このようにして、同一のフォントを使用している文字列の全ての判定および格納を行った後、第1の出力手段15は、所定の順序、例えばルビ、本文の順に従い、ルビ用インデックス領域13および本文用インデックス領域14を、インデックス作成用ファイル6へ出力する。
【0082】
図8は、ルビ文字と親文字が交互に現れるテキストデータ5において、上述の判定およびインデックスの格納の動作を模式化したものである。図8(a)は、PDF上の見え方を示している。
【0083】
図8(b)から図8(d)は、基準サイズを14ポイントに設定し、50%以下のサイズの文字をルビだと判断する場合の、ルビ用インデックス領域13および本文用インデックス領域14の状態を段階的に示したものである。
【0084】
図8(e)は、ルビ用インデックス領域13および本文用インデックス領域14を出力した、インデックス作成用ファイル6を示したものである。ルビから「せかいあみだによらい」、本文から「世界阿弥陀如来」をこのインデックス作成用ファイル6に出力したので、インデックス作成用ファイル6から作成したインデックスを用いることにより、ひらがなの読みでも、漢字でも検索することが可能になる。
【0085】
表示用データ生成手段9は、テキストデータ5に含まれる全ての文字列について、上述の処理を繰り返し、インデックス作成用ファイル6および位置情報ファイル7を生成する。
【0086】
検索手段19は、利用者が指定したキーワードにより、インデックス作成用ファイル6から予め作成しておいたインデックスを検索し、インデックスから当該キーワードを含む電子文書4のファイル名を取得し、当該キーワードを含む電子文書4のリストを生成する。
【0087】
利用者が上述のリストの中から、一つのファイルを選択した場合、検索手段19は、当該キーワードと、当該電子文書4のファイル名などをハイライトデータ生成手段20へ渡して、ハイライトデータ22の生成を依頼する。
【0088】
ハイライトデータ生成手段20は、例えば電子文書4と同じファイル名(拡張子は異なる)で関連付けた位置情報ファイル7を読み込み、渡されたキーワードが記録されている部分を探し出す。
【0089】
この時、キーワードが、図4の例で、「<ruby>」および「</ruby>」というタグで囲まれたルビの中に存在する場合は、ページと、相当する文字列の後ろに記録されている位置情報をハイライトファイル22へ出力する。
【0090】
ページは、「<page>」および「</page>」というタグに囲まれた数字により取得できる。図4の例では「1」である。
【0091】
図4の例で、「<content>」および「</content>」というタグで囲まれた本文にキーワードが含まれるか否か判定する場合は、ルビ文字の代わりに挿入した空白文字を取り除いて、判定を行う。
【0092】
キーワードが、本文の中に存在する場合は、ページと、ルビの代わりに挿入した空白文字を含めた本文を計数して求めた相当する文字列の先頭位置と、長さをハイライトデータ22へ出力する。
【0093】
例えば、位置情報ファイル7が図4の例で、キーワードが「阿弥陀」の場合、「<content>」タグ内の空白文字を除去することにより、「阿弥陀」という文字が含まれることがわかる。「阿」は、「<content>」タグの中の先頭から10文字目、すなわち19バイト目から始まり、「陀」は、14文字目、すなわち28バイト目で終わるから、ハイライトデータ22には、「pos=19 len=10」と出力する。
【0094】
表示手段21は、電子文書4と、ハイライトデータ22を同時に読み込むことにより、電子文書4を表示する際に、ハイライトデータ22に指定されたページ、先頭位置、長さの文字列をハイライトにして、検索結果の文字列を明示的に表示する。
【0095】
以上、本発明を実施の形態に基づいて詳細に説明してきたが、本発明による検索結果文字列表示方法およびシステムは、上述の実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更が可能なことは当然のことである。
【0096】
【発明の効果】
以上のとおり、本発明に係る検索結果文字列表示方法およびシステムによれば、親文字の文字間に入るモノルビが振られた電子文書も、並べ替えによって全文検索システムの検索対象にすることができ、キーワードを含む該当部分をハイライトにして、明示的に示すことが可能なる。
【図面の簡単な説明】
【図1】本発明の検索結果文字列表示システムの構成図である。
【図2】テキストデータの一実施例の説明図である。
【図3】本発明の表示用データ生成手段の構成図である。
【図4】本発明の位置情報ファイルの一実施例の説明図である。
【図5】本発明のハイライトデータの一実施例の説明図である。
【図6】本発明の検索結果文字列表示システムの動作を示すフローチャートである。
【図7】テキストデータの文字列の説明図である。
【図8】本発明の判定手段およびインデックス作成用ファイル生成の動作を示す模式図である。
【図9】ルビの説明図である。
【図10】ルビ文字と親文字の位置関係を示す説明図である。
【符号の説明】
1 検索結果文字列表示システム
2 データ生成手段
3 検索結果表示手段
4 電子文書
5 テキストデータ
6 インデックス作成用ファイル
7 位置情報ファイル
8 テキスト生成手段
9 表示用データ生成手段
10 判定手段
11 インデックス出力手段
12 位置情報出力手段
13 ルビ用インデックス領域
14 本文用インデックス領域
15 第1の出力手段
16 ルビ用位置情報領域
17 本文用位置情報領域
18 第2の出力手段
19 検索手段
20 ハイライトデータ生成手段
21 表示手段
22 ハイライトデータ
【発明の属する技術分野】
本発明は、電子文書の全文検索に関し、特に、ルビを含む文書の検索結果において、当該個所をハイライト表示する検索結果の文字列の表示に関するものである。
【0002】
【従来の技術】
全文検索システムは、電子文書検索システムの一形式で、文書登録時に文書内の文字の並びを解析して索引(インデックス)を作成しておき、検索時にはキーワードを用いてインデックスを検索し、キーワードが存在した場合は該当する電子文書をリストアップし、更に、リスト内から利用者が電子文書を選択した場合は、文書本体を表示、または指定したリンクにジャンプするものである。
【0003】
全文検索システムに登録する文書の形式は、テキスト(実際には文字コード)を取り出せるものであれば何でもよい。一般的にはフィルタと呼ばれるプログラムを通して元文書からプレーンなテキストのみを取り出し、これを用いてインデックスを作成する。
【0004】
HTML(Hyper Text Markup Language)ファイル、ワープロ文書ファイルなど、構造情報やレイアウト情報を含む文書は、各々特有の制御文字などを排除する専用のフィルタプログラムを通して自動的にテキストを取り出し、インデックスを作成する。
【0005】
全文検索システムのキーワード検索の精度は、インデックスの正確さ、すなわち元文書に含まれているテキストの並びが正確かどうかにより左右される。横書きで文書書式なしのプレーンテキスト文書のように、人間が文書を読む方向とテキストの流れが完全に一致していることが好ましい。
【0006】
しかしながら、紙への出力を前提としたレイアウト情報(縦組み、段組、回り込み設定、ノンブル付与等)を有する電子文書においては、人間が文書を読む方向と、フィルタプログラムによって取り出すテキストの流れが必ずしも一致しないことがある。特に、電子文書内にルビ(ふりがな)が振られた本文がある場合などは、一致しないことが顕著である。
【0007】
このような場合、必要な単語が切れたり、順序が変わるようなことが生じ、ページ表示上では検索したい単語が存在するのに、全文検索では検索できない語句が発生する。
【0008】
ルビが含まれる場合について、図9を用いて具体的に説明する。ルビの振り方には、大別して図9(a)に示すモノルビ(個別対応ルビ)と、図9(b)に示すグループルビ(群扱いルビ)の2つがある。モノルビは、親文字1字ずつに複数文字のルビを振るものであり、グループルビは、複数の親文字に対して複数文字のルビを振るものである。
【0009】
電子文書の元になるデータをDTP用のページレイアウトソフト(以下、組版ソフトという)で作成する場合、ルビの指定は、使用する組版ソフトにより異なるが、凡そ組版ソフト上でモノルビとグループルビの別、文字間の離れ、揃え、親文字との位置などの設定を行うことによって行う。
【0010】
組版ソフトで制作したルビ付きの文章を、電子文書にデータ変換した場合、電子文書内部におけるルビの部分の文字並びは、図10(a)または図10(b)に示すようないくつかの異なる記述形式となる。
【0011】
ルビと本文の並び順は、使用する組版ソフトによって決定されるが、特に、図10(b)に示す親文字の直後にルビ文字が並ぶ形式の組版ソフトを使用した電子文書の場合、親文字とルビ文字が交互に並ぶことになり、各々相手により分断されることになる。
【0012】
このような電子文書からテキストを取り出した場合、テキスト中には「世界」や「せかい」といった文字の並びが存在しないことになり、これらの文字を用いて全文検索を行っても、検索できないことになる。
【0013】
また、図10(a)に示す通常はルビと本文が異なる語となる組版ソフトの場合においても、2行に渡るルビを振ると、親文字の文字列に対してルビが挿入されてしまうことがあり、全文検索システムでは分断されたルビ文字および親文字が検索できないことがある。
【0014】
検索に係る問題は、電子文書からルビと本文を判定して各々に用意した一時的な格納領域に格納し、例えばルビ、本文の順にインデックスに出力することにより解決することができるが、検索したキーワードの存在位置を知ることができないため、該当する電子文書を表示する場合に、当該文字列を含む個所を明示できないという問題がある。
【0015】
【発明が解決しようとする課題】
本発明は上述の問題点に鑑みてなされたものであり、ルビを含む文書の全文検索を可能にし、当該電子文書を表示する際に、電子文書内の当該個所を明示可能な検索結果文字列表示方法およびシステムを提供することを目的とする。
【0016】
【課題を解決するための手段】
上記目的を達成するために、本発明の第1の態様は、電子文書の全文検索を行い検索に合致した電子文書内の該当文字列をハイライト表示する方法であって、電子文書からフォント種類およびサイズ情報を付加したテキストデータを取得する段階と、前記テキストデータを読み込みインデックス作成用ファイルおよび位置情報ファイルを生成する段階と、前記インデックス作成用ファイルから作成したインデックスに対しキーワードによる全文検索を行う段階と、前記キーワードを含む電子文書に対応する位置情報ファイルから当該キーワードの位置情報を抽出しハイライトデータを生成する段階と、前記ハイライトデータに基づき当該電子文書のキーワードをハイライト表示する段階とを行うようにしたものである。
【0017】
本発明の第2の態様は、上述の第1の態様に係る検索結果文字列表示方法において、前記インデックス作成用ファイルおよび位置情報ファイルを生成する段階において、前記テキストデータを一連の文字列単位に読み込み当該文字列がルビか本文か判定する段階と、前記ルビか本文かの判定に基づき当該文字列をルビ用または本文用に各々確保したインデックス領域および位置情報領域に格納する段階と、前記一連の文字列単位全ての判定および格納を行う段階と、前記ルビ用および本文用のインデックス領域をインデックス作成用ファイルへ出力する段階と、前記ルビ用および本文用の位置情報領域を位置情報ファイルへ出力する段階とを行うようにしたものである。
【0018】
本発明の第3の態様は、上述の第1また2の態様に係る検索結果文字列表示方法において、前記一連の文字列単位に読み込む段階が、フォントの指定が連続して同じである複数の行を一連の文字列とするようにしたものである。
【0019】
本発明の第4の態様は、上述の第1から3の態様に係る検索結果文字列表示方法において、前記文字列がルビか本文かを判定する段階が、当該文字列のフォントサイズが所定のフォントサイズに対して所定の比率以下の場合にルビと判定し、所定のフォントサイズと同サイズの場合を本文と判定するようにしたものである。
【0020】
本発明の第5の態様は、上述の第1から4の態様に係る検索結果文字列表示方法において、前記ルビをルビ用の位置情報領域へ格納する段階において、前記ルビと判定した文字列および位置情報を対にして格納するようにしたものである。
【0021】
本発明の第6の態様は、上述の第1から5の態様に係る検索結果文字列表示方法において、前記ルビをルビ用の位置情報領域へ格納する段階において、前記テキストデータが本文を構成する親文字とルビ文字が交互に記録されることにより一連のルビが分断されている場合、分断されているルビを集めて一組のルビとして格納するようにしたものである。
【0022】
本発明の第7の態様は、上述の第1から6の態様に係る検索結果文字列表示方法において、前記本文を本文用の位置情報領域に格納する段階において、前記テキストデータが本文を構成する親文字とルビ文字が交互に記録されている場合、当該ルビ文字を取り除き当該ルビ文字と同じ文字種および長さの空白文字を代わりに挿入して本文を格納するようにしたものである。
【0023】
本発明の第8の態様は、上述の第1から7の態様に係る検索結果文字列表示方法において、前記インデックス作成用ファイルを出力する段階において、前記ルビ用および本文用のインデックス領域を所定の順序に従い並べてインデックス作成用ファイルへ出力するようにしたものである。
【0024】
本発明の第9の態様は、上述の第1から8の態様に係る検索結果文字列表示方法において、前記ハイライトデータ生成段階において、前記全文検索の結果に基づいて毎回ハイライトデータを生成するようにしたものである。
【0025】
本発明の第10の態様は、上述の第1から9の態様に係る検索結果文字列表示方法において、前記ハイライトデータを生成する段階において、前記全文検索で指定したキーワードに該当するハイライトさせるルビまたは本文の位置情報をハイライトデータに出力するようにしたものである。
【0026】
本発明の第11の態様は、上述の第1から10の態様に係る検索結果文字列表示方法において、前記ハイライトデータを生成する段階において、前記全文検索で指定したキーワードに該当する文字列が本文の場合、前記位置情報ファイルの本文の親文字の間に挿入した空白文字を取り除き該当文字の位置情報を取得してハイライトデータに出力するようにしたものである。
【0027】
本発明の第12の態様は、上述の第1から11の態様に係る検索結果文字列表示方法において、前記全文検索に複数のキーワードを指定した場合、複数のキーワード全てに対してルビまたは本文の位置情報をハイライトデータに出力するようにしたものである。
【0028】
本発明の第13の態様は、上述の第1から12の態様に係る検索結果文字列表示方法において、前記ハイライト表示する段階において、ルビまたは親文字またはルビと親文字の両方をハイライト表示するようにしたものである。
【0029】
本発明の第14の態様は、電子文書の全文検索を行い電子文書内の該当文字列をハイライト表示するシステムにおいて、電子文書からフォント種類およびサイズ情報を付加したテキストデータを生成するテキスト生成手段と、前記テキストデータを読み込みインデックス作成用ファイルおよび位置情報ファイルを生成する表示用データ生成手段と、前記インデックス作成用ファイルから作成したインデックスを用いて全文検索を行う検索手段と、前記検索手段の検索結果および前記位置情報ファイルを参照し前記全文検索により該当した文字列の位置情報を出力するハイライトデータ生成手段と、前記ハイライトデータに基づいて前記電子文書内の当該文字列をハイライト表示する表示手段とを設けたものである。
【0030】
本発明の第15の態様は、上述の第14の態様に係る検索結果文字列表示システムにおいて、前記表示用データ生成手段に、前記テキストデータの文字列がルビか本文か判定する判定手段と、前記ルビまたは本文と判定した当該文字列を各々区別してインデックス作成用ファイルに出力するインデックス出力手段と、前記ルビまたは本文と判定した当該文字列および位置情報を各々区別して位置情報ファイルに出力する位置情報出力手段とを設けたものである。
【0031】
本発明の第16の態様は、上述の第14または15の態様に係る検索結果文字列表示システムにおいて、前記インデックス出力手段に、前記判定手段がルビと判定した文字列を格納するルビ用インデックス領域と、前記判定手段が本文と判定した文字列を格納する本文用インデックス領域と、前記ルビ用インデックス領域および前記本文用インデックス領域を所定の順序に従い並べて一つのインデックス作成用ファイルへ出力する第1の出力手段とを設けたものである。
【0032】
本発明の第17の態様は、上述の第14から16の態様に係る検索結果文字列表示システムにおいて、前記位置情報出力手段に、前記判定手段がルビと判定した文字列および当該文字列の位置情報を格納するルビ用位置情報領域と、前記判定手段が本文と判定した文字列および当該文字列の位置情報を格納する本文用位置情報領域と、前記ルビ用位置情報領域および前記本文用位置情報領域を一つの位置情報ファイルへ出力する第2の出力手段とを設けたものである。
【0033】
本発明の第18の態様は、上述の第14から17の態様に係る検索結果文字列表示システムにおいて、前記ルビ用位置情報領域を、前記ルビと判定した文字列および位置情報を対にして構成するようにしたものである。
【0034】
本発明の第19の態様は、上述の第14から18の態様に係る検索結果文字列表示システムにおいて、前記テキストデータの本文を構成する親文字とルビ文字が交互に記録されることにより一連のルビが分断されている場合、前記ルビ用位置情報領域を、分断されているルビを集めて一組のルビとして構成するようにしたものである。
【0035】
本発明の第20の態様は、上述の第14から19の態様に係る検索結果文字列表示システムにおいて、前記テキストデータの本文を構成する親文字とルビ文字が交互に記録されている場合、前記本文位置情報領域を、当該ルビ文字を取り除き当該ルビ文字と同じ文字種および長さの空白文字を代わりに挿入した文字列により構成するようにしたものである。
【0036】
本発明の第21の態様は、上述の第14から20の態様に係る検索結果文字列表示システムにおいて、前記ハイライトデータを、前記全文検索で指定したキーワードに該当するハイライトさせるルビまたは本文の位置情報から構成するようにしたものである。
【0037】
本発明の第22の態様は、コンピュータを上述の第14から21の態様に係る検索結果文字列表示システムとして機能させるプログラムを提供するようにしたものである。
【0038】
本発明の第23の態様は、コンピュータを上述の第14から21の態様に係る検索結果文字列表示システムとして機能させるプログラムを、コンピュータ読み取り可能な記憶媒体により提供するようにしたものである。
【0039】
以下、本発明を図示する実施形態に基づいて説明する。図1は、本発明の検索結果文字列表示システム1の一実施例の構成図である。
【0040】
検索結果文字列表示システム1は、データ生成手段2と、検索結果表示手段3とを備えており、電子文書4からテキストデータ5を介して作成するインデックス作成用ファイル6と位置情報ファイル7に基づいて、検索キーワードに該当する文字列をハイライト表示するものである。
【0041】
データ生成手段2は、テキスト生成手段8と、表示用データ生成手段9とを備えている。
【0042】
テキスト生成手段8は、組版ソフトで制作した組版データから作成した電子文書4から、レイアウト情報などの不要な情報を取り除いたテキストデータ5を出力するものである。
【0043】
また、テキストデータ5は、図2に示すようにフォント種類、サイズ、実際の文字などから構成される、マイクロソフト社が提唱する文書ファイルの1形式であるRTF(Rich Text Format)形式などを用いる。
【0044】
図3に、表示用データ生成手段9の構成を示す。表示用データ生成手段9は、判定手段10と、インデックス出力手段11と、位置情報出力手段12とを備えており、テキストデータ5からインデックス作成用ファイル6および位置情報ファイル7を生成するものである。
【0045】
判定手段10は、テキストデータ5から同一のフォント種類を使用している一連の文字列単位を読み込み、フォントのサイズにより、ルビなのか、本文なのかを判定するものである。
【0046】
インデックス出力手段11は、ルビ用インデックス領域13と、本文用インデックス領域14と、第1の出力手段15を備えており、テキストデータ5からインデックス作成用ファイル6を生成するものである。
【0047】
ルビ用インデックス領域13および本文用インデックス領域14は、予めルビ文字と本文を構成する親文字の各々のために用意した一時的な記憶領域であり、判定手段10の判定に基づき、ルビまたは本文の文字列を区別して格納するものである。
【0048】
第1の出力手段15は、ルビ用インデックス領域13および本文用インデックス領域14を、所定の順序に従い並べて、一つのインデックス作成用ファイル6へ出力するものである。
【0049】
インデックス作成用ファイル6の内部構造は、使用する全文検索エンジンソフトにより異なる。テキストからインデックスを生成可能な全文検索エンジンであれば、特に限定されるものではなく、当該全文検索エンジンがインデックスを作成する入力形式に合致していればよい。
【0050】
位置情報出力手段12は、ルビ用位置情報領域16と、本文用位置情報領域17と、第2の出力手段18を備えており、テキストデータ5から位置情報ファイル7を生成するものである。
【0051】
ルビ用位置情報領域16および本文用位置情報領域17は、予めルビ文字と本文を構成する親文字の各々のために用意した一時的な記憶領域であり、判定手段10の判定に基づき、ルビまたは本文の電子文書4の中の存在位置に係る情報を区別して格納するものである。
【0052】
ルビ用位置情報領域16は、判定手段10が当該文字列がルビであると判定した場合、当該文字列と、当該文字列が属する頁、位置、長さなどの位置情報を対にして一時的に格納するものである。この時、テキストデータ5が親文字とルビ文字が交互に記録されている場合、親文字により分断されているルビ文字を集めて一組のルビとして格納する。
【0053】
本文用位置情報領域17は、判定手段10が当該文字列が本文であると判定した場合、本文の文字列を一時的に格納するものである。この時、テキストデータ5が親文字とルビ文字が交互に記録されている場合、ルビ文字と同じ長さで、ルビ文字と同じ文字種(全角、あるいは半角)の空白文字を、ルビの代わりに挿入して格納する。
【0054】
第2の出力手段18は、ルビ用位置情報領域16および本文用位置情報領域17を、テキスト形式で記述される一つの位置情報ファイル7へ出力するものである。位置情報ファイル7の例を図4に示す。
【0055】
検索結果表示手段3は、検索手段19と、ハイライトデータ生成手段20と、表示手段21を備えており、全文検索の結果、キーワードを含む電子文書4の該当する文字列をハイライトにして表示するものである。
【0056】
検索手段19は、利用者から指定されたキーワードに基づいて、インデックス作成用ファイル6から予め作成しておいたインデックスを検索し、当該キーワードを含む電子文書4のリストを取得するものである。
【0057】
ハイライトデータ生成手段20は、利用者が検索手段19により取得した電子文書4のリストから一つの電子文書4を選択した場合、当該電子文書4に対応する位置情報ファイル7から当該キーワードの位置情報を取得し、ハイライトデータ22へ出力するものである。ハイライトデータ22の例を図5に示す。
【0058】
表示手段21は、ハイライトデータ22の記録内容に基づいて、当該電子文書4に含まれるキーワードの文字列をハイライト表示により明示するものであり、実際には電子文書4を表示可能なビューアと呼ばれるソフトである。
【0059】
なお、本明細書において電子文書4は、アドビシステムズ社(Adobe Systems Inc.)が提唱するPDF形式(Portable Document Format:PDFは登録商標)の電子文書である。組版ソフトは、PDFを出力可能なソフトであれば、特に限定されるものではない。
【0060】
PDF形式の電子文書4は、画像、各種フォント、文字サイズを含む複雑なページレイアウトを記述できる文書形式として、紙面レイアウトを重視する文書に多く利用されており、縦書きで段組したものや、画像が多用された雑誌などの紙面も、PDF形式であれば印刷物と同じレイアウトで電子文書を表示することが可能である。
【0061】
PDF形式の電子文書4を閲覧するためには、専用のビューアが必要である。ビューアは無償で配布されており、ダウンロードした電子文書4をビューア単体で閲覧できるほか、ウェブブラウザ内でビューアを起動して電子文書4を閲覧することも可能である。
【0062】
次に、図6に示すフォローチャートに従い、本発明の検索結果文字列表示システム1の動作を詳細に説明する。
【0063】
まず、組版ソフトで制作した組版データを、例えば、アクロバットディスティラー(Acrobat Distiller:登録商標)などのPDF制作ソフトを使用してPDF形式の電子文書4に変換する。
【0064】
次に、テキスト生成手段8は、変換したPDF形式の電子文書4からレイアウト情報などを取り除き、テキストと、それぞれの文字列のフォント種類とサイズ情報を取り出し、RTF形式のテキストデータ5に変換する。
【0065】
テキスト生成手段8は、アドビアクロバット(Adobe Acrobat:登録商標)などのPDF処理ソフトの文書保存機能などを用いることも可能である。
【0066】
図7は、図2に示すテキストデータ5から、説明のために同じフォントを使用している文字列だけを抜き出したものである。この例では、図2の7行目における「¥f0」というフォント種類の指定から、23行目に次の「¥f2」というフォント種類の指定が登場するまでが同じフォントを使用しているため、一つの連続した処理単位と考えるものである。
【0067】
次に、例えば、読み込んだ一連の文字列の先頭から走査を行い、2つの異なるフォントサイズの指定を見つけ、例えば2倍の大きさのフォントサイズを本文のフォントサイズであると想定し、基準フォントサイズにセットする。
【0068】
次に、判定手段10は、同一のフォントを使用している複数の文字列の各行を順次読み込み、各文字列が条件に合致するか否かを判定する。文字列を判定する際は、改行、「{」、「¥」などの制御文字に相当するものは無視する。通常の全文検索において、改行等の非表示文字を検索対象文字として扱うことがないためである。
【0069】
判定手段10は、まず、当該行の文字列(以下、文字列Aという)のフォントサイズが基準フォントサイズの一定比率よりも大きなサイズの場合、あるいは基準フォントサイズの一定比率以下であるが、文字列Aが平仮名やカタカナでない場合、文字列Aを本文と判定し、本文用インデックス領域14、および本文用位置情報領域17へ文字列Aを格納する。
【0070】
通常、ルビは、親文字に対して1/2のフォントサイズを使用するから、例えば文字列Aのフォントサイズが基準フォントサイズの50%以下で、且つ当文字列Aが平仮名またはカタカナの場合、文字列Aをルビの候補として仮の判定を行う。
【0071】
文字列Aがルビ候補である場合、次の行の文字列(以下、文字列Bという)の判定を行う。これは、図10(b)に示す、モノルビが本文の親文字と交互に記録されている形式の電子文書4において、ルビまたは本文を本来の一つの言葉として抽出するためである。
【0072】
まず、文字列Bのフォントサイズが基準フォントサイズと異なる、すなわちルビ候補の親文字のフォントサイズと異なるサイズである場合、文字列Bは、ルビ候補である文字列Aの親文字の一部ではないことになる。したがって、これ以降に文字列Aに連なる文字列はないことになり、文字列Aは単独でルビであると判定できる。
【0073】
文字列Aをルビと判定した場合、文字列Aをルビ用インデックス領域13に、文字列Aと、文字列Aの頁内の開始位置と、長さとを、図4に例を示す形式でルビ用位置情報領域16に格納する。更に、文字列Aの長さ分の空白文字を本文用位置情報領域17に格納し、文字列Bを次の判定および格納の対象とする。
【0074】
文字列Bのフォントサイズが基準フォントサイズと同じで、且つ2文字以上の場合、ルビはグループルビであるから、文字列Aをルビ用インデックス領域13に、文字列Aと、文字列Aの頁内の開始位置と、長さとを、ルビ用位置情報領域16に格納する。更に、文字列Aの長さ分の空白文字を本文用位置情報領域17に格納し、文字列Bを次の判定および格納の対象とする。
【0075】
文字列Bのフォントサイズが基準フォントサイズと同じで、且つ1文字の場合、文字列Bは、文字列Aの親文字の一部である可能性がある。この場合、更に次の行の文字列(以下、文字列Cという)の判定を行う。
【0076】
文字列Cを読み込み、文字列Cのフォントサイズが文字列Aのフォントサイズと同一で、且つ文字列Cが平仮名またはカタカナである場合、文字列Cは、文字列Aに連なるルビの一部であると判定する。
【0077】
文字列Cが文字列Aに連なる判定の場合、文字列Aをルビ用インデックス領域13に、文字列Aと、文字列Aの頁内の開始位置と、長さとを、図4に示すように、直前に格納した文字列および位置情報に付加する形式で、ルビ用位置情報領域16に格納する。更に、文字列Aの長さ分の空白文字を本文用位置情報領域17に格納する。
【0078】
この場合、文字列Bが本文であることも判定しているので、本文用インデックス領域14、および本文用位置情報領域17へ文字列Bを格納し、文字列Cを次の判定および格納の対象とする。
【0079】
文字列Cを読み込み、文字列Cのフォントサイズが文字列Aのフォントサイズと異なる場合、文字列Cは、文字列Aに連なるルビの一部ではないと判定し、文字列Aが単独のルビであることになるから、文字列Aをルビ用インデックス領域13に、文字列Aと、文字列Aの頁内の開始位置と、長さとを、ルビ用位置情報領域16に格納する。更に、文字列Aの長さ分の空白文字を本文用位置情報領域17に格納する。
【0080】
この場合、文字列Bが本文であることも判定しているので、本文用インデックス領域14、および本文用位置情報領域17へ文字列Bを格納し、文字列Cを次の判定および格納の対象とする。
【0081】
このようにして、同一のフォントを使用している文字列の全ての判定および格納を行った後、第1の出力手段15は、所定の順序、例えばルビ、本文の順に従い、ルビ用インデックス領域13および本文用インデックス領域14を、インデックス作成用ファイル6へ出力する。
【0082】
図8は、ルビ文字と親文字が交互に現れるテキストデータ5において、上述の判定およびインデックスの格納の動作を模式化したものである。図8(a)は、PDF上の見え方を示している。
【0083】
図8(b)から図8(d)は、基準サイズを14ポイントに設定し、50%以下のサイズの文字をルビだと判断する場合の、ルビ用インデックス領域13および本文用インデックス領域14の状態を段階的に示したものである。
【0084】
図8(e)は、ルビ用インデックス領域13および本文用インデックス領域14を出力した、インデックス作成用ファイル6を示したものである。ルビから「せかいあみだによらい」、本文から「世界阿弥陀如来」をこのインデックス作成用ファイル6に出力したので、インデックス作成用ファイル6から作成したインデックスを用いることにより、ひらがなの読みでも、漢字でも検索することが可能になる。
【0085】
表示用データ生成手段9は、テキストデータ5に含まれる全ての文字列について、上述の処理を繰り返し、インデックス作成用ファイル6および位置情報ファイル7を生成する。
【0086】
検索手段19は、利用者が指定したキーワードにより、インデックス作成用ファイル6から予め作成しておいたインデックスを検索し、インデックスから当該キーワードを含む電子文書4のファイル名を取得し、当該キーワードを含む電子文書4のリストを生成する。
【0087】
利用者が上述のリストの中から、一つのファイルを選択した場合、検索手段19は、当該キーワードと、当該電子文書4のファイル名などをハイライトデータ生成手段20へ渡して、ハイライトデータ22の生成を依頼する。
【0088】
ハイライトデータ生成手段20は、例えば電子文書4と同じファイル名(拡張子は異なる)で関連付けた位置情報ファイル7を読み込み、渡されたキーワードが記録されている部分を探し出す。
【0089】
この時、キーワードが、図4の例で、「<ruby>」および「</ruby>」というタグで囲まれたルビの中に存在する場合は、ページと、相当する文字列の後ろに記録されている位置情報をハイライトファイル22へ出力する。
【0090】
ページは、「<page>」および「</page>」というタグに囲まれた数字により取得できる。図4の例では「1」である。
【0091】
図4の例で、「<content>」および「</content>」というタグで囲まれた本文にキーワードが含まれるか否か判定する場合は、ルビ文字の代わりに挿入した空白文字を取り除いて、判定を行う。
【0092】
キーワードが、本文の中に存在する場合は、ページと、ルビの代わりに挿入した空白文字を含めた本文を計数して求めた相当する文字列の先頭位置と、長さをハイライトデータ22へ出力する。
【0093】
例えば、位置情報ファイル7が図4の例で、キーワードが「阿弥陀」の場合、「<content>」タグ内の空白文字を除去することにより、「阿弥陀」という文字が含まれることがわかる。「阿」は、「<content>」タグの中の先頭から10文字目、すなわち19バイト目から始まり、「陀」は、14文字目、すなわち28バイト目で終わるから、ハイライトデータ22には、「pos=19 len=10」と出力する。
【0094】
表示手段21は、電子文書4と、ハイライトデータ22を同時に読み込むことにより、電子文書4を表示する際に、ハイライトデータ22に指定されたページ、先頭位置、長さの文字列をハイライトにして、検索結果の文字列を明示的に表示する。
【0095】
以上、本発明を実施の形態に基づいて詳細に説明してきたが、本発明による検索結果文字列表示方法およびシステムは、上述の実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更が可能なことは当然のことである。
【0096】
【発明の効果】
以上のとおり、本発明に係る検索結果文字列表示方法およびシステムによれば、親文字の文字間に入るモノルビが振られた電子文書も、並べ替えによって全文検索システムの検索対象にすることができ、キーワードを含む該当部分をハイライトにして、明示的に示すことが可能なる。
【図面の簡単な説明】
【図1】本発明の検索結果文字列表示システムの構成図である。
【図2】テキストデータの一実施例の説明図である。
【図3】本発明の表示用データ生成手段の構成図である。
【図4】本発明の位置情報ファイルの一実施例の説明図である。
【図5】本発明のハイライトデータの一実施例の説明図である。
【図6】本発明の検索結果文字列表示システムの動作を示すフローチャートである。
【図7】テキストデータの文字列の説明図である。
【図8】本発明の判定手段およびインデックス作成用ファイル生成の動作を示す模式図である。
【図9】ルビの説明図である。
【図10】ルビ文字と親文字の位置関係を示す説明図である。
【符号の説明】
1 検索結果文字列表示システム
2 データ生成手段
3 検索結果表示手段
4 電子文書
5 テキストデータ
6 インデックス作成用ファイル
7 位置情報ファイル
8 テキスト生成手段
9 表示用データ生成手段
10 判定手段
11 インデックス出力手段
12 位置情報出力手段
13 ルビ用インデックス領域
14 本文用インデックス領域
15 第1の出力手段
16 ルビ用位置情報領域
17 本文用位置情報領域
18 第2の出力手段
19 検索手段
20 ハイライトデータ生成手段
21 表示手段
22 ハイライトデータ
Claims (23)
- 電子文書の全文検索を行い、検索に合致した電子文書内の該当文字列をハイライト表示する方法であって、
電子文書からフォント種類およびサイズ情報を付加したテキストデータを取得する段階と、
前記テキストデータを読み込み、インデックス作成用ファイルおよび位置情報ファイルを生成する段階と、
前記インデックス作成用ファイルから作成したインデックスに対し、キーワードによる全文検索を行う段階と、
前記キーワードを含む電子文書に対応する位置情報ファイルから、当該キーワードの位置情報を抽出し、ハイライトデータを生成する段階と、
前記ハイライトデータに基づき、当該電子文書のキーワードをハイライト表示する段階と、
を設けたことを特徴とする検索結果文字列表示方法。 - 請求項1記載の検索結果文字列表示方法であって、
前記インデックス作成用ファイルおよび位置情報ファイルを生成する段階において、
前記テキストデータを一連の文字列単位に読み込み、当該文字列がルビか本文か判定する段階と、
前記ルビか本文かの判定に基づき、当該文字列をルビ用または本文用に各々確保したインデックス領域および位置情報領域に格納する段階と、
前記一連の文字列単位全ての判定および格納を行う段階と、
前記ルビ用および本文用のインデックス領域をインデックス作成用ファイルへ出力する段階と、
前記ルビ用および本文用の位置情報領域を位置情報ファイルへ出力する段階と、を設けたことを特徴とする検索結果文字列表示方法。 - 請求項1または2記載の検索結果文字列表示方法であって、前記一連の文字列単位に読み込む段階が、
フォントの指定が連続して同じである複数の行を一連の文字列とする、
ことを特徴とする検索結果文字列表示用文字処理方法。 - 請求項1から3のいずれかに記載の検索結果文字列表示方法であって、
前記文字列がルビか本文かを判定する段階が、
当該文字列のフォントサイズが、所定のフォントサイズに対して所定の比率以下の場合にルビと判定し、所定のフォントサイズと同サイズの場合を本文と判定する、
ことを特徴とする検索結果文字列表示用文字処理方法。 - 請求項1から4のいずれかに記載の検索結果文字列表示方法であって、
前記ルビをルビ用の位置情報領域へ格納する段階において、
前記ルビと判定した文字列および位置情報を対にして格納する、
ことを特徴とする検索文字列表示方法。 - 請求項1から5のいずれかに記載の検索結果文字列表示方法であって、
前記ルビをルビ用の位置情報領域へ格納する段階において、
前記テキストデータが、本文を構成する親文字とルビ文字が交互に記録されることにより一連のルビが分断されている場合、
分断されているルビを集めて一組のルビとして格納する、
ことを特徴とする検索結果文字列表示方法。 - 請求項1から6のいずれかに記載の検索結果文字列表示方法であって、
前記本文を本文用の位置情報領域に格納する段階において、
前記テキストデータが、本文を構成する親文字とルビ文字が交互に記録されている場合、
当該ルビ文字を取り除き、当該ルビ文字と同じ文字種および長さの空白文字を代わりに挿入して本文を格納する、
ことを特徴とする検索結果文字列表示方法。 - 請求項1から7のいずれかに記載の検索結果文字列表示方法であって、
前記インデックス作成用ファイルを出力する段階において、
前記ルビ用および本文用のインデックス領域を所定の順序に従い並べて、インデックス作成用ファイルへ出力する、
ことを特徴とする検索結果文字列表示方法。 - 請求項1から8のいずれかに記載の検索結果文字列表示方法であって、
前記ハイライトデータを生成する段階において、
前記全文検索の結果に基づいて、毎回ハイライトデータを生成する、
ことを特徴とする検索結果文字列表示方法。 - 請求項1から9のいずれかに記載の検索結果文字列表示方法であって、
前記ハイライトデータを生成する段階において、
前記全文検索で指定したキーワードに該当するハイライトさせるルビまたは本文の位置情報をハイライトデータに出力する、
ことを特徴とする検索結果文字列表示方法。 - 請求項1から10のいずれかに記載の検索結果文字列表示方法であって、
前記ハイライトデータを生成する段階において、
前記全文検索で指定したキーワードに該当する文字列が本文の場合、
前記位置情報ファイルの本文の親文字の間に挿入した空白文字を取り除き、該当文字の位置情報を取得して、ハイライトデータに出力する、
ことを特徴とする検索結果文字列表示方法。 - 請求項1から11のいずれかに記載の検索結果文字列表示方法であって、
前記全文検索に複数のキーワードを指定した場合、
複数のキーワード全てに対して、ルビまたは本文の位置情報をハイライトデータに出力する、
ことを特徴とする検索結果文字列表示方法。 - 請求項1から12のいずれかに記載の検索結果文字列表示方法であって、
前記ハイライト表示する段階において、
ルビ、または親文字、またはルビと親文字の両方をハイライト表示する、
ことを特徴とする検索結果文字列表示方法。 - 電子文書の全文検索を行い、電子文書内の該当文字列をハイライト表示するシステムであって、
電子文書からフォント種類およびサイズ情報を付加したテキストデータを生成するテキスト生成手段と、
前記テキストデータを読み込み、インデックス作成用ファイルおよび位置情報ファイルを生成する表示用データ生成手段と、
前記インデックス作成用ファイルから作成したインデックスを用いて全文検索を行う検索手段と、
前記検索手段の検索結果および前記位置情報ファイルを参照し、前記全文検索により該当した文字列の位置情報を出力するハイライトデータ生成手段と、
前記ハイライトデータに基づいて前記電子文書内の当該文字列をハイライト表示する表示手段と、
を備えることを特徴とする検索結果文字列表示システム。 - 請求項14記載の検索結果文字列表示システムであって、前記表示用データ生成手段が、
前記テキストデータの文字列がルビか本文か判定する判定手段と、
前記ルビまたは本文と判定した当該文字列を各々区別してインデックス作成用ファイルに出力するインデックス出力手段と、
前記ルビまたは本文と判定した当該文字列および位置情報を各々区別して位置情報ファイルに出力する位置情報出力手段と、
を備えることを特徴とする検索結果文字列表示システム。 - 請求項14または15記載の検索結果文字列表示システムであって、
前記インデックス出力手段が、
前記判定手段がルビと判定した文字列を格納するルビ用インデックス領域と、
前記判定手段が本文と判定した文字列を格納する本文用インデックス領域と、
前記ルビ用インデックス領域および前記本文用インデックス領域を、所定の順序に従い並べて一つのインデックス作成用ファイルへ出力する第1の出力手段と、を備えることを特徴とする検索結果文字列表示システム。 - 請求項14から16のいずれかに記載の検索結果文字列表示システムであって、
前記位置情報出力手段が、
前記判定手段がルビと判定した文字列および当該文字列の位置情報を格納するルビ用位置情報領域と、
前記判定手段が本文と判定した文字列および当該文字列の位置情報を格納する本文用位置情報領域と、
前記ルビ用位置情報領域および前記本文用位置情報領域を、一つの位置情報ファイルへ出力する第2の出力手段と、
を備えることを特徴とする検索結果文字列表示システム。 - 請求項14から17のいずれかに記載の検索結果文字列表示システムであって、
前記ルビ用位置情報領域を、
前記ルビと判定した文字列および位置情報を対にして構成する、
ことを特徴とする検索文字列表示システム。 - 請求項14から18のいずれかに記載の検索結果文字列表示システムであって、
前記テキストデータの本文を構成する親文字とルビ文字が交互に記録されることにより一連のルビが分断されている場合、
前記ルビ用位置情報領域を、
分断されているルビを集めて一組のルビとして構成する、
ことを特徴とする検索結果文字列表示システム。 - 請求項14から19のいずれかに記載の検索結果文字列表示システムであって、
前記テキストデータの本文を構成する親文字とルビ文字が交互に記録されている場合、
前記本文位置情報領域を、
当該ルビ文字を取り除き、当該ルビ文字と同じ文字種および長さの空白文字を代わりに挿入した文字列により構成する、
ことを特徴とする検索結果文字列表示システム。 - 請求項14から20のいずれかに記載の検索結果文字列表示システムであって、
前記ハイライトデータを、
前記全文検索で指定したキーワードに該当するハイライトさせるルビまたは本文の位置情報から構成する、
ことを特徴とする検索結果文字列表示システム。 - コンピュータを請求項14から21の検索結果文字列表示システムとして機能させるプログラム。
- コンピュータを請求項14から21の検索結果文字列表示システムとして機能させるプログラムを記録したコンピュータ読み取り可能な記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002177711A JP2004021746A (ja) | 2002-06-18 | 2002-06-18 | 検索結果文字列表示方法およびシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002177711A JP2004021746A (ja) | 2002-06-18 | 2002-06-18 | 検索結果文字列表示方法およびシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004021746A true JP2004021746A (ja) | 2004-01-22 |
Family
ID=31175671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002177711A Pending JP2004021746A (ja) | 2002-06-18 | 2002-06-18 | 検索結果文字列表示方法およびシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004021746A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010026750A (ja) * | 2008-07-18 | 2010-02-04 | Hitachi Software Eng Co Ltd | 電子帳票システムにおけるデータ検索項目情報の自動定義システム |
JP2013225212A (ja) * | 2012-04-20 | 2013-10-31 | Atsuo Nutahara | 文章表示装置 |
CN103425629A (zh) * | 2012-05-24 | 2013-12-04 | 富士通株式会社 | 生成装置、生成方法、检索装置和检索方法 |
US8872845B2 (en) | 2010-07-26 | 2014-10-28 | Casio Computer Co., Ltd | Information display apparatus and computer-readable storage medium |
CN110889279A (zh) * | 2018-08-15 | 2020-03-17 | 珠海金山办公软件有限公司 | 一种显示展示信息的方法及装置 |
CN112380337A (zh) * | 2020-11-13 | 2021-02-19 | 平安普惠企业管理有限公司 | 基于富文本的高亮方法及装置 |
-
2002
- 2002-06-18 JP JP2002177711A patent/JP2004021746A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010026750A (ja) * | 2008-07-18 | 2010-02-04 | Hitachi Software Eng Co Ltd | 電子帳票システムにおけるデータ検索項目情報の自動定義システム |
US8872845B2 (en) | 2010-07-26 | 2014-10-28 | Casio Computer Co., Ltd | Information display apparatus and computer-readable storage medium |
JP2013225212A (ja) * | 2012-04-20 | 2013-10-31 | Atsuo Nutahara | 文章表示装置 |
CN103425629A (zh) * | 2012-05-24 | 2013-12-04 | 富士通株式会社 | 生成装置、生成方法、检索装置和检索方法 |
CN110889279A (zh) * | 2018-08-15 | 2020-03-17 | 珠海金山办公软件有限公司 | 一种显示展示信息的方法及装置 |
CN112380337A (zh) * | 2020-11-13 | 2021-02-19 | 平安普惠企业管理有限公司 | 基于富文本的高亮方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6533822B2 (en) | Creating summaries along with indicators, and automatically positioned tabs | |
US7958444B2 (en) | Visualizing document annotations in the context of the source document | |
US7313754B2 (en) | Method and expert system for deducing document structure in document conversion | |
JP4290011B2 (ja) | ビューワ装置及びその制御方法、プログラム | |
JP4808705B2 (ja) | 文書情報マイニングツール | |
JP2005526314A (ja) | 文書構造識別器 | |
US11615635B2 (en) | Heuristic method for analyzing content of an electronic document | |
Hardy et al. | Mapping and displaying structural transformations between xml and pdf | |
US9286272B2 (en) | Method for transformation of an extensible markup language vocabulary to a generic document structure format | |
JP4794127B2 (ja) | データ処理方法、データ処理プログラム、およびデータ処理装置 | |
Bagley et al. | Creating reusable well-structured PDF as a sequence of component object graphic (COG) elements | |
JP2004021746A (ja) | 検索結果文字列表示方法およびシステム | |
JPH0769921B2 (ja) | 文書論理構造生成方法 | |
CN113011129A (zh) | 一种通用doc和docx及indd文档排版引擎及方法 | |
US11775733B2 (en) | Device dependent rendering of PDF content including multiple articles and a table of contents | |
JP2010282327A (ja) | フォーマット変換システムおよびフォーマット変換方法並びにプログラム | |
JP2004157668A (ja) | 検索システム、検索方法および検索プログラム | |
Bing et al. | Primary content extraction with mountain model | |
JP2017091024A (ja) | 入力支援装置 | |
JP2002312401A (ja) | 電子ファイリング装置及びその制御方法、記憶媒体並びにプログラム | |
CN114637505A (zh) | 一种页面内容提取方法和装置 | |
JP2004013863A (ja) | 文書検索用文字処理方法およびシステム | |
CN112287742A (zh) | 文件中的流程图解析方法及装置、计算设备、存储介质 | |
EP1072986A2 (en) | System and method for extracting data from semi-structured text | |
US20090031203A1 (en) | Hyperlinks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050613 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080625 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090113 |