IP Library Granted Patent US 11,715,466
Granted Patent B2
US 11,715,466 · App. 16/690,400 · Granted Aug 1, 2023

Systems and methods for local interpretation of voice queries

Inventors: Ankur Anil Aher (Kalyan, IN); Kiran Das B (Mysore, IN); Jyothi Ekambaram (Bangalore, IN); Nishchit Mahajan (Amritsar, IN)
Assignee: Rovi Guides, Inc.
G10L15/22G10L15/26G10L15/30G10L2015/223H04M1/725
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,715,466
App. No.
16/690,400
Granted
Aug 1, 2023
Kind
B2
Abstract

Systems and methods are described herein for locally interpreting a voice query and for managing a storage size of data stored locally to support such local interpretation of voice queries. A voice query is received and compared with a plurality of stored voice queries having similar audio characteristics. If a match is identified, text corresponding to the matching stored voice query is retrieved, and an action corresponding to the retrieved text is performed. If the locally stored table does not contain a stored voice query that matches the voice query, the voice query is transmitted to a remote server for transcription. Once the transcription is received from the remote server, the voice query and the transcription are stored in the table in association with one another.

Claims (60)

1. A method for interpreting a voice query, the method comprising:

receiving, at a local device, a voice query;

determining an audio characteristic of the voice query;

accessing a table, stored at the local device, of a plurality of stored voice queries that have been previously received, wherein the table comprises a number of instances that each of the plurality of stored voice queries has been matched with previously received voice queries;

for each respective stored voice query of the plurality of stored voice queries:

determining whether an audio characteristic of the respective stored voice query is similar to the audio characteristic of the voice query; and

in response to determining that the audio characteristic of the respective stored voice query is similar to the audio characteristic of the voice query, adding the respective voice query to a data structure of candidate voice queries;

comparing the voice query with the candidate voice queries in order of the number of instances for the candidate voice queries;

identifying, based on the comparing, a candidate voice query that matches the voice query;

retrieving, from the table, text corresponding to the candidate voice query;

performing an action corresponding to the text; and

in response to determining that the data structure of candidate voice queries does not contain a candidate voice query that matches the voice query:

transmitting the voice query to a remote server for transcription;

receiving a transcription of the voice query from the remote server;

storing, in the table, the voice query and the transcription; and

further comprising:

determining whether the storage size of the table exceeds a threshold size; and

in response to determining that the storage size of the table exceeds the threshold size, reducing the amount of data stored in the table;

wherein reducing the amount of data stored in the table comprises:

determining a frequency with which each stored voice query is received; and

in response to determining that the frequency of a particular stored voice query is below a threshold frequency, removing the particular stored voice query from the table.

2. The method of claim 1 , wherein a plurality of audio files is stored at the local device for a first stored voice query of the plurality of stored voice queries, the method further comprising: accessing the plurality of audio files; generating, based on the plurality of audio files, average audio characteristics for the first stored voice query; and wherein the audio characteristic of the voice query is compared with the average audio characteristics for the first stored voice query.

3. The method of claim 1 , wherein determining whether an audio characteristic of a respective stored voice query is similar to the audio characteristic of the voice query comprises: determining a duration of the voice query; and retrieving a plurality of stored voice queries having a duration within a threshold amount of the duration of the voice query.

4. The method of claim 1 , wherein determining whether an audio characteristic of a respective stored voice query is similar to the audio characteristic of the voice query comprises: performing audio analysis of the voice query; determining, based on the audio analysis, an audio characteristic of the voice query; accessing metadata describing audio characteristics of a plurality of stored voice queries; and selecting, from the plurality of stored voice queries, a subset of stored voice queries based on the audio characteristic of the voice query and the metadata describing audio characteristics of the plurality of stored voice queries.

5. The method of claim 4 , wherein the audio characteristic of the voice query includes at least one of a duration, a tone, a rhythm, a cadence, or an accent.

6. The method of claim 1 , further comprising retrieving a plurality of stored voice queries that are most frequently received.

7. The method of claim 1 , further comprising: updating a counter for the voice query, the counter indicating the number of times the voice query has been received; and updating a last access time of the voice query to indicate a current time.

