# US 2018/0322131 A1 · System and Method for Content-Based Media Analysis

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

- Number: US 2018/0322131 A1
- Document ID: US20180322131A1
- Status: Published application
- Kind: A1
- Application number: 16/038,994
- Filed: 2018-07-18
- Published: 2018-11-08
- Earliest claimed: 2016-02-08
- Assignees: eBay Inc.
- Applicants: eBay Inc.
- Inventors: Adi Guila Haviv; Benjamin Eliot Klein; Krutika Shetty
- Web page: https://patentgrep.com/patent/US20180322131A1

## CPC

- G06F 16/355: Creation or modification of classes or clusters
- G06N 20/00: Machine learning
- G06Q 30/0631: {Recommending goods or services}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- 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

A media analysis system includes one or more hardware processors, a memory storing synopses associated with media items, and a content analysis engine. The content analysis engine generates a media vector for each media item based on the associated synopsis by generating a word vector for each word in the synopsis, combining the plurality of word vectors into a mean vector for the media item, and storing the mean vector as the media vector associated with the media item. The content analysis engine also identifies a target media item associated with a seed media vector, determines R nearest neighbors for the target media item from the plurality of media items based on (1) the seed media vector and (2) the media vectors associated with the plurality of media items, clusters the R nearest neighbors into K clusters, and selects media items for recommendation to a user based on the K clusters.

## Claims

### Claim 1

A media analysis system comprising:
one or more hardware processors;
a memory storing synopses associated with a plurality of media items, each media item in the plurality of media items including a different synopsis; and
a content analysis engine, executable by the one or more hardware processors, configured to perform operations comprising:
generating a different media vector for each media item of the plurality of media items based on the synopsis of the media item, the generating comprising:
generating a word vector for each word of a plurality of words in the synopsis of the media item, thereby generating a plurality of word vectors;
combining the plurality of word vectors into a mean vector for the media item, the mean vector being the media vector; and
storing the mean vector, in the memory, as the media vector associated with the media item;
identifying a target media item, the target media item associated with a seed media vector;
determining R nearest neighbors for the target media item from the plurality of media items based on (1) the seed media vector and (2) the media vectors associated with the plurality of media items;
clustering the R nearest neighbors for the target media item into K clusters; and
selecting a second plurality of media items for recommendation to a user based on the K clusters.

### Claim 2 (depends on 1)

The media analysis system of claim 1, wherein generating the word vector for each word of the plurality of words in the synopsis of the media item comprises generating the word vector using word2vec.

### Claim 3 (depends on 1)

The media analysis system of claim 1,
wherein the synopsis of the media item includes N words,
wherein the plurality of word vectors includes a multiset of word vectors, X, of N word vectors {x1, x2, . . . , xN}, and
wherein combining the plurality of word vectors into the mean vector, v, comprises computing:
v
=
1
N

∑
i
=
1
N

x
i
.

### Claim 4 (depends on 1)

The media analysis system of claim 1, wherein the content analysis engine is further configured to perform operations comprising:
computing a cosine distance, cosine(s,t), between each pairing of the seed media vector, s, and the associated media vector, t, of each media item of the plurality of media items:
cosine

(
s
,
t
)
=
1
-
s
·
t
||
s
||
||
t
||
,
wherein s·t is the dot product of the vectors s and t, thereby generating an associated cosine distance for each media item of the plurality of media items; and
determining the R nearest neighbors for the target media item from the plurality of media items further based on the associated cosine distance for each media item of the plurality of media items.

### Claim 5 (depends on 1)

The media analysis system of claim 1, wherein the content analysis engine is further configured to perform operations comprising selecting one media item from each of the K clusters.

### Claim 6 (depends on 1)

The media analysis system of claim 1, wherein the content analysis engine is further configured to perform operations comprising:
clustering the seed media vector into a seed cluster, the seed cluster being one of the K clusters,
wherein selecting the second plurality of media items based on the K clusters excludes the seed cluster.

### Claim 7 (depends on 1)

The media analysis system of claim 1, wherein the content analysis engine is further configured to perform operations comprising:
generating a media vector for each catalog movie of a plurality of catalog movies based on an associated synopsis of each catalog movie,
wherein determining the R nearest neighbors for the target media item further includes identifying the R nearest neighbors from the plurality of catalog movies, and further based on the media vectors associated with the plurality of catalog movies.

### Claim 8

A computer-implemented method for content-based media analysis, the method comprising:
generating a different media vector for each media item of a plurality of media items based on a synopsis of the media item, the generating comprising:
generating a word vector for each word of a plurality of words in the synopsis of the media item, thereby generating a plurality of word vectors;
combining the plurality of word vectors into a mean vector for the media item, the mean vector being the media vector; and
storing the mean vector, in a memory, as the media vector associated with the media item;
identifying a target media item, the target media item associated with a seed media vector;
determining R nearest neighbors for the target media item from the plurality of media items based on (1) the seed media vector and (2) the media vectors associated with the plurality of media items;
clustering the R nearest neighbors for the target media item into K clusters; and
selecting a second plurality of media items for recommendation to a user based on the K clusters.

