I first read the terms Human Computation and Games with a Purpose while reading about crowd sourcing. Further reading on these terms and a discussion with my boss led me to Luis von Ahn, the inventor of reCAPTCHA and the founder of Duolingo. He is a pioneer in this field. I wanted to study more about this field of research and hence I begin my systematic study of it. Picking up Luis’s papers was obviously a good starting point. In these posts, I’ll read a bunch of papers/articles and summarize them here along with my cerebrations, for my reference.
- Luis von Ahn. Games With A Purpose. IEEE Computer Magazine, June 2006. pp 96-98. [pdf]
What is Human Computation?
- Humans like to play games. By some estimates we are spending billions of hours playing computer games.
- What if people playing computer games could, without consciously doing so, simultaneously solve large-scale problems?
- If we treat human brains as processors in a distributed system and each can perform a small part of a massive computation.
- But what kind of problems will we solve? Believe it or not, AGI is still not here. We still don’t have intuitive, intelligent machines. Current “intelligent” machines still don’t have skills that humans take for granted. But they are getting better and they’ll require clean and labelled data to do so.
- This is what Human Computation Paradigm is. Use humans to solve problems computers cant solve and help computers learn to solve them.
What are Games With a Purpose?
Human computation is a great solution to the current scenario, but why isn’t it being used more? Because there’s a challenge that we have to attempt to solve first.
- Humans require incentive to do any sort of work.
- Incentive can be anything: money, enjoyment, learning, altruism, being a part of a social network or anything else.
- Since paying money to make people solve these problems is not scalable; games enter the picture. They are a seductive method and also encourage players to use brain power to solve problems without you paying them any money. Enjoyment is the incentive being employed here.
- Such games which help us to collect information about tasks that are currently only easily and accurately solvable by humans are called Games With a Purpose.
Great, right? To solve the data problem, you build games to make humans solve some tasks for you. Unsurprisingly, to build such a game you have to solve some tasks first.
- Designing such a game is like designing an algorithm (input-output model)
- As results are the part you are building the GWAP for, ensure that game play results in the correct results
- At the same time, it should be enjoyable.
- At last, the system should be such that it’s efficiency can be measured
Proof of Concept Games
Below are the two games presented in the paper as case-studies..
ESP Game (Labeling Images)
- 2 player game which gets labels for an image.
- 2 random users are matched - no communication between them, no identity is revealed.
- An image is given to both players and they have to come up with same labels, as many as possible.
- Score is dependent on the number of same labels they got; this ensures that they both agree on the image for that label.
- Image also has taboo words associated with it which users can’t use; so game also ensures that exhaustive labels come for the image.
- Users can skip an image if they want; ensures boring images or images for which no more labels can be obtained are skipped.
Peekaboom (Locating objects in images)
- 2 player game which gets the location of objects within an image.
- 2 random users (called, Peek and Boom) are matched - no communication between them, no identity is revealed.
- Peek gets a blank screen and Boom gets an image and an associated word with it; these image and word pairs came from ESP game.
- Boom has to reveal some part of the image to Peek and peek has to guess the keyword. Since the keyword is something that is present in the image, Boom will obviously reveal those parts of the image where the object is located.
- Revealing part is done by clicking which creates a 20px radius circle.
- There is also a hinting system to enable Boom in helping Peek guess the word.
- Score is dependent on how less the image was revealed to Peek.
- Once the correct guess is made, the role of Peek and Boom switches
- Users can skip the image if they want.
- When enough guesses are made for a single image, combining all the sessions gives the complete location of the object in image by pixel.
There’s an interesting lecture by Luis on the parts discussed till now - human computation.
Potential Games Suggested
- Language Translation
- 2 player game where both players speak different languages and the challenge is to translate text from one language to other
- He made something based on this - Duolingo.
- Monitoring of security cameras
- Players could monitor security cameras and alert authorities about suspected illegal activity.
- This idea is very questionable; who knows, how it’ll really work without privacy breaches.
- Improving web search
- A game where players perform searches for other people.
- Today’s search engine technology is way too advanced for this to be helpful
- I guess, to search engines like google, bing and ddg, people are giving them helpful information in making their search technology better; so the concept is being used in some way.
- Text summarization
- A game in which people summarize important documents for the rest of the world
- Solving this would require proper game design and diving the text into small chunks.
I might have a lot more thoughts about the kind of applications that we can solve through GWAPs, but I need to crystallize them before dumping them out here.
Human computation (and GWAPs) and crowd-sourcing overlap quite a lot. Taking Wikipedia as an example, human computation is definitely involved in creating Wiki pages, editing them, reviewing them. But the incentive here is pure altruism. Volunteers are not getting paid to do any work on Wikipedia. But probably that’s why the “editor-base” of Wikipedia is so small. Only those who have motivation to contribute, work on it.
Whereas, GWAPs provide the incentive of enjoyment. Players (users) solve these tasks not because they want to solve them. It’s because they want to get the enjoyment. So the task they are solving needs to be ingrained with the game play.
So the only one and important question I’ll end this post with is, How can we design boring, data labeling tasks as games for the users to enjoy them?