IP Library Granted Patent US 10,664,527
Granted Patent B1
US 10,664,527 · App. 16/251,677 · Granted May 26, 2020

Response retrieval system and method

Inventors: Matthew Steedman Henderson (Singapore, SG); Pei-Hao Su (London, GB); Nikola Mrksic (London, GB); Tsung-Hsien Wen (London, GB); Inigo Casanueva Perez (London, GB); Ivan Vulic (London, GB); Georgios Spithourakis (London, GB); Samuel John Coope (London, GB); Pawel Budzianowski (London, GB); Daniela Susanne Gerz (London, GB)
Assignee: PolyAI Limited
G06F16/90332G06F16/3334G06F16/3347G06F16/538
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,664,527
App. No.
16/251,677
Granted
May 26, 2020
Kind
B1
Abstract

A method of obtaining a response to a query inputted by a user, the method comprising: receiving a user inputted query; encoding said query to produce a context vector; retrieving responses with associated response vectors; scoring response vectors in the database against the context vector wherein the scoring is a measure of the similarity between the context vector and a response vector; and outputting the responses with the closest response vectors, wherein encoding said query to produce a context vector comprises using a pre-trained model, wherein said pre-trained model has been trained using corresponding queries and responses such that an encoding is used that maximises the similarity between the response vector and context vector for a corresponding query and response.

Claims (69)

1. A method of obtaining a response to a query inputted by a user, the method comprising:

obtaining a training dataset comprising queries and corresponding responses;

generating, using the training data set, a pre-trained model that comprises, for respective ones of the queries and corresponding responses of the dataset, a context vector for the query and a response vector for the response, wherein the response vector corresponds to the context vector for the query;

receiving a user inputted query;

encoding said query to produce a context vector;

identifying, using the pre-trained model, responses having response vectors associated with the context vector;

scoring the response vectors of the responses against the context vector to generate similarity scores for the response vectors, wherein the similarity score for a response vector and a context vector is a measure of a similarity between the context vector and the response vector;

identifying, based on the similarity scores for the response vectors, responses that correspond to the user inputted query;

outputting the responses that correspond to the user inputted query;

receiving a further query;

encoding said further query to produce a further context vector;

producing a weighted context vector from a weighted sum of the further context vector from the further query and the context vector from a previous query, wherein the further context vector of the further query has a higher weighting than the context vector of the previous query;

identifying, using the pre-trained model, further response vectors associated with the weighted context vector;

scoring the further response vectors against the weighted context vector, wherein the scoring of a further response vector against the weighted context vector is a measure of a similarity between the weighted context vector and the further response vector; and

identifying, based on the scoring of the further response vectors against the weighted context vector, further responses that correspond to the further query;

outputting the further responses that correspond to the further query.

2. A method according to claim 1 , wherein the responses are selected from phrases and images.

3. A method according to claim 1 , wherein the scoring of the response vectors comprises a scaled cosine similarity scoring.

4. A method according to claim 1 , wherein the outputted responses comprise at least one image and at least one phrase.

5. A method according to claim 1 , further comprising passing the context vector through a classifier, wherein the responses are identified based on the output of the classifier.

6. A method according to claim 5 , wherein the classifier is responsive to a request to re-start a query.

7. A method according to claim 6 , wherein the classifier is responsive to a user requiring a service.

8. A method according to claim 1 , wherein said user query relates to information about a plurality of entities and said responses relate to said plurality of entities, wherein the method is configured to output the responses from the highest ranked M entities, and wherein M is an integer of 2 or more.

9. A method according to claim 8 , further comprising identifying the highest ranked M entities by:

taking the closest N responses, where N is an integer of at least 3; and

determining a total score for each entity by determining a value representing the score of each response and adding these values for each entity.

10. A method according to claim 9 , wherein the method is adapted to receive a further query, said method further comprising:

encoding said further query to produce a further context vector;

identifying, using the pre-trained model, further response vectors associated with the further context vector, wherein the further response vectors are response vectors relating to the highest ranked M entities of a previous query; and

identifying further responses associated with the further response vectors; and

outputting the further responses.

11. A method according to claim 1 , further comprising:

subdividing said response vectors into clusters in a response vector space; and

determining a cluster of the response vectors associated with the context vector,

wherein the responses that correspond to the user inputted query are associated with the response vectors of the cluster.

12. A method according to claim 1 , wherein the user input is a speech input and said speech input is converted to text.

13. A method according to claim 1 , wherein the responses are output using speech synthesis.

14. A method according to claim 1 , wherein the training dataset comprises comment and response pairs obtained by way of a social media platform.

15. A system for obtaining a response to a query inputted by a user, the system comprising an input interface, a processor and an output, the system being adapted to:

