Wie kann ich einen begrenzten KI-Wortschatz für ein Wortspiel simulieren?

14

Ich habe eine kleine Handvoll wettbewerbsfähiger Wortspiele im Gange, und obwohl das (meist asynchrone) Spiel gegen andere menschliche Gegner bevorzugt wird, möchte ich den Spielern die Möglichkeit geben, gegen eine KI zu spielen. Ich habe mein Wörterbuch und ich kann der KI während des Spiels leicht die vollständigen Kenntnisse des Wörterbuchs vermitteln, aber meine Sorge ist, dass es für die Spieler eine frustrierende Erfahrung ist, wenn sie regelmäßig Wörter spielen, mit denen sie nicht vertraut sind: „Ich hätte dieses Spiel gewonnen wenn es nur Wörter verwendet hätte, die ich kenne! ' - Selbst wenn die allgemeine Fähigkeitsstufe der KI gesenkt wird.

Ich würde lieber eine schwächere KI durch eine Kombination von (nicht) abgestimmten Spielparametern und einem schwächeren Vokabular erzeugen - aber ich bin mir nicht sicher, wie ich dieses Vokabular auf "gemeinsame" Wörter beschränken kann. Ich habe mir mehrere Worthäufigkeitslisten angesehen (zum Beispiel die Liste aller Wörter, die in den Project Gutenberg-Büchern erscheinen, sortiert nach der Anzahl der Vorkommen), aber alle haben eine Reihe falsch negativer Wörter: Wörter, die jeder kennt, die einfach nicht " t taucht mit einer realen Häufigkeit auf (CHEETAH taucht beispielsweise in den PG-Texten seltener auf als VOCATIVE oder SUTTEE). Ich habe versucht, mithilfe von Suchergebnissen Schätzungen der Popularität eines Wortes zu erhalten, aber sie neigen auch dazu, falsche Schätzungen vorzunehmen, und natürlich

Hat jemand Vorschläge zu anderen guten Methoden, um die Häufigkeit des Wortgebrauchs zu bestimmen, oder zu anderen Methoden, um die KI von Wortspielen einzuschränken, die sich für die Spieler natürlich anfühlen?

Steven Stadnicki
quelle
6
du könntest es lernen lassen! Jedes Mal, wenn der Spieler ein Wort verwendet, das er nicht "kennt", besteht eine Chance von 6/10, dass er es lernt, andernfalls lernt er ein neues zufälliges Wort! (In der Regel werden Wörter gelernt, die der Spieler kennt, aber unter Umständen werden Wörter, die der Spieler nicht kennt, langsam wiedergegeben (Bildung !!).) Dies würde natürlich bedeuten, dass Sie für jeden Spieler ein "KI-Wörterbuch" benötigen.
Joel

Antworten:

6

Ich denke, Ihre Lösung wäre immer noch, mit einer Worthäufigkeitsliste zu gehen. Das Projekt Gutenberg ist möglicherweise nicht das Richtige für Sie, da es hauptsächlich ältere Texte enthält, bei denen das Urheberrecht abgelaufen ist, und für moderne Englischsprachige ungewöhnliche Frequenzen bietet. Ich denke, es gab eine Zeit, in der "Vokativ" ein häufiger benutztes Wort war als "Gepard" ...

Daher denke ich, dass die Lösung darin besteht, die richtige Frequenzliste zu finden. Wenn ich mich ein wenig umgesehen habe, bin ich auf die 5000 am häufigsten verwendeten Wörter in allen Simpsons-Episoden gestoßen, die vielleicht etwas aktueller sind. Vielleicht möchten Sie diese Liste mit einem echten Wörterbuch vergleichen, um beispielsweise Wörter wie "krabappel" zu sortieren :)

Hoffe, es hilft, ich bin gespannt, mit welcher Lösung Sie gehen!

