DEIM Forum 2023 1a-7-5

将棋解説文の構成要素を考慮した解説文生成手法の検討
佐々木謙人†

関洋平††† 筑波大学 情報学群 知識情報・図書館学類 〒 305–8550 茨城県つくば市春日１丁目２番地†† 筑波大学 図書館情報メディア系 〒 305–8550 茨城県つくば市春日１丁目２番地
E-mail: †s2113605@klis.tsukuba.ac.jp, ††yohei@slis.tsukuba.ac.jp
あらまし 近年, 将棋番組においてコンピュータ将棋の指し手の読み筋や局面評価値が配信されており, 観戦者を楽しませている. しかしながら, これらは指し手と局面を評価する数値のみであり, 解説としては不十分である. コンピュー
タ将棋がプロ棋士のように自然言語で解説を行えるようになると, 観戦者の棋力向上の支援において有益である. 本研
究では, 構成要素を考慮した将棋解説文生成手法を提案する. 将棋解説文には, 指し手の読み筋, 囲いや戦型，先手と後手の優劣を評価する形勢など様々な構成要素が含まれる. 人手によるアノテーションとアノテーションデータを用いて微調整した T5 解説文分類モデルで構成要素の判別を行い, 約 70 万件の「解説文」, 「指し手数」, 「指し手」,「局面」と「構成要素ラベル」からなる解説文生成用コーパスを作成する. また, 本コーパスを用いて T5 を微調整することで解説文生成モデルを構築する. 評価実験の結果, 複数の構成要素において人間と同等の解説文を生成した.
キーワード ゲーム解説, コーパス, 自然言語生成, T5, 自然言語処理応用

2 関連研究1 はじめに2017 年に開催された第 2 期電王戦では, コンピュータ将棋

2. 1 将棋解説文生成

Ponanza が佐藤天彦名人との対局で勝利を収めた [16]. また,

金子 [13] は, ルールベースで将棋解説を行う手法を提案した.

同年に DeepMind の Silver ら [10] が発表した AlphaZero は,コンピュータ将棋の「GPS 将棋 2 」が出力する探索評価値と読ゲームルールのみから強化学習を行う手法により当時最も優れみ筋を人が読みやすい形式に変換し, Twitter で配信することたコンピュータ将棋に勝利した. こうした人間を上回る棋力をでリアルタイム解説を行った. この手法では, 探索評価値と読持つコンピュータ将棋の登場により, 近年ではコンピュータ将み筋に加えて, 補足的に「王手の局面において, どう逃げても棋の指し手の読み筋や局面評価値がテレビやインターネットの詰む」のような自然言語による解説を行う. 石脇ら [12] は, 初

将棋番組で配信されている. それらは観戦者を楽しませている

心者がいい手と考える指し手を数値で表すナイーブ評価値を定が, 解説機能としては不十分である. プロ棋士と同様に, コン

義し, 初心者が実際に選んだ指し手によりパラメータ調整する

ピュータ将棋も自然言語を用いて解説が出来るようになると人ことで詰将棋における一見良い手の解説文を生成する手法を提間の棋力向上を支援する観点から有益である.

案した. 亀甲ら [14] は, ロジスティック回帰による言語モデル

そこで, 本研究では将棋解説文を自動生成することを目的とを用いた解説文生成を行った. コンピュータ将棋「激指 3 」のする. 将棋は競技人口が約 1,200 万人 にも及び, 近年では「観局面の素性ベクトル (自分の駒の価値, 駒の利き, 2 駒間の関係)る将」と呼ばれるテレビやインターネットの将棋中継を観て楽を入力として, その局面の解説文において戦型に関する単語のしむファンが多いため, こうした将棋解説の需要は大きい.

現れやすさを表現する語彙数次元の予測ベクトルを出力するよ1

従来の関連研究では, 指し手の読み筋または戦型のみを対象

うに 3 層パーセプトロンを学習し, この学習器による単語の予とした解説文生成手法を提案しているが [13] [14] [15], 実際の将測結果と言語モデルを組み合わせて解説文を生成した. さらに,

棋解説文の内容は多様であり, 形勢, 局面の説明, 指し手の評価

亀甲ら [15] は, 機械学習による指し手の読み筋の解説文生成手など様々な構成要素を含む. 本研究では, これら構成要素を考慮法を提案した. 名人戦・順位戦の記譜に付与された解説文を教した解説文を生成することを試みる. 提案手法では, アノテー師データとして, 探索評価値を元に解説文中の指し手表現が実

ションデータを用いて微調整した T5 の解説文分類モデルによ際のゲーム木のどこに対応するかを表現する解説木を用いて,り構成要素ラベルを付与することで, 約 70 万件の「解説文」,

指し手表現と局面の対応付けを行い, RNN 言語モデルによる解「指し手数」, 「指し手」, 「局面」と「構成要素ラベル」からな

説文生成を行った.

る解説文生成用コーパスを作成する. 次に，作成したコーパス

