너무 아무 정보 없이 시작했더니 삽질을 많이한듯... ㅋㅋ
어쩌다 확장자가 .lm 로 시작하는 파일을 구했고... 물어보기 보단 혼자 파봐야 겠다는 생각에
이게 먼파일인지 한참을 찾다가
ARPA Format 형태로 작성된 파일이라는 것을 알게 되었다.
아!! 혹시 language model 이 뭐지?? 라고 생각하시는 분들을 위해!
https://en.wikipedia.org/wiki/Language_model
language model 에 대한 위키페이지인데 읽어보실 분들은 읽어보시구~
그냥 특정 사전( 또는 Documents, resources 등에서라고 이해해도 될듯!) 에서의 단어들의 확률 분포( 출현 빈도 ) 이다.
그니까 ARPA Format 의 lm 파일은 이러한 단어들의 확률분포를 문서에 어떠한 형태로 표시할것인가를 정하고, 그 포맷에 맞게 작성한 파일을 의미한다.
그럼 아래 AFPA Language Model 파일을 한번 샘플로 보도록 하자!
sample_arpa_format.lm
\data\ ngram 1=7 ngram 2=7 \1-grams: 0.1 <UNK> 0.5555 0 <s> 0.4939 0.1 </s> 1.0 0.2 wood 0.5555 0.2 cindy 0.5555 0.2 pittsburgh 0.5555 0.2 jean 0.6349 \2-grams: 0.5555 <UNK> wood 0.5555 <s> <UNK> 0.5555 wood pittsburgh 0.5555 cindy jean 0.5555 pittsburgh cindy 0.2778 jean </s> 0.2778 jean wood \end\
근데 보통 확률은 log 의 형태로 작성한다.
\data\ ngram 1=7 ngram 2=7 \1-grams: -1.0000 <UNK> -0.2553 -98.9366 <s> -0.3064 -1.0000 </s> 0.0000 -0.6990 wood -0.2553 -0.6990 cindy -0.2553 -0.6990 pittsburgh -0.2553 -0.6990 jean -0.1973 \2-grams: -0.2553 <UNK> wood -0.2553 <s> <UNK> -0.2553 wood pittsburgh -0.2553 cindy jean -0.2553 pittsburgh cindy -0.5563 jean </s> -0.5563 jean wood \end\
1-gram 에서 보면
-1.0000 <UNK> -0.2553
라고 해서 -1.0000 과 -0.2553 이라고 써지는데
앞쪽이 순수한 probablity 값이고 뒤쪽은 katz-backoff smoothing 된 값이다.
그럼 다음 시간에 katz-backoff에 대해 알아보자!! ^-^!!
참조 : http://cmusphinx.sourceforge.net/wiki/sphinx4:standardgrammarformats
'NLP ( 자연어 처리 )' 카테고리의 다른 글
katz-backoff (0) | 2016.04.17 |
---|---|
Zipf's law (0) | 2016.04.08 |
Edit distance (0) | 2016.04.04 |
ngram-count (0) | 2016.04.04 |
n-gram (0) | 2016.04.04 |