USE CASES/사례 연구

그래프 모델링으로 알아보는 추천 시스템

(주)비트나인 2021. 3. 29. 09:32

 

 

이번에는 GDB 모델링을 통해 그래프 기반 추천 시스템에 대해 알아볼 것이다. 그래프 모델링으로 추천 시스템을 알아보기 전에 분석관점에서 GDB를 모델링 하기 위해 큰 3가지를 복습할 필요가 있다. 아랫글에 GDB를 모델링 하기 위해 3가지의 고려해야 할 점을 소개한 바 있으니 본 글로 넘어가기 전에 살펴보자. 

 

1) 데이터 및 도메인에 대한 분석

2) 모델링 연구 및 검증 과정

3) 그래프 모델을 통한 가치 도출 및 결과 검증

 

 

 

그래프 모델링으로 알아보는 FDS

분석 관점에서의 그래프 모델링 이번에는 데이터 모델링이란? (그래프 DB편)에서 예고했던 분석 관점에서의 GDB모델링을 실제 사례에 대입하여 비교 확인을 하려 한다. GDB 모델링을 시도해보려면

bitnine.tistory.com

 

다음은 모델링을 활용한 추천 시스템이 위의 3가지를 고려하여 분석관점의 그래프 모델링을 어떻게 풀어나갈지 살펴보자.

 

분석 관점에서의 추천 시스템 모델링

추천 시스템은 콘텐츠 및 사용자의 정보와 콘텐츠에 대한 평가를 기반으로 사용자에게 적합한 콘텐츠 추천을 하는 시스템이다. 추천 시스템은 기본적으로 크게 협업 필터링콘텐츠 기반 필터링 기법을 조합한 하이브리드 시스템 기반으로 사용자에게 콘텐츠를 추천한다. 최근에는 점점 새로 생성되는 콘텐츠 양과 사용자의 수가 증가하면서 추천 시스템 시장에서는 데이터를 좀 더 효율적으로 저장하면서 운영할 수 있는 플랫폼 또는 기술을 요구하고 있다. 이러한 요구에 그래프 데이터베이스를 기반으로 한 추천 시스템이 새로운 해결책으로 제시되고 있다. 그래프 기반 추천 시스템은 그래프 구조 자체에 사용자의 콘텐츠에 대한 평가 정보를 저장하고 이러한 구조를 활용하여 그래프 알고리즘과 여러 가지 추천 기법을 적용한 추천 시스템이라 할 수 있다.  

 

데이터간 다양한 관계를 모델링하기에 용이한 그래프 기반 추천 시스템의 예시들

 

먼저 추천 시스템에서 사용될 수 있는 그래프 모델은 ‘콘텐츠와 사용자 평점’ 모델이 있으며, 사용자가 평가하는 콘텐츠를 점으로 평가를 선의 그래프 관계로 나타내는 것을 말한다. 기존 추천 시스템의 사용자 평점은 사용자와 콘텐츠의 평가 행렬(evaluation matrix)로 관리하여 추천모델에 적용하지만, 그래프 추천 시스템에서는 사용자와 콘텐츠 그리고 그 둘을 잇는 엣지에 평가점수를 저장함으로써 희소성(sparsity)을 줄일 수 있고 데이터 저장에 따른 효율성을 높일 수 있다.


다음으로는 콘텐츠 속성정보를 이중 그래프(bigraph)로 모델링 할 수 있다. 영화를 예로 들면, 영화라는 콘텐츠 안에 여러 명의 배우, 감독이 있으며, 유저가 남긴 리뷰, 태그 등 여러 가지 속성정보들이 존재한다. 이러한 속성정보들은 다른 영화에서도 공통되는 항목들이 존재하기 때문에 영화 속성을 밖으로 꺼내서 이기종 그래프로 만들어낸 후 서로 연결하는 그래프 모델이다.


추천 시스템 그래프 모델링의 4가지 VALUE

추천 시스템에서의 그래프 모델 적용시  대표되는 가치는 다음의 4가지라 할 수 있다.

 

1) ‘추천 콘텐츠 관리의 유연성에 강점이 있다. 콘텐츠에 대한 각종 정보가 유기체처럼 연결되어 있으며, 지식 그래프를 통해서 영화에 대한 다양한 연결정보를 검색할 수 있는 서비스를 제공할 수 있다. 영화를 예로 들면, 영화에 연결될 수 있는 영화 정보(신작, 리뷰, 평가, 태그 등)들을 수집하여 지식 그래프에 추가 연결하여 관리도 가능하며, 다양하고 많은 콘텐츠를 운영할시에  지식베이스로 활용성이 증대된다.  

 

2) ‘데이터 저장의 효율성에 강점이 있다. 협업 필터링 기법을 사용 시에 유사도를 예측하기 위한 희소 행렬(Sparse Matrix)을 구축하지 않고, 사용자의 콘텐츠에 대한 선호 정보와 유사도 계산 값이 그래프 구조에 누적되어 저장된다는 점이다. 이러한 특징은 실시간 추천 서비스를 실행 시간에 유사도 계산 등의 과정을 수행할 필요가 없어 추천 계산 시간이 단축되고, 사용자의 수나 아이템의 수에 비례하여 늘어나지 않는다. 또한, 선호 정보만으로 계산되는 아이템 사이의 연관 관계를 이용하므로 특정 사용자의 선호 정보가 희소하더라도 추천이 가능하게 되어, 기존 추천 방식의 단점인 확장성 문제와 희소성 문제를 해결할 수 있다. 

 

3) ‘개인화 추천 모델 관리의 편의성에 효과적인 모델이다.  한 추천 서비스를 접하다 보면 일정한 규칙에 따라 같은 것을 반복적으로 추천하는 경우가 종종 있다. 그만큼 사용자  개인에 대한 추천 모델이 다각화되지 않았다는 것을 의미한다. 하나의 사용자에 대한 여러 요소가 적용된 추천 모델을 선보이기도 힘들뿐더러 추천 모델을 관리하면서 운영하는 것 또한 쉽지 않다. 그래프를 도입한다면 사용자별로 여러 가지 추천 모델을 적용할 수 있으며, 콘텐츠 사용자간 엣지에 추천 로직과 각종 모델 변수 결괏값을 저장함으로써 사용자 개인에 대한 추천 모델 관리가 수월하다. 

 

4) ‘그래프 분석기술의 적용이 가능한 모델이다. PageRank 및 Community Detection 등 그래프 구조로 이루어진 콘텐츠에 그래프 분석기술을 적용하여 추천 서비스를 쉽게 접목할 수 있다.

 

             

희소 행렬이 아닌 그래프 기반 추천 시스템에서 저장되는 구조 예시

 

다음 편 예고: 그래프 모델링으로 알아보는 데이터플로우 모델

다음 그래프 모델링 시리즈의 주제는 다소 생소할 수 있다. 데이터플로우 모델이란 데이터가 시스템에 의해서 어떻게 처리되는지를 직관적으로 보여주는 기법이다. 데이터가 어떤 영역을 지나가는지 알 수 있다면, 프로젝트의 절차를 이해하는 데 도움이 될 것이고, 그만큼 결과에 대한 신뢰를 확보할 수 있다. 다음 주제에는 두 가지의 적용 사례를 통해 데이터 플로우 모델이 무슨 개념인지와 어떤 장점이 있는지 알아볼 것이다. 

 

글: 비트나인 그래프 AI 센터


 

멀티모델 그래프데이터베이스 AgensGraph

60일간 무료로 사용해 보세요

bitnine.net/agensgraph-downloads/

 

제품 및 기술문의

070-4800-3517  |   agens@bitnine.net