GPT-4oモデルのOCR性能を検証してみる

本記事では、新しくリリースされたGPT-4o、GA版がリリースされたGPT-4 Turbo with Vision、およびAzure AI Document Intelligenceを使用した日本語文書のOCR性能を比較検証しています。

AIモデルを通じた画像からの文字抽出テストを行い、文字一致率の計算方法を定義して結果を分析しました。

使用するモデル

以下2つのモデルとOCRサービスで比較しました。

また、GPTモデルについては画像の読み取りにlow, high, autoモードが選択できますが、highモードとします。

モデル/サービス名 バージョン 検証方法
GPT-4o 2024-05-13 独自にシステムプロンプトを定義してAPI経由で画像をリクエスト
GPT-4 turbo-2024-04-09 独自にシステムプロンプトを定義してAPI経由で画像をリクエスト
Azure AI Document Intelligence - サンプルソースに従ってAPIに画像をリクエスト

検証用データ

JBSのIR情報のうち、2022年9月期決算短信〔日本基準〕(非連結)のpdfファイルを使用してOCRの検証を行いました。このファイルは全15ページあり、全てに対してOCRを行いました。

元ファイルは以下をご参照ください。

株主・投資家情報|JBS 日本ビジネスシステムズ株式会社

プログラム

OCR用プロンプト

GPT-4oとGPT-4 Turbo with Visionに使用したプロンプトは次の通りです。

日本語に翻訳したプロンプトだと性能が低くなる傾向があったため、OCR用プロンプトには英語を選択しています。また読み取りの途中でOCRに失敗して中国語に変換されてしまうなどの事例があったため、今回は日本語の文書に限定しています。

    messages = [
        {
            "role": "system",
            "content":  "You are an AI for optical character recognition. You extract all characters from an image file and use only the extracted text for your response. The documents are written in Japanese."
        },
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Please extract all characters within the image. Return the only extacted characters."
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": f"data:image/jpeg;base64,{b64_image}",
                        "detail": "high"
                    }
                }
            ]
        }
    ]

一致率の計算

文字同士の一致率は次の関数で計算します。

import difflib
from itertools import combinations

def calculate_similarity(str1, str2):
    sequence_matcher = difflib.SequenceMatcher(a=str1, b=str2)
    similarity_ratio = sequence_matcher.ratio()
    return similarity_ratio

strings = {
    'ground_truth': "",
    'document_ocr': "",
    'gpt4_vision': ""
    'gpt4o': ""
}

ground_truth = strings['ground_truth']
model_keys = ['document_ocr', 'gpt4_vision', 'gpt4o']
for model in model_keys:
    similarity = calculate_similarity(ground_truth, strings[model])

検証結果

Ground Truthとの一致率

モデル名 一致率(平均)
GPT-4o 9.03%
GPT-4 Turbo with Vision 8.74%
Azure AI Document Intelligence 68.39%

全体では上記の通りAzure AI Document Intelligenceが最も高いスコアを示し、GPTモデルは一致率が非常に低くなりました。

数値などの表が主なページではGPTモデルはいずれも10%以下、Document Inteligenceでも高くて50%台となりました。一方で、文字列のみが書かれているページでもGPTモデルは10~40%程度、Document Inteligenceでは常に90%以上と高い傾向を示しました。

貸借対照表や損益計算書などの数値が主なページでは一致率が低く、文字列のみが書かれているページは高くなる傾向がありました。

決算文書のため表のみのページが多く、全体としては一致率が低くなりましたが、単に文章のみの書類であればより高い一致率スコアが得られたと考えます。

読み取り文章の誤りについて

4ページ目には文字列が多く書かれているページがあるため、こちらを使ってどのような誤りが発生したのかを分析します。

特徴的だったこのページの一致率は次の通りです。

モデル名 一致率
GPT-4o 41.35%
GPT-4 Turbo with Vision 49.58%
Azure AI Document Intelligence 94.41%

上記の通り、いずれも高い一致率を示しました。

どのような間違いがあったのか、特徴的なケースをピックアップしました。

