IP Library Granted Patent US 10,803,077
Granted Patent B2
US 10,803,077 · App. 15/966,494 · Granted Oct 13, 2020

Applying templates to customize presentation of content based on surface type

Inventors: Fuchun Peng (Cupertino, CA); Bo Zeng (Fremont, CA); Kun Han (Sunnyvale, CA); Benoit Dumoulin (Palo Alto, CA)
Assignee: Facebook, Inc.
G06F16/248G06F16/24578G06F16/9535G06F40/186
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 10,803,077
App. No.
15/966,494
Granted
Oct 13, 2020
Kind
B2
Abstract

An online system receives a request to generate presentation content for presentation to a user. The online system receives a set of content items and identifies a surface for presenting the presentation information to the user. For example, the surface may be a voice only surface, a voice and graphical display, a graphical display only. Based on the identified surface, the online system ranks the set of content items. The online system then determines presentation information for a subset of the content items and transmits instructions to present the presentation information at the surface.

Claims (74)

1. A method comprising:

receiving a request to generate a content summary for presentation to a user;

receiving a set of content items for the user;

identifying a client device for presenting the content summary to the user;

identifying a surface type of the client device for presenting the content summary to the user, the surface type being identified from a plurality of surface types;

identifying one or more types of content that are available to be output by the surface type;

ranking the set of content items based on the one or more types of content that are available to be output by the surface type;

selecting a subset of the content items based on the ranked set of content items;

determining presentation information based on the subset of the content items, the presentation information including instructions on presenting the content summary to the user, wherein determining presentation information comprises:

for each of the content items in the subset of the content items, identifying elements of the content item, each element having a content type;

identifying one or more applicable templates based on the content types of the identified elements;

selecting a template from the one or more applicable templates based on the surface type;

extracting elements of the content item, the extracted elements identified based on one or more fields of the selected template;

inserting the extracted elements of the content item into the selected template to generate presentation information for the content item; and

transmitting the presentation information to the client device.

2. The method of claim 1 , wherein selecting a template from the one or more applicable templates based on the surface type further comprises:

identifying one or more applicable templates based on the surface type; and

randomly selecting a template from the one or more applicable templates.

3. The method of claim 1 , wherein the identified surface type is a voice only surface, a voice and graphical display surface, or a graphical display only surface.

4. The method of claim 1 , wherein identifying a surface type of the client device for presenting the content summary comprises:

obtaining an identifier of a client device that the user is currently using; and

querying a data store using the identifier to retrieve information on a surface type associated with the client device.

5. The method of claim 1 , wherein ranking the set of content items comprises:

calculating a ranking score for each content item based on a plurality of factors, the plurality of factors including: an affinity between the user and the content item, a type of content included in the content item, and the identified surface type; and

ranking the set of content items according to the ranking scores.

6. A non-transitory computer-readable storage medium storing computer program instructions executable by a processor to perform operations comprising:

receiving a request to generate a content summary for presentation to a user;

receiving a set of content items for the user;

identifying a client device for presenting the content summary to the user;

identifying a surface type of the client device for presenting the content summary to the user, the surface type being identified from a plurality of surface types;

identifying one or more types of content that are available to be output by the surface type;

ranking the set of content items based on the one or more types of content that are available to be output by the surface type;

selecting a subset of the content items based on the ranked set of content items;

determining presentation information based on the subset of the content items, the presentation information including instructions on presenting the content summary to the user, wherein determining presentation information comprises:

for each of the content items in the subset of the content items, identifying elements of the content item, each element having a content type;

identifying one or more applicable templates based on the content types of the identified elements;

selecting a template from the one or more applicable templates based on the surface type;

extracting elements of the content item, the extracted elements identified based on one or more fields of the selected template;

inserting the extracted elements of the content item into the selected template to generate presentation information for the content item; and

transmitting the presentation information to the client device.

7. The computer-readable storage medium of claim 6 , wherein selecting a template from the one or more applicable templates based on the surface type further comprises:

identifying one or more applicable templates based on the surface type; and

randomly selecting a template from the one or more applicable templates.

8. The computer-readable storage medium of claim 6 , wherein the identified surface type is a voice only surface, a voice and graphical display surface, or a graphical display only surface.

9. The computer-readable storage medium of claim 6 , wherein identifying a surface type of the client device for presenting the content summary comprises:

obtaining an identifier of a client device that the user is currently using; and

querying a data store using the identifier to retrieve information on a surface type associated with the client device.

10. The computer-readable storage medium of claim 6 , wherein ranking the set of content items comprises:

calculating a ranking score for each content item based on a plurality of factors, the plurality of factors including: an affinity between the user and the content item, a type of content included in the content item, and the identified surface type; and

ranking the set of content items according to the ranking scores.

11. A system comprising:

a computer processor for executing computer program instructions; and

a non-transitory computer-readable storage medium storing computer program instructions executable by the processor to perform operations comprising:

receiving a request to generate a content summary for presentation to a user;

receiving a set of content items for the user;

identifying a client device for presenting the content summary to the user;

identifying a surface type of the client device for presenting the content summary to the user, the surface type being identified from a plurality of surface types;

identifying one or more types of content that are available to be output by the surface type;

ranking the set of content items based on the one or more types of content that are available to be output by the surface type;

selecting a subset of the content items based on the ranked set of content items;

determining presentation information based on the subset of the content items, the presentation information including instructions on presenting the content summary to the user, wherein determining presentation information comprises:

for each of the content items in the subset of the content items, identifying elements of the content item, each element having a content type;

identifying one or more applicable templates based on the content types of the identified elements;

selecting a template from the one or more applicable templates based on the surface type;

extracting elements of the content item, the extracted elements identified based on one or more fields of the selected template;

inserting the extracted elements of the content item into the selected template to generate presentation information for the content item; and

transmitting the presentation information to the client device.

12. The system of claim 11 , wherein selecting a template from the one or more applicable templates based on the surface type further comprises:

identifying one or more applicable templates based on the surface type; and

randomly selecting a template from the one or more applicable templates.

13. The system of claim 11 , wherein the identified surface type is a voice only surface, a voice and graphical display surface, or a graphical display only surface.

14. The system of claim 11 , wherein identifying a surface type of the client device for presenting the content summary comprises:

obtaining an identifier of a client device that the user is currently using; and

querying a data store using the identifier to retrieve information on a surface type associated with the client device.

Assignments (2)
CHANGE OF NAME Recorded Nov 18, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058897/0824 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2018
From: PENG, FUCHUN; ZENG, BO; HAN, KUN; DUMOULIN, BENOIT
To: FACEBOOK, INC.
Reel/Frame 045902/0365 →
Continuity (1)
Related Publication 20190332709A1 · Oct 31, 2019