WO2015012679A2 - A system and method for interpreting logical connectives in natural language query - Google Patents

A system and method for interpreting logical connectives in natural language query Download PDF

Info

Publication number
WO2015012679A2
WO2015012679A2 PCT/MY2014/000129 MY2014000129W WO2015012679A2 WO 2015012679 A2 WO2015012679 A2 WO 2015012679A2 MY 2014000129 W MY2014000129 W MY 2014000129W WO 2015012679 A2 WO2015012679 A2 WO 2015012679A2
Authority
WO
WIPO (PCT)
Prior art keywords
query
logical
sub
interpreter
connectives
Prior art date
Application number
PCT/MY2014/000129
Other languages
French (fr)
Other versions
WO2015012679A3 (en
Inventor
Sadanandan ARUN ANNAND
Lukose Dickson
Original Assignee
Mimos Berhad
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 Mimos Berhad filed Critical Mimos Berhad
Publication of WO2015012679A2 publication Critical patent/WO2015012679A2/en
Publication of WO2015012679A3 publication Critical patent/WO2015012679A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24522Translation of natural language queries to structured queries
    • 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/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing

Definitions

  • the present invention relates to a system and method for identifying and interpreting logical connectives from a natural language query.
  • a logical connective (also called a logical operator) is a symbol or word used to connect two or more sentences (of either a formal or a natural language) in a grammatically valid way, such that the sense of the compound sentence produced depends only on the original sentences.
  • two sentences may be joined by a grammatical conjunction to form a grammatically compound sentence.
  • Logical connectives are widely used by database query systems and machine translation systems. Natural language based queries may include several logical connectives such as negation, conjunction and disjunction. Structured natural language query systems can be extended to handle queries involving single or multiple logical connectives. An example of such system and method is disclosed in US Patent No.
  • a parser - translator technology is introduced to allow a user to specify complex test and/or transformation statements in a high-level user language, to ensure that such test and/or transformations statement are well-formed in accordance with a grammar defining legal statements in the user language and to translate statements defined by the user into logically and syntactically correct directives for performing the desired data transformations or operations.
  • a parser-translator technology a user can focus on the semantics of the desired operations and need not be concerned with the proper syntax of a language for a particular system.
  • grammar i.e., data
  • grammar i.e., data
  • grammar define the behaviour of a parser- translator implementation by encoding the universe of statements (e.g., legal test and/or transformation statements) and by encoding translations appropriate to a particular data processing application (e.g., a data conversion program, etc.).
  • Some parser-translator implementations described herein interface dynamically with other systems and/or repositories to query for information about objects, systems and states represented therein, and/or their respective interfaces.
  • this prior art limits the interpretation of the logical connectives whereby the user is allowed to specify complex "and" and "or” transformation only.
  • US Patent No. 5237502 discloses a computer implemented system which creates natural language paraphrases of information contained in a logical from, where the logical form may be a representation of a natural language expression.
  • the paraphraser is implicitly defined via the Baclis-Naur Forms (BNF) description of Conceptual Logic Form (CLF) of Initial Trees and of the paraphrase rules.
  • BNF Baclis-Naur Forms
  • CLF Conceptual Logic Form
  • the paraphraser uses a technique for mapping logical forms to natural language.
  • the natural paraphrases which are created could be used either as input to a query system, as part of a machine translation system, or to generate natural language corresponding to an interpretation created by a natural language database query system of a user's query for the purpose of verification of the paraphrase by the user.
  • mapping logical forms to natural language can caused cache coherency.
  • a system for interpreting logical connectives in natural language query comprises of a morphological analyser (110) to perform syntactic analysis, a query enricher (140) to perform additional enrichment to the query elements such as synonym expansion to broaden the scope of the query, a query processor (150) to send the final query representation to knowledge base processor to be executed, and an answer generator (160) to receive the knowledge base specific representation of the answers and convert the knowledge base specific representation to human readable form by utilizing the answer templates for a particular query; wherein the system (100) is characterised in that it further includes a query structure interpreter (120) to retrieve templates from a template repository and interpret the logical connectives in the query; and a logical connective interpreter (130) to interpret the query of determined logical connectives and to determine the internal query representations that represent the user's natural language query.
  • a method for interpreting logical connectives in natural language query is characterised by the steps of receiving a natural language query; performing the syntactic analysis on the natural query by a morphological analyser (110); interpreting the query structure by a query structure interpreter (120) to produce a set of sub-queries, the identified logical connectives and their orders and linkages; and interpreting the logical connectives in the query by a logical connectives interpreter (130) based on the sub-queries, the identified logical connectives and their orders and linkages to produce knowledge base compliant query syntax.
  • the step of performing the syntactic analysis on the natural language query by the morphological analyser (110) includes the steps of sending a query from the user to the morphological analyser (110); generating the morphological structure by the morphological analyser (110) whereby the syntactic structure of the query is extracted and parts of speech operator are identified; and producing an output of the query tagged with the part of speech elements.
  • the step of interpreting the query structure by the query structure interpreter (120) to produce a set of sub-queries, the identified logical connectives and their orders and linkages includes the steps of retrieving template from a template repository (190) by the query structure interpreter (120); matching syntactic structure of the query against a collection of query templates in the template repository (190); identifying the logical connectives present in the query, wherein the relative phrases or words from a connective repository (170) are mapped to a conjunction connective; identifying and splitting the query into several sub-queries by the query structure interpreter (120) based on the identified connectives as well as the structure of the identified template; and determining the order by the query structure interpreter (120) in which the sub-queries are linked to each other.
  • the step interpreting the logical connectives in the query by the logical connectives interpreter (130) based on the sub-queries, the identified logical connectives and their orders and linkages to produce knowledge base compliant query syntax includes the steps of selecting the operator type by the logical connectives interpreter (130); selecting the sub-query with conjunctive operators by the logical connectives interpreter (130); generating query syntax based on conjunctive rule extracted from a logical rules repository (180), wherein the query syntax is constructed using intersection rule; selecting the sub-query with disjunctive operators if the selected operator is a disjunctive operator; dividing the query into sub- queries based on the disjunction operators; generating query syntax based on disjunctive rule extracted from the logical rules repository (180), wherein the query syntax is constructed using union rule; selecting the sub-query with negation operators if the selected operator is a negation operator; dividing query into sub- queries based on the number of the conjunctive, disjunctive and negative
  • FIG. 1 illustrates a system for interpreting logical connectives in natural language query (100) according to an embodiment of the present invention.
  • FIG. 2 illustrates a flowchart of a method for interpreting logical connectives in natural language query (100) according to an embodiment of the present invention.
  • FIG. 3 illustrates a flowchart of sub-steps for analysing syntactic performed by a morphological analyser (110) of the system (100) of FIG. 1.
  • FIG. 4 illustrates a flowchart of sub-steps for interpreting query structure performed by a query structure interpreter (120) of the system (100) of FIG.1.
  • FIG. 5 illustrates a flowchart of sub-steps for interpreting logical connectives performed by a logical connectives interpreter (130) of the system (100) of FIG. 1. DESCRIPTION OF THE PREFFERED EMBODIMENT
  • FIG. 1 shows a system for interpreting logical connectives in natural language query (100) according to an embodiment of the present invention.
  • the system (100) identifies and interprets logical connectives from a natural language queries.
  • the system (100) comprises of a morphological analyser (110), a query structure interpreter (120), logical connective interpreter (130), a query enricher (140), a query processor (150) and an answer generator (160).
  • Morphological analyser (110) is used to perform syntactic analysis.
  • the query structure interpreter (120) is used to retrieve templates from a template repository (190) and interpret the logical connectives present in the query.
  • the query structure interpreter (120) is connected to the template repository (190) and a connective repository (170).
  • the template repository (190) stores all the logical connective templates while the connective repository (170) stores all the logical connectives.
  • the logical connectives interpreter (130) is used to interpret the query of the determined logical connectives and to determine the internal query representations that best represent a user's natural language query.
  • the logical connectives interpreter (130) is connected to the logical rules repository (180) wherein the logical rules repository (180) stores the logical connective rules of the system (100).
  • the query enricher (140) is used to perform additional enrichment to the query elements such as synonym expansion to broaden the scope of the query.
  • the query processor (150) is used to send the final query representation to knowledge base processor to be executed.
  • the query enricher (140) and the query processor (150) are connected to a knowledge base server (200) wherein the knowledge base server (200) provides a knowledge base for information to be collected, organized, shared, searched and utilized.
  • the answer generator (160) is used to receive the knowledge base specific representation of the answers and converts knowledge base specific representation to human readable form by utilizing answer templates for the particular query.
  • FIG. 2 shows a flowchart of a method for interpreting logical connectives in natural language query (100) according to an embodiment of the present invention.
  • the system receives a natural language query as in step 300.
  • the morphological analyser (110) performs the syntactic analysis on the natural query as in step 310.
  • the syntactic analysis produces a query tagged with the part of speech elements.
  • the query structure interpreter (120) interprets the query structure to produce a set of sub-queries, the identified logical connectives and their orders and linkages as in step 320.
  • the logical connectives interpreter interprets the logical connectives in the query to produce knowledge base compliant query syntax as in step 330.
  • FIG. 3 shows a flowchart of the sub-steps for analysing syntactic performed by the morphological analyser (110) in step 310.
  • a query from the user is sent to the morphological analyser (110).
  • the morphological analyser (110) generates the morphological structure whereby the syntactic structure of the query is extracted and parts of speech operator are identified.
  • the morphological analyser (110) produces an output of the query tagged with the part of speech elements as in step 313.
  • FIG. 4 shows a flowchart of the sub-steps for interpreting query structure performed by the query structure interpreter (120) in step 320.
  • the templates are retrieved from the template repository (190) by the query structure interpreter (120) as in step 321.
  • the templates in the template repository (190) constitute query terms connected to each other using syntactic elements. For example, "Find” is connected to "where" by a noun and the noun can be a subject or an object.
  • the matching template is produced as "FIND (subject/object) NN WHERE/WHICH/WHO (subject/object) AND (subject/object) (predicate)".
  • the syntactic structure of the query is matched against a collection of query templates in the template repository (190) as in step 322.
  • the closest matching query template and the corresponding template rules are retrieved from the template repository.
  • the logical connectives present in the query are identified whereby the relative phrases or words from the connective repository (170) are mapped to a conjunction connective as in step 324.
  • the query structure interpreter (120) then identifies and splits the query into several sub-queries based on the identified connectives as well as the structure of the identified template as in step 325.
  • the query structure interpreter (120) determines the order in which the sub- queries are linked to each other wherein the order indicates how the sub-queries are connected to each other.
  • the query structure interpreter (120) produces an output of the set of sub-queries, the identified logical connectives and their orders and linkages.
  • FIG. 5 illustrates a flowchart of the sub-steps for interpreting logical connectives performed by the logical connectives interpreter (130) as in step 330.
  • the identified logical connectives and their orders and linkages produced by the query structure interpreter (120), the logical connectives interpreter (130) selects the operator type which can either be the conjunctive operator, disjunctive operator and negation operator as in step 331.
  • the logical connectives interpreter (130) selects the sub-query with conjunctive operators as in step 333 and thereon, the query is divided into sub- queries based on the conjunction operators.
  • query syntax based on conjunctive rule extracted from the logical rules repository (180) is generated whereby the query syntax is constructed using intersection rules. The intersection rules process the queries containing the conjunctive operator. Later on an intersection operation is applied to the respective query elements.
  • the logical connectives interpreter (130) selects the sub-query with disjunctive operators as in step 336 and thereon, the query is divided into sub-queries based on the disjunction operators.
  • query syntax is generated based on disjunctive rule extracted from the logical rules repository (180) whereby the query syntax is constructed using union rules.
  • the union rules process the queries containing the disjunctive operator. Later on, a union operation is applied to the respective query elements.
  • the logical connectives interpreter (130) selects the sub-query with negation operators as in decision 338 and step 339 whereby the query is divided into sub-queries based on the number of the conjunctive, disjunctive and negative operators wherein the queries are divided into sub-queries based on the presence of the operators.
  • the query syntax is generated based on the negation rule extracted from the logical rules repository (180). A filter condition is added to the query using the negation portion of the query. Thereon query syntax is constructed by combining the sub-queries for conjunction or disjunction according to step 339.
  • the logical connectives interpreter (130) uses the respective conjunctive or disjunctive rules and applies negation to the properties to which negation is linked to.
  • step 341 If there are more operators in the set of sub-queries as in decision 341 , the method returns to step 331. Otherwise, the query syntaxes are merged using the order and linkage structure as in step 342. In step 343, the knowledge base compliant query syntax is produced.

Abstract

The present invention relates to a system and method for interpreting logical connectives in natural language query. The system (100) and method identify and interpret logical connectives in a natural language query to produce query syntaxes. The system (100) comprises of a morphological analyser (110), a query structure interpreter (120), logical connective interpreter (130), a query enricher (140), a query processor (150) and an answer generator (160).

Description

A SYSTEM AND METHOD FOR INTERPRETING LOGICAL CONNECTIVES IN
NATURAL LANGUAGE QUERY
FIELD OF INVENTION
The present invention relates to a system and method for identifying and interpreting logical connectives from a natural language query.
BACKGROUND OF THE INVENTION
A logical connective (also called a logical operator) is a symbol or word used to connect two or more sentences (of either a formal or a natural language) in a grammatically valid way, such that the sense of the compound sentence produced depends only on the original sentences. In the grammar of natural languages two sentences may be joined by a grammatical conjunction to form a grammatically compound sentence. Logical connectives are widely used by database query systems and machine translation systems. Natural language based queries may include several logical connectives such as negation, conjunction and disjunction. Structured natural language query systems can be extended to handle queries involving single or multiple logical connectives. An example of such system and method is disclosed in US Patent No.
6523172 B1 whereby a parser - translator technology is introduced to allow a user to specify complex test and/or transformation statements in a high-level user language, to ensure that such test and/or transformations statement are well-formed in accordance with a grammar defining legal statements in the user language and to translate statements defined by the user into logically and syntactically correct directives for performing the desired data transformations or operations. Using the parser-translator technology, a user can focus on the semantics of the desired operations and need not be concerned with the proper syntax of a language for a particular system. Instead, grammar (i.e., data) define the behaviour of a parser- translator implementation by encoding the universe of statements (e.g., legal test and/or transformation statements) and by encoding translations appropriate to a particular data processing application (e.g., a data conversion program, etc.). Some parser-translator implementations described herein interface dynamically with other systems and/or repositories to query for information about objects, systems and states represented therein, and/or their respective interfaces. However, this prior art limits the interpretation of the logical connectives whereby the user is allowed to specify complex "and" and "or" transformation only.
On the other hand, US Patent No. 5237502 discloses a computer implemented system which creates natural language paraphrases of information contained in a logical from, where the logical form may be a representation of a natural language expression. The paraphraser is implicitly defined via the Baclis-Naur Forms (BNF) description of Conceptual Logic Form (CLF) of Initial Trees and of the paraphrase rules. The paraphraser uses a technique for mapping logical forms to natural language. The natural paraphrases which are created could be used either as input to a query system, as part of a machine translation system, or to generate natural language corresponding to an interpretation created by a natural language database query system of a user's query for the purpose of verification of the paraphrase by the user. However, mapping logical forms to natural language can caused cache coherency.
Hence, there is a need to provide a system and method that resolve the problems of identifying the logical connectives from structured natural language queries and semantically interpreting the queries to convert them into formal query representations.
SUMMARY OF INVENTION
A system for interpreting logical connectives in natural language query (100) comprises of a morphological analyser (110) to perform syntactic analysis, a query enricher (140) to perform additional enrichment to the query elements such as synonym expansion to broaden the scope of the query, a query processor (150) to send the final query representation to knowledge base processor to be executed, and an answer generator (160) to receive the knowledge base specific representation of the answers and convert the knowledge base specific representation to human readable form by utilizing the answer templates for a particular query; wherein the system (100) is characterised in that it further includes a query structure interpreter (120) to retrieve templates from a template repository and interpret the logical connectives in the query; and a logical connective interpreter (130) to interpret the query of determined logical connectives and to determine the internal query representations that represent the user's natural language query. Preferably, a method for interpreting logical connectives in natural language query (100) is characterised by the steps of receiving a natural language query; performing the syntactic analysis on the natural query by a morphological analyser (110); interpreting the query structure by a query structure interpreter (120) to produce a set of sub-queries, the identified logical connectives and their orders and linkages; and interpreting the logical connectives in the query by a logical connectives interpreter (130) based on the sub-queries, the identified logical connectives and their orders and linkages to produce knowledge base compliant query syntax.
Preferably, the step of performing the syntactic analysis on the natural language query by the morphological analyser (110) includes the steps of sending a query from the user to the morphological analyser (110); generating the morphological structure by the morphological analyser (110) whereby the syntactic structure of the query is extracted and parts of speech operator are identified; and producing an output of the query tagged with the part of speech elements.
Preferably, the step of interpreting the query structure by the query structure interpreter (120) to produce a set of sub-queries, the identified logical connectives and their orders and linkages includes the steps of retrieving template from a template repository (190) by the query structure interpreter (120); matching syntactic structure of the query against a collection of query templates in the template repository (190); identifying the logical connectives present in the query, wherein the relative phrases or words from a connective repository (170) are mapped to a conjunction connective; identifying and splitting the query into several sub-queries by the query structure interpreter (120) based on the identified connectives as well as the structure of the identified template; and determining the order by the query structure interpreter (120) in which the sub-queries are linked to each other. Preferably, the step interpreting the logical connectives in the query by the logical connectives interpreter (130) based on the sub-queries, the identified logical connectives and their orders and linkages to produce knowledge base compliant query syntax includes the steps of selecting the operator type by the logical connectives interpreter (130); selecting the sub-query with conjunctive operators by the logical connectives interpreter (130); generating query syntax based on conjunctive rule extracted from a logical rules repository (180), wherein the query syntax is constructed using intersection rule; selecting the sub-query with disjunctive operators if the selected operator is a disjunctive operator; dividing the query into sub- queries based on the disjunction operators; generating query syntax based on disjunctive rule extracted from the logical rules repository (180), wherein the query syntax is constructed using union rule; selecting the sub-query with negation operators if the selected operator is a negation operator; dividing query into sub- queries based on the number of the conjunctive, disjunctive and negative operator; generating query syntax based on the negation rule extracted from the logical rules repository (180); adding a filter condition to the query using the negation portion of the query; constructing query syntax by combining the sub-queries for conjunction or disjunction; and merging the query syntaxes using the order and linkage structure.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
FIG. 1 illustrates a system for interpreting logical connectives in natural language query (100) according to an embodiment of the present invention.
FIG. 2 illustrates a flowchart of a method for interpreting logical connectives in natural language query (100) according to an embodiment of the present invention. FIG. 3 illustrates a flowchart of sub-steps for analysing syntactic performed by a morphological analyser (110) of the system (100) of FIG. 1.
FIG. 4 illustrates a flowchart of sub-steps for interpreting query structure performed by a query structure interpreter (120) of the system (100) of FIG.1.
FIG. 5 illustrates a flowchart of sub-steps for interpreting logical connectives performed by a logical connectives interpreter (130) of the system (100) of FIG. 1. DESCRIPTION OF THE PREFFERED EMBODIMENT
A preferred embodiment of the present invention will be described herein below with reference to the accompanying drawings. In the following description, well known functions or constructions are not described in detail since they would obscure the description with unnecessary detail.
FIG. 1 shows a system for interpreting logical connectives in natural language query (100) according to an embodiment of the present invention. The system (100) identifies and interprets logical connectives from a natural language queries. The system (100) comprises of a morphological analyser (110), a query structure interpreter (120), logical connective interpreter (130), a query enricher (140), a query processor (150) and an answer generator (160). Morphological analyser (110) is used to perform syntactic analysis. The query structure interpreter (120) is used to retrieve templates from a template repository (190) and interpret the logical connectives present in the query. The query structure interpreter (120) is connected to the template repository (190) and a connective repository (170). The template repository (190) stores all the logical connective templates while the connective repository (170) stores all the logical connectives. The logical connectives interpreter (130) is used to interpret the query of the determined logical connectives and to determine the internal query representations that best represent a user's natural language query. The logical connectives interpreter (130) is connected to the logical rules repository (180) wherein the logical rules repository (180) stores the logical connective rules of the system (100). The query enricher (140) is used to perform additional enrichment to the query elements such as synonym expansion to broaden the scope of the query. The query processor (150) is used to send the final query representation to knowledge base processor to be executed. The query enricher (140) and the query processor (150) are connected to a knowledge base server (200) wherein the knowledge base server (200) provides a knowledge base for information to be collected, organized, shared, searched and utilized. The answer generator (160) is used to receive the knowledge base specific representation of the answers and converts knowledge base specific representation to human readable form by utilizing answer templates for the particular query.
FIG. 2 shows a flowchart of a method for interpreting logical connectives in natural language query (100) according to an embodiment of the present invention. Initially, the system receives a natural language query as in step 300. Thereon, the morphological analyser (110) performs the syntactic analysis on the natural query as in step 310. The syntactic analysis produces a query tagged with the part of speech elements. Thereon, the query structure interpreter (120) interprets the query structure to produce a set of sub-queries, the identified logical connectives and their orders and linkages as in step 320. Based on the sub-queries, the identified logical connectives and their orders and linkages, the logical connectives interpreter (130) interprets the logical connectives in the query to produce knowledge base compliant query syntax as in step 330.
FIG. 3 shows a flowchart of the sub-steps for analysing syntactic performed by the morphological analyser (110) in step 310. In step 311 , a query from the user is sent to the morphological analyser (110). Next, in step 312, the morphological analyser (110) generates the morphological structure whereby the syntactic structure of the query is extracted and parts of speech operator are identified. Thus, the morphological analyser (110) produces an output of the query tagged with the part of speech elements as in step 313.
FIG. 4 shows a flowchart of the sub-steps for interpreting query structure performed by the query structure interpreter (120) in step 320. Firstly, the templates are retrieved from the template repository (190) by the query structure interpreter (120) as in step 321. The templates in the template repository (190) constitute query terms connected to each other using syntactic elements. For example, "Find" is connected to "where" by a noun and the noun can be a subject or an object. The matching template is produced as "FIND (subject/object) NN WHERE/WHICH/WHO (subject/object) AND (subject/object) (predicate)". When the templates are retrieved, the syntactic structure of the query is matched against a collection of query templates in the template repository (190) as in step 322. In step 323, the closest matching query template and the corresponding template rules are retrieved from the template repository. Next, the logical connectives present in the query are identified whereby the relative phrases or words from the connective repository (170) are mapped to a conjunction connective as in step 324. The query structure interpreter (120) then identifies and splits the query into several sub-queries based on the identified connectives as well as the structure of the identified template as in step 325. In step 326, the query structure interpreter (120) determines the order in which the sub- queries are linked to each other wherein the order indicates how the sub-queries are connected to each other. The query structure interpreter (120) produces an output of the set of sub-queries, the identified logical connectives and their orders and linkages. FIG. 5 illustrates a flowchart of the sub-steps for interpreting logical connectives performed by the logical connectives interpreter (130) as in step 330. Preferably, there are three types of logical connectives considered by the system (100) which includes conjunction, disjunction and negation. From the set of sub- queries, the identified logical connectives and their orders and linkages produced by the query structure interpreter (120), the logical connectives interpreter (130) selects the operator type which can either be the conjunctive operator, disjunctive operator and negation operator as in step 331. In decision 332, if the selected operator is a conjunctive operator, the logical connectives interpreter (130) selects the sub-query with conjunctive operators as in step 333 and thereon, the query is divided into sub- queries based on the conjunction operators. In step 334, query syntax based on conjunctive rule extracted from the logical rules repository (180) is generated whereby the query syntax is constructed using intersection rules. The intersection rules process the queries containing the conjunctive operator. Later on an intersection operation is applied to the respective query elements.
If the selected operator is a disjunctive operator as in decision 335, the logical connectives interpreter (130) selects the sub-query with disjunctive operators as in step 336 and thereon, the query is divided into sub-queries based on the disjunction operators. In step 337, query syntax is generated based on disjunctive rule extracted from the logical rules repository (180) whereby the query syntax is constructed using union rules. The union rules process the queries containing the disjunctive operator. Later on, a union operation is applied to the respective query elements.
If the selected operator is a negation operator, the logical connectives interpreter (130) selects the sub-query with negation operators as in decision 338 and step 339 whereby the query is divided into sub-queries based on the number of the conjunctive, disjunctive and negative operators wherein the queries are divided into sub-queries based on the presence of the operators. In step 340, the query syntax is generated based on the negation rule extracted from the logical rules repository (180). A filter condition is added to the query using the negation portion of the query. Thereon query syntax is constructed by combining the sub-queries for conjunction or disjunction according to step 339. The logical connectives interpreter (130) uses the respective conjunctive or disjunctive rules and applies negation to the properties to which negation is linked to.
If there are more operators in the set of sub-queries as in decision 341 , the method returns to step 331. Otherwise, the query syntaxes are merged using the order and linkage structure as in step 342. In step 343, the knowledge base compliant query syntax is produced.
While embodiments of the invention have been illustrated and described, it is not intended that these embodiments illustrate and describe all possible forms of the invention. Rather, the words used in the specifications are words of description rather than limitation and various changes may be made without departing from the scope of the invention.

Claims

A system for interpreting logical connectives in natural language query (100) comprises of:
a) a morphological analyser (110) to perform syntactic analysis, b) a query enricher (140) to perform additional enrichment to the query elements such as synonym expansion to broaden the scope of the query,
c) a query processor (150) to send the final query representation to knowledge base processor to be executed, and
d) an answer generator (160) to receive the knowledge base specific representation of the answers and convert the knowledge base specific representation to human readable form by utilizing the answer templates for a particular query;
wherein the system (100) is characterised in that it further includes:
a) a query structure interpreter (120) to retrieve templates from a template repository and interpret the logical connectives in the query; and
b) a logical connective interpreter (130) to interpret the query of determined logical connectives and to determine the internal query representations that represent the user's natural language query.
A method for interpreting logical connectives in natural language query (100) is characterised by the steps of:
a) receiving a natural language query;
b) performing the syntactic analysis on the natural query by a morphological analyser (110);
c) interpreting the query structure by a query structure interpreter (120) to produce a set of sub-queries, the identified logical connectives and their orders and linkages; and
d) interpreting the logical connectives in the query by a logical connectives interpreter (130) based on the sub-queries, the identified logical connectives and their orders and linkages to produce knowledge base compliant query syntax.
3. The method as claimed in claim 2, wherein the step of performing the syntactic analysis on the natural language query by the morphological analyser (110) includes the steps of:
a) sending a query from the user to the morphological analyser (110); b) generating the morphological structure by the morphological analyser (110) whereby the syntactic structure of the query is extracted and parts of speech operator are identified; and
c) producing an output of the query tagged with the part of speech elements.
4. The method as claimed in claim 2, wherein the step of interpreting the query structure by the query structure interpreter (120) to produce a set of sub- queries, the identified logical connectives and their orders and linkages includes the steps of:
a) retrieving template from a template repository (190) by the query structure interpreter (120);
b) matching syntactic structure of the query against a collection of query templates in the template repository (190);
c) identifying the logical connectives present in the query, wherein the relative phrases or words from a connective repository (170) are mapped to a conjunction connective;
d) identifying and splitting the query into several sub-queries by the query structure interpreter (120) based on the identified connectives as well as the structure of the identified template; and
e) determining the order by the query structure interpreter (120) in which the sub-queries are linked to each other.
5. The method as claimed in claim 2, wherein the step interpreting the logical connectives in the query by the logical connectives interpreter (130) based on the sub-queries, the identified logical connectives and their orders and linkages to produce knowledge base compliant query syntax includes the steps of:
a) selecting the operator type by the logical connectives interpreter (130); b) selecting the sub-query with conjunctive operators by the logical connectives interpreter (130); c) generating query syntax based on conjunctive rule extracted from a logical rules repository (180), wherein the query syntax is constructed using intersection rule;
d) selecting the sub-query with disjunctive operators if the selected operator is a disjunctive operator;
e) dividing the query into sub-queries based on the disjunction operators; f) generating query syntax based on disjunctive rule extracted from the logical rules repository (180), wherein the query syntax is constructed using union rule;
g) selecting the sub-query with negation operators if the selected operator is a negation operator;
h) dividing query into sub-queries based on the number of the conjunctive, disjunctive and negative operator;
i) generating query syntax based on the negation rule extracted from the logical rules repository (180);
j) adding a filter condition to the query using the negation portion of the query;
k) constructing query syntax by combining the sub-queries for conjunction or disjunction; and
I) merging the query syntaxes using the order and linkage structure.
PCT/MY2014/000129 2013-07-24 2014-05-28 A system and method for interpreting logical connectives in natural language query WO2015012679A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
MYPI2013701294 2013-07-24
MYPI2013701294A MY179116A (en) 2013-07-24 2013-07-24 A system and method for interpreting logical connectives in natural language query