Ground Truth GPT-4o GPT-4 Turbo with Vision Document Intelligence
日本ビジネスシステムズ(株)(5036) 2022年9月期 決算短信 日本ビジネスシステムズ(株)(5036) 2022年9月期 決算短信 日本ビジネスメッセージ協会(仮) (6306) 2022年9月期 決算短信 日本ビジネスシステムズ(株)(5036) 2022年9月期 決算短信
このような環境のもと、当社は市場拡大が続くパブリッククラウド市場において、マイクロソフト社製品を中心に、価値のデザインから構築、利活用促進までを一気通貫で担えるソリューション提供力を強みに、大手エンタープライズを中心とした取引の拡大を実現してまいりました。当社は継続的な先進デジタルサービス提供が評価されマイクロソフト ジャパン パートナー・オブ・ザ・イヤーを2022年も受賞し、10年連続の受賞となりました。 株式市場においても、当社株価は史上高値更新を続くベンチマーククラウド市場において、マイクロソフト製品を中心に、価値のデザインから開発、利用手続きまでワーク業務で一気通貫で超えスクリームを提供を強化、大手エンタープライズユーザーとしても取り込みコストを吸収しています。営業利益率的な米国デジタル経済政策の影響も受けたマイクロソフト コンバージェンス パートナー・オブ・ザ・イヤーを2022年も受賞し、10年以上連続の受賞となりました。 これにより遅れとも見られて、当社は顧客対応にパワーチャンネルに力をフル活用とおいて、「マイクロソフト社製品を中心\nに、価値の判断から構築等、利活用推進を実て最新情報でスリリングなコンテンツ提供を始めた次世、大手ポータ\nブ ク ッ フ ウ ェ ッ バ ー が ポっ ワ― ート を た―チャ ェ ッ . 」 イ ー を2022年も控えて、10年連続の受賞をいただきました。 このような環境のもと、当社は市場拡大が続くパブリッククラウド市場において、マイクロソフト社製品を中心 に、価値のデザインから構築、利活用促進までを一気通貫で担えるソリューション提供力を強みに、大手エンター プライズを中心とした取引の拡大を実現してまいりました。当社は継続的な先進デジタルサービス提供が評価され マイクロソフト ジャパン パートナー·オブ·ザ·イヤーを2022年も受賞し、10年連続の受賞となりました。
以上の結果、当事業年度の経営成績は、売上高は86,325百万円(前期比15.2%増)、営業利益は4,052百万円(前期比78.2%増)、経常利益は4,252百万円(前期比79.9%増)、当期純利益は2,647百万円(前期比69.7%増)となりました。 以上の成果、当事業年度の経営成績は、売上高は186,325百万円(前期比15.2%増)、営業利益は4,052百万円(前期比7.2%増)、経常利益は4,252百万円(前期比7.9%増)、当期純利益は2,647百万円(前期比6.7%増)を達成しました。 プロ案部として、当事業年度の結核許議、売上高1,836, 325百万円(前期比15. 2%増)、営業利益4,052百万円\n(前期比78. 2%増)、経常利益は4, 252百万円(前期比79. 9%増)、当期純利益は2, 647百万円(前期比69. 7%増)\nとなりました。 以上の結果、当事業年度の経営成績は、売上高は86,325百万円(前期比15.2%増)、営業利益は4,052百万円 (前期比78.2%増)、経常利益は4,252百万円(前期比79.9%増)、当期純利益は2,647百万円(前期比69.7%増) となりました。

一致率ではGPTモデルは両方とも低い結果でしたが、上記の通り間違えた理由はそれぞれ異なります。

いずれもハルシネーションを起こしているという点では変わりませんでしたが、GPT-4 Turbo with Visionは日本語として意味が通らない項目も目立ち、GPT-4oは日本語としては正しいものの、元の文書に存在しない文章や単語を生成してしまうケースが多数みられました。

また、数値の読み取りに関しても、GPTモデルでは元の値と異なる数値を返すケースが多く見られました。

結論

Azure OpenAI Serviceでも、GPT-4oやGPT-4 turbo With VisionのGA版がリリースされたので、こちらでOCR性能を検証しました。

これらのマルチモーダルモデルは非常に強力な認識機能を有しており、資料の内容を大まかに読み取ることができます。ただ、詳細な数値を間違えるケースも多く、ハルシネーションを起こすことを考えると、OCRを期待しての利用は難しいと考えます。

一方で、Document Inteligenceと組み合わせて認識性能を高めることができることが分かりました。よって、RAGなどに活用する際などには、LLM単独ではなく、既存のOCRサービスと併用して、マルチモーダルAIとして利用するのがよいと思います。

執筆担当者プロフィール
西野 佑基

西野 佑基(日本ビジネスシステムズ株式会社)

機械学習系ソリューション開発、業務Webアプリ開発、開発環境自動化などを担当。

担当記事一覧