brunch

매거진 필살공부

You can make anything
by writing

C.S.Lewis

by PostItLover Jan 20. 2016

피키캐스트 데이터 사이언스 이야기

 @2016.01.15 @MARU180

피키캐스트의 “탈” 우주적 데이터 사이언스팀으로 부터 직접 듣는 꿀팁 강의 후기


강연정보

강연정보 : http://www.fastcampus.co.kr/pikicast_seminar_160115/
강의시간 : 2016.01.14 금 20:00~21:30

강의장소 : 마루180 지하 1층


강사정보

강사 : 강지훈 피키캐스트 데이터사이언스실 실장님

(이미지 출처 : http://www.itdaily.kr/news/articleView.html?idxno=68213)

강사 소개자료   : http://www.zdnet.co.kr/news/news_view.asp?artice_id=20151029171530

                         : http://www.itdaily.kr/news/articleView.html?idxno=68213


강의 포스터

: 마루180에서 진행된 강의실 앞 안내 포스터


패스트 캠퍼스 (Fast Campus) 소개

: 미국의 코드리엑트 등의 여러가지 신기술에 관련된 기술을 단기간 과정 (4~10주 등)을 통해서 배울 수 있는 기회를 제공하는 패스트캠퍼스


피키캐스트 소개

: 강지훈 피키캐스트 데이터 사이언스 실장님 등장


피키캐스트 성과 공개

600만 MAU (Monthly Active Users) : 월간 순 방문자

150만 DAU (Daily Active Users) : 일간 순 방문자


피키캐스트 데이터 사이언스팀 History

: 2015년 3월 피키캐스트 데이터 사이언스팀을 꾸린 후 여러가지 방법을 통해 이전에 있던 시스템을 개선하고 보다 최적화하셨습니다.


데이터 사이언스팀 멤버 구성

: 다양한 전공+경력

: 데이터 엔지니어링, 시스템 운영, 기획, 모델링, 피쳐 발굴


데이터사이언스팀이 하는 일

: 데이터 사이언스팀은 크게 다음 4가지의 업무를 한다고 합니다.

     1. Preparing

     2. Model과 Feature

     3. 시스템

     4. Business Intelligence / Dashboard



[본격적인 데이터 사이언스 정보 공개]


1. Preparing

1) Log Format

: 유저에 대한 데이터가 없을 시 데이터를 모으는 일이 1순위라고 합니다.

: 시스템 구축을 위한 노력으로 여러가지가 있는데 11번째 슬라이드에서는 Log Format 에 대해 다뤄주셨습니다.

: 로그를 잘 꾸리기위해 사용하는 툴과 예시를 잘 들어 설명해주셨습니다.


2) Redirecting URL

: 유저에 대한 정보를 파악하기 위해 일단 급한대로 공유주소 안에 “r.”이라는 싸인을 남겨 유저들의 공유로그를 작성할 수 있게되었습니다.

: 역시나 사용툴에 대한 설명 또한 포함되어있습니다.


피키 데이터로 머신러닝하기

대용량의 피키 데이터를 유용한 데이터로 만드는데 필요한 엔지니어링 과정이 적혀있습니다.


2. Model 과 Feature

Models and Algorithms

모델, 알고리즘을 위한 여러가지 기술명들입니다.

Model 과 Feature에 대한 간략한 소개도 함께 해주셨습니다.

빅데이터 기술로 구성, 대용량 데이터의 품질 및 FEATURE 엔지니어링 과정  

    1) Model : y값 을 설정한다.

    2) Feature : x값

    3) 예시 :  y=품질 (Model) -> x=댓글, 뷰수, 체류시간 (Feature)


데이터 vs 모델 무엇이 더 중요한가?

-> 콘텐츠의 품질을 분류하는 작업을 위해

: 어떤 사람들이 쓸까? vs 어떤 콘텐츠를 만들어야할까? 등

: 우선순위를 두는 것이 어렵지만, 하나를 택해 테스팅하는 것이 중요하다고 하셨습니다.



피키 데이터사이언티스트들이 이야기하는 꿀팁1

: “잘 만든 피쳐”들은 고도화된 모델보다 “때로는 낫다"

: *모델에 집중하지 않는게 서비스하는데 더 중요한 것 같다.


