IP Library Granted Patent US 10,909,459
Granted Patent B2
US 10,909,459 · App. 15/619,299 · Granted Feb 2, 2021

Content embedding using deep metric learning algorithms

Inventors: Petr Tsatsin (San Francisco, CA); Philip M. Long (Palo Alto, CA); Diego Guy M. Legrand (San Francisco, CA); Nigel Duffy (San Francisco, CA)
Assignee: Cognizant Technology Solutions U.S. Corporation
G06N3/084G06N3/0454
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,909,459
App. No.
15/619,299
Granted
Feb 2, 2021
Kind
B2
Abstract

The technology disclosed introduces a concept of training a neural network to create an embedding space. The neural network is trained by providing a set of K+2 training documents, each training document being represented by a training vector x, the set including a target document represented by a vector x t , a favored document represented by a vector x s , and K>1 unfavored documents represented by vectors x i u , each of the vectors including input vector elements, passing the vector representing each document set through the neural network to derive an output vectors y t , y s and y i u , each output vector including output vector elements, the neural network including adjustable parameters which dictate an amount of influence imposed on each input vector element to derive each output vector element, adjusting the parameters of the neural network to reduce a loss, which is an average over all of the output vectors y i u of [D(y t ,y s )−D(y t , y i u )].

Claims (53)

1. A method of training a neural network to create an embedding space including a catalog of documents, the method comprising:

providing a plurality of training sets of K+2 training documents to a computer system, K being an integer greater than 1, each training document being represented by a corresponding training vector x, each set of training documents including a target document represented by a vector x t , a favored document represented by a vector x s , and K unfavored documents represented respectively by vectors x i u , where i is an integer from 1 to K, and each of the vectors including a plurality of input vector elements;

for each given one of the training sets, passing, by the computer system, the vector representing each document of the training set through a neural network to derive a corresponding output vector y t a corresponding output vector y s , and corresponding output vectors y i u , each of the output vectors including a plurality of output vector elements, the neural network including a set of adjustable parameters which dictate an amount of influence that is imposed on each input vector element of an input vector to derive each output vector element of the output vector;

adjusting the parameters of the neural network so as to reduce a loss L, which is an average over all of the output vectors y i u of [D(y t ,y s )−D(y t ,y i u )], where D is a distance wherein the vectors, wherein the loss L is log(1+Σ i=1 K e D(y t ,y s )−D(y t ,y i u ) ); and

for each given one of the training sets, passing the vector representing each document of the training set through the neural network having the adjusted parameters to derive the output vectors.

2. The method of claim 1 , wherein the parameters of the neural network include weights and the weights of the neural network are adjusted by back propagation as a function of the loss L.

3. The method of claim 1 ,

wherein for each given one of the training sets, K+2 identical neural networks are implemented, such that each document of a respective training set passes through a corresponding neural network of the K+2 identical neural networks.

4. The method of claim 3 , wherein the parameters of the neural networks include weights and the weights of each respective neural network, of the K+2 neural networks, are adjusted by back propagation as a function of the loss L and in dependence on the output vector output from the respective neural network.

5. The method of claim 1 ,

wherein for each given one of the training sets, K+2 neural networks are implemented, such that each document of a respective training set passes through a corresponding neural network of the K+2 identical neural networks.

6. The method of claim 5 , wherein the parameters of the neural networks include weights and the weights of each respective neural network, of the K+2 neural networks, are adjusted by back propagation as a function of the loss L and in dependence on the output vector output from the respective neural network.

7. The method of claim 1 , further comprising:

repeatedly passing each given one of the training sets through the neural network to adjust the parameters until a value of the loss L is satisfactory and identify the neural network as a production model;

obtaining raw data representing documents from a particular data domain for which the production model has been trained, the documents represented by the raw data being unlabeled with no information regarding a measure of dissimilarity between any the documents; and

passing the raw data through the production model to create a production embedding of documents.

8. The method of claim 1 , wherein each training set of K+2 documents is obtained by:

providing, to a user, the K+2 training documents including the target document; receiving, from the user, a selection of the favored document determined to most closely match the target document; and

identifying the unfavored documents of the K+2 training documents as the unfavored documents.

