Tengo un pequeño puñado de juegos de palabras competitivos en progreso, y aunque la preferencia es jugar (principalmente asincrónica) contra otros oponentes humanos, me gustaría ofrecer a los jugadores la opción de jugar contra una IA. Tengo mi diccionario y puedo darle fácilmente a la IA un conocimiento completo del diccionario mientras está jugando, pero mi preocupación es que tener a la IA jugando regularmente palabras con las que no están familiarizados será una experiencia frustrante para los jugadores: 'Habría ganado ese juego ¡Si solo hubiera usado palabras que sé! - incluso si el nivel de habilidad general de la IA se rechaza.
Prefiero crear una IA más débil a través de una combinación de parámetros de juego (no) sintonizados y un vocabulario más débil, pero no estoy seguro de cómo limitar ese vocabulario a palabras 'comunes'. He visto varias listas de frecuencia de palabras (por ejemplo, la lista de todas las palabras que aparecen en los libros del Proyecto Gutenberg, ordenadas por número de ocurrencias) pero todas tienen una serie de falsos negativos: palabras que todos saben que simplemente no t aparece con cualquier frecuencia real (por ejemplo, CHEETAH aparece con menos frecuencia en los textos de PG que VOCATIVE o SUTTEE). He intentado usar los resultados de búsqueda para obtener estimaciones de la popularidad de una palabra, pero también tienden a ser falsas estimaciones erróneas, y por supuesto que '
¿Alguien tiene sugerencias sobre otros buenos medios para determinar una frecuencia aproximada del uso de palabras, u otras formas de limitar la IA del juego de palabras que se sentirán naturales para los jugadores?
Respuestas:
Creo que su solución aún sería ir con alguna lista de frecuencia de palabras. El Proyecto Gutenberg podría no ser el indicado para usted, ya que contiene principalmente textos antiguos en los que el derecho de autor ha expirado, dando frecuencias extrañas para los hablantes modernos de inglés. Supongo que hubo un momento en que "vocativo" era en realidad una palabra más utilizada que "guepardo" ...
Así que creo que la solución es encontrar la lista de frecuencias correcta . Buscar un poco me hizo tropezar con las 5000 palabras más utilizadas en todos los episodios de Simpson, que podrían estar un poco más actualizadas. Sin embargo, es posible que desee hacer una referencia cruzada de esta lista con un diccionario real para ordenar palabras como "krabappel", por ejemplo :)
Espero que ayude, ¡estoy emocionado de saber con qué solución vas!
fuente
La multitud lo busca. Utiliza todos los juegos multijugador que juegan tus jugadores para construir una tabla de frecuencia de palabras. Creo que cualquier servicio de análisis podría ayudar a recopilar y organizar estos datos. Incluso podría ponderar las entradas según cuán "bueno" sea el jugador que usa la palabra.
fuente
Comience con vocabulario básico de acuerdo con su nivel de IA. Por ejemplo, a continuación se muestra su lista de niveles de IA.
Puede elegir estas palabras de los siguientes sitios web que puede ver con la búsqueda de Google .
Estos sitios le darán sus palabras iniciales, pero creo que google n-grams puede ser una mejor opción. De todos modos, no se preocupe demasiado por sus palabras iniciales, con el mecanismo de actualización / adición que se explica a continuación, su diccionario de inteligencia artificial debería enderezarse según sus jugadores.
Como tus jugadores aprenden mientras juegan, tu IA también debería aprender. Permita que aprenda las palabras más utilizadas por sus oponentes.
Por ejemplo, 10 personas jugaron contra tu IA básica, usaron 100 palabras desconocidas, es decir, palabras que no están en tu diccionario de IA. Elija las palabras más utilizadas y agréguelas a su diccionario básico de IA, también a su diccionario promedio y difícil. También debe optar por actualizar algunas palabras que no se usan en su diccionario con las palabras que usa la gente. De esta manera, su diccionario inicial será más adecuado para el conocimiento de sus jugadores. Puede comenzar con menos palabras / grupo de palabras diferentes, pero su IA aprenderá mientras juegan contra humanos.
También puede considerar comenzar su IA con un nivel básico y actualizarla a otros niveles solo cuando haya aprendido suficientes palabras.
fuente