跳至內容。

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')

選擇性檔案

這些檔案可以選擇性地放在您的 langdata 目錄中,並且 tesstrain.sh 將使用它們來提高訓練品質

一般檔案

這些是一般檔案,可能會影響多種語言,但如果需要,可以編輯(請注意 [Script] 是腳本名稱,例如 'Greek' 或 'Hebrew' 或 'Devanagari'。一個腳本可以用於多種語言,例如,天城文腳本用於印地語、梵語、馬拉地語、尼泊爾語等。)

可以使用 Nick White 的 xheight 工具來找到不同字體的 xheight。要複製並建置 xheights 工具,請執行以下操作

$ git clone http://ancientgreekocr.org/grctraining.git
$ cd grctraining
$ make tools/xheight

要查看它如何用於希臘語訓練,請執行

$ make langdata/Greek.xheights

Langdata 檔案

training_text

訓練文字是一個文字檔案,將用於訓練 Tesseract 以適應該語言。它應該包含每個字元的幾個樣本,並且盡可能接近真實的文字樣本。

wordlist

字詞清單是一個文字檔案,其中包含一個字詞列表,每行一個字詞,依頻率遞減排序(因此最常見的字詞排在最前面)。

training_text.bigram_freqs

這是一個文字檔案,其中包含一個雙連字(這裡指的是兩個字元)列表,以及它們在 training_text 中彼此相鄰出現的頻率,每行一個雙連字。

training_text.unigram_freqs

這是一個文字檔案,其中包含一個單連字(字元)列表,以及它們在 training_text 中彼此相鄰出現的頻率,每行一個單連字。

word.bigrams

這是一個文字檔案,其中包含一個雙連字(這裡指的是兩個字詞)列表,以空格分隔,每行一個,並依彼此相鄰出現的頻率排序(最常見的在最前面)。

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 檔案匯入的,因此如果您對它的具體工作方式感到好奇,或者想要更改其行為,請查看該檔案。