BookTranslator
BookTranslator

混成言語PDFのOCR:中国語、英語、数値を個別に確認する

中国語と英語が混在するPDFのOCR言語を選択し、実際のサンプル出力を検証し、文字、識別子、数値、テーブルの関係を確認します。

BookTranslator

BookTranslator Team

24 min read

混成言語のPDFをOCR処理するには、ページ上のスクリプトを特定し、関連する認識言語でPDFを処理できるツールを選択してから、抽出されたテキストを画像と比較します。 中国語のテキスト、英語のテキスト、数値、およびラベルの関係を個別に確認します。 検索で英語のタイトルが見つかったからといって、中国語の本文が認識されたとは限りません。

別の言語を追加することは検証する価値がありますが、自動的に改善されるわけではありません。私たちの小規模な中国語と英語の実験では、英語を追加することで1つの英語ラベルが修正されましたが、中国語のみの設定で認識されていた中国語の文が破損しました。2つのテーブル設定のどちらも、単純な罫線のあるテーブルからのテキストを返しませんでした。

これは多言語OCR全体に対する判定ではなく、選択した言語の数ではなく、必要な出力を評価する理由です。

まず、テキストの欠落と不正なテキストを区別します

元のファイルは変更しないでください。コピー上で、代表的なページから文を選択し、プレーンテキストエディタに貼り付けます。ドキュメントのタイトルだけでなく、中国語のパッセージと英語のパッセージの両方を試してください。

見つかったもの次に行うこと
何も選択またはコピーできないページを画像専用として扱い、OCRを実行します。
テキストはコピーされるが、文字が目に見えるページと異なる正しくない既存のテキストレイヤーを調査します。単に開いて保存するだけでは、変更されないままになる可能性があります。
正しくコピーされるページもあれば、そうでないページもあるドキュメント全体の操作を適用する前に、影響を受けるページをリストアップします。
単語は正しくコピーされるが、行または段落が結合される認識言語とは別に、セグメンテーションと読み順を確認します。

既存のテキストレイヤーが重要です。例えば、 NAPS2のOCRドキュメント によると、すでにテキストが含まれているインポートされたPDFページはそのままにされます。したがって、OCR処理が不十分なページを再インポートすることは、そのワークフローにおいて信頼できる修復方法ではありません。

本当の問題が解像度の低さ、歪み、または傾きである場合は、言語設定の比較を解釈する前にそれを修正してください。私たちのより広い スキャン済みPDFガイド は、その準備と後続の翻訳段階をカバーしています。

翻訳ターゲットではなく、認識言語を選択する

認識は「このページにはどんな文字があるか?」に答え、翻訳は「このコンテンツを別の言語でどう読ませるか?」に答えます。OCRに対して、繁体字を無言で簡体字に単純化したり、英語の引用を翻訳したり、馴染みのない識別子を書き換えたりするよう要求しないでください。

簡単な棚卸しを作成します:

  • 中国語の文字: 見出しや注釈を含め、簡体字、繁体字、またはその両方。
  • ラテン文字: 英語の文、著者名、参考文献、略語、型番。
  • 制御された値: 日付、小数点、単位、マイナス記号、識別子、大文字小文字を区別するコード。
  • 領域: プロース、表、キャプション、脚注、または別言語の付録。

たとえば、繁体字中国語のレポートには、英語の抄録と参考文献が含まれている場合があります。簡体字中国語の章には、次のような表が含まれることがあります: A-01, 23.5、および °C。どちらも、最も長い中国語の段落だけを確認して評価すべきではありません。

Tesseractは、その chi_sim, chi_tra、および eng の各モデルを 公式モデルリポジトリで提供しています。その コマンドドキュメント は言語の組み合わせ選択をサポートしており、言語の順序が結果に影響を与える可能性があることに言及しています。これらは設定の可能性であり、追加したすべてのモデルが役立つという保証ではありません。

お使いのドキュメントに日本語の縦書き列やルビが含まれている場合は、 日本語縦書きOCRガイド。これは単なる言語のチェックボックスの問題ではなく、異なるレイアウトおよびアノテーションの問題です。

PDFを実際に受け付けるワークフローを使用する

デスクトップでのアプローチ:NAPS2

NAPS2には、スキャンされたPDFを検索可能にするためのドキュメント化された手順が用意されています。

  1. ファイルのコピーをインポートし、OCR設定を開きます。
  2. ドキュメントに必要な認識言語をダウンロードします。
  3. 「 複数の言語 」を選択し、関連する言語を選びます。
  4. 検索可能PDFのOCRを有効にして、新しいファイルとして保存します。
  5. そのファイルを再度開き、コピーした中国語、英語、および数字のテキストを目視のページと比較します。

複数の言語の選択肢は、複数の言語がダウンロードされた後に表示されます。これらの手順は NAPS2の公式ガイドに従ったものであり、この記事のためにNAPS2の実機テストを実施したわけではありません。

