JP2008021270A - Data conversion apparatus and its method, database management apparatus and its method, and database search system and its method - Google Patents

Data conversion apparatus and its method, database management apparatus and its method, and database search system and its method Download PDF

Info

Publication number
JP2008021270A
JP2008021270A JP2006194943A JP2006194943A JP2008021270A JP 2008021270 A JP2008021270 A JP 2008021270A JP 2006194943 A JP2006194943 A JP 2006194943A JP 2006194943 A JP2006194943 A JP 2006194943A JP 2008021270 A JP2008021270 A JP 2008021270A
Authority
JP
Japan
Prior art keywords
tag
word
search
sentence
phrase
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006194943A
Other languages
Japanese (ja)
Inventor
Junichi Tsujii
潤一 辻井
Katsuya Masuda
勝也 増田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Tokyo NUC
Original Assignee
University of Tokyo NUC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Tokyo NUC filed Critical University of Tokyo NUC
Priority to JP2006194943A priority Critical patent/JP2008021270A/en
Priority to PCT/JP2007/063783 priority patent/WO2008007683A1/en
Publication of JP2008021270A publication Critical patent/JP2008021270A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Abstract

<P>PROBLEM TO BE SOLVED: To realize retrieval with retrieval conditions specified by semantic-related notation between sentence elements such as words and phrases and concepts prescribed by the semantic-relation. <P>SOLUTION: A management server 30 which manages database of documents of a prescribed language includes a syntax analysis part 32 which executes syntax analysis of documents using document data 60, grammar information, and vocabulary information of the languages; an index making part 34 which outputs indexes showing each description position and hierarchy depth of tags, words and attributes of the tags by associating tags granted to the words etc. equivalent to the predicate in a sentence and tags granted phrases etc. that become paragraphs with attributes, while granting prescribed tags in which attributes corresponding to the sentences in the documents, and phrases and words included in the sentences based on the result of the syntax analysis; and an index holding part 35 which holds outputted indexes for every document data 60. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、所定言語からなるセンテンスを示すデータを文法上の意味的な注釈が付与された構造化データに変換するデータ変換装置および方法、所定言語からなる文書の文書データを複数蓄積したデータベースを管理するためのデータベース管理装置および方法、ならびに所定言語からなる文書の文書データを複数蓄積したデータベースを検索するためのデータベース検索システムおよび方法に関する。   The present invention relates to a data conversion apparatus and method for converting data indicating a sentence in a predetermined language into structured data to which a grammatical semantic annotation is added, and a database storing a plurality of document data of documents in a predetermined language. The present invention relates to a database management apparatus and method for managing, and a database search system and method for searching a database in which a plurality of document data of documents in a predetermined language are stored.

従来から、文書等の意味や構造を記述するためのマークアップ言語として、XML(Extensible Markup Language)が知られており、XMLを用いて構造化された文書データを蓄積した文書データベースも徐々に普及しつつある。また、このようなXMLデータベースの検索に用いられる問い合わせ言語としては、XPath(非特許文献1参照。)やXQuery(非特許文献2参照。)等が知られている。
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/ >
Conventionally, XML (Extensible Markup Language) has been known as a markup language for describing the meaning and structure of documents, etc., and document databases that store document data structured using XML have gradually spread. I am doing. Moreover, XPath (refer nonpatent literature 1), XQuery (refer nonpatent literature 2), etc. are known as a query language used for the search of such an XML database.
XML Path Language (XPath) Version 1.0 W3C Recommendation 16 November 1999, Internet <http://www.w3.org/TR/xpath> XQuery 1.0: An XML Query Language W3C Candidate Recommendation 8 June 2006, Internet <http://www.w3.org/TR/xquery/>

ところで、近年では、様々な分野において文献や学術論文といった文書の大規模なデータベース化が進められており、それに伴い、大規模な文書データベースを効率よく検索可能とする技術に対するニーズも高まっている。この場合、学術論文等に対して一般的なキーワード検索を適用しても、検索キーワードのすべてを含む文書が検索結果として出力されるだけであるから、所望の文書に的確かつ迅速にアクセスできるようにするには、例えば文書中の述語とその項との対応関係といった文要素(単語や句)間の意味的な関係により規定される概念である関係概念をも検索条件として設定できるようにすべきである。しかしながら、文要素間の意味的な関係は、極めて複雑に入り組んだものであることが多く、XMLにより文要素間の意味的な関係をも含めて文書を表記すると、データ構造が極めて複雑なものとなってしまい、XPathやXQueryといった問い合わせ言語を用いても上述のような関係概念を検索条件とした検索を迅速かつ高精度に実行することは極めて困難となる。   By the way, in recent years, a large-scale database of documents such as literatures and academic papers is being developed in various fields, and accordingly, there is an increasing need for a technology that enables a large-scale document database to be efficiently searched. In this case, even if a general keyword search is applied to academic papers, etc., only documents containing all of the search keywords are output as search results, so that the desired document can be accessed accurately and quickly. To achieve this, for example, a relation concept, which is a concept defined by a semantic relation between sentence elements (words and phrases), such as a correspondence between a predicate in a document and its term, can be set as a search condition. Should. However, the semantic relationships between sentence elements are often extremely complicated and complicated, and when a document is expressed in XML including the semantic relations between sentence elements, the data structure is extremely complex. Therefore, even if a query language such as XPath or XQuery is used, it is extremely difficult to quickly and accurately perform a search using the above relational concept as a search condition.

そこで、本発明によるデータ変換装置および方法は、単語や句といった文要素間の意味的な関係の表記と当該意味的な関係により規定される概念を検索条件とした検索とを可能とする構造化データを提供することを目的とする。また、本発明によるデータベース管理装置および方法ならびにデータベース検索システムおよび方法は、文書データを複数蓄積したデータベースを単語や句といった文要素間の意味的な関係により規定される概念を検索条件として検索可能とすることを目的とする。   Therefore, the data conversion apparatus and method according to the present invention are structured to enable notation of a semantic relationship between sentence elements such as words and phrases and a search using a concept defined by the semantic relationship as a search condition. The purpose is to provide data. Further, the database management apparatus and method and the database search system and method according to the present invention can search a database in which a plurality of document data are stored using a concept defined by a semantic relationship between sentence elements such as words and phrases as a search condition. The purpose is to do.

本発明によるデータ変換装置および方法、データベース管理装置および方法、ならびにデータベース検索システムおよび方法は、上述の目的の少なくとも一部を達成するために以下の手段を採っている。   The data conversion apparatus and method, the database management apparatus and method, and the database search system and method according to the present invention employ the following means in order to achieve at least a part of the above object.

本発明によるデータ変換装置は、
所定言語からなるセンテンスを示すデータを文法上の意味的な注釈を含む構造化データに変換するデータ変換装置であって、
前記データと前記所定言語の文法情報および単語情報とを用いて前記センテンスの構文解析を実行する構文解析手段と、
前記構文解析手段による構文解析の結果に基づいて、それぞれ対応した属性が記述される所定のタグを前記センテンスに含まれる句と単語とに付与すると共に前記センテンス中の述語に相当する句または単語に付与されたタグと該述語の項となる句または単語に付与されたタグとを前記属性により対応付けした上で、前記タグ、前記単語および前記タグの属性の各々の記述位置と階層深さとを示すインデックスを前記構造化データとして出力する構造化データ出力手段と、
を備えるものである。
The data conversion device according to the present invention comprises:
A data conversion device that converts data indicating a sentence in a predetermined language into structured data including grammatical semantic annotations,
A syntax analysis means for performing syntax analysis of the sentence using the data and grammatical information and word information of the predetermined language;
Based on the result of the parsing by the parsing means, a predetermined tag in which a corresponding attribute is described is assigned to a phrase and a word included in the sentence, and a phrase or word corresponding to a predicate in the sentence After associating a given tag with a tag given to a phrase or word as a term of the predicate by the attribute, the description position and the hierarchical depth of each of the tag, the word, and the tag attribute Structured data output means for outputting the indicated index as the structured data;
Is provided.

このデータ変換装置では、所定言語からなるセンテンスを示すデータを構造化データへと変換するに際して、まず、当該センテンスを示すデータと上記所定言語の文法情報および単語情報とを用いたセンテンスの構文解析が実行される。そして、構文解析の結果に基づいて、センテンスに含まれる句と単語とにはそれぞれ対応した属性(属性名、存在する場合には更に属性値)が記述される所定のタグが付与されると共に、センテンス中の述語に相当する句または単語に付与されたタグと当該述語の項となる句または単語に付与されたタグとが属性を用いて対応付けされ、最終的に、タグ、単語およびタグの属性の各々の記述位置と階層深さとを示すインデックスが構造化データとして出力される。これにより、構造化データすなわちインデックスには、タグ、単語およびタグの属性の各々の実質的なアドレスが示されることになるので、タグを用いて構造化されるセンテンスにおいて述語とその項とが複雑に入り組んでいたとしても、インデックスである構造化データを参照すれば、開始タグと終了タグとの対応関係により規定されるセンテンスの構文木や、述語に相当する単語等に付与されたタグと当該述語の項となる句等に付与されたタグとの対応関係により規定されるセンテンス中の述語項構造を容易に特定することが可能となる。従って、このデータ変換装置によれば、センテンス中の述語(述部)と項との間の意味的な関係である述語項関係の表記と、そのような意味的な関係により規定される概念を検索条件とした検索とを可能とする構造化データを実現することができる。   In this data conversion device, when data indicating a sentence in a predetermined language is converted into structured data, first, syntax analysis of the sentence using the data indicating the sentence and the grammatical information and word information of the predetermined language is performed. Executed. Based on the result of the parsing, a phrase and a word included in the sentence are given a predetermined tag in which a corresponding attribute (attribute name, attribute value if present) is described, A tag attached to a phrase or word corresponding to a predicate in the sentence is associated with a tag attached to a phrase or word serving as a term of the predicate using an attribute, and finally, the tag, word, and tag An index indicating the description position and hierarchical depth of each attribute is output as structured data. As a result, the structured data, ie, the index, shows the substantial address of each of the tag, word, and tag attribute, so the predicate and its terms are complex in the sentence structured using the tag. Even if it is confusing, if you refer to the structured data that is an index, the sentence syntax tree defined by the correspondence between the start tag and the end tag, the tag assigned to the word corresponding to the predicate, and the It is possible to easily specify a predicate term structure in a sentence defined by a correspondence relationship with a tag attached to a phrase or the like that becomes a predicate term. Therefore, according to this data conversion apparatus, the notation of the predicate term relationship, which is a semantic relationship between the predicate (predicate) and the term in the sentence, and the concept defined by such a semantic relationship are expressed. It is possible to realize structured data that enables a search as a search condition.

また、本発明によるデータ変換装置において、前記構文解析手段は、HPSGに基づく構文解析を実行して前記センテンスの構文木および述語項構造を取得するパーザであってもよい。これにより、センテンスをより精度よく構文解析して、インデックスにおける述語と項との対応付けをより適正なものとすることが可能となる。   In the data conversion apparatus according to the present invention, the syntax analysis means may be a parser that executes syntax analysis based on HPSG to acquire the syntax tree and predicate term structure of the sentence. As a result, the sentence can be parsed more accurately, and the association between the predicate and the term in the index can be made more appropriate.

更に、本発明によるデータ変換装置は、所定の用語情報に基づいて前記センテンスに含まれる句または単語の各々について該句または単語が一つの実体的意味で括られるものであるか否かを判定すると共に前記句または単語が前記実体的意味で括られるものであるときには該実体的意味を取得する用語認識手段を更に備えてもよく、前記構造化データ出力手段は、前記取得された実体的意味を示す属性値を対応したタグの所定の属性に記述するものであってもよい。これにより、インデックスにおいて、実質的に同一の意味(概念)を示すにも拘わらず表層的表現が異なっている句または単語に対応したタグに同一の実体的意味を示す属性値が記述されることになるので、当該インデックスである構造化データを用いれば、同一の実体的意味をもつ句や単語、あるいはそれを含むセンテンス等の検索を容易に実行可能となる。   Furthermore, the data conversion apparatus according to the present invention determines, based on predetermined term information, whether or not each phrase or word included in the sentence is bundled with one substantive meaning. In addition, when the phrase or word is bundled with the substantive meaning, it may further comprise term recognition means for acquiring the substantive meaning, and the structured data output means includes the acquired substantive meaning. The attribute value to be indicated may be described in a predetermined attribute of the corresponding tag. As a result, in the index, attribute values indicating the same substantive meaning are described in tags corresponding to phrases or words whose surface expression is different in spite of showing substantially the same meaning (concept). Therefore, if structured data that is the index is used, it is possible to easily perform a search for phrases and words having the same substantial meaning, or sentences including the same.

本発明によるデータ変換方法は、
所定言語からなるセンテンスを示すデータを文法上の意味的な注釈を含む構造化データに変換するためのデータ変換方法であって、
(a)前記データと前記所定言語の文法情報および単語情報とを用いて前記センテンスの構文解析を実行するステップと、
(b)ステップ(a)の構文解析の結果に基づいて、それぞれ対応した属性が記述される所定のタグを前記センテンスに含まれる句と単語とに付与すると共に前記センテンス中の述語に相当する句または単語に付与されたタグと該述語の項となる句または単語に付与されたタグとを前記属性により対応付けした上で、前記タグ、前記単語および前記タグの属性の各々の記述位置と階層深さとを示すインデックスを前記構造化データとして出力するステップと、
を含むものである。
The data conversion method according to the present invention includes:
A data conversion method for converting data indicating a sentence in a predetermined language into structured data including grammatical semantic annotations,
(A) performing a syntax analysis of the sentence using the data and grammatical information and word information of the predetermined language;
(B) Based on the result of the syntax analysis in step (a), a predetermined tag describing a corresponding attribute is assigned to a phrase and a word included in the sentence, and a phrase corresponding to a predicate in the sentence Alternatively, the tag assigned to the word and the phrase or tag assigned to the word as a term of the predicate are associated with each other by the attribute, and the description position and the hierarchy of each of the tag, the word, and the tag attribute Outputting an index indicating depth as the structured data;
Is included.

この方法により得られるインデックスである構造化データを参照すれば、開始タグと終了タグとの対応関係により規定されるセンテンスの構文木や、述語に相当する単語等に付与されたタグと当該述語の項となる句等に付与されたタグとの対応関係により規定されるセンテンス中の述語項構造を容易に特定することが可能となる。従って、この方法によれば、センテンス中の述語と項との間の意味的な関係である述語項関係の表記と、そのような意味的な関係により規定される概念を検索条件とした検索とを可能とする構造化データを実現することができる。   By referring to structured data that is an index obtained by this method, the syntax tree of the sentence defined by the correspondence between the start tag and the end tag, the tag attached to the word corresponding to the predicate, and the predicate It becomes possible to easily specify the predicate term structure in the sentence defined by the correspondence relationship with the tag given to the phrase or the like that becomes the term. Therefore, according to this method, a notation of a predicate term relationship that is a semantic relationship between a predicate and a term in a sentence, and a search using a concept defined by such a semantic relationship as a search condition, Structured data can be realized.

本発明によるデータベース管理装置は、
所定言語からなる文書の文書データを複数蓄積したデータベースを管理するデータベース管理装置であって、
前記文書データと前記所定言語の文法情報および単語情報とを用いて前記文書の構文解析を実行する構文解析手段と、
前記構文解析手段による構文解析の結果に基づいて前記文書中のセンテンスと該センテンスに含まれる句と単語とにそれぞれ対応した属性が記述される所定のタグを付与すると共に、前記センテンス中の述語に相当する句または単語に付与されたタグと該述語の項となる句または単語に付与されたタグとを前記属性により対応付けした上で、前記タグ、前記単語および前記タグの属性の各々の記述位置と階層深さとを示すインデックスを出力するインデックス出力手段と、
前記インデックス出力手段により出力されたインデックスを前記文書データごとに保持するインデックス保持手段と、
を備えるものである。
The database management device according to the present invention is:
A database management apparatus that manages a database that stores a plurality of document data of documents in a predetermined language,
Syntax analysis means for executing syntax analysis of the document using the document data and grammatical information and word information of the predetermined language;
Based on the result of the parsing by the parsing means, a predetermined tag describing attributes corresponding to sentences in the document and phrases and words included in the sentence is given, and predicates in the sentence are given. Description of each of the tag, the word, and the attribute of the tag after associating the tag attached to the corresponding phrase or word with the tag attached to the phrase or word as the term of the predicate by the attribute Index output means for outputting an index indicating a position and a hierarchy depth;
Index holding means for holding the index output by the index output means for each document data;
Is provided.

このデータベース管理装置では、例えば新たな文書の文書データがデータベースに蓄積されるに際して、当該文書データと所定言語の文法情報および単語情報とを用いた文書の構文解析が実行される。そして、構文解析の結果に基づいて、文書中のセンテンスと当該センテンスに含まれる句と単語とにはそれぞれ対応した属性が記述される所定のタグが付与されると共に、センテンス中の述語に相当する句または単語に付与されたタグと当該述語の項となる句または単語に付与されたタグとが属性を用いて対応付けされた上で、タグ、単語およびタグの属性の各々の記述位置と階層深さとを示すインデックスが構造化データとして出力され、上記新たな文書と対応付けされて保持される。このように、文書データごとに上述のようなインデックスを保持しておけば、インデックスを参照することにより、開始タグと終了タグとの対応関係により規定される文書中のセンテンスの構文木や、述語に相当する単語等に付与されたタグと該述語の項となる句等に付与されたタグとの対応関係により規定されるセンテンス中の述語項構造を容易に特定することができる。従って、このデータベース管理装置によれば、文書データを複数蓄積したデータベースを単語や句といった文要素間の意味的な関係により規定される概念を検索条件として検索することが可能となる。   In this database management apparatus, for example, when document data of a new document is accumulated in the database, document parsing using the document data, grammatical information and word information of a predetermined language is executed. Based on the result of the parsing, a sentence in the document and a phrase and a word included in the sentence are given predetermined tags in which corresponding attributes are described, and correspond to predicates in the sentence. A tag assigned to a phrase or word and a tag assigned to the phrase or word that is the term of the predicate are associated using attributes, and the description position and hierarchy of each of the tag, word, and tag attributes An index indicating the depth is output as structured data and is stored in association with the new document. In this way, if an index as described above is held for each document data, a syntax tree or a predicate of a sentence in the document specified by the correspondence between the start tag and the end tag can be referred to by referring to the index. It is possible to easily specify a predicate term structure in a sentence defined by a correspondence relationship between a tag assigned to a word corresponding to と and a tag assigned to a phrase or the like serving as a term of the predicate. Therefore, according to this database management apparatus, it is possible to search a database in which a plurality of document data is stored using a concept defined by a semantic relationship between sentence elements such as words and phrases as a search condition.

