コンテンツへスキップします。

ニューラルネットベースの LSTM Tesseract 4.00 のトレーニングについては、Training Tesseract 4.00 を参照してください。


Tesseract 3.00~3.02を新しい言語でトレーニングするために提供されているツールをどのように使用するか?

注記: これらの手順は、古いバージョンの Tesseract 用です。最近のバージョンに関するトレーニング手順は[[こちら Training-Tesseract]]です。

はじめに

Tesseract 3.0x は完全にトレーニング可能です。このページでは、トレーニングプロセスについて説明し、さまざまな言語への適用性に関するガイドラインと、結果から期待できることについて説明します。

サードパーティのトレーニングツールもトレーニングに使用できます。

リリース 3.04 時点で、traineddata が既に利用可能な言語の一覧を確認してから、トレーニングを開始してください。

背景と制約事項

Tesseract はもともと英語テキストのみを認識するように設計されていました。エンジンとそのトレーニングシステムを変更して、他の言語と UTF-8 文字を処理できるようにするための努力が払われてきました。Tesseract 3.0 は任意の Unicode 文字(UTF-8 でコード化された文字)を処理できますが、成功する言語の範囲には制限があるため、特定の言語でうまく機能するという期待を高める前に、このセクションを考慮してください!

Tesseract 3.01 には上から下への言語が追加され、Tesseract 3.02 にはヘブライ語(右から左)が追加されました。Tesseract は現在、cube という補助エンジン(Tesseract 3.0 以降に含まれています)を使用して、アラビア語やヒンディー語などのスクリプトを処理します。追加の[言語](https://github.com/tesseract-ocr/tesseract/blob/3.02.02/doc/tesseract.1.asc#languages)のTraineddata は、Google によって 3.04 リリース用に提供されています。

Tesseract は文字セットが大きい言語(中国語など)では遅くなりますが、うまく機能するようです。

Tesseract は、異なるフォントを明示的に分離することで、同じ文字の異なる形状を知る必要があります。フォント数は64フォントに制限されています。実行時間は提供されたフォント数に大きく依存し、32個以上をトレーニングすると大幅に遅くなります。

バージョン 3.00/3.01 の場合、句読点と数字が異なる言語は、ASCII 句読点と数字を想定するいくつかのハードコードされたアルゴリズムによって不利になります。[3.02 で修正済み]

入力ファイルが存在する同じフォルダーで、すべてのコマンドを実行する必要があります。

必要なデータファイル

別の言語をトレーニングするには、tessdata サブディレクトリにいくつかのデータファイルを作成し、combine_tessdata を使用してそれらを単一のファイルにまとめる必要があります。命名規則は languagecode.file_name です。リリースされたファイルの言語コードは ISO 639-3 標準に従いますが、任意の文字列を使用できます。英語(3.00)で使用されるファイルは次のとおりです。

…そして、最終的に圧縮されたファイルは

そして

traineddata ファイルは、入力ファイルの単純な連結であり、既知のファイルタイプのオフセットを含む目次が含まれています。現在受け入れられているファイル名のリストについては、ソースコードの ccutil/tessdatamanager.h を参照してください。注記 traineddata ファイル内のファイルは、3.00 より前のリストとは異なり、将来のリビジョンで大幅に変更される可能性があります。

テキスト入力ファイルの要件

テキスト入力ファイル (lang.config、lang.unicharambigs、font_properties、ボックスファイル、辞書の単語リストなど) は、次の基準を満たしている必要があります。

最小限で済ませるには?

unicharsetinttempnormprotopffmtable は、下記の手順に従って作成する必要があります。限定的な範囲のフォント(たとえば、単一のフォントなど)のみを認識しようとしている場合は、単一のトレーニングページで十分な場合があります。他のファイルはもはや提供する必要はありませんが、アプリケーションによっては精度が向上する可能性があります。

トレーニング手順

手順の一部は必然的に手動で行われます。可能な限り自動化された支援が提供されます。以下で参照されているツールはすべて、トレーニングサブディレクトリにビルドされています。

トレーニング画像の生成

最初のステップは、使用する完全な文字セットを決定し、一連の例を含むテキストまたはワードプロセッサファイルを用意することです。トレーニングファイルを作成する際に心に留めておく最も重要な点は次のとおりです。

次に、印刷とスキャン(または何らかの電子レンダリング方法を使用)を行い、トレーニングページの画像を作成します。最大 64 個のトレーニングファイル(複数ページ)を使用できます。イタリック体やボールド体など、さまざまなフォントとスタイルを組み合わせるのが最適です(ただし、別々のファイルにします)。

注記: [バージョン 3.00 にのみ関連し、3.01 で修正済み] 間隔の要件により、実際の画像からトレーニングするのは実際には非常に困難です。自分でトレーニングテキストを印刷/スキャンできる方がはるかに簡単です。

また、次のステップで使用するために、トレーニングテキストを UTF-8 テキストファイルとして保存する必要があります。このステップでは、コードを別のファイルに挿入する必要があります。

大量のトレーニングデータの明確化 64 画像の制限はフォントの数です。各フォントは単一のマルチページ tiff に入れる必要があり、ボックスファイルは座標の後に各文字のページ番号を指定するように変更できます。したがって、任意の量のトレーニングデータを与えられたフォントに対して作成でき、大文字セット言語のトレーニングが可能になります。マルチページ tiff の代わりに、単一のフォントに対して多くの単一ページ tiff を作成し、各フォントの tr ファイルをいくつかの単一フォント tr ファイルに連結する必要があります。いずれの場合も、mftraining への入力 tr ファイルには、それぞれ単一のフォントが含まれている必要があります。

ボックスファイルの作成

次のステップでは、Tesseract は各トレーニング画像に対応する「ボックス」ファイルが必要です。ボックスファイルは、トレーニング画像内の文字を順に、行ごとに 1 つずつリストしたテキストファイルであり、画像の周囲の境界ボックスの座標が記載されています。Tesseract 3.0 には、必要な形式のテキストファイルを出力するモードがありますが、文字セットが現在のトレーニングとは異なる場合、テキストが不正確になります。したがって、ここの重要なプロセスは、ファイルを編集して正しい文字を挿入することです。

このコマンドラインを使用して、各トレーニング画像で Tesseract を実行します。

tesseract [lang].[fontname].exp[num].tif [lang].[fontname].exp[num] batch.nochop makebox

例:

tesseract eng.timesitalic.exp0.tif eng.timesitalic.exp0 batch.nochop makebox

さて、難しい部分です。[lang].[fontname].exp[num].box ファイルを編集し、Tesseract によって配置された不正確な文字の代わりに、各行の先頭にファイル内の各文字の UTF-8 コードを配置する必要があります。例:配布物には eurotext.tif という画像が含まれています。上記のコマンドを実行すると、次の行(141~154 行目)を含むテキストファイルが生成されます。

s 734 494 751 519 0
p 753 486 776 518 0
r 779 494 796 518 0
i 799 494 810 527 0
n 814 494 837 518 0
g 839 485 862 518 0
t 865 492 878 521 0
u 101 453 122 484 0
b 126 453 146 486 0
e 149 452 168 477 0
r 172 453 187 476 0
d 211 451 232 484 0
e 236 451 255 475 0
n 259 452 281 475 0

Tesseractを英語モードで実行したため、ウムラウトが正しく認識されていません。UTF-8に対応したエディタを使用して、この文字を修正する必要があります。uüに変更する必要があります。

UTF-8に対応した推奨エディタ:Notepad++、gedit、KWrite、Geany、Vim、Emacs、Atom、TextMate、Sublime Text。いずれかを選択してください。LinuxとWindowsの両方には、入力できない文字をコピーするために使用できる文字マップがあります。

理論上、boxファイルの各行はトレーニングファイルのいずれかの文字を表す必要がありますが、下付きの二重引用符「のように、水平方向に分割された文字がある場合、マージする必要がある2つのボックスが生成される可能性があります!

例:116~129行目

D 101 504 131 535 0
e 135 502 154 528 0
r 158 503 173 526 0
, 197 498 206 510 0
, 206 497 214 509 0
s 220 501 236 526 0
c 239 501 258 525 0
h 262 502 284 534 0
n 288 501 310 525 0
e 313 500 332 524 0
l 336 501 347 534 0
l 352 500 363 532 0
e 367 499 386 524 0
” 389 520 407 532 0

ご覧のように、下付きの二重引用符文字は2つの単一のカンマとして表現されています。バウンディングボックスは次のようにマージする必要があります。

これにより、以下のようになります。

D 101 504 131 535 0
e 135 502 154 528 0
r 158 503 173 526 0
„ 197 497 214 510 0
s 220 501 236 526 0
c 239 501 258 525 0
h 262 502 284 534 0
n 288 501 310 525 0
e 313 500 332 524 0
l 336 501 347 534 0
l 352 500 363 532 0
e 367 499 386 524 0
” 389 520 407 532 0

トレーニング画像で文字の間隔を正しく設定できなかった場合、いくつかの文字が1つのボックスに結合されている可能性があります。この場合、間隔を空けた画像を作り直してやり直すか、ペアが一般的なものである場合は、両方の文字を行の先頭に配置し、バウンディングボックスで両方を表すことができます。(3.00以降、「文字」の説明には24バイトの制限があります。これにより、Unicodeセット内のコードの位置に応じて、6~24個のUnicodeで文字を記述できます。この制限に達した場合は、状況を説明する問題を報告してください。)

注記 boxファイルで使用されている座標系では、(0,0)が左下にあります。

各行の最後の数値は、複数ページのTIFFファイルにおけるその文字のページ番号です(0から始まる)。

boxファイル編集用のビジュアルツールがいくつかあります。AddOnsドキュメントを確認してください。

新しい文字セットのブートストラップ

新しい文字セットのトレーニングを試みる場合は、1つのフォントで適切なboxファイルを作成することに注力し、トレーニングプロセスの残りの部分を実行してから、新しい言語でTesseractを使用して残りのboxファイルを作成することをお勧めします。

tesseract [lang].[fontname].exp[num].tif [lang].[fontname].exp[num] -l yournewlanguage batch.nochop makebox

これにより、Tesseractがテキストの大部分を正しく認識する可能性が高いため、2番目のboxファイルの作成が容易になります。トレーニングセットに追加するフォント(つまり、下記のmftrainingcntrainingのコマンドラインに)を作成する際に、このシーケンスを反復して追加できますが、既存のセットに新しいトレーニングデータを追加できる増分トレーニングモードはありません。これは、mftrainingcntrainingを実行するたびに、コマンドラインで指定したtrファイルからゼロから新しいデータファイルを作成することを意味し、これらのプログラムは既存のintproto / pffmtable / normprotoに直接追加することはできません。

Tif/Box ペアを提供!

いくつかのTif/Boxファイルのペアはダウンロードページにあります。(TIFFファイルは容量節約のためG4圧縮されているため、libtiffを使用して解凍する必要があります)。独自の言語または既存言語のサブセットに対してより良いトレーニングデータを作成したり、既存の言語に異なる文字/形状を追加したりするために、次の手順に従うことができます。

  1. 必要な文字の行のみを残して、boxファイルをフィルタリングします。
  2. トレーニング用のTesseractを実行します(下記)。
  3. 各フォントについて、複数の言語からの.trファイルを連結して、必要な文字セットを取得し、独自のフォントまたは文字からの.trファイルを追加します。
  4. .trファイルと同様に、フィルタリングされたboxファイルを連結して、unicharset_extractorに渡します。
  5. トレーニングプロセスの残りの部分を実行します。注意!これは聞こえるほど簡単ではありません!cntrainingとmftrainingは最大64個の.trファイルしか受け取ることができないため、同じフォントの複数の言語からのすべてのファイルを連結して、64個の言語が結合されたがフォントは個別のファイルを作成する必要があります。trファイルで見つかった文字は、unicharset_extractorに渡すときのboxファイルで見つかった文字のシーケンスと一致する必要があるため、trファイルと同じ順序でboxファイルを連結する必要があります。cn/mftrainingとunicharset_extractorのコマンドラインには、異なるフォントに異なるフィルタリングがある場合に備えて、.trファイルと.boxファイルを(それぞれ)同じ順序で指定する必要があります。これらすべてを実行し、文字マップのように文字を選び出すプログラムが利用できる場合があります。これにより、全体が容易になる可能性があります。

トレーニングのための Tesseract の実行

トレーニング画像とboxファイルのペアごとに、トレーニングモードでTesseractを実行します。

tesseract [lang].[fontname].exp[num].tif [lang].[fontname].exp[num] box.train

または

tesseract [lang].[fontname].exp[num].tif [lang].[fontname].exp[num] box.train.stderr

注記 この手順ではTesseractは言語データの存在を要求しますが、言語データ自体は使用されません。そのため、トレーニングする言語に関わらず、英語を使用できます。

最初の形式は、すべてのエラーをtesseract.logという名前のファイルに送信します。2番目の形式は、すべてのエラーをstderrに送信します。

boxファイル名は、パスを含めてtifファイル名と一致する必要があります。そうでないと、Tesseractはそれを検出しません。この手順の出力はfontfile.trであり、トレーニングページの各文字の特徴が含まれています。[lang].[fontname].exp[num].txtも、単一の改行とテキストなしで書き込まれます。

重要 apply_boxからの出力にエラーがないか確認してください。FATALITIESが報告されている場合、boxファイルを修正するまでトレーニングプロセスを続行する意味はありません。新しいbox.train.stderr設定ファイルにより、出力の場所を選択しやすくなっています。FATALITIESは通常、この手順でboxファイルにリストされている文字のトレーニングサンプルが見つからなかったことを示しています。座標が間違っているか、対象の文字の画像に問題があります。文字の利用可能なサンプルがない場合、認識できず、生成されたinttempファイルは後でunicharsetファイルと一致せず、Tesseractは中止します。

もう1つの致命的なエラーで注意が必要なエラーは、「n行目でboxファイルのフォーマットエラー」に関するエラーです。「Bad utf-8 char…」が先行する場合は、UTF-8コードが正しくなく、修正する必要があります。「utf-8 string too long…」というエラーは、文字の説明で24バイトの制限を超えたことを示しています。24バイトより長い説明が必要な場合は、問題を報告してください。

[lang].[fontname].exp[num].trファイルの内容を編集する必要はありません。その中のフォント名は設定する必要はありません。

興味のある方のために、フォーマットに関する情報を示します。boxファイルの各文字には、.trファイルに次の対応するエントリセットがあります(順序どおり)。

UnknownFont <UTF-8 code(s)> 2
mf <number of features>
x y length dir 0 0
... (there are a set of these determined by <number of features>
above)
cn 1
ypos length x2ndmoment y2ndmoment

mfの特徴は、1次モーメントと2次モーメントに正規化された輪郭の多角形セグメントです。x = xの位置 [-0.5,0.5] y = yの位置 [-0.25,0.75] 長さは多角形セグメントの長さ [0,1.0] dirはセグメントの方向 [0,1.0]

cnの特徴は、位置とサイズを区別するためにモーメント正規化を修正することです(例:cとC、,と’)。

文字セットの計算

Tesseractは、出力可能な文字のセットを知る必要があります。 unicharsetデータファイルを作成するには、上記で生成されたboxファイルに対してunicharset_extractorプログラムを使用します。

unicharset_extractor [lang].[fontname].exp[num].box lang.fontname.exp1.box ...

Tesseractは、isalpha、isdigit、isupper、islower、ispunctuationの文字プロパティにアクセスする必要があります。このデータはunicharsetデータファイルにエンコードする必要があります。このファイルの各行は1つの文字に対応します。UTF-8の文字の後に、プロパティをエンコードするバイナリマスクを表す16進数が続きます。各ビットはプロパティに対応します。ビットが1に設定されている場合、そのプロパティはtrueであることを意味します。ビットの順序は(最下位ビットから最上位ビットまで):isalpha、islower、isupper、isdigitです。

; 10 Common 46
b 3 Latin 59
W 5 Latin 40
7 8 Common 66
= 0 Common 93

日本語または中国語のアルファベット文字のプロパティは、バイナリ数00001(16進数で1)で表されます。

システムがwctype関数をサポートしている場合、これらの値はunicharset_extractorによって自動的に設定され、unicharsetファイルを編集する必要はありません。非常に古いシステム(例:Windows 95)では、これらのプロパティ記述コードを追加するために、unicharsetファイルを手で編集する必要があります。

最後の2列は、スクリプトの種類(ラテン語、共通、ギリシャ語、キリル文字、漢字、NULL)と、指定された言語の文字のIDコードを表します。

注記: inttempnormprotopffmtableが生成されるたびにunicharsetファイルを再生成する必要があります(つまり、boxファイルが変更された場合は、すべてを再作成する必要があります)。同期する必要があるためです。

font_properties (3.01 で新機能)

3.01でのトレーニングの新しい要件は、font_propertiesファイルです。このファイルの目的は、フォントが認識されたときに表示されるフォントスタイル情報を提供することです。font_propertiesファイルは、mftraining-F filenameオプションで指定されたテキストファイルです。

font_propertiesファイルの各行は、次のようにフォーマットされます。

<fontname> <italic> <bold> <fixed> <serif> <fraktur>

ここで、<fontname>はフォントの名前を表す文字列(スペースは使用不可)、<italic><bold><fixed><serif><fraktur>はすべて、フォントが指定されたプロパティを持っているかどうかを示す単純な0または1のフラグです。

mftraining を実行する際、各 .tr ファイル名は font_properties ファイルのエントリと一致する必要があります。一致しない場合、mftraining は異常終了します。3.01 リリース前のある時点で、この一致要件は .tr ファイル自体のフォント名に移行する可能性があります。.tr ファイル名は fontname.tr または [lang].[fontname].exp[num].tr のいずれかです。

font_properties ファイル

timesitalic 1 0 0 1 0
shapeclustering -F font_properties -U unicharset eng.timesitalic.exp0.tr
mftraining -F font_properties -U unicharset -O eng.unicharset eng.timesitalic.exp0.tr

注記 3.03 では、3000 フォントを網羅するデフォルトの font_properties ファイルがあります(必ずしも正確ではありません)。このリポジトリにあります:https://github.com/tesseract-ocr/langdata

クラスタリング

すべてのトレーニングページの文字特徴量が抽出されたら、それらをクラスタリングしてプロトタイプを作成する必要があります。

文字形状の特徴量は、shapeclusteringmftrainingcntraining プログラムを使用してクラスタリングできます。

shapeclustering (3.02 で新登場)

shapeclustering は、インド系言語を除いて使用しないでください。

shapeclustering -F font_properties -U unicharset [lang].[fontname].exp[num].tr lang.fontname.exp1.tr ...

shapeclustering は、形状クラスタリングによってマスターシェイプテーブルを作成し、shapetable という名前のファイルに書き込みます。

mftraining

mftraining -F font_properties -U unicharset -O [lang].unicharset [lang].[fontname].exp[num].tr lang.fontname.exp1.tr ...

-U ファイルは上記 unicharset_extractor によって生成された unicharset であり、lang.unicharset は combine_tessdata に渡される出力 unicharset です。

mftraining は、他の2つのデータファイル、inttemp(形状プロトタイプ)と pffmtable(各文字の予想特徴量の数)を出力します。バージョン 3.00/3.01 では、Microfeat という3番目のファイルもこのプログラムによって書き込まれますが、使用されません。それ以降のバージョンでは、このファイルは生成されません。

注記shapeclustering を実行しなかった場合、mftrainingshapetable ファイルを生成します。shapeclustering を使用したかどうかにかかわらず、この shapetable をトレーニングデータファイルに含める必要があります。

cntraining

cntraining [lang].[fontname].exp[num].tr lang.fontname.exp1.tr ...

これにより、normproto データファイル(文字正規化感度プロトタイプ)が出力されます。

辞書データ(オプション)

Tesseract は、言語ごとに最大8個の辞書ファイルを使用します。これらはすべてオプションであり、Tesseract がさまざまな可能な文字の組み合わせの可能性を判断するのに役立ちます。

7つのファイルは、Directed Acyclic Word Graph (DAWG) としてコード化されており、もう1つはプレーンな UTF-8 テキストファイルです。

名前 種類 説明
word-dawg dawg その言語の辞書語から作成された dawg。
freq-dawg dawg word-dawg に含まれるはずだった最も頻繁な単語から作成された dawg。
punc-dawg dawg 単語の周囲で見つかった句読点パターンから作成された dawg。「単語」の部分はスペース1つに置き換えられます。
number-dawg dawg 元々は数字が含まれていたトークンから作成された dawg。各数字はスペース文字に置き換えられます。
fixed-length-dawgs dawg さまざまな固定長の複数の dawg——中国語などの言語に役立ちます。[バージョン 3.03 以降は使用されていません]
bigram-dawg dawg 単語がスペースで区切られ、各数字が *?* に置き換えられた単語バイグラムの dawg。
unambig-dawg dawg TODO: 説明を追加。
user-words テキスト 辞書に追加する追加の単語のリスト。通常は空のままにしておき、必要に応じてユーザーが追加します。 tesseract(1) を参照してください。

DAWG 辞書ファイルを作成するには、最初にその言語の単語リストが必要です。スペルチェッカー(例:ispellaspell、または hunspell)から単語リストの基礎として使用できる適切な辞書ファイルを見つけることができます - ライセンスに注意してください。単語リストは、行ごとに1つの単語を含む UTF-8 テキストファイルとしてフォーマットされています。単語リストを必要なセット(例:高頻度語、残りの単語)に分割し、wordlist2dawg を使用して DAWG ファイルを作成します。

wordlist2dawg frequent_words_list [lang].freq-dawg [lang].unicharset
wordlist2dawg words_list [lang].word-dawg [lang].unicharset

アラビア語やヘブライ語など、右から左へ記述される言語(RTL)の場合、wordlist2dawg コマンドに -r 1 を追加します。

wordlist2dawg マニュアルページ に他のオプションがあります。

注記:結合された traineddata に辞書ファイルが含まれている場合、少なくとも1つのエントリが含まれている必要があります。それ以外の場合は空になる辞書ファイルは、combine_tessdata ステップには必要ありません。

珍しい綴りの単語は、辞書ファイルに追加する必要があります。珍しい綴りには、アルファベット文字と句読点または数値文字の混合が含まれる場合があります。(例:i18n、l10n、google.com、news.bbc.co.uk、io9.com、utf8、ucs2)

辞書単語リストのサンプルファイルが必要な場合は、既存の言語データファイル(例:eng.traineddata)を(combine_tessdata を使用して)解凍し、dawg2wordlist を使用して単語リストを抽出します。

最後のファイル (unicharambigs)

Tesseract が使用する最終的なデータファイルは unicharambigs と呼ばれます。これは、文字または文字セット間の可能な曖昧さを記述し、手動で生成されます。ファイル形式を理解するには、次の例を参照してください。

v1
2       ' '     1       "       1
1       m       2       r n     0
3       i i i   1       m       0

最初の行はバージョン識別子です。残りの行は、タブ区切りのフィールドで、次の形式です。

<number of characters for match source> <tab> <characters for match source> <tab> <number of characters for match target> <tab> <characters for match target> <tab> <type indicator>

タイプインジケータ は次の値を持つことができます

種類 説明
0 必須ではない置換。これは、'source' を 'target' に置き換えることで非辞書語から辞書語が作成される場合、セグメンテーション検索へのヒントとして曖昧さを考慮することを Tesseract に指示します。曖昧性によって別の辞書語に変換できる辞書語は、適応分類器のトレーニングには使用されません。  
1 必須の置換。これは、Tesseract に一致する 'source' を 'target' 文字列に常に置き換えるように指示します。  
例行 説明
2 ‘ ‘ 1 “ 1 二重引用符(")は、2つの連続した単一引用符(')が検出された場合常に置換する必要があります。
1 m 2 r n 0 文字 'rn' は、誤って 'm' と認識される場合があります。
3 i i i 1 m 0 文字 'm' は、誤ってシーケンス 'iii' と認識される場合があります。

個々の文字は、unicharset に含まれている必要があります。つまり、使用されるすべての文字は、トレーニングされている言語の一部である必要があります。

ルールは双方向ではないため、'm' が検出されたときに 'rn' を考慮し、その逆も考慮する必要がある場合は、それぞれにルールが必要です。

トレーニングに使用される他のほとんどのファイルと同様に、unicharambigs ファイルは UTF-8 でエンコードする必要があり、改行文字で終わる必要があります。

unicharambigs(5) マニュアルページ にも unicharambigs の形式が記載されています。

unicharambigs ファイルが存在しない場合もあります。

すべてをまとめる

以上です!あとは、すべてのファイル(shapetablenormprotointtemppffmtable)を収集し、http://en.wikipedia.org/wiki/List_of_ISO_639-2_codes から取得した言語の3文字コードである lang. プレフィックスを付けて名前を変更し、次のように combine_tessdata を実行します。

combine_tessdata [lang].

注記:末尾のドットを忘れないでください!

結果として得られる lang.traineddata は、tessdata ディレクトリに配置されます。その後、Tesseract は(理論的には)次のコマンドを使用して、その言語のテキストを認識できます。

tesseract image.tif output -l [lang]

(実際には、言語コードには任意の文字列を使用できますが、他の人も簡単に使用できるようにするには、ISO 639 を使用するのが適切です。)

マニュアルページまたはソースコードのコメントで、combine_tessdata の詳細なオプションを確認できます。

サードパーティのオンラインTraineddata インスペクターを使用して、traineddata ファイルの内部構造の一部を検査できます。