### Claim 9 (depends on 8)

The method of claim 8, wherein generating the word vector for each word of the plurality of words in the synopsis of the media item comprises generating the word vector using word2vec.

### Claim 10 (depends on 8)

The method of claim 8,
wherein the synopsis of the media item includes N words,
wherein the plurality of word vectors includes a multiset of word vectors, X, of N word vectors {x1, x2, . . . , xN}, and
wherein combining the plurality of word vectors into the mean vector, v, includes computing:
v
=
1
N

∑
i
=
1
N

x
i
.

### Claim 11 (depends on 8)

The method of claim 8, further comprising:
computing a cosine distance, cosine(s,t), between each pairing of the seed media vector, s, and the associated media vector, t, of each media item of the plurality of media items:
cosine

(
s
,
t
)
=
1
-
s
·
t
||
s
||
||
t
||
,
wherein s·t is the dot product of the vectors s and t, thereby generating an associated cosine distance for each media item of the plurality of media items; and
determining the R nearest neighbors for the target media item from the plurality of media items further based on the associated cosine distance for each media item of the plurality of media items.

### Claim 12 (depends on 8)

The method of claim 8, further comprising selecting one media item from each of the K clusters.

### Claim 13 (depends on 8)

The method of claim 8, further comprising:
clustering the seed media vector into a seed cluster, the seed cluster being one of the K clusters,
wherein selecting the second plurality of media items based on the K clusters excludes the seed cluster.

### Claim 14 (depends on 8)

The method of claim 8, further comprising:
generating a media vector for each catalog movie of a plurality of catalog movies based on an associated synopsis of each catalog movie,
wherein determining the R nearest neighbors for the target media item further includes identifying the R nearest neighbors from the plurality of catalog movies, and further based on the media vectors associated with the plurality of catalog movies.

### Claim 15

A non-transitory machine-readable medium storing processor-executable instructions which, when executed by a processor, cause the processor to:
generate a different media vector for each media item of a plurality of media items based on a synopsis of the media item, the generating comprising:
generating a word vector for each word of a plurality of words in the synopsis of the media item, thereby generating a plurality of word vectors;
combining the plurality of word vectors into a mean vector for the media item, the mean vector being the media vector; and
storing the mean vector, in a memory, as the media vector associated with the media item;
identify a target media item, the target media item is associated with a seed media vector;
determine R nearest neighbors for the target media item from the plurality of media items based on (1) the seed media vector and (2) the media vectors associated with the plurality of media items;
cluster the R nearest neighbors for the target media item into K clusters; and
select a second plurality of media items for recommendation to a user based on the K clusters.

### Claim 16 (depends on 15)

The machine-readable medium of claim 15,
wherein the synopsis of the media item includes N words,
wherein the plurality of word vectors includes a multiset of word vectors, X, of N word vectors {x1, x2, . . . , xN}, and
wherein combining the plurality of word vectors into the mean vector, v, includes computing:
v
=
1
N

∑
i
=
1
N

x
i
.

### Claim 17 (depends on 15)

The machine-readable medium of claim 15, wherein the processor-executable instructions further cause the processor to:
compute a cosine distance, cosine(s,t), between each pairing of the seed media vector, s, and the associated media vector, t, of each media item of the plurality of media items:
cosine

(
s
,
t
)
=
1
-
s
·
t
||
s
||
||
t
||
,
wherein s·t is the dot product of the vectors s and t, thereby generating an associated cosine distance for each media item of the plurality of media items; and
determine the R nearest neighbors for the target media item from the plurality of media items further based on the associated cosine distance for each media item of the plurality of media items.

### Claim 18 (depends on 15)

The machine-readable medium of claim 15, wherein the processor-executable instructions further cause the processor to select one media item from each of the K clusters.

### Claim 19 (depends on 15)

The machine-readable medium of claim 15, wherein the processor-executable instructions further cause the processor to:
cluster the seed media vector into a seed cluster, the seed cluster being one of the K clusters,
wherein selecting the second plurality of media items based on the K clusters excludes the seed cluster.

### Claim 20 (depends on 15)

The machine-readable medium of claim 15, wherein the processor-executable instructions further cause the processor to:
generate a media vector for each catalog movie of a plurality of catalog movies based on an associated synopsis of each catalog movie,
wherein determining the R nearest neighbors for the target media item further includes identifying the R nearest neighbors from the plurality of catalog movies, and further based on the media vectors associated with the plurality of catalog movies.