本発明によるデータベース管理方法は、
所定言語からなる文書の文書データを複数蓄積したデータベースを管理するためのデータベース管理方法であって、
(a)前記文書データと前記所定言語の文法情報および単語情報とを用いて前記文書の構文解析を実行するステップと、
(b)ステップ(a)の構文解析の結果に基づいて前記文書中のセンテンスと該センテンスに含まれる句と単語とにそれぞれ対応した属性が記述される所定のタグを付与すると共に、前記センテンス中の述語に相当する句または単語に付与されたタグと該述語の項となる句または単語に付与されたタグとを前記属性により対応付けした上で、前記タグ、前記単語および前記タグの属性の各々の記述位置と階層深さとを示すインデックスを出力すると共に前記文書データごとに保持するステップと、
を含むものである。
The database management method according to the present invention includes:
A database management method for managing a database storing a plurality of document data of documents in a predetermined language,
(A) performing syntax analysis of the document using the document data and grammatical information and word information of the predetermined language;
(B) Based on the result of the parsing in step (a), a predetermined tag describing attributes corresponding to sentences in the document and phrases and words included in the sentence is given, The tag assigned to the phrase or word corresponding to the predicate of and the tag assigned to the phrase or word serving as the term of the predicate are associated by the attribute, and the attribute of the tag, the word and the tag Outputting an index indicating each description position and hierarchy depth and holding each document data; and
Is included.

この方法のように、文書データごとに上述のようなインデックスを保持しておけば、インデックスを参照することにより、開始タグと終了タグとの対応関係により規定される文書中のセンテンスの構文木や、述語に相当する単語等に付与されたタグと当該述語の項となる句等に付与されたタグとの対応関係により規定されるセンテンス中の述語項構造を容易に特定することができる。従って、この方法によれば、文書データを複数蓄積したデータベースを単語や句といった文要素間の意味的な関係により規定される概念を検索条件として検索することが可能となる。   If an index such as that described above is held for each document data as in this method, the syntax tree of sentences in the document specified by the correspondence between the start tag and the end tag can be obtained by referring to the index. The predicate term structure in the sentence defined by the correspondence between the tag assigned to the word corresponding to the predicate and the tag assigned to the phrase or the like serving as the term of the predicate can be easily specified. Therefore, according to this method, it is possible to search a database in which a plurality of document data are accumulated, using a concept defined by a semantic relationship between sentence elements such as words and phrases as a search condition.

本発明によるデータベース検索システムは、
所定言語からなる文書の文書データを複数蓄積したデータベースを検索するためのデータベース検索システムであって、
前記文書中のセンテンスと該センテンスに含まれる句と単語との各々に付与された所定のタグ、前記単語および前記タグに記述される属性の各々の記述位置と階層深さとを示すと共に前記センテンス中の述語に相当する句または単語に付与されたタグと該述語の項となる句または単語に付与されたタグとを前記属性により対応付けするように前記文書データごとに作成されたインデックスを保持するインデックス保持手段と、
複数の検索単語と該検索単語間の述語項関係とを検索条件として受け付け可能な受付手段と、
前記インデックス保持手段により保持されているインデックスに基づいて、前記受け付けられた検索単語をすべて含むタグ領域を抽出する抽出手段と、
前記インデックスに基づいて、前記抽出手段により抽出されたタグ領域に含まれる前記検索単語に対応したタグ間で前記受け付けられた述語項関係に合致した対応付けがなされているか否かを判定する判定手段と、
前記判定手段による判定結果に基づいて検索結果を出力する検索結果出力手段と、
を備えるものである。
A database search system according to the present invention includes:
A database search system for searching a database storing a plurality of document data of documents in a predetermined language,
The sentence in the document, a predetermined tag assigned to each of the phrase and the word included in the sentence, the description position and the hierarchical depth of each attribute described in the word and the tag, and the sentence An index created for each piece of document data is stored so that a tag assigned to a phrase or word corresponding to the predicate of and a tag assigned to a phrase or word serving as a term of the predicate are associated by the attribute. Index holding means;
Accepting means capable of accepting a plurality of search words and a predicate term relationship between the search words as a search condition;
Extraction means for extracting a tag region including all the accepted search words based on the index held by the index holding means;
Determining means for determining, based on the index, whether or not the matching corresponding to the accepted predicate term relationship is made between the tags corresponding to the search word included in the tag area extracted by the extracting means. When,
Search result output means for outputting a search result based on a determination result by the determination means;
Is provided.

このデータベース検索システムは、文書データごとに作成されたインデックスを保持するインデックス保持手段を備えており、文書データごとのインデックスは、それぞれ対応した文書中のセンテンスと当該センテンスに含まれる句と単語との各々に付与された所定のタグ、単語およびタグに記述される属性の各々の記述位置と階層深さとを示すと共にセンテンス中の述語に相当する句または単語に付与されたタグと当該述語の項となる句または単語に付与されたタグとを属性により対応付けするものである。従って、インデックスを参照すれば、開始タグと終了タグとの対応関係により規定される文書中のセンテンスの構文木や、述語に相当する単語等に付与されたタグと当該述語の項となる句等に付与されたタグとの対応関係により規定されるセンテンス中の述語項構造を容易に特定することができる。これを踏まえて、このデータベース検索システムでは、複数の検索単語と当該検索単語間の述語項関係とが検索条件として受け付けられると、まず、インデックスに基づいて、受け付けられた検索単語をすべて含むタグ領域が抽出される。更に、上記インデックス、すなわち述語に相当する単語等に付与されたタグと当該述語の項となる句等に付与されたタグとを対応付けする属性に基づいて、抽出されたタグ領域に含まれる検索単語に対応したタグ間で検索条件として受け付けられた述語項関係に合致した対応付けがなされているか否かが判定され、その判定の結果に基づいて検索結果が出力される。これにより、文書データを複数蓄積したデータベースを単語や句といった文要素間の意味的な関係により規定される概念を検索条件として検索することが可能となる。   This database search system includes index holding means for holding an index created for each document data. The index for each document data includes a sentence in the corresponding document, a phrase and a word included in the sentence, respectively. A tag assigned to a phrase or word corresponding to a predicate in a sentence and a description tag and a word corresponding to a predicate in the sentence, and a predetermined tag, a word, and a description of each attribute described in the tag. And a tag attached to a phrase or word. Therefore, referring to the index, the sentence syntax tree in the document defined by the correspondence between the start tag and the end tag, the tag assigned to the word corresponding to the predicate, the phrase that is the term of the predicate, etc. It is possible to easily specify the predicate term structure in the sentence defined by the correspondence relationship with the tag assigned to. Based on this, in this database search system, when a plurality of search words and a predicate term relationship between the search words are accepted as search conditions, first, a tag area including all the accepted search words based on an index Is extracted. Further, the search included in the extracted tag region based on the attribute that associates the tag attached to the index, that is, the tag assigned to the word corresponding to the predicate, and the tag attached to the phrase or the like of the term of the predicate. It is determined whether or not the matching corresponding to the predicate term relationship accepted as the search condition is made between the tags corresponding to the word, and the search result is output based on the determination result. As a result, it is possible to search a database in which a plurality of document data is stored using a concept defined by a semantic relationship between sentence elements such as words and phrases as a search condition.

また、前記インデックスでは、前記センテンス中の述語に相当する句または単語に対応したタグの所定の属性と該述語の項となる句または単語に対応したタグの所定の属性とに属性値として同一の値が設定されていてもよく、前記判定手段は、前記インデックスに基づいて前記属性値として同一の値が記述されている前記検索単語に対応したタグの対の有無を判定するものであってもよい。これにより、より精度のよい検索結果を迅速に得ることが可能となる。   In the index, the predetermined attribute of the tag corresponding to the phrase or word corresponding to the predicate in the sentence and the predetermined attribute of the tag corresponding to the phrase or word serving as the term of the predicate are the same as the attribute value. A value may be set, and the determination unit may determine whether there is a tag pair corresponding to the search word in which the same value is described as the attribute value based on the index. Good. As a result, a more accurate search result can be obtained quickly.

この場合、本発明によるデータベース検索システムは、前記単語ごとに前記データベースにおける出現頻度を記憶する出現頻度記憶手段を更に備えてもよく、前記判定手段は、互いに述語項関係にある前記検索単語のうちの前記出現頻度がより小さい一方の検索単語に対応したタグに記述されている前記属性値を変数として該変数の値を取得し、取得した変数の値に一致する前記属性値が設定されている他方の前記検索単語に対応したタグが存在するか否かを判定するものであってもよい。このように、出現頻度がより小さい一方の検索単語に対応したタグに記述されている属性値を変数とすれば、取得される変数値の数がより少なくなり、その分だけ判定対象とすべき他方の検索単語に対応したタグの数を減らすことができるので、属性値として同一の値が記述されている検索単語に対応したタグの対の有無を短時間で効率よく判定することが可能となる。   In this case, the database search system according to the present invention may further include appearance frequency storage means for storing the appearance frequency in the database for each word, and the determination means includes the search words that are in a predicate term relationship with each other. The value of the variable is acquired using the attribute value described in the tag corresponding to one search word with a lower appearance frequency as a variable, and the attribute value that matches the acquired variable value is set. It may be determined whether or not a tag corresponding to the other search word exists. In this way, if the attribute value described in the tag corresponding to one of the search words having a smaller appearance frequency is used as a variable, the number of variable values to be acquired is reduced, and the corresponding value should be determined. Since the number of tags corresponding to the other search word can be reduced, it is possible to efficiently determine in a short time whether or not there is a tag pair corresponding to the search word in which the same value is described as the attribute value. Become.

更に、本発明によるデータベース検索システムは、前記受け付けられた検索単語と前記述語項関係とに基づいて、該述語項関係を対応付けする属性値を変数とした検索クエリを設定する検索クエリ設定手段を更に備えてもよく、前記抽出手段は、前記設定された検索クエリに現れる最大の検索対象領域である最大検索領域を識別すると共に前記受け付けられた検索単語をすべて含む最大検索領域の開始タグおよび終了タグを抽出し、前記判定手段は、前記設定された検索クエリを分解して得られる前記検索単語の何れかと前記変数とを含む少なくとも一つの部分クエリから該変数を除いたクエリを実行し、実行結果として返された前記変数の値を代入した前記検索クエリに合致する前記最大検索領域が存在するか否かを判定するものであってもよい。   Further, the database search system according to the present invention is a search query setting means for setting a search query using as a variable an attribute value that correlates the predicate term relationship based on the accepted search word and the previous description term term relationship. The extraction means identifies a maximum search area that is a maximum search target area that appears in the set search query and includes a start tag for a maximum search area that includes all of the accepted search words and An end tag is extracted, and the determination unit executes a query excluding the variable from at least one partial query including any of the search words obtained by decomposing the set search query and the variable, It is determined whether or not there exists the maximum search area that matches the search query assigned the value of the variable returned as an execution result. Good.

そして、前記インデックスは、前記文書データと前記所定言語の文法情報および単語情報とを用いた前記文書の構文解析の結果に基づいて予め作成されているものであってもよい。これにより、実際の検索処理の負担を軽減して検索条件の入力から検索結果の出力までに要する時間を短縮化することが可能となる。   The index may be created in advance based on a result of syntax analysis of the document using the document data and grammatical information and word information of the predetermined language. As a result, it is possible to reduce the time required from the input of the search condition to the output of the search result by reducing the actual search processing load.

本発明によるデータベース検索方法は、
所定言語からなる文書の文書データを複数蓄積したデータベースを検索するためのデータベース検索方法であって、
(a)前記文書中のセンテンスと該センテンスに含まれる句と単語との各々に付与された所定のタグ、前記単語および前記タグに記述される属性の各々の記述位置と階層深さとを示すと共に前記センテンス中の述語に相当する句または単語に付与されたタグと該述語の項となる句または単語に付与されたタグとを前記属性により対応付けするように前記文書データごとに作成されたインデックスを予め作成・保持しておくステップと、
(b)複数の検索単語と該検索単語間の述語項関係とを検索条件として受け付けるステップと、
(c)前記インデックスに基づいて、前記受け付けられた検索単語をすべて含むタグ領域を抽出するステップと、
(d)前記インデックスに基づいて、ステップ(c)で抽出されたタグ領域に含まれる前記検索単語に対応したタグ間で前記受け付けられた述語項関係に合致した対応付けがなされているか否かを判定するステップと、
(e)ステップ(d)における判定結果に基づいて検索結果を出力するステップと、
を含むものである。
The database search method according to the present invention includes:
A database search method for searching a database storing a plurality of document data of documents in a predetermined language,
(A) indicates a sentence in the document, a predetermined tag assigned to each of a phrase and a word included in the sentence, a description position and a hierarchical depth of each attribute described in the word and the tag, and An index created for each document data so that a tag attached to a phrase or word corresponding to a predicate in the sentence and a tag attached to a phrase or word serving as a term of the predicate are associated by the attribute. Creating and maintaining
(B) receiving a plurality of search words and a predicate term relationship between the search words as a search condition;
(C) extracting a tag region including all the accepted search words based on the index;
(D) Based on the index, whether or not the correspondence corresponding to the accepted predicate term relationship is made between the tags corresponding to the search word included in the tag area extracted in step (c). A determining step;
(E) outputting a search result based on the determination result in step (d);
Is included.

この方法によれば、文書データを複数蓄積したデータベースを単語や句といった文要素間の意味的な関係により規定される概念を検索条件として検索することが可能となる。   According to this method, it is possible to search a database in which a plurality of document data are accumulated using, as a search condition, a concept defined by a semantic relationship between sentence elements such as words and phrases.

次に、実施例を参照しながら本発明を実施するための最良の形態について説明する。   Next, the best mode for carrying out the present invention will be described with reference to examples.

図1は、本発明の一実施例に係るデータベース検索システム20の概略構成図である。同図に示すように、実施例のデータベース検索システム20は、主として、データベース化された膨大なデータを記憶するデータ記憶装置21と、データ記憶装置21上のデータベースを管理すると共に当該データベースの検索を可能とする管理サーバ30とから構成されるものである。実施例のデータベースは、所定言語(例えば英語)で記載された所定分野の文献や学術論文といった文書の文書データ60を多数蓄積した文書データベースとして構築されている。また、管理サーバ30は、図示しないサーバCPU,ROM,RAM、システムバス、各種インターフェース、記憶装置、外部記憶装置等を含むものであり、この管理サーバ30には、例えばインターネット等のネットワークを介して端末50からアクセスすることができるようになっている。そして、管理サーバ30には、図1に示すように、サーバCPUやROM,RAM、各種インターフェース、記憶装置といったハードウエアと、予めインストールされた各種プログラムとの一方または双方の協働により、文書入力部31、構文解析部32、用語認識部33、インデックス作成部34、インデックス保持部35、入力受付部36、検索処理部(検索エンジン)37および結果出力部38が機能ブロックとして構築されている。   FIG. 1 is a schematic configuration diagram of a database search system 20 according to an embodiment of the present invention. As shown in the figure, the database search system 20 of the embodiment mainly manages a data storage device 21 that stores a huge amount of data in a database and a database on the data storage device 21 and searches the database. The management server 30 is configured to be enabled. The database of the embodiment is constructed as a document database in which a large number of document data 60 of documents such as documents and academic papers in a predetermined field written in a predetermined language (for example, English) is accumulated. The management server 30 includes a server CPU, ROM, RAM, system bus, various interfaces, storage devices, external storage devices, etc. (not shown). The management server 30 is connected to the management server 30 via a network such as the Internet, for example. It can be accessed from the terminal 50. As shown in FIG. 1, the management server 30 inputs a document by cooperation of one or both of hardware such as a server CPU, ROM, RAM, various interfaces, and a storage device and various programs installed in advance. A unit 31, a syntax analysis unit 32, a term recognition unit 33, an index creation unit 34, an index holding unit 35, an input reception unit 36, a search processing unit (search engine) 37, and a result output unit 38 are constructed as functional blocks.

