tesstrain.sh は、言語の新しいトレーニングを作成するために適切なプログラムを自動的に呼び出すスクリプトです。トレーニングにはさまざまなプログラムを使用するため、使用する前に 'make training' でビルドする必要があります。
このページでは、3.0x ブランチのトレーニングに使用されるバージョンについて詳しく説明します。LSTM トレーニングには、すべてのファイルが必要なわけではありません。
4.0 LSTM トレーニングの使用法については、TrainingTesseract-4.00 を参照してください。
使用例
$ ./tesstrain.sh --lang kan --langdata_dir /path/to/mylangdata --tessdata_dir /path/to/mytessdata
これは、tesstrain.sh
の最も一般的な使用法です。tesstrain.sh
の上部にあるコメントを参照して、受け付けるすべての引数の説明を確認してください。
Ubuntu に付属の tesstrain.sh のコピーは、多くのディレクトリの場所が標準化されているため、いくつかのデフォルトパラメーターが自動的に入力されるようにわずかに変更されています。ドキュメントは標準の場所にあります。
/usr/share/doc/tesseract/README.debian
この変更により、いくつかの入力が節約されます。これは、日本語のトレーニングの例です。
git clone https://github.com/tesseract-ocr/langdata.git
apt-get install fonts-noto-cjk fonts-japanese-mincho.ttf fonts-takao-gothic fonts-vlgothic
tesstrain.sh --lang jpn --langdata_dir langdata
Langdata
tesstrain.sh は、トレーニングプロセスで使用するために特定のファイルを必要とします。これらは通常、「langdata」ディレクトリに保存されます。Tesseract が公式にサポートしている言語の langdata はすべて、langdata リポジトリに保存されていますが、もちろん、langdata は任意の場所に保存できます。
必須ファイル
少なくとも、langdata ディレクトリに次のファイルを提供する必要があります([lang] は言語コード(例:'kan' または 'eng')であることに注意してください)。
- [lang]/[lang].training_text (または、コマンドラインで
--training_text /path/to/textfile
を使用して指定できます)
オプションのファイル
これらのファイルはオプションで langdata ディレクトリに配置でき、tesstrain.sh によってトレーニングの品質を向上させるために使用されます。
- [lang]/[lang].wordlist (または、コマンドラインで
--wordlist /path/to/wordlist
を使用して指定できます) - [lang]/[lang].word.bigrams
- [lang]/[lang].numbers
- [lang]/[lang].punc
- [lang]/[lang].config
- [lang]/[lang].unicharambigs
- [lang]/[lang].training_text.bigram_freqs
- [lang]/[lang].training_text.unigram_freqs
一般ファイル
これらは複数の言語に影響を与える可能性のある一般的なファイルですが、必要に応じて編集できます([Script] はスクリプト名(例:'Greek'、'Hebrew'、'Devanagari')であることに注意してください。1つのスクリプトは複数の言語で使用できます。例:ヒンディー語、サンスクリット語、マラーティー語、ネパール語などのデーヴァナーガリー文字)。
- [Script].xheights
- [Script].unicharset
- font_properties
ニック・ホワイトの xheight ツールを使用して、さまざまなフォントの xheight を見つけることができます。クローンを作成して xheights ツールをビルドするには、次の手順を実行します。
$ git clone http://ancientgreekocr.org/grctraining.git
$ cd grctraining
$ make tools/xheight
ギリシャ語トレーニングでの使用方法を確認するには、次の手順を実行します。
$ make langdata/Greek.xheights
Langdata ファイル
training_text
トレーニングテキストは、Tesseract を言語用にトレーニングするために使用されるテキストファイルです。各文字のサンプルがいくつか含まれている必要があり、可能な限り現実的なテキストサンプルに近いものである必要があります。
wordlist
ワードリストは、単語のリストを含むテキストファイルで、1行に1つの単語が、頻度の高い順(最も一般的な単語が最初)に並んでいます。
training_text.bigram_freqs
これは、ビッグラム(ここでは2文字を意味する)のリストと、training_text
で互いに隣り合って現れる頻度を含むテキストファイルで、1行に1つのビッグラムが含まれています。
training_text.unigram_freqs
これは、ユニグラム(文字)のリストと、training_text
で互いに隣り合って現れる頻度を含むテキストファイルで、1行に1つのユニグラムが含まれています。
word.bigrams
これは、ビッグラム(ここでは2つの単語を意味する)のリストを含むテキストファイルで、スペースで区切られ、1行に1つずつ、互いに隣り合って表示される頻度順(最も一般的なものが先頭)に並べられています。
numbers、punc、config、unicharambigs
これらのファイルはすべて、最終トレーニングに直接組み込まれます。その機能と使用方法の詳細については、TrainingTesseract ページを参照してください。
language-specific.sh
のオプション
オプションで、トレーニングオプションを設定したり、training/language-specific.sh
スクリプトを編集して、言語トレーニング(使用するフォントなど)のデフォルトオプションを設定したりできます。
言語のオプションを設定するには、language-specific.sh
の末尾にある、言語コードに従って変数が設定されている場所(set_lang_specific_parameters()
関数)を探してください。
フォント
フォントは、tesstrain.sh の引数として(--fontlist 'Font 1' 'Font 2'
のように)設定するか、language-specific.sh
でフォントを指定することで設定できます。
その他のオプション
設定できるその他の変数については、set_lang_specific_parameters()
関数を読んでそれらが何をするのかを確認し、tesstrain_utils.sh
を読んでそれらがどのように使用されているかを確認するのが最善です。
tesstrain_utils.sh
tesstrain.sh
が行う作業の大部分は、実際には training/tesstrain_utils.sh ファイルからインポートされていることに注意してください。したがって、その動作を正確に知りたい場合や、動作を変更したい場合は、そちらを参照してください。