pub struct SequenceClassificationModel { /* private fields */ }
Expand description
§SequenceClassificationModel for Classification (e.g. Sentiment Analysis)
Implementations§
Source§impl SequenceClassificationModel
impl SequenceClassificationModel
Sourcepub fn new(
config: SequenceClassificationConfig,
) -> Result<SequenceClassificationModel, RustBertError>
pub fn new( config: SequenceClassificationConfig, ) -> Result<SequenceClassificationModel, RustBertError>
Build a new SequenceClassificationModel
§Arguments
config
-SequenceClassificationConfig
object containing the resource references (model, vocabulary, configuration) and device placement (CPU/GPU)
§Example
use rust_bert::pipelines::sequence_classification::SequenceClassificationModel;
let model = SequenceClassificationModel::new(Default::default())?;
Sourcepub fn new_with_tokenizer(
config: SequenceClassificationConfig,
tokenizer: TokenizerOption,
) -> Result<SequenceClassificationModel, RustBertError>
pub fn new_with_tokenizer( config: SequenceClassificationConfig, tokenizer: TokenizerOption, ) -> Result<SequenceClassificationModel, RustBertError>
Build a new SequenceClassificationModel
with a provided tokenizer.
§Arguments
config
-SequenceClassificationConfig
object containing the resource references (model, vocabulary, configuration) and device placement (CPU/GPU)tokenizer
-TokenizerOption
tokenizer to use for sequence classification.
§Example
use rust_bert::pipelines::common::{ModelType, TokenizerOption};
use rust_bert::pipelines::sequence_classification::SequenceClassificationModel;
let tokenizer = TokenizerOption::from_file(
ModelType::Bert,
"path/to/vocab.txt",
None,
false,
None,
None,
)?;
let model = SequenceClassificationModel::new_with_tokenizer(Default::default(), tokenizer)?;
Sourcepub fn get_tokenizer(&self) -> &TokenizerOption
pub fn get_tokenizer(&self) -> &TokenizerOption
Get a reference to the model tokenizer.
Sourcepub fn get_tokenizer_mut(&mut self) -> &mut TokenizerOption
pub fn get_tokenizer_mut(&mut self) -> &mut TokenizerOption
Get a mutable reference to the model tokenizer.
Sourcepub fn predict<'a, S>(&self, input: S) -> Vec<Label>
pub fn predict<'a, S>(&self, input: S) -> Vec<Label>
Classify texts
§Arguments
input
-&[&str]
Array of texts to classify.
§Returns
Vec<Label>
containing labels for input texts
§Example
let sequence_classification_model = SequenceClassificationModel::new(Default::default())?;
let input = [
"Probably my all-time favorite movie, a story of selflessness, sacrifice and dedication to a noble cause, but it's not preachy or boring.",
"This film tried to be too many things all at once: stinging political satire, Hollywood blockbuster, sappy romantic comedy, family values promo...",
"If you like original gut wrenching laughter you will like this movie. If you are young or old then you will love this movie, hell even my mom liked it.",
];
let output = sequence_classification_model.predict(&input);
Sourcepub fn predict_multilabel(
&self,
input: &[&str],
threshold: f64,
) -> Result<Vec<Vec<Label>>, RustBertError>
pub fn predict_multilabel( &self, input: &[&str], threshold: f64, ) -> Result<Vec<Vec<Label>>, RustBertError>
Multi-label classification of texts
§Arguments
input
-&[&str]
Array of texts to classify.threshold
-f64
threshold above which a label will be considered true by the classifier
§Returns
Vec<Vec<Label>>
containing a vector of true labels for each input text
§Example
let sequence_classification_model = SequenceClassificationModel::new(Default::default())?;
let input = [
"Probably my all-time favorite movie, a story of selflessness, sacrifice and dedication to a noble cause, but it's not preachy or boring.",
"This film tried to be too many things all at once: stinging political satire, Hollywood blockbuster, sappy romantic comedy, family values promo...",
"If you like original gut wrenching laughter you will like this movie. If you are young or old then you will love this movie, hell even my mom liked it.",
];
let output = sequence_classification_model.predict_multilabel(&input, 0.5);
Auto Trait Implementations§
impl !Freeze for SequenceClassificationModel
impl RefUnwindSafe for SequenceClassificationModel
impl Send for SequenceClassificationModel
impl !Sync for SequenceClassificationModel
impl Unpin for SequenceClassificationModel
impl UnwindSafe for SequenceClassificationModel
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 more