The collaborative human interpreter (CHI) is a proposed software interface for
human-based computation
Human-based computation (HBC), human-assisted computation, ubiquitous human computing or distributed thinking (by analogy to distributed computing) is a computer science technique in which a machine performs its function by outsourcing certain ste ...
(first proposed as a programming language on the blog Google Blogoscoped, but implementable via an
API
An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
in virtually any programming language) specially designed for collecting
and making use of
human intelligence
Human intelligence is the intellectual capability of humans, which is marked by complex cognitive feats and high levels of motivation and self-awareness. High intelligence is associated with better outcomes in life.
Through intelligence, humans ...
in a
computer program
A computer program is a sequence or set of instructions in a programming language for a computer to execute. Computer programs are one component of software, which also includes documentation and other intangible components.
A computer progra ...
.
One typical usage is implementing impossible-to-automate functions.
For example, it is currently difficult for a computer to differentiate between images of
men
A man is an adult male human. Prior to adulthood, a male human is referred to as a boy (a male child or adolescent). Like most other male mammals, a man's genome usually inherits an X chromosome from the mother and a Y chro ...
,
women
A woman is an adult female human. Prior to adulthood, a female human is referred to as a girl (a female child or adolescent). The plural ''women'' is sometimes used in certain phrases such as "women's rights" to denote female humans regardl ...
and non-humans. However, this is easy for people. A programmer using CHI could write a code fragment along these lines:
enum GenderCode
Photo photo = loadPhoto(file)
GenderCode result = checkGender(photo)
Code for the function
checkGender(Photo p)
can currently only approximate a result, but the task can easily be solved by a person. When the function
checkGender()
is called, the system will send a request to someone, and the person who received the request will process the task and input the result. If the person (task processor) inputs value
MALE
, you'll get the value in your variable result, in your program. This querying process can be highly automated.
Deployment
On November 6, 2005,
Amazon.com
Amazon.com, Inc. ( ) is an American multinational technology company focusing on e-commerce, cloud computing, online advertising, digital streaming, and artificial intelligence. It has been referred to as "one of the most influential econom ...
launched
CHI as its business platform in the
Amazon Mechanical Turk
Amazon Mechanical Turk (MTurk) is a crowdsourcing website for businesses to hire remotely located "crowdworkers" to perform discrete on-demand tasks that computers are currently unable to do. It is operated under Amazon Web Services, and is owned ...
. It's the first business application using CHI.
Origins
CHI is originally mentioned in Philipp Lenssen's
blog
A blog (a truncation of "weblog") is a discussion or informational website published on the World Wide Web consisting of discrete, often informal diary-style text entries (posts). Posts are typically displayed in reverse chronological order ...
.
[{{Cite web, url=http://blog.outer-court.com/archive/2005-03-25-n43.html , title = CHI, a Collaborative Human Interpreter]
References
External links
* "Amazon looks to solve problems that stump computers", ZDnet, Nov 10, 200
Domain-specific programming languages
Human-based computation