IP Library Granted Patent US 12705535
Granted Patent B2
US 12705535 · App. 18/159,633 · Granted Aug 11, 2026

Systems and methods for grouping records associated with like media items

Inventor: Dimitrios Korkinof (Surrey, GB)
Assignee: Spotify AB
G06N20/00
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 12705535
App. No.
18/159,633
Granted
Aug 11, 2026
Kind
B2
Abstract

An electronic system obtains a first plurality of records corresponding to a plurality of media items, wherein each record of the first plurality of records has at least one attribute of a plurality of attributes. The electronic system trains a machine-learning model by, for each record of the first plurality of records, masking a portion of an attribute of the record. An encoder of the machine-learning model produces a training embedding for the record, and a decoder of the machine-learning model predicts the masked portion of the attribute of the record, based on the training embedding. The electronic system uses the trained machine-learning model to produce an embedding for each record of a second plurality of records, and groups two or more records of the second plurality of records into a first group based on the embeddings of the two or more records.

Claims (53)

1 . A method, comprising: at a first electronic device associated with a media-providing service, the first electronic device having one or more processors and memory storing instructions for execution by the one or more processors: obtaining a first plurality of records, each of the plurality of records corresponding to a plurality of media items, stored in one or more content distribution networks (CDNs) of the media-providing service, wherein each record of the first plurality of records has at least one attribute of a plurality of attributes; training a machine-learning model by, for each record of the first plurality of records, masking a portion of an attribute of the record, wherein: the machine-learning model comprises an encoder and a decoder; the encoder produces a training embedding for the record; and the decoder predicts the masked portion of the attribute of the record, based on the training embedding, wherein the encoder and the decoder are trained together based on the predicted masked portion of the attribute of each record; using the encoder of the trained machine-learning model to produce an embedding for each record of a second plurality of records, wherein one or more of the second plurality of records have missing and/or incomplete attributes, and producing the embeddings does not include using the decoder to predict the missing and/or incomplete attributes; and grouping two or more records of the second plurality of records into a first group based on the embeddings of the two or more records, wherein the grouping the two or more records of the second plurality of records comprises deduplicating records that correspond to a same media item, and the deduplicating records that correspond to the same media item comprises forgoing presenting one or more of records that correspond to the same media item in the media-providing service.

2 . The method of claim 1 , further comprising:

in response to a request to add a first media item corresponding to a first record of the second plurality of records to a playlist associated with the first electronic device;

determining the first media item is associated with the first group, based on a respective embedding for the first record; and

in accordance with a determination that the playlist includes a second media item that belongs to the first group, forgoing adding the first media item to the playlist to be played back at the first electronic device.

3 . The method of claim 1 , wherein:

the at least one attribute of the plurality of attributes includes one or more of the group consisting of: a title of a media item, an album of the media item, one or more performers of the media item, and one or more writers of the media item corresponding to each record of the first plurality of records.

4 . The method of claim 1 , wherein:

the encoder is a first encoder that produces a first embedding based on the plurality of attributes, and

the machine-learning model further comprises a second encoder that produces a second embedding based on a subset, less than all, of the plurality of attributes, wherein the second embedding produced by the second encoder is an input to the first encoder.

5 . The method of claim 4 , wherein:

the first encoder is a first attribute-level encoder configured to generate a first attribute-level embedding for a first attribute; and

the machine-learning model further comprises a second attribute-level encoder configured to generate a second attribute-level embedding for a second attribute.

6 . The method of claim 5 , wherein:

the first attribute-level encoder is configured to generate the first attribute-level embedding for one or more of a title attribute or an album attribute; and

the second attribute-level encoder is configured to generate the second attribute-level embedding for one or more of a writer attribute or a performer attribute.

7 . The method of claim 1 , further comprising:

in response to receiving a request for a third media item, identifying that the third media item is grouped into a first respective group;

selecting a record from the first respective group based on one or more acoustic parameters; and

providing a media item corresponding to the selected record to the first electronic device.

8 . The method of claim 1 , further comprising:

receiving, from the first electronic device, a request for a fourth media item;

in response to receiving the request for the fourth media item, identifying that the fourth media item is grouped into a second respective group;

selecting a record from the second respective group based on respective play counts of respective records in the second respective group; and

providing the selected record to the first electronic device.

9 . The method of claim 1 , wherein grouping two or more records of the second plurality of records into the first group further comprises:

analyzing the second plurality of records using a blocking layer, the blocking layer configured to identify a candidate group including a plurality of candidate records greater than the two or more records of the second plurality of records; and

analyzing the plurality of candidate records using a matching layer, different from the blocking layer, configured to identify a subset of the plurality of candidate records, wherein the two or more records of the first group include the subset of the plurality of candidate records.