Publications (2)

Publication Number Publication Date
WO2015012679A2 true WO2015012679A2 (en) 2015-01-29
WO2015012679A3 WO2015012679A3 (en) 2015-05-07

Family

ID=51570821

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/MY2014/000129 WO2015012679A2 (en) 2013-07-24 2014-05-28 A system and method for interpreting logical connectives in natural language query

Country Status (2)

Country Link
MY (1) MY179116A (en)
WO (1) WO2015012679A2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9382533B2 (en) 2007-01-16 2016-07-05 Somalogic, Inc. Method for generating aptamers with improved off-rates
US10102200B2 (en) 2016-08-25 2018-10-16 International Business Machines Corporation Predicate parses using semantic knowledge
CN108874791A (en) * 2018-07-06 2018-11-23 北京联合大学 A kind of semantic analysis based on minimum semantic chunk and Chinese-English sequence adjusting method and system
US11971887B2 (en) 2022-03-28 2024-04-30 International Business Machines Corporation Identifying and replacing logically neutral phrases in natural language queries for query processing

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5237502A (en) 1990-09-04 1993-08-17 International Business Machines Corporation Method and apparatus for paraphrasing information contained in logical forms
US6523172B1 (en) 1998-12-17 2003-02-18 Evolutionary Technologies International, Inc. Parser translator system and method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100121869A1 (en) * 2008-11-07 2010-05-13 Yann Le Biannic Normalizing a filter condition of a database query

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5237502A (en) 1990-09-04 1993-08-17 International Business Machines Corporation Method and apparatus for paraphrasing information contained in logical forms
US6523172B1 (en) 1998-12-17 2003-02-18 Evolutionary Technologies International, Inc. Parser translator system and method

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9382533B2 (en) 2007-01-16 2016-07-05 Somalogic, Inc. Method for generating aptamers with improved off-rates
US10102200B2 (en) 2016-08-25 2018-10-16 International Business Machines Corporation Predicate parses using semantic knowledge
US10599776B2 (en) 2016-08-25 2020-03-24 International Business Machines Corporation Predicate parses using semantic knowledge
CN108874791A (en) * 2018-07-06 2018-11-23 北京联合大学 A kind of semantic analysis based on minimum semantic chunk and Chinese-English sequence adjusting method and system
CN108874791B (en) * 2018-07-06 2022-05-24 北京联合大学 Semantic analysis and Chinese-English sequencing method and system based on minimum semantic block
US11971887B2 (en) 2022-03-28 2024-04-30 International Business Machines Corporation Identifying and replacing logically neutral phrases in natural language queries for query processing

