SlideShare a Scribd company logo
데이터 사이언스 SCHOOL
프로젝트 목표
- 문제인식: [사진1]과 같이 긍정 리뷰내의 부정적인 평가 존재
이러한 현상의 원인은 맛집을 평가하는 요소가 다양하기 때문이라고 판단
맛집의 속성별로 리뷰를 파악하는 방법이 없음에 문제를 느낌
[사진 1. 맛집의 속성별로 긍.부정적 평가가 혼재되어 이루어지는 예]
- 해결 방안: 자연어 처리 기술(NLP)로 리뷰를 분석하여
맛집을 평가하는 속성인, “ 맛. 분위기. 서비스. 가성비. 재방문의사”, 로
음식점을 재평가해본다
맛집 리뷰로 속성별 감성 분석하기
개인 project / 2016.03~ 2016.04
포트폴리오 개요
Source Code: https://github.com/haesoly/estimate_review_of_restaurant
- 프로젝트 목표
- Workflow
- 분석 과정
- 결과 화면
데이터 사이언스 SCHOOL
Workflow
①. 크롤링: Selenium 패키지
- M 맛집 검색 사이트에서 2112개의 음식점의
35000개 이상의 리뷰 크롤링
②. AWS서버내의 Mongodb, Redis에 DB저장
①. konlpy패키지의 twitter 형태소 분석기 이용해
리뷰 stemming
②. CountVectorizer 이용해 BOW방식으로 인코딩
③. 어절 N-gram 사용
①. LDA 로 속성별 키워드 선정
②. 키워드가 포함된 N-gram 추출
③. CountVectorizer, anova분석 이용해
속성별 긍/부정 감정 단어 구하기
①. 수동으로 속성별 긍/부정 언급을 구한뒤
분석 결과와 비교하여 성능 평가
Data구하기
전처리
분석
검증
데이터 사이언스 SCHOOL
분석 과정 1. 키워드 추출
LDA를(Latent Dirichlet Allocation) 이용해 토픽별 (맛, 분위기, 서비스, 가성비,
재방문의사) 키워드를 구하기
[사진 2]는 가성비와 관련한 단어들을 LDA로 구한 것이다. 이를 통해 ‘양’, ‘가격대비’,’
가격’, ‘가성비’라는 키워드를 뽑아낼 수 있다.
● ISSUE
맛에 관한 키워드를 뽑아내는데, 그 수가 무한대에 가까워 위와 같은 방법을 활용하는데
어려움이 있었다
ex) 파스타, 피자, 샐러드, 팟타이…
해결 방안 : 키워드를 먼저 뽑아내고, 그것에 대한 감정단어를 찾아내는 방식 대신
맛에 대한 감정단어를 먼저 찾았다
[사진 2. LDA를 활용한 토픽 모델링의 예]
대부분의 감정 단어가
-가 없다/ -하지 않다/ 안 - 형태로 표현할 수 있는 단어라는 것을 발견
[사진 3]과 같은 방식으로, 해당 패턴의 구문을 찾은뒤,
CountVectorizer로 많이 언급된 맛 표현 감정단어를 찾을 수 있었다
[사진 3. 맛 표현 감정단어 찾기 ]
데이터 사이언스 SCHOOL
분석 과정 2. 속성별 감정단어 찾기
대부분의 긍.부정 언급이
“keyword가 정말 -하다”, “keyword가 -하지 않다” 와 같은 형태의 3-gram형태
혹은, “-한 keyword 와 같은 2-gram형태로 이루어진다는 것을 발견
-> N-gram내에서 keyword와 함께 자주 언급되는 단어를 찾아, 속성별 감정 단어를 구함
분석 과정 3. 부정어 처리
'안','않','못','없','아닌','아니' 와 같은
부정 단어가 나오면
긍정 단어 -> 부정으로
긍정 단어 -> 긍정으로
감정 변환함
[사진 4. 키워드별 N-gram 구하기]
[사진 5. 부정어 처리]
데이터 사이언스 SCHOOL
결과 화면
- 서울시내의 250개 음식점을 평가
총 리뷰가 50개 이상인 음식점을 분석 대상으로 함 (일정길이 이하인 리뷰는 제외)
[사진6. 음식점별로 속성별 감정지수 파악] [사진7. 리뷰별 감정 분석]
[사진8. 감정분석 결과 시각화]

