When we think of interfaces between human beings and computers, we usually consider the human being as the one requesting that a task be completed, and the computer the one completing the task and providing the results. Computers attached to the Internet can use a network interface to ask other computers to perform tasks and return results, such as searching a database, or returning a file. Those other computers may be large and powerful, but they are still computers. What if a computer could use the Internet to ask a human being to perform a task and return the results? What if it could ask many human beings to perform many tasks?
The Mechanical Turk provides the interface for computers to make requests of human beings. Software applications use Mechanical Turk’s web services interface to request that human beings perform tasks best suited to human intelligence, such as translating paragraphs of text from one language to another, or describing photographs. Human beings capable of performing those tasks and, accept and complete them, then register the results with Mechanical Turk. Mechanical Turk notices applications when tasks are complete and the results are available.
To the application, the transaction looks like any remote procedure call: the application sends the request, and the service returns the results. Mechanical Turk accepts requests,and makes results available, using its web services interface. Human intelligence can be integrated into applications as easily as using any other web service.Amazon.com originally created the Mechanical Turk to improve the quality of their catalog. Thousands of merchants load data for millions of products into Amazon’s database, often resulting in conflicting, missing, or erroneous product information. As new data is loaded, the Amazon.com data clean-up process automatically creates tasks to review and correct mistakes in new item data. People submit corrections to the data through Mechanical Turk, and Amazon.com updates its catalog accordingly.
Why would a person want to perform tasks on behalf of software applications?
Some tasks are worth doing because they are fun, or interesting, or contribute to worthy causes. But Mechanical Turk provides an additional incentive: Money.
People running applications that incorporate human intelligence can offer to pay for the completion of each task. Mechanical Turk uses Amazon.com’s Subway micropayment system to process payment. Mechanical Turk hosts a thriving marketplace, where people can perform as many or as few tasks as they wish, large or small, for cash rewards. The Mechanical Turk system manages task submission, assignment, and completion, matches qualified people with tasks that require particular skills, provides a feedback mechanism to encourage quality work, stores task details and results, and processes payment, all behind a web services interface. Each of these subjects is covered in detail in this site.