🤖

ワンピースカードゲームの遊び方を教えてくれるAIチャットボット開発

1

記事を開いていただきありがとうございます。

今回は「遊び方を教えてくれるAIチャットボット開発」をテーマに「用例」と「システム構成」を簡単にご紹介させていただきます。

開発したAIチャットボットの紹介

ワンピースカードゲームでは、お客様に向けてルールを公開していましたが、網羅的にルールを記載しているため、お客様が確認したいルールを探すのが難しいという状況でした。

今回のチャットボットではRAGという仕組みを使い、AIチャットボットがユーザーからの入力に合せて適切にルールを回答するということを実現しました。

例えば、ワンピースカードゲームには「起動メイン」という効果があるのですが、自然言語でAIチャットボットに問い合わせると適切な回答が返ってきます。

このように気軽に調べられるAIチャットボットによって、お客様がワンピースカードゲームをより楽しんでいただける環境を整えています。

ONE PIECEカードゲーム公式サイト

英語版の対応

AIチャットボットの強みとして、多言語への対応が容易である点も挙げられます。

ワンピースカードゲームは欧州、米国、アジア等ワールドワイドに展開しており、遊んでいただいているお客様も世界中にいらっしゃいます。

まずは、英語版を準備して日本語と同様に自然言語でAIチャットボットに問い合わせると、適切な回答が返ってきます。

AIの特性を活かして、世界中のお客様にワンピースカードゲームを楽しんでいただける環境を整えています。

ONE PIECE CARD GAME - Official Web Site

利用者の動向

AIチャットボットを公開して1年ほどたちますが、利用回数はいくつかの山を作ってます。

この山は新しいカードが追加されるタイミングで増えており、導入の目論見通り、お客様が新しいカードが出たタイミングでお客様が遊び方を調べたいという要望に応えられていると考えられます。

システム詳細

RAGの仕組み


ワンピースカードゲームチャットボットはRAGという仕組みを使って作られています。

RAGとは、自然言語処理のモデルの一種で、情報の検索と生成を組み合わせた仕組みです。

基本的な流れは以下の通りです。RAGを使うことで、単純な生成モデルに比べて、より正確で情報量の多い回答を得ることができます。

RAGの情報フローは以下の1~3のように進みます。

  1. まず、ユーザの質問や入力に基づいて、関連する情報を既存のデータベースや知識ベースから検索します。今回はVertex AIを使い、Cloud Storageに格納しているワンピースカードゲームのルールやFAQの中から最も関連性の高い文書や情報片を見つけ出すことが目的です。
  2. ワンピースカードゲームのルール、FAQの中から検索された結果と質問文を生成AIに渡すことで、特有のナレッジに強い生成AIを作ることができます。
  3. 生成AIからお客様に回答結果を返します。

システム構成図

ワンピースカードゲームのAIチャットボットは、Google Cloud Platform(GCP)とChatGPTを組み合わせて構築されています。

検索対象データの処理と更新

AIチャットボットが回答する情報を最新の状態に保つため、以下のデータを定期的に更新しています。

  • ルールデータ
  • FAQデータ
  • カードデータ
  • 公式WEB公開情報

これらのデータは、Pythonコードを使用してテキストファイルとして保存および加工され、AIによって正確に解釈されるよう以下の処理が追加されます。

  • 表題の付加
  • 項目の付加
  • 項目名の調整

ただし、Pythonコードですべてを処理するのは難しい部分もあり、PDFについては一部手動でテキスト化対応を行っています。

精度向上のための施策

検索エンジンにはVertex AI Searchを利用していますが、データのチャンクやベクトル化にも同様のマネージド機能を活用しています。

  • プロンプト

    システムプロンプトでは、精度向上のために次の工夫を行っています。

    • 基本ルールの説明
    • カードの説明
    • サイトURLへの案内
    • 制約条件の記述
  • 検索時のクエリ拡張

    キーワード検索のヒット率を上げるため、クエリから重要なキーワードを抽出し付加しています。

  • 検索結果のマークダウン化

    検索結果からタイトルとコンテンツを抽出し、必要に応じてマークダウン形式で構造化しています。タイトルが存在しない場合は、ルールベースで付加しています。

精度の検証

学習データの精度検証には、以下のテストデータを使用しています。

  • 事前に社内で作成したもの
  • 生ログを元に作成したもの

確認方法は以下の通りです。

  • 未回答件数の計測: 回答できなかった件数を記録
  • 目視確認: 内容の正確性をチェック

これらの結果と以前のデータを比較し、リリースの可否を判断しています。

まだまだ改善の余地はありますが、AIチャットボットによってPDFからしか探せなかったルールがAIチャットボットによって問い合わせることができるようになり、お客様に楽しんでいただけるように貢献できたのではないかと思っています。

以上、AIチャットボットを開発した話でした。

本記事が、日々の業務や学びに役立つことを願っております。これからも最新のテック情報や役立つヒントを発信していきますので、よろしくお願いいたします。

1

Discussion