IP Library Granted Patent US 10,459,979
Granted Patent B2
US 10,459,979 · App. 15/199,335 · Granted Oct 29, 2019

Graphically managing data classification workflows in a social networking system with directed graphs

Inventors: Szymon Piechowicz (San Mareo, CA); Barak Reuven Naveh (Palo Alto, CA); Annie Hsin-Wen Liu (Fremont, CA); Ashish Gupta (Mountain View, CA)
Assignee: Facebook, Inc.
G06F16/9024G06F16/285G06Q10/04G06Q50/01
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,459,979
App. No.
15/199,335
Granted
Oct 29, 2019
Kind
B2
Abstract

Various embodiments include a classification platform system. A user can define a classification experiment on the classification platform system. For example, the user can define an input data space by selecting at least one of data sources interfaced with the classification platform system and defining a workflow configuration including a directed graph (DG) connecting a plurality of transformation blocks to represent an experiment workflow. The DG can specify how one or more outputs of each of the transformation blocks are fed into one or more other transformation blocks. The DG can be defined graphically. The classification platform system can schedule the experiment workflow to be executed on a distributed computation platform according to the input data space and the workflow configuration.

Claims (43)

1. A computer-implemented method, comprising:

interfacing one or more data sources in a communication system to a classification platform system for defining one or more classification experiments;

defining a classification experiment by at least:

defining an input data space by selecting at least one of data sources interfaced with the classification platform system; and

defining, via a definition user interface of the classification platform system, a workflow configuration of the classification experiment by graphically arranging a directed graph (DG) connecting a plurality of transformation blocks to represent an experiment workflow, wherein the DG specifies one or more flows of one or more outputs of each of the transformation blocks being fed into one or more other transformation blocks;

generating, by a compiler system, a data structure in a particular format representing one or more dependencies between the plurality of transformation blocks, wherein the particular format is determined based on a configuration of hardware system components of a distributed computation platform;

formatting the workflow configuration and the input data space into the data structure such that the data structure is interpretable by a plurality of different computation platforms to execute the classification experiment; and

scheduling the distributed computation platform to execute the classification experiment according to the data structure, the input data space, and the workflow configuration.

2. The computer-implemented method of claim 1 , further comprising:

selecting, from the plurality of different computation platforms, the distributed computation platform to execute at least part of the experiment workflow in accordance with the DG.

3. The computer-implemented method of claim 2 , wherein said scheduling includes scheduling a first part of the workflow configuration to execute on a first computation platform and a second part of the workflow configuration to execute on a second computation platform.

4. The computer-implemented method of claim 2 , wherein the distributed computation platform is selected based on a geographical or network location of the distributed computation platform relative to one or more geographical or network locations of input data specified in the input data space.

5. The computer-implemented method of claim 1 , further comprising maintaining a memorization database; wherein said scheduling includes preventing a transformation block from being executed by the distributed computation platform when the transformation block as defined by the workflow configuration matches an entry in the memorization database; and wherein the entry includes pre-computed output result of the transformation block given the same input and configuration.

6. The computer-implemented method of claim 1 , wherein the data sources include a live data source from the communication system, and wherein the live data source produces an open-ended stream of new data entries formatted according to one or more data formats of the defined input data space.

7. The computer-implemented method of claim 1 , wherein the data sources include a static data source from the communication system, and wherein the static data source includes a static data set with a constant data size formatted according to one or more data formats of the defined input data space.

8. The computer-implemented method of claim 1 , wherein the DG is acyclical and thereby prevents execution of the classification experiment to enter an infinite loop.

9. The computer-implemented method of claim 1 , wherein a transformation block in the DG includes logic to dynamically modify the DG during execution of the experiment workflow.

10. The computer-implemented method of claim 9 , wherein the transformation block includes logic to dynamically modify input data of an existing transformation block in the DG.

11. The computer-implemented method of claim 9 , wherein the transformation block includes logic to change or remove an existing transformation block in the DG or to add a new transformation block to the DG.

12. The computer-implemented method of claim 1 , further comprising piping an output result of executing the classification experiment to the communication system to reconfigure at least an application service of the communication system.

13. The computer-implemented method of claim 1 , wherein the input data space is a labeled data space that includes at least a parameter to locate labeled data for training a supervised classifier machine learning model or for evaluating classification precision or recall of a classifier model, wherein said training or said evaluating is represented in a transformation block in the DG.

14. The computer-implemented method of claim 1 , wherein the input data space is a prediction space that includes at least a parameter to locate input data to be classified in the classification experiment.

15. The computer-implemented method of claim 1 , wherein defining the classification experiment further includes defining a domain configuration that includes at least a parameter binding the input data space to the workflow configuration.

16. The computer-implemented method of claim 1 , wherein defining the classification experiment includes inheriting a directed graph for the workflow configuration from a workflow repository.