Mikael Högström
quelle
1
Mein starker Eindruck ist, dass die Probleme mit "Wörtern, die jeder kennt, aber keiner verwendet" bei jedem Wörterbuch weiterhin bestehen, aber es kann durchaus das Beste sein, was ich tun kann - und natürlich gibt es eine gute Chance, dass die Spieler dies nicht tun Beachten Sie auch die einfachen Wörter, die die KI nicht kennt, nur die harten Wörter, die sie kennt.
Steven Stadnicki
+1 Du magst Recht haben, aber warum ist das so? Generell scheint es mir, dass die Leute die Wörter lernen sollten, die sie oft hören. Wenn Sie richtig liegen, wäre es interessant, den Grund zu kennen ... :) Meine Hypothese wäre, dass es an einer Verzerrung des verwendeten Korpus liegt, wie im Fall des Gutenberg-Projekts, also halte ich an der Lösung fest Sie brauchen nur die richtige Frequenzliste.
Mikael Högström
5

Crowd Source es. Verwenden Sie alle Mehrspieler-Spiele, die Ihre Spieler spielen, um eine Worthäufigkeitstabelle aufzubauen. Ich denke, jeder Analysedienst könnte dazu beitragen, diese Daten zu sammeln und zu organisieren. Sie können die Einträge sogar danach gewichten, wie "gut" der Spieler ist, der das Wort verwendet.

PT
quelle
Ich mag das, aber es fühlt sich immer noch so an, als würde es eher das "Update" -Problem als das "Start" -Problem lösen (vorausgesetzt natürlich, ich möchte die Multiplayer- und Solospiele nebeneinander starten, was eine andere Frage ist vollständig).
Steven Stadnicki
2

Beginnen Sie mit dem Grundwortschatz entsprechend Ihrer AI-Stufe. Im Folgenden finden Sie beispielsweise Ihre AI-Level-Liste.

  • Grundkenntnisse: Wortschatz mit 1000 Wörtern
  • Durchschnitt: 2000 Wörter Wortschatz
  • schwer: 5000 Wörter Wortschatz

Sie können diese Wörter auf folgenden Websites auswählen, die Sie mit der Google-Suche anzeigen können .

Diese Websites geben Ihre Ausgangswörter, aber ich denke, Google n-Gramm kann die bessere Wahl sein. Machen Sie sich auf keinen Fall zu viele Sorgen um Ihre Ausgangswörter. Der unten erläuterte Mechanismus zum Aktualisieren / Hinzufügen Ihres KI-Wörterbuchs sollte sich den Spielern anpassen.

Da Ihre Spieler lernen, während sie dieses Spiel spielen, sollte auch Ihre KI lernen. Lassen Sie zu, dass Ihre Gegner die am häufigsten verwendeten Wörter lernen.

Zum Beispiel haben 10 Personen, die gegen Ihre KI-Basis gespielt haben, 100 unbekannte Wörter verwendet, dh Wörter, die nicht in Ihrem KI-Wörterbuch enthalten sind. Wählen Sie die am häufigsten verwendeten Wörter aus und fügen Sie sie Ihrem AI-Basiswörterbuch sowie Ihrem durchschnittlichen und harten Wörterbuch hinzu. Sie sollten auch einige Wörter aktualisieren, die in Ihrem Wörterbuch nicht mit Wörtern verwendet werden, die von anderen verwendet werden. Auf diese Weise ist Ihr Startwörterbuch besser für das Wissen Ihrer Spieler geeignet. Sie beginnen möglicherweise mit weniger Wörtern / einer Reihe verschiedener Wörter, aber Ihre KI lernt, während sie gegen Menschen spielen.

Sie können Ihre KI auch mit einer Grundstufe beginnen und auf eine andere Stufe aufrüsten, wenn Sie genug Wörter gelernt haben.

Atilla Ozgur
quelle
Dies bietet eine gute Möglichkeit, das Vokabular zu aktualisieren, lässt jedoch die Startfrage offen: Woher stammen diese anfänglichen Vokabulare?
Steven Stadnicki