More Related Content

What's hot

Algorithm Experience Design
Algorithm Experience DesignAlgorithm Experience Design
Algorithm Experience Design
Seoul National University
 
서비스 기획자를 위한 데이터분석 시작하기
서비스 기획자를 위한 데이터분석 시작하기서비스 기획자를 위한 데이터분석 시작하기
서비스 기획자를 위한 데이터분석 시작하기
승화 양
 
통신서비스 온라인 채널 UX 디자인 사례 by rightbrain
통신서비스 온라인 채널 UX 디자인 사례 by rightbrain통신서비스 온라인 채널 UX 디자인 사례 by rightbrain
통신서비스 온라인 채널 UX 디자인 사례 by rightbrain
Rightbrain UX1 Consulting group
 
일관된 브랜드 경험을 주는 플랫폼 만들기.pdf
일관된 브랜드 경험을 주는 플랫폼 만들기.pdf일관된 브랜드 경험을 주는 플랫폼 만들기.pdf
일관된 브랜드 경험을 주는 플랫폼 만들기.pdf
Tac Min Oh
 
바스버거 브랜드북
바스버거 브랜드북바스버거 브랜드북
바스버거 브랜드북
JoohyunPark25
 
데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스
데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스
데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스
Minwoo Kim
 
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
Lee Seungeun
 
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA) 오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
Yongho Ha
 
[IGC2018] 유영천 개발자 - Voxel기반 네트워크 게임 최적화기법
[IGC2018] 유영천 개발자 - Voxel기반 네트워크 게임 최적화기법[IGC2018] 유영천 개발자 - Voxel기반 네트워크 게임 최적화기법
[IGC2018] 유영천 개발자 - Voxel기반 네트워크 게임 최적화기법
강 민우
 
Amazon Item-to-Item Recommendations
Amazon Item-to-Item RecommendationsAmazon Item-to-Item Recommendations
Amazon Item-to-Item Recommendations
Roger Chen
 
Step 3: How To Write Your Content
Step 3: How To Write Your ContentStep 3: How To Write Your Content
Step 3: How To Write Your Content
RealFreeWebsites.com
 
Recommender Systems in E-Commerce
Recommender Systems in E-CommerceRecommender Systems in E-Commerce
Recommender Systems in E-Commerce
Roger Chen
 
데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.
Yongho Ha
 
게임 개발에 자주 사용되는 디자인 패턴
게임 개발에 자주 사용되는 디자인 패턴게임 개발에 자주 사용되는 디자인 패턴
게임 개발에 자주 사용되는 디자인 패턴
예림 임
 
טיפוח והגנה על עור הפנים - בגיל ההתבגרות
טיפוח והגנה על עור הפנים - בגיל ההתבגרותטיפוח והגנה על עור הפנים - בגיל ההתבגרות
טיפוח והגנה על עור הפנים - בגיל ההתבגרות
רונית שגב
 
The Sight in a mirror 게임 개발 기술문서
The Sight in a mirror 게임 개발 기술문서The Sight in a mirror 게임 개발 기술문서
The Sight in a mirror 게임 개발 기술문서
ssuser641680
 
알면 알수록 어려운 서비스 기획 뽀개기_2020
알면 알수록 어려운 서비스 기획 뽀개기_2020알면 알수록 어려운 서비스 기획 뽀개기_2020
알면 알수록 어려운 서비스 기획 뽀개기_2020
YOO SE KYUN
 
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [시켜줘, 보아즈 명예경찰관] : 보이스피싱 탐지 알고리즘
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [시켜줘, 보아즈 명예경찰관] : 보이스피싱 탐지 알고리즘제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [시켜줘, 보아즈 명예경찰관] : 보이스피싱 탐지 알고리즘
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [시켜줘, 보아즈 명예경찰관] : 보이스피싱 탐지 알고리즘
BOAZ Bigdata
 
충돌 알고리즘(collision detection algorithms)
충돌 알고리즘(collision detection algorithms)충돌 알고리즘(collision detection algorithms)
충돌 알고리즘(collision detection algorithms)
ssuserbe87d6
 
제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [리뷰의 재발견 팀] : 이커머스 리뷰 유용성 파악 및 필터링
제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [리뷰의 재발견 팀] : 이커머스 리뷰 유용성 파악 및 필터링제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [리뷰의 재발견 팀] : 이커머스 리뷰 유용성 파악 및 필터링
제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [리뷰의 재발견 팀] : 이커머스 리뷰 유용성 파악 및 필터링
BOAZ Bigdata
 