10 . The method of claim 1 , wherein:

the machine-learning model determines that a media item corresponding to a first record of the second plurality of records corresponds to a first media item type; and

in accordance with a determination that the first record corresponds to the first media item type, determining that one or more attributes of the first record are not to be used by the machine-learning model for grouping two or more records of the second plurality of records into the first group.

11 . The method of claim 1 , wherein:

the embedding is a first embedding;

a tokenizable attribute of each of the second plurality of records is tokenized into a plurality of tokens;

a plurality of token embeddings is generated for the plurality of tokens of the tokenizable attribute; and

a second embedding is generated for each of the second plurality of records based on two or more of the plurality of token embeddings.

12 . A computer system, comprising: one or more processors; and memory storing one or more programs for execution by the one or more processors, the one or more programs comprising instructions for performing a set of operations, comprising: obtaining a first plurality of records, each of the plurality of records corresponding to a plurality of media items, stored in one or more content distribution networks (CDNs) of the media-providing service, wherein each record of the first plurality of records has at least one attribute of a plurality of attributes; training a machine-learning model by, for each record of the first plurality of records, masking a portion of an attribute of a training record, wherein: the machine-learning model comprises an encoder and a decoder; the encoder produces a training embedding for the training record; and the decoder predicts the masked portion of the attribute of the training record, based on the training embedding, wherein the encoder and the decoder are trained together based on the predicted masked portion of the attribute of each record; using the encoder of the trained machine-learning model to produce an embedding for each record of a second plurality of records, wherein one or more of the second plurality of records have missing and/or incomplete attributes, and producing the embeddings does not include using the decoder to predict the missing and/or incomplete attributes; and grouping two or more records of the second plurality of records into a first group based on the embeddings of the two or more records, wherein the grouping the two or more records of the second plurality of records comprises deduplicating records that correspond to a same media item, and the deduplicating records that correspond to the same media item comprises forgoing presenting one or more of records that correspond to the same media item in the media-providing service.

13 . The computer system of claim 12 , the one or more programs further comprising instructions for:

in response to a request to add a first media item corresponding to a first record of the second plurality of records to a playlist associated with a first electronic device;

determining the first media item is associated with the first group, based on a respective embedding for the first record; and

in accordance with a determination that the playlist includes a second media item that belongs to the first group, forgoing adding the first media item to the playlist to be played back at the first electronic device.

14 . The computer system of claim 12 , wherein:

the at least one attribute of the plurality of attributes includes one or more of the group consisting of: a title of a media item, an album of the media item, one or more performers of the media item, and one or more writers of the media item corresponding to each record of the first plurality of records.

15 . The computer system of claim 12 , wherein:

the encoder is a first encoder that produces a first embedding based on the plurality of attributes, and

the machine-learning model further comprises a second encoder that produces a second embedding based on a subset, less than all, of the plurality of attributes, wherein the second embedding produced by the second encoder is an input to the first encoder.

16 . The computer system of claim 15 , wherein:

the first encoder is a first attribute-level encoder configured to generate a first attribute- level embedding for a first attribute; and

the machine-learning model further comprises a second attribute-level encoder configured to generate a second attribute-level embedding for a second attribute.

17 . The computer system of claim 16 , wherein:

the first attribute-level encoder is configured to generate the first attribute-level embedding for one or more of a title attribute or an album attribute; and

the second attribute-level encoder is configured to generate the second attribute-level embedding for one or more of a writer attribute or a performer attribute.

18 . A non-transitory computer-readable storage medium storing one or more programs configured for execution by a computer system, the one or more programs comprising instructions for performing a set of operations, comprising: obtaining a first plurality of records, each of the plurality of records corresponding to a plurality of media items, stored in one or more content distribution networks (CDNs) of the media-providing service, wherein each record of the first plurality of records has at least one attribute of a plurality of attributes; training a machine-learning model by, for each record of the first plurality of records, masking a portion of an attribute of a training record, wherein: the machine-learning model comprises an encoder and a decoder; the encoder produces a training embedding for the training record; and the decoder predicts the masked portion of the attribute of the training record based on the training embedding, wherein the encoder and the decoder are trained together based on the predicted masked portion of the attribute of each record; using the encoder of the trained machine-learning model to produce an embedding for each record of a second plurality of records, wherein one or more of the second plurality of records have missing and/or incomplete attributes, and producing the embeddings does not include using the decoder to predict the missing and/or incomplete attributes; and grouping two or more records of the second plurality of records into a first group based on the embeddings of the two or more records, wherein the grouping the two or more records of the second plurality of records comprises deduplicating records that correspond to a same media item, and the deduplicating records that correspond to the same media item comprises forgoing presenting one or more of records that correspond to the same media item in the media-providing service.