pub struct ViterbiDecoder {
pub n_tags: usize,
pub tag_names: Vec<String>,
}Expand description
CRF-style Viterbi decoder operating over emission and transition log-probabilities.
Fields§
Total number of output tags.
tag_names: Vec<String>Human-readable tag names in index order.
Implementations§
Source§impl ViterbiDecoder
impl ViterbiDecoder
Sourcepub fn new(tag_names: Vec<String>) -> Self
pub fn new(tag_names: Vec<String>) -> Self
Construct a decoder from an ordered list of tag names.
Sourcepub fn decode(
&self,
emissions: &[Vec<f64>],
transitions: &[Vec<f64>],
) -> Result<Vec<usize>>
pub fn decode( &self, emissions: &[Vec<f64>], transitions: &[Vec<f64>], ) -> Result<Vec<usize>>
Viterbi decoding over emission scores and a transition matrix.
emissions: [seq_len][n_tags] log-probabilities of each tag at each position.
transitions: [n_tags][n_tags] log-probability of transitioning from tag i to tag j.
Returns the most likely tag index sequence.
Auto Trait Implementations§
impl Freeze for ViterbiDecoder
impl RefUnwindSafe for ViterbiDecoder
impl Send for ViterbiDecoder
impl Sync for ViterbiDecoder
impl Unpin for ViterbiDecoder
impl UnsafeUnpin for ViterbiDecoder
impl UnwindSafe for ViterbiDecoder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.