Wie macht das der Akinator

Das muss ich doch erwähnen. Über einen Artikel von Robert Hammerl bin ich auf den Akinator gestossen.

Der Akinator versucht durch Fragen, die man mit Ja/Nein (bzw. Zwischenstufen) beantwortet, den Namen einer Person herauszufinden, die man sich gedacht hat. Auf Roberts Blog finden sich schon etliche Kommentare mit vom Akinator erratenen Figuren bzw. mit seinen Fehlschlägen. Es ist faszinierend, wie er mit ein paar Fragen oft – auch die “abstrusten” – Personen errät.

Nachdem das nicht ganz mein Fachgebiet ist, würde mich natürlich interessieren, wie die Software geschrieben ist, die dahinter steckt. Vielleicht ist das ganze recht simpel? Oder doch ein komplexer Algorithmus?

3 Trackbacks

Trackback-URL für diesen Eintrag

www.wissenmachtnix.de am 27.01.2009 00:45
… zum Beispiel Namen von Personen erratenfragen, an die man gerade denkt. Zu finden ist der Spaß unter dem Namen Akinator. Der hat doch problemlos die kleine Liste von: Christian Ude Andrea Ypsilanti Benjamin Franklin Nur Karl Dall hat er be…
Wissenmachtnix am 27.01.2009 00:45
Am 26. Jänner 2009 (also vor über einem Jahr) schrieb ich den Artikel Wie macht das der Akinator. Und bis heute ist der Artikel gefragt… Der Akinator “errät” Personen an die man denkt, in dem er Fragen stellt, die man mit Ja, Nein, Viel
Nur ein Blog am 28.02.2010 10:50

34 Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Robert H.Wie die Software tatsächlich funktioniert kann ich nicht beantworten, aber die Art und Weise der Funktion ist ganz gut ersichtlich. Am Beginn stehen 1-2 allgemeine Fragen und dann dürfte der Akinator aufgrund der bisherigen Spiele und seinen Vorgaben eine Vermutung haben (sieht man auch an der Darstellung des Akinators). Diese versucht er dann durch weitere fragen zu verifizieren. Dieses Spielchen wird so lange wiederholt bis alle vermeintlich notwendigen Fragen richtig beantwortet werden, dann gibt der Akinator einen Tipp ab.

Gut war das z.B. bei der Band “Die Ärzte” zu erkennnen. Wir haben versucht die drei Bandmitglieder jeweils aus dem Akinator herauszukitzeln – und es hat funktioniert.

#1Robert H.Homepage • am 27.01.2009 14:02Antwort

TydeEigentlich ist (wie ich denke) das system ganz einfach:
Akinator hat eine riesige Daten mit Antworten für alle Fragen für jede Person. Per Ausschlussverfahren lässt sich dann immer Genauer bestimmen, wer gesucht ist.
Wenn zum Beispiel bei jeder Frage 50% der Datensätze ja und 50% der Datensätze nein sind und man 10 Fragen hat, so bleiben nur noch 0,098% der Datensätze übrig. Bei 10000 Datensätzen sind das also nur noch 9,8 Person. Nun kann man aber davon ausgehen, dass es nicht immer nur 50% Wahrscheinlichkeiten sind und der Computer immer die Fragen nimmt, wo er die höhsten Chancen hat, die mögliche Gruppe an Personen zu verkleinen. Dies macht diese hohe Zielgenauigkeit aus. Alles reine Mathematik.

#2Tyde am 03.08.2009 18:18Antwort

AndNur kann ich mir nicht vorstellen, dass jmd diese Datenbank füttert – und das noch mit personen, die nicht wirklich bekannt sind… z.b. ein zürcher party-löwe, carl hirschmann… oder ein fussballer in einem zürcher fussballclub, richi cabanas… alles gleich erkannt.
Das müssten ja milliarden von Daten sein!
Also wie gehts?

#2.1And am 27.01.2010 00:05Antwort

Robert LenderKeine weiß es genau. Aber anzunehmen ist: Der Akinator stellt Fragen und versucht daraus eine Auswahl bzw. eine richtige Lösung zu bieten. Schafft er das nicht, hast du die Möglichkeit einzutippen, wer denn die gesuchte Person gewesen ist.
So hat wohl jemand den Party-Löwen genannt. Akinator hat nun den Namen und auch deine vorherigen Antworten. Überall dort, wo du ja gesagt hast kann der Akinator nun diese Eigenschaften dem Party-Löwen zuordnen. Und schon hat er eine neue Persönlichkeit mit entsprechenden Eigenschaften für die nächsten Anfragenden parat.
Das Ganze ist natürlich ein wenig komplexer aber vom Prinzip her könnte es so funktionieren.
Auf alle Fälle ist eine gute Datenbank im Hintergrund, die wir alle mit unseren Antworten befüllen eine wichtige Grundlage für gute Antworten.

#2.1.1Robert LenderHomepage • am 27.01.2010 00:32Antwort

anonymich denke auch das müssen recht viele daten sein aber heute ist das schon möglich und es gibt ja auch die möglich jemanden hinzuzufügen z.b wenn der akinator es nicht herausgefunden hat sagt er dir immer: du hast gewonnen und danach kannst du die person auswählen an die du gedacht hast oder eben eine hinzufügen.

#2.1.2anonym am 30.04.2010 23:24Antwort

PinguinIch habe den Akinator heute zum ersten Mal erlebt, und denke das er Google abfragt, und ein Ausschlussverfahren anwendet. Das geht am schnellsten! ;-)

#3PinguinHomepage • am 31.01.2010 22:29Antwort

Robert LenderInteressanter Ansatz. Aber wie kommt der Akinator zu strukturierten Informationen.

Könnte der Akinator das, könnten die Betreiber doch glatt eine intelligente Suchoberfläche für Google anbieten. So könnte ich dort Fragen wie “Wann hat x Geburtstag” oder “Ist x Schauspielerin” absetzen und eine Antwort erhalten.

Aber wer weiß, was da noch alles kommt ;)

#3.1Robert LenderHomepage • am 31.01.2010 23:29Antwort

Paddyich denke mal der akinator wurde so programmiert, wie oben schon gesagt worden ist, nämlich in verbindung mit google. die 1te bis 5te frage wird erstmal geprüft, ob die person ein schauspieler oder musiker oder politiker ist. mal angenommen es is ein politiker dann kann man ja bei google einfach “politiker” eingeben aber es kommen zich millionen antworten von google also grenzt der akinator die auswahl ein “is die person über 25?” bei ja sucht er nur die politiker raus die ü 25 sind, es bleiben x politiker. wieder grenzt der akinator die auswahl ein “is sie weiblich?” und wieder 100 000 weniger. jetzt fängt der akinator die person genauer herraus zufinden, indem er fragen stellt “is sie schon tot?” oder “hat die person einen novell preis erhalten” manchmal treffen die fragen genau ins schwarze manchmal aber total daneben und der akinator googlet weiter^^
die datenbank muss nicht groß sein, da google die meiste arbeit erledigt .
schwierig für den akinator sind personen die entweder in einer größeren grp (musikband zb) sind … nehmen wir tokio hotel als beispiel: sind geschwister und fast im selben alter. der akinator wird einen von denen erraten aber vll den falschen, man kann danach zwar weiter raten lassen und der akinator wird mit sicherheit bei google einfach gucken wer noch in der band ist und dann einen nach dem anderen vorschlagen.

mfg paddy
ps: denkt einfach ma an tick trick und track ;) dann wirds schwer für ihn ^^

#4Paddy am 06.02.2010 20:11Antwort

anonymousich denke, das das so nicht klappen kann, denn das was du beschreibst klingt für mich verdächtig nach einer nahezu menschlichen KI. der akinator müsste dann ja sämtliche suchergebnisse analysieren, also mit deinem beispiel mit den politikern müsste er ja aus den ergebnissen sämtliche namen von politikern rausfiltern… das ist schwer zu meistern und wenn dem so wäre, dann wären ganz andere möglichkeiten offen, als “nur” der akinator…

ich denke auch, das es einfach eine datenbank ist, die sich ständig durch die eingaben der user vergrößert…

#4.1anonymous am 08.02.2010 17:47Antwort

lalaauch die findet er

#4.2lala am 22.04.2010 10:42Antwort

HeaperWie auch immer das mit der Datenbank realisiert sein mag, ich möchte zu einem anderen kniff kommen, den die software drauf hat:
zum teil kommt der akinator mit zu wenig informationen aus und liegt trotzdem richtig. das liegt daran, dass verbindungen zwischen verschiedenen suchen hergestellt werden. zb: wenn ich nach pablo escobar suche, brauche ich dannach für zb george jung nur noch wenige fragen beantworten, weil die thematisch nun mal zusammenpassen.

viel spass beim ausprobieren :P

#5Heaper am 09.02.2010 00:18Antwort

Detlef WagnerIch wundere mich ein wenig, dass noch niemand auf die Idee gekommen ist, es könnte eine logische (also deklarative) Programmiersprache (PROLOG, SCHEME u.a.) dahinterstecken. Die zugehörige Wissensbasis (zumindest in Prolog wird der Quelltext so genannt) ist dann die erweiterbare Datenbank.
Die Verwendung von Google würde ich hier eher bezweifeln.

#6Detlef WagnerHomepage • am 11.02.2010 10:01Antwort

MrZweiflerIch denke auch, dass eine eigene Datenbank vorliegen muss. Es ist ja so, dass wenn man es in seltenen Fällen schafft, schlauer als er zu sein, sofort so eine Frage Seite kommt. Da kann man den Namen, passende Fragen etc. eintragen. Die User ergänzen also sein Wissen
lg MrZweifler

#7MrZweifler am 17.02.2010 11:13Antwort

Scorpion84Der Akinator hat so es ausschaut eine eigene Datenbank. Die sich durch die Benutzer erweitert Wenn er 3 mal falsch lag, fragt er nach dem namen. Ihr könnt den dann eingeben. Und wie es scheint speichert er die vorherigen Fragen dazu. Ich habe mal den Test gemacht und “Kapitän Stoppel” aus ALFRED J. KWAK angelegt da er ihn nie gefunden hatte. Nach dem ich ihn angelegt habe fand er ihn wieder nicht, da andere Fragen, bei erneuter Eingabe. Beim Wieder anlegen aber hatte ich Ihn in der Auswahl. Die Fragen werden dann erweitert. Habe das Spiel 4 mal gemacht dann hatte er ihn.

Sprich das Ding lernt von uns.
;)

#8Scorpion84 am 19.02.2010 16:23Antwort

ChristophIch hab jetzt nicht alle Antworten gelesen.

Aber ich bin mir zu 99% sicher das er nicht über Google geht. Wie auch? Dafür braucht man ein sehr gutes Textanalyse Tool.

Der Punkt ist die Schiere Masse an Daten die dahinter steht.
25 Millionen Spiele. Und täglich kommen mehrere 10 000 hinzu.
Und der Punkt ist wirklich das wenn er falsch rät das er dann die Möglichkeit gibt einen Character aufzunehmen.

Der Rest beruht auf Wahrscheinlichkeiten und einem sehr guten Algorythmus, und der Kern is schlicht die Masse an Daten. Und durch jeden Versuch eine Person sich auszudenken bei der der Akinator falsch liegt macht ihn besser.

Die Schwierigkeit liegt eher in dem Bereich woher kommen die Fragen. Aber ich denke hier ist die Antwort auch leicht. Ein guter Satz an Standardfragen für den Ausgangssatz.
Geschlecht, Alter, Tot, Beruf, Comicfigur…
Und bei Figuren die neu hinzukommen und oft falsch geraten werden manuelle Recherche und das einfügen einer neuen Frage die hilft ihn zu Kennzeichnen. Da gehe ich von Handarbeit aus.

Ich hab gestern an den Dönermann gedacht und er wurde nicht gefunden, stattdessen hat er mir den Pizzamann vorgeschlagen und als ich nicht zufrieden war den Taxifahrer mehrfach.
Es gab aber insgesamt schon 80 Versuche mit dem Dönermann.
Desto öfter versucht wird eine Figur zu finden, desto feiner sind die Informationen und desto schneller und besser findet er die Figur.

Alleine eine Tatsache spricht fürs manuelle Nacharbeiten. Die Bilder. Eine Automatische Verwendung von Google Bildern ist rein aus rechtlichen Gründen nicht möglich.

#9ChristophHomepage • am 25.02.2010 11:31Antwort

InyafaceÜbrigens wird der Dönermann jetzt gefunden aber unter “Dönerverkäufer” :)

#9.1Inyaface am 26.04.2010 17:50Antwort

eniakinator ist ein expertensystem, siehe: http://de.wikipedia.org/wiki/Expertensystem . die firma, von der akinator stammt stellt sonst medizinal-expertensysteme her.

das ganze ist rein datenbankbasiert, und gar keine magie. mit mehreren constraints für jede mögliche antwort kann man sich das ganze relativ einfach nachprogrammieren-würde wohl sogar mit mysql gehen. das ganze scheint mit php programmiert zu sein, wobei das auch nur der wrapper zu einem c/java-programm sein kann. aber von der komplexität gut mit php möglich.

die datenmenge die er jedoch bereits hat ist beachtenswert. wobei auf wikipedia z.b. viel mehr steht, so schwer ist es für die anwendung nicht, an neue daten zu kommen.

#10eniHomepage • am 07.03.2010 04:20Antwort

Robert LenderDanke für den Hinweis auf den Wikipedia-Eintrag und deine inhaltliche Ergänzungen.

#10.1Robert LenderHomepage • am 07.03.2010 13:08Antwort

AlexDer Akinator lässt sich auch mit personen füttern. sobald eine person nicht gefunden wurde, kann man sagen, welche person man meinte. Man kann auch Fragen hinzufügen, um dem akinator zu sagen, wie er besser auf diese person kommt. Diese Datenbank wird von den Benutzern selber gefüttert. Und wie der beitrag schon von Tyde: er fragt immer ab, um die chance zu verkleinern.

Beispiel: Claudia Schiffer

Ist die Person eine Frau?

Ja -> Alle Männer fallen weg.

Hat die Person was mit Musik zu tun?

Nein -> Alle Musiker und Männer fallen weg

Ist die Person älter als 25?

Ja -> Alle Männer, Musiker und unter 25 Jährigen fallen weg

usw.

Und so geht das dann 10-20 Fragen lang und schon gibt es nur noch einen ganz kleinen Kreis, wobei der meistgesuchte rausfällt. Falls du diese Person nicht hast, kannst du dem Akinator sagen, wen du gemeint hast. Schon speichert er das und beim nächsten mal werden die Personen anders gewichtet.

Reine Programmierung :-)

LG

Alex

#11Alex am 09.04.2010 12:21Antwort

Lucky_LukeIch glaube das ganze mit dieser Datenbank ist gar nicht mal so falsch. wenn er die Person nicht errät, dann kann man eingeben wie sie heißt und was sie macht. mit so einem ausschlussverfahren versucht er dann die gesuchte Person zu bestimmen

#12Lucky_LukeHomepage • am 11.04.2010 07:46Antwort

doodleGanz einfach:Erst fragt Er Mann oder Frau:
50% fallen weg

Schauspieler,Musiker…: Dann fallen auch viele weg.

Dann kommt Haarfarbe oder andere sachen, bis nur noch ca. 25 Personen vorhanden sind, die bekannteste wird dann ausgewählt.

Hier ein Spiel vom mir: Ich starte Akinator: Die Figur ist weiblich, nicht in amerika erfolgreich, berühmt, wurde in deutschland geboren, älter als 35, Politikerin, ist bundeskanzlerin : Das wüssten wir glaube Ich jetzt auch: Angela Merkel!

#13doodle am 13.04.2010 17:01Antwort

FrankGanz so einfach ist nicht, habe im Frageverlauf versehentlich eine Frage
falsch bentwortet.
Statt ja nein, trotzdem kam das richtige Ergebnis heraus.
Also werden auch Falscheingaben berücksichtigt.
Das erhöht dann bestimmt die Anzahl de Fragen führt aber doch durch andere Merkmale zur gesuchten Person.

#14Frank am 14.04.2010 17:25Antwort

KevinAlles ist ganz einfach, der Akinator hat eine Datenbank auf die er zugreift, ein paar 10 000 Daten sind am Anfang erfasst worden und werden noch erfasst, bein Spielen merkt er sich die Antworten und erstellt so ein Profil, kommt er nicht auf die Lösung kann mann selber die Lôsung eingeben+Foto und somit wird die Datenbank erweitert.