文書入力部31は、所定のデータ形式(例えばテキスト形式)で記述された所定言語の文書を示す文書データ60の入力を受け付け、受け付けた文書データ60をデータ記憶装置21に格納すると共に当該文書データ60を構文解析部32と用語認識部33とに与える。構文解析部32は、文書入力部31からの文書データ60とそれに示される文書の言語の文法情報(文法規則)および単語情報(辞書)とを用いて文書データ60に示される文書の構文解析を実行するものである。実施例の構文解析部32は、HPSG(Head-Driven Phrase Structure Grammar)に基づく構文解析を実行して当該文書中のセンテンス(文)の構文木および述語項構造を取得するパーザとして構成されている。構文解析部32による構文解析に用いられる文法情報および単語情報は、予め用意された上でそれぞれ図示しない所定の記憶装置に記憶されている。用語認識部33は、図示しない所定の記憶装置に記憶された所定の用語情報に基づいて文書入力部31からの文書データ60に示される文書中の句や単語の各々について当該句または単語がある一つの実体的意味で括られるものであるか否かを判定すると共に上記句または単語が当該一つの実体的意味で括られるものであるときにはその実体的意味を取得するものである。インデックス作成部34は、構文解析部32による構文解析の結果と用語認識部33による用語認識の結果とに基づいてデータ記憶装置21上のデータベースを検索する際に用いられるインデックスを作成し、インデックス保持部35は、インデックス作成部34により作成されたインデックスをデータベース上の文書データ60に対応付けした状態で保持するものである。入力受付部36は、ネットワーク40を介して管理サーバ30と接続された端末50等から入力される検索条件を受け付ける。実施例では、検索条件として、複数の検索単語と当該検索単語間の述語項関係とを入力することができる。そして、検索処理部37は、入力受付部36により受け付けられた検索条件(検索単語と述語項関係)に基づいて検索クエリを設定すると共に設定した検索クエリを実行し、結果出力部38は、検索処理部37の処理の結果に基づいて検索結果を出力する   The document input unit 31 receives input of document data 60 indicating a document in a predetermined language described in a predetermined data format (for example, text format), stores the received document data 60 in the data storage device 21, and the document data 60 is given to the syntax analysis unit 32 and the term recognition unit 33. The syntax analysis unit 32 uses the document data 60 from the document input unit 31 and the grammatical information (grammar rules) and word information (dictionary) of the language of the document shown in the document data 60 to parse the document shown in the document data 60. It is something to execute. The syntax analysis unit 32 according to the embodiment is configured as a parser that executes syntax analysis based on HPSG (Head-Driven Phrase Structure Grammar) and acquires a syntax tree and a predicate term structure of a sentence (sentence) in the document. . Grammar information and word information used for syntax analysis by the syntax analysis unit 32 are prepared in advance and stored in a predetermined storage device (not shown). The term recognition unit 33 has a phrase or word for each phrase or word in the document indicated by the document data 60 from the document input unit 31 based on predetermined term information stored in a predetermined storage device (not shown). It is determined whether or not the phrase is enclosed in one entity meaning, and when the phrase or word is enclosed in the one entity meaning, the entity meaning is acquired. The index creation unit 34 creates an index to be used when searching the database on the data storage device 21 based on the result of the syntax analysis by the syntax analysis unit 32 and the result of the term recognition by the term recognition unit 33, and stores the index. The unit 35 holds the index created by the index creating unit 34 in a state in which the index is associated with the document data 60 on the database. The input receiving unit 36 receives search conditions input from the terminal 50 or the like connected to the management server 30 via the network 40. In the embodiment, as a search condition, a plurality of search words and a predicate term relationship between the search words can be input. Then, the search processing unit 37 sets a search query based on the search condition (search word and predicate term relationship) received by the input receiving unit 36 and executes the set search query. The result output unit 38 A search result is output based on the processing result of the processing unit 37.

次に、実施例のデータベース検索システム20を用いたデータベースの検索に用いられるインデックスの作成するためのインデックス作成処理について説明する。また、インデックス作成処理の説明に引き続いて、実施例のデータベース検索システム20におけるインデックスを用いたデータ記憶装置21上のデータベースの検索処理について説明する。   Next, an index creation process for creating an index used for database search using the database search system 20 of the embodiment will be described. Further, following the description of the index creation process, the database search process on the data storage device 21 using the index in the database search system 20 of the embodiment will be described.

〔インデックス生成処理〕
図2は、実施例のデータベース検索システム20を構成する管理サーバ30において実行されるインデックス作成処理の一例を示すフローチャートである。図2のインデックス作成処理は、例えば新たな文書データ60がデータ記憶装置21上のデータベースに蓄積される際に実行されるものである。
[Index generation processing]
FIG. 2 is a flowchart illustrating an example of an index creation process executed in the management server 30 included in the database search system 20 according to the embodiment. The index creation processing of FIG. 2 is executed when new document data 60 is accumulated in a database on the data storage device 21, for example.

管理サーバ30の文書入力部31により新たな文書データ60の入力が受け付けられると(ステップS100)、文書入力部31は、受け付けた文書データ60をデータ記憶装置21に格納すると共に、当該文書データ60を構文解析部32と用語認識部33とに与える。文書入力部31から文書データ60を受け取った構文解析部32は、当該文書データ60と対象言語の文法情報および単語情報を用いた文書の構文解析を実行し、同様に文書データ60を受け取った用語認識部33は、構文解析部32による構文解析処理と並行して、予め用意された用語情報に基づいて文書入力部31からの文書データ60に示される文書中の単語の各々に対する用語認識を実行する(ステップS110)。   When the input of new document data 60 is received by the document input unit 31 of the management server 30 (step S100), the document input unit 31 stores the received document data 60 in the data storage device 21 and the document data 60. Is given to the syntax analysis unit 32 and the term recognition unit 33. The syntax analysis unit 32 that has received the document data 60 from the document input unit 31 executes a syntax analysis of the document using the document data 60 and the grammatical information and word information of the target language, and similarly the term that has received the document data 60. The recognition unit 33 executes term recognition for each word in the document indicated by the document data 60 from the document input unit 31 based on the term information prepared in advance in parallel with the syntax analysis processing by the syntax analysis unit 32. (Step S110).

ここで、図3から図6を参照しながら、ステップS110における実施例の構文解析部32による文書の構文解析処理について説明する。まず、例えば“Mary slaps John”という英文を考えると、この英文は、[Mary,主語,slap]と[John,目的語,slap]という2つの関係からなる概念(関係概念)を示すといえる。そして、この英文は、図3に示すように、“Mary”,“John”,“slaps”という3つのノードを有し、単語“Mary”と“slaps”とが「主語」というラベルのエッジで結ばれると共に、単語“John”と“slaps”とが「目的語」というラベルのエッジで結ばれたラベル付き有向グラフで表現することができる。かかるグラフにおいては、各ノードのみならず、ノード同士を結ぶエッジも文法上極めて重要な情報を示している。すなわち、“John slaps Mary”という英文は、先の“Mary slaps John”という英文と同じ3つの単語を含むにも拘わらず、全く異なる関係概念を示すから、この英文は図3のグラフとは異なるグラフにより表現されることになる。これに対して、“John is slapped by Mary”という英文は、表層的には文字列が異なるものの、上記“Mary slaps John”と同じ意味を示しており、図3のグラフに近似したグラフを用いて表現可能なものである。従って、このような関係概念(述語項構造)を検索条件とした検索を実行するためには、検索単語の有無のみを判定する既存の文書検索手法のように上述のエッジを無視してはならないことになり、文要素間の述語項関係(意味上の主語、述語、目的語の関係)を示すグラフが要求されることになる。   Here, with reference to FIGS. 3 to 6, the document syntax analysis processing by the syntax analysis unit 32 of the embodiment in step S110 will be described. First, for example, considering the English sentence “Mary slaps John”, it can be said that this English sentence shows a concept (relationship concept) composed of two relations [Mary, subject, slap] and [John, object, slap]. As shown in FIG. 3, this English sentence has three nodes “Mary”, “John”, and “slaps”, and the words “Mary” and “slaps” are at the edge labeled “subject”. In addition to being connected, the words “John” and “slaps” can be represented by a directed graph with a label connected by the edge of the label “object”. In such a graph, not only each node but also an edge connecting the nodes shows very important information in terms of grammar. In other words, the English sentence “John slaps Mary” shows a completely different relationship concept even though it contains the same three words as the previous English sentence “Mary slaps John”, so this English sentence is different from the graph of FIG. It will be represented by a graph. On the other hand, the English sentence “John is slapped by Mary” has the same meaning as the above “Mary slaps John” although the character string is different on the surface layer, and a graph approximated to the graph of FIG. 3 is used. Can be expressed. Therefore, in order to execute a search using such a relation concept (predicate term structure) as a search condition, the above-described edge must not be ignored as in the existing document search method for determining only the presence or absence of a search word. Therefore, a graph showing the predicate term relationship between the sentence elements (the relationship between the semantic subject, predicate, and object) is required.

このため、実施例では、文要素間の述語項関係を示すグラフすなわち文書中のセンテンスの構文木と述語項構造とを取得すべく、構文解析部32を上述のようにHPSGに基づく構文解析を実行するパーザとして構成している。この場合、構文解析部32の文法情報は、いわゆる三単現や格の制約、更に、自然言語の文における「あいまい性」の学習結果に基づく制約等を集約することにより構築される。また、構文解析部32の単語情報は、単語のごとにその構文的性質を示すデータ(語彙項目)のリストとして作成される。各単語のリストには、図4および図5に示すように、“HEAD”,“SUBJ”,“COMPS”および“SEM”という4つの項目が含まれており、“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)”と記述される。ここで、数字“1”や“2”は構文上の主語、目的語と意味上の主語、目的語との間の対応関係を規定(マッピング)するための変数であり、項目“SEM”における“slap”という文字列に続く括弧内の表記は、「(意味上の主語を示す変数、意味上の目的語を示す変数)」を示している。これにより、図4に示すように、“slap(s)” という単語に関しては、リストの項目“SUBJ”の“SEM”に値1が記述されると共に項目“COMPS”の“SEM”に値2が記述され、更に項目“SEM”にslap(1, 2)”と記載されているので、構文上の主語が意味上の主語となり、構文上の目的語が意味上の目的語となることをリストから知ることができる。また、図5からわかるように、“slapped” という単語に関しては、構文上の主語が意味上の目的語となり、構文上の目的語が意味上の主語となることをリストから知ることができる。   For this reason, in the embodiment, in order to obtain a graph showing a predicate term relationship between sentence elements, that is, a syntax tree of a sentence in a document and a predicate term structure, the parsing unit 32 performs syntax analysis based on HPSG as described above. It is configured as a parser to execute. In this case, the grammatical information of the syntax analysis unit 32 is constructed by aggregating so-called triplet and case restrictions, and restrictions based on the learning result of “ambiguity” in a natural language sentence. Further, the word information of the syntax analysis unit 32 is created as a list of data (vocabulary items) indicating the syntactic properties for each word. As shown in FIGS. 4 and 5, each word list includes four items “HEAD”, “SUBJ”, “COMPS”, and “SEM”, where “HEAD” is a part of speech, “SUBJ” "Can be a syntactic subject (a word or phrase that can be located to the left of the predicate)," COMPS "can be a syntactic object (a word or phrase that can be to the right of the predicate)," SEM " Represents a semantic structure (predicate term structure). Taking the English sentence “Mary slaps John” as an example, for the words “Mary” and “John”, “prernn” indicating a proper noun is described in the item “HEAD”, and “Mary” in the item “SEM”. Alternatively, the character string “John” is described. Also, for the word “slap (s)”, the verb “verb” is displayed in the item “HEAD” and the item “SUBJ” is displayed in the item “SUBJ” to indicate that the verb is a noun for the subject and the object. “HEAD (= part of speech) noun (= noun)” is described, and “HEAD noun” is described in the item “COMPS”. Further, “SEM 1” is described in the item “SUBJ”, “SEM 2” is described in the item “COMPS”, and “slap (1, 2)” is described in the item “SEM”. Here, the numbers “1” and “2” are variables for defining (mapping) the correspondence between the syntactic subject, the object and the semantic subject, and the object, and in the item “SEM” The notation in parentheses following the character string “slap” indicates “(a variable indicating a semantic subject, a variable indicating a semantic object)”. As a result, as shown in FIG. 4, for the word “slap (s)”, a value 1 is described in “SEM” of the item “SUBJ” of the list and a value 2 is stored in “SEM” of the item “COMPS”. And the item “SEM” contains slap (1, 2) ”so that the syntactic subject becomes the semantic subject and the syntactic object becomes the semantic object. As can be seen from the list, as can be seen from Fig. 5, for the word "slapped", the syntactic subject becomes the semantic object and the syntactic object becomes the semantic subject. You can know from the list.