What's hot (20)

Algorithm Experience Design
Algorithm Experience DesignAlgorithm Experience Design
Algorithm Experience Design
 
서비스 기획자를 위한 데이터분석 시작하기
서비스 기획자를 위한 데이터분석 시작하기서비스 기획자를 위한 데이터분석 시작하기
서비스 기획자를 위한 데이터분석 시작하기
 
통신서비스 온라인 채널 UX 디자인 사례 by rightbrain
통신서비스 온라인 채널 UX 디자인 사례 by rightbrain통신서비스 온라인 채널 UX 디자인 사례 by rightbrain
통신서비스 온라인 채널 UX 디자인 사례 by rightbrain
 
일관된 브랜드 경험을 주는 플랫폼 만들기.pdf
일관된 브랜드 경험을 주는 플랫폼 만들기.pdf일관된 브랜드 경험을 주는 플랫폼 만들기.pdf
일관된 브랜드 경험을 주는 플랫폼 만들기.pdf
 
바스버거 브랜드북
바스버거 브랜드북바스버거 브랜드북
바스버거 브랜드북
 
데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스
데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스
데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스
 
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
 
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA) 오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
 
[IGC2018] 유영천 개발자 - Voxel기반 네트워크 게임 최적화기법
[IGC2018] 유영천 개발자 - Voxel기반 네트워크 게임 최적화기법[IGC2018] 유영천 개발자 - Voxel기반 네트워크 게임 최적화기법
[IGC2018] 유영천 개발자 - Voxel기반 네트워크 게임 최적화기법
 
Amazon Item-to-Item Recommendations
Amazon Item-to-Item RecommendationsAmazon Item-to-Item Recommendations
Amazon Item-to-Item Recommendations
 
Step 3: How To Write Your Content
Step 3: How To Write Your ContentStep 3: How To Write Your Content
Step 3: How To Write Your Content
 
Recommender Systems in E-Commerce
Recommender Systems in E-CommerceRecommender Systems in E-Commerce
Recommender Systems in E-Commerce
 
데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.
 
게임 개발에 자주 사용되는 디자인 패턴
게임 개발에 자주 사용되는 디자인 패턴게임 개발에 자주 사용되는 디자인 패턴
게임 개발에 자주 사용되는 디자인 패턴
 
טיפוח והגנה על עור הפנים - בגיל ההתבגרות
טיפוח והגנה על עור הפנים - בגיל ההתבגרותטיפוח והגנה על עור הפנים - בגיל ההתבגרות
טיפוח והגנה על עור הפנים - בגיל ההתבגרות
 
The Sight in a mirror 게임 개발 기술문서
The Sight in a mirror 게임 개발 기술문서The Sight in a mirror 게임 개발 기술문서
The Sight in a mirror 게임 개발 기술문서
 
알면 알수록 어려운 서비스 기획 뽀개기_2020
알면 알수록 어려운 서비스 기획 뽀개기_2020알면 알수록 어려운 서비스 기획 뽀개기_2020
알면 알수록 어려운 서비스 기획 뽀개기_2020
 
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [시켜줘, 보아즈 명예경찰관] : 보이스피싱 탐지 알고리즘
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [시켜줘, 보아즈 명예경찰관] : 보이스피싱 탐지 알고리즘제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [시켜줘, 보아즈 명예경찰관] : 보이스피싱 탐지 알고리즘
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [시켜줘, 보아즈 명예경찰관] : 보이스피싱 탐지 알고리즘
 
충돌 알고리즘(collision detection algorithms)
충돌 알고리즘(collision detection algorithms)충돌 알고리즘(collision detection algorithms)
충돌 알고리즘(collision detection algorithms)
 
제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [리뷰의 재발견 팀] : 이커머스 리뷰 유용성 파악 및 필터링
제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [리뷰의 재발견 팀] : 이커머스 리뷰 유용성 파악 및 필터링제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [리뷰의 재발견 팀] : 이커머스 리뷰 유용성 파악 및 필터링
제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [리뷰의 재발견 팀] : 이커머스 리뷰 유용성 파악 및 필터링
 

