
220
1
부
모델 구축
sweet jeremy saw dublin then got there as me me a call doing me
순식간에 횡설수설한 문장이 되어버립니다. 이유가 뭘까요? 첫 번째 이유는 훈련 텍스트가 정
말 작아 사용할 문맥이 거의 없기 때문입니다. 두 번째는 시퀀스의 다음 단어 예측이 이전 단어
에 의존하기 때문입니다. 이전 단어의 예측이 좋지 못했다면 다음 단어를 잘 예측했다 하더라
도 적절할 확률이 낮습니다. 이 단어를 시퀀스에 추가하고 다음 단어를 예측하면 이 확률이 낮
아질 가능성이 더 높아집니다. 따라서 예측된 단어가 거의 무작위한 것처럼 보이게 됩니다.
예를 들어 ‘
sweet
jeremy
saw
dublin
’에 있는 단어가 모두 말뭉치에 있지만 이 순서대로 있
지는 않습니다. 첫 번째 예측을 수행했을 때 단어 ‘
then
’이 가장 가능성 있는 후보로 선택되었
고
89
%의 꽤 높은 확률을 가졌습니다. 이 단어를 시드 텍스트에 추가해 ‘
sweet
jeremy
saw
dublin
then
’을 만들면 훈련 데이터에 없는 또 다른 구절이 됩니다. 이 문장에서 예측을 수행
하면 가장 높은 확률인
44
%로 단어 ‘
got
’이 선택됩니다. 단어를 계속 문장에 추가하면 훈련 데
이터와 일치할 확률이 줄어듭니다. 이렇게 예측 정확도는 나빠지게 되고 ...