自治体や官公庁、そして公共性の高い事業を行う企業の現場において、今、最も注目されているAI技術が「RAG(ラグ)」です。
「過去の膨大な資料から、必要な情報を瞬時に見つけ出したい」
「住民からの問い合わせに対して、最新の条例やガイドラインに基づいた正確な回答を作成したい」
これらは、従来であればベテラン職員の経験と記憶に頼っていた業務です。しかし、RAGを活用すれば、新人職員でも即座にベテラン並みの検索能力と回答作成能力を手にすることができます。
しかし、多くの組織がRAGを導入したものの、「思ったような回答が返ってこない」「AIが嘘をつく(ハルシネーション)」という壁にぶつかっています。その原因の9割は、AIの性能ではなく、**「読み込ませるデータの質」**にあります。
本記事では、公共分野でRAGを確実に成功させるための「データ整備(データクレンジング)」について、非エンジニアの方にも分かりやすく、かつ実務で使えるチェックリスト形式で徹底解説します。
そもそもRAGとは?なぜ公共分野で必須なのか
データ整備の話に入る前に、まず「RAG」について簡単におさらいしましょう。
RAG(Retrieval-Augmented Generation)の仕組み
RAGとは、「検索(Retrieval)」と「生成(Generation)」を組み合わせた技術のことです。
ChatGPTなどの一般的な生成AI(大規模言語モデル:LLM)は、インターネット上の一般的な知識は豊富ですが、あなたの組織の内部規定や、昨日決まったばかりの新しい助成金制度のことは知りません。
そこでRAGの出番です。RAGは、AIに対して**「カンニングペーパー(組織の独自データ)」**を持たせる仕組みです。
- 質問する: ユーザーが「〇〇助成金の対象者は?」と聞く。
- 検索する: システムが組織のデータベース(カンニングペーパー)から、関連する資料を探し出す。
- 生成する: AIがその資料を読み込み、内容を要約して回答を作成する。
この仕組みにより、AIは「嘘をつかず」「根拠に基づいた」回答ができるようになります。
公共分野特有の課題
公共分野のドキュメントには、RAGにとって「読み取りにくい」特徴が多くあります。
- 紙文化の名残: スキャンしただけのPDF画像が多い。
- 複雑なレイアウト: 申請書様式や、段組が複雑な広報誌。
- 専門用語の多さ: 行政独特の言い回しや略語。
- 表やグラフ: 予算表や統計データなど、テキスト以外の情報が重要。
これらをそのままAIに投げ込んでも、AIは文字化けした暗号のように認識してしまい、正しく検索・回答できません。だからこそ、「AIが読みやすい形」にデータを整える**「データ整備」**が成功の鍵を握るのです。
【保存版】RAGデータ整備チェックリスト
ここからは、実際にRAG用のデータベースを構築する際に行うべき処理を、手順ごとに解説します。
1. ファイル形式と前処理(Pre-processing)
まずは、素材となるファイルそのものの状態を整える段階です。
画像PDFのOCR処理(文字データ化)
公共機関で最も多いのが「スキャンされたPDF」です。これらはコンピュータにとっては「文字」ではなく「絵」です。必ずOCR(光学文字認識)にかけて、テキストデータとして選択・コピーできる状態にする必要があります。
- チェック項目:
- すべてのPDFはテキスト選択が可能か?
- OCRの認識精度は95%以上か?(「l」と「1」、「日」と「曰」などの誤認識がないか)
- 斜めにスキャンされた書類は補正されているか?
不要な要素の削除(ノイズ除去)
人間が読むには便利な要素も、AIにとっては「ノイズ」になり、回答精度を下げる要因になります。
- チェック項目:
- ヘッダー・フッターの削除: 全ページに繰り返し出てくる「〇〇市役所」「2024年度版」などの文言は、検索の邪魔になるため削除する。
- ページ番号の削除: 文脈を分断してしまうため削除する。
- 透かし(Watermark)の除去: 「社外秘」「SAMPLE」などの透かし文字が本文と混ざらないようにする。
ファイル名の規則性統一
ファイル名自体も重要な検索の手がかりになります。
- チェック項目:
- ファイル名は中身が推測できるものか?(例:「doc001.pdf」ではなく「2024年度_育児休業給付金支給要領.pdf」にする)
- 日付や版数を含めているか?
2. テキスト構造化(Structuring)
次に、文書の中身をAIが理解しやすい「構造」に変換します。WordやPDFからテキストを抽出するだけでなく、Markdown(マークダウン)形式などを活用して意味付けを行います。
見出しのタグ付け
AIは「どこからどこまでがひとつの話題か」を判断するのが苦手です。見出しを明確にすることで、文書の階層構造を理解させます。
- チェック項目:
- 大見出し、中見出し、小見出しが明確に区別されているか?(例:Markdownの # や ## を活用する)
- 「第1章」「1.」「(1)」などの階層が正しく認識されているか?
表(テーブル)の処理
RAGにおける最大の難関が「表」です。一般的なPDF読み込みツールは、表を単純に左から右へ文字を繋げて読んでしまい、意味不明な文章にしてしまうことがあります。
- チェック項目:
- 表は崩れていないか?
- CSVまたはMarkdown形式への変換: 複雑な表は、AIが理解しやすいMarkdownの表形式(
| 項目 | 内容 |)やCSVテキストに変換する。 - セルの結合解除: 結合されたセルはAIが誤解しやすいため、可能な限り分割して元の意味を記載する。
- キャプションの追加: 「表1:令和6年度予算案」のようなタイトルが、表データの直前に配置されているか?
図・グラフのテキスト化
AI(特にテキストベースのモデル)は図版を見ることができません。図版が何を表しているかを文字で説明する必要があります。
- チェック項目:
- グラフやフローチャートの内容を文章で説明した「Altテキスト(代替テキスト)」を用意したか?
- 重要な図版の下に、その図が示す結論や数値をテキストで追記しているか?
3. コンテンツの分割(Chunking)
AIには一度に読み込める文字数の制限があります。また、長すぎる文章を検索対象にすると、本当に必要な情報が埋もれてしまいます。そこで、文章を適切な長さの塊(チャンク)に分割します。
意味のまとまりでの分割
単純に「500文字で切る」という機械的な分割は避けましょう。文章が途中で切れてしまい、文脈が失われます。
- チェック項目:
- 段落や章の区切りで分割しているか?
- 会話文やQA形式の場合、QとAが別のチャンクに分かれてしまっていないか?
コンテキスト(文脈)の付与
分割されたチャンク単体で見ると、主語が分からなくなることがあります。
- チェック項目:
- 分割後のテキストに、親文書のタイトルや章タイトルを付与しているか?
- (悪い例)「対象者は市内在住の65歳以上です。」(何の対象か不明)
- (良い例)「【高齢者バス利用助成事業】対象者は市内在住の65歳以上です。」
- 分割後のテキストに、親文書のタイトルや章タイトルを付与しているか?
4. 公共分野特有のセキュリティと精度対策
最後に行政・公共分野ならではの必須チェック項目です。
個人情報のマスキング
学習データや検索対象データに、個人情報が含まれていないか厳重に確認します。
- チェック項目:
- 氏名、住所、電話番号、マイナンバーなどが含まれていないか?
- 黒塗りされたPDFの場合、テキストデータとして下に情報が残っていないか?(見た目は黒塗りでも、文字選択すると読めるケースがあります)
「行政用語」と「一般用語」の橋渡し
市民は行政用語を知りません。「市税の減免」を探すときに「税金 安くしたい」と検索するかもしれません。
- チェック項目:
- 同義語辞書の登録:専門用語に対して、一般的な言い換え語をメタデータとして付与しているか?
- 略語の展開:「あて職」→「職務指定」、「DV」→「ドメスティック・バイオレンス」など、正式名称と略称を紐付けているか?
データの鮮度管理
古い法律や廃止された制度に基づいた回答は致命的です。
- チェック項目:
- データの有効期限を設定しているか?
- 新しい通達が出た際、古いデータを削除または「旧版」と明記してアーカイブする運用ルールはあるか?
効率的なデータ整備の手法とツール
「これほどの手作業をすべてやるのは不可能だ」と思われたかもしれません。実際、数万ページある行政文書をすべて手動で整備するのは非現実的です。ここでは、効率化のアプローチを紹介します。
1. 既存のRAG専用データローダーを活用する
最近のRAG構築ツール(LangChainやLlamaIndexなどを用いたシステム)には、PDFやWordを読み込む際に、ある程度の自動クリーニングを行ってくれる「ローダー」や「パーサー」と呼ばれる機能があります。
- Unstructured.io: 画像、表、テキストが混在する複雑なドキュメントを解析し、構造化データに変換してくれる強力なツールです。
- Adobe PDF Services API: PDFの本家Adobeが提供するAPIで、PDF内の表構造や見出しを非常に高い精度で抽出できます。
2. 生成AI自身に整備させる(LLM as a Judge / Cleaner)
データ整備自体にAIを使うのも有効な手段です。
- OCR補正: OCRで読み取った誤字脱字の多いテキストを、ChatGPTなどのLLMに「正しい日本語に修正して」と指示して修正させる。
- Markdown変換: 崩れたテキストデータをLLMに渡し、「この内容をMarkdown形式で見やすく整理して」と指示して構造化させる。
3. 「ハイブリッド運用」の導入
すべてのデータを完璧にするのではなく、優先順位をつけます。
- Tier 1(最重要データ): 住民からの問い合わせが多いFAQ、基本ガイドライン。これらは人の手で完璧に整備する。
- Tier 2(参考データ): 過去の議事録や大量の報告書。これらは自動ツールで簡易的に整備する。
データ整備は「未来への投資」
RAGの導入において、AIモデルの選定やサーバーの構築に目が向きがちですが、成功の可否は**「泥臭いデータ整備」**で決まります。
公共分野の情報は、市民生活や企業の経済活動に直結する重要なものです。だからこそ、AIが正しく理解できる形にデータを整えることは、単なる事務作業ではなく、**「行政サービスの質を次世代レベルに引き上げるためのインフラ投資」**と言えます。
一度きれいに整備されたデータは、RAGだけでなく、将来的に別のAIシステムやデータ分析にも活用できる貴重な資産となります。
まずは、最もよく参照されるマニュアルやFAQの一つから、このチェックリストを使って「AIフレンドリー」なデータに変えてみてください。その一つが正しく回答されたとき、業務効率化への大きな扉が開かれるはずです。