(57)【特許請求の範囲】
【請求項１】
テキストデータを含む複数の構成要素をそれぞれ有する複数の構造化文書を検索するための検索装置であって、
前記構成要素毎の統計情報に基づいて、前記構成要素を定型表現の第１構成要素と非定型表現の第２構成要素とに分類する第１の分類部と、
前記複数の構造化文書を検索するための検索文字列を入力する入力部と、
前記検索文字列を前記第１構成要素に出現する割合がしきい値を超える第１の検索語としきい値以下の第２の検索語とに分類する第２の分類部と、
前記複数の構造化文書から、前記第１構成要素に前記第１の検索語を含み、かつ、前記第２構成要素を持つ構造化文書集合を抽出する抽出部と、
前記構造化文書集合を前記第２の検索語と前記構造化文書集合中の第２構成要素との間の検索スコアによって順序付けする順序付け部と
を具備することを特徴とする構造化文書検索装置。
【請求項２】
前記統計情報は、前記構成要素のテキストデータの長さであることを特徴とする請求項１記載の構造化文書検索装置。
【請求項３】
前記統計情報は、前記構成要素のテキストデータに含まれる品詞の割合であることを特徴とする請求項１記載の構造化文書検索装置。
【請求項４】
前記統計情報は、前記構成要素のテキストデータ中の語彙の種類の数であることを特徴とする請求項１記載の構造化文書検索装置。
【請求項５】
前記統計情報は、前記構成要素のテキストデータ中の語彙と定型表現を集めた辞書中の語彙との合致する割合であることを特徴とする請求項１記載の構造化文書検索装置。
【請求項６】
前記統計情報は、前記構成要素のテキストデータの表記パターンと予め用意された定型表現のテンプレートの表記パターンとの合致する割合であることを特徴とする請求項１記載の構造化文書検索装置。
【請求項７】
前記検索スコアは、前記構造化文書集合について、前記第２構成要素のテキストデータ中に前記第２の検索語が出現する頻度と、前記第２構成要素のテキストデータ中に前記第２の検索語が出現する構造化文書の数とをもとに計算されることを特徴とする請求項１記載の構造化文書検索装置。
【請求項８】
前記順序付けられた構造化文書集合について前記第２構成要素のテキストデータを対象とする要約を提示する提示部をさらに具備することを特徴とする請求項１記載の構造化文書検索装置。
【請求項９】
前記順序づけられた構造化文書集合中の前記第２構成要素のテキストデータをもとに前記検索文字列に関連する関連語を抽出する抽出部と、
前記関連語及び前記第２の検索語を用いて、前記順序づけられた構造化文書集合から前記検索文字列に適合する文書を再検索する再検索部と
をさらに具備することを特徴とする請求項１記載の構造化文書検索装置。
【請求項１０】
前記順序づけられた構造化文書集合中の前記第２構成要素のテキストデータをもとに前記検索文字列に関連する複数の関連語を抽出する抽出部と、
前記関連語からユーザによって選択された関連語及び前記第２の検索語を用いて、前記順序づけられた構造化文書集合から前記検索文字列に適合する文書を再検索する再検索部と
をさらに具備することを特徴とする請求項１記載の構造化文書検索装置。
【請求項１１】
テキストデータを含む複数の構成要素をそれぞれ有する複数の構造化文書を検索する情報処理装置により実行される構造化文書検索方法であって、
前記構成要素毎の統計情報に基づいて、前記構成要素を定型表現の第１構成要素と非定型表現の第２構成要素とに分類するステップと、
前記複数の構造化文書を検索するための検索文字列を入力するステップと、
前記検索文字列を前記第１構成要素に出現する割合がしきい値を超える第１の検索語としきい値以下の第２の検索語とに分類するステップと、
前記複数の構造化文書から、前記第１の検索語を前記第１構成要素に含み、かつ、前記第２構成要素を持つ構造化文書集合を抽出するステップと、
前記構造化文書集合を前記第２の検索語と前記構造化文書集合中の第２構成要素との間の検索スコアによって順序付けするステップと
を有することを特徴とする構造化文書検索方法。
【請求項１２】
テキストデータを含む複数の構成要素をそれぞれ有する複数の構造化文書のための検索装置を制御するプログラムであって、
コンピュータに、
前記構成要素毎の統計情報に基づいて、前記構成要素を定型表現の第１構成要素と非定型表現の第２構成要素とに分類する処理と、
前記複数の構造化文書を検索するための検索文字列を入力する処理と、
前記検索文字列を前記第１構成要素に出現する割合がしきい値を超える第１の検索語としきい値以下の第２の検索語とに分類する処理と、
前記複数の構造化文書から、前記第１の検索語を前記第１構成要素に含み、かつ、前記前記第２構成要素を持つ構造化文書集合を抽出する処理と、
前記構造化文書集合を前記第２の検索語と前記構造化文書集合中の第２構成要素との間の検索スコアによって順序付けする処理と
を実行させることを特徴とする構造化文書検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の構成要素をそれぞれ有する複数の構造化文書から所望の文書を検索するための構造化文書検索装置、方法およびプログラムに関する。
【背景技術】
【０００２】
現在、インターネットなどの情報通信技術の進歩により、膨大な情報量の電子データから必要なデータを容易に検索することが可能となっている。反面、情報量が膨大であるために、必要な情報がデータの中に埋没してしまい、思うように検索ができない結果、データを十分に活用できないという弊害も発生している。
【０００３】
こうした弊害を解消するため、電子データを構造化文書とし、これにより情報の共有化を容易にしたり、情報の検索をより効率良くできるようにしたりする研究がなされている。例えば、ＨＴＭＬ（Hyper Text Markup Language）では、タグ（tag）により表された複数の構成要素、例えば文書タイトル、見出し、段落によって記載されている。
【０００４】
また、近年注目されているＸＭＬ（Extensible Markup Language）は、このタグを独自に作成することができるため、ＨＴＭＬよりも柔軟性、拡張性に優れている。ＸＭＬは、タグを階層的に記述することにより、文書構造を木構造で表現できる。
【０００５】
このＸＭＬなどの構造化文書に対して、ＳＱＬ（Structured Query Language）に似た構文をもち、検索位置、検索条件、情報抽出部分などを記述できる問合せ言語が提供されている。これらの問合せ言語は、定められた構文にしたがって着目する構成要素を指定して厳密にデータ／文書を検索する目的で作られている。このため、ユーザは、検索対象のデータ構造を理解している必要があるばかりでなく、正しい検索条件を組み立てるスキルが求められる。
【０００６】
一方、特定の構文をユーザに意識させることなく、任意のキーワードや自然文形式の検索要求に基づいて文書の検索を行う情報検索技術の研究開発が従来から行われている。一般的には検索要求と文書との間の関連度（検索スコア）を計算し、その大きい順（降順）に検索結果を順位付け（ランキング）する。
【０００７】
検索要求から検索に用いる語である検索語を形態素解析などの技術を用いて抽出し、その出現文書数や各文書での出現回数などの統計情報をもとに検索スコアを求めるのが一般的である。このようなランキング型の情報検索技術をそのまま構造化文書に適用すると、書誌情報のような定型データ部分が弊害となって検索スコアが正しく計算されないケースが生じる。
【０００８】
例えば、検索結果の上位から検索要求の関連語を取得し、再検索を行うことで検索要求中の語だけでなく幅広く関連情報を検索する手法が知られているが、同じ著者の文書が上位に集中すると、その著者名が関連語として取得され、検索結果に悪影響を及ぼすケースなどが考えられる。
【０００９】
これに対して、検索要求がキーワードや文形式の情報検索技術で構造化文書を扱う方式として代表的なものに以下の二つがある。  
（１）構文解析などの技術を用いて検索要求をＳＱＬなどの問合せ言語の形式に変換、実行する方式。  
（２）語の出現箇所に合わせて検索スコアを調整する方式、すなわち、事前に重要な構成要素を定義しておき、その箇所に出現した場合は検索スコアを増加させるなどを行う方式。
【００１０】
（１）については事前に対象データの構造に関する知識など、検索要求を問合せ言語に変換するための知識ベースを構築しておかなくてはならない。（２）についても事前にどの部分が重要かなどの知識を定義しておかなくてはならない。このように（１）及び（２）のいずれにおいても、対象データ／文書が変わる度に新しい知識を用意しなくてはいけない。さらに（１）では（０か１かの）厳密な検索を対象としているため、文形式のような曖昧な条件に基づいたランキング型の検索に対応していない。
【００１１】
例えば、特許文献１では、予め構成要素のデータの種類を解析、推定しておくことで事前に専用の知識を用意しなくとも、キーワードや文形式の検索要求から問合せ言語を用いた場合と同様のデータ検索を行う手法が提案されている。しかし、この手法では（１）の方式と同様にランキング型検索への対応が考慮されていない。さらに、検索対象とする構成要素の指定を検索要求中に行う必要がある、また推定できるデータの種類にだけ対応しているといった課題がある。
【００１２】
また、特許文献２では、文書のレイアウト情報を用いて構成要素の種類を推定する手法が提案されているが、レイアウト情報のない構造化文書には対応できないという問題がある。
【特許文献１】特開２００４−１６４１０４公報
【特許文献２】特開２００３−９９４５４公報
【特許文献３】特開２００７−１４８７８５公報
【非特許文献１】酒井他：Cross-language情報検索のためのBMIR-J2を用いた一考察、情報処理学会研究報告99-NL-129, pp.41-48, 1999. 「３  ベースライン：日本語単言語検索（Ｊ−ＭＩＲ）」（ｐ．４４）
【発明の開示】
【発明が解決しようとする課題】
【００１３】
上述したように、構造化文書の検索において、問合せ言語を用いた方式ではユーザは検索対象の文書構造を理解している必要があるばかりでなく、正しい検索条件を組み立てるスキルが求められる。また、キーワードや文形式に基づいて検索する方式では、事前に対象データ／文書に関する知識を定義しておく必要がある。また一般的な検索装置は、問合せ言語型の検索かランキング型の検索のどちらか一方にだけに対応しており、２つの型の検索を組み合わせた柔軟な検索を実行することができない。
【００１４】
この発明は上記事情に着目してなされたもので、その目的とするところは、複数の構造化文書から所望の文書を検索する際に、ユーザにデータ構造を意識させることなく、簡単に的確な検索結果を得ることができる構造化文書検索装置、方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１５】
上記目的を達成するためにこの発明に係わる構造化文書検索装置は、テキストデータを含む複数の構成要素をそれぞれ有する複数の構造化文書を検索するための検索装置であって、前記構成要素毎の統計情報に基づいて、前記構成要素を定型表現の第１構成要素と非定型表現の第２構成要素とに分類する第１の分類部と、前記複数の構造化文書を検索するための検索文字列を入力する入力部と、前記検索文字列を前記第１構成要素に出現する割合がしきい値を超える第１の検索語としきい値以下の第２の検索語とに分類する第２の分類部と、前記複数の構造化文書から、前記第１構成要素に前記第１の検索語を含み、かつ、前記第２構成要素を持つ構造化文書集合を抽出する抽出部と、前記構造化文書集合を前記第２の検索語と前記構造化文書集合中の第２構成要素との間の検索スコアによって順序付けする順序付け部とを具備することを特徴とする。
【００１６】
また、この発明に係わる構造化文書検索方法は、テキストデータを含む複数の構成要素をそれぞれ有する複数の構造化文書のための検索装置に用いられ、前記構成要素毎の統計情報に基づいて、前記構成要素を定型表現の第１構成要素と非定型表現の第２構成要素とに分類するステップと、前記複数の構造化文書を検索するための検索文字列を入力するステップと、前記検索文字列を前記第１構成要素に出現する割合がしきい値を超える第１の検索語としきい値以下の第２の検索語とに分類するステップと、前記複数の構造化文書から、前記第１の検索語を前記第１構成要素に含み、かつ、前記第２構成要素を持つ構造化文書集合を抽出するステップと、前記構造化文書集合を前記第２の検索語と前記構造化文書集合中の第２構成要素との間の検索スコアによって順序付けするステップとを具備することを特徴とする。
【００１７】
また、この発明に係わる構造化文書検索プログラムは、テキストデータを含む複数の構成要素をそれぞれ有する複数の構造化文書のための検索装置を制御するプログラムであって、コンピュータに、前記構成要素毎の統計情報に基づいて、前記構成要素を定型表現の第１構成要素と非定型表現の第２構成要素とに分類する処理と、前記複数の構造化文書を検索するための検索文字列を入力する処理と、前記検索文字列を前記第１構成要素に出現する割合がしきい値を超える第１の検索語としきい値以下の第２の検索語とに分類する処理と、前記複数の構造化文書から、前記第１の検索語を前記第１構成要素に含み、かつ、前記第２構成要素を持つ構造化文書集合を抽出する処理と、前記構造化文書集合を前記第２の検索語と前記構造化文書集合中の第２構成要素との間の検索スコアによって順序付けする処理とを実行させることを特徴とする。
【発明の効果】
【００１８】
したがってこの発明によれば、複数の構造化文書から所望の文書を検索する際に、ユーザにデータ構造を意識させることなく、簡単に的確な検索結果を得ることができる構造化文書検索装置、方法およびプログラムを提供することができる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照しながら本発明の実施の形態を詳細に説明する。  
（第１の実施形態）  
図１は、本発明の第１の実施形態に係る構造化文書検索装置の構成例を示したものである。  
構造化文書格納部１０１は、テキストデータを含む複数の構成要素をそれぞれ有する複数の構造化文書を格納する。構造化文書は、例えば、ＸＭＬ（eXtensible Markup Language）で記述されたもので、構成要素単位でテキストデータを取得できる形式で構造化文書格納部１０１に保持される。
【００２０】
索引作成部１０２は、上記構造化文書格納部１０１に格納された構造化文書を読み出して、各構成要素のテキストデータから文書検索用の索引語を形態素解析などの技術を用いて抽出し、抽出元の文書の構成要素と対応付けた索引データを作成する。
【００２１】
索引データ格納部１０３は、索引語からその索引語が出現した文書の構成要素を取得できる形式で、上記索引作成部１０２により作成された索引データを格納する。
【００２２】
構成要素分類部１０４は、上記構造化文書格納部１０１に格納された構造化文書のテキストデータを構成要素毎に走査し、テキストデータから得られる統計情報に基づいて、構成要素を定型表現の第１の構成要素と非定型表現の第２の構成要素とに分類する。例えば、テキストデータの文字列の長さの平均値がしきい値より短い構成要素は第１の構成要素と、それ以外は第２の構成要素というように分類される。さらに、構成要素分類部１０４は、第１の構成要素について、形態素解析などを用いて構成語彙の一覧を作成する。
【００２３】
構成要素分類データ格納部１０５は、上記構成要素分類部１０４により分類された構成要素の種類を構成要素名から取得できる形式で格納する。
【００２４】
第１の構成要素語彙格納部１０６は、上記構成要素分類部１０４で作成された第１の構成要素の語彙の一覧を格納する。
【００２５】
検索要求入力部１０７は、キーワード、あるいは、文形式で表される検索文字列を含む検索要求の入力を受け付ける。
【００２６】
検索語分類部１０８は、上記検索要求入力部１０７で入力された検索文字列に含まれる検索語を、上記第１の構成要素語彙格納部１０６を参照して、第１構成要素に出現する割合がしきい値を超える第１の検索語としきい値以下の第２の検索語とに分類する。第１の検索語は絞込み検索部１０９に、第２の検索語はランキング型検索部１１０にそれぞれ供給される。
【００２７】
絞込み検索部１０９は、構造化文書格納部１０１に格納された複数の構造化文書から上記第１の検索語を第１の構成要素に含む文書集合を抽出する。例えば、絞込み検索部１０９は、上記第１の検索語と、それらが出現する第１の構成要素とをもとに生成された検索式を用いて、ランキング型検索部１１０での検索対象となる文書を絞り込む。
【００２８】
ランキング型検索部１１０は、上記文書集合を上記検索語分類部１０８から供給される第２の検索語と文書集合中の第２構成要素との間の検索スコアによって順位付けを行う。すなわち、上記絞込み検索部１０９により絞り込まれた構造化文書を検索対象とし、それら文書の構成要素のうち第２の構成要素と分類された部分について、上記第２の検索語を用いてランキング型の検索処理を行う。検索スコアは、例えば、検索対象の文書集合について、第２の構成要素のテキストデータ中に第２の検索語が出現する頻度と、第２構成要素のテキストデータ中に第２の検索語が出現する構造化文書の数とをもとに計算される。
【００２９】
検索結果提示部１１１は、上記ランキング型検索部１１０により検索された結果を提示する。
【００３０】
なお、この構造化文書検索装置は、例えば、ＣＰＵ、メモリ、ディスク装置を備えるコンピュータで実現できる。構造化文書格納部１０１、索引データ格納部１０３、構成要素分類データ格納部１０５、および第１の構成要素語彙格納部１０６は、ディスク装置中のデータとして構成される。検索要求入力部１０７はキーボードのような入力装置、検索結果提示部１１１はディスプレイのような表示装置、索引作成部１０２、構成要素分類部１０４、検索語分類部１０８、絞込み検索部１０９、ランキング型検索部１１０はＣＰＵとメモリ上で実行される制御プログラムにより実現する。
【００３１】
□図２は、本実施形態の検索対象とする構造化文書を例示したものである。ＸＭＬ形式により文書構造が表現されている。
【００３２】
□図２に示した構造化文書は、図３に示すような木構造に変換することができる。図中の各ノードが構成要素、リーフ（末端のノード）は各構成要素中のテキストデータを表現している。ここでは、構成要素の名前は、木構造のルート（一番上のノード）からその構成要素までの経路上のタグの名前を／で結合した形式で表記する。図３の例では、以下の６種類が構造化文書の構成要素となる。□
□□doc  
□□doc/head  
□□doc/head/category  
□□doc/head/author  
□□doc/head/title  
□□doc/body
□なお、図３の例では、リーフにだけテキストデータがあるが、木のルートや中間ノード、すなわち「doc」や「doc/head」の部分にテキストデータがあってもかまわない。
【００３３】
□上記構造化文書格納部１０１は、図２に例示した構造化文書を、図４に示すようにテーブル形式で格納する。文書ＩＤは、構造化文書を個々に識別するための識別情報で、図４では、図２の文書に対して文書ＩＤとして「did1」が付与されている場合が示されている。構成要素名は、上記説明した形式の構成要素の名前で、文書の個々の構成要素を識別する機能を有する。テキストは各構成要素中のテキストデータで、図２の構造化文書においては、「doc」と「doc/head」にはテキストデータがないため、該当部分は空になっている。なお、構造化文書格納部１０１は異なる文書構造の文書が混在していてもかまわない。
【００３４】
□図５は、上記索引作成部１０２により作成される索引データの構成の一例を示したものである。索引データは、検索用の索引語とその索引語の出現文書の情報とが対応付けたテーブル形式で表現される。出現文書の情報は、構成要素単位で表わされ、索引語が出現した文書の文書ＩＤ、構成要素名、および、その構成要素中に何回出現したかを表す出現頻度を一組としたものとする。例えば、図５に示すように、「文書ＩＤ：構成要素名：出現頻度」のセットがコンマで区切られて列挙される。
【００３５】
次に、このように構成された構造化文書検索装置の動作について説明する。  
（索引データ作成処理）  
□図６は、索引作成部１０２の処理手順を示すフローチャートである。索引作成部１０２は、構造化文書格納部１０１に格納された構造化文書をもとに索引データを作成する。  
図６において、索引作成部１０２は、構造化文書格納部１０１から図４の形式のデータを構成要素単位で読み出して後述する処理を行い、処理すべき構成要素が無くなれば処理を終了する（ステップＳ６０１）。
【００３６】
索引作成部１０２は、上記読み出されたデータから当該構成要素のテキストデータを取得する（ステップＳ６０２）。そして、テキストデータが空である場合は、すなわち、「doc」や「doc/head」のように対応する構成要素にテキストが無ければ何もしないでステップＳ６０１に移行し、次の構成要素の処理に移る（ステップＳ６０３）。テキストデータが有る場合には、索引作成部１０２は、形態素解析によりテキストデータを語単位に分割し（ステップＳ６０４）、各語の中から検索時に利用する索引語を品詞に基づき選択する（ステップＳ６０５）。
【００３７】
なお、形態素解析は、自然言語処理の基盤として一般的な技術であるため、ここでは詳細な説明は省略する。形態素解析は、テキストデータを語単位に分割し、かつ各語の品詞の判定結果を出力するものである。例えば、「情報検索技術の技術動向」に対しては「情報＜名詞＞／検索＜名詞＞／技術＜名詞＞／の＜助詞＞／技術＜名詞＞／動向＜名詞＞」といった結果を出力する。ここで／は語の区切りを表し、また、＜＞で囲まれたのは各語の品詞の判定結果である。この形態素解析の結果から、例えば、名詞だけ、あるいは、名詞と動詞といった、接続語を除く、予め定められた品詞の語だけを索引語として選択する。
【００３８】
上記ステップＳ６０５で索引語が選択される度に、索引作成部１０２は、上記図５に示した索引データを更新する（ステップＳ６０６）。すなわち、索引作成部１０２は、選択された索引語が索引データになければ新たな行を追加して索引語を格納する。例えば、文書ＩＤ「did1」とする文書で、その構成要素「doc/head/title」のテキストデータから選択された索引語「技術」が索引データになければ、索引語を「技術」、出現文書の情報を「did1:doc/head/title:1」とした行を索引データに追加する。
【００３９】
また、索引データに既出の索引語については、出現文書の情報の更新を行う。その索引語が出現した構成要素とその文書に関する情報、すなわち、「文書ＩＤ：構成要素名」がその索引語の出現箇所の情報として記憶されていない場合は、その情報を追加する。例えば、上記の例で索引語「技術」が索引データに登録済みであるが、その出現箇所の情報として「did1:doc/head/title」が無ければ「技術」の出現箇所の情報として、「did1:doc/head/title:1」を追加し、次のように「技術」の出現箇所の情報を更新する。  
技術      did1:doc/head/title:1  
のように「技術」の出現箇所の情報を更新する。
【００４０】
また、索引語が既出で、かつ、出現箇所の情報も既出であれば、対応する出現箇所の出現頻度をインクリメントする。例えば、上記の例で「情報＜名詞＞／検索＜名詞＞／技術＜名詞＞／の＜助詞＞／技術＜名詞＞／動向＜名詞＞」の２番目の「技術」を索引語として選択した場合には、すでに索引データ中には、  
技術      …, did1:doc/head/title:1  
というデータが存在するので、「did1:doc/head/title」の出現頻度をインクリメントし、以下のようにデータを更新する。  
技術      …, did1:doc/head/title:2  
以上のように処理した結果を索引作成部１０２は索引データ格納部１０３に格納する。
【００４１】
（構成要素解析処理）  
□図７は、構成要素分類部１０４の処理手順を示すフローチャートである。構成要素分類部１０４は構造化文書格納部１０１を参照し、構成要素毎の統計情報に基づいて各構成要素を定型表現の第１の構成要素と、非定型表現の第２の構成要素に分類する。さらに、第１の構成要素については、その構成要素のテキストデータを構成する語彙を抽出する。
【００４２】
□図７において、最初に構成要素分類部１０４は、構造化文書格納部１０１を参照し、構成要素毎に一文書あたりの平均テキスト長を統計情報として求める（ステップＳ７０１）。例えば、構造化文書格納部１０１に構成要素「doc/head/title」の部分に以下のテキストデータを有する文書があったとき、  
did1      doc/head/title      情報検索技術の技術動向  
did2      doc/head/title      Ｘ社向け成果物管理システムの見積もり  
did3      doc/head/title      営業連絡先一覧  
□構成要素「doc/head/title」について、文字単位で計算した平均テキスト長は（１１＋１８＋７）／３＝１２．０となる。
【００４３】
□他の構成要素についても同様に平均テキスト長を計算し、図２に例示した構造化文書に含まれる各構成要素について、以下のように求められたものとする。  
doc                   ０．０  
doc/head              ０．０  
doc/head/category      ３．０  
doc/head/author        ３．８  
doc/head/title         １２．０  
doc/body          １０２３．４
このように求められた平均テキスト長を予め定められた基準値と比較し、平均テキスト長が基準値より短い場合は第１の構成要素、平均テキスト長が基準値以上の場合は第２の構成要素として各構成要素を分類する（ステップＳ７０２）。例えば、基準値を８文字とした場合、上記の例では、「doc」，「doc/head」，「doc/head/category」，「doc/head/author」が第１の構成要素、「doc/head/title」 ，「doc/body」が第２の構成要素に分類される。そして、構成要素分類部１０４は、図８に示すように、この分類結果を構成要素名に対応付けて構成要素分類データ格納部１０５に格納する。図８では、第１の構成要素には“１”、第２の構成要素には“２”として構成要素の種類が表されている。
【００４４】
さらに、構成要素分類部１０４は、この分類結果に従い、索引データ格納部１０３中の各索引語について第１の構成要素および第２の構成要素それぞれに出現する割合を計算する（ステップＳ７０３）。例えば、索引語「技術」に関する出現文書の情報が以下のとおりであったとする。  
did1:doc/head/title:2,did1:doc/body:1,did4:doc/head/title:1,did5:doc/head/cateogory:1
構成要素の種類毎に出現する割合は、まず、構成要素毎に当該索引語が何回出現するかを集計する。上記の「技術」の例であれば、以下のようになる。  
doc/head/title              ２  
doc/body                  １  
doc/head/category          １
この集計結果をもとに、構成要素分類部１０４は、構成要素分類データ格納部１０５に格納された構成要素の分類結果を参照し、第１の構成要素で出現した回数と第２の構成要素で出現した回数をそれぞれ求め、各出現回数の割合を計算する。例えば、索引語「技術」については「doc/head/title」と「doc/head/category」が第１の構成要素であることから第１の構成要素での出現回数は３回、「doc/body」が第２の構成要素であることから第２の構成要素での出現回数は１回となる。これらの値から、索引語「技術」については第１の構成要素に出現する割合は３／（３＋１）＝０．７５、第２の構成要素に出現する割合は１／（３＋１）＝０．２５と計算される。
【００４５】
構成要素分類部１０４は、各索引語について第１の構成要素および第２の構成要素の出現割合をそれぞれ計算した後、第１の構成要素の出現割合が予め定められた値より大きい索引語を選択し、その索引語が出現した構成要素名とともに第１の構成要素語彙格納部１０６に格納する（ステップＳ７０４）。例えば、「報告書」について第１の構成要素に出現する割合が０．９５で、第１の構成要素としては「doc/head/category」だけに出現した場合について考える（０．０５の割合で第２の構成要素「doc/head/title」や「doc/body」に出現するものとする）。基準値を０．９とした場合、上記の「技術」は選択されないが、「報告書」は選択され、出現した第１の構成要素の構成要素名「doc/head/category」とともに図９に示す形式で第１の構成要素語彙格納部１０６に格納される。
【００４６】
図９の例では「報告書」の他に「開発」も第１の構成要素の出現割合が０．９以上であったとして第１の構成要素語彙格納部１０６に格納されている。なお、図９では「報告書」は第１の構成要素中に「doc/head/category」にだけ出現するが、「開発」は「doc/head/category」と「doc/head/author」に出現する場合を示している。複数の構成要素に出現する場合は、図９の「開発」のように’，’で区切って構成要素名が列挙される。
【００４７】
なお、上記では各構成要素のテキストデータ全体の長さを基準に構成要素を２種類に分類したが、空白や改行などの予め定められた区切り文字でテキストデータを分割し（以下、単位テキストと呼ぶ）、その平均長で予め定めた基準値により分類してもよい。単位テキストの平均長を基準にすることで、分類コードなどの単語が空白や改行などの区切り文字で列挙されている構成要素を第１の構成要素として判定できるようになる。
【００４８】
あるいは、各構成要素のテキストデータに対して形態素解析を行い、構成要素毎に異なる語彙数（何種類の語がその構成要素で使われたかを示す数）をその構成要素が現われた文書数で割った平均語彙数を統計情報としてもよい。平均語彙数が予め定めた基準値以下の構成要素は第１の構成要素、基準値以上の構成要素は第２の構成要素として分類できる。
【００４９】
また、上記で第２の構成要素と判定された構成要素であっても、予め用意された定型表現を集めた辞書中の語彙、あるいは、定型表現のテンプレートとしての表記パターンに内容が一定以上の割合で合致するものは第１の構成要素と判定するようにしてもよい。辞書としては地名や人名などが考えられる。また、表記パターンとしては以下のように金額や日時などの表現を抽出できるものを用意することが考えられる。  
＜数字列＞円                                        …パターン１  
＜数字列＞年＜数字列＞月＜数字列＞日                …パターン２  
株式会社＜固有名詞＞                                …パターン３  
＜地名＞［＜地名＞…］［＜数字列＞＜助数詞＞…］     …パターン４
上記のパターンでは＜数字列＞は、算用数字、あるいは、漢数字の並びを表し、＜固有名詞＞、＜地名＞、＜助数詞＞は形態素解析で判定された品詞である。住所中の「丁目」や「番」、「号」などは＜助数詞＞と判定される。また、パターン４での「［」、「］」は、省略可能な部分を表し、また、その中の「…」はその前に記載された品詞の語が任意回数繰り返されることを表現している。各構成要素中の文字列について、形態素解析を行い、その結果について上記のパターンとの照合を行う。
【００５０】
例えば、次のような２２文字の文字列について説明する。  
株式会社Ａ社（東京都港区芝浦一丁目１番１号）  
上記文字列を形態素解析した結果は、以下のようになる。  
株式＜名詞＞／会社＜名詞＞／Ａ社＜固有名詞＞／（＜記号＞／東京都＜地名＞／港区＜地名＞／芝浦＜地名＞／一＜数字＞／丁目＜助数詞＞／１＜数字＞／番＜助数詞＞／１＜数字＞／号＜助数詞＞／）＜記号＞  
上記のパターンと照合すると、また、次の部分がパターン３と照合できる。  
株式＜名詞＞／会社＜名詞＞／Ａ社＜固有名詞＞  
また、次の部分がパターン４と照合できる。  
東京都＜地名＞／港区＜地名＞／芝浦＜地名＞／一＜数字＞／丁目＜助数詞＞／１＜数字＞／番＜助数詞＞／１＜数字＞／号＜助数詞＞
この結果、上記の文字列については２２文字中「（」と「）」を除いた２０文字について、すなわち、２０文字／２２文字≒９１％の部分について上記のパターンと照合できたことになる。例えば、平均テキスト長が２０文字以上の構成要素を第２の構成要素と分類する場合でも、例外として、定型表現辞書、パターンに８０％以上が照合できた場合は第１の構成要素と判定する場合、「株式会社Ａ社（東京都港区一丁目１番１号）」が含まれる構成要素の平均テキスト長が２０文字を超えていても平均照合率が８０％以上であれば、第１の構成要素と判定する。
【００５１】
このように、構成要素を第１構成要素と第２構成要素とに分類するための統計情報としては、構成要素のテキストデータ中の語彙と定型表現を集めた辞書中の語彙との合致する割合、あるいは構成要素のテキストデータの表記パターンと予め用意された定型表現のテンプレートの表記パターンとの合致する割合を用いてもよい。
【００５２】
なお、辞書やパターンと照合することにより特定の種類の表現を判定する技術としては固有表現抽出技術がある。固有表現抽出技術については、特許文献３などで公知の技術である。上記の手法に限らずに、公知の固有表現抽出技術を適用し、固有表現として抽出された割合が一定以上のものを第１の構成要素と判定してもよい。さらに、上記では照合率を基準としていたが、それに加えて上記の文献にあるような確信度も基準にして、一定値以上の確信度で照合できた割合を基準としてもよい。
【００５３】
また、上記とは逆に一旦、第１の構成要素と判定されたものについても、特定の種類の語彙が一定割合以上出現するものは第２の構成要素と判定してもよい。例えば、テキスト長などにかかわらず、テキストデータに含まれる品詞の割合、例えば＜助詞＞などの付属語や＜接続詞＞などの接続語の割合が一定値以上出現するものは第２の構成要素と判定するようにする。
【００５４】
例えば、「固有表現抽出装置および方法」のような文字列は長さとしては短いが、形態素解析を行うと「および」が＜接続詞＞と判定され、付属語の割合が３文字／１３文字≒２３％となる。タイトルのような短い文字列から構成されているが、ランキング型の検索の対象とすることが適している構成要素はこの手法を用いることが有効である。第１の構成要素は、比較的短い文字列から構成されているが、ランキング型の検索の対象とすることが適している構成要素はこの手法を用いることが有効である。
【００５５】
さらに、構成要素の親子関係を用いて構成要素の種類を分類するようにしてもよい。例えば、ある構成要素（a/bとする）が第２の構成要素と分類できれば、その子孫にあたる構成要素（a/b/cやa/b/d/eなど）も第２の構成要素と分類してもよい。このようにすることで、文章中の下線や太字のような文字修飾を表現するための構成要素を第２の構成要素と分類できるようになる。
【００５６】
（検索語分類処理）  
図１０は、検索語分類部１０８の処理手順を示すフローチャートである。検索語分類部１０８は、ユーザから入力された検索要求から検索処理に用いる検索語を抽出し、この検索語を後段の絞込み検索部１０９で用いる第１の検索語と、ランキング型検索部１１０で用いる第２の検索語とに分類する。
【００５７】
先ず、検索語分類部１０８は、検索要求入力部１０７により入力された検索要求の検索文字列に対して形態素解析を行い、語単位に分割する（ステップＳ１００１）。検索語分類部１０８は、上記形態素解析の結果に基づいて検索語の抽出を行う（ステップＳ１００２）。検索語の抽出では最初に、第１の構成要素語彙格納部１０６を参照し、その中に有る語は絞込み検索部１０９で用いる第１の検索語として分類する。
【００５８】
上記分類された第１の検索語は、それが出現する第１の構成要素の構成要素名と対応付けられて「検索語：構成要素名，構成要素名，…」の形式で絞込み検索部１０９に供給される。一方、上記分類で残った語からは、上記図６のステップＳ６０５の処理と同様にして品詞に基づいてランキング型検索部１１０で用いる第２の検索語が選択される。第２の検索語は、語の一覧としてランキング型検索部１１０に供給される。
【００５９】
例えば、「情報検索に関する報告書」という検索要求に対しては、形態素解析（ステップＳ１００１）の結果は次のようになる。
【００６０】
情報＜名詞＞／検索＜名詞＞／に＜助詞＞／関する＜サ変動詞＞／報告書＜名詞＞  
この結果の中で「報告書」は第１の構成要素語彙格納部１０６にあることから、「報告書」が出現する構成要素名「doc/head/category」と対応付けられて絞込み検索部１０９に供給される。その他の語については、名詞だけを検索語として選択する場合は、「情報」、「検索」がランキング型検索部１１０に供給される。
【００６１】
なお、上記例では第１の検索語を除いて第２の検索語を分類したが、第１の検索語と第２の検索語とが重複するようにしてもよい。例えば、上記では第１の検索語として分類された「報告書」を除いて第２の検索語を分類したが、「報告書」を除外せずに第２の検索語を分類するようにしてもよい。このようにすると、「報告書」も名詞であることから、第２の検索語として抽出され、「情報」、「検索」、「報告書」がランキング型検索部１１０に供給される。「報告書」は第２の構成要素に出現する割合が０ではないため、このようにすると、除外する場合に比べて検索の再現率を向上させることができる。
【００６２】
（絞込み検索処理）  
図１１は、絞込み検索部１０９の処理手順を示すフローチャートである。絞込み検索部１０９は、上記検索語分類部１０８から供給された第１の検索語と構成要素名とをもとにブール式形式の検索式を生成し、その検索式によってランキング型検索部１１０の検索対象の文書を絞り込む。
【００６３】
検索式は「構成要素名＝‘検索語’」の形式で、構成要素中に検索語が出現する文書を限定するための項を論理演算子ａｎｄ（論理和）やｏｒ（論理積）で結合した形式で表現される。演算子は、原則として左から順番に評価されるが、‘（’と‘）’で囲まれた部分があればその部分は優先的に評価される。
【００６４】
絞込み検索部１０９は、以下のルールに基づいて検索式を生成する（ステップＳ１１０１）。  
ルール１：同一の検索語に複数の構成要素が対応付けられていたら、「構成要素名＝’検索語’」をｏｒで結合した式を‘（）’で囲み、構成要素が１つだけであれば「構成要素名＝’検索語’」だけを生成する  
ルール２：ルール１で複数の検索式が生成された場合は、それらをすべてａｎｄで結合する
例えば、検索語分類部１０８から「報告書：doc/head/category」のみが供給された場合、ルール１から検索式「doc/head/category＝‘報告書’」が生成される。この場合、検索語分類部１０８から供給されたのは１つの検索語だけであることから、ルール１で生成される検索式は１つだけで、ルール２は適用されない。
【００６５】
複数の検索語、例えば、「報告書：doc/head/category」の他に、「開発：doc/head/category, doc/head/author」が供給された場合には、ルール１で「doc/head/category＝‘報告書’」の他に「（doc/head/category＝‘開発’ｏｒdoc/head/author＝‘開発’）」が生成され、それらがルール２によりａｎｄで結合された次の（式１）が最終的な検索式となる。  
doc/head/category＝‘報告書’ａｎｄ（doc/head/category＝‘開発’ｏｒdoc/head/author＝‘開発’）…（式１）
なお、絞込み検索部１０９が検索式を生成するためのルールは上記のルール１とルール２に限定されるものではない。例えば、ルール１で複数の検索式が生成されたときに、それらの検索式の中で参照する構成要素が重複しているものについてはorで接続するなど他のルールを設けてもよい。
【００６６】
絞込み検索部１０９は、このように生成された検索式を評価し、検索対象の文書を絞り込む（ステップＳ１１０２）。例えば、索引データ格納部１０３の中で「報告書」の索引データの出現文書の情報が、  
did1:doc/head/category:1, did7:doc/head/category:1, did9:doc/head/category:1, …  
とすると、検索式「doc/head/category＝‘報告書’」の評価結果は「報告書」が「doc/head/category」に出現する文書｛dic1, dic7, dic9, …}となる。
【００６７】
同様に「開発」の索引データが、  
開発      did1:doc/body:3, did3:doc/head/category:1, did7:doc/head/author:1, …  
であったとき、上記（式１）の評価結果は、
{did1, did7, did9, …} and （{did3, …} or {did7, …}） = {did1, did7, did9, …} and {did3, did7, …} = {did7, …}  
となる。
【００６８】
このように、検索対象として絞り込まれた文書集合は、文書ＩＤの一覧の形式でランキング型検索部１１０に供給される。
【００６９】
（ランキング型検索処理）  
ランキング型検索部１１０は、絞込み検索部１０９で絞り込まれた文書集合に対してランキング型の文書検索（検索スコアにより文書を順位付ける型の文書検索）を行う。ランキング型の文書検索の方式としてはベクトル空間モデルや確率モデルなどの手法が提案されているが、ここではｔｆ・ｉｄｆ方式として知られている文書の検索スコアに基づき、そのスコアの降順に検索結果を出力する。
【００７０】
ｔｆ・ｉｄｆ方式では文書の検索スコアは、文書中に出現する各検索語について、その文書での出現頻度ｔｆ（term frequency）とその検索語の出現文書数に基づき計算されたｉｄｆ（inverted document frequency）の積和、すなわち、図１２に示す式にしたがって計算される。
【００７１】
例えば、検索語分類部１０８より第２の検索語として「情報」と「検索」がランキング型検索部１１０に供給され、かつ索引データ格納部１０３中で「情報」と「検索」の索引データが、  
情報      …, did1:doc/head/title:1, did1:doc/body:5, …  
検索      …, did1:doc/head/title:1, did1:doc/body:3, …  
であった場合、文書「did1」の「情報」の出現頻度は１＋５＝６、「検索」の出現頻度は１＋３＝４とそれぞれ計算できる。
【００７２】
さらに、全文書数Ｎが２５６文書で、「情報」の出現文書ｄｆが３１文書、「検索」の出現文書ｄｆが１５文書であったとき、「情報」のｉｄｆはｌｏｇ（２５６／（３１＋１））＝３．０、「検索」のｉｄｆはｌｏｇ（２５６／（１５＋１））＝４．０となる。この場合の文書「did1」のスコアＳは、次のように計算される（ｌｏｇの底数は２とする）。  
３．０＊６＋４．０＊４＝３４．０
各索引語の出現文書は索引データ格納部１０３中の索引データを参照し、その索引語が何種類の文書に出現したかをカウントすればよい。このようにして、検索結果提示部１１１には、検索スコアの降順に文書ＩＤ、検索スコア、および第２の構成要素の文書要約を一覧とした検索結果が提示される。もちろん、検索スコア計算はtf・idf方式に限定されるものではなく、他の方式により検索スコアを計算してもよい。
【００７３】
なお、文書要約では、第２の構成要素のテキストを図４に例示されたような順番で構造化文書格納部１０１から取得し、例えば予め定められた文字数（例えば１００文字）を超えない範囲で検索語が出現した前後一定数（例えば１０文字）の文字列を取得し、それを‘／’で結合した形式で生成する。構成要素分類データ格納部１０５を参照することにより、構造化文書格納部１０１から所望の文書について第２の構成要素のテキストを取得することは容易である。例えば、検索語「情報」と「検索」に対しては文書「did1」の要約結果は、以下のようになる。  
情報検索技術の技術動向につい／ＷＷＷ上の検索サイトが一般的に利用／…
（要約処理）  
要約処理は、第２の構成要素のテキストデータについて、以下の手順で行う。  
ステップ１：テキスト中で検索語が次に出現する箇所（最初にこのステップを実行する場合には先頭に出現する箇所）、もし、出現箇所が残っていなければ処理を終了する。
【００７４】
ステップ２：検索語の前後１０文字を要約として切り出す。
【００７５】
補足２−１：前後１０文字以内に構成要素の境界があった場合には、それより先は出力しない。
【００７６】
補足２−２：要約中のテキストに切り出したテキストを加えると１００文字を超える場合は処理を終了する。
【００７７】
補足２−３：要約中のテキストに切り出したテキストが包含される場合はステップ１へ戻り、次の出現箇所に進む。
【００７８】
補足２−４：要約中のテキストが、切り出したテキストに包含される場合は、そのテキストを要約から削除する（区切り記号の‘／’は適宜、削除する）。
【００７９】
ステップ３：要約が空でなければ区切り文字‘／’で区切って、ステップ２で切り出したテキストを要約に加えて（空であれば、そのまま要約の先頭にして）、ステップ１に戻る。
【００８０】
図４に示された文書を例にとると、第２の構成要素を上から順番に、すなわち、「doc/head/title」，「doc/body」の順番に検索語「情報」と「検索」が出現する箇所を調べていく。「did1」の文書に対しては、まず、構成要素「doc/head/title」の「情報検索の技術動向について」で、検索語が出現する箇所を探索する。検索語「情報」が先頭に出現し、その前後１０文字を上記のステップ２に従って切り出して、要約に追加する。「情報」は構成要素「doc/head/title」の先頭であるため後ろ１０文字が切り出され、「情報検索の技術動向につい」（テキストＡ）が要約の初期値となる。
【００８１】
次に「検索」が３文字目から出現するので同様に要約のためのテキストを構成要素「doc/head/title」から切り出し、その結果は「情報検索の技術動向について」（テキストＢ）となる。「検索」の前２文字「情報」と後９文字が切り出されているが、どちらも１０文字以内に構成要素の境界に到達したためである。今回、切り出したテキストＢは要約中のテキストＡを包含するため、テキストＡは要約から削除され、テキストＢが要約の初期値となる。これ以上、「情報」と「検索」の出現する箇所はないため、構成要素「doc/head/title」についての処理は終了する。
【００８２】
構成要素「doc/body」についても同様の処理が行われ、先頭の「ＷＷＷサイト上の検索サイトが一般的に利用されるようになり」の部分から「ＷＷＷサイト上の検索サイトが一般的に利用」が切り出される。上記構成要素「doc/head/title」から切り出された要約の初期値にそれが追加されて、図４に示された文書の要約は、「情報検索の技術動向について／ＷＷＷサイト上の検索サイトが一般的に利用」となる。
【００８３】
以上述べたように、上記第１の実施形態では、構造化文書の各構成要素を定型表現の第１構成要素と非定型表現の第２構成要素とに分類し、入力検索文字列に含まれる検索語を第１構成要素に出現する割合がしきい値を超える第１の検索語としきい値以下の第２の検索語とに分類する。そして、複数の構造化文書から第１の検索語を第１構成要素に含む文書集合を抽出する絞り込み検索をした後、上記文書集合を第２の検索語と文書集合中の第２構成要素との間の検索スコアによって順序付けするランキング型の検索を行うようにする。
【００８４】
したがって上記第１の実施形態によれば、キーワードや文形式の検索要求から構造化文書に対して検索対象を絞り込むための検索式を生成することでユーザは文書構造を意識することなく、手軽に検索ノイズの削減などを行って的確な文書検索を実現できる。
【００８５】
（第２の実施形態）  
本発明の第２の実施形態は、ランキング型検索部１１０によって検索された上位一定数の文書から検索文字列の関連語を抽出して、第２の検索語に追加して検索文字列に適合する文書を再検索（疑似適合性フィードバック、あるいは、ローカルフィードバックと呼ばれる方式）するようにしたものである。
【００８６】
図１３は、第２の実施形態の構造化文書検索装置の構成を示したもので、上記図１に示したランキング型検索部１１０の後段に関連語抽出部１３０１および再検索部１３０２を加えたものである。なお、図１３において、上記図１と同様の構成については同一の符号を付し、詳しい説明は省略する。
【００８７】
関連語抽出部１３０１は、上記ランキング型検索部１１０の検索スコアの計算において、ｔｆ・ｉｄｆ方式で検索された上位の文書（第２の検索語に基づいて検索された上位一定数の結果＝初期検索結果の上位一定数の文書）の第２の構成要素のテキストデータをもとに検索文字列に関連する複数の関連語を抽出する。
【００８８】
再検索部１３０２は、関連語抽出部１３０１で抽出された関連語と上記第２の検索語とを用いて検索文字列に適合する文書を再検索する。
【００８９】
図１４は、疑似適合性フィードバックの手順を示すフローチャートである。
【００９０】
図１４において、ランキング型検索部１１０は、上記図１２に示した検索スコアの計算式に基づいて初期検索（第２の検索語に基づいた検索）を実行する（ステップＳ１４０１）。関連語抽出部１３０１は、この検索結果の上位文書から関連語の抽出元となるテキストデータを取得する（ステップＳ１４０２）。疑似適合性フィードバックの詳細については、上述した非特許文献１などを参考にされたい。本実施形態では、関連語抽出部１３０１は、構成要素分類データ格納部１０５を参照し、検索結果の上位一定数の文書それぞれについて第２の構成要素のテキストデータだけを構造化文書格納部１０１から取得する。
【００９１】
関連語抽出部１３０１は、取得されたテキストデータについて形態素解析を行い（ステップＳ１４０３）、図６の品詞による索引語の選択（ステップＳ６０５）や図１０の検索語の抽出・分類（ステップＳ１００２）と同様に、形態素解析の結果から品詞に基づいて関連語の候補を選択する（ステップＳ１４０４）。そして、関連語抽出部１３０１は、図１５に示す式にしたがって、上記選択された関連語の各候補と検索要求との間の関連度を計算し、関連度の大きい順に一定数を関連語として選択する（ステップＳ１４０５）。
【００９２】
再検索部１３０２は、上記検索語分類部１０８から供給された第２の検索語に上記選択された関連語を追加して、図１２に示した検索スコアに基づき再検索を行う（ステップＳ１４０６）。
【００９３】
例えば、「did1」の文書が初期検索「情報検索に関する報告書」の上位に出現した場合、第２の構成要素「doc/head/title」および「doc/body」のテキストデータを取得し、形態素解析などを行った結果、検索要求に含まれない以下の語が関連語の候補として取得される。  
技術、動向、ＷＷＷ、サイト、…  
関連語抽出部１３０１は、他の上位文書から取得した候補も含めて図１５に示す式にしたがって関連度を計算し、関連度の高い順に一定数を関連語として選択する。
【００９４】
上記第２の実施形態のように、疑似適合性フィードバックを採用することで、検索要求中の語が出現する文書に限らずに幅広く文書を検索できるようになる。また、その際に本実施形態では書誌情報のような断片的な情報である第１の構成要素を除外し、第２の構成要素からだけ関連語を取得することで、著者名のような文書内容とは無関係な関連語が取得されることを抑止できる。
【００９５】
上記の手順では、関連語を選択する際に初期検索の上位文書について第２の構成要素のテキストデータを取得し、形態素解析など施しているが、予め、形態素解析などにより関連語の候補となるものを抽出し、構造化文書格納部１０１に抽出元の構成要素と対応付けて格納しておいてもよい。このようにすると、関連語抽出部１３０１で形態素解析などの処理を行うことなく、第２の構成要素をもとに関連語の候補を直接取得し、図１５に示す式で一定数の関連語を選択できるようになる。なお、本発明は図１５の式に基づく疑似適合性フィードバックの手法に留まらずに、他の公知の手法を選択してもよい。
【００９６】
また、上記の疑似適合性フィードバックにおいて、関連語抽出部１３０１により関連語の候補から選択された関連語をそのまま追加するのではなく、ユーザにより選択された関連語だけを追加して再検索するようにしてもよい。具体的には、上記選択された関連語をユーザに提示し、実際に検索に利用する関連語をユーザが選択できるようにする。その際に、第２の構成要素毎に一定数の関連語を取得し、構成要素毎にユーザに提示するようにしてもよい。このようにすることで、構成要素毎に目的や課題の記述などの役割が明確な場合は、それぞれの記述の役割毎に関連語をユーザに提示できるようになる。
【００９７】
図１６に、このように構成した場合の関連部抽出部の機能ブロックを示す。  
関連語取得部１６０１は、上記関連語抽出部１３０１と同様に、ランキング型検索部１１０による検索結果の上位文書の第２の構成要素毎に関連語を取得する。
【００９８】
関連語絞込み部１６０２は、上記関連語取得部１６０１で取得された関連語を取得元の構成要素名と対応した形式で関連語提示部１６０３に提示し、その中で、ユーザが関連語指定部１６０４を介して指定した関連語を再検索部１３０２に出力する。
【００９９】
構成要素名はそのまま表示するのではなく、例えば、  
doc/head/title        表題  
doc/body            本文  
のように構成要素名と表示用の文字列の対応表を備え、関連語は後者と対応付けて提示する。
【０１００】
関連語提示部１６０３はディスプレイ装置のような表示装置、関連語指定部１６０４はマウスやキーボードのような入力装置により構成される。
【０１０１】
図１７は、関連語取得部１６０１の処理手順を示すフローチャートである。  
関連語取得部１６０１は、図１４のステップＳ１４０１と同様に、ランキング型検索部１１０により初期検索を行う（ステップＳ１７０１）。その結果の上位一定数の文書について、第２の構成要素毎に以降の処理を実行する。まず、関連語取得部１６０１は、初期検索結果の上位文書の中に含まれる第２の構成要素名を一つずつ取り出し（ステップＳ１７０２）、未処理の構成要素が残っていなかったら関連語取得処理を終了する（ステップＳ１７０３）。上位文書に含まれている第２の構成要素名は、図４に例示されている図１の構造化文書格納部１０１と図８に例示されている構成要素分類データ格納部１０５を照合することで取得できる。具体的には、初期検索（ステップＳ１７０１）の結果の上位から順番に構造化文書格納部１０１を参照し、着目している文書中にどのような構成要素が含まれているかを調べ、各構成要素について構成要素分類データ格納部１０５を参照して、その種別を判定する。
【０１０２】
図１７のステップＳ１７０３では、関連語取得部１６０１は、処理済みの構成要素名の一覧を保持するようにしておき、着目している第２の構成要素が処理済みか、あるいは、未処理であるかをその一覧に基づいて判定する。新たに未処理と判定された構成要素に含まれるテキストデータを上位文書の文書毎に取得する（ステップＳ１７０４）。
【０１０３】
形態素解析（ステップＳ１７０５）、関連語候補の選択（ステップＳ１７０６）、関連語の選択（ステップＳ１７０７）は、図１４のステップＳ１４０３〜Ｓ１３０５と同様の処理である。関連語取得部１６０１は、これらの処理をステップＳ１７０４で取得したテキストデータそれぞれに対して実行し、選択した関連語を構成要素名とともに関連語絞込み部１６０２に出力する。
【０１０４】
図１８に、関連語提示部１６０３に提示される画面構成の一例を示す。構成要素の表示用の名称（図１８中の「表題」および「本文」）の後に、図１７の処理により取得した関連語（「表題」について技術，製品、および「本文」についてＷＷＷ，エンタープライズ）が表示される。各関連語はパーソナル・コンピュータなどのＧＵＩ（Graphical User Interface）で用いられるチェックボックスと共に表示される。図１8の画面例ではチェックボックスをマウスなどのポインティングデバイスで指定すると、当該チェックボックスに対応する関連語が選択されたものと見なされる。図１８中の「検索」、「クリア」はＧＵＩ上のボタンであり、「検索」ボタンが押下されると、再検索部１３０２は、ステップＳ１４０６と同様に、検索語分類部１０８から供給された第２の検索語に上記選択された関連語を追加して、再検索処理を実行する。「クリア」ボタンが押下されると、すべての関連語が未選択の状態に戻される。
【０１０５】
このように、関連語を構成要素に対応付けて提示することで、構成要素毎に目的や課題の記述などの役割が明確な場合は、ユーザはそれぞれの記述の役割に対応する関連語を選択できるようになる。このようにすることで、さらにユーザの検索目的に適合する検索結果を容易に得られるようになる。
【０１０６】
図１９に、第２の実施形態による検索フローの具体例を示す。ユーザが検索要求入力部１０７において検索文字列として「Ａ社  Ｇ０６Ｆ  電子番組表からのキーワード抽出」を入力したものとする。検索語分類部１０８は、第１の検索語として「Ａ社」と「Ｇ０６Ｆ」を分類し、第２の検索語として「電子番組表からのキーワード抽出」を分類する。
【０１０７】
絞込み検索部１０９は、上記抽出された第１の検索語を用いて図１９に示すような検索式を生成して、検索対象の文書の絞込みを行う。図１９では「Ａ社」がpatent/head/applicant、「Ｇ０６Ｆ」がpatent/head/ipcのいずれも第１構成要素に分類される構成要素に出現する場合について検索式の生成例を示している。さらに、ランキング型検索部１１０は、第２の検索語として分類された「電子番組表からのキーワード抽出」を用いて、上記絞り込まれた文書集合に対してランキング形式の検索を行う。関連語抽出部１３０１は、ランキング型検索部１１０の検索結果の上位文書の第２の構成要素のテキストデータから関連語を抽出する。
【０１０８】
したがって上記第１及び第２の実施形態によれば、キーワードや文形式の検索要求から構造化文書に対して検索対象を絞り込むための検索式を生成することでユーザは文書構造を意識することなく、手軽に検索ノイズの削減などを行って的確な文書検索を実現できる。また、文書の中の適切な範囲を対象にランキング型の検索や関連語の取得を行うことで検索精度の向上や適切な検索ナビゲーションを実現できる。
【０１０９】
なお、この発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、各実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【０１１０】
【図１】本発明の第１の実施形態に係る構造化文書検索装置のブロック図。
【図２】構造化文書の一例を示す図。
【図３】図２に示した構造化文書を木構造で表した図。
【図４】構造化文書格納部に格納されるデータ構成の一例を示す図。
【図５】索引データ格納部に格納されるデータ構成の一例を示す図。
【図６】索引作成部の処理手順を示すフローチャート。
【図７】構成要素分類部の処理手順を示すフローチャート。
【図８】構成要素分類データ格納部に格納されるデータ構成の一例を示す図。
【図９】構成要素別語彙格納部に格納されるデータ構成の一例を示す図。
【図１０】検索語分類部の処理手順を示すフローチャート。
【図１１】絞込み検索部の処理手順を示すフローチャート。
【図１２】検索スコアの算出式を示した図。
【図１３】本発明の第２の実施形態に係る構造化文書検索装置のブロック図。
【図１４】疑似適合性フィードバックの処理手順を示すフローチャート。
【図１５】関連語候補スコアの算出式を示した図。
【図１６】関連語抽出部の他の構成例を示すブロック図。
【図１７】関連語取得部の処理手順を示すフローチャート。
【図１８】関連語提示部に提示される画面構成の一例を示す図。
【図１９】第２の実施形態による検索フローの具体例を示す図。
【符号の説明】
【０１１１】
１０１・・・構造化文書格納部
１０２・・・索引作成部
１０３・・・索引データ格納部
１０４・・・構成要素分類部
１０５・・・構成要素分類データ格納部
１０６・・・第１の構成要素語彙格納部
１０７・・・検索要求入力部
１０８・・・検索語分類部
１０９・・・絞込み検索部
１１０・・・ランキング型検索部
１１１・・・検索結果提示部
１３０１・・・関連語抽出部
１３０２・・・再検索部
１６０１・・・関連語取得部
１６０２・・・関連語絞込み部
１６０３・・・関連語提示部
１６０４・・・関連語指定部
【図１】
0005269399.tif 000002
【図２】
0005269399.tif 000003
【図３】
0005269399.tif 000004
【図４】
0005269399.tif 000005
【図５】
0005269399.tif 000006
【図６】
0005269399.tif 000007
【図７】
0005269399.tif 000008
【図８】
0005269399.tif 000009
【図９】
0005269399.tif 000010
【図１０】
0005269399.tif 000011
【図１１】
0005269399.tif 000012
【図１２】
0005269399.tif 000013
【図１３】
0005269399.tif 000014
【図１４】
0005269399.tif 000015
【図１５】
0005269399.tif 000016
【図１６】
0005269399.tif 000017
【図１７】
0005269399.tif 000018
【図１８】
0005269399.tif 000019
【図１９】
0005269399.tif 000020