# 手順のテキスト化による将棋解説文生成

山内悠輔 河原大輔
早稲田大学理工学術院
$\{$ kikan11235813aakane., dkw@\}waseda.jp

## 概要

近年コンピュータ将棋の進歩は凄まじく、2017 年にコンピュータ将棋が現役名人を破ってからその差は広がるばかりである。しかし、コンピュータ将棋は推定機構の都合上、ある局面における最善手や評価値を出力することしかできず予測した手の意味や局面の状況の良し悪しの根拠は利用者が独自で判断するほかない。本研究ではある局面を、それまでの手順をテキストに変換して言語モデルに入力することで、解説文を自動生成するモデルを構築する。このモデルは局面の状況を言語的特徴量に変換しており、様々な拡張可能性が存在する。

## 1 はじめに

将棋は完全情報ゲームの一種であり、運や駆け引きの要素がないため自動推論と相性が良い。1975 年に早稲田大学の高橋らにより世界で初めてコンピュータ将棋が開発されて [1] 以来、将棋に特化した人工知能の研究が行われている。機械学習手法の発展や計算機の性能が向上するにつれて、将棋、囲碁などのテーブルゲームコンピュータは人間のトップレベルを超えるようになった。2016 年には Google DeepMind 社が開発した AlphaGo [2] がトップ棋士のイ・セドル九段に勝利した。2017 年にはコンピュータ将棋 Ponanza が佐藤天彦名人に勝利した [3]。現在はディープラーニングの推論アルゴリズムが将棋エンジンの基盤となっている。

一方で、コンピュータ将棋は局面の状況を読み筋と評価値を示すだけで、自然言語を介して説明することはできない。解説文生成に関して、将棋の構成要素に着目した様々な研究が行われてきたが、発展途上段階にあり、確立された手法は存在しない。

本研究では言語モデルの有用性を活かした新たな入力形式および学習方法を提案し、解説文生成モデルを構築する。具体的には、入力形式として局面の状態を駒の配置ではなく、現在までの手順を連ね
たテキスト (以下、手順の列挙と記す)を利用する。 テキスト生成モデル T5 [4] により事前学習とファインチューニングの 2 段階の学習を行い、ファインチューニングでは将棋のゲーム理解に関する複数のタスクを一度に学習させる。評価実験の結果、提案手法は局面に合致する妥当な文章を生成することができ、その有効性を確認した。

## 2 関連研究

ゲームの解説文自動生成の研究ではルールに基づく手法と言語モデルに基づく手法の 2 種類が存在する。

## 2.1 ルールに基づく手法

解説文生成は様々な分野で行われている研究であり、古くからテンプレート文を複数用意し状況に応じて適切なものを選択する手法が存在した。岩永ら [5] は野球の試合のダイジェスト文章を生成する手法を提案した。試合の展開と対応するテンプレー ト文を用意し、条件を満たした場合に実際のチーム名や選手と組み合わせて文書を生成した。金子 [6] はコンピュータ将棋を用いて各局面を解析し、優勢劣勢の評価値と次の指し手の候補を出力した。加えて指し手の候補に詰みが発生する場合は自然言語による説明を付け加えた。亀甲ら [7] はデータセット中の解説文中に現れる、実際の進行とは異なる展開に言及する場合において、ルールベースのアルゴリズムにより対応する局面を推定し、解説文と局面のひも付けを行った。

ルールに基づく手法はゲーム内容に忠実で生成する文章には信頼性が保てるものの、表現のバリエー ションや対応できるゲーム展開が限られてしまう問題がある。

## 2.2 言語モデルに基づく手法

recurrent neural network (RNN) 言語モデルや Transformer 言語モデルで解説文を生成する手法が近年

