📝

LLM(GeminiやClaude)のPDFスキャン精度や料金の比較(2024年版)

2024/12/04に公開

はじめに

概要

本記事では、Gemini、Claudeの各LLMでPDFを読み込ませてmarkdownへ変換し、その際、文章の欠落がないかの精度や、その処理で発生する料金について比較した結果を紹介します。

一方で、GPTは現時点でPDFを扱えないので対象外としています。

LLMによるPDFからmarkdownへの変換

Claudeの公式ドキュメントによると以下の流れでPDFを読み込み扱えるようにしているようです。

  1. ドキュメントの内容を抽出
    • ドキュメントの各ページを画像に変換
    • 各ページからテキストが抽出され、ページの画像とともに提供
  2. 文書をより深く理解するために、テキストと画像の両方を分析
    • ドキュメントは分析用にテキストと画像の組み合わせとして提供
    • これにより、ユーザーは、グラフ、図、その他の非テキストコンテンツなど、PDF の視覚要素に関する洞察を求めることができる
  3. ドキュメントをmarkdownへ変換

出典. https://docs.anthropic.com/en/docs/build-with-claude/pdf-support

上記流れで処理するため、テキストが埋め込まれたPDFではない場合(画像ベースのPDF)でも、問題なくテキスト抽出が可能になっています。

Geminiも公式ドキュメントで言及されていませんでしたが、おそらくこの流れでPDFを扱っていると思われます。

結論(ユースケース毎のオススメ選択)

2024年のLLMによる検証の結果、ユースケース毎に個人的にオススメのモデルは以下の通りになりました

小説のようなテキストがメインの場合

Gemini 1.5 Flash

  • 料金が安い(1ページ約0.05円)
  • 処理速度は早い
  • テキストのみであれば、ほぼ欠落なくスキャン可能

ポスターや雑誌のような図や画像がメインの場合

Claude 3.5 Sonnet

  • 精度高く図や画像の意図を解釈が可能
  • テキストはもちろん欠落なくスキャン可能
  • 料金は高い(1ページ約4.5円)
  • 処理速度は遅い

技術書やビジネス書のような図が散りばめられたテキストの場合

Gemini 1.5 Pro

  • ある程度精度高く図や画像の意図を解釈が可能
  • テキストはもちろん欠落なくスキャン可能
  • 料金はやや安い(1ページ約0.7円)
  • 処理速度は早い

検証方法

検証で利用するPDFの特徴

以下特徴をもつ3つのPDFを各LLMにスキャン

  • テキストのみのPDF
  • テキスト多め表ありPDF
  • 図とテキストが入り混じったPDF

検証の観点

LLMに読み込み後、markdown形式に変換し以下2点の観点で検証します

  • スキャン後のテキストに欠落がないか?
  • 図や表の解釈が適切か?

検証

テキストのみのPDF

利用するPDF

ここでは、「デジタル・ガバメント推進標準ガイドライン」の以下画像に示す12ページ目を利用してLLMによるスキャン精度を検証します
image.png

出典:https://www.digital.go.jp/assets/contents/node/basic_page/field_ref_resources/e2a06143-ed29-4f1d-9c31-0f06fca67afc/1fc6722a/20240605_resources_standard_guidelines_guideline_01.pdf

Geminiの場合

Geminiでは、以下2つのモデルを利用します

  • Gemini 1.5 Flash
  • Gemini 1.5 Pro

Gemini 1.5 Flash

出力結果

PDFをスキャンしてmarkdown化した結果
第1編 総論
第1章 標準ガイドラインについて
第1章 標準ガイドラインについて

1.背景及び目的

今や政府情報システムは、単なる行政事務処理上の道具ではなく、行政運営の
中核を成す基盤として存在するに至っている。さらには、デジタル技術は社会構
造の変革の強力なツールとなっており、これまでの延長線上での改善ではなく、
デジタル技術が国民生活やビジネスモデルを根底から変える、新しい社会が到来
している。

このような中、デジタル技術を徹底活用し、行政内部における行政サービスの
利便性の向上並びに行政運営の効率性及び透明性の向上を実現するだけでなく、
官民協働を軸として、行政サービスを改善し、デジタル社会に対応したデジタ
ル・ガバメントを目指すことが求められている。

こうした状況を踏まえ、政府は、行政の縦割りを打破し、大胆に規制改革を断
行するための突破口としてデジタル庁を創設することを柱としたデジタル改革に
ついて検討を加え、令和2年(2020年)12月25日、高度情報通信ネットワーク社
会形成基本法(平成12年法律第144号。以下「IT基本法」という。)の見直しの
考え方やデジタル庁設置の考え方について政府の基本的な方針を盛り込んだ「デ
ジタル社会の実現に向けた改革の基本方針」を閣議決定した。その後、この方針
等を踏まえ、デジタル社会形成基本法案及びデジタル庁設置法案を中心としたデ
ジタル改革関連法案が、令和3年2月9日に閣議決定、国会に提出され、国会審議
を経て5月12日に成立、デジタル社会形成基本法(令和3年法律第35号)及びデ
ジタル庁設置法(令和3年法律第36号)は9月1日に施行されることとなった。

また、「デジタル社会の実現に向けた改革の基本方針」では、デジタル社会の目指
すビジョンとして「デジタルの活用により、一人ひとりのニーズに合ったサービ
スを選ぶことができ、多様な幸せが実現できる社会」を掲げ、「デジタル社会の実
現に向けた重点計画」(令和3年12月24日閣議決定)では、このような社会を目
指すことは、「誰一人取り残されない、人に優しいデジタル化」を進めることにつ
ながるとしている。

