言語処理学会 第30回年次大会 発表論文集（2024年3月）

手順のテキスト化による将棋解説文生成
山内悠輔 河原大輔
早稲田大学理工学術院{kikan11235813@akane., 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 言語モデルで解説文を生成する手法が近年― 3197 ―This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).

の主流である。Taniguchi ら [8] はサッカーの試合の表1

各プレイにおける詳細な情報を multilayer perceptron

トークン

トークン

頻度(MLP) でエンコーディングし、long short-term mem-。

1455746の499582

ory (LSTM) [9] でデコードすることで実況コメント▲680937

歩398395を生成した。Jhamatani ら [10] はオンラインチェス△675102

手389002

フォーラムから 29.8 万件の指し手とコメントのペア、675102が361363

データを収集しアノテーションを行った。また、入は525710銀274623

解説文における頻出トークン

頻度

力として局面の状況とキャスリングしたか、チェックがかかっているか等のドメイン知識を組み合わせた解説文生成モデルを構築した。
佐々木ら [11] は解説文に対してアノテーションを行い、Jhamatani らと同様に「指し手の評価」、「指し手の候補・比較」、「指し手の説明」、「囲い・戦型」、「局面の形勢」、「局面の説明」、「一般情報」の 7 種類の構成要素からなるラベルを定義し付与した。また、ラベルの種類ごとに異なる T5 モデルを用意して学習を行った。モデルには各局面における指し手、手数、駒の配置を入力している。亀甲ら [12] は
対数線形モデルにより局面に特徴的な単語を予測し、その単語に続く文章として言語モデルで最良優先探索を行い解説文を生成した。
局面から得られる埋め込み表現をより直接的に得る方法として、Zang ら [13] はチェスエンジンから得られる埋め込み表現を利用した。解説文生成モデ
ルは、指し手を双方向 RNN [14] の encoder に入力し得られる埋め込みとチェスエンジンから得られる埋め込みを結合し、LSTM の decoder に入力することで解説文を生成した。

3

提案手法

3.1

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

3.2

解説文生成手法の概要

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

3.3

入力処理

従来の研究では局面の状態を解説文生成モデルへの入力として変換するときに指し手や駒の配置などその局面のみにおける情報を利用していた。この入力形式はコンピュータ将棋モデルが推論する際の入力と一致しており局面の状況を簡潔かつ的確に表すことができる。しかし将棋の指し手は一手一手が前の手を受けて打つものであり、各指し手には前後の指し手と時系列的な関連性がある。解説文も連続した指し手に対する言及が多く、ゲームの性質上過去の手を振り返って持ち出すことがある。
本研究では、局面の状態をテキストに変換する際本研究で用いるデータセットとして、順位戦・名人戦の中継サイトである名人戦棋譜速報から約13,000 局 (2023 年 3 月時点) の解説文付き棋譜を収集する。本データセットはプロ棋士同士の対局に対して専門家が解説文を付与したものであり、そのうち6,205 局には対局の戦型が付随している。解説文には、対局者の受賞歴や昼食、夕食に関するものなど、将棋の局面のみからでは生成できない情報も含まれているため、佐々木ら [11] に倣いキーワードマッチングによって不要な文の削除を行う。削除のためのキーワードを付録 A に示す。また、本モデルで使用するトークナイザにより全解説文をトークン分割した場合の頻出トークンを表 1 に示す。将棋に特有のに、初期配置から現在に至るまでの全ての手順を入力として用いる。例えば、「▲２六歩△３四歩▲７六歩... △３三桂▲８五歩」のような手順列のテキストが入力となる。これにより言語モデルは現在までのゲーム全体の流れを特徴量として掴むことができ、過去の手を参照することもできる。また、局面から得られる情報として手順列挙のテキストに加えて外部機構であるコンピュータ将棋モデルの推論情報を利用する。各局面における最善手と次善手の予測手順をモデルへの入力情報として使用する。

3.4

モデルの学習生成モデルとしては T5 を使用する。T5 は text-totext でデータを処理することができる事前学習済み― 3198 ―This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).

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