베이지안 네트워크 모델

: 유저의 행동(클릭)으로 부터 만족도(흥미)를 추론하는 과정

e는 모여진 것

c는 클릭한 것

s는 만족을 느낀것

a는 관심이 가는 것


분리를 위한 이론적 모델

유저가 한 콘텐츠를 봤을 때 상품이 낚시를 통해서 온 것진 진짜 관심있어서 온것인지?를 파악하는 것이 중요하다.


Matrix Factorization Model

: 추천 내 협업 필터링 모형

: 유저가 콘텐츠를 이용하는데에서 나오는 여러가지 사인(뷰시간, 클릭수)등을 수치화하여 콘텐츠에 대한 랭킹을 정한다고 합니다.


시의성 모델

: 콘텐츠의 시의성(시의적절함)을 판단

: 콘텐츠별로 내용에 달라서 콘텐츠의 나이를 예측한다.  

사용자의 최근 접속일자를 이용해서 콘텐츠의 생명주기를 판단. (1주일 후엔 인기가 없어진다.)


에디터 모델

: 시간에 따른 인기도, 성과 변화를 고려

에디터 점수를 분석, 성과에 따라 에디터의 랭킹을 만든다. 이 데이터를 기반으로 에디터들과 소통하며 더 나은 콘텐츠 생성을 위해 노력한다고합니다.


콘텐츠 품질 모델

: 유저의 행동에 기반한 콘텐츠 품질 측정

유저의 행동을 관찰하고 분석하는 것은 콘텐츠의 품질을 측정하는데 중요한 지표를 만들 수 있다고 합니다.

클릭 점수/체류점수/노출위치/사후 행동 —> 품질 점수


Shallow Learning

:DAG기반의 shallow learning

복잡한 모양의 모양의 이 Shallow learning flowchart는 유저가 소비하는 콘텐츠를 유저의 관점에서 flow화, 각 콘텐츠의 성질을 카테고리화하여 콘텐츠에 대한 인사이트를 뽑아내는데 중요한 역할을 하려고합니다.


실시간 핫 댓글 모델

: 실시간 화제 댓글을 추출하는 원리, 피키캐스트 웹사이트를 들어가면 모든 콘텐츠들이 눈을 끄는데 이런 콘텐츠들은 다 이런 실시간 화제 댓글들을 기반으로 정해지는 원리였습니다. 댓글들이 많아지면 그 콘텐츠 (카드로 되어있죠?!) 의 순위가 높아지는 것 같습니다.

: 콘텐츠 내 주요 댓글 (parent comment)들을 스코어링

: Burst 점수는 콘텐츠의 폭발성을 나타내는 지표라고 하네요.


댓글 스팸 분류 모델링

: 광고, 비방, 욕설, 성희롱 등의 댓글을 모델로 분류한다고 합니다. 이런 부정적인 글(악플)은 예전부터 꾸준히 있어왔던 까닭에 전통적 모델이라고 하시네요.

: Text Feature (n-gram) 스팸을 분류함.


토픽 모델

: 가장 일반적으로 활용되는 Latent Dirichlet Allocation

: 토픽분포 -> 토픽 -> 단어 <-단어 분포

이 모델에서는 두리뭉실하게 때려맞추는 느낌이 크다고 합니다.


피키 데이터사이언티스트들이 이야기하는꿀팁2 : “하나"만 잘하면 나머진 "공짜"다


Model 및 Feature 활용

: Model 및 Feature 활용의 중요성

= 한 번 만들어진 Model/Feature 들이 여러 서비스에 활용이 가능하다는 점을 감안해서 초기에 model/feature를 고안할 때 이 노력을 많이해서 최대한 정교하게 만들라고 하십니다.


피키 데이터사이언티스트들이 이야기하는 꿀팁3 : “Presentation Bias”의 저주를 극복하라


화면 Bias 제거 (기대공간대비효율)

: 콘텐츠 노출 위치에 따른 Bias 제거의 필요성

: 웹사이트에서의 유저들의 클릭은 주로 왼쪽위에서 오른쪽 아래로 내려갈 수록 줄어든다고 합니다.

: 빨간은 콘텐츠에 기대를 많이함, 파란은 기대를 많이 안하는 콘텐츠들의 배치도라고합니다.