そして、構文解析部32は、上述のような単語情報に基づいて文書中のセンテンスの単語ごとに語彙項目を取得すると共に文法情報に基づく制約に従って、図6に例示するような「名詞句(NP)」、「動詞句(VP)」、「文(Sentence)」等、文中の要素の階層的構造(図中実線参照)を示すと共に、述語(単語“slaps”)と、その項、すなわち意味上の主語(単語“Mary”)や目的語(単語“John”)との関係である述語項関係を示す構造木を取得する。例えば、“Mary slaps John”という英文が構文解析部32に与えられると、図4に示すように、“slaps”という単語は、単語情報(リスト)から、右側に名詞(noun)を1つ取ることができる動詞であると認識され、“John”という単語のリスト(HEAD)には、“prernn”と記述されているので、“slaps”と“John”が隣接しているときには、これら2つの単語が組み合わさって“slaps John”という句を構成していると認識される。更に、“slaps John”という句は、左側に名詞を取ることができる動詞句であり、その左側に“Mary”という単語(固有名詞)が存在していると、“Mary slaps John”という英文の構文木が取得されることになる。また、隣接し合う句同士が互いに組み合わされ得る性質をもっているときには、より大きな句が認識されることになる。また、上記“Mary slaps John”という英文に関しては、“slap”の構文上の主語・目的語はそのまま意味上の主語・目的語として認識されるが、図5からわかるように、“John is slapped by Mary”という英文に関しては、構文上の主語・目的語がそれぞれ意味上の目的語・主語として認識される。これにより、様々なセンテンス中に統語的変形(例えば、受身形“John is slapped by Mary”や、関係代名詞“John who Mary slaps”等)が存在して表層的な表現が異なっている場合でも、図4および図5の最上段に示すように、意味上の主語、目的語等の関係すなわち述語項構造は実質的に同一であることが認識される。構文解析部32は、このような処理を再帰的に行うことで文書中のセンテンスごとに述語項関係を示す構文木を取得し、構文解析の結果を示す所定の態様のデータとしてインデックス作成部34に出力する。なお、データベース上で取り扱う文書の言語を単一のものとする場合には、構文解析アルゴリズム、文法情報および単語情報として当該言語に対応したものを予め用意すればよく、多数の言語からなる文書を取り扱う際には、構文解析アルゴリズム、文法情報および単語情報として各言語に対応したものを用意すればよい。このようなHPSGに基づく構文解析を実行するパーザの一例としては、英文のセンテンスの構文木および述語項構造を取得すべく開発された“Enju”が知られている(“Enju”については <http://www-tsujii.is.s.u-tokyo.ac.jp/enju/index.html> 参照。)。   Then, the syntax analysis unit 32 acquires a vocabulary item for each sentence word in the document based on the word information as described above, and follows the “noun phrase (NP) as illustrated in FIG. ) ”,“ Verb Phrase (VP) ”,“ Sentence ”, etc. In addition to showing the hierarchical structure of elements in the sentence (see the solid line in the figure), the predicate (word“ slaps ”) and its terms, meaning A structure tree indicating a predicate term relationship that is a relationship with the above subject (word “Mary”) and object (word “John”) is acquired. For example, when an English sentence “Mary slaps John” is given to the syntax analysis unit 32, as shown in FIG. 4, the word “slaps” takes one noun (noun) on the right side from the word information (list). The list of words “John” (HEAD) describes “prernn”, so when “slaps” and “John” are adjacent, these two It is recognized that the words combine to form the phrase “slaps John”. Furthermore, the phrase “slaps John” is a verb phrase that can take a noun on the left side. If the word “Mary” (proprietary noun) is on the left side, the English sentence “Mary slaps John” A syntax tree is obtained. Further, when adjacent phrases have a property that can be combined with each other, a larger phrase is recognized. As for the English sentence “Mary slaps John”, the syntactic subject / object of “slap” is recognized as a semantic subject / object as it is, but as shown in FIG. 5, “John is slapped”. For the English sentence “by Mary”, the syntactic subject and object are recognized as the semantic object and subject, respectively. This allows for syntactic variations in various sentences (for example, passive form “John is slapped by Mary”, relative pronoun “John who Mary slaps”, etc.), even if the surface expression is different. 4 and FIG. 5, it is recognized that the relationship between the semantic subject, object, etc., that is, the predicate term structure is substantially the same. The syntax analysis unit 32 performs such processing recursively to acquire a syntax tree indicating the predicate term relationship for each sentence in the document, and the index creation unit 34 as data in a predetermined mode indicating the result of the syntax analysis. Output to. When a single document language is handled on the database, a syntax analysis algorithm, grammar information, and word information corresponding to the language may be prepared in advance. When handling, what corresponds to each language may be prepared as a parsing algorithm, grammatical information, and word information. As an example of a parser that performs such parsing based on HPSG, “Enju”, which was developed to obtain the syntax tree and predicate term structure of an English sentence, is known. (See http://www-tsujii.is.su-tokyo.ac.jp/enju/index.html>.)

続いて、ステップS110における用語認識部33による用語認識処理について説明する。まず、先の“Mary slaps John”という例文に対して、“Mary hits John”という英文を考える。これら2つの英文は、表層的な表現が異なるものではあるが、単語“slaps”と単語“hits”とは互いに実質的に同一の意味を示すものであることから、文として実質的に同じ意味内容(関係概念)を示すものである。従って、同一の実体的意味をもつ句や単語、あるいはそれを含むセンテンス等の検索を可能とするためには、このような単語のもつ実体的意味をも考慮する必要がある。このため、実施例の管理サーバ30には、句や単語の各々の実体的意味に関する用語情報を用いて用語認識処理を実行する用語認識部33が管理サーバ30に構築されている。実施例では、用語認識部33の用語情報として、動詞表現がセンテンスの述語項構造の表記に重要な役割を果たすことを踏まえ、動詞の同義語や名詞化表現に関するオントロジーが用意されている。この動詞に関するオントロジーは、動詞を実体的な意味ごとに分類したときに現れる実体的意味(同義語を代表するもの)のそれぞれに一意のID(以下「オントロジーID」という)を付与すると共に、各オントロジーIDに同義の動詞や動詞の名詞化表現等を対応付けしたデータベースとして予め作成され、図示しない所定の記憶装置に記憶されたものである。加えて、実施例では、用語認識部33の用語情報として、データベース化の対象とされる文書の分野(例えば、生物学、医学といった分野)における用語(術語)を現実社会における実体的意味ごとに分類したときに現れる実体的意味のそれぞれに一意のIDを付与すると共に、各オントロジーIDに同義語を対応付けしたオントロジーが用意されている。このような特定分野におけるオントロジーの一部を図7に例示する。同図は、遺伝子・たんぱく質に関連したオントロジーにおける1つのエントリを示すものであり、このエントリには、CRPという遺伝子について、そのID(オントロジーID)、異名(Name, Synonym)、それが観測される生物種(Species)、その遺伝子がコードしているたんぱく質(Product)、外部データベースへのリンク(External links)といった情報が集約されている。図7からわかるように、このIDで表される遺伝子は“MGC88244”や“PTX1”等と表現されることもあるが、同一の実体的意味を示す遺伝子(文字列)のエントリに同一のオントロジーIDを付与しておくことにより、表層的な表現に違いがあっても同一の実体的意味を示す単語や句を抽出することが可能となる。用語認識部33は、上記用語情報を参照しながら、文書データ60に示される文書中の句や単語の各々について当該句または単語がある一つの実体的意味で括られるものであるか否かを判定し、当該句または単語が当該一つの実体的意味で括られるものであるときにはその実体的意味(オントロジーID)を取得する。そして、用語認識部33は、オントロジーIDと句または単語との対応関係を用語認識の結果を示す所定の態様のデータとしてインデックス作成部34に出力する。   Subsequently, term recognition processing by the term recognition unit 33 in step S110 will be described. First, consider the English sentence “Mary hits John” for the example sentence “Mary slaps John”. Although these two English sentences have different surface expressions, the word “slaps” and the word “hits” have substantially the same meaning as each other. It shows the content (relationship concept). Therefore, in order to be able to search for phrases or words having the same substantial meaning, or sentences containing the same, it is necessary to consider the substantial meaning of such words. For this reason, in the management server 30 of the embodiment, a term recognition unit 33 that executes term recognition processing using term information relating to the substantial meaning of each phrase or word is constructed in the management server 30. In the embodiment, as the term information of the term recognition unit 33, ontologies relating to synonyms of verbs and nounized expressions are prepared based on the fact that the verb expression plays an important role in the notation of the sentence predicate term structure. The ontology related to this verb assigns a unique ID (hereinafter referred to as “ontology ID”) to each of the substantial meanings (representing synonyms) that appear when the verbs are classified according to their substantial meanings. It is created in advance as a database in which ontology IDs are associated with synonymous verbs, verbal noun expressions, etc., and stored in a predetermined storage device (not shown). In addition, in the embodiment, as the term information of the term recognition unit 33, the term (technical term) in the field of the document (for example, the field of biology, medicine, etc.) that is the object of the database is obtained for each substantive meaning in the real world. An ontology in which a unique ID is assigned to each of the substantial meanings that appear when classified and a synonym is associated with each ontology ID is prepared. A part of ontology in such a specific field is illustrated in FIG. This figure shows one entry in the ontology related to genes / proteins. In this entry, the ID (ontology ID), synonym (Name, Synonym), and that of the gene called CRP are observed. Information such as species (Species), proteins encoded by the gene (Product), and links to external databases (External links) are collected. As can be seen from FIG. 7, the gene represented by this ID is sometimes expressed as “MGC88244”, “PTX1”, etc., but the same ontology is entered in the entry of the gene (character string) showing the same substantial meaning. By assigning IDs, it is possible to extract words and phrases having the same substantial meaning even if there is a difference in surface expression. The term recognizing unit 33 refers to the term information and determines whether each phrase or word in the document indicated in the document data 60 is bundled with a certain substantive meaning. Judgment is made, and when the phrase or word is bundled with the one substantial meaning, the substantial meaning (ontology ID) is acquired. Then, the term recognition unit 33 outputs the correspondence relationship between the ontology ID and the phrase or the word to the index creation unit 34 as data in a predetermined mode indicating the result of term recognition.

構文解析部32による構文解析の結果と用語認識部33による用語認識の結果とを受け取ったインデックス作成部34は、構文解析の結果と用語認識部33による用語認識の結果とに基づいてデータ記憶装置21上のデータベースを検索する際に用いられるインデックスを作成・出力する(ステップS120)。すなわち、インデックス作成部34は、構文解析および用語認識の結果に基づいて文書データ60をタグにより構造化する構造化モジュールと、構造化モジュールによる構造化の結果に基づいてインデックスを作成・出力する出力モジュールとを有しており(何れも図示省略)、構文解析および用語認識の結果は、まず、構造化モジュールに与えられる。インデックス作成部34の構造化モジュールは、構文解析部32による構文解析の結果に基づいて、文書データ60に示されている文書中のセンテンスと当該センテンスに含まれる句と単語とにそれぞれ対応した属性が記述される所定のタグを付与すると共にセンテンス中の述語に相当する句または単語に付与されたタグと当該述語の項となる句または単語に付与されたタグとを上記属性を用いて対応付けする。このような文書の構造化に際して用いられるタグの種類とそれに記述される属性とを図8に例示すると共に、タグに記述される属性の内容を図9に例示する。また、構造化モジュールによって構造化された“Pretty Mary slaps John”という英文をそのまま例えばXML形式で出力した場合の出力例を図10に示す。   The index creation unit 34 that has received the result of the syntax analysis by the syntax analysis unit 32 and the result of the term recognition by the term recognition unit 33 is a data storage device based on the result of the syntax analysis and the result of term recognition by the term recognition unit 33. An index used when searching the database on 21 is created and output (step S120). That is, the index creation unit 34 structures the document data 60 with tags based on the results of syntax analysis and term recognition, and outputs that creates and outputs an index based on the results of the structure with the structured module. Modules (both not shown), and the results of parsing and term recognition are first given to the structured module. Based on the result of syntax analysis by the syntax analysis unit 32, the structured module of the index creation unit 34 has attributes corresponding to sentences in the document indicated by the document data 60 and phrases and words included in the sentence. The tag assigned to the phrase or word corresponding to the predicate in the sentence and the tag assigned to the phrase or word as the term of the predicate are associated using the above attribute. To do. FIG. 8 illustrates the types of tags used for structuring such a document and the attributes described therein, and FIG. 9 illustrates the contents of the attributes described in the tags. FIG. 10 shows an output example when the English text “Pretty Mary slaps John” structured by the structured module is output as it is, for example, in XML format.

図8から図10に示すように、構造化モジュールによる文書の構造化に際しては、文書中のセンテンスの各々が<Sentence>という開始タグと</Sentence>という終了タグとで囲まれる。また、センテンス中の各句は、それぞれ<phrase>という開始タグと</phrase>という終了タグとで囲まれ、それぞれの<phrase>タグにはタグのIDを示すid属性、構文上のカテゴリを示すcat属性等が記述される。タグの属性には、それぞれに対応した属性値が設定される。例えば、各<phrase>タグのid属性には、登場順にp1,p2,…,p(n),…pN(ただし、“n”および“N”は正の正数である)という属性値が設定され、cat属性には、そのタグにより囲まれる句等が例えば“so that”構文に現れるようなセンテンス中のセンテンス(S)や名詞句(NP)、形容詞句(ADJP)、動詞句(VP)等であることを示す属性値(S,NP,ADJP,VP等)が設定される。更に、各単語は、それぞれ<word>という開始タグと</word>という終了タグで囲まれ、各<word>タグには対応した単語の品詞を示すpos属性等が記述される。この場合もタグの属性には、それぞれに対応した属性値が設定され、例えば、各<word>タグのpos属性には、形容詞、固有名詞、動詞といった品詞を示す属性値が設定される。また、動詞である単語に対応した<word>タグには、rel_type属性が記述され、このrel_type属性には用語認識部33による用語認識の結果に基づくオントロジーIDすなわち当該動詞の実体的意味のオントロジーID(図10の例では、単語“slap”や“hit”に付与される“i789”)が設定される。そして、<word>タグには、構文解析により取得された文要素間の述語項関係を識別するためのarg(X)属性(X=1,2…)が記述される。実施例において、arg(X)属性は、例えば、
arg1:動詞の主部
arg2:動詞の直接目的部
arg3:動詞の間接目的部
といった関係を指定するものとして定められており、arg1属性には、それに対応した動詞の主部となる句に付与された<phrase>タグのIDが、arg2属性には、それに対応した動詞の直接目的部となる句に付与された<phrase>タグのIDが、arg3属性には、それに対応した動詞の間接目的部となる句に付与された<phrase>タグのIDがそれぞれ設定される。例えば、図10の例では、動詞“slaps”に付与された<word>タグのarg1属性の属性値が“p2”とされているが、属性値p2は、名詞句“Pretty Mary”に付与された<phrase>タグのIDと一致しており、これにより、図10において破線で示すように、“Pretty Mary”という名詞句に付与された<phrase>タグおよび</phrase>タグにより規定される領域と“slaps”という単語に付与された<word>タグおよび</word>タグにより規定される領域とが対応付けされ、動詞“slaps”の主部(arg1)が“Pretty Mary”という名詞句であると表現されることになる。また、図10の例では、動詞“slaps”に付与された<word>タグのarg2属性の属性値が“p8”とされているが、属性値p8は、単語“John”を囲む<phrase>タグのIDと一致しており、これにより、図10において破線で示すように、“slaps”という単語に付与された<word>タグおよび</word>タグにより規定される領域と“John”という単語に対応した<phrase>タグおよび</phrase>タグにより規定される領域とが対応付けされ、動詞“slaps”の目的部(arg2)が“John”という名詞(句)であると表現されることになる。つまり、実施例では、センテンス中の述語に相当する単語に対応したタグのarg(X)属性と当該述語の項となる句に対応した<phrase>タグのid属性とに同一の属性値が設定される。このように、述語である単語とその項となる句とを対応付けすることにより、センテンスにおける文要素間の意味的な関係をより適正に表現することが可能となる。更に、用語認識部33による用語認識の結果、用語(術語)であると認識された単語の<word>タグは、<entity_name>という開始タグと</entity_name>という終了タグとで囲まれ、<entity_name>タグには、用語の種類を示すtype属性や当該用語のオントロジーIDを示すontology属性が記述され、type属性には用語の種類を示す属性値が記述されると共に、ontology属性には用語情報から取得されたオントロジーIDの値が属性値として記述される。例えば、図10の例では、単語“Mary”や“John”に対して<entity_name>タグが付与されており、type属性には「人名」という種別が、“Mary”のontology属性には“i1234”が、“John”のontology属性には“i3456”がそれぞれ属性値として設定されている。
As shown in FIGS. 8 to 10, when a document is structured by the structuring module, each sentence in the document is surrounded by a start tag <Sentence> and an end tag </ Sentence>. Each phrase in the sentence is surrounded by a <phrase> start tag and </ phrase> end tag. Each <phrase> tag has an id attribute indicating the tag ID and a syntactic category. The cat attribute to be shown is described. An attribute value corresponding to each tag attribute is set. For example, the id attribute of each <phrase> tag has an attribute value of p1, p2,..., P (n),... PN (where “n” and “N” are positive positive numbers) in the order of appearance. Set in the cat attribute, the sentence (S), noun phrase (NP), adjective phrase (ADJP), verb phrase (VP) in the sentence where the phrase enclosed by the tag appears in the “so that” syntax, for example ) Etc., attribute values (S, NP, ADJP, VP, etc.) are set. Further, each word is surrounded by a start tag <word> and an end tag </ word>, and each <word> tag describes a pos attribute indicating the part of speech of the corresponding word. In this case as well, attribute values corresponding to the tag attributes are set. For example, attribute values indicating parts of speech such as adjectives, proper nouns, and verbs are set in the pos attribute of each <word> tag. The <word> tag corresponding to the word that is a verb describes a rel_type attribute. In this rel_type attribute, an ontology ID based on the result of term recognition by the term recognition unit 33, that is, an ontology ID of the actual meaning of the verb. (In the example of FIG. 10, “i789” given to the words “slap” and “hit”) is set. In the <word> tag, an arg (X) attribute (X = 1, 2,...) For identifying a predicate term relationship between statement elements acquired by syntax analysis is described. In an embodiment, the arg (X) attribute is, for example,
arg1: The main part of the verb
arg2: Direct target part of the verb
arg3: It is determined to specify the relationship such as the indirect objective part of the verb. The arg1 attribute contains the ID of the <phrase> tag assigned to the phrase that is the main part of the corresponding verb, and the arg2 attribute contains , The ID of the <phrase> tag assigned to the phrase that is the direct target part of the corresponding verb, and the arg3 attribute is the ID of the <phrase> tag assigned to the phrase that is the indirect target part of the corresponding verb Are set respectively. For example, in the example of FIG. 10, the attribute value of the arg1 attribute of the <word> tag assigned to the verb “slaps” is “p2”, but the attribute value p2 is assigned to the noun phrase “Pretty Mary”. This matches the ID of the <phrase> tag, and is defined by the <phrase> tag and the </ phrase> tag attached to the noun phrase “Pretty Mary” as shown by the broken line in FIG. The region and the region specified by the <word> tag and </ word> tag attached to the word “slaps” are associated, and the main part (arg1) of the verb “slaps” is the noun phrase “Pretty Mary” It will be expressed as. In the example of FIG. 10, the attribute value of the arg2 attribute of the <word> tag assigned to the verb “slaps” is “p8”, but the attribute value p8 surrounds the word “John” <phrase> As shown by the broken line in FIG. 10, the region defined by the <word> tag and the </ word> tag attached to the word “slaps” and “John” are matched. The <phrase> tag corresponding to the word and the area specified by the </ phrase> tag are associated, and the target part (arg2) of the verb “slaps” is expressed as the noun (phrase) “John” It will be. That is, in the embodiment, the same attribute value is set in the arg (X) attribute of the tag corresponding to the word corresponding to the predicate in the sentence and the id attribute of the <phrase> tag corresponding to the phrase that is the term of the predicate. Is done. In this way, by associating a word that is a predicate and a phrase that is a term thereof, it is possible to more appropriately express a semantic relationship between sentence elements in a sentence. Further, as a result of the term recognition by the term recognition unit 33, a <word> tag of a word recognized as a term (technical term) is surrounded by a start tag <entity_name> and an end tag </ entity_name>. In the entity_name> tag, a type attribute indicating the type of term and an ontology attribute indicating the ontology ID of the term are described. In the type attribute, an attribute value indicating the type of term is described. The value of the ontology ID acquired from is described as the attribute value. For example, in the example of FIG. 10, the <entity_name> tag is assigned to the words “Mary” and “John”, the type attribute is “person”, and the “mary” ontology attribute is “i1234”. "I3456" is set as the attribute value for the ontology attribute of "John".

ここで、上述のようなごく単純な“Pretty Mary slaps John”という英文であっても、それをXMLにより構造化した場合、図10に示す程度のデータとなってしまう。そして、特に学術論文等における文要素間の意味的な関係は、極めて複雑に入り組んだものであることが多いから、XMLにより文要素間の意味的な関係をも含めて文書を表記すると、データ構造が極めて複雑なものとなってしまう。従って、XPathやXquryといった問い合わせ言語を用いても、構造化モジュールによる図10に示すような構造化データに基づいて関係概念を検索条件とした検索を迅速かつ高精度に実行することは極めて困難となる。このため、実施例の管理サーバ30においては、構造化モジュールによる文書の構造化の結果を所定の態様で出力モジュールに与え、出力モジュールに、タグ、単語およびタグの属性(属性名、存在している場合には更に属性値)の各々の記述位置と階層深さとを示すインデックスを構造化データとして出力させている。そして、インデックス作成部34により作成・出力されたインデックスがステップS100にて入力された文書データ60に対応付けされた状態でインデックス保持部35により保持されると(ステップS130)、本処理が一旦終了することになる。   Here, even a very simple English sentence such as “Pretty Mary slaps John” as described above, when it is structured by XML, the data is as shown in FIG. In particular, the semantic relationships between sentence elements in academic papers and the like are often extremely complicated and complicated. The structure becomes extremely complicated. Therefore, it is extremely difficult to quickly and accurately perform a search using a relation concept as a search condition based on structured data as shown in FIG. 10 by the structured module even using a query language such as XPath or Xqury. Become. Therefore, in the management server 30 of the embodiment, the result of structuring the document by the structuring module is given to the output module in a predetermined manner, and the tag, word, and tag attributes (attribute name, exist) are given to the output module. In the case where there is, an index indicating each description position and hierarchical depth of the attribute value) is output as structured data. Then, when the index created and output by the index creating unit 34 is held by the index holding unit 35 in a state associated with the document data 60 input in step S100 (step S130), this processing is temporarily ended. Will do.

インデックス作成部34の出力モジュールにより出力されたインデックスの一例を図11に示す。同図は、図10の出力例に対応したもの、すなわち“Pretty Mary slaps John”という英文に対応したインデックスを示すものである。図11に示すように、各タグ、各タグの属性名および属性値ならびに各単語には、1(記述位置):0(階層深さ),2:1…といったようにそれぞれ一まとまりとしてテキストの先頭からの記述位置と階層深さとが与えられる。この際、タグの属性および属性値は、対応したタグ名と共にインデックス化される。また、階層深さは、<phrase>タグおよびその属性に関しては基本的には図10の出力例における各タグや属性等の階層の深さに基づくものとされるが、実施例では、<Sentence>タグ、<word>タグやそれぞれの属性、<entity_name>タグやその属性、単語等に関しては、階層深さ=0とされている。これにより、実施例において、階層深さは、あるタグ領域を含むそれと同じ名称のタグで囲まれる領域の数を示すことになる。このような構造化データとしてのインデックスは、センテンス(文書)をいわゆる木構造ではなくタグ領域の集合として扱ってタグ、単語、タグの属性の各々のアドレスを提供するものである。これにより、インデックスの記述位置と階層深さとを参照すれば、 ある単語を囲むタグにより規定される領域の外側にそれと同じ名称のタグにより規定される領域が存在していても、例えば後述の領域代数の枠組みを用いることにより、ある単語を囲む最小のタグ領域から最大のタグ領域までを容易に特定することができる。また、インデックスを参照すれば、図10において破線で示すようなセンテンス中の述語項構造に基づくタグの対応関係をも容易に特定することが可能となる。   An example of the index output by the output module of the index creation unit 34 is shown in FIG. This figure shows an index corresponding to the output example of FIG. 10, that is, an index corresponding to the English sentence “Pretty Mary slaps John”. As shown in FIG. 11, each tag, the attribute name and attribute value of each tag, and each word are grouped as 1 (description position): 0 (hierarchy depth), 2: 1. The description position from the top and the hierarchy depth are given. At this time, the tag attributes and attribute values are indexed together with the corresponding tag names. The hierarchy depth is basically based on the depth of each tag, attribute, etc. in the output example of FIG. 10 with respect to the <phrase> tag and its attributes, but in the embodiment, <Sentence For the> tag, <word> tag and their respective attributes, the <entity_name> tag, its attributes, words, etc., the layer depth = 0. Thereby, in an Example, hierarchy depth will show the number of the area | regions enclosed with the tag of the same name as that containing a certain tag area | region. Such an index as structured data treats a sentence (document) as a set of tag areas instead of a so-called tree structure, and provides addresses of tags, words, and tag attributes. Thus, referring to the description position of the index and the hierarchy depth, even if an area defined by a tag having the same name exists outside the area defined by a tag surrounding a word, for example, the area described later By using an algebraic framework, it is possible to easily specify from the smallest tag region surrounding the word to the largest tag region. Further, by referring to the index, it is possible to easily specify the tag correspondence based on the predicate term structure in the sentence as shown by the broken line in FIG.

以上説明したように、データ変換装置としての文書入力部31、構文解析部32、用語認識部33およびインデックス作成部34を含む管理サーバ30においては、例えば所定言語からなる文書を示す新たな文書データ60がデータ記憶装置21上のデータベースに蓄積される際に、まず、ステップS100にて入力された文書データ60と当該所定言語の文法情報および単語情報を用いたセンテンスの構文解析が実行される(ステップS110)。続いて、構文解析の結果に基づいて、文書中のセンテンスに含まれる句と単語とにはそれぞれ対応した属性が記述される所定のタグが付与されると共に、センテンス中の述語に相当する句または単語に付与されたタグと当該述語の項となる句または単語に付与されたタグとが属性を用いて対応付けされ、最終的に、タグ、単語およびタグの属性の各々の記述位置と階層深さとを示すインデックスが構造化データとして出力される(ステップS120)。そして、出力されたインデックスは、文書データ60に対応付けされた状態でインデックス保持部35により保持される(ステップS130)。こうして作成されるインデックスには、上述のようにタグ、単語およびタグの属性の各々の実質的なアドレスが示されることになるので、インデックスを参照すれば、開始タグと終了タグとの対応関係により規定されるセンテンスの構文木や、述語に相当する単語等に付与されたタグと当該述語の項となる句等に付与されたタグとの対応関係により規定されるセンテンス中の述語項構造を容易に特定することが可能となる。従って、実施例の管理サーバ30によれば、文書中のセンテンスに含まれる述語(述部)と項との間の意味的な関係である述語項関係の表記と、そのような意味的な関係により規定される概念を検索条件とした検索とを可能とする構造化データとしてのインデックスを実現することが可能となる。そして、このようなインデックスを文書データ60ごとに保持しておけば、インデックスを参照することにより文書中のセンテンスの構文木や述センテンス中の述語項構造を容易に特定することができるので、文書データ60を複数蓄積したデータベースを単語や句といった文要素間の意味的な関係により規定される概念を検索条件として検索することが可能となる。   As described above, in the management server 30 including the document input unit 31, the syntax analysis unit 32, the term recognition unit 33, and the index creation unit 34 as a data conversion device, for example, new document data indicating a document in a predetermined language When 60 is stored in the database on the data storage device 21, first, sentence syntax analysis using the document data 60 inputted in step S100 and the grammar information and word information of the predetermined language is executed (step S100). Step S110). Subsequently, based on the result of the parsing, a phrase and a word included in the sentence in the document are given a predetermined tag in which a corresponding attribute is described, and a phrase corresponding to the predicate in the sentence or The tag attached to the word is associated with the phrase or the tag attached to the word as the term of the predicate using the attribute, and finally, the description position and the hierarchy depth of each of the tag, the word, and the tag attribute An index indicating that is output as structured data (step S120). The output index is held by the index holding unit 35 in a state associated with the document data 60 (step S130). In the index created in this way, the substantial address of each of the tag, the word, and the tag attribute is indicated as described above. Therefore, referring to the index, the correspondence between the start tag and the end tag is used. Easily create a predicate term structure in a sentence that is defined by the correspondence tree between a tag attached to a syntactic tree of the specified sentence or a tag assigned to a word corresponding to a predicate and a phrase that is a term of the predicate. It becomes possible to specify. Therefore, according to the management server 30 of the embodiment, the notation of the predicate term relationship that is a semantic relationship between the predicate (predicate) included in the sentence in the document and the term, and such a semantic relationship. It is possible to realize an index as structured data that enables a search using a concept defined by the above as a search condition. If such an index is held for each document data 60, the syntax tree of the sentence in the document and the predicate term structure in the predicate sentence can be easily specified by referring to the index. It is possible to search a database in which a plurality of data 60 are stored using a concept defined by a semantic relationship between sentence elements such as words and phrases as a search condition.

また、実施例の管理サーバ30に含まれる構文解析部32は、HPSGに基づく構文解析を実行してセンテンスの構文木および述語項構造を取得するパーザとして構成されているので、センテンスをより精度よく構文解析して、インデックスにおける述語と項との対応付けをより適正なものとすることが可能となる。更に、実施例の管理サーバ30に含まれる用語認識部33は、所定の用語情報に基づいてセンテンスに含まれる句または単語の各々について当該句または単語がある一つの実体的意味で括られるものであるか否かを判定すると共に当該句または単語が当該一つの実体的意味で括られるものであるときにはその実体的意味を取得するものであり、インデックス作成部34は、用語認識部33により取得された実体的意味を示す属性値(オントロジーIDの値)をインデックス中のタグのrel_type属性やontolgy属性に記述する。これにより、インデックスにおいて、実質的に同一の意味(概念)を示すにも拘わらず表層的な表現が異なっている句または単語に対応したタグに同一の実体的意味を示す属性値が記述されることになるので、インデックス保持部35により保持されているインデックスを用いれば、同一の実体的意味をもつ句や単語、あるいはそれを含むセンテンス等の検索も容易に実行可能となる。   In addition, the syntax analysis unit 32 included in the management server 30 of the embodiment is configured as a parser that executes syntax analysis based on HPSG and acquires the syntax tree and the predicate term structure of the sentence. By parsing, it is possible to make the association between the predicate and the term in the index more appropriate. Further, the term recognition unit 33 included in the management server 30 according to the embodiment is a unit that includes each phrase or word included in the sentence based on predetermined term information in a single substantial meaning. It is determined whether or not there is a phrase, and when the phrase or word is bundled with the one substantive meaning, the substantive meaning is acquired, and the index creation unit 34 is acquired by the term recognition unit 33. The attribute value (ontology ID value) indicating the actual meaning is described in the rel_type attribute and ontolgy attribute of the tag in the index. As a result, in the index, attribute values indicating the same substantive meaning are described in tags corresponding to phrases or words whose surface expression is different in spite of showing substantially the same meaning (concept). Therefore, if the index held by the index holding unit 35 is used, it is possible to easily search for phrases and words having the same substantial meaning, or sentences containing the same.

なお、図2のインデックス作成処理は、既存のデータベースに対して実施例の管理サーバ30を適用し、データベース上の文書データを個別に管理サーバ30に取り込んだ上で文書データごとにインデックスを作成する際に実行されてもよい。いずれにしても、上記インデックスは、検索要求に先立って、文書データ60と所定言語の文法情報および単語情報を用いた文書の構文解析の結果に基づいて予め作成されていると好ましい。これにより、実際の検索処理の負担を軽減して検索条件の入力から検索結果の出力までに要する時間を短縮化することが可能となる。
〔検索処理〕
In the index creation processing of FIG. 2, the management server 30 of the embodiment is applied to an existing database, the document data on the database is individually taken into the management server 30, and an index is created for each document data. It may be executed when. In any case, it is preferable that the index is created in advance based on the document parsing result using the document data 60 and the grammatical information and word information of a predetermined language prior to the search request. As a result, it is possible to reduce the time required from the input of the search condition to the output of the search result by reducing the actual search processing load.
[Search processing]

引き続き、実施例のデータベース検索システム20におけるインデックスを用いたデータ記憶装置21上のデータベースの検索処理について説明する。   Next, a database search process on the data storage device 21 using an index in the database search system 20 of the embodiment will be described.

図12は、実施例の管理サーバ30により実行される検索処理の一例を示すフローチャートである。同図に示す検索処理は、端末50においてユーザにより検索要求がなされたときに実行されるものである。実施例では、端末50から管理サーバ30にアクセスすると、端末50の表示画面上に図13に示すような検索画面が表示される。この検索画面には、主語または主部に相当する単語または句を入力可能な“subject”ボックスと、述語または述部に相当する動詞または動詞句を入力可能な“verb”ボックスと、目的語または目的部に相当する単語または句を入力可能な“object”ボックスとが用意されている。従って、ユーザは、“subject”ボックス、“verb”ボックスおよび“object”ボックスの少なくとも何れかに所望の検索単語としての単語や句を入力すれば、データ記憶装置21上のデータベースの検索を要求することができる。また、verb”ボックスと“subject”ボックスおよび“object”ボックスの少なくとも何れか一方とに検索単語としての単語や句を入力すれば、文要素間の意味的な関係により規定される概念すなわち文要素間の述語項関係を検索条件とした検索を要求することが可能となる。実施例では、検索要求に対する検索結果は、デフォルトでは、センテンス単位で出力されるが、検索画面上の“Advanced Search”タブをクリックして詳細な設定を行えば、例えば文書単位で検索結果が出力されるように設定変更することができる。また、図13に示すように、検索画面上で“Keyword Search”タブをクリックすれば、より一般的なキーワード検索用の検索画面(図示省略)が表示画面上に表示される。更に、“GCL Search”タブをクリックすれば、後述する検索クエリの直接入力を可能とする検索画面(図示省略)が表示画面上に表示される。   FIG. 12 is a flowchart illustrating an example of search processing executed by the management server 30 according to the embodiment. The search process shown in the figure is executed when a search request is made by the user at the terminal 50. In the embodiment, when the management server 30 is accessed from the terminal 50, a search screen as shown in FIG. 13 is displayed on the display screen of the terminal 50. This search screen includes a “subject” box in which a word or phrase corresponding to the subject or main part can be entered, a “verb” box in which a verb or verb phrase corresponding to the predicate or predicate can be entered, an object or An “object” box is provided in which a word or phrase corresponding to the target part can be input. Therefore, if the user inputs a word or phrase as a desired search word in at least one of the “subject” box, the “verb” box, and the “object” box, the user requests a database search on the data storage device 21. be able to. In addition, if a word or phrase as a search word is entered in at least one of the “verb” box, the “subject” box, and the “object” box, the concept or sentence element defined by the semantic relationship between the sentence elements In the embodiment, the search result for the search request is output in sentence units by default, but “Advanced Search” on the search screen. If you click the tab and make detailed settings, you can change the settings so that the search results are output, for example, in document units, and the “Keyword Search” tab is displayed on the search screen as shown in FIG. Click to display a search screen (not shown) for more general keyword search on the display screen, and click the “GCL Search” tab to search the search query described later. Search screen that allows direct input (not shown) is displayed on the display screen.

図13の検索画面において、例えば“subject”ボックスに“Mary”という検索単語が、“verb”ボックスに“slaps”という検索単語が入力されると、端末50からその旨を示す信号が管理サーバ30へと送信されて検索条件として入力受付部36により受け付けられる(ステップS200)。入力受付部36は、受け付けた検索条件すなわち検索単語“Mary”および“slaps”と、「slaps”の主語が“Mary”である」という検索単語間の述語項関係とを検索処理部37に与え、検索処理部37は、受け取った「主語が検索単語“Mary”であり、かつ述語が検索単語“slaps”であるセンテンス」という検索条件に基づいて検索クエリを設定する(ステップS210)。この場合の検索クエリは、次式(1)のようなものとなる。また、例えば“subject”ボックスに“Mary”という検索単語が、“verb”ボックスに“slaps”という検索単語が、“object”ボックスに“John”という検索単語が入力された場合には、ステップS210にて次式(2)のような検索クエリが設定される。   In the search screen of FIG. 13, for example, when a search word “Mary” is input in the “subject” box and a search word “slaps” is input in the “verb” box, a signal indicating that is sent from the terminal 50 to the management server 30. Is received by the input receiving unit 36 as a search condition (step S200). The input reception unit 36 gives the search processing unit 37 the received search conditions, that is, the search words “Mary” and “slaps”, and the predicate term relationship between the search words “the subject of“ slaps ”is“ Mary ””. The search processing unit 37 sets a search query based on the received search condition “sentence whose subject is the search word“ Mary ”and predicate is the search word“ slaps ”” (step S210). The search query in this case is as shown in the following formula (1). For example, when the search word “Mary” is input in the “subject” box, the search word “slaps” is input in the “verb” box, and the search word “John” is input in the “object” box, step S210 is performed. A search query like the following formula (2) is set.

[sentence] >> (([word arg1="$s"] >> "slaps") & ([phrase id="$s"] > "Mary"))…(1)
[sentence] >> (([word arg1="$s" arg2="$o"] >> "slaps") & ([phrase id="$s"] > "Mary")) & ([phrase id="$o"] > "John"))…(2)
[sentence] >> (([[word arg1 = "$ s"] >>"slaps")& ([phrase id = "$ s"]>"Mary"))… (1)
[sentence] >> (([word arg1 = "$ s" arg2 = "$ o"] >>"slaps")& ([phrase id = "$ s"]>"Mary"))& ([phrase id = "$ o"]>"John"))… (2)

ここで、ステップS210における検索クエリの設定の仕方について説明する。実施例のデータベース検索システム20における検索処理は、インデックス保持部35に保持されているインデックスに基づいて領域代数の枠組みを用いながら検索条件に適合する領域を求めるものである。そして、実施例においては、領域間の包含関係や順序関係等が図14に示す7つの演算子(>,>>,<,<<,&,|,−)を用いて指定される。これら7つの演算子のうち、特徴的なものは、“>”および“<”という2つの演算子である。すなわち、一般的な領域代数の枠組みにおいて領域間の包含関係を指定する演算子“<<”や“>>”は、基本的に、ある名称のタグで囲まれる領域内にそれと同じ名称のタグが存在していないという仮定の下に、入れ子構造をなす最小のタグ領域を探し出すときに用いられるものである。例えば、図11のインデックスに対して、“[phrase] >> "Mary" ”というクエリを実行すると、<phrase>タグと</phrase>タグとで規定されると共に単語“Mary”を含む(囲む)最小の領域として、id属性に属性値p5が記述されている<phrase>タグに対応した領域のみが抽出される。これに対して、“>”と“<”という2つの演算子は、例えば“<phrase> <phrase> A </phrase> </phrase>”といったように、ある名称のタグで囲まれる領域内にそれと同じ名称のタグが存在している場合に、それらのタグ領域のすべてを抽出するために導入されたものである。例えば、図11のインデックスに対して“[phrase] > "Mary" ”というクエリを実行すると、id属性に属性値p1が記述されている<phrase>タグに対応した領域と、id属性に属性値p2が記述されている<phrase>タグに対応した領域と、id属性に属性値p5が記述されている<phrase>タグに対応した領域とが抽出されることになる。いずれにしても、インデックスに示されている記述位置と階層深さとを参照することにより、これらの処理は、迅速に実行され得る。ただし、“>”や“<”を用いた処理は、“>>”や“<<”を用いた処理に比べて若干の時間を要するものであることから、迅速な検索を実行する上では、“>”や“<”を用いた処理は、<phrase>タグのように、ある名称のタグで囲まれる領域内にそれと同じ名称のタグが存在することが判明しているタグについてのみ用いると好ましい。   Here, how to set a search query in step S210 will be described. The search process in the database search system 20 according to the embodiment is to obtain a region that meets the search condition using the region algebra framework based on the index held in the index holding unit 35. In the embodiment, the inclusion relation, the order relation, etc. between the areas are designated using the seven operators (>>, >>, <<, <<, &, |,-) shown in FIG. Among these seven operators, characteristic ones are two operators “>” and “<”. In other words, operators “<<” and “>>” that specify inclusion relations between regions in a general domain algebra framework are basically tags with the same name in a region surrounded by tags with a certain name. This is used when searching for the minimum tag region that forms a nested structure under the assumption that no exists. For example, when a query “[phrase] >>“ Mary ”” is executed on the index of FIG. 11, it is defined by <phrase> and </ phrase> tags and includes the word “Mary” (enclosed). ) Only the area corresponding to the <phrase> tag in which the attribute value p5 is described in the id attribute is extracted as the minimum area. On the other hand, the two operators ">" and "<" are in the area enclosed by a tag with a certain name, such as "<phrase> <phrase> A </ phrase> </ phrase>". This tag is introduced to extract all of the tag areas when a tag with the same name exists in For example, when a query “[phrase]>“ Mary ”” is executed on the index of FIG. 11, the area corresponding to the <phrase> tag in which the attribute value p1 is described in the id attribute and the attribute value in the id attribute An area corresponding to the <phrase> tag in which p2 is described and an area corresponding to the <phrase> tag in which the attribute value p5 is described in the id attribute are extracted. In any case, these processes can be quickly executed by referring to the description position and the hierarchy depth indicated in the index. However, processing using “>” or “<” requires a little time compared to processing using “>>” or “<<”. , “>” And “<” are used only for tags that have been found to have a tag with the same name in an area enclosed by a tag with a certain name, such as a <phrase> tag. And preferred.

また、入れ子構造をなしてはいないが互いに対応関係を有しているタグ領域を探し出すためには、インデックス上で互いに離間し合っている属性値同士を参照する必要がある。これに対処すべく、実施例では、式(1)や式(2)に示すように、変数$x(“x”には、主語であれば“s”、目的語であれば“o”といった識別子が導入される)を検索クエリに導入し、「あるタグT1の属性A1の属性値が他のタグT2の属性A2の値と同一である」ということを表現できるようにしている。例えば、式(1)の場合、
“([word arg1=“$s”] >> slaps) & ([phrase id=”$s”] > “Mary”)”
という変数$sを含む部分により、“slaps”に対応したarg1の属性値が“Mary”を含むphraseのid属性の属性値と同一である、ということを表現している。実施例において、変数$xは、基本的にid属性およびarg(X)属性に記述されてセンテンス中の文要素間における述語項関係を示す属性値p1,p2,…p(n)を対象とするものであり、検索条件として受け付けられた述語項関係の数だけ出現することになる(式(2)については2個の変数が出現する。)。上述のような演算子“>”および“<”と変数$xとを導入した上で、センテンス(文書)をいわゆる木構造ではなくタグ領域の集合として扱ってタグ、単語、タグの属性の各々のアドレスを提供するインデックスを参照することにより、以下に説明するように、文要素間の意味的な関係により規定される概念を検索条件としながら迅速かつ高精度な検索を実行することが可能となる。
Further, in order to search for tag areas that do not have a nested structure but have a corresponding relationship, it is necessary to refer to attribute values that are spaced apart from each other on the index. In order to cope with this, in the embodiment, as shown in the equations (1) and (2), the variable $ x (“x” has “s” as the subject and “o” as the object. Is introduced into the search query so that “the attribute value of the attribute A1 of a certain tag T1 is the same as the value of the attribute A2 of another tag T2” can be expressed. For example, in the case of formula (1),
“([Word arg1 =“ $ s ”] >> slaps) & ([phrase id =” $ s ”]>“ Mary ”)”
The part including the variable $ s expresses that the attribute value of arg1 corresponding to “slaps” is the same as the attribute value of the id attribute of phrase including “Mary”. In the embodiment, the variable $ x is basically targeted for the attribute values p1, p2,..., P (n) described in the id attribute and the arg (X) attribute and indicating the predicate term relationship between sentence elements in the sentence. As many as the predicate term relations accepted as the search conditions appear (two variables appear in the expression (2)). After introducing the operators “>” and “<” and the variable $ x as described above, each sentence (document) is treated as a set of tag areas rather than a so-called tree structure, and each of the tag, word, and tag attributes By referring to the index that provides the address, it is possible to execute a quick and highly accurate search while using the concept defined by the semantic relationship between sentence elements as a search condition, as described below. Become.

さて、ステップS210にて検索クエリを設定すると、検索処理部37は、まず、設定した検索クエリに現れる最大の検索対象領域である最大検索領域を識別する(ステップS220)。ここでいう最大検索領域とは、検索クエリに含まれ得る“sentence”,“phrase”,“word”といったタグにより規定される領域のうちの最も広い領域である。検索クエリが式(1)のように、「センテンス」を検索結果として要求するものである場合には、検索クエリに現れる最大検索領域は、検索結果と同様に“sentence”領域となる。なお、検索クエリが演算子“<<”等を用いて、例えば「…というセンテンスに含まれる××という句」といった検索クエリを要求するものであるときには、上記最大検索領域は、検索結果に対応した“phrase”領域ではなく、“sentence”領域となる。こうして最大検索領域を識別したならば、検索処理部37はインデックス保持部35のすべてのインデックスを参照してステップS200にて受け付けたすべての検索単語を含む最大検索領域(この場合“sentence”領域)の開始タグおよび終了タグをすべて抽出する処理を実行し(ステップS230)、更に、全検索単語を含む最大検索領域が存在するか否かを判定する(ステップS240)。ステップS240にて全検索単語を含む最大検索領域が存在していないと判断されたときには、ヒット件数がゼロであることになるので、検索処理部37によりヒット件数がゼロであることを示す最終的な検索結果が作成されると共に(ステップS380)、そのような検索結果が結果出力部38から検索要求が実行された端末50へと送信され(ステップS390)、検索処理が一旦終了することになる。この場合には、端末50の表示画面には、例えば「“Mary”“slaps”に該当するセンテンスは見つかりませんでした。」といったような検索結果が表示されることになる。   When a search query is set in step S210, the search processing unit 37 first identifies the maximum search area that is the maximum search target area that appears in the set search query (step S220). The maximum search area here is the widest area among areas defined by tags such as “sentence”, “phrase”, and “word” that can be included in the search query. When the search query requests “sentence” as a search result as in Expression (1), the maximum search area appearing in the search query is the “sentence” area as in the search result. When the search query is a request for a search query such as “a phrase“ xx included in the sentence “...” ”using an operator“ << ”or the like, the maximum search area corresponds to the search result. This is not the “phrase” area, but the “sentence” area. When the maximum search area is identified in this way, the search processing unit 37 refers to all the indexes in the index holding unit 35 and includes the maximum search area (in this case, the “sentence” area) including all the search words accepted in step S200. A process of extracting all start tags and end tags is executed (step S230), and it is further determined whether or not there is a maximum search area including all search words (step S240). When it is determined in step S240 that the maximum search area including all search words does not exist, the number of hits is zero, so the search processing unit 37 finally indicates that the number of hits is zero. A search result is generated (step S380), and such a search result is transmitted from the result output unit 38 to the terminal 50 where the search request is executed (step S390), and the search process is temporarily ended. . In this case, on the display screen of the terminal 50, for example, a search result such as “No sentence corresponding to“ Mary ”“ slaps ”was found” is displayed.

一方、例えば上記検索条件に対して図11のインデックスに示される“Sentence”領域が抽出された場合のように、ステップS240にて全検索単語を含む最大検索領域が少なくとも1つ存在していると判断した場合、検索処理部37は、ステップS200にて受け付けられた検索単語の各々のデータベースにおける出現頻度(出現回数)を取得する(ステップS250)。実施例において、出現頻度は、データベース上に現れるすべての単語ついて予め求められた上でデータ記憶装置21または管理サーバ30の所定の記憶装置に記憶されており、ステップS250にて検索処理部37は当該記憶装置からS200にて受け付けられた検索単語の各々の出現頻度を読み出す。そして、検索処理部37は、取得した各検索単語の出現頻度に基づいてステップS210にて設定された検索クエリに含まれる変数$xを決定するための部分クエリを設定する(ステップS260)。ステップS260において、検索処理部37は、次のようにして部分クエリを設定する。この場合、まず、ステップS210にて設定された検索クエリを変数$xごとの部分に分解した上で、互いに述語項関係にある検索単語のうちの出現頻度がより小さい一方の検索単語に対応した部分を部分クエリとして設定する。例えば、検索クエリが式(1)に示すものであり、かつ単語“Mary”の出現頻度が単語“slaps”の出現頻度よりも小さい場合には、当該検索クエリは次式(3)および(4)に示す2つの部分に分解され、出現頻度が小さい単語“Mary”に対応した式(4)に示すものが部分クエリとして設定される。また、検索クエリが式(2)に示すものであるときには、当該検索クエリは、次式(4)から(6)に示す3つの部分に分解され、例えば単語“Mary”や単語“John”の出現頻度が単語“slaps”の出現頻度よりも小さい場合には、次式(4)および(5)に示すものが部分クエリとして設定される。すなわち、ステップS260では、検索条件として受け付けられた述語項関係の数だけ部分クエリが設定されることになる。   On the other hand, when at least one maximum search area including all search words exists in step S240, for example, when the “Sentence” area shown in the index of FIG. If it is determined, the search processing unit 37 acquires the appearance frequency (number of appearances) in each database of the search word accepted in step S200 (step S250). In the embodiment, the appearance frequency is obtained in advance for all words appearing on the database and stored in a predetermined storage device of the data storage device 21 or the management server 30. In step S250, the search processing unit 37 The appearance frequency of each search word accepted in S200 is read from the storage device. Then, the search processing unit 37 sets a partial query for determining the variable $ x included in the search query set in step S210 based on the acquired appearance frequency of each search word (step S260). In step S260, the search processing unit 37 sets a partial query as follows. In this case, first, after the search query set in step S210 is decomposed into parts for each variable $ x, the search word corresponding to one search word having a smaller appearance frequency among search words having a predicate term relationship with each other is handled. Set the part as a partial query. For example, when the search query is shown in the formula (1) and the appearance frequency of the word “Mary” is smaller than the appearance frequency of the word “slaps”, the search query is expressed by the following formulas (3) and (4) ), And what is shown in Expression (4) corresponding to the word “Mary” having a low appearance frequency is set as a partial query. Further, when the search query is shown in the formula (2), the search query is broken down into three parts shown in the following formulas (4) to (6), for example, the word “Mary” and the word “John”. When the appearance frequency is smaller than the appearance frequency of the word “slaps”, the following expressions (4) and (5) are set as partial queries. That is, in step S260, partial queries are set as many as the number of predicate term relationships accepted as search conditions.

[word arg1=“$s”] >>“slaps”…(3)
[phrase id=“$s”] >“Mary”…(4)
[phrase id=“$o”] >“John”…(5)
[word arg1="$s" arg2="$o"] >> "slaps" …(6)
[word arg1 = “$ s”] >> “slaps”… (3)
[phrase id = “$ s”]> “Mary”… (4)
[phrase id = “$ o”]> “John”… (5)
[word arg1 = "$ s" arg2 = "$ o"] >>"slaps"… (6)

こうして部分クエリを設定すると、検索処理部37は、所定の制約に従ってステップS230にて抽出された最大検索領域のうちの最初の処理対象となる最大検索領域を設定した上で(ステップS270)、ステップS260にて設定した部分クエリのうち、出現頻度がより小さい検索単語を含む部分クエリを実行部分クエリとして設定する(ステップS280)。そして、ステップS280にて設定した部分クエリから変数を除いたクエリを実行し、当該クエリの実行結果として返されるすべての変数値を取得・保持する(ステップS290)。すなわち、検索クエリが式(1)に示すものであり、かつ単語“Mary”の出現頻度が単語“slaps”の出現頻度よりも小さい場合、ステップS280では式(4)から変数$sを除いた[phrase] >“Mary”というクエリが実行され、それにより、例えば図11のインデックスに示される“Sentence”領域が対象最大検索領域である場合には、当該インデックスから変数値としてp1,p2,p5が取得・保持される。次いで、検索処理部37は、ステップS260にて設定されたすべての部分クエリが上述のようにして処理されたか否かを判定し(ステップS300)、すべての部分クエリが処理されていなければ、すべての処理が完了するまでステップS270およびS280の処理を繰り返し実行する。すなわち、検索クエリが式(2)に示すものであり、かつ単語“Mary”の出現頻度が単語“John”の出現頻度よりも小さい場合には、まず例えば式(4)から変数$sを除いたクエリが実行されて実行結果として返されるすべての変数値が取得・保持された後、式(5)から変数$oを除いた[phrase] >“John”というクエリが実行されて実行結果として返されるすべての変数値が取得・保持されることになる(図11のインデックスからは値p1,p6,p8が返される)。そして、すべての部分クエリが処理されると、検索処理部37は、ステップS260にて設定された部分クエリごとに得られた変数値のすべての組み合わせを取得する(ステップS310)。例えば、検索クエリが式(1)に示すものであるときには、式(4)から変数$sを除いたクエリの実行結果として返される変数値(p1,p2,p5等)がステップS310における取得結果となる。また、検索クエリが式(2)に示すものであるときには、式(4)から変数$sを除いたクエリの実行結果として返される変数値(p1,p2,p5等)と、式(5)から変数$oを除いたクエリの実行結果として返される変数値(p1,p6,p8等)との組み合わせがステップS310における取得結果となる。すなわち、部分クエリが2つある場合には、一方の部分クエリに基づいて得られた変数値をpxとし、他方の部分クエリに基づいて得られた変数値をpyとすれば、(px,py)のすべての組み合わせがステップS310における取得結果となる。   When the partial query is set in this way, the search processing unit 37 sets the maximum search area to be processed first among the maximum search areas extracted in step S230 in accordance with predetermined constraints (step S270), and then step Of the partial queries set in S260, a partial query including a search word with a lower appearance frequency is set as an execution partial query (step S280). Then, a query excluding variables from the partial query set in step S280 is executed, and all variable values returned as execution results of the query are acquired and held (step S290). That is, if the search query is shown in Expression (1) and the appearance frequency of the word “Mary” is smaller than the appearance frequency of the word “slaps”, the variable $ s is removed from Expression (4) in Step S280. When the query [phrase]> “Mary” is executed, and the “Sentence” area shown in the index of FIG. 11 is the target maximum search area, for example, p1, p2, and p5 are used as variable values from the index. Is acquired and retained. Next, the search processing unit 37 determines whether all the partial queries set in step S260 have been processed as described above (step S300). If all the partial queries have not been processed, all of them are processed. Steps S270 and S280 are repeated until the above process is completed. That is, when the search query is shown in Expression (2) and the appearance frequency of the word “Mary” is smaller than the appearance frequency of the word “John”, first, for example, the variable $ s is removed from Expression (4). After all the variable values returned as execution results are executed and retained, the query [phrase]> “John” excluding the variable $ o from Expression (5) is executed as the execution result All returned variable values are acquired and held (values p1, p6, and p8 are returned from the index of FIG. 11). When all partial queries are processed, the search processing unit 37 acquires all combinations of variable values obtained for each partial query set in step S260 (step S310). For example, when the search query is as shown in the formula (1), the variable values (p1, p2, p5, etc.) returned as the query execution result obtained by removing the variable $ s from the formula (4) are obtained in step S310. It becomes. When the search query is as shown in the formula (2), the variable values (p1, p2, p5, etc.) returned as the query execution result obtained by removing the variable $ s from the formula (4), and the formula (5) The combination with the variable values (p1, p6, p8, etc.) returned as the execution result of the query excluding the variable $ o from is the acquisition result in step S310. That is, when there are two partial queries, if the variable value obtained based on one partial query is set to px and the variable value obtained based on the other partial query is set to py, (px, py ) Are obtained in step S310.

ステップS310の処理の後、検索処理部37は、取得した変数値の組み合わせの中から、所定の制約に従って最初の変数値の組を設定し(ステップS320)、設定した組の変数値をステップS210にて設定した検索クエリの対応した変数$xに代入する(ステップS330)。そして、検索処理部37は、ステップS270にて設定された対象最大検索領域が変数値代入後の検索クエリを満たしているか否かを判定し(ステップS340)、肯定判断をなした場合には、その旨を中間結果として所定の記憶領域に保持する(ステップS350)。ステップS350の処理後、あるいはステップS340にて否定判断をなした場合、検索処理部37は、すべての変数値の組を処理したか否か判定し(ステップS360)、肯定判断をなすまでステップS320からS350の処理を繰り返し実行する。ここまでの処理を図11のインデックスに示される“Sentence”領域が対象最大検索領域である場合を例にとって説明すると、検索クエリが式(1)に示すものである場合には、ステップS310にて変数値の組がp1,p2,p5として取得されていることになるので、まず式(1)の変数$sに値p1が代入され(ステップS330)、上記“Sentence”領域が値p1代入後の式(1)を満たすか否か判定される(ステップS340)。この場合、図11からわかるように、“word arg1="p1"”は存在していないことから、ステップS340にて否定判断がなされ、次に式(1)の変数$sに値p2が代入され(ステップS330)、上記“Sentence”領域が値p2代入後の式(1)を満たすか否か判定される(ステップS340)。この場合、図11からわかるように、“word arg1="p2"”が存在していることから、ステップS340にて肯定判断がなされ、図11のインデックスから抽出された<Sentence>タグおよび</Sentence>タグが中間結果として保持されることになる(ステップS350)。また、検索クエリが式(2)に示すものである場合には、ステップS310にて変数値の組が(p1,p1),(p1,6),…(p2,p8),…として取得されていることになるので、まず式(2)の変数$sおよび$oに値p1が代入され(ステップS330)、上記“Sentence”領域が値p1代入後の式(2)を満たすか否か判定される(ステップS340)。この場合、図11からわかるように、“word arg1="p1"”および“word arg2="p1"”は存在していないことから、ステップS340にて否定判断がなされる。その後、ステップS330,S340の処理が繰り返され、ステップS330にて、式(2)の変数$sに値p2が変数$oに値p8が代入されると(ステップS330)、ステップS340にて“word arg1="p2"”および“word arg2="p8"”が存在していると判断され、図11のインデックスから抽出された<Sentence>タグおよび</Sentence>タグが中間結果として保持されることになる(ステップS350)。なお、ステップS210にて式(2)の検索クエリが設定された場合であって、検索単語“slaps”の出現頻度が3つの検索単語の中で最小である場合には、ステップS280にて上記式(6)のクエリが最初に実行される部分クエリとして設定され、このクエリから変数$xを除いたものが実行されると(ステップS290)、その段階で変数値のすべてが取得されることになる。従って、この場合には、式(4)または(5)の何れかの部分クエリを処理する必要はない。また、ステップS210にて式(2)の検索クエリが設定された場合であって、検索単語“slaps”の出現頻度が3つの検索単語の中で2番目に小さい場合には、ステップS280にて上記式(4)または(5)に基づくクエリが最初に実行され、その後、上記(6)式に基づくクエリが実行されることになる。この場合、最初に式(4)または(5)に基づくクエリが実行されると、変数$sまたは$oの何れか一方に対応した変数値が取得されるので、次に上記(6)式に基づくクエリを実行する際には、取得されていない他方の変数値のみを取得すればよい。   After the process of step S310, the search processing unit 37 sets the first set of variable values according to a predetermined constraint from the acquired combinations of variable values (step S320), and sets the variable values of the set set in step S210. Is substituted into the variable $ x corresponding to the search query set in (Step S330). Then, the search processing unit 37 determines whether or not the target maximum search area set in step S270 satisfies the search query after the variable value substitution (step S340). That effect is held in a predetermined storage area as an intermediate result (step S350). After the process of step S350, or when a negative determination is made in step S340, the search processing unit 37 determines whether or not all variable value pairs have been processed (step S360), and step S320 until an affirmative determination is made. To S350 are repeatedly executed. The processing up to this point will be described by taking as an example the case where the “Sentence” area shown in the index of FIG. 11 is the target maximum search area. If the search query is as shown in Expression (1), in step S310 Since a set of variable values is acquired as p1, p2, and p5, first, the value p1 is assigned to the variable $ s in the expression (1) (step S330), and the “Sentence” area is assigned after the value p1 is assigned. It is determined whether or not Expression (1) is satisfied (step S340). In this case, as can be seen from FIG. 11, since “word arg1 =“ p1 ”” does not exist, a negative determination is made in step S340, and then the value p2 is assigned to the variable $ s in equation (1). (Step S330), it is determined whether or not the “Sentence” region satisfies Expression (1) after the value p2 is substituted (Step S340). In this case, as can be seen from FIG. 11, since “word arg1 =“ p2 ”” exists, an affirmative determination is made in step S340, and the <Sentence> tag extracted from the index of FIG. The Sentence> tag is held as an intermediate result (step S350). If the search query is as shown in equation (2), a set of variable values is acquired as (p1, p1), (p1, 6),... (P2, p8),. First, the value p1 is substituted into the variables $ s and $ o of the equation (2) (step S330), and whether or not the “Sentence” area satisfies the equation (2) after the substitution of the value p1. A determination is made (step S340). In this case, as can be seen from FIG. 11, since “word arg1 =“ p1 ”” and “word arg2 =“ p1 ”” do not exist, a negative determination is made in step S340. Thereafter, the processes in steps S330 and S340 are repeated. In step S330, when the value p2 is substituted for the variable $ s in the equation (2) and the value p8 is substituted for the variable $ o (step S330), “ It is determined that word arg1 = "p2" "and" word arg2 = "p8" "exist, and the <Sentence> tag and </ Sentence> tag extracted from the index of FIG. 11 are held as intermediate results (Step S350). If the search query of the formula (2) is set in step S210 and the appearance frequency of the search word “slaps” is the minimum among the three search words, the above-described operation is performed in step S280. The query of formula (6) is set as the partial query to be executed first, and when the query excluding the variable $ x is executed (step S290), all the variable values are acquired at that stage. become. Therefore, in this case, it is not necessary to process any partial query of formula (4) or (5). If the search query of the formula (2) is set in step S210 and the appearance frequency of the search word “slaps” is the second smallest among the three search words, in step S280. A query based on the above formula (4) or (5) is executed first, and then a query based on the above formula (6) is executed. In this case, when the query based on the formula (4) or (5) is first executed, the variable value corresponding to either the variable $ s or $ o is acquired. When executing a query based on, it is only necessary to acquire the other variable value that has not been acquired.

