Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

train

AdaBoostを使用して単語分割モデルを学習します。

使い方

litsea train [OPTIONS] <FEATURES_FILE> <MODEL_FILE>

引数

ArgumentDescription
FEATURES_FILE入力特徴量ファイルのパス(extract の出力)
MODEL_FILE出力モデルファイルのパス

オプション

OptionDefaultDescription
-t, --threshold <THRESHOLD>0.01早期停止のための弱分類器精度の閾値。値を小さくするとより多くの反復が可能になる
-i, --num-iterations <NUM_ITERATIONS>100ブースティング反復の最大回数
-m, --load-model-uri <LOAD_MODEL_URI>None学習を再開するための既存モデルのURI(ファイルパスまたはHTTP/HTTPS URL)
--posoff品詞(POS)学習モードを有効にする(Averaged Perceptron を使用)
-e, --num-epochs <NUM_EPOCHS>10学習エポック数(POS モードのみ)

出力

学習メトリクスはstderrに出力されます。

Result Metrics:
  Accuracy: 94.15% ( 564133 / 599198 )
  Precision: 95.57% ( 330454 / 345758 )
  Recall: 94.36% ( 330454 / 350215 )
  Confusion Matrix:
    True Positives: 330454
    False Positives: 15304
    False Negatives: 19761
    True Negatives: 233679

Ctrl+C のハンドリング

学習は優雅な中断をサポートしています。

  • 1回目のCtrl+C: 学習を停止し、現在の状態でモデルを保存する
  • 2回目のCtrl+C: 保存せずに即座に終了する

これにより、長時間の学習セッションを進捗を失うことなく停止できます。

使用例

基本的な学習:

litsea train -t 0.005 -i 1000 ./features.txt ./models/japanese.model

高精度な学習(低い閾値、多い反復回数):

litsea train -t 0.001 -i 5000 ./features.txt ./model.model

既存モデルからの再学習:

litsea train -t 0.005 -i 1000 -m ./models/japanese.model \
    ./new_features.txt ./models/japanese_v2.model

ハイパーパラメータの調整

Parameter値を小さくした場合の効果値を大きくした場合の効果
threshold反復回数が増加、精度が向上する可能性あり、学習時間が長くなる反復回数が減少、学習が高速化、アンダーフィットの可能性あり
num_iterationsブースティングラウンドが減少、モデルが小さくなる、アンダーフィットの可能性ありラウンドが増加、モデルが大きくなる、精度が向上する可能性あり

品詞モデルの学習(--pos

--pos フラグを指定すると、AdaBoost の代わりに Averaged Perceptron アルゴリズムを使用します。単語分割と品詞タグ付けを同時に行うマルチクラス分類器を学習します。

使い方

litsea train --pos [OPTIONS] <FEATURES_FILE> <MODEL_FILE>

POS 学習固有のオプション

OptionDefaultDescription
--posoff品詞推定モデル(Averaged Perceptron)を学習する
-e, --num-epochs <NUM_EPOCHS>10学習エポック数

使用例

# 品詞モデルの学習(10エポック)
litsea train --pos -e 10 ./pos_features.txt ./models/japanese_pos.model

出力

学習メトリクスはstderrに出力されます(マクロ平均の適合率・再現率)。

Result Metrics:
  Accuracy: 98.34%
  Macro Precision: 97.87%
  Macro Recall: 91.67%

Ctrl+C のハンドリング

AdaBoost と同様に、品詞モデルの学習も優雅な中断をサポートしています。1回目の Ctrl+C で学習を停止し、現在の状態でモデルを保存します。

POS ハイパーパラメータ

Parameter値を小さくした場合の効果値を大きくした場合の効果
num_epochs学習が高速化、アンダーフィットの可能性あり精度が向上、学習時間が長くなる、オーバーフィットの可能性あり