これら従来の解説文生成手法では, 指し手の読み筋または戦を用いて構成要素ごとに T5 を微調整することで「指し手数」,

型を対象としていた. 本研究では指し手の読み筋や戦型に限ら「指し手」, 「局面」を文字列として入力すると「解説文」を出ず, 様々な構成要素を考慮した解説文生成を試みる.

力する解説文生成モデルを構築する．
2：https://gps.tanaka.ecc.u-tokyo.ac.jp/gpsshogi/
1：https://www.shogi.or.jp/faq/other/

3：https://www.logos.t.u-tokyo.ac.jp/˜gekisashi/

2. 2 チェス解説文生成
Jhamtani ら [3] は, RNN 言語モデルによる解説文生成モデ

3 提案手法ルを提案した. まずオンラインチェスフォーラム に投稿され提案手法の概要図を図 1 に示す. 提案手法では『指し手の評

たチェス解説文を収集し, 29 万 8,000 件の指し手と解説文のペ価』, 『指し手の候補・比較』, 『指し手の説明』, 『囲い・戦アデータからなるチェス解説文コーパスを構築した. このコー型』, 『局面の形勢』, 『局面の説明』の 6 つの解説文生成モ

パスでは, 1 手に対して複数の解説文が付与されている場合, 指デルを T5 [9] を微調整することで構築する. T5 (Text-to-Text

4

し手と解説文が 1 対の対応になるように解説文を文単位に分Transfer Transformer) は, Text-to-Text のフレームワークを割しているほか, 指し手の系列を含む解説文はコーパスの対象

用いた Encoder-Decoder の事前学習言語モデルであり, 幅広い

外となっている. 人手によるアノテーションとアノテーション

タスクに適用可能である. 実際の解説文生成では, これらモデデータを用いて学習した SVM 分類器により, 解説文に対してルのうち将棋観戦者が指定する「構成要素ラベル」によってい『Direct move description』, 『Quality of move』, 『Compar-

ずれかが選択される. 選択されたモデルは, 現在の盤面から取ative』, 『Move rationale or Planning』, 『Contextual game

得した「指し手数」, 「指し手」, 「局面」の文字列を Encoder

information』, 『General information』の少なくともいずれかで埋め込みベクトルに変換し, 埋め込みベクトル同士の関係をのラベルを付与し, ラベルごとに解説文生成モデルを構築した.

表す中間表現を獲得する. Decoder では, 得られた中間表現か

このモデルでは, 対象となる局面から駒種と移動位置に関するら「解説文」を生成する.

Move 特徴量, 駒取り関する Threat 特徴量, 指し手と局面評価に関する Score 特徴量を抽出し, Bi-LSTM による特徴量エンコーダで埋め込みを行い, LSTM でデコードすることで解説文を生成する. Zang ら [11] は, チェスエンジンを内部機構として取り入れ, 指し手や局面に関する詳細な情報を学習することでJhamtani らの手法を BLEU [8] で上回った.
本研究では, Jhamtani らのアノテーション基準を参考にして将棋の解説文生成用コーパスを構築し, 文字列で表した「指し手数」, 「指し手」, 「局面」から「解説文」を生成する手法を
提案する.
図1

提案手法の概要図

2. 3 文生成の評価指標
BLEU は一般に機械翻訳において用いられる評価指標であるが, 将棋・チェス解説文生成の評価指標としても用いられている [3] [11] [14]. BLEU は, 下式のように生成文と参照文のN-gram 適合率で文の類似度を計算する. wn は N-gram の重み, BP は短い生成文に対する罰則項, c は生成文のトークン数,

r は参照文のトークン数である. Count(N − gram′ ) は生成文中の全 N-gram の数，Countclip (N − gram) は生成文と参照
文で共通の N-gram の数を表す.

4 解説文生成用コーパスの構築
本節では, 解説文生成用コーパス構築について述べる. 解
説文生成用コーパスは, 約 70 万件の「解説文」, 「指し手数 」, 「 指 し 手 」, 「 局 面 」と「 構 成 要 素 ラ ベ ル 」か ら なる 解 説 文 生 成 モ デ ル 学 習 の た め の コ ー パ ス で あ る.

各項

目 は, 「 指 し 手 数 : 107」, 「 指 し 手 : B*2c」, 「 局 面 :l4R2l/1kg6/1gns2+PB1/p1pp4p/4P1pp1/PSPPs3P/2NS2P

BLEU = BP · exp( N∑

2/1KG2G3/L2br2NL w N5P」, 「構成要素 : 指し手の評価」,)
wn · log pn

.

n=1

BP =


1

if c > re(1− rc )if c <=r∑Pn =「解説文 : 遠くから受ける好手。」のように表す. 「指し手」と「局面」は USI (Universal Shogi Interface) プロトコルで機械可読な SFEN 表記法 5 を用いて表す. コーパスの構築手順の詳.

