1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//! NER provider configuration and `open()` factory.
use ;
use crateNerError;
use crateNullNer;
use crateNerProvider;
use crateRuleNer;
/// NER provider selection.
///
/// Serialised under the `[ner]` section of `config.toml`:
/// ```toml
/// [ner]
/// provider = "rule" # default
/// # or
/// provider = "none" # disables NER entirely
/// ```
/// Open a boxed [`NerProvider`] from a [`NerConfig`].
///
/// # Errors
///
/// Returns [`NerError`] if the config requests an unavailable provider
/// (e.g. a compiled-out ONNX feature). Neither `Rule` nor `None`
/// can fail.