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
impl Model
Sourcepub fn load_from_memory(data: &[u8]) -> Result<Self, UdpipeError>
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");Sourcepub fn parse(&self, text: &str) -> Result<Vec<Word>, UdpipeError>
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§
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> 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