[][src]Struct rust_bert::pipelines::sentiment::SentimentClassifier

pub struct SentimentClassifier { /* fields omitted */ }

Methods

impl SentimentClassifier[src]

pub fn new(
    vocab_path: &Path,
    config_path: &Path,
    weights_path: &Path,
    device: Device
) -> Fallible<SentimentClassifier>
[src]

Build a new SentimentClassifier

Arguments

  • vocab_path - Path to the model vocabulary, expected to have a structure following the Transformers library convention
  • config_path - Path to the model configuration, expected to have a structure following the Transformers library convention
  • weights_path - Path to the model weight files. These need to be converted form the .bin to .ot format using the utility script provided.
  • device - Device to run the model on, e.g. Device::Cpu or Device::Cuda(0)

Example

use tch::Device;
use std::path::{Path, PathBuf};
use rust_bert::pipelines::sentiment::SentimentClassifier;

let mut home: PathBuf = dirs::home_dir().unwrap();
let config_path = &home.as_path().join("config.json");
let vocab_path = &home.as_path().join("vocab.txt");
let weights_path = &home.as_path().join("model.ot");
let device = Device::Cpu;
let sentiment_model =  SentimentClassifier::new(vocab_path,
                                                config_path,
                                                weights_path,
                                                device)?;

pub fn predict(&self, input: &[&str]) -> Vec<Sentiment>[src]

Extract sentiment form an array of text inputs

Arguments

  • input - &[&str] Array of texts to extract the sentiment from.

Returns

  • Vec<Sentiment> Sentiments extracted from texts.

Example

use tch::Device;
use std::path::{Path, PathBuf};
use rust_bert::pipelines::sentiment::SentimentClassifier;

let mut home: PathBuf = dirs::home_dir().unwrap();
let config_path = &home.as_path().join("config.json");
let vocab_path = &home.as_path().join("vocab.txt");
let weights_path = &home.as_path().join("model.ot");
let device = Device::Cpu;
let sentiment_classifier =  SentimentClassifier::new(vocab_path,
                                                     config_path,
                                                     weights_path,
                                                     device)?;

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 = sentiment_classifier.predict(&input);

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.