Srilm 은 언어 모델의 추정 및 평가를 지원합니다. 추정은 최대 우도 추정 및 해당 스무딩 알고리즘을 포함한 교육 데이터 (트레이닝 세트) 에서 모델을 가져옵니다. 평가는 테스트 세트에서 혼동도를 계산하는 것입니다.
여기서 train.dict in -vocab train.dict 는 한 줄에 한 단어씩 사전 파일이며 형식은 다음과 같습니다.
-text train.txt 는 각 줄의 단어가 공백으로 구분되어 분사 결과를 나타내는 코퍼스 파일입니다. 형식은 다음과 같습니다.
순서가 가장 큰 N 원 모델입니다. 여기서 3 은 단항, 이원 및 삼원 모델을 나타냅니다.
-write train.count 통계 파일이 train.count 에 기록됩니다
-unk 는 사전에 없는 단어를 나타냅니다
Train.count 의 내용은 다음과 같습니다 (행당 ngram 단어 빈도 형식).
여기서 -read train.count 는 이전 단계에서 생성된 통계 파일을 읽습니다.
-lm train.lm 은 가장 높은 삼항 모델을 가진 언어 모델 train.lm 을 생성합니다.
-보간은 차이 알고리즘을 사용합니다.
결과 언어 모델 train.lm 은 다음과 같이 ARPA 형식의 언어 모델입니다.
위의 두 단계는 다음과 같이 직접 생성할 수 있습니다.
언어 모델인 train.lm 은 데이터 혼동을 테스트하는 데 사용되었습니다.
테스트 데이터의 형식은 코퍼스 데이터의 형식과 동일하며 각 문장은 공백으로 구분되어 분사를 나타냅니다.
결과는 다음과 같습니다.
참조: