mix nasty.train.neural_pos (Nasty v0.3.0)

View Source

Train a neural POS tagger on Universal Dependencies corpus.

Usage

mix nasty.train.neural_pos --corpus path/to/en_ewt-ud-train.conllu [OPTIONS]

Options

  • --corpus - Path to CoNLL-U training corpus (required)
  • --test-corpus - Path to test corpus (optional)
  • --output - Output model path (default: priv/models/en/pos_neural_v1.axon)
  • --epochs - Number of training epochs (default: 10)
  • --batch-size - Batch size (default: 32)
  • --learning-rate - Learning rate (default: 0.001)
  • --hidden-size - LSTM hidden size (default: 256)
  • --num-layers - Number of BiLSTM layers (default: 2)
  • --embedding-dim - Embedding dimension (default: 300)
  • --dropout - Dropout rate (default: 0.3)
  • --validation-split - Validation split ratio (default: 0.1)
  • --early-stopping - Enable early stopping (default: true)
  • --patience - Early stopping patience (default: 3)
  • --embeddings - Path to pre-trained embeddings (GloVe format, optional)
  • --use-char-cnn - Use character-level CNN (default: false)
  • --max-sentences - Maximum training sentences (default: unlimited)

Examples

# Train on UD English corpus
mix nasty.train.neural_pos --corpus data/en_ewt-ud-train.conllu

# Train with custom hyperparameters
mix nasty.train.neural_pos \
  --corpus data/train.conllu \
  --test-corpus data/test.conllu \
  --epochs 15 \
  --hidden-size 384 \
  --use-char-cnn

# Train with pre-trained embeddings
mix nasty.train.neural_pos \
  --corpus data/train.conllu \
  --embeddings glove.6B.300d.txt

Output

The trained model will be saved to the specified output path along with:

  • Model file (.axon)
  • Metadata file (.meta.json)
  • Training log

Performance

Expected training time on UD English (12k sentences):

  • CPU: ~30-60 minutes
  • GPU (EXLA): ~5-10 minutes

Expected accuracy: 97-98% on standard benchmarks