피키 데이터사이언티스트들이 이야기하는 꿀팁3 : 모델을 만드는 것 만큼 제대로 “평가”하는 것이 중요하다


암시적 유저 피드백 (Implicit Relevance Feedback)

: 접속 후 유저의 행동을 통해 피드백을 얻음

: 각 콘텐츠가 "만족"인지 “매력"인지 등은 콘텐츠 대비 유저의 행동 (클릭수, 체류시간, 사후행동)들을 관찰해서 측정하고 feature 및 평가에 활용한다고합니다.


IRF 사례 (Implicit Relevance Feedback)

: 유저별 콘텐츠 가치

: 이 부분이 상당히 흥미로운게 유저인 우리는 아무 생각없이 피키캐스트의 콘텐츠를 소비하지만 처음 들어온 순간부터 다음에 들어온 시점 그리고 그 외에도 장기적으로 유저가 소비한 콘텐츠, 체류시간 등을 다 관찰하고 데이터화하고 있었습니다. 무섭지만 대단한 것 같습니다.

: <Case> 유저별 콘텐츠 가중치 -> 추천, 타겟별 마케팅에 활용

: 희소 가치를 가진다. (특정유저의 콘텐츠 가중치를 도출해낼 수 있다)


이 전에 잠시 사례로 들어준 내용이 있어 적어봅니다

"공공 화장실 사용 후 손을 닦습니까?"라는 질문에 대부분의 사람들은 닦는다고 답했지만 실질적으로 관찰을 해본 결과 설문조사 시 얻었던 답과는 거리가 멀었다고 합니다.

즉, "사람은 생각보다 믿을만하지 못하다." 는 결론이 관찰과 관찰에 기반한 데이터를 통해 나왔습니다.


Offline/Online Testing process

: 전통적 A/B 기반의 테스팅

: A/B테스팅은 이미 너무나도 유명한 방법론이며, 피키캐스트 역시 A/B 테스트를 적극적으로 시행하고 있었습니다.



3. System


피키에서 서비스까지

: 피키캐스트의 해부도?처럼 보이는 이 자료는 피키캐스트 내부에서의 시스템들을 시각화시켜놓은 자료입니다.

: 시각화가 되어서 매우 쉽게 이해가 되며, 각 시스템 별로 어떤 툴을 사용하는지에 대한 정보 또한 얻을 수 있었습니다.

짤린 사진 : 오른쪽 아래(BI, 컨설팅, 데이터리포트, 지표발굴 등)


피키 로그 수집시스템

: 피키 로그를 수집하는 시스템에 사용되는 툴들입니다.

: 사용하는 툴은 역시나 제공하는 서비스에 따라서 달라지며, 그러한 이유로 제공하는 서비스에 맞춰 가장 효율적으로 사용할 수 있는 툴을 찾는 일이 매우매우매우 중요하다고 합니다.


피키 모델링 시스템

: 다시 한 번 툴에 대한 소개


피키 추천 시스템

: 초기 피키캐스트 데이터베이스 타임라인

2015년 3월 :  로그 수집 시스템 구축

2015년 8~9월 : 추천시스템 적용

2016년 1월 현재 : 이전까지 데이터를 수집하기 위한 시스템 구축을 해왔다면, 이제는 시스템 구축과 함께 모아온 데이터를 이용해서 유저가 가장 빈번하게 사용하는 기능 중 하나인 검색 시스템을 보다 최적화하고 고효율로 운영할 수 있는 방법을 고민 중이라고 하십니다.


피키 추천 시스템

: 피키 추천 시스템에 사용되는 툴들과 과정에 대해 간략히 소개해주셨습니다.

: 강의 시작 전 이번 강의의 참석자들이 업무에 대해 알아보는 시간이 있었는데, 대부분의 분들이 마케팅 분야에 계시던 분들이여서 기술적으로는 아쉽게도 깊게 들어가지는 않으셨습니다.


피키 검색 시스템

: 온라인 인덱싱, 분산 인덱싱, 자연어 처리 등을 오픈소스를 빌려서 조금더 최적화 함



4.  Business Intelligence, Dashboard


Data as Business Intelligence #1

OMTM

: 1달에 하나만 방문자수 올리는 것만 판다.

