世界中の何百万人ものムスリムが毎日、食品を手に取り、裏返して、背面に印刷された小さな原材料表示を目を細めて見ています。その文字は、狭いパネルに詰め込まれ、曲面に沿って印刷され、コントラストが低く、時には折り目、映り込み、または破損によって部分的に隠れていることもあります。人間にとって、これらのラベルを読むこと自体がすでに困難です。機械にとって、つまりHalalLensのOCRパイプラインにとっては、これはまだ勝利を収めていない戦場なのです。
この記事は、私たちの現状を率直に見つめたものです。私たちは、食品ラベルをスキャンし、テキストを抽出し、個々の原材料を特定し、そのハラールステータスを判断するシステムを構築しました。すべて数秒で完了します。これは、清潔で平らで照明の良いラベルでは非常にうまく機能します。しかし、現実世界の包装は、めったに清潔で平らで照明が良いものではありません。実験室での精度とキッチンカウンターでの現実との間のギャップこそが、私たちの最も困難な未解決問題が潜む場所であり、ユーザーはそれらの問題が何であるかを正確に知る権利があると考えています。
OCRにとって食品包装が特に難しい理由
光学文字認識(OCR)技術は長い道のりを歩んできました。現代のOCRエンジンは、印刷文書をほぼ完璧な精度で読み取ることができます。しかし、食品ラベルは文書ではありません。それは、任意の角度で保持された携帯電話カメラによって、制御されていない条件下で撮影された三次元の物体です。文字は、光沢のある金属包装に4ポイントのフォントで印刷されており、原材料表示は、1枚の写真では物理的に捉えることが不可能な角を曲がって続いているかもしれません。
典型的なチョコレートバーを考えてみてください。原材料表示には次のように書かれているかもしれません:「砂糖、ココアバター、全粉乳、ココアマス、乳化剤(E471)、天然香料、クエン酸」。紙の上では、それは単純明快です。しかし、蛍光灯のスーパーマーケット照明の下で撮影された、湾曲した反射性の包装では、OCRエンジンは次のような結果を返すかもしれません:「Sugar, coc0a butt3r, whol€ milk powdr, cocoa ma55, emulsifi€r (E47I), natural f1avors, citr1c ac1d」。文字化けした一文字一文字が、潜在的な誤認識です — そしてハラール検証において、誤認識は、製品が安全とフラグ付けされるか、疑わしいとフラグ付けされるかの違いを意味する可能性があります。
| 課題 | 発生すること | ハラールチェックへの影響 |
|---|---|---|
| 曲面 | テキストが歪み、端で文字が伸びたりぼやけたりする | 原材料名が途中で切れたり、結合したりする |
| 低コントラスト印刷 | 白地に薄い灰色の文字、または暗い背景に暗い文字 | 原材料セクション全体が見落とされる |
| 映り込みと反射 | カメラフラッシュが光沢包装上に白飛び領域を作る | 重要な原材料が映り込みの下に隠れる |
| 多言語ラベル | 同じラベルに3〜6言語のテキストが、しばしば混在して記載されている | OCRが言語を混同し、ハイブリッドな単語を作り出す |
| 極小フォントサイズ | 法的に必要なテキストが最小サイズで印刷されている | 文字が曖昧になる:I vs l vs 1 |
クリーニング問題:生のOCR出力から使用可能な原材料へ
OCRエンジンがラベルからテキストの抽出に成功したとしても、生の出力がハラール分析の準備ができていることは稀です。テキストは「クリーニング」される必要があります — これは、非常に複雑なプロセスを表す、誤解を招きやすいほど単純な言葉です。クリーニングとは、原材料リストを、栄養情報、アレルゲン警告、マーケティングコピーなどの周囲のテキストから分離することを意味します。それは、長いカンマ区切りの文字列を個々の原材料に分割することを意味します。それは、「E471」と「乳化剤(E471)」と「脂肪酸のモノ-およびジグリセリド」がすべて同じ物質を指していることを認識することを意味します。
ここが本当に難しくなる場所です。食品ラベルは普遍的なフォーマットに従っていません。ヨーロッパでは、原材料は通常、重量の降順でリストされ、カンマで区切られ、アレルゲンは太字で表示されます。アメリカ合衆国では、フォーマットは似ていますが、アレルゲン表示の規則が異なります。東南アジアでは、同じパッケージにマレー語、インドネシア語、アラビア語、英語でラベルが表示されるかもしれません。スカンジナビア諸国では、ノルウェー語、スウェーデン語、デンマーク語、フィンランド語の原材料リストが互いに積み重なっており、E番号の使用が一貫していない場合があります。
私たちのパイプラインは現在、ルールベースの解析とLLM支援抽出の組み合わせを使用しています。ルールベースのシステムは、フォーマットが整ったラベルを確実に処理します:「Ingredients:」を見つけ、カンマで分割し、各エントリを正規化します。しかし、それはエッジケースで失敗します — そして現実世界では、エッジケースが大多数です。「チョコレートコーティング(砂糖、ココアバター、ゼラチン、グリセリン)」のようなネストされた括弧付き原材料は、ゼラチンとグリセリンがコーティングの副原料であり、独立したアイテムではないことを識別するために正しく解析されなければなりません。括弧のネストを正しく処理することは、驚くほど繊細な作業です。
| 生のOCR出力 | 期待されるクリーンな結果 | 一般的な失敗例 |
|---|---|---|
| sugar, palm 0il, whey p0wder | sugar, palm oil, whey powder | 「palm 0il」がパームオイルとして認識されない |
| E47l (mono-and diglycer1des) | E471 (mono- and diglycerides) | 「E47l」が不明なコードとして解析される |
| ge1atin (bovlne) | gelatin (bovine) | 「ge1atin」でハラール上重要なフラグを見逃す |
| Ingredienser: Sukker, melk... | [ノルウェー語] Sugar, milk... | 言語が検出されず、英語の意味不明な言葉として解析される |
多言語の迷路
HalalLensは、スカンジナビア、東南アジア、中東、西ヨーロッパにまたがるユーザーにサービスを提供しています。ノルウェーの食料品店でスキャンされた一つの製品には、その原材料がノルウェー語、スウェーデン語、デンマーク語、フィンランド語で記載されているかもしれません。時にはアラビア語や英語のセクションも含まれます。私たちのOCRエンジンは、テキストを正確に読み取るだけでなく、どの言語を見ているのかを判断しなければなりません。なぜなら、同じ物理的な単語が異なる言語では異なる意味を持つ可能性があるからです。
本当の悪夢は、OCRエラーが多言語解析と相互作用するときに始まります。エンジンがノルウェー語の「ø」を「o」と誤読すると、その単語は偶然にも別の言語では有効になってしまうかもしれません。しかし、それは全く異なる意味を持ちます。私たちのNLPクリーニングパイプラインは、まずソース言語を検出し、次に言語固有の正規化ルールを適用しようと試みますが、この検出自体は、OCRテキストが乱れている場合には信頼性が低くなります。これは循環する問題になります。言語を検出するにはクリーンなテキストが必要ですが、テキストをクリーンにするには言語が必要なのです。
私たちは複数のアプローチを試してきました。明示的な言語ヒントを用いたOCRの実行、最も可能性の高い読み方に投票するアンサンブルモデルの使用、そして乱れた単語が「おそらく」何であるべきかを推論できるLLMを用いた後処理などです。各アプローチは精度を徐々に向上させますが、根本的な課題を解決したものはありません。E120(カルミン)のような製品は、ノルウェー語では「karmin」、フィンランド語では「karmiini」、英語では「cochineal」と記載されているかもしれません。これらはすべて同じラベル上にあり、すべてが同じハラールにとって重要な原材料として認識される必要があります。
現在の立ち位置と今後の展望
私たちは現在の精度について透明性を保ちたいと考えています。照明が良く、平らで、コントラストの高い英語のラベルでは、私たちのパイプラインは強力な結果を達成します。原材料の大部分を正しく識別し、分類します。多言語で、曲面のある、または破損した包装では、精度が顕著に低下します。私たちは信頼度スコアリングでこれを補っています。システムがOCRの読み取りや原材料の識別について不確かな場合、結果にフラグを立て、ユーザーに手動で再確認するよう促します。
| 条件 | 原材料抽出 | ハラール分類 |
|---|---|---|
| 清潔で平らな英語ラベル | 高 | 高 |
| 多言語の欧州ラベル | 中程度 | 中程度 |
| 曲面/反射のある包装 | 中程度 | 中程度 |
| 破損、極小、または低コントラスト | 低 | 低 |
OCRクリーニングを改善するためのロードマップには、いくつかの有望な方向性があります。第一に、ビジョン言語モデルを探求しています。これは、個々の文字だけでなく、生の画像を見て文脈を理解できるAIシステムです。「ge1atin」を読み取って後から修正しようとする代わりに、ビジョン言語モデルは視覚的な文脈から、これが原材料リストであり、その単語がほぼ確実に「gelatin」であることを認識するかもしれません。第二に、既知のOCR誤読のデータベースを構築中です。これは、何千ものスキャンで見られたパターンに基づいて、「E47l」のような一般的なエラーを「E471」にマッピングするファジーマッチング層です。第三に、ユーザーフィードバックループに投資しており、コミュニティがOCRエラーを修正できるようにし、それによってシステムが将来同様の間違いを避けるように学習します。
これらの解決策のどれも完璧ではありません。携帯電話のカメラ写真から、小さく、曲面にあり、多言語のテキストを読み取るという根本的な課題は、完全には解決されないかもしれません。これは、光学、タイポグラフィ、言語学、文化的多様性の交差点にある問題であり、現在の技術の限界に挑むものです。しかし、これらの限界について誠実に伝え、着実な漸進的改善を組み合わせることが正しいアプローチだと信じています。私たちが処理する乱れたラベルは、それぞれがシステムに何か新しいことを教えてくれます。ユーザーの修正は、次のスキャンをより正確にします。
主なポイント
- ✓ 現実世界の食品包装は、曲面、まぶしさ、極小フォント、多言語テキストといった課題をもたらし、OCRを平らな文書のスキャンよりもはるかに困難にします。
- ✓ 「ge1atin」や「E47l」のようなOCRエラーは、重要なハラール原材料の誤認や完全な見落としを引き起こす可能性があります。
- ✓ 多言語ラベルは循環する問題を生み出します。言語を検出するにはクリーンなテキストが必要ですが、テキストをクリーンにするには言語検出が必要です。
- ✓ HalalLensは信頼度スコアリングを使用して不確かな結果にフラグを立て、OCR品質が低い場合にユーザーが手動で確認するよう促します。
- ✓ ビジョン言語モデル、ファジーマッチングデータベース、コミュニティフィードバックループが、最も有望な前進の道です。
HalalLensを試す — 改善にご協力ください
あなたが行うすべてのスキャンは、私たちのシステムの学習に役立ちます。HalalLensを使ってハラールステータスを即座に確認してください。そして、私たちのOCRが間違えたとき、あなたの修正が次のスキャンを皆にとってより正確にします。
HalalLensを無料で試す免責事項: この記事は教育目的であり、2026年2月現在の当社技術の状況を反映しています。HalalLensは、決定的な宗教的裁定ではなく、有用なツールとしてAI支援ハラール検証を提供します。ハラールの食事に関する権威ある指導については、常に適格なイスラム学者に相談してください。