GRAPH DB/Graph Solution

그래프 기반 추천 시스템이란?

(주)비트나인 2022. 3. 21. 10:33

 

추천 시스템이란?

추천 시스템은 사용자가 콘텐츠 이용 시에 개인화된 추천을 지원하는 시스템으로 콘텐츠 및 사용자의 정보, 콘텐츠에 대한 평가를 기반으로 사용자에게 적합한 콘텐츠를 추천합니다. 그렇다면 추천 시스템은 어떠한 원리로 사용자에게  콘텐츠를 추천하는 걸까요?

 

전통적으로 잘 알려진 추천 알고리즘은 크게 협업 필터링과 콘텐츠 기반 필터링 기법이 있으며, 이들을 조합한 하이브리드 시스템으로 사용자에게 콘텐츠를 추천합니다.

 

협업 필터링과 콘텐츠 기반 필터링

 


협업 필터링(Collaborative Filtering)은 사용자의 데이터를 활용해 추천해주는 만큼 상품이나 서비스 이용 또는 구매로 이어질 확률도 높습니다. 게다가 사용자가 많아질수록 데이터가 쌓여 추천 정확도와 신뢰도 또한 증가합니다.   반면에 사용자의 데이터가 없다면 추천이 어렵습니다. 신규 사용자의 경우 콜드 스타트의 이슈가 있으며, 사용자가 많아질수록 추천 계산시간이 오래 걸립니다.

 
콘텐츠 기반 필터링(Content-based Filtering)의 장점은 콘텐츠 자체를 분석하는 것이기 때문에 초기에 사용자의 행동 데이터가 적더라도 추천할 수 있다는 장점이 있습니다. 하지만 비슷한 특성의 상품을 계속해서 추천하다 보면 아이템의 다양성이 떨어지고 콘텐츠의 특성만을 추출하다 보니, 사용자 개개인의 취향을 정밀하게 파악할 수 없다는 문제점이 있습니다.

    

이러한 추천 알고리즘들의 문제들이 이슈가 되고  추천 시스템이 점점 새로 생성되는 콘텐츠 양과 사용자의 수도 증가하고 있습니다. 시장에서는  좀 더 효율적으로 저장하면서 운영할 수 있는 플랫폼 또는 기술을 요구하고 있습니다.

그래프 기반 추천 시스템이란?

앞서 말한 추천 시스템 이슈에 대해서 그래프 기반 추천 시스템이 새로운 해결책으로 제시되고 있습니다. 그래프 기반 추천 시스템은 그래프 구조 자체에 사용자의 콘텐츠에 대한 평가 정보를 저장하고 이러한 구조를 활용하여 그래프 알고리즘과 여러 가지 추천 기법을 적용했습니다.  기존의 추천 시스템 대비 그래프 기반 추천 시스템이 가지고 있는 이점은 크게 2가지가 있으며, 이는 확장성과 관계 모델링의 다양성이라 할 수 있습니다.
 

먼저, 그래프 기반 추천과 기존의 추천 모델과의 다른 점은 데이터 저장에 따른 효율성에 있습니다.  그래프 기반 추천 시스템은 협업 필터링 기법의 유사도(similarity)를 예측하기 위한 Sparse Matrix를 구축하지 않고, 그래프 구조 자체에 사용자의 콘텐츠에 대한 선호 정보와 유사도 계산 값이 그래프 구조에 누적되어 저장됩니다. 여기에 K-nearest Neighbor를 활용하여 유사도가 큰 순서대로 특정 개수의 사용자만 사용한 그래프로 만들어서 사용할 수 있어, 모든 데이터를 사용하지 않고 선호도 예측이 가능하여 계산량이 적습니다. 


이러한 특징은 실시간 추천서비스를 실행 시간에 유사도 계산 등의 과정을 수행할 필요가 없어 추천 계산 시간이 사용자의 수나 아이템의 수에 비례하여 늘어나지 않습니다. 또한 선호 정보만으로 계산되는 아이템 사이의 연관 관계를 이용하므로 특정 사용자의 선호 정보가 희소하더라도 추천이 가능하게 되어, 기존 추천 방식의 단점인 확장성 문제와 희소성 문제를 해결할 수 있습니다. 

 

             

Sparse Matrix가 아닌 그래프 기반 추천 시스템에서 저장되는 구조 예시

 

또한, 그래프 기반 추천 시스템은 다양한 데이터 관계를 모델링하는데 이점이 있습니다. 최근의 추천 시스템은 사용자 개인에 대한 개인화 추천 시스템으로 점점 발전하고 있습니다. 사용자별로 모델이 학습해야 할 데이터를 선별하거나 추천 로직 또는 정책을 다각화해야 할 필요가 있습니다. 기존의 방법으로는 모델을 다각화 하기에는 모델별로 복잡한 데이터 및 시스템 모델링이 필요했습니다.

하지만 그래프 DB를 이용한다면,  사용자 별로 콘텐츠 추천을 할 수 있는 로직 및 관계 모델을 관리하기 용이한 점이 있습니다.  그리고 콘텐츠 간에도 상호 연관관계를 모델링할 수 있습니다. 예를 들어, 영화 - TAG 또는 영화 - 배우 및 감독 등 콘텐츠 간의 관계를 모델링하여 하나의 영화라는 범주의 지식그래프를 구축하며 사용자에게 다양한 추천 서비스를 제공할 수 있습니다.  

 

 

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

 

그렇다면 그래프 기반의 추천 시스템은 어떠한 방식으로 작동하는 것일까요?

그래프 기반 추천 시스템을 구성하는 4가지 핵심 프로세스는 다음과 같으며, 영화 콘텐츠 추천 서비스를 예를 들어 설명하겠습니다.

 

