728x90
Dataset
- 제품 review
- 별점으로 긍정 부정을 나누었고, 긍정 = 1, 부정 = 0
- .csv 저장
- 긍정 부정 기준, 0 ~ 2 -> 부정 / 4 ~ 5 -> 긍정
긍/부정 | 리뷰 |
1 | 배송도 빠르고 곡간이 든든합니다 |
1 | 잘 먹고있는 제품이에요 무난하게 맛있어요 |
0 | 첨 먹는데..텁텁하고 토핑도 살짝 허접..걍 느끼하기만... |
1 | 정말 사진하고 똑같아요 간편하고 정말 맛있어요 |
데이터 출처 | 데이터의 개수 | 정확도 |
NAVER | 긍정데이터 : 1,532,112 부정데이터 : 5,908 |
99% |
문제 : imbalanced data 인한 Overfitting 해결 : 부정 리뷰 개수로 Down Sampling |
||
NAVER | 긍정데이터 : 5,908 부정데이터 : 5,908 |
89% |
문제 : 적은 Dataset 해결 : 11번가에서 데이터 추가 수집 |
||
NAVER + 11번가 | 긍정데이터 : 12,770 부정데이터 : 12,770 |
93% |
데이터 전처리 과정
1. 맞춤법 교정
- "아! 쟁말 맛잇따" 라는 리뷰가 들어왔을 때 "아! ^,^ 정말 맛있다" 로 맞춤법에 맞게 문장을 바꾼다.
- Accuracy가 0.01 오르는 것을 확인
2. 매크로성 리뷰
- 쇼핑몰 측의 리뷰 작성 기준에 미흡하면 매크로성 리뷰를 뒤에 달아줌
- 기본10자 이상 작성상시100P 즉시지급 이미지 등록시100P 즉시 추가지급개당 상품 가격이5,000원 이하 상품은 적립대상에서 제외되며,리뷰 포인트는 최초1회 작성시에만 지급됩니다.같은 단어가 반복된 내용은 임의로 삭제되며, 지급된 포인트가 회수될 수 있습니다. 다른 고객님들에게 유용한 상품 리뷰를 작성해주세요.'
- 학습에 방해가 되어 다 제거 함
3. 한글을 제외한 모든 문자 제거
- 이모티콘의 경우 깨진 상태로 나오고 중의적인 이모티콘이 많이 보임 (맛있어요 ^ ^ , 참 어이가 없네요 ^ ^)
4. 하나 이상의 공백을 하나의 공백으로 변환
5. 앞 과정 진행 후 공백이 남았다면 None으로 치환
6. None review 제거
5. 토큰화
BERT는 문장의 단어 사이의 관계를 학습하기에 불용어 처리를 하지 않았다.
728x90
'PROJECT > BERT 감정 분석' 카테고리의 다른 글
[2021] AI 기반 감성 분석을 사용한 제품 평가 및 분석 웹 개발 (0) | 2022.08.07 |
---|---|
API (0) | 2022.08.07 |
흐름도 (0) | 2022.08.07 |