9. The method of claim 1 , wherein each training set of K+2 documents is obtained by:

providing, to a model replicating user behavior, the K+2 training documents including the target document;

receiving, from the model, a selection of the favored document determined to most closely match the target document; and

identifying the unfavored documents of the K+2 training documents as the unfavored documents.

10. A method of training a neural network to create an embedding space including a catalog of documents, the method comprising:

obtaining a set of K+2 training documents, K being an integer greater than 1, the set of K+2 documents including a target document represented by a vector x t , a favored document represented by a vector x s and unfavored documents represented by vectors x i u , where i is an integer from 1 to K;

passing each of the vector representations of the set of K+2 training documents through a neural network to derive corresponding output vectors, including vector y t derived from the vector x t , vector y s derived from the vector x s and vectors y i u respectively derived from vectors x i u ; and

repeatedly adjusting parameters of the neural network through back propagation until a sum of differences calculated from (i) a distance between the vector y t and the vector y s and (ii) distances between the vector y t and each of the vectors y i u satisfies a predetermined criteria, wherein the sum of differences corresponds to a likelihood that the favored document will be selected over the unfavored documents and further wherein the calculated sum of differences is a loss L function calculated as log(1+Σ i=1 K e D(y t ,y s )−D(y t ,y i u ) ) and wherein the parameters of the neural network include weights and the weights of the neural network are adjusted by back propagation as a function of the loss L.

11. The method of claim 10 , wherein the obtaining of the set of training documents includes:

providing, to a user, the K+2 training documents including the target document;

receiving, from the user, a selection of the favored document determined to most closely match the target document; and

identifying the unfavored documents of the K+2 training documents as the unfavored documents.

12. The method of claim 10 , wherein the obtaining of the set of training documents includes:

providing, to a model replicating user behavior, the K+2 training documents including the target document;

receiving, from the model, a selection of the favored document determined to most closely match the target document; and

identifying the unfavored documents of the K+2 training documents as the unfavored documents.

13. A non-transitory computer readable storage medium impressed with computer program instructions to train a neural network to create an embedding space including a catalog of documents, the instructions, when executed on a processor, implement a method comprising:

providing a plurality of training sets of K+2 training documents to a computer system, K being an integer greater than 1, each training document being represented by a corresponding training vector x, each set of training documents including a target document represented by a vector x t , a favored document represented by a vector x s , and K>1 unfavored documents represented respectively by vectors x i u , where i is an integer from 1 to K, and each of the vectors including a plurality of input vector elements;

for each given one of the training sets, passing, by the computer system, the vector representing each document of the training set through a neural network to derive a corresponding output vector y t a corresponding output vector y s , and corresponding output vectors y i u , each of the output vectors including a plurality of output vector elements, the neural network including a set of adjustable parameters which dictate an amount of influence that is imposed on each input vector element of an input vector to derive each output vector element of the output vector;

adjusting the parameters of the neural network so as to reduce a loss L, which is an average over all of the output vectors y i u of [D(y t ,y s )−D(y t , y i u )], where D is a distance between two vectors, wherein the loss L is log(1+Σ i=1 K e D(y t ,y s )−D(y t ,y i u ) ); and

for each given one of the training sets, passing the vector representing each document of the training set through the neural network having the adjusted parameters to derive the output vectors.

14. A non-transitory computer readable storage medium impressed with computer program instructions to train a neural network to create an embedding space including a catalog of documents, the instructions, when executed on a processor, implement a method comprising:

obtaining a set of K+2 training documents, K being an integer greater than 1, the set of K+2 documents including a target document represented by a vector x t , a favored document represented by a vector x x and unfavored documents represented by vectors x i u , where i is an integer from 1 to K;

passing each of the vector representations of the set of K+2 training documents through a neural network to derive corresponding output vectors, including vector y t derived from the vector x t , vector y s derived from the vector x s and vectors y i u respectively derived from vectors x i u ; and

repeatedly adjusting parameters of the neural network through back propagation until a sum of differences calculated from (i) a distance between the vector y t and the vector y s and (ii) distances between the vector y t and each of the vectors y i u satisfies a predetermined criteria, wherein the sum of differences corresponds to a likelihood that the favored document will be selected over the unfavored documents and further wherein the calculated sum of differences is a loss L function calculated as log(1+Σ i=1 K e D(y t ,y s )−D(y t ,y i u ) ) and wherein the parameters of the neural network include weights and the weights of the neural network are adjusted by back propagation as a function of the loss L.

15. A system including one or more processors coupled to memory, the memory loaded with computer instructions to train a neural network to create an embedding space including a catalog of documents, the instructions, when executed on the processors, implement actions comprising:

providing a plurality of training sets of K+2 training documents to a computer system, K being an integer greater than 1, each training document being represented by a corresponding training vector x, each set of training documents including a target document represented by a vector x t , a favored document represented by a vector x s , and K>1 unfavored documents represented respectively by vectors y i u , where i is an integer from 1 to K, and each of the vectors including a plurality of input vector elements;

for each given one of the training sets, passing, by the computer system, the vector representing each document of the training set through a neural network to derive a corresponding output vector y t a corresponding output vector y s , and corresponding output vectors y i u , each of the output vectors including a plurality of output vector elements, the neural network including a set of adjustable parameters which dictate an amount of influence that is imposed on each input vector element of an input vector to derive each output vector element of the output vector;

adjusting the parameters of the neural network so as to reduce a loss L, which is an average over all of the output vectors y i u of [D(y t ,y s )−D(y t , y i u )], where D is a distance between two vectors, wherein the loss L is log(1+Σ i=1 K e D(y t ,y s )−D(y t ,y i u ) ); and

for each given one of the training sets, passing the vector representing each document of the training set through the neural network having the adjusted parameters to derive the output vectors.

16. A system including one or more processors coupled to memory, the memory loaded with computer instructions to train a neural network to create an embedding space including a catalog of documents, the instructions, when executed on the processors, implement actions comprising:

obtaining a set of K+2 training documents, K being an integer greater than 1, the set of K+2 documents including a target document represented by a vector x t , a favored document represented by a vector x s and unfavored documents represented by vectors x i u , where i is an integer from 1 to K;

passing each of the vector representations of the set of K+2 training documents through a neural network to derive corresponding output vectors, including vector y t derived from the vector x t , vector y s derived from the vector x s and vectors y i u respectively derived from vectors x i u ; and

repeatedly adjusting parameters of the neural network through back propagation until a sum of differences calculated from (i) a distance between the vector y t and the vector y s and (ii) distances between the vector y t and each of the vectors y i u satisfies a predetermined criteria, wherein the sum of differences corresponds to a likelihood that the favored document will be selected over the unfavored documents and further wherein the calculated sum of differences is a loss L function calculated as log(1+Σ i=1 K e D(y t ,y s )−D(y t ,y i u ) ) and wherein the parameters of the neural network include weights and the weights of the neural network are adjusted by back propagation as a function of the loss L.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2018
From: SENTIENT TECHNOLOGIES (BARBADOS) LIMITED; SENTIENT TECHNOLOGIES HOLDINGS LIMITED; SENTIENT TECHNOLOGIES (USA) LLC
To: COGNIZANT TECHNOLOGY SOLUTIONS U.S. CORPORATION
Reel/Frame 049022/0139 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2018
From: TSATSIN, PETR; LONG, PHILIP M.; LEGRAND, DIEGO GUY M.; DUFFY, NIGEL
To: SENTIENT TECHNOLOGIES (BARBADOS) LIMITED
Reel/Frame 044929/0510 →
Continuity (2)
Provisional Application 62348097 · Jun 9, 2016
Related Publication 20170357896A1 · Dec 14, 2017
Cited By (25)
US 12,197,712 US 12,197,817 US 12,200,297 US 12,204,932 US 12,211,502 US 12,216,894 US 12,219,314 US 12,223,282 US 12,236,952 US 12,254,887 US 12,260,234 US 12,277,954 US 12,293,763 US 12,301,635 US 12,333,404 US 12,361,943 US 12,367,879 US 12,386,434 US 12,386,491 US 12,431,128 US 12,477,470 US 12,556,890 US 12,608,171 US 12,613,730 US 12,619,452