이번에는 에이블스쿨 2기 분들의 1대1 문의 텍스트 데이터들을 유형 분류하는 문제를 일주일 간 진행했습니다. 5일간 진행했으며 마지막 금요일에는 조별로 케글 대회를 진행했습니다. 두 번째 케글 대회로 미니프로젝트 2차 때의 기억이 떠올라 열심히하자는 마음가짐으로 임했습니다.
1일차
첫날에는 자연어처리 딥러닝 맛보기를 9주차에 했던 것을 건너뛰고, 뜬금 toknizer와 vertorize 하는 것과 임베딩까지, nlp에 대해서 알아야 진행이 가능한 프로젝트다보니 대부분의 에이블러들이 당황을 많이 했던 것 같습니다. 저의 경우에 페어프로그래밍을 하는 DX트랙분이 계셔서 가끔 학습공유를 하다보니 nlp 에 대한 이해가 조금 있어서 따라갈만 했습니다!
일단 텍스트 데이터에 대한 이해와 분석을 진행했습니다. 그래서 nltk, wordcloud 등을 진행했습니다.
2일차
이 날은 텍스트 데이터에 대한 이해와 분석을 바탕으로 형태소 분석기, tokenizer를 통해 불용어 처리, 특수문자 제거, 영어와 한글 분리 등 다양한 전처리를 바탕으로 텍스트 길이, 토큰별 개수 등 도출 및 시각화를 진행했습니다. 한글 형태소 분석기를 적용하는 과정에서 데이터 자료구조가 인풋과 아웃풋이 어떻게 변하고 무엇이 필요한지에 대한 이해도 없이 무작정 쓰려고 하다보니 시행착오를 겪었습니다.
3일차
vectorize 한 훈련과 검증 데이터를 활용해서 머신러닝 성능을 확인하고, 튜닝을 진행했습니다. 주어진 텍스트 데이터의 클래스 불균형 문제를 해결하기 위해서 머신러닝 별로 성능을 확인하고, stratify 파라미터 설정이나 imblearn 패키지의 SMOTE 오버셈플링을 하는 등 다양한 시도를 진행했습니다.
4일차
9주차에 배웠던 딥러닝을 활용해서 성능 확인을 했으나 부족했습니다. 데이터의 수가 많이 부족해서 그랬던 것으로 파악했습니다. 머신러닝의 Logistic Regression이 가장 성능이 좋았습니다.
5일차
케글 대회를 진행했습니다. 저희 조의 경우에 6명 정도 나오고, 2명은 비대면으로 진행을 했습니다.
항상 미니프로젝트를 할 때마다 느끼지만, 전처리, 피처 엔지니어링 이런 인간이 데이터를 건들여서 성능을 높이려고 하면 오히려 낮아지는 현상이 계속 생겼고 시간을 버리게 됐는데.. 이번에도 여지없이 그런 결과가 나와서 허망했습니다.
느낀점
저희 조는 조원의 버스를 저는 얻어타서 상위권에 위치할 수 있었습니다. 저는 배우지 않은 스킬을 더 리서치해서 적용하기에는 시간이 부족해서 전처리, tokenizer, verterize에 다양한 시도를해서 조원들을 도우려고 했었고, 실력있는 조원은 hugging face를 통한 KoBERT 모델을 이용하여 전처리를 특별히 하지 않고 좋은 결과를 냈습니다. 그러다보니 전처리가 유의미해지는 데이터로 실습을 하면 좋겠다는 아쉬움이 남았습니다.
'Experience > - KT AIVLE School' 카테고리의 다른 글
KT AIVLE School 15주차 정리 - SQL (0) | 2023.05.08 |
---|---|
KT AIVLE School 14주차 정리 - ec2, k8s (0) | 2023.05.08 |
KT AIVLE School 11주차 정리 - 미니프로젝트 5차 (0) | 2023.04.14 |
KT AIVLE School 9주차 정리 - 코딩 테스트 후기 (0) | 2023.03.31 |
KT AIVLE School 8주차 정리 - 미니프로젝트 3차 후기 (0) | 2023.03.20 |
KT AIVLE School 7주차 정리 - Object Detection (0) | 2023.03.15 |
댓글