IP Library Granted Patent US 10,037,360
Granted Patent B2
US 10,037,360 · App. 15/187,029 · Granted Jul 31, 2018

Approximate template matching for natural language queries

Inventors: Sashikumar Venkataraman (Andover, MA); Manik Malhotra (New Delhi, IN); Ahmed Nizam Mohaideen P (Kovilpatti, IN)
Assignee: Rovi Guides, Inc.
G06F17/3053G06F17/212G06F17/248G06F17/30554G06F17/30654G10L15/26H04N21/42203H04N21/4828H04N21/8405
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,037,360
App. No.
15/187,029
Granted
Jul 31, 2018
Kind
B2
Abstract

Systems and methods provide a media guidance application that recognizes a plurality of natural language search queries for identifying a set of search results. For example, a user may want to determine when the Yankees are playing their next baseball game. The user may structure their query in multiple ways, such as, “When are the Yankees playing?” “What time is the Yankees game?” “When is the next Yankees baseball game?” The user would expect the same result, a description of when the Yankees are playing, regardless of how the query is structured. The systems and methods enable a user to use a plurality of search queries when searching for items or information to get desired results.

Claims (70)

1. A method for performing a search, the method comprising:

receiving an input query via a user input device, wherein the input query comprises at least two words;

computing a first representation vector corresponding to a first word of the input query and a second representation vector corresponding to a second word of the input query, wherein respective values of the first and the second representation vectors correspond to degrees to which the first word and the second word match features of a set of word features respectively;

retrieving, from a database, a search query template relating to a search intent, wherein the search query template comprises at least two words and is associated with a third representation vector and a fourth representation vector having respective values corresponding to degrees to which a third word of the search query template and a fourth word of the search query template match features of the set of word features respectively;

computing a first distance between the first representation vector and the third representation vector;

in response to determining that the first distance is less than a first threshold distance, computing a second distance between the second representation vector and the fourth representation vector; and

in response to determining that the second distance is less than a second threshold distance:

selecting the search query template;

retrieving search results based on the selected search query template; and

generating for display the retrieved search results.

2. The method of claim 1 , wherein computing the distance between the first representation vector and the third representation vector comprises:

comparing a first value in the first representation vector with a corresponding second value in the second representation vector to determine whether the first value and the second value differ by less than a threshold value;

in response to determining that the values differ by less than the threshold value, leaving the distance unchanged; and

in response to determining that the values do not differ by less than the threshold value, computing a degree to which the values are dissimilar and incrementing the distance based on the degree to which the values are dissimilar.

3. The method of claim 1 , wherein computing the first distance between the first representation vector and the third representation vector is based on an orientation of the first representation vector with respect to the third representation vector in a vector space, such that the first distance is a measure of an angle between the first representation vector and the third representation vector.

4. The method of claim 1 , wherein the user input is received via an audio signal at an audio input device, and wherein the first word and the second word are generated from the audio signal by performing speech to text processing on the audio signal.

5. The method of claim 1 , further comprising including one of the two words from the input query in the query to the database.

6. The method of claim 5 , further comprising:

identifying a part of speech associated with the first word; and

in response to determining that the first word is a subject of the input query, including the first word in the query to the database.

7. The method of claim 1 , further comprising:

comparing the first word to a list of stop words to determine whether the first word matches a stop word of the list of stop words; and

in response to determining that the first word matches the stop word:

selecting a third word of the input query; and

computing a fifth representation vector, wherein values of the first representation vector correspond to degrees to which the third word of the input query matches features of the set of word features.

8. The method of claim 1 , wherein the first distance is smaller than a third distance between the first representation vector and the fourth representation vector when the first word matches a meaning of the third word and does not match a meaning of the fourth word.

9. The method of claim 1 , wherein the search query template is a first search query template further comprising:

in response to determining that the first distance is greater than the first threshold distance:

retrieving a second search query template from the database, wherein the second search query template is associated with a fifth representation vector and a sixth representation vector having respective values corresponding to degrees to which a first word of the second search query template and a second word of the second search query template match features of the set of word features respectively; and

computing a third distance between the first representation vector and the fifth representation vector; and

in response to determining that the third distance is less than the first threshold distance, computing a fourth distance between the second representation vector and the sixth representation vector; and

in response to determining that the fourth distance is less than the second threshold, selecting the second search query template for retrieving the search results.

10. The method of claim 1 , wherein generating for display the retrieved search results further comprises:

retrieving a layout from the database associated with the search query template; and

generating for display the retrieved search results based on the layout.

11. A system comprising control circuitry configured to for performing a search, wherein the control circuitry is configured to:

receive an input query via a user input device, wherein the input query comprises at least two words;

compute a first representation vector corresponding to a first word of the input query and a second representation vector corresponding to a second word of the input query, wherein respective values of the first and the second representation vectors correspond to degrees to which the first word and the second word match features of a set of word features respectively;

retrieve, from a database, a search query template relating to a search intent, wherein the search query template comprises at least two words and is associated with a third representation vector and a fourth representation vector having respective values corresponding to degrees to which a third word of the search query template and a fourth word of the search query template match features of the set of word features respectively;

compute a first distance between the first representation vector and the third representation vector;

in response to determining that the first distance is less than a first threshold distance, compute a second distance between the second representation vector and the fourth representation vector; and

in response to determining that the second distance is less than a second threshold distance:

select the search query template;

retrieve search results based on the selected search query template; and

generate for display the retrieved search results.

12. The system of claim 11 , wherein the control circuitry is further configured, when computing the distance between the first representation vector and the third representation vector, to:

compare a first value in the first representation vector with a corresponding second value in the second representation vector to determine whether the first value and the second value differ by less than a threshold value;

in response to determining that the values differ by less than the threshold value, leave the distance unchanged; and

in response to determining that the values do not differ by less than the threshold value, compute a degree to which the values are dissimilar and increment the distance based on the degree to which the values are dissimilar.

13. The system of claim 11 , wherein the control circuitry is further configured, when computing the first distance between the first representation vector and the third representation vector, to base the first distance on an orientation of the first representation vector with respect to the third representation vector in a vector space, such that the first distance is a measure of an angle between the first representation vector and the third representation vector.

14. The system of claim 11 , wherein the user input is received via an audio signal at an audio input device, and wherein the first word and the second word are generated from the audio signal by performing speech to text processing on the audio signal.

15. The system of claim 11 , wherein the control circuitry is further configured to include one of the two words from the input query in the query to the database.

16. The system of claim 15 , wherein the control circuitry is further configured to:

identify a part of speech associated with the first word; and

in response to determining that the first word is a subject of the input query, include the first word in the query to the database.

17. The system of claim 11 , wherein the control circuitry is further configured to:

compare the first word to a list of stop words to determine whether the first word matches a stop word of the list of stop words; and

in response to determining that the first word matches the stop word:

select a third word of the input query; and

compute a fifth representation vector, wherein values of the first representation vector correspond to degrees to which the third word of the input query matches features of the set of word features.

18. The system of claim 11 , wherein the first distance is smaller than a third distance between the first representation vector and the fourth representation vector when the first word matches a meaning of the third word and does not match a meaning of the fourth word.

19. The system of claim 11 , wherein the search query template is a first search query template, and wherein the control circuitry is further configured to:

in response to determining that the first distance is greater than the first threshold distance:

retrieve a second search query template from the database, wherein the second search query template is associated with a fifth representation vector and a sixth representation vector having respective values corresponding to degrees to which a first word of the second search query template and a second word of the second search query template match features of the set of word features respectively; and

compute a third distance between the first representation vector and the fifth representation vector; and

in response to determining that the third distance is less than the first threshold distance, compute a fourth distance between the second representation vector and the sixth representation vector; and

in response to determining that the fourth distance is less than the second threshold, select the second search query template for retrieving the search results.

20. The system of claim 11 , wherein the control circuitry is further configured, when generating for display the retrieved search results, to:

retrieve a layout from the database associated with the search query template; and

generate for display the retrieved search results based on the layout.

Assignments (7)
CHANGE OF NAME Recorded Oct 2, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069085/0731 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053481/0790 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: HPS INVESTMENT PARTNERS, LLC
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053458/0749 →
SECURITY INTEREST Recorded Jun 1, 2020
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS INC.; VEVEO, INC.; INVENSAS CORPORATION; INVENSAS BONDING TECHNOLOGIES, INC.; TESSERA, INC.; TESSERA ADVANCED TECHNOLOGIES, INC.; DTS, INC.; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
To: BANK OF AMERICA, N.A.
Reel/Frame 053468/0001 →
PATENT SECURITY AGREEMENT Recorded Nov 25, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 051110/0006 →
SECURITY INTEREST Recorded Nov 22, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT
Reel/Frame 051143/0468 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2016
From: VENKATARAMAN, SASHIKUMAR; MALHOTRA, MANIK; MOHAIDEEN P, AHMED NIZAM
To: ROVI GUIDES, INC.
Reel/Frame 038959/0644 →
Continuity (1)
Related Publication 20170364520A1 · Dec 21, 2017
Cited By (1)
US 12,681,971