Countclip (N − gram)∑N −gram.
′
N −gram′ Count(N − gram )細を以下に述べる.

4. 1 将棋解説文の構成要素の定義
将棋解説文には, 指し手の読み筋, 囲いや戦型, 先手と後手の優劣を評価する形勢など様々な構成要素が含まれる. 本節では,チェス解説文コーパス [3] のアノテーション基準を参考にして本研究においても, BLEU を用いて生成文の評価を行う.

将棋解説文の構成要素を定義する. 構成要素を「指し手」と「局面」に大別することで, 解説文の対象が指し手（系列）または盤面の状態なのかを明確にする変更を加えた. また, 囲いや戦

4：https://gameknot.com/

5：http://shogidokoro.starfree.jp/usi.html

型に関する文は将棋初心者にとって特に有益と考えられるため『囲い・戦型』を新たな要素として追加した. 「指し手」と「局

◆

※

【

】

http

ネット中継 レスポンシブ タブレット スマートフォン

BS面」どちらにも該当せず, 解説文生成において不要と考えられ自動記譜更新

記録係

棋士番号

対局数

気温

る場合は『一般情報』とした. 以下に各構成要素ラベルの定義

出身

生まれ

夕食

昼食

おやつ

と例文を示す.

時刻

消費時間

時。

分。

回。

段。

敗。

党。

戦。

開始。

局面。

考慮。

着手。

小考。

長考。

期

賞

勝敗

成績

同一局面

奨励会

将棋会館

プロフィール

コメント

感想戦取材

局後の感想

腕組み

入室

来訪

再開

•

指し手の評価

現在・過去の指し手の評価についての記述.
例）敗着となった一手。

•

指し手の候補・比較

図2

将来・過去の候補手についての記述.

不要な解説文削除のためのキーワード一覧例）▲ 1 六同銀に△ 2 四桂でどうか。

•

ン結果は多数決によって決定した. 作業者間で判断したラベル

指し手の説明評価や候補・比較を除く指し手についての記述.

が異なり多数決ができない場合は, 話し合いをして修正を行い,

例）馬の利きを止める。

多数決によって決定した.

囲い・戦型

アノテーション作業では, はじめに各作業者のアノテーショ

囲いや戦型についての記述.

ン方針を一致させるために 500 文を用いて訓練を行った. Fleiss例）得意の三間飛車に構える。

の k 係数 [4] が 0.76 (Substantial Agreement [5]) 以上となり作••業者 5 名のアノテーション方針が一致したところで訓練を終

局面の形勢

現局面の形勢についての記述.

了した. 続いて, 10,000 文を対象としてアノテーション作業を例）後手の方がいいのではないか。

行った. 作業は 2 チームに分かれて行い, 各チーム 5,000 文を•担当した. 実験協力者 4 名は 2 名ずつ各チームに分かれ, 著者

局面の説明

囲い・戦型や形勢を除く局面についての記述.

は両チームに属することで 3 名からなるチームを作成した. こ

例）相変わらず両取りが残っている。

れにより, 各文につき 3 名分のアノテーションが得られ, 3 名の•多数決により最終的なラベルを決定した.

一般情報

指し手や局面には関連しない一般的な情報についての記述.
例）タイトル戦登場は 4 回。

4. 2 解説文付き棋譜の収集
記譜配信サイト名人戦記譜速報 6 にて公開されている約 12,000

アノテーションの判定者間一致度を表 1 に示す (アノテータ

1 は第一著者). 表 1 から Cohen の k 係数 [1] が 0.73 以上であり, 判定者間の差異が小さいことが分かる.
表1

構成要素ラベルの判定者間一致度 (Cohen の k 係数)
アノテータ

局 (2022 年 9 月時点) の解説文付き棋譜を収集する. これら棋
譜は, プロ棋士のタイトル戦である名人戦と名人戦の挑戦者を決定する順位戦を網羅している. また, 柿木形式 7 で記述されてアノテータの組合せ

1–2

Cohen の k 係数0.76 0.73 0.74 0.75 0.80 0.79

1–3

2–3

1–4

1–5

4–5

おり, 将棋に精通する観戦記者や対局者以外のプロ棋士による解説文が付与されている. 解説文には「消費時間は▲ 4 時間 32分、△ 4 時間 59 分。
」や「先手はここまで 2 勝 6 敗。
」のように指し手や局面の解説には直接関係のない文が含まれている. そ構成要素つきコーパスにおける構成要素ラベル毎のデータ件数と割合を表 2 に示す.
表2

構成要素ラベル毎のデータ件数と割合

こで, 頻出する不要な解説文を「消費時間」, 「敗。」など図 2

構成要素ラベル件数

割合 (%)に示すキーワード一致により削除する. 複数文からなる解説文

指し手の評価183

1.8は ja-sentence-segmenter を用いて文単位に分割する. 最終的

指し手の候補・比較

3262

32.6

に約 83 万 6,000 文の将棋解説文を収集した.

