# US 10,311,070 B2 · Candidate topic picker for digital magazine

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

- Number: US 10,311,070 B2
- Document ID: US10311070B2
- Status: Granted
- Kind: B2
- Application number: 15/242,088
- Filed: 2016-08-19
- Published: 2018-02-22
- Granted: 2019-06-04
- Earliest claimed: 2016-08-19
- Assignees: Flipboard, Inc.
- Applicants: Flipboard, Inc.
- Inventors: Robert Griesmeyer
- Web page: https://patentgrep.com/patent/US10311070B2

## CPC

- G06F 16/24578: {using ranking}
- G06F 8/00: Arrangements for software engineering (testing or debugging G06F11/36; administrative, planning or organisation aspects of software project management G06Q10/06)
- G06F 8/61: Installation
- G06F 16/248: Presentation of query results
- G06F 16/95: Retrieval from the web
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system generates and displays to a user of a digital magazine a list of candidate topics. The system first receives a package name list from a user device of the user, and the package name list indicates computer applications installed on the user device. The system retrieves a package name-topic matrix generated based on information associated with a set of existing users of the system. The system compares package names included in the received package name list and package names included in the package name-topic matrix, and identifies known topics in the package name-topic matrix based on the comparison. The system generates a list of candidate topics for the user based on the identified known topics, and provides the list for display to the user. In response to candidate topics selected by the user, the system provides to the user content relevant to the selected candidate topics.

## Claims

### Claim 1

A computer-implemented method comprising:
receiving a list of applications installed on a user device of a user, each application being identified by a package name;
retrieving a package name-topic matrix representing correlations between a plurality of package names identifying a plurality of applications installed on user devices of a set of existing users and known topics associated with the set of existing users, wherein the package name-topic matrix is a two-dimensional matrix with one dimension representing the set of the existing users and the other dimension representing the known topics for the set of existing users, and each entry of the package name-topic matrix describes a correlation between a corresponding topic and a package name identifying an application installed on the user devices of the set of existing users;
comparing the package names on the received list with the plurality of package names in the retrieved package name-topic matrix;
identifying one or more known topics from the package name-topic matrix based on the comparison; and
generating, for presentation to the user, a list of candidate topics based on the identified one or more known topics.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising:
sending to the user device of the user a request for the list of applications installed on the user device of the user;
receiving one or more candidate topics selected by the user from the list of candidate topics;
selecting content items on the selected candidate topics; and
providing the selected content items for presentation to the user.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, further comprising:
ranking the identified known topics based on ranking information associated with each identified known topic; and
generating the list of candidate topics based on the ranking.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3, wherein the ranking information associated with an identified known topic describes a level of correlation between the known topic and each package name identifying an application installed on the user devices of the set of existing users.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, further comprising:
retrieving a user-package name matrix and a user-topic matrix associated with the set of existing users and the plurality of applications installed on the user devices of the set of existing users; and
generating the package name-topic matrix by multiplying a transpose of the user-package name matrix with the user-topic matrix.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5, wherein the user-package name matrix is a two-dimensional matrix with one dimension representing the set of the existing users and the other dimension representing the applications identified by the plurality of the package names.

### Claim 7 (depends on 6)

The computer-implemented method of claim 6, wherein each entry of the user-package name matrix represents a correlation between a corresponding user and an application identified by a corresponding package name, the correlation indicating how relevant the application is to the user with respect to other computer applications.

### Claim 8 (depends on 7)

The computer-implemented method of claim 7, wherein the correlation between a corresponding user and an application identified by a corresponding package name is represented by a numeric value generated by a trained term frequency and inverse document frequency statistic model based on user information of the set of existing users and information of the plurality of applications installed on the user devices of the set of existing users.

### Claim 9 (depends on 5)

The computer-implemented method of claim 5, wherein the user-topic matrix is a two-dimensional matrix with one dimension representing the set of the existing users and the other dimension representing the known topics for the set of existing users.

### Claim 10 (depends on 9)

The computer-implemented method of claim 9, wherein each entry of the user-topic matrix represents a correlation between a corresponding user and a corresponding known topic, the correlation indicating how relevant the known topic is to the user with respect to other known topics.

### Claim 11

A non-transitory computer readable storage medium storing computer program instructions, the computer program instructions when executed by a computer processor causes the processor to perform the steps of:
receiving a list of applications installed on a user device of a user, each computer application being identified by a package name;
retrieving a package name-topic matrix representing correlations between a plurality of package names identifying a plurality of applications installed on user devices of a set of existing users and known topics associated with the set of existing users, wherein the package name-topic matrix is a two-dimensional matrix with one dimension representing the set of the existing users and the other dimension representing the known topics for the set of existing users, and each entry of the package name-topic matrix describes a correlation between a corresponding topic and a package name identifying an application installed on the user devices of the set of existing users;
comparing the package names on the received list with the plurality of package names in the retrieved package name-topic matrix;
identifying one or more known topics from the package name-topic matrix based on the comparison; and
generating, for presentation to the user, a list of candidate topics based on the identified one or more known topics.

### Claim 12 (depends on 11)

The non-transitory computer readable storage medium of claim 11, further comprising:
sending to the user device of the user a request for the list of applications installed on the user device of the user;
receiving one or more candidate topics selected by the user from the list of candidate topics;
selecting content items on the selected candidate topics; and
providing the selected content items for presentation to the user.

### Claim 13 (depends on 11)

The non-transitory computer storage medium of claim 11, further comprising:
ranking the identified known topics based on ranking information associated with each identified known topic; and
generating the list of candidate topics based on the ranking.

### Claim 14 (depends on 13)

The non-transitory computer storage medium of claim 13, wherein the ranking information associated with an identified known topic describes a level of correlation between the known topic and each package name identifying an application installed on the user devices of the set of existing users.

### Claim 15 (depends on 11)

The non-transitory computer storage medium of claim 11, further comprising:
retrieving a user-package name matrix and a user-topic matrix associated with the set of existing users and the plurality of applications installed on the user devices of the set of existing users; and
generating the package name-topic matrix by multiplying a transpose of the user-package name matrix with the user-topic matrix.

### Claim 16 (depends on 11)

The non-transitory computer storage medium of claim 11, wherein the user-package name matrix is a two-dimensional matrix with one dimension representing the set of the existing users and the other dimension representing the computer applications identified by the plurality of the package names.

### Claim 17 (depends on 14)

The non-transitory computer storage medium of claim 14, wherein each entry of the user-package name matrix represents a correlation between a corresponding user and a computer application identified by a corresponding package name, the correlation indicating how relevant the computer application is to the user with respect to other computer applications.

### Claim 18 (depends on 17)

The non-transitory computer storage medium of claim 17, wherein the correlation between a corresponding user and an application identified by a corresponding package name is represented by a numeric value generated by a trained term frequency and inverse document frequency statistic model based on user information of the set of existing users and information of the plurality of applications installed on the user devices of the set of existing users.

### Claim 19 (depends on 15)

The non-transitory computer storage medium of claim 15, wherein the user-topic matrix is a two-dimensional matrix with one dimension representing the set of the existing users and the other dimension representing the known topics for the set of existing users.

### Claim 20 (depends on 19)

The non-transitory computer storage medium of claim 19, wherein each entry of the user-topic matrix represents a correlation between a corresponding user and a corresponding known topic, the correlation indicating how relevant the known topic is to the user with respect to other known topics.
