더북(TheBook)

통계량을 확인하면 데이터 이해도를 높이는 측면에서도 좋을 뿐 아니라 텍스트 전처리를 해야 할 때 많은 힌트가 됩니다. 특히 텍스트의 단어 개수인 num_words 통계량은 모델 학습에 사용할 데이터와 모델 구조에 영향을 주기 때문에 중요합니다. 모델 학습을 할 때, 보통 여러 데이터를 묶어 배치 단위로 학습합니다. 이때 하나의 배치 내 데이터는 길이가 모두 같아야 하는데, 텍스트 데이터의 길이가 모두 제각각이므로 이를 고정하기 위한 최대 길이 값을 설정해야 합니다. 길이가 짧은 텍스트의 비어 있는 부분을 0으로 채워 고정된 길이로 만들 수 있는데, 이 작업을 패딩(Padding)이라고 합니다. 이때 고정 길이 값을 너무 크게 설정하면 짧은 텍스트의 나머지 부분을 의미 없는 값으로 채워 넣어야 하므로 계산 효율이 떨어지고, 반대로 너무 작게 설정하면 텍스트 정보가 잘립니다. 적절한 값을 설정해야 하는데, 보통 텍스트의 단어 개수로 이를 파악합니다(그림 7-9 참고).

plt.figure(figsize=(14, 4))
sns.distplot(df_train["num_words"], bins=100)
plt.show()

num_words의 분포를 확인하면 그림 7-9와 같이 나타납니다. 그래프를 보면 약 200부터 수가 급격하게 줄어드는 걸 볼 수 있습니다. 적절한 길이 값을 설정할 때 이를 활용할 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.