kyejin0412 님의 블로그
Week 18-5 최종프로젝트 - 데이터 전처리, 키워드 사전 구축 본문
오늘은 어제 내가 한 데이터 전처리와, 다른 팀원이 한 전처리를 합쳤다.
또한 게시글을 분류할 부정 키워드와 중립부정 키워드 사전을 구축했다.
비정형 데이터 분석이어서 그런건지 몰라도, 데이터를 분류하기 위해 기준선을 직접 설정하는게 어려웠다.
기준선을 어떻게 설정해야 할지부터 감이 안 잡혀서 튜터님한테 몇 번 조언을 구했다.
튜터님마다 의견이 달라서, 한 튜터님이 이렇게 하라고 했다고 꼭 그렇게 해야 한다는 법은 없다는 걸 깨달았지만, 그래도 언젠간
직접 기준선 설정을 해서 분류할 경험을 할 것이기 때문에 공부가 되었다.
또한 원래는 부정 게시글을 카테고리 없이 통으로 분류하려고 했는데, 카테고리 라벨링을 해주면 어떤 이슈가 위험한지, 이슈별 순위를 살피고 대시보드에 올릴 수도 있겠고, 브랜드 담당자도 어떤 이슈가 있고 심각한지 궁금해 할 것 같아서 라벨링도 하기로 했다.
나중 가면 뭐했는지 다 까먹을 것이기 때문에 매일 노션 회의록 기록도 열심히 해주고 있다.
확실히 TIL 쓸 때나 포폴 쓸 때 도움이 되는 것 같다!!
데이터 전처리
0. 이상치,결측치는 어제와 동일하게 처리함
1. TF-IDF 기반으로 1차 브랜드 키워드 사전 만듦
2. n-gram 을 활용해서, 까르띠에가 들어간 게시글에서 1,2gram의 단어 추출하여 리스트 만들기
3. 부분 문자열 활용 : '까르띠' 가 들어간 2~6자리 단어 목록을 만듦
4. 편집 거리 기반 유사도 : '까르띠에' 랑 비슷한 후보를 추출
5. 위 4가지에서 나온 리스트를 집합화하여 중복제거, 최종 사전 구축 -> 브랜드명으로 까르띠에 게시글 필터링
6. 제품명 사전 (TF-IDF, 공식제품/컬렉션, 도메인조사 기반) 으로 까르띠에 게시글 필터링
7. 삭제된 댓글 개수, 비율 컬럼 생성 / 삭제된 댓글 제거
해결해야 할 문제:
제목과 본문에는 키워드 사전에 해당하는 단어가 없지만, 댓글에서 까르띠에 언급이 일정수준 이상인 글
유선 튜터님은 N%이상이면 까르띠에 관련 글이라고 보고 포함시키라고 하셔서 그 기준선을 정하는 중이었다.
이에 대해 질문하기 위해 승예 튜터님을 찾아갔는데, 튜터님은 이게 그정도로 시간과 노력을 투자할 가치가 있는지 모르겠다는 입장이셨다. 유의미한 게시글이 걸릴지 모르겠다는 느낌이었다.
일단 팀원이 만든 기준으로 걸러진 게시글들을 직접 확인하기로 했다.
이번에 분석을 할 때마다 이렇게 눈으로 직접 확인해야 하는게 맞나해서 실무에서도 이런지 물어봤는데,
비정형 데이터 분석을 할 때에는 노가다가 들어가는게 당연하다고 한다!
부정 게시글 분석 방향
- 전체적인 부정 게시글 확산 정도 보여주기
- 위험한 순서로 카테고리 순위 보여주기 (대시보드에 추가할 거리)
- 위험 카테고리로 분류된 것들 집중적으로 전략짜기 (전략을 어떻게 짤지는 미정)
부정 키워드 사전 by 사람 + GPT - 불만을 카테고리화
1. 불량/하자
환불|반품|불량|하자|고장|파손|오염|스크래치|손상|변색|부러짐|부러졌|유격|찍힘|기스|본드|이물질|마감 별로|단차
2. 배송/출고
누락|배송 지연|출고 지연|발송 지연|오래 걸려|너무 늦|배송비 비싸|출고 늦|출고 느려|재입고 대기|무한 대기|취소당함|언제 와|배송 지옥|언제까지 기다려
3. AS/CS
AS 지연|A/S 지연|AS 늦|수리 지연|처리 지연|응답 없음|연락 안됨|불친절|안 친절|속상|컴플레인|개무시|불쾌|기분 잡쳐|기분 잡치|방치
4. 가격 인상
공포|사악|양아치|창렬|너무 하네|너무하다|너무해|그만 좀|또 올랐|또 올려
5. 제품 실망
별로|실망|최악|재구매 안|추천 안|가성비 별로|가성비 안 좋|가성비 떨어|후회중|열받|정떨|돈값 못|이 돈이면
6. 매장 웨이팅 경험
웨이팅 너무 길|입장 거부|허탈|헛걸음|대기 마감
7. 리셀/가품
가품같|짭같|짝퉁|허접|가품 의심|짭인듯|정품 맞나|정품 같지 않|사기|보증서 없|구성품 누락|홀로그램 가짜|가짜같|정품인지 의심|정품 의심|정품 아닌것같
8. 디자인/트렌드 변심
흔해짐|질려|이제 질려|유행 지난|촌스러|질린다
중립부정 키워드 사전 - 미완성, 다양한 어미나 패턴을 잡아내기 위해 정규식으로 필터링
pattern_anxiety = ( r'(?:저만|원래)\s이러(?:ㄴ|ㄹ까|나요|ㄴ가요)|(?:저만|원래)\s그래(?:요|요\?)|이게\s맞(?:나|는지|을까)\??|' r'정상(?:인가|일까|인지|인가요|일까요)\??|불량(?:인가|일까|인가요|일까요)\??|비정상|개체\s차|뽑기|' r'어떠(?:신가요|시나요|신지)|걱정(?:되|돼)\w*|불안(?:하\w*|해\w*)|찝찝\w*|괜히|심란\w*|' r'잠이\s안|고민되\w*|믿어도\s되(?:요)?\??|속은\s건(?:가|지)\??|기대했(?:는데|지만)|그저\s그래|' r'나쁘진\s않(?:은데|지만)|묘하(?:네|게)\w*|망설\w*|반품할까|방출할까|참을걸|애매\w*' )
'내일배움캠프-데이터분석' 카테고리의 다른 글
| Week 20-3 최종프로젝트 - 브랜드 필터링 (0) | 2026.03.04 |
|---|---|
| Week 19-3 최종프로젝트 - BERT 분석 방향 수정 (0) | 2026.02.25 |
| Week 18-4 최종프로젝트 - 데이터 전처리 (0) | 2026.02.19 |
| Week 17-1 ~ 17-5 최종프로젝트 주제 선정 및 분석 시작 (0) | 2026.02.13 |
| Week 16-1 ~ 16-5 프로그래머스 PCSQL 응시 (0) | 2026.02.12 |