の主流である。Taniguchi ら [8] はサッカーの試合の各プレイにおける詳細な情報を multilayer perceptron (MLP) でエンコーディングし、long short-term memory (LSTM) [9] でデコードすることで実況コメントを生成した。Jhamatani ら [10] はオンラインチェスフォーラムから 29.8 万件の指し手とコメントのペアデータを収集しアノテーションを行った。また、入力として局面の状況とキャスリングしたか、チェックがかかっているか等のドメイン知識を組み合わせた解説文生成モデルを構築した。

佐々木ら [11] は解説文に対してアノテーションを行い、Jhamatani らと同様に「指し手の評価」、「指し手の候補 ・比較」、「指し手の説明」、「囲い・戦型」、「局面の形勢」、局面の説明」、「一般情報」の 7 種類の構成要素からなるラべルを定義し付与した。また、ラベルの種類ごとに異なる T5 モデルを用意して学習を行った。モデルには各局面における指し手、手数、駒の配置を入力している。亀甲ら [12] は対数線形モデルにより局面に特徵的な単語を予測し、その単語に続く文章として言語モデルで最良優先探索を行い解説文を生成した。

局面から得られる埋め込み表現をより直接的に得る方法として、Zang ら [13] はチェスエンジンから得られる埋め込み表現を利用した。解説文生成モデルは、指し手を双方向 RNN [14] の encoderに入力し得られる埋め込みとチェスエンジンから得られる埋め込みを結合し、LSTM の decoder に入力することで解説文を生成した。

## 3 提案手法

## 3.1 データセット

本研究で用いるデータセットとして、順位戦・名人戦の中継サイトである名人戦棋譜速報から約 13,000 局 (2023 年 3 月時点) の解説文付き棋譜を収集する。本データセットはプロ棋士同士の対局に対して専門家が解説文を付与したものであり、そのうち 6,205 局には対局の戦型が付随している。解説文には、対局者の受賞歴や昼食、夕食に関するものなど、将棋の局面のみからでは生成できない情報も含まれているため、佐々木ら [11] に倣いキーワードマッチングによって不要な文の削除を行う。削除のためのキーワードを付録 A に示す。また、本モデルで使用するトークナイザにより全解説文をトークン分割した場合の頻出トークンを表 1 に示す。将棋に特有の表 1 解説文における頻出トークン

トークンが頻繁に使われていることがわかる。

## 3.2 解説文生成手法の概要

解説文生成手法の概要を図 1 亿示す。本研究では局面の状態を推定し、解説文を生成する一連の処理を自然言語に統一して行う。まず各局面を手順列のテキストに変換する。加えてコンピュータ将棋モデルの推論情報をテキストとして出力し手順列と結合する。これを言語モデルの入力とし、解説文を生成する。

## 3.3 入力処理

従来の研究では局面の状態を解説文生成モデルへの入力として変換するときに指し手や駒の配置などその局面のみにおける情報を利用していた。この入力形式はコンピュータ将棋モデルが推論する際の入力と一致しており局面の状況を簡潔かつ的確に表すことができる。しかし将棋の指し手は一手一手が前の手を受けて打つものであり、各指し手には前後の指し手と時系列的な関連性がある。解説文も連続した指し手に対する言及が多く、ゲームの性質上過去の手を振り返って持ち出すことがある。

本研究では、局面の状態をテキストに変換する際に、初期配置から現在に至るまでの全ての手順を入力として用いる。例えば、「立 2 六歩 $\triangle 3$ 四歩 $\boldsymbol{\Delta} 7$六歩... $\triangle 3$ 三桂 $\boldsymbol{\Delta} 8$ 五歩」のような手順列のテキストが入力となる。これにより言語モデルは現在までのゲーム全体の流れを特徴量として掴むことができ、過去の手を参照することもできる。また、局面から得られる情報として手順列挙のテキストに加えて外部機構であるコンピュータ将棋モデルの推論情報を利用する。各局面における最善手と次善手の予測手順をモデルへの入力情報として使用する。

## 3.4 モデルの学習

生成モデルとしては T5を使用する。T5 は text-totext でデータを処理することができる事前学習済み

