Mecab과 Keras를 이용한 뉴스 말뭉치 구분 모델 구현.2 (NLP)
1. 기존 포스트 정리 1.1 국립국어원에서 내려받은 말뭉치가 Json 형태로 구성되어있어 따로 접근을 시도했다. 1.2 따로 학습을 시도하기보다는 라벨링 하나하나를 위해 데이터와 라벨링을 한번에 학습했다. 1.3 데이터 전처리는 케라스에서 제공하는 모듈들을 이용했다. 2.데이터 전처리 tokenizerr.fit_on_texts(topics) topic_train = tokenizerr.texts_to_sequences(topics) tokenizerr.fit_on_texts(newtext) textdata_train = tokenizerr.texts_to_sequences(newtext) fit_on_texts와 texts_to_sequences는 단어를 하나의 정수와 연결해 딥러닝에 사용될 수 있도록 해준다. 여기서는 각 말뭉치를 형태소 분석기로 분해한 본문과 주제를 하나하나의 정수와 매칭시켰고 확인 결과 약 1000개의 단어 종류를 확인할 수 있었다. textdata_train = pad_sequences(textdata_train , maxlen = 170 ) topic_train = pad_sequences(topic_train , maxlen = 1 ) 여기서는 전체 길이를 맞춤과 동시에 빈자리를 Null 채우지 않기 위해 Padding하는 작업이다. 작업하는 방법으로는 pad_sequences를 이용하였다. maxlen는 기존의 본문을 분석한 결과 약 150~170단어 사이로 하나의 본문이 이루워져 있었고 따라서 최대 길이를 170으로 맞추어 Padding했다. 토픽(주제)은 하나의 정수로 이루어져 있었기에 1로 맞추었다. 3.모델 구현 model = Sequential() model.add(Embedding( 1000 , 128 )) model.add(LSTM( 128 )) model.add(Dense( 10 , activation = 'softmax' )) 일단 모델의 임베딩 레이어의 크기를 설정했다 임...