指し手の説明

2893

28.9

囲い・戦型

380

3.8

8

4. 3 構成要素のアノテーション
収集した将棋解説文から無作為に抽出した 10,000 文を対象として, 4.1 節で定義した構成要素ラベルを付与するアノテー

局面の形勢

229

2.3

局面の説明

1266

12.7

一般情報

1787

17.9

ション作業を人手で行い, 構成要素つきコーパスを構築する. アノテーション作業は, 将棋アマチュア有段者である第一著者及び実験協力者 4 名の計 5 名によって行い, 全てのアノテーショ

6：http://www.meijinsen.jp/

4. 4 構成要素の自動判別収集した解説文全てに対して人手によるアノテーションを実施することは困難である. そこで, 4.3 節で構築した構成要素つ

7：http://kakinoki.o.oo7.jp/kif format.html

きコーパスを用いて事前学習言語モデル T5 を微調整すること

8：https://pypi.org/project/ja-sentence-segmenter/で解説文分類モデルを作成し, 人手に代わり解説文の構成要素

を自動判別する. 構成要素ラベルは, 複数モデルの判別結果か

5. 1 目的ら多数決で決定し, 多数決ができない場合は『一般情報』とす収集した解説文全てに対して人手によるアノテーションを実る. 最終的に『一般情報』を除く『指し手の評価』, 『指し手の施することは困難である. そこで, 人手に代わり事前学習言語

候補・比較』, 『指し手の説明』, 『囲い・戦型』, 『局面の形モデルを用いて構成要素の自動判別を行うことを目的として以勢』, 『局面の説明』の 6 つの構成要素ごとにデータを分割す

下の実験を行う. 実験方法, 結果, 考察について順に述べる.

る. 構成要素の自動判別に関する実験については 5 節で述べる.

5. 2 方4. 5 棋譜形式の変換と局面の生成法

構成要素つきコーパスを用いて, 事前学習言語モデル T5 と提案手法では, 「指し手数」, 「指し手」, 「局面」を入力とBERT [2] をファインチューニングし, 5 分割交差検証を行う.

して「解説文」を生成するモデルを構築する. しかしながら, 本

BERT は, 最も広く用いられている事前学習言語モデルであり,研究で収集した解説文付き棋譜には, 局面が明示的に含まれて本実験ではベースラインとして用いる. 事前学習言語モデルは,いない. そこで, 指し手を柿木形式 7 から機械可読な SFEN 表

日本語 T5 事前学習済みモデル 10 と日本語 BERT 訓練済みモ記法に変換し, 指し手に対応する局面を生成する. 例えば初デル 11 を用いる. 入力最長トークン数: 512, 出力最長トークン

期局面で先手が「7 六歩」という指し手を打つ場合, はじめに

数: 2, バッチサイズ: 16, 学習率: 1e − 4, エポック数: 15 とし「7 六歩」を SFEN 表記法の指し手「 7g7f 」に変換する. 次に,た. 構成要素ラベルの判別結果は, F 値で評価する.

5「 7g7f 」から cshogi ライブラリ 9 で指し手に対応する局面を生

5. 3 結成する.

果

各構成要素ラベルの F 値を表 4 に示す. 表 4 から T5 により

4. 6 解説文生成用コーパスの統計情報

構成要素を分類する手法（平均 = 0.769，標準偏差 = 0.160）

本節では, 解説文生成用コーパスの統計情報を報告する. 解は，BERT により分類する手法（平均 = 0.744，標準偏差 =説文 1 文あたりの文字数の平均値, 標準偏差, 構成要素ラベル

0.164）と比較して高精度な結果となり，Pearson’s r を効果量とごとのデータ件数, 割合を表 3 に示す. 『指し手の説明』は「桂した 1 対の対応のある両側 t 検定で有意差が確認できた（t(6)

跳ねで応じる。
」のように指し手を簡潔に説明するため, 解説文= 5.667, p = 0.001, Pearson’s r = 0.918）．また『指し手の候は短い傾向にある. 一方, 『指し手の候補・比較』は「▲ 4 六香

補・比較』, 『指し手の説明』, 『一般情報』の F 値は 0.85 以△ 7 八飛成▲ 4 四角上で 7 一の飛車を狙う手はあるかもしれな

上であるが, 『指し手の評価』は 0.46 と改善の余地があること

いが、その変化は 5 八の金が浮いているため詰みまで読み切るが分かる. 次節では, F 値が最も低い『指し手の評価』と T5 と必要がある。」のように指し手の遷移が含まれるため解説文がBERT の F 値の差が比較的大きい『局面の形勢』と『局面の説

長い傾向にある. 『指し手の評価』や『局面の形勢』はデータ明』に着目して考察する.

件数が少なく, それぞれ割合は 1.4%, 2.9% である. 一方, 『指し手の候補・比較』はデータ件数が最も多く, 全体の 44.6% を
表4占める. 解説文生成用コーパスは構成要素毎のデータ件数に大F値

