Views
No views yet
1cd ~/projects/workspace_underthesea/bamboo-1
2uv sync1from src.inference import Parser
2
3parser = Parser("undertheseanlp/bamboo-1") # downloads the released safetensors model
4sent = parser.parse("Tôi yêu Việt Nam")
5print(sent.to_conllu())1# Train with default parameters
2uv run scripts/train.py
3
4# Train with custom parameters
5uv run scripts/train.py --output models/bamboo-1 --max-epochs 200 --feat char
6
7# Train with BERT embeddings
8uv run scripts/train.py --feat bert --bert vinai/phobert-base
9
10# Train with Weights & Biases logging
11uv run scripts/train.py --wandb1# Evaluate trained model
2uv run scripts/evaluate.py --model models/bamboo-11# Interactive prediction
2uv run scripts/predict.py --model models/bamboo-1
3
4# Predict from file
5uv run scripts/predict.py --model models/bamboo-1 --input input.txt --output output.conlluundertheseanlp/UDD-1Input: Vietnamese sentence
↓
Word Embeddings + Character LSTM Embeddings
↓
BiLSTM Encoder (3 layers, 400 hidden units)
↓
Biaffine Attention (Arc + Relation)
↓
Output: Dependency tree (head indices + relation labels)models/bamboo-1.0.0-20260601-xlmr-udd1, trained on UDD-1 (whitespace-tokenized input).| Split | UAS | LAS |
|---|---|---|
| UDD-1 dev | 88.70% | 82.37% |
| UDD-1 test | 89.25% | 82.87% |
bamboo-1/
├── README.md
├── requirements.txt
├── scripts/
│ ├── train.py # Training script
│ ├── evaluate.py # Evaluation script
│ └── predict.py # Prediction script
├── bamboo1/
│ └── corpus.py # UDD-1 corpus loader
├── models/ # Trained models (generated)
└── data/ # Downloaded dataset (generated)