Expand description
개선된 N-best Viterbi 알고리즘
진정한 N-best 경로 탐색을 위한 알고리즘을 제공합니다.
§개요
기존 N-best 구현은 1-best forward pass 후 단일 경로만 추적했습니다. 이 모듈은 각 노드에서 K개의 최선 후보를 유지하여 진정한 N-best 결과를 제공합니다.
§알고리즘
- Forward Pass (K-best): 각 노드에서 상위 K개의 경로 후보를 유지
- Backward Pass (N-best): EOS에서 시작하여 N개의 최적 경로를 추출
§Example
use mecab_ko_core::nbest::{ImprovedNbestSearcher, NbestPath};
use mecab_ko_core::lattice::Lattice;
use mecab_ko_core::viterbi::ZeroConnectionCost;
let mut lattice = Lattice::new("한국어");
// ... 노드 추가 ...
let searcher = ImprovedNbestSearcher::new(5);
let conn_cost = ZeroConnectionCost;
let results = searcher.search(&mut lattice, &conn_cost);
for path in results.iter() {
println!("Cost: {}, Tokens: {:?}", path.cost(), path.surfaces(&lattice));
}Structs§
- Improved
Nbest Searcher - 개선된 N-best Viterbi 탐색기
- Nbest
Path - N-best 경로 하나를 표현
- Nbest
Result - N-best 검색 결과