Link: http://www.cs.cmu.edu/afs/cs/user/bhiksha/WWW/courses/11-756.asr/spring2013/
세줄 요약
- n-gram LM graph으로 디코딩 시 n이 높아지면 확률이 희박하므로 backoff transition으로 보완한다.
- lextree에 n-gram을 fully 적용하면 이루말할 수 없이 복잡하다. 그래서 approximated(flatted) lextree를 써야 한다.
- 실제로 n-gram LM graph를 다 만들어 사용하진 않고, (WFST에서는 다 만들어 쓰는 것 같다) viterbi search 시 transition에 반영한다.
세줄 요약의 요약
1.
- LM graph를 만들 때 backoff를 적용한 것과 원래 trigram의 score를 비교하여 더 큰 transition을 남긴다.
2.
- unigram에서 LM score를 맨 뒤 transition에 넣지 않고 굳이 앞에서 spreading하는 이유는 디코딩 시 LM score가 함께 반영되기 때문인 것 같다.
- full lextree에선 start/end를 가지는 n-gram은 있지만 silence를 가지는 n-gram은 없기 때문에 silence transition을 start, end, 각 word의 start마다 loop로 붙인다.
- flatted lextree에선 다른 phone 과 같은 방식으로 붙인다.
- full lextree는 n-gram 마다의 lextree가 따로 마련되어 있어 n-gram transition이 경합하지 않는다. flatted lextree는 하나의 lextree를 공유하기 때문에 그 반대다.
3.
- viterbi search 시 단어 entry의 score를 계산할 때마다 해당 단어의 LM score를 반영한다.
- 예를 들어 시작 이후 trellis에서 apple이라는 단어를 완성했으면 그걸 entry에 등록하기 전에 score에 P(apple | \< s >)를 적용한다.
댓글 없음:
댓글 쓰기