Claude3で認識できる文字のサイズを簡単に調べてみた
はじめに
新規事業部 生成AIチーム 山本です。
ChatGPT(OpenAI API)をはじめとしたAIの言語モデル(Large Language Model:以下、LLM)を使用して、チャットボットを構築するケースが増えています。通常、LLMが学習したときのデータに含まれている内容以外に関する質問には回答ができません。そのため、例えば社内システムに関するチャットボットを作成しようとしても、素のLLMでは質問に対してわからないという回答や異なる知識に基づいた回答が(当然ながら)得られてしまいます。
この問題を解決する方法として、Retrieval Augmented Generation(以下、RAG)という手法がよく使用されます。RAGでは、ユーザからの質問に回答するために必要そうな内容が書かれた文章を検索し、その文章をLLMへの入力(プロンプト)に付け加えて渡すことで、ユーザが欲しい情報に関して回答させることができます。
以前の記事では、RAGを構成する際に大きな課題となっている「ドキュメントが意図しない読み込まれ方になってしまう」という問題に対して、Claude3にパワーポイントのスクリーンショットを画像として読ませることで、人間が読むような形のテキストに起こせることを確認しました。
Claude3を使って人間が読むようにパワポ資料を読み込んでみる | DevelopersIO
上記の記事では書いて無いのですが、Claude3で文字起こしを試していた際に、文字のサイズが小さいと文字認識が悪いケースがありました。この記事では、文字のサイズがどれくらいまでなら認識できるかについて、簡単に調べてみた内容について記載します。
※ 今回自分が用意した資料で試した結果です。すべてのケースで当てはまるわけではなく、条件によって異なることが予想されますので、参考程度にご覧ください。
試したこと
用意した画像(対象データ)
文字起こしする対象とする画像データとして、以下のpngファイルです。ChatGPTで適当な文章を生成し、それをパワーポイントに貼り付け、スクリーンショット画像を作成しました。英数字・ひらがな・カタカナ・記号も含んでいるものです。
文字起こしの方法
Claude3のWorkbench(https://console.anthropic.com/workbench)を使い、画像をアップロードし、以下のプロンプトを入力しました
書かれている文字をテキストに起こしてください
試したパラメータ(モデル・画像サイズ)
モデルとして、以下の3つを試しました。
- claude-3-opus-20240229(以下、Opus)
- claude-3-sonnet-20240229(以下、Sonnet)
- claude-3-haiku-20240229(以下、Haiku)
画像サイズは以下のものを試しました。それぞれの1文字のピクセルサイズは以下のとおりです。
- 1466 x 783、1文字あたり:26px程度(以下、オリジナル)
- 1100 x 587、1文字あたり:20px程度(以下、大)
- 733 x 391、1文字あたり:13px程度(以下、中)
- 367 x 195、1文字あたり:7px程度(以下、小)
(大はオリジナルの3/4、中はオリジナルの2/4、小はオリジナルの1/4です)
結果
それぞれのモデル・画像サイズで文字起こしした結果は下の表のとおりでした。文字起こしされた実際のテキストは、ページ末尾の「付録」の節をご覧ください。
Opus | Sonnet | Haiku | |
---|---|---|---|
画像サイズ:オリジナル | ◎ 合ってる |
◎ 合ってる |
◎ 合ってる |
画像サイズ:大 | ◎ 合ってる |
◯ ほぼ合ってる (ミス3箇所) |
◯ ほぼ合ってる (ミス2箇所) |
画像サイズ:中 | ◯ ほぼ合ってる (ミス2箇所) |
△ 間違い (文脈は合ってる) |
△ 間違い (文脈は合ってる) |
画像サイズ:小 | ✕ 間違い |
✕ 間違い |
✕ 間違い |
※ 矢印が変わってしまった(「⇛」が「→」になってしまっている)点や、「!」が半角になってしまった点などが見られますが、意味的には変わらないので、以下では正しく起こせたともの判断し、「合ってる」と判定しました。また、改行が有る場合と無い場合がありましたが、この違いは判定に含めず、テキスト内容のみで判定しました。
分析
- 文字起こしをさせるには、ある程度文字サイズが大きい必要がある。13px程度が目安
- プロンプトでの指示の与え方、文字のフォント・行間スペース・装飾などの条件によって変わることが、十分予想されます。目安程度に考えてください。
- 10px程度の文字サイズは、多くのドキュメントに含まれていそうなので、もう少し精度良く文字起こしができるようにしたいところです
- RAGで使うためのドキュメントを読ませるために使うケースだと、文字のサイズを保つために、画像サイズを大きく保つ必要がありそうです。大きめの画像を用意すればいいですが、使用トークン量が増えコストがかかってしまうという点が気になります。ファイルの内容ごとに調整する方法も考えられますが、毎回中で使われている文字のサイズを調べる処理を実装するのが手間な点や、一番小さい文字はページ数やヘッダ・フッタであるケースが予想され、それらに合わせると(本文を読み取るには)無駄に大きな画像になってしまいそうな点が気になります。
- 文字サイズが小さくても、モデルサイズが大きいもの(Opus)を使えば、認識できそう
- ただし、大きいモデルの方が利用料が高く、コストが上がってしまう(トレードオフがある)点には注意が必要です
まとめ
Claude3を使い、文字として読み込めるサイズを簡単に調べてみました。結果、13px程度より小さくなってしまうと、文字としては読めない可能性がありそうなことがわかりました。また、Opusの方が、SonnetやHaikuよりも、文字起こしの精度が高そうなことがわかりました。
文字起こし用に特化されたものではないので、ある程度の文字サイズより小さくなると、読めないのは妥当なことだと思います。ただ、ドキュメントにはもう少し小さい文字(10px程度)が含まれていることが予想されるので、もう少し精度をあげたいところです。そのための方法として、従来のOCR用のAIを組み合わせてみることでミスを減らせないか、今後試してみたいと思います。
付録
画像サイズ:オリジナル
Opus:合ってる
旅程: ・Day 1: 金閣寺→銀閣寺→哲学の道。夜は祇園を散策し、「#京都グルメ」を楽しみます。 ・Day 2: 清水寺→伏見稲荷大社。ここでは、赤い鳥居が印象的な「伏見稲荷大社」を訪れます。 飛行機のチケットは、事前にウェブサイトで予約しました。ホテルは予約サイトで探し、中心地に近いコ ンビニエントな場所を選びました。 食事: ・京都では、さまざまな料理を試しました。特に、「寿司」「ラーメン」「抹茶スイーツ」は絶品でした。 ・「特注 京都限定の抹茶ビール」も試す価値あり! 気に入った場所: 1. 「金閣寺」- 金ピカの外観が美しい。 2. 「清水寺」- 木造の舞台からの眺めが最高。 3. 「伏見稲荷大社」- 無数に続く鳥居をくぐる体験は唯一無二。 感想: この旅行で、文化と自然の美しさを存分に感じることができました。特に、伝統とモダンが融合する京都 の街並みは、忘れがたい印象を残しました。また、「友人宛にポストカードを送る」という体験も心に 残っています。 次回訪れる際には、秋の「紅葉狩り」を計画しています。京都の美しさを再び体験できることを楽しみに しています。
Sonnet:合ってる
旅程: ・Day 1: 金閣寺→銀閣寺→哲学の道。夜は祇園を散策し、「京都グルメ」を楽しみます。 ・Day 2: 清水寺→伏見稲荷大社。ここでは、赤い鳥居が印象的な「伏見稲荷大社」を訪れます。 飛行機のチケットは、事前にウェブサイトで予約しました。ホテルは予約サイトで探し、中心地に近いコンビニエントな場所を選びました。 食事: ・京都では、さまざまな料理を試しました。特に、「寿司」「ラーメン」「抹茶スイーツ」は絶品でした。 ・「特注 京都限定の抹茶ビール」も試す価値あり! 気に入った場所: 1. 「金閣寺」-金ピカの外観が美しい。 2. 「清水寺」-木造の舞台からの眺めが最高。 3. 「伏見稲荷大社」-無数に続く鳥居をくぐる体験は唯一無二。 感想: この旅行で、文化と自然の美しさを存分に感じることができました。特に、伝統とモダンが融合する京都の街並みは、忘れがたい印象を残しました。また、「友人宛にポストカードを送る」という体験も心に残っています。 次回訪れる際には、秋の「紅葉狩り」を計画しています。京都の美しさを再び体験できることを楽しみにしています。
Haiku:合ってる
旅程: ・Day 1: 金閣寺→銀閣寺→哲学の道。夜は祇園を散策し、「#京都グルメ」を楽しみます。 ・Day 2: 清水寺→伏見稲荷大社。ここでは、赤い鳥居が印象的な「伏見稲荷大社」を訪れます。 飛行機のチケットは、事前にウェブサイトで予約しました。ホテルは予約サイトで探し、中心地に近いコンビニエントな場所を選びました。 食事: ・京都では、さまざまな料理を試しました。特に、「寿司」「ラーメン」「抹茶スイーツ」は絶品でした。 ・「特注 京都限定の抹茶ビール」も試す価値あり! 気に入った場所: 1. 「金閣寺」 - 金ピカの外観が美しい。 2. 「清水寺」 - 木造の舞台からの眺めが最高。 3. 「伏見稲荷大社」 - 無数に続く鳥居をくぐる体験は唯一無二。 感想: この旅行で、文化と自然の美しさを存分に感じることができました。特に、伝統とモダンが融合する京都 の街並みは、忘れがたい印象を残しました。また、「友人宛にポストカードを送る」という体験も心に 残っています。 次回訪れる際には、秋の「紅葉狩り」を計画しています。京都の美しさを再び体験できることを楽しみに しています。
画像サイズ:大
Opus:合ってる
旅程: •Day 1: 金閣寺→銀閣寺→哲学の道、夜は祇園を散策し、「#京都グルメ」を楽しみます。 •Day 2: 清水寺→伏見稲荷大社。ここでは、赤い鳥居が印象的な「伏見稲荷大社」を訪れます。 飛行機のチケットは、事前にウェブサイトで予約しました。ホテルは予約サイトで探し、中心地に近いコ ンビニエントな場所を選びました。 食事: •京都では、ささぎまな料理を試しました。特に、「寿司」「ラーメン」「抹茶スイーツ」は絶品でした。 •「特注 京都限定の抹茶ビール」も試す価値あり! 気に入った場所: 1.「金閣寺」- 金ピカの外観が美しい。 2.「清水寺」- 木造の舞台からの眺めが最高。 3.「伏見稲荷大社」- 無数に続く鳥居をくぐる体験は唯一無二。 感想: この旅行で、文化と自然の美しさを存分に感じることができました。特に、伝統とモダンが融合する京都 の街並みは、忘れがたい印象を残しました。また、「友人宛にポストカードを送る」という体験も心に 残っています。 次回訪れる際には、秋の「紅葉狩り」を計画しています。京都の美しさを再び体験できることを楽しみに しています。
Sonnet:2箇所ミスがあるが、それ以外は合ってる
4行目:「#京都グルメ」→「井尻アルメ」
末尾から2行目:「友人宛にポストカードを送る」→「友人死にカストカードを送る」
末尾から2行目:「という体験も」→「という伏線も」
画像には以下の内容が記載されています。 旅程: ・Day 1: 金閣寺→銀閣寺→哲学の道。夜は祇園を散策し、「井尻アルメ」を楽しみます。 ・Day 2: 清水寺→伏見稲荷大社。ここでは、赤い鳥居が印象的な「伏見稲荷大社」を訪れます。 飛行機のチケットは、事前にウェブサイトで予約しました。ホテルは予約サイトで探し、中心地に近いコンビニエントな場所を選びました。 食事: ・京都では、さまざまな料理を試しました。特に、「寿司」「ラーメン」「抹茶スイーツ」は絶品でした。 ・「特注 京都限定の抹茶ビール」も試す価値あり! 気に入った場所: 1.「金閣寺」-金ピカの外観が美しい。 2.「清水寺」-木造の舞台からの眺めが最高。 3.「伏見稲荷大社」-無数に続く鳥居をくぐる体験は唯一無二。 感想: この旅行で、文化と自然の美しさを存分に感じることができました。特に、伝統とモダンが融合する京都の街並みは、忘れがたい印象を残しました。また、「友人死にカストカードを送る」という伏線も心に残っています。 次回訪れる際には、秋の「紅葉狩り」を計画しています。京都の美しさを再び体験できることを楽しみにしています。
Haiku:2箇所ミスがあるが、それ以外は合ってる
2行目:「#京都グルメ」→「京都グルメ」
11行目:「金ピカの外観」→「金色の外観」
旅程: ・Day 1: 金閣寺→銀閣寺→哲学の道。夜は祇園を散策し、「京都グルメ」を楽しみます。 ・Day 2: 清水寺→伏見稲荷大社。ここでは、赤い鳥居が印象的な「伏見稲荷大社」を訪れます。 飛行機のチケットは、事前にウェブサイトで予約しました。ホテルは予約サイトで探し、中心地に近いコンビニエントな場所を選びました。 食事: ・京都では、さまざまな料理を試しました。特に、「寿司」「ラーメン」「抹茶スイーツ」は絶品でした。 ・「特注 京都限定の抹茶ビール」も試す価値あり! 気に入った場所: 1.「金閣寺」-金色の外観が美しい。 2.「清水寺」-木造の舞台からの眺めが最高。 3.「伏見稲荷大社」-無数に続く鳥居をくぐる体験は唯一無二。 感想: この旅行で、文化と自然の美しさを存分に感じることができました。特に、伝統とモダンが融合する京都 の街並みは、忘れがたい印象を残しました。また、「友人宛にポストカードを送る」という体験も心に 残っています。 次回訪れる際には、秋の「紅葉狩り」を計画しています。京都の美しさを再び体験できることを楽しみに しています。
画像サイズ:中
Opus:2箇所ミスがあるが、それ以外は合ってる
1行目:「旅程」→「放程」
末尾から2行目:「心に残っています」→「あに残っています」
放程: ・Day 1: 金閣寺→銀閣寺→哲学の道。夜は祇園を散策し、「#京都グルメ」を楽しみます。 ・Day 2: 清水寺⇒伏見稲荷大社。ここでは、赤い鳥居が印象的な「伏見稲荷大社」を訪れます。 飛行機のチケットは、時間にウェブサイトで予約しました。ホテルは予約サイトで探し、中心地に近いコンビニエントな場所を選びました。 食事: ・京都では、さまざまな料理を試しました。特に、「寿司」「ラーメン」「抹茶スイーツ」は絶品でした。 ・「料亭 京都個室の抹茶ぜんざい」も話す価値あり! 気に入った場所: 1. 「金閣寺」 - 全ビカの外観が美しい。 2. 「清水寺」 - 木造の舞台からの眺めが最高。 3. 「伏見稲荷大社」 - 無数に続く鳥居をくぐる体験は唯一無二。 感想: この旅行で、文化と自然の美しさを存分に感じることができました。特に、伝統とモダンが融合する京都の街並みは、忘れがたい印象を残しました。また、「友人宛にポストカードを送る」という体験もあに残っています。 次回訪れる際には、秋の「紅葉狩り」を計画しています。京都の美しさを再び体験できることを楽しみにしています。
Sonnet:文脈は合っているが、間違いが目立つ
画像には以下の内容が記載されています。 旅程: ・Day 1: 金閣寺→銀閣寺→哲学の道。夜は祇園を散策し、「京都グルメ」を楽しみます。 ・Day 2: 清水寺→伏見稲荷大社。ここでは、示す信号が印象的な「伏見稲荷大社」を訪れます。 飛行機のデラックス席で帰国する前に、ショッピングを楽しみました。ホテルは予約サイトを活用し、コンビニエントな場所を選びました。 食事: ・京都では、きざみ菜が利用されました。特に、「湯葉」「うーめん」「抹茶スイーツ」は絶品でした。 ・「京都ビール」も新鮮な味わいを楽しめました。 気になった場所: 1. 金閣寺の外観が美しい。 2. 「清水寺」・木造の細部分の彫刻が素晴らしい。 3. 「伏見稲荷大社」-無数に続く鳥居がくくる伏線は圧巻。 感想: 今の旅行で、文化と自然の美しさを存分に感じることができました。特に、伝統とモダンが融合する京都の街並みは、忘れがたい印象を残しました。また、「次人気にポストカードを送る」という伝統も心に残っています。 次回訪れる際は、秋の「紅葉狩り」を計画しています。京
Haiku:文脈は合っているが、間違いが目立つ
旅程: Day 1: 金閣寺→銀閣寺→哲学の道、夜は祇園を散策し、「祇園グルメ」を楽しみます。 Day 2: 清水寺→伏見稲荷大社。ここでは、赤い鳥居が印象的な「伏見稲荷大社」を訪れます。 その後のチケットは、事前にウェブサイトで予約しました。ホテルは予約サイトで探し、中心地に近いコンビニエントな場所を選びました。 食事: 京都では、さまざまな料理を試しました。特に、寿司「ラーメン」「抹茶スイーツ」は絶品でした。 「特注京都限定の抹茶ビール」も試行錯誤の価値あり! 気に入った場所: 1.「金閣寺」-金色の外観が美しい。 2.「清水寺」-木造の舞台からの眺めが最高。 3.「伏見稲荷大社」-無数に続く鳥居を覆く体験は非常に。 感想: 京都の街並み、文化と自然の美しさを存分に感じることができました。特に、伝統とモダンが融合する京都 の街並みは、忘れがたい印象を残しました。また、「女人堂にポストカードを送る」という体験も心に 残っています。 次回訪れる際には、秋の「紅葉狩り」を計画しています。京都の美しさを再び体験できることを楽しみに しています。
画像サイズ:小
Opus:間違っている
以下の文章を書き起こしました。 説明: *Dayは会則の条項番号を示す番号。取り決めを物語る。 *Dayの番号は、会則の条項番号を示す番号で、取り決めを物語る。例えば第1条、第2条のように。 *Dayの番号は、会則の条項番号を示す番号で、取り決めを物語る。例えば第1条、第2条のように。 *Dayの番号は、会則の条項番号を示す番号で、取り決めを物語る。例えば第1条、第2条のように。 *Dayの番号は、会則の条項番号を示す番号で、取り決めを物語る。例えば第1条、第2条のように。 使用: *「1日」、生まれた日を物語るほうよりも、初日、「第1日」「ファースト」「1日目」くらいの 方が自然な日本語になるかもしれません。 次のような場面で: 1.「第1日」、大会の初日などの時の呼称。 2.「第1日」、大会の初日などの時の呼称。 3.「初日」、大会やイベントなどの最初の日の一般的な呼び方。 文例1:大会は今日から3日間開催される。 文例2:大会の初日は、多くの観客が会場に詰めかけた。 文例3:イベントは今日から3日間開催される予定だ。 文例4:講演会の初日は、多くの聴衆が集まった。 文例5:コンサートの初日は、会場は超満員だった。
Sonnet:間違っている
このイメージには、日本語のテキストが含まれています。内容は以下の通りです: 説明: この問題では、地図の中の国境を示す線について考えます。この線を表す言葉は、「フロンティア」と言います。 課題: [課題1] フランス[国境ライン]は何色ですか。 選択肢: 1.赤色 2.緑色 3.青色 答え: この問題では、地図上の国境線の色を尋ねています。しかし、実際にはイメージに地図が含まれていないため、正確な答えを導くことはできません。従って、「この質問に答えるための十分な情報がイメージに含まれていません」と回答するのが適切でしょう。
Haiku:間違っている
申し訳ありませんが、この画像には人物の顔が含まれているため、人物を特定することはできません。しかし、画像の内容について説明することはできます。 この画像は、日本語で書かれた文章が表示されています。文章には、ある出来事や状況について詳しく説明されているようです。具体的な内容としては、ある人物の行動や経緯、それに対する感想や意見などが述べられているようです。 文章の構成や表現から、この文章は何らかの報告書や記録、あるいは個人的な経験談などを示しているものと推測されます。ただし、人物を特定するような情報は含まれていないため、その詳細については確認することはできません。
おまけ
特殊文字(絵文字)も文字起こしできるか試してみました。ちょっとミスがあるものの、文字起こし自体は可能なようでした。
旅程: ・Day 1: 金閣寺→銀閣寺→哲学の道。夜は祇園を散策し、「#京都グルメ」を楽しみます。 ・Day 2: 清水寺→伏見稲荷大社。ここでは、赤い鳥居が印象的な「🀱伏見稲荷大社🀱」を訪れます。 🛫飛行機のチケットは、事前にウェブサイトで予約しました。ホテルは予約サイトで探し、申し込みに近いコンビニエントな場所を選びました。 食事: ・京都では、さまざまな料理を試しました。特に、「🍣寿司」「🍜ラーメン」「🍵抹茶スイーツ」は絶品でした。 ・「特注 京都限定の抹茶ビール」も試す価値あり! 気に入った場所: 1.「金閣寺」- 金ピカの外観が美しい。 2.「清水寺」- 木造の舞台からの眺めが最高。 3.「伏見稲荷大社」- 🀱をくぐる体験は唯一無二。 感想: この旅行で、文化と自然の美しさを存分に感じることができました。特に、伝統と モダンが融合する京都の街並みは、忘れがたい印象を残しました。また、「友人宛に📮ポストカードを送る」という体験も心に残っています。 次回訪れる際には、秋の「🍁紅葉狩り」を計画しています。京都の美しさを再び体験できることを楽しみにしています。
- 鳥居の記号が認識できませんでした。ちなみに、「🀱」は横向きのドミノのマークのようです
-
「中心地に近い」→「申し込みに近い」となってしまっています
使用したプロンプト
書かれている文字をテキストに起こしてください。絵文字も特殊文字として文字起こししてください。