きなばらつきがある.
表3
構成要素ラベル
指し手の評価

構成要素ラベルの自動判別

構成要素ラベル

T5

BERT

指し手の評価0.46

0.44

解説文一文あたりの文字数

指し手の候補・比較

0.93

0.92

平均値

割合 (%)

指し手の説明

0.86

0.84

1.4

囲い・戦型

0.81

0.79

0.69

0.65

解説文生成用コーパスの統計情報

19.4

標準偏差

12.3

件数

10,015

指し手の候補・比較

31.3

19.7

310,767

44.6

局面の形勢

指し手の説明15.1

6.9

224,290

32.2

局面の説明

0.74

0.70

0.89

0.87

0.769∗∗

0.744

囲い・戦型

20.3

12.1

40,406

5.8

一般情報

局面の形勢

24.7

14.5

20,201

2.9

マクロ平均

局面の説明

20.6

9.6

90,375

13.0

合計

21.9

12.5

696,054100∗∗ : 両側 t 検定，有意水準 1%で有意差あり.

5. 4 考5 将棋解説文の構成要素の自動判別
本節では, 将棋解説文の構成要素の自動判別の実験について述べる.

察『指し手の評価』の F 値が他の構成要素と比較して低い要因は, 学習データが少ないためと考えられる. 表 2 に示すとおり, 『指し手の評価』の解説文は 183 件で全体の 1.8%である. 判別結果を見ると, 「絶好手。」や「感触のよい桂跳ね。」のように短文で一般的な評価に関する表現が用いられている
10：https://huggingface.co/sonoisa/t5-base-japanese

9：https://github.com/TadaoYamaoka/cshogi

11：https://huggingface.co/cl-tohoku/bert-base-japanese-v2

表 5 T5 による構成要素ラベルの予測結果の分布XX
XXX 正解ラベル
XXX
予測ラベル
XX
X

指し手

指し手の

指し手

囲い・

局面の

局面の

一般

の評価

候補・比較

の説明

戦型

形勢

説明

情報

3

指し手の評価

16

2

7

0

1

3

指し手の候補・比較

3

617

31

3

3

12

2

指し手の説明

8

21

489

4

1

23

11

囲い・戦型

0

1

5

61

0

4

4

局面の形勢

1

1

1

0

30

5

2

局面の説明

4

8

36

4

7

192

16

一般情報

5

2

10

3

4

15

320

XXX

表 6 BERT による構成要素ラベルの予測結果の分布

XXX正解ラベル
XXX
X
X

指し手

指し手の

指し手

囲い・

局面の

局面の

一般

予測ラベル

の評価

候補・比較

の説明

戦型

形勢

説明

情報

指し手の評価

15

2

5

0

1

2

4

指し手の候補・比較

4

616

37

3

3

11

4

指し手の説明

9

20

475

4

1

35

15

囲い・戦型

0

1

6

61

0

3

5

局面の形勢

1

1

2

0

28

4

4

局面の説明

4

8

41

4

10

183

17

一般情報

3

4

13

3

3

14

309

場合, 比較的正しく判別できていた. 一方, 「▲ 6 四桂のキ面の一部かの違いによって区別される. T5 は『局面の説明』とズができるので思い切った指し回しである。」や「このように正しく判別したが, BERT では『指し手の説明』と誤って判別

損のない手を指す呼吸は見習いたいところ。」のように将棋特した例を以下に示す.

有の表現や遠回しの表現が含まれている場合において, 誤った•

角頭は攻めの目標になる。

判別が多かった. このような将棋特有の表現や遠回しの表現は•

もう角を逃げている余裕はない。

多様であるため, 学習においてさらに多くのデータを必要とす•

神谷は左側の金銀をうまく活用したい。

ると考えられる.

•

先手の金銀 4 枚はそれぞれが別の仕事を担当している。

T5 と BERT の F 値の差が比較的大きい『局面の形勢』と

例えば「左側の金銀をうまく活用したい。
」という解説文にお『局面の説明』に着目する. T5 と BERT による各構成要素ラベ

いて, 仮に「左側の金をうまく活用した。」ならば, 金を動かしルの予測結果分布をそれぞれ表 5, 表 6 に示す. 各表から『局た指し手に対する『指し手の説明』の解説文であると考えられ

面の形勢』は『局面の説明』との判別が難しく, T5 は BERTる. 一方, 原文は左側の金銀が上手く働いていない状態について

よりもこれら 2 つの構成要素における判別が正確であることが述べた解説文であるため,『局面の説明』に該当する. このよう分かる. T5 は『局面の形勢』と正しく判別したが, BERT では

な細かい表現の違いを考慮すべき場合において, T5 は BERT

『局面の説明』と誤って判別した例を以下に示す.

よりも正確な判別ができていたと考えられる.

•

3 二金の形が悪く、先手持ちの局面のようだ。

•

簡単に後手の勝ちというわけでもなさそうだ。

