# US 2016/0366458 A1 · Remote device activity and source metadata processor

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

- Number: US 2016/0366458 A1
- Document ID: US20160366458A1
- Status: Published application
- Kind: A1
- Application number: 15/249,649
- Filed: 2016-08-29
- Published: 2016-12-15
- Earliest claimed: 2013-10-08
- Assignees: Spotify AB
- Applicants: Spotify AB
- Inventors: Brian Whitman; David Rodger
- Web page: https://patentgrep.com/patent/US20160366458A1

## CPC

- H04N 21/278: Content descriptor database or directory service for end-user access {(details of content or meta data based information retrieval of video data in video databases G06F16/739)}
- G06F 16/313: {Selection or weighting of terms for indexing}
- G06F 16/319: {Inverted lists}
- G06F 16/334: Query execution (filtering based on additional data G06F16/335)
- G06F 16/7867: {using information manually generated, e.g. tags, keywords, comments, title and artist information, manually generated time, location and usage information, user ratings}
- G06Q 30/0282: Rating or review of business operators or products
- H04N 21/232: Content retrieval operation {locally} within server, e.g. reading video streams from disk arrays {(storage management G06F3/0604; details of querying and searching of video data from a database G06F16/739)}
- H04N 21/251: {Learning process for intelligent management, e.g. learning user preferences for recommending movies (details of learning user preferences for the retrieval of video data in a video database G06F16/739; computer systems using learning methods G06N3/08)}
- 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/432: Content retrieval operation from a local storage medium, e.g. hard-disk {(details of retrieval of video data and associated meta data in video databases G06F16/739)}
- H04N 21/435: Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
- H04N 21/44226: {on social networks}
- H04N 21/4622: {Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet (web site content organization and management for information retrieval from the Internet G06F16/958; transmission by internet of broadcast information H04H60/82; stock exchange data over packet-switching network H04L12/1804; push services including data channel over packet-switching network H04L12/1859)}
- H04N 21/4826: {using recommendation lists, e.g. of programmes or channels sorted out according to their score}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- 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

Methods, systems and computer program products are provided for providing content recommendation by obtaining metadata associated with a media object, extracting from the metadata a plurality of terms associated with the media object, and mapping at least a portion of the plurality of terms to buckets. A query vector having attributes corresponding to the buckets is used to perform a query on a database storing media object documents having attributes corresponding to the buckets.

## Claims

### Claim at position 1

-21. (canceled)

### Claim 22

A method for receiving and processing activity data from remote devices and metadata from sources by a media object recommendation system, comprising the steps of:
receiving, from a plurality of remote devices, activity data corresponding to one or more media objects accessible by the plurality of remote devices;
generating a plurality of media object documents, each media object document containing a plurality of media object terms related to a subject of a media object, each term being a term-weighted pair associated with one of a plurality of buckets, wherein the weight of the term-weighted pair indicates how close the term of the term-weighted pair describes the subject of the media object;
generating, for each remote device, a taste profile containing a record corresponding to the activity data; and
generating an inverted index containing records having a plurality of index terms that are indexes to the plurality of media object documents, each index term corresponding to at least one of the plurality of media object terms in the plurality of media object documents.

### Claim 23 (depends on 22)

A method according to claim 22, further comprising the steps of:
computing a similarity score of the plurality of media object terms across each bucket of the plurality of buckets in each taste profile; and
weighting the plurality of buckets based on the similarity score.

### Claim 24 (depends on 22)

A method according to claim 22, further comprising the steps of:
obtaining metadata associated with the media object from a plurality of data sources;
extracting from the metadata the plurality of source terms associated with the media object; and
mapping, in a corresponding one of the media object documents, at least a portion of the plurality of source terms to at least one of the plurality of buckets, wherein the portion of the plurality of source terms are the media object terms.

### Claim 25 (depends on 24)

The method according to claim 24, further comprising the steps of:
generating the plurality of buckets by selecting categorization terms corresponding to a plurality of like-terms associated with a type of media content.

