■技術解説■ 生成AIのハルシネーションを減らす RAG。図表データまで特定できる"企業向けRAG"とは?(後編)
生成型AIのハルシネーションを減らす手段としてRAG(Retrieval Augmented Generation : 検索拡張生成)が注目されていますが、複雑な表やチャートなどを解釈できるRAGはまだ少数です。
1回目の記事では、RAGの概念、仕組み、高性能な検索機能の重要性について簡単にご紹介しました。(RAGで実現できることや基本的な仕組みについて知りたい方は、ぜひ記事前編をご覧ください!)
今回は、企業内に存在する複雑な文書に含まれる表やチャートなどを解釈し、適切な答えを見つけ出すRAGの仕組みについて、具体的な例も交えてご紹介します。
"企業向けRAG"の必要性
最近、RAGの仕組みを採用した回答生成ツールを提供する企業が増えています。しかし、RAGが実装されていれば何でも良いわけではありません。
企業が業務で利用している資料は、図表が多く含まれていたり、ページ数も多く複雑です。
企業が利用するドキュメントは、一般的なRAGの対応可能な範囲を超えていることも多く、質問に関連する情報を連携しているにも関わらず、誤った回答を生成したり、該当がないと回答することは珍しくありません。
RAGを実装していても、正しく回答できるツールと回答できないツールがあるのは、なぜでしょうか?
これは、RAGの検索機能(Retriever)の検索精度に関係があります。事前に適切なドキュメントを連携していたとしても、正しく検索し情報を特定できなければ、正しい回答を生成できないからです。
表形式に対応できるRAGとは
検索精度の違いがどのように回答の差を生み出すのでしょうか?
実際に、一般的な生成AIアプリと、企業向けのRAGが実装された生成AIアプリを比較して見てみましょう。
検証の基本情報
- 対象のドキュメント
- 2024年2月 観光庁発行「宿泊旅行統計調査(2023年・年間値(速報値))」
- 比較アプリ
- 一般的な生成AIアプリ
- OpenAI 「ChatGPT」、LLMはGPT-4を選択
- 企業向けRAGが実装された生成AIアプリ
- Allganizeの生成AI・LLMアプリケーションプラットフォーム "Alli LLM App Market" の「回答自動生成アプリ」、LLMはGPT-4を選択
- 比較方法
- 事前に上記の対象ドキュメントを含む複数のPDFを5つ連携した状態で、対象ドキュメントに関連する質問を行う。
- 事前連携するドキュメントは、それぞれのツールで全く同じもの。
- 質問への回答結果の差異を比較。
ChatGPTは、ドキュメントから回答できる有償バージョン(GPT-4)を利用しています。条件を揃えるために、Alli LLM App MarketのLLMモデルはOpenAIのGPT-4を選択しました。
それぞれの回答結果
資料の中には、宿泊施設種類別の稼働率が都道府県ごとに記載されていますので、以下のような質問をそれぞれ行いました。
質問:「2023年の大阪府のビジネスホテルの稼働率を教えてください。」
正解データ:66.6%
どちらも、事前に「宿泊旅行統計調査(2023年・年間値(速報値))」のPDFデータを連携し、対象のドキュメントを指定した上で同じ質問を行いました
結果として、ChatGPTは正しい情報を見つけることができませんでした。
一方、Alli LLM App Market の「回答自動生成アプリ」に同様の質問をしたところ、「2023年の大阪府のビジネスホテルの稼働率は66.6%でした。」と正確な情報で回答を行いました。
以上のように、Alli LLM App Marketは、正しい情報を特定して回答を生成しました。
Allganize の "Alli LLM App Market" が表データから正しく回答できた理由
表形式をそのまま認識する技術(特許申請中)
表形式からの検索は難易度が上がる傾向にあり、上記のように結果に差が生まれました。
AllganizeのRAGが表形式のデータの中から適切に情報を特定できたのは、理由があります。
私たちは、企業利用を前提に表データに強い仕組みをRAGに実装しています。
例えば、ドキュメントに含まれるテーブル形式の情報を崩さず認識する技術がその一例です。
テーブル情報をマークダウン形式に変換する技術を実装しており、これは特許申請中のAllganize独自技術です。
先程の検証データを例に見てみます。
表が長いため一部割愛しますが、先程のPDFに記載されていた宿泊施設タイプ別客室稼働率の表は、以下のようにマークダウン形式に変換します。
マークダウンに変換したテーブル情報は、LLMに連携するプロンプトにも反映します。
さらに、ヘッダーが複数ある複雑な表の場合には、テーブルを自然言語に変換するプロセスも設けています。
自然言語に変換することにより、プロンプトの最大長を超えるような表や、テーブルのヘッダーが中間ごとに混ざっているような複雑な表データの情報を認識しやすくなり、回答品質の向上に繋がります。
個別の精度向上も可能なAllganizeのRAG
また、AllganizeのRAGでは、検索(Retriever)をお客様の環境ごとに最適化し精度向上を実現することができます。
回答生成結果にフィードバックを与えることで生成内容を調整する技術もAllganizeの独自技術として有しており、特許を申請しています。
このように、Allganizeは企業における生成AI活用における企業の様々な状況に対応できるよう、RAGをはじめ技術を発展させています。
堅実な企業向けRAGの活用をご検討されていらしゃる方、今お使いの生成AI・LLMソリューションでの業務適用に課題を感じていらっしゃる方は、お気軽にAllganizeまでお問い合わせください!