pub struct NERModel { /* private fields */ }Expand description
§NERModel to extract named entities
Implementations§
Source§impl NERModel
impl NERModel
Sourcepub fn new(
ner_config: TokenClassificationConfig,
) -> Result<NERModel, RustBertError>
pub fn new( ner_config: TokenClassificationConfig, ) -> Result<NERModel, RustBertError>
Sourcepub fn new_with_tokenizer(
ner_config: TokenClassificationConfig,
tokenizer: TokenizerOption,
) -> Result<NERModel, RustBertError>
pub fn new_with_tokenizer( ner_config: TokenClassificationConfig, tokenizer: TokenizerOption, ) -> Result<NERModel, RustBertError>
Build a new NERModel with a provided tokenizer.
§Arguments
ner_config-NERConfigobject containing the resource references (model, vocabulary, configuration) and device placement (CPU/GPU)tokenizer-TokenizerOptiontokenizer to use for token classification
§Example
use rust_bert::pipelines::common::{ModelType, TokenizerOption};
use rust_bert::pipelines::ner::NERModel;
let tokenizer = TokenizerOption::from_file(
ModelType::Bert,
"path/to/vocab.txt",
None,
false,
None,
None,
)?;
let ner_model = NERModel::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<S>(&self, input: &[S]) -> Vec<Vec<Entity>>
pub fn predict<S>(&self, input: &[S]) -> Vec<Vec<Entity>>
Extract entities from a text
§Arguments
input-&[&str]Array of texts to extract entities from.
§Returns
Vec<Vec<Entity>>containing extracted entities
§Example
let ner_model = NERModel::new(Default::default())?;
let input = [
"My name is Amy. I live in Paris.",
"Paris is a city in France.",
];
let output = ner_model.predict(&input);Sourcepub fn predict_full_entities<S>(&self, input: &[S]) -> Vec<Vec<Entity>>
pub fn predict_full_entities<S>(&self, input: &[S]) -> Vec<Vec<Entity>>
Extract full entities from a text performing entity chunking. Follows the algorithm for entities chunking described in Erik F. Tjong Kim Sang, Jorn Veenstra, Representing Text Chunks The proposed implementation is inspired by the Python seqeval library (shared under MIT license).
§Arguments
input-&[&str]Array of texts to extract entities from.
§Returns
Vec<Entity>containing consolidated extracted entities
§Example
let ner_model = NERModel::new(Default::default())?;
let input = ["Asked John Smith about Acme Corp"];
let output = ner_model.predict_full_entities(&input);Outputs:
Output: \
[[
Entity {
word: String::from("John Smith"),
score: 0.9747,
label: String::from("PER"),
offset: Offset { begin: 6, end: 16 },
},
Entity {
word: String::from("Acme Corp"),
score: 0.8847,
label: String::from("I-LOC"),
offset: Offset { begin: 23, end: 32 },
},
]]Auto Trait Implementations§
impl !Freeze for NERModel
impl RefUnwindSafe for NERModel
impl Send for NERModel
impl !Sync for NERModel
impl Unpin for NERModel
impl UnwindSafe for NERModel
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