mnem_ner_providers/lib.rs
1//! NER provider adapters for mnem.
2//!
3//! Ships two built-in providers:
4//!
5//! - [`RuleNer`] — capitalized-phrase heuristic (Person / Organization),
6//! zero dependencies, always available.
7//! - [`NullNer`] — no-op, emits nothing. Selected via
8//! `[ner]\nprovider = "none"`.
9//!
10//! The [`open`] factory constructs the right implementation from a
11//! [`NerConfig`]. Wire [`NerConfig`] into [`mnem_ingest::IngestConfig`]
12//! and call [`open`] during pipeline construction.
13//!
14//! ## Entity label strings
15//!
16//! Entity labels are free-form strings — there is no closed vocabulary.
17//! Each [`NerProvider`] implementation returns whatever label strings it
18//! chooses (e.g. `"Entity:Person"`, `"Entity:Chemical"`, etc.). The
19//! mnem node graph stores the raw label string as the node's `ntype`.
20
21pub mod config;
22pub mod error;
23pub mod null;
24pub mod provider;
25pub mod rule;
26
27pub use config::{NerConfig, open};
28pub use error::NerError;
29pub use null::NullNer;
30pub use provider::{NamedEntity, NerProvider};
31pub use rule::RuleNer;