デジタル・ガバメントへ変革していくためには、デジタル庁を中心として、各
府省のデジタル統括責任者及び副デジタル統括責任者のそれぞれがリーダーシッ
プを発揮し、「共通ルール」の下で、各府省及び政府全体のITガバナンスを強化
し、価値を生み出すことが重要であり、サービス・業務の状況や政府情報システ
ムに関する詳細な情報を逐次把握するとともに、サービスの向上、業務の効率化
及び高度化、官民データ活用推進基本法(平成28年法律第 103 号)の目的にもあ
る情報システムに係る規格の整備及び互換性の確保、情報セキュリティを含む情
報システムの運用リスクへの適切な対応等、具体的な取組を政府横断的に進める
必要がある。

以上を踏まえ、「デジタル社会の実現に向けた重点計画」等に基づき、サービ
ス・業務改革並びにこれらに伴う政府情報システムの整備及び管理について、そ
の手続・手順に関する基本的な方針及び事項並びに政府内の各組織の役割等を定
める体系的な政府共通のルールとして、「デジタル・ガバメント推進標準ガイドラ
イン」を策定する。

2

消費したトークンとその料金

  • 1ページスキャンして消費したトークン
    • 入力トークン:1,118
    • 出力トークン:798
  • 料金:0.00032ドル(約0.049円)

評価

  • テキストの欠落はないか?
    • 欠落はない
    • 末尾の「2」は、ページ番号
  • マークダウン化できているか?
    • できていない
    • 一方で、素のテキストでありながら段落が考慮されている
  • 料金
    • 無料枠内で十分利用可能

Gemini 1.5 Pro

出力結果

PDFをスキャンしてmarkdown化した結果
第1編 総論
第1章 標準ガイドラインについて

第1章 標準ガイドラインについて

1. 背景及び目的

今や政府情報システムは、単なる行政事務処理上の道具ではなく、行政運営の中核を成す基盤として存在するに至っている。さらには、デジタル技術は社会構造の変革の強力なツールとなっており、これまでの延長線上での改善ではなく、デジタル技術が国民生活やビジネスモデルを根底から変える、新しい社会が到来している。

このような中、デジタル技術を徹底活用し、行政内部における行政サービスの利便性の向上並びに行政運営の効率性及び透明性の向上を実現するだけでなく、官民協働を軸として、行政サービスを改善し、デジタル社会に対応したデジタル・ガバメントを目指すことが求められている。

こうした状況を踏まえ、政府は、行政の縦割りを打破し、大胆に規制改革を断行するための突破口としてデジタル庁を創設することを柱としたデジタル改革について検討を加え、令和2年(2020年)12月25日、高度情報通信ネットワーク社会形成基本法(平成12年法律第144号。以下「IT基本法」という。)の見直しの考え方やデジタル庁設置の考え方について政府の基本的な方針を盛り込んだ「デジタル社会の実現に向けた改革の基本方針」を閣議決定した。その後、この方針等を踏まえ、デジタル社会形成基本法案及びデジタル庁設置法案を中心としたデジタル改革関連法案が、令和3年2月9日に閣議決定、国会に提出され、国会審議を経て5月12日に成立、デジタル社会形成基本法(令和3年法律第35号)及びデジタル庁設置法(令和3年法律第36号)は9月1日に施行されることとなった。

また、「デジタル社会の実現に向けた改革の基本方針」では、デジタル社会の目指すビジョンとして「デジタルの活用により、一人ひとりのニーズに合ったサービスを選ぶことができ、多様な幸せが実現できる社会」を掲げ、「デジタル社会の実現に向けた重点計画」(令和3年12月24日閣議決定)では、このような社会を目指すことは、「誰一人取り残されない、人に優しいデジタル化」を進めることにつながるとしている。

デジタル・ガバメントへ変革していくためには、デジタル庁を中心として、各府省のデジタル統括責任者及び副デジタル統括責任者のそれぞれがリーダーシップを発揮し、「共通ルール」の下で、各府省及び政府全体のITガバナンスを強化し、価値を生み出すことが重要であり、サービス・業務の状況や政府情報システムに関する詳細な情報を逐次把握するとともに、サービスの向上、業務の効率化及び高度化、官民データ活用推進基本法(平成28年法律第 103 号)の目的にもある情報システムに係る規格の整備及び互換性の確保、情報セキュリティを含む情報システムの運用リスクへの適切な対応等、具体的な取組を政府横断的に進める必要がある。

以上を踏まえ、「デジタル社会の実現に向けた重点計画」等に基づき、サービス・業務改革並びにこれらに伴う政府情報システムの整備及び管理について、その手続・手順に関する基本的な方針及び事項並びに政府内の各組織の役割等を定める体系的な政府共通のルールとして、「デジタル・ガバメント推進標準ガイドライン」を策定する。

消費したトークンとその料金

  • 1ページスキャンして消費したトークン
    • 入力トークン:1,118
    • 出力トークン:740
  • 料金:0.0051ドル(約0.765円)

評価

  • テキストの欠落はないか?
    • 欠落はない
    • Flashにあったページ番号はない(ノイズになりえるので嬉しい)
  • マークダウン化できているか?
    • できていない
    • 一方で、Flash同様に素のテキストでありながら段落が考慮されている
  • 料金
    • Flashのほぼ20倍
    • 精度が変わらないにも関わらず料金がただ高くなっただけ

Claudeの場合

出力結果

PDFをスキャンしてmarkdown化した結果
# 第1編 総論
## 第1章 標準ガイドラインについて

### 背景及び目的

今や政府情報システムは、単なる行政事務処理上の道具ではなく、行政運営の中核を成す基盤として存在するに至っている。さらには、デジタル技術は社会構造の変革の強力なツールとなっており、これまでの延長線上での改善ではなく、デジタル技術が国民生活やビジネスモデルを根底から変える、新しい社会が到来している。

このような中、デジタル技術を徹底活用し、行政内部における行政サービスの利便性の向上並びに行政運営の効率性及び透明性の向上を実現するだけでなく、官民協働を軸として、行政サービスを改善し、デジタル社会に対応したデジタル・ガバメントを目指すことが求められている。

