Struct morph_rs::MorphAnalyzer
source · pub struct MorphAnalyzer {
pub fst: Map<Vec<u8>>,
pub word_parses: Vec<Vec<Parse>>,
pub tags: Vec<SmallVec<[Grammem; 8]>>,
pub lemmas: Vec<SmallString<[u8; 16]>>,
pub paradigms: Vec<Vanga>,
}
Expand description
Морфологический анализатор, образованный из словаря.
Fields§
§fst: Map<Vec<u8>>
§word_parses: Vec<Vec<Parse>>
§lemmas: Vec<SmallString<[u8; 16]>>
§paradigms: Vec<Vanga>
Implementations§
source§impl MorphAnalyzer
impl MorphAnalyzer
sourcepub fn from_dictionary(dictionary: Dictionary) -> MopsResult<Self>
pub fn from_dictionary(dictionary: Dictionary) -> MopsResult<Self>
Создание анализатора из словаря.
sourcepub fn parse_word(&self, word: &str) -> Result<ParsedWords, ParseErr>
pub fn parse_word(&self, word: &str) -> Result<ParsedWords, ParseErr>
Парсинг слова.
sourcepub fn normalized_word(&self, word: &str) -> Result<NormalizedWords, ParseErr>
pub fn normalized_word(&self, word: &str) -> Result<NormalizedWords, ParseErr>
Нормализация слова.
source§impl MorphAnalyzer
impl MorphAnalyzer
Основная функциональность связана с поиском всех возможных тэгов и нормальных форм.
sourcepub fn create(
dict_path: PathBuf,
out_dir: PathBuf,
lang: Language
) -> MopsResult<Dictionary>
pub fn create( dict_path: PathBuf, out_dir: PathBuf, lang: Language ) -> MopsResult<Dictionary>
Первичное создание словаря.
dict_path
- путь до словаря OpenCorpora
out_dir
- место, где будет хранится fst и бинарная часть словаря для будущего открытия
language
- язык, по-дефолту и пока единственный, Русский.
pub fn init(dictionary: Dictionary) -> MopsResult<Self>
sourcepub fn init_with_reader(
dict_path: PathBuf,
out_dir: PathBuf,
lang: Language
) -> MopsResult<Dictionary>
pub fn init_with_reader( dict_path: PathBuf, out_dir: PathBuf, lang: Language ) -> MopsResult<Dictionary>
Первичное создание словаря по переданному пути с чтением из буфера.
Чтение из буфера несколько медленнее, чем из строки, но занимает сильно меньше памяти.
dict_path
- путь до словаря OpenCorpora
out_dir
- место, где будет хранится fst и бинарная часть словаря для будущего открытия
language
- язык, по-дефолту и пока единственный, Русский.
sourcepub fn open(path: PathBuf) -> MopsResult<Self>
pub fn open(path: PathBuf) -> MopsResult<Self>
Открытие словаря из бинарных данных.
sourcepub fn parse(&self, word: &str) -> MopsResult<ParsedWords>
pub fn parse(&self, word: &str) -> MopsResult<ParsedWords>
Парсинг слова. Получение всех возможных результатов.
Все варианты парсинга возвращаются в отсортированном порядке, гарантируя единообразие выдачи между запусками.
sourcepub fn normalize(&self, word: &str) -> MopsResult<NormalizedWords>
pub fn normalize(&self, word: &str) -> MopsResult<NormalizedWords>
Нормализация слова. Получение всех возможных результатов.
Все варианты нормализации возвращаются в отсортированном порядке, гарантируя единообразие выдачи между запусками.
sourcepub fn inflect(&self, word: &str) -> MopsResult<NormalizedWords>
pub fn inflect(&self, word: &str) -> MopsResult<NormalizedWords>
v0.1.0 - аналогично normalize()
Приведение слова к начальной форме.
sourcepub fn parse_get(
&self,
word: &str,
index: usize
) -> MopsResult<Option<ParsedWord>>
pub fn parse_get( &self, word: &str, index: usize ) -> MopsResult<Option<ParsedWord>>
Парсинг слова и взятие нужного по индексу набора граммем.
sourcepub fn parse_grammemes(
&self,
word: &str,
grammemes: Vec<Grammem>
) -> MopsResult<Option<ParsedWord>>
pub fn parse_grammemes( &self, word: &str, grammemes: Vec<Grammem> ) -> MopsResult<Option<ParsedWord>>
Парсинг слова и взятие нужного слова в зависимости от нужного набора граммем.
sourcepub fn normalize_get(
&self,
word: &str,
index: usize
) -> MopsResult<Option<NormalizedWord>>
pub fn normalize_get( &self, word: &str, index: usize ) -> MopsResult<Option<NormalizedWord>>
Нормализация слова и взятие по индексу формы слова с ее граммемами.
sourcepub fn normalize_grammemes(
&self,
word: &str,
grammemes: Vec<Grammem>
) -> MopsResult<Option<NormalizedWord>>
pub fn normalize_grammemes( &self, word: &str, grammemes: Vec<Grammem> ) -> MopsResult<Option<NormalizedWord>>
Нормализация слова и взятие нужного слова в зависимости от нужного набора граммем.