Expand description
§토크나이저 모듈
형태소 분석의 메인 인터페이스입니다.
§개요
Tokenizer는 다음 컴포넌트들을 통합하여 형태소 분석을 수행합니다:
- Trie: 사전 검색 (mecab-ko-dict)
- Matrix: 연접 비용 계산
- Lattice: 후보 그래프 구축
- Viterbi: 최적 경로 탐색
UnknownHandler: 미등록어 처리
§분석 과정
- 입력 텍스트 전처리: 공백 제거 및 위치 정보 생성
- Lattice 구축: 각 위치에서 사전 검색 및 노드 추가
- 미등록어 처리: 사전에 없는 부분에 대해 미등록어 노드 추가
- Viterbi 탐색: 최소 비용 경로 계산
- 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);
}