KR101459537B1 - 링크 예측을 이용한 소셜 추천 방법 - Google Patents

링크 예측을 이용한 소셜 추천 방법 Download PDF

Info

Publication number
KR101459537B1
KR101459537B1 KR1020120150866A KR20120150866A KR101459537B1 KR 101459537 B1 KR101459537 B1 KR 101459537B1 KR 1020120150866 A KR1020120150866 A KR 1020120150866A KR 20120150866 A KR20120150866 A KR 20120150866A KR 101459537 B1 KR101459537 B1 KR 101459537B1
Authority
KR
South Korea
Prior art keywords
user
social
users
item
matrix
Prior art date
Application number
KR1020120150866A
Other languages
English (en)
Other versions
KR20140087065A (ko
Inventor
이재훈
윤효진
장해
김종권
Original Assignee
서울대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서울대학교산학협력단 filed Critical 서울대학교산학협력단
Priority to KR1020120150866A priority Critical patent/KR101459537B1/ko
Publication of KR20140087065A publication Critical patent/KR20140087065A/ko
Application granted granted Critical
Publication of KR101459537B1 publication Critical patent/KR101459537B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

임의의 사용자가 선택을 할 때 다른 사용자의 견해에 영향을 받는, 즉 다른 사용자의 행동에 대해 의존성이 존재하는 trust 관계에 대한 정보를 추천 시스템에 적용한다. 본 발명에 따른 소셜 추천 방법은, 사용자와 아이템을 매핑하여 사용자-아이템 매트릭스를 형성하는 단계; 상기 사용자에 대하여 Jaccard Coefficient를 계산하여 계산된 Jaccard Coefficient가 미리 정한 임계값 이상인 경우 소셜 관계가 있는 것으로 판단하여 소셜 링크를 증가시키는 단계; 및 상기 사용자-아이템 매트릭스에 증가된 상기 소셜 링크를 추가하는 단계를 포함하며, Pearson Coefficient Correlation 방법을 사용하여 유사도를 평가하고 평가한 상기 유사도를 더 고려하여 상기 소셜 링크를 증가시킬 수 있다.

Description

링크 예측을 이용한 소셜 추천 방법{Method and system for Social Recommendation with Link Prediction}
본 발명은 소셜 추천 방법에 관한 것으로서, 더 구체적으로는 신뢰(trust) 관계에 있는 사용자들을 이용한 링크 예측 기법을 사용하여 성능을 향상시킨 소셜 추천 방법에 관한 것이다.
추천 시스템은 사용자가 원하는 아이템을 과거의 행동에 기반하여 관심 있어 할 만한 아이템을 예측하여 추천하는 시스템이다.
인터넷의 발달로 사용자가 온라인에서 접하는 정보의 양도 그만큼 커지게 되었다. 정보의 홍수 속에서 자신이 원하는 정보 (책, 영화, 음악 등)를 찾기 어려워진 것이다. 따라서 사용자에게 개별적으로 자신에게 맞는 정보를 찾아주거나 추천 리스트를 보여 주는 것이 중요한 역할을 하게 되었다. 사용자의 취향에 맞는 추천 시스템 설계 문제는 이미 오래전부터 통합적이고 광범위하게 연구되고 있는 분야이다. 추천 시스템은 소비자와 판매자 모두에게 득이 될 수 있는데, 소비자 입장에서는 사용자 취향에 맞는 새로운 상품들을 손쉽게 구매할 수 있고, 판매자는 각 사용자의 취향에 맞는 상품을 예측하여 추천함으로써 소비자의 구매 만족도를 높여 소비자가 지속적으로 구매하게 할 수 있다. 추천 시스템은 이미 아마존, 넷플릭스 등과 같은 대규모 온라인 컨텐츠 판매 사이트에서 활발하게 사용되고 있으며 기업의 매출을 높이는데 영향을 미치고 있다.
전통적인 추천 시스템은 content-based 방법과 Collaborative Filtering 방법이 있다.
Content-based는 타겟 사용자에 대한 profile을 보고 수많은 아이템 속에서 비슷한 것을 찾는 것이다. 예를 들어 어떤 사용자가 한 영화에 대해 평가를 했을 때, 그 영화에 대한 장르, 배우, 평점 들을 사용하여 사용자가 관심을 가질 만한 영화를 추천하는 것을 말한다. 사용자가 관심을 보였던 아이템들에 대한 정보만을 이용하기 때문에 다른 사용자들의 평가가 필요가 없고, 새로운 아이템에 대해서도 평가가 없어도 추천될 수 있다.
하지만 유머와 같이 content를 분석하기 어려운 것들을 추천하기 어렵고, 한 사용자가 추천 시스템에 처음 들어왔을 때 사용자가 일정 아이템에 대한 점수 기록이 있어야 사용할 수 있다.
Collaborative Filtering은 사용자가 과거에 매긴 상품의 평점 정보를 바탕으로 이와 유사한 성향을 보이는 다른 사용자들의 새로운 상품을 해당 고객에게 추천하는 방법을 사용한다. 예를 들어 해당 사용자와 유사한 평점 경향을 보이는 다른 사용자 정보를 이용하거나 해당 사용자가 긍정적으로 평가한 상품들을 분석하여 유사한 상품을 추천하는 방법이 있다. 이러한 방법은 추천받고자 하는 사용자가 추천 시스템에서 다수의 아이템에 대해 점수를 주었을 때 잘 작동한다.
예컨대, 선행특허(공개번호 10-2009-0020817) 협동적 필터링 기반의 추천 시스템 및 방법과 이웃 선정방법은 전통적인 추천 시스템에서 가장 널리 쓰이는 기술인 협동적 필터링(Collaborative Filtering)을 이용하는 것으로서, 사용자의 선호도를 수집하여 데이터베이스를 구축하고 특정 사용자와 유사한 취향이나 정보요구를 갖는 이웃들을 찾아내어 이웃들이 선호하는 아이템을 사용자에게 추천하는 것을 특징으로 한다.
이러한 선행특허는 협동적 필터링을 통해 유사한 취향을 갖는 이웃들에 따라 아이템에 대한 추천 여부를 결정하기 때문에, 추천의 질 향상을 위해 특정 사용자에게 가장 적합한 이웃들을 선정하는 것이 무엇보다 중요하다.
하지만 이 방법 또한 어떤 사용자가 시스템에 처음 들어왔을 때에는 cold start 문제가 발생한다. 이는 어떤 사용자가 아이템에 대한 평가가 적어서 추천을 위한 다른 사용자와 아이템들과의 similarity를 구하는 정보가 부족하여 사용자에게 원하는 아이템을 추천할 수 없는 경우를 말한다.
위의 방법들은 기본적으로 모든 사용자들이 독립적이고, 서로에게 영향을 주지 않는다는 가정 하에 추천 시스템을 제안하고 있다. 하지만 실제 상황에서 우리는 어떤 물건을 구매할 때, 내가 선호하는 물건을 사기도 하지만 다른 사람들, 즉 내가 살 물건에 대한 전문가나 친구들한테 조언을 듣고 사는 경우도 있다. 친구들의 취향이 나의 행동에 영향을 미친다는 연구 결과가 있으며, 이에 따라 친구들 간의 입소문 (word-of-mouth) 또한 추천 시스템을 적용하는데 있어서 중요한 요소로 고려되어야 한다.
페이스북이나 트위터와 같은 소셜 네트워킹 사용자의 폭발적인 증가는 오프라인으로 존재하던 입소문의 존재를 온라인으로 이동시켰으며, 확산 속도 또한 급격히 증가하고 있다. 입소문을 이용하여 페이스북에서 광고했을 때의 매출 증가는 통계적으로 입증되고 있다. 소셜 네트워크 서비스란 공통의 취미나 환경, 관심사 등을 가진 사람들(고등학교 동창이나 회사 동료, 동호회 사람들) 간에 인터넷과 스마트폰을 이용하여 서로 정보를 교환하고, 친분을 다지며 상호 간의 모임을 온라인 공간에 제공하는 일련의 서비스를 의미한다. 멀리 떨어져 있거나 자주 보지 못하더라도 사람들은 이러한 서비스를 통해 친밀도를 높일 수 있으며 실시간으로 연락하고 새로운 사람들을 만날 수 있다는 장점이 있다. 소셜 네트워크는 더 이상 단순히 검색의 기능만 하는 것이 아니라 상호 교류를 통해 관심사를 공유하는 데 큰 역할을 한다.
본 발명은 상술한 바와 같은 기술적 배경에서 안출된 것으로서, 본 발명에서는 사용자 간의 관계를 이용하여 기존의 추천 시스템의 성능을 향상시킬 수 있는 방법을 제공하는 것을 그 과제로 한다.
본 발명의 다른 과제는 collaborative filtering 방법이 가지고 있는 한계를 보완할 수 있는 소셜 추천 방법을 제공하고자 하는 것이다.
이와 같은 과제를 해결하기 위하여 본 발명에서는 임의의 사용자가 선택을 할 때 다른 사용자의 견해에 영향을 받는, 즉 다른 사용자의 행동에 대해 의존성이 존재하는 trust 관계에 대한 정보를 추천 시스템에 적용한다.
즉, 본 발명의 일 면에 따른 소셜 추천 방법은, 기억장치; 및 처리장치를 포함하는 컴퓨터에 의해 수행되며, 사용자와 아이템을 매핑하여 사용자-아이템 매트릭스를 형성하는 단계; 상기 사용자에 대하여 Jaccard Coefficient를 계산하여 계산된 Jaccard Coefficient가 미리 정한 임계값 이상인 경우 소셜 관계가 있는 것으로 판단하여 소셜 링크를 증가시키는 단계; 및 상기 사용자-아이템 매트릭스에 증가된 상기 소셜 링크를 추가하는 단계를 포함하여 이루어진다.
상기 소셜 링크를 증가시키는 단계에서는 다음의 [수학식 3]이 상기 임계값 이상인 경우 상기 소셜 링크를 증가시킬 수 있다.
[수학식 3]
Figure 112012106581963-pat00001
또한, 상기 소셜 링크를 증가시키는 단계에서는, Pearson Coefficient Correlation 방법을 사용하여 유사도를 평가하고 평가한 상기 유사도를 더 고려하여 상기 소셜 링크를 증가시킬 수 있으며, 이 경우, 다음의 [수학식 6]이 상기 임계값 이상인 경우 상기 소셜 링크를 증가시킨다.
[수학식 6]
Figure 112012106581963-pat00002
상기 유사도는 다음의 [수학식 9]에 의해 평가할 수 있다.
[수학식 9]
Figure 112012106581963-pat00003
상기 [수학식 6]의 β는 0.01인 것이 바람직하며, 상기 소셜 링크를 증가시키는 단계에서는, 상기 사용자가 이미 맺고 있는 소셜 링크의 수의 20 내지 30배까지 상기 소셜 링크를 증가시키는 것이 바람직하다.
본 발명에서는 소셜 기반 추천 시스템에 인접 노드 기반의 링크 예측을 통해 추가한 친구들을 포함시키되, 링크 예측 시 두 사용자 간에 관계를 맺을 확률이 높은 사용자들부터 링크를 추가하는 기법을 사용하였으며, 링크를 추가할 때 기준이 되는 threshold에 따라 달리 실험하여 추천 시스템에 적용할 수 있는 최적값을 찾았다.
이에 따라, 본 발명에 따른 추천 방법은 추가적인 소셜 관계를 고려하지 않는 기존의 추천 방법들에 비해 추천 시스템의 성능을 향상시킬 수 있다.
도 1은 본 발명의 실시예에 따른 소셜 추천 기법에서 사용하는 사용자-아이템 매트릭스의 예를 나타낸다.
도 2는 본 발명의 실시예에 따른 소셜 추천 기법에서 사용하는 소셜 트러스트 관계의 예를 나타낸다.
도 3은 링크 예측에 대한 간단한 예시를 나타낸다.
도 4는 X와 Y 사이의 링크 예측을 예시한 것이다.
도 5a 및 도 5b는 각각 MAE와 RMSE의 방법으로 본 발명의 실시예에 따른 예측방법과 종래의 방법의 성능을 평가한 결과를 나타낸다.
도 6a와 도 6b는 파라메터 β에 따른 MAE와 RMSE의 변화를 각각 나타낸 것이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하에서, 첨부한 도면을 참고로 하여 본 발명의 실시예에 따른 링크 예측을 이용한 소셜 추천 기법에 대하여 상세히 설명하기로 한다.
본 발명의 실시예에 따른 링크 예측을 이용한 소셜 추천 기법에서는 사용자 간의 관계를 이용하여 기존의 추천 시스템의 성능을 향상시키기 위해 Trust 관계를 사용한다. Trust 관계의 정의는 다음과 같다. 사용자 A가 사용자 B에게 어떤 서비스 S에 대해 trust 하고 있다는 의미는 A의 입장에서 B가 선택한 서비스에 대해서 신뢰하며 B의 행동에 의존성(dependent)이 존재한다는 의미이다. 즉 내가 어떤 사람한테 trust 관계가 있다는 것은 내가 아이템을 선택할 때 상대방의 견해에 영향을 받는다는 의미이다.
이에 따라, 본 발명의 실시예에 따른 링크 예측을 이용한 소셜 추천 기법에서는 소셜 기반 추천 시스템에 인접 노드 기반의 링크 예측을 통해 추가한 친구들을 포함시키는 방법을 사용한다. 링크 예측 시에는 두 사용자 간에 관계를 맺을 확률이 높은 사용자들부터 링크를 추가하는 기법을 사용하며, 링크를 추가할 때 기준이 되는 threshold에 따라 달리 실험하여 추천 시스템에 적용할 수 있는 기준 값을 정한다.
먼저, 본 발명에서 해결하고자 하는 문제를 정의하고 본 발명의 실시예에 따른 소셜 기반 추천 시스템에서 주로 사용하는 matrix factorization에 대해 설명한다.
추천 시스템은 사용자 U={u1,u2,…um}와 아이템 V={v1,v2…vn}으로 구성되어 있고, 이를 사용자 i가 아이템 j에 대한 평가를 한 점수 매트릭스로
Figure 112012106581963-pat00004
으로 나타낸다. Rij는 사용자들이 매긴 점수들의 매트릭스로써 [1~5]의 범위에 속한다.
도 1은 본 발명의 실시예에 따른 소셜 추천 기법에서 사용하는 사용자-아이템 매트릭스의 예를 나타낸다. 도 1을 통해 사용자와 아이템, 점수에 대한 관계를 알 수 있다.
소셜 trust 관계는 도 2와 같이 나타낼 수 있다. 한 사용자 i가 다른 사용자 j한테 trust를 하면 i는 j가 선택한 아이템들에 대해 신뢰한다는 의미이다. 이 관계는 비대칭으로 내가 다른 사람에게 trust를 한다고 해서 상대방도 무조건 나를 trust 하는 관계는 아니다. 이를
Figure 112012106581963-pat00005
매트릭스로 나타낼 수 있다. Tij 값은 [0,1]로 나타내는데, 만약 0이면 사용자 i와 사용자 j가 trust 관계가 없다는 것을 말하고, 1이면 관계가 있다는 의미이다.
본 발명의 실시예에 따른 소셜 추천 기법에서는 matrix factorization을 통해 사용자-아이템 간의 관계뿐 아니라 소셜 관계에 있는 사용자 간 similarity도 고려하여 실제 추천 시스템에 맞는 모델을 제안하고 또한 사용자들 간의 관계를 미리 예측하여 이를 추가로 적용한다. 이를 통해 기존의 trust 관계를 증가시켰을 경우 예측 성능이 어떻게 변하는지에 대해 후술할 것이다.
Matrix factorization model은 모델 기반의 추천 시스템에서 가장 많이 사용하고 있는 방법 중 하나이다. 먼저 사용자와 아이템을 각각의 latent feature와 dimensionality에 매핑시킨다. 각 사용자와 아이템에 대한 매트릭스는 각각 사용자와 아이템에 대한 latent feature을 나타내는데 이 둘을 곱하면 (inner product) 사용자 i가 선택한 아이템 j에 대한 특성을 알 수 있다. 따라서 Matrix factorization을 사용하는 목적은 사용자와 아이템의 latent feature variable를 학습하여 사용자의 기호에 맞는 아이템을 추천하는 데 있다.
사용자-아이템 매트릭스를 R 이라 하고 사용자의 수 m과 아이템의 수 n으로 구성되어 있다고 했을 때 사용자-아이템 매트릭스를 R을 다음의 [수학식 1]과 같이 나타낼 수 있다.
Figure 112012106581963-pat00006
Figure 112012106581963-pat00007
,
Figure 112012106581963-pat00008
로서 각각 사용자와 아이템에 대한 매트릭스이고, k는 R 매트릭스의 dimension을 의미한다 [k<min(m, n)]. 위 식을 Singular Value Decomposition (SVD)의 least-squares minimization 문제로 바꿔서 표현하면
Figure 112012106581963-pat00009
으로 나타낼 수 있고, R 매트릭스의 크기에 비해 실제로 사용자가 아이템에 매긴 점수가 적어서 희소하기 때문에 값이 있는 부분만 계산하는 indicator 함수로 Iij를 사용한다. 사용자 i가 아이템 j에 점수를 부여했을 때 Iij는 1이고 아닐 때는 0이다. 이를 표현하면 다음의 [수학식 2]와 같다.
Figure 112012106581963-pat00010
본 발명에서는 최적화 문제를 해결하기 위해 gradient descent방법을 사용하여
Figure 112012106581963-pat00011
,
Figure 112012106581963-pat00012
의 지점을 찾는다. 또한 overfitting을 막기 위해 정규화 부분을 포함시키면 [수학식 2]는 다음의 [수학식 3]과 같이 표현할 수 있다.
Figure 112012106581963-pat00013
여기서 F는 Frobenius norm을 의미한다.
다음으로 링크 예측(Link Prediction)에 대하여 설명한다.
링크 예측 문제(Link Prediction problem)는 노드 V={v1,v2…vn}, E는 노드 간 관찰된 관계, 소셜 네트워크 G=<V, E>로 구성되어 있다. 그리고 임의의 노드 Vi 와 Vj t사이에 관찰되지 않은 관계 Eij 를 찾는 것이다.
도 3은 링크 예측에 대한 간단한 예시이다. 관계를 예측하는데 있어서 구하는 척도로 Score(i, j)를 구하고 내림차순으로 정렬하여 가장 점수가 높은 순서대로 노드 간 관계를 추가한다. 노드i에서 Γ(i)의 의미는 소셜 네트워크 G에서 노드i와 인접하고 있는 노드들의 집합을 의미한다. Score(i, j)를 구하는 방법에는 인접 노드 간 similarity를 이용하는 local neighbor based 방법과 노드가 소셜 네트워크에 맺고 있는 관계에 따라 측정하는 global path based 방법이 있다.
먼저 Local Neighbor based 방법에는 Common neighbor, Adamic/adar index, Preferential attachment 등이 있다. Common Neighbor는 두 노드 i, j간에 서로 공통으로 알고 있는 노드들이 많으면 미래에 서로 관계를 맺을 가능성이 크다는 방법이다. 예를 들어 두 노드가 서로 공통으로 알고 있는 노드의 수로써 두 노드가 관계를 맺을 가능성을 측정한다. Adamic/adar는 두 노드가 공통으로 알고 있는 노드의 relation에 따라 점수(score)를 부여하는 방법이다. 예를 들어 두 노드i, j가 공통으로 관계를 맺고 있는 노드 z가 있을 때 만약 z가 많은 노드들과 관계를 맺고 있다면 노드i, j는 서로 관계를 맺을 가능성이 작고 z가 적은 노드 들과 관계를 맺고 있음에도 i, j가 공통으로 관계를 맺고 있다면 이 둘은 미래에 서로 관계를 맺을 가능성이 크다는 것을 이용한다. Preferential attachment는 두 노드 i, j가 서로 관계를 맺을 확률은 각자 맺고 있는 관계가 많을수록 증가한다는 것을 적용한 방법이다. 만약 두 노드 i, j가 서로 많은 관계를 맺고 있다면 둘은 서로 관계를 맺을 가능성이 클 것이라고 가정하였다.
Global path based방법에는 Kartz, RWR, Hitting time 등이 있다. Kartz는 임의의 두 노드 i , j 간에 모든 경로를 더하면서 damping factor를 두어 가까운 거리에 있는 노드에 가중치를 더 주는 방법이다. 두 노드의 경로 길이가 가까울수록 서로 관계를 맺을 가능성이 크다. Hitting- time은 임의의 한 노드 x에서 인접 노드로 랜덤 워크를 하면서 도착한 노드 y까지 왕복한 시간의 합으로 두 노드 간의 스코어를 구한다. Hxy를 x에서 y까지 가는데 걸리는 시각, Hyx 를 y에서 x까지 오는데 걸리는 시간이라고 하면 두 노드 x, y간의 스코어는 Hxy+ Hyx로 구할 수 있다.
이제, 링크 예측이 추천 시스템에 어떤 영향을 미치는지 알아보고 이를 소셜matrix factorization 방법을 통해 적용한다.
먼저, 사용자 간 trust 관계를 증가시키는 방법을 설명하고, 기존의 matrix factorization 방법에 어떻게 소셜 정보를 추가하는지에 대해 설명한 다음, trust 관계가 있는 두 사용자 간 similarity를 구하는 방법에 대해 설명한다.
링크 예측에 의한 소셜 링크 증가(Social Link increase by link prediction)에 대하여 먼저 설명한다.
우리는 어떤 물건을 구매할 때 나의 주변 사람들에게 영향을 받는다는 것과 소셜 네트워크 속에서 사용자들의 관계가 점점 증가한다는 이론에 바탕을 두고, 링크 예측을 통해 서로 관계가 있을 만한 사람들을 미리 찾아 연결하는 방법을 사용한다. 예를 들어 어떤 사용자가 소셜 네트워크 서비스에 처음 가입했을 때 사용자와 관계를 맺은 사용자들이 적지만, 만약 현재 맺고 있는 관계를 바탕으로 같은 학교나 회사, 동호회 출신의 사람들을 추천해 준다면 사용자는 손쉽게 나와 관련된 사람들과 관계를 맺고 그들과 의사소통하며 생각을 교환할 것이다. 따라서 링크 예측을 통한 관계의 증가는 내가 아이템을 살 때 조언을 얻을 사람들이 많아진다는 것을 의미하고, 나와 취향이 비슷한 많은 사용자들의 의견을 종합하여 선택할 기회가 증가한다. 따라서 본 발명의 실시예에서는 이를 trust 관계에 적용하여 내가 아이템을 추천받을 때 증가시킨 trust 관계에 있는 사용자들의 집합을 사용한다.
도 4는 X와 Y 사이의 링크 예측을 예시한 것이다.
링크 예측 방법으로 인접 노드 기반의 jaccard coefficient를 사용하여 아직 관계가 없는 두 사용자 간에 점수 (score)를 구하고, 일정 threshold보다 크면 서로 trust 관계가 있다고 하는 것이다. 이를 통해 사용자들 간 trust 관계가 적다고 하더라도 링크 예측을 통해 trust할 사용자들을 미리 추가시킴으로써 원래 사용할 수 없었던 사용자들의 정보들까지 이용할 수 있게 되었다. 두 사용자 x, y 와 관계가 있는 사용자들의 합집합과 교집합을 구하여 나누어서 그에 대한 점수를 구하고 threshold보다 값이 크면 서로의 trust 사용자의 집합에 포함시키는 것이다. 점수를 구하는 식은 다음의 [수학식 4]와 같다.
Figure 112012106581963-pat00014
Γ(.)는 사용자가 관계가 있는 다른 사용자들의 집합이다. 예를 들어 그림 4에서 두 사용자 X와 Y간 score(X,Y)를 구하면 score(X,Y)=2/(6+6-2)=0.2 가 된다. 이러한 점수로 두 사용자 간의 관계를 결정한다. Jaccard coefficient를 사용한 이유는 만약 사용자 A와 B의 관계가 strong tie 이고, A와 C의 관계 또한 strong tie이면 B와 C는 strong tie이거나 weak tie이라는 triadic closure을 반영하면서, 공통 사용자에 대한 기준을 세우기 위해서이다. 본 발명의 실시예에서 사용하는 trust 관계는 strong과 weak tie를 구분하지 않기 때문에 두 사용자 간에 공통으로 관계가 있는 사용자들과 두 사용자 각각 관계를 맺고 있는 사용자들에 따라 trust 관계의 유무가 결정된다.
만약 두 사용자가 공통으로 관계를 맺고 있는 사용자가 있다고 하더라도 두 사용자 각각 관계가 있는 사용자들이 많다면 점수를 낮게 부여하고, 두 사용자가 각각 관계를 맺고 있는 사용자가 적음에도 공통으로 관계를 맺고 있는 사용자가 있다면 점수를 높게 할당한다. 이것을 통해 관계가 형성될 가능성이 큰 사용자들의 관계를 추가하고자 하는 것이다. 현재 사용자들 간 trust 관계를 나타낸 매트릭스에서의 총 relation 수에서 배수로 증가시키는 Threshold δ를 찾고 그에 따라 trust 관계를 증가시켰다. Trust 관계는 비대칭 관계이기 때문에 본 발명의 실시예에서는 두 사용자가 서로 공통으로 trust 하는 사용자를 두 사용자 간 공통 사용자로 한정하였다.
이제, 기존의 사용자-아이템 매트릭스에 소셜 관계를 추가하여 사용자와 trust 관계가 있는 사람들의 취향도 같이 고려하는 방법에 대해 설명한다. 아이템을 선택할 때 사용자는 사용자가 trust 하고 있는 사용자들에게 영향을 받는다. 하지만 관계가 있다고 하더라도 서로의 성향이 다를 수 있는데 사용자와 사용자와 trust 관계에 있는 사용자들 간 각각의 개별적인 취향의 차이를 고려하기 위해 앞서 설명한 [수학식 3]에 다음의 [수학식 5]를 추가하였다.
Figure 112012106581963-pat00015
β>0이고 F+(i)는 사용자 i가 trust 한 사람들의 집합을 의미한다. 그리고 Ui와 Uf는 각각 한 사용자와 사용자가 trust 하고 있는 사용자들의 latent feature이고 사용자 i와 f 사이의 similarity를 아래의 [수학식 9]를 통해 구한다. 사용자 간 latent feature의 차이에 사용자 간 similarity을 곱함으로써 두 사용자의 similarity에 따라 친구들의 의견을 반영할 수 있게 된다. 만약 두 사용자의 similarity가 크면 두 사용자의 성향이 비슷하여 아이템 추천 시 trust 관계에 있는 사용자가 선택한 아이템의 점수를 많이 반영한다는 의미하고, 작으면 적게 반영한다는 것이다. 따라서 종합적으로 정리하면 다음의 [수학식 6]과 같다.
Figure 112012106581963-pat00016
Trust 관계는 친구 관계와 달리 비대칭이기 때문에 내가 상대방한테 trust 한다고 하더라도 상대방이 나한테 trust 한다는 보장이 없다. 비록 내가 trust 하지는 않았지만 상대방이 나에게 trust 관계를 맺을 수도 있기 때문에, 이러한 부분도 같이 반영하여 gradient descent 방법을 통해 latent feature Ui 와 Vj를 찾는다.
Figure 112012106581963-pat00017
Figure 112012106581963-pat00018
상기의 [수학식 7]에서
Figure 112012106581963-pat00019
이 상대방이 나에게 trust 관계를 맺었을 때를 고려한 부분인데, 여기서 F-(i)는 임의의 사용자들이 사용자 i에 대해 trust 관계에 있는 사용자들을 말한다.
이제 유사도 함수(Similarity Function)에 대해 설명한다.
두 object A와 B의 Similarity는 A와 B를 나타내는 정보와 A와 B에서 서로 공통적으로 나타나는 정보 간의 비율이다. 만약 두 object가 서로 비슷한 정보를 가지고 있다면 높은 similarity 값을 보일 것이다. 본 발명의 실시예에서는 사용자 간 아이템에 매긴 점수로 similarity를 구해 두 사용자가 서로 얼마나 성향이 비슷한지 알아보고자 한다. Similarity를 구하는 방법은 널리 쓰이는 방법 중 하나인 Pearson Coefficient Correlation(PCC) 방법을 사용하였다. 다음의 [수학식 9]를 통해 두 사용자 간에 공통으로 아이템에 점수를 매긴 것에 대해서만 similarity를 구한다.
Figure 112012106581963-pat00020
Rij와 Rfj는 각각 사용자 i와 f가 공통으로 매긴 아이템의 점수를 나타내고,
Figure 112012106581963-pat00021
Figure 112012106581963-pat00022
는 각각 사용자 i와 f가 매긴 아이템에 대한 평균값이다. 이는 사용자가 평균적으로 아이템에 매긴 점수 성향도 같이 고려하고자 하는 것이다.
이제 상술한 본 발명의 실시예에 따른 링크 예측을 통한 소셜 추천 기법에 대한 실험 결과를 기술한다.
실험에서 데이터 셋은 Epinion을 사용하였다. Epinion은 1999년도에 미국에서 만들어진 사이트로써 주로 사용자들이 어떤 상품(영화, 책, 음악, 전자기기 등)에 대한 평가를 하고 다른 사용자들과 의견을 교환한다. 한 사용자가 직접 어떤 항목에 대해 보거나 사용하고 나서 그에 대한 평가를 한 것에 대하여 다른 사람들이 그 평가를 보고 그에 대한 점수를 매길 수 있다(1~5점). 점수가 높으면 평가한 글에 대한 신뢰도가 높다는 의미고, 낮으면 그가 평가한 것을 신뢰하지 않는다는 것이다. 일종의 트위터와 같은 단방향 소셜 관계를 사용한다. Epinion 데이터셋은 49,290의 사용자와 139,738개의 서로 다른 아이템으로 구성되어 있고, 총 점수 매긴 아이템의 수는 664,824개 이다. 그리고 사용자 간의 trust 관계는 511,799개로 구성되어있다.
기존의 방법과 본 발명의 실시예에 따른 예측방법의 성능을 측정하기 위하여 Mean Absolute Error(MAE)와 Root Mean Square Deviation(RMSE)를 사용한다.
MAE는 다음의 [수학식 10]과 같이 정의한다.
Figure 112012106581963-pat00023
T는 테스트 데이터에 있는 데이터의 수를 나타내고, Rij는 실제 사용자 i가 아이템 j에 매긴 점수,
Figure 112012106581963-pat00024
는 예측한 점수를 나타낸다. 이 값이 낮을수록 실제 값과 예측한 값이 비슷하다고 할 수 있다.
RMSE는 다음의 [수학식 11]과 같이 정의한다.
Figure 112012106581963-pat00025
상술한 MAE와 RMSE를 사용하여 기존의 방법과 본 발명의 실시예에 따른 예측방법의 성능을 평가해보았다.
우리는 Epinion 데이터를 80%의 훈련 데이터와 20%의 테스트 데이터로 나누어 사용하였다. dimension k는 10으로 하였고, 5개의 랜덤한 훈련 데이터와 테스트 데이터로 실험한 결과의 평균값을 사용하였다. 모든 실험에서 정규식 파라메터인 λ1, λ2는 모두 0.01을 사용하였다.
비교에 사용된 종래기술은 다음과 같다.
1. PMF: 이 방법은 단지 사용자-아이템 행렬만 사용하여 probabilistic matrix factorization를 통해 점수를 예측한다
2. SR_pcc: 사용자-아이템 행렬과 사용자 간의 trust 관계를 같이 사용하여 점수를 예측한다.
3. ASS: 기존의 SR_pcc 방법에 trust 관계에서 사용자 간의 similarity를 사용자 간 feature값으로 구한다.
도 5a 및 도 5b에 상술한 두 가지 방법으로 본 발명의 실시예에 따른 예측방법과 종래의 방법의 성능을 평가한 결과를 나타내었다.
PMF는 다른 방법에 비해 MAE 값이 높은데 이유는 사용자 간에 관계를 고려하지 않고 단지 사용자-아이템 매트릭스만을 이용하여 점수를 예측했기 때문이다. SR_pcc는 사용자의 친구들의 의견을 취향에 따라 similarity를 달리 반영하는 방법이다. 따라서 PMF방법보다 사용자 간의 관계를 반영하였기 때문에 나은 성능을 보였다. ASS는 trust 관계에 있는 사용자 간에 similarity를 구할 때 사용자의 latent feature를 사용하여 사용자 간 관계가 있어도 공통으로 점수를 매긴 아이템이 없는 단점을 보완하여 SR_pcc보다 나은 성능을 보이고 있다. 이는 기존에 사용할 수 없었던 사용자 간의 similarity를 사용할 수 있었기 때문이다. 하지만 본 발명의 실시예에 따른 예측 방법이 종래기술에 따른 다른 방법들보다 더 좋은 성능을 보였는데, 이유는 사용자 간에 관계가 늘어나서 나와 비슷한 성향의 사용자들이 매긴 점수를 사용자의 아이템 점수 예측에 충분하게 사용할 수 있었기 때문이다. 또한 ASS보다도 나은 성능을 보이는 이유는 기존의 trust 관계에 있는 사용자들의 성향을 더 이용하는 것보다 나와 성향이 비슷한 사용자들을 추가하여 반영하는 것이 성능 향상에 더 큰 부분을 차지한다고 볼 수 있다.
다음은 파라메터 β와 δ에 따른 영향을 살펴본다.
파라메터 β는 matrix factorization에서 trust 관계의 영향을 얼마나 받을 것인지에 대한 값이다. 만약 값이 0이면 trust 관계가 영향을 전혀 미치지 않으면서 기존의 PMF와 같은 방법이 되고, 1이면 소셜 관계를 전부 반영한다는 의미이다.
도 6a와 도 6b는 파라메터 β에 따른 MAE와 RMSE의 변화를 각각 나타낸 것으로서, 도 6a와 도 6b를 통해 β값 0.01을 경험적으로 찾을 수 있다.
다음의 [표 1]은 관계 예측 추가분에 대한 MAE, RMSE 값의 변화를 나타낸다.
Original trust relation x5 x10 x15 x20 x25 x30
MAE 0.9397798 0.9365754 0.9342748 0.9323906 0.9316018 0.930098 1.2467
RMSE 1.207254 1.204576 1.202236 1.20035 1.199536 1.198224 1.58628
기존의 trust 관계에 링크 예측을 통한 관계의 증가분을 나타내는 파라메터인 δ를 찾기 위해서 우리는 추가되는 관계가 기존의 관계에서 얼마나 증가되어야 가장 좋은 결과를 얻을 수 있는지를 알아보았다. 우리는 표 1를 통해 Jaccard coefficient를 사용하여 사용자 간 관계가 기존의 trust 관계에 비해 각각 5배~30배까지 증가시키고 관계를 추가했을 때에 대한 MAE, RMSE 값의 경향을 관찰하였다. 실험을 통해 기존의 관계보다 25배까지 증가시켰을 때 성능이 점점 향상되는 것을 보였다. 우리는 처음에 사용자 간 관계를 예측할 때 threshold가 높은, 즉 사용자와 관계를 맺을 가능성이 큰 사용자들만을 추가시켰을 때 좋은 성능이 나올 것으로 예측하였으나 성능 향상에 특정 임계점이 존재한다는 것을 발견하였다. 또한 적은 사용자들의 관계만을 추가했을 시에는 기존의 방법과 큰 차이를 보이지 않았다. 이것으로 보아 jaccard coefficient를 사용한 링크 예측 방법을 추천 시스템에 적용했을 때 예측 성능이 좋아지는 것을 확인할 수 있었다. 하지만 임계점보다 많이 추가했을 시에 성능이 저하되는 것을 관찰하였는데 이는 추천 시스템에서 trust 사용자들의 정보를 너무 많이 추가하여 제 성능을 발휘하지 못했다. 따라서 threshold를 정할 때 링크의 추가분을 고려해야 한다.
상술한 바와 같이 본 발명의 실시예에 따른 추천 방법에서는 링크 예측을 통해 추가한 사용자들 간의 trust 관계를 소셜 추천 시스템에 적용하였으며, 링크 예측을 통해 사용자 간의 관계를 어느 정도 증가시키면 다른 방법들에 비해 예측 성능이 더 좋아지는 것을 확인할 수 있었다. 추천 시스템에 적합한 링크 예측 기법으로 Jaccard Coefficient 를 이용하였고 링크 예측을 통해 관계를 추가했을 때에 대한 한계치까지 알아보기 위해 실제 데이터에서 실험하였다. 기존의 관계보다 약 25배까지 증가시켰을 때까지 계속 성능이 향상되면서 기존의 방법보다 더 좋은 결과를 얻을 수 있었다.
이상에서 바람직한 실시예를 기준으로 본 발명을 설명하였지만, 본 발명의 장치 및 방법은 반드시 상술된 실시예에 제한되는 것은 아니며 발명의 요지와 범위로부터 벗어남이 없이 다양한 수정이나 변형을 하는 것이 가능하다. 따라서, 첨부된 특허청구의 범위는 본 발명의 요지에 속하는 한 이러한 수정이나 변형을 포함할 것이다.

Claims (5)

  1. 기억장치; 및
    처리장치를 포함하는 컴퓨터에 의해 수행되는 소셜 추천 방법으로서,
    사용자와 아이템을 매핑하여 사용자-아이템 매트릭스를 형성하는 단계;
    상기 사용자에 대하여 Jaccard Coefficient를 계산하여 계산된 Jaccard Coefficient가 미리 정한 임계값 이상인 경우 소셜 관계가 있는 것으로 판단하여 소셜 링크를 증가시키는 단계; 및
    상기 사용자-아이템 매트릭스에 증가된 상기 소셜 링크를 추가하는 단계를 포함하고,
    상기 소셜 링크를 증가시키는 단계에서는,
    다음의 수학식이 상기 임계값 이상인 경우 상기 소셜 링크를 증가시키는 것
    인 소셜 추천 방법.
    Figure 112014044758614-pat00036

    (R: 사용자-아이템 매트릭스, U:사용자에 대한 매트릭스, V:아이템에 대한 매트릭스, m: 사용자의 수, n: 아이템의 수, i:사용자, j:아이템, Iij:indicator 함수, λ1, λ2 :모든 실험에서 정규식 파라메터, F: Frobenius norm)
  2. 삭제
  3. 제1항에 있어서, 상기 소셜 링크를 증가시키는 단계에서는,
    Pearson Coefficient Correlation 방법을 사용하여 유사도를 평가하고 평가한 상기 유사도를 더 고려하여 상기 소셜 링크를 증가시키는 소셜 추천 방법.
  4. 제3항에 있어서, 상기 소셜 링크를 증가시키는 단계에서는,
    다음의 수학식이 상기 임계값 이상인 경우 상기 소셜 링크를 증가시키는 소셜 추천 방법.
    Figure 112014044758614-pat00037

    (R: 사용자-아이템 매트릭스, U:사용자에 대한 매트릭스, V:아이템에 대한 매트릭스, m: 사용자의 수, n: 아이템의 수, i, f:사용자, j:아이템, λ1, λ2 :모든 실험에서 정규식 파라메터, β>0, F+(i): 사용자 i가 trust 한 사람들의 집합, Ui, Uf: 사용자 i와 사용자 f가 trust 하고 있는 사용자들의 latent feature)
  5. 제1항에 있어서, 상기 소셜 링크를 증가시키는 단계에서는,
    상기 사용자가 이미 맺고 있는 소셜 링크의 수의 20 내지 30배까지 상기 소셜 링크를 증가시키는 소셜 추천 방법.
KR1020120150866A 2012-12-21 2012-12-21 링크 예측을 이용한 소셜 추천 방법 KR101459537B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120150866A KR101459537B1 (ko) 2012-12-21 2012-12-21 링크 예측을 이용한 소셜 추천 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120150866A KR101459537B1 (ko) 2012-12-21 2012-12-21 링크 예측을 이용한 소셜 추천 방법

Publications (2)

Publication Number Publication Date
KR20140087065A KR20140087065A (ko) 2014-07-09
KR101459537B1 true KR101459537B1 (ko) 2014-11-11

Family

ID=51736027

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120150866A KR101459537B1 (ko) 2012-12-21 2012-12-21 링크 예측을 이용한 소셜 추천 방법

Country Status (1)

Country Link
KR (1) KR101459537B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10379708B2 (en) 2014-09-26 2019-08-13 Mickael Pic Graphical user interface for a common interest social network
CN105891442B (zh) * 2016-03-31 2017-10-24 中国科学院南京土壤研究所 一种土壤质地颗粒含量预测方法
KR102076763B1 (ko) 2018-12-10 2020-02-12 단국대학교 산학협력단 기댓값 최대화 기반 네트워크 임베딩을 활용한 링크 예측 장치 및 방법
CN109886779A (zh) * 2019-01-30 2019-06-14 上海大学 一种智能商品推荐系统
CN110321494B (zh) * 2019-06-26 2021-08-31 北京交通大学 基于矩阵分解与网络嵌入联合模型的社会化推荐方法
CN113918823A (zh) * 2021-11-02 2022-01-11 中电万维信息技术有限责任公司 一种融合信任关系的排序学习poi推荐算法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11509019A (ja) * 1995-06-30 1999-08-03 マサチューセッツ インスティテュート オブ テクノロジー 自動コラボラティブ・フィルタリングを使用した項目推奨方法および装置
KR101073602B1 (ko) 2010-11-30 2011-10-14 중앙대학교 산학협력단 소셜 신뢰도 모델 생성 시스템 및 방법
JP2011257955A (ja) * 2010-06-08 2011-12-22 Nippon Telegr & Teleph Corp <Ntt> 推薦アイテムフィルタリング方法及び推薦アイテムフィルタリングプログラム
JP2012113505A (ja) * 2010-11-24 2012-06-14 Jvc Kenwood Corp アイテム選択装置、アイテム選択方法およびコンピュータプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11509019A (ja) * 1995-06-30 1999-08-03 マサチューセッツ インスティテュート オブ テクノロジー 自動コラボラティブ・フィルタリングを使用した項目推奨方法および装置
JP2011257955A (ja) * 2010-06-08 2011-12-22 Nippon Telegr & Teleph Corp <Ntt> 推薦アイテムフィルタリング方法及び推薦アイテムフィルタリングプログラム
JP2012113505A (ja) * 2010-11-24 2012-06-14 Jvc Kenwood Corp アイテム選択装置、アイテム選択方法およびコンピュータプログラム
KR101073602B1 (ko) 2010-11-30 2011-10-14 중앙대학교 산학협력단 소셜 신뢰도 모델 생성 시스템 및 방법

Also Published As

Publication number Publication date
KR20140087065A (ko) 2014-07-09

Similar Documents

Publication Publication Date Title
US20210133817A1 (en) Information Recommendation Method and Apparatus
JP5640015B2 (ja) 計算された評判又は影響度スコアに基づくランキング及び選択エンティティ
Yang et al. A survey of collaborative filtering based social recommender systems
Aamir et al. Recommendation system: state of the art approach
KR101459537B1 (ko) 링크 예측을 이용한 소셜 추천 방법
Liu et al. Trust beyond reputation: A computational trust model based on stereotypes
CN108920503A (zh) 一种基于社交网络信任度的微视频个性化推荐算法
CN106528643B (zh) 一种基于社交网络的多维度综合推荐方法
Liu et al. An integrated clustering‐based approach to filtering unfair multi‐nominal testimonies
US20190295106A1 (en) Ranking Vendor Data Objects
Mohammadi et al. Using the opinion leaders in social networks to improve the cold start challenge in recommender systems
CN105761154A (zh) 一种社会化推荐方法及装置
Ronen et al. Recommendations meet web browsing: enhancing collaborative filtering using internet browsing logs
US20090187465A1 (en) System and method for presenting supplemental information in web ad
Zhang et al. A trust-enriched approach for item-based collaborative filtering recommendations
WO2016011509A1 (en) Method and system for rating entities within a peer network
US20190066231A1 (en) Methods and systems for providing content to a user of a relationship network
Wu et al. Service recommendation with high accuracy and diversity
Sharma et al. Suggestive approaches to create a recommender system for GitHub
Kumar et al. Movie recommender system using machine learning algorithms
Chen et al. Prediction and congestion in two-sided markets: Economist versus machine matchmakers
He et al. A recommender model based on strong and weak social Ties: A Long-tail distribution perspective
BANATI et al. Social behaviour based metrics to enhance collaborative filtering
Zheng et al. Social network collaborative filtering: preliminary results
RahmatAbadi et al. Effect of distrust propagation to enhance the performance of trust based recommender systems

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20171023

Year of fee payment: 4