본문 바로가기

추천시스템

(17)
넷플릭스 프라이즈를 다시 생각하다 지금으로부터 10년 전인 2006년 10월 2일에 우편으로 DVD를 렌탈하는 미국 업체인 넷플릭스 Netflix에서 많은 이들을 깜짝 놀라게하는 발표를 했다. 2006년도 기준으로 자사가 보유하고 있던 방대한 양의 사용자들의 영화 평점 데이터를 공개하고, 자사의 추천 알고리즘의 정확도보다 10%이상 향상시킨 알고리즘을 개발한 팀에게 상금으로 $1M을 주겠다는 발표한 것이다. 이른바 Netflix Prize 또는 Netflix Contest로 알려진 대회의 시작을 알린 것이다를. 당시만 하더라도 이제 겨우 우편 렌탈에서 온라인 스트리밍다운로드로 넘어가던 초기였다는 것을 감안하면 더욱 놀라운 일이다. 1백만달러 (한화로 약 10억원)의 상금 규모도 놀라웠고, 또 그들이 공개한 평점 데이터의 양도 놀라웠다. ..
'나를 위한 추천 뉴스' 후에 사람들은 5월 초에 있었던 다음 카카오 합병 소식에는 관심을 가지지만, 5월 말에 있었던 어떤 서비스 오픈에는 별로 관심을 보이지 않고 있다. 그도 그럴 것이 그게 현재 다음의 처지를 그대로 보여준다. 완전히 새로운 서비스도 아니고 기존의 페이지에서 한 구좌에 조금 노출되는 수준이니 열혈 사용자가 아니면 (지금은 그런 사용자도 많지 않다) 눈치를 못 챘을 가능성도 높다. 트위터에 해당 서비스명으로 검색해봐도 서비스 개발자는 아니었지만 그 팀에 속한 어떤 분이 간단히 소개하는 정도의 트윗이 올라와있고, 다른 하나는 고맙게도 다음과 같은 글이 올라와있다. 다음 앱에서 '나를 위한 추천 뉴스'라고 알려주는데, 이게 무섭고 두렵군.— 안녕... (@qsnail) May 31, 2014 여러 측면에서 이게 무서운..
[Slide] 추천 시스템의 개요 및 분류 20편의 PR시리즈를 통해서 추천 시스템에 대한 다양한 이야기를 했습니다. 원래는 슬라이드를 만들 계획이 없었지만 화이트보드와 펜과 함께 하는 강의가 아닌, 스크린과 하는 발표가 생겨서 어쩔 수 없이 간단히 추천 시스템의 구분에 대한 키워드만 뽑아서 발표자료로 정리했습니다. 내부적인 논의가 필요한 항목을 제외하고 공개합니다. == 페이스북 페이지: https://www.facebook.com/unexperienced
추천 시스템의 설계 (PR시리즈.18) 추천 시스템에 대한 세부적인 내용은 대부분 다뤘습니다. 오늘은 실제 추천 시스템을 설계할 때 중요한 포인트만 다시 집고 넘어가겠습니다. 설명을 단순화하기 위해서 메모리 기반의 CF만을 사용한다고 가정하겠습니다. 어떤 데이터를 어떻게 쌓을 것인가? 가장 먼저 고민해야할 문제는 추천에 필요한 데이터 — 유저-아이템 레이팅/피드백 — 을 어떻게 구성할 것인가를 결정해야 합니다. 명시점수를 사용할 것인가 아니며 암묵피드백을 사용할 것인가를 정해야 합니다. 명시점수를 사용하면 미싱값은 어떻게 처리할 것인가도 고려해야 하고, 바이어스되고 불완전한 데이터를 어떻게 정형화할 것인가도 중요한 문제입니다. 암묵점수를 사용하는 경우라면 단순히 0/1로만 할 것인지 아니면 사용자 engagement 정도에 따른 차등점수를 줄..
추천 시스템과 머신러닝 (PR시리즈.15) 14편의 글로 추천시스템을 마무리하려고 했었는데, 하나가 더 생각나서 글을 적습니다. 깊게 들어가면 어려워지는 문제지만, 이 그레서는 아주 피상적으로만 적겠습니다. 데이터마이닝하면 머신러닝이 같이 떠오른데 그러면 머신러닝은 추천 시스템에서 어떤 역할을 하느냐?라는 질문을 할 수 있습니다. 그래서 준비했습니다. 그러나 모든 디테일은 생략합니다. 구체적으로 어떤 머신러닝 알고리즘들이 추천시스템에 활용되고 있는지는 Netflix에서 나온 Mining Large Streams of User Data for Personalized Recommendations을 참조하세요. Collaborative Filtering 알고리즘을 설명하면서 모델기반 CF를 잠깐 언급한 적이 있습니다. 여기서 모델이란 머신러닝을 통해서..
추천 시스템에 대해서 여전히 남은 이야기들 (PR시리즈.14) 추천 시스템에 대한 웬만한 내용은 다 다룬 듯합니다. 그래도 남은 짜투리 생각들을 정리합니다. 추천의 형태/대상별 분류에서 그룹추천을 설명했습니다. 그룹추천은 그룹을 대상으로 공통된 아이템을 추천해주는 의미도 있지만, 더 상세한 개인추천/개인화의 중간단계 역할도 합니다. 여러 측면에서 고려될 수 있지만, 우선 떠오르는 생각은 추천 대상이 너무 많고 광범위해서 1차로 segmentation하고, 각 세그먼테이션 내에서 개인화를 진행할 수 있습니다. 성연령이나 문화권에 따라서 소비자들의 행동패턴은 분명히 다를 것입니다. 그렇기에 인위적으로 성별이나 연령대, 국가별로 나눠서 각 그룹 내의 행동패턴을 상세 분석하는 것은 의미가 있습니다. 미국의 소비자와 한국의 소비자를 하나의 데이터에 넣고 추천 알고리즘을 돌린..
추천 시스템을 위한 하둡 마훗 사용하기 (PR시리즈.13) 빅데이터를 위한 하둡 Hadoop이나 머신러닝 라이브러리인 마훗 Mahout의 디테일한 것을 설명하려는 것이 아닙니다. 그냥 마훗의 추천 알고리즘을 실행해본 수준에서 경험했던 프랙티스에 대한 간단한 리마크만 하겠습니다. 하둡이나 마훗에 대한 상세 설명이나 설치/설정 방법에 대해서는 다른 문서들을 찾아보시기 바랍니다. 특히 마훗의 아이템기반CF의 상세한 사용방법은 위키페이지를 참조하세요. 먼저 마훗CF를 사용하기 위한 입력데이터는 {UserID, ItemID, Rating} 페어로 된 CSV 파일이 필요합니다. 마지막 값인 Rating은 암묵점수에서는 넣을 필요없이 하둡/마훗을 실행할 때 옵션 --booleanData를 활성화시키면 됩니다. 여기서 중요한 점은 UserID와 ItemID가 모두 Long i..
추천 시스템의 레퍼런스 (PR시리즈.11) 총 10개의 글을 통해서 추천 시스템의 일반적인 내용을 대부분 다룬 것같습니다. 더 자세히 다뤄야할 세부적인 것들이 여전히 많이 있지만, 기존의 다른 논문들을 읽어보시면 쉽게 이해가 될 것입니다. PR시리즈를 통한 추천 시스템의 소개 및 설명은 이것으로 마치겠지만, 다른 관련 이슈가 발견되면 그때마다 내용을 추가하도록 하겠습니다. 모든 연구논문들이 그렇듯이, 추천 시스템의 글을 마치면서 추천 알고리즘 관련 참고 논문들을 아래와 같이 명시합니다. 검색서비스에서 '추천 시스템' 'recommender system' 'collaborative filtering' 등과 같은 키워드로 검색해보시면 다양한 논문들이 나옵니다. 아래에는 추천 시스템의 State of the art를 다룬 리뷰논문들을 주로 나열합니다...