관리 메뉴

솜씨좋은장씨

DACON 금융문자분석 공모전 - 도전 6일차 본문

DACON/KB 금융문자 분석 경진대회

DACON 금융문자분석 공모전 - 도전 6일차

솜씨좋은장씨 2019. 12. 19. 14:09
728x90
반응형

첫번째 제출 (Google Colab -TPU)

오늘은 형태소 분석기에서 morphs 메소드가아닌 nouns 메소드를 사용해보기로 했습니다.

형태소 분석기는 Mecab 메소드는 nouns를 사용하여 전처리한 데이터를 학습시켜 보았습니다.

model3 = Sequential()
model3.add(Embedding(max_words, 100))
model3.add(LSTM(128))
model3.add(Dense(2, activation='sigmoid'))

model3.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
history3 = model3.fit(X_train, y_train, epochs=2, batch_size=32, validation_split=0.1)
epoch2batch_size32
optimizeradamvalidation_split0.1

 

 

첫번째 제출 결과 

 

 

 

두번째 제출 (Google Colab -TPU)

이번에는 순환 컨볼루션 모델을 적용해 보았습니다.

형태소 분석기는 Mecab에서 Okt로 메소드도 nouns에서 morphs로 다시 바꾸어 시도해보았습니다.

단어의 길이가 2이상인 단어만 남기고 만든 학습데이터를 학습시켜 보았습니다.

model14 = Sequential()
model14.add(Embedding(max_words, 128, input_length=max_len))
model14.add(Dropout(0.2))
model14.add(Conv1D(256,
                 3,
                 padding='valid',
                 activation='relu',
                 strides=1))
model14.add(GlobalMaxPooling1D())
model14.add(Dense(128, activation='relu'))
model14.add(Dropout(0.2))
model14.add(Dense(2, activation='sigmoid'))
model14.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
history14 = model14.fit(X_train3, y_train3, epochs=2, batch_size=32, validation_split=0.1)
epoch2batch_size32
optimizeradamvalidation_split0.1

 

 

두번째 제출 결과

 

 

 

세번째 제출 (Google Colab -TPU)

이번에는 두번째 제출할때 데이터를 정제하고 학습시켰던 방법에서 형태소 분석기만 Okt에서 Mecab으로 바꾸어 도전해보았습니다.

model15 = Sequential()
model15.add(Embedding(max_words, 128, input_length=max_len))
model15.add(Dropout(0.2))
model15.add(Conv1D(256,
                 3,
                 padding='valid',
                 activation='relu',
                 strides=1))
model15.add(MaxPooling1D(pool_size=4))
model15.add(LSTM(128))
model15.add(Dense(2, activation='sigmoid'))
model15.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
history15 = model15.fit(X_train3, y_train3, epochs=2, batch_size=32, validation_split=0.1)
epoch2batch_size32
optimizeradamvalidation_split0.1

 

 

 

세번째 제출 결과

 

 

 

순위점수epoch / batchoptimizerval_splittrain_data특수문자제거colab
10.9822791022 / 32adam0.1model_kb_dacon02_trainset.csvOTPUOkt14
20.9745792432 / 32adam0.1model_kb_dacon02_trainset.csvOTPUOkt8
30.9729803652 / 32adam0.1model_kb_dacon02_trainset.csvOTPUMecab9
40.9728506313 / 32adam0.1model_kb_dacon02_trainset.csvOTPUOkt13
50.972629735 / 32adam0.1
6
70.9720301542 / 32adam0.1model_kb_dacon02_trainset.csvOTPUOkt10
80.968734225 / 32adam0.1model_kb_dacon01_trainset.csvXGPUOkt6
9
10
110.965490885 / 32rmspropXmodel_kb_dacon01_trainset.csvXTPUOkt2
120.96089065 / 32adamXmodel_kb_dacon01_trainset.csvXTPUOkt3
13
140.951970545 / 32adam0.1model_kb_dacon01_trainset.csvXTPUMecab 5
15
16
170.886882889 2 / 32adam0.1model_kb_dacon02_trainset.csvOTPUMecab18
180.7013884993 / 32adamXmodel_kb_dacon01_trainset.csXGPUELMo7

 

 

순위는 전날보다 하나 떨어진 19위가 되었습니다.

 

앞으로 아직 도전해보지 않은 bi-LSTM 모델이나 한글만 추려서 도전해보려고합니다.

 

읽어주셔서 감사합니다.

Comments