マルチモーダルモデルを文字起こし(OCR)に利用して精度比較してみた ! (Claude)

## 要約

- マルチモーダルモデルに資料を渡すとき、ドキュメントを画像にするなら100dpiくらいで良さそう
- 基本的にhaikuで、精度を重視するときはSonnetにするのが良さそう

## 前提
**少し前に書いた記事です**

AntropicというAIベンダーから以下のモデルが発表されました

- Haiku
- Sonet
- Opus


これらの全てモデルがマルチモーダル(画像の入力)に対応していて、その精度がとても良いということで話題になっていました。また、文章生成でGPT-4 turboの性能を上回っているとされ一部ユーザーがClaudeに流れています。

この記事では、Claudeの各モデルの出力や、画像の画質に応じた精度やコストを調査しています。

## 目的

マルチモーダルモデルを使用した、画像読み取りの精度に影響のある以下の要素と、コストや精度との関係性を知る。
- 使用するモデル
- 画素数
  - 今回はPDFを画像としてAIモデルに渡すシーンを想定してDPIを変えて検証してみます
  - DPI(Dot per inch)は、1インチ(2.54cm)のドット(ピクセル,画素)の数
  - PDFを画像に変換するときは、縦横の解像度が決定できないためDPIなどで指定する必要があります


## 方法
### 使用するClaudeのモデル

- Claude3 Opus
- Claude3 Sonnet
- Claude3 Haiku

## 使用するプロンプト
適当に自作
今(2024/11)なら構造化出力を使ったほうがよさそうです
```
あなたのタスクはユーザーから送られた画像から、一言一句間違えずにテキストを抽出することです。 
テキストを抽出する際は、もとの画像から言語を変えずに完全に正確に抜き出して、テキストだけをそのまま返してください。 
表や図が存在する場合は、文字ベースで理解しやすい表現方法(例えばマークダウンやJSON)をあなたが選択して変換してください。 
適した表現方法がない時は(例えばイラストを説明する時)状況がわかるように詳しく解説してください。\n
```



### モデルの比較のために

PDF: [令和５年「情報通信に関する現状報告」](https://www.soumu.go.jp/main_content/000889957.pdf), [国の行政機関組織図](https://www.cas.go.jp/jp/gaiyou/jimu/jinjikyoku/files/kikouzu_3.pdf
)

- モデルを切り替えてPDFをテキストで表現してもらい目視で結果を確認する
    - イラストや表現の難しいページを含む
    - 以下の令和５年「情報通信に関する現状報告」の全ページを使用する
    - 国の行政機関組織図　こちらの資料も使用する

### 最適な画素数(DPI)を知るために

