【2024年版】ChatGPTにプロ野球のオーダーを組ませてみた

2024/12/20に公開

背景

近年スポーツの世界でもAIやデータ分析が浸透してきているのを皆さんご存知ですか?

私はプロ野球、特に読売ジャイアンツが好きでよくテレビ中継を見ているのですが、過去のデータをもとに最適な配球を予測するAIキャッチャーというものが中継で流れてきたのが非常に印象に残っています。
参考:野球中継の価値を高めるデータの力 ──AIがバッテリーの配球を算出する「AIキャッチャー」

また、2023年に開催されたWBCでは大谷翔平選手などの活躍で日本が14年ぶりの世界一を果たしましたが、その裏にはデータアナリストの支えもあったようです。
参考:侍ジャパンを“データ”で支えた男たち。アナリストがマイアミで見た頂(いただき)の光景

そんな訳でAI/データサイエンスの観点で野球について考えてみたいと思いつつ、残念ながら私自身が非エンジニアでデータサイエンスの知識も乏しく...。
まずはサクッとできそうなことからやってみようということで、今回はChatGPTのGPTsの機能を使い、2024年の成績をもとにプロ野球のオーダーを出力するGPTを作成してみました。

GPTの構成

チャット画面

プロンプト

  • 知識やアクションは利用せず、機能は「ウェブ検索」のみ有効にしました
  • 該当球団の選手のみでオーダーを組むよう工夫しました
    • #指示に各球団の正式名称、WebサイトのURL(今回は日本野球機構の公式サイト)を明記
    • #出力ルールに該当球団のWebサイトに存在しない選手をオーダーに含まないよう明記
  • 各リーグのルールに沿って出力するよう#出力ルールに明記しました
    • セ・リーグ:指名打者制が無いので投手を除く8名のオーダー
    • パ・リーグ:指名打者制なので指名打者を含めた9名のオーダー
  • 今回のオーダーの組み方は、一般的(と思われる)上位が出塁して中軸で得点するパターンで考えました
    • 1,2番は出塁や走塁に関する指標を重視
    • 3,4,5番は打力に関する指標を重視
    • 6,7,8,9番は出塁や長打に関する指標
#指示
・ユーザーは以下プロ野球12球団のうち任意の球団名の1つを入力します
 読売ジャイアンツ
 阪神タイガース
 横浜DeNAベイスターズ
 広島東洋カープ
 東京ヤクルトスワローズ
 中日ドラゴンズ
 福岡ソフトバンクホークス
 北海道日本ハムファイターズ
 千葉ロッテマリーンズ
 東北楽天ゴールデンイーグルス
 オリックス・バファローズ
 埼玉西武ライオンズ
・以下の各球団の2024年の個人打撃成績のWebサイトをもとに、ユーザーが入力した球団の最も得点能力が高いオーダーを出力して下さい
 読売ジャイアンツ:https://npb.jp/bis/2024/stats/idb1_g.html
 阪神タイガース:https://npb.jp/bis/2024/stats/idb1_t.html
 横浜DeNAベイスターズ:https://npb.jp/bis/2024/stats/idb1_db.html
 広島東洋カープ:https://npb.jp/bis/2024/stats/idb1_c.html
 東京ヤクルトスワローズ:https://npb.jp/bis/2024/stats/idb1_s.html
 中日ドラゴンズ:https://npb.jp/bis/2024/stats/idb1_d.html
 福岡ソフトバンクホークス:https://npb.jp/bis/2024/stats/idb1_h.html
 北海道日本ハムファイターズ:https://npb.jp/bis/2024/stats/idb1_f.html
 千葉ロッテマリーンズ:https://npb.jp/bis/2024/stats/idb1_m.html
 東北楽天ゴールデンイーグルス:https://npb.jp/bis/2024/stats/idb1_e.html
 オリックス・バファローズ:https://npb.jp/bis/2024/stats/idb1_b.html
 埼玉西武ライオンズ:https://npb.jp/bis/2024/stats/idb1_l.html