こうした状況を踏まえ、政府は、行政の縦割りを打破し、大胆に規制改革を断行するための突破口としてデジタル庁を創設することを柱としたデジタル改革について検討を加え、令和2年(2020年)12月25日、高度情報通信ネットワーク社会形成基本法(平成12年法律第144号。以下「IT基本法」という。)の見直しの考え方やデジタル庁設置の考え方について政府の基本的な方針を盛り込んだ「デジタル社会の実現に向けた改革の基本方針」を閣議決定した。その後、この方針等を踏まえ、デジタル社会形成基本法案及びデジタル庁設置法案を中心としたデジタル改革関連法案が、令和3年2月9日に閣議決定、国会に提出され、国会審議を経て5月12日に成立、デジタル社会形成基本法(令和3年法律第35号)及びデジタル庁設置法(令和3年法律第36号)は9月1日に施行されることとなった。

また、「デジタル社会の実現に向けた改革の基本方針」では、デジタル社会の目指すビジョンとして「デジタルの活用により、一人ひとりのニーズに合ったサービスを選ぶことができ、多様な幸せが実現できる社会」を掲げ、「デジタル社会の実現に向けた重点計画」(令和3年12月24日閣議決定)では、このような社会を目指すことは、「誰一人取り残されない、人に優しいデジタル化」を進めることにつながるとしている。

デジタル・ガバメントへ変革していくためには、デジタル庁を中心として、各府省のデジタル統括責任者及び副デジタル統括責任者のそれぞれがリーダーシップを発揮し、「共通ルール」の下で、各府省及び政府全体のITガバナンスを強化し、価値を生み出すことが重要であり、サービス・業務の状況や政府情報システムに関する詳細な情報を逐次把握するとともに、サービスの向上、業務の効率化及び高度化、官民データ活用推進基本法(平成28年法律第103号)の目的にもある情報システムに係る規格の整備及び互換性の確保、情報セキュリティを含む情報システムの運用リスクへの適切な対応等、具体的な取組を政府横断的に進める必要がある。

以上を踏まえ、「デジタル社会の実現に向けた重点計画」等に基づき、サービス・業務改革並びにこれらに伴う政府情報システムの整備及び管理について、その手続・手順に関する基本的な方針及び事項並びに政府内の各組織の役割等を定める体系的な政府共通のルールとして、「デジタル・ガバメント推進標準ガイドライン」を策定する。

消費したトークンとその料金

  • 1ページスキャンして消費したトークン
    • 入力トークン:3,033
    • 出力トークン:1,243
  • 料金:0.0277ドル(約4.162円)

評価

  • テキストの欠落はないか?
    • 欠落はない
    • Flashにあったページ番号はない(ノイズになりえるので嬉しい)
  • マークダウン化できているか?
    • できている
    • PDFのヘッダー情報を元に見出しが適切に作られている
  • 料金
    • Flashのほぼ20倍
    • 精度が変わらないにも関わらず料金がただ高くなっただけ

まとめ

LLM テキスト欠落 markdown化 料金
Gemini 1.5 Flash なし X 約0.049円
Gemini 1.5 Pro なし X 約0.765円
Claude 3.5 Sonnet なし 約4.162円

テキスト多め表ありPDF

デジタル・ガバメント推進標準ガイドライン
image.png

出典:https://www.digital.go.jp/assets/contents/node/basic_page/field_ref_resources/e2a06143-ed29-4f1d-9c31-0f06fca67afc/1fc6722a/20240605_resources_standard_guidelines_guideline_01.pdf

Geminiの場合

Geminiでは、以下2つのモデルを利用します

  • Gemini 1.5 Flash
  • Gemini 1.5 Pro

Gemini 1.5 Flash

出力結果

PDFをスキャンしてmarkdown化した結果
# 別紙5 システムプロファイルに係る定義について

各府省は、所管する情報システムそれぞれについて、事業活動におけるその信頼性に関し、「情報システムの機能の喪失、低下等によるサービス停止等発生時の影響度」を表1の四つのシステムプロファイルレベル(Type)から該当するものを一つ選択することにより、システムプロファイルを定義するものとする。レベルの該当・非該当の判断は、TypeIVから降順に行う。

なお、定義するシステムプロファイルは、表2のように、当該情報システムのシステム基盤に係る非機能要件を検討する際の最も原点となる判断要素となる。このため、例えば、情報システムの運用が停止されては業務実施部門の業務に支障が出る、既存の情報システムの稼働率が99.99%を要求しているといっただけで、TypeIV、TypeIIIに判断してしまった場合、不適切な情報システム経費が発生するおそれがある。


| 分類 | 判断要素 |
|---|---|
| TypeIV | サービス停止等が起きた場合、これにより人命損害が発生する可能性があるもの又は想定される経済的損失が甚大であるもの |
| TypeIII | サービス停止等が起きた場合、これにより身体への悪影響が発生する可能性があるもの又は想定される経済的損失が大きいもの |
| TypeII | サービス停止等が起きた場合、これにより経済的損失が少なからず発生するもの |
| TypeI | TypeII からIVまでに該当しないもの |


表1 システムプロファイル


| No. | 大項目 | 主な非機能要求項目 | Type I | Type II | Type III | TypeIV |
|---|---|---|---|---|---|---|
| 1 | 可用性 | 稼働率 | ・1年間で数日程度の停止まで許容できる(稼働率99%)。 | ・1年間で1時間程度の停止まで許容できる(稼働率99.99%)。 | ・1年間で数分間の停止まで許容できる(稼働率99.999%)。 |  |
|  |  | 障害目標・データのリカバリ復旧水準 | ・データのリカバリを伴う復旧において、週次のバックアップデータからの復旧を行う。 | ・データのリカバリを伴う復旧において、1営業日以内での復旧を目標とする。 | ・データのリカバリを伴う復旧において、数時間での障害発生時までの復旧を目標とする。 |  |
| 2 |  | 大規模災害 | ・大規模災害時は、情報システムの再構築による復旧が前提となる。 | ・大規模災害時は、1週間以内での復旧を目指す。 | ・大規模災害時は、数時間で障害発生時までの復旧を目標とする。バックアップセンターでの業務継続性が要求される。 |  |
| 3 |  |  |  |  |  |  |
| 4 | 性能 | 性能目標・拡張性 | ・大まかな性能目標はあるが、他の要求より重視しない。 | ・性能面でのサービスレベルが規定されている。 | ・性能面でのサービスレベルが規定されている。 |  |


