The invention relates to automatic methods and systems for allocating human intelligence tasks (HITs) to a plurality of workers.
Crowdsourcing systems are a unique type of collaborative computing systems where human beings act as workers to perform human intelligence tasks (HITs) in exchange of monetary or other forms of payoffs. In existing crowdsourcing systems (e.g., Amazon's Mechanical Turk, 99designs, and Mob4hire), the common task assignment mechanism is to broadcast the tasks and wait for workers to choose them (the worker-pull model). As human beings from diverse backgrounds and with potentially conflicting self interests, workers may misbehave when performing HITs. Therefore, the wellbeing of a crowdsourcing system is faced with two major challenges:
Efforts have been made to address the first challenge through automating the process of task allocation using a system-push model. For example, in U.S. Pat. No. 8,099,311, a method and system for assigning tasks to individual workers in a workforce has been proposed. It uses their personal characteristics for initial classification of their likely behavior pattern using a neural network based method. Then, it incrementally refines the neural network with their performance with the tasks assigned to them as time goes by. In US 20110282793 A1, a contextual task assignment Confidential Document broker has been proposed. However, in this patent application, the worker profile does not take into account each individual worker's situational information including his/her current workload or their average task processing capacity.
To address the second challenge, the most widely used approach is reputation management. The feedback ratings on the past performance of a worker are used to compute a reputation score which, in turn, is used by the requesters to determine whether to allow the worker to perform the HITs they propose in the future. Many methods for computing the reputation of an entity have been proposed. For example, in U.S. Pat. No. 8,015,484, a method for providing a measure of trust for each participant in a network and automatically computing it has been disclosed. Apart from past performance information, social networking information has been used to compute reputation as exemplified in U.S. Pat. No. 8,010,460. A system for securely disseminating reputation reports on-demand has been disclosed in U.S. Pat. No. 8,117,106.
The abovementioned two challenges represent conflicting system objectives. To reduce the time taken to complete HITs, HITs should be distributed as evenly as possible to a large number of workers to take advantage of mass collaboration. However, to ensure the quality of HIT results, HITs should be allocated as often as possible to workers with high reputation scores who tend to be a minority in a crowdsourcing system. Reputation-based prior art methods over-assign HITs to highly reputable workers, while workload-based prior art methods do not provide sufficient guarantees on the quality of HIT results.
It is an object of the invention to provide an apparatus to address both of the abovementioned challenges simultaneously.
In general terms, the present invention proposes a method and apparatus for allocating a plurality of human intelligence tasks (HIT) to corresponding human workers, by formulating an optimization problem which incorporates both the objectives of reducing the time taken for the HITs to be completed, and of improving the quality of HIT results. The method and apparatus are able to provide solutions to the optimization problem in polynomial time, and to provide theoretical guarantees on the optimality of the solution. The optimization problem is formulated using a measure of a target workload for each worker and a measure of each worker's current situation.
The invention may be expressed in terms of a method for performance by a computer, or a computer system programmed to perform the method, or as a computer program product such as a tangible data storage device (e.g. a CD) storing computer program instructions operative when run by a computer processor to cause the computer processor to perform the method.
The requester 103 submits a project which includes a plurality of tasks to the crowdsourcing system 101 using a computing device, a mobile phone, a personal digital assistant, a telephone, or the like. The requester 103 is anyone who submits tasks to the crowdsourcing system 101 and may be, for example, a person, someone acting on behalf of an entity, or a group of people. In actual implementation of the invention, there may be a plurality of requesters 103, each submitting respective project(s) to the crowdsourcing system, but for ease of understanding only a single requester 103 is shown, and the explanation below shows how a project submitted by that requester 103 is processed.
The crowdsourcing system 101 forwards the tasks to the task allocation apparatus 102. The situation-aware task allocation apparatus 102 is configured to receive tasks from the crowdsourcing system 101. The tasks include at least one task attribute that identifies the type the tasks belong to and an associated price the requester is willing to pay for its successful completion.
The situation-aware task allocation apparatus 102 may comprise a computer system including at least one computer readable medium, a processor, and/or logic. For example, the situation-aware task allocation apparatus 102 may comprise a processor configured to execute computing instructions stored in the computer readable medium. These instructions may be embodied in software. In some embodiments, the computer readable medium comprises an IC memory chip, such as, for example, static random access memory (SRAM), dynamic random access memory (DRAM), synchronized dynamic random access memory (SDRAM), non-volatile random access memory (NVRAM), and read-only memory (ROM), such as erasable programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), solid state drive (SDD) and flash memory. Alternatively, the situation-aware task allocation apparatus 102 may comprise one or more chips with logic circuitry, such as, for example, a processor, a microprocessor, a microcontroller, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a programmable logic device (PLD), a complex programmable logic device (CPLD), or other logic device.
Upon receiving the tasks, the situation-aware task allocation apparatus 102 is configured to access a respective situational profile for each of the plurality of workers 104 and determine which one(s) of the plurality of workers to allocate the tasks to and how many tasks should be allocated to each one of them.
A worker is a person who may be able to provide solutions to tasks. The situational profile may include information about the worker's trustworthiness, current workload and efficiency. The situational profiles are discussed further below in connection with
Upon allocating tasks to the plurality of workers, the situation-aware task allocation apparatus 102 sends messages to the workers 104 via the communication network provided by the crowdsourcing system 101 using a computing device, a mobile phone, a telephone, a personal digital assistant, or the like. The workers may provide solutions to the tasks allocated to them. Feedback is collected by the situation-aware task allocation apparatus 102 based at least partly on the requester's evaluation of the quality of the solutions. The arrow in
The trustworthiness evaluation module 201 is configured to evaluate the trustworthiness of each individual worker. Feedback from the requesters about the quality of the solutions to the tasks is collected. Feedback can be in the form of, for example, discrete numerical ratings, decimal numerical ratings, ordinal textual descriptions of quality, and/or textual comments. The trustworthiness score of a worker is calculated based at least on the feedback from the requesters. The methods used to derive the trustworthiness score can be, for example, probabilistic, statistical, cognitive, logical and/or social relationship based. The trustworthiness score is a numerical number which is scale and metric independent, bounded, and continuous.
The workload monitoring module 202 is configured to evaluate the current workload of each individual worker in real time. Workload related information includes the number of tasks currently assigned to a worker, the price of the tasks currently assigned to a worker, and the estimated effort level required to complete each task currently assigned to a worker. The workload of a worker is a numerical number which is scale and metric independent, and continuous.
The efficiency evaluation module 203 is configured to evaluate the long term efficiency of each individual worker. Workers can estimate and report their own efficiency to the efficiency evaluation module 203 when they first join the crowdsourcing system. The evaluation of the workers' efficiency is based on their past behavior in performing the tasks. For example, data may be collected based on whether a selected worker accepts allocated task(s) of specific type(s), the elapsed amount of time for a selected worker to accept the allocated task(s) of specific type(s), whether a selected worker completes the allocated task(s) of specific type(s), the elapsed amount of time for a selected worker to complete the allocated task(s) of specific type(s). The efficiency of a worker is a numerical number which is scale and metric independent, and continuous.
The worker fitness evaluation module 204 is configured to evaluate each worker's current fitness for receiving more tasks. The worker fitness evaluation module 204 calculates a target workload for each worker based on the worker's trustworthiness information provided by the trustworthiness evaluation module 201 and efficiency information provided by the efficiency evaluation module 203. In one embodiment, the formula for calculating the target workload for a worker w can be:
q
target(w)=└τmax(w)·V+μmax(w)┘ (1)
where τmax(w) and μmax(w) are respectively the maximum trustworthiness score and maximum efficiency achieved by a worker w over a given period of observation; V is a control parameter which can be varied to enable the system administrator of the situation-aware task allocation apparatus 102 to select how emphasis the apparatus places respectively on the expected quality of work and on the delay. As apparent to those skilled in the art, the method for calculating a worker's target workload should ensure that the higher the worker's trustworthiness and efficiency, the higher the target workload should be and vice versa.
The worker fitness evaluation module 204 then calculates the fitness score of each individual worker based on the worker's current workload information provided by the workload monitoring module 202 and the worker's target workload. The fitness score indicates how appropriate it is to assign new work to the worker at time t. In one embodiment, the formula for calculating the current fitness score of a worker w can be:
f
w(t)=qtarget(w)−qw(t)−p(x)·V·(1−τw(t)) (2)
where qw(t) is the current workload for the worker; p(x) is the payoff for successfully completing task x; and τw(t) is the current trustworthiness score of w. The purpose of the final term is that bad workers are not given jobs of high importance. Such workers will have a high (1−τw(t)), so the final term will reduce the fitness score very significantly. As apparent to those skilled in the art, the method for calculating a worker's fitness score should ensure that the higher the worker's target workload is and the lower the worker's current workload is, the higher the worker's fitness score should be and vice versa. Once the fitness scores for all workers are calculated, the workers are ranked in descending order of their fitness scores to form a worker fitness ranking list stored in the worker fitness evaluation module.
The task allocation module 205 is configured to allocate tasks to workers based on their current fitness scores provided by the worker fitness evaluation module 204.
In step 301, a set of tasks from one or more requesters is received from the crowdsourcing system. The step 301 may be performed by the task allocation module 205. The tasks may be held in a temporary buffer in the task allocation module 205 before being allocated.
In step 302, workers' situational profiles are updated. The step 302 includes incorporating new feedback into trustworthiness evaluations, monitoring workers' workload in real time, and updating workers' efficiency. The step 302 may be performed by the trustworthiness evaluation module 201, the workload monitoring module 202, and the efficiency evaluation module 203.
In step 303, workers' fitness scores are updated. The step 303 may be performed by the worker fitness evaluation module 204.
In step 304, a check is performed to determine if there are still tasks waiting to be allocated to workers. This check can be performed by the task allocation module 205.
In step 305, the task allocation plan, which consists of the number and types of tasks to be allocated to each of the selected workers, is determined. The task allocation plan may be based on the fitness scores such as, for example, if there are still more tasks waiting to be allocated to workers, the worker with the next highest fitness score in the worker fitness ranking list is selected. The calculation of workers' fitness scores may be performed by the worker fitness evaluation module 204. The step 305 may be performed by the task allocation module 205.
In step 306, tasks are allocated to the currently selected worker. As many tasks are allocated to the currently selected worker until either the worker's current workload is equal to the worker's target workload, or there is no more task left to be allocated. The step 306 may be performed by the task allocation module 205. The fitness score of the currently selected worker is updated in step 307, and the method then returns to step 304.
Although only a single embodiment of the invention has been described herein, it will be appreciated that many modifications and variations are covered are possible within the scope of the appended claims without departing from the spirit and intended scope thereof.
Number | Date | Country | |
---|---|---|---|
61951785 | Mar 2014 | US |