IP Library Granted Patent US 11,200,243
Granted Patent B2
US 11,200,243 · App. 16/400,556 · Granted Dec 14, 2021

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.
G06F16/24578G06F16/248G06F16/3329G06F40/106G06F40/186G10L15/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 11,200,243
App. No.
16/400,556
Granted
Dec 14, 2021
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 (78)

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

receiving, via an input device, an input query comprising a first word and a reference word;

identifying a first reference corpus that comprises the reference word;

calculating, based on the first reference corpus, a first value indicative of a first likelihood of the first word occurring with the reference word;

retrieving a search query template associated with the reference word, wherein the search query template comprises a second word;

calculating, based on a second reference corpus that comprises the reference word, a second value indicative of a second likelihood of the second word occurring with the reference word;

calculating a difference value based on subtracting the first value indicative of the first likelihood from the second value indicative of the second likelihood;

selecting, based on the difference, the search query template;

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

generating for display the retrieved search results.

2. The method of claim 1 , wherein selecting, based on the difference, the search query template comprises:

determining whether the difference is less than a threshold difference; and

in response to determining that the difference is less than the threshold difference, selecting the search query template.

3. The method of claim 2 , wherein the difference is a first difference, further comprising:

in response to determining that the first difference is not less than the threshold difference, selecting a third word in the input query and a fourth word in the search query template;

determining a third likelihood of the third word occurring with the reference word;

determining a fourth likelihood of the fourth word occurring with the reference word;

computing a second difference between the third likelihood and the fourth likelihood; and

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

4. The method of claim 2 , wherein the search query template is a first search query template and the difference is a first difference, further comprising:

in response to determining that the first difference is not less than the threshold difference, retrieving a second search query template, wherein the second search query template comprises a third word associated with a third likelihood of the third word occurring with the reference word;

computing a second difference between the first likelihood and the third likelihood; and

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

5. The method of claim 1 , wherein calculating the first value indicative of the first likelihood comprises computing a first representation vector corresponding to a degree to which the first word occurs with the reference word in the first reference corpus, and wherein calculating the second value indicative of the second likelihood comprises computing a second representation vector corresponding to a degree to which the second word occurs with the reference word in the second reference corpus.

6. The method of claim 5 , wherein calculating the difference value comprises computing a distance between the first representation vector and the second representation vector, and wherein selecting the search query template comprises: determining whether the distance is less than a threshold distance; and

in response to determining that the distance is less than the threshold distance, selecting the search query template.

7. The method of claim 6 , wherein computing the distance between the first representation vector and the second 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.

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

9. The method of claim 1 , further comprising:

subsequent to receiving the input query, identifying the reference word by:

identifying a part of speech associated with a candidate reference word in the input query; and

in response to determining that the candidate reference word is a subject of the input query, identifying the candidate reference word as the reference word.

10. 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 instead of the first word to determine a likelihood of the third word occurring with the reference word.

11. A system for performing a search, the system comprising:

control circuitry configured to:

receive an input query comprising a first word and a reference word;

identify a first reference corpus that comprises the reference word;

calculate, based on the first reference corpus, a first value indicative of a first likelihood of the first word occurring with the reference word;

retrieve a search query template associated with the reference word, wherein the search query template comprises a second word;

calculate, based on a second reference corpus that comprises the reference word, a second value indicative of a second likelihood of the second word occurring with the reference word;

calculate a difference value based on subtracting the first value indicative of the first likelihood from the second value indicative of the second likelihood;

select, based on the difference, the search query template;

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

generate for display the retrieved search results.

12. The system of claim 11 , wherein the control circuitry is further configured to select, based on the difference, the search query template by:

determining whether the difference is less than a threshold difference; and

in response to determining that the difference is less than the threshold difference, selecting the search query template.

13. The system of claim 12 , wherein the difference is a first difference, wherein the control circuitry is further configured to:

in response to determining that the first difference is not less than the threshold difference, select a third word in the input query and a fourth word in the search query template;

determine a third likelihood of the third word occurring with the reference word;

determine a fourth likelihood of the fourth word occurring with the reference word;

compute a second difference between the third likelihood and the fourth likelihood; and

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

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

in response to determining that the first difference is not less than the threshold difference, retrieve a second search query template, wherein the second search query template comprises a third word associated with a third likelihood of the third word occurring with the reference word;

compute a second difference between the first likelihood and the third likelihood; and

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

15. The system of claim 11 , wherein the control circuitry is further configured to calculate the first value indicative of the first likelihood by computing a first representation vector corresponding to a degree to which the first word occurs with the reference word in the first reference corpus, and wherein the control circuitry is further configured to calculate the second value indicative of the second likelihood by computing a second representation vector corresponding to a degree to which the second word occurs with the reference word in the second reference corpus.

16. The system of claim 15 , wherein the control circuitry is further configured to calculate the difference value by computing a distance between the first representation vector and the second representation vector, and wherein the control circuitry is further configured to select the search query template by:

determining whether the distance is less than a threshold distance; and

in response to determining that the distance is less than the threshold distance, selecting the search query template.

17. The system of claim 16 , wherein the control circuitry is further configured to compute the distance between the first representation vector and the second representation vector by:

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.

18. The system of claim 16 , wherein computing the distance between the first representation vector and the second representation vector is based on an orientation of the first representation vector with respect to the second representation vector in a vector space, such that the distance is a measure of an angle between the first representation vector and the second representation vector.

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

subsequent to receiving the input query, identify the reference word by:

identifying a part of speech associated with a candidate reference word in the input query; and

in response to determining that the candidate reference word is a subject of the input query, identifying the candidate reference word as the reference word.

20. 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 instead of the first word to determine a likelihood of the third word occurring with the reference word.

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 May 1, 2019
From: VENKATARAMAN, SASHIKUMAR; MALHOTRA, MANIK; MOHAIDEEN P, AHMED NIZAM
To: ROVI GUIDES, INC.
Reel/Frame 049053/0234 →
Continuity (3)
Continuation 16020618 · Jun 27, 2018
Continuation 15187029 · Jun 20, 2016
Related Publication 20190266166A1 · Aug 29, 2019
Cited By (1)
US 12,670,317