OpenAIの大規模言語モデルを活用した開発事例
株式会社データスタジアム様
課題/お問い合わせ背景
これまでも自社開発の様々なツール提供は行なってきているものの、より簡単に分析をできるような仕組みを検討されており、またデータ基盤と大規模言語モデルの掛け合わせでの価値提供にご興味があり、Hakkyのセミナーにご参加いただいた
テレビ局様とのお取り組みの機会があり、野球に関するデータをチャットボット形式で取得できるようなツールを開発したいと考え、取り組みを実施することになった
ポイント
データ分析のリテラシーを問わず 誰でも利用可能なChatBotの構築 テキスト形式で簡単に欲しい情報を適切な形で表示できるため、難しい分析指示やデータ理解が不要に。アウトプット結果に関する補足説明までをChatBotでカバー。 | プロンプトエンジニアリングによる 使いやすさの向上 例えば表記揺れの修正や、ランキング集計時の同率順位の処理など、使いやすさを重視し、痒いところにも手が届く分析の補助機能を搭載。 | Google Cloud Platformで プロダクション環境の構築 データテーブル構築からデプロイまでをGoogle Cloud Platform上で完結し、チャットボットをクラウド上のアプリとして提供。データ更新マニュアル等も併せて提供し、運用の自走をサポート。 |
事例の詳細
①要件定義
データスタジアム様とテレビ局様とのお打ち合わせの中で決まっていた要件は以下の通りでした。
ChatGPTのように、質問を投げたら野球成績に関する回答を返してくれる仕組みを想定
取得したい情報の種類や、結果の表示方法はある程度イメージがある(表形式、等)
取り扱うデータに関する概要は以下
分析対象となるデータ:スコアブックから取得できるデータ(試合結果、出場選手、成績、等)
データの切り口:大会通算成績、チームごとのランキング、選手ごとのランキング、全打席結果
データ項目:打者(打数、安打、2塁打、3塁打、等)、投手(防御率、投球回、被安打、被本塁打、等)
納期は1ヶ月程度
これらをふまえ、以下の3つの切り口から要件定義のご相談とご提案をいたしました。
① 制作現場からのご要望について
データ集計の観点のリストアップのご依頼と、それぞれの優先度の確認
ほか、追加要件の確認
チャットボットの集計結果データをエクセルにコピーできるようにする要件を追加
② システム構成について
運用開始までの期間が短く、技術検証の意味合いが強いプロジェクトであることをふまえ、Google Cloud Platform上で完結するシステム構成をご提案
将来的なシステム移管なども考慮したうえで、第一フェーズとしての本案件とする方針で合意
③ データ構造について
事前にいただいたサンプルデータについてHakkyで技術検証を実施
その結果をふまえ、大規模言語モデルが性能を発揮しやすいデータ構造を改めてご提案
②システム開発
OpenAIが提供するAPIのうち、最新モデルであるgpt-4を使用してChatBotの構築を行いました。
ユーザーが自然言語(テキスト)で質問をすると、ChatBotを通じてOpenAIのgpt-4にプロンプト(*)が飛びます。
ここで、問いに回答するためにはデータの取得が必要かどうかを大規模言語モデルが判断し、不要となった場合は適切な回答をテキストでユーザーに戻し、必要となった場合はSQLが生成され、BigQueryから必要なデータを抽出する仕組みになっています。
(*)プロンプト:ユーザーからの質問テキストに加え、これまでのチャット履歴や過去のBigQueryからのエラーメッセージ等、大規模言語モデルが適切に文脈を理解するために必要な情報を集約したテキストデータを指す
このプロンプトをいかに調整できるかがキーとなり、大規模言語モデルの細かい動作を制御するためにプロンプトエンジニアリングを行います。
表記揺れ
入力:「Hakkyの試合結果を教えて」
解釈:「チームHakkyの試合結果を教えて」
デフォルト値の設定
入力:「打率の良い選手を教えて」
解釈:「規定打席数を10としたときに打率の良い選手を教えて」
これらの補助的情報があるかないかで、適切な回答が得られるかどうかが左右されます。
チャットボット自体については、ベースとなる仕組みを早期に完成させ、早い段階からデータスタジアム様に実物を触っていただき改善案を双方に提示することで動作イメージのすり合わせもすることができ、調整を重ねて精度向上を図りました。
③レポーティング
最終的なチャットボットの納品と併せて、今後運用を自走できるように2つのドキュメントをご用意しました。
データ更新マニュアルとスクリプト
ChatBot作成時には過去の試合データしか存在しなかったため、今後新たにデータが増えていった際のデータテーブルの更新作業がスムーズにできるよう、マニュアルとスクリプトをご提供
システム概要資料
システム構成に関する詳細説明や操作方法を記載した、概要資料をご提供
今後の展望
今回は技術検証としての側面もあったため要件定義から実運用まで約1ヶ月間という短期間でのお取り組みとなりましたが、将来的には様々な展開の可能性のある試みであるということが見えた、実りあるプロジェクトとなりました。
技術的な展開
データの集計だけでなく、制作現場において「どんなデータを中継で出すと面白いか」等のアイデアの創発を促すような機能の追求
野球というドメインに特化した大規模言語モデルを育てていく
将来的なシステム移管
ビジネス的な展開
分析対象をプロ野球やMLBなどにも広げて事業拡大に繋げていく
大規模言語モデルの他事業での応用
編集後記
せっかく便利な仕組みを作ってもユーザーリテラシーの問題で使いこなせなかった、というのはよくあるケースです。
本事例では大規模言語モデルの技術を活用することによって、データスタジアム様が取り扱っている詳細なスポーツデータを、データ分析に関するナレッジがなくても扱えるようなチャットボットの形式で実装することができた、まさに大規模言語モデルならではのお取り組みとなりました。
Hakkyは、データ活用により自社のプロダクトやサービスの価値向上を目指す企業様と日々伴走しております。
そもそもデータを収集・蓄積する基盤がない、データを蓄積してはいるが使い方が分からない、などのお悩みがございましたら是非一度Hakkyにご相談ください。
株式会社データスタジアム様ご紹介
2001年の設立以来、Jリーグ・プロ野球・B.LEAGUEなどのデータを取得・分析・蓄積し、スポーツ団体やチーム・クラブ・選手に対して強化や戦術向上のためのソリューションを提供しています。
また、ファンやメディアに対しても様々なデータやデータを活用したエンターテインメントコンテンツを提供し、スポーツの新しい楽しみ方を提案しています。
Comments