コマンドラインでのアプローチ:OCRmyPDF

画像のみの簡体字中国語/英語PDFの場合、公式ドキュメントに基づく例は次のとおりです。

ocrmypdf -l chi_sim+eng --output-type pdf \
  --sidecar recognized.txt input.pdf searchable.pdf

まず必要な 言語パック をインストールします。スクリプトが互換性を持つと決めつけず、繁体字中国語のテストには chi_tra を使用してください。

OCRmyPDFの クックブック には、PDFとサイドカーテキストの出力が記載されています。そのサイドカーは必ずしもドキュメント全体とは限りません。すでにテキストが存在していたページのテキストや、OCR中にスキップされたページは存在しない場合があります。出力されたPDF自体を確認してください。既存の不正確なOCRには意図的なやり直しワークフローが必要であり、何が変更されるかを理解せずにすべてのページのラスタライズを強行しないでください。

これはドキュメントに基づくアプローチであり、私たちが測定したテスト環境ではありません。ここではOCRmyPDFを実行していません。

プレーンなTesseractにはレンダリングされたページが必要です

PDFリーダーであるかのように tesseract input.pdf ... 使用しないでください。 TesseractはPDF入力を受け付けません(PDF出力を作成することはできますが)。 Tesseract.jsにも同様のPDF入力に関する区別があります:まずPDFライブラリでページをレンダリングし、それから画像を認識させます。

それが、以下の私たちの実験で使用された手順です。これによりテキストとTSVのエビデンスが生成されますが、テスト済みの検索可能出力PDFが生成されるわけではありません。

10回のローカルOCR呼び出しで何が起きたか

私たちが作成した 3ページの画像のみのPDF には、以下が含まれています:

  1. 英語の参照、識別子、小数、単位を含む簡体字中国語の散文;
  2. 対応する繁体字中国語のページ;
  3. 3つのデータ行を持つ小さな中国語・英語の表。

テキストと値は、実際の顧客ファイルや実際の測定値ではなく、自作の教材です。各散文のターゲットには、41文字の漢字を含む124文字の非空白コードポイントが含まれています。表には79文字の非空白コードポイントが含まれています。

英語の参照、文書識別子、小数、単位を含む、合成された繁体字中国語のレポートの抜粋。

PDFのソースページには抽出可能なテキストがありませんでした。Poppler 26.08.0を使用して300 dpiでレンダリングし、1600×1000ピクセルの画像を生成しました。フォントサイズはNoto Sans CJK SC/TC Regularで48ピクセルでした。句読点はすべて、フォントの通常の横書きグリフから取得されました。

2026年9月8日、macOS ARM64上でTesseract.js 7.0.0をtesseract.js-core 7.0.0とともにローカルで実行しました。公式の tessdata_fast モデルは次のコミットに固定されていました 87416418657359cb625c412a48b6e1d6d41c29bd:すべての呼び出しでOEM 1とPSM 6(均一テキストブロック設定)を使用し、各言語の比較で同じページ画像を使用しました。

散文ページにはそれぞれ4つの言語レシピがあり、表には2つありました。10回の呼び出しはすべて完了しました。結果が破棄されることはなく、出力を確認した後にパラメータが調整されることもありませんでした。正確な 入力、モデルハッシュ、バージョン、および生の結​​果 、そして 再現手順 が利用可能です。

1つの設定で一方のフィールドを直せば別のフィールドが壊れることがある

従来のページでは、 chi_tra 41文字の漢字の並びをすべて維持したものの、中国語以外の部分でエラーが発生しました。たとえば、英語のラベルの Document ID を Document 1ID に変更し、度数記号を誤読しました。

を追加すると、 eng が復元されましたが、 Document ID温度と質量に関する文の一部がラテン文字のような断片になってしまいました。

Expected: 樣本溫度為 23.5 °C,質量為 1.08 kg。
Observed with chi_tra+eng: RA MEA 23.5°C > HBA 1.08 kg。

その行の数字は生き残ったものの、周囲の中国語は消えてしまいました。 23.5 と 1.08 だけを確認していたのでは、この破損は見落とされていたでしょう。

簡略化されたページでは、異なるトレードオフが見られました。英語を追加すると、 BK-2026-A07中国語のみの実行で BK-2026-AO7として返されていた 与 が復元されましたが、別の場所では 5 が O0I1-l に変更されました。視覚的に曖昧な識別子は誤ったままでした。

次の診断は、勝者を宣言しなかった理由を示しています。

入力と言語の選択漢字のシーケンス編集保護された文字列が見つかりました
どちらのプロセスのページでも、 eng のみ予期された漢字41文字中41文字が欠落10分の9
簡体字ページ、 chi_sim110分の7
簡体字ページ、中国語または英語の順序210分の8
繁体字ページ、 chi_tra010分の9
繁体字ページ、中国語または英語の順序910分の9
表、 eng または chi_sim+engテキストが返されませんでした9分の0