8. The method of claim 1 , wherein reducing the amount of data stored in the table comprises:

determining a last access time of each stored voice query; and

in response to determining that the last access time of a particular stored voice query is more than a threshold amount of time prior to a current time, removing the particular stored voice query from the table.

9. A system for interpreting a voice query, the system comprising:

memory; and

control circuitry configured to:

receive a voice query;

determine an audio characteristic of the voice query;

access a table, stored in the memory, of a plurality of stored voice queries that have been previously received, wherein the table comprises a number of instances that each of the plurality of stored voice queries has been matched with previously received voice queries;

for each respective stored voice query of the plurality of stored voice queries:

determine whether an audio characteristic of the respective stored voice query is similar to the audio characteristic of the voice query; and

in response to determining that the audio characteristic of the respective stored voice query is similar to the audio characteristic of the voice query, adding the respective stored voice query to a data structure of candidate voice queries;

compare the voice query with the candidate voice queries in order of the number of instances for the candidate voice queries;

identify, based on the comparing, a candidate voice query that matches the voice query;

retrieve, from the table, text corresponding to the candidate voice query;

perform an action corresponding to the text and

in response to determining that the data structure of candidate voice queries does not contain a candidate voice query that matches the voice query:

transmit the voice query to a remote server for transcription;

receive a transcription of the voice query from the remote server; and

store, in the table, the voice query and the transcription;

wherein the control circuitry is further configured to:

determine whether the storage size of the table exceeds a threshold size; and

in response to determining that the storage size of the table exceeds the threshold size, reduce the amount of data stored in the table;

wherein the control circuitry configured to reduce the amount of data stored in the table is further configured to:

determine a frequency with which each stored voice query is received; and

in response to determining that the frequency of a particular stored voice query is below a threshold frequency, remove the particular stored voice query from the table.

10. The system of claim 9 , wherein a plurality of audio files is stored in the memory for a first stored voice query of the plurality of stored voice queries, and wherein the control circuitry is further configured to: access the plurality of audio files; generate, based on the plurality of audio files, average audio characteristics for the first stored voice query; and wherein the control circuitry is configured to compare the audio characteristic of the voice query with the average audio characteristics for the first stored voice query.

11. The system of claim 9 , wherein the control circuitry is further configured to: update a counter for the voice query, the counter indicating the number of times the voice query has been received; and update a last access time of the voice query to indicate a current time.

12. The system of claim 9 , wherein the control circuitry configured to reduce the amount of data stored in the table is further configured to: determine a last access time of each stored voice query; and in response to determining that the last access time of a particular stored voice query is more than a threshold amount of time prior to a current time, remove the particular stored voice query from the table.

13. The system of claim 9 , wherein the control circuitry configured to determine whether an audio characteristic of a respective stored voice query is similar to the audio characteristic of the voice query is further configured to: determine a duration of the voice query; and retrieve a plurality of stored voice queries having a duration within a threshold amount of the duration of the voice query.

14. The system of claim 9 , wherein the control circuitry configured to determine whether an audio characteristic of a respective stored voice query is similar to the audio characteristic of the voice query is further configured to: perform audio analysis of the voice query; determine, based on the audio analysis, an audio characteristic of the voice query; access metadata describing audio characteristics of a plurality of stored voice queries; and select, from the plurality of stored voice queries, a subset of stored voice queries based on the audio characteristic of the voice query and the metadata describing audio characteristics of the plurality of stored voice queries.

15. The system of claim 14 , wherein the audio characteristic of the voice query includes at least one of a duration, a tone, a rhythm, a cadence, or an accent.

16. The system of claim 9 , wherein the control circuitry is further configured to retrieve a plurality of stored voice queries that are most frequently received.

Assignments (3)
CHANGE OF NAME Recorded Oct 3, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069106/0207 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 26, 2019
From: AHER, ANKUR ANIL; DAS B, KIRAN; EKAMBARAM, JYOTHI; MAHAJAN, NISHCHIT
To: ROVI GUIDES, INC.
Reel/Frame 051117/0107 →
Continuity (1)
Related Publication 20210158807A1 · May 27, 2021
Cited By (1)
US 12,205,585