IP Library Granted Patent US 11,675,843
Granted Patent B2
US 11,675,843 · App. 17/253,580 · Granted Jun 13, 2023

Systems and methods for providing personalized answers with learned user vocabulary for user queries

Inventors: Ankur Anil Aher (Maharashtra, IN); Harish Ashok Kumar (Tamil Nadu, IN)
Assignee: ROVl GUIDES, INC.
G06F16/90332G06F16/9038G06F16/9574
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,675,843
App. No.
17/253,580
Granted
Jun 13, 2023
Kind
B2
Abstract

Systems and methods for providing personalized answers to a user's query using a learned user vocabulary. A natural-language user interface (NLUI) application tracks input terms in user queries and generates responses that incorporate those input terms. The NLUI application may modify stored response templates or may modify a response generated based on stored response templates, by replacing a template term with an input term that has a common definition.

Claims (126)

1. A method for providing personalized answers to a user's query using a learned user vocabulary, the method comprising:

receiving a first query from a first user;

retrieving a stored response template from a database, wherein:

the stored response template comprises a plurality of terms including one or more dynamic terms and one or more non-dynamic terms; and

prior to customizing the stored response template for the first user, the stored response template is used to generate a plurality of responses to a plurality of previously received queries, and for each respective response of the plurality of responses:

the one or more dynamic terms of the stored response template are modified based on an answer to the corresponding query of the plurality of previously received queries, and the respective modified one or more dynamic terms are included in the respective responses and are different for each respective response of the plurality of responses; and

the one or more non-dynamic terms of the stored response template are included, without modification, in each of the plurality of responses, regardless of respective answers included in the plurality of responses;

determining that the first query comprises an input term that shares a definition with a non-dynamic term of the one or more dynamic terms in the stored response template;

in response to determining that the first query comprises the input term that shares the definition with the non-dynamic term in the stored response template, customizing the stored response template for the first user by:

generating, based on the stored response template, a modified response template in which the non-dynamic term is replaced with the input term;

generating a first response to the first query based on the modified response template, wherein the generated first response comprises the input term;

outputting the generated first response that comprises the input term and that does not comprise the non-dynamic term;

storing the modified response template in the database;

receiving a second query that does not comprise the input term;

generating a second response to the second query based on the modified response template, wherein the generated second response comprises the input term; and

outputting the generated second response.

2. The method of claim 1 , wherein generating and storing the modified response template further comprises:

generating a copy of the stored response template;

identifying the non-dynamic term in the copy of the stored response template;

substituting the non-dynamic term in the copy of the stored response template with the input term; and

storing, in the database, the copy of the stored response template as the modified response template.

3. The method of claim 1 , wherein determining that the first query comprises the input term that shares the definition with the non-dynamic term comprises:

in response to determining that a response to the first query cannot be generated, outputting an indication that a response cannot be generated;

receiving a modified version of the first query;

determining that the modified version of the first query comprises the non-dynamic term; and

in response to determining that the modified version of the first query comprises the non-dynamic term, determining that the input term shares the definition with the non-dynamic term.

4. The method of claim 1 , wherein determining that the first query comprises the input term that shares the definition with the non-dynamic term comprises:

retrieving a first definition of the input term and a second definition of the non-dynamic term, wherein the first definition and the second definition are text strings;

comparing the first definition with the second definition; and

in response to determining, based on the comparing, that the first definition matches the second definition, determining that the input term shares the definition with the non-dynamic term.

5. The method of claim 1 , further comprising:

receiving a third query comprising a different input term that shares a definition with the non-dynamic term;

retrieving, from memory, the plurality of previously received queries;

determining a first amount of the plurality of previously received queries that comprise the input term and a second amount of the plurality of previously received queries that comprise the different input term;

determining whether the second amount is greater than the first amount; and

in response to determining that the second amount is greater than the first amount, replacing the non-dynamic term in the modified response template with the different input term.

6. The method of claim 1 , further comprising:

receiving a third query;

determining that the first query was received from a first user and that the third query was received from a second user different from the first user;

in response to determining that the third query was received from the second user, generating a response to the third query based on the stored response template, wherein the response to the third query comprises the non-dynamic term; and

outputting the response to the third query.

7. The method of claim 1 , wherein generating the first response to the first query based on the modified response template further comprises:

determining a search result for the first query; and

outputting the search result with the generated first response.

8. A method for providing personalized answers to a user's query using a learned user vocabulary, the method comprising:

receiving a first query from a first user;

retrieving a stored response template from a database, wherein:

the stored response template comprises a plurality of terms including one or more dynamic terms and one or more non-dynamic terms; and

prior to customizing a first response to the first query for the first user, the stored response template is used to generate a plurality of responses to a plurality of previously received queries, and for each respective response of the plurality of responses:

the one or more dynamic terms of the stored response template are modified based on an answer to the corresponding query of the plurality of previously received queries, and the respective modified one or more dynamic terms are included in the respective responses and are different for each respective response of the plurality of responses; and

the one or more non-dynamic terms of the stored response template are included, without modification, in each of the plurality of responses, regardless of respective answers included in the plurality of responses;

generating a first response to the first query based on the stored response template, wherein the first response comprises a non-dynamic term;

determining that the first query comprises an input term that shares a definition with the non-dynamic term in the first response;

storing the input term in a vocabulary database as a replacement term for the non-dynamic term;

in response to determining that the first query comprises the input term that shares the definition with the non-dynamic term in the stored response template, customizing the first response for the first user by:

modifying the first response to replace the non-dynamic term with the input term;

outputting the modified first response that comprises the input term and that does not comprise the non-dynamic term;

receiving a second query that does not comprise the input term;

generating a second response to the second query, wherein the second response comprises the non-dynamic term;

in response to determining that the vocabulary database comprises the input term as the replacement term for the non-dynamic term, modifying the second response to replace the non-dynamic term with the replacement term; and

outputting the modified second response.

9. The method of claim 8 , wherein determining that the first query comprises the input term that shares the definition with the template non-dynamic term further comprises:

determining that the input term is not in the vocabulary database, wherein the vocabulary database comprises terms used to generate responses to queries of a user; and

in response to determining that the input term shares the definition with the non-dynamic term in the vocabulary database, performing the storing of the input term in the vocabulary database as the replacement term for the non-dynamic term.

10. A system for providing personalized answers to a user's query using a learned user vocabulary, the system comprising:

an input interface configured to:

receive a first query from a first user; and

retrieve a stored response template from a database, wherein:

the stored response template comprises a plurality of terms including one or more dynamic terms and one or more non-dynamic terms; and

prior to customizing the stored response template for the first user, the stored response template is used to generate a plurality of responses to a plurality of previously received queries, and for each respective response of the plurality of responses:

the one or more dynamic terms of the stored response template are modified based on an answer to the corresponding query of the plurality of previously received queries, and the respective modified one or more dynamic terms are included in the respective responses and are different for each respective response of the plurality of responses; and

the one or more non-dynamic terms of the stored response template are included, without modification, in each of the plurality of responses, regardless of respective answers included in the plurality of responses;

control circuitry configured to:

determine that the first query comprises an input term that shares a definition with a non-dynamic term in the stored response template;

in response to determining that the first query comprises the input term that shares the definition with the non-dynamic term, customize the stored response template for the first user by:

generating, based on the stored response template, a modified response template in which the non-dynamic term is replaced with the input term;

generate a first response to the first query based on the modified response template, wherein the generated first response comprises the input term;

output the generated first response that comprises the input term and that does not comprise the non-dynamic term; and

store the modified response template in the database;

wherein the input interface is further configured to:

receive a second query that does not comprise the input term; and

wherein the control circuitry is further configured to:

generate a second response to the second query based on the modified response template, wherein the generated second response comprises the input term; and

output the generated second response.

11. The system of claim 10 , wherein the control circuitry is further configured to generate and store the modified response template by:

generating a copy of the stored response template;

identifying the non-dynamic term in the copy of the stored response template;

substituting the non-dynamic term in the copy of the stored response template with the input term; and

storing, in the database, the copy of the stored response template as the modified response template.

12. The system of claim 10 , wherein the control circuitry is further configured to determine that the first query comprises the input term that shares the definition with the non-dynamic term by:

in response to determining that a response to the first query cannot be generated, outputting an indication that a response cannot be generated;

receiving, via the input interface, a modified version of the first query;

determining that the modified version of the first query comprises the template term; and

in response to determining that the modified version of the first query comprises the non-dynamic term, determining that the input term shares the definition with the non-dynamic term.

13. The system of claim 10 , wherein the control circuitry is further configured to determine that the first query comprises the input term that shares the definition with the non-dynamic term by:

retrieving a first definition of the input term and a second definition of the non-dynamic term, wherein the first definition and the second definition are text strings;

comparing the first definition with the second definition; and

in response to determining, based on the comparing, that the first definition matches the second definition, determining that the input term shares the definition with the non-dynamic term.

14. The system of claim 10 , wherein the control circuitry is further configured to:

receive, via the input interface, a third query comprising a different input term that shares a definition with the non-dynamic term;

retrieve, from memory, the plurality of previously received queries;

determine a first amount of the plurality of previously received queries that comprise the input term and a second amount of the plurality of previously received queries that comprise the different input term;

determine whether the second amount is greater than the first amount; and

in response to determining that the second amount is greater than the first amount, replace the non-dynamic term in the modified response template with the different input term.

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

receive, via the input interface, a third query;

determine that the first query was received from a first user and that the third query was received from a second user different from the first user;

in response to determining that the third query was received from the second user, generate a response to the third query based on the stored response template, wherein the response to the third query comprises the non-dynamic term; and

output the response to the third query.

16. The system of claim 10 , wherein the control circuitry is further configured to generate the first response to the first query based on the modified response template by:

determining a search result for the first query; and

outputting the search result with the generated first response.

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

generate an initial version of the first response to the first query based on the stored response template, wherein the initial version of the first response comprises the non-dynamic term;

determine that the first query comprises the input term that shares the definition with the non-dynamic term in the initial version of the first response;

in response to determining that the first query comprises the input term that shares the definition with the non-dynamic term, modify the initial version of the first response to replace the non-dynamic term with the input term; and

output the modified initial version of the first response as the first response.

18. The method of claim 1 , further comprising:

determining a number of the plurality of previously received queries that comprise the input term; and

generating the modified response template further based on the determined number.

19. The method of claim 8 , further comprising:

determining a number of the plurality of previously received queries that comprise the input term; and

modifying the first response to replace the non-dynamic term with the input term based on the determined number.

20. The system of claim 10 , wherein the control circuitry is further configured to:

determine a number of the plurality of previously received queries that comprise the input term;

generate the modified response template further based on the determined number.

Assignments (3)
CHANGE OF NAME Recorded Oct 3, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069106/0171 →
SECURITY INTEREST Recorded May 3, 2023
From: ADEIA GUIDES INC.; ADEIA IMAGING LLC; ADEIA MEDIA HOLDINGS LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR ADVANCED TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC; ADEIA SOLUTIONS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 063529/0272 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2020
From: AHER, ANKUR ANIL; KUMAR, HARISH ASHOK
To: ROVI GUIDES, INC.
Reel/Frame 054687/0367 →
Continuity (1)
Related Publication 20210294857A1 · Sep 23, 2021
Cited By (1)
US 12,204,588