•

ただ、明快に後手がいいというわけでもないです。

•

角金を手持ちにしているので、まだ互角の形勢だろう。

例えば「3 二金の形が悪く、先手持ちの局面のようだ。
」という解説文において, BERT は「3 二金の形が悪く」から『局面の説明』と判別し, 一方の T5 は「先手持ちの局面」が文の主題

6 解説文生成
本節では, 提案手法による解説文生成の実験について述べる.

6. 1 目的

本実験では解説文生成モデルの構築を行い, 提案手法の有効性を検証する. 実験方法, 結果, 考察について順に述べる.

であることを認識して『局面の形勢』と判別したと考えられる.
このように『局面の形勢』には『局面の説明』と共通する表現

6. 2 方法が含まれるため, これら構成要素の判別には文脈から主題を正

解説文生成用コーパスを用いて, 「指し手数」, 「指し手」,

確に読み取る必要がある. こういった主題の認識が重要な場合「局面」を入力したとき「解説文」を出力するように事前学習

において, T5 は BERT よりも正確な判別ができていたと考え

言語モデル T5 を構成要素ごとに微調整する. 事前学習言語モられる.

デルは, 日本語 T5 事前学習済みモデル 12 を用いる. seed = 42

また, 『局面の説明』においても T5 は BERT よりも正確なとして 訓練 (8) : 検証 (1) : テスト (1) の割合で無作為にデー判別ができている. 『局面の説明』は『指し手の説明』との判別が難しく, これらは, 解説文で言及している対象が指し手か盤

12：https://huggingface.co/sonoisa/t5-base-japanese-v1.1

局面の説明タを分割する. 最長入力トークン数: 128, 最長出力トークン•

数: 256, バッチサイズ: 32, 学習率: 1e − 4, エポック数: 5,

BLEU スコアが高い生成文のほとんどは, 投了に関する文であった. 例えば, 「ここで藤井が投了した。
」や「この局面で桐山

top k = 50, top p = 0.92 とした.
生成した解説文は BLEU で評価する. BLEU は, Sudachi 13の投了となった。
」が挙げられる. このように人名のみが異なるを用いて分かち書きを行い, Hugging Face の evaluate を用い場合が数多くあった. 先手と後手の駒組みが同じ場合を指す先て計算する. BLEU は一般的に 4-gram で評価されることが多後同型に関する文についても正しく生成できていた. 投了や先いが, 文単位の場合は 4-gram が 1 つも一致せず, 正しい評価が後同型はある特定の条件における局面の名称なので, 囲いや戦14

行えない問題があるため [6] [7], BLEU-2 (bi-gram) を用いる.

6. 3 結型と同様と考えることができる. 駒割りに関しては「現局面の駒割りは▲金香△桂桂の交換。
」という参照文に対して, 生成文

果は「駒割りは▲銀桂香△角の交換。
」のように駒の種類が誤ってい

表 7 に自動評価指標を用いた生成文の評価結果を示す. BLEU-

2 は全て 0.1 を上回り, 『指し手の説明』, 『囲い・戦型』はそれぞれ 0.16, 0.17 と他の構成要素ラベルと比較して高いスコアとなった. 以下では, 各構成要素における生成した解説文の特徴や課題について考察する.

る場合が多かったほか,「先手陣は、しばらく囲い合いが続きそうだ。
」, 「先手陣はこれ以上堅く組む手が見えにくいようだ。
」のように内容が逆のこと述べている場合もあった.

•

局面の形勢

参照文「先手勝勢とみられている。
」に対して, 生成文「棋士表 7 BLEU による生成文の評価

室では先手が勝勢と見られている。」のように参照文と同様の構成要素ラベル

BLEU

形勢判断を含む解説文が生成できた. 一方で, 参照文「どうや指し手の評価0.10

ら先手の勝ち筋に入ったようだ。
」に対して, 生成文「どうやら指し手の候補・比較

0.11

指し手の説明

0.16

囲い・戦型

0.17

局面の形勢

0.12

局面の説明

0.12

後手の勝ちがはっきりしてきたようだ。
」のように先手と後手が誤っている文もあった. また, 参照文「形勢はまだわからない。
」
に対して, 生成文「形勢は先手勝勢。
」のようにそもそも形勢判断が間違っている文もあった. 提案手法では, 現在の「指し手数」, 「指し手」, 「局面」を入力としているが, これらでは局面評価に関わる情報が不十分であるため, 『局面の形勢』の解説文を生成するためには局面評価値をモデルの入力に与える必6. 4 考察

6. 4. 1 各構成要素の解説文の生成結果について
•

囲い・戦型

BLEU >= 0.2 (テストデータの約 26%) の場合において, ほとんどの生成文が参照文と同等であった. 条件がいくつか異なる
ものの, 提案手法は亀甲ら [14] のロジスティック回帰モデルを用いた手法よりも BLEU で高いスコアを示した. 生成文が参照
文と異なる場合を見ると「相掛かり模様に進む。
」, 「相掛かりになった。
」のような時制や「先手は矢倉を目指す。
」, 「畠山は矢倉調。」のようなモダリティ表現に課題があることが明らか
になった.