: 2번째 달에는 다른걸 올리면 방문자수는 서서히 떨어지겠지만


Data as Business Intelligence #2


콘텐츠 기획 및 평가 사례


마케팅 협력 사례 #1

왼쪽 맨 위 : 1달간 30일 내내 오는 분

오른쪽 맨 위 : 1달간 5일 정도 오는 분


마케팅 협력 사례 #2


마케팅 협력 사례3

: 푸시 메시지에 대해서 말씀해주셨습니다.

: 기존 구독 푸시는 피로도가 높다 = 푸시 쏘면 지워버리는 가능성이 있기 때문에

: 유저를 분석하고 유저의 취향에 맞춰 보내는 스팟성 마케팅을 위한 푸시는 이탈율을 줄이는데 기여를 한다고합니다.


Pikicast 대시보드 #1

: 대시보드는 사내의 팀들을 위해 사용되며, 유저들에 대한 분석 결과 및 인사이트를 볼 수 있다고 합니다.


Pikicast 대시보드 #2

: 사내에서 공유하며 사내 유저를 위한 다양한 의견 수렴을 위한 데이터 토론실 구축하여 보다 더 좋은 유저 경험을 제공하기 위한 창의적인 대안을 끌어내는데 사용된다고 합니다.

: 이 부분에서 언급해주신 부분 중 기억에 남는 점은 좋은 시스템을 구축하여도 사람들이 사용하지 않으면 말짱 도루묵이기 떄문에 시스템을 잘 이용할 수 있도록 시스템의 필요성과 목적성 인식 개선을 위한 사내문화를 만드는 것이 중요하다고 하셨습니다.


Pikicast 대시보드 #3

: 서비스 관련 지표

: 서비스에 관련된 지표들을 깔끔한 디자인을 통해 시각화하여 회사내 사람들이 보기 쉽도록 하였다고 합니다.


Pikicast 대시보드 #4

: 에디터 관련 지표

: 피키캐스트의 콘텐츠를 생성/큐레이팅하는 에디터에 대해서도 지표를 제공하여 보다 질좋은 콘텐츠를 생성할 수 있도록 에디터분들에게 동기부여를 할 수 있는 시스템을 구축하였습니다.


Pikicast 대시보드 #5

: 세부서비스 관련 지표


마지막 슬라이드는 현재 피키캐스트에서 "데이터 엔지니어”, “모델러” 등을 채용 중 이라고 하십니다.

피키캐스트가 생성하는 방대한 데이터를 수집/분석/인사이트 도출을 하는 즐거움을 느끼며 스스로 성장하고 싶은 인재분들은 주목하시기 바랍니다!!



Q&A (질의 응답 시간)


1. 데이터 사이언티스트로서의 background

: 데이터 엔지니어 (머신러닝)으로서의 경력은 약 8년 정도 되신다고 하셨습니다.

: 자세한 사항은 본 포스팅 맨 위의 강사 소개 자료를 참고하시면 좋을 것 같습니다.


2. 데이터 사이언스 공부하는 팁

1) 코세라

2) 교재

     캐빈머피 : 머신러닝


3. OMTM (One Matrix That Matters)

: 목표설정 : 데이터 사이언스 행사를 하는데 천 명을 채우자


4. 데이터사이언스 & 데이터엔지니어

: 데이터분석가 : 통계가이 (비즈니스+개발) + 데이터 마이닝하는 프로세싱을 보다 조금 더 딥하게 하다가 -> 데이터 사이언스가 됬다.

: 데이터엔지니어 : 데이터를 기술적으로 다루는 사람들 (모델러) 로그가 빠지지 않도록 잘 수집하도록 운영


5. 피키캐스트는 어떤 정보를 수집하는가?

: 개인정보를 제외하고 사용자의 행동을 거의다 기록하고 있다.

내용분석/콘텐츠


6. 효과적인 팀워크

: 업무를 하자고 하고 다른 곳에서 이야기를 할 시 어떤 결정을 해야할 상황이 생기는데 그것에 대해서 자신감을 갖고 진행을 할 수 있는 분위기를 만든다.

: 평소 이야기를 많이해서 같은 생각을 하는게 중요하다.