### Claim 26 (depends on 24)

The method according to claim 24, further comprising the steps of:
generating the plurality of buckets by clustering the plurality of media object terms using a plurality of cluster terms and a plurality of definitions including a plurality of references to a plurality of other terms, wherein the cluster terms having the highest scores correspond to the plurality of buckets.

### Claim 27 (depends on 24)

The method according to claim 24, wherein the metadata is extracted from at least one structured data source.

### Claim 28 (depends on 24)

The method of claim 24, further comprising:
for each bucket of the plurality of buckets:
correlating the plurality of media object terms associated with the bucket; and
weighting each bucket based on a correlation value obtained by the correlating.

### Claim 29 (depends on 24)

The method according to claim 24, further comprising:
calculating, for each media object term of the plurality of media object terms, a probability that the media object term is associated with the media object;
associating the probability to each media object term, correspondingly;
generating a vector of term-weight attributes based on the associating;
generating a document containing at least the vector; and
storing the document in a database.

### Claim 30 (depends on 29)

The method of claim 29, further comprising:
generating a query vector corresponding to at least one of the plurality of buckets; and
querying the database by using the query vector.

### Claim 31

A system for receiving and processing activity data from remote devices and metadata from sources by a media object recommendation system, comprising:
a server operable to:
receive, from a plurality of remote devices, activity data corresponding to one or more media objects accessible by the plurality of remote devices;
generate a plurality of media object documents, each media object document containing a plurality of media object terms related to a subject of a media object, each term being a term-weighted pair associated with one of a plurality of buckets, wherein the weight of the term-weighted pair indicates how close the term of the term-weighted pair describes the subject of the media object;
generate, for each remote device, a taste profile containing a record corresponding to the activity data; and
generate an inverted index containing records having a plurality of index terms that are indexes to the plurality of media object documents, each index term corresponding to at least one of the plurality of media object terms in the plurality of media object documents.

### Claim 32 (depends on 31)

A system according to claim 31, wherein the surfer is further operable to:
compute a similarity score of the plurality of media object terms across each bucket of the plurality of buckets in each taste profile; and
weight the plurality of buckets based on the similarity score.

### Claim 33 (depends on 31)

The system according to claim 31, wherein the server is further operable to:
obtain metadata associated with the media object from a plurality of data sources;
extract from the metadata a plurality of source terms associated with the media object; and
map in a corresponding one of the media object documents at least a portion of the plurality of source terms to the plurality of source buckets, wherein the portion of the plurality of source terms are the media object terms.

### Claim 34 (depends on 33)

The system according to claim 33, wherein the server is further operable to:
generate the plurality of buckets by selecting categorization terms corresponding to a plurality of like-terms associated with a type of media content.

### Claim 35 (depends on 33)

The system according to claim 33, wherein the server is further operable to:
generate the plurality of buckets by clustering the plurality of media object terms using a plurality of cluster terms and a plurality of definitions including a plurality of references to a plurality of other terms, wherein the cluster terms having the highest scores correspond to the plurality of buckets.

### Claim 36 (depends on 33)

The system according to claim 33, wherein the metadata is extracted from at least one structured data source.

### Claim 37 (depends on 33)

The system of claim 33, the server being further operable to:
for each bucket of the plurality of buckets:
correlate the plurality of media object terms associated with the bucket; and
weight each source bucket based on a correlation value obtained by the correlating.

### Claim 38 (depends on 33)

The system of according to claim 33, the server being further operable to:
calculate, for each term of the plurality of media object terms, a probability that the media object term is associated with the media object;
associate the probability to each media object term, correspondingly;
generate a vector of term-weight attributes based on the associating;
generate a document containing at least the vector; and
store the document in a database.

### Claim 39 (depends on 38)

The system according to of claim 38, wherein the server is further operable to:
generate a query vector corresponding to at least one of the plurality of buckets; and
query the database by using the query vector.
