Як я можу імітувати словниковий запас AI для гри в слова?


14

У мене є невелика кількість змагальних ігор на слова, які продовжуються, і хоча перевага є (переважно асинхронною) грою проти інших противників людини, я хотів би надати гравцям можливість грати проти AI. У мене є словник, і я можу легко дати повний словниковий знання AI, поки він грає, але я турбуюсь про те, щоб мати AI регулярно грати слова, які вони не знайомі, буде неприємним досвідом для гравців: «Я б виграв цю гру якби він просто використовував слова, які я знаю! ' - навіть якщо загальний рівень кваліфікації AI знижений.

Я вважаю за краще створити слабший AI за допомогою комбінації (не) настроєних параметрів гри та слабшого словника - але я не впевнений, як обмежити цей словник "загальними" словами. Я переглянув декілька списків частоти слів (наприклад, список усіх слів, що з’являються у книгах Project Gutenberg, відсортований за кількістю випадків), але всі вони мають ряд помилкових негативів: слів, які всі знають, що просто не ' не відображатись з будь-якою реальною частотою (наприклад, CHEETAH відображається в текстах PG рідше, ніж VOCATIVE або SUTTEE). Я намагався використовувати результати пошуку, щоб отримати оцінки популярності слова, але вони також схильні до помилкових неправильних оцінок, і, звичайно, це '

Хто-небудь має пропозиції щодо інших хороших засобів визначення грубої частоти використання слів або інших способів обмеження AI в словосистему, які будуть почувати себе природними для гравців?


6
ти можеш дозволити йому вчитися! Кожен раз, коли гравець використовує слово, яке не знає, у нього може бути 6/10 шансу навчитися, інакше він вивчить нове випадкове слово! (Таким чином, це звичайно буде вивчати слова, які гравець знає, але повільно виводячи слова, які гравець не може (освіта !!)) Звичайно, це означатиме, що вам знадобиться "AI словник" для кожного гравця.
Джоель

Відповіді:


6

Я думаю, що вашим рішенням все-таки слід було б розібратися зі списком частоти слів. Проект "Гутенберг" може бути не для вас, оскільки він містить в основному більш старі тексти, термін дії яких закінчився, що дає дивні частоти для сучасних носіїв англійської мови. Я здогадуюсь, був час, коли "вокатив" насправді було більш вживаним словом, ніж "гепард" ...

Тому я думаю, що рішення - знайти правильний список частот. Трохи обшукувавши, я натрапив на 5000 найпоширеніших слів у всіх епізодах Сімпсонів, що може бути трохи більш сучасним. Можливо, ви хочете перекреслити цей список із реальним словником, хоча, наприклад, відсортувати такі слова, як "krabappel" :)

Сподіваюся, це допоможе, я з радістю почую, з яким рішенням ви йдете!


1
Моє сильне враження полягає в тому, що проблеми зі «словами, які всі знають, але ніхто не використовує», як і раніше зберігаються з будь-яким словником, але це, можливо, найкраще, що я можу зробити - і, звичайно, є хороший шанс, що гравці не зможуть навіть помічайте легкі слова, яких AI не знає, лише важкі слова, які він робить.
Стівен Стадницький

+1 Ви можете мати рацію, але чому це так? Взагалі мені здається, що люди повинні вивчати слова, які вони часто чують. Якщо ви маєте рацію, було б цікаво дізнатися причину ... :) Моя гіпотеза полягала б у тому, що це відбувається через упередженість використовуваного корпусу, як у випадку з проектом Гутенберга, тому я дотримуюся рішення, яке вам просто потрібен правильний список частот.
Mikael Högström

5

Натовп джерело його. Використовуйте всі ігри для кількох гравців, в які грають ваші гравці, щоб створити таблицю частоти слів. Я думаю, що будь-яка служба аналітики може допомогти зібрати та організувати ці дані. Ви навіть можете зважити записи, наскільки "хороший" гравець, використовуючи слово.


Мені це подобається, але все ще відчувається, що це вирішує проблему «оновлення», а не проблему «запуску» (якщо, звичайно, припускати, що я хочу запускати багатокористувацькі та сольні ігри поруч, це вже інше питання повністю).
Стівен Стадницький

2

Почніть з базової лексики відповідно до рівня AI. Наприклад, дозвольте нижче ваш список рівнів AI.

  • основна: лексика 1000 слів
  • середній: 2000 слів словник
  • важко: лексика 5000 слів

Ви можете вибрати ці слова з наступних веб-сайтів, які ви можете бачити під час пошуку Google .

Ці сайти дадуть ваші вихідні слова, але я думаю, що n-грам Google може бути кращим вибором. У будь-якому разі не переживайте над своїми початковими словами, механізм оновлення / додавання, пояснений нижче, у вашому словнику AI повинен випрямитись відповідно до ваших гравців.

оскільки ваші гравці навчаються, поки вони грають у цю гру, і ваш AI повинен навчитися. Дозвольте йому вивчити найбільш вживані слова їх опонентів.

Наприклад, 10 осіб, які грали проти вашого основного AI, вони використовували 100 невідомих слів, тобто слів, яких немає у вашому словнику AI. Виберіть найбільш використовувані слова та додайте їх до основного словника AI, а також до середнього та важкого словника. Ви також повинні оновити деякі слова, які не використовуються у вашому словнику, словами, якими користуються люди. Таким чином ваш початковий словник буде більш підходящим для знань ваших гравців. Ви можете почати з меншої кількості слів / купу різних слів, але ваш AI навчиться, коли вони гратимуть проти людей.

Ви також можете розглянути можливість початку роботи AI з базового рівня та оновлення його до інших рівнів лише тоді, коли він засвоїв достатньо слів.


Це дає гідний спосіб оновлення словникового запасу, але він все ще залишає питання про запуск - звідки беруться ці початкові лексики?
Стівен Стадницький
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.