데이터 분석 프로젝트를 진행한 리뷰의 재발견 팀에서는 아래와 같은 프로젝트를 진행했습다.
Review? Re-View!
물건 살 때 우리는 리뷰를 보며 많은 정보를 얻습니다❕여러분이 보는 그 리뷰의 유용성을 저희가 알려드릴게요
리뷰 유용성 판단부터 토픽으로 알아보는 리뷰 유용성 결정 요인 분석, 군집화를 통한 대표 리뷰 추출까지
우리 같이 Review를 Re-View해봐요
16기 정수연 한양대 파이낸스경영학과
16기 문예진 서강대 경제학부 / 빅데이터 사이언스
16기 이상민 경희대 소프트웨어융합학과
16기 황의린 숙명여대 생명시스템학부 / 통계학과
16기 정승연 연세대 대학원 전산언어학
2. 01. 프로젝트 소개
1. 주제 소개
2. 도메인 선정
3. 데이터 수집
4. 데이터 라벨링
005
006
007
008
004 02. 유용성 분류 모델
1. 전처리 및 증
강
2. 모델링
3. 모델 성능 비
교
011
016
018
010 03. 리뷰 군집화 모델
1. 실험 배경
2. 임베딩
3. 군집 내 키워드 추
출
4. 결과 확인
020
021
023
025
019
04. 유용성 결정요인 파악 모델
1. 모델 파이프라인
2. LDA 토픽모델링
3. 토픽 모델링 결과 확인
4. 로지스틱 회귀모형 적합 결
과
5. 결과 분석 및 한계점
027
028
029
030
031
032
05. 웹 구현 및 시연
06. 결론 및 제언
033
035
목차
5. 소비자 관점
구매하고자 하는 제품의
유용한 리뷰들을 참고하여
보다 효율적인 의사결정 가능
리뷰 유용성 판단
유용한 Top K 개 리뷰 필터링
리뷰 군집화
토픽 정보 제공
이커머스 기업 관점
소비자의 의사결정에 도움을 주어
긍정적인 고객 경험(User Experience)
을 유도하여 소비자의 구매 촉진 가
능
스킨 화장품 도메인에서
1. Top K개 유용한 리뷰를 선별하여 고객에게 큐레이션(curation)하는 모델
2. 리뷰 군집별 키워드 제시 방법론
3. 토픽 모델링과 GLM 모델링을 이용한 기초 화장품 도메인에서의 유용성 결정 요인 분석 방법론을 제안
6. 이커머스 올리브영
스킨케어 카테고
리
• 사용자가 상품 구매 의사결정을
리뷰에 의존하는 경향이 큼
• 누적 리뷰 수가 1천만건에 돌파
할 정도로 리뷰 서비스 활성화
• 리뷰 블라인드 시스템, 탑리뷰
어 관리 등으로 양질의 리뷰 제
공
• 화장품 도메인이 리뷰에 민감
• 올리브영 내에서 가장 리뷰가
많은 카테고리
• 색조화장품에 비해 사용자 후기
가 어느 정도 일관됨
7. 상품
명
리뷰 본문
리뷰 추천 수를 유용함의 척도로 사용하지 않음
- 유저별 객관적인 유용성 기준이 부재함
- 대부분의 유저가 상위 몇 개의 리뷰만을 보고 추천을 누름
올리브영 스킨케어 페이지의 상품들을 대상으로
상품명과 리뷰 본문 크롤링하여
총 10개 상품, 약 14,000개 리뷰의 데이터셋 구축
리뷰
8. 자신의 피부 타입 설명
1. 피부 타입 피드백
복합성, 지성, 건성
예민함, 홍조, 블랙헤드
비교급 표현
or 다른 제품 언급
2. 타 제품과 비교
~~쓰다가 돌아왔어요
이게 최고
화장품 자체의 정보
3. 화장품 정보
안 좋은 성분 없어요
끈적해요, 물같아요
단기적인 효과 설명
4. 단기 효과, 느낌
보습이 잘돼요,촉촉해요
쿨링이 돼요
기간 정보를 포함한
경과 설명
5. 장기 효과
열흘 써봤더니 여드름
이
다 가라앉았어요
몇 개월 째 쓰고 있는데
좋아요
순해요, 자극이 없어요
1,000개의 리뷰를 무작위로 추출하여 5명의 주석자가 회의
> 주석자간 작업 일관성을 높이기 위해 5가지 기준 수립
9. Fleiss’ Kappa 계수: 0.76 * 주석자간 일관성을 확인하는 계수
1점 1~2점 2~3점 3~4점 4~5점 5점
기준 0개 기준 1개 기준 2개 기준 3개 기준 4개 기준 5개
5명의 주석자가 총 5700개의 리뷰를 라벨링하여 리뷰 유용성 평가를 위한 데이터셋 생성
10. O
02
유용성 분류 모델
전처리 및 증강
띄어쓰기 교정
모델링
모델 성능 비교
맞춤법 교정
데이터 증강
KoBert & KcBert
KoElectra & KcElectra
20. 수분이 많아서 자극이 적고 촉촉해요
바르고 시간이 지나도 보습이 잘 돼요
Cluster 1
수분이 많아서 자극이 적고 촉촉해요
피부가 건조하고 트러블이 많은데,
이 제품을 바르고 많이 사라졌어요
Raw data
자극이 없고 수분감이 가득해요. 촉촉!
트러블이 많은 피부이고 건조한데,
정말 말끔하게 사라졌어요!
…
소비자가 무수한 리뷰를 직접 보고 판단하기 어려움
> 비슷한 리뷰끼리 군집화하여 군집 별 핵심 리뷰만 제공
수분감
어성초 성분이 들어있어서 믿고 써요
성분이 좋아서 화해에서 1위에요
Cluster 2
성분
21. Tf - idf
• Term Frequency - Inverse Document Frequency
• 어떤 단어가 특정 문서 내에서 얼마나 중요한 것인지를 나타내는 벡터
• 개별 문서에서 자주 등장하는 단어에 높은 가중치를 주되, 모든 문서에서 전반적으로 자주 등장하는 단어에 대
해서는
패널티를 주는 방식
• Tf (문서 내에 얼마나 자주 등장하는지), idf(다른 문서에서 자주 등장하는지의 역수)를 곱해 구하는 방법
22. Doc2Vec
• 고전 모델인 word2vec과 유사한 distributed word representation 방법
• 의미공간에 document 의 위치좌표를 학습하는 방법으로,단어를 예측하며 로그 확률 평균을 최대화하는 과정
으로 학습
• 단어 사이의 연관성 뿐만이 아닌 paragraph vector가 지속적으로 학습됨
• 일반적으로 성능이 더 좋다고 알려진 PV-DM 방식 사용
23. 전처리 Doc2vec으로 임베딩 K-means로 군집화
군집 별 키워드를
키워드 추출 모델로 추출
Keyword 추출 모델로는 군집별로 적절한 키워드가 잡히지 않음.
> K-means 군집의 중심 근처에 위치한 단어들을 키워드로 잡는 방법을 선택함.
24. 모델링
데이터 전처리
기본적인 전처리
(불필요한 문장, html 태그, 공백 등 제거)
데이터 cleaning
(한글, 영어, 숫자를 제외하고 모두 제거)
Pos tagging을 통해 명사만 추출
(SL, NNG, NNP – 기본명사, 고유명사, 외국
어)
두 글자 이상만(한 글자 제거)
mecab을 활용해
위에서 tagging한 명사만 추출
리뷰(행), 단어(열)별 tf-idf 계산
(최소 빈도 = 2)
Cluster 개수 결정
(elbow 차트)
군집별 cluster centers 단어 계산
가장 중앙에 가까운 상위 10개 단어 추출
Top k개 리뷰 출력
K-means clustering
26. 크림 으로 기초 마무리 하는데 여름철이라
평소 쓰던 크림이 너무 헤비하게 느껴지고
크림을 생략하고 로션으로 마무리하니 너무
가벼운것 같고 그래서 자작나무 수분크림
샘플로 마무리 해줬는데 딱이네요
자작나무 수분크림은 다른 수분크림과 비교
했은때 덜 묽다 크림느낌이 더 난다 이런
너낌
알갱이가 있는대 손등에바른 사진을 보면
알갱이가 살아있는대 얼굴에 바르니 흡수
잘되요
제품이 너무 순하고 바르기 편하면서 안에
들어있는 작은 알갱이 때문인가 싶었음ㅎ
ㅎ알갱이 터트리는 재미가 있더라구요 처
음에는 좀 귀찮고 뭐지 싶었는데 바르다보
니 녹는거 때문에 더 바르고 싶어짐ㅋㅋ
민감성 피부라 이것저것 한제품 오래 못바
르는데요 ㅜ 이건 진짜 피부가 좋아지는게
보이네요
마스크때문에 자극을 많이 받아 진정이 필
요한 얼굴 모공이 넓은사람 수분 부족한 지
성피부 여드름 피부 민감성 피부 복합성피
부 에게 딱 좋은 제품인것같아요
피부 타입
군집1 군집2
알갱이 사용감
군집3
군집별 키워드와 중심에 가장 가까운 리뷰들을 확인한 결과 <피부 타입, 알갱이, 사용감> 3가지 속성으로 군집 특징 도출 가능
>1633개의 리뷰를 3개의 군집으로 축소 가능
군집별 대표 리뷰
확인
27. O
유용성 결정 요인
파악 모델
LDA 토픽 모델링
토픽 모델링 결과 확인
로지스틱 회귀모형 적합 결과
결과 분석 및 한계점
모델 파이프라인
28. 데이터 전처리: 형태소 단위 토큰화, 명사 추출,
불용어 처리, 길이가 1 이상인 명사 제외
LDA 토픽 모델링 실시: 토픽의 개수 k는 Coherence
Score와 정성적 검토에 기반하여 결정
최적의 LDA 모형에서 나타난 각 주제별 키워드를 통해,
리뷰 데이터의 내용적 특성 분석
각 리뷰의 토픽 스코어와 양적 변수를 통해
리뷰 유용성(‘Usefulness’)을 예측하도록
로지스틱 회귀 모형에 적합
변수 유의성 검정으로 유용성 결정에 유의한 토픽 확인
데이터 전처리 > LDA 토픽 모델링 > 최적의 모델 선정
> 회귀적합 > 유용성 결정 요인 파악 과정
Coherence와 정성적 검토로 토픽 개수를 3으로 선정
29. 분포1: 각 문서에 대한 주제의 확률 분포 분포2: 각 Topic에 대한 단어의 확률 분포
하나의 문서는 여러 개의 topic을 가지고 있고,
그 topic들에 대한 특정한 확률 분포
(Dirichlet 분포)가 있다고 가정
각 topic에 대한 단어들이 갖고 있는
특정한 확률 분포 (Dirichlet 분포) 가 있다고 가정
클러스터링 기법과 차이점
• 두 개의 확률 분포를 실제 문서/단어 정보를 가지고 역으로 추정
• Clustering 기법들과 달리 LDA는 주제에 대한 단어들의 확률 정보까지 제안
주제를 표현하는 방법
• 단어, Keyword Frequency, 단어들의 분포 사용
• 구체적으로 두 개의 서로 다른 확률 분포를 통해
특정 문서에서 특정 단어가 사용되었다고 가정
30. 각 리뷰의 단어 출현 빈도를 고려한 Weighted Topic Score를 독립변
수로,
리뷰 유용성(Usefulness)을 종속변수로 하여 로지스틱 회귀 모형에 적
합
Topic 01: 용량
Topic 02: 사용 후기
Topic 03: 수분감
Topic 04: 제품 구성
keyword
31. Topic 1 Coefficient (2.9656)
Topic 2 Coefficient (2.7802)
Topic 3 Coefficient (2.7285)
Topic 4 Coefficient (2.7930)
변수 유의
성
로지스틱 회귀 모형의 적합 결과로 도출되는
각 변수의 유의성 검정 (𝐻0: 𝛽𝑘 = 0 / 𝐻1: 𝛽𝑘 ≠ 0) 결과에 대해
P-Value를 기준으로 Significance 를 확인하였을 때,
모두 Pr(>|z|) < 0.000 로 매우 Significant한 변수임을 확인.
32. Labeled 데이터셋을 추가 확보한 다음,
토픽 변수와 양적 변수를 추가.
변수의 Significance를 P-value 기준으로
총 4가지 기준으로 나누어 풍부한 해석 시도
할 계획.
향후 계획
Pr(>|z|) < 0.000
Pr(>|z|) < 0.01
Pr(>|z|) < 0.05
Pr(>|z|) > 0.05
사용된 리뷰의 건수가 정확한 토픽 모델링
을
진행하기엔 1만 건 이하로 그리 많지 않았
음.
한계점
제품 용량, 제품 리뷰의 내용적 특성 (e.g.만족, 리
뷰…), 수분감, 제품 구성에 대한 주제의식이 유용
한 리뷰의
내용적 특성과 깊은 관련이 있음을 확인할 수 있
음.
로지스틱 회귀 모형의 적합 결과로 도출되는
각 변수의 유의성 검정 (𝐻0: 𝛽𝑘 = 0 / 𝐻1: 𝛽𝑘 ≠ 0) 결과에 대
해
P-Value를 기준으로 Significance 를 확인하였을 때,
모두 Pr(>|z|) < 0.000 로 매우 Significant한 변수임을 확인.
36. • 유용성 기준으로 리뷰를 필터링하여, 유용한 리뷰만을 빠르게 찾아볼 수 있음.
• 사용자들에게 유용함 지표를 추천받아 하는 시스템은, 상단에 위치한 리뷰만 지속적으로 노출되어 받는 편향이
존재
> nlp 모델을 활용하여 자동 필터링해준다면 편향 없이 최신 리뷰와 하단에 있는 리뷰들까지 노출 가능
유용성 분류 모
델
• 내용이 비슷한 리뷰들은 보지 않고, 내용이 다른 핵심적인 리뷰들만을 보고싶어하는 소비자들의 심리
> 비슷한 내용을 가진 리뷰들을 군집화하여, top-k개만큼 추출하여 사용자들에게 효율적으로 리뷰의 핵심 정보를
전달할 수 있음
리뷰 군집화 모
델
37. • 화장품 도메인의 스킨, 토너 카테고리 뿐만 아니라 더 많은 리뷰 데이터들을 학습해 범용적인 모델을 만
들고자 함.
• 유용성 결정 요인 파악을 좀 더 개선하여, 기존 유용성 분류 모델의 강한 근거로 삼고자 함.
향후 개선점
• 리뷰어 정보, 상품 상세 설명, 별점 등 여러 변수들 고려하지 않고 텍스트만 고려하여 정보의 손실이 발생
• 라벨링 기준이 5개로 시간이 오래 걸려 데이터셋 확보에 어려움이 있음
한계점