pub struct AutocorrectEngine { /* private fields */ }Implementations§
Source§impl AutocorrectEngine
impl AutocorrectEngine
pub fn new(lexicon: Lexicon) -> Self
pub fn from_entries(entries: impl IntoIterator<Item = LexiconEntry>) -> Self
pub fn with_config(lexicon: Lexicon, config: AutocorrectConfig) -> Self
pub fn lexicon(&self) -> &Lexicon
pub fn config(&self) -> AutocorrectConfig
Sourcepub fn suggest(&self, input: &str) -> Vec<CorrectionCandidate>
pub fn suggest(&self, input: &str) -> Vec<CorrectionCandidate>
Ranked candidates for input, best first. Convenience wrapper over
decide that returns only the candidates.
Sourcepub fn decide(&self, request: CorrectionRequest) -> AutocorrectDecision
pub fn decide(&self, request: CorrectionRequest) -> AutocorrectDecision
Rank candidates for a request over the in-memory (heap) Lexicon.
The returned AutocorrectDecision carries the baseline
(input), the ranked
candidates, and a conservative
replacement (a confident lexicon
edit only, never a prefix or skeleton guess). If the request carries a
roman_input, replacement is suppressed unless
AutocorrectConfig::auto_replace_roman_input is set.
This heap path is a convenience for offline/corpus use. It is not the
mmap FstLexicon runtime path a keyboard uses, and its replacement is
not an auto-insert recommendation: the runtime exposes ranked candidates
with per-candidate provenance (FstLexicon::suggest /
obadh_autocorrect_suggest_detailed) and leaves the auto-insert decision
to the client, which has the frequency data and product policy to make it.
use obadh_engine::{AutocorrectEngine, CorrectionRequest, LexiconEntry};
let engine = AutocorrectEngine::from_entries([LexiconEntry::new("বাংলা", 10_000)]);
let decision = engine.decide(CorrectionRequest::new("বামলা"));
// `replacement`, when set, is one of the ranked candidates.
if let Some(replacement) = &decision.replacement {
assert!(decision.candidates.contains(replacement));
}
// `suggest` is the same ranking without the replacement field.
assert_eq!(engine.suggest("বামলা"), decision.candidates);Trait Implementations§
Source§impl Clone for AutocorrectEngine
impl Clone for AutocorrectEngine
Source§fn clone(&self) -> AutocorrectEngine
fn clone(&self) -> AutocorrectEngine
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more