실습 | 영화 리뷰가 긍정적인지 부정적인지를 예측하기
from tensorflow.keras.preprocessing.text import Tokenizer from tensorflow.keras.preprocessing.sequence import pad_sequences from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, Flatten, Embedding from tensorflow.keras.utils import to_categorical from numpy import array # 텍스트 리뷰 자료를 지정합니다. = ["너무 재밌네요","최고예요","참 잘 만든 영화예요","추천하고 싶은 영화입니다","한번 더 보고싶네요","글쎄요","별로예요","생각보다 지루하네요","연기가 어색해요","재미없어요"] # 긍정 리뷰는 1, 부정 리뷰는 0으로 클래스를 지정합니다. = array([1,1,1,1,1,0,0,0,0,0]) # 토큰화 = Tokenizer() .fit_on_texts( ) print( .word_index) = .texts_to_sequences( ) print("\n리뷰 텍스트, 토큰화 결과:\n", ) # 패딩, 서로 다른 길이의 데이터를 4로 맞추어 줍니다. = pad_sequences( , 4) print("\n패딩 결과:\n", ) # 임베딩에 입력될 단어의 수를 지정합니다. = len( .word_index) + 1 # 단어 임베딩을 포함해 딥러닝 모델을 만들고 결과를 출력합니다. = Sequential() .add(Embedding( , 8, =4)) .add(Flatten()) .add(Dense(1, ='sigmoid')) .summary() .compile( ='adam', ='binary_crossentropy', =['accuracy']) .fit( , , =20) print("\n Accuracy: %.4f" % ( .evaluate( , )[1]))