•

指し手の説明BLEU >= 0.3 (テストデータの約 9%) において, 参照文と同等に解説文が生成できた. 指し手は局面に応じて意味合いが変わるほか, 合法手は他の駒の位置によって決まるため『指し手の説明』は『囲い・戦型』よりも適切な文を生成することが難しいと考えられるが, 多様な解説文の生成ができていた. 例えば, 端歩を突くという指し手に対して「端歩を突いて様子をうかがう。
」,「端歩の打診。
」, 「端を突き越す。
」のように言い換え表現が多く見られた.

要があると考えられる.

•

指し手の評価参照文「控え室で評判のよい桂跳ね。
」に対して, 生成文「いかにも味のいい桂跳ね。」のように指し手を捉えつつ評価している文が複数あった. 『指し手の評価』について言及する場合
は局面評価値が大きく動くと考えられるので, 『局面の形勢』と同様に局面評価値がモデルの入力に必要であると考えられる.

•

指し手の候補・比較「△ 5 同銀も:::::▲同桂 で 玉 が 薄 く な る 。」, 「△ 5 五同銀は▲1 六飛で桂を取られる。」のように 1 手目の指し手は一致:::::::
しているが, 2 手目以降の指し手が一致しない場合が多く見られた. 『指し手の候補・比較』の解説文を生成するためには探索を行い, 解説文の指し手表現と対応付ける必要があると考えられる.

6. 4. 2 評価における課題
解説文と参照文を比較すると BLEU は低いが, 意味的類似度が高い例が複数あった. そのため, 評価指標の検討も必要と考えられる. 以下でいくつか BLEU による評価の課題点を述べる.
図 3 に対する参照文は「と金の遅早。
」であり, 生成文は「後手も歩を垂らす。
」である. 参照文の「と金の遅早。
」は, 2 手後に歩が成りと金になることを想定しており, 解説者の視点は未来にある. 一方で, 生成文の「後手も歩を垂らす。」は現在の視点から指し手を捉えている. どちらも△ 5 七歩という指し手に

13：https://github.com/WorksApplications/SudachiPy

対する解説としては妥当であるが, 解説者の視点が未来か現在

14：https://huggingface.co/spaces/evaluate-metric/bleu

かの違いがある. 将棋解説では, このように解説者の視点が過去・現在・未来を行ったり来たりするため, BLEU では正しく評価できない場合がある.
図 4 に対する参照文は「軽いジャブを放つ。
」であり, 生成文は「6 筋から動いていった。
」である. △ 6 五歩と後手が攻めを仕掛けた指し手に対して, 参照文は攻めを仕掛けたことを比喩で「ジャブを放つ」と表現しているが, 生成文は「6 筋から動いていった」と直接的な表現をしている. このように将棋解説文
では比喩が用いられることが多いほか, 将棋特有の言い回しもあり, 生成文の評価においてはこれらも考慮が必要である.
図 5 に対する参照文は「9 筋に応じた。
」であり, 生成文は「端歩を受けておく。
」である. どちらも将棋解説においての意味合
いは同じであるが, 既存の自動評価指標では, やはりこれらの意

図3△５七歩と歩を打った局面

味的類似度を捉えることは難しい. 将棋解説文生成における評価には, 盤面やルールの理解も必要であると考えられる.
図 6 に対する参照文は「なんと銀を見捨てて延命措置に入った。
」であり, 生成文は「玉の早逃げ。
」である. 生成文では「玉の早逃げ」と指し手を直接的に説明している一方, 参照文では「玉の早逃げ」を「延命措置」として述べている. これら文が類似していると判断するためには, やはり将棋というゲームの理解が必要である.

7 今後の展望
提案手法では, 人名を含む解説文を生成するが, 実際の対局者とは異なる人名が解説文に含まれることは望ましくなく, 生成

図4△６五歩と攻めを仕掛けた局面

文と参照文の人名が異なることで BLEU が低くなる例も多い.
そのため, 人名を「先手」や「後手」などに置換する前処理を行う必要があると考えられる. また, 生成文と参照文のモダリ
ティや時制の相違やルールに則らない指し手への言及が課題として挙げられる. コンピュータ将棋の指し手の予測確率や局面評価値など, より詳細な情報を入力特徴量として加えることを検討している. さらに, 将棋解説文生成における評価指標の開発も求められる.

8 おわりに
本研究では, 将棋解説文の構成要素を考慮した解説文生成手法を提案した. 構成要素の自動判別における実験では, F 値の

図5▲９六歩と歩を突いた局面

図6▲９八玉と玉が逃げた局面

