PDFや表を多く含む社内資料をRAGで扱うとき、回答の精度を最も大きく左右するのは、検索や生成の工夫よりも手前の「前処理」です。PDFは見た目を再現するための形式であり、文章の順番や表の行と列の関係を保存しているとは限りません。そのままテキストを取り出すと、段組みの順番が入れ替わる、表の数値がばらばらの文字列になる、画像の中の文字や図の情報が抜け落ちる、といった問題が起きます。この状態で分割して検索に使っても、正しい答えは返ってきません。
前処理の基本方針は、「資料の種類と作り方を見分け、それぞれに合った方法で取り出し、構造を保った形に整え、取り出した結果を人の目で確かめる」ことです。すべての資料を同じ方法で処理するのではなく、文字情報を持つPDFか、スキャンした画像のPDFか、表が中心か、図が中心かによって方法を変えます。
この記事は、社内の規程、マニュアル、仕様書、帳票、報告書などをRAGに取り込もうとしている開発担当者や、取り込んだものの精度が出ずに原因を探している担当者に向けて書いています。PDFで起きる典型的な問題、資料の種類の見分け方、テキストと表と画像それぞれの前処理、構造を保ったデータ化の方法、確認の手順、よくある失敗までを順に説明します。
PDFや表で起きる典型的な問題
まず、PDFや表を含む資料からテキストを取り出したときに起きやすい問題を整理しておきます。
| 問題 | 起きること | 回答への影響 |
|---|---|---|
| 段組みの順番の入れ替わり | 二段組みの左右の文が交互に混ざる | 文意が通らず、検索でも回答でも誤る |
| 表の構造の喪失 | 行と列の関係が失われ、数値が並んだだけになる | どの項目の値か分からず、数値を取り違える |
| セルの結合の崩れ | 結合されたセルの値が一つの行にしか残らない | 他の行で条件が欠け、誤った値を答える |
| 改行・ハイフンの混入 | 行末で単語や文が途切れる | 検索語と一致しなくなる |
| ヘッダー・フッターの混入 | ページごとに同じ文書名やページ番号が本文に混ざる | 検索の邪魔になり、チャンクが汚れる |
| 画像内の文字の欠落 | スキャンPDFや図の中の文字が取り出せない | 文書があるのに「見つからない」と答える |
| 図・グラフの情報の欠落 | フロー図や構成図の内容が失われる | 手順や関係を問う質問に答えられない |
| 注記・脚注の分離 | 表の下の注記が表と離れる | 条件や単位が抜けた回答になる |
これらの問題は、取り出したテキストを見れば気づけるものがほとんどです。しかし、取り込みの処理を自動で流してしまうと、問題に気づかないまま検索に使われ、精度が低い原因が分からなくなります。
資料の種類と作り方を見分ける
前処理の方法を選ぶために、まず資料を種類と作り方で分けます。
文字情報を持つPDFか、画像のPDFか
PDFには、ワープロや表計算ソフトから書き出した「文字情報を持つPDF」と、紙をスキャンした「画像のPDF」があります。前者はテキストを直接取り出せますが、後者は画像から文字を読み取る処理(OCR)が必要です。PDFビューアで文字を選択できるかどうかで、おおよそ見分けられます。一つのファイルの中に両方が混在していることもあるため、ページごとに判定する仕組みにしておくと安全です。
資料の中身で分ける
中身の観点では、次のように分けると、前処理の方針が決めやすくなります。
- 文章が中心の資料:規程、報告書、説明資料など
- 表が中心の資料:料金表、仕様一覧、対応表、帳票など
- 図が中心の資料:業務フロー図、システム構成図、画面の操作説明など
- スライド資料:見出しと短い箇条書き、図が組み合わさったもの
- 帳票・定型書式:申請書、伝票など、項目と値の組み合わせで構成されるもの
元のファイルが手に入るかを確認する
PDFの元になったWord、Excel、PowerPointなどのファイルが手に入るなら、PDFからではなく元のファイルから取り出す方が、構造をはるかに正確に保てます。特に表計算ファイルは、セルの値と行・列の関係をそのまま取り出せます。前処理の工夫を考える前に、元のファイルが社内のどこかに残っていないかを確認することをおすすめします。
文章が中心のPDFの前処理
文章が中心の資料では、読む順番と見出しの構造を正しく取り出すことが中心になります。
- ページのレイアウトを解析し、段組みや本文の領域を判定してから、読む順番にテキストを並べる
- ヘッダー、フッター、ページ番号、透かしなど、ページごとに繰り返される要素を取り除く
- 行末の改行を、段落の区切りとそうでないものに分け、段落の途中の改行をつなぐ
- 文字の大きさや太さ、番号の付け方から見出しを判定し、見出しの階層を記録する
- 箇条書きや番号付きの項目を、項目として認識できる形に整える
- 脚注や注記を、参照している本文の近くに置くか、参照関係を記録する
4の見出しの判定は、後のチャンク分割の精度に直結します。見出しが取れていれば、見出しに沿って分割し、各チャンクに見出しの階層を付け足せます。分割の考え方はRAGのチャンク分割の考え方:文書の種類別に最適な分け方で解説しています。
レイアウトの解析は、PDFの解析用のライブラリやサービスを使って行います。どれを使うかによって、段組みや見出しの判定の精度は大きく異なるため、自社の代表的な資料で試して比べてから選びます。
表の前処理と構造化
表は、RAGで最も扱いが難しい要素の一つです。表から正しく答えるためには、「どの行の、どの列の値か」という関係を保ったまま取り出す必要があります。
表を表として取り出す
まず、ページの中の表の領域を判定し、行と列の構造を取り出します。罫線のある表は比較的取り出しやすい一方、罫線のない表、セルが結合された表、ページをまたぐ表は崩れやすくなります。取り出した表は、行と列の関係が分かる形式(Markdownの表形式や、行ごとの項目と値の組など)に変換して保存します。
結合セルを展開する
複数の行にまたがって結合されたセル(例えば、「地域:関東」が三行分にまたがっている)は、結合を解いて、該当するすべての行に同じ値を入れます。こうしておかないと、二行目以降を単独で読んだときに地域の情報が欠けます。
行ごとに意味が通じる形にする
大きな表を分割して検索に使う場合は、各行に列名を付けて、「項目名:値」の組み合わせの文章に変換する方法が有効です。例えば、「型番:B-200、重量:…、対応電源:…、保証期間:…」のような形です。さらに、表のタイトルと、表の前後に書かれた前提条件(単位、適用期間、税込か税別か、注記など)を各行に付け足しておくと、一行だけが検索で取れても正しく答えられます。
ページをまたぐ表をつなぐ
ページをまたぐ表は、二ページ目以降に見出し行がないことがあります。前のページの表と列の構成が同じであれば一つの表としてつなぎ、見出し行を引き継ぎます。
| 表の状態 | 前処理 | 確認のポイント |
|---|---|---|
| 罫線のある単純な表 | 表として取り出し、表形式で保存 | 列のずれがないか |
| 罫線のない表 | レイアウト解析で列の位置を判定 | 列の境界が正しいか |
| 結合セルを含む表 | 結合を解いて値を各行に展開 | 展開後の行が意味をなすか |
| ページをまたぐ表 | 前ページの表とつなぎ、見出し行を引き継ぐ | 行の重複や欠落がないか |
| 注記付きの表 | 注記を表のメタ情報として各行に付ける | 単位や条件が残っているか |
| 大きな一覧表 | 行ごとに「項目名:値」の文章に変換 | 行単体で意味が通じるか |
表の行同士の比較が必要な質問(「最も保証期間が長い製品はどれか」など)が多い場合は、行に分けたチャンクとは別に、表全体を一つのまとまりとして保存し、比較の質問ではそちらを使う方法もあります。さらに、数値の集計や比較が頻繁に求められる表は、文章として検索させるよりも、データベースに取り込んで問い合わせる仕組みの方が確実なこともあります。
画像・図・スキャン資料の前処理
スキャンした資料の文字を読み取る
スキャンしたPDFや画像の資料は、OCRで文字を読み取ります。手書きや帳票の読み取りには、レイアウトの認識に強いAI-OCRが使われることが増えています。読み取りの精度は、スキャンの解像度、傾き、かすれ、文字の大きさに左右されるため、元の資料の状態が悪い場合は、スキャンし直すことも検討します。読み取った結果には誤認識が含まれるため、固有名詞や数値など誤ると影響の大きい部分は、特に確認が必要です。導入の考え方はAI-OCRで紙・PDF帳票を読み取る:導入手順と精度の考え方で解説しています。
図やグラフの内容を文章にする
業務フロー図、システム構成図、グラフなどは、文字を読み取っただけでは関係や流れが分かりません。重要な図については、その内容を文章で説明したテキストを作り、図と同じ位置に置きます。「申請者が申請書を提出し、上長が承認した後、経理が支払い処理を行う。金額が一定以上の場合は部長の承認が加わる」のように書き起こしておけば、手順を問う質問にも答えられます。
図の説明文の作成には、画像と文章を一緒に扱える生成AI(マルチモーダルのモデル)を使って下書きを作る方法があります。ただし、図の読み取りには誤りが含まれることがあるため、業務を知っている人が確認してから使います。図の数が多い場合は、問い合わせで参照されやすい図から優先して書き起こします。
スライド資料
スライド資料は、一枚の情報が少なく、見出しと短い箇条書き、図で構成されているため、スライド一枚を一つのまとまりとして扱い、資料のタイトルとスライドの見出しを付け足すのが基本です。複数のスライドにまたがって一つの説明が続いている場合は、関連するスライドをまとめて一つのまとまりにします。表紙や目次、区切りのスライドのように中身のないものは取り除きます。発表者用のメモ欄に詳しい説明が書かれている場合は、それも取り込みます。
帳票・定型書式
申請書や伝票、点検記録のような帳票は、決まった位置に決まった項目が書かれているため、文章として取り出すよりも、「項目名と値の組」として取り出す方が扱いやすくなります。同じ書式の帳票が大量にある場合は、書式ごとに項目の位置を定義して読み取り、項目ごとの値をデータとして保存します。帳票の内容を検索に使う場合は、帳票の種類、作成日、対象の案件などをメタデータとして持たせ、項目名と値を並べた文章をチャンクにします。
前処理の進め方と確認の手順
前処理は、一度に全資料を流すのではなく、代表的な資料で方法を決めてから広げます。
- 対象の資料を、作り方(文字情報か画像か)と中身(文章・表・図・スライド・帳票)で分類する
- 元のファイル(Word、Excelなど)が手に入るものは、元のファイルから取り出す
- 分類ごとに代表的な資料を数件選び、取り出し方を試す
- 取り出した結果と原本を見比べ、順番、表、注記、画像の情報が保たれているかを確認する
- 問題があれば、解析の方法や設定を変えて試し直す
- 分類ごとの前処理の方法を決め、全資料に適用する
- 取り込んだ後、評価用の質問で検索を試し、表や図に関する質問が答えられるかを確認する
- 資料が追加・更新されたときに、同じ方法で前処理が行われる仕組みにする
4の目視確認は、手間がかかっても省略しないことをおすすめします。前処理の問題は、後の検索や生成の工夫では取り戻せません。全ページを確認するのが難しい場合は、表の多いページ、段組みのあるページ、スキャンのページなど、崩れやすいページを優先して抜き出して確認します。
前処理の結果は、取り出したテキストを直接検索用のデータベースに入れるのではなく、いったん見出しや表の構造を保った中間の形式(Markdownなど)で保存しておくことをおすすめします。中間の形式があれば、人が読んで確認しやすく、問題が見つかったときに手で直すこともでき、分割の方法を変えたときにPDFから取り出し直す必要もありません。
架空の例として、設備メーカーの保守部門が、製品ごとの点検基準書をRAGで検索できるようにした場合を考えます。点検基準書は、点検項目、点検周期、判定基準を並べた表が中心で、結合セルと注記が多い資料でした。最初はPDFからそのままテキストを取り出していたため、「この部品の点検周期は」という質問に、隣の行の周期を答える誤りが頻発しました。元のExcelファイルが残っていたため、そこから表を取り出し、結合セルを展開し、各行に製品名と表の注記を付けて「項目名:値」の形にしたところ、取り違えはほぼ見られなくなりました。
前処理チェックリスト
- 元のファイルが手に入る資料は、元のファイルから取り出している
- 文字情報を持つPDFとスキャンPDFをページごとに判定している
- 段組みの資料で、読む順番が正しく取り出されている
- ヘッダー、フッター、ページ番号が本文から除かれている
- 見出しの階層が記録されている
- 表の行と列の関係が保たれ、結合セルが展開されている
- 表の注記や単位、適用条件が各行に付いている
- ページをまたぐ表がつながっている
- OCRの結果で、固有名詞と数値を確認している
- 重要な図の内容が文章で補われている
- 取り出した結果と原本を見比べる確認を行っている
よくある失敗と避け方
すべての資料を同じ方法で処理する
文章中心の資料に合う方法が、表中心の資料やスキャン資料に合うとは限りません。資料を分類し、分類ごとに方法を決めます。
取り出したテキストを確認しない
自動の取り込みを流しただけで、取り出した結果を見ていないケースは少なくありません。精度の問題の原因が前処理にあることに気づけず、検索やプロンプトの調整に時間を使うことになります。精度改善の切り分けの方法はRAGの回答精度を改善する方法で解説しています。
表を文章と同じように扱う
表を普通の文章と同じように一定の文字数で区切ると、行と列の関係が失われます。表は表として取り出し、構造を保った形に変換してから分割します。
図の情報をあきらめる
図の内容が回答に必要な資料は少なくありません。すべてを書き起こすのは難しくても、問い合わせで参照されやすい図から優先して文章で補います。
OCRの結果をそのまま使う
OCRの読み取りには、似た形の文字の取り違えや、数字の桁の読み違いが含まれることがあります。誤った数値が検索に使われると、もっともらしいが間違った回答が出ます。金額、日付、型番など、誤ると影響の大きい項目は、読み取りの確からしさが低い箇所を抽出して人が確認する工程を入れます。
よくある質問
Q. PDFをそのまま読み込めるサービスを使えば、前処理は不要ですか?
PDFを直接取り込めるサービスも、内部でテキストの取り出しを行っています。その精度はサービスや資料によって異なるため、表や段組み、スキャンの資料が多い場合は、取り込んだ結果を確認し、必要に応じて前処理を自分たちで行う方が確実です。
Q. 画像を直接読める生成AIがあれば、OCRや表の変換はいりませんか?
画像と文章を一緒に扱える生成AIは、図や表の理解に役立ちます。ただし、検索の段階では画像の中身を探せないため、検索の対象にするには文章化が必要です。また、読み取りに誤りが含まれることもあるため、重要な数値は確認が必要です。
Q. 前処理にはどのくらいの手間がかかりますか?
資料の量よりも、資料の種類のばらつきと状態に左右されます。元のファイルが手に入り、書式がそろっている資料は手間が小さく、スキャンの資料や書式がばらばらの資料は手間が大きくなります。まず代表的な資料で試し、分類ごとの手間を見積もってから計画を立てることをおすすめします。
Otsumuに相談できること
対象の資料がワープロや表計算ソフトから作られていて、元のファイルが手に入り、表の構造も単純であれば、元のファイルから取り出す方法を中心に、自社で前処理を進めることは十分可能です。この記事のチェックリストを使って代表的な資料を確認するところから始めてみてください。
スキャンした資料や手書きの帳票が多い、結合セルやページをまたぐ表が多い、図やフローの情報が回答に欠かせない、資料の種類が多く分類ごとの処理を組み立てる必要がある、といった場合は、解析の方法の選定と前処理の仕組みづくりに経験が必要になります。RAG全体の構築の流れはRAGシステムの構築手順で解説しています。
Otsumuでは、資料の分類と前処理の方針づくりから、表や図の構造化、OCRの組み込み、取り込みの自動化、評価による精度改善までを一貫して支援しています。目的から逆算して、問い合わせで参照される資料から優先して整える進め方を取り、AIを活用した少人数の開発で、代表的な資料で効果を確かめてから広げます。詳しくはRAG開発のページをご覧ください。
手元の資料がどのくらい前処理を必要としそうか、実際の資料を見ながら一緒に確認することもできます。30分の無料相談からお気軽にご連絡ください。
この記事について
Otsumu株式会社が執筆しました。統計値や他社の事例には依拠せず、進め方と判断の枠組みを中心にまとめています。法務・税務・会計などの制度は、専門家や公的窓口で最新の情報をご確認ください。
執筆:Otsumu株式会社 / 編集日 2026.10.01