ステップS360の処理の後、検索処理部37は、ステップS230にて抽出されたすべての最大検索領域を処理したか否かを判定し(ステップS370)、すべての最大検索領域が処理されていなければ、処理が完了するまでステップS270からS360までの処理を繰り返す。そして、ステップS370にて肯定判断をなしたときには、検索処理部37は、上記記憶領域に保持されている中間結果に基づいて最終的な検索結果を作成する(ステップS380)。この場合、上記記憶領域に中間結果が保持されていなければ、ステップS380ではヒット件数がゼロであることを示す最終的な検索結果が作成されることになる。そして、最終的な検索結果が結果出力部38から検索要求が実行された端末50へと送信され(ステップS390)、検索処理が一旦終了することになる。   After the process of step S360, the search processing unit 37 determines whether or not all the maximum search areas extracted in step S230 have been processed (step S370), and if all the maximum search areas have not been processed. The processes from step S270 to S360 are repeated until the process is completed. When an affirmative determination is made in step S370, the search processing unit 37 creates a final search result based on the intermediate result held in the storage area (step S380). In this case, if no intermediate result is held in the storage area, a final search result indicating that the number of hits is zero is created in step S380. Then, the final search result is transmitted from the result output unit 38 to the terminal 50 where the search request has been executed (step S390), and the search process is temporarily ended.

以上説明したように、実施例のデータベース検索システム20は、文書データ60ごとに作成されたインデックスを保持するインデックス保持部35を備えている。そして、文書データ60ごとのインデックスは、上述のように、それぞれ対応した文書中のセンテンスと当該センテンスに含まれる句と単語との各々に付与された所定のタグ、単語およびタグに記述される属性の各々の記述位置と階層深さとを示すと共にセンテンス中の述語に相当する句または単語に付与されたタグと当該述語の項となる句または単語に付与されたタグとを属性により対応付けするものである。従って、インデックスを参照すれば、開始タグと終了タグとの対応関係により規定される文書中のセンテンスの構文木や、述語に相当する単語に付与されたタグと当該述語の項となる句等に付与されたタグとの対応関係により規定されるセンテンス中の述語項構造を容易に特定することができる。これを踏まえて、実施例のデータベース検索システム20では、複数の検索単語と当該検索単語間の述語項関係とが検索条件として受け付けられると(ステップS200)、インデックスに基づいて、受け付けられた検索単語をすべて含むタグ領域が抽出される(ステップS230)。より詳細には、ステップS200にて受け付けられた検索単語と述語項関係とに基づいて、当該述語項関係を対応付けする属性値p(n)を変数$xとした検索クエリが設定され(ステップS210)、設定された検索クエリに現れる最大の検索対象領域である最大検索領域が識別された上で(ステップS220)、ステップS200にて受け付けられた検索単語をすべて含む最大検索領域の開始タグおよび終了タグが抽出される(ステップS230)。そして、インデックス、すなわち述語に相当する単語に付与されたタグと当該述語の項となる句に付与されたタグとを対応付けするid属性やarg(x)属性の属性値p(n)のアドレスに基づいて、抽出されたタグ領域(最大検索領域)に含まれる検索単語に対応したタグ間でステップS200にて受け付けられた述語項関係に合致した対応付けがなされているか否かが判定される(ステップS340)。より詳細には、ステップS200にて設定された検索クエリを分解して得られる検索単語の何れかと変数$xとを含む少なくとも一つの部分クエリから当該変数$xを除いたクエリが実行され(ステップS290)、実行結果として返された変数値p(n)を代入した検索クエリに合致する最大検索領域が存在するか否かが判定された上で(ステップS320〜S340)、その判定の結果に基づいて検索結果が出力される(ステップS380,S390)。これにより、実施例のデータベース検索システム20によれば、文書データ60を複数蓄積したデータ記憶装置21上のデータベースを単語や句といった文要素間の意味的な関係により規定される概念を検索条件として検索すると共に、より精度のよい検索結果を迅速に得ることが可能となる。また、実施例のデータベース検索システム20では、互いに述語項関係にある検索単語のうちの出現頻度がより小さい一方の検索単語に対応したタグに記述されている属性値を変数$xとして当該変数の値p(n)を取得し、取得した変数値p(n)に一致する属性値が設定されている他方の検索単語に対応したタグが存在するか否かを判定している(ステップS320〜S360)。すなわち、上記実施例では、ステップS210にて設定された検索クエリを分解して得られるクエリの中から、互いに述語項関係にある検索単語のうちの出現頻度がより小さい一方の検索単語を含むものを部分クエリとして設定し(ステップS260)、その部分クエリに基づいて当該出現頻度がより小さい一方の検索単語に対応したタグに記述されている属性値を変数値として得ている(ステップS290)。このように当該出現頻度がより小さい一方の検索単語に対応したタグに記述されている属性値を変数とすれば、ステップS290にて取得される変数値の数がより少なくなり、その分だけ判定対象とすべき他方の検索単語に対応したタグの数を減らすことができる。これにより、属性値として同一の値が記述されている検索単語に対応したタグの対の有無を短時間で効率よく判定することが可能となる。   As described above, the database search system 20 according to the embodiment includes the index holding unit 35 that holds an index created for each document data 60. Then, as described above, the index for each document data 60 is a predetermined tag assigned to each sentence in the corresponding document, a phrase and a word included in the sentence, and an attribute described in the word and the tag. Indicating the description position and depth of each of the tags, and associating the tag attached to the phrase or word corresponding to the predicate in the sentence with the tag attached to the phrase or word serving as the term of the predicate It is. Therefore, referring to the index, the sentence syntax tree in the document defined by the correspondence between the start tag and the end tag, the tag attached to the word corresponding to the predicate and the phrase that is the term of the predicate, etc. It is possible to easily specify the predicate term structure in the sentence defined by the correspondence relationship with the assigned tag. Based on this, in the database search system 20 of the embodiment, when a plurality of search words and a predicate term relationship between the search words are received as search conditions (step S200), the search words received based on the index Are extracted (step S230). More specifically, based on the search word received in step S200 and the predicate term relationship, a search query with the attribute value p (n) associating the predicate term relationship as a variable $ x is set (step S210), after the maximum search area that is the maximum search target area appearing in the set search query is identified (step S220), the start tag of the maximum search area including all the search words accepted in step S200, and An end tag is extracted (step S230). The address of the attribute value p (n) of the id attribute or arg (x) attribute that associates the index, that is, the tag attached to the word corresponding to the predicate with the tag attached to the phrase that is the term of the predicate Based on the above, it is determined whether or not the correspondence corresponding to the predicate term relationship accepted in step S200 is made between the tags corresponding to the search words included in the extracted tag region (maximum search region). (Step S340). More specifically, a query is executed by removing the variable $ x from at least one partial query including any of the search words obtained by decomposing the search query set in step S200 and the variable $ x (step S200). S290) After determining whether or not there is a maximum search area that matches the search query substituted with the variable value p (n) returned as the execution result (steps S320 to S340), the result of the determination is Based on this, a search result is output (steps S380 and S390). As a result, according to the database search system 20 of the embodiment, the database is a database on the data storage device 21 in which a plurality of document data 60 is stored. While searching, it becomes possible to quickly obtain a more accurate search result. Further, in the database search system 20 of the embodiment, the attribute value described in the tag corresponding to one search word having a smaller appearance frequency among search words having a predicate term relationship is used as a variable $ x, and the variable The value p (n) is acquired, and it is determined whether or not there is a tag corresponding to the other search word in which the attribute value matching the acquired variable value p (n) is set (steps S320 to S320). S360). That is, in the above-described embodiment, the query including one search word having a smaller appearance frequency among search words having a predicate term relationship among the queries obtained by decomposing the search query set in step S210. Is set as a partial query (step S260), and an attribute value described in a tag corresponding to one search word having a smaller appearance frequency is obtained as a variable value based on the partial query (step S290). As described above, if the attribute value described in the tag corresponding to one search word having a smaller appearance frequency is used as a variable, the number of variable values acquired in step S290 is reduced, and the determination is made accordingly. The number of tags corresponding to the other search word to be targeted can be reduced. As a result, it is possible to efficiently determine in a short time whether or not there is a tag pair corresponding to a search word in which the same value is described as an attribute value.

なお、図12の検索処理においては、ステップS260にて設定されたすべての部分クエリに基づいて部分クエリごとに変数値を取得した上で(ステップS290)、変数値の組み合わせを取得し(ステップS310)、変数値の組を検索クエリに代入して(ステップS330)対象となる最大検索領域が変数代入後の検索クエリを満たすか否かを判定しているが(ステップS340)、これに限られるものではない。すなわち、検索処理の効率等をより改善してより迅速な検索を実行するためには、図15に例示するアルゴリズムに従った次のような変形例としての検索処理を実行してもよい。この場合、例えば、ステップS260にて2つの部分クエリが設定された場合には、ステップS270にて設定された対象最大検索領域について、出現頻度がより小さい検索単語に対応した一方の部分クエリ(第1の部分クエリ)から変数$xを除いたクエリを実行し、まず変数値を1つだけ取得する。次いで、他方の部分クエリ(第2の部分クエリ)から$xを除いたクエリを実行して変数値を順次取得すると共に、第1の部分クエリに基づく上記1つの変数値と第2の部分クエリに基づく変数値とを代入した検索クエリを対象最大検索領域が満たしているか否か判定する。ここで否定判断がなされた場合には、再度第1の部分クエリに基づいて2つ目の変数値を取得する。そして、再度第2の部分クエリから$xを除いたクエリを実行して変数値を順次取得すると共に、第1の部分クエリに基づく上記2つ目の変数値と第2の部分クエリに基づく変数値とを代入した検索クエリを対象最大検索領域が満たしているか否か判定する。以下、こういった処理を順次繰り返すことにより、検索条件に合致した最大検索領域が存在するか否かを判定する。このような変形例の検索処理によれば、
検索対象のタグ領域をより適正に減らしてより迅速な検索を実現することが可能となる。
In the search process of FIG. 12, after obtaining variable values for each partial query based on all partial queries set in step S260 (step S290), a combination of variable values is obtained (step S310). ) Substituting a set of variable values into the search query (step S330), it is determined whether or not the target maximum search area satisfies the search query after the variable substitution (step S340), but this is limited to this. It is not a thing. That is, in order to improve the efficiency of the search process and execute a quicker search, the following search process as a modified example according to the algorithm illustrated in FIG. 15 may be executed. In this case, for example, when two partial queries are set in step S260, one partial query corresponding to a search word with a smaller appearance frequency (first search) in the target maximum search area set in step S270. The query obtained by removing the variable $ x from (partial query 1) is executed, and only one variable value is acquired first. Next, a query obtained by removing $ x from the other partial query (second partial query) is executed to sequentially obtain variable values, and the one variable value and the second partial query based on the first partial query are acquired. It is determined whether or not the target maximum search area satisfies a search query substituted with a variable value based on. If a negative determination is made here, the second variable value is acquired again based on the first partial query. Then, a query obtained by removing $ x from the second partial query is executed again to sequentially obtain variable values, and the second variable value based on the first partial query and a variable based on the second partial query are obtained. It is determined whether the target maximum search area satisfies the search query with the value substituted. Thereafter, it is determined whether or not there is a maximum search area that matches the search condition by sequentially repeating these processes. According to the search processing of such a modification,
It is possible to achieve a quicker search by appropriately reducing the tag area to be searched.

本発明は、情報処理分野において有用である。   The present invention is useful in the field of information processing.

本発明の一実施例に係るデータベース検索システム20を示す概略構成図である。It is a schematic block diagram which shows the database search system 20 which concerns on one Example of this invention. 実施例のデータベース検索システム20に含まれる管理サーバ30において実行されるインデックス作成処理の一例を示すフローチャートである。It is a flowchart which shows an example of the index creation process performed in the management server 30 contained in the database search system 20 of an Example. 文要素間の意味的関係を表現したラベル付き有向グラフの一例を示す説明図である。It is explanatory drawing which shows an example of the directed graph with a label expressing the semantic relationship between sentence elements. 実施例の管理サーバ30の構文解析部32に対して用意される単語情報と、当該単語情報等を用いた構文解析の手順を説明するための説明図である。It is explanatory drawing for demonstrating the procedure of the syntax analysis using the word information prepared with respect to the syntax analysis part 32 of the management server 30 of an Example, and the said word information. 実施例の管理サーバ30の構文解析部32に対して用意される単語情報と、当該単語情報等を用いた構文解析の手順を説明するための説明図である。It is explanatory drawing for demonstrating the procedure of the syntax analysis using the word information prepared with respect to the syntax analysis part 32 of the management server 30 of an Example, and the said word information. センテンスを構文解析して得られる構文木の一例を示す説明図である。It is explanatory drawing which shows an example of the syntax tree obtained by parsing a sentence. 特定分野におけるオントロジーを例示する説明図である。It is explanatory drawing which illustrates ontology in a specific field. 実施例の管理サーバ30におけるインデックスの作成に際して、文書の構造化に用いられるタグの種類とそれに記述される属性とを例示する図表である。It is a chart which illustrates the kind of tag used for structuring a document, and the attribute described in it at the time of creation of the index in management server 30 of an example. 図7に例示されたタグに記述される属性の内容を例示する図表である。FIG. 8 is a chart illustrating contents of attributes described in tags illustrated in FIG. 7. FIG. 実施例の管理サーバ30のインデックス作成部34により構造化された英文をXML形式で出力した場合の出力例を示す説明図である。It is explanatory drawing which shows the output example at the time of outputting the English text structured by the index preparation part 34 of the management server 30 of an Example in XML format. 実施例のインデックス作成部34により作成されたインデックスの一例を示す説明図である。It is explanatory drawing which shows an example of the index produced by the index production part 34 of an Example. 実施例の管理サーバ30により実行される検索処理の一例を示すフローチャートである。It is a flowchart which shows an example of the search process performed by the management server 30 of an Example. 実施例の管理サーバ30に接続された端末50の表示画面に表示される検索画面の一例を示す説明図である。It is explanatory drawing which shows an example of the search screen displayed on the display screen of the terminal 50 connected to the management server 30 of an Example. 実施例のデータベース検索システム20における検索処理に際して用いられる演算子を例示する図表である。It is a chart which illustrates the operator used at the time of the search process in the database search system 20 of an Example. 実施例のデータベース検索システム20における検索処理の変形例を実現するためのアルゴリズムの一例を示す説明図である。It is explanatory drawing which shows an example of the algorithm for implement | achieving the modification of the search process in the database search system 20 of an Example.

符号の説明Explanation of symbols

20 データベース検索システム、21 データ記憶装置、30 管理サーバ、31 文書入力部、32 構文解析部、33用語認識部、34 インデックス作成部、35 インデックス保持部、36 入力受付部、37 検索処理部、38 結果出力部、40 ネットワーク、50 端末、60 文書データ。   20 database search system, 21 data storage device, 30 management server, 31 document input unit, 32 syntax analysis unit, 33 term recognition unit, 34 index creation unit, 35 index holding unit, 36 input reception unit, 37 search processing unit, 38 Result output unit, 40 networks, 50 terminals, 60 document data.

Claims (12)

