概要
https://zenn.dev/knowledgesense/articles/93a888176c399e
詳細内容
## RAGは数値を正しく認識できるのか?ナレッジセンス - 生成AI・RAGの知見共有ブログ
https://zenn.dev/knowledgesense/articles/93a888176c399e
RAGは、ユーザーが求める数値的な条件を正確に認識できないことが実験により判明し、その具体的な限界と対策が明らかになりました。
**Content Type**: 🔬 Research & Analysis
**Scores**: Signal:4/5 | Depth:4/5 | Unique:4/5 | Practical:5/5 | Anti-Hype:5/5
**Main Journal**: 86/100 | **Annex Potential**: 86/100 | **Overall**: 88/100
**Topics**: [[RAG, Embedding Models, Numerical Processing, LLM Limitations, Information Retrieval]]
本記事は、RAGがユーザーの質問に含まれる数値条件をどの程度正確に認識できるかを検証した論文を紹介しています。RAGは意味的な類似度に基づいて情報を検索しますが、数値は単体で意味的な情報を持たないため、エンベディングモデルによる数値の大きさや比較の認識が困難であるという課題意識が提示されています。
実験では、「数値条件を含む質問文 (Q)」、「条件を満たす回答文 (A+)」、「条件を満たさない回答文 (A-)」の3種類の文章を用意し、エンベディングモデルでベクトル変換後のQとA+, A-の類似度を比較。A+がより高い類似度を示す割合を「正答率」としました。
結果として、平均正答率はわずか54%と、二択問題でランダムに選択した場合の50%をわずかに上回る程度であることが判明しました。特に、4桁のような大きな数値では正答率が50%に留まり、ランダムと変わりませんでした。また、「より大きい」という条件は「より小さい」よりも高い正答率を示し、数字をアラビア数字ではなく「にじゅうよん」のように文字で表記した方が、わずかですが性能が向上することも示されています(ただし英語での検証結果)。
この研究は、WebアプリケーションエンジニアがRAGシステムを設計・導入する上で極めて重要な示唆を与えます。RAGの導入を検討する際、特に数値的な比較(例:「売上100万円以上」や「在庫数5個以下」、「特定の期間内のイベント」など)を含む質問への対応がシステム要件に含まれる場合、RAGのベクトル検索だけに依存することは大きなリスクを伴います。本結果は、RAGがこのような定量的な条件を正確に判断する能力が非常に低いことを明確に示しており、期待通りのユーザー体験を提供できない可能性が高いことを意味します。
したがって、このようなユースケースでは、システム設計において数値部分を文書から切り出し、SQLクエリや専用のフィルタリングロジックを用いて別途比較処理を行うなど、ベクトルデータ検索以外の手段を併用する具体的なアーキテクチャの構築が不可欠となります。RAGが万能ではないことを理解し、その得意分野と限界を正確に把握することで、より堅牢で実用的な生成AIアプリケーションを開発するための重要な知見となります。