文法を基いた逐次選択アプローチによるゲーム記述生成

GameDescriptionLanguage(GDL)[1,2,3]は，多様なゲームを統一的な表記法で表現するために開発されたドメイン固有言語である．たとえば，LudiiGDL[3]はボードゲームを中心に1,000種類以上のゲームをモデル化している．図1はゲームTic-Tac-ToeのLudiiGDLで書かれたゲーム記述である．GDLで記述されたゲームは機械可読性が高く，専用のゲームエンジンを使ってゲームプレイをシミュレーションしやすいという利点がある．このような特性から，GDLはゲームの自動評価に適しており，自動ゲームデザインの研究[4,5,6]において広く利用されてきた．近年では，大規模言語モデル(LLM)を活用し，自然言語テキストから直接ゲーム記述を生成するタスク(GameDescriptionGeneration;GDG)に注目が集まっている[7,8]．自然言語を生成の起点とすることで，ゲームの専門知識を持たない人でも容易にゲームデザインに取り組めるようになることが期待されている．GDLのように，特別な構造をもつ出力を生成するためには，LLMにドメイン知識を学習させるアプローチが効果的である．その一つの方法として，𝒙∶Description:Tic-Tac-Toeisagameofalignmentpopularamongchildren.ItisknownfromthenineteenthcenturyinEnglandandtheUnitedStates,butmaybeolder.Rules:Playoccursona3x3grid.OneplayerplacesanX,theotherplacesanOandplayerstaketurnsplacingtheirmarksinthegrid,attemptingtogetthreeinarowoftheircolour.𝒚∶(game"Tic-Tac-Toe"(players2)(equipment{(board(square3))(piece"Disc"P1)(piece"Cross"P2)})(rules(play(moveAdd(to(sitesEmpty))))(end(if(isLine3)(resultMoverWin)))))例．𝑥は自然言語でゲームを説明する文章であり，𝑦はLudiiGDL（GameDescriptionLanguage）によるゲーム記述である．LLMのIn-ContextLearning(ICL)[9]を用い，LLMのプロンプトにタスクの文脈情報を含める手法がある．たとえば，いくつかの研究[7,8]は，GDLの表記法に関する説明とゲーム記述生成の例をプロンプトに組み込み，ICLを使ったゲーム記述生成を試みた．もう一つの方法として，ゲームを説明する自然言語テキストとゲーム記述のペアデータを用いてLLMに教師ありファインチューニング(SupervisedFine-Tuning;SFT)を施すアプローチも提案されている[8]．これらの研究成果からは，LLMの高い推論能力を活用すれば，より高精度なゲーム記述を生成できる可能性が示唆されている．しかし，LLMが生成するゲーム記述は依然として文法的に不正確な場合があり[8]，そうした不正確な記述はゲームエンジンで正しく解析・読み込みができず，シミュレーションを実行できない．高品質なゲームを生成するには，まずLLMが文法的に正確なゲーム記述.EarleyParserboard::=rectangle|squareStep𝒕Candidates𝛀𝒕rectangle,square𝒕'𝟏(game"TowerofHanoi"(players1)(equipment{(boardPartialGameDescription𝒚"𝒗𝒂𝒍𝒊𝒅を生成できるようにすることが不可欠である．そこで本研究では，ドメイン記述言語の文法を考慮したSFTを導入する．我々は，生成プロセスの各ステップにおいて，それまでに生成された部分出力に続く文法的に妥当な候補を文法から抽出し，その中からLLMに最適な選択肢を選ばせることを考える．その設定下で，部分出力と文法的に許容される続きの候補，および正解を含むデータを用いたSFTによって，GDLのような特別な構造を持つ文法の知識をLLMに学習させることを目指す．具体的には，まずゲーム記述データからGDL構文の基本単位となる部分ゲーム記述を取り出し，それらに対して文法パーサを使い続きの候補を抽出することでデータセットを構築する．次に，構築したデータセットを用いてLLMにSFTを施す．実験では，文法を組み込まずに自然言語テキストとゲーム記述データのペアを用いて学習したLLMと比較し，提案手法のほうがより多くのケースでGDLに必要とされる機能を満たせることを確認した．