카테고리 없음

[딥러닝] 자연어 처리_영화 리뷰 분류 RNN 모델 데이터 전 처리

오기오기 2021. 11. 24. 03:23
728x90
반응형

 

영화 리뷰와 같은 자연어 자료는 곧 단어의 연속적인 배열로써, 시계열 자료라고 볼 수 있습니다.

즉, 시계열 자료(연속된 단어)를 이용해 리뷰에 내포된 감정(긍정, 부정)을 예측하는 분류기를 만들어 보겠습니다.

 

데이터셋은 IMDB 영화 리뷰 데이터 셋을 사용합니다.

trainset 5,000개와 testset 1,000개로 이루어져 있으며, 레이블은 긍정/부정으로 두 가지입니다.


RNN을 위한 자연어 데이터 전 처리

RNN의 입력으로 사용하기 위해서는 자연어 데이터는 토큰화 및 여러 가지의 데이터 처리가 필요합니다. 아래와 같이 자연어 데이터가 준비되어 있다면 마지막으로 패딩을 수행하여 데이터의 크기를 통일해야합니다.

sequence.pad_sequences(data, maxlen=300, padding='post')

* data 시퀀스의 크기가 maxlen인자보다 작으면 그 크기에 맞게 패딩을 추가합니다.


import json
import numpy as np
import tensorflow as tf
import data_process
from keras.datasets import imdb
from keras.preprocessing import sequence
# 학습용 및 평가용 데이터를 불러오고 샘플 문장을 출력합니다.
X_train, y_train, X_test, y_test = data_process.imdb_data_load()


#1. 인덱스로 변환된 X_train, X_test 시퀀스에 패딩을 수행하고 각각 X_train, X_test에 저장합니다.
#   시퀀스 최대 길이는 300으로 설정합니다.

X_train = sequence.pad_sequences(X_train, maxlen=300, padding='post')
X_test = sequence.pad_sequences(X_test, maxlen=300, padding='post')
728x90
반응형