Also Published As

Publication number Publication date
MY179116A (en) 2020-10-28
WO2015012679A3 (en) 2015-05-07

Similar Documents

Publication Publication Date Title
Affolter et al. A comparative survey of recent natural language interfaces for databases
US9824083B2 (en) System for natural language understanding
Unger et al. An introduction to question answering over linked data
KR101678787B1 (en) Method for automatic question-answering and apparatus therefor
US9710458B2 (en) System for natural language understanding
JP3114181B2 (en) Interlingual communication translation method and system
Usbeck et al. Hawk–hybrid question answering using linked data
US10585924B2 (en) Processing natural-language documents and queries
Ferrández et al. The QALL-ME Framework: A specifiable-domain multilingual Question Answering architecture
Basik et al. Dbpal: A learned nl-interface for databases
US20100121630A1 (en) Language processing systems and methods
JPH0447364A (en) Natural language analying device and method and method of constituting knowledge base for natural language analysis
KR20160004325A (en) Syntax compilation method, semantic parsing method, devices, computer storage medium and apparatus
KR101818598B1 (en) Server and method for automatic translation
Dahl Translating spanish into logic through logic
US10503769B2 (en) System for natural language understanding
CN105760462A (en) Man-machine interaction method and device based on associated data query
KR101654717B1 (en) Method for producing structured query based on knowledge database and apparatus for the same
WO2015012679A2 (en) A system and method for interpreting logical connectives in natural language query
JP2008021270A (en) Data conversion apparatus and its method, database management apparatus and its method, and database search system and its method
Hacene et al. Ontology learning from text using relational concept analysis
Bai et al. Learning to generate structured queries from natural language with indirect supervision
Šukys Querying ontologies on the base of semantics of business vocabulary and business rules
Chiarcos et al. Linking discourse marker inventories
Joseph et al. An efficient natural language interface to XML database

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14767163

Country of ref document: EP

Kind code of ref document: A2