anno 0.1.0

Named entity recognition — pattern, rule-based, BERT ONNX, Candle backends
Documentation
anno-0.1.0 has been yanked.

anno

Named entity recognition.

CI Crates.io Docs MSRV

use anno::{PatternNER, Model};

let ner = PatternNER::new();
let entities = ner.extract_entities("Meeting on January 15, 2025 for $100", None)?;
// [Entity { text: "January 15, 2025", type: Date }, Entity { text: "$100", type: Money }]

Backends

Backend Feature Entities Notes
PatternNER DATE, MONEY, PERCENT Always available
BertNEROnnx onnx PER, ORG, LOC, etc BERT via ONNX
GLiNERNER onnx Custom types Zero-shot
CandleNER candle PER, ORG, LOC, etc Rust-native

Evaluation

use anno::eval::{GoldEntity, evaluate_ner_model};

let test_cases = vec![("John works at Google.", vec![
    GoldEntity::new("John", EntityType::Person, 0),
    GoldEntity::new("Google", EntityType::Organization, 15),
])];
let results = evaluate_ner_model(&model, &test_cases)?;
println!("F1: {:.2}", results.f1);

Related

See rank-fusion for combining ranked lists. See rank-refine for reranking.

License

MIT OR Apache-2.0