Similar to [패스트캠퍼스]맛집 리뷰로 속성별 감성 분석하기

Beyond post it
Beyond post itBeyond post it
Beyond post it
Yoojung Kim
 
Beyond post it snuux
Beyond post it snuuxBeyond post it snuux
Beyond post it snuux
Seoul National University
 
Bms petpick project
Bms petpick projectBms petpick project
Bms petpick project
Soojung Kim
 
13강 기업교육론 20110603
13강 기업교육론 2011060313강 기업교육론 20110603
13강 기업교육론 20110603
조현경
 
13강 기업교육론 20110603
13강 기업교육론 2011060313강 기업교육론 20110603
13강 기업교육론 20110603
조현경
 
한림대학교 석세스모델링 by. 온라인브랜드디렉터강정은
한림대학교 석세스모델링 by. 온라인브랜드디렉터강정은한림대학교 석세스모델링 by. 온라인브랜드디렉터강정은
한림대학교 석세스모델링 by. 온라인브랜드디렉터강정은
JUNGEUN KANG
 
Visual Research_ 121678 KyungA Park
Visual Research_ 121678 KyungA ParkVisual Research_ 121678 KyungA Park
Visual Research_ 121678 KyungA Park
경아 박
 
Uxstudy persona
Uxstudy personaUxstudy persona
Uxstudy persona
jayoung koo
 
디마스 포트폴리오 2
디마스 포트폴리오 2디마스 포트폴리오 2
디마스 포트폴리오 2
moon-young
 
12 해결한 도출
12 해결한 도출12 해결한 도출
12 해결한 도출humana12
 
급변하는 소셜미디어 환경, 흥하는 콘텐츠 기획법
급변하는 소셜미디어 환경, 흥하는 콘텐츠 기획법급변하는 소셜미디어 환경, 흥하는 콘텐츠 기획법
급변하는 소셜미디어 환경, 흥하는 콘텐츠 기획법
Jay Cho
 
기획형 리서치
기획형 리서치기획형 리서치
기획형 리서치
Hyun-june Kwon
 
300프로젝트 특강3 온라인브랜드디렉터 강정은 블로그AtoZ
300프로젝트 특강3  온라인브랜드디렉터 강정은 블로그AtoZ300프로젝트 특강3  온라인브랜드디렉터 강정은 블로그AtoZ
300프로젝트 특강3 온라인브랜드디렉터 강정은 블로그AtoZ
JUNGEUN KANG
 
Ass 10.10 ideo hcd h
Ass 10.10 ideo hcd hAss 10.10 ideo hcd h
Ass 10.10 ideo hcd hYoung Choi
 
발표자료 1인qa로살아남는6가지방법
발표자료 1인qa로살아남는6가지방법발표자료 1인qa로살아남는6가지방법
발표자료 1인qa로살아남는6가지방법
SangIn Choung
 
Hook model
Hook modelHook model
Hook model
Jong taek OH
 
온라인 서비스 개선을 데이터 활용법 - 김진영 (How We Use Data)
온라인 서비스 개선을 데이터 활용법  - 김진영 (How We Use Data)온라인 서비스 개선을 데이터 활용법  - 김진영 (How We Use Data)
온라인 서비스 개선을 데이터 활용법 - 김진영 (How We Use Data)
Jin Young Kim
 
[우리가 데이터를 쓰는 법] 온라인 서비스 개선을 위한 데이터 활용법 - 마이크로소프트 김진영 데이터과학자
[우리가 데이터를 쓰는 법] 온라인 서비스 개선을 위한 데이터 활용법 - 마이크로소프트 김진영 데이터과학자[우리가 데이터를 쓰는 법] 온라인 서비스 개선을 위한 데이터 활용법 - 마이크로소프트 김진영 데이터과학자
[우리가 데이터를 쓰는 법] 온라인 서비스 개선을 위한 데이터 활용법 - 마이크로소프트 김진영 데이터과학자
Dylan Ko
 
Website Benchmarking3
Website Benchmarking3Website Benchmarking3
Website Benchmarking3junhozzang
 
박영만 강사 자기 PR 홍보마케팅 브랜드 비법 83p 강의용
박영만 강사 자기 PR 홍보마케팅 브랜드 비법 83p 강의용박영만 강사 자기 PR 홍보마케팅 브랜드 비법 83p 강의용
박영만 강사 자기 PR 홍보마케팅 브랜드 비법 83p 강의용
마케팅홍보연구소
 

