데이터 분석 프로젝트를 진행한 SiZoAH 팀에서는 아래와 같은 프로젝트를 진행했습니다.
리뷰 기반 의류 사이즈 추천시스템
18기 박태남 고려대학교 산업경영공학과
18기 김주은 성균관대학교 문헌정보학과
18기 문다정 단국대학교 응용통계학과
18기 박희준 명지대학교 산업공학과
2. 데이터 수집 Ideation 서비스 시연
데이터 전처리 Review NLP
Q&A
주제 선정 배경
핵심 아이디어
Service
Flow Chart
팀 소개
Introduction Preparation Modeling 1 Result Outroduction
RecSys
Modeling 2
결론
15. Introduction Service Flow Chart
01
Input
Base
Output
성별
키
몸무게
Size
총장
어깨
소매
가슴
Big
Small
Big
Small
Small
Big
Big
Small
Size Info Predictive Model
Most Similar
User Data
User ID
Gender
Height
Weight
Purchase Data
Item
Size
Size Info
Review
Size Vocabulary
리뷰 기반 사이즈 파생변수로
키워드별 데이터 구분
예측값
어깨너비 가슴단면 소매길이
총장
구매하려는 Item Size Info
어깨너비
51
53
44
가슴단면
58
60.5
53
소매길이
56
57
52
총장
69
71
64.5
50.5 55 55
68
M
L
S
“ M Size “
Crawling
Big
17. Preparation 데이터 수집
02
MUSINSA | 무신사 스토어
무신사 스토어는
6,200 개의 브랜드 입점,
165,272 가지의 상의 품목,
23,000,000 건의 누적 리뷰 보유
MUSINSA SSF샵 29CM 이랜드몰
17,990,115
4,252,911
2,628,973
2,641,534
( 단위 : 명 )
월 방문자수
국내 패션 온라인 쇼핑몰 1위
출처 : 2022년 11월 기준, 시밀러웹 기반, 코랭킹닷컴
다양하고 많은 양의 리뷰 데이터 확보 필요성
타겟 쇼핑몰 선정 Crawling
18. Preparation 데이터 수집
02
User ID
Gender Height Weight
1
Item
Size
2
Review
3
Size Info
4
Crawling
User ID Gender Height Weight Item Size Review Size Info
LV3 멤버_171e0 여성 163 57 (23SS) 2 TONE A L 평소에 오버사이즈 후드 69, 60, 61, 63
2,635개의 상품에 대해 총 98,394개의 데이터 수집 완료
MUSINSA | 무신사 스토어 스타일 후기
타겟 쇼핑몰 선정 Crawling
19. Preparation 데이터 전처리
02
1
User Information의 부재
2
Size Information의 부재
22,502개의 최종 Data Set 구축
- 성별, 키, 몸무게는 Input value로 필수적임
- 하나라도 존재하지 않는 경우의 관측치는 삭제
- 구매 사이즈명과 Size Info 속 사이즈명 불일치로 인해 크롤링 문제 발생
- 총장, 어깨너비, 가슴단면, 소매길이는 학습데이터의 Output value임
- 모두 존재하지 않는 경우의 관측치는 삭제
21. Modeling 1 Ideation
03 Ideation
제품별로 사이즈 표기명이 상이하고, 제품마다 Matrix 생성하는 것으로는 서비스 보편화 불가능
크롤링으로 수집된 리뷰 평점은 사이즈에 대한 평점 아니고,
리뷰 기반 사이즈 평점을 새롭게 부여하는 방식은 객관적 검증법이 존재하지 않음
사이즈 추천을 위한 새로운 접근법 고안
Collaborative Filtering
: User가 Item에 매긴 평점을 기반으로 Similar User 탐색을 통한 추천
: Matrix에서 Item은 하나의 상품이 아닌 Size
User1
User2
User3
Item1 Item2 Item3
Rating
Trial and Error
22. Ideation
03
Size Info Predictive Model
리뷰의 Size 평가 정보를 반영하여 User의 키/몸무게/성별로 Size를 추천해주는 모델
X Y
총장
어깨너비
가슴단면
소매길이
Size
성별 키 몸무게
총장 어깨
가슴 소매
보통ㅇ
크다 작다 보통이다 보통ㅇ
크다 작다 보통이다
보통ㅇ
크다 작다 보통이다 보통ㅇ
크다 작다 보통이다
Review
예측에 있어서 Review는 User의 구매가 이루어지고 생성되는 미래의 정보이다.
하지만, Input으로 사용자의 Size 선호 정보를 받아들임으로써 한계점 해결
Modeling 1
23. Ideation
03
Size Info Predictive Model
리뷰의 Size 평가 정보를 반영하여 User의 키/몸무게/성별로 Size를 추천해주는 모델
X Y
총장
어깨너비
가슴단면
소매길이
Size
성별 키 몸무게
총장 어깨
가슴 소매
보통ㅇ
크다 작다 보통이다 보통ㅇ
크다 작다 보통이다
보통ㅇ
크다 작다 보통이다 보통ㅇ
크다 작다 보통이다
Review
예측에 있어서 Review는 User의 구매가 이루어지고 생성되는 미래의 정보이다.
하지만, Input으로 사용자의 Size 선호 정보를 받아들임으로써 한계점 해결
Modeling 1
Size Info Predictive Model
Train Data Review
총장이
길어요
어깨가
좁아요
총장이
짧아요
성별
키/몸무게
총장 수치
Review에서 총장이 길다고 평가 남긴 User들
이들의 성별/키/몸무게에서는 각 구매 사이즈의 총장 수치가 크다고 느껴진다!
x y
24. Ideation
03
Size Info Predictive Model
리뷰의 Size 평가 정보를 반영하여 User의 키/몸무게/성별로 Size를 추천해주는 모델
X Y
총장
어깨너비
가슴단면
소매길이
Size
성별 키 몸무게
총장 어깨
가슴 소매
보통ㅇ
크다 작다 보통이다 보통ㅇ
크다 작다 보통이다
보통ㅇ
크다 작다 보통이다 보통ㅇ
크다 작다 보통이다
Review
예측에 있어서 Review는 User의 구매가 이루어지고 생성되는 미래의 정보이다.
하지만, Input으로 사용자의 Size 선호 정보를 받아들임으로써 한계점 해결
Modeling 1
Size Info Predictive Model
Train Data Review
총장이
길어요
어깨가
좁아요
총장이
짧아요
New User
나한테 총장이 좀 길었으면 좋겠어!
총장이 길다고 탐지된 관측치에 중요도(가중치)를 높여
사이즈를 추천한다.
성별
키/몸무게
총장 수치
Review에서 총장이 길다고 평가 남긴 User들
이들의 성별/키/몸무게에서는 각 구매 사이즈의 총장 수치가 크다고 느껴진다!
x y
25. User ID Gender Height Weight Item Size Review
LV3 멤버 여성 163 57 (23SS) 2 TONE A L 평소에 오버사이즈
LV3 딩가 남성 172 56 [기모] 구미 베어& M 오버핏느낌으로 입어야
LV3 헤벨 남성 182 82 로그 오버핏 기모 L 이쁜데 빨래할때 기모가
Size Info
69, 60, 61, 63
67, 55.5, 66.5, 65
72, 67, 64, 61
총장 크다
1
1
0
총장 작다
0
0
0
소매 작다
0
0
0
소매 크다
0
1
0
2
Review NLP
03
User ID Gender Height Weight Item Size Review
LV3 멤버_171e0 여성 163 57 (23SS) 2 TONE A L 평소에 오버사이즈 후드를 좋아하는데 이 제품
LV3 딩가딩가딩가 남성 172 56 [기모] 구미 베어& M 오버핏느낌으로 입어야 하고 기모라 따뜻햐서
LV3 헤벨레렐레레 남성 182 82 로그 오버핏 기모 L 이쁜데 빨래할때 기모가 묻어나오네요 사실때
Size Info
69, 60, 61, 63
67, 55.5, 66.5, 65
72, 67, 64, 61
PROCESS
Size Vocabulary
총장 어깨
가슴 소매
크다
작다
1
Review의 고빈도 키워드 추출을 통한 Size Vocabulary 정의
Size Vocabulary 기반 각 관측치별 Size Keyword 탐색 및 파생변수 생성
1
2
Modeling 1
26. Review NLP
03 Size Vocabulary Size 파생변수 생성
3-0. WHY Size Vocabulary?
Review에서 구매한 상품 평가가 아닌 구매한 상품의 Size에 대한 평가가 반영되어야 하고,
그 평가는 단순한 긍〮부정이 아닌 ‘크다’ 혹은 ‘작다’는 의미로 판단 되어야한다.
구매한 상품에 긍정적
목적에 맞는 Size Vocabulary를 직접 정의
구매한 사이즈에 불만족
디자인이 예쁘고 좋아요 그런데 기장이 조금 길어요
Modeling 1
27. Review NLP
03 Size Vocabulary Size 파생변수 생성
3-1. Review Preprocessing
1 외국어 리뷰 삭제
: 한글 리뷰 속에 외국어가 섞여 있는 것이 아닌, 완전히 외국어로만 쓰여진 리뷰
2 특수문자, 이모티콘, Punctation 제거
3 숫자 제거
: 사이즈와 관련된 키워드 추출에는 관련 없고, 키/몸무게/사이즈 숫자는 또다른 컬럼에 존재
4 단순 모음/자음 제거 및 반복 문자 정규화
5 띄어쓰기
: 온라인 쇼핑몰 리뷰 데이터라는 특성상 띄어쓰기가 되어있지 않은 리뷰 多
후드티는전체적으로큰데 기장이 특히길어서 좀불편해요ㅠㅠㅠ !!! 흑흑흑흑🙂!!!&*
후드티는 전체적으로 큰데 기장이 특히 길어서 좀 불편해요 흑흑
Modeling 1
28. Review NLP
03 Size Vocabulary Size 파생변수 생성
3-2. Tokenizing
KoNLPy
한국어 형태소 분석기 패키지
Hannanum
후드티는 전체적으로 큰데 기장이 특히 길어서 좀 불편해요 흑흑
체언 용언 체언 용언 용언
총장, 어깨, 가슴, 소매 키워드와 관련된
체언 토큰화에 더 좋은 성능을 보임
크다, 작다 키워드와 관련된
용언 토큰화에 더 좋은 성능을 보임
Okt
+
Size Vocabulary 구축에 유의미한 체언/용언만을 사용하고, 나머지는 불용어 처리함
품사별 토큰화 성능이 상이함을 고려하여 Hannanum, Okt 를 모두 사용함
Modeling 1
30. Review NLP
03 Size Vocabulary Size 파생변수 생성
3-4. Size 파생변수 생성
Review
Size Keyword
탐지
Big/Small
탐지
후드티는 전체적으로 큰데 기장이 특히 길어서 좀 불편해요 흑흑
후드티는 전체적으로 큰데 기장이 특히 길어서 좀 불편해요 흑흑
후드티는 전체적으로 큰데 기장이 특히 길어서 좀 불편해요 흑흑
Size 파생변수 생성
전체 핏 크다
1
전체 핏 작다
0
총장 크다
1
전체 핏 작다
Keyword
Big
… 소매 작다
0
총장 작다
0 …
총장 어깨
소매 가슴
전체 핏
크다
작다
정의된
Size Vocabulary
(앞) 수식어구 (뒤) 설명어구
* 수식어구가 아닌 용언 탐지 방지를 위해
관계언이 포함된 경우 탐지 제한
Size Keyword
Modeling 1
31. Review NLP
03 Size Vocabulary Size 파생변수 생성
3-4. Size 파생변수 생성
총장, 어깨, 가슴, 소매는 전체 핏에 대해 포함관계에 있다.
User가 전체 핏이 크다고 느꼈다면, 총장/어깨/가슴/소매에 대해서도 크다고 느꼈을 것이다.
총장 크다
1
총장 작다
0
어깨 크다
0
어깨 작다
0
가슴 크다
0
가슴 작다
0
소매 크다
1
소매 작다
0
Column
Value
전체 핏 크다
1
전체 핏 작다
0
Column
Value
총장 크다
1
총장 작다
0
어깨 크다
1
어깨 작다
0
가슴 크다
1
가슴 작다
0
소매 크다
1
소매 작다
0
Size 파생변수별 Value 변화
Modeling 1
33. Modeling 2 RecSys
04
User ID Gender Height Weight Size 총장 어깨너비 가슴단면 소매길이
총장
크다
총장
작다
어깨
크다
어깨
작다
가슴
크다
가슴
작다
소매
크다
소매
작다
LV3 멤버 여성 163 57 L 69 60 61 63 1 0 0 0 0 0 0 1
LV3 딩가 남성 172 56 M 67 55.5 66.5 65 1 0 0 1 0 0 1 0
LV2 바보 여성 157 45 S 65 55 65 61 0 1 0 0 0 0 0 1
…
LV3 헤벨 남성 182 82 L 72 67 64 61 0 0 1 0 0 0 1 0
PROCESS
군집별
모델 선정
1
▶️ Pycaret 활용
2
= (수치*가중치) + (수치*가중치) + (수치*가중치)
input
사이즈 별
선호
3
4가지 Size Keyword(총장,어깨,가슴,소매)에 대해 각 3가지 군집(크다,작다,보통)으로 학습 데이터 분류
Pycaret을 활용한 각 군집별 모델 선정 및 훈련
3가지 군집 간 가중평균을 위한 가중치 선정
최종 수치 및 사이즈 도출
1
2
3
4
사용자 선호 반영
최종수치 및 최종 사이즈
(*사용자가 택한 상품의 사이즈표 참고)
사이즈
선호별,군집별
가중치 결정
총장 어깨 가슴 소매
4
수치 수치 수치 수치
L
군집분류 모델 훈련 가중치 선정 최종 Output
크다 작다 보통
34. RecSys
4-1. Size Keyword별 군집 데이터 분류 예시) 총장
군집분류 모델 훈련 가중치 선정 최종 Output
04 Modeling 2
크다 군집
4,278개
작다 군집
538개
보통 군집
17,686개
Train
Data
총장
군집명
Size 파생변수
총장 크다 총장 작다
1 0
0 1
0 0
Why?
1
핏(사이즈)에 대한
사용자의 선호도 반영 목적
2
3가지 군집별 예측값 도출
35. RecSys
4-2. 모델 선정 및 훈련
군집분류 모델 훈련 가중치 선정 최종 Output
04 Modeling 2
Pycaret이란?
Scikit-learn 패키지를 기반으로
AutoML을 해주는
파이썬 라이브러리
Classification, Regression,
Clustering, Anomaly Detection 등
다양한 모델을 지원
36. RecSys
보통 군집이 크다, 작다로 분류된 군집보다 훨씬 많은 데이터를 가져 상위로 선정된 모델이 다름
하이퍼파라미터 O
* GridSearch 활용
하이퍼파라미터 X
4-2. 모델 선정 및 훈련
군집분류 모델 훈련 가중치 선정 최종 Output
04 Modeling 2
두 가지 모델 채택 후 개별 훈련
Gradient Boosting Regressor
총장/어깨/소매/가슴에 대한
크다, 작다 군집 모델
Linear Regression
총장/어깨/소매/가슴에 대한
보통 군집 모델
+
37. RecSys
4-3. 가중치 선정 예시) 총장
군집분류 모델 훈련 가중치 선정 최종 Output
04 Modeling 2
크다 군집
(1,0)
작다 군집
(0,1)
보통 군집
(0,0)
Train
Data
어깨
소매
가슴
총장
군집명
* 이때 각 군집은 Size 파생변수를 기반으로 분류됨
모델 훈련
GBR
GBR
LR
Test Data
성별
키/몸무게
총장 선호
어깨 선호
가슴 선호
소매 선호
예측값
predbig
predsmall
prednormal
최종
예측값
𝑤1
𝑤2
𝑤3
Test
Data
실제값
MSE 기준으로
최종 가중치 선정
총장 크다 선호
총장 작다 선호
총장 보통 선호
최종 가중치
𝑤𝑏𝑖𝑔 𝑤𝑠𝑚𝑎𝑙𝑙 𝑤𝑛𝑜𝑟𝑚𝑎𝑙
0.51 0.0 0.49
0.0 0.99 0.01
0.0 0.05 0.95
38. RecSys
Size 총장 어깨너비 가슴단면 소매길이
S 65 48 58 64
M 67.5 50 60.5 65.5
L 70 52 63 67
XL 72.5 54 65.5 68.5
사용자가 구입하려는 상품의 사이즈 표
총장 어깨 가슴 소매
67 50.7 62 63.5
8
최종 예측 수치
M
Size
Output
4-4. 최종 수치 및 사이즈 도출
군집분류 모델 훈련 가중치 선정 최종 Output
Input
04
1
2
3
4
5
6
7
Modeling 2
소매 선호
가슴 선호
어깨 선호
Weight
Height
Gender
총장 선호
[ 크다 작다 보통이다 ]
[ 크다 작다 보통이다 ]
[ 크다 작다 보통이다 ]
[ 55 ]
[ 162 ]
[ 여자 ]
[ 크다 작다 보통이다 ]
Size 총장 어깨너비 가슴단면 소매길이
S 65 48 58 64
M 67.5 50 60.5 65.5
L 70 52 63 67
XL 72.5 54 65.5 68.5
최소 MSE
Size
탐색
RecSys
43. Outroduction
06 결론
의의
사이즈 관련 언어 사전 구축
사용자가 원하는 의류에 모두 적용가능한
범용적인 시스템 구현
사용자의 니즈를 반영할 수 있는
개인화 사이즈 추천 시스템 구축
1
2
3
아쉬운 점
실제 리뷰 크롤링을 기반으로 하여
제한적인 Dataset
다양한 알고리즘에 대한 시도 부족
다양한 상품군에 대한 시도 부족
1
2
3
44. Outroduction
06 결론
추후 과제
사용자의 구매 이력을 추가 Data로 활용하여 모델의 성능 향상
1
후드티를 제외한 타 상품에도 적용하여 다양성 확장 ex) 하의, 아우터
2
사용자 만족도 향상을 위한 웹의 UI / UX 디자인 구현
3
사용자가 추천시스템에 대한 Feedback을 입력할 수 있는 채널을 제공함으로써
지속적인 추천 시스템 업데이트
4
45. Outroduction 팀 소개
06
18기 분석
고려대 산업경영공학과
박태남
18기 시각화, 분석
성균관대 문헌정보학과
김주은
18기 분석
단국대 응용통계학과
문다정
18기 분석
명지대 산업경영공학과
박희준