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
-NERConfig
object containing the resource references (model, vocabulary, configuration) and device placement (CPU/GPU)tokenizer
-TokenizerOption
tokenizer 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