pub struct NERModel { /* private fields */ }
Expand description
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 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