sudachi::plugin::oov

Trait OovProviderPlugin

source
pub trait OovProviderPlugin: Sync + Send {
    // Required methods
    fn set_up(
        &mut self,
        settings: &Value,
        config: &Config,
        grammar: &mut Grammar<'_>,
    ) -> SudachiResult<()>;
    fn provide_oov(
        &self,
        input_text: &InputBuffer,
        offset: usize,
        other_words: CreatedWords,
        result: &mut Vec<Node>,
    ) -> SudachiResult<usize>;
}
Expand description

Trait of plugin to provide oov node during tokenization

Required Methods§

source

fn set_up( &mut self, settings: &Value, config: &Config, grammar: &mut Grammar<'_>, ) -> SudachiResult<()>

Loads necessary information for the plugin

source

fn provide_oov( &self, input_text: &InputBuffer, offset: usize, other_words: CreatedWords, result: &mut Vec<Node>, ) -> SudachiResult<usize>

Generate a list of oov nodes offset - char idx

Trait Implementations§

source§

impl PluginCategory for dyn OovProviderPlugin

source§

type BoxType = Box<dyn OovProviderPlugin + Sync + Send>

Boxed type of the plugin. Should be Box.
source§

type InitFnType = unsafe fn() -> Result<<dyn OovProviderPlugin as PluginCategory>::BoxType, SudachiError>

Type of the initialization function. It must take 0 arguments and return SudachiResult<Self::BoxType>.
source§

fn configurations(cfg: &Config) -> &[Value]

Extract plugin configurations from the config
source§

fn bundled_impl(name: &str) -> Option<Self::BoxType>

Create bundled plugin for plugin name Instead of full name like com.worksap.nlp.sudachi.ProlongedSoundMarkPlugin should handle only the short one: ProlongedSoundMarkPlugin Read more
source§

fn do_setup( ptr: &mut Self::BoxType, settings: &Value, config: &Config, grammar: &mut Grammar<'_>, ) -> SudachiResult<()>

Perform initial setup. We can’t call set_up of the plugin directly in the default implementation of this method because we do not know the specific type yet

Implementors§