#15Kevin am 25.04.2010 22:18Antwort

GastAuffallend: er stellt doch auch Fragen nach dem genauen Alter und / oder ob die Person Kinder hat..wenn man das nicht weiß, wie bei vielen….das wird dann in einem weiteren Tab gegoogelt und befindet sich im Cache, danach kann mandie Frage beantworten..kann das eine Möglichkeit sein?! Das die Software bemerkt, was ich gegoogelt habe

#16Gast am 19.05.2010 20:21Antwort

Robert LenderWie schon oben erörtert ist das recht unwahrscheinlich…

#16.1Robert LenderHomepage • am 19.05.2010 21:16Antwort

kleesbudda ich habe angegeben als er nach politiker gefragt hat ..teilweise ja…
und dannach fragte er ob er etwas mit dem buddismus zu tun habe

#17klees am 27.05.2010 19:28Antwort

andreder akinator nutzt den twenty questions algorithmus für die auswertung …

Wikipediaauszug:
“The game suggests that the information (as measured by Shannon’s entropy statistic) required to identify an arbitrary object is at most 20 bits. The game is often used as an example when teaching people about information theory. Mathematically, if each question is structured to eliminate half the objects, 20 questions will allow the questioner to distinguish between 220 or 1,048,576 subjects. Accordingly, the most effective strategy for Twenty Questions is to ask questions that will split the field of remaining possibilities roughly in half each time. The process is analogous to a binary search algorithm in computer science or successive approximation ADC in analog-to-digital signal conversion.”

#18andre am 04.06.2010 10:57Antwort

Robert LenderDanke für diesen Hinweis – der ist sehr nachvollziehbar.

#18.1Robert LenderHomepage • am 04.06.2010 22:19Antwort

reneich habe das mal versucht nachzuprogrammieren. ist aber nicht ganz so einfach denn:
gehen wir davon aus, dass in der datenbank 10000 personen sind. nun wird eine neue person hinzugefügt (die in der db noch nicht existierte). der user hat aber bis jetzt erst 10 Fragen gestellt. somit hat die “neue” Person nur 10 “referenzen” auf spezielle Fragen; d.h. die restlichen “Fragen” die in der DB stehen können dieser Person noch nicht zugeordnet werden, da die Antwort noch nicht feststeht.
Ausserdem müsste es verknüpfungen zwischen verschiedenen Fragen geben, denn wenn die person Amerikaner ist, sollte ausgeschlossen werden, dass sie europäer, asiate etc ist. wird nun eine neue Person hinzugefügt, der man das attribut “amerikaner=true” hinzufügt, sollte in der db automatisch die “verknüpfungen” ebenfalls gesetzt werden (europäer=false, asiate=false etc), denn sonst kann es vorkommen, dass erst gefragt wird, ob die person amerikaner ist(wird mit ja beantortet), danach ber noch gefragt wird, ob die person europäer ist.
(???)

#19rene am 07.06.2010 17:45Antwort

shihanzuAlso bei mir macht der Akinator recht viele fehler. wo ich z.B. mal auf die frage ob die person kurze haare hat mit nein antwortete, dann heller hautton ja und dann braune haarfarbe nein, kam auf einmal diese coco raus dunkler hautton kurze braune haare, also so ganz funzt das nicht. auch werden manche fragen doppelt gestellt oder sogar unnötig wenn ich sage blond ja brauch er doch eigtl. nicht mehr fragen brünette oder?

#20shihanzu am 09.06.2010 18:55Antwort

Don XuanEs funktioniert mit einem sogenanntem algorythmus.

#21Don Xuan am 11.07.2010 19:23Antwort