17. The computer-implemented method of claim 1 , wherein the input data space selects at least a live data source from the data sources to feed into at least one of the transformation blocks; and wherein the distributed computation platform is configured to execute the classification experiment in substantially real-time in response to new data from the live data source.

18. The computer-implemented method of claim 1 , wherein the transformation blocks include a data feature extraction process, data feature filtering process, a data feature transformation process, a classifier deliberation process, a classifier training process, a classifier evaluation process, or any combination thereof.

19. The method of claim 1 , wherein the hardware system components comprise one or more of a processor, a memory, a network adapter, or a storage adapter.

20. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:

interface one or more data sources in a communication system to a classification platform system for defining a classification experiment;

define a classification experiment by at least:

defining an input data space by selecting at least one of data sources interfaced with a classification platform system; and

defining, via a definition user interface of the classification platform system, a workflow configuration of the classification experiment by graphically arranging a directed graph (DG) to connect a plurality of transformation blocks to represent an experiment workflow, wherein the DG specifies one or more flows of one or more outputs of each of the transformation blocks being fed into one or more other transformation blocks;

generate, by a compiler system, a data structure in a particular format representing one or more dependencies between the plurality of transformation blocks, wherein the particular format is determined based on a configuration of hardware system components of a distributed computation platform;

format the workflow configuration and the input data space into the data structure such that the data structure is interpretable by a plurality of different computation platforms to execute the classification experiment; and

schedule the distributed computation platform to execute the classification experiment according to the data structure, the input data space and the workflow configuration.

21. A system comprising: one or more processors; and a non-transitory memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to:

interface one or more data sources in a communication system to a classification platform system for defining a classification experiment;

define a classification experiment by at least:

defining an input data space by selecting at least one of data sources interfaced with the classification platform system; and

defining, via a definition user interface, by graphically arranging a directed graph (DG) to connect a plurality of transformation blocks to represent an experiment workflow, wherein the DG specifies one or more outputs of each of the transformation blocks being fed into one or more other transformation blocks;

generate, by a compiler system, a data structure in a particular format representing one or more dependencies between the plurality of transformation blocks, wherein the particular format is determined based on a configuration of hardware system components of a distributed computation platform;

format the workflow configuration and the input data space into the data structure such that the data structure is interpretable by a plurality of different computation platforms to execute the classification experiment; and

schedule the distributed computation platform to execute the classification experiment according to the data structure, the input data space and the DG.

Assignments (2)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2016
From: PIECHOWICZ, SZYMON; NAVEH, BARAK REUVEN; LIU, ANNIE HSIN-WEN; GUPTA, ASHISH
To: FACEBOOK, INC.
Reel/Frame 040456/0789 →
Continuity (1)
Related Publication 20180007145A1 · Jan 4, 2018
Cited By (100)
US 12,206,696 US 12,244,621 US 12,261,866 US 12,267,345 US 12,284,197 US 12,309,181 US 12,309,182 US 12,309,185 US 12,309,236 US 12,323,449 US 12,335,286 US 12,335,348 US 12,341,797 US 12,348,545 US 12,355,626 US 12,355,787 US 12,355,793 US 12,363,148 US 12,368,745 US 12,368,746 US 12,368,747 US 12,375,573 US 12,381,901 US 12,395,573 US 12,401,669 US 12,405,849 US 12,407,701 US 12,407,702 US 12,418,552 US 12,418,555 US 12,425,428 US 12,425,430 US 12,445,474 US 12,452,272 US 12,452,279 US 12,457,231 US 12,463,994 US 12,463,995 US 12,463,996 US 12,463,997 US 12,464,003 US 12,470,577 US 12,470,578 US 12,483,576 US 12,489,770 US 12,489,771 US 12,495,052 US 12,500,910 US 12,500,911 US 12,500,912 US 12,505,126 US 12,506,762 US 12,511,110 US 12,513,221 US 12,526,297 US 12,537,836 US 12,537,837 US 12,537,839 US 12,537,840 US 12,537,884 US 12,549,575 US 12,549,577 US 12,556,548 US 12,556,559 US 12,563,060 US 12,563,064 US 12,563,071 US 12,563,072 US 12,580,932 US 12,580,934 US 12,580,935 US 12,580,936 US 12,580,937 US 12,587,553 US 12,592,950 US 12,598,205 US 12,613,930 US 12,615,271 US 12,621,324 US 12,621,329 US 12,627,686 US 12,627,687 US 12,627,690 US 12,634,312 US 12,634,376 US 12,652,302 US 12,659,325 US 12,659,326 US 12,659,327 US 12,659,333 US 12,676,874 US 12,689,638 US 12,689,640 US 12,695,768 US 12,706,931 US 12,706,932 US 12,706,933 US 12,706,980 US 12,712,897 US 12,719,896