IP Library Granted Patent US 11,194,850
Granted Patent B2
US 11,194,850 · App. 16/221,114 · Granted Dec 7, 2021

Natural language query system

Inventors: Saeed Jahankhani (Vancouver, CA); Alexander MacAulay (Vancouver, CA)
Assignee: BUSINESS OBJECTS SOFTWARE LTD.
G06F16/3344G06F16/24534G06F16/3332G06F16/3334G06F16/3338G06F40/211G06F40/242G06F40/289
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 11,194,850
App. No.
16/221,114
Granted
Dec 7, 2021
Kind
B2
Abstract

A system includes reception of an input string of words, determination, for each subset of consecutive one or more words in the input string, of one or more phrase types based on the subset, on a dictionary describing a plurality of entities, each of the plurality of entities associated with an entity type, and on a grammar describing a plurality of phrase types, each of the plurality of phrase types associated with one or more conditions, and determination of a plurality of candidate queries based on the determined phrase types.

Claims (65)

1. A computing system comprising:

a dictionary describing a plurality of entities, each of the plurality of entities associated with an entity type;

a grammar describing a plurality of phrase types, each of the plurality of phrase types associated with one or more conditions;

a parser to:

receive an input string of X words;

initialize a counter N at a value of 1;

perform a first match of N individual words of the input string of X words with one or more entities defined in the dictionary to determine one or more first phrase types during a first iteration of two or more iterations;

performing the following until counter N has a value equal to X:

increment counter N,

perform an Nth match of a combination of N consecutive words of the input string of X words during an Nth iteration of the two or more iterations;

for each subset of N consecutive words in the input string during the Nth iteration, determine one or more Nth phrase types based on the subset, the Nth match, and the grammar, wherein a determination of the one or more Nth phrase types during the at least the Nth iteration is based at least partially on a determination of the one or more Nth phrase types during at least one prior iteration; and

determine a plurality of candidate queries based on the determined one or more first phrase types and the one or more Nth phrase types;

a scorer to score each of the plurality of candidate queries; and

a communication device to transmit one or more signals to an output device, the one or more signals comprising a subset of the plurality of candidate queries based on respective scores of the plurality of candidate queries.

2. A computing system according to claim 1 , the scorer to further:

return Y of the plurality of candidate queries associated with the highest Y scores.

3. A computing system according to claim 1 , the scorer to further:

return all of the plurality of candidate queries associated with a score above a predetermined threshold score.

4. A computing system according to claim 1 , the scorer to further:

execute a candidate query associated with the highest score.

5. A computing system according to claim 1 , wherein determination of one or more phrase types for each subset of consecutive one or more words in the input string comprises:

for each subset, determination of whether any groups of consecutive one or more words of the subset or combinations of groups of consecutive one or more words of the subset match a condition of a phrase type described in the grammar.

6. A computing system according to claim 5 , wherein the determination of whether any groups of consecutive one or more words of the subset or combinations of groups of consecutive one or more words of the subset match a condition of a phrase type described in the grammar comprises:

determination of whether any groups of consecutive one or more words of the subset match an entity described in the dictionary.

7. A computer-implemented method comprising:

receiving an input string of X words;

initializing a counter N at a value of 1;

performing a first match of N individual words of the input string of X words with one or more entities defined in a dictionary to determine one or more first phrase types during a first iteration of two or more iterations;

performing the following until counter N has a value equal to X:

incrementing counter N,

performing an Nth match of a combination of N consecutive words of the input string of X words during an Nth iteration of the two or more iterations;

for each subset of N consecutive words in the input string during the Nth iteration, determining one or more Nth phrase types based on the subset, on the Nth match, and on a grammar describing a plurality of phrase types, each of the plurality of phrase types associated with one or more conditions, wherein a determination of the one or more Nth phrase types during the at least the Nth iteration is based at least partially on a determination of the one or more Nth phrase types during at least one prior iteration;

determining a plurality of candidate queries based on the determined one or more first phrase types and the one or more Nth phrase types;

scoring each of the plurality of candidate queries; and

transmitting one or more signals to an output device, the one or more signals comprising a subset of the plurality of candidate queries based on respective scores of the plurality of candidate queries.

8. A computer-implemented method according to claim 7 , further comprising:

returning Y of the plurality of candidate queries associated with the highest Y scores.

9. A computer-implemented method according to claim 7 , further comprising:

returning all of the plurality of candidate queries associated with a score above a predetermined threshold score.

10. A computer-implemented method according to claim 7 , further comprising:

executing a candidate query associated with the highest score.

11. A computer-implemented method according to claim 7 , wherein determining one or more phrase types for each subset of consecutive one or more words in the input string comprises:

for each subset, determining whether any groups of consecutive one or more words of the subset or combinations of groups of consecutive one or more words of the subset match a condition of a phrase type described in the grammar.

12. A computer-implemented method according to claim 11 , wherein determining whether any groups of consecutive one or more words of the subset or combinations of groups of consecutive one or more words of the subset match a condition of a phrase type described in the grammar comprises:

determining whether any groups of consecutive one or more words of the subset match an entity described in the dictionary.

13. A computer-implemented system comprising:

a dictionary describing a plurality of entities, each of the plurality of entities associated with an entity type;

a grammar describing a plurality of phrase types, each of the plurality of phrase types associated with one or more conditions; and

a parser to:

receive an input string of X words;

initialize a counter N at a value of 1;

perform a first match of N individual words of the input string of X words with one or more entities defined in the dictionary to determine one or more first phrase types during a first iteration of two or more iterations;

perform the following until counter N has a value equal to X:

increment counter N,

perform an Nth match of a combination of N consecutive words of the input string of X words during an Nth iteration of the two or more iterations;

for each subset of N consecutive words in the input string during the Nth iteration, determine one or more Nth phrase types based on the subset, the Nth match, and the grammar, wherein a determination of the one or more Nth phrase types during the at least the Nth iteration is based at least partially on a determination of the one or more Nth phrase types during at least one prior iteration; and

determine a plurality of candidate queries based on the determined one or more first phrase types and the one or more Nth phrase types;

a scorer to score each of the plurality of candidate queries; and

a communication device to transmit one or more signals to an output device, the one or more signals comprising a subset of the plurality of candidate queries based on respective scores of the plurality of candidate queries.

14. A computer-implemented system according to claim 13 , wherein the parser is further configured to return Y of the plurality of candidate queries associated with the highest Y scores.

15. A computer-implemented system according to claim 13 , wherein the parser is further configured to return all of the plurality of candidate queries associated with a score above a predetermined threshold score.

16. A computer-implemented system according to claim 13 , wherein determination of one or more phrase types for each subset of consecutive one or more words in the input string comprises:

for each subset, determination of whether any groups of consecutive one or more words of the subset or combinations of groups of consecutive one or more words of the subset match a condition of a phrase type described in the grammar.

17. A computer-implemented system according to claim 16 , wherein determination of whether any groups of consecutive one or more words of the subset or combinations of groups of consecutive one or more words of the subset match a condition of a phrase type described in the grammar comprises:

determination of whether any groups of consecutive one or more words of the subset match an entity described in the dictionary.

Assignments (2)
CHANGE OF NAME Recorded Jan 26, 2026
From: BUSINESS OBJECTS SOFTWARE LIMITED
To: SAP IRELAND LIMITED
Reel/Frame 074510/0354 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2018
From: JAHANKHANI, SAEED; MACAULAY, ALEXANDER
To: BUSINESS OBJECTS SOFTWARE LTD
Reel/Frame 047784/0298 →
Continuity (1)
Related Publication 20200192924A1 · Jun 18, 2020