「漢字シーケンスの編集」は中国語の表意文字のみを比較します。英語、句読点、スペースはスコア化されません。「保護された文字列が見つかりました」は、事前定義された識別子、数値、単位、参照トークンの存在確認にすぎず、その位置や関係を検証するものではありません。英語のみの出力がその罠を示しています。保護された文字列のほとんどは存在していたにもかかわらず、漢字は1文字も返されませんでした。

完全な 比較CSV は、テキスト全体の編集距離もレポートします。比較ではUnicode NFCを適用し、空白を削除します。句読点の修正、大文字小文字の変更、中国語スクリプトの変換、文字の並べ替えは行いません。言語の順序を逆にすると、これらのプロテキスト出力の空白は変化しましたが、正規化された文字シーケンスは変化しませんでした。この観察結果は、言語の順序に関する一般的な規則ではありません。

空の表は成功した抽出ではありません

各項目をその識別子、数値、単位に結び付ける合成の中国語-英語の表。

OCRの実行エラーなく完了したにもかかわらず、両方の表の呼び出しが空のテキストを返しました。中国語を追加しても、固定された均一ブロックのレシピの救済にはなりませんでした。

他のセグメンテーションモード、セルの切り抜き、表認識エンジンのテストは行っていません。したがって、この結果は ありません は、Tesseractがテーブルを読み取れないことを示しているわけではありません。私たちが使用した設定では、認識言語の変更だけではこのサンプルを解決できなかったことを示しています。

実際のテーブルの場合、完全な関係性が必要です Temperature → A-01 → 23.5 → °C。ページ内のどこかで検出された4つのトークンではありません。出力が空白であるか、関係性を確認できない場合は、信頼できる文字起こしとして扱うのをやめてください。レイアウト対応のワークフローを試すか、画像を参照しながら必要なセルを文字起こししてください。

この実験では証明できないこと

これらは1つのフォントファミリーからの3つのきれいな合成ページであり、1人のライターエージェントによってレビューされました。ブラインドによる人間によるレビュー、本番ドキュメントのコーパス、またはぼやけたスキャン、手書き、複雑なテーブル、縦書き、歴史的な文字のテストはありませんでした。

これらの結果は、「言語を追加する」という無条件のルールに対する有用な反例です。それらはエンジンのランキング、一般的な精度率、またはご自身のPDFの予測ではありません。これはBookTranslatorのテストではなく、画像のみのソースPDFはOCRが完了した閲覧用コピーではありません。

ご自身のファイルで4段階の受け入れチェックを実行する

ダウンロード 空のレビューシート。実際の難しさを含んだページを選択し、ファイル全体を処理する前に次のチェックを追加してください。

  1. 中国語のテキスト: あまり一般的ではない文字や意図された簡体字・繁体字を含め、完全な文を比較します。間違った文字を期待していた文字に勝手に正規化しないでください。
  2. 英語と識別子: 著者名、参考文献、略語、大文字化、および次のような類似文字を検査します O/0 または I/l/1。不慣れなコードは、自動修正すべき単語ではありません。
  3. 数字と単位: 各値を符号、小数点、単位、ラベルとともに比較します。 0.05 と 0.50 は区別されたままでなければなりません。正しい単位のない認識された 23.5 は不完全です。
  4. 関係性と完全性: 各段落またはテーブルの行が期待される場所に属していることを確認します。メインテキストだけでなく、キャプション、注記、小さな二次言語のパッセージが存在することを確認してください。

元のテキスト、観察された結果、ページ/領域、および必要なアクションを記録します。ある設定が1つのチェックを改善する一方で別のチェックを悪化させる場合は、両方の観察結果を保持してください。単一の信頼度スコアや平均文字数だけでファイルを受け入れないでください。

3つの結果(そのまま目的通りに使える、特定の修正が必要、またはまだ信頼できない)を区別します。検索タスクでは検証済みのパッセージが1つあれば十分な場合がありますが、完全な読解用コピーには、きれいな表紙ではなくドキュメント全体網羅が必要です。

元の文章の意味を把握してから翻訳する

検索機能とコピー可能な原文で問題が解決する場合は、そこで終了します。OCRの役割は完了しており、翻訳は別の判断事項です。

別の言語でドキュメント全体を読む必要がある場合は、元のスキャンデータと修正済みのテキストを参考資料として保持し、 スキャン済みPDFの翻訳ワークフローに従ってください。対象となるファイルの場合、 BookTranslatorのPDF翻訳機能 が次のステップになります。そのOCRモードは、元のページのレイアウトとの完全な一致を保証するのではなく、翻訳されたコンテンツを再構築します。これにより、復元されたテキストや表の関係性を確認する必要性がなくなるわけではありません。

翻訳後は、 PDF翻訳QAチェックリスト を使用して、ソース認識エラーと翻訳またはレイアウトエラーを区別してください。間違った段階を修正すると、読みやすい間違いが最終ファイルに引き継がれてしまいます。

関連記事