曲がりなりにも「否定表現」を実用している自動将棋解説システム。

 本日の日記は、コンピュータ将棋の技術を応用した自動将棋解説についての話である。また、「ない」という否定表現についての話でもある。なお、この話は半年くらい前から書こうと思っていたものなのだが、忙しくて書きそびれていた。

 さて、一年くらい前からだと思うが、twitter上でコンピュータ将棋が人間のタイトル戦の対局の形勢判断を呟き始めた(@gpsshogi)。例えばこのような具合である。

[(151) ▲3三馬] 645 △同歩▲8六銀△6四角▲7五桂△4二角▲同飛成△6九飛▲8三香成△同金▲同桂成△同銀 (45sec)

[(183) ▲8三桂不成] -1702 △同金▲7三桂成△同金▲7五歩△6四桂▲7六角△8五歩▲同角△8四歩▲7四銀△8五歩 (16sec)

 最初に何手目の着手であるかが書かれており、次に着手された手が書かれている。その次が評価値であり、プラスなら先手優勢、マイナスなら後手優勢である。以下、コンピュータの読み筋が連なっている。最後の括弧内の秒数はよく分からない。

 これにより、将棋の素人であってもどちらが勝勢であるのかが一目瞭然となった。また、次のように呟くこともある。

[(184) △8三金] * 王手を回避して,先手玉は△8五歩(以下)の詰めろ.

「詰めろ」というのは、何か対策を打たないと詰んでしまう状態のことである。この「詰む・詰まない」の解説は、将棋上級者にとっても役に立つ情報である。私はかなり弱い部類に入る将棋観戦者であるが、この呟きが始まってから、格段に将棋観戦が楽しくなった。なぜ人間(プロ棋士)がその手を指したのかといったことが分かりやすくなったからである。

 さて、本題はここからである。半年以上前の話であるが、私は以下の自動解説を見て驚愕した。

[(172) △5三馬] * 先手玉は危険になってきたが詰めろではない. 持駒から角を渡すと先手玉に詰が発生.

 驚くべきフレーズは「詰めろではない」である。一般に人工知能に「ではない」といった否定表現を使わせるのは難しい。例えば、人間がコンピュータに「これは詰めろですか?」と訊いて「いいえ、詰めろではありません」と答えるのなら簡単である。でも、人間がそう訊ねたくなる状況であると推測して「詰めろではない」と教えさせるのは大変なのである。「ではない」を使うには、空気を読まねばならない。

 適切なタイミングではない否定表現の例を挙げるのは簡単である。冷蔵庫の中をコンピュータに見せて「ここには鉛筆がない」と言わせたり、何かの日本語のウェブページを見せて「これはギリシア文字ではない」と言わせたりといった具合である。必要とされていない否定表現を大量生産するのは容易だが、必要とされている否定表現を上手く作るのは難しいのである。将棋の例に戻すと、最初の一手目から「これは詰めろではない」とコンピュータに言わせるのは適切ではない。

 この場合、コンピュータ将棋であるからおそらくは比較的簡単に適切なタイミングで否定表現を使うことができているが、一般的には驚くべきことである。