IP Library Granted Patent US 11,580,363
Granted Patent B2
US 11,580,363 · App. 16/683,536 · Granted Feb 14, 2023

Systems and methods for assessing item compatibility

Inventors: Perouz Taslakian (Montreal, CA); David Vazquez Bermudez (Montreal, CA); Guillem Cucurull Preixens (Montreal, CA)
Assignee: SERVICENOW CANADA INC.
G06N3/0454G06N3/0445G06N3/08
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,580,363
App. No.
16/683,536
Granted
Feb 14, 2023
Kind
B2
Abstract

A compatibility score generator implementing a neural network is trained for assessing compatibility of items. Elements of a feature vector representing each item and of a compatibility data structure indicating items considered compatible are retrieved. The neural network is trained using training data corresponding to the items and indicating compatibility between pairs of items. The compatibility data structure is modified by removing indications that items of a pair of items are compatible. An encoding function generating encoded representations for the items based on the compatibility data structure is evaluated. Encoded representations are provided to a decoder that learns a likelihood that the indication had been removed when modified. The neural network and the decoder are optimized based on a loss function that reflects the decoder's ability to correctly determine whether the indication had been removed. The encoded representations generate a compatibility score for at least two items of interest.

Claims (48)

1. A method of training a compatibility score generator for assessing compatibility of items, the compatibility score generator implementing a neural network for generating encoded representations of the items, the method being executable by at least one processor of a computer system, the method comprising:

for each of a plurality of items, retrieving, from a memory of the computer system, elements of a feature vector representing the item;

retrieving, from the memory of the computer system, elements of at least one compatibility data structure that indicates which items of the plurality of items are considered compatible with which other items from the plurality of items; and

training the neural network using training data representable by an input graph having nodes and edges, each node of the input graph corresponding to one of the plurality of items, and each edge of the input graph indicating compatibility between a pair of items, the training data comprising:

(i) for each of the plurality of items, the elements of the feature vector representing the item; and

(ii) the at least one compatibility data structure;

and wherein the training comprises:

modifying the at least one compatibility data structure by removing at least one indication that items of a given pair of items are compatible, the modifying representable by a removal of at least one corresponding edge of the input graph;

at each of at least one layer of the neural network, evaluating an encoding function having trainable parameters, the encoding function for generating a set of encoded representations for the plurality of items based on the at least one compatibility data structure;

providing the set of encoded representations to a decoder that learns a likelihood that the at least one indication had been removed at the modifying; and

repeating the evaluating and the providing while optimizing the neural network and the decoder based on a loss function, wherein the loss function reflects the decoder's ability to correctly determine whether the at least one indication had been removed at the modifying;

and wherein the set of encoded representations generated at the training is usable to generate a compatibility score for at least two items of interest.

2. The method of claim 1 , wherein the neural network comprises a graph convolutional network (GCN), the graph convolutional network comprising at least one hidden layer.

3. The method of claim 1 , wherein:

a feature matrix (X) is formable from the feature vectors for the plurality of items;

an adjacency matrix (A) is formable from the at least one compatibility data structure;

the encoding function for a first layer of the neural network is based on the adjacency matrix (A) and the feature matrix (X); and

the encoding function for a layer of the neural network other than the first layer is based on the adjacency matrix (A) and output from a preceding layer of the neural network;

wherein the set of encoded representations for the plurality of items is a composition of encoding functions evaluated at the at least one layer of the neural network.

4. The method of claim 1 , further comprising: for each of the plurality of items, generating the feature vector representing the item, wherein the feature vector encodes visual information about the item; and storing the feature vector in the memory of the computer system.

5. The method of claim 4 , wherein for each of the plurality of items, the generating the feature vector representing the item comprises:

accessing an image of the item;

inputting the image of the item to a second neural network;

extracting output values from a layer of the second neural network; and

using the output values as elements of the feature vector representing the item.

6. The method of claim 5 , wherein the second neural network comprises a convolutional neural network.

7. The method of claim 6 , wherein the second neural network implements a residual neural network (ResNet) architecture.

8. The method of claim 5 , wherein the second neural network has been pre-trained on a dataset comprising a plurality of images.

9. The method of claim 1 , further comprising:

retrieving data that identifies a plurality of item collections; and

storing elements in the at least one compatibility data structure to indicate that two items are considered compatible with each other where the data identifies that the two items belong to a same item collection.

10. The method of claim 9 , wherein the data that identifies the plurality of item collections originates from a dataset comprising a plurality of images, wherein in each of the plurality of images at least one item is depicted, and wherein each of the plurality of images defines one of the plurality of item collections.

11. The method of claim 9 , wherein the data that identifies the plurality of item collections originates from a dataset comprising a plurality of matched items, wherein the method further comprises executing a search of the matched items to define the plurality of item collections.

12. The method of claim 1 , wherein the edges of the input graph are unweighted.

13. The method of claim 1 , wherein the edges of the input graph are undirected.

14. The method of claim 1 , wherein the training further comprises:

identifying, from the at least one compatibility data structure, at least one pair of items for which there is no indication that the items of the pair are compatible, the identifying representable by a non-presence of at least one corresponding edge of the input graph;

wherein the loss function reflects the decoder's ability to correctly determine that the at least one pair of items, as identified at the identifying, for which there is no indication that the items of the pair are compatible, are unlikely to be compatible.

15. The method of claim 1 , wherein the decoder is configured to determine the likelihood of compatibility of two selected items by evaluating a distance function based on a first encoded representation associated with one of the two selected items and on a second encoded representation associated with one other of the two selected items.

16. The method of claim 15 , wherein the distance function comprises an absolute distance function having learnable parameters.

17. The method of claim 1 , wherein for each given indication in the at least one compatibility data structure that items of a given pair of items are compatible, the given indication is randomly removed prior to the modifying with an identified probability (p drop ).

18. The method of claim 1 , wherein the compatibility score for at least two items of interest is computable to determine which item from a set of proposed items is considered most compatible with a second set of identified items.

19. The method of claim 1 , wherein the compatibility score for at least two items of interest is computable that represents a level of compatibility among items in a proposed item collection.

20. A computer-implemented compatibility score generator for assessing the compatibility of items, comprising:

at least one processor; and

a non-transitory computer-readable medium;

wherein the compatibility score generator implements a neural network for generating encoded representations of the items; and

wherein the non-transitory computer-readable medium comprises instructions which, upon execution by the at least one processor, cause the at least one processor to train the compatibility score generator in accordance with the method of claim 1 .

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2025
From: SERVICENOW CANADA INC.
To: SERVICENOW, INC.
Reel/Frame 070644/0956 →
MERGER Recorded Dec 21, 2021
From: ELEMENT AI INC.
To: SERVICENOW CANADA INC.
Reel/Frame 058562/0381 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2020
From: TASLAKIAN, PEROUZ; VAZQUEZ BERMUDEZ, DAVID; CUCURULL PREIXENS, GUILLEM
To: ELEMENT AI INC.
Reel/Frame 054305/0334 →
Continuity (2)
Provisional Application 62767849 · Nov 15, 2018
Related Publication 20200160154A1 · May 21, 2020
Cited By (2)
US 12,277,746 US 12,511,871