Similar to [패스트캠퍼스]맛집 리뷰로 속성별 감성 분석하기 (20)

Beyond post it
Beyond post itBeyond post it
Beyond post it
 
Beyond post it snuux
Beyond post it snuuxBeyond post it snuux
Beyond post it snuux
 
Bms petpick project
Bms petpick projectBms petpick project
Bms petpick project
 
13강 기업교육론 20110603
13강 기업교육론 2011060313강 기업교육론 20110603
13강 기업교육론 20110603
 
13강 기업교육론 20110603
13강 기업교육론 2011060313강 기업교육론 20110603
13강 기업교육론 20110603
 
한림대학교 석세스모델링 by. 온라인브랜드디렉터강정은
한림대학교 석세스모델링 by. 온라인브랜드디렉터강정은한림대학교 석세스모델링 by. 온라인브랜드디렉터강정은
한림대학교 석세스모델링 by. 온라인브랜드디렉터강정은
 
Visual Research_ 121678 KyungA Park
Visual Research_ 121678 KyungA ParkVisual Research_ 121678 KyungA Park
Visual Research_ 121678 KyungA Park
 
Uxstudy persona
Uxstudy personaUxstudy persona
Uxstudy persona
 
디마스 포트폴리오 2
디마스 포트폴리오 2디마스 포트폴리오 2
디마스 포트폴리오 2
 
12 해결한 도출
12 해결한 도출12 해결한 도출
12 해결한 도출
 
급변하는 소셜미디어 환경, 흥하는 콘텐츠 기획법
급변하는 소셜미디어 환경, 흥하는 콘텐츠 기획법급변하는 소셜미디어 환경, 흥하는 콘텐츠 기획법
급변하는 소셜미디어 환경, 흥하는 콘텐츠 기획법
 
기획형 리서치
기획형 리서치기획형 리서치
기획형 리서치
 
300프로젝트 특강3 온라인브랜드디렉터 강정은 블로그AtoZ
300프로젝트 특강3  온라인브랜드디렉터 강정은 블로그AtoZ300프로젝트 특강3  온라인브랜드디렉터 강정은 블로그AtoZ
300프로젝트 특강3 온라인브랜드디렉터 강정은 블로그AtoZ
 
Ass 10.10 ideo hcd h
Ass 10.10 ideo hcd hAss 10.10 ideo hcd h
Ass 10.10 ideo hcd h
 
발표자료 1인qa로살아남는6가지방법
발표자료 1인qa로살아남는6가지방법발표자료 1인qa로살아남는6가지방법
발표자료 1인qa로살아남는6가지방법
 
Hook model
Hook modelHook model
Hook model
 
온라인 서비스 개선을 데이터 활용법 - 김진영 (How We Use Data)
온라인 서비스 개선을 데이터 활용법  - 김진영 (How We Use Data)온라인 서비스 개선을 데이터 활용법  - 김진영 (How We Use Data)
온라인 서비스 개선을 데이터 활용법 - 김진영 (How We Use Data)
 
[우리가 데이터를 쓰는 법] 온라인 서비스 개선을 위한 데이터 활용법 - 마이크로소프트 김진영 데이터과학자
[우리가 데이터를 쓰는 법] 온라인 서비스 개선을 위한 데이터 활용법 - 마이크로소프트 김진영 데이터과학자[우리가 데이터를 쓰는 법] 온라인 서비스 개선을 위한 데이터 활용법 - 마이크로소프트 김진영 데이터과학자
[우리가 데이터를 쓰는 법] 온라인 서비스 개선을 위한 데이터 활용법 - 마이크로소프트 김진영 데이터과학자
 
Website Benchmarking3
Website Benchmarking3Website Benchmarking3
Website Benchmarking3
 
박영만 강사 자기 PR 홍보마케팅 브랜드 비법 83p 강의용
박영만 강사 자기 PR 홍보마케팅 브랜드 비법 83p 강의용박영만 강사 자기 PR 홍보마케팅 브랜드 비법 83p 강의용
박영만 강사 자기 PR 홍보마케팅 브랜드 비법 83p 강의용
 