7. 다양한 데이터 사이언스 중 어떤 역할을 하는가?

: 데이터사이언스내에서도 여러가지 분야가 있다고 합니다.

매이저 & 마이너 의 개념이 여기서도 존재하는데 자신의 매이저를 가지고 다른 분야를 매이저로 하는 분들과 함께 협업을 통해 효율성을 높이는 방법이 중요하다고 합니다.

: 엔지니어링도 모델링하고

통계하는 분도 빅데이터 처리에 대한 관심 및 능력 향상이 필요하다

다양한 전공을 모인 사람들이 상황에서 서로의 도움이 꼭 필요한 상황에서

: 정리하면 인문계가 개발배우고, 개발자가 수학배우고, 수학자가 비즈니스 배운다.는 선순환을 구하려고한다.

자기전문분야는 major가 되고 나머지는 부수적이 된다.


8. 좋은 추천이란?

: 1등이 있는데 2등을 클릭한다면 좋은 추천이라고 볼 수 없다.


9. 분산이 안되는 알고리즘에 대한 문의

: 딥러닝 등 복잡한 모델을 좋아하지만, 현재 시작한지 오래되지 않아서 지금 단계에서는 feature/model을 돌릴 수 있는 것에 집중을 하고 있음


10. 채용을 위한 문의

1) 직원수 : 3자리수, 데이터사이언스 팀구성 : 10명 내외

2) 피키캐스트는 성비 : 유저층이 여성이 많다. 글을쓰는분은 여성이 많지만 데이터 사이언스 조직에는 여자 1명, 개발은 남성비율이 훨씬 높고, 에디터는 젊다.

3) 자랑하고싶은 조직 문화적 측명에서 피키캐스트에서 강점/약점

대단히 수평, 개개인이 결정을 할 수 있는 권한과 책임이 있다.


11. 실시간 현황은?

보는 것 외에 분석은 하기 힘들다.

댓글만 십분 주기로 최대한 확인가능

실시간으로 오는 인프라는 되어있는데 모델링이나 그 외에는 아직은 정적이다.


12. 데이터 사이언스팀 시스템 유지 비용 ?

: 어떻게 하면 비용절감?

     ->물품 : 중고

     ->인력 : 기존에 있는 일들을 가져온 것도 많다. 잘 가져와서 최적화하여 사용하면 비용 절감에도 효과가 있다.


13. 데이터에 대한 엑세스 레벨은? (전 사원들이 요청을 할 수 있는 지?)

-> 예민한 부분이 있어서 권한을 나눠서 직원들에게 공유하고 있다고 합니다.


14. 업무 요청이 오면 어떻게 분담하는지? (개발팀, 다른 팀과 데이터팀과 PM팀과 어떤 식으로 ?)

     -> 일이 어딘가에 떠있을 때 내가 가져가는 방식

     -> PM식의 업무구조는 적다


15. 감성적 데이터(설문조사 등 )를 분석하는 팀이 있는지? 있다면 어떻게 운영하는지?

현재 구축 준비 중, 옆 부서와 협업하면서 하려고함


16. 데이터 분석에 따른 경영 성과는 잘 나는지?

-> 검색을 개선한 꽤 많은 성과를 얻었다.


17. 데이터를 통한 인사이트를 뽑는 방법?

-> 데이터의 변화는 크지않다, 유니폼한 경우가 많다. 적은 변화에도 그 데이터를 펼치면 변화가 있는 애들이 있는 경우가 있더라구요.

예) 페이지뷰를 어디에서 유도되었는지 하나하나 까다보면, 어떤게 증가/하락하는지 파악이 가능해진다.

구축되려면 세세한 데이터가 많이 필요하다.

특정 유저 1명이 어디에서 어디로 이동했는지 등 하나 하나 감지를 할 수 있어야 한다.


18. 로그를 구축하는건 어떤가?

-> 새로 바뀌는 서비스나 시스템에 따라 딱 맞춰서 가기힘들다.

-> 고정적으로 있는 애들은 있고 가변은 따로 관리를 하자.

-> 고정으로 하는게 가변이 되는 경우가 생긴다.



**강의내용은 행사의 주최인 패스트 캠퍼스 측과 피키캐스트 측의 동의를 받고 공유함을 밝힙니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari