IP Library › Granted Patent US 10,650,311
Granted Patent B2
US 10,650,311 · App. 15/383,603 · Granted May 12, 2020

Suggesting resources using context hashing

Inventor: Shawn Henry (Brooklyn, NY)
Assignee: ASAAP, INC.
G06N3/08G06F16/325G06F16/335G06F16/338G06F16/3322G06N3/0445G06N3/0454G06Q30/016H04L51/18
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,650,311
App. No.
15/383,603
Granted
May 12, 2020
Kind
B2
Abstract

A first user and a second user may exchange messages during a session and the exchanged messages may be processed to suggest resources to the first user. For example, the first user may be a customer service representative assisting a customer, and the suggested resources may include text of a message to send to the customer. The resources may be suggested by computing a semantic representation of the messages in the session, computing a context vector that describes a context of the session, computing a context hash vector from the context vector, and retrieving one or more resources from a data store of resources using the context hash vector. Information about a resource may be presented to the first user to assist the first user in responding to the second user.

Claims (48)

1. A computer-implemented method for presenting information about a resource to a user, the method performed by one or more server computers and comprising:

receiving a plurality of electronic messages during a session between a first computing device of a first user and a second computing device of a second user;

computing a message embedding for each message of the plurality of electronic messages with a first neural network, wherein each message embedding represents a corresponding message in a vector space;

computing a first context vector by sequentially processing the message embeddings for the plurality of electronic messages, wherein the processing is performed using a second neural network;

quantizing the first context vector to obtain a first context hash vector;

selecting a first resource from a data store using the first context hash vector and a hash vector for the first resource, wherein (i) the data store comprises a plurality of resources, (ii) each resource of the plurality of resources is associated with a hash vector, (iii) selecting the first resource comprises computing a distance between the first context hash vector and the hash vector for the first resource; and

transmitting, during the session, information about the first resource to the first computing device to allow the first user to access the first resource.

2. The computer-implemented method of claim 1 , wherein the first user is a customer service representative and the second user is a customer.

3. The computer-implemented method of claim 1 , wherein the method further comprises:

receiving a subsequent message between the first user and the second user;

computing a subsequent message embedding for the subsequent message;

computing a second context vector using the first context vector and the subsequent message embedding of the subsequent message;

quantizing the second context vector to obtain a second context hash vector;

selecting a second resource from the data store using the second context hash vector and a hash vector for the second resource; and

transmitting, during the session, information about the second resource to the first computing device.

4. The computer-implemented method of claim 1 , wherein the second neural network is a recurrent neural network or a convolution neural network.

5. The computer-implemented method of claim 1 , wherein each element of the first context hash vector comprises a boolean value.

6. The computer-implemented method of claim 1 , wherein the first resource comprises text of a message, a document, an image, or a URL.

7. The computer-implemented method of claim 1 , wherein the first context hash vector is equal to the hash vector for the first resource.

8. The computer-implemented method of claim 1 , wherein the distance is a Hamming distance.

9. A system for presenting information about a resource to a user, the system comprising:

at least one server computer comprising at least one processor and at least one memory,

the at least one server computer configured to:

receive, a plurality of electronic messages during a session between a first computing device of a first user and a second computing device of a second user;

compute, a semantic representation of each message of the plurality of electronic messages;

compute, a first context vector by processing the semantic representations for the plurality of electronic messages;

quantize, the first context vector to obtain a first context hash vector;

select a first resource from a data store using the first context hash vector and a hash vector for the first resource, wherein the data store comprises a plurality of resources and each resource of the plurality of resources is associated with a hash vector; and

transmit, during the session, information about the first resource to the first computing device.

10. The system of claim 9 , wherein the at least one server computer is configured to:

receive a selection of the first resource by the first user; and

cause the first resource to be transmitted to the second user.

11. The system of claim 9 , wherein the semantic representation comprises a message embedding.

12. The system of claim 9 , wherein the at least one server computer is configured to compute the first context vector using a recurrent neural network with long short-term memory units.

13. The system of claim 9 , wherein the at least one server computer is configured to select the first resource using an inverted index.

14. The system of claim 9 , wherein the at least one server computer is configured to quantize the first context vector by performing a rotation of the first context vector.

15. The system of claim 9 , wherein the first context vector is computed using a neural network and the neural network is trained by minimizing a triplet rank loss function.

16. One or more non-transitory computer-readable media comprising computer executable instructions that, when executed, cause at least one processor to perform actions comprising:

receiving a plurality of electronic messages during a session between a first computing device of a first user and a second computing device of a second user;

computing a semantic representation of each message of the plurality of electronic messages;

computing a context vector by processing the semantic representations for the plurality of electronic messages;

quantizing the context vector to obtain a context hash vector;

selecting a first resource from a data store using the context hash vector and a hash vector for the first resource, wherein the data store comprises a plurality of resources and each resource of the plurality of resources is associated with a hash vector; and

transmitting, during the session, information about the first resource to the first computing device.

17. The one or more non-transitory computer-readable media of claim 16 , wherein each element of the context hash vector comprises a boolean value.

18. The one or more non-transitory computer-readable media of claim 16 , wherein selecting the first resource from the data store comprises computing a Hamming distance between the context hash vector and the hash vector for the first resource.

19. The one or more non-transitory computer-readable media of claim 16 , wherein the semantic representation comprises a message embedding.

20. The one or more non-transitory computer-readable media of claim 16 , wherein selecting the first resource comprises using an inverted index.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2017
From: HENRY, SHAWN
To: ASAPP, INC.
Reel/Frame 041401/0220 →
Continuity (1)
Related Publication 20180174037A1 · Jun 21, 2018
Cited By (6)
US 12,219,093 US 12,375,604 US 12,470,503 US 12,489,846 US 12,524,771 US 12,694,278