개인화 뉴스 추천 알고리즘, 이렇게 만들어보면

얼마전 개인 선호 분석에 기반한 개인 맞춤형 뉴스 추천 논문을 소개해드린 적이 있는데요. 읽어보니 아래와 같은 방식으로 진행이 되더군요. 제가 배운 바에 따르면 신경망 분석(neural network)은 복잡한 기계학습으로 시간이 좀 걸리고 hidden layer로 인해 결과값에 대한 근거나 이유를 설명할 수 없는 것으로 알고 있습니다. 강의하셨던 교수님은 “상관에게 보고서를 작성해야 한다면 이 알고리즘은 피하는 게 좋다”고 조언하시기도 했죠.

인간 두뇌의 정보처리 구조에서 착안해 1958년 프랑크 로센블라크(Rosenblastt)가 제안한 방법이 진화에 진화를 거쳐 오늘에 이르렀다고 하고요. 주택 가격 예측 등에 많이 이용된다고 하더군요.

이 논문이 알고리즘을 구성하는 방식은 다음과 같습니다. 먼저 이용자의 뉴스 소비 패턴을 분석해 선호 키워드를 추출해냅니다. 여기에 깊은 신경망 분석이 활용되고요. 3개의 레이어를 통해 결과값을 가져옵니다. 선호 추출을 위한 인풋값으로는 이용자가 읽은 기사에 등장하는 단어의 빈도, 역단어빈도(ITF), 제목, 누적 선호 키워드, 리드문 등의 값이 들어갑니다.

두번째 단계는 신규로 생산된 뉴스를 프로파일링합니다. 가장 보편적인 TF-IDF 알고리즘을 적용하네요. 뉴스프로파일링과 이용자 프로파일링의 코사인 유사도 분석을 통해 뉴스 랭킹을 결정합니다.

image

1. 이용자 프로파일링
1) 깊은 신경망 분석 알고리즘(Deep Neural Network) : 5개의 인풋값(단어 빈도, 역단어빈도, 으로 선호 파악
2) 심도 신뢰망(Deep Belief Network) 분석

2. 뉴스 랭킹
1) 뉴스 프로파일링 : TF-IDF 기반
2) 뉴스 프로파일과 이용자 프로파일의 유사도 분석

이용자 선호도 분석을 위해 신경망 알고리즘을 적용한 점이 저 개인에겐 눈에 띄네요. 저 정도 데이터를 3층 레이어로 분석하려면 단일 언론사 단위까지는 괜찮겠지만 네이버처럼 하루에 수만건이(특히 어뷰징이 많이 올라오는 시간대엔) 느려지는 한계가 있지 않을까 싶은 생각도 듭니다. 이건 전문가들이 잘 알려주실 수 있을 듯. 페이스북도 이 알고리즘을 활용하고 있다는 뉴스도 있습니다.

그간 저는 TF-IDF로만 이용자 프로파일링하고 뉴스 분석해서 매칭시키는 방식을 택해왔는데. 이 값이 더 정확하게 나올지도 모르겠습니다. 개별 언론사에선 한번 시도해볼 만하지 않을까 싶기도.

여기 참여한 친구들 KAIST 석박 과정과 경희대 석사 과정에 있네요. 담당 교수는 최호진 카이스트 교수고. 이들과 한번 협업해서 추천 알고리즘 만들어보는 것도 재미나지 않을까 싶습니다.

지금 오웰의 새소식을 이메일로 받아보세요.