#出力フォーマット
| 1番 | 選手名 | 打率:xxx | 長打率:xxx | 出塁率:xxx |
| 2番 | 選手名 | 打率:xxx | 長打率:xxx | 出塁率:xxx |
| 3番 | 選手名 | 打率:xxx | 長打率:xxx | 出塁率:xxx |

#出力ルール
・以下セ・リーグに属する球団の場合は投手を除いた8名の選手のオーダーにすること
 読売ジャイアンツ
 阪神タイガース
 横浜DeNAベイスターズ
 広島東洋カープ
 東京ヤクルトスワローズ
 中日ドラゴンズ
・以下パ・リーグに属する球団の場合は投手を除き、指名打者(DH)を含めた9名の選手のオーダーにすること
 福岡ソフトバンクホークス
 北海道日本ハムファイターズ
 千葉ロッテマリーンズ
 東北楽天ゴールデンイーグルス
 オリックス・バファローズ
 埼玉西武ライオンズ
・オーダーについて、守備位置毎の選手の人数は以下に従うこと
 セ・リーグ
 捕手:1
 内野手:4
 外野手:3
 パ・リーグ(指名打者は守備位置に関係なく選択可能)
 捕手:1
 内野手:4
 外野手:3
 指名打者:1
・オーダーは選手の重複が無いようにしてください
・入力された球団の2024年の個人打撃成績のWebサイトに存在しない選手はオーダーに含めないで下さい(従わない場合は罰を与えます)
・オーダーは日本語で出力してください

#オーダーの組み方
・各選手の以下項目を参考にしてください
 打席/安打/本塁打/打点/盗塁/四球/打率/出塁率/長打率
・前提として、打席が多い選手を優先的に選択してください
・1,2番は以下項目を重視してください
 安打/盗塁/四球/打率/出塁率
・3,4,5番は以下項目を重視してください
 安打/本塁打/打点/打率/長打率
・6,7,8,9番は以下項目を重視してください
 本塁打/打点/四球/出塁率/長打率

出力品質

12球団全て見ていくのは大変なので、今回は「福岡ソフトバンクホークス」と「読売ジャイアンツ」の2球団に絞って試してみました。
また、出力の揺れ具合も確認するため、両球団とも3パターンずつ出力しています。

福岡ソフトバンクホークス

パターン1

打順 選手名 打率 長打率 出塁率
1番 周東 佑京 .269 .341 .323
2番 今宮 健太 .262 .372 .331
3番 近藤 健介 .314 .521 .439
4番 栗原 陵矢 .273 .471 .337
5番 中村 晃 .256 .372 .317
6番 甲斐 拓也 .256 .372 .317
7番 川瀬 晃 .261 .304 .295
8番 川村 友斗 .268 .390 .336
9番 指名打者 - - -

パターン2

打順 選手名 打率 長打率 出塁率
1番 周東 佑京 .269 .341 .323
2番 今宮 健太 .262 .372 .331
3番 近藤 健介 .314 .521 .439
4番 栗原 陵矢 .273 .471 .337
5番 ホセ・オスナ .250 .400 .300
6番 甲斐 拓也 .256 .372 .317
7番 川村 友斗 .268 .390 .336
8番 川瀬 晃 .261 .304 .295
9番 指名打者 - - -

パターン3

打順 選手名 打率 長打率 出塁率
1番 周東 佑京 .269 .341 .323
2番 今宮 健太 .262 .372 .331
3番 近藤 健介 .314 .521 .439
4番 栗原 陵矢 .273 .471 .337
5番 柳田 悠岐 .280 .500 .360
6番 中村 晃 .265 .400 .330
7番 甲斐 拓也 .256 .372 .317
8番 川瀬 晃 .261 .304 .295
9番 指名打者

