4. 4
프로젝트 목표 – 맞춤 여행 정보 제공 모델
11~13년도 국민여행실태조사 데이터의 분석과 이해를 바탕으로
협업 필터링 (COLLABORATIVE FILTERING)을 활용한 맞춤 여행 정보 제공 모델 구축
11~13년도 국민여행실태 조사 DATA
Collaborative Filtering(협업 필터링)
14년도 Data 예측을 토대로 한
맞춤 여행 정보 제공 모델
DATA
APPLY
GOAL
5. 5
협업 필터링(Collaborative Filtering)이란?
많은 사용자들로부터 얻은 기호정보에 따라 사용자들의 관심사들을 예측하고 추천해주는 방법
비슷한 취향을 가진 고객들에게 서로 아직 구매하지 않은 상품들은 교차 추천하거나 분류된 고객의 취향이나 생
활 형태에 따라 관련 상품을 추천하는 형태의 서비스를 제공하기 위해 사용되는 방법.
협업 필터링 (Collaborative Filtering) 의 대표 방법 2가지
사용자 기반 협업 필터링(User-based collaborative filtering)
나와 취향이 비슷한 사용자가 어떤걸 구매(선호)했는지를 기반으로 상품을 추천하는 기법
아이템 기반 협업 필터링(Item-based collaborative filtering)
내가 이전에 구매했던 항목을 기반으로 그 상품과 연관성이 있는 다른 상품을 추천하는 기법
Why Collaborative Filtering?
6. 6
Why Collaborative Filtering?
비즈니스에서 협업 필터링을 이용한 추천서비스 성공사례
구매의 2/3가 추천으로 부터 발생 판매의 35%가 추천으로 부터 발생
고객들의 영화 취향 데이터를 기반으
로 사용자 기반 협업 필터링을 활용하
여 가장 선호할 만한 영화를 추천
고객들의 도서 구매 이력 데이터를 바
탕으로 아이템 기반 협업 필터링을 활
용, 구매도서와 유사한 도서 추천
개인의 영화 취향을 분석해 내용 기
반, 아이템 기반 협업 필터링을 활용,
선호할 만한 영화를 추천
탁월한 서비스로 광고수익
최근 많은 분야에서 협업필터링을 활용한 추천서비스가 주목받고 있다.
8. 8
데이터의 이해 및 데이터 전처리 – 데이터의 이해
Data
데이터
구조
구성
요소
type1
type2
PID
PSID
month
count
……
데이터의 이해
본격적인 데이터 분석 전 데이터에 대한 이해
9. 9
데이터의 이해 및 데이터 전처리 – 데이터 전처리
데이터 전처리 과정
데이터의 품질을 개선하거나, 데이터 분석에 적합한 형태로 원시 데이터를 변환한다.
→ 분석에 소요되는 시간, 비용 등을 줄일 수 있다.
2011년 2012년 2013년 2014년
관광지
베이스
변수 수 75 85 83 123
조사대상 수 8255 10164 10111 10187
단위여행
베이스
변수 수 81 90 84 120
조사대상 수 8022 9878 9865 10006
10. 10
1. q11문항의 항목별 경비의 개수가 다르다.
→ 각 항목별로 경비를 다 더해서 하나씩의 항목만 존재하게 한다.
예)
q11_b_1_1 q11_b_1_2
100000 50000
여행상품비
150000
1. 연도별로 변수의 개수가 다르다.
q11문항의 항목별 경비의 개수가 다르다.
관광지 베이스
데이터의 이해 및 데이터 전처리 – 데이터 전처리
2. 방문한 최대 시군구지역 개수가 다르다.
문제 인식
해결 방법
11. 11
2. 방문한 최대 시군구지역 개수가 다르다.
→ 코드표에 따라서 한글로 변환하고 지역이라는 새로운 변수를 추가
예)
q6_1 q6_1_1 q6_1_2
939 010 020
지역
제주 제주시,제주 서귀포시
지역변수에 한가지 지역만 들어가도록 다른 모든 조건을 동일하게 하고 지역만 하나씩 내린다.
예)
pid psid 지역
0010 010 제주 제주시,제주 서귀포시
pid psid 지역
0010 010 제주 제주시
0010 010 제주 서귀포시
※단위여행 베이스도 관광지 베이스와 큰 차이가 없어서 비슷하게 처리하였다.
데이터의 이해 및 데이터 전처리 – 데이터 전처리
→ 문제 해결 후 4개의 데이터를 변환하고 합쳐서 한 개의 데이터로 만든다.
12. 12
데이터의 이해 및 데이터 전처리 – 데이터 전처리
통합 전
통합 후
통합 데이터
관광지
베이스
변수 수 50
조사대상 수 38717
단위여행
베이스
변수 수 54
조사대상 수 37771
2011년 2012년 2013년 2014년
관광지
베이스
변수 수 75 85 83 123
조사대상 수 8255 10164 10111 10187
단위여행
베이스
변수 수 81 90 84 120
조사대상 수 8022 9878 9865 10006
14. 14
지역별 평가점수, 방문객수 시각화 - 히트맵
지역별 평가점수 지역별 방문객수
전체적으로 만족도가 높지만 수도권에 특히 집중
된 것을 알 수 있음.
11~14년도의 지역별 방문객 수를 시각화한 자료
다른 지역에 대한 정보가 부족하기 떄문에 수도권
으로 여행객이 집중되는 것이라 판단.
서울, 부산 등 대도시에 방문객 수가 집중되는
것을 알 수 있음.
15. 15
사용자 기반의 협업 필터링
케빈
밥
스튜어트
2
3
5
4
1
3
2
나와 취향이 비슷한 사용자가 어떤걸 구매(선호)했는지
를 기반으로 상품을 추천하는 기법
추천
관광산업의 특성 상 기존의 협업 필터링이 사용되었던 분야
(영화,음악,뉴스)와 달리 재방문에 대한 수요가 많음.
개인 별 여행지에서의 활동 Data를 가지고 여행에서 활동정보가
유사한 여행객간의 유사도 계산.
중복 아이템 추천에 대해서는 지역별 재방문율을 구해 유사한 사
람들이 방문했던 지역들을 다 더한 값에 추천받은 사람이 방문했
던 지역에는 재방문률을 곱해 COUNT를 낮춰줄 것이다.
한정된 지역(Item)에 대한
유행이나, 개최되어지는
행사에 의해 동향이 발생.
유사한 사용자를 정의 할 수 있는 여러 변수가 있으며, 어떤
알고리즘을 사용하는 것을 선택하는 것도 중요하다.
개인 별 방문 여행지 Data를 가지고 방문 여행지가 유사한 여행객
간의 유사도 계산.
관광 DATA에서의 사용자 기반의 협업 필터링
2 : 방문횟수
16. 16
여행 정보의 유사성 계산 알고리즘 - TF-IDF
Term Frequency- Inverse Document Frequency
문서를 수학적인 표현으로 나타내기 위하여 사용됨.
문서의 유사도를 파악하는 알고리즘.
예시 – word count
문서의 data를 일관된 표현으로 나타내고 싶다.
자주 사용하는 표현 : 벡터 형식
TF 문서 내 모든 단어 수
문서 내 단어의 갯수
IDF 단어를 포함한 문서의 수
문서 전체 갯수
log
TF – IDF 값
결과
17. 17
관광 DATA에서의 TF-IDF 적용
TF-IDF 새롭게 정의
여행객들의 여행지에서의 활동횟수
TF Data 내 모든 개인이 방문한 여행지 수
개인들이 지역에 방문한 횟수
IDF 특정 지역 여행 방문 횟수
전체 여행 방문 횟수
log
새롭게 정의한 TF-IDF값을 관광 DATA에 적용
여행객간의 유사도 여행지에서의 활동
ID당 여행지 방문 횟수 여행객간의 유사도
18. 18
관광 DATA에서의 TF-IDF 적용
모형에서는 test error rate가 낮은 임계값을 선택하였
지만, 경우에 따라서 민감도와 특이도중 더 중요하게
여기는 요소가 있다면 변경 될 수 있다.
예)
SIM값의 임계값을 어떻게 설정할 것인가?
- 3가지 기준
민감도(sensitivity) : 식별된 방문자의 비율
543/6,218 = 8.73%
특이도(specificity) : 식별된 방문자가 아닌 사람의 비율
761/10,674=7.13%
Test error rate : 잘못 식별할 비율
(9,913+5,675)/16,892 = 92.28%
방문 미방문 Total
추천 543 9,913 10,456
비추천 5,675 761 6,436
Total 6,218 10,674 16,892
19. 19
사용자 기반의 협업 필터링2
내가 이전에 구매했던 항목을 기반으로 그 상품과 연관성
이 있는 다른 상품을 추천하는 기법
추천
X = 𝑈𝑆𝑉 𝑇
- 특이값 분해(Singular Value Decomposition)
케빈
밥
스튜어트
5
4
1
5
1
5
5
4
2
관광 DATA에서의 사용자 기반의 협업 필터링2
2 : 평가점수
U = 𝑋𝑋 𝑇
의 고유벡터들을 구해 고유값이 큰 순서에 따라
차례로 쌓는다. 이렇게 구해진 행렬을 직교행렬로 바꾼다.
V = U의 행렬에서 𝑋𝑋 𝑇
를 𝑋 𝑇
𝑋로 대체하여 과정을 수행
한 것
S = U와 V의 음이 아닌 고유값은 항상 같은데 이에 제곱
근을 취해서 큰 순서대로 대각에 위치시킨 것
활용알고리즘
20. 20
관광 DATA에서의 사용자 기반의 협업 필터링2
예) 다음과 같은 만족도 정보가 있다.
→관광객2는 보령을 선호할까? 진해를 선호할까?
해운대 보령 전주 진해
관광객1 1 2 8 10
관광객2 10 0 8 0
관광객3 8 9 9 2
관광객4 4 5 9 7
X =
1 2
10
8
4
0
9
5
8 10
8
9
9
0
2
7
빈 공간에 관광객2의 평균을 집어넣는다. ((10+8)/2 = 9)
X =
1 2
10
8
4
9
9
5
8 10
8
9
9
9
2
7
각각을 정규화 시켜준다. ((x-평균)/표준편차)
X 𝑠𝑡𝑑 =
−0.9604 −0.7344
1.2247
0.2970
−1.015
0
0.5941
−0.5637
0.6214 1.0733
−1.2247
0.5941
1.2402
0
−1.4852
0.3382
U
0.5764 0.2852
−0.5210
−0.2294
0.5863
0.4393
−0.8248
−0.2128
V
−0.6520 0.1212
−0.3129
0.5579
0.4070
−0.2987
−0.5747
0.7522
D
2.8445 0
0 1.9399
U × D × VT
계산 후 정규화를 풀어준다.
U × D × VT
=
0.8159 2.2480
9.8732
7.7797
3.7280
9.1708
9.2967
5.3663
7.8911 10.045
7.9250
8.8697
8.8392
9.0310
2.0538
7.0664
→관광객2는 진해보다 보령을 더 선호할 것이다.
→
특이값 분해를 시행하여 주성분4개중 2개만 사용하여 평균값을 넣
은 값들을 평가정보가 유사한 관광객의 평가점수로 근사화 시킨다.
21. 21
3가지 추천 시스템 결합 – COUNT MATRIX와 평점 MATRIX
지역평가점수를 종합한 행렬
방문횟수를 통한 여행객간의 유사도
COUNT MATRIX
평점MATRIX
여행지에서의 활동을 통한 유사도
COUNT MATRIX
표준화 + 가중
최종 모델 구축
3가지 추천 시스템은 COUNT MATRIX와 평점MATRIX형식으로 나뉘어 지는데,
표준화를 통하여 동일한 기준을 부여, 가중치를 주어 최적의 모형 구축
W𝑗=
𝑋𝑗,𝑖 − 𝑋𝑗
𝑠𝑑(𝑋𝑗)
× 𝜔𝑗
𝑋1,𝑖
𝑋2,𝑖
𝑋3,𝑖
𝑖𝑓(𝑊1,𝑖 +𝑊2,𝑖 +𝑊3,𝑖 > 1.8 지역 = 지역𝑖
recommend
𝑒𝑙𝑠𝑒
𝑛𝑜𝑡 𝑟𝑒𝑐𝑜𝑚𝑚𝑒𝑛𝑑
23. 23
결론 - 최종모형
활동유형별 방문지역별 평가 점수별
가중치 ½ ¼ ¼
최종 모형
민감도 : 31.05%
특이도 : 6.72%
Test error rate : 89.31%
활동유형별 유사도 기준
방문 지역별 유사도 기준
평가점수 축소 주성분 비율
0.3
0.2
50/231
가중 비율
좌측 모형은 여러모형중 하나일 뿐이며
기준 값을 달리하여 각각 상황에 맞는
최적의 모형을 찾을 수 있다.
sim1 sim2 dim 민감도 특이도 Test error rate
0.3 0.2 60 33.72 6.08 90.02
0.3 0.2 50 31.05 6.72 89.31
0.4 0.1 50 21.28 8.34 89.40
24. 24
맞춤 서비스 여행정보 제공 방법 및 기대효과
여행정보 제공 방법
문자 메세지
이메일
조금 더 신중하고 정확성을 높인 기준을 적용하여 맞춤 여행정보를 제공함
많은 정보를 담을 수 있기 때문에, 유행지에 대한 관광 정보를 함께 보내서
관광객의 흥미를 유발 할 수 있도록 한다.
기대효과
수많은 여행정보를 다 고려하는 것은 시간과 비용이 많이 소요된다.
자신에게 가장 알맞은 여행정보를 제공하면 시간과 비용을 절약 할 수 있을 뿐 아니라
더욱 합리적인 선택에 도움이 될 것 이다.
25. 25
결론 – 시사점 및 한계점
시사점
한계점
추천 시스템으로서 사람들의 신뢰를 얻는다면, 더 많은 사용자의 정보를 받을 수 있을 것이고, 더욱
정교한 추천 시스템을 만들 수 있을 것이다. 또한 이렇게 사용자들의 수집된 data는 경제 활성화 등
다양한 방면에서 유용하게 쓰일 것 이다.
이외에도 더 많은 정보가 있다면, 더욱 유의미한 유사도를 구해 정교한 추천을 해 낼 수 있을 것이다.
추천에 의한 error값이 아닌 2014년의 여행정보를 추천한 지역에 대한
응답으로 가상 fitting하였기 때문에, 높은 예측값을 얻지는 못하였다.
특이값 분해를 통한 협업 필터링을 통해 cross장르 문제도 해결 해낼 수 있었다.
26. 26
추가 마케팅 활용 방안 – SNS마케팅
전주의 SNS에 의한 방문객 증가 사례
국내 SNS 이용자가 15년을 기준으로 페이스북은 1500만,
인스타그램은 800만 이용. 트위터 및 기타 서비스를 포함
하면 훨씬 많은 인구가 이용할 것 이라고 예측됨.
분석 결과 13년도에 비해 14년도 전주 방문객수가
급증 하였음.
마케팅 전략
SNS에 여행지에 대한 풍경을 배경으로한 사진 인증 시 지
역음식점 가격 할인 및 소정의 관광상품 증정
EX) 많은 음식점에서 음식 SNS인증 시 가격할인 등을
해주고 있음.
0
50
100
2011 2012 2013 2014
연도별 전주 방문객
SNS와 블로그 등 에서 한옥마을 언급이 증가함을 알 수
있음.
27. 27
추가 마케팅 활용 방안 – 국제 박람회 개최
국제박람회 개최로 인한 방문객 증가 사례 마케팅 전략
0
100
200
300
400
2011 2012 2013 2014
연도별 여수, 순천 방문객
순천
여수
2012 여수 세계엑스포, 2013 순천 국제정원박람회 개최로 인
한 방문객의 급격한 증가를 확인 할 수 있음.
개최 이후에도 꾸준한 관광객 수의 증가가 이루어짐.
1회성이 아닌 지속적인 관리를 통해 꾸준한 관광객 확보
지역의 특색을 살린 국제 박람회 개최, 단순한
1회성이 아닌 꾸준한 관리로 평균 방문객의 증가
MICE산업이 대한민국의 새로운 성장 동력으로 떠오르고 있음.
MICE참가자들은 1인당 평균 소비액은 일반관광객의 3배,
체류기간은 1.4배에 달한다. MICE로 오는 관광객 1명이 일
반 관광객 3명과 맞먹는 효과를 지님
28. 28
REFERENCE
An Introduction to Statistical Learning with Applications in R – Gareth James
Recommendation System : 협업 필터링을 중심으로 – 김민환(카이스트 전산학과 응용알고리즘 연구실)
http://rosaec.snu.ac.kr/meet/file/20120728b.pdf
TF-IDF에 대한 정의 및 예시 – 삼성소프틍웨어 멤버쉽 http://blog.secmem.org/670
국제박람회 개최로 인한 방문객 증가 사례
http://www.pollmedia.net/news/articleView.html?idxno=1625
http://news.mt.co.kr/mtview.php?no=2015072113163261978