マクロ平均 0.769 で自動分類できることを示した. また, この
結果は BERT により分類する手法に対して有意差が認められた (有意水準 1%, 両側 t 検定). 解説文生成では全ての構成要
素において, BLEU-2 の平均値が 0.1 を上回った. 指し手や駒の配置が重要な特徴となる『指し手の説明』, 『囲い・戦型』,『局面の説明』では参照文と同等の解説文が生成され, 提案手法の有効性を示した. 一方で, 探索や局面評価値が重要な特徴となる『指し手の候補・比較』や『指し手の評価』, 『局面の形勢』では正確に意味を捉えた解説文生成は難しいことを明らかにした. さらに, BLEU-2 では正しく評価できないが妥当な生成文を確認した. 提案手法では構成要素, 表現ともに多様な解説文を生成できることを示した.

謝

辞本研究の一部は，科学研究費補助金基盤研究 B（課題番号19H04420），挑戦的研究（萌芽）（課題番号 22K19822），2022
年度国立情報学研究所公募型共同研究（採択番号 22S0103）の助成を受けて遂行された．
文

献[1] Jacob Cohen. A Coeﬃcient of Agreement for Nominal
Scales, Educational and Psychological Measurement, 1960,
Vol. 20, No. 1, pp. 37–46.
[2] Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina
Toutanova, BERT: Pre-training of Deep Bidirectional
Transformers for Language Understanding, Proceedings ofConference of the North American Chapter of the Association for Computational Linguistics: Human Language
Technologies, 2019, pp. 4171-4186.
[3] Harsh Jhamtani, Varun Gangal, Eduard Hovy, Graham
Neubig, Taylor Berg-Kirkpatrick. Learning to Generate
Move-by-Move Commentary for Chess Games from LargeScale Social Forum Data, Proceedings of the 56th Annual
Meeting of the Association for Computational Linguistics,
2018, pp. 1661-1671.
[4] Fleiss, Joseph. L. Measuring nominal scale agreement
among many raters, Psychological Bulletin, 1971, Vol. 76,
No. 5, pp. 378-382.
[5] J. Richard Landis, Gary G. Koch. The Measurement of Observer Agreement for Categorical Data. Biometrics. International Biometric Society, 1977, Vol. 33, No. 1, pp. 159–174.
[6] Chin-Yew Lin and Franz Josef Och. 2004. Automatic evaluation of machine translation quality using longest common
subsequence and skip-bigram statistics. In Proceedings ofthe 42nd Meeting of the Association for Computational Linguistics, Main Volume, pp. 605–612.
[7] Graham Neubig. 文レベルの機械翻訳尺度に関する調査. 情報処
理学会研究報告 (IPSJ SIG Notes), 2013, Vol. 2013-NL-212,
No. 7, pp. 1-8.
[8] Kishore Papineni, Salim Roukos, Todd Ward, Wei-Jing
Zhu. BLEU: A method for automatic evaluation of machinetranslation, Proceedings of 40th Annual Meeting on Association for Computational Linguistics, 2002, pp. 311-318.
[9] Colin Raﬀel, Noam Shazeer, Adam Roberts, Katherine Lee,
Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, Peter J. Liu. Exploring the Limits of Transfer Learning witha Uniﬁed Text-to-Text Transformer, Journal of Machine
Learning Research, 2020, Vol. 21, No. 140, pp. 1–67.
[10] David Silver, Thomas Hubert, Julian Schrittwieser, Ioannis Antonoglou, Matthew Lai, Arthur Guez, Marc Lanctot,
Laurent Sifre, Dharshan Kumaran, Thore Graepel, Timothy Lillicrap, Karen Simonyan, Demis Hassabis. A generalreinforcement learning algorithm that masters chess, shogi,
and Go through self-play. Science, 2018, Vol. 362, No. 6419,
pp. 1140-1144.
[11] Hongyu Zang, Zhiwei Yu, and Xiaojun Wan. Automated
Chess Commentator Powered by Neural Chess Engine.
In Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, 2019, pp. 5952–5961.
[12] 石脇滉己, 荒川達也.「一見良い手」を含めた初心者向け詰将棋解説文生成の提案. Technical report, 第 34 回ゲーム情報学研究会, 2015.
[13] 金子知適. コンピュータ将棋を用いた棋譜の自動解説と評価，情報処理, 2012, Vol. 53, No. 11, pp. 2525–2532.
[14] 亀甲博貴, 三輪誠, 鶴岡 慶雅, 森信介, 近山隆. 対数線形言語モデルを用いた将棋解説文の自動生成. 情報処理学会論文誌, 2014,
Vol. 55, No. 11, pp. 1-10.
[15] 亀甲博貴，森信介. 将棋棋譜解説の自動生成，人工知能，2019,Vol. 34, No. 4, pp. 475-482.
[16] 山本一成. 人工知能はどのようにして「名人」を超えたのか？
最強の将棋ＡＩポナンザの開発者が教える機械学習・深層学習・強化学習の本質. ダイヤモンド社. 2017, 286p.