encoder-decoder モデルであり様々なタスクに対応できる。モデルの学習については事前学習の継続学習および複数のタスクを解くマルチタスク学習を行う。
事前学習の継続学習では、対局の最初の 1 手から終了までの全ての手順の列挙に対しマスク言語モデ
ルの学習を行う。これにより将棋の手順全体の俯瞰的な理解を狙う。

図 2 △同馬と打った局面

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

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

4.2

実験・分析

4る事前学習済み T5 モデル2）を使用し、事前学習の実験結果

表 2 に自動評価指標を用いた評価結果を示す。学4.1

習なしモデルは Hugging Face 上にアップロードされ実験設定

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

他のモデルは事前学習の継続学習を行ったかどうか、マルチタスク学習ではなく解説文生成タスクのみを行わせたかどうかの比較となっている。ベース
ラインモデルと比較して学習を行ったモデルは精度が大きく向上した。T5 [4] は対象タスクごとに事前学習とファインチューニングしたものが最も良い性能を示しており、本手法でもその傾向が見られた。

4.3は 1 手先の手までを用いることにした。
生成モデルには Hugging Face Model Hub に存在す
1） https://github.com/TadaoYamaoka/pythondlshogi2/tree/main/modelている事前学習モデルをそのまま推論させたもの、

分析

提案モデルの主観評価による性能を図 2 に示す具体例を用いて説明する。既存手法 [11] では「指し手2） https://huggingface.co/retrieva-jp/t5-base-long― 3199 ―This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).

表 2 各種モデルの評価結果

モデル

ROUGE-L

BLEU

precision

recallF1

学習なし (ベースライン)

0.104

0.196

0.112

継続学習+マルチタスク学習

0.162

0.237

マルチタスク学習

0.160

継続学習+解説文生成タスク学習

0.168

BERTScore
precision

recall

F1

0.533

0.590

0.661

0.622

0.159

1.301

0.660

0.684

0.671

0.228

0.157

1.068

0.665

0.685

0.674

0.233

0.166

1.220

0.670

0.686

0.677の説明」、「囲い・戦型」、「局面の説明」で参照文と事前学習の継続学習、マルチタスク学習を行った。

同等の解説文が生成された一方で「指し手の候補・比較」や「指し手の評価」、「局面の形勢」では正確指し手の多様な表現や囲い、戦型に対する説明は生成できたが、コンピュータ将棋モデルの予測手順をに局面の情報を捉えた文章を生成することが難し取り入れた、現在の局面からは明示的に得られないかったことが指摘されていたが、本モデルでも似た未来の状況を説明することは依然として難しかっような事例が散見された。図 2 では後手が△同馬とた。学習データ量や学習ステップ数をさらに増やし打った局面でコンピュータ将棋の最善手の予測手順解説文に対して適切な前処理を行うことでモデルのは▲ 5 三角成△同金▲ 6 四銀、次善手の予測手順は性能が改善する可能性がある。

▲７六飛が示されており参照文は「後手は馬の力で一方で、理論上提案モデルが生成できる解説文は持ちこたえようとしている」となっている。これに最善手が続いた場合の未来の予測手順の説明であ対して貪欲法により解説文を生成すると「馬で応じり、指してはいけない手を説明することはできなた。
」とのみ生成される。生成長を長くするようにい。この問題を解決する手法は Zang ら [13] のようパラメータを設定すると「馬で応じた。▲ 5 三角成に、局面の情報量をよりゲーム理解に適した埋め込△同金に▲ 6 四銀と打ってどうか。」と問題なく生み表現に変換しモデルに入力することである。これ成できていることもあれば、「馬で応じた。▲ 5 三角成△同金に▲ 6 四銀が王手飛車取りになる。」とには提案モデルで使用したコンピュータ将棋モデル

王手飛車取りではないのに誤った表現をすることがの推論結果を、MLP 層等に通してベクトルに変換して言語モデルの encoder の出力と結合する手法と、ある。

言語モデル自体を将棋が出来るように訓練する手法

貪欲法で生成した文章はいずれの局面においてもが存在する。我々は後者の手法がより適していると短い文章が生成されることが多く、「指し手の説明」考える。これは、将棋の解説文は書籍、解説動画、や「囲い・戦型」などの局面の表面的な情報を述べ新聞等も含めて多種多様なデータセットが存在し、ているだけにすぎない。「指し手の候補・比較」を言語モデルの性能が向上すればより高度な解説文生させるためには生成長を長く指定する必要があるが成モデルを構築できる可能性があるためである。マ

自然な文章を生成することは難しかった。最善手やルチモーダルモデルにおいて局面を画像として処理

次善手の予測手順を引用できているものの、その手し、解説文とのキャプションデータを構築すれば、の意味を正しく理解できているわけではないため、既存手法で学習できると思われる。

展開は予測できていても的外れな表現をしてしまうことが多い。最善手や次善手の予測手順を単に入力情報として用いるだけでは、学習のショートカットが発生する問題があり、本来の目的である局面の深い理解には至らなかった。将棋というゲームを理解おわりに5

本研究では手順の列挙を用いた将棋解説文の自動生成手法を提案した。本手法により局面の駒の配置するためには、より複雑な入力特徴量やルールに関ではなく手順を入力情報に変換することで局面状況に適合した解説文を生成できることが分かった。一与したタスク設計を行う必要がある。

方で将棋というゲームの本質を理解するためにはよ4.4

り複雑な特徴量を入力情報に利用する必要があるこ今後の課題・全体的な考察とが明らかとなった。

本研究では局面情報を言語に変換する手法として手順の列挙を採用し、言語モデルの特性を活かした― 3200 ―This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).

chess commentator powered by neural chess engine. In

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

参考文献[1] 高橋磐郎. コンピュータが将棋をさせば・・・＜報告＞架空対局のためのプログラミング. Technicalreport, NEC マガジン, 第 8 号, 1975.
[2] David Silver, Aja Huang, Chris J. Maddison, ArthurGuez, Laurent Sifre, George van den Driessche, JulianSchrittwieser, 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 withdeep neural networks and tree search. Nature, Vol. 529,
pp. 484–489, 2016.
[3] 山本一成. 人工知能はどのようにして「名人」を超えたのか？最強の将棋 AI ポナンザの開発者が教える機械学習・深層学習・強化学習の本質. ダイヤモンド社, 2017.
[4] Colin Raﬀel, Noam Shazeer, Adam Roberts, Katherine
Lee, Sharan Narang, Michael Matena, Yanqi Zhou, WeiLi, and Peter J. Liu. Exploring the limits of transfer learning with a uniﬁed text-to-text transformer. Journal ofMachine 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, andManabu Okumura. Generating live soccer-match commentary from play data. Proceedings of the AAAI Conference on Artiﬁcial Intelligence, Vol. 33, No. 01, pp.
7096–7103, 2019.
[9] Martin Sundermeyer, Ralf Schlü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, GrahamNeubig, and Taylor Berg-Kirkpatrick. Learning to generate move-by-move commentary for chess games fromlarge-scale social forum data. In Proceedings of theProceedings of the 57th Annual Meeting of the Assocication for Computational Linguistics, pp. 5952–5961, 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.

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― 3201 ―This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).

表 3 不要な解説文の削除のためのキーワード一覧
http【】
おやつ昼食
受賞
敗
棋戦
夕食
出身
期
優勝
回
党
棋士番号勝
名人
時分
成績
第♦
時刻
入室段
本日
立会
ABEMA
本局
対局数
永世※BS
ネット中継 レスポンシブ
タブレット
自動棋譜更新 記録係
気温
生まれ
消費時間
開始
奨励会
将棋会館
コメント
感想戦取材 局後の感想
腕組み
来訪
再開
スマートフォン

図3

A

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

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

B

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

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

C

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

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

D

ハイパーパラメータ

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

学習パラメータseedlearning rate
epoch

値

分析パラメータ値

42max seq length

512

1e-4min new tokens{0, 20}{6, 5}

num beams

5

warmup ratio

0.1

top k30

max seq length

512

top p

0.90

repetition penalty

10.03） https://huggingface.co/spaces/pizzagatakasugi/shogiapp― 3202 ―This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).