IP Library › Granted Patent US 9,406,020
Granted Patent B2
US 9,406,020 · App. 13/855,324 · Granted Aug 2, 2016

System and method for natural language querying

Inventors: Sinuhé Arroyo (Segovia, ES); José Manuel López Cobo (Segovia, ES); Guillermo Alvaro Rey (Segovia, ES); Silvestre Losada Alonso (Segovia, ES)
Assignee: Taiger Spain SL
G06N5/02G06F17/30424G06F17/30684G06F17/278
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,406,020
App. No.
13/855,324
Granted
Aug 2, 2016
Kind
B2
Abstract

A system and method for information retrieval are presented. A natural language query is received from a client computer. The natural language query is analyzed to identify a plurality of terms, and a relationship between a pair of terms in the plurality of terms is determined using a knowledge model. The knowledge model defines a plurality of entities and interrelationships between one or more of the plurality of entities for a knowledge domain. A triple statement is constructed using the relationship between the pair of terms, and a query is executed against a knowledge base using the triple statement to generate a set of results. The knowledge base identifies a plurality of items, each of the plurality of items is associated with at least one annotation identifying at one of the entities in the knowledge model. The set of results are transmitted to the client computer.

Claims (49)

1. An information retrieval system, comprising:

a computer server configured to communicate with a client computer via a communications network;

a knowledge model database stored within a computer-readable media of the computer server and configured to store a knowledge model for a knowledge domain, the knowledge model defining a plurality of entities and relationships between one or more of the plurality of entities, the plurality of entities including a plurality of concepts and instances;

a knowledge base stored within the computer-readable media of the computer server and identifying a plurality of items, each of the plurality of items being associated with at least one annotation identifying at least one of the plurality of entities in the knowledge model; and

a query processing server executed by a processor of the computer server and configured to:

receive, from the client computer, a natural language query using the computer network,

analyze the natural language query to identify a plurality of terms,

determine a type of each term in a pair of terms in the plurality of terms using the knowledge model,

determine a distance between each term in the pair of terms in the knowledge model, and

when a first term in the pair of terms has a type of instance or concept and the second term in the pair of terms has a type of relationship:

when a distance between each term in the pair of terms is 1, constructing, without a user input, a query statement including a first triple statement containing the first term, the second term and a first variable configured to match one or more of the plurality of concepts and instances in the knowledge model database, and

when the distance between each term in the pair of terms is 2, constructing, without a user input, the query statement including a second triple statement containing the first term, a second variable configured to match one or more of the relationships in the knowledge model database, and a third variable configured to match one or more of the plurality of concepts and instances in the knowledge model database and a third triple statement including the third variable, the second term, and a fourth variable configured to match one or more of the plurality of concepts and instances in the knowledge model database,

execute the query statement against the knowledge base to generate a set of results, and

transmit, to the client computer, the set of results.

2. The system of claim 1 , wherein the query processing server is configured to:

analyze the natural language query using named entity recognition.

3. The system of claim 1 , wherein the knowledge model database is configured as a triplestore.

4. The system of claim 1 , wherein the query processing server is configured to, when the distance between each term in the pair of terms is two or greater, discard the term pair.

5. A method for information retrieval, comprising:

receiving, from a client computer, a natural language query using a computer network;

analyzing the natural language query to identify a plurality of terms;

determining a type of each term in a pair of terms in the plurality of terms using a knowledge model, the knowledge model defining a plurality of entities and relationships between one or more of the plurality of entities for a knowledge domain, the plurality of entities including a plurality of concepts and instances; and

when a first term in the pair of terms has a type of relationship and the second term in the pair of terms has a type of relationship:

constructing, without a user input, a query statement by:

determining a distance between each term in the pair of terms in the knowledge model,

when a first term in the pair of terms has a type of instance or concept and the second term in the pair of terms has a type of relationship:

when a distance between each term in the pair of terms is 1, constructing, without a user input, the query statement including a first triple statement containing the first term, the second term and a first variable configured to match one or more of the plurality of concepts and instances in the knowledge model database, and

when the distance between each term in the pair of terms is 2,constructing, without a user input, the query statement including a second triple statement containing the first term, a second variable configured to match one or more of the relationships in the knowledge model database, and a third variable configured to match one or more of the plurality of concepts and instances in the knowledge model database and a third triple statement including the third variable, the second term, and a fourth variable configured to match one or more of the plurality of concepts and instances in the knowledge model database;

executing the query statement against a knowledge base to generate a set of results, the knowledge base identifying a plurality of items, each of the plurality of items being associated with at least one annotation identifying at one of the entities in the knowledge model, and

transmitting, to the client computer, the set of results.

6. The method of claim 5 , including analyzing the natural language query using named entity recognition.

7. The method of claim 5 , wherein the knowledge model database is configured as a triplestore.

8. The method of claim 5 , including, when the distance between each term in the pair of terms is two or greater, discarding the term pair.

9. A non-transitory computer-readable medium containing instructions that, when executed by a processor, cause the processor to perform the steps of:

receiving, from a client computer, a natural language query using a computer network;

analyzing the natural language query to identify a plurality of terms;

determining a type of each term in a pair of terms in the plurality of terms using a knowledge model, the knowledge model defining a plurality of entities and relationships between one or more of the plurality of entities for a knowledge domain;

determining a distance between each term in the pair of terms in the knowledge model,

constructing a triple statement using the type of each term in the pair of terms, by:

determining a distance between each term in the pair of terms in the knowledge model,

when a first term in the pair of terms has a type of instance or concept and the second term in the pair of terms has a type of relationship:

when a distance between each term in the pair of terms is 1, constructing, without a user input, the query statement including a first triple statement containing the first term, the second term and a first variable configured to match one or more of the plurality of concepts and instances in the knowledge model database, and

when the distance between each term in the pair of terms is 2, constructing, without a user input, the query statement including a second triple statement containing the first term, a second variable configured to match one or more of the relationships in the knowledge model database, and a third variable configured to match one or more of the plurality of concepts and instances in the knowledge model database and a third triple statement including the third variable, the second term, and a fourth variable configured to match one or more of the plurality of concepts and instances in the knowledge model database

executing a query against a knowledge base using the triple statement to generate a set of results, the knowledge base identifying a plurality of items, each of the plurality of items being associated with at least one annotation identifying at one of the entities in the knowledge model; and

transmitting, to the client computer, the set of results.

10. The medium of claim 9 , including instructions that, when executed by a processor, cause the processor to perform the steps of:

analyzing the natural language query using named entity recognition.

11. The medium of claim 9 , including instructions that, when executed by a processor, cause the processor to perform the steps of, when the distance between each term in the pair of terms is two or greater, discarding the term pair.

12. The medium of claim 9 , including instructions that, when executed by a processor, cause the processor to perform the steps of, when the type of each term in the pair of terms is the instance type or the concept type, analyzing each of the plurality of the terms to identify a linking term having a type that is the relationship type, where the linking term links the pair of terms in the knowledge model.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2017
From: TAIGER SPAIN SL
To: CAPRICORN HOLDINGS PTE, LTD.
Reel/Frame 042975/0579 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2015
From: ARROYO, SINUHÉ, DR.; LÓPEZ COBO, JOSÉ MANUAL; REY, GUILLERMO ALVARO; ALONSO, SILVESTRE LOSADA
To: TAIGER SPAIN SL
Reel/Frame 035393/0700 →
Continuity (2)
Provisional Application 61619371 · Apr 2, 2012
Related Publication 20130262361A1 · Oct 3, 2013