IP Library Granted Patent US 10,860,627
Granted Patent B2
US 10,860,627 · App. 15/319,752 · Granted Dec 8, 2020

Server and method for classifying entities of a query

Inventor: Kaheer Suleman (Cambridge, CA)
Assignee: Microsoft Technology Licensing LLC
G06F16/3329G06F16/3344G06F16/353
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 10,860,627
App. No.
15/319,752
Granted
Dec 8, 2020
Kind
B2
Abstract

A server, method, and non-transitory computer readable medium for ranking a plurality of data sources are provided. The server includes a network interface, a memory storage unit and a processor. The method involves receiving an input query, identifying entities of the input query using conditional random fields, generating a normalized query and applying a support vector machine to the normalized query. The non-transitory computer readable medium is encoded with programming instructions to direct a processor to carry out the method.

Claims (56)

1. A server for generating an output command by classifying entities of an input query, the server comprising:

a network interface for receiving the input query;

a memory storage unit for storing the input query and for storing programming instructions; and

a processor in communication with the network interface and the memory storage unit, the processor configured to:

identify a first entity and a second entity in the input query using a conditional random field model, wherein the first entity and the second entity are distinct entities within a same entity type;

generate a normalized query by replacing the first entity of the input query with a first generic identifier representing the same entity type and replacing the second entity of the input query with a second generic identifier representing the same entity type, wherein the first generic identifier and the second generic identifier are the same;

determine a first feature for the first entity based on at least a first word within a first window of words associated with the first generic identifier in the normalized query;

determine a second feature for the second entity based on at least a second word within a second window of words associated with the second generic identifier entity in the normalized query;

determine, using a support vector machine model on the normalized query including the first and second generic identifiers, a first sub-entity type of the same entity type for the first entity based on the first feature and a second sub-entity type of the same entity type for the second entity based on the second feature, wherein the first sub-entity type and the second sub-entity type are distinct sub-entity types within the same entity type; and

generate the output command in response to the input query, wherein the output command is generated based on at least the first entity belonging to the first sub-entity type and the second entity belonging to the second sub-entity type.

2. The server of claim 1 , wherein the processor is configured to extract the first entity and the second entity from the input query.

3. The server of claim 2 , wherein the processor is configured to extract a first plurality of features associated with the first entity.

4. The server of claim 3 , wherein the processor is configured to extract the first plurality of features from the first window of words.

5. The server of claim 4 , wherein the processor is configured to apply the support vector machine model to the first plurality of features.

6. The server of claim 5 , wherein the first window of words has a predetermined first window size.

7. The server of claim 6 , wherein the predetermined first window size of the first window of words and a second window size of the second window of words are the same.

8. The server of claim 6 , wherein the predetermined first window size of the first window of words and a second window size of the second window of words are distinct.

9. The server of claim 3 , wherein the processor is configured to extract a second plurality of features associated with the second entity.

10. The server of claim 9 , wherein the processor is configured to extract the second plurality of features from the second window of words.

11. The server of claim 10 , wherein the processor is configured to apply the support vector machine model to the second plurality of features.

12. The server of claim 11 , wherein the second window of words has a predetermined second window size.

13. The server of claim 12 , wherein the predetermined second window size of the second window of words and a first window size of the first window of words are the same.

14. The server of claim 12 , wherein the predetermined second window size of the second window of words and a first window size of the first windows of words are distinct.

15. The server of claim 12 , wherein the predetermined second window size is the same as the predetermined first window size.

16. The server of claim 1 , wherein the processor is configured to apply the support vector machine model to multiple classes.

17. A method of generating an output command by classifying entities of an input query, the method comprising:

receiving the input query;

identifying a first entity and a second entity in the input query using a conditional random field model, wherein the first entity and the second entity are distinct entities within a same entity type;

generating a normalized query by replacing the first entity of the input query with a first generic identifier representing the same entity type and replacing the second entity of the input query with a second generic identifier representing the same entity type, wherein the first generic identifier and the second generic identifiers are the same;

determining a first feature for the first entity based on at least a first word within a first window of words associated with the first generic identifier in the normalized query;

determining a second feature for the second entity based on at least a second word within a second window of words to associated with the second generic identifier in the normalized query;

determining, using a support vector machine model on the normalized query including the first and second generic identifiers, a first sub-entity type of the same entity type for the first entity based on the first feature and a second sub-entity type of the same entity type for the second entity based on the second feature, wherein the first sub-entity type and the second sub-entity type are distinct sub-entity types within the same entity type; and

generating the output command in response to the input query, wherein the output command is generated based on at least the first entity belonging to the first sub-entity type and the second entity belonging to the second sub-entity type.

18. The method of claim 17 , further comprising extracting the first entity and the second entity from the input query.

19. The method of claim 18 , further comprising extracting a first plurality of features associated with the first entity.

20. The method of claim 19 , wherein extracting the first plurality of features comprises extracting the first plurality of features from the first window of words.

21. The method of claim 20 , wherein using the support vector machine model on the normalized query comprises applying the support vector machine model to the first plurality of features.

22. The method of claim 21 , wherein the first window of words has a predetermined first window size.

23. The method of claim 22 , wherein the predetermined first window size of the first window of words and a second window size of the second window of words are distinct.

24. The method of claim 22 , wherein the predetermined first window size of the first window of words is adjustable to optimize performance.

25. The method of claim 19 , further comprising extracting a second plurality of features associated with the second entity.

26. The method of claim 25 , wherein extracting the second plurality of features comprises extracting the second plurality of features from the second window of words.

27. The method of claim 26 , wherein using the support vector machine model to the normalized query comprises applying the support vector machine model to the second plurality of features.

28. The method of claim 27 , wherein the second window of words has a predetermined second window size.

29. The method of claim 28 , wherein the predetermined second window size of the second window of words and a first window size of the first window of words are the same.

30. The method of claim 28 , wherein the predetermined second window size of the second window of words and a first window size of the first windows of words are distinct.

31. The method of claim 28 , wherein the predetermined second window size is the same as the predetermined first window size.

32. The method of claim 17 , wherein using the support vector machine model comprises applying the support vector machine model to multiple classes.

33. A non-transitory computer readable medium encoded with programming instructions for generating an output command by classifying entities of an input query, the codes for directing a processor to:

receive the input query;

identify a first entity and a second entity in the input query using a conditional random field model, wherein the first entity and the second entity are distinct entities within a same entity type;

generate a normalized query by replacing the first entity of the input query with a first generic identifier representing the same entity type and replacing the second entity of the input query with a second generic identifier representing the same entity type, wherein the first generic identifier and the second generic identifier are the same;

determine a first feature for the first entity based on at least a first word within a first window of words associated with the first generic identifier in the normalized query;

determine a second feature of the second entity based on at least a second word within a second window of words associated with the second generic identifier in the normalized query;

determine, using a support vector machine model on the normalized query including the first and second generic identifiers, a first sub-entity type of the same entity type for the first entity based on the first feature and a second sub-entity type of the same entity type for the second entity based on the second feature, wherein the first sub-entity type and the second sub-entity type are distinct sub-entity types within the same entity type; and

generate the output command in response to the input query, wherein the output command is generated based on at least the first entity belonging to the first sub-entity type and the second entity belonging to the second sub-entity type.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2020
From: MALUUBA INC.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 053116/0878 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2017
From: SULEMAN, KAHEER
To: MALUUBA INC.
Reel/Frame 042155/0993 →
Continuity (2)
Provisional Application 62013274 · Jun 17, 2014
Related Publication 20170124182A1 · May 4, 2017