How abdouaziz/sbert works
This is a command-line Sentence-BERT similarity-training application: it reads labeled sentence pairs, prepares tokenized batches, trains a BERT-based pair classifier, and evaluates it on a held-out split. The sampled code places the workflow in one module, so components share its exact path. The README describes semantic sentence embeddings and cosine similarity, but the sampled implementation excerpt shows a pooled-pair classifier; inference or a separate embedding-export workflow is not evidenced.
Main entry points: sbert.py CLI workflow · train.csv Pair CSV
Components 17
Pair preparation
- Pair CSV
input/train.csv - Run arguments
src/sbert.py - Train-test split
src/sbert.py - Similarity loader
src/sbert.py - Pair dataset
src/sbert.py - BERT tokenizer
src/sbert.py
Similarity model
- Pair similarity model
src/sbert.py - Pooling and classifier
src/sbert.py
Training and evaluation
- Binary loss
src/sbert.py - AdamW optimizer
src/sbert.py - Learning-rate scheduler
src/sbert.py - Training epoch
src/sbert.py - Validation epoch
src/sbert.py - Accuracy and loss
src/sbert.py - CLI workflow
src/sbert.py
Other components
- CLI user
- Pretrained BERT
Connections 23
- CLI user → CLI workflow: runs
- CLI workflow → Run arguments: parses
- CLI workflow → Pair CSV: reads
- CLI workflow → Train-test split: splits
- CLI workflow → Similarity loader: builds loaders
- Similarity loader → Pair dataset: creates
- Pair dataset → BERT tokenizer: tokenizes pairs
- CLI workflow → BERT tokenizer: loads
- CLI workflow → Pair similarity model: creates
- Pair similarity model → Pretrained BERT: loads BERT
- Pair similarity model → Pooling and classifier: uses
- CLI workflow → AdamW optimizer: creates
- CLI workflow → Learning-rate scheduler: creates
- CLI workflow → Training epoch: runs epochs
- CLI workflow → Validation epoch: evaluates split
- Training epoch → Pair similarity model: scores batches
- Validation epoch → Pair similarity model: scores batches
- Training epoch → Binary loss: computes loss
- Validation epoch → Binary loss: computes loss
- Training epoch → AdamW optimizer: updates weights
- Training epoch → Learning-rate scheduler: steps schedule
- Training epoch → Accuracy and loss: returns metrics
- Validation epoch → Accuracy and loss: returns metrics