(57)【要約】【課題】  電子文書から見出しと類似部分からなる連続パターンを自動的に抽出する手法の提供。また、文書構造を用いて、構造を考慮した検索要求、検索結果分類、文書要約を行う検索文書検索手法の提供。さらに、画像などの文書中の単語で表されないオブジェクトに対する、文書構造をもとにした文書中の単語の関連付け手法の提供。および、それらのオブジェクトを単語による検索手法の提供。【解決手段】  電子文書の共通の形式へ変換し、見出しと類似部分が連続して出現する部分を発見し項目間の文書要素対応付けを行う文書構造抽出手法。また、電子文書と文書構造を記憶し、検索結果をその要約とともに返す文書検索手法。さらに、文書構造を用いて非オブジェクトに文書中の単語を関連付ける手法。および電子文書とそれに含まれる非文章オブジェクトとそれに関連付けられた単語の集合を記憶し、検索結果をその要約とともに返す非文章オブジェクト検索手法。【選択図】  図２２
2007286861.tif 000002
【特許請求の範囲】
【請求項１】
電子文書の文書データの入力を受け、該電子文書から文字列または非文章オブジェクトを含む複数の要素のレイアウトの解析により、前記複数の要素のうち見出し部分および類似部分の繰り返し領域を検出して同形式の要素が並ぶ繰り返しパターンを抽出する第１のステップと、
該繰り返しパターン内の見出しと内容部分を上下関係にある前記要素として関係付け、また繰り返しパターンに含まれる類似の要素同士を対応付けそれらを並列関係にある前記要素として関係付け、該要素間の関係の集合を前記電子文書の文書構造として格納する第２のステップとを有する文書構造抽出方法。
【請求項２】
請求項１記載の文章構造抽出方法であって、前記第１のステップにおいて、入力された文書データに含まれる各要素を行要素またはテーブル要素のいずれかに分類する共通データ構造への変換を含み、該変換された共通データ構造に基づいて前記見出し部分及び類似部分の繰り返し領域の検出を行うことを特徴とする文書構造抽出方法。
【請求項３】
請求項１記載の文書構造抽出方法であって、前記見出し部分の検出は、文書要素の周辺との差異、周辺に存在する空白、周辺に存在する繰り返しパターン、要素の複雑度合いなどから算出されるスコアと、その要素が繰り返しパターンの中に含まれそのパターンの項目の見出しとして出現しているかどうかの判定により行うことを特徴とする文書構造抽出方法。
【請求項４】
請求項１記載の文書構造抽出方法であって、前記類似部分の検出は、葉ノード同士の類似度を文字の色や大きさ、背景色などの属性値の違いにより計算し、全体の類似度を前述の類似度を用いて計算される木構造距離によって計算することにより行うことを特徴とする文書構造抽出方法。
【請求項５】
請求項１記載の文書構造抽出方法であって、前記文書データに含まれる非文章オブジェクトについて、該文書データ中から該非文章オブジェクトに関連する単語の集合、および該単語ごとの該非文章オブジェクトとの関連の度合いを表す値も生成し、該非文章オブジェクトと対応付けて格納する第３のステップを有することを特徴とする文書構造抽出方法。
【請求項６】
電子文書と、該電子文書中の文字列または非文章オブジェクトの要素を見出し部分及び類似部分を基に抽出した該電子文書の文書構造とを対応付けて保存する文書データベースを有する文書検索システムにおける文書検索方法であって、
複数の単語を含む検索クエリーの入力を受け、該複数の単語に適合する電子文書を検索して出力する検索処理ステップと、
前記検索クエリーに含まれるそれぞれの単語の前記検索結果の電子文書中における出現部分の前記文書構造中の位置を参照し、前記複数の単語のそれぞれの文書構造中の位置の関係に基づいて前記検索結果の電子文書の要約文書を作成する要約文書生成ステップとを含むことを特徴とする文書検索方法。
【請求項７】
請求項６記載の文書検索方法であって、前記非文章オブジェクトは単語と対応付けて格納されており、前記検索クエリーに含まれる単語がいずれかの非文章オブジェクトに対応付けて格納された単語と適合する場合には、該適合する単語に対応付けられた非文章オブジェクトを用いて前記要約文書を作成することを特徴とする文書検索方法。
【請求項８】
請求項６記載の文書検索方法であって、前記検索クエリーとして複数単語が論理演算子によって結合された論理検索式を受け取り、該論理検索式に対する各電子文書の文書構造の適合度を計算し、該適合度順に文書を並べたものを検索結果とすることを特徴とする文書検索方法。
【請求項９】
請求項６記載の文書検索方法であって、前記検索クエリーとして複数の論理検索式が上下または並列の関係によって結合された構造検索クエリーを受け取り、該構造検索クエリーに対する各電子文書の文書構造の適合度を計算し、該適合度順に文書を並べたものを検索結果とすることを特徴とする文書検索方法。
【請求項１０】
請求項６記載の文書検索方法であって、前記検索クエリーとして論理検索式を受け取り、該検索クエリーに含まれる複数の単語を含む電子文書を抽出し、該抽出された電子文書の文書構造中において前記論理検索式に含まれる各単語が出現する位置関係を取得し、該位置関係によって文書を分類したものを検索結果とすることを特徴とする文書検索方法。
【請求項１１】
複数の電子文書の文書データを格納する記憶装置と演算部とを有する文書構造抽出サーバであって、
前記演算部は、
前記記憶装置から電子文書の文書データを読み出し、該電子文書から文字列または非文章オブジェクトを含む複数の要素のレイアウトの解析により、前記複数の要素のうち見出し部分および類似部分の繰り返し領域を検出して同形式の要素が並ぶ繰り返しパターンを抽出し、
該繰り返しパターン内の見出しと内容部分を上下関係にある前記要素として関係付け、また繰り返しパターンに含まれる類似の要素同士を対応付けそれらを並列関係にある前記要素として関係付け、該要素間の関係の集合を前記電子文書の文書構造として前記記憶装置に格納することを特徴とする文書構造抽出サーバ。
【請求項１２】
請求項１１記載の文章構造抽出サーバであって、前記演算部は、前記入力された文書データに含まれる各要素を行要素またはテーブル要素のいずれかに分類する共通データ構造への変換を含み、該変換された共通データ構造に基づいて前記見出し部分及び類似部分の繰り返し領域の検出を行うことを特徴とする文書構造抽出サーバ。
【請求項１３】
請求項１１記載の文書構造抽出サーバであって、前記演算部は、前記見出し部分の検出は、文書要素の周辺との差異、周辺に存在する空白、周辺に存在する繰り返しパターン、要素の複雑度合いなどから算出されるスコアと、その要素が繰り返しパターンの中に含まれそのパターンの項目の見出しとして出現しているかどうかの判定により行うことを特徴とする文書構造抽出サーバ。
【請求項１４】
請求項１１記載の文書構造抽出サーバであって、前記演算部は、前記類似部分の検出は、葉ノード同士の類似度を文字の色や大きさ、背景色などの属性値の違いにより計算し、全体の類似度を前述の類似度を用いて計算される木構造距離によって計算することにより行うことを特徴とする文書構造抽出サーバ。
【請求項１５】
請求項１１記載の文書構造抽出サーバであって、前記演算部は、前記文書データに含まれる非文章オブジェクトについて、該文書データ中から該非文章オブジェクトに関連する単語の集合、および該単語ごとの該非文章オブジェクトとの関連の度合いを表す値も生成し、該非文章オブジェクトと対応付けて格納する第３のステップを有することを特徴とする文書構造抽出サーバ。
【請求項１６】
電子文書と、該電子文書中の文字列または非文章オブジェクトの要素を見出し部分及び類似部分を基に抽出した該電子文書の文書構造とを対応付けて保存する文書データベースを格納する記憶装置と、演算部とを有する文書検索サーバであって、
前記演算部は、複数の単語を含む検索クエリーの入力を受け、前記記憶装置から該複数の単語に適合する電子文書を検索し、
前記検索クエリーに含まれるそれぞれの単語の前記検索結果の電子文書中における出現部分の前記文書構造中の位置を参照し、前記複数の単語のそれぞれの文書構造中の位置の関係に基づいて前記検索結果の電子文書の要約文書を作成し、
前記検索された電子文書とその要約文書とを出力することを特徴とする文書検索サーバ。
【請求項１７】
請求項１６記載の文書検索サーバであって、前記非文章オブジェクトは単語と対応付けて前記記憶装置に格納されており、前記演算部は、前記検索クエリーに含まれる単語がいずれかの非文章オブジェクトに対応付けて格納された単語と適合する場合には、該適合する単語に対応付けられた非文章オブジェクトを用いて前記要約文書を作成することを特徴とする文書検索サーバ。
【請求項１８】
請求項１６記載の文書検索サーバであって、前記演算部は、前記検索クエリーとして複数単語が論理演算子によって結合された論理検索式を受け取り、該論理検索式に対する各電子文書の文書構造の適合度を計算し、該適合度順に文書を並べたものを検索結果とすることを特徴とする文書検索サーバ。
【請求項１９】
請求項１６記載の文書検索サーバであって、前記演算部は、前記検索クエリーとして複数の論理検索式が上下または並列の関係によって結合された構造検索クエリーを受け取り、該構造検索クエリーに対する各電子文書の文書構造の適合度を計算し、該適合度順に文書を並べたものを検索結果とすることを特徴とする文書検索サーバ。
【請求項２０】
請求項１６記載の文書検索サーバであって、前記演算部は、前記検索クエリーとして論理検索式を受け取り、該検索クエリーに含まれる複数の単語を含む電子文書を抽出し、該抽出された電子文書の文書構造中において前記論理検索式に含まれる各単語が出現する位置関係を取得し、該位置関係によって文書を分類したものを検索結果とすることを特徴とする文書検索サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子文書から表、リスト、章節構造などの文書構造を抽出する方法及び抽出された文書構造を利用した文書検索システムに関するものである。  
【背景技術】
【０００２】
最近の情報処理に関する技術進歩に伴い、コンピュータによって大量の情報が蓄積されるようになった。その大量の情報の中から目的の情報を効率的に探し出すために、様々な技術開発がなされてきた。その中で、電子文書から、タグなどによって明示的に表現されていないリスト、章節構造、表などの文書構造を抽出する技術が注目された。HTML文書情報抽出の分野では、類似性の高い部分が連続して並んでいる繰り返し構造を発見することによってこれらの文書構造を抽出する手法が提案されてきた。
【０００３】
「非特許文献１」「非特許文献２」「非特許文献３」は、ウェブラッパーと呼ばれる、HTML文書と抽出したい部分の組を学習例として与えると、機械学習の手法を用いて文書構造抽出プログラムを自動生成する手法を提案した。しかし、これらのシステムは人手で学習例を作成する必要があり、生成された抽出プログラムは学習例と同じレイアウトを持つHTML文書にしか適用できないという問題があった。
【０００４】
「非特許文献４」「非特許文献５」「特許文献１」は、HTML文書の中から繰り返し規則的に出現しているタグや文字列などを検出し、そのようなセパレータ要素によって分割されている部分を意味のある文書構造とみなして抽出する手法を提案した。しかし、これらの手法は分割要素間の内容を調査しないので、人間にとって意味のない繰り返し構造が抽出されることが多いという問題があった。またその対策として、そのような繰り返し構造をできるだけ除くために文書内で最も内容が多い部分のみを抽出対象にしたが、それによって一つの文書から複数の構造を抽出することができないという問題も発生した。
【０００５】
「非特許文献６」「非特許文献７」は、HTML文書のタグツリーの類似性を調べ、類似度の高い部分が連続して現れている部分である繰り返しパターンと呼ばれる構造を意味のある文書構造とみなして抽出する手法を提案した。さらに「非特許文献６」ではデータ項目間の対応関係を抽出し、「非特許文献７」では繰り返しパターン間の階層関係を抽出する手法を提案した。しかし、これらの手法は規則性の強い繰り返しパターンしか抽出することができず、内容部分にあまり規則性はないが見出し部分には強い規則性がある章節構造のような、人間にとって意味のある構造であると認識されるものが抽出されないという問題があった。
【０００６】
従来の文書検索手法は、文書中の単語を取り出して、単語とその文書中の位置の集合をその文書に対するインデクスとして作成し、それらを文書データベースに格納するものが主であった。そして検索クエリーは、複数の単語がAND、ORなどの論理演算子で結合されている検索式と呼ばれるものが用いられた。検索システムは、検索クエリーを受け取ると、それに適合する文書を見つけ出し、さらにそれぞれの文書の検索クエリーに対する適合度を計算し、適合度が高い順に並び替えた結果を返す、というものであった。「非特許文献８」では、Web文書の集合に対して、上の方法で文書インデクスを作成し、さらにWeb文書間のハイパーリンクをもとにページランクと呼ばれる各文書の重要度も計算し、文書データベースに格納する手法を提案した。この検索手法は、上の検索式を受け取り、文書中に出現する単語およびページランクを元に適合度を計算するものであった。しかし、このような文書検索手法では、文書中に現れる単語の全てが同じ重要度を持つと仮定されており、文書の見出し部分に現れる単語を重要視したり、箇条書きで並べられている二つの単語の間には特別な関係があるとみなしたりする、というような、人間が文書を閲覧するときに考える事項の多くが考慮されていなかった。そのため、検索単語が見出しの部分に大きく現れている文書や、複数の検索単語が箇条書きで並べられているような文書の適合度が低く計算されるといった、文書構造によって人間が感じ取る文書の意味にそぐわない検索結果が得られることが多いという問題があった。
【０００７】
【特許文献１】特開２００５−２５７６３号公報
【非特許文献１】N.Kushmerick., ラッパー学習：効率性と表現力（Wrapper induction: efficiency and expressiveness）, Artificial Intelligence, 118:15-68, 2000.
【非特許文献２】I.Muslea, S.Minton, C.Knoblock., ラッパー学習の階層的手法（A hierarchical approach to wrapper induction）, Agents-99, 1999.
【非特許文献３】W.Cohen, M.Hurst, L.Jensen., HTML文書の表・リストのラッピングの柔軟な学習手法（A flexible learning system for wrapping tables and lists in HTML documents）, WWW-2002, 2002.
【非特許文献４】D.W.Embley, Y.S.Jiang, Y.-K.Ng., Web文書中における項目境界の認識（Record-boundary discovery in web documents）, SIGMOD-99, 1999
【非特許文献５】C.H.Chang, S.C.Lui, IEPAD: パターン発見に基づいた情報抽出（IEPAD: Information Extraction based on Pattern Discovery）, WWW-10, 2001
【非特許文献６】Y.Zhai, B.Liu., 部分木構造整列に基づいたWebデータ抽出（Web Data Extraction Based on Partial Tree Alignment）, WWW2005, 2005
【非特許文献７】T.Nanno, M.Okumura., 要素連続性に基づいたWebページ構造化（Structuring Web Pages Based on Repetition of Elements）, WDA 2003, 2003
【非特許文献８】S.Brin, L.Page., 大規模ハイパーテキストウェブ検索エンジンの分析（The Anatomy of a Large-Scale Hypertextual Web Search Engine）, WWW7, 1998.
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明では上記の問題を解決するような文書構造抽出手法およびそれによって抽出された文書構造を用いた文書検索手法を提供する。
【０００９】
本発明では、上記の問題を克服する文書構造抽出手法、すなわち学習例を用いた機械学習を必要とせず、一つの文書から複数個の文書構造を抽出することができ、規則性の強い繰り返しパターンだけでなくより規則性の弱い章節構造などの繰り返しパターンも精度よく抽出する手法を提供する。
【００１０】
さらに本発明では、繰り返しパターンを見つけるだけでなく、繰り返しパターンの各項目において見出しが存在すればそれを見つけ出して見出しとその項目内の他の部分とを上下関係という関係づけを行い、また、ある繰り返しパターンとその内部に現れる繰り返しパターンにも上下関係という関係づけを行い、さらに、繰り返しパターンの各項目に含まれる文書要素の間の対応付けを行い、対応付けられた文書要素同士に対し並列関係という関係づけを行うという、従来手法よりも豊富な情報を持つ構造を抽出する手法を提供する。
【００１１】
また本発明では、上記の問題を克服する文書検索手法、すなわち文書構造によって表される、文書中に出現している単語の重要性および単語間の関係性を考慮して適合度を計算することができる手法を提供する。
【００１２】
さらに本発明では、画像などの文書中の単語で表されないオブジェクトに対して、文書構造をもとに文書中の単語を関連付ける非文章オブジェクトへの単語関連付け手法、およびそれらのオブジェクトを単語によって検索できる非文章オブジェクトの単語による検索手法も提供する。
【課題を解決するための手段】
【００１３】
本発明は大きく、文書構造抽出手法、文書構造を用いた文書検索手法、文書構造を用いた非文章オブジェクトへの単語関連付け手法、それを用いた非文章オブジェクトの単語による検索手法の四つの手法を提供する。以下それらの手法を実現するための手段を記述する。
【００１４】
文書構造抽出手法は、様々な形式の電子文書を共通の形式に変換する文書形式変換ステップとその共通の形式で表されている文書から文書構造を抽出する文書構造抽出ステップからなる。
【００１５】
文書形式変換ステップでは、個々の文書形式に対してそれぞれ変換方法を用意し、入力される電子文書に対してその文書の形式に対応する変換方法を適用することによって、共通の文書形式に変換する。
【００１６】
文書構造抽出ステップでは、文書中で類似度の高い部分が並んでいる領域、および見出しらしい部分がその見出しに属する内容部分を挟んで並んでいる領域を繰り返しパターンとして抽出する。これを実現するために文書構造抽出ステップは、文書部分間の類似度算出ステップ、文書部分の見出し度算出ステップ、文書部分とそれに続く文書部分がある時に前者が後者の見出しになっているかどうかを判定する見出し判定ステップの三つのステップを含む。
【００１７】
文書構造抽出ステップではさらに、抽出された繰り返しパターンの各項目の内部に文書構造抽出ステップを再帰的に適用することと、抽出された繰り返しパターンを一つの単位として元の文書部分に置換してさらに文書構造抽出ステップを適用することによって、繰り返しパターン間の包含関係を定める。また、抽出された繰り返しパターンの各項目の内容を見比べ、対応する部分同士を関係付ける文書要素対応付けも行う。
【００１８】
文書構造を用いた文書検索手法は、電子文書と上記文書構造抽出手法によって得られた文書構造を対応付けたものの集合を記憶する文書データベースを用い、検索クエリーを受け取りそれに適合する文書を検索して返す検索クエリー処理ステップと、適合文書の要約を適切に生成する文書要約生成ステップからなる。
【００１９】
検索クエリー処理ステップは、三つの形態の検索処理のいずれかを行う。第一形態は、検索クエリーとして複数の単語がANDやORなどの論理演算子で結び付けられた論理検索式を受け取り、それに対する各文書の適合度を算出して適合度順に文書を並べる。第二形態は、検索クエリーとして複数の上記の論理検索式を上下関係および並列関係で結びつけたものを受け取り、それに対する各文書の適合度を算出して適合度順に文書を並べる。第三形態は、検索クエリーとして第一形態と同じ論理検索式を受け取り、それに対する各文書の適合度を算出するとともに、検索式に含まれる各単語の文書構造中での出現位置を調べて、各出現位置の文書構造内の関係によって検索結果を分類する。
【００２０】
文書要約生成ステップは、検索クエリーに含まれるそれぞれの単語の文書構造中の出現位置の上下関係、並列関係を視覚的に表す形で、全体の文書構造を要約化した図に検索クエリーに含まれる単語およびその近傍の単語を出現位置に埋め込んだものを表示する。
【００２１】
文書構造を用いた非文章オブジェクトへの単語関連付け手法は、オブジェクトが抽出された文書構造に含まれていなければ近傍にある単語を関連付け、オブジェクトが抽出された文書構造の中に出現していれば近傍の単語の他に、上下関係、並列関係にある単語にも関連付ける。
【００２２】
非文章オブジェクトとは、文字コードによって電子的に文字として表現されていない文書要素である。
【００２３】
非文章オブジェクトの単語による検索手法は、電子文書と上記文書構造抽出手法によって得られた文書構造を対応付けたものの集合、および電子文書に含まれる非文章オブジェクトと上記単語関連付け手法によってそれに関連付けられた電子文書内の単語を対応付けたものの集合を記憶する非文章オブジェクトデータベースを用い、検索クエリーを受け取りそれに適合する非文章オブジェクトを検索して返す検索クエリー処理ステップと、適合オブジェクトに対する要約を適切に生成する非文章オブジェクト要約生成ステップからなる。
【００２４】
検索クエリー処理ステップは、検索クエリーとして文書構造を用いた文書検索システムの第一形態と同じ論理検索式を受け取り、それに対する各非文章オブジェクトに関連付けられた単語集合の適合度を算出して、適合度順に並べる。
【００２５】
非文章オブジェクト要約生成ステップは、非文章オブジェクトと適合した単語の文書構造中の出現位置の上下関係、並列関係を視覚的に表す形で、全体の文書構造を要約化した図に、非文章オブジェクト、適合した単語およびその近傍の単語を出現位置に埋め込んだものを表示する。
【発明の効果】
【００２６】
本発明の文書構造抽出手法によって、章節構造に代表される全体としての類似性は低いが人間にとっては明確に繰り返しパターンだと分かるものが、見出しという要素を手がかりに抽出することができる。このような構造は従来の手法では抽出が困難であった。本発明の手法は人間の直感により近いということができる。さらに本発明においては、見出しを抽出することによって、文書中の単語間の上下関係を表現することができる。
【００２７】
本発明の文書検索機能によって、従来のAND/OR検索では実現できなかった文書の順位付け、分類が実現できる。
【００２８】
まず文書検索の第一形態によって、見出し部分に現れる単語の重要度を上げたり、複数キーワードが文書構造内で上下関係や並列関係にあった場合に重要度を上げたりすることによって、従来手法では重要度が低くつけられていたが人間にとっては検索クエリーをよく表現しているような文書をより検索結果の上位に引き上げることができる。
【００２９】
また、文書検索の第二形態によって、従来のAND検索とは異なる絞込み方法を実現できる。例えば二つの単語が上下関係を持つという検索クエリーを与えると、上位にある単語に関するトピックの文書で、さらにその中で下位にある単語に言及している文書のみを見つけるという検索ができる。
【００３０】
さらに、文書検索の第三形態によって、従来のキーワード検索とは異なる検索結果の分類方法を実現することができる。例えば二つの検索キーワードを与えた時に、それらが上下関係として現れているか、並列関係として現れているかを分類し、その適合数を見ることによって、その二単語の関係として適切に出現している文書をまとめることができる。これにより二単語が不適切な共起をしている文書をまとめて除外することも可能になる。
【００３１】
本発明の非文章オブジェクトへの単語関連付け手法によって、オブジェクトが含まれる領域の見出し部分に現れる単語などを検索インデクスに含めることができ、従来手法であるオブジェクトの近傍に現れる単語のみをインデクスに含める手法に比べ、より人間の直感に近いインデクスを作成することができる。また、これを非文章オブジェクトの検索システムに利用することにより、単語の検索クエリーによって非文章オブジェクトを適切に検索することができる。
【発明を実施するための最良の形態】
【００３２】
本発明の文書構造抽出手法、文書構造を用いた文書検索手法、文書構造を用いた非文章オブジェクトへの単語関連付け手法、非文章オブジェクトの単語による検索手法のそれぞれについて構成例を示す。
【００３３】
「文書構造抽出手法」
本発明の文書構造抽出手法は図１に示されているように、ある文書形式を持つ電子文書１０１を受け取り、それを共通文書形式変換ステップ１０２によって共通文書形式に変換し、そこから文書構造抽出ステップ１０３によって文書構造を抽出する。本実施例では共通文書形式として本発明が提案するＴＬ形式（Ｔａｂｌｅ  Ｌｉｎｅ形式）という文書形式を、文書構造として本発明が提案するＨ−ＲＰ構造（Ｈｅａｄｅｒ−Ｒｅｐｅｔｉｔｉｖｅ  Ｐａｔｔｅｒｎ構造）という文書構造を用いる。以後、共通文書形式をＴＬ形式に、文書構造をＨ−ＲＰ構造にそれぞれ置き換えて説明する。
【００３４】
まずＴＬ形式およびＨ−ＲＰ構造を説明する。
ＴＬ形式は図２に示されるようなクラス図で表されるデータ構造である。ＴＬ形式はレイアウトを行と表という二つの要素で抽象的に表現する文書形式である。ＴＬ形式の要素は全てＴＬノード２０１というクラスである。ＴＬノードには大きく分けてＴＬコンテナ２０２とユニット２０３という二つのサブクラスがある。ユニットは文字列や画像などの非文章オブジェクトといった、文書を構成する最小単位を表すクラスであり、ＴＬコンテナはユニットの集まりを一つにまとめるものを表すクラスである。ＴＬコンテナはインデントと背景等の属性を含む。ＴＬコンテナには行２０４と表２０５というサブクラスがある。行は文字列が横もしくは縦に一列に並んだ集まりを表すクラスであり、表は文書要素が矩形としてまとめられ、それが縦および横に並べられた集まりを表すクラスである。行はユニットの一次元配列を、表はＴＬコンテナの二次元配列を属性として含む。ユニットにはテキスト２０６とオブジェクト（非文章オブジェクト）２０７というサブクラスがある。テキストは文書に現れる文字列を表すクラスで、文字列の内容だけでなく文字の大きさや色、背景についての情報といった文字列に関する情報も保持する。オブジェクトは画像やグラフなど文字列で表現されない文書要素を表すクラスである。オブジェクトは、ＵＲＬなどの識別子や大きさ等の属性情報も保持する。
【００３５】
ＴＬ形式は、平面上のレイアウトを行と表の二種類の配置方法で単純化する。座標などの細部の情報を省略することで計算が単純化され、かつ包含や並列などの文書部分間の関係は保たれる。行と表による表現は、平面レイアウトを表す上で十分強力である。
【００３６】
Ｈ−ＲＰ構造は図１２に示されるようなクラス図で表されるデータ構造である。Ｈ−ＲＰ構造の要素は全てＨ−ＲＰノード１２０１というクラスである。Ｈ−ＲＰノードには、Ｈ−ＲＰコンテナ１２０２と繰り返しパターンノード１２０３という二つのサブクラスがある。Ｈ−ＲＰコンテナ１２０２はＴＬ形式のＴＬノード２０１を属性として持ち、ＴＬ形式の中に繰り返しパターンノードを組み込むためのラッパーの役割を持つクラスである。繰り返しパターンノード１２０３は繰り返しパターンを表すクラスで、パターンの種類、項目列、各項目の見出し、各項目内の要素間の対応付けを属性として持つ。パターンの種類は縦方向、横方向、両方向の三種類あって、それぞれ項目が表の縦に並んでいるか、横に並んでいるか、二次元状にならんでいるかに対応する。
【００３７】
Ｈ−ＲＰ構造は、文書部分の繰り返しパターンと見出し部分を構造化して表したものである。文書部分間に上下、並列関係をつけることにより、後に述べる検索手法を実現できる。
【００３８】
共通文書形式変換ステップ１０２は、図３で示されるように、入力文書３０１の形式に従ってそれに対応する形式変換ステップを適用し、入力された文書を共通のフォーマット、ＴＬ形式に変換する。例えば入力文書３０１がＨＴＭＬ形式であった場合は、ＨＴＭＬ変換ステップ３０２を適用する。入力文書３０１がＰＤＦ形式であった場合は、ＰＤＦ変換ステップ３０３を適用する。その他の文書形式の場合も、それぞれの文書形式に適合した変換処理を行う。
【００３９】
ここでは変換の例としてＨＴＭＬ変換ステップ３０２を詳しく説明する。ＨＴＭＬ変換ステップ３０２は図４で示されるように、まずスタイル情報取得ステップ４０２によってＨＴＭＬ文書が参照しているもしくはそれに埋め込まれているスタイル情報を得て、それからＨＴＭＬ−ＴＬ形式構築ステップ４０３によってＴＬ形式を得る。ＨＴＭＬ−ＴＬ形式構築ステップ４０３は図５および図６で示されるように、各ＨＴＭＬノードについて、それがインライン要素かブロック要素か、子をテーブルの形に配置しているかどうか、矩形を視覚的に表示しているかどうかを判断して、ＴＬ形式の行および表を生成する。
【００４０】
図５はＨＴＭＬ文書およびスタイル情報からＴＬ形式ノード列を生成する、ＨＴＭＬ−ＴＬ形式構築を示している。ＨＴＭＬ文書は、ＨＴＭＬタグによりＤＯＭツリーという木構造で表される。図７はＨＴＭＬ文書をＤＯＭツリー状に表した一例である。ここで、木構造のノードはＨＴＭＬ文書中の開始タグと終了タグで囲まれた部分であり、これをＨＴＭＬノードと呼ぶ。また、ＨＴＭＬ文書内のテキスト部分も、テキストノードという種類のＨＴＭＬノードとする。スタイル情報取得ステップ４０２において、ＨＴＭＬ文書の全てのＨＴＭＬノードに対し、それに対応するスタイル情報が付加される。
【００４１】
ＨＴＭＬ−ＴＬ形式構築ステップの入力は、一つのＨＴＭＬノードとそれに対応するスタイル情報である。まず、ステップ５０２において、入力ＨＴＭＬノードの全ての子ノードにＨＴＭＬ−ＴＬ形式構築ステップを適用する。これにより、それぞれの子ノードに対して、適用で得られたＴＬ形式ノード列を取得する。次に、入力ＨＴＭＬノードの種類によって、処理を分岐する。ＨＴＭＬノードの種類は四つあって、インライン要素、テーブル要素、矩形を表示するブロック要素、および矩形を表示しないブロック要素である。インライン要素の場合は、ステップ５０３によって、子ノードから得られたＴＬ形式ノード列を全て一列に並べたＴＬ形式ノード列を出力する。テーブル要素の場合は、ステップ５０４から５０６によって、子ノードから得られたＴＬ形式ノード列のそれぞれをＴＬ形式表ノードのノード配列としたものを作成し、それらをＨＴＭＬ文書における配置と同じように二次元に配置したものをノード配列とするＴＬ形式表ノードを出力する。矩形を表示するブロック要素の場合は、子ノードから得られたＴＬ形式ノード列を全て一列に並べたＴＬ形式ノード列に対しＴＬ形式行生成ステップ（図６）を適用し、その結果得られたＴＬ形式ノード列をノード配列とするＴＬ形式表ノードを出力する。最後に矩形を表示しないブロック要素の場合は、子ノードから得られたＴＬ形式ノード列を全て一列に並べたＴＬ形式ノード列に対しＴＬ形式行生成ステップ（図６）を適用し、その結果得られたＴＬ形式ノード列を出力する。
【００４２】
図６はＨＴＭＬ−ＴＬ形式構築ステップ（図５）において用いられる、ＨＴＭＬ−ＴＬ形式行生成ステップの処理を示している。この処理は、ＨＴＭＬにおける改行部分を検出し、ＴＬ形式ノード列をＨＴＭＬにおける行の単位に分割してＴＬ形式行ノードとしてまとめる。まず、入力ノード列の先頭ノードから順番に見ていき、改行部分があるかどうか調べる。改行部分はＢＲノード（ＴＬ形式ではユニットノードとして表される）およびＴＬコンテナノードの開始、終端である。ある時点で見ているＴＬノードがＢＲノードもしくはＴＬコンテナノードの場合は、ステップ６０６から６０９により新たに行ノードを生成してコンテナヒープに追加する。そうでない場合は、そのノードはユニットノードであるので、そのノードをユニットヒープに追加する。この後、見ているノードが入力ノード列の最後尾でない場合はステップ６０５により見るノードを一つ後ろにずらして、上の処理を再実行する。最後尾の場合は、ユニットヒープにノードが残っている場合はそれらをユニット列とする行ノードを生成して、コンテナヒープに追加し、最後にコンテナヒープにあるコンテナノード全てをコンテナノード列として出力する。
【００４３】
１例を用いてＨＴＭＬ文書のＴＬ形式への変換を具体的に説明する。図７のようなＨＴＭＬ文書を変換することを考える。この文書と同じディレクトリには図８に示すstyle.cssというスタイルファイルがあるとする。このＨＴＭＬ文書はWebブラウザによって図９のようにレンダリングされる。
【００４４】
まずスタイル情報取得部４０２によって、このＨＴＭＬ文書のスタイル情報が取得される。この場合ではこのＨＴＭＬ文書の中のlink要素７０３を見て、同じディレクトリのstyle.cssというスタイルファイルを調べてスタイル情報を取得する。
【００４５】
次にＨＴＭＬ文書の各ＨＴＭＬノードに対しボトムアップにＨＴＭＬ−ＴＬ形式構築ステップ４０３が適用される。図５における、四つのノードの種類に対する処理の例をそれぞれ述べる。まずインライン要素であるノード７３２に対しては、その子であるテキストノード「出来高」に対してユニットノードが生成され、ノード７３２に対してはそのノードがそのままノード列として出力される。次にテーブル要素であるノード７０８に対しては、７０８の下にあるtr要素およびtd要素に対してＨＴＭＬ−ＴＬ形式構築ステップ４０３が適用され、例えばtr要素７０９の最初のtd要素に対する適用では、”Ａ指数”という文字列を表す一つのテキストノードを保持する行ノードが生成され、最後に処理５０４〜５０６によって図１０のような、各td要素から生成された行ノードが４ｘ３の行列上に並べられた表ノードが生成される。次に矩形を表示するブロック要素であるノード７２４に対しては、その子に対するＨＴＭＬ−ＴＬ形式構築ステップ４０３の適用によって二つのＴＬノードが生成され、それに対するＴＬ形式行生成の適用（ステップ５０７）によってノード７２５から得られたユニットノードが行ノードとなり、最後にステップ５０８によってそれを２ｘ１の行列上に並べた表ノードが生成される。最後に矩形を表示しないブロック要素であるノード７０４に対しては、その子に対するＨＴＭＬ−ＴＬ形式構築ステップ４０３の適用によって三つのコンテナノードが生成され、それらをノード列として出力する。このような処理を全てのノードに対して行うと、最終的に図１１のようなＴＬ形式が得られる。図１１において、「表」とかかれている矩形は表ノードを、「行」とかかれている矩形は行ノードを、「”」で囲まれている文字列が書かれている矩形はテキストノードを表しており、点線で繋がれて並べられているノードは、その上の表ノードもしくは行ノードの内容である。
【００４６】
ＰＤＦなどの他の文書形式に対しても、ＴＬ形式を構築する処理を用意する。その場合、例えばＰＤＦに対しては、行、枠線、段組など、ＨＴＭＬにおいてタグとして明示的に指定されているものが指定されていない場合があるので、ＴＬ形式構築プログラムでそれらを判別する必要がある。
【００４７】
次にＨ−ＲＰ構造抽出ステップ１０３を説明する。Ｈ−ＲＰ構造抽出ステップ１０３の処理を図１３に示す。Ｈ−ＲＰ構造抽出ステップの入力はＴＬノード列１３０１であり、最初の呼び出しではＴＬ形式変換ステップ１０２によって得られたＴＬ形式のルートノードの子ノード列が入力となる。まず、入力された各ＴＬノードの子ノード列に対してＨ−ＲＰ構造抽出ステップ１０３を適用し、得られたＨ−ＲＰノード列をもとの子ノード列と置き換える。次に各ＴＬノードに対し見出し度計算ステップ１３０６で見出し度を計算し、次にそのノード列に対して繰り返しパターン検出ステップ１３０７を適用する。その時繰り返しパターンが検出されたら要素対応付けステップ１３０９によって繰り返しパターンの各項目の文書要素間に並列関係を付け、検出されなかったらステップを終了する。
【００４８】
Ｈ−ＲＰ構造抽出ステップには見出し度計算ステップ１３０６、繰り返しパターン検出ステップ１３０７、要素対応付けステップ１３０９の三つのサブステップが含まれる。以下ではこれらを詳しく説明する。
【００４９】
見出し度計算ステップ１３０６はＴＬノードの見出しらしさを数値として算出する処理である。その詳細な処理を図１４に示す。見出し度は周辺差異スコア１４０２、空白位置スコア１４０３、繰り返しパターンスコア１４０４、複雑度スコア１４０５という四つのスコアから算出される。周辺差異スコア１４０２は周辺のノードとのフォントのサイズ、色などの特徴の差異を表す値で、差異が大きいほどスコアが高くなる。空白位置スコア１４０３はノード周辺に大きな行間や矩形境界など領域を分割する要素があるかどうかを表すスコアで、領域を分割する度合いが大きく、またそれとノードとの距離が近いほどスコアが高くなる。繰り返しパターンスコア１４０４はノードの周辺に繰り返しパターンがあるかどうかを表すスコアで、繰り返しパターンとの距離が近く、またそのパターンの大きさが大きいほどスコアが高くなる。ここで、繰り返しパターンは対象文書に対するこれまでの処理でＨ−ＲＰ構造抽出ステップにおいて抽出されたものを利用する。また、繰り返しパターンとの距離とは、文書上においてノードと繰り返しパターンの間に存在する文書要素（テキスト、画像など）の量である。また、繰り返しパターンの大きさとは、そのパターンに含まれる項目数や文書要素などの量である。複雑度スコア１４０５はノードの内容の要素数を表すスコアで、ノードの内容が単純なほどスコアは高くなるが、ある閾値を超えて短純度が高いと逆にスコアが低くなる。
【００５０】
繰り返しパターン検出ステップ１３０７はＨ−ＲＰノード配列から繰り返しパターンとなっている部分を検出し、その部分を繰り返しパターンノードに置き換える。その詳細な処理を図１５に示す。処理の流れは、まずあるノードを基準ノードとして、ノード列の中でそれと類似度の高いノードを全て見つける（１５０３）。この類似度は、フォントの大きさや色、背景、インデントなどの属性値をもとに木構造距離などを用いて計算する。繰り返しパターンノード同士の距離は、見出しおよび並列関係にある要素の属性の違いをもとに計算する。次に繰り返しパターン判定ステップ１５０４で、上で算出した類似度と各ノードの見出し度をもとに基準ノードを含む繰り返しパターンがあるかどうかを判定する。その詳細な処理は後述する。繰り返しパターンが見つからなかった場合は、基準ノードを別のノードにして再度上の処理を繰り返す。見つかった場合は、その繰り返しパターンを表す繰り返しパターンノードを生成して（１５０６）、繰り返しパターン判定ステップ１５０４において判定される、パターンを構成するノード列をそれに置き換える（１５０７）。
【００５１】
繰り返しパターン判定ステップ１５０４の詳細な処理を図１６に示す。繰り返しパターンと判定される場合は二種類あり、一つは類似度の高い見出し部分が並んで出現していることであり、もう一つは全体に類似度の高い領域が連続して出現していることである。前者を判定するのが１６０３〜１６０５であり、後者を判定するのが１６０７〜１６０９である。１６０４または１６０８で区切られた領域が、繰り返しパターンの各項目となる。繰り返しパターンの種類は、類似ノードの並び方によって判断される。
【００５２】
要素対応付けステップ１３０９は、木構造Alignmentなどの方法を用いて、繰り返しパターン中の類似ノード同士を対応付ける。この対応付けは繰り返しパターンノードの中に格納される。
【００５３】
１例を用いてＴＬ形式からのＨ−ＲＰ構造抽出を具体的に説明する。対象のＴＬ形式は図１１のものとする。
【００５４】
最初にノード１１０４に対する処理について説明する。まず、ループ１３０２により、ノード１１０５〜１１１６のそれぞれに対してＨ−ＲＰ構造抽出ステップを適用する。この場合はその中で繰り返しパターンは検出されない。次にループ１３０５により各ノードの見出し度が算出される。この場合はノード１１０５〜１１１６のそれぞれについて周りに類似ノードが並んでいるので、見出し度は低くなる。次に繰り返しパターン検出ステップ１３０７を適用する。繰り返しパターン判定ステップ１５０４において、見出し度の高いノードは存在しないので、処理は１６０７〜１６０９が行われる。表の中のノードは全て類似度が高いので、繰り返しパターンと判定され、結果として図１７のような繰り返しパターンノードが生成される。図１７には要素対応付けの結果も合わせて示されている。ここでは見出しノードは設定されず、全てのテキスト要素が互いに対応付けられている。
同様の処理で、ノード１１１７からは図１８のような、ノード１１２９からは図１９のような、ノード１１４８からは図２０のようなＨ−ＲＰ構造がそれぞれ抽出される。さらにノード１１２８からは、図１９と図２０のＨ−ＲＰ構造の類似性から図２１のようなＨ−ＲＰ構造が抽出される。
【００５５】
最後にノード１１０１に対する処理について説明する。まずループ１３０２によりノード１１０２、１１１７、１１２８のそれぞれに対してＨ−ＲＰ構造抽出を適用する。その結果図１７、１８、２１のようなＨ−ＲＰ構造が抽出される。次にループ１３０５により各ノードの見出し度が算出される。この時、ノード１１０３、１１１８、１１６７は周囲に同フォントのテキストがない、直後に繰り返しパターンが現れている、直前が矩形の境界であるなどの理由で見出し度が高くなる。次に繰り返しパターン検出ステップ１３０７を適用する。繰り返しパターン判定ステップ１５０４において、見出し度の高いノードに対して１６０３〜１６０５の処理がなされ、見出しノードの類似度が高く、各項目に見出しノードが持つ特徴より極端に目立つ見出し的な特徴を持つ部分がないので、結果として図２２のようなＨ−ＲＰ構造が抽出される。
【００５６】
上の過程で得られたＨ−ＲＰ構造を言葉で簡単に説明する。図１８のＨ−ＲＰ構造は、それぞれ「コード」、「企業名」という見出しがついている２つのリストが横に並んでいる構造である。図１９のＨ−ＲＰ構造は、それぞれ「順位」、「コード」、「銘柄」、「前日比」という見出しがついている４つのリストが横に並んでいる構造である。図２０のＨ−ＲＰ構造は、それぞれ「順位」、「コード」、「銘柄」、「出来高」という見出しがついている４つのリストが横に並んでいる構造である。図２１のＨ−ＲＰ構造は、図１９のＨ−ＲＰ構造に見出しとして「値上がり率」が、図２０のＨ−ＲＰ構造に見出しとして「出来高」がついたものが縦に並び、さらに図１９、２０の繰り返し構造が同じ内部構造をもっているために中の要素同士が並列関係で結び付けられている構造である。図２２のＨ−ＲＰ構造は、３つのＨ−ＲＰ構造（２番目は図１８のＨ−ＲＰ構造で、３番目は図２１のＨ−ＲＰ構造）に見出しとしてそれぞれ「各種指数」、「新規上場企業」、「株式ランキング」がつけられ、それが縦に並んだ構造である。
【００５７】
「文書構造を用いた文書検索手法」
本発明の文書検索手法は図２３に示すような構成のシステムで実施される。検索サーバ２３１０は、検索対象となる文書とそれに対して上記文書構造抽出手法を適用して得られるＨ−ＲＰ構造とを組にして文書データベース２３０１に保存しておく。検索クライアント２３１１は、ユーザから入力装置２３０９によって入力される検索クエリーを、ネットワーク２３０４を通じて検索サーバ２３１０に渡し、検索サーバ２３１０が返す検索結果を表示装置２３０８に表示する。検索サーバ２３１０は検索クエリーを受け取ると、検索処理を行ってその結果を検索クライアント２３１０に返す。結果は適合文書の参照情報と要約文書からなり、要約文書は検索サーバが生成する。検索クライアントは一つの検索サーバに対しいくつあってもよい。
【００５８】
本手法の検索機能には三つの形態がある。
【００５９】
第一形態は検索クエリーとして複数の単語がANDやORなどの論理演算子で結び付けられた論理検索式を受け取り、それに対する文書データベース内の各文書の適合度を算出して適合度順に文書を並べるものである。適合度算出の流れを図２４に示す。まず文書が論理検索式の条件を満たすかどうか調べ（２４０２）、もし満たしていれば各単語の出現頻度に応じてスコアを算出し（２４０４）、さらに複数の単語が文書構造中で上下関係もしくは並列関係にあるノードの中で現れていればスコアを増加させる（２４０５）。
【００６０】
例を用いて第一形態の適合度計算を具体的に説明する。対象の文書は図２２の文書構造を持つ文書であるとする。これと検索式１「Ａ指数  AND  Ｅ指数」、検索式２「各種指数  AND  新規上場企業」、検索式３「新規上場企業  AND  Ａ社」、検索式４「Ａ社  AND  Ｂ社」、検索式５「Ａ社  AND  Ｈ社」との適合度を算出することを考える。まず検索式１は「Ｅ指数」という単語が文書中に出現しないので（２４０３でＦａｌｓｅ）、適合度は０になる（２４０６）。検索式２は「各種指数」「新規上場企業」という単語がともに現れ、さらにこれらが並列関係にあり、またこれらが繰り返しパターン中で見出しとなっていることから、適合度は高い。検索式３は「新規上場企業」「Ａ社」という単語がともに現れ、さらにこれらが上下関係にあるので適合度は高いが、「Ａ社」が文書構造中で下の方の階層にありさらに見出しでないので、検索式２よりは適合度が低くなる。検索式４は「Ａ社」「Ｂ社」という単語がともに現れ、さらにこれらが並列関係にあるが、ともに見出しでないので検索式３より適合度が低くなる。検索式５は「Ａ社」「Ｈ社」という単語がともに現れるが、これらの間には上下関係も並列関係もないため、検索式４より適合度が低くなる。
【００６１】
第二形態は検索クエリーとして複数の上記の論理検索式を上下関係および並列関係で結びつけたものを受け取り、それに対する各文書の適合度を算出して適合度順に文書を並べるものである。検索クエリーは図２５のようなデータ構造を持ち、上下関係は検索クエリノード２５０４の親子関係で、並列関係はＨ−ＲＰ構造検索クエリー２５０１のノード並列関係属性２５０３で表される。適合度算出の流れを図２６に示す。まず検索クエリーの各検索論理式がＨ−ＲＰ構造においてある一つのノード内で満たされているかどうかを調べ（２６０２）、もしすべての検索論理式が満たされていれば次にそれらのノードの上下関係および並列関係を調べ、それが検索クエリーによって表される上下並列関係になっているかどうかを調べ（２６０４）、もしそうであれば論理式を満たすノード数、適合する単語数、見出しかどうか、ノードの階層をもとに適合度を算出する。
【００６２】
例を用いて第二形態の適合度計算を具体的に説明する。対象の文書は図２２の文書構造を持つ文書であるとする。これと図２７、２８、２９で示される検索クエリーとの適合度を算出することを考える。図２７で示される検索クエリーは、新規上場企業という単語はノード２２１６に、Ａ社という単語はノード２２２１に、Ｆ社という単語はノード２２３６に現れるが、ノード２２１６とノード２２３６は上下関係にないので、適合度は０となる。図２８で示される検索クエリーは、新規上場企業という単語はノード２２１６に、Ａ社という単語はノード２２２１に、Ｂ社という単語はノード２２２３に現れ、さらに２２１６と２２２１、２２２３は上下関係にあり、２２２１と２２２３は並列関係にあるため、適合度は高い。図２９に示される検索クエリーは、銘柄という単語はノード２２３２、２２５０に、Ｌ社という単語はノード２２５４に、Ｍ社という単語はノード２２５８に現れ、ノード２２５０と２２５４、２２５８は上下関係にあり、２２５４と２２５８は並列関係にあるため、適合度は高いが、階層が低いため図２８に示される検索クエリーよりは適合度が低くなる。
【００６３】
第三形態は検索クエリーとして第一形態と同じ論理検索式を受け取り、それに対する各文書の適合度を算出するとともに、検索式に含まれる各単語の文書構造中での出現位置を調べて、各出現位置の文書構造内の関係によって検索結果を分類するものである。検索式の各単語の出現位置の文書構造内の関係を取り出す処理を図３０に示す。まず各単語の出現位置を全て調べ（３００２）、次にそれらの位置が文書構造中で上下関係もしくは並列関係を持っていればそれを記憶しておく（３００３）。それぞれの文書についてこの位置関係を取得し、同じ位置関係を持つ文書同士をグループにして、位置関係を図式化したものと文書に関する各種情報と文書の要約を、検索結果とする。
【００６４】
例を用いて第三形態の位置関係取得を具体的に説明する。対象の文書は図２２の文書構造を持つ文書であるとする。これに対する検索式「新規上場企業  AND  Ａ社  AND  Ｂ社」の位置関係を取得することを考える。まず新規上場企業という単語はノード２２１６に、Ａ社という単語はノード２２２１に、Ｂ社という単語はノード２２２３に現れ、２２１６と２２２１、２２２３は上下関係にあり、２２２１と２２２３は並列関係にあることから、それらの関係を表すと図２８のような位置関係が取得される。
【００６５】
本システムの文書要約生成ステップは検索クエリーに含まれるそれぞれの単語の文書構造中の出現位置の上下関係、並列関係を視覚的に表す形で、その単語の近傍の文章とともに表示する。この処理を図３１に示す。まず検索クエリーに含まれる単語の文書中の出現位置を全て調べる（３１０２）。これらのノードは全て要約文書を構成するノードになる。次に各出現位置について、それが繰り返しパターン中のノードであれば、そのノードの全ての上位ノード（祖先ノード）とそれらの直前直後の並列関係にあるノード（兄弟ノード）を、全て要約文書を構成するノードとして含める（３１０５）。次に各ノードを表す文字列を設定する。出現ノードの祖先およびその兄弟ノードについては、文字列をそのノードの先頭n単語とする（３１０６）。出現ノードについては、検索クエリー中の単語の前後m単語とする（３１０７）。最後に、要約文書を構成するノードの間で上下関係および並列関係があれば、それらをその関係で結びつける（３１０８）。
【００６６】
例を用いて文書要約生成を具体的に説明する。対象の文書は図２２の文書構造を持つ文書、検索式は「新規上場企業  AND  Ａ社」とする。まずステップ３１０２で検索式に含まれる全ての単語の出現位置を調べる。「新規上場企業」という単語はノード２２１６に、「Ａ社」という単語はノード２２２１に出現している。次にループ３１０３で、この二つのノードについてステップ３１０４〜３１０７を適用する。これらのノードは繰り返しパターン中のノードなので、まずステップ３１０５が適用される。ノード２２１６の祖先ノードはなく、直前直後の兄弟ノードは２２０２と２２２６である。ノード２２２１の祖先ノードは２２１９、２２１６であり、２２２１の直前直後の兄弟ノードは２２２３、２２１９の直前直後の兄弟ノードは２２１８、２２１６の直前直後の兄弟ノードは２２０２と２２２６である。これらを合わせると、要約文書を構成するノードは２２０２、２２１６、２２２６、２２１８、２２１９、２２２１、２２２３となる。ステップ３１０６、３１０７ではこれらのノードに対して文字列が設定されるが、この場合はどのノードに含まれる文字列も短いので、それがそのまま表示文字列として設定される。最後にステップ３１０８で上下並列関係を付け加え、ステップ３１０９で各ノードに対し矩形領域が付加される。最終的に、要約文書は図３２のようになる。
【００６７】
検索結果に要約文書を付加することにより、文書の構造および検索クエリーの単語が文書の構造中にどのような形で出現しているかが視覚的に分かるようになる。
【００６８】
「文書構造を用いた非文章オブジェクトへの単語関連付け手法」
本発明の文書構造を用いた非文章オブジェクトへの単語関連付け手法の処理の流れを図３３に示す。非文章オブジェクトが連続パターンの中で出現していない場合は、オブジェクトの近傍のn単語をオブジェクトに関連付ける（３３０７）。オブジェクトが連続パターンの中で出現している場合は、近傍のn単語のほかに、祖先ノード、祖先ノードと並列関係にあるノード、およびオブジェクトの近傍のテキストノードと並列関係にあるノードに出現する単語も関連付ける（３３０６）。この場合、それぞれのノードに含まれるテキストの長さ、オブジェクトが出現しているノードとの近さなどによって関連付けの値を増減させる。テキストが短くオブジェクトが出現しているノードと近いほど、関連付けの値を大きくする。
【００６９】
例を用いて文書構造を用いた非文章オブジェクトへの単語関連付け手法を具体的に説明する。対象の文書は図３４の文書構造を持つ文書とする。この文書中の画像３４０２への単語関連付けを考える。この画像は繰り返しパターン中に現れているので、ステップ３３０６が適用される。画像３４０２の祖先ノードは３４０１であり、その兄弟ノードは３４０８、近傍のテキストノードは３４０３であり、それと並列関係にあるノードは３４０５、３４０７である。よって画像３４０２に関連付けられる単語は値の高い順に「犬」、「動物」、「猫」、「馬」、「植物」となる。同じく、画像３４０４に関連付けられる単語は値の高い順に「猫」、「動物」、「犬」＝「馬」、「植物」、画像３４０６に関連付けられる単語は値の高い順に「馬」、「動物」、「猫」、「犬」、「植物」となる。
【００７０】
「非文章オブジェクトの単語による検索手法」
本発明の文書構造を用いた非文章オブジェクトの単語による検索手法は、図２３に示す構成のシステムにより実施される。検索サーバ２３１０は、検索対象となる非文章オブジェクト、それを含む文書、およびそれに関連付けられた単語集合を組にして文書データベース２３０１に保存しておく。検索クライアント２３１１は、ユーザから入力装置２３０９によって入力される検索クエリーを、ネットワーク２３０４を通じて検索サーバ２３１０に渡し、検索サーバ２３１０が返す検索結果を表示装置２３０８に表示する。検索サーバ２３１０は検索クエリーを受け取ると、検索処理を行ってその結果を検索クライアント２３１０に返す。結果は適合オブジェクトの参照情報である。検索クライアントは一つの検索サーバに対しいくつあってもよい。
【００７１】
検索サーバ２３１０における検索処理は、検索クエリーとして複数の単語がANDやORなどの論理演算子で結合された論理検索式を受け取り、文書データベース２３０１内の各非文章オブジェクトに対する適合度を計算し、適合度順に並び替える。適合度の計算の処理を図３５に示す。まず非文章オブジェクトが論理検索式の条件を満たしているかどうかを調べる（３５０２）。もし満たしていなければ適合度は０になる。次に論理検索式の各単語に対し、単語の適合度スコアを計算する。もし単語が非文章オブジェクトと関連付けられていればその値を、そうでなければ定数値を累計適合度の値に足す。この定数値は、関連付けの値より小さく設定される。
【００７２】
例によって非文章オブジェクトと論理検索式の適合度計算を具体的に説明する。検索対象の非文章オブジェクトは図３４の画像３４０２、３４０４、３４０６であるとする。検索式「猫」に対しては、三つの画像全てに「猫」という単語が関連付けられているが、関連付けの値は画像３４０４が一番大きいので、適合度も３４０４が一番大きくなる。検索式「動物」に対しては三つの画像全てに「動物」という単語が関連付けられており、関連付けの値も全て等しいので、適合度も全て等しくなる。画像３４０４については、検索式「猫」よりも適合度は低くなる。検索式「シダ」については三つの画像全て「シダ」という単語は関連付けられておらず、適合度は全て等しくなり、上二つの検索式と比べて適合度は低くなる。
【産業上の利用可能性】
【００７３】
Web検索やデスクトップ検索などの検索エンジン、文書管理システムに適用可能である。
【図面の簡単な説明】
【００７４】
【図１】文書構造抽出手法の処理を示す図である。
【図２】文書構造抽出において用いる共通文書形式の例であるＴＬ形式の定義を示す図である。
【図３】電子文書のＴＬ形式への変換の処理を示す図である。
【図４】ＨＴＭＬ文書のＴＬ形式への変換の処理を示す図である。
【図５】ＨＴＭＬ文書とスタイル情報からＴＬ形式へ変換する処理を示す図である。
【図６】ＨＴＭＬ文書のＴＬ形式への変換におけるＴＬ形式の行を生成する処理を示す図である。
【図７】電子文書のＴＬ形式への変換の具体例の説明に用いる、ＨＴＭＬ文書の図である。
【図８】図７のＨＴＭＬ文書が参照するスタイルシートの図である。
【図９】図７のＨＴＭＬ文書のWebブラウザでのレンダリング画像の図である。
【図１０】図７のＨＴＭＬ文書から変換されたＴＬ形式の一部の図である。
【図１１】図７のＨＴＭＬ文書から変換されたＴＬ形式の全体の図である。
【図１２】文書構造抽出において用いる文書構造の例であるＨ−ＲＰ構造の定義を示す図である。
【図１３】ＴＬ形式文書からＨ−ＲＰ構造を抽出する処理を示す図である。
【図１４】ＴＬノードの見出し度を計算する処理を示す図である。
【図１５】Ｈ−ＲＰノード配列から繰り返しパターンを検出する処理を示す図である。
【図１６】Ｈ−ＲＰノード配列のあるノードを基準とする繰り返しパターンを検出する処理を示す図である。
【図１７】図１１のＴＬ形式から抽出されるＨ−ＲＰ構造の一部の図である。
【図１８】図１１のＴＬ形式から抽出されるＨ−ＲＰ構造の一部の図である。
【図１９】図１１のＴＬ形式から抽出されるＨ−ＲＰ構造の一部の図である。
【図２０】図１１のＴＬ形式から抽出されるＨ−ＲＰ構造の一部の図である。
【図２１】図１１のＴＬ形式から抽出されるＨ−ＲＰ構造の一部の図である。
【図２２】図１１のＴＬ形式から抽出されるＨ−ＲＰ構造全体の図である。
【図２３】文書構造を用いた文書検索手法の構成図である。
【図２４】文書検索手法の第一形態における論理検索式に対する文書の適合度の計算の処理を示す図である。
【図２５】文書構造検索の検索クエリーの定義を示す図である。
【図２６】文書検索手法の第二形態における文書構造検索クエリーに対する文書の適合度の計算の処理を示す図である。
【図２７】文書構造検索クエリーの１例の図である。
【図２８】文書構造検索クエリーの１例の図である。
【図２９】文書構造検索クエリーの１例の図である。
【図３０】文書検索手法の第三形態における単語出現位置関係を取得する処理を示す図である。
【図３１】検索クエリーに対する文書の要約を生成する処理を示す図である。
【図３２】検索クエリーに対する文書の要約の１例の図である。
【図３３】非文章オブジェクトへの単語の関連付け手法の処理を示す図である。
【図３４】非文章オブジェクトへの単語の関連付けの具体例の説明に用いる、ＴＬ形式の１例である。
【図３５】非文章オブジェクトの単語による検索手法の処理を示す図である。
【符号の説明】
【００７５】
１０１：抽出対象の電子文書、１０２：共通文書形式変換ステップ、１０３：文書構造抽出ステップ、１０４：抽出された文書構造、２０１：ＴＬノード、１２０１：Ｈ−ＲＰノード、１３０１：抽出対象のＴＬ形式、１３０６：見出し度計算ステップ、１３０７：繰り返しパターン検出ステップ、１３０９：要素対応付けステップ、２３０４：ネットワーク、２３１０：検索サーバ、２３１１：検索クライアント、２４０７：文書検索手法の第一形態における適合度、２６０８：文書検索手法の第二形態における適合度、３００４：文書検索手法の第三形態における単語出現位置関係、３５０８：非文章オブジェクトの単語による検索手法における適合度。
【図１】
2007286861.tif 000003
【図２】
2007286861.tif 000004
【図３】
2007286861.tif 000005
【図４】
2007286861.tif 000006
【図５】
2007286861.tif 000007
【図６】
2007286861.tif 000008
【図７】
2007286861.tif 000009
【図８】
2007286861.tif 000010
【図９】
2007286861.tif 000011
【図１０】
2007286861.tif 000012
【図１１】
2007286861.tif 000013
【図１２】
2007286861.tif 000014
【図１３】
2007286861.tif 000015
【図１４】
2007286861.tif 000016
【図１５】
2007286861.tif 000017
【図１６】
2007286861.tif 000018
【図１７】
2007286861.tif 000019
【図１８】
2007286861.tif 000020
【図１９】
2007286861.tif 000021
【図２０】
2007286861.tif 000022
【図２１】
2007286861.tif 000023
【図２２】
2007286861.tif 000024
【図２３】
2007286861.tif 000025
【図２４】
2007286861.tif 000026
【図２５】
2007286861.tif 000027
【図２６】
2007286861.tif 000028
【図２７】
2007286861.tif 000029
【図２８】
2007286861.tif 000030
【図２９】
2007286861.tif 000031
【図３０】
2007286861.tif 000032
【図３１】
2007286861.tif 000033
【図３２】
2007286861.tif 000034
【図３３】
2007286861.tif 000035
【図３４】
2007286861.tif 000036
【図３５】
2007286861.tif 000037