Skip to main content

mecab_ko_core/sejong/
mod.rs

1//! 세종 코퍼스 호환 모듈
2//!
3//! mecab-ko-dic 출력을 세종 코퍼스 형식으로 변환합니다.
4//!
5//! # 배경
6//!
7//! mecab-ko-dic과 세종 코퍼스는 토큰화 기준이 다릅니다:
8//! - mecab-ko-dic: 어미 결합 (갔다/VV+EF)
9//! - 세종 코퍼스: 어미 분리 (갔/VV 다/EF)
10//!
11//! # 분析결과 활용
12//!
13//! mecab-ko-dic의 12번째 컬럼에는 형태소 분해 정보가 저장되어 있습니다:
14//! - 형식: `stem/POS/*+ending/POS/*`
15//! - 예시: `가깝/VA/*+아/EC/*` (가까와 → 가깝 + 아)
16//!
17//! 이 정보를 활용하면 불규칙 활용도 정확하게 분리할 수 있습니다.
18//!
19//! # 예제
20//!
21//! ```rust,no_run
22//! use mecab_ko_core::sejong::{SejongConverter, SejongToken};
23//! use mecab_ko_core::tokenizer::Tokenizer;
24//!
25//! let mut tokenizer = Tokenizer::new().unwrap();
26//! let converter = SejongConverter::new();
27//!
28//! let tokens = tokenizer.tokenize("갔다");
29//! let sejong_tokens = converter.convert_tokens(&tokens);
30//!
31//! // "갔다/VV+EF" -> ["갔/VV", "다/EF"]
32//! ```
33
34pub mod converter;
35mod corrections;
36mod ending_rules;
37mod hangul;
38mod lexicon;
39mod postprocess;
40mod splitter;
41mod tag_map;
42pub mod types;
43
44#[cfg(test)]
45mod tests;
46
47// Re-export public types for backward compatibility
48pub use converter::SejongConverter;
49pub use types::{DecomposedMorpheme, EndingRule, SejongToken};