US20140039985A1 - Evaluating a worker in performing crowd sourced tasks and providing in-task training through programmatically generated test tasks - Google Patents

Evaluating a worker in performing crowd sourced tasks and providing in-task training through programmatically generated test tasks Download PDF

Info

Publication number
US20140039985A1
US20140039985A1 US14/048,342 US201314048342A US2014039985A1 US 20140039985 A1 US20140039985 A1 US 20140039985A1 US 201314048342 A US201314048342 A US 201314048342A US 2014039985 A1 US2014039985 A1 US 2014039985A1
Authority
US
United States
Prior art keywords
worker
job
tasks
workers
test
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US14/048,342
Inventor
David Oleson
Alexander Sorokin
Greg Laughlin
Vaughn Hester
John Le
Christopher R. Van Pelt
Lukas A. Biewald
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Figure Eight Technologies Inc
Original Assignee
CrowdFlower Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CrowdFlower Inc filed Critical CrowdFlower Inc
Priority to US14/048,342 priority Critical patent/US20140039985A1/en
Publication of US20140039985A1 publication Critical patent/US20140039985A1/en
Assigned to CROWDFLOWER, INC reassignment CROWDFLOWER, INC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LAUGHLIN, Greg, LE, John, BIEWALD, LUKAS A., HESTER, Vaughn, OLESON, David, SOROKIN, ALEXANDER, VAN PELT, CHRISTOPHER R.
Assigned to THE BANK OF NEW YORK MELLON reassignment THE BANK OF NEW YORK MELLON SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FIGURE EIGHT TECHNOLOGIES, INC.
Assigned to FIGURE EIGHT TECHNOLOGIES, INC. reassignment FIGURE EIGHT TECHNOLOGIES, INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: CrowdFlower, Inc.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • G06Q10/06395Quality analysis or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B7/00Electrically-operated teaching apparatus or devices working with questions and answers

