내가 근무하고 있는 회사의 지원으로 네이버 데뷰 2015에 참가할 수 있었다. 매우 유익하고 즐거운 행사였다! 이런 행사에 참가할 수 있다니, 정말 서울에 와서 일하길 잘했다는 생각이 들었다. 몇가지 흥미로웠던 세션을 정리해 둔다.

2일차 세션 1. 네이버 검색과 데이터마이닝

발표자: 최재걸(NAVER)

슬라이드: http://www.slideshare.net/deview/211-52777946

연사는 2004년에 네이버에 입사해 네이버의 각종 검색/추천 서비스를 개발했다고 한다. 자신이 경험한 노하우를 들려 줬다.

네이버 사이트에는 연관검색어, 검색 결과의 랭킹, 인물 정보, 실시간 검색어, 뉴스추천, 성인이미지 차단, 이미지 검색 등 각종 데이터 마이닝 기능이 제공되고 있다.

연관 검색어

그 중 2004년에 처음으로 개발해 서비스한 기능이 연관 검색어 기능이다. 이 기능은 원래 다음이 먼저 개발했고 네이버가 뒤따라서 개발했다. frequent set 알고리즘을 이용해 개발한 연관 검색어 기능이 처음에는 잘 작동하는 것 같았지만 곧 점점 사용률이 떨어지는 문제가 발견됐다고 한다.

예측과 결과가 다르게 나오자 당연히 프로그램에 버그가 있을 줄 알고 며칠동안 디버깅을 위해 노력했지만 애초에 버그는 없었다고 한다. 프로그램은 정상적으로 작동했다. 문제는 약한 evidence로부터 나온 결과물을 성급하게 전체로 해석하는 데서 생기는 것이었다.

연사는 이 일을 통해 잘못된 결정은 많은 손실을 가져오며, 기술을 단지 이해하는 것만으로는 부족하다는 교훈을 얻었다고 한다.

랭킹 시스템

연사는 웹사이트 랭킹 시스템을 개발할 때 순수능력과 위치능력을 구분해 효과적으로 랭킹 시스템을 만들었다. 랭킹 시스템을 검정해 본 결과 분산이 작게 추정되어 성공적으로 만들었다고 판단했다. 하지만 실제 서비스를 개시하자 품질 저하 문제가 또 발견됐다고 한다. 또다시 기술에 진 것이다.

이 문제를 스스로 해결할 수 없어 통계분야 데이터 마이닝 전문가의 도움을 받아서야 랭킹 시스템을 완성할 수 있었다고 한다. 문제는 처음 사용한 알고리즘이 특성상 실제 측정의 질이 낮더라도 분산이 작은 값으로 표현되는 알고리즘이었기 때문에 생긴 것이었다고 한다.

좋은 랭킹 시스템을 만들기 위해서는 통계, KDD, 머신러닝의 상호 보완이 필요했다고 한다. 연사는 KDD 분야가 주전공이어서 다른 쪽을 잘 알지 못해 이런 어려움을 겪었던 것 같다.

협력필터

2013년에는 협력필터를 이용해 추천 엔진을 만들었다. 이 기술을 처음 적용한 서비스는 네이버 뮤직 라디오다. 협력필터는 사용자가 즐겨 듣는 음악을 분석해 비슷한 음악을 추천해주는 기능을 제공했다. 이 기능은 성공적이었고 지금도 계속 서비스되고 있다고 한다.

문제는 같은 기능을 개인화 영화 추천 시스템에 적용했을 때 나타났다. 맞춤 영화 추천은 사용률이 매우 저조했고 서비스를 빠르게 중단해야 했다고 한다. 이 문제는 영화에 대한 도메인 지식이 부족했기 때문에 나타난 것이었다.

협력필터를 통해 추천을 하면 한 번 추천했던 것이 계속 추천되거나 사용자가 이미 감상했던 것을 또 추천하는 일이 많다고 한다. 그런데 음악의 경우엔 같은 음악을 여러 번 듣는 게 문제가 안 되지만 영화는 소모성 콘텐츠여서 한 번 본 영화를 다시 보는 일이 잘 없다. 따라서 같은 영화를 여러 번 추천하는 것은 잘못된 추천인 것이다.

이와 관련해 마크 주커버그는 “당신이 읽을법한 뉴스를 추천하지 않을 것이다”라는 말을 한 바 있다고 한다.

지금 네이버는 실시간 데이터마이닝 프로젝트를 진행하고 있다고 한다. 네이버에 수집되는 각종 데이터를 활용해 현재 이벤트, 이슈 등을 찾고 그에 실시간 점수를 매겨 랭킹화하는 것이다. 그러면 지금 일어나는 모든 일을 중요도 순으로 알 수 있게 되며, 여기에 개인화를 적용하는 것도 가능하다고 한다.