[패스트캠퍼스]맛집 리뷰로 속성별 감성 분석하기

  • 1. 데이터 사이언스 SCHOOL 프로젝트 목표 - 문제인식: [사진1]과 같이 긍정 리뷰내의 부정적인 평가 존재 이러한 현상의 원인은 맛집을 평가하는 요소가 다양하기 때문이라고 판단 맛집의 속성별로 리뷰를 파악하는 방법이 없음에 문제를 느낌 [사진 1. 맛집의 속성별로 긍.부정적 평가가 혼재되어 이루어지는 예] - 해결 방안: 자연어 처리 기술(NLP)로 리뷰를 분석하여 맛집을 평가하는 속성인, “ 맛. 분위기. 서비스. 가성비. 재방문의사”, 로 음식점을 재평가해본다 맛집 리뷰로 속성별 감성 분석하기 개인 project / 2016.03~ 2016.04 포트폴리오 개요 Source Code: https://github.com/haesoly/estimate_review_of_restaurant - 프로젝트 목표 - Workflow - 분석 과정 - 결과 화면
  • 2. 데이터 사이언스 SCHOOL Workflow ①. 크롤링: Selenium 패키지 - M 맛집 검색 사이트에서 2112개의 음식점의 35000개 이상의 리뷰 크롤링 ②. AWS서버내의 Mongodb, Redis에 DB저장 ①. konlpy패키지의 twitter 형태소 분석기 이용해 리뷰 stemming ②. CountVectorizer 이용해 BOW방식으로 인코딩 ③. 어절 N-gram 사용 ①. LDA 로 속성별 키워드 선정 ②. 키워드가 포함된 N-gram 추출 ③. CountVectorizer, anova분석 이용해 속성별 긍/부정 감정 단어 구하기 ①. 수동으로 속성별 긍/부정 언급을 구한뒤 분석 결과와 비교하여 성능 평가 Data구하기 전처리 분석 검증
  • 3. 데이터 사이언스 SCHOOL 분석 과정 1. 키워드 추출 LDA를(Latent Dirichlet Allocation) 이용해 토픽별 (맛, 분위기, 서비스, 가성비, 재방문의사) 키워드를 구하기 [사진 2]는 가성비와 관련한 단어들을 LDA로 구한 것이다. 이를 통해 ‘양’, ‘가격대비’,’ 가격’, ‘가성비’라는 키워드를 뽑아낼 수 있다. ● ISSUE 맛에 관한 키워드를 뽑아내는데, 그 수가 무한대에 가까워 위와 같은 방법을 활용하는데 어려움이 있었다 ex) 파스타, 피자, 샐러드, 팟타이… 해결 방안 : 키워드를 먼저 뽑아내고, 그것에 대한 감정단어를 찾아내는 방식 대신 맛에 대한 감정단어를 먼저 찾았다 [사진 2. LDA를 활용한 토픽 모델링의 예] 대부분의 감정 단어가 -가 없다/ -하지 않다/ 안 - 형태로 표현할 수 있는 단어라는 것을 발견 [사진 3]과 같은 방식으로, 해당 패턴의 구문을 찾은뒤, CountVectorizer로 많이 언급된 맛 표현 감정단어를 찾을 수 있었다 [사진 3. 맛 표현 감정단어 찾기 ]
  • 4. 데이터 사이언스 SCHOOL 분석 과정 2. 속성별 감정단어 찾기 대부분의 긍.부정 언급이 “keyword가 정말 -하다”, “keyword가 -하지 않다” 와 같은 형태의 3-gram형태 혹은, “-한 keyword 와 같은 2-gram형태로 이루어진다는 것을 발견 -> N-gram내에서 keyword와 함께 자주 언급되는 단어를 찾아, 속성별 감정 단어를 구함 분석 과정 3. 부정어 처리 '안','않','못','없','아닌','아니' 와 같은 부정 단어가 나오면 긍정 단어 -> 부정으로 긍정 단어 -> 긍정으로 감정 변환함 [사진 4. 키워드별 N-gram 구하기] [사진 5. 부정어 처리]
  • 5. 데이터 사이언스 SCHOOL 결과 화면 - 서울시내의 250개 음식점을 평가 총 리뷰가 50개 이상인 음식점을 분석 대상으로 함 (일정길이 이하인 리뷰는 제외) [사진6. 음식점별로 속성별 감정지수 파악] [사진7. 리뷰별 감정 분석] [사진8. 감정분석 결과 시각화]