MazeIch wollte nochmal ergänzen, dass das binäre Ausschlusssystem (boah, viele “s”) zwar Basis ist, es im Pirnzip aber 5, genaugenommen beim Akinator aber auuch nur 4 “richtige” Antwortmöglichkeiten gibt (“Ich weiß nicht” bedeutet ihm wohl soviel wie “Vergessen wa die Frage, weitergekommen bin ich jetzt nicht”). Allerdings führen die Antworten “Wahrscheinlich/Teilweise” und “Wahrscheinlich nicht” (oder so) auf neue Subschleifen oder so. Wenn beispielsweise nicht eindeutiig egklärt werden kann, ob die Figur fiktiv ist (wie bei Jerry Seinfeldt, der in seiner Serie sich selbst spielt) und man mit “eher nicht” antwortet ist der damit noch vorhandenen fiktive Personenkreis noch nicht gestrichen! Es gibt praktisch einen Programmierkniff der bewirkt, dass der Akinator immer noch auf den fiktiven Personenkreis zugreifen kann, sobald er vom Weg abzukonmen scheint. Der Jerry war jetzt kein gutes Beispiel, da gerade weil es ihn sowohl fiktiv, als auch real gibt, der Akinator nach dieser Frage halt normal weitermachen kann und man sich am Anfang ja eh für das eine entscheidet. Aber ich denke ihr wisst was ich meine!

Was ich mich mega frage: Wo kommen die neuen und schlauen Fragen her? (Jemand meinte, die würden vielleicht per Hand eingetippt werden, was ich mir igendwie vom AUfwand her nicht vorstellen kann) Und wo kommt der Humor her? Merkt ihr, wie lustig der Akinator sein kann? Ohne Scheiß, nicht nur, weil randommäßig absurde Fragen kommen. Wenn er etwas beispielsweise fast erraten hat hagelts lustige/zweideutige fragen^^

#21.1Maze am 22.08.2010 03:23Antwort

schmidtchenAkinator hat zwei Informationsquellen: Erstens, was der aktuelle User sagt und zweitens, was alle bisherigen User gesagt haben. Zu (1) nutzt er nicht nur die Information, ob “ja” oder “nein”, sondern auch die Zwischengrade. So ist es eine relevante Information, ob der User über eine Person etwas genau weiß oder vielleicht auch nicht genau weiß. Zu (2) gibt es für ihn zwei Ansätze: (2a) Eine Grundwahrscheinlichkeit, dass an bestimmte Personen gedacht wird. Adolf Hitler scheint hier eine hohe Wahrscheinlichkeit zu haben, d.h. “deutsch”, “männlich”, “schon tot” hat eine gute Chance, auf Hitler hinauszulaufen. (2b) Akinator speichert, was andere User wussten und auch, was sie nicht wussten. Bestimmte Wissenslücken/Unsicherheiten sind dann wieder typisch für bestimmte “Rateobjekte”. Mit 20 bloßen ja/nein-Fragen aus fast unendlich vielen “denkbaren” Personen die richtige herauszufinden, ist unmöglich, zumal ja nur bei der “Frau oder Mann”-Frage rund 50% der “denkbaren” Personen eliminiert werden. Alle anderen “nein” eliminieren höchstens 10%, wahrscheinlich weniger. Also Fazit: Erst wenn Akinator viele Informationen über “typische” Figuren und über das “typische” Antwortmuster bei einer bestimmten Figur hat, kann er so gut sein, wie er ist. Und das ist nach mehreren Millionen Spielverläufen verdammt gut…

#22schmidtchen am 21.08.2010 15:44Antwort

lilaich kann das einfach nicht verstehen, also erst hatte ich bruce willis im kopf, den hat er auch gefunden. dann hab ich mir eine türkische sängerin vorgestellt. und nach ganz normalen frage..z.b frau oder mann verheiratet oder nicht, kinder ja nein, und plötzlich die frage. kommt diese person aus türkei?? wie kommt der akinator auf so eine frage, verdammt wieso türkei?? ich bin echt fasziniert von dem ding. ich versteh es nicht!

#23lila am 30.08.2010 00:40Antwort

Kommentar schreiben


Favatar/Gravatar/Pavatar/Twitter/Identica Autoren Bilder werden unterstützt.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Textile-Formatierung erlaubt
Ich blogge unter...

Webtermine.at - Österreichweite Termine

webtermine.at – webbezogene Veranstaltungen in Österreich

Kommentare
Do, 02.09.2010 19:17
pantyhose.naughtythinking.com
Di, 31.08.2010 23:37
brainstormingInteressanter Ansatz. Auch ic [...]
Mo, 30.08.2010 23:17
Robert LenderEin nettes Wort kann wohl “ni [...]
Mo, 30.08.2010 00:40
lilaich kann das einfach nicht ve [...]
tweetbackcheck