
2020.01 ~ 2021.01의 기간 동안 내 삶의 반 이상을 차지했던 빅데이터 연합 동아리 BOAZ를 수료하게 되었다 :) 수료한 기념(?)으로 지난 BOAZ에서 공부한 것들, BOAZ를 통해 얻을 수 있었던 것들 등을 정리해보고 처음이자 마지막이 될 것 같은 연합동아리 활동에 대한 후기를 남겨보도록 하겠당 먼저 시간을 거슬러 올라가.. BOAZ를 어떻게 알게되었고, 어떻게 지원하게 되었는지에 대한 내용부터 기억해보도록 하겠다. BOAZ를 알게된 경로에 대해서는 정확히 기억이 나지 않지만, 아마 군 생활을 하던 때였던 걸로 기억한다. 군 생활을 하면서 행정반 내에 있던 '빅데이터 세상을 이해하는 새로운 방법' 이라는 책을 우연히 읽게 되었고 이런 일을 하는 사람들이 정말 대단하고 굉장히 매력적으로 느..

ADV 프로젝트 데이터 전처리의 마지막 파트인 Fold Set 활용 노이즈 정제 및 라벨링 검수 포스팅이다. 현재까지 과정을 정리해보면 다음과 같다. 웹 스크래핑을 통해 데이터를 수집 후 인력을 통해 1번의 데이터 라벨링 검수를 진행하였다. 그 후 텍스트를 교정해주고 불균형을 해소시켜주었다. 최종 학습 데이터로 사용하기 전에 제대로된 검수가 필요하다고 판단하였다. 여러가지 방법을 고려하던 중 네이버 '클린봇' 학습과정에서 사용한 방식을 사용해보기로 하였다. d2.naver.com/helloworld/7753273 데이터 분석을 공부해본 사람이라면, 특히나 머신러닝을 통해 데이터를 학습 및 예측해본 사람이라면 K-Fold 방식에 대해서 알 것 이다. K-Fold란 데이터를 K개의 Fold 셋으로 나누어서,..

이번 포스트는 지난 불균형 해소 Part1 포스트에 이어서 두 번째 해소 방법에 대해 이야기 해보려고 한다. 지난 포스트에서 Back Translation 기법을 사용하여 기존 불균형 데이터를 4배 가량 증가시켜 주었다. 그럼에도 불구하고 아직 균형이 맞지 않아, 다른 방법을 한번 더 사용하기로 하였다. 두 번째로 사용한 방법은 'EDA: Easy Data Augmentation'이라는 기법이다. 데이터분석, 머신러닝 혹은 딥러닝을 공부하는 사람들이 흔히 알고있는 EDA는 Exploratory Data Analysis(탐색적 데이터 분석)의 약자이다. 하지만 이번에 사용하게 된 EDA는 Easy Data Augmentation의 약자로, 말 그대로 데이터 증가를 쉽게 해보자 라는 의미를 담고있다. 해당 ..

이번 포스트는 전처리에 이어 텍스트 불균형을 해소하기 위해 밟은 절차에 대해 설명하도록 한다. 본 프로젝트의 주제인 '스포일러 댓글 분류'에 대한 데이터는 당연히 데이터 불균형 문제가 심할 수 밖에 없다. 심지어 레퍼런스로 많이 참고했던 '악플 분류'보다 훨씬 심한 불균형 문제를 가지고 있었고, 불균형을 해소하기 전의 F1-score는 굉장히 낮게 나오는 것을 확인하였다. 수집 후 타겟 레이블의 불균형은 0(스포일러가 아님)이 97%, 1(스포일러)가 3%로 이러한 불균형 문제를 해결해주어야만 제대로 된 학습을 시킬 수 있는 상황이었다. 처음엔 머신러닝에서 자주 사용하는 Over sampling 기법인 SMOTE와, 학습 시 가중치를 부여할 수 있는 class_weight를 활용해 보았지만 3%라는 아주..

이번 포스트는 텍스트 전처리 Part1의 띄어쓰기 교정에 이어서 맞춤법 교정 과정이다. 수집한 데이터가 인터넷 상의 댓글이기 때문에 역시나 맞춤법도 교정이 필수라고 생각했다. 아래의 문장만 봐도 수집한 데이터의 맞춤법을 꼭 교정해야 한다는 것을 알 수 있다. '나를 찾이 줘 잼있어요~ ㅎㅎ' 대화체와 인터넷 상에서 텍스트의 특징 상 맞춤법을 일부러 흘려쓰거나 (~~했자나), 표준어가 아닌 단어를 사용 (꾸르잼), 혹은 아예 알아들을 수 없는 말(재미잉엉요오ㅠ) 등을 꼭 교정해주어야 모델의 성능을 높일 수 있다. 맞춤법 교정을 위한 방법은 2가지를 고안했고, 2가지에 딱 맞는 방법을 찾을 수 있었다. 1. 부산대 맞춤법 교정기 1번인 부산대 맞춤법 교정기는 기본적인 맞춤법 뿐만 아니라, 은어, 외래어, 심..

프로젝트를 진행하면서 해본 실험들에 대해서 정리해보려 한다. 이번 포스트는 텍스트 전처리 및 정제의 첫 번째 실험 파트인 띄어쓰기 교정이다. 이번 프로젝트를 진행하면서 'Garbage in, garbage out' 이라는 말이 괜히 있는게 아니란걸 뼈저리게 느끼고 있다.. ㅋㅋ 데이터를 전부 수집한 후 첫 베이스라인 코드로 Bi-LSTM을 사용하여 학습시켰고, 테스트 셋 평가 성능은 처참했다 (raw 데이터는 불균형이 심했기에 F1 score로 평가했고, 0.5도 나오지 않는 성능이었다) 예상은 했지만 이 정도로 안좋을거라곤 생각을 안했기에 빠르게 실험할 목록과 성능을 높일 수 있는 방법을 고민했고, 가장 먼저 필요한 것은 대화체 혹은 인터넷 은어들이 가득한 댓글을 정제하는 것이었다. 그래서 가장 먼저 ..