所定言語からなるセンテンスを示すデータを文法上の意味的な注釈を含む構造化データに変換するデータ変換装置であって、
前記データと前記所定言語の文法情報および単語情報とを用いて前記センテンスの構文解析を実行する構文解析手段と、
前記構文解析手段による構文解析の結果に基づいて、それぞれ対応した属性が記述される所定のタグを前記センテンスに含まれる句と単語とに付与すると共に前記センテンス中の述語に相当する句または単語に付与されたタグと該述語の項となる句または単語に付与されたタグとを前記属性により対応付けした上で、前記タグ、前記単語および前記タグの属性の各々の記述位置と階層深さとを示すインデックスを前記構造化データとして出力する構造化データ出力手段と、
を備えるデータ変換装置。
A data conversion device that converts data indicating a sentence in a predetermined language into structured data including grammatical semantic annotations,
A syntax analysis means for performing syntax analysis of the sentence using the data and grammatical information and word information of the predetermined language;
Based on the result of the parsing by the parsing means, a predetermined tag in which a corresponding attribute is described is assigned to a phrase and a word included in the sentence, and a phrase or word corresponding to a predicate in the sentence After associating a given tag with a tag given to a phrase or word as a term of the predicate by the attribute, the description position and the hierarchical depth of each of the tag, the word, and the tag attribute Structured data output means for outputting the indicated index as the structured data;
A data conversion device comprising:
前記構文解析手段は、HPSGに基づく構文解析を実行して前記センテンスの構文木および述語項構造を取得するパーザである請求項1に記載のデータ変換装置。   The data conversion apparatus according to claim 1, wherein the syntax analysis unit is a parser that executes syntax analysis based on HPSG to acquire a syntax tree and a predicate term structure of the sentence. 請求項1または2に記載のデータ変化装置において、
所定の用語情報に基づいて前記センテンスに含まれる句または単語の各々について該句または単語が一つの実体的意味で括られるものであるか否かを判定すると共に前記句または単語が前記実体的意味で括られるものであるときには該実体的意味を取得する用語認識手段を更に備え、
前記構造化データ出力手段は、前記取得された実体的意味を示す属性値を対応したタグの所定の属性に記述するデータ変換装置。
The data change device according to claim 1 or 2,
For each phrase or word included in the sentence, it is determined whether or not the phrase or word is enclosed in one substantial meaning based on predetermined term information, and the phrase or word has the substantial meaning Further comprising a term recognition means for acquiring the substantive meaning when
The structured data output means is a data conversion device that describes an attribute value indicating the acquired substantive meaning in a predetermined attribute of a corresponding tag.
所定言語からなるセンテンスを示すデータを文法上の意味的な注釈を含む構造化データに変換するためのデータ変換方法であって、
(a)前記データと前記所定言語の文法情報および単語情報とを用いて前記センテンスの構文解析を実行するステップと、
(b)ステップ(a)の構文解析の結果に基づいて、それぞれ対応した属性が記述される所定のタグを前記センテンスに含まれる句と単語とに付与すると共に前記センテンス中の述語に相当する句または単語に付与されたタグと該述語の項となる句または単語に付与されたタグとを前記属性により対応付けした上で、前記タグ、前記単語および前記タグの属性の各々の記述位置と階層深さとを示すインデックスを前記構造化データとして出力するステップと、
を含むデータ変換方法。
A data conversion method for converting data indicating a sentence in a predetermined language into structured data including grammatical semantic annotations,
(A) performing a syntax analysis of the sentence using the data and grammatical information and word information of the predetermined language;
(B) Based on the result of the syntax analysis in step (a), a predetermined tag describing a corresponding attribute is assigned to a phrase and a word included in the sentence, and a phrase corresponding to a predicate in the sentence Alternatively, the tag assigned to the word and the phrase or tag assigned to the word as a term of the predicate are associated with each other by the attribute, and the description position and the hierarchy of each of the tag, the word, and the tag attribute Outputting an index indicating depth as the structured data;
Data conversion method including
所定言語からなる文書の文書データを複数蓄積したデータベースを管理するデータベース管理装置であって、
前記文書データと前記所定言語の文法情報および単語情報とを用いて前記文書の構文解析を実行する構文解析手段と、
前記構文解析手段による構文解析の結果に基づいて前記文書中のセンテンスと該センテンスに含まれる句と単語とにそれぞれ対応した属性が記述される所定のタグを付与すると共に、前記センテンス中の述語に相当する句または単語に付与されたタグと該述語の項となる句または単語に付与されたタグとを前記属性により対応付けした上で、前記タグ、前記単語および前記タグの属性の各々の記述位置と階層深さとを示すインデックスを出力するインデックス出力手段と、
前記インデックス出力手段により出力されたインデックスを前記文書データごとに保持するインデックス保持手段と、
を備えるデータベース管理装置。
A database management apparatus that manages a database that stores a plurality of document data of documents in a predetermined language,
Syntax analysis means for executing syntax analysis of the document using the document data and grammatical information and word information of the predetermined language;
Based on the result of the parsing by the parsing means, a predetermined tag describing attributes corresponding to sentences in the document and phrases and words included in the sentence is given, and predicates in the sentence are given. Description of each of the tag, the word, and the attribute of the tag after associating the tag attached to the corresponding phrase or word with the tag attached to the phrase or word as the term of the predicate by the attribute Index output means for outputting an index indicating a position and a hierarchy depth;
Index holding means for holding the index output by the index output means for each document data;
A database management device comprising:
所定言語からなる文書の文書データを複数蓄積したデータベースを管理するためのデータベース管理方法であって、
(a)前記文書データと前記所定言語の文法情報および単語情報とを用いて前記文書の構文解析を実行するステップと、
(b)ステップ(a)の構文解析の結果に基づいて前記文書中のセンテンスと該センテンスに含まれる句と単語とにそれぞれ対応した属性が記述される所定のタグを付与すると共に、前記センテンス中の述語に相当する句または単語に付与されたタグと該述語の項となる句または単語に付与されたタグとを前記属性により対応付けした上で、前記タグ、前記単語および前記タグの属性の各々の記述位置と階層深さとを示すインデックスを出力すると共に前記文書データごとに保持するステップと、
を含むデータベース管理方法。
A database management method for managing a database storing a plurality of document data of documents in a predetermined language,
(A) performing syntax analysis of the document using the document data and grammatical information and word information of the predetermined language;
(B) Based on the result of the parsing in step (a), a predetermined tag describing attributes corresponding to sentences in the document and phrases and words included in the sentence is given, The tag assigned to the phrase or word corresponding to the predicate of and the tag assigned to the phrase or word serving as the term of the predicate are associated by the attribute, and the attribute of the tag, the word and the tag Outputting an index indicating each description position and hierarchy depth and holding each document data; and
Database management method including.
所定言語からなる文書の文書データを複数蓄積したデータベースを検索するためのデータベース検索システムであって、
前記文書中のセンテンスと該センテンスに含まれる句と単語との各々に付与された所定のタグ、前記単語および前記タグに記述される属性の各々の記述位置と階層深さとを示すと共に前記センテンス中の述語に相当する句または単語に付与されたタグと該述語の項となる句または単語に付与されたタグとを前記属性により対応付けするように前記文書データごとに作成されたインデックスを保持するインデックス保持手段と、
複数の検索単語と該検索単語間の述語項関係とを検索条件として受け付け可能な受付手段と、
前記インデックス保持手段により保持されているインデックスに基づいて、前記受け付けられた検索単語をすべて含むタグ領域を抽出する抽出手段と、
前記インデックスに基づいて、前記抽出手段により抽出されたタグ領域に含まれる前記検索単語に対応したタグ間で前記受け付けられた述語項関係に合致した対応付けがなされているか否かを判定する判定手段と、
前記判定手段による判定結果に基づいて検索結果を出力する検索結果出力手段と、
を備えるデータベース検索システム。
A database search system for searching a database storing a plurality of document data of documents in a predetermined language,
The sentence in the document, a predetermined tag assigned to each of the phrase and the word included in the sentence, the description position and the hierarchical depth of each attribute described in the word and the tag, and the sentence An index created for each piece of document data is stored so that a tag assigned to a phrase or word corresponding to the predicate of and a tag assigned to a phrase or word serving as a term of the predicate are associated by the attribute. Index holding means;
Accepting means capable of accepting a plurality of search words and a predicate term relationship between the search words as a search condition;
Extraction means for extracting a tag region including all the accepted search words based on the index held by the index holding means;
Determining means for determining, based on the index, whether or not the matching corresponding to the accepted predicate term relationship is made between the tags corresponding to the search word included in the tag area extracted by the extracting means. When,
Search result output means for outputting a search result based on a determination result by the determination means;
A database search system comprising:
請求項7に記載のデータベース検索システムにおいて、
前記インデックスでは、前記センテンス中の述語に相当する句または単語に対応したタグの所定の属性と該述語の項となる句または単語に対応したタグの所定の属性とに属性値として同一の値が設定されており、
前記判定手段は、前記インデックスに基づいて前記属性値として同一の値が記述されている前記検索単語に対応したタグの対の有無を判定するデータベース検索システム。
The database search system according to claim 7, wherein
In the index, a predetermined attribute of a tag corresponding to a phrase or word corresponding to a predicate in the sentence and a predetermined attribute of a tag corresponding to a phrase or word serving as a term of the predicate have the same value as an attribute value. Is set,
The database search system for determining whether or not there is a tag pair corresponding to the search word in which the same value is described as the attribute value based on the index.
請求項8に記載のデータベース検索システムにおいて、
前記単語ごとに前記データベースにおける出現頻度を記憶する出現頻度記憶手段を更に備え、
前記判定手段は、互いに述語項関係にある前記検索単語のうちの前記出現頻度がより小さい一方の検索単語に対応したタグに記述されている前記属性値を変数として該変数の値を取得し、取得した変数の値に一致する前記属性値が設定されている他方の前記検索単語に対応したタグが存在するか否かを判定するデータベース検索システム。
The database search system according to claim 8, wherein
An appearance frequency storage means for storing the appearance frequency in the database for each word;
The determination means obtains the value of the variable using the attribute value described in the tag corresponding to one search word having a smaller appearance frequency among the search words having a predicate term relationship as a variable, A database search system that determines whether or not a tag corresponding to the other search word in which the attribute value that matches the value of the acquired variable is set exists.
請求項9に記載のデータベース検索システムにおいて、
前記受け付けられた検索単語と前記述語項関係とに基づいて、該述語項関係を対応付けする属性値を変数とした検索クエリを設定する検索クエリ設定手段を更に備え、
前記抽出手段は、前記設定された検索クエリに現れる最大の検索対象領域である最大検索領域を識別すると共に前記受け付けられた検索単語をすべて含む最大検索領域の開始タグおよび終了タグを抽出し、
前記判定手段は、前記設定された検索クエリを分解して得られる前記検索単語の何れかと前記変数とを含む少なくとも一つの部分クエリから該変数を除いたクエリを実行し、実行結果として返された前記変数の値を代入した前記検索クエリに合致する前記最大検索領域が存在するか否かを判定するデータベース検索システム。
The database search system according to claim 9, wherein
Search query setting means for setting a search query using a variable as an attribute value that associates the predicate term relationship based on the accepted search word and the predescription term term relationship,
The extraction means identifies a maximum search area that is a maximum search target area that appears in the set search query and extracts a start tag and an end tag of the maximum search area including all the accepted search words,
The determination means executes a query excluding the variable from at least one partial query including any of the search words obtained by decomposing the set search query and the variable, and is returned as an execution result. A database search system that determines whether or not the maximum search area that matches the search query into which the value of the variable is substituted exists.
前記インデックスは、前記文書データと前記所定言語の文法情報および単語情報とを用いた前記文書の構文解析の結果に基づいて予め作成されている請求項7から10の何れかに記載のデータベース検索システム。   11. The database search system according to claim 7, wherein the index is created in advance based on a result of syntax analysis of the document using the document data and grammatical information and word information of the predetermined language. . 所定言語からなる文書の文書データを複数蓄積したデータベースを検索するためのデータベース検索方法であって、
(a)前記文書中のセンテンスと該センテンスに含まれる句と単語との各々に付与された所定のタグ、前記単語および前記タグに記述される属性の各々の記述位置と階層深さとを示すと共に前記センテンス中の述語に相当する句または単語に付与されたタグと該述語の項となる句または単語に付与されたタグとを前記属性により対応付けするように前記文書データごとに作成されたインデックスを予め作成・保持しておくステップと、
(b)複数の検索単語と該検索単語間の述語項関係とを検索条件として受け付けるステップと、
(c)前記インデックスに基づいて、前記受け付けられた検索単語をすべて含むタグ領域を抽出するステップと、
(d)前記インデックスに基づいて、ステップ(c)で抽出されたタグ領域に含まれる前記検索単語に対応したタグ間で前記受け付けられた述語項関係に合致した対応付けがなされているか否かを判定するステップと、
(e)ステップ(d)における判定結果に基づいて検索結果を出力するステップと、
を含むデータベース検索方法。
A database search method for searching a database storing a plurality of document data of documents in a predetermined language,
(A) indicates a sentence in the document, a predetermined tag assigned to each of a phrase and a word included in the sentence, a description position and a hierarchical depth of each attribute described in the word and the tag, and An index created for each document data so that a tag attached to a phrase or word corresponding to a predicate in the sentence and a tag attached to a phrase or word serving as a term of the predicate are associated by the attribute. Creating and maintaining
(B) receiving a plurality of search words and a predicate term relationship between the search words as a search condition;
(C) extracting a tag region including all the accepted search words based on the index;
(D) Based on the index, whether or not the correspondence corresponding to the accepted predicate term relationship is made between the tags corresponding to the search word included in the tag area extracted in step (c). A determining step;
(E) outputting a search result based on the determination result in step (d);
Database search method including.
JP2006194943A 2006-07-14 2006-07-14 Data conversion apparatus and its method, database management apparatus and its method, and database search system and its method Pending JP2008021270A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006194943A JP2008021270A (en) 2006-07-14 2006-07-14 Data conversion apparatus and its method, database management apparatus and its method, and database search system and its method
PCT/JP2007/063783 WO2008007683A1 (en) 2006-07-14 2007-07-11 Data conversion device and method, database managing device and method, and database search system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006194943A JP2008021270A (en) 2006-07-14 2006-07-14 Data conversion apparatus and its method, database management apparatus and its method, and database search system and its method

Publications (1)

Publication Number Publication Date
JP2008021270A true JP2008021270A (en) 2008-01-31

Family

ID=38923239

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006194943A Pending JP2008021270A (en) 2006-07-14 2006-07-14 Data conversion apparatus and its method, database management apparatus and its method, and database search system and its method

Country Status (2)

Country Link
JP (1) JP2008021270A (en)
WO (1) WO2008007683A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011113536A (en) * 2009-11-30 2011-06-09 Fuji Xerox Co Ltd Information retrieval program and information retrieval device
WO2013038519A1 (en) * 2011-09-14 2013-03-21 株式会社マイニングブラウニー Web page analysis device and program for analyzing web page
JP2016018566A (en) * 2014-07-10 2016-02-01 ネイバー コーポレーションNAVER Corporation Method and system for searching for and providing information about natural language query having simple or complex sentence structure
JP7351372B2 (en) 2018-04-12 2023-09-27 富士通株式会社 Generation program, generation method, and information processing device

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101880275B1 (en) * 2017-01-09 2018-08-16 김선중 Search system and method for biological system information
CN111090668B (en) * 2019-12-09 2023-09-26 京东科技信息技术有限公司 Data retrieval method and device, electronic equipment and computer readable storage medium

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7134075B2 (en) * 2001-04-26 2006-11-07 International Business Machines Corporation Conversion of documents between XML and processor efficient MXML in content based routing networks
JP2003016079A (en) * 2001-07-04 2003-01-17 Fuji Xerox Co Ltd Apparatus for text analysis

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011113536A (en) * 2009-11-30 2011-06-09 Fuji Xerox Co Ltd Information retrieval program and information retrieval device
US8346745B2 (en) 2009-11-30 2013-01-01 Fuji Xerox Co., Ltd. Information retrieval method, computer readable medium and information retrieval apparatus
WO2013038519A1 (en) * 2011-09-14 2013-03-21 株式会社マイニングブラウニー Web page analysis device and program for analyzing web page
JP2016018566A (en) * 2014-07-10 2016-02-01 ネイバー コーポレーションNAVER Corporation Method and system for searching for and providing information about natural language query having simple or complex sentence structure
JP7351372B2 (en) 2018-04-12 2023-09-27 富士通株式会社 Generation program, generation method, and information processing device

Also Published As

Publication number Publication date
WO2008007683A1 (en) 2008-01-17

Similar Documents

Publication Publication Date Title
US11080295B2 (en) Collecting, organizing, and searching knowledge about a dataset
US8041697B2 (en) Semi-automatic example-based induction of semantic translation rules to support natural language search
US8027948B2 (en) Method and system for generating an ontology
US9448995B2 (en) Method and device for performing natural language searches
KR102033395B1 (en) Question answering system and method for structured knowledge-base using deep natrural language question analysis
US10585924B2 (en) Processing natural-language documents and queries
US10503830B2 (en) Natural language processing with adaptable rules based on user inputs
JP2011118689A (en) Retrieval method and system
KR20140052328A (en) Apparatus and method for generating rdf-based sentence ontology
JP2008021270A (en) Data conversion apparatus and its method, database management apparatus and its method, and database search system and its method
KR20100066919A (en) Triple indexing and searching scheme for efficient information retrieval
JP4005343B2 (en) Information retrieval system
AbuTaha et al. An ontology-based arabic question answering system
JP6327799B2 (en) Natural language reasoning system, natural language reasoning method and program
KR20120070713A (en) Method for indexing natural language and mathematical formula, apparatus and computer-readable recording medium with program therefor
KR102632539B1 (en) Clinical information search system and method using structure information of natural language
WO2015012679A2 (en) A system and method for interpreting logical connectives in natural language query
Iqbal et al. A Negation Query Engine for Complex Query Transformations
Oostdijk et al. Constructing a broad-coverage lexicon for text mining in the patent domain
JPH11259524A (en) Information retrieval system, information processing method in information retrieval system and record medium
JP2009199280A (en) Similarity retrieval system using partial syntax tree profile
EP2731062A1 (en) Method and apparatus for ontology mapping
Parinov Extraction and visualisation of citation relationships and its attributes for papers in PDF
JP4543819B2 (en) Information search system, information search method, and information search program
JP4635585B2 (en) Question answering system, question answering method, and question answering program