(57)【特許請求の範囲】
【請求項１】
データベースにデータが格納され、複数の単位文書から構成される文書を対象として、コンピュータがキーワード検索する方法であって、
前記コンピュータが、前記文書に含まれるキーワードを抽出し、当該キーワードを含む単位文書に当該キーワードを関連付けた情報をメモリに格納するステップと、
前記コンピュータが、前記複数の単位文書の中から特定の単位文書の指定を受け付けるステップと、
前記コンピュータが、前記キーワードを関連付けた情報を用いて、前記特定の単位文書に含まれているキーワードを抽出するステップと、
前記コンピュータが、抽出されたキーワードの中から検索すべき第１キーワードと第２キーワードとの指定を受け付けるステップと、
前記コンピュータが、前記キーワードを関連付けた情報を用いて、前記複数の単位文書の中から前記第１キーワードを含む単位文書と前記第２キーワードを含む単位文書とを特定するステップと、
前記コンピュータが、前記文書における複数の単位文書の体系的な関連を表す文書体系図とともに、当該文書体系図において、前記第１キーワードを含む単位文書を明示する第１識別情報と前記第２キーワードを含む単位文書を明示する第２識別情報とを表示させるステップと、を有することを特徴とするキーワード検索方法。
【請求項２】
前記コンピュータが、前記文書のデータから抽出されたキーワードに対して、固有のインデックスを付与したキーワードインデックステーブルを作成するステップと、
前記コンピュータが、前記文書の論理構造を解析し、当該論理構造において、前記抽出されたキーワードを有する前記単位文書に前記固有のインデックスを関連付け、文書構造テーブルを作成するステップと、をさらに有することを特徴とする請求項１記載のキーワード検索方法。
【請求項３】
前記第１識別情報と前記第２識別情報とを表示させるステップは、前記単位文書のうち最小単位であるトピックと、複数のトピックから構成されるグループの相関関係を前記文書体系図として表示し、前記第１キーワードが含まれるトピックの表題と当該トピックを含むグループの表題のそれぞれに対し当該第１識別情報を付加して表示させ、前記第２キーワードが含まれるトピックの表題と当該トピックを含むグループの表題のそれぞれに対し当該第２識別情報を付加して表示させることを特徴とする請求項１記載のキーワード検索方法。
【請求項４】
前記第１識別情報と前記第２識別情報とを表示させるステップは、前記単位文書のうち最小単位であるトピックどうしの関連を示すシークエンス図を前記文書体系図として表示し、前記第１キーワードが含まれるトピックに対して当該第１識別情報を付加して表示させ、前記第２キーワードが含まれるトピックに対して当該第２識別情報を付加して表示させることを特徴とする請求項１記載のキーワード検索方法。
【請求項５】
前記特定の単位文書に含まれているキーワードを抽出するステップでは、抽出された前記キーワードのリストを表示することを特徴とする請求項１記載のキーワード検索方法。
【請求項６】
前記抽出するステップでは、前記リストを表示するときに、任意の文字列の入力を受け付ける入力欄または当該入力欄を表示するためのメニュー項目を当該リストとともに表示し、
前記単位文書を特定するステップでは、前記入力欄に文字列が入力されたときに当該文字列をキーワードとして検索することを特徴とする請求項５記載のキーワード検索方法。
【請求項７】
複数の単位文書によって構成された文書を対象としてキーワード検索を実行するキーワード検索端末であって、
前記文書に含まれるキーワードを抽出し、当該キーワードを含む単位文書に当該キーワードを関連付けた情報をメモリに格納する情報格納手段と、
前記複数の単位文書の中から特定の単位文書の指定を受け付ける単位文書受付手段と、
前記キーワードを関連付けた情報を用いて、前記特定の単位文書に含まれているキーワードを抽出するキーワード抽出手段と、
抽出されたキーワードの中から検索すべき第１キーワードと第２キーワードとの指定を受け付けるキーワード受付手段と、
前記キーワードを関連付けた情報を用いて、前記複数の単位文書の中から前記第１キーワードを含む単位文書と前記第２キーワードを含む単位文書とを特定する単位文書特定手段と、
前記文書中における前記複数の単位文書の関連を体系的に表す文書体系図とともに、当該文書体系図において、前記第１キーワードを含む単位文書を明示する第１識別情報と前記第２キーワードを含む単位文書を明示する第２識別情報とを表示させる検索結果表示手段と、
を備えることを特徴とするキーワード検索端末。
【請求項８】
前記文書のデータから抽出されたキーワードに対して、固有のインデックスを付与したキーワードインデックステーブルを作成するキーワードインデックステーブル作成手段と、
前記文書の論理構造を解析し、当該論理構造において、前記抽出されたキーワードを有する前記単位文書に前記固有のインデックスを関連付け、文書構造テーブルを作成する文書構造テーブル作成手段と、をさらに備えることを特徴とする請求項７記載のキーワード検索端末。
【請求項９】
前記文書のデータが格納されたデータベースをさらに一体に備えることを特徴とする請求項８記載のキーワード検索端末。
【請求項１０】
データベースにデータが格納され、複数の単位文書から構成される文書を対象としたキーワード検索機能をコンピュータ装置に実行させるコンピュータプログラムであって、
前記文書に含まれるキーワードを抽出し、当該キーワードを含む単位文書に当該キーワードを関連付けた情報をメモリに格納する処理と、
前記複数の単位文書の中から特定の単位文書の指定を受け付ける処理と、
前記キーワードを関連付けた情報を用いて、前記特定の単位文書に含まれているキーワードを抽出する処理と、
抽出されたキーワードの中から検索すべき第１キーワードと第２キーワードとの指定を受け付ける処理と、
前記キーワードを関連付けた情報を用いて、前記複数の単位文書の中から前記第１キーワードを含む単位文書と前記第２キーワードを含む単位文書とを特定する処理と、
前記文書の論理構造を表す構造図とともに、当該構造図において、前記第１キーワードを含む単位文書を明示する第１識別情報と前記第２キーワードを含む単位文書を明示する第２識別情報とを表示させる処理と、を前記コンピュータ装置に実行させることを特徴とするコンピュータプログラム。
【請求項１１】
前記単位文書の指定を受け付ける処理は、指定を受け付けたときに表示されている前記単位文書のうち最小単位であるトピックを特定し、
前記単位文書に含まれているキーワードを抽出する処理は、特定されたトピックに予め関連付けて登録されたキーワードを抽出し、
抽出された前記キーワードのリストを表示し、当該リストの中から検索すべき前記第１キーワードと前記第２キーワードとの指定を要求する処理を、当該第１キーワードと当該第２キーワードとの指定を受け付ける処理に先立って前記コンピュータ装置に実行させることを特徴とする請求項１０記載のコンピュータプログラム。
【請求項１２】
前記データベースに格納された前記文書のデータから抽出されたキーワードに対して、固有のインデックスを付与したキーワードインデックステーブルを作成する処理と、
前記文書の論理構造を解析し、当該論理構造において、前記抽出されたキーワードを有する前記単位文書に前記固有のインデックスを関連付け、文書構造テーブルを作成する処理と、をさらに前記コンピュータ装置に実行させることを特徴とする請求項１０記載のコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、キーワード検索方法、キーワード検索端末等に関する。
【０００２】
【従来の技術】
近年のパーソナルコンピュータの普及に伴ない、辞書をはじめとする各種書籍類も電子データ化され、ユーザはコンピュータ上で用語検索等を行なうことができるようになっているのは周知の通りである。このとき、ユーザは、いわゆるキーワード検索機能を用い、検索対象となる辞書等の文書の電子データ中から、検索したい用語が記載されている箇所を検索している。
また、パーソナルコンピュータにインストールされるＯＳ（Operating System）や各種アプリケーションプログラムに付随しているヘルプファイル等にも、キーワード検索機能が備わっており、ユーザは調べたいキーワードを入力することによって、ヘルプファイルの文書中から検索したい用語が出ている箇所を探し出すことができる。
【０００３】
このようなキーワード検索には、コンピュータ側で実行する検索処理の観点から見ると、２通りがある。すなわち、見出しとなるような、あるいは検索時に入力されると想定される特定の語句をキーワードとして予め登録しておき、ユーザが検索を要求した際には、登録された語句のみを対象として検索を行なう「見出し検索」と、文書を構成する文字列全体を対象として検索を行なう「全文検索」である。
【０００４】
このようにして検索を行なった結果は、コンピュータのモニタ上に表示されるウインドウを複数（たとえば左右）に分割し、一方のウインドウに、検索によって抽出されたトピック（文書の最低単位）の表題が一覧表示され、他方のウインドウに、ユーザが指定したトピックの本文が表示されることが多い。また、一方のウインドウには、文書に登録されているキーワードの一覧を表示し、他方のウインドウに、選択されたキーワードが登録されたトピックの本文を表示するケースもある。
【０００５】
【発明が解決しようとする課題】
さて、上記したような従来の検索手法でも、特に不自由を感じない場合もあるものの、例えば検索対象となる文書のボリュームが膨大な場合や、検索によって抽出されたトピックの数が多い場合、ユーザは、目的とするトピックが直感的に判らないために、目的とするトピックにたどり着くまでに多くのトピックを試行錯誤的に見てみなければならず、多大な労力と時間を費やすことがある。
具体例を挙げれば、アプリケーションプログラムのヘルプファイル中で、ある用語の定義を調べたい場合に、その用語をキーワードとして検索すると、その用語を文章中に含む全てのトピックが抽出されてしまうことがある。このような場合に、定義が示されている目的のトピックを見つけ出すのは必ずしも容易ではないのである。
【０００６】
また、このようなキーワード検索を行なうには、ユーザが文書に登録された全キーワード一覧から目的のキーワードを選択する場合が多いが、キーワードを直接入力する場合もあり、このような場合はその手間がかかるのはもちろんのこと、入力したキーワードが不適切であれば、検索しても思うような結果が得られないこともある。
本発明は、このような技術的課題に基づいてなされたもので、効率良くキーワード検索を行なうことのできるキーワード検索方法、キーワード検索端末等を提供することを目的とする。
【０００７】
【課題を解決するための手段】
かかる目的のもと、本発明は、複数の単位文書から構成される辞書やヘルプファイル等の文書を対象とし、端末にてキーワード検索する方法であって、検索すべきキーワードの指定を受け付けると、予め登録されている文書の検索用データを検索することによって、この文書中において指定されたキーワードを含む単位文書を特定する。そして、文書における複数の単位文書の体系的な関連を表す文書体系図とともに、この文書体系図においてキーワードが含まれている単位文書を明示するマークやハイライト表示等の識別情報を表示させる。
ここで、文書体系図としては、単位文書のうち最小単位であるトピックの表題と、複数のトピックから構成される章や節等のグループの相関関係を、例えばツリー状に表すものがあり、この場合、キーワードが含まれるトピックの表題と、このトピックを含む章や節等のグループの表題のそれぞれに対して識別情報を付加して表示させる。また、文書体系図として、単位文書のうち最小単位であるトピックどうしの関連を示すシークエンス図を表示することもでき、この場合はキーワードが含まれるトピックに対して識別情報を付加して表示させれば良い。なお、シークエンス図とは、例えばＨＴＭＬ（Hypertext Markup Language）等の記述方式において、リンクしている文書どうしの関連をビジュアルに表示するためのものである。
このようなキーワード検索方法によれば、文書体系図中に表示された識別情報を見ることによって、文書体系図においてキーワードが含まれている箇所（単位文書）を把握することができる。このような文書体系図は、すなわち、実際の書籍等の目次と同様の構成を有することになるので、識別情報が付されている箇所の表題や、その上層のグループの（章や節）の表題等から、求めている記述の箇所を推定することができる。
また、本発明では検索時に検索用データを用いるが、これは、キーワードの指定を受け付けるステップに先立ち、文書に含まれるキーワードとこのキーワードの文書中における位置情報を抽出することによって生成される。このとき、文書を構成する複数の単位文書の体系的な関連を抽出して文書体系図のデータを生成することもできる。
なお、本発明は、インターネット上に存在するホームページ等を対象としてキーワード検索を行なう場合よりも、複数の単位文書によって構成される一塊の文書を対象としてキーワード検索を行なう場合に好適である。
【０００８】
本発明は、データベースにデータが格納され、複数のトピックを含む文書を対象に端末でキーワード検索する方法として捉えることもできる。この場合、トピック毎に関連するキーワードを予め登録しておき、これをプルダウン方式等によってリスト表示することを特徴とすることができる。そして、リストの中から指定されたキーワードを用いて、文書を検索するのである。
なお、リスト表示するときには、任意の文字列の入力を受け付けるダイアログ・パネルを表示するためのトリガーをリストとともに表示することができ、ダイアログ・パネルで文字列が入力されたときには入力された文字列をキーワードとして検索する。
このようにして検索を行なった結果は、複数のトピックから構成される文書の構造を表す構造図とともに、この構造図においてキーワードが含まれている箇所を明示する識別情報を表示させるようにしても良い。
【０００９】
また、本発明は、複数の単位文書によって構成された文書を対象としてキーワード検索を実行するキーワード検索端末としても捉えることが可能である。すなわち、このキーワード検索端末は、検索すべきキーワードの指定を受け付けるキーワード受付手段と、指定されたキーワードに基づいて文書のデータを検索した結果として、文書体系図とともに、キーワードが含まれている箇所を明示する識別情報を表示させる検索結果表示手段と、を備えるのである。
また、検索を実行する対象および手段をネットワーク等を介して接続可能な外部のサーバ等に備えることによって、キーワード検索端末側にはこのような対象および手段を備えない構成とすることもできるが、このキーワード検索端末に、文書毎に関連するキーワードが登録された検索用データを格納する検索用データ格納手段と、検索用データを検索することによってキーワードを含む文書を特定する検索実行手段と、を備えることもできる。
さらに、文書のデータを格納するデータベースをネットワーク等を介して外部に備えることによって、キーワード検索端末側にはデータベースを備えない構成とすることもできるが、キーワード検索端末に、文書のデータが格納されたデータベースをさらに一体に備えるようにしても良い。
【００１０】
また、本発明は、データベースにデータが格納された文書を対象としたキーワード検索機能を有したコンピュータ装置に実行させるコンピュータプログラムであって、キーワードの指定を受け付ける処理と、文書中においてキーワードを含む箇所を特定する処理と、文書の論理構造を表す構造図とともに、キーワードが含まれている箇所を明示する識別情報を表示させる処理と、をコンピュータ装置に実行させるプログラムとしても構成することができる。
【００１１】
本発明は、データベースにデータが格納された文書に含まれるキーワードを検索するためのコンピュータ装置に実行させるコンピュータプログラムとして捉えることもでき、このコンピュータプログラムは、データベースに格納された文書のデータに基づき、文書に含まれるキーワードとこのキーワードに関連する単位文書に関する情報を抽出して検索用データを生成するとともに、文書における単位文書の関連を体系的に表す文書体系図のデータを生成し、検索すべきキーワードの指定を受け付けたときに、文書中においてキーワードを含む単位文書を特定して、この単位文書を文書体系図上において明示する識別情報を表示させる処理、をコンピュータ装置に実行させる。
【００１２】
また、本発明は、データベースにデータが格納されて、複数のトピックから構成された文書を対象としたキーワード検索機能を有したコンピュータ装置に実行させるコンピュータプログラムとして捉えることも可能であり、このコンピュータプログラムは、キーワード検索の要求を受け付けたときに表示されている文書のトピックを特定し、このトピックに予め関連付けて登録されたキーワードを抽出してリストを表示し、このリストの中から検索すべきキーワードの指定を受け付けて検索を実行する機能をコンピュータ装置に実現させることを特徴とする。
【００１３】
【発明の実施の形態】
以下、添付図面に示す実施の形態に基づいてこの発明を詳細に説明する。
図１は、本実施の形態における文書検索システムの構成を説明するための図である。この図１に示すように、文書検索システムは、ＰＣ等の端末（キーワード検索端末）によって実現されるもので、１以上の文書の電子データが格納された文書データベース（データベース）１０と、この文書データベース１０に格納されているデータに基づいてユーザからの要求に応じた検索処理を実行する検索エンジン２０と、検索エンジン２０で得られた検索結果等を表示する表示装置（検索結果表示手段）３０とを備えている。
【００１４】
ここで、文書データベース１０は、ＨＤＤ（Hard Disc Drive）やＣＤ(Compact Disc)-ＲＯＭ（Read Only Memory）やＤＶＤ（Digital Versatile Disc）−ＲＯＭ等の各種記憶媒体、およびその読み取り装置によって構成される。この文書データベース１０には、例えばアプリケーションプログラムのヘルプファイルや、各種辞書等の文書の電子データが格納されている。ここで、文書データベース１０に電子データが格納されているそれぞれの文書は、例えば章・節・段等のように上下に複数階層を有した文書構造（以下、これを文書の論理構造と称する）となっており、各章・各節・各段等には表題が付され、文書の最小単位となるトピック（本実施の形態ではトピック＝段とし、以下の説明では適宜、段をトピックとして表現する）には、表題と本文とが含まれている。
【００１５】
検索エンジン２０は、実際にはユーザのＰＣにインストールされたコンピュータプログラムに基づいて所定の処理を実行することによって実現されるものである。この検索エンジン２０は、後に説明する文書解析モジュール２１、データ格納部（検索用データ格納手段）２２、文書データ処理部（検索実行手段）２３の他、キーボードや各種ポインティングデバイスからユーザによるキーワードの指定等の入力を受け付ける入力部（キーワード受付手段）２４、入力部２４で受け付けた入力に伴なって発生するイベント等に基づき、文書データ処理部２３および表示制御部２６に所定の処理を実行させるイベント処理部２５、表示装置３０での表示内容を制御する表示制御部２６を備えて構成される。
【００１６】
文書解析モジュール２１は、文書データベース１０に格納されている文書の電子データを取り出し、文書に含まれているキーワードを基にキーワードインデックステーブル（検索用データ）２２ａを作成するキーワードインデックス作成部（検索用データ生成手段）２１ａと、文書の構造を解析して文書構造テーブル（検索用データ）２２ｂを作成する文書構造解析部（体系図生成手段）２１ｂとを有する。
キーワードインデックス作成部２１ａは、予め設定された所定の条件に基づいて文書中からキーワードを抽出し、抽出された個々のキーワードに対して固有のインデックスを付与する。そして、これらキーワードとインデックスを関連付けてキーワードインデックステーブル２２ａを作成する。
一方、文書構造解析部２１ｂは、パーシング等と称される従来から既知の手法等によって、文書の論理構造、つまり文書を構成する最小単位であるトピック、および複数のトピックによって構成される節、複数の節によって構成される章等の相関関係を解析し、文書構造をツリー状に表示する際に必要となるこれらトピック、節、章の位置情報を含む文書構造テーブル２２ｂを作成する。このとき、文書構造解析部２１ｂでは、キーワードインデックス作成部２１ａで作成されたキーワードインデックステーブル２２ａを参照し、それぞれのキーワードが存在するトピック、およびこのトピックが存在する節・章を特定し、各キーワードのインデックスと、各キーワードが存在するトピック・節・章とを関連付けることによって、文書構造テーブル２２ｂに格納するのである。
【００１７】
このようにして文書解析モジュール２１で事前に作成されるキーワードインデックステーブル２２ａ、文書構造テーブル２２ｂは、データ格納部２２に格納される。ここで、文書データベース１０に複数の文書の電子データが格納されているのであれば、文書毎に作成されるキーワードインデックステーブル２２ａと文書構造テーブル２２ｂは、文書の数に応じた複数組がデータ格納部２２に格納されることになる。
【００１８】
表示制御部２６では、文書データ処理部２３が生成したデータをもとに、表示装置３０における文書の表示内容を制御する。この表示制御部２６は、図２に示すように、表示装置３０に文書の内容を表示させる際に、その表示装置３０の表示画面上に表示されるウインドウＷを例えば左右に２分割し、一方のフレームＦ１に文書構造ツリー図Ｌを表示し、他方のフレームＦ２にユーザが選択したトピック（単位文書）Ｔｃの本文を表示させる。ここで文書構造ツリー図Ｌは、文書の論理構造をツリー状に表す構造図、トピックＴｃ、その上層の節Ｔｂ、さらにその上層の章Ｔａの体系的な関連を表す文書体系図、文書の階層構造を表す構造図である。
このようにして文書の内容を表示装置３０に表示させた状態で、ユーザが、表示装置３０の表示画面上に表示されるマウスポインタを適宜操作することによって、例えば、フレームＦ１に表示された文書構造ツリー図Ｌにおいて任意の章（グループ）Ｔａにマウスポインタを重ね、クリックあるいはダブルクリック等の所定の操作を行なうと、章Ｔａの１つ下層の節（グループ）ＴｂがフレームＦ１に表示され、同様に節Ｔｂにマウスポインタを重ねて所定の操作を行なうと、１つ下層のトピックＴｃがフレームＦ１に表示される。さらに、フレームＦ１において、任意のトピックＴｃにマウスポインタを重ねて所定の操作を行なうと、フレームＦ２にそのトピックＴｃの本文が表示される。このような操作形態自体は、基本的に従来と変わりはなく、入力部２４で受け付けた入力に応答してイベント処理部２５が必要な処理を表示制御部２６に実行させる。
【００１９】
また、イベント処理部２５は、フレームＦ１に表示された特定のトピックＴｃの表題あるいは本文上にマウスポインタ（やカーソル）を合わせた状態で、ユーザが検索を行なうための所定の操作を行なったときには、表示制御部２６に依頼し、マウスポインタの位置を基準とした位置にポップアップメニューリスト（キーワードのリスト）Ｐｍを表示させる。必要なデータは文書データ処理部２３を通じて取得される。このポップアップメニューリストＰｍには、文書構造テーブル２２ｂにおいてこのトピックＴｃに関連付けられている（登録されている）キーワードが、一覧表示されるようになっている。
【００２０】
文書データ処理部２３は、キーボードやポインティングデバイス等からなる入力部２４においてユーザが所定の操作を行なうことによってユーザから指定されたキーワードの検索処理を実行する。このとき、文書データ処理部２３は、文書データベース１０に格納されている文書のデータを直接検索するのではなく、文書解析モジュール２１において予め解析されてデータ格納部２２に格納されたキーワードインデックステーブル２２ａおよび文書構造テーブル２２ｂを対象とした検索を行なう。
そして、図３に示すように、検索の結果は、フレームＦ１に表示される文書構造ツリー図Ｌ中に、ユーザから指定されたキーワードが存在するトピックＴｃ・節Ｔｂ・章Ｔａ等の表題の部分の所定の位置にマーク（識別情報）Ｍ１、Ｍ２を付した状態で、表示装置３０に表示される。
【００２１】
さて次に、上記のような構成からなる文書検索システムにおける具体的な処理方法について順次説明する。
まず、図４は、ユーザからの検索要求を受けるに先立ち、文書解析モジュール２１にてキーワードインデックステーブル２２ａ、文書構造テーブル２２ｂを生成する際の流れを示すものである。この図４に示すように、文書解析モジュール２１では、まず、キーワードインデックス作成部２１ａにて、文書データベース１０にデータが格納された文書中からキーワードを抽出する（ステップＳ１０１）。この場合のキーワード抽出方法であるが、例えば、文書データがＸＭＬ (eXtensible Markup Language) 等のマークアップ言語によって作成されており、文書中の要素を容易に識別できる条件が整っておれば、個々のキーワードは、該当する単位文書ごとにキーワード・タグによってマークアップされているので、キーワード・タグで囲まれた箇所のデータを抽出すれば良いことになる。キーワードインデックス作成部２１ａでは、このようにして文書全体から抽出された個々のキーワードに対して、重複を排除したうえで、固有のインデックスを付与し（ステップＳ１０２）、これらのキーワードとインデックスを対にしたレコードをキーワードインデックステーブル２２ａに保存した後、これをデータ格納部２２に格納する（ステップＳ１０３）。
【００２２】
続いて、文書構造解析部２１ｂにおいて、パーシング等の手法によって、文書の論理構造を解析し（ステップＳ１０４）、文書構造ツリー図Ｌを表示するための文書構造テーブル２２ｂを生成する。この場合の解析および処理手順であるが、例えば文書の論理構造が階層的であるような場合、文書データがＸＭＬ等のマークアップ言語でマークアップされていれば、タグの包含関係によって文書の論理階層構造を容易に判断することができるので、パーシング処理によって章、節、トピックといった構造要素ごとに、文書構造テーブル２２ｂに格納すべきレコードを作成する。このレコードには、構造要素ごとのノード番号、親ノード番号、タイトル、キーワードインディケータ部といった項目が含まれる。ノード番号は、章、節などの構造要素を文書中で一意に識別するための番号であり、例えば、１を開始番号とする自然数が順番に振られていく。親ノード番号は、節やトピックのように、その構造要素の上位構造要素が存在する場合に、その上位構造要素のノード番号が保存される。例えば、節の場合は、その節を含む章のノード番号が、トピックの場合はそのトピックを含む節のノード番号が、それぞれ保存される。上位構造要素が存在しない場合は、特殊なノード番号（例えば０）が保存される。タイトルには、章や節の表題が保存される。トピックの場合はタイトルが存在しないこともあり、このような場合にはタイトルの値がＮＵＬＬとなる。キーワードインディケータ部は、その構造要素に関連付けられたキーワードを保存するフィールドであり、個々のキーワードに対応するキーワードインデックスが保存される。キーワードインデックスは、あらかじめキーワードインデックス作成部２１ａによって、キーワードインデックステーブル２２ａに保存されているので、文書構造解析部２１ｂは、このテーブルを参照することによって、個々のキーワードに対応するキーワードインデックスを検索することができる。文書中の構造要素には、複数のキーワードを関連付けることができるので、キーワードインディケータ部も、通常は複数のフィールドから構成されている。また、章、節などの上位構造要素に対応するキーワードインディケータ部には、下位の構造要素に関連付けられたキーワードインデックスの和集合が保存される。なお、保存すべきキーワードインデックスの総数が大きくなるようであれば、キーワードインデックスのみを文書構造テーブル２２ｂとは別のテーブルに保存することもできる。この場合、そのテーブルにはノード番号と単一のキーワードインデックスを対にしたレコードを、ノードごとにキーワードの総数分だけ保存すれば良い。このようにすれば、文書中に存在するすべてのノードに対し、それぞれのノードに付随したキーワードインデックスを単一のテーブルで管理することができる。
【００２３】
このように、文書構造解析部２１ｂでは、文書の論理構造を追跡しながら、ノードごとのレコードを作成することにより、文書構造テーブル２２ｂを生成する。さらに、キーワードが存在するトピックＴｃ・節Ｔｂ・章Ｔａに対しては、それぞれのキーワードのインデックスを、トピックＴｃ・節Ｔｂ・章Ｔａに対応するノードレコードに保存する。そして、生成した文書構造テーブル２２ｂを、データ格納部２２に格納する（ステップＳ１０５）。
なお、文書データの保存形式としては、前述したようなＸＭＬを使用する場合の他に、文書構造管理データ、キーワード管理データ、トピックデータをそれぞれ分割して保存するような方法なども考えられる。例えば、トピック自身およびトピック同士のリンクをＨＴＭＬによって記述し、キーワードはキーワード管理データとしてトピックとは別に保存し、トピックとキーワードの関連を文書構造管理データに保存するような場合である。このような場合であっても、前述した処理手順における方針と同様な方針で、キーワードインデックステーブル２２ａと文書構造テーブル２２ｂを作成することができる。
【００２４】
図５は、上記のようにしてキーワードインデックステーブル２２ａ、文書構造テーブル２２ｂがデータ格納部２２に格納された状態で、ユーザが文書の特定のトピックＴｃを表示する場合の流れを示すものである。この図５に示すように、ユーザが入力部２４において文書データベース１０中にデータが格納された特定の文書を開くための所定の操作を行なうと、イベント処理部２５においてこの操作によって発生する文書オープンイベントを検出する（ステップＳ２０１）。すると、イベント処理部２５では、この文書オープンイベントを文書データ処理部２３に通知する（ステップＳ２０２）。
文書データ処理部２３では、通知されたイベントに含まれる情報からユーザが指定した文書を特定し、データ格納部２２に格納されているこの文書の文書構造テーブル２２ｂを参照し、文書構造ツリー図Ｌを表示するためのデータと、初期画面として表示すべき所定のトピックＴｃのデータを取得する（ステップＳ２０３）。そして、イベント処理部２５は、文書データ処理部２３より戻されたこれらのデータを表示制御部２６に渡す。
表示制御部２６では、これらのデータに基づき、表示装置３０の表示画面上に、図２に示したようなウインドウＷを表示し、一方のフレームＦ１に文書の論理構造を示す文書構造ツリー図Ｌの表示を行ない、他方のフレームＦ２に初期画面として表示すべき所定のトピックＴｃを表示する（ステップＳ２０４）。なお、この所定のトピックＴｃはブランク画面とすることも可能である。
【００２５】
さて、ユーザは、ウインドウＷのフレームＦ１に表示された文書構造ツリー図Ｌにおいて、章Ｔａ・節Ｔｂ・トピックＴｃの表題の部分を適宜クリックすることにより、この文書を閲覧することができる。このとき、任意のトピックＴｃの表題をクリックすれば、このトピックＴｃの本文がフレームＦ２に表示されるのである。
このようにして閲覧を行なううち、内容を確認したい語句に遭遇した場合、ユーザはキーワード検索を行なうことによって、その語句の意味等を調べることができる。
【００２６】
図６は、ユーザからの要求に応じて検索エンジン２０がキーワード検索を行なうときの流れを示すものである。最初にユーザは、そのトピックＴｃに登録されているキーワードの確認操作を行なう。この図６に示すように、ユーザが入力部２４においてキーワード確認を行なうための所定の操作を実行すると、これによって発生されるキーワード確認要求イベントをイベント処理部２５が受け付ける（ステップＳ３０１）。
イベント処理部２５は、表示制御部２６に依頼して、その時点で、フレームＦ１においてマウスポインタが重ねられているトピックＴｃ、あるいはフレームＦ２において本文を表示しているトピックＴｃを特定する（ステップＳ３０２）。そして、イベント処理部２５は、このトピックＴｃに付随するキーワードの取得を文書データ処理部２３に依頼し、文書データ処理部２３は、データ格納部２２に格納された文書構造テーブル２２ｂを参照し、このトピックＴｃに関連付けられているキーワードのインデックスを取得する。文書データ処理部２３は、続いてデータ格納部２２に格納されたキーワードインデックステーブル２２ａを参照し、このキーワードインデックステーブル２２ａにおいて、取得したインデックスに関連付けられているキーワードを全て取得する。このようにして、文書データ処理部２３では、ユーザが表示しているトピックＴｃに予め埋め込まれているキーワードを取得する（ステップＳ３０３）。
文書データ処理部２３は、取得したキーワードのデータをイベント処理部２５へ戻し、イベント処理部２５はこれを表示制御部２６に転送する。表示制御部２６では、データが転送されてきたキーワードの数等に応じた大きさのポップアップメニューリストＰｍの表示用データを生成し、表示装置３０に表示されたウインドウＷ上のマウスポインタを基準とした位置に、表示用データに基づくポップアップメニューリストＰｍを表示させる。これにより、図２に示したように、このポップアップメニューリストＰｍにおいて、ステップＳ３０３で取得したキーワード、つまりこのトピックＴｃに含まれるキーワードの一覧が表示される（ステップＳ３０４）。
【００２７】
図２に例示したポップアップメニューリストＰｍには、ステップＳ３０３で取得した、予めトピックＴｃに関連付けて登録されているキーワードＫＷ１、ＫＷ２が表示される。ここで、キーワードＫＷ２は、キーワードＫＷ１に関連するリンクキーワードとでも言うべきものであって、図２の例で言えば、「表結合」というキーワードＫＷ１に関連する、「主キー」、「外部結合」、「正規化」といった語句がキーワードＫＷ２として予め登録され、表示される。なお、このポップアップメニューリストＰｍにおいては「＞」という記号が表示されるキーワードＫＷ１（図２の例では「表結合」）において、「＞」という記号の近傍にマウスポインタを位置させることによって、キーワードＫＷ２をポップアップ表示させること等が可能である。
また、ポップアップメニューリストＰｍには、予め登録されたキーワードＫＷ１、ＫＷ２が表示されるだけではなく、ユーザが任意のキーワードを入力するダイアログ・パネルを表示するためのメニュー項目ＫＷｅを表示させることもできる。ただし、このようなダイアログ・パネルをキーワードＫＷ１等とともに同時に表示させるように構成してもよい。ユーザは、メニュー項目ＫＷｅを選択することによってダイアログ・パネルを表示させ、このダイアログ・パネルにおいて、入力部２４を使用して任意のキーワード（文字列）を入力することもできるのである。
【００２８】
ユーザは、このようなポップアップメニューリストＰｍにおいて、キーワードＫＷ１、ＫＷ２の中から任意のキーワードを選択したり、あるいはダイアログ・パネルから任意のキーワードを入力した状態で、キーワード検索を実行するための所定の操作を入力部２４にて行なうことにより、検索エンジン２０にキーワード検索処理を実行させることができる。例えば、図２に例示したポップアップメニューリストＰｍより、キーワードＫＷ２の「外部結合」を選択すると、キーワードＫＷ１の「表結合」およびキーワードＫＷ２の「外部結合」両方のキーワードを指定した検索が実行される。
【００２９】
図７は、上記のようにしてユーザから、キーワードＫＷ１、ＫＷ２の中から選択されたキーワード、またはダイアログ・パネルで入力されたキーワード（以下、これを「指定されたキーワード」と称する）の検索要求を受けた場合の検索エンジン２０における処理の流れを示すものである。この図７に示すように、イベント処理部２５がキーワード検索要求のイベントを受け付けると、このイベントを文書データ処理部２３に通知する（ステップＳ４０１）。
文書データ処理部２３は、データ格納部２２に格納されたキーワードインデックステーブル２２ａを参照し、指定されたキーワードを検索する。その結果、指定されたキーワードと合致するキーワードがキーワードインデックステーブル２２ａに見つかった場合、そのキーワードに関連付けられたインデックスを取得する（ステップＳ４０２）。
続いて、文書データ処理部２３は、取得したインデックスに基づき、データ格納部２２に格納された文書構造テーブル２２ｂを参照し、このインデックスを含むトピックＴｃを特定する。ここで、インデックス、すなわちこれに対応するキーワードを含むトピックＴｃは複数存在することが有り得る（ステップＳ４０３）。
そして、文書データ処理部２３は、特定された全てのトピックＴｃのそれぞれについて、文書構造ツリー図Ｌ中における位置情報を文書構造テーブル２２ｂから取得する（ステップＳ４０４）。なおここで、特定されたトピックＴｃの位置情報としては、特定されたトピックＴｃの位置だけでなく、このトピックＴｃが属する節Ｔｂ・章Ｔａの位置が含まれる。
【００３０】
このようにして取得された位置情報は、イベント処理部２５を介して表示制御部２６に転送される。表示制御部２６では、この位置情報に基づいて、図３に示したように、表示装置３０に表示されるウインドウＷに、キーワード検索結果である文書構造の一覧を表示する（ステップＳ４０５）。
ここで、キーワード検索結果として表示される文書構造の一覧の表示は、フレームＦ１に表示される文書構造ツリー図Ｌ中に、特定されたトピックＴｃの表題、およびこのトピックＴｃが属する節Ｔｂ・章Ｔａの表題の部分に、図中に示したようなマークＭ１、Ｍ２を表示させることによって行なわれる。ここで、マークＭ１は、キーワードＫＷ１を含む箇所を示している。またマークＭ２は、キーワードＫＷ２を含む箇所を示している。マークＭ１、Ｍ２の双方が表示されている個所は、キーワードＫＷ１とこれに関連するキーワードＫＷ２の双方を含む箇所を示している。
【００３１】
ユーザは、このようにして表示されたマークＭ１、Ｍ２を、文書構造ツリー図Ｌと合わせて考慮して見ることによって、自らが指定したキーワードが存在する複数のトピックＴｃのうち、自らが知りたい（キーワードに関する）記述が掲載されているトピックＴｃを推定することができる。マークＭ１、Ｍ２が付されたトピックＴｃあるいは章Ｔａ・節Ｔｂの表題を見ることによって、自らが調べたいと考えている記述がありそうなトピックＴｃを推定することができるのである。
【００３２】
これを、図２、図３、図８に挙げた具体例を用いて説明すれば、以下のようになる。
すなわち、図２に示したように、ユーザがデータ処理システムの構築に関する文書の閲覧中、「表の設計」という表題の節Ｔｂの「照会」なる表題を有したトピックＴｃの本文をフレームＦ２に表示させて参照していたところ、「表を外部結合することにより」という記述が目にとまったとする。ここで、ユーザは「表結合」という語句の概念はおおよそ知っていたが、「外部結合」という語句ＫＷｓ概念には不案内であったため、「外部結合」という語句ＫＷｓの定義や使用方法等に関し、情報を得たいと考えたとする。
すると、ユーザは、フレームＦ１に表示された文書の論理構造のツリー表示中、現在参照しているトピックＴｃの「照会」という表題の部分にマウスポインタを合わせ、所定の操作（例えばマウスの右クリック、メニューバーからの操作項目の選択等）を行なうと、ウインドウＷ上にキーワード検索のためのポップアップメニューリストＰｍが表示される。このポップアップメニューリストＰｍには、この「照会」なるトピックＴｃに関連して予め登録されたキーワードＫＷ１、ＫＷ２が表示され、ユーザはこれを確認することができる。ここでユーザが、「表結合」というキーワードＫＷ１と、これに関連する「主キー」、「外部結合」、「正規化」というキーワードＫＷ２を確認し、そのうえで、「外部結合」というキーワードＫＷ２でキーワード検索を行なってみることに決定し、キーワード検索を行なうための所定の操作を入力部２４にて行なったとする。すると、この場合、「表結合」というキーワードＫＷ１と「外部結合」というキーワードＫＷ２の両方が自動的に指定されたことになる。
【００３３】
入力部２４を用いたユーザの操作によって発生されたイベントに基づき、検索エンジン２０では、上記したようなキーワード検索が実行され、その結果、図３に示したような検索結果画面を表示装置３０に表示する。
図３に示したように、検索結果画面としては、ウインドウＷのフレームＦ１に表示がなされる文書構造ツリー図Ｌにおいて、指定されたキーワードを含むトピックＴｃ、およびこのトピックＴｃを含む節Ｔｂ・章Ｔａの表題の部分に対し、マークＭ１、Ｍ２が表示されるようになっている。このとき、マークＭ１、Ｍ２が付された章Ｔａ・節Ｔｂ、トピックＴｃのうち、文書の論理構造の最も先頭に近いものが、フレームＦ１に表示されるよう、自動的に表示のスクロールがなされる。
ここで、「表結合」というキーワードＫＷ１を含むトピックＴｃ、節Ｔｂ・章Ｔａに対してマークＭ１が付され、「外部結合」というキーワードＫＷ２を含むトピックＴｃ、節Ｔｂ・章Ｔａに対してマークＭ２が付される。マークＭ１、Ｍ２の双方が付されたトピックＴｃ、節Ｔｂ・章Ｔａは、キーワードＫＷ１、ＫＷ２の双方を含むのである。
【００３４】
ユーザは、このような検査結果画面を見て、目的の記述がなされているトピックＴｃを類推する。図３に示した例では、「ＳＱＬ」という章Ｔａの「ＪＯＩＮ」という節Ｔｂ、および「一般規則」というトピックＴｃにマークＭ１、Ｍ２の双方が付されており、ここに目指すキーワードである「外部結合」という語句ＫＷｓが含まれていることがわかる。ここでの例では、ユーザは「外部結合」の基本的概念や定義といったものを知りたい。「一般規則」というトピックＴｃは、ユーザがプログラム開発に携わる者であれば、ＳＱＬの構文解説であることは容易に推定できるため、「外部結合」に関してユーザが望む記述は「ＪＯＩＮ」という節Ｔｂにあるのではないか、と類推ができる。
【００３５】
そこでユーザが、「ＪＯＩＮ」という節Ｔｂの表題の部分にマウスカーソルを合わせた状態で所定の操作（例えば、マウスの左クリック等）を行なうと、図８に示すように、フレームＦ２に「ＪＯＩＮ」という節Ｔｂの本文が表示される。本文を順次チェックし、「外部結合」という語句ＫＷｓに関する説明が詳しく書かれていれば、ユーザ、自らが望む情報を得ることができる。また、ここでの情報が望むものと違った場合、あるいは不足している場合には、フレームＦ１での文書構造ツリー図Ｌを適宜スクロールさせ、上記と同様にしてマークＭ１やＭ２を目印として、望む情報が記述されていそうなトピックＴｃ、章Ｔａ・節Ｔｂを探せばよい。
【００３６】
上述したような構成によれば、文書の論理構造および章Ｔａ・節Ｔｂ・トピックＴｃ等の表題を示す文書構造ツリー図ＬにマークＭ１、Ｍ２を付すことによって、ユーザから指定されたキーワードが存在する箇所を示すようにした。これにより、ユーザは、本の目次を見ながら目的の箇所を探す場合と同様の思考パターンで、目的の記述が含まれていそうなトピックＴｃの位置を推定することができる。
また、ユーザが特定のトピックＴｃを開いた状態で、トピックＴｃの表題や本文にマウスポインタを合わせて所定の操作を行なうと、そのトピックＴｃに関連付けて予め登録されているキーワードＫＷ１、ＫＷ２がポップアップメニューリストＰｍに表示される。ユーザは、このポップアップメニューリストＰｍの中からキーワードを選択すれば良いので、操作を容易に、かつ入力間違い等を起こすことなく行なうことができる。加えて、このポップアップメニューリストＰｍからキーワード入力を行なうダイアログ・パネルを表示させることもでき、任意の文字列を入力できるようになっているので、この点においても便利である。さらに、予めキーワードＫＷ１とこれに関連するキーワードＫＷ２とを登録しておくようにしたので、検索を効率良く行なうことが可能となる。
ところで、検索エンジン２０は、文書解析モジュール２１を備え、文書データベース１０に格納された文書の論理構造の生成、および文書に含まれるキーワードの抽出を行なうようにした。これにより、文書データベース１０に格納する文書のデータ自体において予めこれらの作業を行なっておく必要がない。したがって、文書データベース１０に新たな文書のデータを追加するような場合にも、キーワードのマークアップ等を行なっておく以外に、検索を行なうための余分なデータを追加する必要が無く、文書のデータの作成自体を効率良く行なうことができる。
【００３７】
なお、上記実施の形態では、文書データベース１０はＨＤＤ等の各種記憶媒体によって構成するようにしたが、必ずしもこれに限るものではなく、たとえば文書データベース１０を外部のデータベースによって構成し、検索エンジン２０として機能するＰＣ等の端末との間でインターネットやＬＡＮ等のネットワークを介して接続される構成とすることも可能である。
さらには、検索エンジン２０の機能を外部のサーバに実装し、ユーザがネットワークを介して検索エンジン２０（外部のサーバ）にアクセスして、検索を実行させるような構成とすることも十分に考えられる。
【００３８】
また、上記実施の形態では、キーワードインデックステーブル２２ａ、文書構造テーブル２２ｂを備える構成としたが、これらはいかなる項目を含むものであっても良い。
また、表示装置３０に対する文書の論理構造の表示形式や、指定されたキーワードを含む位置を示すマークＭ１、Ｍ２の表示形式等も他のいかなる形式であっても良い。例えば、マークＭ１、Ｍ２に代えて、トピックＴｃや章Ｔａ・節Ｔｂの表題自体の表示色を変える等してハイライト表示を行なうこと等が考えられる。
【００３９】
図９（ａ）に示すものは、文書の論理構造の他の表示形式を採用する場合の例であって、例えばＨＴＭＬ（Hypertext Markup Language）等の言語によって記述されたシークエンスに基づいて順次開かれる、複数のトピック（単位文書）Ｔ１、Ｔ２、…の関連（論理構造）を示す文書構造図（シークエンス図、文書体系図、構造図）である。つまり、あるトピック（例えばＴ１）を開いた状態で、次のトピックを開く操作を行なったときに、ＨＴＭＬによるリンクによって開かれるトピック（例えばＴ２）をグラフィカルに表示したものである。
このような表示形式（以下、これをトピックシークエンス形式と称する）において、ユーザが特定のトピック（例えばＴ１）を指定した状態で、所定の操作を行なうと、図９（ｂ）に示すように、図２の場合と同様、ポップアップメニューリストＰｍが表示され、このトピック（例えばＴ１）に予め登録されたキーワードＫＷ１（およびＫＷ２；図示せず）や任意の文字列を入力するダイアログ・パネルを表示するためのメニュー項目ＫＷｅが表示される。
そして、このポップアップメニューリストＰｍにおいて、検索すべきキーワードを指定し、検索エンジン２０において検索を実行した結果として、図１０（ａ）に示すように、指定されたキーワードが含まれるトピックに対し、マーク（識別情報）Ｍ３が表示される。これによって、上記図３に示した場合と同様、トピックＴ１，Ｔ２，…の表題を参照しながら、目的の記述がなされている箇所の推定を容易に行なうことができるのである。またこのような表示形式の場合、目的の記述がなされていると推定できる箇所のトピック（例えばＴ３）に対し、ダブルクリック等の所定の操作を行なえば、トピックの本文を表示させることも可能である。
さらに、図１０（ｂ）に示すように、文書に複数のシークエンスが存在し、検索を開始したシークエンスとは異なる別のシークエンスにも指定されたキーワードを含むトピックが存在する場合、切り換えタブＳ１、Ｓ２等によって複数のシークエンスを切り換えることができるようにして、検索結果を表示することもできる。
【００４０】
また、上記実施の形態で示したような検索エンジン２０を機能させるプログラムは、以下のような記憶媒体、プログラム伝送装置の形態とすることもできる。すなわち、記憶媒体としては、コンピュータ装置に実行させる上記したようなプログラムを、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、メモリ、ハードディスク等の記憶媒体に、コンピュータ装置が読み取り可能に記憶させれば良い。
また、プログラム伝送装置としては、上記したようなプログラムを記憶させたＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、メモリ、ハードディスク等の記憶手段と、この記憶手段から当該プログラムを読み出し、当該プログラムを実行する装置側に、コネクタ、あるいはインターネットやＬＡＮ等のネットワークを介して当該プログラムを伝送する伝送手段とを備える構成とすれば良い。このようなプログラム伝送装置は、特に、上記したような検索機能を備えるＰＣ等に、上記したような処理を行なうプログラムをインストールする際に好適である。
これ以外にも、本発明の主旨を逸脱しない限り、上記実施の形態で挙げた構成を取捨選択したり、他の構成に適宜変更することが可能である。
【００４１】
【発明の効果】
以上説明したように、本発明によれば、キーワード検索を効率良く行ない、ユーザは、目指す記述の箇所を容易に見つけることが可能となる。
【図面の簡単な説明】
【図１】  本実施の形態における文書検索システムの構成を示す図である。
【図２】  検索を行なうに際し、ポップアップメニューリストを表示させた状態の表示画面の一例である。
【図３】  検索の結果、指定されたキーワードが含まれる箇所を示すマークが表示された状態の表示画面の一例である。
【図４】  キーワードインデックステーブル、文書構造テーブルを生成する際の流れを示すものである。
【図５】  文書の特定のトピックを表示させる際の流れを示すものである。
【図６】  キーワード確認を行なうときの流れを示すものである。
【図７】  検索要求を受けた場合の処理の流れを示すものである。
【図８】  検索の結果、指定されたキーワードが含まれる箇所を示すマークが表示された状態で、ユーザが特定のトピックを表示させたときの表示画面の一例である。
【図９】  文書の論理構造の他の表示形式を採用する場合の例を示す図である。
【図１０】  図９に示した表示形式において、検索の結果、指定されたキーワードが含まれる箇所を示すマークが表示された状態の表示画面の一例である。
【符号の説明】
１０…文書データベース（データベース）、２０…検索エンジン、２１…文書解析モジュール、２１ａ…キーワードインデックス作成部（検索用データ生成手段）、２１ｂ…文書構造解析部（体系図生成手段）、２２…データ格納部（検索用データ格納手段）、２２ａ…キーワードインデックステーブル（検索用データ）、２２ｂ…文書構造テーブル（検索用データ）、２３…文書データ処理部（検索実行手段）、２４…入力部（キーワード受付手段）、３０…表示装置（検索結果表示手段）、ＫＷ１、ＫＷ２…キーワード、ＫＷｅ…ダイアログ・パネルを表示するためのメニュー項目、Ｌ…文書構造ツリー図（文書体系図、構造図）、Ｍ１、Ｍ２、Ｍ３…マーク（識別情報）、Ｐｍ…ポップアップメニューリスト（キーワードのリスト）、Ｔａ…章（グループ）、Ｔｂ…節（グループ）、Ｔｃ、Ｔ１、Ｔ２、Ｔ３…トピック（単位文書）
【図１】
0003907161.tif 000002
【図２】
0003907161.tif 000003
【図３】
0003907161.tif 000004
【図４】
0003907161.tif 000005
【図５】
0003907161.tif 000006
【図６】
0003907161.tif 000007
【図７】
0003907161.tif 000008
【図８】
0003907161.tif 000009
【図９】
0003907161.tif 000010
【図１０】
0003907161.tif 000011