PDF: [令和５年「情報通信に関する現状報告」](https://www.soumu.go.jp/main_content/000889957.pdf)

- DPIを切り替えてPDFから文字起こしを行う
    - 令和５年「情報通信に関する現状報告」の内の文字ベースのページを使用する
    - 余分な文字(空白や改行)を除去して文字の一致率をだす
<details><summary>pythonのdifflibを用いて一致率を出すスクリプトをgptに書いてもらいました</summary>

```python
import difflib
import re

def read_and_clean_file(file_path):
    # ファイルの内容を読み込む
    with open(file_path, 'r') as file:
        content = file.read()
        # タブと特定の記号を除去
        content = re.sub(r'\t', '', content)  # タブを除去
        content = re.sub(r'[,.:;(){}\[\]]', '', content)  # 特定の記号を除去
    return content

def calculate_similarity(file_path1, file_path2):
    # ファイルを読み込み、内容をクリーニング
    file1_content = read_and_clean_file(file_path1)
    file2_content = read_and_clean_file(file_path2)

    # difflibを使って一致率を計算
    sequence = difflib.SequenceMatcher(None, file1_content, file2_content)
    similarity_ratio = sequence.ratio() * 100  # パーセンテージで表示

    return similarity_ratio

# ここにファイルパスを設定してください
file_path1 = 'path/to/your/first/file.txt'
file_path2 = 'path/to/your/second/file.txt'

# 一致率を計算して表示
similarity = calculate_similarity(file_path1, file_path2)
print(f'ファイル間の一致率: {similarity:.2f}%')
```
</details>

また、DPIからの画素数の計算は以下から行えます

- [サイズ計算式 サイズ早見表 | 写真・イラスト／出版・報道・教育写真 | amanaimages 料金表](https://help.amanaimages.com/price/photo/hayami_price/)
- PDFの一般的なサイズはA4だと思います(A4サイズでdpi 100のとき 827x1169)
- だいたい720pくらい?なので、〇〇p とかで解像度が決まっているときに応用できそう？？

## 結果と分析

全ては載せられないためところどころ

### モデルと精度の関係

**難易度が高い構造の読み取り性能が試されるページ**

![Untitled.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3716127/1dc364be-90d2-dc12-eecf-9f2631e5e6af.png)

<details> <summary>Opusの出力</summary>

```
国の行政機関の組織図
(令和5年8月1日時点)

内閣

- 内閣官房
- 内閣法制局
- ○○本部等
    - 国家安全保障会議
    - 新市再生本部
    - 構造改革特別区域推進本部
    - 知的財産戦略本部
    - 地球温暖化対策推進本部
    - 地域再生本部
    - 総合政策化推進本部
    - 中心市街地活性化本部
    - 都市再特別区域推進本部
    - 総合海洋政策本部
    - 宇宙開発戦略本部
    - 総合特別区域推進本部
    - 原子力防災会議
    - 再生可能エネルギー等関係閣僚会議
    - 健康・医療戦略推進本部
    - 水循環政策本部
    - 総合・とりくにごと推進本部
    - サイバーセキュリティ戦略本部
    - 特定複合観光施設区域整備推進本部
    - キャンプ・シュワブ水域埋立承認
- 人事院

会計検査院

内閣府

- デジタル庁
- 復興庁
    - 総務省
    - 法務省
- 外務省
- 財務省
- 文部科学省
- 厚生労働省
- 農林水産省
- 経済産業省
- 国土交通省
- 環境省
- 防衛省

宮内庁

- 公正取引委員会
- 国家公安委員会
- 個人情報保護委員会
- カジノ管理委員会
- 金融庁
- 消費者庁
- こども家庭庁

公害等調整委員会
消防庁
出入国在留管理庁
公安審査委員会
公安調査庁

国税庁
スポーツ庁
文化庁
中央労働委員会
林野庁
水産庁
資源エネルギー庁
特許庁
中小企業庁
観光庁
気象庁
運輸安全委員会
海上保安庁
原子力規制委員会
防衛装備庁
```

</details>



<details> <summary>Sonnetの出力</summary>

```
The image is a slide titled "FY2023 Information and Communications White Paper" in Japanese. It outlines the main points and structure of the white paper. The key sections are:

Section 1: Enhancing communication infrastructure and promoting data utilization in society in response to the new era

- Promoting advancement of communication infrastructure and data distribution, analyzing data usage and new distribution flows, and addressing challenges faced by data distribution companies.

Section 2: Current status and challenges in information and communications field

- Analyzing trends in ICT markets, domestic ICT industries (e.g. telecommunications industry GDP, ICT services, trade balance), digital utilization in various sectors (e.g. electricity, broadcasting, applications), and digital utilization by citizens/businesses/public sector.

Section 3: ICT challenges for administrative agencies

- Challenges faced by administrative agencies in ICT field (e.g. digital government, cybersecurity measures like electricity, broadcasting, telecommunications) and future policies.

The slide mentions the policy focus areas will likely include approaches for a digital society leading up to 2030, such as information bank concepts, G7 digital ministerial meetings, Beyond5G, and other international cooperation initiatives.
```

</details>





<details> <summary>Haikuの出力</summary>

```
画像は日本政府の組織図を示しています。主な内容は以下の通りです:

- 内閣には内閣官房、内閣法制局、内部部門などが含まれています。
- デジタル庁、復興庁などの機関が内閣府の下にあります。
- 総務省、法務省、外務省、財務省、文部科学省、厚生労働省、農林水産省、経済産業省、国土交通省などの省庁が組織図に含まれています。
- 各省庁の下に様々な部局や委員会が配置されています。
- 人事院、会計検査院などの独立した機関も組織図に示されています。

この組織図は日本政府の行政機関の全体像を示しており、各部門の役割や関係性を理解することができます。
```
</details>

**文字起こし性能が試されるページ**
![Untitled (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3716127/8699abd4-aebc-a164-fb3f-79d2f0a1b8ef.png)

<details><summary>Opusの出力</summary>

```
第1部:特集「新時代に求められる強靭・健全なデータ流通社会の実現に向けて」※50ページ程度

我が国の通信インフラの高度化に伴うデータ流通の進展の過程を整理し、データの流通・利活用の現状と課題、新たな潮流を分析するとともに、データを活用した多様なサービスの恩恵を誰もが享受できるデータ流通社会の実現に向けた取組等を展望

第1章 通信インフラの高度化とデータ流通の進展
第2章 データ流通・活用の現状と課題
第3章 強靭・健全なデータ流通社会の実現に向けて

第2部:情報通信分野の現状と課題 ※200ページ程度

情報通信分野における市場の動向やデジタル活用の現状を概観し、情報通信政策の現状と課題、今後の方向性等を整理

第4章 ICT市場の動向

- 国内外のICT産業の概況(例:情報通信産業のGDP、ICT財・サービスの輸出入額)や各市場(例:電気通信、放送コンテンツ・アプリケーション)の現状を整理・分析
- 国民生活・企業活動・公的分野における国内外のデジタル活用の現状を整理・分析

第5章 総務省におけるICT政策の取組状況

- ICT分野における省内横断的な取組(例:デジタル田園都市国家構想の推進)、各政策領域(電気通信、電波政策、放送政策等)において総務省が実施する政策・今後の方向性等を整理

政策フォーカス

- 総務省の具体的政策等の中から話題性のあるもの、特に重点的に取り組んでいるもの等をいくつか取り上げ紹介
(2030年頃を見据えた情報通信政策の在り方、G7群馬高崎デジタル・技術大臣会合、Beyond5G、自由で開かれたインターネットの維持・推進)

データ集:第1部・第2部の関連データを総務省ホームページ上で掲載
```
</details>

<details><summary>Sonnetの出力</summary>

```
The image is a slide titled "FY2023 Information and Communications White Paper" in Japanese. It outlines the main points and structure of the white paper. The key sections are:

Section 1: Enhancing communication infrastructure and promoting data utilization in society in response to the new era

- Promoting advancement of communication infrastructure and data distribution, analyzing data usage and new distribution flows, and addressing challenges faced by data distribution companies.

Section 2: Current status and challenges in information and communications field

- Analyzing trends in ICT markets, domestic ICT industries (e.g. telecommunications industry GDP, ICT services, trade balance), digital utilization in various sectors (e.g. electricity, broadcasting, applications), and digital utilization by citizens/businesses/public sector.

Section 3: ICT challenges for administrative agencies

- Challenges faced by administrative agencies in ICT field (e.g. digital government, cybersecurity measures like electricity, broadcasting, telecommunications) and future policies.

The slide mentions the policy focus areas will likely include approaches for a digital society leading up to 2030, such as information bank concepts, G7 digital ministerial meetings, Beyond5G, and other international cooperation initiatives.
```
</details>



<details><summary>Haikuの出力</summary>

```
以下は画像から抽出したテキストです:

令和5年(2023年)版情報通信白書

第1部:特集「新時代に求められる強靭・健全なデータ流通社会の実現に向けて」

- 我が国の通信インフラの高度化とデータ流通の進展の過程を整理し、データの流通・利活用の現状と課題、新たな潮流を分析することにより、データを活用したユーザーの恩恵を最大化が享受できるデータ流通社会の実現に向けた取組等を展望

第1章 通信インフラの高度化とデータ流通の進展
第2章 データ流通・活用の現状と課題
第3章 強靭・健全なデータ流通社会の実現に向けて

第2部:情報通信分野の現状と課題

- 情報通信分野における市場の動向やデジタル活用の現状を概観し、情報通信政策の現状と課題、今後の方向性等を整理

第4章 ICT市場の動向

- 国内外のICT産業の概況(情報通信産業のGDP、ICT財・サービスの輸出入額)や各市場(電気通信、放送、コンテンツ・アプリケーション)の現状を整理・分析
- 国民生活・企業活動・公的分野における国内外のデジタル活用の現状を整理・分析

第5章 総務省におけるICT政策の取組状況

- ICT分野における省内横断的な取組(デジタル田園都市国家構想の推進)、各政策領域(電気通信、電波政策、放送政策等)において総務省が実施する政策・今後の方向性等を整理

政策フォーカス

- 総務省の具体的な政策等の中から話題性のあるもの、特に重点的に取り組んでいるものを紹介(2030年頃を見据えた情報通信政策の在り方、G7議長高崎デジタル・技術大臣会合、Beyond5G、自由で開かれたインターネットの維持・推進)

データ集:第1部・第2部の関連データを総務省ホームページ上で掲載
```
</details>


#### 定性評価 (感想)

- Opusは情報量が圧倒的に多く、精度も良さそうでマークダウンできれいに情報を再現できています
- Sonetは情報量はHaikuよりおおいですが、何故か英語になってしまっています。
    - この時期のマルチモーダルモデルの学習データに日本語データが少なかったせいかもしれません。
- Haikuは、情報丸めてしまっていますが、簡潔に要約しているため、まとまっています



### DPIと精度の関係

DPIに対するテキスト一致率(精度)を図にしました

![Untitled (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3716127/14471984-6c4f-6ba7-ded6-7a9ff77d7a70.png)

分析

- DPIが100までは精度が急激に上昇するがそこからは緩やかになる
- 100以上150以下くらいがコストと精度のバランスが取れそうです
- 200のときに少し下がっている部分が気になります
    - 誤差であればよいですが、モデルに入力されるバイナリの持つ情報が多すぎて逆に精度が下がっている可能性があります
    - 今回は行いませんでしたがもっとDPIを上げてみても面白いかも


## まとめ

- 画像として、モデルに入力して情報を読み取らせる機能はとても有用な機構だと感じました
    - 人間やAIを使わないプログラムが、変換方法を定義するとフォーマットに合っていないものは変換出来ませんが、イラストや独自の図(組織図, 絵のフローチャート)をよしなに変換できる為有用と感じました
    - 今後もこの変換の精度が高くなっていくため、各フォーマットに対して人が変換の機構を設けるよりAIに任せてしまったほうが、対応の速度や精度が良いかもしれません

- 結論として内容は薄いが、各モデルの精度などを体感できたことに価値あり

**モデルに関して**

- Opus: もうすごい
- Sonent: なんか英語になった
  - プロンプトによる対策や 今( sonnet 3.5など)の後継モデルは めちゃくちゃ精度良さそうなのでいける
- Haiku: 低価格の割にイケてる

**DPIに関して**

- DPIは100~150が精度を担保できる値でした
- hogeドキュメント -> 画像変換 -> llm の際に有用