Skip to main content

Module nbest

Module nbest 

Source
Expand description

개선된 N-best Viterbi 알고리즘

진정한 N-best 경로 탐색을 위한 알고리즘을 제공합니다.

§개요

기존 N-best 구현은 1-best forward pass 후 단일 경로만 추적했습니다. 이 모듈은 각 노드에서 K개의 최선 후보를 유지하여 진정한 N-best 결과를 제공합니다.

§알고리즘

  1. Forward Pass (K-best): 각 노드에서 상위 K개의 경로 후보를 유지
  2. 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§

ImprovedNbestSearcher
개선된 N-best Viterbi 탐색기
NbestPath
N-best 경로 하나를 표현
NbestResult
N-best 검색 결과