Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- SW Expert Academy
- Baekjoon
- leetcode
- Git
- 프로그래머스 파이썬
- 프로그래머스
- AI 경진대회
- gs25
- ubuntu
- dacon
- hackerrank
- 금융문자분석경진대회
- 더현대서울 맛집
- 데이콘
- 편스토랑
- 우분투
- programmers
- 파이썬
- 자연어처리
- github
- PYTHON
- 캐치카페
- ChatGPT
- Real or Not? NLP with Disaster Tweets
- Kaggle
- 코로나19
- 백준
- Docker
- 편스토랑 우승상품
- 맥북
Archives
- Today
- Total
솜씨좋은장씨
[Kaggle DAY20]Real or Not? NLP with Disaster Tweets! 본문
Kaggle/Real or Not? NLP with Disaster Tweets
[Kaggle DAY20]Real or Not? NLP with Disaster Tweets!
솜씨좋은장씨 2020. 3. 18. 02:46728x90
반응형
Kaggle 20회차!
이제 최종 23일까지 약 5일밖에 남지않았습니다.
0.10000의 점의 점수를 얻은 분들은 도대체 어떤 분들인지 빨리 대회가 끝나고 수상자들의 코드가 공개되었으면 하는 바램입니다.
오늘은 지금까지 제출했던 것들 중 가장 결과가 좋았던 9회차에 사용했던 버트모델에
새로운 방법의 데이터 전처리 방식을 사용하여 결과를 도출하고 제출해 보았습니다.
전처리 방식은
위의 링크에서 여러 이상한 단어들을 원래의 단어로 잘 바꾸어주는 parse_tweet이라는 함수를 가져와 사용하여
he's -> he is / fromåÊwounds -> from wounds 와 같이 바꾸어 주기
=> 이모티콘 제거
=> 링크 제거
=> 약어를 다시 풀어주기
=> 신이름 god로 통일하기
=> \n, \t제거하기
=> 특수문자 제거하기
=> 숫자제거하기
=> 세번이상 반복되는 알파벳은 해당 알파벳을 한번만 사용하도록 바꾸어주기
=> nltk의 TreebankWordTokenizer로 토큰화
=> 토큰화한 단어중 길이가 3이상인 단어만 남겨두기
=> 불용어처리
=> lemmatizing
=> ' '.join(word_list)를 통해 다시 문장으로 만들기
이렇게 만들어진 데이터를 가지고 지난 9회차 때의 임베딩/모델링 방식을 그대로 사용하여 제출해보았습니다.
첫번째 제출
sess = K.get_session()
uninitialized_variables = set([i.decode('ascii') for i in sess.run(tf.report_uninitialized_variables())])
init = tf.variables_initializer([v for v in tf.global_variables() if v.name.split(':')[0] in uninitialized_variables])
sess.run(init)
bert_model = get_bert_finetuning_model(model)
history = bert_model.fit(train_x, train_y_new, epochs=2, batch_size=16, verbose = 1, validation_split=0.05, shuffle=True)
결과
두번째 제출
sess2 = K.get_session()
uninitialized_variables = set([i.decode('ascii') for i in sess2.run(tf.report_uninitialized_variables())])
init = tf.variables_initializer([v for v in tf.global_variables() if v.name.split(':')[0] in uninitialized_variables])
sess2.run(init)
bert_model2 = get_bert_finetuning_model(model)
history2 = bert_model2.fit(train_x, train_y_new, epochs=2, batch_size=32, verbose = 1, validation_split=0.05, shuffle=True)
결과
세번째 제출
sess = K.get_session()
uninitialized_variables = set([i.decode('ascii') for i in sess.run(tf.report_uninitialized_variables())])
init = tf.variables_initializer([v for v in tf.global_variables() if v.name.split(':')[0] in uninitialized_variables])
sess.run(init)
bert_model3 = get_bert_finetuning_model(model)
history2 = bert_model3.fit(train_x, train_y_new, epochs=3, batch_size=32, verbose = 1, validation_split=0.05, shuffle=True)
결과
네번째 제출
sess2 = K.get_session()
uninitialized_variables = set([i.decode('ascii') for i in sess2.run(tf.report_uninitialized_variables())])
init = tf.variables_initializer([v for v in tf.global_variables() if v.name.split(':')[0] in uninitialized_variables])
sess2.run(init)
bert_model4 = get_bert_finetuning_model(model)
history2 = bert_model4.fit(train_x, train_y_new, epochs=5, batch_size=32, verbose = 1, validation_split=0.05, shuffle=True)
결과
다섯번째 제출
sess2 = K.get_session()
uninitialized_variables = set([i.decode('ascii') for i in sess2.run(tf.report_uninitialized_variables())])
init = tf.variables_initializer([v for v in tf.global_variables() if v.name.split(':')[0] in uninitialized_variables])
sess2.run(init)
bert_model6 = get_bert_finetuning_model(model)
history6 = bert_model6.fit(train_x, train_y_new, epochs=10, batch_size=32, verbose = 1, validation_split=0.05, shuffle=True)
결과
'Kaggle > Real or Not? NLP with Disaster Tweets' 카테고리의 다른 글
[Kaggle DAY22]Real or Not? NLP with Disaster Tweets! (0) | 2020.03.21 |
---|---|
[Kaggle DAY21]Real or Not? NLP with Disaster Tweets! (0) | 2020.03.19 |
[Kaggle DAY19]Real or Not? NLP with Disaster Tweets! (0) | 2020.03.17 |
[Kaggle DAY18]Real or Not? NLP with Disaster Tweets! (0) | 2020.03.15 |
[Kaggle DAY17]Real or Not? NLP with Disaster Tweets! (0) | 2020.03.14 |
Comments