obtain a training dataset comprising queries and corresponding responses;

generate, using the training data set, a pre-trained model that comprises, for respective ones of the queries and responses of the dataset, a context vector for the query and a response vector for the response, wherein the response vector corresponds to the context vector for the query;

receive a user inputted query using the input interface;

encode said query to produce a context vector;

identify, using the pre-trained model, responses having response vectors associated with the context vectors;

score the response vectors of the responses against the context vector to generate similarity scores for the response vectors, wherein the similarity score for a response vector and a context vector is a measure of a similarity between the context vector and the response vector;

identify, based on the similarity scores for the response vectors, responses that correspond to the user inputted query; output the responses that correspond to the user inputted query;

receive a further query;

encode said further query to produce a further context vector;

produce a weighted context vector from a weighted sum of the further context vector from the further query and the context vector from a previous query, wherein the further context vector of the further query has a higher weighting than the context vector of the previous query;

identify, using the pre-trained model, further response vectors associated with the weighted context vector;

score the further response vectors against the weighted context vector, wherein the scoring of a further response vector against the weighted context vector is a measure of a similarity between the weighted context vector and the further response vector; and

identify, based on the scoring of the further response vectors against the weighted context vector, further responses that correspond to the further query;

output the further responses that correspond to the further query.

16. A non-transitory carrier medium comprising computer readable code configured to cause a computer to perform the following:

obtaining a training dataset comprising queries and corresponding responses;

generating, using the training data set, a pre-trained model that comprises, for respective ones of the queries and corresponding responses of the dataset, a context vector for the query and a response vector for the response, wherein the response vector corresponds to the context vector for the query;

receiving a user inputted query;

encoding said query to produce a context vector;

identifying, using the pre-trained model, responses having response vectors associated with the context vector;

scoring the response vectors of the responses against the context vector to generate similarity scores for the response vectors, wherein the similarity score for a response vector and a context vector is a measure of a similarity between the context vector and the response vector;

identifying, based on the similarity scores for the response vectors, responses that correspond to the user inputted query;

outputting the responses that correspond to the user inputted query;

receiving a further query;

encoding said further query to produce a further context vector;

producing a weighted context vector from a weighted sum of the further context vector from the further query and the context vector from a previous query, wherein the further context vector of the further query has a higher weighting than the context vector of the previous query;

identifying, using the pre-trained model, further response vectors associated with the weighted context vector;

scoring the further response vectors against the weighted context vector, wherein the scoring of a further response vector against the weighted context vector is a measure of a similarity between the weighted context vector and the further response vector; and

identifying, based on the scoring of the further response vectors against the weighted context vector, further responses that correspond to the further query;

outputting the further responses that correspond to the further query.

Assignments (6)
CHANGE OF ADDRESS Recorded Aug 11, 2025
From: POLYAI LIMITED
To: POLYAI LIMITED
Reel/Frame 072963/0474 →
CHANGE OF ADDRESS Recorded May 2, 2023
From: POLYAI LIMITED
To: POLYAI LIMITED
Reel/Frame 063515/0581 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2020
From: STEEDMAN HENDERSON, MATTHEW
To: POLYAI PACIFIC PTE. LTD.
Reel/Frame 051898/0428 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2020
From: POLYAI PACIFIC PTE. LTD.
To: POLYAI LIMITED
Reel/Frame 051898/0483 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO REMOVE INVENTOR MATTHEW STEEDMAN HENDERSON PREVIOUSLY RECORDED ON REEL 048202 FRAME 0255. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 24, 2020
From: SU, PEI-HAO; MRKSIC, NIKOLA; WEN, TSUNG-HSIEN; PEREZ, INIGO CASANUEVA; VULIC, IVAN; SPITHOURAKIS, GEORGIOS; COOPE, SAMUEL JOHN; BUDZIANOWSKI, PAWEL; GERZ, DANIELA SUSANNE
To: POLYAI LIMITED
Reel/Frame 052038/0774 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2019
From: HENDERSON, MATTHEW STEEDMAN; SU, PEI-HAO; MRKSIC, NIKOLA; WEN, TSUNG-HSIEN; PEREZ, INIGO CASANUEVA; VULIC, IVAN; SPITHOURAKIS, GEORGIOS; COOPE, SAMUEL JOHN; BUDZIANOWSKI, PAWEL; GERZ, DANIELA SUSANNE
To: POLYAI
Reel/Frame 048202/0255 →
Cited By (10)
US 12,271,572 US 12,321,707 US 12,387,051 US 12,469,494 US 12,572,747 US 12,602,385 US 12,602,421 US 12,675,551 US 12,719,948 US 12,730,966