フォーム読み込み中
このブログでは、RAG(Retrieval-Augmented Generation)の精度に困っている方へ一つの解決策を提案します!
生成AIの回答精度を向上させるための有効な手段として注目されているのがRAGですが、身の回りにあるデータには非構造化データが多くありますが、非構造化データを元にした回答には間違いが多くある傾向があります。
この非構造化データを元にした回答に誤りが多い課題に対して、RAGで"Q&A表" を活用することで、難解な非構造化データもクリアに解読し、より確実に情報を探し出せるようになります。
検証結果も交え、具体的に紹介しますので、RAGの活用幅拡大のきっかけになれば幸いです。
生成AIは、さまざまな分野で積極的に活用されるようになっています。特に、企業内の文書検索や顧客対応のチャットボットなどの業務においては、RAG(Retrieval-Augmented Generation)が注目を集めており、その導入が進められています。しかし、通常のRAGでは求められる高い精度に到達することが難しいという課題があります。
本稿では、RAGの回答精度の課題に注目し、その解決策の一つとして、オリジナルデータに加えて "Q&A表"(以下、Q&A表) を活用することで、回答精度を上げることができます。その方法について具体的に解説していきます。
はじめに、本稿で使用するキーワードについて説明します。
RAG(Retrieval-Augmented Generation)は、情報検索と文章生成の2つの要素を組み合わせることで、膨大なデータセットから正確な情報を抽出し、それに基づいて適切な文章を生成します。これにより、モデルを再トレーニングすることなく、特定の分野や組織の内部ナレッジベースの提供が可能になります。
Vertex AIは、Googleが提供する統合型の人工知能プラットフォームで、開発者がモデルを容易に構築、管理、スケーリングできるように設計されています。これにより、ビジネスの規模や目標に関わらず、短期間で高度なシステムを実装することが可能となります。
RAGは、企業内の社内文書検索やチャットボットの開発において非常に有用な技術であるため、より高い回答精度を実現したいとのニーズが存在します。しかし、通常のRAGで、この要求される高い回答精度に到達することが困難であるという課題があります。
この原因の一つとして挙げられるのが、参照するドキュメントのデータ構造です。
例えば、回答生成に利用したいデータが複雑な文章や画像を含む非構造化データである場合、RAGによるドキュメントからの情報抽出が正しくできない場合があります。この場合、RAGによって生成AIに正しい情報を渡すことができず誤った回答生成が行われます。
この課題を解決するために、複雑なデータ構造を持つオリジナルのデータから「質問」と「回答」の形式で構造化した「Q&A表」を作成し、RAGの精度向上に取り組みました。
Q&A表は、オリジナルのデータから、主要な質問とそれらの回答をCSVファイルとして生成します。このQ&A表を用いることで、ナレッジベースを検索する場合に、オリジナルのデータに加え、構造化されたデータから検索を行うことができるため、正しい情報が抽出できる可能性が高くなります。
Q&A表の作成には、マルチモーダルなデータに対応したGemini 1.5 Proを使用し、オリジナルのデータに基づく大量のQ&Aを素早く作成することができます。Gemini 1.5 Proは、非構造化データから情報を正確に抽出することができるため、RAGに必要な構造化データ(Q&A表)の作成に役立ちます。
今回はGoogle CloudのVertex AIを用いて検証を行います。まずは、Q&A表を作成します。
また、RAGの構築について方法は過去の記事「ノーコードでVertex AI Search を利用してGoogle サイトでRAG構築してみた」にて紹介していますので合わせてご覧下さい。
以下の画像は「2024年3月期 投資家向け説明会」のプレゼンテーションのイメージになります。
また、以下の画像は作成したQ&A表の抜粋になります。
それぞれ質問と回答がセットになったQ&A表となっています。
Q&A表の有無によるRAGの精度検証を行います。モデルは Gemini 1.5 Proを利用しました。
評価の方法として、Q&A表がない場合に正しい回答が得られなかった質問について、回答精度が上がるか評価を行いました。
質問①「2023年度の でんき の売上高は?」
質問①「2023年度の でんき の売上高は?」という質問に対し、正しい回答は「2900億です」となります。
オリジナルデータの中では、以下のように記載されています。
まずQ&A表がない場合の回答がこちらです。
上記の回答では数字の読み取りができず正しく回答できていません。
参照している非構造化データを正しく読み取れていないことが原因と考えられます。
次に、Q&A表を用いた場合の回答は以下のとおりです。
Q&A表をした場合の回答は、「2900億円」を含む正しい回答が確認できます。
上記の様にQ&A表を用いた場合、非構造化データの情報を正しく抽出できているため、正しい回答が得られることがわかります。
質問②「2023年度のサービスAの登録ユーザ数は?」
質問②「2023年度のサービスAの登録ユーザ数は?」という質問に対し、正しい回答は「6404万人」となります。
オリジナルデータの中では、以下のように記載されています。
まずQ&A表がない場合の回答がこちらです。
上記の回答は「6107万人」とFY23 Q3の登録ユーザ数を回答しています。こちらは非構造データの読み取りに失敗しているためと考えられています。
次に、Q&A表を用いた場合の回答は以下のとおりです。
こちらも同様にQ&A表を活用した場合は、「6404万人」と正しい回答をしていることが確認できます。
2件のケースで評価をしてみましたが、いずれの場合もQ&A表を用いたケースで質問に対して正確な回答ができるという結果が出ました
今回紹介したQ&A表を利用したアプローチは、RAGの精度向上に有効であることが確認できました。
非構造化データであっても、生成AIを利用し、非構造化データから構造化データを簡単に生成することが出来ました。
さらに、その構造化データを参照データとして利用することで、これまで課題となっていたRAGの精度が上がり、活用範囲がが広がる可能性が確認出来ました。
ただ、Q&A表の作成は大量のデータを用いる場合においては、時間のかかる作業となります。ソフトバンクでは、自動的にQ&A表に生成する仕組みも開発しています。
ぜひお気軽にお問い合わせください。
Vertex AI Search を使って社内文書を検索する生成 AI を構築してみませんか?
ソフトバンクのエンジニアが構築をサポートします。
Vertex AI DIY プランでは、以下の3つのことをご体験いただけます。
詳細は、関連サービスにある「Vertex AI DIYプラン」をご確認ください。
Vertex AI Search を使って社内文書を検索する生成AIを構築してみませんか?
ソフトバンクのエンジニアが構築をサポートします。
Google の生成AIの導入を考えている方はもちろん、どのようなものか確認したいという方でもご活用いただけます。
Looker は定義から集計、可視化の一連のデータ分析プロセスをカバーする BI ツールを超えるデータプラットフォームです。ソフトバンクは、顧客のニーズに合わせて柔軟なサポートを提供し、Looker を活用したデータドリブンな企業変革を支援しています。
Google サービスを支える、信頼性に富んだクラウドサービスです。お客さまのニーズにあわせて利用可能なコンピューティングサービスに始まり、データから価値を導き出す情報分析や、最先端の機械学習技術が搭載されています。
MSP(Managed Service Provider)サービスは、お客さまのパブリッククラウドの導入から運用までをトータルでご提供するマネージドサービスです。
条件に該当するページがございません