将棋の解説文を自動生成するサイト「将棋山脈」を公開しました


9/3に、将棋の解説文を自動生成するサイト「将棋山脈」を公開しました。

将棋山脈(http://shogi-s.com/)

棋譜を読み込ませると以下のような感じで、

  • 一手ごとの評価値(形勢を表す数値)の推移
  • 将棋AIが示す候補手
  • 解説文(毎回ではない)

を出してくれます。

例えばこんな感じです。(2017年9月3日 NHK杯 森内俊之 九段 対 藤井聡太 四段

将棋山脈サンプル(同桂)

将棋山脈サンプル(同桂)

相手の動かした駒を取ったらどうなるかの解説。

将棋山脈サンプル(3六歩打)

将棋山脈サンプル(3六歩打)

次にどういう手が厳しいか。
この例では、△3六歩打 とされると厳しいので、「 敵の打ちたいところに打て」で、先手が▲3六歩打 とせよ、と言っています。

将棋山脈サンプル(形勢)

将棋山脈サンプル(形勢)

後手優勢のようです。

将棋山脈サンプル(詰めろ)

将棋山脈サンプル(詰めろ)

詰めろ、もしくは、放っておくと受けなしになって詰む場合に、それを解説文で表示します。

解説文のサンプルは、トップページの下の方と、一覧ページにあります。

使い方

トップページで、kif形式のファイルをアップロード、もしくは、テキストを貼り付けて送信すると、解説文生成処理が始まります。

「kif形式」というのは、将棋ソフトが棋譜を出力する際の、よくあるファイル形式の一つで、対応しているソフトは多いと思います。
また、プロの公式戦のページでダウンロードできることもあるほか、過去の棋譜を閲覧できる将棋DB2でも、「棋譜の書き出し」の項目に「KIF形式」があります。

例えば、将棋対局アプリのぴよ将棋では、対局後に
メニュー→棋譜(KIF)をクリップボードにコピー
で、KIF形式で出力したテキストをコピーできるので、これを将棋山脈のトップページで貼り付けて送信すればOKです。

どういう仕組み?

裏で、将棋AIのやねうら王を使っており、評価関数にelmoを使っています。
2017年の世界コンピュータ将棋選手権で優勝した最強のAIですが、一手あたり500ミリ秒しか処理時間を使わせていないので、評価値と候補手の算出がちょっといまいちな場合があります。
将棋山脈で将棋AIに興味を持たれた方は、こちらのページを参考に、ご自身のPCで動かしてみることをお勧めします。

上記の将棋AIに、候補手と評価値を出してもらってそれを表示するのが基本ですが、それだけだと解説と呼ぶには味気ないので、

  • 相手の動かした駒を単に「同歩」や「同銀」と取った場合の評価値とその後の候補手
  • 相手の手の後、放っておくとどういう厳しい攻めがあるか
  • 相手の手が詰めろかどうか(もしくは必至に追い込まれる筋があるか)

を調べて、表示するようにしています。

※一手当たりの処理時間は、サーバの混み具合を見て今後調整する可能性があります

どうしてこのサイトを作ろうと思ったか

藤井四段が連勝記録に並んだというニュースを見て、中学生の時以来、18年ぶりに将棋への興味が再燃したのですが、その時に、今は「将棋連盟ライブ中継」というすごいアプリがあることを知りました。

プロ棋士の対局全てに、1手ごとに解説をつけていて、それをリアルタイムで観戦できるという、運営に相当な手間をかけているアプリです。

ここまでのクオリティは当然無理だとしても、自分の対戦にもそれっぽい解説をつけてくれるサービスがあったら面白いんじゃないかな、と思って作った次第です。

解説文の質については、もうちょっとがんばりたいところが色々あるので、そのうち改善していきたいと考えています。

Category: 将棋 | Tags: