ChatGPTでtotoを当てる(1)
ChatGPTで皐月賞を予想しよう、みたいな記事が(悪い意味で)バズっていました。
当然ながらChatGPTのような対話型AIにこんな質問をしても全く意味がありません。これは「ChatGPTの学習データが古いから」という理由では無く、仮に最新のデータを学習したとしても「最もそれらしい回答を返す」という性質から、みんなが答えそうな一番人気の馬を答えるだけです。当然ながら一番人気の馬が勝つのであれば競馬は成り立たないので外れることが多いでしょう。
一方で一部の人はデータから馬順を予想し、大当たりはしなくともかなりの精度で当てていることは知られています。よく「外れ馬券は経費か否か」が話題になるように、機械的に当てるようなことは不可能ではないのです。
同じような勝敗予想に「toto」があります。Jリーグの勝敗予想をして当てることができれば賞金が貰える、というシステムです。よく勘違いされてますが、テレビCMなどでやっている「12億円キャリーオーバー!」とかいうのはtotoBIGになります。totoBIGは勝敗予想がランダムに行われるので実質的にただのクジになります。
さて、この記事ではtotoをChatGPTを使って正解率を上げることができないか試していきたいと思います。
知らなくてもそれなりに当てられるようにする
JリーグはJ1で18クラブ、J2で22クラブあって合計40クラブ、毎週20試合が行われます。totoではその中の13試合の勝敗を当てなければいけません。勝敗は「ホーム勝ち」「引き分け」「アウェイ勝ち」の3種類です。J1リーグについて詳しい人でもJ2リーグについてはさっぱり分からない、という人も少なくありません。そのため、例えば人気順で購入したり、現在の順位で購入したりしますが正解率は低いままです。なぜなら人気順はクラブの人気がバイアスとしてかかり、現在の順位も目の前の試合とは関係ありません。
totoはあくまで勝敗の投票です。そのためクラブのファンは大抵が勝つ方に入れます。順位もシーズン後半ならまだ使えますが、序盤だと強豪とばかり対戦していて順位が下に沈んでるだけ、というのもよくあるのです。
そうなると知らないクラブ同士の予想は運試しになってしまいます。できればここを補強して少しでも勝率を上げていきたいところです。
前提:昨年以前のデータは役に立たない
まず大前提としてJリーグのシーズン序盤で勝敗を当てるのは至難の業です。シーズンオフの間に移籍や補強が行われ、監督やコーチも入れ替わったりするので全く読めません。
現に2023シーズンも前節では圧倒的だった横浜Fマリノスと川崎フロンターレは苦戦を強いられており、J2落ちも見えていたヴィッセル神戸が無類の強さを誇っています。柏レイソルは全然勝てずに最下層に固定されていたり、J2から昇格してきたアルビレックス新潟は快進撃を遂げています。はっきり言って予測不可能です。
ChatGPTだけでなくAI系の技術を駆使してもこれを当てるのは恐らく無理でしょう。2022年までのデータを使って予測しても全く意味が無いですし、選手の移籍情報を追跡してもかなり難しいと思います。つまり、Jリーグの勝敗予想に前年以前の情報を入力してもほぼ意味がありません。
一方で当年の結果を見るとだいたいの勝敗予想はできそうです。横浜FCはここまで勝利がありません。ガンバ大阪や柏レイソルもかなり厳しい状況です。また、J1リーグで対戦する前にルヴァンカップで対戦していたり、対戦相手が他のチームと間接的に対戦しているなど、ある程度の状況は予測できます。当年のそれまでの結果の重みが大きすぎて、昨年以前のデータはお気持ち程度に過ぎないのです。
「試合のみどころ」を使った予測
上記のような事情を考えると、結局は「試合のみどころ」を使った予測がもっとも正確に状況を反映できると考えています。「試合のみどころ」とは、JリーグのWebサイトに掲載される記者による事前の解説になります。
例えば2023年4月15日に行われた川崎vs名古屋の試合は、見どころとして下記の記事があります。
この見所には今のチーム状態やこれまでの戦績、特に今シーズンに関する情報がしっかりと記述されています。例えば川崎Fの車屋が前節でレッドカードを貰ったために退場していることなどがちゃんと書かれています。これを元にしてChatGPTに聞いてみましょう。
川崎vs名古屋の結果予想
川崎と名古屋の試合予測をChatGPTに聞いてみました。プロンプトは単にサッカーの試合予測をしてほしい、という内容と「試合のみどころ」を与えた形になります。
以下に結果だけを載せます。
さて、実際の結果は1-2で名古屋の勝利でした。見事に当ててきています。単にデータだけを見ると名古屋の方が順位が上ですが、昨年までの状況や過去の対戦成績を考えると川崎Fが有利、と見る人も多かったかもしれません。ただ、負傷者が多かったり車屋が出場停止、最近の低調を考えると引き分けかな?というのが私の予想でしたが、ChatGPTの方が正解でした。
さて、ChatGPTはどの程度の自信があったのでしょうか。確認してみます。
やはりそれほど自信は無かったようです。実際に予想する場合はこの程度の自信なら「引き分け」にする選択肢もあったかもしれません。
横浜FCvs広島の結果予想
次にもう少し分かりやすそうな試合予想をしてみます。ここまで勝ててない横浜FCと絶好調の広島の対戦です。「試合のみどころ」は下記のような感じです。
パーセンテージも聞きたいので、プロンプトは下記のようにしました。
結果は次の通りです。
さて、試合の結果は0-3で広島の勝利となりました。勝敗は正解ですが、スコアは微妙な結果です。1-2だとそれなりに良い試合ですが、0-3は完敗に近い状況です。まぁ、スコアは試合状況によって結構変わるのでなんともいえませんが・・・。
自信のパーセンテージは70%と、川崎・名古屋と比べると高いですがそれでも控えめに思います。また、試合の内容もハイプレスで横浜FCのミスから得点、というのでは無く、結構堅い形で得点していました。(2点目のオウンゴールも致し方なし)
恐らく大半の予想は広島の勝利で、自信度も90%ぐらいあったと思います。それぐらい横浜FCはノーチャンスだと思われています。それに比べるとChatGPTは控え目ですが、確かにサッカーの試合は何が起きるか分からず、横浜FCも最初の得点が認められていて広島相手に引いて守れば何か起きたかもしれません。
新潟vs福岡の予想
さて、次は劇的な逆転劇となった新潟vs福岡の試合予想になります。プロンプトは横浜FC・広島と同じで、チーム名と情報だけを変えています。
試合結果は伊藤涼太郎の劇的ハットトリックで3-2の新潟勝利となりました。ただ、アディショナルに入るまでは1-2で福岡だったことを考えるとなかなか良い予測じゃないかと思います。
とはいえ外れてしまったので、ちょっとプロンプトを下記のようにしてみました。
結果は下記の通りとなります。
予想の部分は変わらずですが、外れる原因として谷口の活躍などを挙げています。ハットトリックは伊藤でしたが、谷口の活躍が光る試合でした。前半に先制したわけではないですが、試合のキーとなる部分をよく理解していると思います。
これは誰の予想なのか
この記事では「試合のみどころ」を使ったJリーグの結果予想をしてみましたが、これは一体誰の予想なのでしょうか。
当然ながらChatGPTは与えられた記事から予想したに過ぎないのでChatGPTの予想ではありません。つまり、この予想はこの記事の予想です。そして当然ですが記事を書いたのは記者なので、記者の予想でもあります。記者は記事を書く時に「こっちが勝ちます」とは書きませんが、記者も人間なので「厳しい戦いになるだろう」といった書き方や「3連勝なるか」のような書き方が予想を滲ませてしまうのです。ChatGPTを使うことでデータからは読み取りづらい情報に加えて記者の予想も反映することができます。
これは、「効率的に質の高い情報を得られる」という良い側面と「記者のバイアスに影響される」という悪い側面があります。いろんなデータを統計処理して客観的で質の高いデータを揃えるのは時間がかかりますが客観性が高くなります。一方で記事から情報を得ると効率的ですがバイアスが紛れ込みます。正解するかどうかは運の部分もありますが、次回ではこのバイアス部分をどうにか減らし、客観性の高い予想が作れないか検討してみたいと思います。
13試合の予想(有料)
さて、せっかくなので13試合全てを予想してみます。ここから先は有料コンテンツとなります。気になる人は見て下さい。はっきり言ってそんなに当たってないですが、考察を加えています。
ここから先は
¥ 300
この記事が気に入ったらサポートをしてみませんか?