表2 システムプロファイルから考えるシステム基盤に係る非機能要件のモデル注記1)

消費したトークンとその料金

  • 1ページスキャンして消費したトークン
    • 入力トークン:1,035
    • 出力トークン:831
  • 料金:0.000327ドル(約0.049円)

評価

  • テキストの欠落はないか?
    • 欠落はない
  • マークダウン化できているか?
    • 見出しや表などはmarkdownの記法になっている
    • ほぼ精度高く表の変換が行われているが、表2でいくつか気になる欠落がある
      • TypeIVの列が空になっている
      • 「主な非機能要求項目」のセル結合が上手くできていない
      • 3行目がすべて空になっている
  • 料金
    • 変わらず安い

Gemini 1.5 Pro

出力結果

PDFをスキャンしてmarkdown化した結果
別紙5 システムプロファイルに係る定義について

各府省は、所管する情報システムそれぞれについて、事業活動におけるその信頼性に関し、「情報システムの機能の喪失、低下等によるサービス停止等発生時の影響度」を表 1 の四つのシステムプロファイルレベル(Type)から該当するものを一つ選択することにより、システムプロファイルを定義するものとする。レベルの該当・非該当の判断は、TypeIVから降順に行う。

なお、定義するシステムプロファイルは、表 2 のように、当該情報システムのシステム基盤に係る非機能要件を検討する際の最も原点となる判断要素となる。このため、例えば、情報システムの運用が停止されては業務実施部門の業務に支障が出る、既存の情報システムの稼働率が 99.99%を要求しているといっただけで、TypeIV、TypeIIIに判断してしまった場合、不適切な情報システム経費が発生するおそれがある。


表1 システムプロファイル

| 分類 | 判断要素 |
|---|---|
| TypeIV | サービス停止等が起きた場合、これにより人命損害が発生する可能性があるもの又は想定される経済的損失が甚大であるもの |
| TypeIII | サービス停止等が起きた場合、これにより身体への悪影響が発生する可能性があるもの又は想定される経済的損失が大きいもの |
| TypeII | サービス停止等が起きた場合、これにより経済的損失が少なからず発生するもの |
| TypeI | TypeII からIVまでに該当しないもの |


表2 システムプロファイルから考えるシステム基盤に係る非機能要件のモデル注記 1)

| No. | 大項目 | 主な非機能要求項目 | Type I | Type II | Type III | TypeIV |
|---|---|---|---|---|---|---|
| 1 | 可用性 | 稼働率 | ・1年間で数日程度の停止まで許容できる(稼働率99%)。 | ・1年間で1時間程度の停止まで許容できる(稼働率 99.99%)。 | ・1年間で数分間の程度の停止まで許容できる(稼働率99.999%)。 |  |
| 2 |  | 障害目標復旧水準 | ・データのリカバリーを伴う復旧において、週次のバックアップデータからの復旧を行う。 | ・データのリカバリーを伴う復旧において、1営業日以内での復旧を目標とする。 | ・データのリカバリーを伴う復旧において、数時間で障害発生時までの復旧を目標とする。 |  |
| 3 |  | 大規模災害 | ・大規模災害時は、情報システムの再構築による復旧が前提となる。 | ・大規模災害時は、1週間以内での復旧を目指す。 | ・大規模災害時ではバックアップセンターでの業務継続性が要求される。 |  |
| 4 | 性能・拡張性 | 性能目標 | ・大まかな性能目標はあるが、他の要求より重視しない。 | ・性能面でのサービスレベルが規定されている。 | ・性能面でのサービスレベルが規定されている。 |  |

消費したトークンとその料金

  • 1ページスキャンして消費したトークン
    • 入力トークン:1,035
    • 出力トークン:691
  • 料金:0.00475ドル(約0.7123円)

評価

  • テキストの欠落はないか?
    • 欠落はない
  • マークダウン化できているか?
    • 見出しはないものの、表は記法に則っている
    • ほぼ精度高く表の変換が行われているが、表2でいくつか気になる欠落がある
      • TypeIVの列が空になっている
      • 「主な非機能要求項目」のセル結合が上手くできていない
  • 料金
    • Flashのほぼ20倍
    • 精度がFlashよりも

Claudeの場合

出力結果

PDFをスキャンしてmarkdown化した結果
# 別紙5 システムプロファイルに係る定義について

各府省は、所管する情報システムそれぞれについて、事業活動におけるその信頼性に関し、「情報システムの機能の喪失、低下等によるサービス停止等発生時の影響度」を表1の四つのシステムプロファイルレベル(Type)から該当するものを一つ選択することにより、システムプロファイルを定義するものとする。レベルの該当・非該当の判断は、TypeⅣから降順に行う。

なお、定義するシステムプロファイルは、表2のように、当該情報システムのシステム基盤に係る非機能要件を検討する際の最も原点となる判断要素となる。このため、例えば、情報システムの運用が停止されては業務実施部門の業務に支障が出る、既存の情報システムの稼働率が99.99%を要求しているといっただけで、TypeⅣ、TypeⅢに判断してしまった場合、不適切な情報システム経費が発生するおそれがある。

## 表1 システムプロファイル
分類 | 判断要素
--- | ---
TypeⅣ | サービス停止等が起きた場合、これにより人命損害が発生する可能性があるもの又は想定される経済的損失が甚大であるもの
TypeⅢ | サービス停止等が起きた場合、これにより身体への悪影響が発生する可能性があるもの又は想定される経済的損失が大きいもの
TypeⅡ | サービス停止等が起きた場合、これにより経済的損失が少なからず発生するもの
TypeⅠ | TypeⅡからⅣまでに該当しないもの

