Tenho vários jogos de palavras competitivos em andamento e, embora a preferência seja por (principalmente assíncrona) jogar contra outros oponentes humanos, eu gostaria de oferecer aos jogadores a opção de jogar contra uma IA. Eu tenho meu dicionário e posso fornecer facilmente o conhecimento completo do dicionário da IA enquanto ele está jogando, mas minha preocupação é que ter a IA tocando regularmente palavras com as quais não estão familiarizados será uma experiência frustrante para os jogadores: 'Eu teria vencido esse jogo se tivesse usado palavras que eu conheço! - mesmo se o nível de habilidade geral da IA estiver diminuído.
Prefiro criar uma IA mais fraca por meio de uma combinação de parâmetros de reprodução (des) ajustados e um vocabulário mais fraco - mas não sei como limitar esse vocabulário a palavras 'comuns'. Examinei várias listas de frequência de palavras (por exemplo, a lista de todas as palavras que aparecem nos livros do Project Gutenberg, classificadas por número de ocorrências), mas todas elas têm vários negativos negativos: palavras que todos sabem que simplesmente não sabem ' t aparece com qualquer frequência real (por exemplo, CHEETAH aparece com menos frequência nos textos do PG do que VOCATIVE ou SUTTEE). Tentei usar os resultados da pesquisa para obter estimativas da popularidade de uma palavra, mas elas também tendem a ter estimativas errôneas falsas e, é claro, isso '
Alguém tem sugestões sobre outros bons meios de determinar uma frequência aproximada do uso de palavras ou outras formas de limitar a IA de jogos de palavras que parecerão naturais para os jogadores?
Respostas:
Acho que sua solução ainda seria usar uma lista de frequência de palavras. O Projeto Gutenberg pode não ser o ideal para você, pois contém principalmente textos mais antigos onde os direitos autorais expiraram, dando frequências estranhas para os falantes de inglês modernos. Eu acho que houve um tempo em que "vocativo" era na verdade uma palavra mais comum do que "chita" ...
Então, acho que a solução é encontrar a lista de frequências correta . Pesquisando um pouco, eu me deparei com as 5000 palavras mais usadas em todos os episódios de Simpsons, que podem ser um pouco mais atualizadas. Convém cruzar essa lista com um dicionário real, para ordenar palavras como "krabappel", por exemplo :)
Espero que ajude, estou empolgado em saber qual é a sua solução!
fonte
Multidão fonte dele. Use todos os jogos multijogador que seus jogadores jogam para criar uma tabela de frequência de palavras. Acho que qualquer serviço de análise poderia ajudar a coletar e organizar esses dados. Você pode até ponderar as entradas pelo quão "bom" o jogador usando a palavra é.
fonte
Comece com o vocabulário básico de acordo com o seu nível de IA. Por exemplo, deixe abaixo a sua lista de níveis de IA.
Você pode escolher essas palavras nos seguintes sites que você pode ver na pesquisa do Google .
Esses sites darão suas palavras iniciais, mas acho que o google n-gramas pode ser a melhor escolha. De qualquer forma, não se preocupe muito com as suas palavras iniciais, com o mecanismo de atualização / adição explicado abaixo do seu dicionário de IA, que deve se endireitar de acordo com seus jogadores.
já que seus jogadores aprendem enquanto jogam, sua IA também deve aprender. Permita que ele aprenda as palavras mais usadas pelos seus oponentes.
Por exemplo, 10 pessoas que jogaram contra sua IA básica, elas usaram 100 palavras desconhecidas, ou seja, palavras que não estão no seu dicionário de IA. Escolha as palavras mais usadas e adicione-as ao seu dicionário básico de IA, também ao seu dicionário médio e rígido. Você também deve optar por atualizar algumas palavras que não são usadas no seu dicionário com as que as pessoas usam. Desta forma, o seu dicionário inicial será mais adequado ao conhecimento dos seus jogadores. Você pode começar com menos palavras / várias palavras diferentes, mas sua IA aprenderá enquanto joga contra humanos.
Você também pode considerar iniciar sua IA com o nível básico e atualizá-la para outros níveis somente quando aprender palavras suficientes.
fonte