tranz
Point-embedding knowledge graph completion: TransE, RotatE, ComplEx, DistMult.
Entities are points in vector space. Relations are transformations (translation, rotation, diagonal scaling). Train on any triple file, export embeddings for downstream use.
[]
= "0.2.1"
Dual-licensed under MIT or Apache-2.0.
Models
| Model | Scoring function | Space | Reference |
|---|---|---|---|
| TransE | ||h + r - t|| |
Real | Bordes et al., 2013 |
| RotatE | ||h * r - t|| |
Complex | Sun et al., 2019 |
| ComplEx | Re(h * r * conj(t)) |
Complex | Trouillon et al., 2016 |
| DistMult | h * r * t |
Real | Yang et al., 2015 |
CLI
Install with cargo install tranz --features candle.
# Train on any TSV/CSV triple file
# Train on WN18RR-format directory
# Output: embeddings/entities.tsv, embeddings/relations.tsv (w2v format)
# Predict from saved embeddings
Library usage
use ;
use load_dataset;
use evaluate_link_prediction;
// Load WN18RR-format dataset
let ds = load_dataset.unwrap;
let mut interned = ds.into_interned;
interned.add_reciprocals; // optional, improves all models
let model = new;
// Batch scoring: top-10 tail predictions
let top10 = model.top_k_tails;
// Filtered evaluation
let metrics = evaluate_link_prediction;
Generic triple loading
use load_triples;
// Load any TSV or CSV file: head<TAB>relation<TAB>tail
let ds = load_triples.unwrap;
let ds = ds.split; // 80/10/10 train/valid/test
let interned = ds.into_interned;
Embedding export
use export_embeddings;
// After training, export to w2v TSV format
export_embeddings.unwrap;
// -> output/entities.tsv, output/relations.tsv
Training (requires candle feature)
use ;
let config = TrainConfig ;
let result = train.unwrap;
let scorer = result.model.to_rotate.unwrap;
Companion to subsume
subsume embeds entities as geometric regions (boxes, cones) where containment encodes subsumption. tranz embeds entities as points where distance/similarity encodes relational facts. Different geometric paradigms for different tasks:
- subsume: ontology completion, taxonomy expansion, logical query answering
- tranz: link prediction, relation extraction, knowledge base completion