(57)【要約】【課題】複数の単位文書を含む構造化文書に対する文書検索精度を高める。【解決手段】複数の単位文書を含む構造化文書を検索する場合、予め、構造化文書を単位文書ごとに分割し、分割された分割文書に基づいてインデックスを作成する。分割文書は、単位文書の始点を示す始点パス式と、単位文書の終点を示す終点パス式と、を記憶したパス式表４６と、構造化文書を読み込んで出現するタグを記憶して各タグ出現位置での文書構造を特定する文書構造特定部３２と、特定された文書構造とパス式表に記憶されたパス式とが一致するかを判別する一致判別部３４と、始点パス式と一致するタグ出現位置から、終点パス式と一致するタグ出現位置まで、の文書を新たに別の文書として出力する処理を実行する処理実行部３６と、により作成される。【選択図】図２
2005190074.tif 000002
【特許請求の範囲】
【請求項１】
複数の単位文書を含み、文書構造を規定するタグと文書の本文であるテキストとからなる構造化文書を分割する文書分割装置であって、
単位文書の始点を示す文書構造をタグの配列で表した始点パス式と、単位文書の終点を示す文書構造をタグの配列で表した終点パス式と、を記憶したパス式表と、
構造化文書を読み込んで、出現するタグを記憶して、各タグ出現位置での文書構造を特定する文書構造特定手段と、
特定された文書構造とパス式表に記憶されたパス式の示す文書構造とが一致するかを判別する一致判別手段と、
始点パス式の示す文書構造と一致したタグ出現位置から、終点パス式の示す文書構造と一致したタグ出現位置まで、の文書を新たに別の文書として出力する処理を実行する処理実行手段と、
を有することを特徴とする文書分割装置。
【請求項２】
請求項１に記載の文書分割装置であって、
パス式表は、さらに、単位文書の属性を示す文書構造をタグの配列で表した属性パス式を記憶しており、
処理実行手段は、新たな文書を出力する際に、属性パス式の示す文書構造と一致したタグ出現位置に続くテキストを、新たな文書の属性として出力することを特徴とする文書分割装置。
【請求項３】
請求項１または２に記載の文書分割装置であって、
パス式表は、さらに、単位文書の出現位置を示す文書構造をタグの配列で表した出現位置パス式を記憶しており、
処理実行手段は、新たな文書を出力する場合に、出現位置パス式の示す文書構造と一致したタグ出現位置に続くテキストを、新たな文書の出現位置として出力することを特徴とする文書分割装置。
【請求項４】
コンピュータを、請求項１から３のいずれか１項に記載の文書分割装置として機能させるコンピュータプログラム。
【請求項５】
複数の単位文書を含み、文書構造を規定するタグと文書の本文であるテキストとからなる構造化文書を分割する文書分割方法であって、
パス式作成手段が、単位文書の始点を示す文書構造をタグの配列で表した始点パス式と、単位文書の終点を示す文書構造をタグの配列で表した終点パス式とを記憶したパス式表を作成する工程と、
文書構造特定手段が、構造化文書を読み込んで、出現するタグを記憶して、各タグ出現位置での文書構造を特定する文書構造特定工程と、
一致判別手段が、特定された文書構造とパス式表に記憶されたパス式とが一致するかを判別する一致判別工程と、
処理実行手段が、始点パス式と文書構造が一致したタグ出現位置から、終点パス式と文書構造が一致したタグ出現位置まで、の文書を新たに別の文書として出力する処理を実行する処理実行工程と、
を有することを特徴とする文書分割方法。
【請求項６】
請求項１から３のいずれか１項に記載の文書分割装置で出力された各文書に含まれる語とその文書の識別情報とを関連付けて記憶したインデックスを作成するインデックス作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内容の異なる複数の単位文書を含む構造化文書を分割する文書分割装置及びその方法、プログラム、インデックス作成装置に関する。
【背景技術】
【０００２】
収集型の文書検索装置では、予め、検索対象となる文書に含まれる語とその文書の識別情報とを関連付けて記録したインデックスを作成し、このインデックスに基づいて文書検索を行なう。インデックスに記録される文書情報としては、文書の識別情報となる文書ＩＤや文書の所在を示すアドレスなどがある。この文書ＩＤやアドレスは、通常、一つの文書データにつき一つ規定されている。
【０００３】
【特許文献１】特開２０００−２５９６６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、文書の中には、一つの文書データの中に複数の話題（トピック）を単位文書として記録したものがある。例えば、Ｗｅｂで提供される電子新聞記事やプログラム言語の電子マニュアルなどである。このような文書の場合、異なる単位文書に登場する語であっても、同一の文書ＩＤ、アドレスなどと関連付けられてインデックスに記録される。このような複数の単位文書を含む文書について、複数の語を検索語として指定するＡＮＤ検索を行なうと、ユーザーの意図に反する検索結果となることがある。
【０００５】
例えば、電子新聞記事では、「Ａ社の株価」についての新聞記事（単位文書）と「Ｂ社の新製品」についての新聞記事（単位文書）とが同一文書データに記録される場合がある。その場合、インデックスには、「Ａ社」、「株価」、「Ｂ社」、「新製品」などの語は、同じ文書ＩＤと関連付けられて記録される。そして、「Ａ社の新製品」についての新聞記事を検索したいユーザーが、「Ａ社」と「新製品」とを検索語としてＡＮＤ検索をかけると、「Ａ社」と「新製品」とが同じ文書ＩＤ（アドレス）に関連付けられて記録されているため、この文書を検索結果として出力することになる。しかしながら、この文書は、「Ａ社の株価」と「Ｂ社の新製品」についての文書であり、ユーザーの意図する文書ではない。
【０００６】
このように、一つの文書データが複数の話題についての単位文書を含んでいる場合、検索精度が低下するという問題があった。
【０００７】
また、文書データに記録されている文書量が多い場合、検索した語が文書の中のどこに出現するかが分かりづらい。そのため、ユーザーは、検索結果として出力された文書に対して、改めて、検索語の位置を検索する必要があり、煩雑であった。
【０００８】
ところで、このような文書の多くは、ＨＴＭＬなどの構造化文書として記述されることが多い。構造化文書は、文書本文であるテキストに、文書構造を示すタグなどが組み込まれた文書である。このタグを解析することにより、文書の構造を解析することが可能となる。
【０００９】
このような構造化文書を取り扱う装置として、特許文献１には、構造化文書を構成する複数の部分構造（例えば、章や段落など）毎に付与された属性名と属性値（部分構造の本文）とを抽出する属性抽出装置が開示されている。これによれば、構造化文書の多用な表現に対して、これら多用な表現の違いを意識する必要がなく、簡易な指定で必要な属性名および属性値を抽出することができる。
【００１０】
しかしながら、これは、上述したような複数の単位文書を含む構造化文書に対する検索精度の向上については考慮されていない。
【００１１】
そこで、本発明では、複数の単位文書を含む構造化文書に対する検索精度を高めることができる文書分割装置およびその方法、プログラム、インデックス作成装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の文書分割装置は、複数の単位文書を含み、文書構造を規定するタグと文書の本文であるテキストとからなる構造化文書を分割する文書分割装置であって、単位文書の始点を示す文書構造をタグの配列で表した始点パス式と、単位文書の終点を示す文書構造をタグの配列で表した終点パス式と、を記憶したパス式表と、構造化文書を読み込んで、出現するタグを記憶して、各タグ出現位置での文書構造を特定する文書構造特定手段と、特定された文書構造とパス式表に記憶されたパス式とが一致するかを判別する一致判別手段と、始点パス式と文書構造が一致したタグ出現位置から、終点パス式と文書構造が一致したタグ出現位置まで、の文書を新たに別の文書として出力する処理を実行する処理実行手段と、を有することを特徴とする。
【００１３】
好適な態様では、パス式表は、さらに、単位文書の属性を示す文書構造をタグの配列で示した属性パス式を記憶しており、処理実行手段は、新たな文書を出力する際に、属性パス式と文書構造が一致したタグ出現位置に続くテキストを、新たな文書の属性として出力する。別の好適な態様では、パス式表は、さらに、単位文書の出現位置を示す文書構造をタグの配列で示した出現位置パス式を記憶しており、処理実行手段は、新たな文書を出力する場合に、出現位置パス式と文書構造が一致したタグ出現位置に続くテキストを、新たな文書の出現位置として出力することを特徴とする。
【００１４】
ここで構造化文書としては、例えば、ＨＴＭＬ文書やＸＭＬ文書のように、タグによりその文書の文書構造が規定されている文書をいう。また、単位文書とは、一つの話題（トピック）について記述された文書である。例えば、電子新聞記事における一つの事件記事の文書や電子マニュアルにおける一つの事柄に関する文書などが挙げられる。
【発明の効果】
【００１５】
本発明によれば、構造化文書を単位文書ごとに分割することができる。したがって、単位文書ごとに分割された文書に基づいてインデックスを作成すれば、より高い精度で文書検索を行なうことができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態であるインデックス作成装置について図を参照して説明する。
【００１７】
図１は、本発明の実施の形態であるインデックス作成装置１０のハードウェア構成を示すブロック図である。インデックス作成装置１０は、各部を制御する機能を有する中央処理装置（以下、「ＣＰＵ」という）１２、ＲＯＭやＲＡＭ等で構成されたメモリ１４、検索対象の構造化文書及びその文書情報等を記憶するハードディスク１６、キーボードやマウス等で検索条件や種々の指示を与える入力部２０、ＣＲＴまたは液晶ディスプレイ等で構成され検索結果等を表示する表示部２２、フレキシブルディスクに対するデータの読み書きを行なうフレキシブルディスクドライブ（ＦＤＤ）２４、ＣＤ−ＲＯＭからのデータの読み出しを行なうＣＤ−ＲＯＭドライブ２６、他の通信装置と信号及びデータを遣り取りするための通信部１８等をそれぞれバスによって接続して構成されている。
【００１８】
図２に、インデックス作成装置１０の機能構成を示すブロック図を示す。インデックス作成装置１０は、文書読込部３０、文書構造特定部３２、一致判定部３４、処理実行部３６、インデックス作成部３８を有し、それぞれＣＰＵ１２により制御される。また、検索対象となる構造化文書を格納する文書格納部４０、一時記憶部４２、分割文書格納部４４などがハードディスク１６または通信部１８を介して通信される他のコンピュータのハードディスクに設けられている。
【００１９】
文書格納部４０には、検索対象となる多数の構造化文書が格納されている。ここで、構造化文書とは、例えば、ＨＴＭＬ文書やＸＭＬ文書のようにタグでその文書構造が表された文書である。
【００２０】
格納されている構造化文書は、文書読込部３０により、適宜、読み込まれる。文書読込部３０は、構造化文書を読み込むもので、その読み込んだ文を文書構造特定部３２に出力する。文書構造特定部３２は、文書読込部３０から入力された文中のタグの有無を判定し、タグが存在する場合は、さらに、そのタグの表す文書構造を特定する。特定された文書構造はパス式として一致判定部３４に出力される。
【００２１】
ここで、パス式とは、文書構造をパスの配列として表したもので、その部分の文書構造を規定するタグを順番に並べたものである。例えば、図３に示すＨＴＭＬ文書の場合、２行目の＜ＢＯＤＹ＞での文書構造をパス式で表すと「ＨＴＭＬ／ＢＯＤＹ」となる。また、４行目の＜Ｂ＞での文書構造は、「ＨＴＭＬ／ＢＯＤＹ／Ｂ」となる。これは、＜Ｂ＞の部分における文書構造が、＜ＨＴＭＬ＞、＜ＢＯＤＹ＞、＜Ｂ＞の３つのタグで規定されていることを表している。
【００２２】
一致判定部３４は、文書構造特定部３２から入力されたパス式と後述するパス式表４６に記録されたパス式とが一致するかを判定する。判定結果は、処理実行部３６に出力される。処理実行部３６では、判定結果およびパス式表４６に基づいて種々の処理を実行する。実行される処理の内容は、パス式表４６に記録されており、文字列の一時記憶や一時記憶した文字列を分割文書として出力する、などの処理がある。文字列の一時記憶は一時記憶部４２に、分割文書の出力は分割文書格納部４４になされる。
【００２３】
インデックス作成部３８は、分割文書格納部４４を参照し、各分割文書に含まれる語とその文書の識別情報とを関連付けたインデックスを作成する。このインデックス作成部３８での処理は、従来からあるインデックス作成の技術を用いることができる。
【００２４】
次に、このインデックス作成装置１０で、重要となる文書分割の処理について説明する。図４に分割対象となる構造化文書（ＨＴＭＬ文書）の一例を、図５にその構造化文書の表示例を示す。なお、図４において、説明のために行数を左側に示しているが、実際の構造化文書には、このような行数はない。
【００２５】
ここでは、分割対象の構造化文書としてプログラム言語の電子マニュアルを一例としてあげる。電子マニュアルは、図４に示すようなＨＴＭＬ文書で記述されており、文書格納部４０に格納されている。なお、図４は、Ｓｔｒｅａｍクラスに属するｒｅａｄ（）メソッド、および、ｃｌｏｓｅ（）メソッドを説明する文書を示しているが、電子マニュアルにはこの他、様々なクラス、メソッドなどを説明する構造化文書を多数有している。また、多数の構造化文書は、全て、ほぼ同様の文書構造を呈している。
【００２６】
図４で示すＨＴＭＬ文書は、Ｗｅｂブラウザで表示した場合、図５に示すような表示となる。図５から明らかなように、この文書は、表題（単位文書Ｔ１）、Ｓｔｒｅａｍクラスの説明（単位文書Ｔ２）、ｒｅａｄ（）メソッドの説明（単位文書Ｔ３）、ｃｌｏｓｅ（）メソッドの説明（単位文書Ｔ４），の４つの単位文書（話題）が記録されている。また、各単位文書は、区切り線５０で区切られている。
【００２７】
ここで、例えば、単位文書Ｔ３において語「Ａ」が、単位文書Ｔ４において語「Ｂ」が出現する場合、すなわち、ｒｅａｄ（）メソッドは語「Ａ」に、ｃｌｏｓｅ（）メソッドは語「Ｂ」にのみ関連する場合、従来のインデックスの作成方法では次のような問題がある。例えば、ユーザーが語「Ａ」、「Ｂ」両方に関連するメソッドを検索しようとして、「Ａ」と「Ｂ」とでＡＮＤ検索を行なうと、この図４の文書も検索結果として出力される。これは、図４の文書は、語「Ａ」、語「Ｂ」のいずれも含むからである。しかし、実際には、ｒｅａｄ（）メソッドは語「Ｂ」とは関連なく、ｃｌｏｓｅ（）メソッドは語「Ａ」と関連しない。したがって、この図４の文書は、ユーザーの意図と異なる文書である。
【００２８】
また、図４では、各メソッドの説明文は省略しているため、全体の文書量が少なく、Ｗｅｂブラウザで表示しても全文書を一度に見渡すことができる。しかしながら、実際の電子マニュアルは、説明文がある程度長く、文書量の多いものとなっている。したがって、例えば、語「Ｂ」を検索して、この文書が検索結果として出力されても、その語「Ｂ」がどこに出現するかを即座に発見することができない。そのため、ユーザーは、検索結果として出力された文書に対して、更に、語の出現位置を検索するなどの処理が必要となり、煩雑であった。
【００２９】
そこで、本実施の形態では、以下に説明するように文書を単位文書毎に分割する処理を行なう。図６に文書分割の処理のフローチャートを示す。
【００３０】
文書分割を行なう場合は、まず、文書読込部３０により、格納されている構造化文書を取り出し、文字列の読み込みを行なう（Ｓ１０）。次に、文書構造特定部３２により、読み込んだ文字列にタグが含まれているかが判断される（Ｓ１２）。タグの有無は、「＜」や「＞」の有無で判断することができる。
【００３１】
タグがあった場合は、そのタグをメモリに記憶しておく（Ｓ１４）。すでにメモリにタグが記憶されている場合は、それに追加して記憶するスタック構造をとる。そして、読み込んだタグの出現位置での文書構造を、メモリ内に記憶されているタグのスタックから特定する（Ｓ１６）。特定された文書構造は、タグの配列であるパス式として表される。パス式は、その部分の文書構造を規定するタグを順に羅列したものである。
【００３２】
例えば、読み込んだ文が１行目であれば、メモリ内には、タグ「ＨＴＭＬ」のみがスタックされている。したがって、１行目における文書構造は、パス式で表せば「ＨＴＭＬ」となる。一方、読み込んだ文が２行目であれば、メモリ内には、タグ「ＨＴＭＬ」とタグ「ＢＯＤＹ」とがスタックされている。したがって、２行目における文書構造は、「ＨＴＭＬ／ＢＯＤＹ」というパス式で表すことができる。
【００３３】
文書構造をパス式として特定すれば、次に、パス式表に記録されたパス式とこの特定されたパス式とが一致するかを判別する（Ｓ１８）。ここでパス式表とは、図７、図８に示すように、所定の文書構造を示すパス式５２と、そのパス式で示される文書構造での処理５４とを関連付けて記録したものである。このパス式表には、少なくとも、各単位文書の始点を示す文書構造を示すパス式Ｐ１，Ｐ２と各単位文書の終点を示す文書構造のパス式Ｐ３とが記録されており、それぞれに対応する処理が関連付けられて記録されている。
【００３４】
例えば、図４に示す文書の場合、単位文書Ｔ１は、２行目、すなわち「ＨＴＭＬ／ＢＯＤＹ」で示される文書構造が始点となる。また、単位文書Ｔ２は、６行目、すなわち、「ＨＴＭＬ／ＢＯＤＹ／ＤＬ／ＤＴ／Ｂ」で示される文書構造が始点となる。パス式表には、この各単位文書の始点を示すパス式Ｐ１，Ｐ２に、「以降の文字列を一時記憶」という処理が関連付けられている。
【００３５】
また、各単位文書は、区切り線を示す「ＨＴＭＬ／ＢＯＤＹ／ＨＲ」が終点とっている（図４の５行目、８行目など）。パス式表には、この各単位文書の終点を示すパス式Ｐ３「ＨＴＭＬ／ＢＯＤＹ／ＨＲ」に、「一時記憶した文字列を別文書データとして出力」という処理が関連付けられている。
【００３６】
一致判定部３４は、このパス式表に記録されたパス式と文書構造特定部３２で特定されたパス式とが一致するかを判別し（Ｓ１８）、判別結果を処理実行部３６に出力する。
【００３７】
処理実行部３６は、パス式が一致する場合は、パス式表に基づいて、そのパス式に関連付けられた処理を実行する（Ｓ２０）。例えば、図４の文書の２行目を読み込んだ場合、その文書構造は「ＨＴＭＬ／ＢＯＤＹ」というパス式で表される。このパス式は、パス式表に記録されたパス式Ｐ２と一致する。この場合は、パス式Ｐ２に関連付けられた処理、「以降の文字列を一時記憶」を実行する。すなわち、以降、読み込まれる文字列を一時記憶部４２に記憶する。図４の例でいえば、３行目以降で読み込まれる文字列、「＜Ａ  ＨＲＥＦ＝“＃ｒｅａｄ（）”＞ｒｅａｄ（）＜／Ａ＞・・・・」を一時記憶部４２に一時的に記憶する。なお、ここでは、読み込んだ文字列全て、すなわちタグを含んだ文字列全てを一時記憶しているが、タグを除いたテキスト部分（”ｒｅａｄ（）”、”ｃｌｏｓｅ（）”）だけを一時記憶してもよい。
【００３８】
次に、読み込んだ文が構造化文書の終わりであるかを判断する（Ｓ２２）。終わりでなく、まだ、文が続く場合は、文字列の読み込みを続ける。そして、タグの出現の有無やパス式との一致判断、処理実行を行なう。そして、特定されたパス式が、パス式表に記録されたパス式と一致する場合、パス式表に基づいて処理を実行する。
【００３９】
例えば、５行目を読み込んだ場合、５行目における文書構造は「ＨＴＭＬ／ＢＯＤＹ／ＨＲ」というパス式で表される。これは、パス式表に記録されたパス式Ｐ３に一致する。パス式Ｐ３は、「一時記録された文字列を別文書データとして出力」という処理に関連付けられているため、処理実行部３６は、一時記憶部４２に記憶されている文字列を別の新たな文書データである分割文書として分割文書格納部４４に出力する。このとき、出力される分割文書には、その元となる文書データ（図４の文書データ）の文書ＩＤやアドレスなども記録しておく。
【００４０】
このような処理を構造化文書の全文に対して行い、文書の最後になれば、文書分割処理は終了となる（Ｓ２２）。
【００４１】
上述したように、パス式表には、各単位文書の始点を示すパス式Ｐ１，Ｐ２には「以降の文字列を一時記憶」という処理が、各単位文書の終点を示すパス式Ｐ３には、「一時記憶した文字列を別文書データとして出力」する処理が関連付けられている。そして、そのパス式表に基づいて処理を行なうことにより、構造化文書を各単位文書毎の別の文書データ（分割文書）として出力することができる。
【００４２】
構造化文書を各単位文書毎の分割文書として出力できると次のような利点がある。例えば、インデックスの作成を、この分割文書に基づいて行なうことにより、ＡＮＤ検索における誤検索を低減できる。すなわち、各分割文書に含まれる語とその文書情報（文書ＩＤなど）およびその分割文書の元となった構造化文書の文書情報である元文書情報（元文書ＩＤ、元文書アドレスなど）を関連付けたインデックスを作成する。このインデックスは、同じ構造化文書に含まれる語であっても、異なる単位文書に含まれる語は異なる文書ＩＤと関連付けられている。したがって、このインデックスに基づいて検索を行なえば、ＡＮＤ検索における誤検索を防止できる。なお、この場合、実際の検索結果としては、元文書（構造化文書）を検索結果として出力する。
【００４３】
また、本実施の形態で用いるパス式表には、単位文書の始点、終点を示すパス式Ｐ１，Ｐ２，Ｐ３の他に、属性を示すパス式Ｐ６（図８参照）、単位文書の出現位置を示すパス式Ｐ７（図８参照）、文書構成の変更を示すパス式Ｐ４（図７参照）などが記録されている。これらについて説明する。
【００４４】
図４に示す構造化文書は、９行目以降で、その文書構成が大きく変わる。すなわち、８行目までは、クラスの説明を行なうための文書構成であったが、９行目からはメソッドの説明のための文書構成となっている。
【００４５】
このような場合、８行目以前と９行目以降とで同じパス式表を用いずに、新たに別のパス式表を用いたほうがよい。そこで、パス式表に、このような文書構成が大きく変更する部分の文書構造を示すパス式Ｐ４を記録し、このパス式Ｐ４に「パス式表の変更」という処理を関連付けておく。そして、９行目以降の文書構成に適した第２パス式表（図８）を用意し、９行目以降では、この第２パス式表に基づいて処理を行なうようにする。
【００４６】
また、各単位文書には、その単位文書の属性となる語やその単位文書の出現位置を示す語が含まれている場合がある。そのような語の出現を示すパス式をパス式表に記録しておき、属性や出現位置を一時記憶できるようにしてもよい。
【００４７】
例えば、図４に示す構造化文書では、１５行目の「ｒｅａｄ（）」という語は単位文書Ｔ３の出現位置を示す語である。すなわち、周知のように＜Ａ  ＮＡＭＥ＝”（キーワード）”／＞というタグは、その構造化文書のその部分へのリンクを設定するためのキーワードを設定するためのタグである。そして、＜Ａ  ＨＥＲＦ＝”（本来の文書のＵＲＬ）＃キーワード”＞と記述してリンクを設定すると、そのリンクによってその文書のそのキーワード出現位置に移動することができる。したがって、例えば、図４の構造化文書のＵＲＬが”ｓａｍｐｌｅ．ｈｔｍｌ”であった場合、＜Ａ  ＨＥＲＦ＝”ｓａｍｐｌｅ．ｈｔｍｌ＃ｒｅａｄ（）”＞としてリンクを設定すれば、この構造化文書の１５行目、すなわち、単位文書Ｔ３の先頭位置に移動することができる。
【００４８】
そこで、第２パス式表に、この単位文書の出現位置を示すパス式Ｐ７を記録しておき、このパス式Ｐ７に続く文字列を単位文書の出現位置として一時記憶する処理を関連付けておく。そうすることで、ｒｅａｄ（）が単位文書Ｔ３の出現位置として一時記憶される。そして、単位文書の終点を示すパス式Ｐ９に相当する文書構造部分を読み込んだ際には、この出現位置を示す語も含む、一時記憶された内容が分割文書として出力される。
【００４９】
インデックスを作成する際には、各分割文書に含まれる語に、この出現位置を示す語も関連付けて記憶する。そして、検索実行の際に、該当する検索語に出現位置が関連付けられている場合、検索結果の表示はその出現位置へ移動した状態で表示する。これにより、文書量の多い文書の検索を行った場合でも、検索結果として、その検索語周辺を表示することができる。そのため、ユーザーは、検索結果に対して、改めて、検索語の出現位置検索をする必要が無く、簡易に所望の情報を得ることができる。
【００５０】
また、各単位文書には、その単位文書の属性を示す語が含まれている場合がある。図４に示す構造化文書では、単位文書Ｔ３の中には、”ｒｅａｄ．ｈｔｍ”へのリンクが設定されている（１９行目）。このリンク先を単位文書Ｔ３の属性として設定することができる。この場合は、やはり、第２パス式表に、この属性を示すパス式Ｐ６と「文字列を属性として一時記憶」という処理とを関連付けて記録しておく。そうすることで、”ｒｅａｄ．ｈｔｍ”が単位文書Ｔ３の属性として抽出できる。そして、インデックスには、この属性も関連付けて記憶しておく。
【００５１】
これにより、検索の際には、検索語だけでなく、属性（本実施の形態では、どこにリンクされているか）でも検索することができる。これにより、より多用な検索を行なうことができる。なお、本実施の形態では、リンク先を属性として抽出しているが、当然、他の内容を属性として抽出してもよい。
【００５２】
以上、説明したように、本実施の形態では、単位文書毎に構造化文書を分割することができる。そして、その分割された分割文書に基づいてインデックスを作成することにより、複数の単位文書を含んだ構造化文書に対応した検索結果を提供することができる。すなわち、より精度の高い文書検索を行なうことができる。また、分割文書に、各単位文書の出現位置や属性を記憶し、インデックスにそれを反映させることにより、より操作性のよい文書検索を行なうことができる。
【００５３】
なお、本実施の形態では、文書分割の対象として、プログラム言語の電子マニュアルを例として説明したが、複数の単位文書を含む構造化文書であれば、他の構造化文書を対象としてもよい。また、パス式表も分割対象となる文書の構成に応じて適宜変更してもよい。例えば、本実施の形態では、区切り線（＜ＨＲ／＞）で単位文書が区切られる構造化文書を分割対象としているが、他の終点を示すタグ、例えば、改行（＜ＢＲ＞）などを終点パス式として設定するなどしてもよい。
【図面の簡単な説明】
【００５４】
【図１】本発明の実施の形態であるインデックス作成装置のハードウェア構成を示すブロック図である。
【図２】インデックス作成装置の機能構成を示すブロック図である。
【図３】構造化文書の一例を示す図である。
【図４】分割対象の構造化文書の一例を示す図である。
【図５】図４の構造化文書の表示を示す図である。
【図６】文書分割の処理を示すフローチャートである。
【図７】パス式表の一例を示す図である。
【図８】パス式表の他の一例を示す図である。
【符号の説明】
【００５５】
１０  インデックス作成装置、３０  文書読込部、３２  文書構造特定部、３４  一致判定部、３６  処理実行部、３８  インデックス作成部、４０  文書格納部、４２  一時記憶部、４４  分割文書格納部、４６  パス式表。
【図１】
2005190074.tif 000003
【図２】
2005190074.tif 000004
【図３】
2005190074.tif 000005
【図４】
2005190074.tif 000006
【図５】
2005190074.tif 000007
【図６】
2005190074.tif 000008
【図７】
2005190074.tif 000009
【図８】
2005190074.tif 000010