Skip to main content

Model

Struct Model 

Source
pub struct Model { /* private fields */ }
Expand description

UDPipe model wrapper.

This is the main type for loading and using UDPipe models. Models can be loaded from files or from memory.

§Thread Safety

Model is Send but not Sync. You can transfer a model to another thread, but you cannot share references to it across threads. If you need concurrent access from multiple threads, wrap the model in Arc<Mutex<Model>>.

Implementations§

Source§

impl Model

Source

pub fn load(path: impl AsRef<Path>) -> Result<Self, UdpipeError>

Load a model from a file path.

§Errors

Returns an error if the path contains a null byte or if the model cannot be loaded.

§Example
use udpipe_rs::Model;
let model = Model::load("english-ewt-ud-2.5-191206.udpipe").expect("Failed to load model");
Source

pub fn load_from_memory(data: &[u8]) -> Result<Self, UdpipeError>

Load a model from a byte slice.

This is useful for loading models from network sources or embedded data.

§Errors

Returns an error if the data is empty or not a valid UDPipe model.

§Example
use udpipe_rs::Model;
let model_data =
    std::fs::read("english-ewt-ud-2.5-191206.udpipe").expect("Failed to read model");
let model = Model::load_from_memory(&model_data).expect("Failed to load model");
Source

pub fn parse(&self, text: &str) -> Result<Vec<Word>, UdpipeError>

Parse text and return all words with their UD annotations.

The text is tokenized, tagged, lemmatized, and parsed for dependencies.

§Errors

Returns an error if the text contains a null byte or if parsing fails.

§Example
use udpipe_rs::Model;
let model = Model::load("english-ewt-ud-2.5-191206.udpipe").expect("Failed to load");
let words = model
    .parse("The quick brown fox.")
    .expect("Failed to parse");
for word in words {
    println!("{} -> {} ({})", word.form, word.lemma, word.upostag);
}

Trait Implementations§

Source§

impl Debug for Model

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Drop for Model

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl Send for Model

Auto Trait Implementations§

§

impl Freeze for Model

§

impl RefUnwindSafe for Model

§

impl !Sync for Model

§

impl Unpin for Model

§

impl UnwindSafe for Model

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.