Definitions

  • the disclosed technology relates generally to outsourcing or crowd sourcing jobs and tasks while providing scalable mechanisms for evaluating worker performance with in-task training.
  • Crowd sourcing is a growing industry, and online platforms exist for completion of tasks and microtasks. Labor-on-demand platforms provide APIs for application development and an international payment infrastructure for the deployment and implementation of crowd sourced tasks. Crowd sourcing has become a global phenomenon with a low barrier to entry. Millions of people around the world now participate in a digital and virtual workplace. However, the breadth and diversity among crowd sourcing participants, workers and researchers is immense and poses a challenge to implement adequate quality control mechanisms to account for a wide range of worker behavior: scammers, lazy workers, ethical workers, unethical workers, slow learners, etc. in a resource effective manner.
  • FIG. 1 illustrates an example block diagram of a host server of a job distribution platform that performs crowd sourcing by distributing tasks over a network to multiple workers and is able to evaluate workers in performing crowd sourced tasks and further provide in-task training.
  • FIG. 2A depicts an example block diagram of the components of a host server of a job distribution platform that distributes (e.g., crowd sources) tasks or microtasks to workers online and providing enhanced quality control through use and aggregation of worker profile data and intelligent dissemination/generation of test/evaluation tasks to evaluator worker quality and reliability.
  • distributes e.g., crowd sources
  • tasks or microtasks to workers online and providing enhanced quality control through use and aggregation of worker profile data and intelligent dissemination/generation of test/evaluation tasks to evaluator worker quality and reliability.
  • FIG. 4 depicts an example block diagram of the components of a test data/test standards manager for use in evaluating worker performing and for use in providing in-task training.
  • FIG. 5 depicts a diagram showing an example of test tasks generated from a job with a known result.
  • FIG. 7B depicts a table illustrating worker result accuracy comparing when no test tasks are used, when test tasks are automatically generated from jobs, or with manually defined test tasks.
  • FIG. 8 depicts a flow chart illustrating an example process for test/evaluation task generation from a job distributed through a job distribution platform.
  • FIG. 9 depicts a flow chart illustrating an example process for providing in-task training of a worker in performing crowd sourced tasks.
  • FIG. 10 depicts a flow chart illustrating an example process for training and assessing whether a new worker can be used by a crowd sourcing service to perform crowd sourced jobs.
  • FIG. 1 illustrates an example block diagram of a host server 100 of a job distribution platform that performs crowd sourcing by distributing tasks over a network 106 to multiple workers 122 and is able to evaluate workers in performing crowd sourced tasks and further provide in-task training.
  • the client devices 102 A-N can be any system and/or device, and/or any combination of devices/systems that is able to establish a connection with another device, a server and/or other systems.
  • Client devices 102 A-N each typically include a display and/or other output functionalities to present information and data exchanged between among the devices 102 A-N and the host server 100 .
  • the client devices 102 can include mobile, hand held or portable devices or non-portable devices and can be any of, but not limited to, a server desktop, a desktop computer, a computer cluster, or portable devices including, a notebook, a laptop computer, a handheld computer, a palmtop computer, a mobile phone, a cell phone, a smart phone, a PDA, a Blackberry device, a Treo, a handheld tablet (e.g. an iPad, a Galaxy, Xoom Tablet, etc.), a tablet PC, a thin-client, a hand held console, a hand held gaming device or console, an iPhone, and/or any other portable, mobile, hand held devices, etc.
  • a server desktop e.g. an iPad, a Galaxy, Xoom Tablet, etc.
  • a tablet PC e.g. an iPad, a Galaxy, Xoom Tablet, etc.
  • a hand held console e.g. an iPad, a Galaxy, Xoom Tablet, etc.
  • iPhone e.g.
  • the input mechanism on client devices 102 can include touch screen keypad (including single touch, multi-touch, gesture sensing in 2D or 3D, etc.), a physical keypad, a mouse, a pointer, a track pad, motion detector (e.g., including 1-axis, 2-axis, 3-axis accelerometer, etc.), a light sensor, capacitance sensor, resistance sensor, temperature sensor, proximity sensor, a piezoelectric device, device orientation detector (e.g., electronic compass, tilt sensor, rotation sensor, gyroscope, accelerometer), or a combination of the above.
  • touch screen keypad including single touch, multi-touch, gesture sensing in 2D or 3D, etc.
  • a physical keypad e.g., a mouse, a pointer, a track pad
  • motion detector e.g., including 1-axis, 2-axis, 3-axis accelerometer, etc.
  • a light sensor e.g., including 1-axis, 2-axis, 3-axis accelerometer, etc
  • the client devices 102 A-N, worker channels 108 , workers (or contributors) 122 , gaming server 110 , third party social network server 112 , payment processing server 114 , and/or mobile credit payment server 116 can be coupled to a network 106 .
  • the devices 102 A-N and host server 100 may be directly connected to one another.
  • the host server 100 is operable to perform crowd sourcing services and/or to process crowd sourcing requests for entities (e.g., companies, organizations or other types of institutions) or users (e.g., individual or groups of users) via devices 102 A-N. Workers (e.g., users or contributors) can access their jobs or assigned/distributed tasks via their own devices 102 A-N, networked to the host server 100 .
  • entities e.g., companies, organizations or other types of institutions
  • users e.g., individual or groups of users
  • Workers e.g., users or contributors
  • the host server 100 can distribute a task to be crowd sourced to multiple workers (who may be located through various different channels 108 A-N) and provide sophisticated quality control and cost management mechanisms, including tracking worker data over a period of time to provide an indication of worker preference, level of expertise, responsiveness, value of work, performance, speed, and other like performance/quality metrics for the worker or the generated work product.
  • the host server 100 is further able to evaluate a worker's work quality, reliability in performing crowd sourced tasks via their own user devices 102 A-N by intelligently generating evaluation or test tasks with known right answers or known false answers to be presented to a worker or potential worker (e.g., new worker being initially assessed for competency and usability) to see if the worker provides the correct response.
  • the evaluation or test tasks can be generated (e.g., automatically or semi-automatically) from jobs actually submitted to and distributed through the job distribution platform of the host server 100 for completion by workers/contributors such that no additional resources need to be utilized for creation and management of test tasks.
  • in-task training of workers/contributors can be automated through use of test/evaluation tasks. Test task/evaluation task generation and management are described with further references to the examples of FIG. 4-10 .
  • the host server 100 of the job distribution platform utilizes workers from multiple worker pools via different channels 108 .
  • the host server 100 can have a partnering relationship with one or more of the channels 108 . Channels can be chosen by demographic requirements such as location and general age/sex of the worker pool.
  • the job distribution platform can inform the partner (or channel) that a transaction has completed for a specified amount. The partner can then award the contributor some percentage of the amount in either virtual or real currency.
  • the access to multiple worker pools allows the job distribution platform access to a larger group of workers/contributors and enhances scalability and diversifies worker base.
  • the worker pool which is used for a given job or task can be selected manually by the person posting the task and/or determined in part or in whole by the host server 100 .
  • Some pools have limitations, for example, some do not allow adult content, others do not provide the cultural or language needs of the task.
  • the channels 110 through which labor can be identified can include by way of example, but not limitation, Amazon Mechanical Turk, Give Work, SamaSource, Trial Pay (e.g., a virtual currency provider), third party social networks (e.g., Facebook, Twitter, LinkedIn, MySpace, third-party social network server 112 ) or gaming platforms (e.g., Gambit, Prodege, etc.) New and additional labor forces are constantly being integrated into the system and partnering with the host 100 , each with their own advantages and disadvantages.
  • Amazon Mechanical Turk Give Work
  • SamaSource e.g., Trial Pay
  • third party social networks e.g., Facebook, Twitter, LinkedIn, MySpace, third-party social network server 112
  • gaming platforms e.g., Gambit, Prodege, etc.
  • the host server 100 can in addition, also utilize social networks or social network servers (e.g., the 3rd party social network server 112 ) to aggregate, parse, and/or identify information such as preferences, likes/dislikes, language proficiency, general proficiency, interests, hobbies, expertise related information about workers or contributors which can be used in a worker profile and used as factors in selecting suitable workers for a given job or task.
  • social networks or social network servers e.g., the 3rd party social network server 112
  • information such as preferences, likes/dislikes, language proficiency, general proficiency, interests, hobbies, expertise related information about workers or contributors which can be used in a worker profile and used as factors in selecting suitable workers for a given job or task.
  • the host server 100 utilizes an online gaming service or platform (e.g., through a third-party gaming server 110 or other partnering platform) through which to distribute tasks or unit jobs and tasks. Gaming services which provide games to various types of online or web-based platforms can also be partnered with the host server 100 of the job distribution platform. Note that the host server 100 may also host gaming services via one or more gaming platforms.
  • the unit jobs can be distributed to gamers or other visitors on the gaming platform.
  • the workers utilized in an online game can be paid in virtual currency, such as virtual currency that can be used to play games on the gaming server 110 .
  • the host server 100 utilizes a payment processing server 114 to facilitate payment of workers or contributors 122 in money.
  • the payment processing server 114 can be integrated or operated by the same entity as the host server 100 of the job distribution platform, or it may be operated by a third party.
  • the host server 100 manages the payment preferences of a given worker and ensure, for example, through the payment processing server 114 that the worker gets paid in the desired currency (e.g., U.S. dollars, Euro, etc.), at the desired frequency, in a desired channel (e.g., online, PayPal, direct bank account deposit, physical check, money order), in a desired format (e.g., money, mobile credits, gaming credits, or other types of virtual currency, etc.).
  • the desired currency e.g., U.S. dollars, Euro, etc.
  • a desired channel e.g., online, PayPal, direct bank account deposit, physical check, money order
  • a desired format e.g., money, mobile credits, gaming credits, or other types of virtual currency,
  • the host server 100 can also interact with a mobile credit payment service or mobile credit payment server 116 to facilitate the payment of workers or contributors with mobile credits.
  • the mobile credit payment server 116 may be operated by a wireless network operator or another third party entity.
  • the host server 100 internally has mobile credit payment services which operates in whole or in part the payment/compensation of workers in mobile credits.
  • the client devices 102 A-N are generally operated by entities/users requesting crowd sourcing services, for example via user interface 104 A-N displayed on the display units.
  • the client devices may also be.
  • the client devices 102 A-N may also be used (e.g., by programmers and developers) by workers to access job units or tasks for completion.
  • client devices 102 communicate with the host server 100 over network 106 .
  • network 106 over which the client devices 102 , the host server 100 , and/or notification server 150 communicate, may be a cellular network, a telephonic network, an open network, such as the Internet, or a private network, such as an intranet and/or the extranet, or any combination thereof.
  • the Internet can provide file transfer, remote log in, email, news, RSS, cloud-based services, instant messaging, visual voicemail, push mail, VoIP, and other services through any known or convenient protocol, such as, but is not limited to the TCP/IP protocol, Open System Interconnections (OSI), FTP, UPnP, iSCSI, NSF, ISDN, PDH, RS-232, SDH, SONET, etc.
  • OSI Open System Interconnections
  • the network 106 can be any collection of distinct networks operating wholly or partially in conjunction to provide connectivity to the client devices 102 and the host server 100 and may appear as one or more networks to the serviced systems and devices.
  • communications to and from the client devices 102 can be achieved by an open network, such as the Internet, or a private network, such as an intranet and/or the extranet.
  • communications can be achieved by a secure communications protocol, such as secure sockets layer (SSL), or transport layer security (TLS).
  • SSL secure sockets layer
  • TLS transport layer security
  • communications can be achieved via one or more networks, such as, but are not limited to, one or more of WiMax, a Local Area Network (LAN), Wireless Local Area Network (WLAN), a Personal area network (PAN), a Campus area network (CAN), a Metropolitan area network (MAN), a Wide area network (WAN), a Wireless wide area network (WWAN), enabled with technologies such as, by way of example, Global System for Mobile Communications (GSM), Personal Communications Service (PCS), Digital Advanced Mobile Phone Service (D-Amps), Bluetooth, Wi-Fi, Fixed Wireless Data, 2G, 2.5G, 3G, 4G, IMT-Advanced, pre-4G, 3G LTE, 3GPP LTE, LTE Advanced, mobile WiMax, WiMax 2, WirelessMAN-Advanced networks, enhanced data rates for GSM evolution (EDGE), General packet radio service (GPRS), enhanced GPRS, iBurst, UMTS, HSPDA, HSUPA, HSPA, UMTS-TDD, 1xRTT, EV-DO, messaging protocols such
  • the host server 100 may include internally or be externally coupled to a user repository 128 , a job/tasks repository 130 , a performance and profile data repository 132 , and/or a test data repository 134 .
  • the repositories can store software, descriptive data, images, system information, drivers, and/or any other data item utilized by other components of the host server 100 and/or any other servers for operation.
  • the repositories may be managed by a database management system (DBMS), for example but not limited to, Oracle, DB2, Microsoft Access, Microsoft SQL Server, PostgreSQL, MySQL, FileMaker, etc.
  • DBMS database management system
  • the repositories can be implemented via object-oriented technology and/or via text files, and can be managed by a distributed database management system, an object-oriented database management system (OODBMS) (e.g., ConceptBase, FastDB Main Memory Database Management System, JDOInstruments, ObjectDB, etc.), an object-relational database management system (ORDBMS) (e.g., Informix, OpenLink Virtuoso, VMDS, etc.), a file system, and/or any other convenient or known database management package.
  • OODBMS object-oriented database management system
  • ORDBMS object-relational database management system
  • the host server 100 is able to provide data to be stored in the user repository 128 , the tasks repository 130 , performance/profile data repository 132 , and/or test data repository 134 and/or can retrieve data stored in the repositories.
  • the user repository 128 can store user (e.g., worker) information, statistics, speed, accuracy, topics of interest, topics of expertise, etc.
  • the tasks repository 130 can include, tasks or unit jobs (e.g., in spreadsheets or other types of files) specified by entities or individuals requesting crowd sourcing services.
  • the repository 130 can also include information about the requesting entities or individuals.
  • One embodiment further includes a performance and profile data repository 132 which can store enhanced worker (e.g., contributor) performance information and metrics, worker preference information, demographic profile information, social network information, peer review information, etc. Additional details of examples of types of data stored in the repository 132 as illustrated with further reference to the example of FIG. 3 .
  • a test data repository 134 which can store generated test data or evaluation data used in assessing worker competency.
  • FIG. 2A depicts an example block diagram of the components of a host server 200 of a job distribution platform that distributes (e.g., crowd sources) tasks or microtasks to workers online and providing enhanced quality control through use and aggregation of worker profile data and intelligent dissemination/generation of test/evaluation tasks to evaluator worker quality and reliability.
  • distributes e.g., crowd sources
  • tasks or microtasks to workers online and providing enhanced quality control through use and aggregation of worker profile data and intelligent dissemination/generation of test/evaluation tasks to evaluator worker quality and reliability.
  • the host server 200 can include, for example, a network interface 201 , an attribute module 202 , a task configuration module 204 having a budget manager, a wage setting agent 206 having a virtual currency manager, an accuracy manager module 208 , a quality control module 210 having a statistics tracking module, a worker channel selection module 212 having a task distributor module and/or a gaming server manager, a worker manager and tracker 220 , and/or a test data/test standards manager 400 . Additional or less components/modules/engines can be included in the host server 200 and each illustrated component.
  • the network interface 201 can be a networking module that enables the host server 200 to mediate data in a network with an entity that is external to the host server 200 , through any known and/or convenient communications protocol supported by the host and the external entity.
  • the network interface 201 can include one or more of a network adaptor card, a wireless network interface card (e.g., SMS interface, WiFi interface, interfaces for various generations of mobile communication standards including but not limited to 1G, 2G, 3G, 3.5G, 4G, LTE, etc.,), Bluetooth, a router, an access point, a wireless router, a switch, a multilayer switch, a protocol converter, a gateway, a bridge, bridge router, a hub, a digital media receiver, and/or a repeater.
  • a network adaptor card e.g., SMS interface, WiFi interface, interfaces for various generations of mobile communication standards including but not limited to 1G, 2G, 3G, 3.5G, 4G, LTE, etc.
  • Bluetooth e.g
  • a computer-readable medium or computer-readable storage medium is intended to include all mediums that are statutory (e.g., in the United States, under 35 U.S.C. 101), and to specifically exclude all mediums that are non-statutory in nature to the extent that the exclusion is necessary for a claim that includes the computer-readable (storage) medium to be valid.
  • Known statutory computer-readable mediums include hardware (e.g., registers, random access memory (RAM), non-volatile (NV) storage, to name a few), but may or may not be limited to hardware.
  • the host server 200 includes an attribute module 202 .
  • the attribute module 202 can be any combination of software agents and/or hardware modules (e.g., including processors and/or memory units) able to identify, detect, extract, an attribute of a task, which generally includes multiple units.
  • An attribute of a task can include, by way of example but not limitation, level of difficulty of the task, level of subjectivity, etc.
  • Task attributes can be specified or measured by an amount of time that is needed to complete the task.
  • the attribute can include determining target accuracy specified by the entity or user requesting the crowd sourcing services.
  • Task attributes can be determined during a calibration process when the requesting entity is setting up jobs or tasks to be distributed to on-demand labor for completion. Timing, wages, and target accuracy can be determined and computed for a unit job or task.
  • the host server 200 includes a task configuration module 204 .
  • the task configuration module 204 can be any combination of software agents and/or hardware modules (e.g., including processors and/or memory units) able to configure a task or unit jobs for quality control and based on a user's specified parameters.
  • the task configuration module 204 allows the user to upload or edit tasks/unit jobs via a web interface.
  • the task configuration module 204 calibrates a task by identifying its attributes or attributes of a single unit job. For example, the task configuration module 204 determines the amount of time needed a certain unit job or task requires. This information can be used to determine the wage to pay a worker when they have completed their jobs, for example, by the wage setting agent 206 .
  • the host server 200 includes a wage setting agent 206 .
  • the wage setting agent 206 can be any combination of software agents and/or hardware modules (e.g., including processors and/or memory units) able to set a wage amount that is offered to a worker for completing a unit job of the task based on the attribute and the target accuracy.
  • the wage setting agent 206 can set the wage based on one or more of the attributes, level of target accuracy, the requestor's budget, etc.
  • the requesting entity/user can specify a desired level of wage to pay each worker.
  • the system sets the wage dynamically. For example, the initial calibration of the wage can be an estimate and the actual wage is calculated as the job progresses.
  • the system can continue to track the amount of time/resources needed by workers to complete a job. This way, the system can compensate for jobs that are taking workers different amounts of time from what was originally estimated. For example, while most jobs end up around $x/hr, but jobs that are extremely time sensitive can be much higher (e.g., as much as 4-20 ⁇ /hr).
  • the host server 200 includes an accuracy manager module 208 .
  • the accuracy manager module 208 can be any combination of software agents and/or hardware modules (e.g., including processors and/or memory units) able to determine, set, identify, the target accuracy in completion of the task by the entity.
  • the target accuracy can be, for example, specified by the entity/user requesting that a task be distributed to multiple workers (e.g., including online labor, on-demand labor) for completion.
  • the target accuracy can be specified during calibration.
  • the user/entity and indicate whether more or less accuracy is desired. Generally more accurate results require additional results to be obtained per job unit, thus potentially increasing the total cost to complete the task.
  • the target accuracy may be set by default rather than user customized.
  • the host server 200 includes a quality control module 210 .
  • the quality control module 210 can be any combination of software agents and/or hardware modules (e.g., including processors and/or memory units) able to implement quality control mechanisms to ensure that the results of the completion of the task are of a quality expected by the requestor.
  • the quality control module 210 can manage the standards for each task used for quality control. For example, the quality control module 210 enables the requesting entity/user to specify a select set of unit jobs that are presented to online labor units for the entity to evaluate quality of task completion. The questions can be added. In general, the types of tasks that are good for the quality control are those with a right or wrong answer.
  • the correct answers or responses are typically specified.
  • the user/entity can also monitor/track the efficacy of the selected questions. A user can see each selected question and whether workers have correctly answered these questions. The user can also see, access, and/or track how many workers have responded to a selected question. Using the statistics, the user can modify the selection accordingly.
  • the quality control module 210 can determine the quality of the work and the quality of a particular worker's work product.
  • the quality control module 210 may include a statistics tracking module which tracks, collects and/or aggregates statistics of the online labor units completing the select jobs.
  • workers are able to choose any job that has been assigned as long as they meet certain requirements (e.g., age and/or language, etc.).
  • certain requirements e.g., age and/or language, etc.
  • workers can also be prohibited from working on a single job, single type of job, or all jobs.
  • workers history, statistics, and performance can be used to target jobs to workers based on what they have performed well on. Workers are typically allowed to attempt any job they have not been blocked from. If it is the first time they have seen the task they will only be asked known questions. If they have not answered a pre-defined number of questions correctly within a certain time period they are typically not allowed to perform the actual task.
  • the host server 200 includes a worker selection module 212 .
  • the worker selection module 212 can be any combination of software agents and/or hardware modules (e.g., including processors and/or memory units) able to select workers (e.g., online workers, on-demand labor, etc.) to whom to distribute unit jobs of a task.
  • software agents and/or hardware modules e.g., including processors and/or memory units
  • workers e.g., online workers, on-demand labor, etc.
  • the worker selection module 212 can select a channel based on the user/entity's selection (e.g., Mechanical Turk, Crowdflower, Gambit (e.g., a third party gaming platform), Give Work, SamaSource, Trial Pay (e.g., a virtual currency provider), Internal, etc. New and additional labor forces are constantly being integrated into the system, each with their own advantages and disadvantages. Based on the selected channel, the task distributor can then distribute jobs to various workers for completion of unit jobs in the task.
  • the user/entity's selection e.g., Mechanical Turk, Crowdflower, Gambit (e.g., a third party gaming platform), Give Work, SamaSource, Trial Pay (e.g., a virtual currency provider), Internal, etc. New and additional labor forces are constantly being integrated into the system, each with their own advantages and disadvantages.
  • the task distributor can then distribute jobs to various workers for completion of unit jobs in the task.
  • the selected channel is an online gaming environment in which gamers or other users are presented with unit jobs while playing games or doing something else. These users can be paid in virtual currency, for example, that they can use in the online gaming environment.
  • the gaming server manager can manage games internal to the host server 200 or manage communications with an external gaming server (e.g., the gaming server 110 shown in the example of FIG. 1 ).
  • the tasks can be presented on a site hosted by the server 200 of presented to workers on the third party site.
  • the gaming server manager in the worker channel selection module 212 communicates with the wage setting agent 206 to determine the wage that a worker/gamer would be entitled to upon completion of a unit job or task. The gaming server manager can then determine the amount of virtual currency to which the wage converts. The gaming server manager then communicates the tasks to be presented via the gaming site to the third party gaming server.
  • the host server 200 includes a worker manager and tracker module 220 .
  • the worker channel selection module 212 can be any combination of software agents and/or hardware modules (e.g., including processors and/or memory units) able to detect, track, compute, generate, determine, and/or identify job performance data or job performance-related data for multiple workers/contributors via the job distribution platform.
  • Other types of worker information may also be tracked and generated for multiple workers in various worker pools (channels), for example, psych questions or other more subjective data collected from a worker or contributor in addition to performance.
  • Worker information including job performance data can be tracked over a period of time (e.g., historical performance data) for a worker.
  • performance data can be tracked for a given task, a given job (a job can include multiple tasks), a session (e.g., a worker can work on multiple jobs and tasks during a given work session), a day, a week, a month, a year, etc.
  • Useful statistical data can be generated or computed by the manager and tracker module 220 for the job distribution platform to more effectively and efficiently control quality of work product, extract/determine meaningful information about each individual worker/contributor, and/or allow jobs/projects to be more effectively cost managed.
  • the job distribution platform can have access to useful information for distributing work and managing quality and cost.
  • test data/test standards manager 400 can be any combination of software agents and/or hardware modules (e.g., including processors and/or memory units) able to generate test data, test jobs, test or evaluation tasks to assess and evaluate worker competency, ability, and/or usability. Manager 400 can also use these test data/jobs or tasks to provide in-task training of workers as they are working on jobs distributed by the host 200 . Detailed features and functionalities of the test data/test standards manager 400 are described with reference to FIG. 4 .
  • the host server 200 represents any one or a portion of the functions described for the modules.
  • the host server 200 can include additional or less modules. More or less functions can be included, in whole or in part, without deviating from the novel art of the disclosure.
  • the repositories 128 , 130 , and 132 were discussed in conjunction with the description of FIG. 1 .
  • the repository 132 is described with further reference to the example of FIG. 3 .
  • FIG. 2B depicts an example block diagram of the components of a worker manager/tracker module 220 of the host server 200 of the example of FIG. 2A able to generate and store performance data for a worker.
  • the performance data can be determined or generated when a worker performs tasks distributed to them by a job distribution platform (e.g., hosted by the host server 200 ) which crowd sources tasks over a network to remote workers.
  • a job distribution platform e.g., hosted by the host server 200
  • the module 220 can include, for example, a job history tracker module 225 having a session tracker 226 , a job tracker 227 , a worker tracker 228 having an ID tracker 229 and/or a channel tracker 230 .
  • the module 220 can further include a performance data generator 250 having a performance agent 235 , a device identifier 245 , a quality assessor 240 , a speed tracker 255 , a value assessor 260 , and/or an experience level assessor 265 .
  • the performance agent 235 can further include a rejection/judgment tracker 236 , a bans tracker 237 , and/or a performance flagging agent 238 .
  • the quality assessor 240 can include a peer review metric module 241 and/or a gold standard metric module 242 .
  • the speed tracker 255 may further include a velocity violation detector 256 .
  • the value assessor 260 can include an FTE metric module 261 and/or a financial value metric module 262 .
  • the worker manager/tracker module 220 can further include a worker sentiment determination engine 270 , a worker preference engine 275 , a static profile data aggregator 280 having a demographic information generator 281 , a dynamic profile data aggregator 285 , a worker profile generator 290 , and/or a worker selection engine 295 .
  • the worker preference engine 275 can further include a payment preference handler 276 , an objectionable content preference handler 277 , and/or a work time preference handler 278 .
  • the dynamic profile data aggregator 285 can include an employment information manager 286 and/or a social network data compiler 287 .
  • Additional or less components can be included in the host server 200 and each illustrated component.
  • a “module,” a “manager,” an “agent,” a “tracker,” a “handler,” a “detector,” an “interface,” or an “engine” includes a general purpose, dedicated or shared processor and, typically, firmware or software modules that are executed by the processor. Depending upon implementation-specific or other considerations, the module, manager, tracker, agent, handler, or engine can be centralized or its functionality distributed. The module, manager, tracker, agent, handler, or engine can include general or special purpose hardware, firmware, or software embodied in a computer-readable (storage) medium for execution by the processor.
  • a computer-readable medium or computer-readable storage medium is intended to include all mediums that are statutory (e.g., in the United States, under 35 U.S.C. 101), and to specifically exclude all mediums that are non-statutory in nature to the extent that the exclusion is necessary for a claim that includes the computer-readable (storage) medium to be valid.
  • Known statutory computer-readable mediums include hardware (e.g., registers, random access memory (RAM), non-volatile (NV) storage, to name a few), but may or may not be limited to hardware.
  • the worker manager/tracker 220 includes a job history tracker module 225 .
  • the job history tracker module 225 can be any combination of software agents and/or hardware modules (e.g., including processors and/or memory units) able to monitor, track, determine, record, tasks, microtasks, jobs, projects that workers or contributors have worked on through the job distribution platform hosted by server 200 .
  • Job attributes, owners, details and the knowledge/expertise involved in each job/task/project can be determined, tracked, recorded for each worker or contributor performing the job and stored (e.g., in repository 132 ) in association with any quality or performance data for the worker.
  • the job history tracker module can track and store the jobs performed by workers in a given session (e.g., by the session tracker 226 ). For example, a worker can perform several jobs in a given work session (e.g., from the time a worker logs in to access work distributed by the job distribution platform to when the user logs out or times out, or stops working for a certain amount of time).
  • a work session can also have a default time period duration (e.g., one day, a certain number of hours, user gets logged out of the system, a few days, etc.) as specified by the worker, job distribution platform, or a given job.
  • a worker/contributor can work on several projects or jobs, with each project or job having several tasks.
  • the session tracker 226 can track the projects, jobs, and/or tasks that the worker has worked on in a given session and generate or compute statistics (e.g., job performance metrics) for a given project, job, or task in a given session or across multiple sessions.
  • the statuses of the various projects, jobs, and/or tasks performed in a session can also be determined and stored.
  • the session tracker 226 can track one or more tasks that span current jobs and a history of previous jobs distributed to the worker and job performance data for the worker is collected for current and previous jobs.
  • the job history tracker module can track the tasks performed by workers in a given job or across multiple jobs (e.g., by the job tracker module 227 ).
  • the job tracker 227 can identify, record, and store tasks assigned to and/or performed on, worked on by the workers/contributors.
  • the job tracker module 227 can track a history of previous jobs having tasks a worker has worked on. The statuses of various jobs and/or tasks worked on by workers/contributors can be determined and/or recorded.
  • the worker tracker 228 can track workers that have worked in the sessions, jobs, projects, and on tasks.
  • the worker tracker 228 assigns a unique identifier (e.g., using the ID tracker 229 ) to each unique worker/contributor who has worked on tasks assigned via the job distribution platform.
  • the unique identifier can be used to identify worker profile information and/or worker performance data.
  • the unique identifier can be assigned to the worker to be associated with the worker across various jobs and tasks.
  • the worker manager/tracker 220 can also track a worker based on the worker pool or channel though which the worker is connected to the job distribution platform, for example, by the channel tracker 230 .
  • a given worker may be a part of multiple worker pools and the unique worker ID can be assigned to a given worker regardless of their multiple worker pool affiliations.
  • the performance data generator 250 of the worker manager/tracker module 220 can be any combination of software agents and/or hardware modules (e.g., including processors and/or memory units) able to monitor, track, determine, record, job performance data over a period of time for workers/contributors performing work through the job distribution platform that crowd sources tasks to multiple workers.
  • software agents and/or hardware modules e.g., including processors and/or memory units
  • the job performance data can be collected when the worker performs the tasks distributed online to their respective computing devices by the job distribution platform.
  • the job performance data includes quantitative metrics which can be determined or computed by the performance agent 235 for various performance and/or quality measures.
  • the rejection and judgment tracker 236 can detect and record results submitted by a worker/contributor that were rejected as faulty or accepted as a correct result (e.g., a judgment).
  • Managing the distribution of tasks can be performed by a task requisition system, for example, using a custom implementation of the in-memory repository or database (e.g., Redis).
  • the repository can be optimized for ensuring redundancy and performing the corresponding de-duplication.
  • de-duplication can be implemented such that no contributor or worker sees the same task more than a specified number (e.g., once, twice, three times, etc.). If a contributor or worker is rejected, the tasks they had previously completed can be re-routed to other contributors or workers.
  • a specified number e.g., once, twice, three times, etc.
  • the job performance data includes quantitative metrics which indicate a rate or number of rejected results in performing one or more tasks or jobs, as can be determined by the rejection/judgment tracker 236 . Some of the rejections and/or judgments are received as a result of test tasks distributed to workers/contributors in order to make an assessment regarding their quality of work.
  • the job performance data includes quantitative metrics indicating a rate or number of instances of bans from the system of flags from assigned jobs, for example, by the bans or flag tracker 237 .
  • a ‘flagged’ worker prevents the workers or contributors from continuing to work on a specific task, or set of tasks. If a worker is banned, it is generally a one time event, and prevents a worker from doing future work through the platform.
  • a worker/contributor may be banned from performing work through the platform or flagged from performing specific jobs or tasks when the quality or speed of the work does not meet a threshold, which can be set by the job or the job distribution platform.
  • a worker/contributor may be temporarily or permanently suspended from a job if a number of results they provided are inaccurate, or if they submit a certain number of inaccurate results in a certain amount of time, or if the worker does not complete a task within a specified time frame (e.g., by the job poster or the job distribution platform).
  • the job performance data includes quantitative metrics indicating a rate or number of instances of the worker has been flagged for performance review but not actually banned from a job or task, for example, by the performance flagging agent 238 .
  • Flagging can occur manually or programmatically after certain thresholds have been met. For example, flagging occurs after a peer review system has indicated a contributor is not performing accordingly or showing indicators of poor performance (e.g., spelling mistakes, irrelevant answers, or any other subjective requirements detectable by reviewers).
  • a worker/contributor may be flagged when their performance (e.g., as indicated by one or more performance metrics of quality or speed) falls below a certain threshold, which may be set by a job requestor and/or in part or in whole determined by the job distribution platform.
  • the rate or number of instances when the worker has been flagged for performance review can be used in assessing overall quality/performance of the worker.
  • the performance data generator 250 tracks a rate or time with which the worker completes the one or more tasks, for example, via the speed tracker 255 .
  • the speed tracker 255 can also determine the speed, rate with which, or amount of time it takes a worker to complete a job, on average over a period of time, over a set of tasks, or over a set of jobs, for example.
  • the rate or time with which the worker completes a task can be used as an indication in a worker profile of how efficient the worker is.
  • the speed tracker 255 can also track instances when the worker performs or completes a task exceeding a rate or speed, which may be an indication that a worker is not paying attention to performing the assigned tasks.
  • the job performance data can include quantitative metrics indicating a rate or number when the worker has performed or completed one or more tasks exceeding a rate or speed.
  • the job performance data can include quantitative metrics indicating an average rate or speed with which the worker can satisfactorily complete a task, which can be used as an indicator for efficiency and/or accuracy of the worker.
  • Each or any of the above metrics of job performance can be tracked for workers for a given job, a work session, or a number of tasks.
  • the value assessor 260 determines the value, either quantitative or qualitative value, of work generated by workers/contributors.
  • the financial/monetary value of work generated by workers can be determined by module 262 and included as a quantitative metric of job performance data stored for a given worker/contributor.
  • the quality assessor 240 can determine the accuracy of work generated by the worker using test jobs (e.g., jobs or tasks with known responses/answers). Using test jobs/tasks with known responses/answers, the quality/accuracy of a worker's work product can directly be determined and used in computing a quantitative metric indicating the accuracy of a worker's work product. Quality assessment using test jobs/tasks can be performed by the gold standard metric module 242 . In addition, the quality assessment can be performed by the peer review metric module 241 , where a worker's work product can be evaluated using results generated by other workers (e.g., determine whether they match or not).
  • One embodiment of the performance data generator 250 includes an experience level assessor 265 which can determine an experience level of the worker based on duration or tenure with the job distribution platform.
  • the job performance data for workers can thus include quantitative and/or qualitative metrics indicating the experience level of the worker.
  • experience level can be determined with respect to specific types of jobs/tasks (e.g., business listing verification, content generation, adult-content detection, search result verification, etc.), or with respect to specific disciplines (e.g., art, computer science, math, language, etc.) and indicated in the job performance data of the user profile.
  • satisfaction and/or frustration level with the job distribution platform is determined, for example, by the worker sentiment determination engine 270 to be included in the profile data.
  • quantitative metrics indicating the satisfaction or frustration levels can be included in a worker's profile data.
  • the profile data further includes, identification of devices used by the worker to perform tasks distributed by the job distribution platform or a preference of the worker to use one or more devices to work on tasks or specific types of tasks.
  • the devices can be identified by the worker preference engine 275 , or the device identifier 245 .
  • the worker preference engine 275 can determine, identify, track, record, or store the preferences of the workers. Worker preferences can be explicitly specified by the worker, determined from the worker pool or specific channel through which the worker is accessed, and/or inferred from worker behavior by the job distribution platform.
  • Worker preferences can include an indication of a preferred time of day to perform tasks (e.g., by the work time preference handler 278 ), indication of willingness to perform tasks involving objectionable content or adult content (e.g., by the objectionable content preference handler 277 ).
  • Worker preferences can further include compensation preferences, which can specify preferred wage, preferred currency, and preferred type of currency and/or specify preferred payment mechanism including one or more of, direct deposit, indirect deposit, or mobile credits. Compensation preferences may be determined, tracked, and/or managed by the payment preferences handler 276 .
  • the user profile for workers can also include static profile data created or aggregated by the static profile aggregator 280 .
  • demographic profile information e.g., including, but not limited to, gender, age, ethnicity, religion, education, location, etc.
  • the demographic information generator 281 can be determined, tracked, received, processed, recorded and managed.
  • the user profile can also include dynamic profile data which can be collected, aggregated, determined, detected, inferred, tracked, processed, received, stored and/or recorded by the dynamic profile data aggregator 285 .
  • dynamic profile data can be collected, aggregated, determined, detected, inferred, tracked, processed, received, stored and/or recorded by the dynamic profile data aggregator 285 .
  • employment status information for workers can be determined and tracked by the employment information manager 286 .
  • Social profile data and/or professional profile data can also be aggregated for workers, for example from social network services including third party social networks and servers.
  • Dynamical profile elements generated from historical work data can also be used.
  • the aggregator 285 can determine or track workers' historical speed, accuracy, or answer distribution and make this information queryable through the contributor profile.
  • the aggregator 285 can also apply learning algorithms to good signals to predict future performance of a worker.
  • the worker profile generator 290 can use any combination of or all of the above user data including, but not limited to, quantitative and/or qualitative performance metrics for worker performance quality indicating accuracy, efficiency, knowledge, financial value, and/or expertise, worker preference (explicit or non-explicit), static or dynamic profile data (e.g., demographic information, real-life employment information, social network, presence, location information) to generate a worker profile for the worker.
  • quantitative and/or qualitative performance metrics for worker performance quality indicating accuracy, efficiency, knowledge, financial value, and/or expertise
  • worker preference explicit or non-explicit
  • static or dynamic profile data e.g., demographic information, real-life employment information, social network, presence, location information
  • the worker profile or any of the information contained therein can be used by the worker selection engine 295 in selecting a suitable worker from the repeat workers for a given task. For example, a given worker or workers can be selected to perform the new job based on worker preferences indicating willingness or unwillingness to work on objectionable or controversial content, or other criteria related to experience level, efficiency, or overall quality/accuracy.
  • FIG. 3 illustrates an example repository 332 for storing worker/contributor performance and profile data.
  • the performance and profile data can include information aggregated or determined by the worker manager/tracker 220 shown in the example of FIG. 2 and the various components therein.
  • the worker profile elements can include static data 334 , dynamic data 336 , worker preference information 338 , and/or performance data 340 .
  • An example listing of each category of worker profile data is shown.
  • Metrics for performance data can be quantitative (as shown in the example of FIG. 3 ) or qualitative (e.g., good, bad, average, or assigned a letter grade (P/NP, A, C, D, etc.). Other types of metrics of measure can also be used.
  • FIG. 4 depicts an example block diagram of the components of a test data/test standards manager 400 for use in evaluating worker performing and for use in providing in-task training.
  • the test data/test standards manager 400 can include, a test candidate filter agent 410 , a test data generator 420 having a data manipulation module 421 and/or a feedback generator 423 , an answer inferring agent 430 having a worker agreement detector 431 and/or a contested answer manager 433 , a test data distributor 440 , an in-task training module 450 , and/or a test data optimization module 460 having an error type sampling agent 461 .
  • the data manipulation module 421 may include a false results generator 422 .
  • the test candidate filter agent 410 can further include a task/job analyzer 411 and/or a results analyzer 415 having a confidence threshold assessor 416 , a worker assessor 417 , and/or an error detector 418 .
  • test data/test standards manager 400 can be included in the test data/test standards manager 400 and each illustrated component.
  • a “module,” a “manager,” an “agent,” a “tracker,” a “handler,” a “detector,” an “interface,” or an “engine” includes a general purpose, dedicated or shared processor and, typically, firmware or software modules that are executed by the processor. Depending upon implementation-specific or other considerations, the module, manager, tracker, agent, handler, or engine can be centralized or its functionality distributed. The module, manager, tracker, agent, handler, or engine can include general or special purpose hardware, firmware, or software embodied in a computer-readable (storage) medium for execution by the processor.
  • a computer-readable medium or computer-readable storage medium is intended to include all mediums that are statutory (e.g., in the United States, under 35 U.S.C. 101), and to specifically exclude all mediums that are non-statutory in nature to the extent that the exclusion is necessary for a claim that includes the computer-readable (storage) medium to be valid.
  • Known statutory computer-readable mediums include hardware (e.g., registers, random access memory (RAM), non-volatile (NV) storage, to name a few), but may or may not be limited to hardware.
  • the test candidate filter agent 410 can be any combination of software agents and/or hardware modules (e.g., including processors and/or memory units) able to select, identify, qualify, from jobs for distribution to workers to work on to from which generate a test or evaluation task.
  • software agents and/or hardware modules e.g., including processors and/or memory units
  • test or evaluation tasks are generated from actual jobs with known responses or known answers such that they can be automatically generated with no human intervention or semi-automatically generated with minimal manual editing/intervention such that the process can be efficiently scaled and deployed. Therefore, in one embodiment, the task/job analyzer 411 is able to analyze submitted jobs or tasks based on various parameters to determine suitability for use a test/evaluation task.
  • the parameters which can be used to determine suitability include, whether a correct response is known for a given/task job, the certainty (degree) with which a response is known to be accurate, whether a given/task job has known common worker errors, whether a response to a given task/job is subjective or objective, number of correct responses/results for a given task/job, for example.
  • the task/job analyzer 411 can assess an actual job or task based the above parameters or additional parameters to identify those suitable for use in testing or evaluating worker competency.
  • jobs with known responses, or responses known to be accurate to a certain threshold can be considered as suitable for direct use or modified for use as test/evaluation tasks.
  • the results analyzer 415 can review, analyze, jobs/tasks and associated actual responses received from workers/contributors to determine whether correct data/responses are known.
  • the results analyzer 415 can also determine whether a given task/job is associated with a single objective answer which is correct or whether the task/job may have several answers which can be correct.
  • the results analyzer 415 selects task/jobs that have a single objective answer, or a few objective answers for use as candidates or ideal candidates for creation of test jobs/evaluation tasks.
  • the results analyzer 415 can determine the confidence with which a given response to a job/task is known to be correct. If the confidence is determined to exceed a threshold (e.g., by a confidence threshold assessor 416 ), the job/task and the response can be used in generation of a test or evaluation task for the benchmarking of other or new workers, for example.
  • the confidence threshold assessor 416 can determine or estimate the confidence level based on, for example the number of same results received from workers for a given job/task. For example, through the answer inferring agent 430 coupled to the results analyzer 415 .
  • the answer inferring agent 430 can detect agreement among various workers in the responses they provided for the same task/job (e.g., via the worker agreement detector 431 ). Typically, a larger number of same responses provided by different workers for the same task/job correspond to a higher confidence level associated with that response which can be tracked by the confidence threshold assessor 416 .
  • confidence level of a response depends in part or in whole on the worker who submitted the response, and whether the worker is generally known to provide high quality work product and/or has demonstrated expertise or capabilities in certain areas, as determined by the worker assessor 417 .
  • responses provided by workers of higher confidence e.g., known to be highly competent or reliable, or known experts
  • the contested answer manager 433 provides a feedback mechanism to address this by allowing workers to contest the wrong result when working on the test task, for example, via the contested answer manager 433 .
  • a given test task is removed or disabled when the contention rate for a given result of a test is exceeds or meets a threshold.
  • One embodiment of the results analyzer 415 includes an error detector 418 which can detect, identify, filter, determine, spot errors in responses provided by workers in performing the distributed tasks/jobs.
  • the error detector 418 can also identify one or more common worker errors associated with a given task/job. For example, in a URL verification task, workers might have difficulty with businesses which are similarly named but are located in the wrong city.
  • test tasks/jobs that directly target this type of worker error (e.g., “city/state” evaluation tasks). Since worker errors can fall into discrete sets, once these are identified, test tasks/evaluation tasks can be generated, for example, by the test data generator 420 . Test tasks generated from common worker errors can also be utilized to train workers, for example, via the in-task training module 450 .
  • the test data generator 420 can then use the candidate jobs, known answers, answers meeting a confidence threshold, known errors, known common errors to generate test tasks.
  • a given job/task which is associated with a known correct result e.g., as determined from agreement among results provided from different workers or a certain number of users
  • a known correct result can be created into a test data unit or test data pair by the test data generator 420 for use in verification by a worker.
  • the worker is to verify the accuracy of such a result for satisfactory completion of the test job/task.
  • knowing a correct result or result meeting or exceeding a confidence threshold and is thus treated as a correct result associated with a job task can be used to generate a test unit/data with a manipulated result, which is known to be an incorrect result for the job to generate a test task.
  • the correct result or can be manipulated by the data manipulation module 421 to generate another result which is incorrect (e.g., by the false results generator 422 ) to be associated with the job/task to generate a test data unit.
  • the manipulated result is determined from frequently received worker errors in response to working on the job, to target common worker errors and to provide in-task worker training on the common types of errors.
  • the worker should be able to identify the manipulated result associated with the test job to be incorrect. Specifically, the work quality of the worker is evaluated in part by determining whether the worker has identified the manipulated result as being an inaccurate result for the job. Examples of test tasks/test job units generated from a job with a known result are illustrated in the example of FIG. 5 .
  • test data distributor 440 presents the test tasks to workers for evaluation of worker quality, via their respective computing devices.
  • the test task(s) are presented among other (regular) jobs such that the worker is unaware of which of the jobs is being used to evaluate the work quality.
  • the frequency with which test tasks are presented to workers can be adjusted dynamically based on worker performance, for example. In general, the better a contributor is performing against the test set, the fewer test questions are presented.
  • One embodiment of the test data generator 420 further includes a feedback generator 423 which generates feedback messages from known incorrect results.
  • the feedback message can be presented to the worker evaluating the test task if the worker fails to identify the manipulated result as being inaccurate for the job and facilitate the in-task training process, for example the in-task training process performed by the in-task training module 450 .
  • the test data optimization module 460 can review and analyze created test units/test jobs and determine/assess their efficacy. For example, test units or jobs with contested responses can be monitored, tracked, and removed, disabled, or edited as appropriate by the optimization module 460 .
  • the optimization module 460 performs the associated tasks and analysis needed for ensuring that test units/jobs provide an accurate representation of worker quality, reliability, or competency.
  • One embodiment of the optimization module 460 includes the error type sampling agent 461 .
  • the sampling agent 461 is able to sample different types of worker errors for use in creating or optimizing test data sets/test units. Identification and sampling of different worker error types allows test data/test tasks to be generated with a uniform distribution of target errors.
  • FIG. 5 depicts a diagram showing an example of test tasks 508 and 510 generated from a job with a known result 502 .
  • Each manipulation or mutation of data can be applied to a single job unit U with correct result 502 , but generally requires all available data as input.
  • the manipulation can alter individual attributes of the data to produce a new unit that (a) differs the original unit enough to violate task requirements and (b) looks similar to original data. For example, to create test units/tasks to verify city-state of a business variables can be assigned to each of address, city, state, postal code, and phone number (“location information”) in a business listing.
  • the job's location information can be manipulated with another location information from another entity, for example by a randomized mixing function. For instance, in a generated test task 506 , Gramercy Tavern in New York, N.Y., 10003 212-477-0777 would now have the location information from an entity outside of New York. Workers would be presented with the information Gramercy Tavern, Albany, N.Y. 10003, 212-555-1234 while the link (http://www.gramercytavern.com) would still take the workers to the Gramercy Tavern in New York City. The workers should answer “no” because the entity is not in the correct location or with the correct phone number.
  • test unit/test data Another example type of test unit/test data is the identification or verification of names. These test units/test data can target behavior where workers would say that the website for Enterprise Lawyers located in Durango, Colo., was the correct website for Enterprise Group, also located in Durango, Colo. To address this problem, test units can be generated by taking answers where workers had answered yes with 1 confidence, then parsing out the words into their component pieces (i.e. first word, second word) and rearranging both the component pieces of the names, as well as the last 7 digits of the phone number. For instance, for the unit Nulook Party in Greenville, N.C.
  • the name and the phone number can be scrambled in the manipulation process so that the gold unit would be Automated Party in Greenville, N.C. with phone number 252-8985-9733. A worker would need to identify that this is not the correct website to satisfactorily complete the test task/job.
  • Each manipulation or mutation function produces the test task/unit that corresponds to a particular error identified earlier.
  • the description of the error can be used to automatically generate a feedback message. For example, if the workers answered city-state test task for business listing verification incorrectly, they may be presented a feedback message stating “The URL is for Gramercy Tavern located in New York, N.Y. We asked for the Gramercy Tavern in Albany, N.Y. Be sure to check that the restaurant is located in the correct city and state!” For example, if workers answered name-based test task/job incorrectly, they may be presented with a message of “The URL is for Nulook Party in Greenville, N.C., but we asked for Automated Party. Be sure that the name is the same!”
  • FIG. 6 depicts a graph 600 showing worker accuracy degradation over time when workers have begun to learn the test tasks.
  • an optimize size of gold data can be determined by computing:
  • X is the number of tasks in the job
  • P is a maximum percentage of the job you want any one worker to complete (usually no greater than 0.33).
  • FIG. 7A depicts a table 700 illustrating worker result accuracy comparing when no test tasks are used, when test tasks are automatically generated from jobs, or with manually defined test tasks.
  • the data obtained for Experiment 1 compares the effect of manually defined tests (“manual gold”) with automatically generated tests (“programmatic gold”) for a dataset of 9,659 business listings which had web addresses are used.
  • the goal was to first verify the correct name of the business, and, if the business name was different on the website vs. the information in the business listing, change the business name to the name listed on the website. Workers were instructed to find the correct business name on the website and, if the name provided by the local index was incorrect, copy and paste the correct name from the URL onto the page.
  • Some businesses have different names for specific locations or divisions of the business. In that situation, workers were asked to use the name that best matches the location or division.
  • FIG. 7B depicts a table 750 illustrating worker result accuracy comparing when no test tasks are used, when test tasks are automatically generated from jobs, or with manually defined test tasks.
  • the table 750 depicts results of experiment #2 which tests the scaling up of the test dataset from 10 initial test tasks/units to a total of 22,000 test tasks/units.
  • experiment #2 a 22,000-unit subset of a larger set of 500,000 local business listings with business web address (candidate URL), business name, physical address, and phone number data. The goal was to verify whether or not the candidate URL was correct.
  • a location of the business on the website is located in the provided city or has the provided phone number and the business name on the website is similar to the provided name
  • a location of the business on the website is located in the provided city and the business name on the website is nearly identical to the provided name.
  • test units are need for a certain number of tests/tasks to be performed. For example, then processing this data at the rate of 20,000 task/day and test tasks/units can be refreshed on a daily basis. Some or all of these units would be created manually.
  • FIG. 8 depicts a flow chart illustrating an example process for test/evaluation task generation from a job distributed through a job distribution platform.
  • a job distributed through a job distribution platform for workers to work on is selected to generate a test task.
  • the job distribution platform crowd sources tasks online to workers to work on via their respective computing devices.
  • jobs distributed through the job distribution platform include, by way of example but not limitation, content generation, content moderation, data enrichment, verification of a business listing, verification of a URL, or verification of a search result generated from a search engine.
  • the selected job is typically associated with a known correct result, which can be determined from agreement among results provided from different workers.
  • the job used to generate the test task can alternatively be selected from jobs with results known to meet or exceed a threshold level of confidence.
  • the threshold level of confidence can be represented by a number of matching results provided by workers.
  • a manipulated result known to be an incorrect result for the job, is associated with the job to generate the test task.
  • the manipulated result is determined from frequently received worker errors or actual worker errors in response to working on the job.
  • the job is presented with the manipulated result as the test task to a worker for evaluation of work quality of the worker.
  • the test task is presented among other jobs such that the worker is unaware of which of the jobs is being used to evaluate the work quality.
  • it is determined whether the worker has identified the manipulated result as being an inaccurate result for the job.
  • work quality of the worker is evaluated, for example, by determining whether the worker has identified the manipulated result as being an inaccurate result for the job.
  • performance statistics are computed based on the worker's performance with respect to one or more test tasks.
  • the performance statistics are used to determine compensation for the worker.
  • the performance statistics can be used to determine compensation or wages, or bonuses for the worker.
  • a worker profile for the worker including an aggregate indication of job performance and competency is generated.
  • FIG. 9 depicts a chart illustrating an example process for providing in-task training of a worker in performing crowd sourced tasks.
  • a job with a manipulated result is presented as a test task to a worker for evaluation of work quality of the worker.
  • the manipulated result used in the test task is typically an inaccurate result and the presentation of the test task can be disguised among actual jobs that are not test tasks.
  • process 904 the work quality of the worker is evaluated by determining whether the worker has identified the manipulated result as being an inaccurate result for the job.
  • a feedback message is automatically generated from the incorrect result.
  • process 908 the feedback message is presented to the worker via a respective computing device to provide in-task training of the worker, for example, if the worker fails to identify the manipulated result as being inaccurate for the job.
  • FIG. 10 depicts a flow chart illustrating an example process for training and assessing whether a new worker can be used by a crowd sourcing service to perform crowd sourced jobs.
  • process 1002 a new worker working on jobs distributed through a crowd sourcing service is detected.
  • a training session is initiated for the new worker.
  • a test task is presented to the worker for evaluation of work quality of the worker based on a result provided by the worker in response to the test task.
  • performance statistics are computed based on the worker's performance with respect to one or more test tasks. In addition, performance statistics can be computed for multiple workers that receive jobs through the job distribution service.
  • the performance statistics are used to determine whether to use the new worker for jobs distributed through the crowd sourcing service, or whether the new worker should be blocked from performing future jobs.
  • the performance statistics can also be used to determine or update a wage for the new worker.
  • the machine may be a server computer, a client computer, a personal computer (PC), a user device, a tablet PC, a laptop computer, a set-top box (STB), a personal digital assistant (PDA), a cellular telephone, an iPhone, an iPad, a Blackberry, a processor, a telephone, a web appliance, a network router, switch or bridge, a console, a hand-held console, a (hand-held) gaming device, a music player, any portable, mobile, hand-held device, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
  • PC personal computer
  • PDA personal digital assistant
  • machine-readable medium or machine-readable storage medium is shown in an exemplary embodiment to be a single medium, the term “machine-readable medium” and “machine-readable storage medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions.
  • the term “machine-readable medium” and “machine-readable storage medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the presently disclosed technique and innovation.
  • routines executed to implement the embodiments of the disclosure may be implemented as part of an operating system or a specific application, component, program, object, module or sequence of instructions referred to as “computer programs.”
  • the computer programs typically comprise one or more instructions set at various times in various memory and storage devices in a computer, and that, when read and executed by one or more processing units or processors in a computer, cause the computer to perform operations to execute elements involving the various aspects of the disclosure.
  • machine-readable storage media machine-readable media, or computer-readable (storage) media
  • recordable type media such as volatile and non-volatile memory devices, floppy and other removable disks, hard disk drives, optical disks (e.g., Compact Disk Read-Only Memory (CD ROMS), Digital Versatile Disks, (DVDs), etc.), among others, and transmission type media such as digital and analog communication links.
  • CD ROMS Compact Disk Read-Only Memory
  • DVDs Digital Versatile Disks
  • transmission type media such as digital and analog communication links.
  • the network interface device enables the machine 1100 to mediate data in a network with an entity that is external to the host server, through any known and/or convenient communications protocol supported by the host and the external entity.
  • the network interface device can include one or more of a network adaptor card, a wireless network interface card, a router, an access point, a wireless router, a switch, a multilayer switch, a protocol converter, a gateway, a bridge, bridge router, a hub, a digital media receiver, and/or a repeater.
  • the network interface device can include a firewall which can, in some embodiments, govern and/or manage permission to access/proxy data in a computer network, and track varying levels of trust between different machines and/or applications.
  • the firewall can be any number of modules having any combination of hardware and/or software components able to enforce a predetermined set of access rights between a particular set of machines and applications, machines and machines, and/or applications and applications, for example, to regulate the flow of traffic and resource sharing between these varying entities.
  • the firewall may additionally manage and/or have access to an access control list which details permissions including for example, the access and operation rights of an object by an individual, a machine, and/or an application, and the circumstances under which the permission rights stand.
  • network security functions can be performed or included in the functions of the firewall, can be, for example, but are not limited to, intrusion-prevention, intrusion detection, next-generation firewall, personal firewall, etc. without deviating from the novel art of this disclosure.
  • the words “comprise,” “comprising,” and the like are to be construed in an inclusive sense, as opposed to an exclusive or exhaustive sense; that is to say, in the sense of “including, but not limited to.”
  • the terms “connected,” “coupled,” or any variant thereof means any connection or coupling, either direct or indirect, between two or more elements; the coupling of connection between the elements can be physical, logical, or a combination thereof.
  • the words “herein,” “above,” “below,” and words of similar import when used in this application, shall refer to this application as a whole and not to any particular portions of this application.
  • words in the above Detailed Description using the singular or plural number may also include the plural or singular number respectively.
  • the word “or,” in reference to a list of two or more items, covers all of the following interpretations of the word: any of the items in the list, all of the items in the list, and any combination of the items in the list.

Abstract

Systems and methods for evaluating a worker in performing crowd sourced tasks and providing in-task training are disclosed. In one aspect, embodiments of the present disclosure include a method, which may be implemented on a system, for selecting a job distributed through a job distribution platform for workers to work on, for use to generate a test task, the job being associated with a known correct result, associating a manipulated result, known to be an incorrect result for the job, with the job to generate the test task, and/or presenting the job with the manipulated result as the test task to a worker for evaluation of work quality of the worker. The job distribution platform crowd sources tasks online to workers to work on via their respective computing devices.

Description

    CLAIM OF PRIORITY
  • This application is a continuation application of U.S. patent application Ser. No. 13/275,290 filed Oct. 17, 2011 and entitled “EVALUATING A WORKER IN PERFORMING CROWD SOURCED TASKS AND PROVIDING IN-TASK TRAINING THEREFOR” (Attorney Docket No. 73442-8005.US02), which claims the benefit of U.S. Provisional Application No. 61/502,815 filed Jun. 29, 2011 and entitled “PROGRAMMATIC GOLD TARGETED AND SCALABLE QUALITY ASSURANCE IN CROWDSOURCING,” (Attorney Docket No. 73442-8005.US00) and U.S. Provisional Application No. 61/503,483 filed Jun. 30, 2011 and entitled “PROGRAMMATIC GOLD TARGETED AND SCALABLE QUALITY ASSURANCE IN CROWDSOURCING,” (Attorney Docket No. 73442-8005.US01), the contents of which are incorporated by reference in their entireties.
  • CROSS-REFERENCES TO RELATED APPLICATIONS
  • This application is related to, and incorporates by reference, U.S. application Ser. No. 12/817,946 filed Jun. 17, 2010 and entitled “DISTRIBUTING A TASK TO MULTIPLE WORKERS OVER A NETWORK FOR COMPLETION WHILE PROVIDING QUALITY CONTROL,” and U.S. application Ser. No. 12/817,979 filed Jun. 17, 2010 and entitled “USING VIRTUAL CURRENCY TO COMPENSATE WORKERS IN A CROWDSOURCED TASK.”
  • This application is related to, and incorporates by reference, U.S. application Ser. No. 13/275,284 filed Oct. 17, 2011 and entitled “PERFORMANCE DATA IN A WORKER PROFILE AGGREGATED BY A JOB DISTRIBUTION PLATFORM FOR WORKERS THAT PERFORM CROWD SOURCED TASKS” (Attorney Docket No. 73442-8004.US01).
  • TECHNICAL FIELD
  • The disclosed technology relates generally to outsourcing or crowd sourcing jobs and tasks while providing scalable mechanisms for evaluating worker performance with in-task training.
  • BACKGROUND
  • Outsourcing mundane tasks and jobs to online labor around the globe has demonstrated potential in assisting entities and individuals complete a large amount of tasks in a time efficient manner. However, given the variability in labor pool, education level, age group, the results of the completed tasks are frequently less than ideal. Although entities could utilize crowd sourcing to have tasks completed in a short amount of time for a reasonable cost, the quality is typically highly variable and frequently unreliable.
  • Crowd sourcing is a growing industry, and online platforms exist for completion of tasks and microtasks. Labor-on-demand platforms provide APIs for application development and an international payment infrastructure for the deployment and implementation of crowd sourced tasks. Crowd sourcing has become a global phenomenon with a low barrier to entry. Millions of people around the world now participate in a digital and virtual workplace. However, the breadth and diversity among crowd sourcing participants, workers and researchers is immense and poses a challenge to implement adequate quality control mechanisms to account for a wide range of worker behavior: scammers, lazy workers, ethical workers, unethical workers, slow learners, etc. in a resource effective manner.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 illustrates an example block diagram of a host server of a job distribution platform that performs crowd sourcing by distributing tasks over a network to multiple workers and is able to evaluate workers in performing crowd sourced tasks and further provide in-task training.
  • FIG. 2A depicts an example block diagram of the components of a host server of a job distribution platform that distributes (e.g., crowd sources) tasks or microtasks to workers online and providing enhanced quality control through use and aggregation of worker profile data and intelligent dissemination/generation of test/evaluation tasks to evaluator worker quality and reliability.
  • FIG. 2B depicts an example block diagram of the components of a worker manager/tracker module of the host server able to generate and store performance data when a worker performs tasks distributed to them by a job distribution platform which crowd sources tasks over a network to remote workers.
  • FIG. 3 illustrates an example repository for storing worker/contributor performance and profile data.
  • FIG. 4 depicts an example block diagram of the components of a test data/test standards manager for use in evaluating worker performing and for use in providing in-task training.
  • FIG. 5 depicts a diagram showing an example of test tasks generated from a job with a known result.
  • FIG. 6 depicts a graph showing worker accuracy degradation over time when workers have begun to learn the test tasks.
  • FIG. 7A depicts a table illustrating worker result accuracy comparing when no test tasks are used, when test tasks are automatically generated from jobs, or with manually defined test tasks.
  • FIG. 7B depicts a table illustrating worker result accuracy comparing when no test tasks are used, when test tasks are automatically generated from jobs, or with manually defined test tasks.
  • FIG. 8 depicts a flow chart illustrating an example process for test/evaluation task generation from a job distributed through a job distribution platform.
  • FIG. 9 depicts a flow chart illustrating an example process for providing in-task training of a worker in performing crowd sourced tasks.
  • FIG. 10 depicts a flow chart illustrating an example process for training and assessing whether a new worker can be used by a crowd sourcing service to perform crowd sourced jobs.
  • FIG. 11 shows a diagrammatic representation of a machine in the example form of a computer system within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed.
  • DETAILED DESCRIPTION
  • The following description and drawings are illustrative and are not to be construed as limiting. Numerous specific details are described to provide a thorough understanding of the disclosure. However, in certain instances, well-known or conventional details are not described in order to avoid obscuring the description. References to one or an embodiment in the present disclosure can be, but not necessarily are, references to the same embodiment; and, such references mean at least one of the embodiments.
  • Reference in this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the disclosure. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Moreover, various features are described which may be exhibited by some embodiments and not by others. Similarly, various requirements are described which may be requirements for some embodiments but not other embodiments.
  • The terms used in this specification generally have their ordinary meanings in the art, within the context of the disclosure, and in the specific context where each term is used. Certain terms that are used to describe the disclosure are discussed below, or elsewhere in the specification, to provide additional guidance to the practitioner regarding the description of the disclosure. For convenience, certain terms may be highlighted, for example using italics and/or quotation marks. The use of highlighting has no influence on the scope and meaning of a term; the scope and meaning of a term is the same, in the same context, whether or not it is highlighted. It will be appreciated that the same thing can be said in more than one way.
  • Consequently, alternative language and synonyms may be used for any one or more of the terms discussed herein, nor is any special significance to be placed upon whether or not a term is elaborated or discussed herein. Synonyms for certain terms are provided. A recital of one or more synonyms does not exclude the use of other synonyms. The use of examples anywhere in this specification including examples of any terms discussed herein is illustrative only, and is not intended to further limit the scope and meaning of the disclosure or of any exemplified term. Likewise, the disclosure is not limited to various embodiments given in this specification.
  • Without intent to further limit the scope of the disclosure, examples of instruments, apparatus, methods and their related results according to the embodiments of the present disclosure are given below. Note that titles or subtitles may be used in the examples for convenience of a reader, which in no way should limit the scope of the disclosure. Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure pertains. In the case of conflict, the present document, including definitions will control.
  • Embodiments of the present disclosure include systems and methods for evaluating a worker in performing crowd sourced tasks and providing in-task training.
  • FIG. 1 illustrates an example block diagram of a host server 100 of a job distribution platform that performs crowd sourcing by distributing tasks over a network 106 to multiple workers 122 and is able to evaluate workers in performing crowd sourced tasks and further provide in-task training.
  • The client devices 102A-N can be any system and/or device, and/or any combination of devices/systems that is able to establish a connection with another device, a server and/or other systems. Client devices 102A-N each typically include a display and/or other output functionalities to present information and data exchanged between among the devices 102A-N and the host server 100.
  • For example, the client devices 102 can include mobile, hand held or portable devices or non-portable devices and can be any of, but not limited to, a server desktop, a desktop computer, a computer cluster, or portable devices including, a notebook, a laptop computer, a handheld computer, a palmtop computer, a mobile phone, a cell phone, a smart phone, a PDA, a Blackberry device, a Treo, a handheld tablet (e.g. an iPad, a Galaxy, Xoom Tablet, etc.), a tablet PC, a thin-client, a hand held console, a hand held gaming device or console, an iPhone, and/or any other portable, mobile, hand held devices, etc. The input mechanism on client devices 102 can include touch screen keypad (including single touch, multi-touch, gesture sensing in 2D or 3D, etc.), a physical keypad, a mouse, a pointer, a track pad, motion detector (e.g., including 1-axis, 2-axis, 3-axis accelerometer, etc.), a light sensor, capacitance sensor, resistance sensor, temperature sensor, proximity sensor, a piezoelectric device, device orientation detector (e.g., electronic compass, tilt sensor, rotation sensor, gyroscope, accelerometer), or a combination of the above.
  • The client devices 102A-N, worker channels 108, workers (or contributors) 122, gaming server 110, third party social network server 112, payment processing server 114, and/or mobile credit payment server 116, can be coupled to a network 106. In some embodiments, the devices 102A-N and host server 100 may be directly connected to one another.
  • In one embodiment, the host server 100 is operable to perform crowd sourcing services and/or to process crowd sourcing requests for entities (e.g., companies, organizations or other types of institutions) or users (e.g., individual or groups of users) via devices 102A-N. Workers (e.g., users or contributors) can access their jobs or assigned/distributed tasks via their own devices 102A-N, networked to the host server 100. The host server 100 can distribute a task to be crowd sourced to multiple workers (who may be located through various different channels 108A-N) and provide sophisticated quality control and cost management mechanisms, including tracking worker data over a period of time to provide an indication of worker preference, level of expertise, responsiveness, value of work, performance, speed, and other like performance/quality metrics for the worker or the generated work product.
  • In one embodiment, the host server 100 is further able to evaluate a worker's work quality, reliability in performing crowd sourced tasks via their own user devices 102A-N by intelligently generating evaluation or test tasks with known right answers or known false answers to be presented to a worker or potential worker (e.g., new worker being initially assessed for competency and usability) to see if the worker provides the correct response. The evaluation or test tasks can be generated (e.g., automatically or semi-automatically) from jobs actually submitted to and distributed through the job distribution platform of the host server 100 for completion by workers/contributors such that no additional resources need to be utilized for creation and management of test tasks. Moreover, in-task training of workers/contributors can be automated through use of test/evaluation tasks. Test task/evaluation task generation and management are described with further references to the examples of FIG. 4-10.
  • The host server 100 of the job distribution platform utilizes workers from multiple worker pools via different channels 108. The host server 100 can have a partnering relationship with one or more of the channels 108. Channels can be chosen by demographic requirements such as location and general age/sex of the worker pool. When a contributor completes the work required, the job distribution platform can inform the partner (or channel) that a transaction has completed for a specified amount. The partner can then award the contributor some percentage of the amount in either virtual or real currency. The access to multiple worker pools allows the job distribution platform access to a larger group of workers/contributors and enhances scalability and diversifies worker base. The worker pool which is used for a given job or task can be selected manually by the person posting the task and/or determined in part or in whole by the host server 100. Some pools have limitations, for example, some do not allow adult content, others do not provide the cultural or language needs of the task.
  • Quality control and the amount of quality desired can be configured by the requesting entity or user such that for example, a user or entity is only charged for the task if completed to the desired or target accuracy level. The channels 110 through which labor can be identified can include by way of example, but not limitation, Amazon Mechanical Turk, Give Work, SamaSource, Trial Pay (e.g., a virtual currency provider), third party social networks (e.g., Facebook, Twitter, LinkedIn, MySpace, third-party social network server 112) or gaming platforms (e.g., Gambit, Prodege, etc.) New and additional labor forces are constantly being integrated into the system and partnering with the host 100, each with their own advantages and disadvantages.
  • The host server 100, can in addition, also utilize social networks or social network servers (e.g., the 3rd party social network server 112) to aggregate, parse, and/or identify information such as preferences, likes/dislikes, language proficiency, general proficiency, interests, hobbies, expertise related information about workers or contributors which can be used in a worker profile and used as factors in selecting suitable workers for a given job or task.
  • In some instances, the host server 100 utilizes an online gaming service or platform (e.g., through a third-party gaming server 110 or other partnering platform) through which to distribute tasks or unit jobs and tasks. Gaming services which provide games to various types of online or web-based platforms can also be partnered with the host server 100 of the job distribution platform. Note that the host server 100 may also host gaming services via one or more gaming platforms. The unit jobs can be distributed to gamers or other visitors on the gaming platform. In one embodiment, the workers utilized in an online game can be paid in virtual currency, such as virtual currency that can be used to play games on the gaming server 110.
  • In some instances, the host server 100 utilizes a payment processing server 114 to facilitate payment of workers or contributors 122 in money. The payment processing server 114 can be integrated or operated by the same entity as the host server 100 of the job distribution platform, or it may be operated by a third party. The host server 100 manages the payment preferences of a given worker and ensure, for example, through the payment processing server 114 that the worker gets paid in the desired currency (e.g., U.S. dollars, Euro, etc.), at the desired frequency, in a desired channel (e.g., online, PayPal, direct bank account deposit, physical check, money order), in a desired format (e.g., money, mobile credits, gaming credits, or other types of virtual currency, etc.). For example, the host server 100 can also interact with a mobile credit payment service or mobile credit payment server 116 to facilitate the payment of workers or contributors with mobile credits. The mobile credit payment server 116 may be operated by a wireless network operator or another third party entity. In some instances, the host server 100 internally has mobile credit payment services which operates in whole or in part the payment/compensation of workers in mobile credits.
  • Functions and techniques performed by the host server 100 and the components therein are described in detail with further references to the examples of FIG. 2A-B and FIG. 4.
  • The client devices 102A-N are generally operated by entities/users requesting crowd sourcing services, for example via user interface 104A-N displayed on the display units. The client devices may also be. The client devices 102A-N may also be used (e.g., by programmers and developers) by workers to access job units or tasks for completion.
  • In one embodiment, client devices 102 communicate with the host server 100 over network 106. In general, network 106, over which the client devices 102, the host server 100, and/or notification server 150 communicate, may be a cellular network, a telephonic network, an open network, such as the Internet, or a private network, such as an intranet and/or the extranet, or any combination thereof. For example, the Internet can provide file transfer, remote log in, email, news, RSS, cloud-based services, instant messaging, visual voicemail, push mail, VoIP, and other services through any known or convenient protocol, such as, but is not limited to the TCP/IP protocol, Open System Interconnections (OSI), FTP, UPnP, iSCSI, NSF, ISDN, PDH, RS-232, SDH, SONET, etc.
  • The network 106 can be any collection of distinct networks operating wholly or partially in conjunction to provide connectivity to the client devices 102 and the host server 100 and may appear as one or more networks to the serviced systems and devices. In one embodiment, communications to and from the client devices 102 can be achieved by an open network, such as the Internet, or a private network, such as an intranet and/or the extranet. In one embodiment, communications can be achieved by a secure communications protocol, such as secure sockets layer (SSL), or transport layer security (TLS).
  • In addition, communications can be achieved via one or more networks, such as, but are not limited to, one or more of WiMax, a Local Area Network (LAN), Wireless Local Area Network (WLAN), a Personal area network (PAN), a Campus area network (CAN), a Metropolitan area network (MAN), a Wide area network (WAN), a Wireless wide area network (WWAN), enabled with technologies such as, by way of example, Global System for Mobile Communications (GSM), Personal Communications Service (PCS), Digital Advanced Mobile Phone Service (D-Amps), Bluetooth, Wi-Fi, Fixed Wireless Data, 2G, 2.5G, 3G, 4G, IMT-Advanced, pre-4G, 3G LTE, 3GPP LTE, LTE Advanced, mobile WiMax, WiMax 2, WirelessMAN-Advanced networks, enhanced data rates for GSM evolution (EDGE), General packet radio service (GPRS), enhanced GPRS, iBurst, UMTS, HSPDA, HSUPA, HSPA, UMTS-TDD, 1xRTT, EV-DO, messaging protocols such as, TCP/IP, SMS, MMS, extensible messaging and presence protocol (XMPP), real time messaging protocol (RTMP), instant messaging and presence protocol (IMPP), instant messaging, USSD, IRC, or any other wireless data networks or messaging protocols.
  • The host server 100 may include internally or be externally coupled to a user repository 128, a job/tasks repository 130, a performance and profile data repository 132, and/or a test data repository 134. The repositories can store software, descriptive data, images, system information, drivers, and/or any other data item utilized by other components of the host server 100 and/or any other servers for operation. The repositories may be managed by a database management system (DBMS), for example but not limited to, Oracle, DB2, Microsoft Access, Microsoft SQL Server, PostgreSQL, MySQL, FileMaker, etc.
  • The repositories can be implemented via object-oriented technology and/or via text files, and can be managed by a distributed database management system, an object-oriented database management system (OODBMS) (e.g., ConceptBase, FastDB Main Memory Database Management System, JDOInstruments, ObjectDB, etc.), an object-relational database management system (ORDBMS) (e.g., Informix, OpenLink Virtuoso, VMDS, etc.), a file system, and/or any other convenient or known database management package.
  • In some embodiments, the host server 100 is able to provide data to be stored in the user repository 128, the tasks repository 130, performance/profile data repository 132, and/or test data repository 134 and/or can retrieve data stored in the repositories. The user repository 128 can store user (e.g., worker) information, statistics, speed, accuracy, topics of interest, topics of expertise, etc. The tasks repository 130 can include, tasks or unit jobs (e.g., in spreadsheets or other types of files) specified by entities or individuals requesting crowd sourcing services. The repository 130 can also include information about the requesting entities or individuals.
  • One embodiment further includes a performance and profile data repository 132 which can store enhanced worker (e.g., contributor) performance information and metrics, worker preference information, demographic profile information, social network information, peer review information, etc. Additional details of examples of types of data stored in the repository 132 as illustrated with further reference to the example of FIG. 3. One embodiment includes a test data repository 134, which can store generated test data or evaluation data used in assessing worker competency.
  • FIG. 2A depicts an example block diagram of the components of a host server 200 of a job distribution platform that distributes (e.g., crowd sources) tasks or microtasks to workers online and providing enhanced quality control through use and aggregation of worker profile data and intelligent dissemination/generation of test/evaluation tasks to evaluator worker quality and reliability.
  • The host server 200 can include, for example, a network interface 201, an attribute module 202, a task configuration module 204 having a budget manager, a wage setting agent 206 having a virtual currency manager, an accuracy manager module 208, a quality control module 210 having a statistics tracking module, a worker channel selection module 212 having a task distributor module and/or a gaming server manager, a worker manager and tracker 220, and/or a test data/test standards manager 400. Additional or less components/modules/engines can be included in the host server 200 and each illustrated component.
  • The network interface 201 can be a networking module that enables the host server 200 to mediate data in a network with an entity that is external to the host server 200, through any known and/or convenient communications protocol supported by the host and the external entity. The network interface 201 can include one or more of a network adaptor card, a wireless network interface card (e.g., SMS interface, WiFi interface, interfaces for various generations of mobile communication standards including but not limited to 1G, 2G, 3G, 3.5G, 4G, LTE, etc.,), Bluetooth, a router, an access point, a wireless router, a switch, a multilayer switch, a protocol converter, a gateway, a bridge, bridge router, a hub, a digital media receiver, and/or a repeater.
  • As used herein, a “module,” a “manager,” an “agent,” a “tracker,” a “handler,” a “detector,” an “interface,” or an “engine” includes a general purpose, dedicated or shared processor and, typically, firmware or software modules that are executed by the processor. Depending upon implementation-specific or other considerations, the module, manager, tracker, agent, handler, or engine can be centralized or its functionality distributed. The module, manager, tracker, agent, handler, or engine can include general or special purpose hardware, firmware, or software embodied in a computer-readable (storage) medium for execution by the processor.
  • As used herein, a computer-readable medium or computer-readable storage medium is intended to include all mediums that are statutory (e.g., in the United States, under 35 U.S.C. 101), and to specifically exclude all mediums that are non-statutory in nature to the extent that the exclusion is necessary for a claim that includes the computer-readable (storage) medium to be valid. Known statutory computer-readable mediums include hardware (e.g., registers, random access memory (RAM), non-volatile (NV) storage, to name a few), but may or may not be limited to hardware.
  • One embodiment of the host server 200 includes an attribute module 202. The attribute module 202 can be any combination of software agents and/or hardware modules (e.g., including processors and/or memory units) able to identify, detect, extract, an attribute of a task, which generally includes multiple units.
  • An attribute of a task can include, by way of example but not limitation, level of difficulty of the task, level of subjectivity, etc. Task attributes can be specified or measured by an amount of time that is needed to complete the task. In addition, the attribute can include determining target accuracy specified by the entity or user requesting the crowd sourcing services.
  • Task attributes can be determined during a calibration process when the requesting entity is setting up jobs or tasks to be distributed to on-demand labor for completion. Timing, wages, and target accuracy can be determined and computed for a unit job or task.
  • One embodiment of the host server 200 includes a task configuration module 204. The task configuration module 204 can be any combination of software agents and/or hardware modules (e.g., including processors and/or memory units) able to configure a task or unit jobs for quality control and based on a user's specified parameters.
  • For example, the task configuration module 204 allows the user to upload or edit tasks/unit jobs via a web interface. In addition, the task configuration module 204 calibrates a task by identifying its attributes or attributes of a single unit job. For example, the task configuration module 204 determines the amount of time needed a certain unit job or task requires. This information can be used to determine the wage to pay a worker when they have completed their jobs, for example, by the wage setting agent 206.
  • One embodiment of the host server 200 includes a wage setting agent 206. The wage setting agent 206 can be any combination of software agents and/or hardware modules (e.g., including processors and/or memory units) able to set a wage amount that is offered to a worker for completing a unit job of the task based on the attribute and the target accuracy.
  • In general, the wage setting agent 206 can set the wage based on one or more of the attributes, level of target accuracy, the requestor's budget, etc. In addition, the requesting entity/user can specify a desired level of wage to pay each worker. In one embodiment, the system sets the wage dynamically. For example, the initial calibration of the wage can be an estimate and the actual wage is calculated as the job progresses. The system can continue to track the amount of time/resources needed by workers to complete a job. This way, the system can compensate for jobs that are taking workers different amounts of time from what was originally estimated. For example, while most jobs end up around $x/hr, but jobs that are extremely time sensitive can be much higher (e.g., as much as 4-20×/hr). There is also a direct correlation between quality of the work and payment amount. Using the wage amount, the agent 206 can also determine the total cost to the requesting entity to complete the task using the total number of job units in the task. The wage setting agent 206 is configured such that the requestor (entity or user) can tweak the total cost by adjusting, one or more of, the target level of accuracy and the desired/ideal level of wage for paying the workers.
  • One embodiment of the host server 200 includes an accuracy manager module 208. The accuracy manager module 208 can be any combination of software agents and/or hardware modules (e.g., including processors and/or memory units) able to determine, set, identify, the target accuracy in completion of the task by the entity.
  • The target accuracy can be, for example, specified by the entity/user requesting that a task be distributed to multiple workers (e.g., including online labor, on-demand labor) for completion. The target accuracy can be specified during calibration. The user/entity and indicate whether more or less accuracy is desired. Generally more accurate results require additional results to be obtained per job unit, thus potentially increasing the total cost to complete the task. In some instances, the target accuracy may be set by default rather than user customized.
  • One embodiment of the host server 200 includes a quality control module 210. The quality control module 210 can be any combination of software agents and/or hardware modules (e.g., including processors and/or memory units) able to implement quality control mechanisms to ensure that the results of the completion of the task are of a quality expected by the requestor.
  • The quality control module 210 can compute the number of results (e.g., judgments) needed per job unit based on the target accuracy. To compute the number of results, in one embodiment, a minimum number of judgments is initially set. If the measure of agreement is below a predefined percentage once the minimum number of judgments has been collected, more judgments can be collected until the predefined agreement has been met. A maximum number of judgments can also be set, for example to ensure jobs run within budget.
  • In addition, the quality control module 210 can manage the standards for each task used for quality control. For example, the quality control module 210 enables the requesting entity/user to specify a select set of unit jobs that are presented to online labor units for the entity to evaluate quality of task completion. The questions can be added. In general, the types of tasks that are good for the quality control are those with a right or wrong answer.
  • For these questions, the correct answers or responses are typically specified. The user/entity can also monitor/track the efficacy of the selected questions. A user can see each selected question and whether workers have correctly answered these questions. The user can also see, access, and/or track how many workers have responded to a selected question. Using the statistics, the user can modify the selection accordingly.
  • Using these questions, the quality control module 210 can determine the quality of the work and the quality of a particular worker's work product. For example, the quality control module 210 may include a statistics tracking module which tracks, collects and/or aggregates statistics of the online labor units completing the select jobs. In most instances, workers are able to choose any job that has been assigned as long as they meet certain requirements (e.g., age and/or language, etc.). However, workers can also be prohibited from working on a single job, single type of job, or all jobs. For example, workers history, statistics, and performance, can be used to target jobs to workers based on what they have performed well on. Workers are typically allowed to attempt any job they have not been blocked from. If it is the first time they have seen the task they will only be asked known questions. If they have not answered a pre-defined number of questions correctly within a certain time period they are typically not allowed to perform the actual task.
  • One embodiment of the host server 200 includes a worker selection module 212. The worker selection module 212 can be any combination of software agents and/or hardware modules (e.g., including processors and/or memory units) able to select workers (e.g., online workers, on-demand labor, etc.) to whom to distribute unit jobs of a task.
  • The worker selection module 212 can select a channel based on the user/entity's selection (e.g., Mechanical Turk, Crowdflower, Gambit (e.g., a third party gaming platform), Give Work, SamaSource, Trial Pay (e.g., a virtual currency provider), Internal, etc. New and additional labor forces are constantly being integrated into the system, each with their own advantages and disadvantages. Based on the selected channel, the task distributor can then distribute jobs to various workers for completion of unit jobs in the task.
  • In one embodiment, the selected channel is an online gaming environment in which gamers or other users are presented with unit jobs while playing games or doing something else. These users can be paid in virtual currency, for example, that they can use in the online gaming environment. Such a process can be performed by the gaming service manager. The gaming server manager can manage games internal to the host server 200 or manage communications with an external gaming server (e.g., the gaming server 110 shown in the example of FIG. 1). The tasks can be presented on a site hosted by the server 200 of presented to workers on the third party site.
  • In one embodiment, the gaming server manager in the worker channel selection module 212 communicates with the wage setting agent 206 to determine the wage that a worker/gamer would be entitled to upon completion of a unit job or task. The gaming server manager can then determine the amount of virtual currency to which the wage converts. The gaming server manager then communicates the tasks to be presented via the gaming site to the third party gaming server.
  • One embodiment of the host server 200 includes a worker manager and tracker module 220. The worker channel selection module 212 can be any combination of software agents and/or hardware modules (e.g., including processors and/or memory units) able to detect, track, compute, generate, determine, and/or identify job performance data or job performance-related data for multiple workers/contributors via the job distribution platform. Other types of worker information may also be tracked and generated for multiple workers in various worker pools (channels), for example, psych questions or other more subjective data collected from a worker or contributor in addition to performance.
  • Worker information including job performance data, can be tracked over a period of time (e.g., historical performance data) for a worker. For example, performance data can be tracked for a given task, a given job (a job can include multiple tasks), a session (e.g., a worker can work on multiple jobs and tasks during a given work session), a day, a week, a month, a year, etc. Useful statistical data can be generated or computed by the manager and tracker module 220 for the job distribution platform to more effectively and efficiently control quality of work product, extract/determine meaningful information about each individual worker/contributor, and/or allow jobs/projects to be more effectively cost managed. By tracking, aggregating, and storing performance data for multiple users across several worker pools, the job distribution platform can have access to useful information for distributing work and managing quality and cost.
  • Detailed features and functionalities of the worker manager and tracker module 220 are described with reference to FIG. 2B.
  • One embodiment of the host server 200 includes a test data/test standards manager 400. The test data/test standards manager 400 can be any combination of software agents and/or hardware modules (e.g., including processors and/or memory units) able to generate test data, test jobs, test or evaluation tasks to assess and evaluate worker competency, ability, and/or usability. Manager 400 can also use these test data/jobs or tasks to provide in-task training of workers as they are working on jobs distributed by the host 200. Detailed features and functionalities of the test data/test standards manager 400 are described with reference to FIG. 4.
  • The host server 200 represents any one or a portion of the functions described for the modules. The host server 200 can include additional or less modules. More or less functions can be included, in whole or in part, without deviating from the novel art of the disclosure. The repositories 128, 130, and 132 were discussed in conjunction with the description of FIG. 1. The repository 132 is described with further reference to the example of FIG. 3.
  • FIG. 2B depicts an example block diagram of the components of a worker manager/tracker module 220 of the host server 200 of the example of FIG. 2A able to generate and store performance data for a worker.
  • The performance data can be determined or generated when a worker performs tasks distributed to them by a job distribution platform (e.g., hosted by the host server 200) which crowd sources tasks over a network to remote workers.
  • The module 220 can include, for example, a job history tracker module 225 having a session tracker 226, a job tracker 227, a worker tracker 228 having an ID tracker 229 and/or a channel tracker 230. The module 220 can further include a performance data generator 250 having a performance agent 235, a device identifier 245, a quality assessor 240, a speed tracker 255, a value assessor 260, and/or an experience level assessor 265. The performance agent 235 can further include a rejection/judgment tracker 236, a bans tracker 237, and/or a performance flagging agent 238. The quality assessor 240 can include a peer review metric module 241 and/or a gold standard metric module 242. The speed tracker 255 may further include a velocity violation detector 256. The value assessor 260 can include an FTE metric module 261 and/or a financial value metric module 262.
  • The worker manager/tracker module 220 can further include a worker sentiment determination engine 270, a worker preference engine 275, a static profile data aggregator 280 having a demographic information generator 281, a dynamic profile data aggregator 285, a worker profile generator 290, and/or a worker selection engine 295. The worker preference engine 275 can further include a payment preference handler 276, an objectionable content preference handler 277, and/or a work time preference handler 278. The dynamic profile data aggregator 285 can include an employment information manager 286 and/or a social network data compiler 287.
  • Additional or less components can be included in the host server 200 and each illustrated component.
  • As used herein, a “module,” a “manager,” an “agent,” a “tracker,” a “handler,” a “detector,” an “interface,” or an “engine” includes a general purpose, dedicated or shared processor and, typically, firmware or software modules that are executed by the processor. Depending upon implementation-specific or other considerations, the module, manager, tracker, agent, handler, or engine can be centralized or its functionality distributed. The module, manager, tracker, agent, handler, or engine can include general or special purpose hardware, firmware, or software embodied in a computer-readable (storage) medium for execution by the processor.
  • As used herein, a computer-readable medium or computer-readable storage medium is intended to include all mediums that are statutory (e.g., in the United States, under 35 U.S.C. 101), and to specifically exclude all mediums that are non-statutory in nature to the extent that the exclusion is necessary for a claim that includes the computer-readable (storage) medium to be valid. Known statutory computer-readable mediums include hardware (e.g., registers, random access memory (RAM), non-volatile (NV) storage, to name a few), but may or may not be limited to hardware.
  • One embodiment of the worker manager/tracker 220 includes a job history tracker module 225. The job history tracker module 225 can be any combination of software agents and/or hardware modules (e.g., including processors and/or memory units) able to monitor, track, determine, record, tasks, microtasks, jobs, projects that workers or contributors have worked on through the job distribution platform hosted by server 200. Job attributes, owners, details and the knowledge/expertise involved in each job/task/project can be determined, tracked, recorded for each worker or contributor performing the job and stored (e.g., in repository 132) in association with any quality or performance data for the worker.
  • The job history tracker module can track and store the jobs performed by workers in a given session (e.g., by the session tracker 226). For example, a worker can perform several jobs in a given work session (e.g., from the time a worker logs in to access work distributed by the job distribution platform to when the user logs out or times out, or stops working for a certain amount of time). A work session can also have a default time period duration (e.g., one day, a certain number of hours, user gets logged out of the system, a few days, etc.) as specified by the worker, job distribution platform, or a given job.
  • In a given work session, a worker/contributor can work on several projects or jobs, with each project or job having several tasks. The session tracker 226 can track the projects, jobs, and/or tasks that the worker has worked on in a given session and generate or compute statistics (e.g., job performance metrics) for a given project, job, or task in a given session or across multiple sessions. The statuses of the various projects, jobs, and/or tasks performed in a session can also be determined and stored. For example, the session tracker 226 can track one or more tasks that span current jobs and a history of previous jobs distributed to the worker and job performance data for the worker is collected for current and previous jobs.
  • Similarly, the job history tracker module can track the tasks performed by workers in a given job or across multiple jobs (e.g., by the job tracker module 227). The job tracker 227 can identify, record, and store tasks assigned to and/or performed on, worked on by the workers/contributors. The job tracker module 227 can track a history of previous jobs having tasks a worker has worked on. The statuses of various jobs and/or tasks worked on by workers/contributors can be determined and/or recorded. The worker tracker 228 can track workers that have worked in the sessions, jobs, projects, and on tasks.
  • In one embodiment, the worker tracker 228 assigns a unique identifier (e.g., using the ID tracker 229) to each unique worker/contributor who has worked on tasks assigned via the job distribution platform. The unique identifier can be used to identify worker profile information and/or worker performance data. The unique identifier can be assigned to the worker to be associated with the worker across various jobs and tasks. The worker manager/tracker 220 can also track a worker based on the worker pool or channel though which the worker is connected to the job distribution platform, for example, by the channel tracker 230. In some instances, a given worker may be a part of multiple worker pools and the unique worker ID can be assigned to a given worker regardless of their multiple worker pool affiliations.
  • The performance data generator 250 of the worker manager/tracker module 220 can be any combination of software agents and/or hardware modules (e.g., including processors and/or memory units) able to monitor, track, determine, record, job performance data over a period of time for workers/contributors performing work through the job distribution platform that crowd sources tasks to multiple workers.
  • In general, the job performance data can be collected when the worker performs the tasks distributed online to their respective computing devices by the job distribution platform. In one embodiment, the job performance data includes quantitative metrics which can be determined or computed by the performance agent 235 for various performance and/or quality measures. For example, the rejection and judgment tracker 236 can detect and record results submitted by a worker/contributor that were rejected as faulty or accepted as a correct result (e.g., a judgment). Managing the distribution of tasks can be performed by a task requisition system, for example, using a custom implementation of the in-memory repository or database (e.g., Redis). The repository can be optimized for ensuring redundancy and performing the corresponding de-duplication. For instance, de-duplication can be implemented such that no contributor or worker sees the same task more than a specified number (e.g., once, twice, three times, etc.). If a contributor or worker is rejected, the tasks they had previously completed can be re-routed to other contributors or workers.
  • In one embodiment, the job performance data includes quantitative metrics which indicate a rate or number of rejected results in performing one or more tasks or jobs, as can be determined by the rejection/judgment tracker 236. Some of the rejections and/or judgments are received as a result of test tasks distributed to workers/contributors in order to make an assessment regarding their quality of work.
  • In one embodiment, the job performance data includes quantitative metrics indicating a rate or number of instances of bans from the system of flags from assigned jobs, for example, by the bans or flag tracker 237. In general, a ‘flagged’ worker prevents the workers or contributors from continuing to work on a specific task, or set of tasks. If a worker is banned, it is generally a one time event, and prevents a worker from doing future work through the platform.
  • A worker/contributor may be banned from performing work through the platform or flagged from performing specific jobs or tasks when the quality or speed of the work does not meet a threshold, which can be set by the job or the job distribution platform. For example, a worker/contributor may be temporarily or permanently suspended from a job if a number of results they provided are inaccurate, or if they submit a certain number of inaccurate results in a certain amount of time, or if the worker does not complete a task within a specified time frame (e.g., by the job poster or the job distribution platform).
  • In one embodiment, the job performance data includes quantitative metrics indicating a rate or number of instances of the worker has been flagged for performance review but not actually banned from a job or task, for example, by the performance flagging agent 238. Flagging can occur manually or programmatically after certain thresholds have been met. For example, flagging occurs after a peer review system has indicated a contributor is not performing accordingly or showing indicators of poor performance (e.g., spelling mistakes, irrelevant answers, or any other subjective requirements detectable by reviewers). A worker/contributor may be flagged when their performance (e.g., as indicated by one or more performance metrics of quality or speed) falls below a certain threshold, which may be set by a job requestor and/or in part or in whole determined by the job distribution platform. The rate or number of instances when the worker has been flagged for performance review can be used in assessing overall quality/performance of the worker.
  • In one embodiment, the performance data generator 250 tracks a rate or time with which the worker completes the one or more tasks, for example, via the speed tracker 255. The speed tracker 255 can also determine the speed, rate with which, or amount of time it takes a worker to complete a job, on average over a period of time, over a set of tasks, or over a set of jobs, for example. The rate or time with which the worker completes a task can be used as an indication in a worker profile of how efficient the worker is.
  • The speed tracker 255 can also track instances when the worker performs or completes a task exceeding a rate or speed, which may be an indication that a worker is not paying attention to performing the assigned tasks. As such, the job performance data can include quantitative metrics indicating a rate or number when the worker has performed or completed one or more tasks exceeding a rate or speed. In addition, the job performance data can include quantitative metrics indicating an average rate or speed with which the worker can satisfactorily complete a task, which can be used as an indicator for efficiency and/or accuracy of the worker. Each or any of the above metrics of job performance can be tracked for workers for a given job, a work session, or a number of tasks.
  • In one embodiment, the value assessor 260 determines the value, either quantitative or qualitative value, of work generated by workers/contributors. For example, the financial/monetary value of work generated by workers can be determined by module 262 and included as a quantitative metric of job performance data stored for a given worker/contributor. In one embodiment, the quality assessor 240 can determine the accuracy of work generated by the worker using test jobs (e.g., jobs or tasks with known responses/answers). Using test jobs/tasks with known responses/answers, the quality/accuracy of a worker's work product can directly be determined and used in computing a quantitative metric indicating the accuracy of a worker's work product. Quality assessment using test jobs/tasks can be performed by the gold standard metric module 242. In addition, the quality assessment can be performed by the peer review metric module 241, where a worker's work product can be evaluated using results generated by other workers (e.g., determine whether they match or not).
  • One embodiment of the performance data generator 250 includes an experience level assessor 265 which can determine an experience level of the worker based on duration or tenure with the job distribution platform. The job performance data for workers can thus include quantitative and/or qualitative metrics indicating the experience level of the worker. In addition, experience level can be determined with respect to specific types of jobs/tasks (e.g., business listing verification, content generation, adult-content detection, search result verification, etc.), or with respect to specific disciplines (e.g., art, computer science, math, language, etc.) and indicated in the job performance data of the user profile.
  • In one embodiment, satisfaction and/or frustration level with the job distribution platform is determined, for example, by the worker sentiment determination engine 270 to be included in the profile data. For instance, quantitative metrics indicating the satisfaction or frustration levels can be included in a worker's profile data.
  • In one embodiment, the profile data further includes, identification of devices used by the worker to perform tasks distributed by the job distribution platform or a preference of the worker to use one or more devices to work on tasks or specific types of tasks. The devices can be identified by the worker preference engine 275, or the device identifier 245. In general, the worker preference engine 275 can determine, identify, track, record, or store the preferences of the workers. Worker preferences can be explicitly specified by the worker, determined from the worker pool or specific channel through which the worker is accessed, and/or inferred from worker behavior by the job distribution platform. Worker preferences can include an indication of a preferred time of day to perform tasks (e.g., by the work time preference handler 278), indication of willingness to perform tasks involving objectionable content or adult content (e.g., by the objectionable content preference handler 277).
  • Worker preferences can further include compensation preferences, which can specify preferred wage, preferred currency, and preferred type of currency and/or specify preferred payment mechanism including one or more of, direct deposit, indirect deposit, or mobile credits. Compensation preferences may be determined, tracked, and/or managed by the payment preferences handler 276.
  • The user profile for workers can also include static profile data created or aggregated by the static profile aggregator 280. For example, demographic profile information (e.g., including, but not limited to, gender, age, ethnicity, religion, education, location, etc.) of workers can be determined, tracked, received, processed, recorded and managed by the demographic information generator 281.
  • The user profile can also include dynamic profile data which can be collected, aggregated, determined, detected, inferred, tracked, processed, received, stored and/or recorded by the dynamic profile data aggregator 285. For example, employment status information for workers can be determined and tracked by the employment information manager 286. Social profile data and/or professional profile data can also be aggregated for workers, for example from social network services including third party social networks and servers. Dynamical profile elements generated from historical work data can also be used. For example, the aggregator 285 can determine or track workers' historical speed, accuracy, or answer distribution and make this information queryable through the contributor profile. The aggregator 285 can also apply learning algorithms to good signals to predict future performance of a worker.
  • The worker profile generator 290 can use any combination of or all of the above user data including, but not limited to, quantitative and/or qualitative performance metrics for worker performance quality indicating accuracy, efficiency, knowledge, financial value, and/or expertise, worker preference (explicit or non-explicit), static or dynamic profile data (e.g., demographic information, real-life employment information, social network, presence, location information) to generate a worker profile for the worker.
  • The worker profile or any of the information contained therein can be used by the worker selection engine 295 in selecting a suitable worker from the repeat workers for a given task. For example, a given worker or workers can be selected to perform the new job based on worker preferences indicating willingness or unwillingness to work on objectionable or controversial content, or other criteria related to experience level, efficiency, or overall quality/accuracy.
  • FIG. 3 illustrates an example repository 332 for storing worker/contributor performance and profile data.
  • The performance and profile data can include information aggregated or determined by the worker manager/tracker 220 shown in the example of FIG. 2 and the various components therein. As described in FIG. 2, the worker profile elements can include static data 334, dynamic data 336, worker preference information 338, and/or performance data 340. An example listing of each category of worker profile data is shown. Metrics for performance data can be quantitative (as shown in the example of FIG. 3) or qualitative (e.g., good, bad, average, or assigned a letter grade (P/NP, A, C, D, etc.). Other types of metrics of measure can also be used.
  • FIG. 4 depicts an example block diagram of the components of a test data/test standards manager 400 for use in evaluating worker performing and for use in providing in-task training.
  • The test data/test standards manager 400 can include, a test candidate filter agent 410, a test data generator 420 having a data manipulation module 421 and/or a feedback generator 423, an answer inferring agent 430 having a worker agreement detector 431 and/or a contested answer manager 433, a test data distributor 440, an in-task training module 450, and/or a test data optimization module 460 having an error type sampling agent 461. The data manipulation module 421 may include a false results generator 422. In one embodiment, the test candidate filter agent 410 can further include a task/job analyzer 411 and/or a results analyzer 415 having a confidence threshold assessor 416, a worker assessor 417, and/or an error detector 418.
  • Additional or less components can be included in the test data/test standards manager 400 and each illustrated component.
  • As used herein, a “module,” a “manager,” an “agent,” a “tracker,” a “handler,” a “detector,” an “interface,” or an “engine” includes a general purpose, dedicated or shared processor and, typically, firmware or software modules that are executed by the processor. Depending upon implementation-specific or other considerations, the module, manager, tracker, agent, handler, or engine can be centralized or its functionality distributed. The module, manager, tracker, agent, handler, or engine can include general or special purpose hardware, firmware, or software embodied in a computer-readable (storage) medium for execution by the processor.
  • As used herein, a computer-readable medium or computer-readable storage medium is intended to include all mediums that are statutory (e.g., in the United States, under 35 U.S.C. 101), and to specifically exclude all mediums that are non-statutory in nature to the extent that the exclusion is necessary for a claim that includes the computer-readable (storage) medium to be valid. Known statutory computer-readable mediums include hardware (e.g., registers, random access memory (RAM), non-volatile (NV) storage, to name a few), but may or may not be limited to hardware.
  • The test candidate filter agent 410 can be any combination of software agents and/or hardware modules (e.g., including processors and/or memory units) able to select, identify, qualify, from jobs for distribution to workers to work on to from which generate a test or evaluation task.
  • In general, test or evaluation tasks are generated from actual jobs with known responses or known answers such that they can be automatically generated with no human intervention or semi-automatically generated with minimal manual editing/intervention such that the process can be efficiently scaled and deployed. Therefore, in one embodiment, the task/job analyzer 411 is able to analyze submitted jobs or tasks based on various parameters to determine suitability for use a test/evaluation task.
  • The parameters which can be used to determine suitability include, whether a correct response is known for a given/task job, the certainty (degree) with which a response is known to be accurate, whether a given/task job has known common worker errors, whether a response to a given task/job is subjective or objective, number of correct responses/results for a given task/job, for example. The task/job analyzer 411 can assess an actual job or task based the above parameters or additional parameters to identify those suitable for use in testing or evaluating worker competency.
  • In general, jobs with known responses, or responses known to be accurate to a certain threshold, can be considered as suitable for direct use or modified for use as test/evaluation tasks. For example, the results analyzer 415 can review, analyze, jobs/tasks and associated actual responses received from workers/contributors to determine whether correct data/responses are known. The results analyzer 415 can also determine whether a given task/job is associated with a single objective answer which is correct or whether the task/job may have several answers which can be correct. In general, the results analyzer 415 selects task/jobs that have a single objective answer, or a few objective answers for use as candidates or ideal candidates for creation of test jobs/evaluation tasks.
  • In one embodiment, the results analyzer 415 can determine the confidence with which a given response to a job/task is known to be correct. If the confidence is determined to exceed a threshold (e.g., by a confidence threshold assessor 416), the job/task and the response can be used in generation of a test or evaluation task for the benchmarking of other or new workers, for example. The confidence threshold assessor 416 can determine or estimate the confidence level based on, for example the number of same results received from workers for a given job/task. For example, through the answer inferring agent 430 coupled to the results analyzer 415. The answer inferring agent 430 can detect agreement among various workers in the responses they provided for the same task/job (e.g., via the worker agreement detector 431). Typically, a larger number of same responses provided by different workers for the same task/job correspond to a higher confidence level associated with that response which can be tracked by the confidence threshold assessor 416.
  • In some instances, confidence level of a response depends in part or in whole on the worker who submitted the response, and whether the worker is generally known to provide high quality work product and/or has demonstrated expertise or capabilities in certain areas, as determined by the worker assessor 417. For example, responses provided by workers of higher confidence (e.g., known to be highly competent or reliable, or known experts) can be weighed higher in determining confidence level of a response. Occasionally, multiple or a large number of workers will agree on the same-wrong result which the system may then inaccurately categorize as the correct response for a given task/job. The contested answer manager 433 provides a feedback mechanism to address this by allowing workers to contest the wrong result when working on the test task, for example, via the contested answer manager 433. In one embodiment, a given test task is removed or disabled when the contention rate for a given result of a test is exceeds or meets a threshold.
  • One embodiment of the results analyzer 415 includes an error detector 418 which can detect, identify, filter, determine, spot errors in responses provided by workers in performing the distributed tasks/jobs. The error detector 418 can also identify one or more common worker errors associated with a given task/job. For example, in a URL verification task, workers might have difficulty with businesses which are similarly named but are located in the wrong city.
  • For instance, if a local search engine wanted the “Bob's Restaurant” located in Seattle, Wash., but the URL provided was for a “Bob's Restaurant” in Portland, Oreg., workers often have difficulty distinguishing between the two and incorrectly state the URL is for the right business in the given city and state. As described below, it is possible to generate test tasks/jobs that directly target this type of worker error (e.g., “city/state” evaluation tasks). Since worker errors can fall into discrete sets, once these are identified, test tasks/evaluation tasks can be generated, for example, by the test data generator 420. Test tasks generated from common worker errors can also be utilized to train workers, for example, via the in-task training module 450.
  • Using the results of the jobs/tasks analyzed and filtered by the test candidate filter agent 410, the test data generator 420 can then use the candidate jobs, known answers, answers meeting a confidence threshold, known errors, known common errors to generate test tasks. In one embodiment, a given job/task which is associated with a known correct result (e.g., as determined from agreement among results provided from different workers or a certain number of users) can be created into a test data unit or test data pair by the test data generator 420 for use in verification by a worker. In the case that a known correct result is associated with a test job/task, the worker is to verify the accuracy of such a result for satisfactory completion of the test job/task.
  • In one embodiment, knowing a correct result or result meeting or exceeding a confidence threshold and is thus treated as a correct result associated with a job task, can be used to generate a test unit/data with a manipulated result, which is known to be an incorrect result for the job to generate a test task. The correct result or can be manipulated by the data manipulation module 421 to generate another result which is incorrect (e.g., by the false results generator 422) to be associated with the job/task to generate a test data unit. In one embodiment, the manipulated result is determined from frequently received worker errors in response to working on the job, to target common worker errors and to provide in-task worker training on the common types of errors.
  • In this case, to successfully complete this test job, the worker should be able to identify the manipulated result associated with the test job to be incorrect. Specifically, the work quality of the worker is evaluated in part by determining whether the worker has identified the manipulated result as being an inaccurate result for the job. Examples of test tasks/test job units generated from a job with a known result are illustrated in the example of FIG. 5.
  • Once the test jobs/tasks (e.g., evaluation jobs/tasks) have been generated by the test data generator 420, the test data distributor 440 presents the test tasks to workers for evaluation of worker quality, via their respective computing devices. In general, the test task(s) are presented among other (regular) jobs such that the worker is unaware of which of the jobs is being used to evaluate the work quality. The frequency with which test tasks are presented to workers can be adjusted dynamically based on worker performance, for example. In general, the better a contributor is performing against the test set, the fewer test questions are presented. One embodiment of the test data generator 420 further includes a feedback generator 423 which generates feedback messages from known incorrect results.
  • The feedback message can be presented to the worker evaluating the test task if the worker fails to identify the manipulated result as being inaccurate for the job and facilitate the in-task training process, for example the in-task training process performed by the in-task training module 450.
  • The test data optimization module 460 can review and analyze created test units/test jobs and determine/assess their efficacy. For example, test units or jobs with contested responses can be monitored, tracked, and removed, disabled, or edited as appropriate by the optimization module 460. The optimization module 460 performs the associated tasks and analysis needed for ensuring that test units/jobs provide an accurate representation of worker quality, reliability, or competency. One embodiment of the optimization module 460 includes the error type sampling agent 461. The sampling agent 461 is able to sample different types of worker errors for use in creating or optimizing test data sets/test units. Identification and sampling of different worker error types allows test data/test tasks to be generated with a uniform distribution of target errors.
  • FIG. 5 depicts a diagram showing an example of test tasks 508 and 510 generated from a job with a known result 502.
  • Each manipulation or mutation of data can be applied to a single job unit U with correct result 502, but generally requires all available data as input. The manipulation can alter individual attributes of the data to produce a new unit that (a) differs the original unit enough to violate task requirements and (b) looks similar to original data. For example, to create test units/tasks to verify city-state of a business variables can be assigned to each of address, city, state, postal code, and phone number (“location information”) in a business listing.
  • The job's location information can be manipulated with another location information from another entity, for example by a randomized mixing function. For instance, in a generated test task 506, Gramercy Tavern in New York, N.Y., 10003 212-477-0777 would now have the location information from an entity outside of New York. Workers would be presented with the information Gramercy Tavern, Albany, N.Y. 10003, 212-555-1234 while the link (http://www.gramercytavern.com) would still take the workers to the Gramercy Tavern in New York City. The workers should answer “no” because the entity is not in the correct location or with the correct phone number.
  • Another example type of test unit/test data is the identification or verification of names. These test units/test data can target behavior where workers would say that the website for Enterprise Lawyers located in Durango, Colo., was the correct website for Enterprise Group, also located in Durango, Colo. To address this problem, test units can be generated by taking answers where workers had answered yes with 1 confidence, then parsing out the words into their component pieces (i.e. first word, second word) and rearranging both the component pieces of the names, as well as the last 7 digits of the phone number. For instance, for the unit Nulook Party in Greenville, N.C. with phone number 252-367-7444, the name and the phone number can be scrambled in the manipulation process so that the gold unit would be Automated Party in Greenville, N.C. with phone number 252-8985-9733. A worker would need to identify that this is not the correct website to satisfactorily complete the test task/job.
  • Each manipulation or mutation function produces the test task/unit that corresponds to a particular error identified earlier. In one embodiment, the description of the error can be used to automatically generate a feedback message. For example, if the workers answered city-state test task for business listing verification incorrectly, they may be presented a feedback message stating “The URL is for Gramercy Tavern located in New York, N.Y. We asked for the Gramercy Tavern in Albany, N.Y. Be sure to check that the restaurant is located in the correct city and state!” For example, if workers answered name-based test task/job incorrectly, they may be presented with a message of “The URL is for Nulook Party in Greenville, N.C., but we asked for Automated Party. Be sure that the name is the same!”
  • FIG. 6 depicts a graph 600 showing worker accuracy degradation over time when workers have begun to learn the test tasks.
  • Repeat exposure to specific test tasks/evaluation jobs increases the likelihood that a worker can recognize a particular unit (particularly one which he or she has answered incorrectly previously) as belonging to the quality control mechanism implemented in the job distribution platform/service. This can result in a subsequent minimal effort by a worker on true jobs/tasks. In jobs with a high number of units, if a particular test unit is viewed repeatedly by a single worker, it could invalidate the accuracy estimate. For example, as depicted in chart 600, in job 1, there is new test data/tasks and workers from group 1 cannot pass the accuracy targets and as such none or little of their actual work performed is counted, and accuracy is at 97%. By Job 4, group 1 workers have learned the test tasks thus allowing them to submit inaccurate judgments on non-test tasks/jobs (or actual jobs), and causes the overall accuracy to degrade to only 85%.
  • However, limiting the maximum of amount of work per worker may minimize repeat views of test job/task units, but can also result in decreased throughput. Use of extra (or excessive) questions (or very large test data sets) to minimize repeat views of specific test tasks involves a considerable cost. In one embodiment, an optimize size of gold data (or test data set) can be determined by computing:

  • X*P/(N−G)
  • Where X is the number of tasks in the job, P is a maximum percentage of the job you want any one worker to complete (usually no greater than 0.33). N is the number of tasks on a single page, and G is the number of gold displayed per page. Therefore a job with 1000 tasks, 10 tasks per page, and 1 gold per page (on average) would look like: 1000*0.33/(10−1)=37.
  • FIG. 7A depicts a table 700 illustrating worker result accuracy comparing when no test tasks are used, when test tasks are automatically generated from jobs, or with manually defined test tasks.
  • In table 700, the data obtained for Experiment 1 compares the effect of manually defined tests (“manual gold”) with automatically generated tests (“programmatic gold”) for a dataset of 9,659 business listings which had web addresses are used. The goal was to first verify the correct name of the business, and, if the business name was different on the website vs. the information in the business listing, change the business name to the name listed on the website. Workers were instructed to find the correct business name on the website and, if the name provided by the local index was incorrect, copy and paste the correct name from the URL onto the page. Some businesses have different names for specific locations or divisions of the business. In that situation, workers were asked to use the name that best matches the location or division.
  • Existing data runs are used to look for units where workers agreed with each other with confidence. Then, these units were converted into test tasks/units (without any additional transformations), and processed the data again. To measure the effect of programmatic gold, three data runs performed: with no test units, with manually-defined test units and with programmatic test units (automatically generated test units). To measure accuracy, internal audits (spot checks) of 100 units were performed on each set. For each unit, we measure if the aggregate result is correct or not. The accuracy is then the percentage of correct aggregate results in the spot check. Different kinds of errors are not reflected in the accuracy measure—any incorrect result is treated the same.
  • FIG. 7B depicts a table 750 illustrating worker result accuracy comparing when no test tasks are used, when test tasks are automatically generated from jobs, or with manually defined test tasks.
  • The table 750 depicts results of experiment #2 which tests the scaling up of the test dataset from 10 initial test tasks/units to a total of 22,000 test tasks/units. In experiment #2, a 22,000-unit subset of a larger set of 500,000 local business listings with business web address (candidate URL), business name, physical address, and phone number data. The goal was to verify whether or not the candidate URL was correct.
  • Workers are presented with the business data and the URL candidate and are instructed to answer “yes, this is the correct URL” (a “yes unit”) if it meets at least one of the following conditions:
  • 1. A location of the business on the website is located in the provided city or has the provided phone number and the business name on the website is similar to the provided name
  • 2. A location of the business on the website is located in the provided city and the business name on the website is nearly identical to the provided name.
  • To process such a large dataset, a minimum number of test units are need for a certain number of tests/tasks to be performed. For example, then processing this data at the rate of 20,000 task/day and test tasks/units can be refreshed on a daily basis. Some or all of these units would be created manually.
  • FIG. 8 depicts a flow chart illustrating an example process for test/evaluation task generation from a job distributed through a job distribution platform.
  • In process 802, a job distributed through a job distribution platform for workers to work on is selected to generate a test task. The job distribution platform crowd sources tasks online to workers to work on via their respective computing devices. In general, jobs distributed through the job distribution platform include, by way of example but not limitation, content generation, content moderation, data enrichment, verification of a business listing, verification of a URL, or verification of a search result generated from a search engine.
  • Note that the selected job is typically associated with a known correct result, which can be determined from agreement among results provided from different workers. The job used to generate the test task can alternatively be selected from jobs with results known to meet or exceed a threshold level of confidence. The threshold level of confidence can be represented by a number of matching results provided by workers.
  • In process 804, a manipulated result, known to be an incorrect result for the job, is associated with the job to generate the test task. In one embodiment, the manipulated result is determined from frequently received worker errors or actual worker errors in response to working on the job.
  • In process 806, the job is presented with the manipulated result as the test task to a worker for evaluation of work quality of the worker. In general, the test task is presented among other jobs such that the worker is unaware of which of the jobs is being used to evaluate the work quality. In process 808, it is determined whether the worker has identified the manipulated result as being an inaccurate result for the job. In process 810, work quality of the worker is evaluated, for example, by determining whether the worker has identified the manipulated result as being an inaccurate result for the job.
  • In process 812, performance statistics are computed based on the worker's performance with respect to one or more test tasks. In process 814, the performance statistics are used to determine compensation for the worker. The performance statistics can be used to determine compensation or wages, or bonuses for the worker. In process 816, a worker profile for the worker including an aggregate indication of job performance and competency is generated.
  • FIG. 9 depicts a chart illustrating an example process for providing in-task training of a worker in performing crowd sourced tasks.
  • In process 902, a job with a manipulated result is presented as a test task to a worker for evaluation of work quality of the worker. The manipulated result used in the test task is typically an inaccurate result and the presentation of the test task can be disguised among actual jobs that are not test tasks.
  • In process 904, the work quality of the worker is evaluated by determining whether the worker has identified the manipulated result as being an inaccurate result for the job. In process 906, a feedback message is automatically generated from the incorrect result. In process 908, the feedback message is presented to the worker via a respective computing device to provide in-task training of the worker, for example, if the worker fails to identify the manipulated result as being inaccurate for the job.
  • FIG. 10 depicts a flow chart illustrating an example process for training and assessing whether a new worker can be used by a crowd sourcing service to perform crowd sourced jobs.
  • In process 1002, a new worker working on jobs distributed through a crowd sourcing service is detected.
  • In process 1004, a training session is initiated for the new worker. In process 1006, after the training session has been completed, a test task is presented to the worker for evaluation of work quality of the worker based on a result provided by the worker in response to the test task. In process 1008, performance statistics are computed based on the worker's performance with respect to one or more test tasks. In addition, performance statistics can be computed for multiple workers that receive jobs through the job distribution service.
  • In process 1010, the performance statistics are used to determine whether to use the new worker for jobs distributed through the crowd sourcing service, or whether the new worker should be blocked from performing future jobs. the performance statistics can also be used to determine or update a wage for the new worker.
  • FIG. 11 shows a diagrammatic representation of a machine in the example form of a computer system within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed.
  • In alternative embodiments, the machine operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.
  • The machine may be a server computer, a client computer, a personal computer (PC), a user device, a tablet PC, a laptop computer, a set-top box (STB), a personal digital assistant (PDA), a cellular telephone, an iPhone, an iPad, a Blackberry, a processor, a telephone, a web appliance, a network router, switch or bridge, a console, a hand-held console, a (hand-held) gaming device, a music player, any portable, mobile, hand-held device, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
  • While the machine-readable medium or machine-readable storage medium is shown in an exemplary embodiment to be a single medium, the term “machine-readable medium” and “machine-readable storage medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” and “machine-readable storage medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the presently disclosed technique and innovation.
  • In general, the routines executed to implement the embodiments of the disclosure, may be implemented as part of an operating system or a specific application, component, program, object, module or sequence of instructions referred to as “computer programs.” The computer programs typically comprise one or more instructions set at various times in various memory and storage devices in a computer, and that, when read and executed by one or more processing units or processors in a computer, cause the computer to perform operations to execute elements involving the various aspects of the disclosure.
  • Moreover, while embodiments have been described in the context of fully functioning computers and computer systems, those skilled in the art will appreciate that the various embodiments are capable of being distributed as a program product in a variety of forms, and that the disclosure applies equally regardless of the particular type of machine or computer-readable media used to actually effect the distribution.
  • Further examples of machine-readable storage media, machine-readable media, or computer-readable (storage) media include, but are not limited to, recordable type media such as volatile and non-volatile memory devices, floppy and other removable disks, hard disk drives, optical disks (e.g., Compact Disk Read-Only Memory (CD ROMS), Digital Versatile Disks, (DVDs), etc.), among others, and transmission type media such as digital and analog communication links.
  • The network interface device enables the machine 1100 to mediate data in a network with an entity that is external to the host server, through any known and/or convenient communications protocol supported by the host and the external entity. The network interface device can include one or more of a network adaptor card, a wireless network interface card, a router, an access point, a wireless router, a switch, a multilayer switch, a protocol converter, a gateway, a bridge, bridge router, a hub, a digital media receiver, and/or a repeater.
  • The network interface device can include a firewall which can, in some embodiments, govern and/or manage permission to access/proxy data in a computer network, and track varying levels of trust between different machines and/or applications. The firewall can be any number of modules having any combination of hardware and/or software components able to enforce a predetermined set of access rights between a particular set of machines and applications, machines and machines, and/or applications and applications, for example, to regulate the flow of traffic and resource sharing between these varying entities. The firewall may additionally manage and/or have access to an access control list which details permissions including for example, the access and operation rights of an object by an individual, a machine, and/or an application, and the circumstances under which the permission rights stand.
  • Other network security functions can be performed or included in the functions of the firewall, can be, for example, but are not limited to, intrusion-prevention, intrusion detection, next-generation firewall, personal firewall, etc. without deviating from the novel art of this disclosure.
  • Unless the context clearly requires otherwise, throughout the description and the claims, the words “comprise,” “comprising,” and the like are to be construed in an inclusive sense, as opposed to an exclusive or exhaustive sense; that is to say, in the sense of “including, but not limited to.” As used herein, the terms “connected,” “coupled,” or any variant thereof, means any connection or coupling, either direct or indirect, between two or more elements; the coupling of connection between the elements can be physical, logical, or a combination thereof. Additionally, the words “herein,” “above,” “below,” and words of similar import, when used in this application, shall refer to this application as a whole and not to any particular portions of this application. Where the context permits, words in the above Detailed Description using the singular or plural number may also include the plural or singular number respectively. The word “or,” in reference to a list of two or more items, covers all of the following interpretations of the word: any of the items in the list, all of the items in the list, and any combination of the items in the list.
  • The above detailed description of embodiments of the disclosure is not intended to be exhaustive or to limit the teachings to the precise form disclosed above. While specific embodiments of, and examples for, the disclosure are described above for illustrative purposes, various equivalent modifications are possible within the scope of the disclosure, as those skilled in the relevant art will recognize. For example, while processes or blocks are presented in a given order, alternative embodiments may perform routines having steps, or employ systems having blocks, in a different order, and some processes or blocks may be deleted, moved, added, subdivided, combined, and/or modified to provide alternative or subcombinations. Each of these processes or blocks may be implemented in a variety of different ways. Also, while processes or blocks are at times shown as being performed in series, these processes or blocks may instead be performed in parallel, or may be performed at different times. Further, any specific numbers noted herein are only examples: alternative implementations may employ differing values or ranges.
  • The teachings of the disclosure provided herein can be applied to other systems, not necessarily the system described above. The elements and acts of the various embodiments described above can be combined to provide further embodiments.
  • Any patents and applications and other references noted above, including any that may be listed in accompanying filing papers, are incorporated herein by reference. Aspects of the disclosure can be modified, if necessary, to employ the systems, functions, and concepts of the various references described above to provide yet further embodiments of the disclosure.
  • These and other changes can be made to the disclosure in light of the above Detailed Description. While the above description describes certain embodiments of the disclosure, and describes the best mode contemplated, no matter how detailed the above appears in text, the teachings can be practiced in many ways. Details of the system may vary considerably in its implementation details, while still being encompassed by the subject matter disclosed herein. As noted above, particular terminology used when describing certain features or aspects of the disclosure should not be taken to imply that the terminology is being redefined herein to be restricted to any specific characteristics, features, or aspects of the disclosure with which that terminology is associated. In general, the terms used in the following claims should not be construed to limit the disclosure to the specific embodiments disclosed in the specification, unless the above Detailed Description section explicitly defines such terms. Accordingly, the actual scope of the disclosure encompasses not only the disclosed embodiments, but also all equivalent ways of practicing or implementing the disclosure under the claims.
  • While certain aspects of the disclosure are presented below in certain claim forms, the inventors contemplate the various aspects of the disclosure in any number of claim forms. For example, while only one aspect of the disclosure is recited as a means-plus-function claim under 35 U.S.C. §112, §6, other aspects may likewise be embodied as a means-plus-function claim, or in other forms, such as being embodied in a computer-readable medium. (Any claims intended to be treated under 35 U.S.C. §112, §6 will begin with the words “means for”.) Accordingly, the applicant reserves the right to add additional claims after filing the application to pursue such additional claim forms for other aspects of the disclosure.

Claims (29)

What is claimed is:
1. A method of worker quality control in crowd sourcing tasks, the method, comprising:
selecting a job distributed through a job distribution platform for workers to work on to generate a test task, the job being associated with a known correct result;
associating a manipulated result, known to be an incorrect result for the job, with the job to generate the test task;
presenting the job with the manipulated result as the test task to a worker for evaluation of work quality of the worker;
wherein, the job distribution platform crowd sources tasks online to workers to work on via their respective computing devices.
2. The method of claim 1, wherein, the test task is presented among other jobs or tasks such that the worker is unaware of which of the jobs or tasks are being used to evaluate the work quality.
3. The method of claim 1, further comprising, evaluating the work quality of the worker by determining whether the worker has identified the manipulated result as being an inaccurate result for the job.
4. The method of claim 1, further comprising, generating a feedback message from the incorrect result.
5. The method of claim 4, wherein, the feedback message is presented to the worker evaluating the test task if the worker fails to identify the manipulated result as being inaccurate for the job.
6. The method of claim 1, wherein, the manipulated result is determined from frequently received worker errors in response to working on the job.
7. The method of claim 1, wherein, the known result is determined from agreement among results provided from different workers.
8. A method of worker quality control in crowd sourcing tasks, the method, comprising:
using a job distributed through a job distribution platform for workers to work on to generate a test task;
presenting the test task to a worker for evaluation of work quality of the worker based on a result provided by the worker in response to the test task;
wherein, the job distribution platform crowd sources tasks online to workers to work on via their respective computing devices.
9. The method of claim 8, further comprising, computing performance statistics based on the worker's performance with respect to one or more test tasks; wherein, the performance statistics are used in generating a worker profile for the worker including an aggregate indication of job performance and competency.
10. The method of claim 9, wherein, the performance statistics are used to determine compensation for the worker.
11. The method of claim 8, wherein, the job used to generate the test task is selected from jobs with known results.
12. The method of claim 8, wherein, the job used to generate the test task is selected from jobs with results known to meet or exceed a threshold level of confidence.
13. The method of claim 12, wherein, the threshold level of confidence is represented by a number of matching results provided by workers.
14. The method of claim 12, wherein, the test task is generated from the job by associating a manipulated result, known to be an incorrect result for the job, with the job.
15. The method of claim 14, wherein, the manipulated result is selected from actual worker errors.
16. The method of claim 8, wherein, the job includes verification of a business listing.
17. The method of claim 8, wherein, the job includes verification of a URL.
18. The method of claim 8, wherein, the job includes verification of a search result generated from a search engine.
19. A machine-readable storage medium having stored thereon a set of instructions which when executed causes a processor to perform a method of providing in-task training of a worker in a crowd sourced environment, the method, comprising:
presenting a job with a manipulated result as a test task to a worker for evaluation of work quality of the worker, the manipulated result being an inaccurate result;
evaluating the work quality of the worker by determining whether the worker has identified the manipulated result as being an inaccurate result for the job;
automatically generating a feedback message from the incorrect result;
presenting the feedback message to the worker via a respective computing device to provide in-task training of the worker.
20. The method of claim 19, wherein, the presentation of the test task is disguised among actual jobs that are not test tasks.
21. The method of claim 19, wherein, the worker is presented with the test task after participating in a training session.
22. A system for training and evaluating a worker in performing crowd sourcing tasks, the system, comprising:
means for, detecting a new worker working on jobs distributed through a crowd sourcing service;
means for, initiating a training session for the new worker;
means for, presenting a test task to the worker for evaluation of work quality of the worker based on a result provided by the worker in response to the test task, after the training session has been completed;
means for, computing performance statistics based on the worker's performance with respect to one or more test tasks.
23. The system of claim 22, further comprising, means for, using a job distributed by the crowd sourcing service for workers to work on to generate a test task.
24. The system of claim 22, further comprising, means for, using the performance statistics to determine whether to use the new worker for jobs distributed through the crowd sourcing service.
25. The system of claim 22, further comprising, means for, using the performance statistics to determine whether the new worker should be blocked from performing work on jobs distributed through the crowd sourcing service.
26. The system of claim 22, further comprising, means for, using the performance statistics to determine whether a wage for the new worker.
27. A system for worker quality control in crowd sourcing tasks, the system, comprising:
means for, using a job distributed by a job distribution service for workers to work on to generate a test task;
means for, presenting the test task to a worker for evaluation of work quality of the worker based on a result provided by the worker in response to the test task;
means for, computing performance statistics based on the worker's performance with respect to one or more test tasks.
28. The system of claim 27, wherein, the job distribution service crowd sources tasks online to workers to work on via their respective computing devices.
29. The system of claim 27, further comprising:
means for, aggregating performance statistics for the worker over a period of time;
means for, computing performance statistics for multiple workers that receive jobs through the job distribution service.
US14/048,342 2011-06-29 2013-10-08 Evaluating a worker in performing crowd sourced tasks and providing in-task training through programmatically generated test tasks Abandoned US20140039985A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/048,342 US20140039985A1 (en) 2011-06-29 2013-10-08 Evaluating a worker in performing crowd sourced tasks and providing in-task training through programmatically generated test tasks

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201161502815P 2011-06-29 2011-06-29
US201161503483P 2011-06-30 2011-06-30
US13/275,290 US8554605B2 (en) 2011-06-29 2011-10-17 Evaluating a worker in performing crowd sourced tasks and providing in-task training through programmatically generated test tasks
US14/048,342 US20140039985A1 (en) 2011-06-29 2013-10-08 Evaluating a worker in performing crowd sourced tasks and providing in-task training through programmatically generated test tasks

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/275,290 Continuation US8554605B2 (en) 2011-06-29 2011-10-17 Evaluating a worker in performing crowd sourced tasks and providing in-task training through programmatically generated test tasks

Publications (1)

Publication Number Publication Date
US20140039985A1 true US20140039985A1 (en) 2014-02-06

Family

ID=47391523

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/275,290 Active - Reinstated US8554605B2 (en) 2011-06-29 2011-10-17 Evaluating a worker in performing crowd sourced tasks and providing in-task training through programmatically generated test tasks
US14/048,342 Abandoned US20140039985A1 (en) 2011-06-29 2013-10-08 Evaluating a worker in performing crowd sourced tasks and providing in-task training through programmatically generated test tasks

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US13/275,290 Active - Reinstated US8554605B2 (en) 2011-06-29 2011-10-17 Evaluating a worker in performing crowd sourced tasks and providing in-task training through programmatically generated test tasks

Country Status (1)

Country Link
US (2) US8554605B2 (en)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016139666A1 (en) * 2015-03-05 2016-09-09 Wikistrat Ltd. Predictive strategic outcomes by combining human crowdsourcing
US9489636B2 (en) 2012-04-18 2016-11-08 Tagasauris, Inc. Task-agnostic integration of human and machine intelligence
CN109948940A (en) * 2019-03-26 2019-06-28 大连海事大学 A kind of Web service crowdsourcing test assignment distribution method based on heuritic approach
CN110263372A (en) * 2019-05-20 2019-09-20 上海大学 A kind of event detecting method based on intelligent perception system
KR102155879B1 (en) * 2020-04-10 2020-09-15 주식회사 크라우드웍스 Method for managing inspection quality using feedback from workers of crowdsourcing based projects for artificial intelligence training data generation
KR102159573B1 (en) * 2020-04-27 2020-09-25 주식회사 크라우드웍스 Method for restricting work performance of worker based on functional element of crowdsourcing based project for artificial intelligence training data generation
KR102164852B1 (en) * 2020-05-12 2020-10-14 주식회사 크라우드웍스 Method for restricting participation of project considering urgent degree of crowdsourcing based project for artificial intelligence training data generation
US10853744B2 (en) 2010-06-17 2020-12-01 Figure Eight Technologies, Inc. Distributing a task to multiple workers over a network for completion while providing quality control
KR102195956B1 (en) * 2020-07-15 2020-12-29 주식회사 크라우드웍스 Method for updating maximum number of work limits according to work difficulty of crowdsourcing based project for artificial intelligence training data generation
KR102215421B1 (en) * 2020-05-07 2021-02-16 주식회사 크라우드웍스 Method for processing high-level works using the work-passing function of crowdsourcing based projects for artificial intelligence training data generation
KR102232859B1 (en) * 2020-05-12 2021-03-29 주식회사 크라우드웍스 Method for automatically generating a worker pool based on the functional elements and difficulty of crowdsourcing based projects for artificial intelligence training data generation
KR102232880B1 (en) * 2020-06-12 2021-03-29 주식회사 크라우드웍스 Method for evaluating inspector of crowdsourcing based projects for collecting image or video for artificial intelligence training data generation
KR102244702B1 (en) * 2020-07-03 2021-04-27 주식회사 크라우드웍스 Method for paying appropriate cost corresponding to the inspector's inspection performance of crowdsourcing based projects for artificial intelligence training data generation
US11023859B2 (en) 2010-06-17 2021-06-01 CrowdFlower, Inc. Using virtual currency to compensate workers in a crowdsourced task
US11087247B2 (en) 2011-03-23 2021-08-10 Figure Eight Technologies, Inc. Dynamic optimization for data quality control in crowd sourcing tasks to crowd labor
KR20210105779A (en) * 2020-02-19 2021-08-27 주식회사 에이모 Method and apparatus for forming inspection criteria data with cloud outsorcing work by using artificial intelligent
WO2022055700A1 (en) * 2020-09-08 2022-03-17 DefinedCrowd Corporation Efficient ongoing evaluation of human intelligence task contributors
WO2022109153A1 (en) * 2020-11-19 2022-05-27 Flowpatterns, Inc. Systems and methods for optimizing business workflows
US11436541B2 (en) 2017-02-02 2022-09-06 Microsoft Technology Licensing, Llc Macrotask execution for digital assistant devices
US20220391809A1 (en) * 2021-06-04 2022-12-08 Select Star, Inc. Method, computing device, and computer-readable medium for processing plurality of tasks collected in crowdsourcing in subset unit
US11568334B2 (en) 2012-03-01 2023-01-31 Figure Eight Technologies, Inc. Adaptive workflow definition of crowd sourced tasks and quality control mechanisms for multiple business applications
US11770311B2 (en) * 2019-04-05 2023-09-26 Palo Alto Networks, Inc. Automatic and dynamic performance benchmarking and scoring of applications based on crowdsourced traffic data

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130066961A1 (en) * 2011-09-08 2013-03-14 International Business Machines Corporation Automated crowdsourcing task generation
US20130110588A1 (en) * 2011-10-26 2013-05-02 Iex Corporation Application usage and process monitoring in an enterprise environment
US20130151625A1 (en) * 2011-12-13 2013-06-13 Xerox Corporation Systems and methods for tournament selection-based quality control
US9727881B2 (en) * 2012-01-16 2017-08-08 Xerox Corporation Feedback based technique towards total completion of task in crowdsourcing
US20130197954A1 (en) * 2012-01-30 2013-08-01 Crowd Control Software, Inc. Managing crowdsourcing environments
US8909534B1 (en) * 2012-03-09 2014-12-09 Google Inc. Speech recognition training
US20150178659A1 (en) * 2012-03-13 2015-06-25 Google Inc. Method and System for Identifying and Maintaining Gold Units for Use in Crowdsourcing Applications
US20130253969A1 (en) * 2012-03-20 2013-09-26 International Business Machines Corporation Broadcast Messaging of Incentives Based on Value
US9436738B2 (en) * 2012-04-19 2016-09-06 Nant Holdings Ip, Llc Mechanical Turk integrated IDE, systems and method
US8768751B2 (en) * 2012-04-25 2014-07-01 Sap Ag Enterprise gamification system for awarding employee performance
JP5856906B2 (en) * 2012-05-24 2016-02-10 株式会社日立製作所 Business problem analysis support system
JP5581357B2 (en) * 2012-06-21 2014-08-27 ヤフー株式会社 Business order order brokerage apparatus, business order order brokerage system, business order order brokerage method, and business order order brokerage program
US20140052594A1 (en) * 2012-08-20 2014-02-20 Capital One Financial Corporation Systems and computer-implemented processes for switching accounts
US20140067451A1 (en) * 2012-08-30 2014-03-06 Xerox Corporation Hybrid Multi-Iterative Crowdsourcing System
US20140136257A1 (en) * 2012-11-09 2014-05-15 Sap Ag In-memory analysis scenario builder
US9934477B1 (en) * 2012-11-14 2018-04-03 Amazon Technologies, Inc. Protected domain workflow access control system
US20140156324A1 (en) * 2012-12-05 2014-06-05 International Business Machines Corporation Selective automated transformation of tasks in crowdsourcing systems
US20140207870A1 (en) * 2013-01-22 2014-07-24 Xerox Corporation Methods and systems for compensating remote workers
US20140214467A1 (en) * 2013-01-31 2014-07-31 Hewlett-Packard Development Company, L.P. Task crowdsourcing within an enterprise
US20140278638A1 (en) * 2013-03-12 2014-09-18 Springshot, Inc. Workforce productivity tool
US20140324555A1 (en) * 2013-04-25 2014-10-30 Xerox Corporation Methods and systems for evaluation of remote workers
US20140337081A1 (en) * 2013-05-07 2014-11-13 Xerox Corporation Methods and systems for performing capacity management in a print production environment
US20140335485A1 (en) * 2013-05-09 2014-11-13 Xerox Corporation Methods and systems for training a crowdworker
US9954942B2 (en) 2013-12-11 2018-04-24 Entit Software Llc Result aggregation
US9990599B1 (en) * 2013-12-20 2018-06-05 Massachusetts Mutual Life Insurance Company Method and system for multidisciplinary research collaboration
US9767419B2 (en) * 2014-01-24 2017-09-19 Microsoft Technology Licensing, Llc Crowdsourcing system with community learning
US20150235160A1 (en) * 2014-02-20 2015-08-20 Xerox Corporation Generating gold questions for crowdsourcing
US10026047B2 (en) 2014-03-04 2018-07-17 International Business Machines Corporation System and method for crowd sourcing
US10929858B1 (en) * 2014-03-14 2021-02-23 Walmart Apollo, Llc Systems and methods for managing customer data
JP6306400B2 (en) * 2014-04-04 2018-04-04 Kddi株式会社 Skill evaluation apparatus, program and method for evaluating worker skill in crowdsourcing
US20160012372A1 (en) * 2014-07-10 2016-01-14 Microsoft Corporation Crowd worker quality improvement with continuing training
WO2016009581A1 (en) * 2014-07-15 2016-01-21 日本電気株式会社 Operating condition analysis system
US11120373B2 (en) 2014-07-31 2021-09-14 Microsoft Technology Licensing, Llc Adaptive task assignment
EP3195208A4 (en) * 2014-09-17 2018-05-16 David Michonski Method and system for automating the accountability of service professionals via consumer education and rating
US9811791B2 (en) * 2014-12-23 2017-11-07 Sap Se Personalized work planning based on self-optimizing role-based crowd-sourced information
EP3254269A4 (en) * 2015-02-06 2018-07-18 Sense Education Israel., Ltd. Semi-automated system and method for assessment of responses
US10706371B2 (en) * 2015-03-12 2020-07-07 Accenture Global Solutions Limited Data processing techniques
US10629086B2 (en) 2015-06-09 2020-04-21 International Business Machines Corporation Providing targeted, evidence-based recommendations to improve content by combining static analysis and usage analysis
US9280745B1 (en) * 2015-07-08 2016-03-08 Applied Underwriters, Inc. Artificial intelligence expert system for screening
US20170061341A1 (en) * 2015-09-01 2017-03-02 Go Daddy Operating Company, LLC Workflow management for crowd worker tasks with fixed throughput and budgets
US10755296B2 (en) * 2015-10-12 2020-08-25 Microsoft Technology Licensing, Llc Providing rewards and metrics for completion of microtasks
US20170323211A1 (en) * 2016-05-09 2017-11-09 Mighty AI, Inc. Automated accuracy assessment in tasking system
US10630694B1 (en) * 2016-09-20 2020-04-21 Express Scripts Strategic Development, Inc. Systems and methods for data access control
US11392277B2 (en) * 2017-10-13 2022-07-19 Rainforest Qa, Inc. Electronic product testing systems
EP3559887A1 (en) * 2016-12-20 2019-10-30 Rainforest Qa, Inc. Electronic product testing systems
CN107169639A (en) * 2017-04-27 2017-09-15 北京云测信息技术有限公司 A kind of test assignment distribution method and device
US11816622B2 (en) 2017-08-14 2023-11-14 ScoutZinc, LLC System and method for rating of personnel using crowdsourcing in combination with weighted evaluator ratings
JP2019139570A (en) * 2018-02-13 2019-08-22 株式会社東芝 Determination device, determination method and program
US11188855B2 (en) * 2018-03-26 2021-11-30 International Business Machines Corporation Machine learning task assignment
US10657035B2 (en) 2018-04-13 2020-05-19 Rainforest Qa, Inc. Electronic product testing sysems
US11232255B2 (en) * 2018-06-13 2022-01-25 Adobe Inc. Generating digital annotations for evaluating and training automatic electronic document annotation models
JP7211735B2 (en) * 2018-08-29 2023-01-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ CONTRIBUTION DETERMINATION METHOD, CONTRIBUTION DETERMINATION DEVICE AND PROGRAM
RU2743898C1 (en) 2018-11-16 2021-03-01 Общество С Ограниченной Ответственностью "Яндекс" Method for performing tasks
US11507859B2 (en) * 2019-01-08 2022-11-22 Colorado State University Research Foundation Trackable reasoning and analysis for crowdsourcing and evaluation
RU2744032C2 (en) 2019-04-15 2021-03-02 Общество С Ограниченной Ответственностью "Яндекс" Method and system for determining result of task execution in crowdsourced environment
US11250462B2 (en) 2019-04-18 2022-02-15 Benjamin D. Smith System and method for trading and tracking digitized coupons
RU2744038C2 (en) * 2019-05-27 2021-03-02 Общество С Ограниченной Ответственностью «Яндекс» Method and a system for determining the result of a task in the crowdsourcing environment
KR102155790B1 (en) * 2019-08-30 2020-09-14 주식회사 크라우드웍스 Method and apparatus for measuring competence of worker using average return rate
RU2019128272A (en) 2019-09-09 2021-03-09 Общество С Ограниченной Ответственностью «Яндекс» Method and System for Determining User Performance in a Computer Crowdsourced Environment
RU2019135532A (en) 2019-11-05 2021-05-05 Общество С Ограниченной Ответственностью «Яндекс» Method and system for selecting a label from a plurality of labels for a task in a crowdsourced environment
US11449811B2 (en) * 2019-11-25 2022-09-20 International Business Machines Corporation Digital twin article recommendation consultation
KR102156587B1 (en) * 2019-12-23 2020-09-16 주식회사 크라우드웍스 Method for increase and decrease operating of worker and inspector of crowdsourcing based project for artificial intelligence training data generation
JP7339167B2 (en) * 2020-01-17 2023-09-05 株式会社日立製作所 Work support system and work support method
RU2020107002A (en) 2020-02-14 2021-08-16 Общество С Ограниченной Ответственностью «Яндекс» METHOD AND SYSTEM FOR RECEIVING A LABEL FOR A DIGITAL PROBLEM PERFORMED IN A CROWDSORING ENVIRONMENT
US11404051B2 (en) 2020-05-21 2022-08-02 Bank Of America Corporation Textual analysis system for automatic language proficiency assessment
US11232798B2 (en) 2020-05-21 2022-01-25 Bank Of America Corporation Audio analysis system for automatic language proficiency assessment
US20220004970A1 (en) * 2020-07-03 2022-01-06 Crowdworks Inc. Method, apparatus, and computer program of automatically granting inspection authority to worker on basis of work results of crowdsourcing-based project
KR102333644B1 (en) * 2020-12-11 2021-12-02 셀렉트스타 주식회사 Method, System, and Computer-readable Medium for Deriving Work Results by Reflecting the Reliability of Workers who Process the Work Collected through Crowdsourcing
US20220292432A1 (en) * 2021-03-15 2022-09-15 Yandex Europe Ag Method and system for generating training data for a machine-learning algorithm
CN116016293B (en) * 2023-03-22 2023-08-25 深圳市亿联无限科技股份有限公司 Multi-task queue testing method, system and platform for network communication product production

Citations (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020069079A1 (en) * 2001-07-13 2002-06-06 Vega Lilly Mae Method and system for facilitating service transactions
US20030050829A1 (en) * 2001-09-13 2003-03-13 International Business Machines Corporation Method and system for collecting and distributing data evaluating the job performances of short term job contractors through a computer controlled centralized database
US20040098447A1 (en) * 2002-11-14 2004-05-20 Verbeke Jerome M. System and method for submitting and performing computational tasks in a distributed heterogeneous networked environment
US6859523B1 (en) * 2001-11-14 2005-02-22 Qgenisys, Inc. Universal task management system, method and product for automatically managing remote workers, including assessing the work product and workers
US6938048B1 (en) * 2001-11-14 2005-08-30 Qgenisys, Inc. Universal task management system, method and product for automatically managing remote workers, including automatically training the workers
US20060059490A1 (en) * 2003-07-15 2006-03-16 Producers Assistance Corporation System and method for documenting critical tasks in complex work environment
US7155400B1 (en) * 2001-11-14 2006-12-26 Qgenisys, Inc. Universal task management system, method and product for automatically managing remote workers, including automatically recruiting workers
US7197459B1 (en) * 2001-03-19 2007-03-27 Amazon Technologies, Inc. Hybrid machine/human computing arrangement
US20080209431A1 (en) * 2007-02-23 2008-08-28 Gioacchino La Vecchia System and method for routing tasks to a user in a workforce
US20090210282A1 (en) * 2008-02-11 2009-08-20 Clearshift Corporation Online Work Management System with Job Division Support
US20090234686A1 (en) * 2008-03-17 2009-09-17 Al Chakra System and method for providing access control in a collaborative environment
US20090231134A1 (en) * 2001-07-27 2009-09-17 Peter Modica Method and System for Certifying Operators of X-Ray Inspection Systems
US20100017252A1 (en) * 2008-07-15 2010-01-21 International Business Machines Corporation Work packet enabled active project schedule maintenance
US20100057518A1 (en) * 2008-08-26 2010-03-04 Yehuda Naveh Constraint Programming with Efficient Ordering of Variables
US20100069148A1 (en) * 2008-09-15 2010-03-18 Katherine Cargill Online Games Integrated with Offline Fitness, Environmental, and Other Activities
US20100095268A1 (en) * 2008-05-13 2010-04-15 Novell, Inc Managing complex dependencies in a file-based team environment
US20100144446A1 (en) * 2002-03-13 2010-06-10 Seungtaek Oh Method and system for providing game service by using the internet
US7885844B1 (en) * 2004-11-16 2011-02-08 Amazon Technologies, Inc. Automatically generating task recommendations for human task performers
US7899694B1 (en) * 2006-06-30 2011-03-01 Amazon Technologies, Inc. Generating solutions to problems via interactions with human responders
US7945470B1 (en) * 2006-09-29 2011-05-17 Amazon Technologies, Inc. Facilitating performance of submitted tasks by mobile task performers
US20110313801A1 (en) * 2010-06-17 2011-12-22 CrowdFlower, Inc. Distributing a task to multiple workers over a network for completion while providing quality control
US20110313820A1 (en) * 2010-06-17 2011-12-22 CrowdFlower, Inc. Using virtual currency to compensate workers in a crowdsourced task
US20120029978A1 (en) * 2010-07-31 2012-02-02 Txteagle Inc. Economic Rewards for the Performance of Tasks by a Distributed Workforce
US20120053977A1 (en) * 2010-08-25 2012-03-01 International Business Machines Corporation Scheduling resources from a multi-skill multi-level human resource pool
US8170897B1 (en) * 2004-11-16 2012-05-01 Amazon Technologies, Inc. Automated validation of results of human performance of tasks
US20120150579A1 (en) * 2010-12-08 2012-06-14 Exvo.Com Company B.V. Work distribution system and method of distributing work
US8255258B1 (en) * 2004-11-16 2012-08-28 Amazon Technologies, Inc. Identifying tasks for task performers based on task subscriptions
US20120265573A1 (en) * 2011-03-23 2012-10-18 CrowdFlower, Inc. Dynamic optimization for data quality control in crowd sourcing tasks to crowd labor

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080133270A1 (en) 2001-01-29 2008-06-05 Michelson Leslie Dennis Systems and Methods for Selecting and Recruiting Investigators and Subjects for Clinical Studies
JP2003084818A (en) 2001-09-07 2003-03-19 Tokio Marine & Fire Insurance Co Ltd Work distributing method and device
JP2004192061A (en) 2002-12-06 2004-07-08 Ok Kk Labor work management system using computer
KR100932437B1 (en) 2002-12-16 2009-12-17 주식회사 게임빌 How to operate online games
US7778865B1 (en) 2003-05-30 2010-08-17 Kane Jeffrey S Distributional assessment system
US20050154600A1 (en) 2004-01-08 2005-07-14 American International Group, Inc. Extended work program
US7908313B2 (en) 2004-07-21 2011-03-15 The Mathworks, Inc. Instrument-based distributed computing systems
KR20060122236A (en) 2005-05-26 2006-11-30 엔에이치엔(주) Method and system for performing quest by agent player in on-line game
JP2007047926A (en) 2005-08-08 2007-02-22 Sharp Corp System, method, and program for work distribution management
JP2007141039A (en) 2005-11-21 2007-06-07 Hitachi Information Systems Ltd Operation management system, operation managing method and program thereof
JP2008017946A (en) 2006-07-11 2008-01-31 Aruze Corp Server and game system
US8172687B2 (en) 2006-10-20 2012-05-08 Wms Gaming, Inc. Wagering game community environment
US8285196B2 (en) 2006-11-22 2012-10-09 Bindu Rama Rao Mobile device and distribution server for surveys using interactive media
CA2687520C (en) 2007-06-12 2015-07-28 Facebook, Inc. Personalized social networking application content
US8799060B2 (en) 2009-03-30 2014-08-05 Transactis, Inc Method for electronic coupon creation, deployment, transference, validation management, clearance, redemption and reporting system and and method for interactive participation of individuals and groups with coupons
US20110066556A1 (en) 2009-09-15 2011-03-17 Albert Kadosh Method and System for Intelligent Job Assignment Through an Electronic Communications Network
US20110282793A1 (en) 2010-05-13 2011-11-17 Microsoft Corporation Contextual task assignment broker

Patent Citations (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7197459B1 (en) * 2001-03-19 2007-03-27 Amazon Technologies, Inc. Hybrid machine/human computing arrangement
US20020069079A1 (en) * 2001-07-13 2002-06-06 Vega Lilly Mae Method and system for facilitating service transactions
US20090231134A1 (en) * 2001-07-27 2009-09-17 Peter Modica Method and System for Certifying Operators of X-Ray Inspection Systems
US20030050829A1 (en) * 2001-09-13 2003-03-13 International Business Machines Corporation Method and system for collecting and distributing data evaluating the job performances of short term job contractors through a computer controlled centralized database
US6859523B1 (en) * 2001-11-14 2005-02-22 Qgenisys, Inc. Universal task management system, method and product for automatically managing remote workers, including assessing the work product and workers
US6938048B1 (en) * 2001-11-14 2005-08-30 Qgenisys, Inc. Universal task management system, method and product for automatically managing remote workers, including automatically training the workers
US7155400B1 (en) * 2001-11-14 2006-12-26 Qgenisys, Inc. Universal task management system, method and product for automatically managing remote workers, including automatically recruiting workers
US20100144446A1 (en) * 2002-03-13 2010-06-10 Seungtaek Oh Method and system for providing game service by using the internet
US20040098447A1 (en) * 2002-11-14 2004-05-20 Verbeke Jerome M. System and method for submitting and performing computational tasks in a distributed heterogeneous networked environment
US20060059490A1 (en) * 2003-07-15 2006-03-16 Producers Assistance Corporation System and method for documenting critical tasks in complex work environment
US8255258B1 (en) * 2004-11-16 2012-08-28 Amazon Technologies, Inc. Identifying tasks for task performers based on task subscriptions
US8170897B1 (en) * 2004-11-16 2012-05-01 Amazon Technologies, Inc. Automated validation of results of human performance of tasks
US7885844B1 (en) * 2004-11-16 2011-02-08 Amazon Technologies, Inc. Automatically generating task recommendations for human task performers
US7899694B1 (en) * 2006-06-30 2011-03-01 Amazon Technologies, Inc. Generating solutions to problems via interactions with human responders
US7945470B1 (en) * 2006-09-29 2011-05-17 Amazon Technologies, Inc. Facilitating performance of submitted tasks by mobile task performers
US20080209431A1 (en) * 2007-02-23 2008-08-28 Gioacchino La Vecchia System and method for routing tasks to a user in a workforce
US20090210282A1 (en) * 2008-02-11 2009-08-20 Clearshift Corporation Online Work Management System with Job Division Support
US20090234686A1 (en) * 2008-03-17 2009-09-17 Al Chakra System and method for providing access control in a collaborative environment
US20100095268A1 (en) * 2008-05-13 2010-04-15 Novell, Inc Managing complex dependencies in a file-based team environment
US20100017252A1 (en) * 2008-07-15 2010-01-21 International Business Machines Corporation Work packet enabled active project schedule maintenance
US20100057518A1 (en) * 2008-08-26 2010-03-04 Yehuda Naveh Constraint Programming with Efficient Ordering of Variables
US20100069148A1 (en) * 2008-09-15 2010-03-18 Katherine Cargill Online Games Integrated with Offline Fitness, Environmental, and Other Activities
US20110313820A1 (en) * 2010-06-17 2011-12-22 CrowdFlower, Inc. Using virtual currency to compensate workers in a crowdsourced task
US20110313801A1 (en) * 2010-06-17 2011-12-22 CrowdFlower, Inc. Distributing a task to multiple workers over a network for completion while providing quality control
US20120029978A1 (en) * 2010-07-31 2012-02-02 Txteagle Inc. Economic Rewards for the Performance of Tasks by a Distributed Workforce
US20120053977A1 (en) * 2010-08-25 2012-03-01 International Business Machines Corporation Scheduling resources from a multi-skill multi-level human resource pool
US20120150579A1 (en) * 2010-12-08 2012-06-14 Exvo.Com Company B.V. Work distribution system and method of distributing work
US20120265573A1 (en) * 2011-03-23 2012-10-18 CrowdFlower, Inc. Dynamic optimization for data quality control in crowd sourcing tasks to crowd labor

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11023859B2 (en) 2010-06-17 2021-06-01 CrowdFlower, Inc. Using virtual currency to compensate workers in a crowdsourced task
US10853744B2 (en) 2010-06-17 2020-12-01 Figure Eight Technologies, Inc. Distributing a task to multiple workers over a network for completion while providing quality control
US11087247B2 (en) 2011-03-23 2021-08-10 Figure Eight Technologies, Inc. Dynamic optimization for data quality control in crowd sourcing tasks to crowd labor
US11568334B2 (en) 2012-03-01 2023-01-31 Figure Eight Technologies, Inc. Adaptive workflow definition of crowd sourced tasks and quality control mechanisms for multiple business applications
US9489636B2 (en) 2012-04-18 2016-11-08 Tagasauris, Inc. Task-agnostic integration of human and machine intelligence
WO2016139666A1 (en) * 2015-03-05 2016-09-09 Wikistrat Ltd. Predictive strategic outcomes by combining human crowdsourcing
US11436541B2 (en) 2017-02-02 2022-09-06 Microsoft Technology Licensing, Llc Macrotask execution for digital assistant devices
CN109948940A (en) * 2019-03-26 2019-06-28 大连海事大学 A kind of Web service crowdsourcing test assignment distribution method based on heuritic approach
US11770311B2 (en) * 2019-04-05 2023-09-26 Palo Alto Networks, Inc. Automatic and dynamic performance benchmarking and scoring of applications based on crowdsourced traffic data
CN110263372A (en) * 2019-05-20 2019-09-20 上海大学 A kind of event detecting method based on intelligent perception system
KR102481583B1 (en) * 2020-02-19 2022-12-27 주식회사 에이모 Method and apparatus for forming inspection criteria data with cloud outsorcing work by using artificial intelligent
KR20210105779A (en) * 2020-02-19 2021-08-27 주식회사 에이모 Method and apparatus for forming inspection criteria data with cloud outsorcing work by using artificial intelligent
KR102155879B1 (en) * 2020-04-10 2020-09-15 주식회사 크라우드웍스 Method for managing inspection quality using feedback from workers of crowdsourcing based projects for artificial intelligence training data generation
KR102159573B1 (en) * 2020-04-27 2020-09-25 주식회사 크라우드웍스 Method for restricting work performance of worker based on functional element of crowdsourcing based project for artificial intelligence training data generation
KR102215421B1 (en) * 2020-05-07 2021-02-16 주식회사 크라우드웍스 Method for processing high-level works using the work-passing function of crowdsourcing based projects for artificial intelligence training data generation
KR102232859B1 (en) * 2020-05-12 2021-03-29 주식회사 크라우드웍스 Method for automatically generating a worker pool based on the functional elements and difficulty of crowdsourcing based projects for artificial intelligence training data generation
KR102164852B1 (en) * 2020-05-12 2020-10-14 주식회사 크라우드웍스 Method for restricting participation of project considering urgent degree of crowdsourcing based project for artificial intelligence training data generation
KR102232880B1 (en) * 2020-06-12 2021-03-29 주식회사 크라우드웍스 Method for evaluating inspector of crowdsourcing based projects for collecting image or video for artificial intelligence training data generation
KR102244702B1 (en) * 2020-07-03 2021-04-27 주식회사 크라우드웍스 Method for paying appropriate cost corresponding to the inspector's inspection performance of crowdsourcing based projects for artificial intelligence training data generation
KR102195956B1 (en) * 2020-07-15 2020-12-29 주식회사 크라우드웍스 Method for updating maximum number of work limits according to work difficulty of crowdsourcing based project for artificial intelligence training data generation
WO2022055700A1 (en) * 2020-09-08 2022-03-17 DefinedCrowd Corporation Efficient ongoing evaluation of human intelligence task contributors
WO2022109153A1 (en) * 2020-11-19 2022-05-27 Flowpatterns, Inc. Systems and methods for optimizing business workflows
US20220391809A1 (en) * 2021-06-04 2022-12-08 Select Star, Inc. Method, computing device, and computer-readable medium for processing plurality of tasks collected in crowdsourcing in subset unit

Also Published As

Publication number Publication date
US20130006717A1 (en) 2013-01-03
US8554605B2 (en) 2013-10-08

Similar Documents

Publication Publication Date Title
US8554605B2 (en) Evaluating a worker in performing crowd sourced tasks and providing in-task training through programmatically generated test tasks
US20200160250A1 (en) Predicting future performance of multiple workers on crowdsourcing tasks and selecting repeated crowdsourcing workers
US11087247B2 (en) Dynamic optimization for data quality control in crowd sourcing tasks to crowd labor
US11568334B2 (en) Adaptive workflow definition of crowd sourced tasks and quality control mechanisms for multiple business applications
Lang et al. Criteria for selecting cloud service providers: a Delphi study of quality-of-service attributes
US11023859B2 (en) Using virtual currency to compensate workers in a crowdsourced task
US10853744B2 (en) Distributing a task to multiple workers over a network for completion while providing quality control
Schaupp et al. Determining success for different website goals
US20160260044A1 (en) System and method for assessing performance metrics and use of the same
US10108919B2 (en) Multi-variable assessment systems and methods that evaluate and predict entrepreneurial behavior
CN117196312A (en) Method and system for adjusting trust score of second entity for requesting entity
US20150012350A1 (en) Measuring the value of marketing contributions to deals
US11922470B2 (en) Impact-based strength and weakness determination
AU2020203152A1 (en) System and Method for Complaint and Reputation Management in a Multi-Party Data Marketplace
US11488135B2 (en) System and method for using user rating in real-world data observation campaign
WO2013003861A2 (en) Evaluating a worker in performing crowd sourced tasks and providing in-task training through programmatically generated test tasks
Niranjan et al. Process‐oriented taxonomy of BPOs: an exploratory study
Haselmann et al. Towards a conceptual model for trustworthy skills profiles in online social networks
US9807194B1 (en) Method of automatically communicating information to a profile
US20150294332A1 (en) Sales process review platform
Considine et al. Social technology: A compendium of short cases
Hirth Modeling Crowdsourcing Platforms-A Use-Case Driven Approach
Yorkston et al. Performance Testing Tasks
Christozov et al. Warranty of misinforming: An overview
Piccoli et al. Network exploitation capability: model validation

Legal Events

Date Code Title Description
AS Assignment

Owner name: CROWDFLOWER, INC, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:OLESON, DAVID;SOROKIN, ALEXANDER;LAUGHLIN, GREG;AND OTHERS;SIGNING DATES FROM 20120125 TO 20120127;REEL/FRAME:035338/0878

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: FIGURE EIGHT TECHNOLOGIES, INC., CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:CROWDFLOWER, INC.;REEL/FRAME:049100/0754

Effective date: 20180403

Owner name: THE BANK OF NEW YORK MELLON, NEW YORK

Free format text: SECURITY INTEREST;ASSIGNOR:FIGURE EIGHT TECHNOLOGIES, INC.;REEL/FRAME:049100/0505

Effective date: 20190502

STCC Information on status: application revival

Free format text: WITHDRAWN ABANDONMENT, AWAITING EXAMINER ACTION

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: ADVISORY ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION