# US 10,873,782 B2 · Generating user embedding representations that capture a history of changes to user trait data

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,873,782 B2
- Document ID: US10873782B2
- Status: Granted
- Kind: B2
- Application number: 16/149,357
- Filed: 2018-10-02
- Published: 2020-04-02
- Granted: 2020-12-22
- Earliest claimed: 2018-10-02
- Assignees: Adobe Inc.
- Applicants: Adobe Inc.
- Inventors: Vijeth Lomada; Vidit Bhatia; Haichun Chen
- Web page: https://patentgrep.com/patent/US10873782B2

## CPC

- H04N 21/26208: {the scheduling operation being performed under constraints}
- H04N 21/4532: {involving end-user characteristics, e.g. viewer profile, preferences (monitoring of user activities for profile generation for accessing a video database G06F16/739; user profiles in network data switching protocols H04L67/306; processing of user preferences or user profiles in wireless networks H04W8/18)}
- G06N 3/044: Recurrent networks, e.g. Hopfield networks
- G06N 3/0442: characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
- G06N 3/045: Combinations of networks
- G06N 3/0455: Auto-encoder networks; Encoder-decoder networks
- G06N 3/048: Activation functions
- G06N 3/08: Learning methods
- G06N 3/082: modifying the architecture, e.g. adding, deleting or silencing nodes or connections
- G06N 3/084: Backpropagation, e.g. using gradient descent
- G06N 3/088: Non-supervised learning, e.g. competitive learning
- G06N 3/0895: Weakly supervised learning, e.g. semi-supervised or self-supervised learning
- G06N 7/01: Probabilistic graphical models, e.g. probabilistic networks
- G06Q 30/0201: Market modelling; Market analysis; Collecting market data
- H04N 21/252: {Processing of multiple end-users' preferences to derive collaborative data}
- H04N 21/25891: {being end-user preferences (retrieval of video data in a video database based on user preferences G06F16/739; arrangements for recognizing users' preferences H04H60/46; user profiles in network data switching protocols H04L67/306; processing of user preferences or user profiles in wireless networks H04W8/18)}
- H04N 21/4666: {using neural networks, e.g. processing the feedback provided by the user}
- H04N 21/8456: {by decomposing the content in the time domain, e.g. in time segments}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

The present disclosure relates to systems, non-transitory computer-readable media, and methods for generating user embeddings utilizing an LSTM autoencoder model that captures a history of changes to user trait data. For example, the user embeddings system identifies user trait changes from the user trait data over time as well as generates user trait sequences. Further, the user embeddings system can utilize the user trait sequences to train an LSTM neural network in a semi-supervised manner and generate uniform user embeddings for users.

## Claims

### Claim 1

In a digital medium environment for tracking changes to user characteristics, a computer-implemented method for generating user embedding representations, comprising:
identifying user trait for a plurality of users and associated timestamps;
generating a user trait sequence for each user of the plurality of users that comprises changes to user traits associated with the user based on the timestamps; and
step for generating user embeddings for the plurality of users that encode how traits change over time utilizing the user trait sequences.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising generating a user trait dictionary that comprises a trait-to-identifier mapping for each user trait included in the identified user traits.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the user traits comprise heterogeneous data, and wherein a first user of the plurality of users has a different number of user traits than a second user of the plurality of users.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3, wherein a vector length of a first user embedding representation corresponding to the first user is a same size as a vector length of a second user embedding representation corresponding to the second user.

### Claim 5

A non-transitory computer-readable medium storing instructions that, when executed by at least one processor, cause a computer system to:
receive user traits for a plurality of users that correspond to a plurality of timestamps;
generate a user trait sequence for each user of the plurality of users that comprises changes to user traits associated with the user with respect to the plurality of timestamps; and
generate user embeddings for the plurality of users from the user trait sequences utilizing a long short-term memory (LSTM) neural network that encodes the changes to the user traits over time within each of the user trait sequences into the user embeddings, wherein the LSTM neural network is an encoder within an LSTM autoencoder model having the encoder and a decoder, and wherein the encoder and the decoder each utilize one or more LSTM cells.

### Claim 6 (depends on 5)

The non-transitory computer-readable medium of claim 5, further comprising instructions that, when executed by at least one processor, cause the computer system to generate, for each user, an initial user trait state of the user trait sequence by:
identifying user traits at a first timestamp for the user; and
indicating an addition of each of the identified user traits at the first timestamp in the user trait sequence for the user.

### Claim 7 (depends on 5)

The non-transitory computer-readable medium of claim 5, further comprising instructions that, when executed by at least one processor, cause the computer system to generate, for each user, the user trait sequence by:
identifying user traits for the user at a first timestamp;
identifying user traits for the user at a second timestamp;
determining a change to one or more user traits from the first timestamp to the second timestamp; and
indicating the change to the one or more user traits in the user trait sequence for the user.

### Claim 8 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein indicating the change to the one or more user traits in the user trait sequence for the user comprises indicating:
an addition of a first user trait identified at the second timestamp and not identified at the first timestamp; and
a removal of a second user trait identified at the first timestamp and not identified at the second timestamp.

### Claim 9 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein indicating the change to the one or more user traits in the user trait sequence for the user further comprises indicating no change to a first user trait that is identified at the first timestamp and at the second timestamp.

### Claim 10 (depends on 5)

The non-transitory computer-readable medium of claim 5, wherein the user traits for a user of the plurality of users comprise changeable characteristics associated with the user.

### Claim 11 (depends on 5)

The non-transitory computer-readable medium of claim 5, wherein the decoder of the LSTM autoencoder model outputs a decoded user traits sequence in reverse order from an input user traits sequence encoded.

### Claim 12 (depends on 5)

The non-transitory computer-readable medium of claim 5, wherein the decoder of the LSTM autoencoder model receives multiple inputs from the encoder of the LSTM autoencoder model that comprise an encoded user embedding and a history vector output from a last LSTM cell of the encoder.

### Claim 13 (depends on 5)

The non-transitory computer-readable medium of claim 5, wherein the LSTM neural network comprises a dynamic LSTM that adjusts a number of the LSTM cells in the encoder to match a size of an input user trait sequence being provided, and wherein the LSTM neural network outputs a uniform user embedding irrespective of the number of the LSTM cells in the encoder.

### Claim 14

A system for generating user embeddings that represent a journey of a user's traits over time comprising:
at least one processor;
a memory that comprises:
user traits for a plurality of users that correspond to a plurality of timestamps;
a user traits dictionary that comprises user traits mapped to identifiers; and
a long short-term memory (LSTM) autoencoder model comprising an embedding layer, an LSTM encoder neural network having a first set of LSTM cells, an LSTM decoder neural network having a second set of LSTM cells, and a classification layer;
at least one non-transitory computer-readable storage medium storing instructions that, when executed by the at least one processor, cause the system to:
generate a user trait sequence for each user of the plurality of users by indicating additions and removals of user traits associated with the user over the plurality of timestamps; and
utilize the LSTM encoder neural network of the LSTM autoencoder model to generate user embeddings for each user of the plurality of users by encoding user traits changes over time within each of the user trait sequences into the user embeddings.

### Claim 15 (depends on 14)

The system of claim 14, further comprising instructions that, when executed by the at least one processor, cause the system to:
generate an encoded input vector at the embedding layer by mapping each user trait in a user trait sequence to an encoded value; and
providing each encoded numeric value of the encoded input vector to an LSTM cell of the first set of LSTM cells within the LSTM encoder neural network.

### Claim 16 (depends on 15)

The system of claim 15, further comprising instructions that, when executed by the at least one processor, cause the system to map each user trait in the user trait sequence to the encoded numeric value utilizing the user traits dictionary.

### Claim 17 (depends on 14)

The system of claim 14, further comprising instructions that, when executed by the at least one processor, cause the system to train the LSTM autoencoder model by:
utilizing the LSTM encoder neural network to generate user embeddings based on input user trait sequences;
utilizing the LSTM decoder neural network to determine predicted user trait sequences by decoding the generated user embeddings; and
comparing the predicted user trait sequences to the input user trait sequences to obtain prediction loss; and
back propagating the prediction loss to the LSTM encoder neural network and LSTM decoder neural network to tune the LSTM autoencoder model.

### Claim 18 (depends on 17)

The system of claim 17, further comprising instructions that, when executed by the at least one processor, cause the system to train the embedding layer utilizing the prediction loss, wherein training the embedding layer comprises updating encoded numeric values in the user traits dictionary.

### Claim 19 (depends on 17)

The system of claim 17, further comprising instructions that, when executed by the at least one processor, cause the system to train the LSTM autoencoder model in a semi-supervised manner utilizing enforced teaching, and wherein enforced teaching comprises providing a user trait change from a user trait sequence for a user and a given timestamp to the LSTM decoder neural network in place of providing a prediction user trait output generated by the LSTM decoder neural network for a previous timestamp.

### Claim 20 (depends on 14)

The system of claim 14, wherein the user traits for a user comprise changeable characteristics associated with the user.