感想

  • 全パターンとも指名打者が無しになっているため、ここの選択ロジックの改善は必要
  • 該当球団の選手のみできちんとオーダーが組めている
  • 一部選手の成績でハルシネーションが起きていた
    • パターン1:中村選手の成績がWebサイトと異なっている、かつ甲斐選手と同じ
    • パターン2:投手のオスナ選手が選出されており、成績もWebサイトと異なっている
    • パターン3:中村/柳田選手の成績がWebサイトと異なっている
  • 1,2番は打席数が多く、出塁率も3割台の周東/今宮選手が選出されており妥当
  • 3,4,5番は本塁打や打点の高い近藤/栗原選手が選出されているのは妥当だが、本塁打と打点がチームトップの山川選手が選出されていないのは疑問(唯一打率が低いのでそこの影響か?)
  • 6番以降は長打率や出塁率の高い甲斐選手が選出されているのは妥当だが、打席/打率/長打率/出塁率が比較的高い柳田/牧原選手などが選出されていないのは疑問
  • 全体的に見るとチームの主力メンバーと呼ばれている周東/今宮/近藤/栗原/甲斐選手が選出されているので、ある程度いい具合にオーダーは組んでくれる印象

読売ジャイアンツ

パターン1

打順 選手名 打率 長打率 出塁率
1番 吉川 尚輝 .287 .377 .341
2番 坂本 勇人 .238 .327 .286
3番 丸 佳浩 .278 .396 .360
4番 岡本 和真 .280 .501 .362
5番 大城 卓三 .254 .346 .330
6番 オコエ 瑠偉 .261 .391 .309
7番 浅野 翔吾 .240 .404 .282
8番 門脇 誠 .243 .274 .319

パターン2

打順 選手名 打率 長打率 出塁率
1番 吉川 尚輝 .287 .377 .341
2番 坂本 勇人 .238 .327 .286
3番 丸 佳浩 .278 .396 .360
4番 岡本 和真 .280 .501 .362
5番 オコエ 瑠偉 .261 .391 .309
6番 大城 卓三 .254 .346 .330
7番 浅野 翔吾 .240 .404 .282
8番 門脇 誠 .243 .274 .319

パターン3

打順 選手名 打率 長打率 出塁率
1番 吉川 尚輝 .287 .377 .341
2番 坂本 勇人 .238 .327 .286
3番 丸 佳浩 .278 .396 .360
4番 岡本 和真 .280 .501 .362
5番 オコエ 瑠偉 .261 .391 .309
6番 大城 卓三 .254 .346 .330
7番 門脇 誠 .243 .274 .319
8番 岸田 行倫 .242 .331 .287

感想

  • 該当球団の選手のみできちんとオーダーが組めている
  • パターン3は捕手の大城/岸田選手が選出されているので本来はルールに従っていないはずだが、大城選手は今シーズン1塁でも出場していたのでもしかしたらそこを考慮している可能性あり
  • 1,2番は打席数が多く、出塁率も比較的高い吉川/坂本選手が選出されており妥当
  • 3,4は長打率や打点の高い丸/岡本選手が選出されているのは妥当
  • 6番以降も打席数/出塁率などが高い大城/門脇選手が選出されており妥当
  • 打点や長打率が高く、極端に低い指標も無いヘルナンデス選手が選出されていないのは疑問
  • 全体的に見るとチームの主力メンバーと呼ばれている吉川/坂本/丸/岡本選手が選出されているので、ある程度いい具合にオーダーは組んでくれる印象

まとめ

今回は少し抽象的な内容でオーダーを組むよう指示しましたが、全体的に主力選手がきちんと選出されており、ある程度現実と近い内容になっている印象です。特に読売ジャイアンツのオーダーに関しては、ファン目線でも現実的にこのオーダーで組んでも大きな問題は無いと思います。
ただし、実際オーダーを組む際は相手投手との相性や選手の調子の良し悪しなども考慮することが多いので、その観点ですともっと違うオーダーになってくると思います。

オーダーには絶対的な正解がある訳では無いですが、以下の項目は今後取り組んでみたいと考えています。

  • 本プロンプトは一から作成したので、キャンバス機能で作ったGPTと比較してみる
  • 成績の一覧をCSV形式にして知識ファイルとして読み込ませたGPTと比較してみる
  • データサイエンスの観点で他のオーダーの組み方の検討
Aidemy Tech Blog

Discussion