生成AIで企業レポートを効率的に活用する — RAGシステム構築のはじめ方
こんにちは、あるいはこんばんは。
この記事では、企業のESGレポートや統合報告書など、大量の情報源から必要なデータを自動で抽出して回答するRAG(Retrieval-Augmented Generation)システムを構築するための最初のステップをご紹介します。生成AIをこれから活用したい人向けの内容です。
この取り組みのきっかけ
実は、今回の取り組みはSIGNATEのコンペがきっかけでした。そこでは、「企業のESGレポートや統合報告書に含まれる情報をもとに、自動的かつ正確に回答を生成するシステム」の構築がテーマとなっていました。
背景
近年、企業の持続可能性や社会的責任への関心が高まり、ESG(環境・社会・ガバナンス)レポートや統合報告書は企業の信頼性を示す上で重要視されています。
とはいえ、これらのレポートには膨大なデータが含まれており、必要な情報をすぐに探すのは大変です。
そこで、RAGシステムを活用し、レポートから必要な情報をサクッと取り出して回答する仕組みが注目されるようになっています。
課題
今回のコンペでは、**J-LAKE(DATAZORAのKIJIサービス提供データ含む)**を使い、ESGや統合報告書関連の膨大な情報を整理・活用することが求められました。具体的には:
-
質問(
query.csv
)に対して回答を自動生成する - 回答の精度(必要な情報を正確に取り出せているか)を競う
という流れです。
さらに、**LLM(Large Language Model)**については、日本マイクロソフト社・日立製作所社からAPIを提供してもらい、複数のモデルを試すことが可能でした。
RAGシステムの概要
RAGシステムは、ざっくり言うと下記の流れで動きます。
-
文書検索
- 質問文を解析して、その答えとなる部分が含まれる候補テキストを探す
-
回答生成
- LLMを用いて、検索結果から自然な文章として回答を組み立てる
今回のコンペでも、ESGレポートや統合報告書をテキストとして扱い、特定の段落やデータを抽出して回答するという仕組みを目指しました。
使ったLLMと精度
今回の比較では下記のモデルを試しました。
- ChatGPT-4omini (Azure OpenAI)
- Qwen
- Llama
結果としては、精度は「ChatGPT-4omini > Qwen > Llama」の順という評価になりました。
もちろん、モデルの設定や文章の長さなどでも精度は変わりますが、一般的にAzure OpenAIのミニモデルが比較的安定した結果を出していた印象です。
まとめ
企業のESGや統合報告書を活用し、**自動質問応答システム(RAG)**を作る流れをざっくりと紹介しました。
ポイントは、事前にレポート全体をテキスト化し、適切な検索手法で必要な情報を取り出すというところです。
さらに、LLMで回答文を生成することで、膨大な文書から素早く有益な情報を引き出せるようになります。
これから生成AIを活用したい方は、まずは小規模データでの検索・要約の実験からはじめるのがおすすめです。コンペを通じて得られた知見を活かし、ぜひ皆さんの業務や学習にもRAGを取り入れてみてください。
以上、**「SIGNATEコンペをきっかけとしたRAGシステム構築」**の概要でした。
次回は具体的なコード例やデータの扱い方など、もう少し踏み込んだ内容をシェアできればと思います。
Discussion