그래프 영화 추천 시스템 서비스 구현도

 

1. 웹 스크래핑을 통한 데이터 수집
추천 서비스에 활용될 영화 정보, 인물정보, 리뷰, 사용자 평점, Tag 등 각종 데이터를 수집하는  과정으로, 주기적으로 영화 데이터를 추가 적재할 수 있도록 수집기를 제작합니다.
 

2. 영화 지식그래프 모델링 및 적재
추천 서비스에 활용할 각종 데이터들 간의 관계를 고려하여 지식그래프 모델링을 실시합니다. 영화에 대한 각종 정보들이 유기체처럼 연결되어 있으며, 지식그래프를 통해서 영화에 대한 다양한 연결 정보를 검색할 수 있는 서비스를 제공할 수 있습니다. 추가적으로 웹 스크래핑을 이용하여 영화에 연결될 수 있는 영화 정보 (신작, 리뷰, 평가, 태그 등)들을 수집하여 지식그래프에 추가 연결하여 관리도 가능합니다.  

 

3. 그래프 추천 엔진을 통한 추천 후보 도출
그래프 추천 시스템의 로직은 메타데이터의 관계를 정의하고 그래프로 구축한 후, 이를 기반으로 다양한 그래프 분석 기법을 통해 추천 후보군을 도출할 수 있습니다. 다음의 두 가지 예를 통해 그래프 추천 로직을 간단하게 소개합니다. 

3.1.  유사도 기반의 추천의 그래프 적용
사용자의 평가 기록이 사용자 - 영화 간 그래프로 구축되어 있기에 이를 기반하여 사용자 평점 유사도 기반 협업 필터링 추천 기법을 사용할 수 있습니다.  또한, 사용자 간 유사도의 값을 그래프의 엣지에 저장하여 그래프 군집 기법인 Community Dectection을 사용하여 취향이 비슷한 유저 간의 그룹을 형성 및 관리하여 추천에 사용할 수 있습니다.

3.2. 영화와 관련된 속성을 그래프로 연결하여 그래프 분석 적용
영화에 출연한 인물 및 감독들을 그래프로 연결하여서 중심성 분석(PageRank) 기법을 활용하면 사용자가 선호하는 영화의 출연한 인물들에 대해 찾을 수 있고, 영화에 대한 각종 Tag들 또한 그래프로 구축한다면 사용자가 선호하는 Tag 기반의 추천 기법을 사용할 수 있습니다.

 

4. 개인별 맞춤 영화 추천
추천 로직을 통하여 생성된 영화 후보군 가운데 개인별로 이미 평가를 한 영화는 제외해야 하며, 후보 간에 다수의 평가를 받거나 평균 평점을 고려하여 Re-Rank를 진행합니다. 각종 추천 기법 별로 Re-Rank 영화 중 5가지를 선별하여 사용자에게 추천합니다. 이때 추천 기법별로 5가지 영화를 사용자에 연결하여 그래프로 저장할 수 있습니다. 추천 모델이 주기적으로 한 번씩 업데이트되면서, 추천 기법 별로 5가지 영화를 주기적으로 업데이트하면서 관리할 수 있으며, 사용자에게는 실시간으로 추천 서비스를 제공받을 수 있습니다. 

 

 

이러한 그래프 기반 추천 시스템은 다수의 사용자와 대량의 콘텐츠를 운영하는 시스템의 지식베이스로 활용하기 적합하며, 시스템 운영자의 모델 운용 역량에 따라 다양하고 그 효과가 더 극대화될 수 있습니다. 단, 다양한 콘텐츠를 연결하여 데이터를 저장할 때 여러 가지 오픈데이터의 고유값들을 잘 고려하여 저장할 필요가 있으며, 수많은 사용자의 평가를 콘텐츠에 연결하여 서비스를 운영할 때, 분산 저장 기술 및 그래프 대용량 모델링 기법을 같이 고려하는 것을 권고합니다. 그래프의 대용량 데이터의 모델링에 대한 상세한 설명은 G-PAS 이론편의 그래프 DB의 대용량 데이터 모델링을 참고하시길 바랍니다.

 

 

G-PAS 이론편: 그래프 DB를 활용한 예측 분석

본 글은 비트나인에서 출시한 솔루션 중 하나인 그래프 데이터베이스를 활용한 예측분석 시스템(G-PAS)에 대한 내용을 다루고 있습니다. G-PAS란?  G-PAS, 빅데이터 예측분석 시스템 그래프 예측분

bitnine.tistory.com

 

 

그래프 기반 추천 시스템, 어디에 많이 사용되고 있는가?

실제로 넷플릭스 추천 시스템에도 그래프를 이용한 기술이 추천 시스템에 적용되었으며, 영상 스트리밍 플랫폼뿐만 아니라 이베이(EBay)나 옥션(Auction)과 같은 E-Commerce 분야에서도 적극적으로 사용되고 있습니다. Elasticsearch나 Hadoop의 Hbase를 연계한 그래프 기술을 적용한 분산 저장기법이 이미 시중에 잘 적용이 되고 있습니다. 최근, 그래프 분산 저장기법 및 추천 알고리즘 고도화 연구 등의 논문들이 많이 나오고 있으며 다양한 관계 데이터 분석에 대한 니즈가 급증했음을 알 수 있습니다.  

 

 

글: 그래프 사이언스 R&D 센터


 

트렌디한 그래프 기술과 IT 소식을 뉴스레터로 받아보세요!

https://bitnine.net/ko/subscribe/

 

제품 및 기술문의

070-4800-3517  |   agens@bitnine.net