Skip to main content

Module tokenizer

Module tokenizer 

Source
Expand description

§토크나이저 모듈

형태소 분석의 메인 인터페이스입니다.

§개요

Tokenizer는 다음 컴포넌트들을 통합하여 형태소 분석을 수행합니다:

  • Trie: 사전 검색 (mecab-ko-dict)
  • Matrix: 연접 비용 계산
  • Lattice: 후보 그래프 구축
  • Viterbi: 최적 경로 탐색
  • UnknownHandler: 미등록어 처리

§분석 과정

  1. 입력 텍스트 전처리: 공백 제거 및 위치 정보 생성
  2. Lattice 구축: 각 위치에서 사전 검색 및 노드 추가
  3. 미등록어 처리: 사전에 없는 부분에 대해 미등록어 노드 추가
  4. Viterbi 탐색: 최소 비용 경로 계산
  5. Token 변환: 최적 경로의 노드를 Token으로 변환

§Example

use mecab_ko_core::tokenizer::Tokenizer;

// 기본 사전으로 초기화
let mut tokenizer = Tokenizer::new().unwrap();

// 형태소 분석
let tokens = tokenizer.tokenize("아버지가방에들어가신다");
for token in tokens {
    println!("{}: {} ({}~{})", token.surface, token.pos, token.start_pos, token.end_pos);
}

Structs§

Token
토큰
Tokenizer
토크나이저