본문 바로가기

컨퍼런스 노트/NDC

(NDC2014) 쉽게 따라 할 수 있는 꽤 훌륭한 유저 동향 분석 시스템

(NDC2014) 쉽게 따라 할 수 있는 꽤 훌륭한 유저 동향 분석 시스템

http://ndcreplay.nexon.com/NDC2014/sessions/NDC2014_0052.html#c=NDC2014&k%5B%5D=%EC%9C%A0%EC%A0%80


1. 유저는 우리와 다른 의미의 전문성을 가지고 있다.

- 컨텐츠를 개발하는 사람과는 다른 시각으로, 게임을 많이 플레이하기 때문이다.

- 개발자가 해결하지 못한 문제를 유저가 해결해서 커뮤니티에서 공유하는 경우도 있다.

- 따라서 유저의 동향을 분석하는 것은 매우 중요하다.(홈페이지 게시판, 커뮤니티 사이트 등)

- 인터넷 커뮤니티들에서 동향을 파악하는 것은 객관적이고 가장 쉬운 방법이나, 편향적인 정보는 배제해야 한다.

   

2. 동향 분석 시스템 개발

- 요구사항

> 커뮤니티 반응 확인을 쉽게 할 수 있도록

> 모니터링을 하지 않는 사람들도 유저 동향을 살필 수 있도록

> 패치 후 문제 발생이나 유저 동향에 대해 빠른 실시간 피드백을 받을 수 있도록


- 핵심 목표

> 동향 분석 단계 : 사이트 - 게시판 - 글 검색 - 글 읽음 - 의미 있는 정보

> 위의 단계를 거치는 시간을 단축시켜주는 도구를 개발하는 것

> 수 많은 개발 욕심을 줄이고 위의 핵심 목표에만 집중


- 사이트-게시판 단계 시간 줄이기

> 유저 의견이 주로 소통하는 게시판만을 선정하여 작업을 진행(자유, 공략, 팁 등)

> 크롤러는 각 사이트 별로, 네이버는 각 카페별로 한 개씩 동작하면서 게시글을 수집

> 크롤러가 반복해서 동작하는 간격, 게시판 별로 몇 페이지까지 수집할 것인지를 조절해서 이 크롤러를 동작시켜 게시물을 수집(놓치는 게시물이 간혹 있는데 

  이 부분은 너그럽게 놓았다.)

> 수집된 글은 어떤 사이트, 어떤 게시판들인지, 가장 최근 수집시간은 언제인지 알 수 있다.

> 전반적인 UX는 업무에서 주로 사용하는 outlook 방식을 차용


- 게시판-글 검색 단계 줄이기

> 인덱스 문제(검색을 도와줄 검색 엔진)

  ㆍMy SQL Full Text Engine : 간단한 쿼리를 이용할 때는 문제 없었으나, 다른 인덱스와 복합 인덱스 설정이 잘 되지 않는 문제 발생, 

     실제 환경에서 성능 문제 발생해서 제외

  ㆍLucene : 형태소를 이용하여 검색 > 그러나 형태소에 대한 이해가 부족하여 제외

  ㆍSphinx N-gram : 설치형 프로젝트, 몇 가지 설정을 통해 My SQL과 쉽게 연결하여 인덱싱 가능


- 글 검색-글 읽기-의미 있는 정보 단계 줄이기

> 가장 핵심적인 부분이며 가장 어려운 부분

> 사람보다 기계가 더 잘 할 수는 없다.

> 한 사람이 Gardening 작업을 수행 : 키워드 관리 작업

> 평소에 관심 있을 것 같은 상시 키워드(버그, 버그 발생 주요 키워드, 팅, 렉, 최적화, 과거와의 비교, 패치/점검 등 문제점 관련), 

    패치마다의 관심사 같은 시즌별 키워드(각 패치의 업데이트 내용, 캐릭터나 스킬, 던전 등)를 등록

> 시즌별 키워드는 패치날 아침에 작성하는 편

> 성의글(분석/제안/소감)

> 상위 키워드 속에 하위 키워드가 있는데, 하위 키워드만을 클릭하여 그 키워드만 단독으로 쿼리를 요청하거나 

   상위 키워드를 클릭하여 하위 키워드를 한 번에 OR 방식으로 요청할 수도 있게 제작

> N-gram 검색 활용법 : 해당 분류의 글에 자주 언급되는 단어를 키워드로 등록한다.

  (버그발생을 예로 들면, 나만그 = 나만그래, 나만그러냐, 나만그러네, 나만그런가 / 나만안 = 나만안되나, 나만안되냐, 나만 안뜨냐)


- 처음에는 게시판별 글 검색만이 목적이었으나, 키워드별 검색이 생기자 많이 편해짐


- 피드백을 통한 편의기능 추가

> 즐겨찾기 기능

> 게시글에 대한 메모기능

> 게시글에 대해 정보를 공유할 때 필요한 태그기능 > 태그하면 입구 모니터에 서비스된다.

> 태그가 표시된 글은 짤방(이미지)을 삭제하도록 추가 > 관리자는 보여짐

> 게시판을 더럽히는 글, 도배글을 제거할 수 있는 휴지통


- UI 문제

> 개발자만 2명이라 그래픽 파트가 취약

> 웹에서도 데스크탑 UI를 쉽게 사용가능한 자바스크립트 프레임워크를 사용

> Sencha 제품 활용 : cross browsing, 강력한 기능들, 안 되는 게 없다.

> 데스크탑 프로그램처럼 보일 수 있는 컨트롤이 있으며, UI 작업이 필요없고, 모바일까지 적용이 가능

> Sencha로 모바일 버전까지 개발


3. 결론

- 내가 보고 싶은 반응을 빠르게 한 곳에서 볼 수 있다.

- 특별한 노하우 없이 누구나 현재 커뮤니티 분위기를 알 수 있다.

- 기존 시스템에서 확인할 수 없는 버그나 문제점을 알 수 있다.

- 정확한 해결책을 가지고 있거나 실마리를 제공한다.

- 예상치 못한 문제를 빠르게 감지할 수 있다.


4. QnA

- 개발 기간은? : 과정을 알고 있는 2~3명의 개발자가 1~2달 소요

- 크롤링할 때 수집하는 정보 : 링크(html)를 그대로 DB에 넣어 html 그대로 표시]

- 인덱싱이 모자란 이유 : 목적상 날짜도 검색해야 하는데, MySQL full text 엔진은 복합 인덱스(예를 들어 날짜와 텍스트)를 잡게 되면 대단히 느려진다.