## 表2 システムプロファイルから考えるシステム基盤に係る非機能要件のモデル注記1)

No. | 大項目 | 主な非機能要求項目 | TypeⅠ | TypeⅡ | TypeⅢ TypeⅣ
--- | --- | --- | --- | --- | ---
1 | 可用性 | 稼働率 | ・1年間で数日程度の停止まで許容できる(稼働率99%)。 | ・1年間で1時間程度の停止まで許容できる(稼働率99.99%)。 | ・1年間で数分間程度の停止まで許容できる(稼働率99.999%)。
2 | 障害目標復旧水準 | | ・データのリカバリーを伴う復旧において、週次のバックアップデータからの復旧を行う。 | ・データのリカバリーを伴う復旧において、1営業日以内での復旧を目標とする。 | ・データのリカバリーを伴う復旧において、数時間で障害発生時までの復旧を目標とする。
3 | 大規模災害 | | ・大規模災害時は、情報システムの再構築による復旧が前提となる。 | ・大規模災害時は、1週間以内での復旧を目指す。 | ・大規模災害時ではバックアップセンターでの業務継続性が要求される。
4 | 性能・拡張性 | 性能目標 | ・大まかな性能目標はあるが、他の要求より重視しない。 | ・性能面でのサービスレベルが規定されている。 | ・性能面でのサービスレベルが規定されている。

消費したトークンとその料金

  • 1ページスキャンして消費したトークン
    • 入力トークン:2,784
    • 出力トークン:1,057
  • 料金:0.0242ドル(約3.631円)

評価

  • テキストの欠落はないか?
    • 欠落はない
  • マークダウン化できているか?
    • 見出しもあり、表も記法に則っている
    • Geminiに比べて表1と表2タイトルが見出しで扱われているため、LLMで扱う際の関連がより強くなりそう
    • ほぼ精度高く表の変換が行われているが、表2の「主な非機能要求項目」のセル結合が上手くできていない
  • 料金
    • Gemini Proの5倍
    • 精度がかなり高い分料金も高い

まとめ

ClaudeとGemini Proの精度はそこまで変わらないので、Gemini Proがコスパ良さそう

LLM テキスト欠落 markdown化 料金
Gemini 1.5 Flash なし 約0.049円
Gemini 1.5 Pro なし 約0.712円
Claude 3.5 Sonnet なし 約3.631円

図とテキストが入り混じったPDF

デジタル庁が発行している図とテキストが入り混じったポスター
ポスター独特の構成なので、構成や意図の解釈が求められます
image.png

出典:https://www.mhlw.go.jp/content/12400000/000843868.pdf

Geminiの場合

Geminiでは、以下2つのモデルを利用します

  • Gemini 1.5 Flash
  • Gemini 1.5 Pro

Gemini 1.5 Flash

出力結果

PDFをスキャンしてmarkdown化した結果
# よくある質問にお答えします

## マイナンバーを見られるのが不安です

医療機関や薬局の窓口職員が、マイナンバーを
取り扱うことはありません。
もし見られたとしても、他人があなたのマイ
ナンバーを使って、手続することはできない
仕組みになっています。

## マイナンバーカードを
持ち歩いて大丈夫なの?

健康保険証として使えるようになっても、受診歴
や薬剤情報などプライバシー性の高い情報が
カードのICチップに入ることはありません。
落としたり、失くしたりした場合は、フリーダイヤルで
24時間365日体制でカードの一時利用停止を
受け付けています。

## どこで利用できるの?

マイナンバーカードを健康保険証として利用
できる医療機関・薬局は、下のステッカーや
ポスターが目印です!利用できる医療機関・
薬局は、拡大しています。

<img src="image1.png" alt="マイナ受付ステッカー">
<img src="image2.png" alt="マイナ受付ポスター">

## マイナンバーカードの申請方法

交付申請書をお持ちの方は、以下4つの方法から申請できます!

### スマートフォン

1. スマホで顔写真を撮影。
2. スマホで交付申請書のQRコードを読み取る。
3. 申請用WEBサイトでメールアドレスを登録。
4. 申請者専用WEBサイトのURLが届いたら、
顔写真を登録、必要事項を入力して申請完了。

### パソコン

1. カメラで顔写真を撮影。
2. 申請用WEBサイトでメールアドレスを登録。
3. 申請者専用WEBサイトのURLが届いたら、
顔写真を登録、必要事項を入力して申請完了。

### 証明用写真機

1. タッチパネルから「個人番号カード申請」を選択。
2. 撮影用の料金を投入して、交付申請書のQRコードをバーコード
リーダーにかざす。
3. 画面の案内にしたがって、必要事項を入力。
4. 画面の案内にしたがって、顔写真を撮影して送信し、申請完了。

### 郵便

1. 交付申請書に必要事項を記入し、6か月以内に
撮影した顔写真を貼り付けて郵送し、申請完了。

交付申請書をお持ちでない方は、

1. 専用サイトから手書き用の交付申請書と封筒をダウンロードすれば、
郵便で申請ができます! プリントアウトしてご利用ください。
※手書き用の交付申請書には、顔写真の貼付とマイナンバーの記入が必要です。
2. 市区町村の窓口でも、交付申請書を再発行しています。
本人確認書類(運転免許証、パスポート等)を持参の上、お住まいの
市区町村へ行きましょう。


## マイナンバー制度・マイナンバーカードについてのお問合せ

マイナンバー総合フリーダイヤル

**0120-95-0178**

受付時間(年末年始を除く) 平日 9:30~20:00
24時間365日受付!

▼一部のIP電話等で上記ダイヤルに繋がらない場合
マイナンバーカード等 050-3818-1250
その他のお問合せ 050-3816-9405
9:30~17:30

・英語、中国語、韓国語、スペイン語、ポルトガル語対応のフリーダイヤル

マイナンバー制度について 0120-0178-26
マイナンバーカード等 0120-0178-27

<img src="qrcode.png" alt="QRコード">

公的個人認証サービスPRキャラクター マイキーくん
マイナンバーPRキャラクター マイナちゃん

デジタル庁 総務省 厚生労働省

<img src="image3.png" alt="マイナンバーカード">


消費したトークンとその料金

  • 1ページスキャンして消費したトークン
    • 入力トークン:1,528
    • 出力トークン:918
  • 料金:0.00039ドル(約0.0585円)

評価

  • テキストの欠落はないか?
    • 欠落あり
    • 例えば以下の箇所
      • 「英語、中国語、韓国語、スペイン語、ポルトガル語対応のフリーダイヤル」の英語部分が欠落している
      • ポスタータイトルの「マイナンバーカードが健康保険として利用できます」
    • ポスター内の画像は意図を解釈しきれていない
  • マークダウン化できているか?
    • 会話は見出しを使い、箇条書きもそのまま記法に則って変換されている
    • 電話番号などの意味のある数字やも問題なく抽出されている
    • 気になった点
      • 「マイナンバーカードを持ち歩いて大丈夫なの?」の見出しが途中で改行されているせいか中途半端になっている点が残念
      • 見出しの構成も適当で大見出しが「よくある質問にお答えします」になっていてポスターの構成に従った見出しになっていない
  • 料金
    • 料金は1円以下で変わらず安い

精度は体感8割ほど、料金の割に意外と高いことに驚きました

Gemini 1.5 Pro

出力結果

PDFをスキャンしてmarkdown化した結果
よくある質問にお答えします

**マイナンバーを見られるのが<br>
不安です**

医療機関や薬局の窓口職員が、マイナンバーを<br>
取り扱うことはありません。<br>
もし見られたとしても、他人があなたのマイ<br>
ナンバーを使って、手続することはできない<br>
仕組みになっています。


**マイナンバーカードを<br>
持ち歩いて大丈夫なの?**

健康保険証として使えるようになっても、受診歴<br>
や薬剤情報などプライバシー性の高い情報が<br>
カードのICチップに入ることはありません。<br>
落としたり、失くしたりした場合は、フリーダイヤルで<br>
24時間365日体制でカードの一時利用停止を<br>
受け付けています。


**どこで利用できるの?**

マイナンバーカードを健康保険証として利用<br>
できる医療機関・薬局は、下のステッカーや<br>
ポスターが目印です!利用できる医療機関・<br>
薬局は、拡大しています。

| ステッカー | ポスター |
|---|---|
| マイナ受付<br>対応しています | マイナンバーカードが<br>保険証として使えます。<br>マイナンバーカードを保険証として使うと<br>事前に登録するだけで利用できます! |


厚生労働省のホームページ<br>
でも利用できる医療機関・<br>
薬局をご案内しています。


**マイナンバーカードの申請方法**

交付申請書をお持ちの方は、以下4つの方法から申請できます!

**スマートフォン**
* スマホで顔写真を撮影。
* スマホで交付申請書のQRコードを読み取る。
* 申請用WEBサイトでメールアドレスを登録。
* 申請者専用WEBサイトのURLが届いたら、<br>顔写真を登録、必要事項を入力して申請完了。

**パソコン**
* カメラで顔写真を撮影。
* 申請用WEBサイトでメールアドレスを登録。
* 申請者専用WEBサイトのURLが届いたら、<br>顔写真を登録、必要事項を入力して申請完了。

**証明用写真機**
* タッチパネルから「個人番号カード申請」を選択。
* 撮影用の料金を投入して、交付申請書のQRコードをバーコード<br>リーダーにかざす。
* 画面の案内にしたがって、必要事項を入力。
* 画面の案内にしたがって、顔写真を撮影して送信し、申請完了。

**郵便**
* 交付申請書に必要事項を記入し、6か月以内に<br>撮影した顔写真を貼り付けて郵送し、申請完了。


交付申請書をお持ちでない方は、
* 専用サイトから手書き用の交付申請書と封筒をダウンロードすれば、<br>郵便で申請ができます! プリントアウトしてご利用ください。<br>
※手書き用の交付申請書には、顔写真の貼付とマイナンバーの記入が必要です。
* 市区町村の窓口でも、交付申請書を再発行しています。<br>本人確認書類(運転免許証、パスポート等)を持参の上、お住まいの<br>市区町村へ行きましょう。

**マイナンバー制度・マイナンバーカードについてのお問合せ**<br>
マイナンバー総合フリーダイヤル<br>
**0120-95-0178** 平日 9:30~20:00<br>
※一部のIP電話等で上記ダイヤルに繋がらない場合<br>
マイナンバーカード等 050-3818-1250  その他のお問合せ 050-3816-9405<br>
9:30~17:30<br>
・英語、中国語、韓国語、スペイン語、ポルトガル語対応のフリーダイヤル<br>
*This telephone number is toll-free corresponding to English, Chinese, Korean, Spanish and Portuguese.*<br>
マイナンバー制度について 0120-0178-26<br>
*Inquiries about Social Security and Tax Number System.*<br>
マイナンバーカード等 0120-0178-27<br>
*Inquiries about Individual Number Card etc.*<br>
マイナンバーカードの申請方法はこちら↓<br>
https://www.kojinbango-card.go.jp/kofushinse/

令和4年7月改訂

**マイナンバーカードが<br>
健康保険証として<br>
利用できます!**

※利用できる医療機関・薬局については、裏面をご覧ください。<br>
※従来の健康保険証が利用できなくなるわけではありません。

公的個人認証サービスPRキャラクター マイキーくん<br>
マイナンバーPRキャラクター マイナちゃん<br>
デジタル庁 総務省 厚生労働省

消費したトークンとその料金

  • 1ページスキャンして消費したトークン
    • 入力トークン:1,528
    • 出力トークン:1,021
  • 料金:0.00702ドル(約1.0523円)

評価

  • テキストの欠落はないか?
    • 欠落はない
    • Flashで欠落していた英語やポスタータイトルも抽出されている
  • マークダウン化できているか?
    • 会話は見出しが使われていない
    • 箇条書きや改行までもそのままの形式になるように変換されている
    • ポスター内の画像についても意味を解釈して、テキスト化している点良い
    • 最初の書き出しが「よくある質問にお答えします」から始まるのでポスターの構成に従っていない
  • 料金
    • 料金は変わらず安い

見出しが効果的に使われていませんが、ほぼポスターの内容はそのままテキスト抽出されている。

Claudeの場合

出力結果

PDFをスキャンしてmarkdown化した結果
# マイナンバーカードが健康保険証として利用できます!

## マイナンバーカードの申請方法

### マイナンバーカード等
050-3818-1250

### その他のお問合せ
050-3816-9405

### ▼ 一部のIP電話等で上記ダイヤルに繋がらない場合
- マイナンバー制度について: 0120-0178-26
- マイナンバーカード等: 0120-0178-27

### ▼ 英語、中国語、韓国語、スペイン語、ポルトガル語対応のフリーダイヤル
This telephone number is toll-free corresponding to English, Chinese, Korean, Spanish and Portuguese.  
Inquiries about Social Security and Tax Number System. Inquiries about Individual Number Card etc.  
0120-95-0178

### マイナンバー総合フリーダイヤル
- 紛失・盗難によるマイナンバーカードの一時利用停止については24時間365日受付!
- 受付時間(年末年始を除く)
  - 平日 9:30~20:00
  - 土日祝 9:30~17:30

### マイナンバーカードの申請方法はこちら
https://www.kojinbangocard.go.jp/kofushinse/

## 交付申請書をお持ちの方は、以下4つの方法から申請できます!

### スマートフォン
1. スマホで顔写真を撮影
2. スマホで交付申請書のQRコードを読み取る
3. 申請用WEBサイトでメールアドレスを登録
4. 申請者専用WEBサイトのURLが届いたら、顔写真を登録、必要事項を入力して申請完了

※カードの仕上がりが早いスマホでの申請がおすすめ!

### パソコン
1. カメラで顔写真を撮影
2. 申請用WEBサイトでメールアドレスを登録
3. 申請者専用WEBサイトのURLが届いたら、顔写真を登録、必要事項を入力して申請完了

※交付申請書に記載の申請書IDが必要

### 証明用写真機
1. タッチパネルから「個人番号カード申請」を選択
2. 撮影用の料金を投入して、交付申請書のQRコードをバーコードリーダーにかざす
3. 画面の案内にしたがって、必要事項を入力
4. 画面の案内にしたがって、顔写真を撮影して送信し、申請完了

### 郵便
1. 交付申請書に必要事項を記入し、6か月以内に撮影した顔写真を貼り付けて郵送し、申請完了

## 交付申請書をお持ちでない方は、
1. 専用サイトから手書き用の交付申請書と封筒をダウンロードすれば、郵便で申請ができます!プリントアウトしてご利用ください。
※手書き用の交付申請書には、顔写真の貼付とマイナンバーの記入が必要です。

2. 市区町村の窓口でも、交付申請書を再発行しています。
本人確認書類(運転免許証、パスポート等)を持参の上、お住まいの市区町村へ行きましょう。

## よくある質問にお答えします

### マイナンバーを見られるのが不安です
医療機関や薬局の窓口職員が、マイナンバーを取り扱うことはありません。
もし見られたとしても、他人があなたのマイナンバーを使って、手続することはできない仕組みになっています。

### マイナンバーカードを持ち歩いて大丈夫なの?
健康保険証として使えるようになっても、受診歴や薬剤情報などプライバシー性の高い情報がカードのICチップに入ることはありません。
落としたり、失くしたりした場合は、フリーダイヤルで24時間365日体制でカードの一時利用停止を受け付けています。

### どこで利用できるの?
マイナンバーカードを健康保険証として利用できる医療機関・薬局は、下のステッカーやポスターが目印です!利用できる医療機関・薬局は、拡大しています。

厚生労働省のホームページでも利用できる医療機関・薬局をご案内しています。

※利用できる医療機関・薬局については、裏面をご覧ください。
※従来の健康保険証が利用できなくなるわけではありません。

令和4年7月改訂

消費したトークンとその料金

  • 1ページスキャンして消費したトークン
    • 入力トークン:3,295
    • 出力トークン:1,416
  • 料金:0.0311ドル(約4.669円)

評価

  • テキストの欠落はないか?
    • 欠落はない
  • マークダウン化できているか?
    • ポスターの構成ごとに見出しが効果的に使われており、つながりが明確
    • 構成もポスターのタイトルから始まっているが、次に問い合わせがある点を除けば良さそう
    • Geminiのようにimgタグがないので、ノイズにならずその後の利用がしやすそう
  • 料金
    • Gemini 1.5 Proの4倍
    • やはり高い

まとめ

複雑な構成になっているPDFだとClaudeの精度が高く良さそうです。一方で構成等気にしていなければGemini 1.5
Proでも十分利用できると思います。

LLM テキスト欠落 markdown化 料金
Gemini 1.5 Flash あり 約0.059円
Gemini 1.5 Pro なし 約1.052円
Claude 3.5 Sonnet なし 約4.669円

PDF to markdownの実装

LLMでPDFをスキャンしてmarkdownへ変換するために実装したコードをGPT・Gemini・Claudeそれぞれ紹介します。

コードは、全てPythonで実装しています。

前提条件

以下のファイル構成で実行しています

$ tree .
.
└── src
    ├── input
    │   ├── デジタル・ガバメント推進標準ガイドライン_113.pdf
    │   ├── デジタル・ガバメント推進標準ガイドライン_12.pdf
    │   └── マイナンバーポスター.pdf
    ├── output
    ├── pdf2md_claude.py
    └── pdf2md_gemini.py

inputフォルダにスキャン対象のPDFを配置しています。
outputフォルダには、コード実行後にmarkdownに変換された.mdファイルが配置されます

Gemini

依存関係

以下パッケージを利用しています

  • google-generativeai

コード

pdf2md_gemini.py
import os

import google.generativeai as genai

MODEL_NAME = "gemini-1.5-flash" # gemini 1.5 pro利用する際は「gemini-1.5-pro」に置き換え
MODEL_NAME_FOR_OUTPUT = "gemini-1-5-flash" # gemini 1.5 pro利用する際は「gemini-1-5-pro」に置き換え
API_TOKEN = "xxx"
SYSTEM_PROMPT = "このPDFの内容を余すことなくmarkdown形式に変換してください。また、内容はまとめないでオリジナルの内容をそのまま複写することを意思してください。出力はmarkdown形式のみ、不要な出力はしないでください。"

def pdf2md(pdf_filepath: str):
    # LLMの設定
    genai.configure(api_key=API_TOKEN)
    model = genai.GenerativeModel(MODEL_NAME)

    # 対象のPDFをアップロード
    pdf = genai.upload_file(pdf_filepath)

    # アップロードしたPDFをmarkdown形式に変換するようLLMに指示
    response = model.generate_content([
        SYSTEM_PROMPT,
        pdf
    ])

    # 消費したトークンの表示
    print(f"input token: {response.usage_metadata.prompt_token_count}")
    print(f"output token: {response.usage_metadata.candidates_token_count}")
    print(f"total token: {response.usage_metadata.total_token_count}")
    return ''.join([chunk.text for chunk in response])


# inputフォルダにあるPDFファイル名一覧を取得
def list_files_in_folder(folder_path: str) -> list[str]:
    try:
        # 指定したフォルダ内のファイル一覧を取得
        files = os.listdir(folder_path)
        # ファイルのみをフィルタリング
        file_list = [f for f in files if os.path.isfile(os.path.join(folder_path, f))]
        return file_list
    except Exception as e:
        print(f"エラーが発生しました: {e}")
        return []


if __name__ == "__main__":
    for pdf_file in list_files_in_folder("./src/input"):
        print(f"file_name: {pdf_file}")
        # pdfをmarkdownに変換
        md_content = pdf2md(f"./src/input/{pdf_file}")

        # 出力されたmarkdownを.md形式の新規ファイルに書き込む
        output_file = pdf_file.replace(".pdf", ".md")
        with open(f"./src/output/{MODEL_NAME_FOR_OUTPUT}_{output_file}", "w") as f:
           f.write(md_content)

$ python ./src/main.py

Claude

依存関係

以下パッケージを利用しています

  • anthropic

コード

pdf2md_claude.py
import os
import base64

import anthropic

MODEL_NAME = "claude-3-5-sonnet-20241022"
MODEL_NAME_FOR_OUTPUT = "claude-3-5-sonnet"
API_TOKEN = "sk-xxx"
SYSTEM_PROMPT = "このPDFの内容を余すことなくmarkdown形式に変換してください。また、内容はまとめないでオリジナルの内容をそのまま複写することを意思してください。出力はmarkdown形式のみ、不要な出力はしないでください。"

def pdf2md(pdf_filepath: str):
    # 変換対象のPDFをバイナリデータとして取得
    with open(pdf_filepath, "rb") as pdf_file:
        # Setp 1: basee64 encode pdf
        pdf_data = base64.b64encode(pdf_file.read()).decode("utf-8")

    # LLMの設定
    client = anthropic.Anthropic(api_key=API_TOKEN)
    # アップロードしたPDFをmarkdown形式に変換するようLLMに指示
    response = client.beta.messages.create(
        model="claude-3-5-sonnet-20241022",
        betas=["pdfs-2024-09-25"],
        max_tokens=4000,
        messages=[
            {
                "role": "user",
                "content": [
                    {
                        "type": "document",
                        "source": {
                            "type": "base64",
                            "media_type": "application/pdf",
                            "data": pdf_data
                        }
                    },
                    {
                        "type": "text",
                        "text": SYSTEM_PROMPT
                    }
                ]
            }
        ],
    )

    # 消費したトークンの表示
    print(f"input token: {response.usage.input_tokens}")
    print(f"output token: {response.usage.output_tokens}")
    print(f"total token: {response.usage.input_tokens + response.usage.output_tokens}")
    return ''.join([chunk.text for chunk in response.content])

# inputフォルダにあるPDFファイル名一覧を取得
def list_files_in_folder(folder_path: str) -> list[str]:
    try:
        # 指定したフォルダ内のファイル一覧を取得
        files = os.listdir(folder_path)
        # ファイルのみをフィルタリング
        file_list = [f for f in files if os.path.isfile(os.path.join(folder_path, f))]
        return file_list
    except Exception as e:
        print(f"エラーが発生しました: {e}")
        return []


if __name__ == "__main__":
    for pdf_file in list_files_in_folder("./src/input"):
        print(f"file_name: {pdf_file}")
        # pdfをmarkdownに変換
        md_content = pdf2md(f"./src/input/{pdf_file}")

        # 出力されたmarkdownを.md形式の新規ファイルに書き込む
        output_file = pdf_file.replace(".pdf", ".md")
        with open(f"./src/output/{MODEL_NAME_FOR_OUTPUT}_{output_file}", "w") as f:
           f.write(md_content)

おわりに

ClaudeとGeminiそれぞれのPDFの読み込み精度を比較してみました。
Cladueは1リクエストあたり1円以上かかってしまうので、大量の社内ドキュメントや書籍などのスキャンが必要でかつ精度が求められる場合はGemini 1.5 Proが良さそうでした。

Claudeはポスターや図や画像が多い資料のスキャンなど単発で精度が求められる場合に有効です。

1度markdown化しておけば、LLMへの活用も容易になります。LLMを使った分析やRAGなどにも活用できるでしょう。ぜひ、ユースケースにあわせてご活用ください!

株式会社ZOZO

Discussion