図 1 解説文生成手法の概要

encoder-decoder モデルであり様々なタスクに対応できる。モデルの学習については事前学習の継続学習および複数のタスクを解くマルチタスク学習を行う。

事前学習の継続学習では、対局の最初の 1 手から終了までの全ての手順の列挙に対しマスク言語モデルの学習を行う。これにより将棋の手順全体の俯瞰的な理解を狙う。

マルチタスク学習では $\mathrm{T} 5$ の特性を利用し、タスクごとに必要な知識や推論過程を他のタスクで転移学習することを狙う。サブタスクとして戦型予測、最善手予測、解説文生成を設計する。戦型予測では各対局の全ての手順から戦型を一つ予測する。最善手予測では各局面におけるコンピュータ将棋モデルの予測手を一つ予測する。各サブタスク名をプレフィックスとしてモデルの入力テキストに挿入する。正解ラベルはタスクごとに異なっており、戦型予測なら「角換わり」、最善手予測なら「苜同歩」解説文生成なら「後手は $\triangle 6$ 五歩と仕掛けた」のように生成する。各タスクのフローを付録 C に示す。

## 4 実験・分析

## 4.1 実験設定

最善手予測におけるコンピュータ将棋モデルには第 1 回世界将棋 AI 電竜戦 [15] で優勝した GCT 電竜のモデル ${ }^{1)}$ 利用する。各局面のプレイアウト回数を 1,000 回に設定し、直近 2,500 局の予測手順付きデータセットを生成した。最善手または次善手を実際の棋譜でプロの棋士が指した割合はおよそ 6 割程度となった。予測手順は後ろのものほど実際の指し手と異なることを考慮し、最善手は 3 手先、次善手は 1 手先の手までを用いることにした。

生成モデルには Hugging Face Model Hub に存在す


図 $2 \triangle$ 同馬と打った局面

る事前学習済み $\mathrm{T} 5$ モデル ${ }^{2}$ を使用し、事前学習の継続学習とマルチタスク学習の 2 段階の学習を行った。棋戦の手順を列挙したテキストは入力長を抑えるために先手後手符号「 $\triangle \perp 「 \boldsymbol{\Delta} 」$ を排除した。それでもモデルの最大入力長に収まりきらない場合はデータセットから除外した。解説文に対する前処理として、 3.1 節で説明したキーワードマッチングによる不要な文章の削除に加えて、モデルの汎化性能を上げるために解説文中に登場する対局者名をそれぞれ「先手」「後手」と置換した。言語モデルの実験・分析に用いたパラメータは付録 D に示す。

## 4.2 実験結果

表 2 に自動評価指標を用いた評価結果を示す。学習なしモデルは Hugging Face 上にアップロードされている事前学習モデルをそのまま推論させたもの、他のモデルは事前学習の継続学習を行ったかどうか、マルチタスク学習ではなく解説文生成タスクのみを行わせたかどうかの比較となっている。ベースラインモデルと比較して学習を行ったモデルは精度が大きく向上した。T5 [4] は対象タスクごとに事前学習とファインチューニングしたものが最も良い性能を示しており、本手法でもその傾向が見られた。

## 4.3 分析

提案モデルの主観評価による性能を図 2 に示す具体例を用いて説明する。既存手法 [11] では「指し手

2) https://huggingface.co/retrieva-jp/t5-base-long
表 2 各種モデルの評価結果

の説明」「囲い・戦型」、「局面の説明」で参照文と同等の解説文が生成された一方で「指し手の候補・比較」や「指し手の評価」「局面の形勢」では正確に局面の情報を捉えた文章を生成することが難しかったことが指摘されていたが、本モデルでも似たような事例が散見された。図 2 では後手が $\triangle$ 同馬と打った局面でコンピュータ将棋の最善手の予測手順は $\triangle 5$ 三角成 $\triangle$ 同金 $\mathbf{\Delta} 6$ 四銀、次善手の予測手順は 【7六飛が示されており参照文は「後手は馬の力で持ちこたえようとしている」となっている。これに対して貪欲法により解説文を生成すると「馬で応じた。」とみ生成される。生成長を長くするようにパラメータを設定すると「馬で応じた。【 5 三角成 $\triangle$ 同金に【6四銀と打ってどうか。」と問題なく生成できていることもあれば、「馬で応じた。【5三角成 $\triangle$ 同金に $\mathbf{\Delta} 6$ 四銀が王手飛車取りになる。」と王手飛車取りではないのに誤った表現をすることがある。

貪欲法で生成した文章はいずれの局面においても短い文章が生成されることが多く、「指し手の説明」 や「囲い・戦型」などの局面の表面的な情報を述べているだけにすぎない。「指し手の候補・比較」をさせるためには生成長を長く指定する必要があるが自然な文章を生成することは難しかった。最善手や次善手の予測手順を引用できているものの、その手の意味を正しく理解できているわけではないため、展開は予測できていても的外れな表現をしてしまうことが多い。最善手や次善手の予測手順を単に入力情報として用いるだけでは、学習のショートカットが発生する問題があり、本来の目的である局面の深い理解には至らなかった。将棋というゲームを理解するためには、より複雑な入力特徵量やルールに関与したタスク設計を行う必要がある。

## 4.4 今後の課題・全体的な考察

本研究では局面情報を言語に変換する手法として手順の列挙を採用し、言語モデルの特性を活かした事前学習の継続学習、マルチタスク学習を行った。指し手の多様な表現や囲い、戦型に対する説明は生成できたが、コンピュータ将棋モデルの予測手順を取り入れた、現在の局面からは明示的に得られない未来の状況を説明することは依然として難しかった。学習データ量や学習ステップ数をさらに増やし解説文に対して適切な前処理を行うことでモデルの性能が改善する可能性がある。

一方で、理論上提案モデルが生成できる解説文は最善手が続いた場合の未来の予測手順の説明であり、指してはいけない手を説明することはできない。この問題を解決する手法は Zang ら [13] のように、局面の情報量をよりゲーム理解に適した埋め込み表現に変換しモデルに入力することである。これには提案モデルで使用したコンピュータ将棋モデルの推論結果を、MLP 層等に通してべクトルに変換して言語モデルの encoder の出力と結合する手法と、言語モデル自体を将棋が出来るように訓練する手法が存在する。我々は後者の手法がより適していると考える。これは、将棋の解説文は書籍、解説動画、新聞等も含めて多種多様なデータセットが存在し、言語モデルの性能が向上すればより高度な解説文生成モデルを構築できる可能性があるためである。マルチモーダルモデルにおいて局面を画像として処理し、解説文とのキャプションデータを構築すれば、既存手法で学習できると思われる。

## 5 おわりに

本研究では手順の列挙を用いた将棋解説文の自動生成手法を提案した。本手法により局面の駒の配置ではなく手順を入力情報に変換することで局面状況に適合した解説文を生成できることが分かった。一方で将棋というゲームの本質を理解するためにはより複雑な特徴量を入力情報に利用する必要があることが明らかとなった。

## 謝辞

本研究は SB Intuitions 株式会社と早稲田大学の共同研究により実施した。データセット収集に協力してくださった亀甲博貴氏に感謝する。

## 参考文献

[1] 高橋磐郎.コンピュータが将棋をさせば・・・<報告＞架空対局のためのプログラミング. Technical report, NEC マガジン, 第 8 号, 1975.

[2] David Silver, Aja Huang, Chris J. Maddison, Arthur Guez, Laurent Sifre, George van den Driessche, Julian Schrittwieser, Ioannis Antonoglou, Veda Panneershelvam, Marc Lanctot, Sander Dieleman, Dominik Grewe, John Nham, Nal Kalchbrenner, Ilya Sutskever, Timothy Lillicrap, Madeleine Leach, Koray Kavukcuoglu, and Thore Graepel Demis Hassabis. Mastering the game of go with deep neural networks and tree search. Nature, Vol. 529, pp. 484-489, 2016.

[3] 山本一成. 人工知能はどのようにして「名人」を超えたのか? 最強の将棋 AI ポナンザの開発者が教える機械学習・深層学習・強化学習の本質. ダイヤモンド社, 2017.

[4] Colin Raffel, Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei $\mathrm{Li}$, and Peter J. Liu. Exploring the limits of transfer learning with a unified text-to-text transformer. Journal of Machine Learning Research, Vol. 21, pp. 1-67, 2020.

[5] 岩永朋樹, 西川仁, 徳永健伸. テキスト速報を用いた野球ダイジェストの自動生成. 自然言語処理学会年次大会発表論文集, Vol. 22, pp. 238-241, 2016.

[6] 金子知適.コンピュータ将棋を用いた棋譜の自動解説と評価. 情報処理, Vol. 53, No. 11, pp. 2525-2532, 2012.

[7] 亀甲博貴, 森信介. 将棋棋譜解説の自動生成. 人工知能, Vol. 34, No. 4, pp. 475-482, 2019.

[8] Yasufumi Taniguchi, Yukun Feng, Hiroya Takamura, and Manabu Okumura. Generating live soccer-match commentary from play data. Proceedings of the AAAI Conference on Artificial Intelligence, Vol. 33, No. 01, pp. 7096-7103, 2019.

[9] Martin Sundermeyer, Ralf Schlüter, and Hermann Ney. LSTM neural networks for language modeling. In Proc. Interspeech 2012, pp. 194-197, 2012.

[10] Harsh Jhamtani, Varun Gangal, Eduard Hovy, Graham Neubig, and Taylor Berg-Kirkpatrick. Learning to generate move-by-move commentary for chess games from large-scale social forum data. In Proceedings of the 56th Annual Meeting og the Association for Computational Linguistics, pp. 1661-1671, 2018.

[11] 佐々木兼人, 関洋平. 将棋解説文の構成要素を考慮した解説文生成手法の検討. DEIM Forum, pp. 1a-7-5, 2023.

[12] 亀甲博貴, 三輪誠, 鶴岡慶雅, 森信介, 近山隆. 対数線形言語モデルを用いた将棋解説文の自動生成. 情報処理学会論文誌, Vol. 55, No. 11, pp. 1-10, 2014.

[13] Hongyu Zang, Zhiwei Yu, and Xiaojun Wan. Automated chess commentator powered by neural chess engine. In Proceedings of the 57th Annual Meeting of the Assocication for Computational Linguistics, pp. 59525961, 2019.

[14] Mike Schuster and Kuldip K Paliwal. Bidirec-tional recurrent neural networks. IEEE Transactions on Signal Processing, Vol. 45, , 1997.

[15] 山岡忠夫, 加納邦彦. 強い将棋ソフトの創りかた.Python で実装するディープラーニング将棋 AI.株式会社マイナビ出版, 2022 .

図 3 マルチタスク学習の学習フロー

## A不要な解説文の削除のためのキーワード

ゲーム内容とは直接関係のない文を表 3 に示すキーワードマッチングにより削除する。解説文を文で区切り、表中の単語が文に含まれている場合はその文を削除する。

## B デモンストレーション用アプリ

読者に本モデルの所感を伝えるため以下の URL33 にデモンストレーション用アプリを公開した。

## C マルチタスク学習の学習フロー

図3にマルチタスク学習を行ったときの入出力のフローを示す。

## D ハイパーパラメータ

学習、分析に用いたハイパーパラメータを表 4 に示す。自動評価指標による評価では貪欲法により文章を生成する。分析ではより詳細なモデルの特徴を調べるためサンプリングを行う。

3) https://huggingface.co/spaces/pizzagatakasugi/shogiapp