(57)【要約】【課題】単語や句といった文要素間の意味的関係の表記と当該意味的関係により規定される概念を検索条件とした検索とを可能とする。【解決手段】所定言語の文書のデータベースを管理する管理サーバ３０は、文書データ６０と上記言語の文法情報および単語情報とを用いて文書の構文解析を実行する構文解析部３２と、構文解析の結果に基づいて文書中のセンテンスと当該センテンスに含まれる句と単語とにそれぞれ対応した属性が記述される所定のタグを付与すると共に、センテンス中の述語に相当する単語等に付与されたタグと当該述語の項となる句等に付与されたタグとを属性により対応付けし、タグ、単語およびタグの属性の各々の記述位置と階層深さとを示すインデックスを出力するインデックス作成部３４と、出力されたインデックスを文書データ６０ごとに保持するインデックス保持部３５とを含む。【選択図】図１
2008021270.tif 000002
【特許請求の範囲】
【請求項１】
所定言語からなるセンテンスを示すデータを文法上の意味的な注釈を含む構造化データに変換するデータ変換装置であって、
前記データと前記所定言語の文法情報および単語情報とを用いて前記センテンスの構文解析を実行する構文解析手段と、
前記構文解析手段による構文解析の結果に基づいて、それぞれ対応した属性が記述される所定のタグを前記センテンスに含まれる句と単語とに付与すると共に前記センテンス中の述語に相当する句または単語に付与されたタグと該述語の項となる句または単語に付与されたタグとを前記属性により対応付けした上で、前記タグ、前記単語および前記タグの属性の各々の記述位置と階層深さとを示すインデックスを前記構造化データとして出力する構造化データ出力手段と、
を備えるデータ変換装置。
【請求項２】
前記構文解析手段は、ＨＰＳＧに基づく構文解析を実行して前記センテンスの構文木および述語項構造を取得するパーザである請求項１に記載のデータ変換装置。
【請求項３】
請求項１または２に記載のデータ変化装置において、
所定の用語情報に基づいて前記センテンスに含まれる句または単語の各々について該句または単語が一つの実体的意味で括られるものであるか否かを判定すると共に前記句または単語が前記実体的意味で括られるものであるときには該実体的意味を取得する用語認識手段を更に備え、
前記構造化データ出力手段は、前記取得された実体的意味を示す属性値を対応したタグの所定の属性に記述するデータ変換装置。
【請求項４】
所定言語からなるセンテンスを示すデータを文法上の意味的な注釈を含む構造化データに変換するためのデータ変換方法であって、
（ａ）前記データと前記所定言語の文法情報および単語情報とを用いて前記センテンスの構文解析を実行するステップと、
（ｂ）ステップ（ａ）の構文解析の結果に基づいて、それぞれ対応した属性が記述される所定のタグを前記センテンスに含まれる句と単語とに付与すると共に前記センテンス中の述語に相当する句または単語に付与されたタグと該述語の項となる句または単語に付与されたタグとを前記属性により対応付けした上で、前記タグ、前記単語および前記タグの属性の各々の記述位置と階層深さとを示すインデックスを前記構造化データとして出力するステップと、
を含むデータ変換方法。
【請求項５】
所定言語からなる文書の文書データを複数蓄積したデータベースを管理するデータベース管理装置であって、
前記文書データと前記所定言語の文法情報および単語情報とを用いて前記文書の構文解析を実行する構文解析手段と、
前記構文解析手段による構文解析の結果に基づいて前記文書中のセンテンスと該センテンスに含まれる句と単語とにそれぞれ対応した属性が記述される所定のタグを付与すると共に、前記センテンス中の述語に相当する句または単語に付与されたタグと該述語の項となる句または単語に付与されたタグとを前記属性により対応付けした上で、前記タグ、前記単語および前記タグの属性の各々の記述位置と階層深さとを示すインデックスを出力するインデックス出力手段と、
前記インデックス出力手段により出力されたインデックスを前記文書データごとに保持するインデックス保持手段と、
を備えるデータベース管理装置。
【請求項６】
所定言語からなる文書の文書データを複数蓄積したデータベースを管理するためのデータベース管理方法であって、
（ａ）前記文書データと前記所定言語の文法情報および単語情報とを用いて前記文書の構文解析を実行するステップと、
（ｂ）ステップ（ａ）の構文解析の結果に基づいて前記文書中のセンテンスと該センテンスに含まれる句と単語とにそれぞれ対応した属性が記述される所定のタグを付与すると共に、前記センテンス中の述語に相当する句または単語に付与されたタグと該述語の項となる句または単語に付与されたタグとを前記属性により対応付けした上で、前記タグ、前記単語および前記タグの属性の各々の記述位置と階層深さとを示すインデックスを出力すると共に前記文書データごとに保持するステップと、
を含むデータベース管理方法。
【請求項７】
所定言語からなる文書の文書データを複数蓄積したデータベースを検索するためのデータベース検索システムであって、
前記文書中のセンテンスと該センテンスに含まれる句と単語との各々に付与された所定のタグ、前記単語および前記タグに記述される属性の各々の記述位置と階層深さとを示すと共に前記センテンス中の述語に相当する句または単語に付与されたタグと該述語の項となる句または単語に付与されたタグとを前記属性により対応付けするように前記文書データごとに作成されたインデックスを保持するインデックス保持手段と、
複数の検索単語と該検索単語間の述語項関係とを検索条件として受け付け可能な受付手段と、
前記インデックス保持手段により保持されているインデックスに基づいて、前記受け付けられた検索単語をすべて含むタグ領域を抽出する抽出手段と、
前記インデックスに基づいて、前記抽出手段により抽出されたタグ領域に含まれる前記検索単語に対応したタグ間で前記受け付けられた述語項関係に合致した対応付けがなされているか否かを判定する判定手段と、
前記判定手段による判定結果に基づいて検索結果を出力する検索結果出力手段と、
を備えるデータベース検索システム。
【請求項８】
請求項７に記載のデータベース検索システムにおいて、
前記インデックスでは、前記センテンス中の述語に相当する句または単語に対応したタグの所定の属性と該述語の項となる句または単語に対応したタグの所定の属性とに属性値として同一の値が設定されており、
前記判定手段は、前記インデックスに基づいて前記属性値として同一の値が記述されている前記検索単語に対応したタグの対の有無を判定するデータベース検索システム。
【請求項９】
請求項８に記載のデータベース検索システムにおいて、
前記単語ごとに前記データベースにおける出現頻度を記憶する出現頻度記憶手段を更に備え、
前記判定手段は、互いに述語項関係にある前記検索単語のうちの前記出現頻度がより小さい一方の検索単語に対応したタグに記述されている前記属性値を変数として該変数の値を取得し、取得した変数の値に一致する前記属性値が設定されている他方の前記検索単語に対応したタグが存在するか否かを判定するデータベース検索システム。
【請求項１０】
請求項９に記載のデータベース検索システムにおいて、
前記受け付けられた検索単語と前記述語項関係とに基づいて、該述語項関係を対応付けする属性値を変数とした検索クエリを設定する検索クエリ設定手段を更に備え、
前記抽出手段は、前記設定された検索クエリに現れる最大の検索対象領域である最大検索領域を識別すると共に前記受け付けられた検索単語をすべて含む最大検索領域の開始タグおよび終了タグを抽出し、
前記判定手段は、前記設定された検索クエリを分解して得られる前記検索単語の何れかと前記変数とを含む少なくとも一つの部分クエリから該変数を除いたクエリを実行し、実行結果として返された前記変数の値を代入した前記検索クエリに合致する前記最大検索領域が存在するか否かを判定するデータベース検索システム。
【請求項１１】
前記インデックスは、前記文書データと前記所定言語の文法情報および単語情報とを用いた前記文書の構文解析の結果に基づいて予め作成されている請求項７から１０の何れかに記載のデータベース検索システム。
【請求項１２】
所定言語からなる文書の文書データを複数蓄積したデータベースを検索するためのデータベース検索方法であって、
（ａ）前記文書中のセンテンスと該センテンスに含まれる句と単語との各々に付与された所定のタグ、前記単語および前記タグに記述される属性の各々の記述位置と階層深さとを示すと共に前記センテンス中の述語に相当する句または単語に付与されたタグと該述語の項となる句または単語に付与されたタグとを前記属性により対応付けするように前記文書データごとに作成されたインデックスを予め作成・保持しておくステップと、
（ｂ）複数の検索単語と該検索単語間の述語項関係とを検索条件として受け付けるステップと、
（ｃ）前記インデックスに基づいて、前記受け付けられた検索単語をすべて含むタグ領域を抽出するステップと、
（ｄ）前記インデックスに基づいて、ステップ（ｃ）で抽出されたタグ領域に含まれる前記検索単語に対応したタグ間で前記受け付けられた述語項関係に合致した対応付けがなされているか否かを判定するステップと、
（ｅ）ステップ（ｄ）における判定結果に基づいて検索結果を出力するステップと、
を含むデータベース検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定言語からなるセンテンスを示すデータを文法上の意味的な注釈が付与された構造化データに変換するデータ変換装置および方法、所定言語からなる文書の文書データを複数蓄積したデータベースを管理するためのデータベース管理装置および方法、ならびに所定言語からなる文書の文書データを複数蓄積したデータベースを検索するためのデータベース検索システムおよび方法に関する。
【背景技術】
【０００２】
従来から、文書等の意味や構造を記述するためのマークアップ言語として、XML（Extensible Markup Language）が知られており、XMLを用いて構造化された文書データを蓄積した文書データベースも徐々に普及しつつある。また、このようなXMLデータベースの検索に用いられる問い合わせ言語としては、XPath（非特許文献１参照。）やXQuery（非特許文献２参照。）等が知られている。
【非特許文献１】XML Path Language (XPath) Version 1.0 W3C Recommendation 16 November 1999，インターネット< http://www.w3.org/TR/xpath >
【非特許文献２】XQuery 1.0: An XML Query Language W3C Candidate Recommendation 8 June 2006，インターネット< http://www.w3.org/TR/xquery/ >
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、近年では、様々な分野において文献や学術論文といった文書の大規模なデータベース化が進められており、それに伴い、大規模な文書データベースを効率よく検索可能とする技術に対するニーズも高まっている。この場合、学術論文等に対して一般的なキーワード検索を適用しても、検索キーワードのすべてを含む文書が検索結果として出力されるだけであるから、所望の文書に的確かつ迅速にアクセスできるようにするには、例えば文書中の述語とその項との対応関係といった文要素（単語や句）間の意味的な関係により規定される概念である関係概念をも検索条件として設定できるようにすべきである。しかしながら、文要素間の意味的な関係は、極めて複雑に入り組んだものであることが多く、XMLにより文要素間の意味的な関係をも含めて文書を表記すると、データ構造が極めて複雑なものとなってしまい、XPathやXQueryといった問い合わせ言語を用いても上述のような関係概念を検索条件とした検索を迅速かつ高精度に実行することは極めて困難となる。
【０００４】
そこで、本発明によるデータ変換装置および方法は、単語や句といった文要素間の意味的な関係の表記と当該意味的な関係により規定される概念を検索条件とした検索とを可能とする構造化データを提供することを目的とする。また、本発明によるデータベース管理装置および方法ならびにデータベース検索システムおよび方法は、文書データを複数蓄積したデータベースを単語や句といった文要素間の意味的な関係により規定される概念を検索条件として検索可能とすることを目的とする。
【課題を解決するための手段】
【０００５】
本発明によるデータ変換装置および方法、データベース管理装置および方法、ならびにデータベース検索システムおよび方法は、上述の目的の少なくとも一部を達成するために以下の手段を採っている。
【０００６】
本発明によるデータ変換装置は、
所定言語からなるセンテンスを示すデータを文法上の意味的な注釈を含む構造化データに変換するデータ変換装置であって、
前記データと前記所定言語の文法情報および単語情報とを用いて前記センテンスの構文解析を実行する構文解析手段と、
前記構文解析手段による構文解析の結果に基づいて、それぞれ対応した属性が記述される所定のタグを前記センテンスに含まれる句と単語とに付与すると共に前記センテンス中の述語に相当する句または単語に付与されたタグと該述語の項となる句または単語に付与されたタグとを前記属性により対応付けした上で、前記タグ、前記単語および前記タグの属性の各々の記述位置と階層深さとを示すインデックスを前記構造化データとして出力する構造化データ出力手段と、
を備えるものである。
【０００７】
このデータ変換装置では、所定言語からなるセンテンスを示すデータを構造化データへと変換するに際して、まず、当該センテンスを示すデータと上記所定言語の文法情報および単語情報とを用いたセンテンスの構文解析が実行される。そして、構文解析の結果に基づいて、センテンスに含まれる句と単語とにはそれぞれ対応した属性（属性名、存在する場合には更に属性値）が記述される所定のタグが付与されると共に、センテンス中の述語に相当する句または単語に付与されたタグと当該述語の項となる句または単語に付与されたタグとが属性を用いて対応付けされ、最終的に、タグ、単語およびタグの属性の各々の記述位置と階層深さとを示すインデックスが構造化データとして出力される。これにより、構造化データすなわちインデックスには、タグ、単語およびタグの属性の各々の実質的なアドレスが示されることになるので、タグを用いて構造化されるセンテンスにおいて述語とその項とが複雑に入り組んでいたとしても、インデックスである構造化データを参照すれば、開始タグと終了タグとの対応関係により規定されるセンテンスの構文木や、述語に相当する単語等に付与されたタグと当該述語の項となる句等に付与されたタグとの対応関係により規定されるセンテンス中の述語項構造を容易に特定することが可能となる。従って、このデータ変換装置によれば、センテンス中の述語（述部）と項との間の意味的な関係である述語項関係の表記と、そのような意味的な関係により規定される概念を検索条件とした検索とを可能とする構造化データを実現することができる。
【０００８】
また、本発明によるデータ変換装置において、前記構文解析手段は、ＨＰＳＧに基づく構文解析を実行して前記センテンスの構文木および述語項構造を取得するパーザであってもよい。これにより、センテンスをより精度よく構文解析して、インデックスにおける述語と項との対応付けをより適正なものとすることが可能となる。
【０００９】
更に、本発明によるデータ変換装置は、所定の用語情報に基づいて前記センテンスに含まれる句または単語の各々について該句または単語が一つの実体的意味で括られるものであるか否かを判定すると共に前記句または単語が前記実体的意味で括られるものであるときには該実体的意味を取得する用語認識手段を更に備えてもよく、前記構造化データ出力手段は、前記取得された実体的意味を示す属性値を対応したタグの所定の属性に記述するものであってもよい。これにより、インデックスにおいて、実質的に同一の意味（概念）を示すにも拘わらず表層的表現が異なっている句または単語に対応したタグに同一の実体的意味を示す属性値が記述されることになるので、当該インデックスである構造化データを用いれば、同一の実体的意味をもつ句や単語、あるいはそれを含むセンテンス等の検索を容易に実行可能となる。
【００１０】
本発明によるデータ変換方法は、
所定言語からなるセンテンスを示すデータを文法上の意味的な注釈を含む構造化データに変換するためのデータ変換方法であって、
（ａ）前記データと前記所定言語の文法情報および単語情報とを用いて前記センテンスの構文解析を実行するステップと、
（ｂ）ステップ（ａ）の構文解析の結果に基づいて、それぞれ対応した属性が記述される所定のタグを前記センテンスに含まれる句と単語とに付与すると共に前記センテンス中の述語に相当する句または単語に付与されたタグと該述語の項となる句または単語に付与されたタグとを前記属性により対応付けした上で、前記タグ、前記単語および前記タグの属性の各々の記述位置と階層深さとを示すインデックスを前記構造化データとして出力するステップと、
を含むものである。
【００１１】
この方法により得られるインデックスである構造化データを参照すれば、開始タグと終了タグとの対応関係により規定されるセンテンスの構文木や、述語に相当する単語等に付与されたタグと当該述語の項となる句等に付与されたタグとの対応関係により規定されるセンテンス中の述語項構造を容易に特定することが可能となる。従って、この方法によれば、センテンス中の述語と項との間の意味的な関係である述語項関係の表記と、そのような意味的な関係により規定される概念を検索条件とした検索とを可能とする構造化データを実現することができる。
【００１２】
本発明によるデータベース管理装置は、
所定言語からなる文書の文書データを複数蓄積したデータベースを管理するデータベース管理装置であって、
前記文書データと前記所定言語の文法情報および単語情報とを用いて前記文書の構文解析を実行する構文解析手段と、
前記構文解析手段による構文解析の結果に基づいて前記文書中のセンテンスと該センテンスに含まれる句と単語とにそれぞれ対応した属性が記述される所定のタグを付与すると共に、前記センテンス中の述語に相当する句または単語に付与されたタグと該述語の項となる句または単語に付与されたタグとを前記属性により対応付けした上で、前記タグ、前記単語および前記タグの属性の各々の記述位置と階層深さとを示すインデックスを出力するインデックス出力手段と、
前記インデックス出力手段により出力されたインデックスを前記文書データごとに保持するインデックス保持手段と、
を備えるものである。
【００１３】
このデータベース管理装置では、例えば新たな文書の文書データがデータベースに蓄積されるに際して、当該文書データと所定言語の文法情報および単語情報とを用いた文書の構文解析が実行される。そして、構文解析の結果に基づいて、文書中のセンテンスと当該センテンスに含まれる句と単語とにはそれぞれ対応した属性が記述される所定のタグが付与されると共に、センテンス中の述語に相当する句または単語に付与されたタグと当該述語の項となる句または単語に付与されたタグとが属性を用いて対応付けされた上で、タグ、単語およびタグの属性の各々の記述位置と階層深さとを示すインデックスが構造化データとして出力され、上記新たな文書と対応付けされて保持される。このように、文書データごとに上述のようなインデックスを保持しておけば、インデックスを参照することにより、開始タグと終了タグとの対応関係により規定される文書中のセンテンスの構文木や、述語に相当する単語等に付与されたタグと該述語の項となる句等に付与されたタグとの対応関係により規定されるセンテンス中の述語項構造を容易に特定することができる。従って、このデータベース管理装置によれば、文書データを複数蓄積したデータベースを単語や句といった文要素間の意味的な関係により規定される概念を検索条件として検索することが可能となる。
【００１４】
本発明によるデータベース管理方法は、
所定言語からなる文書の文書データを複数蓄積したデータベースを管理するためのデータベース管理方法であって、
（ａ）前記文書データと前記所定言語の文法情報および単語情報とを用いて前記文書の構文解析を実行するステップと、
（ｂ）ステップ（ａ）の構文解析の結果に基づいて前記文書中のセンテンスと該センテンスに含まれる句と単語とにそれぞれ対応した属性が記述される所定のタグを付与すると共に、前記センテンス中の述語に相当する句または単語に付与されたタグと該述語の項となる句または単語に付与されたタグとを前記属性により対応付けした上で、前記タグ、前記単語および前記タグの属性の各々の記述位置と階層深さとを示すインデックスを出力すると共に前記文書データごとに保持するステップと、
を含むものである。
【００１５】
この方法のように、文書データごとに上述のようなインデックスを保持しておけば、インデックスを参照することにより、開始タグと終了タグとの対応関係により規定される文書中のセンテンスの構文木や、述語に相当する単語等に付与されたタグと当該述語の項となる句等に付与されたタグとの対応関係により規定されるセンテンス中の述語項構造を容易に特定することができる。従って、この方法によれば、文書データを複数蓄積したデータベースを単語や句といった文要素間の意味的な関係により規定される概念を検索条件として検索することが可能となる。
【００１６】
本発明によるデータベース検索システムは、
所定言語からなる文書の文書データを複数蓄積したデータベースを検索するためのデータベース検索システムであって、
前記文書中のセンテンスと該センテンスに含まれる句と単語との各々に付与された所定のタグ、前記単語および前記タグに記述される属性の各々の記述位置と階層深さとを示すと共に前記センテンス中の述語に相当する句または単語に付与されたタグと該述語の項となる句または単語に付与されたタグとを前記属性により対応付けするように前記文書データごとに作成されたインデックスを保持するインデックス保持手段と、
複数の検索単語と該検索単語間の述語項関係とを検索条件として受け付け可能な受付手段と、
前記インデックス保持手段により保持されているインデックスに基づいて、前記受け付けられた検索単語をすべて含むタグ領域を抽出する抽出手段と、
前記インデックスに基づいて、前記抽出手段により抽出されたタグ領域に含まれる前記検索単語に対応したタグ間で前記受け付けられた述語項関係に合致した対応付けがなされているか否かを判定する判定手段と、
前記判定手段による判定結果に基づいて検索結果を出力する検索結果出力手段と、
を備えるものである。
【００１７】
このデータベース検索システムは、文書データごとに作成されたインデックスを保持するインデックス保持手段を備えており、文書データごとのインデックスは、それぞれ対応した文書中のセンテンスと当該センテンスに含まれる句と単語との各々に付与された所定のタグ、単語およびタグに記述される属性の各々の記述位置と階層深さとを示すと共にセンテンス中の述語に相当する句または単語に付与されたタグと当該述語の項となる句または単語に付与されたタグとを属性により対応付けするものである。従って、インデックスを参照すれば、開始タグと終了タグとの対応関係により規定される文書中のセンテンスの構文木や、述語に相当する単語等に付与されたタグと当該述語の項となる句等に付与されたタグとの対応関係により規定されるセンテンス中の述語項構造を容易に特定することができる。これを踏まえて、このデータベース検索システムでは、複数の検索単語と当該検索単語間の述語項関係とが検索条件として受け付けられると、まず、インデックスに基づいて、受け付けられた検索単語をすべて含むタグ領域が抽出される。更に、上記インデックス、すなわち述語に相当する単語等に付与されたタグと当該述語の項となる句等に付与されたタグとを対応付けする属性に基づいて、抽出されたタグ領域に含まれる検索単語に対応したタグ間で検索条件として受け付けられた述語項関係に合致した対応付けがなされているか否かが判定され、その判定の結果に基づいて検索結果が出力される。これにより、文書データを複数蓄積したデータベースを単語や句といった文要素間の意味的な関係により規定される概念を検索条件として検索することが可能となる。
【００１８】
また、前記インデックスでは、前記センテンス中の述語に相当する句または単語に対応したタグの所定の属性と該述語の項となる句または単語に対応したタグの所定の属性とに属性値として同一の値が設定されていてもよく、前記判定手段は、前記インデックスに基づいて前記属性値として同一の値が記述されている前記検索単語に対応したタグの対の有無を判定するものであってもよい。これにより、より精度のよい検索結果を迅速に得ることが可能となる。
【００１９】
この場合、本発明によるデータベース検索システムは、前記単語ごとに前記データベースにおける出現頻度を記憶する出現頻度記憶手段を更に備えてもよく、前記判定手段は、互いに述語項関係にある前記検索単語のうちの前記出現頻度がより小さい一方の検索単語に対応したタグに記述されている前記属性値を変数として該変数の値を取得し、取得した変数の値に一致する前記属性値が設定されている他方の前記検索単語に対応したタグが存在するか否かを判定するものであってもよい。このように、出現頻度がより小さい一方の検索単語に対応したタグに記述されている属性値を変数とすれば、取得される変数値の数がより少なくなり、その分だけ判定対象とすべき他方の検索単語に対応したタグの数を減らすことができるので、属性値として同一の値が記述されている検索単語に対応したタグの対の有無を短時間で効率よく判定することが可能となる。
【００２０】
更に、本発明によるデータベース検索システムは、前記受け付けられた検索単語と前記述語項関係とに基づいて、該述語項関係を対応付けする属性値を変数とした検索クエリを設定する検索クエリ設定手段を更に備えてもよく、前記抽出手段は、前記設定された検索クエリに現れる最大の検索対象領域である最大検索領域を識別すると共に前記受け付けられた検索単語をすべて含む最大検索領域の開始タグおよび終了タグを抽出し、前記判定手段は、前記設定された検索クエリを分解して得られる前記検索単語の何れかと前記変数とを含む少なくとも一つの部分クエリから該変数を除いたクエリを実行し、実行結果として返された前記変数の値を代入した前記検索クエリに合致する前記最大検索領域が存在するか否かを判定するものであってもよい。
【００２１】
そして、前記インデックスは、前記文書データと前記所定言語の文法情報および単語情報とを用いた前記文書の構文解析の結果に基づいて予め作成されているものであってもよい。これにより、実際の検索処理の負担を軽減して検索条件の入力から検索結果の出力までに要する時間を短縮化することが可能となる。
【００２２】
本発明によるデータベース検索方法は、
所定言語からなる文書の文書データを複数蓄積したデータベースを検索するためのデータベース検索方法であって、
（ａ）前記文書中のセンテンスと該センテンスに含まれる句と単語との各々に付与された所定のタグ、前記単語および前記タグに記述される属性の各々の記述位置と階層深さとを示すと共に前記センテンス中の述語に相当する句または単語に付与されたタグと該述語の項となる句または単語に付与されたタグとを前記属性により対応付けするように前記文書データごとに作成されたインデックスを予め作成・保持しておくステップと、
（ｂ）複数の検索単語と該検索単語間の述語項関係とを検索条件として受け付けるステップと、
（ｃ）前記インデックスに基づいて、前記受け付けられた検索単語をすべて含むタグ領域を抽出するステップと、
（ｄ）前記インデックスに基づいて、ステップ（ｃ）で抽出されたタグ領域に含まれる前記検索単語に対応したタグ間で前記受け付けられた述語項関係に合致した対応付けがなされているか否かを判定するステップと、
（ｅ）ステップ（ｄ）における判定結果に基づいて検索結果を出力するステップと、
を含むものである。
【００２３】
この方法によれば、文書データを複数蓄積したデータベースを単語や句といった文要素間の意味的な関係により規定される概念を検索条件として検索することが可能となる。
【発明を実施するための最良の形態】
【００２４】
次に、実施例を参照しながら本発明を実施するための最良の形態について説明する。
【実施例】
【００２５】
図１は、本発明の一実施例に係るデータベース検索システム２０の概略構成図である。同図に示すように、実施例のデータベース検索システム２０は、主として、データベース化された膨大なデータを記憶するデータ記憶装置２１と、データ記憶装置２１上のデータベースを管理すると共に当該データベースの検索を可能とする管理サーバ３０とから構成されるものである。実施例のデータベースは、所定言語（例えば英語）で記載された所定分野の文献や学術論文といった文書の文書データ６０を多数蓄積した文書データベースとして構築されている。また、管理サーバ３０は、図示しないサーバＣＰＵ，ＲＯＭ，ＲＡＭ、システムバス、各種インターフェース、記憶装置、外部記憶装置等を含むものであり、この管理サーバ３０には、例えばインターネット等のネットワークを介して端末５０からアクセスすることができるようになっている。そして、管理サーバ３０には、図１に示すように、サーバＣＰＵやＲＯＭ，ＲＡＭ、各種インターフェース、記憶装置といったハードウエアと、予めインストールされた各種プログラムとの一方または双方の協働により、文書入力部３１、構文解析部３２、用語認識部３３、インデックス作成部３４、インデックス保持部３５、入力受付部３６、検索処理部（検索エンジン）３７および結果出力部３８が機能ブロックとして構築されている。
【００２６】
文書入力部３１は、所定のデータ形式（例えばテキスト形式）で記述された所定言語の文書を示す文書データ６０の入力を受け付け、受け付けた文書データ６０をデータ記憶装置２１に格納すると共に当該文書データ６０を構文解析部３２と用語認識部３３とに与える。構文解析部３２は、文書入力部３１からの文書データ６０とそれに示される文書の言語の文法情報（文法規則）および単語情報（辞書）とを用いて文書データ６０に示される文書の構文解析を実行するものである。実施例の構文解析部３２は、ＨＰＳＧ（Head-Driven Phrase Structure Grammar）に基づく構文解析を実行して当該文書中のセンテンス（文）の構文木および述語項構造を取得するパーザとして構成されている。構文解析部３２による構文解析に用いられる文法情報および単語情報は、予め用意された上でそれぞれ図示しない所定の記憶装置に記憶されている。用語認識部３３は、図示しない所定の記憶装置に記憶された所定の用語情報に基づいて文書入力部３１からの文書データ６０に示される文書中の句や単語の各々について当該句または単語がある一つの実体的意味で括られるものであるか否かを判定すると共に上記句または単語が当該一つの実体的意味で括られるものであるときにはその実体的意味を取得するものである。インデックス作成部３４は、構文解析部３２による構文解析の結果と用語認識部３３による用語認識の結果とに基づいてデータ記憶装置２１上のデータベースを検索する際に用いられるインデックスを作成し、インデックス保持部３５は、インデックス作成部３４により作成されたインデックスをデータベース上の文書データ６０に対応付けした状態で保持するものである。入力受付部３６は、ネットワーク４０を介して管理サーバ３０と接続された端末５０等から入力される検索条件を受け付ける。実施例では、検索条件として、複数の検索単語と当該検索単語間の述語項関係とを入力することができる。そして、検索処理部３７は、入力受付部３６により受け付けられた検索条件（検索単語と述語項関係）に基づいて検索クエリを設定すると共に設定した検索クエリを実行し、結果出力部３８は、検索処理部３７の処理の結果に基づいて検索結果を出力する
【００２７】
次に、実施例のデータベース検索システム２０を用いたデータベースの検索に用いられるインデックスの作成するためのインデックス作成処理について説明する。また、インデックス作成処理の説明に引き続いて、実施例のデータベース検索システム２０におけるインデックスを用いたデータ記憶装置２１上のデータベースの検索処理について説明する。
【００２８】
〔インデックス生成処理〕
図２は、実施例のデータベース検索システム２０を構成する管理サーバ３０において実行されるインデックス作成処理の一例を示すフローチャートである。図２のインデックス作成処理は、例えば新たな文書データ６０がデータ記憶装置２１上のデータベースに蓄積される際に実行されるものである。
【００２９】
管理サーバ３０の文書入力部３１により新たな文書データ６０の入力が受け付けられると（ステップＳ１００）、文書入力部３１は、受け付けた文書データ６０をデータ記憶装置２１に格納すると共に、当該文書データ６０を構文解析部３２と用語認識部３３とに与える。文書入力部３１から文書データ６０を受け取った構文解析部３２は、当該文書データ６０と対象言語の文法情報および単語情報を用いた文書の構文解析を実行し、同様に文書データ６０を受け取った用語認識部３３は、構文解析部３２による構文解析処理と並行して、予め用意された用語情報に基づいて文書入力部３１からの文書データ６０に示される文書中の単語の各々に対する用語認識を実行する（ステップＳ１１０）。
【００３０】
ここで、図３から図６を参照しながら、ステップＳ１１０における実施例の構文解析部３２による文書の構文解析処理について説明する。まず、例えば“Mary slaps John”という英文を考えると、この英文は、［Mary，主語，slap］と［John，目的語，slap］という２つの関係からなる概念（関係概念）を示すといえる。そして、この英文は、図３に示すように、“Mary”，“John”，“slaps”という３つのノードを有し、単語“Mary”と“slaps”とが「主語」というラベルのエッジで結ばれると共に、単語“John”と“slaps”とが「目的語」というラベルのエッジで結ばれたラベル付き有向グラフで表現することができる。かかるグラフにおいては、各ノードのみならず、ノード同士を結ぶエッジも文法上極めて重要な情報を示している。すなわち、“John slaps Mary”という英文は、先の“Mary slaps John”という英文と同じ３つの単語を含むにも拘わらず、全く異なる関係概念を示すから、この英文は図３のグラフとは異なるグラフにより表現されることになる。これに対して、“John is slapped by Mary”という英文は、表層的には文字列が異なるものの、上記“Mary slaps John”と同じ意味を示しており、図３のグラフに近似したグラフを用いて表現可能なものである。従って、このような関係概念（述語項構造）を検索条件とした検索を実行するためには、検索単語の有無のみを判定する既存の文書検索手法のように上述のエッジを無視してはならないことになり、文要素間の述語項関係（意味上の主語、述語、目的語の関係）を示すグラフが要求されることになる。
【００３１】
このため、実施例では、文要素間の述語項関係を示すグラフすなわち文書中のセンテンスの構文木と述語項構造とを取得すべく、構文解析部３２を上述のようにＨＰＳＧに基づく構文解析を実行するパーザとして構成している。この場合、構文解析部３２の文法情報は、いわゆる三単現や格の制約、更に、自然言語の文における「あいまい性」の学習結果に基づく制約等を集約することにより構築される。また、構文解析部３２の単語情報は、単語のごとにその構文的性質を示すデータ（語彙項目）のリストとして作成される。各単語のリストには、図４および図５に示すように、“HEAD”，“SUBJ”，“COMPS”および“SEM”という４つの項目が含まれており、“HEAD”は品詞、“SUBJ”は構文上の主語たり得るもの（述語の左側に位置し得る単語または句）、“COMPS”は構文上の目的語たり得るもの（述語の右側に位置し得る単語または句）、“SEM”は、意味構造（述語項構造）をそれぞれ表す。先の英文“Mary slaps John”を例にとれば、“Mary”や“John”という単語については、項目“HEAD”に固有名詞を示す“prernn”が記述され、項目“SEM”に“Mary”あるいは“John”という文字列が記述される。また、“slap(s)” という単語については、主語と目的語とに名詞を取る動詞であることを示すべく、項目“HEAD”には動詞を示す“verb”が、項目“SUBJ”には“HEAD（＝品詞） noun（＝名詞）”が、項目“COMPS”には、“HEAD noun”が記述されている。更に、項目“SUBJ”には“ SEM 1”と、項目“COMPS”には“SEM 2”と記述され、項目“SEM”には、“slap(1, 2)”と記述される。ここで、数字“１”や“２”は構文上の主語、目的語と意味上の主語、目的語との間の対応関係を規定（マッピング）するための変数であり、項目“SEM”における“slap”という文字列に続く括弧内の表記は、「（意味上の主語を示す変数、意味上の目的語を示す変数）」を示している。これにより、図４に示すように、“slap(s)” という単語に関しては、リストの項目“SUBJ”の“SEM”に値１が記述されると共に項目“COMPS”の“SEM”に値２が記述され、更に項目“SEM”にslap(1, 2)”と記載されているので、構文上の主語が意味上の主語となり、構文上の目的語が意味上の目的語となることをリストから知ることができる。また、図５からわかるように、“slapped” という単語に関しては、構文上の主語が意味上の目的語となり、構文上の目的語が意味上の主語となることをリストから知ることができる。
【００３２】
そして、構文解析部３２は、上述のような単語情報に基づいて文書中のセンテンスの単語ごとに語彙項目を取得すると共に文法情報に基づく制約に従って、図６に例示するような「名詞句（NP）」、「動詞句（VP）」、「文（Sentence）」等、文中の要素の階層的構造（図中実線参照）を示すと共に、述語（単語“slaps”）と、その項、すなわち意味上の主語（単語“Mary”）や目的語（単語“John”）との関係である述語項関係を示す構造木を取得する。例えば、“Mary slaps John”という英文が構文解析部３２に与えられると、図４に示すように、“slaps”という単語は、単語情報（リスト）から、右側に名詞（noun）を１つ取ることができる動詞であると認識され、“John”という単語のリスト（HEAD）には、“prernn”と記述されているので、“slaps”と“John”が隣接しているときには、これら２つの単語が組み合わさって“slaps John”という句を構成していると認識される。更に、“slaps John”という句は、左側に名詞を取ることができる動詞句であり、その左側に“Mary”という単語（固有名詞）が存在していると、“Mary slaps John”という英文の構文木が取得されることになる。また、隣接し合う句同士が互いに組み合わされ得る性質をもっているときには、より大きな句が認識されることになる。また、上記“Mary slaps John”という英文に関しては、“slap”の構文上の主語・目的語はそのまま意味上の主語・目的語として認識されるが、図５からわかるように、“John is slapped by Mary”という英文に関しては、構文上の主語・目的語がそれぞれ意味上の目的語・主語として認識される。これにより、様々なセンテンス中に統語的変形（例えば、受身形“John is slapped by Mary”や、関係代名詞“John who Mary slaps”等）が存在して表層的な表現が異なっている場合でも、図４および図５の最上段に示すように、意味上の主語、目的語等の関係すなわち述語項構造は実質的に同一であることが認識される。構文解析部３２は、このような処理を再帰的に行うことで文書中のセンテンスごとに述語項関係を示す構文木を取得し、構文解析の結果を示す所定の態様のデータとしてインデックス作成部３４に出力する。なお、データベース上で取り扱う文書の言語を単一のものとする場合には、構文解析アルゴリズム、文法情報および単語情報として当該言語に対応したものを予め用意すればよく、多数の言語からなる文書を取り扱う際には、構文解析アルゴリズム、文法情報および単語情報として各言語に対応したものを用意すればよい。このようなＨＰＳＧに基づく構文解析を実行するパーザの一例としては、英文のセンテンスの構文木および述語項構造を取得すべく開発された“Enju”が知られている（“Enju”については <http://www-tsujii.is.s.u-tokyo.ac.jp/enju/index.html> 参照。）。
【００３３】
続いて、ステップＳ１１０における用語認識部３３による用語認識処理について説明する。まず、先の“Mary slaps John”という例文に対して、“Mary hits John”という英文を考える。これら２つの英文は、表層的な表現が異なるものではあるが、単語“slaps”と単語“hits”とは互いに実質的に同一の意味を示すものであることから、文として実質的に同じ意味内容（関係概念）を示すものである。従って、同一の実体的意味をもつ句や単語、あるいはそれを含むセンテンス等の検索を可能とするためには、このような単語のもつ実体的意味をも考慮する必要がある。このため、実施例の管理サーバ３０には、句や単語の各々の実体的意味に関する用語情報を用いて用語認識処理を実行する用語認識部３３が管理サーバ３０に構築されている。実施例では、用語認識部３３の用語情報として、動詞表現がセンテンスの述語項構造の表記に重要な役割を果たすことを踏まえ、動詞の同義語や名詞化表現に関するオントロジーが用意されている。この動詞に関するオントロジーは、動詞を実体的な意味ごとに分類したときに現れる実体的意味（同義語を代表するもの）のそれぞれに一意のＩＤ（以下「オントロジーＩＤ」という）を付与すると共に、各オントロジーＩＤに同義の動詞や動詞の名詞化表現等を対応付けしたデータベースとして予め作成され、図示しない所定の記憶装置に記憶されたものである。加えて、実施例では、用語認識部３３の用語情報として、データベース化の対象とされる文書の分野（例えば、生物学、医学といった分野）における用語（術語）を現実社会における実体的意味ごとに分類したときに現れる実体的意味のそれぞれに一意のＩＤを付与すると共に、各オントロジーＩＤに同義語を対応付けしたオントロジーが用意されている。このような特定分野におけるオントロジーの一部を図７に例示する。同図は、遺伝子・たんぱく質に関連したオントロジーにおける１つのエントリを示すものであり、このエントリには、ＣＲＰという遺伝子について、そのＩＤ（オントロジーＩＤ）、異名（Name, Synonym）、それが観測される生物種（Species）、その遺伝子がコードしているたんぱく質（Product）、外部データベースへのリンク（External links）といった情報が集約されている。図７からわかるように、このＩＤで表される遺伝子は“MGC88244”や“PTX1”等と表現されることもあるが、同一の実体的意味を示す遺伝子（文字列）のエントリに同一のオントロジーＩＤを付与しておくことにより、表層的な表現に違いがあっても同一の実体的意味を示す単語や句を抽出することが可能となる。用語認識部３３は、上記用語情報を参照しながら、文書データ６０に示される文書中の句や単語の各々について当該句または単語がある一つの実体的意味で括られるものであるか否かを判定し、当該句または単語が当該一つの実体的意味で括られるものであるときにはその実体的意味（オントロジーＩＤ）を取得する。そして、用語認識部３３は、オントロジーＩＤと句または単語との対応関係を用語認識の結果を示す所定の態様のデータとしてインデックス作成部３４に出力する。
【００３４】
構文解析部３２による構文解析の結果と用語認識部３３による用語認識の結果とを受け取ったインデックス作成部３４は、構文解析の結果と用語認識部３３による用語認識の結果とに基づいてデータ記憶装置２１上のデータベースを検索する際に用いられるインデックスを作成・出力する（ステップＳ１２０）。すなわち、インデックス作成部３４は、構文解析および用語認識の結果に基づいて文書データ６０をタグにより構造化する構造化モジュールと、構造化モジュールによる構造化の結果に基づいてインデックスを作成・出力する出力モジュールとを有しており（何れも図示省略）、構文解析および用語認識の結果は、まず、構造化モジュールに与えられる。インデックス作成部３４の構造化モジュールは、構文解析部３２による構文解析の結果に基づいて、文書データ６０に示されている文書中のセンテンスと当該センテンスに含まれる句と単語とにそれぞれ対応した属性が記述される所定のタグを付与すると共にセンテンス中の述語に相当する句または単語に付与されたタグと当該述語の項となる句または単語に付与されたタグとを上記属性を用いて対応付けする。このような文書の構造化に際して用いられるタグの種類とそれに記述される属性とを図８に例示すると共に、タグに記述される属性の内容を図９に例示する。また、構造化モジュールによって構造化された“Pretty Mary slaps John”という英文をそのまま例えばXML形式で出力した場合の出力例を図１０に示す。
【００３５】
図８から図１０に示すように、構造化モジュールによる文書の構造化に際しては、文書中のセンテンスの各々が<Sentence>という開始タグと</Sentence>という終了タグとで囲まれる。また、センテンス中の各句は、それぞれ<phrase>という開始タグと</phrase>という終了タグとで囲まれ、それぞれの<phrase>タグにはタグのＩＤを示すid属性、構文上のカテゴリを示すcat属性等が記述される。タグの属性には、それぞれに対応した属性値が設定される。例えば、各<phrase>タグのid属性には、登場順にｐ１，ｐ２，…，ｐ（ｎ），…ｐＮ（ただし、“ｎ”および“Ｎ”は正の正数である）という属性値が設定され、cat属性には、そのタグにより囲まれる句等が例えば“so that”構文に現れるようなセンテンス中のセンテンス（S）や名詞句（NP）、形容詞句（ADJP）、動詞句（VP）等であることを示す属性値（S，NP，ADJP，VP等）が設定される。更に、各単語は、それぞれ<word>という開始タグと</word>という終了タグで囲まれ、各<word>タグには対応した単語の品詞を示すpos属性等が記述される。この場合もタグの属性には、それぞれに対応した属性値が設定され、例えば、各<word>タグのpos属性には、形容詞、固有名詞、動詞といった品詞を示す属性値が設定される。また、動詞である単語に対応した<word>タグには、rel_type属性が記述され、このrel_type属性には用語認識部３３による用語認識の結果に基づくオントロジーＩＤすなわち当該動詞の実体的意味のオントロジーＩＤ（図１０の例では、単語“slap”や“hit”に付与される“i789”）が設定される。そして、<word>タグには、構文解析により取得された文要素間の述語項関係を識別するためのarg(X)属性（Ｘ＝１，２…）が記述される。実施例において、arg(X)属性は、例えば、
arg1：動詞の主部
arg2：動詞の直接目的部
arg3：動詞の間接目的部
といった関係を指定するものとして定められており、arg1属性には、それに対応した動詞の主部となる句に付与された<phrase>タグのＩＤが、arg2属性には、それに対応した動詞の直接目的部となる句に付与された<phrase>タグのＩＤが、arg3属性には、それに対応した動詞の間接目的部となる句に付与された<phrase>タグのＩＤがそれぞれ設定される。例えば、図１０の例では、動詞“slaps”に付与された<word>タグのarg1属性の属性値が“ｐ２”とされているが、属性値ｐ２は、名詞句“Pretty Mary”に付与された<phrase>タグのＩＤと一致しており、これにより、図１０において破線で示すように、“Pretty Mary”という名詞句に付与された<phrase>タグおよび</phrase>タグにより規定される領域と“slaps”という単語に付与された<word>タグおよび</word>タグにより規定される領域とが対応付けされ、動詞“slaps”の主部（arg1）が“Pretty Mary”という名詞句であると表現されることになる。また、図１０の例では、動詞“slaps”に付与された<word>タグのarg2属性の属性値が“ｐ８”とされているが、属性値ｐ８は、単語“John”を囲む<phrase>タグのＩＤと一致しており、これにより、図１０において破線で示すように、“slaps”という単語に付与された<word>タグおよび</word>タグにより規定される領域と“John”という単語に対応した<phrase>タグおよび</phrase>タグにより規定される領域とが対応付けされ、動詞“slaps”の目的部（arg2）が“John”という名詞（句）であると表現されることになる。つまり、実施例では、センテンス中の述語に相当する単語に対応したタグのarg(X)属性と当該述語の項となる句に対応した<phrase>タグのid属性とに同一の属性値が設定される。このように、述語である単語とその項となる句とを対応付けすることにより、センテンスにおける文要素間の意味的な関係をより適正に表現することが可能となる。更に、用語認識部３３による用語認識の結果、用語（術語）であると認識された単語の<word>タグは、<entity_name>という開始タグと</entity_name>という終了タグとで囲まれ、<entity_name>タグには、用語の種類を示すtype属性や当該用語のオントロジーＩＤを示すontology属性が記述され、type属性には用語の種類を示す属性値が記述されると共に、ontology属性には用語情報から取得されたオントロジーＩＤの値が属性値として記述される。例えば、図１０の例では、単語“Mary”や“John”に対して<entity_name>タグが付与されており、type属性には「人名」という種別が、“Mary”のontology属性には“i1234”が、“John”のontology属性には“i3456”がそれぞれ属性値として設定されている。
【００３６】
ここで、上述のようなごく単純な“Pretty Mary slaps John”という英文であっても、それをXMLにより構造化した場合、図１０に示す程度のデータとなってしまう。そして、特に学術論文等における文要素間の意味的な関係は、極めて複雑に入り組んだものであることが多いから、XMLにより文要素間の意味的な関係をも含めて文書を表記すると、データ構造が極めて複雑なものとなってしまう。従って、XPathやXquryといった問い合わせ言語を用いても、構造化モジュールによる図１０に示すような構造化データに基づいて関係概念を検索条件とした検索を迅速かつ高精度に実行することは極めて困難となる。このため、実施例の管理サーバ３０においては、構造化モジュールによる文書の構造化の結果を所定の態様で出力モジュールに与え、出力モジュールに、タグ、単語およびタグの属性（属性名、存在している場合には更に属性値）の各々の記述位置と階層深さとを示すインデックスを構造化データとして出力させている。そして、インデックス作成部３４により作成・出力されたインデックスがステップＳ１００にて入力された文書データ６０に対応付けされた状態でインデックス保持部３５により保持されると（ステップＳ１３０）、本処理が一旦終了することになる。
【００３７】
インデックス作成部３４の出力モジュールにより出力されたインデックスの一例を図１１に示す。同図は、図１０の出力例に対応したもの、すなわち“Pretty Mary slaps John”という英文に対応したインデックスを示すものである。図１１に示すように、各タグ、各タグの属性名および属性値ならびに各単語には、１（記述位置）：０（階層深さ），２：１…といったようにそれぞれ一まとまりとしてテキストの先頭からの記述位置と階層深さとが与えられる。この際、タグの属性および属性値は、対応したタグ名と共にインデックス化される。また、階層深さは、<phrase>タグおよびその属性に関しては基本的には図１０の出力例における各タグや属性等の階層の深さに基づくものとされるが、実施例では、<Sentence>タグ、<word>タグやそれぞれの属性、<entity_name>タグやその属性、単語等に関しては、階層深さ＝０とされている。これにより、実施例において、階層深さは、あるタグ領域を含むそれと同じ名称のタグで囲まれる領域の数を示すことになる。このような構造化データとしてのインデックスは、センテンス（文書）をいわゆる木構造ではなくタグ領域の集合として扱ってタグ、単語、タグの属性の各々のアドレスを提供するものである。これにより、インデックスの記述位置と階層深さとを参照すれば、 ある単語を囲むタグにより規定される領域の外側にそれと同じ名称のタグにより規定される領域が存在していても、例えば後述の領域代数の枠組みを用いることにより、ある単語を囲む最小のタグ領域から最大のタグ領域までを容易に特定することができる。また、インデックスを参照すれば、図１０において破線で示すようなセンテンス中の述語項構造に基づくタグの対応関係をも容易に特定することが可能となる。
【００３８】
以上説明したように、データ変換装置としての文書入力部３１、構文解析部３２、用語認識部３３およびインデックス作成部３４を含む管理サーバ３０においては、例えば所定言語からなる文書を示す新たな文書データ６０がデータ記憶装置２１上のデータベースに蓄積される際に、まず、ステップＳ１００にて入力された文書データ６０と当該所定言語の文法情報および単語情報を用いたセンテンスの構文解析が実行される（ステップＳ１１０）。続いて、構文解析の結果に基づいて、文書中のセンテンスに含まれる句と単語とにはそれぞれ対応した属性が記述される所定のタグが付与されると共に、センテンス中の述語に相当する句または単語に付与されたタグと当該述語の項となる句または単語に付与されたタグとが属性を用いて対応付けされ、最終的に、タグ、単語およびタグの属性の各々の記述位置と階層深さとを示すインデックスが構造化データとして出力される（ステップＳ１２０）。そして、出力されたインデックスは、文書データ６０に対応付けされた状態でインデックス保持部３５により保持される（ステップＳ１３０）。こうして作成されるインデックスには、上述のようにタグ、単語およびタグの属性の各々の実質的なアドレスが示されることになるので、インデックスを参照すれば、開始タグと終了タグとの対応関係により規定されるセンテンスの構文木や、述語に相当する単語等に付与されたタグと当該述語の項となる句等に付与されたタグとの対応関係により規定されるセンテンス中の述語項構造を容易に特定することが可能となる。従って、実施例の管理サーバ３０によれば、文書中のセンテンスに含まれる述語（述部）と項との間の意味的な関係である述語項関係の表記と、そのような意味的な関係により規定される概念を検索条件とした検索とを可能とする構造化データとしてのインデックスを実現することが可能となる。そして、このようなインデックスを文書データ６０ごとに保持しておけば、インデックスを参照することにより文書中のセンテンスの構文木や述センテンス中の述語項構造を容易に特定することができるので、文書データ６０を複数蓄積したデータベースを単語や句といった文要素間の意味的な関係により規定される概念を検索条件として検索することが可能となる。
【００３９】
また、実施例の管理サーバ３０に含まれる構文解析部３２は、ＨＰＳＧに基づく構文解析を実行してセンテンスの構文木および述語項構造を取得するパーザとして構成されているので、センテンスをより精度よく構文解析して、インデックスにおける述語と項との対応付けをより適正なものとすることが可能となる。更に、実施例の管理サーバ３０に含まれる用語認識部３３は、所定の用語情報に基づいてセンテンスに含まれる句または単語の各々について当該句または単語がある一つの実体的意味で括られるものであるか否かを判定すると共に当該句または単語が当該一つの実体的意味で括られるものであるときにはその実体的意味を取得するものであり、インデックス作成部３４は、用語認識部３３により取得された実体的意味を示す属性値（オントロジーＩＤの値）をインデックス中のタグのrel_type属性やontolgy属性に記述する。これにより、インデックスにおいて、実質的に同一の意味（概念）を示すにも拘わらず表層的な表現が異なっている句または単語に対応したタグに同一の実体的意味を示す属性値が記述されることになるので、インデックス保持部３５により保持されているインデックスを用いれば、同一の実体的意味をもつ句や単語、あるいはそれを含むセンテンス等の検索も容易に実行可能となる。
【００４０】
なお、図２のインデックス作成処理は、既存のデータベースに対して実施例の管理サーバ３０を適用し、データベース上の文書データを個別に管理サーバ３０に取り込んだ上で文書データごとにインデックスを作成する際に実行されてもよい。いずれにしても、上記インデックスは、検索要求に先立って、文書データ６０と所定言語の文法情報および単語情報を用いた文書の構文解析の結果に基づいて予め作成されていると好ましい。これにより、実際の検索処理の負担を軽減して検索条件の入力から検索結果の出力までに要する時間を短縮化することが可能となる。
〔検索処理〕
【００４１】
引き続き、実施例のデータベース検索システム２０におけるインデックスを用いたデータ記憶装置２１上のデータベースの検索処理について説明する。
【００４２】
図１２は、実施例の管理サーバ３０により実行される検索処理の一例を示すフローチャートである。同図に示す検索処理は、端末５０においてユーザにより検索要求がなされたときに実行されるものである。実施例では、端末５０から管理サーバ３０にアクセスすると、端末５０の表示画面上に図１３に示すような検索画面が表示される。この検索画面には、主語または主部に相当する単語または句を入力可能な“subject”ボックスと、述語または述部に相当する動詞または動詞句を入力可能な“verb”ボックスと、目的語または目的部に相当する単語または句を入力可能な“object”ボックスとが用意されている。従って、ユーザは、“subject”ボックス、“verb”ボックスおよび“object”ボックスの少なくとも何れかに所望の検索単語としての単語や句を入力すれば、データ記憶装置２１上のデータベースの検索を要求することができる。また、verb”ボックスと“subject”ボックスおよび“object”ボックスの少なくとも何れか一方とに検索単語としての単語や句を入力すれば、文要素間の意味的な関係により規定される概念すなわち文要素間の述語項関係を検索条件とした検索を要求することが可能となる。実施例では、検索要求に対する検索結果は、デフォルトでは、センテンス単位で出力されるが、検索画面上の“Advanced Search”タブをクリックして詳細な設定を行えば、例えば文書単位で検索結果が出力されるように設定変更することができる。また、図１３に示すように、検索画面上で“Keyword Search”タブをクリックすれば、より一般的なキーワード検索用の検索画面（図示省略）が表示画面上に表示される。更に、“GCL Search”タブをクリックすれば、後述する検索クエリの直接入力を可能とする検索画面（図示省略）が表示画面上に表示される。
【００４３】
図１３の検索画面において、例えば“subject”ボックスに“Mary”という検索単語が、“verb”ボックスに“slaps”という検索単語が入力されると、端末５０からその旨を示す信号が管理サーバ３０へと送信されて検索条件として入力受付部３６により受け付けられる（ステップＳ２００）。入力受付部３６は、受け付けた検索条件すなわち検索単語“Mary”および“slaps”と、「slaps”の主語が“Mary”である」という検索単語間の述語項関係とを検索処理部３７に与え、検索処理部３７は、受け取った「主語が検索単語“Mary”であり、かつ述語が検索単語“slaps”であるセンテンス」という検索条件に基づいて検索クエリを設定する（ステップＳ２１０）。この場合の検索クエリは、次式（１）のようなものとなる。また、例えば“subject”ボックスに“Mary”という検索単語が、“verb”ボックスに“slaps”という検索単語が、“object”ボックスに“John”という検索単語が入力された場合には、ステップＳ２１０にて次式（２）のような検索クエリが設定される。
【００４４】
[sentence] >> (([word arg1="$s"] >> "slaps") & ([phrase id="$s"] > "Mary"))…（１）
[sentence] >> (([word arg1="$s" arg2="$o"] >> "slaps") & ([phrase id="$s"] > "Mary")) &  ([phrase id="$o"] > "John"))…（２）
【００４５】
ここで、ステップＳ２１０における検索クエリの設定の仕方について説明する。実施例のデータベース検索システム２０における検索処理は、インデックス保持部３５に保持されているインデックスに基づいて領域代数の枠組みを用いながら検索条件に適合する領域を求めるものである。そして、実施例においては、領域間の包含関係や順序関係等が図１４に示す７つの演算子（＞，＞＞，＜，＜＜，＆，｜，−）を用いて指定される。これら７つの演算子のうち、特徴的なものは、“＞”および“＜”という２つの演算子である。すなわち、一般的な領域代数の枠組みにおいて領域間の包含関係を指定する演算子“＜＜”や“＞＞”は、基本的に、ある名称のタグで囲まれる領域内にそれと同じ名称のタグが存在していないという仮定の下に、入れ子構造をなす最小のタグ領域を探し出すときに用いられるものである。例えば、図１１のインデックスに対して、“[phrase] >> "Mary" ”というクエリを実行すると、<phrase>タグと</phrase>タグとで規定されると共に単語“Mary”を含む（囲む）最小の領域として、id属性に属性値ｐ５が記述されている<phrase>タグに対応した領域のみが抽出される。これに対して、“＞”と“＜”という２つの演算子は、例えば“<phrase> <phrase> A </phrase> </phrase>”といったように、ある名称のタグで囲まれる領域内にそれと同じ名称のタグが存在している場合に、それらのタグ領域のすべてを抽出するために導入されたものである。例えば、図１１のインデックスに対して“[phrase] > "Mary" ”というクエリを実行すると、id属性に属性値ｐ１が記述されている<phrase>タグに対応した領域と、id属性に属性値ｐ２が記述されている<phrase>タグに対応した領域と、id属性に属性値ｐ５が記述されている<phrase>タグに対応した領域とが抽出されることになる。いずれにしても、インデックスに示されている記述位置と階層深さとを参照することにより、これらの処理は、迅速に実行され得る。ただし、“＞”や“＜”を用いた処理は、“＞＞”や“＜＜”を用いた処理に比べて若干の時間を要するものであることから、迅速な検索を実行する上では、“＞”や“＜”を用いた処理は、<phrase>タグのように、ある名称のタグで囲まれる領域内にそれと同じ名称のタグが存在することが判明しているタグについてのみ用いると好ましい。
【００４６】
また、入れ子構造をなしてはいないが互いに対応関係を有しているタグ領域を探し出すためには、インデックス上で互いに離間し合っている属性値同士を参照する必要がある。これに対処すべく、実施例では、式（１）や式（２）に示すように、変数＄ｘ（“ｘ”には、主語であれば“ｓ”、目的語であれば“ｏ”といった識別子が導入される）を検索クエリに導入し、「あるタグＴ１の属性Ａ１の属性値が他のタグＴ２の属性Ａ２の値と同一である」ということを表現できるようにしている。例えば、式（１）の場合、
“([word arg1=“$s”] >> slaps) & ([phrase id=”$s”] > “Mary”)”
という変数＄ｓを含む部分により、“slaps”に対応したarg1の属性値が“Mary”を含むphraseのid属性の属性値と同一である、ということを表現している。実施例において、変数＄ｘは、基本的にid属性およびarg(X)属性に記述されてセンテンス中の文要素間における述語項関係を示す属性値ｐ１，ｐ２，…ｐ（ｎ）を対象とするものであり、検索条件として受け付けられた述語項関係の数だけ出現することになる（式（２）については２個の変数が出現する。）。上述のような演算子“＞”および“＜”と変数＄ｘとを導入した上で、センテンス（文書）をいわゆる木構造ではなくタグ領域の集合として扱ってタグ、単語、タグの属性の各々のアドレスを提供するインデックスを参照することにより、以下に説明するように、文要素間の意味的な関係により規定される概念を検索条件としながら迅速かつ高精度な検索を実行することが可能となる。
【００４７】
さて、ステップＳ２１０にて検索クエリを設定すると、検索処理部３７は、まず、設定した検索クエリに現れる最大の検索対象領域である最大検索領域を識別する（ステップＳ２２０）。ここでいう最大検索領域とは、検索クエリに含まれ得る“sentence”，“phrase”，“word”といったタグにより規定される領域のうちの最も広い領域である。検索クエリが式（１）のように、「センテンス」を検索結果として要求するものである場合には、検索クエリに現れる最大検索領域は、検索結果と同様に“sentence”領域となる。なお、検索クエリが演算子“＜＜”等を用いて、例えば「…というセンテンスに含まれる××という句」といった検索クエリを要求するものであるときには、上記最大検索領域は、検索結果に対応した“phrase”領域ではなく、“sentence”領域となる。こうして最大検索領域を識別したならば、検索処理部３７はインデックス保持部３５のすべてのインデックスを参照してステップＳ２００にて受け付けたすべての検索単語を含む最大検索領域（この場合“sentence”領域）の開始タグおよび終了タグをすべて抽出する処理を実行し（ステップＳ２３０）、更に、全検索単語を含む最大検索領域が存在するか否かを判定する（ステップＳ２４０）。ステップＳ２４０にて全検索単語を含む最大検索領域が存在していないと判断されたときには、ヒット件数がゼロであることになるので、検索処理部３７によりヒット件数がゼロであることを示す最終的な検索結果が作成されると共に（ステップＳ３８０）、そのような検索結果が結果出力部３８から検索要求が実行された端末５０へと送信され（ステップＳ３９０）、検索処理が一旦終了することになる。この場合には、端末５０の表示画面には、例えば「“Mary”“slaps”に該当するセンテンスは見つかりませんでした。」といったような検索結果が表示されることになる。
【００４８】
一方、例えば上記検索条件に対して図１１のインデックスに示される“Sentence”領域が抽出された場合のように、ステップＳ２４０にて全検索単語を含む最大検索領域が少なくとも１つ存在していると判断した場合、検索処理部３７は、ステップＳ２００にて受け付けられた検索単語の各々のデータベースにおける出現頻度（出現回数）を取得する（ステップＳ２５０）。実施例において、出現頻度は、データベース上に現れるすべての単語ついて予め求められた上でデータ記憶装置２１または管理サーバ３０の所定の記憶装置に記憶されており、ステップＳ２５０にて検索処理部３７は当該記憶装置からＳ２００にて受け付けられた検索単語の各々の出現頻度を読み出す。そして、検索処理部３７は、取得した各検索単語の出現頻度に基づいてステップＳ２１０にて設定された検索クエリに含まれる変数＄ｘを決定するための部分クエリを設定する（ステップＳ２６０）。ステップＳ２６０において、検索処理部３７は、次のようにして部分クエリを設定する。この場合、まず、ステップＳ２１０にて設定された検索クエリを変数＄ｘごとの部分に分解した上で、互いに述語項関係にある検索単語のうちの出現頻度がより小さい一方の検索単語に対応した部分を部分クエリとして設定する。例えば、検索クエリが式（１）に示すものであり、かつ単語“Mary”の出現頻度が単語“slaps”の出現頻度よりも小さい場合には、当該検索クエリは次式（３）および（４）に示す２つの部分に分解され、出現頻度が小さい単語“Mary”に対応した式（４）に示すものが部分クエリとして設定される。また、検索クエリが式（２）に示すものであるときには、当該検索クエリは、次式（４）から（６）に示す３つの部分に分解され、例えば単語“Mary”や単語“John”の出現頻度が単語“slaps”の出現頻度よりも小さい場合には、次式（４）および（５）に示すものが部分クエリとして設定される。すなわち、ステップＳ２６０では、検索条件として受け付けられた述語項関係の数だけ部分クエリが設定されることになる。
【００４９】
[word arg1=“$s”] >>“slaps”…（３）
[phrase id=“$s”] >“Mary”…（４）
[phrase id=“$o”] >“John”…（５）
[word arg1="$s" arg2="$o"] >> "slaps"  …（６）
【００５０】
こうして部分クエリを設定すると、検索処理部３７は、所定の制約に従ってステップＳ２３０にて抽出された最大検索領域のうちの最初の処理対象となる最大検索領域を設定した上で（ステップＳ２７０）、ステップＳ２６０にて設定した部分クエリのうち、出現頻度がより小さい検索単語を含む部分クエリを実行部分クエリとして設定する（ステップＳ２８０）。そして、ステップＳ２８０にて設定した部分クエリから変数を除いたクエリを実行し、当該クエリの実行結果として返されるすべての変数値を取得・保持する（ステップＳ２９０）。すなわち、検索クエリが式（１）に示すものであり、かつ単語“Mary”の出現頻度が単語“slaps”の出現頻度よりも小さい場合、ステップＳ２８０では式（４）から変数＄ｓを除いた[phrase] >“Mary”というクエリが実行され、それにより、例えば図１１のインデックスに示される“Sentence”領域が対象最大検索領域である場合には、当該インデックスから変数値としてｐ１，ｐ２，ｐ５が取得・保持される。次いで、検索処理部３７は、ステップＳ２６０にて設定されたすべての部分クエリが上述のようにして処理されたか否かを判定し（ステップＳ３００）、すべての部分クエリが処理されていなければ、すべての処理が完了するまでステップＳ２７０およびＳ２８０の処理を繰り返し実行する。すなわち、検索クエリが式（２）に示すものであり、かつ単語“Mary”の出現頻度が単語“John”の出現頻度よりも小さい場合には、まず例えば式（４）から変数＄ｓを除いたクエリが実行されて実行結果として返されるすべての変数値が取得・保持された後、式（５）から変数＄ｏを除いた[phrase] >“John”というクエリが実行されて実行結果として返されるすべての変数値が取得・保持されることになる（図１１のインデックスからは値ｐ１，ｐ６，ｐ８が返される）。そして、すべての部分クエリが処理されると、検索処理部３７は、ステップＳ２６０にて設定された部分クエリごとに得られた変数値のすべての組み合わせを取得する（ステップＳ３１０）。例えば、検索クエリが式（１）に示すものであるときには、式（４）から変数＄ｓを除いたクエリの実行結果として返される変数値（ｐ１，ｐ２，ｐ５等）がステップＳ３１０における取得結果となる。また、検索クエリが式（２）に示すものであるときには、式（４）から変数＄ｓを除いたクエリの実行結果として返される変数値（ｐ１，ｐ２，ｐ５等）と、式（５）から変数＄ｏを除いたクエリの実行結果として返される変数値（ｐ１，ｐ６，ｐ８等）との組み合わせがステップＳ３１０における取得結果となる。すなわち、部分クエリが２つある場合には、一方の部分クエリに基づいて得られた変数値をｐｘとし、他方の部分クエリに基づいて得られた変数値をｐｙとすれば、（ｐｘ，ｐｙ）のすべての組み合わせがステップＳ３１０における取得結果となる。
【００５１】
ステップＳ３１０の処理の後、検索処理部３７は、取得した変数値の組み合わせの中から、所定の制約に従って最初の変数値の組を設定し（ステップＳ３２０）、設定した組の変数値をステップＳ２１０にて設定した検索クエリの対応した変数＄ｘに代入する（ステップＳ３３０）。そして、検索処理部３７は、ステップＳ２７０にて設定された対象最大検索領域が変数値代入後の検索クエリを満たしているか否かを判定し（ステップＳ３４０）、肯定判断をなした場合には、その旨を中間結果として所定の記憶領域に保持する（ステップＳ３５０）。ステップＳ３５０の処理後、あるいはステップＳ３４０にて否定判断をなした場合、検索処理部３７は、すべての変数値の組を処理したか否か判定し（ステップＳ３６０）、肯定判断をなすまでステップＳ３２０からＳ３５０の処理を繰り返し実行する。ここまでの処理を図１１のインデックスに示される“Sentence”領域が対象最大検索領域である場合を例にとって説明すると、検索クエリが式（１）に示すものである場合には、ステップＳ３１０にて変数値の組がｐ１，ｐ２，ｐ５として取得されていることになるので、まず式（１）の変数＄ｓに値ｐ１が代入され（ステップＳ３３０）、上記“Sentence”領域が値ｐ１代入後の式（１）を満たすか否か判定される（ステップＳ３４０）。この場合、図１１からわかるように、“word arg1="p1"”は存在していないことから、ステップＳ３４０にて否定判断がなされ、次に式（１）の変数＄ｓに値ｐ２が代入され（ステップＳ３３０）、上記“Sentence”領域が値ｐ２代入後の式（１）を満たすか否か判定される（ステップＳ３４０）。この場合、図１１からわかるように、“word arg1="p2"”が存在していることから、ステップＳ３４０にて肯定判断がなされ、図１１のインデックスから抽出された<Sentence>タグおよび</Sentence>タグが中間結果として保持されることになる（ステップＳ３５０）。また、検索クエリが式（２）に示すものである場合には、ステップＳ３１０にて変数値の組が（ｐ１，ｐ１），（ｐ１，６），…（ｐ２，ｐ８），…として取得されていることになるので、まず式（２）の変数＄ｓおよび＄ｏに値ｐ１が代入され（ステップＳ３３０）、上記“Sentence”領域が値ｐ１代入後の式（２）を満たすか否か判定される（ステップＳ３４０）。この場合、図１１からわかるように、“word arg1="p1"”および“word arg2="p1"”は存在していないことから、ステップＳ３４０にて否定判断がなされる。その後、ステップＳ３３０，Ｓ３４０の処理が繰り返され、ステップＳ３３０にて、式（２）の変数＄ｓに値ｐ２が変数＄ｏに値ｐ８が代入されると（ステップＳ３３０）、ステップＳ３４０にて“word arg1="p2"”および“word arg2="p8"”が存在していると判断され、図１１のインデックスから抽出された<Sentence>タグおよび</Sentence>タグが中間結果として保持されることになる（ステップＳ３５０）。なお、ステップＳ２１０にて式（２）の検索クエリが設定された場合であって、検索単語“slaps”の出現頻度が３つの検索単語の中で最小である場合には、ステップＳ２８０にて上記式（６）のクエリが最初に実行される部分クエリとして設定され、このクエリから変数＄ｘを除いたものが実行されると（ステップＳ２９０）、その段階で変数��のすべてが取得されることになる。従って、この場合には、式（４）または（５）の何れかの部分クエリを処理する必要はない。また、ステップＳ２１０にて式（２）の検索クエリが設定された場合であって、検索単語“slaps”の出現頻度が３つの検索単語の中で２番目に小さい場合には、ステップＳ２８０にて上記式（４）または（５）に基づくクエリが最初に実行され、その後、上記（６）式に基づくクエリが実行されることになる。この場合、最初に式（４）または（５）に基づくクエリが実行されると、変数＄ｓまたは＄ｏの何れか一方に対応した変数値が取得されるので、次に上記（６）式に基づくクエリを実行する際には、取得されていない他方の変数値のみを取得すればよい。
【００５２】
ステップＳ３６０の処理の後、検索処理部３７は、ステップＳ２３０にて抽出されたすべての最大検索領域を処理したか否かを判定し（ステップＳ３７０）、すべての最大検索領域が処理されていなければ、処理が完了するまでステップＳ２７０からＳ３６０までの処理を繰り返す。そして、ステップＳ３７０にて肯定判断をなしたときには、検索処理部３７は、上記記憶領域に保持されている中間結果に基づいて最終的な検索結果を作成する（ステップＳ３８０）。この場合、上記記憶領域に中間結果が保持されていなければ、ステップＳ３８０ではヒット件数がゼロであることを示す最終的な検索結果が作成されることになる。そして、最終的な検索結果が結果出力部３８から検索要求が実行された端末５０へと送信され（ステップＳ３９０）、検索処理が一旦終了することになる。
【００５３】
以上説明したように、実施例のデータベース検索システム２０は、文書データ６０ごとに作成されたインデックスを保持するインデックス保持部３５を備えている。そして、文書データ６０ごとのインデックスは、上述のように、それぞれ対応した文書中のセンテンスと当該センテンスに含まれる句と単語との各々に付与された所定のタグ、単語およびタグに記述される属性の各々の記述位置と階層深さとを示すと共にセンテンス中の述語に相当する句または単語に付与されたタグと当該述語の項となる句または単語に付与されたタグとを属性により対応付けするものである。従って、インデックスを参照すれば、開始タグと終了タグとの対応関係により規定される文書中のセンテンスの構文木や、述語に相当する単語に付与されたタグと当該述語の項となる句等に付与されたタグとの対応関係により規定されるセンテンス中の述語項構造を容易に特定することができる。これを踏まえて、実施例のデータベース検索システム２０では、複数の検索単語と当該検索単語間の述語項関係とが検索条件として受け付けられると（ステップＳ２００）、インデックスに基づいて、受け付けられた検索単語をすべて含むタグ領域が抽出される（ステップＳ２３０）。より詳細には、ステップＳ２００にて受け付けられた検索単語と述語項関係とに基づいて、当該述語項関係を対応付けする属性値ｐ（ｎ）を変数＄ｘとした検索クエリが設定され（ステップＳ２１０）、設定された検索クエリに現れる最大の検索対象領域である最大検索領域が識別された上で（ステップＳ２２０）、ステップＳ２００にて受け付けられた検索単語をすべて含む最大検索領域の開始タグおよび終了タグが抽出される（ステップＳ２３０）。そして、インデックス、すなわち述語に相当する単語に付与されたタグと当該述語の項となる句に付与されたタグとを対応付けするid属性やarg(x)属性の属性値ｐ（ｎ）のアドレスに基づいて、抽出されたタグ領域（最大検索領域）に含まれる検索単語に対応したタグ間でステップＳ２００にて受け付けられた述語項関係に合致した対応付けがなされているか否かが判定される（ステップＳ３４０）。より詳細には、ステップＳ２００にて設定された検索クエリを分解して得られる検索単語の何れかと変数＄ｘとを含む少なくとも一つの部分クエリから当該変数＄ｘを除いたクエリが実行され（ステップＳ２９０）、実行結果として返された変数値ｐ（ｎ）を代入した検索クエリに合致する最大検索領域が存在するか否かが判定された上で（ステップＳ３２０〜Ｓ３４０）、その判定の結果に基づいて検索結果が出力される（ステップＳ３８０，Ｓ３９０）。これにより、実施例のデータベース検索システム２０によれば、文書データ６０を複数蓄積したデータ記憶装置２１上のデータベースを単語や句といった文要素間の意味的な関係により規定される概念を検索条件として検索すると共に、より精度のよい検索結果を迅速に得ることが可能となる。また、実施例のデータベース検索システム２０では、互いに述語項関係にある検索単語のうちの出現頻度がより小さい一方の検索単語に対応したタグに記述されている属性値を変数＄ｘとして当該変数の値ｐ（ｎ）を取得し、取得した変数値ｐ（ｎ）に一致する属性値が設定さ���ている他方の検索単語に対応したタグが存在するか否かを判定している（ステップＳ３２０〜Ｓ３６０）。すなわち、上記実施例では、ステップＳ２１０にて設定された検索クエリを分解して得られるクエリの中から、互いに述語項関係にある検索単語のうちの出現頻度がより小さい一方の検索単語を含むものを部分クエリとして設定し（ステップＳ２６０）、その部分クエリに基づいて当該出現頻度がより小さい一方の検索単語に対応したタグに記述されている属性値を変数値として得ている（ステップＳ２９０）。このように当該出現頻度がより小さい一方の検索単語に対応したタグに記述されている属性値を変数とすれば、ステップＳ２９０にて取得される変数値の数がより少なくなり、その分だけ判定対象とすべき他方の検索単語に対応したタグの数を減らすことができる。これにより、属性値として同一の値が記述されている検索単語に対応したタグの対の有無を短時間で効率よく判定することが可能となる。
【００５４】
なお、図１２の検索処理においては、ステップＳ２６０にて設定されたすべての部分クエリに基づいて部分クエリごとに変数値を取得した上で（ステップＳ２９０）、変数値の組み合わせを取得し（ステップＳ３１０）、変数値の組を検索クエリに代入して（ステップＳ３３０）対象となる最大検索領域が変数代入後の検索クエリを満たすか否かを判定しているが（ステップＳ３４０）、これに限られるものではない。すなわち、検索処理の効率等をより改善してより迅速な検索を実行するためには、図１５に例示するアルゴリズムに従った次のような変形例としての検索処理を実行してもよい。この場合、例えば、ステップＳ２６０にて２つの部分クエリが設定された場合には、ステップＳ２７０にて設定された対象最大検索領域について、出現頻度がより小さい検索単語に対応した一方の部分クエリ（第１の部分クエリ）から変数＄ｘを除いたクエリを実行し、まず変数値を１つだけ取得する。次いで、他方の部分クエリ（第２の部分クエリ）から＄ｘを除いたクエリを実行して変数値を順次取得すると共に、第１の部分クエリに基づく上記１つの変数値と第２の部分クエリに基づく変数値とを代入した検索クエリを対象最大検索領域が満たしているか否か判定する。ここで否定判断がなされた場合には、再度第１の部分クエリに基づいて２つ目の変数値を取得する。そして、再度第２の部分クエリから＄ｘを除いたクエリを実行して変数値を順次取得すると共に、第１の部分クエリに基づく上記２つ目の変数値と第２の部分クエリに基づく変数値とを代入した検索クエリを対象最大検索領域が満たしているか否か判定する。以下、こういった処理を順次繰り返すことにより、検索条件に合致した最大検索領域が存在するか否かを判定する。このような変形例の検索処理によれば、
検索対象のタグ領域をより適正に減らしてより迅速な検索を実現することが可能となる。
【産業上の利用可能性】
【００５５】
本発明は、情報処理分野において有用である。
【図面の簡単な説明】
【００５６】
【図１】本発明の一実施例に係るデータベース検索システム２０を示す概略構成図である。
【図２】実施例のデータベース検索システム２０に含まれる管理サーバ３０において実行されるインデックス作成処理の一例を示すフローチャートである。
【図３】文要素間の意味的関係を表現したラベル付き有向グラフの一例を示す説明図である。
【図４】実施例の管理サーバ３０の構文解析部３２に対して用意される単語情報と、当該単語情報等を用いた構文解析の手順を説明するための説明図である。
【図５】実施例の管理サーバ３０の構文解析部３２に対して用意される単語情報と、当該単語情報等を用いた構文解析の手順を説明するための説明図である。
【図６】センテンスを構文解析して得られる構文木の一例を示す説明図である。
【図７】特定分野におけるオントロジーを例示する説明図である。
【図８】実施例の管理サーバ３０におけるインデックスの作成に際して、文書の構造化に用いられるタグの種類とそれに記述される属性とを例示する図表である。
【図９】図７に例示されたタグに記述される属性の内容を例示する図表である。
【図１０】実施例の管理サーバ３０のインデックス作成部３４により構造化された英文をXML形式で出力した場合の出力例を示す説明図である。
【図１１】実施例のインデックス作成部３４により作成されたインデックスの一例を示す説明図である。
【図１２】実施例の管理サーバ３０により実行される検索処理の一例を示すフローチャートである。
【図１３】実施例の管理サーバ３０に接続された端末５０の表示画面に表示される検索画面の一例を示す説明図である。
【図１４】実施例のデータベース検索システム２０における検索処理に際して用いられる演算子を例示する図表である。
【図１５】実施例のデータベース検索システム２０における検索処理の変形例を実現するためのアルゴリズムの一例を示す説明図である。
【符号の説明】
【００５７】
２０  データベース検索システム、２１  データ記憶装置、３０  管理サーバ、３１  文書入力部、３２  構文解析部、３３用語認識部、３４  インデックス作成部、３５  インデックス保持部、３６  入力受付部、３７  検索処理部、３８  結果出力部、４０  ネットワーク、５０  端末、６０  文書データ。
【図１】
2008021270.tif 000003
【図２】
2008021270.tif 000004
【図３】
2008021270.tif 000005
【図４】
2008021270.tif 000006
【図５】
2008021270.tif 000007
【図６】
2008021270.tif 000008
【図７】
2008021270.tif 000009
【図８】
2008021270.tif 000010
【図９】
2008021270.tif 000011
【図１０】
2008021270.tif 000012
【図１１】
2008021270.tif 000013
【図１２】
2008021270.tif 000014
【図１３】
2008021270.tif 000015
【図１４】
2008021270.tif 000016
【図１５】
2008021270.tif 000017