KR101969006B1 - 유사성 거리에 기반한 객체 추천 - Google Patents

유사성 거리에 기반한 객체 추천 Download PDF

Info

Publication number
KR101969006B1
KR101969006B1 KR1020167017584A KR20167017584A KR101969006B1 KR 101969006 B1 KR101969006 B1 KR 101969006B1 KR 1020167017584 A KR1020167017584 A KR 1020167017584A KR 20167017584 A KR20167017584 A KR 20167017584A KR 101969006 B1 KR101969006 B1 KR 101969006B1
Authority
KR
South Korea
Prior art keywords
value
objects
user
candidate object
commonality
Prior art date
Application number
KR1020167017584A
Other languages
English (en)
Other versions
KR20160105410A (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 페이스북, 인크.
Publication of KR20160105410A publication Critical patent/KR20160105410A/ko
Application granted granted Critical
Publication of KR101969006B1 publication Critical patent/KR101969006B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

예시적인 방법, 장치 및 시스템은 사용자가 네트워크 서비스 내에서 상호작용할 수 있는 후보 객체를 수신한다. 사용자가 긍정의 상호작용을 한 각각의 제1 복수의 객체에 대하여, 후보 객체와 각각의 제1 복수의 객체 사이의 공통성을 나타내는 제1 값이 결정된다. 사용자가 부정의 상호작용을 한 각각의 제2 복수의 객체에 대하여, 후보 객체와 각각의 제2 복수의 객체 사이의 공통성을 나타내는 제2 값이 결정된다. 총 긍정 거리는 복수의 제1 값을 사용하여 결정된다. 총 부정 거리는 복수의 제2 값을 사용하여 결정된다. 후보 객체는 총 긍정 거리와 총 부정 거리 사이의 거리에 기반하여 추천으로서 사용자에게 디스플레이되거나 디스플레이되지 않는다.

Description

유사성 거리에 기반한 객체 추천{OBJECT RECOMMENDATION BASED UPON SIMILARITY DISTANCES}
본 명세서에 기술된 다양한 실시예는 네트워크 서비스 내에서 객체를 순위화하고 추천하는 것에 관한 것이다. 특히, 실시예들은 사용자가 긍정 및 부정의 상호작용을 한 하나 이상의 객체와 각각의 후보 객체 사이의 공통성에 기반하여 객체를 순위화하고 추천하는 것에 관한 것이다.
네트워크 서비스는 사용자가 다양한 객체와 상호작용하게 할 수 있다. 예컨대, 소셜 네트워킹 시스템을 통해 사용자는 연결관계로서 다른 사용자 또는 엔티티를 지정(또는, 다른 사용자 또는 엔티티와 연결하거나, 관계를 형성)할 수 있고, 그들의 연결관계에 기여하고 상호작용할 수 있으며, 미디어 또는 코멘트를 게시할 수 있고, 애플리케이션을 사용할 수 있으며, 그룹에 가입할 수 있고, 이벤트 참여를 목록화하고 확인할 수 있으며, 연결관계를 초대할 수 있고, 소셜 상호작용을 용이하게 하는 다른 업무를 수행할 수 있다. 또한, 외부 애플리케이션은 소셜 네트워킹 시스템의 서비스를 사용하여 인증된 사용자가 외부 애플리케이션의 사용과 상술한 소셜 상호작용의 일부를 통합하도록 해준다. 유사한 상호작용은 다른 네트워크 서비스 내에서 사용자 경험의 일부이다.
이런 상호작용 내에서, 사용자는 소셜 네트워킹 시스템에 나타난 객체에 대하여 긍정 및 부정의 피드백을 생성한다. 예컨대, 사용자는 그녀가 특정 책을 좋아했다(즉, 긍정의 피드백)고 표시하는 행위를 취할 수 있다. 추가로, 사용자는 그녀가 다른 책에 흥미가 있을 수 있다(즉, 부정의 피드백)고 네트워크 서비스 내 추천을 거절할 수 있다.
예시적인 방법, 장치 및 시스템은 네트워크 서비스 내에서 사용자가 상호작용할 수 있는 후보 객체를 수신한다. 사용자가 긍정의 상호작용을 한 제1 복수의 객체 각각에 대하여, 후보 객체와 각각의 제1 복수의 객체 사이의 공통성을 나타내는 제1 값이 결정된다. 사용자가 부정의 상호작용을 한 제2 복수의 객체 각각에 대하여, 후보 객체와 각각의 제2 복수의 객체 사이의 공통성을 나타내는 제2 값이 결정된다. 총 긍정 거리는 복수의 제1 값을 사용하여 결정된다. 총 부정 거리는 복수이 제2 값을 사용하여 결정된다. 후보 객체는 총 긍정 거리와 총 부정 거리 사이의 차이에 기반하여 추천으로서 사용자에게 디스플레이되거나 디스플레이되지 않는다.
일실시예로, 총 긍정 거리는 복수의 제1 값의 합 또는 평균을 제1 열외자 값(outlier value)으로 나눔으로써 결정되며, 상기 제1 열외자 값은 사용자가 긍정의 상호작용을 했고 각각의 제1 복수의 객체보다 후보 객체와 공통성이 더 적은 객체에 대응한다. 마찬가지로, 상기 총 부정 거리는 복수의 제2 값의 합 또는 평균을 제2 열외자 값으로 나눔으로써 결정되며, 상기 제2 열외자 값은 사용자가 부정의 상호작용을 했고 각각의 제2 복수의 객체보다 후보 객체와 공통성이 더 적은 객체에 대응한다.
다른 특징 및 이점은 첨부도면 및 상세한 설명으로부터 명백해질 것이다.
본 발명의 내용 중에 포함되어 있다.
본 발명은 예로서 설명되고 첨부도면의 도면들로 제한되지 않으며, 유사한 참조번호는 유사한 구성요소를 나타낸다:
도 1은 후보 객체가 추천으로서 디스플레이되는지 여부를 결정하는 예시적인 방법을 도시하는 흐름도이다.
도 2는 소셜 네트워크 내 객체들에 대한 사용자 행위의 예시적인 그래프를 도시한다.
도 3은 사용자가 긍정 또는 부정의 상호작용을 한 객체와 후보 객체 사이의 예시적인 긍정 거리 및 부정 거리를 도시한다.
도 4는 예시적인 소셜 네트워크를 블록도로 도시한다.
도 5는 소셜 네트워크 내에서 객체를 순위화하고 추천하는 예시적인 프로세싱 시스템을 블록도로 도시한다.
본 명세서에 기술된 실시예는 후보 객체가 추천으로서 사용자에게 디스플레이되어야 하는지를 결정한다. 다른 객체들과의 긍정 및 부정의 상호작용에 대한 사용자의 이력을 사용하여, 실시예는 후보 객체가 긍정의 객체와 더 공통성이 있는지 또는 부정의 객체와 더 공통성이 있는지를 결정한다. 그 결과, 네트워크 서비스는 단순히 대중적인 것보다는 사용자의 입증된 취향에 기반하여 사용자에 대한 개인화된 추천을 제공할 수 있다. 추가로, 사용자의 상호작용 이력의 폭을 고려함으로써 네트워크 서비스는 이종의 세트의 후보 객체를 추천할 수 있다.
도 1은 후보 객체가 추천으로서 디스플레이될 것인지를 결정하는 예시적인 방법(100)을 도시하는 흐름도이다. 블록 105에서, 네트워크 서비스는 후보 객체를 수신하거나 선택한다. 본 명세서에서 사용되는 바와 같이, 객체(및, 그에 따른 후보 객체)는 사용자가 네트워크 서비스에서 상호작용할 수 있는 아이템을 지칭한다. 예컨대, 소셜 네트워크 내 객체는 사용자, 엔티티, (다양한 형태의) 미디어, (예컨대, 구매될 수 있는) 유형의 아이템의 표현, 단체, 공적인 모습 등을 포함한다. 일실시예로, 후보 객체는 카테고리 또는 산업 분야를 기초로 선택되거나 수신된다. 예컨대, 사용자는 음악(아티스트/밴드, 앨범/노래 등)을 표현하는 객체를 열람하거나, 등급을 매기거나, 상호작용할 수 있고, 네트워크 서비스는 추천을 위한 후보로서 음악 객체를 수신하거나 선택한다. 예시적인 카테고리/분야는 음악, 텔레비전, 영화, 책, 스포츠, 패션, 장소, 기술 상품, 자동차, 금융 등을 포함한다.
일실시예로, 네트워크 서비스는 후보 객체를 선택한다. 예컨대, 네트워크 서비스의 사용자에 대한 후보 객체는 하나 이상의 네트워크 서비스의 일반 모집단 내 인기도, 하나 이상의 네트워크 서비스 내 사용자의 특정 신상정보 내 인기도, 하나 이상의 네트워크 서비스 내 사용자와 연결되거나 연관되는 사용자들로부터의 긍정적인 피드백, 하나 이상의 네트워크 서비스 내 사용자의 네트워크 서비스 이력에서 객체와의 연관성 또는 유사성, 하나 이상의 네트워크 서비스 내 목록화되거나 표현되는 사용자의 관심사 등에 기반하여 선택될 수 있다. 대안으로, 네트워크 서비스는 다른 네트워크 서비스 또는 도구에 의해 선택된 후보 객체를 수신한다.
일실시예로, 네트워크 서비스는 상술한 후보 객체의 선택을 위해 소셜 네트워크 데이터를 이용한다. 도 2는 소셜 네트워크 데이터의 예시적인 그래프(200)를 도시한다. 그래프(200)에서, 객체는 원으로 도시되고, 행위는 원들 사이의 라벨 표시된 연결관계로 도시된다. 소셜 네트워크의 개발자 또는 해당 소셜 네트워크 애플리케이션은 사용자가 소셜 네트워크 및/또는 그 애플리케이션과 상호작용할 수 있는 다른 방식들을 표현하는 행위를 정의한다. 사용자가 행위를 수행하면, 사용자와 객체 사이의 연결이 만들어진다. 예컨대, 사용자 A는 그가 예전에 Boston에서 살았고, 현재 Washington D.C.에 살고 있으며, Democrats 및 ConLaw Lovers 그룹들에 가입했고, White Sox를 팔로우하고 있으며, 사용자 B와 친구라고 표시하는, 소셜 네트워크 내 다수의 행위를 수행했다. 또한, 사용자 B 및 사용자 C도 그래프(200) 내 객체에 대하여 다수의 행위를 수행했다.
일실시예로, 사용자들은 사용자 프로필(205-215)에 신상 정보를 추가할 수 있다. 일실시예로, 사용자가 입력하지 않은 신상 정보에 대해, 소셜 네트워크 애플리케이션은 사용자의 행위, 연결관계 및/또는 연결관계의 행위에 기반하여 추정할 수 있다. 예컨대, 사용자 B는 사용자 프로필(210)에 모교를 입력하지 않았다. 소셜 네트워크 애플리케이션은 사용자 B의 연락처, 활동, 거주 도시 등으로부터 사용자 B의 모교가 Brigham Young 대학 및 Harvard 대학 중 하나 또는 모두일 가능성이 있다고 결정할 수 있다. 일실시예로, 사용자 프로필(205-210)은 가령 다른 사용자들과의 관계, 사용자가 근무했던 장소, 사용자 관심사 등과 같은 추가 정보를 포함한다.
일실시예로, 신상 데이터는 사용자와 객체 사이의 친밀성을 표시하는 가중치 또는 점수를 더 포함한다. 예컨대, 하나의 객체와 반복되는 사용자 행위는 사용자가 제한된 상호작용을 한 다른 객체보다 그 객체에 대해 친밀성이 더 강함을 나타낼 수 있다. 예컨대 사용자 A와 사용자 B 사이의 친구관계와 같은 1차 연결관계는 예컨대 사용자 A가 사용자 C와 친구인 사용자 B와 친구이기에 사용자 A와 사용자 C 사이에 2차 연결관계가 생성되는 것과 같이 2차 연결관계보다 친밀성이 더 강함을 나타낼 수 있다. 2명의 사용자가 결혼한다는 표시는 2명의 사용자가 친구인 경우보다 더 강한 친밀성을 나타낼 수 있다. 추가로, 행위들/사용자들의 시간적 그리고 지리적 근접성은 친밀성에 대한 다른 예시적인 지표이다.
설명된 객체, 연결관계, 프로필 및 친밀성 값은 상술한 방식으로 후보 객체를 선택하는데 사용되는 예시적인 네트워크 서비스 데이터이다. 예컨대, 사용자 B는 The Killers의 음악을 청취했다. 사용자 A는 사용자 B의 친구이기 때문에(또는 연결되어 있기 때문에), The Killers의 음악이 사용자 A에게 추천될 가능성이 있는 후보 객체로 선택될 수 있다. 일실시예로, 사용자는 어느 네트워크 서비스 데이터가 공유되는지, 누구와 데이터를 공유하는지 및/또는 어느 데이터가 후보 객체를 선택하는데 사용되는지를 제어하도록 개인정보 설정을 선택할 수 있다.
다시 도 1을 살펴보면, 블록 110에서, 네트워크 서비스는 사용자가 긍정적인 상호작용을 했던 각각의 객체에 대하여 후보 객체와 긍정의 객체 사이의 공통성을 나타내는 제1 값을 결정한다. 마찬가지로, 블록 115에서, 네트워크 서비스는 사용자가 부정적인 상호작용을 했던 각각의 객체에 대하여 후보 객체와 부정의 객체 사이의 공통성을 나타내는 제2 값을 결정한다. 예컨대, 네트워크 서비스는 사용자가 상호작용했던 객체들의 이력을 (예컨대, 제3자 애플리케이션으로부터) 관리하거나 수신할 수 있다. 네트워크 서비스는 사용자가 긍정적인 상호작용을 했던 객체들 및 사용자가 부정적인 상호작용을 했던 객체들의 목록의 이력을 관리하거나 수신한다. 예컨대, 긍정 및 부정의 상호작용은 상술한 그래프(200)에 저장될 수 있다. 본 명세서에서 사용자가 긍정적인 상호작용을 했던 객체를 "긍정의 객체"라고 한다. 본 명세서에서 사용자가 부정적인 상호작용을 했던 객체를 "부정의 객체"라고 한다. 예시적인 긍정의 상호작용은 객체를 좋아요 하기, 시청하기, 청취하기, 팬이 되기, 팔로우하기, 공유하기, 코멘트하기, 긍정적인 평점 주기, 위시리스트에 추가하기, 클릭하기(clicking-through)(광고 제품/서비스에 대한 페이지로의 광고에 대한 링크를 팔로우하기) 및 구매하기를 포함한다. 예시적인 부정의 상호작용은 (예컨대, 추천되거나 공유된 객체를) 무시하거나 거부하기, 유사한 객체를 열람하거나 선택하기(예컨대, 현재 객체를 열람한 후 경쟁 제품을 구매하기), 부정적인 평점 주기, 객체를 축소시키기(예컨대, 광고를 축소시키거나 더 이상 디스플레이되지 않게 하기) 및 객체에 코멘트하기를 포함한다. 일실시예로, 네트워크 서비스는 예컨대 객체에 대한 코멘트의 내용을 구문분석하여 그 코멘트가 긍정의 상호작용으로 다루어져야 할지 아니면 부정의 상호작용으로 다루어져야 할지를 결정함으로써 감정 분석(sentiment analysis)을 적용한다. 예컨대, 구문분석(parsing)은 긍정 또는 부정의 키워드, 문구 또는 이모티콘과 같은 감정 지표에 대한 검색을 포함할 수 있다. 일실시예로, 네트워크 서비스는 긍정 및 부정의 배정에 대한 상호작용 사이의 맵핑을 저장한다. 이런 배정을 사용하여, 네트워크 서비스는 특정 사용자 상호작용 및 해당 객체를 긍정의 객체 및 부정의 객체와 맵핑한다.
본 명세서에서 사용되는 바와 같이, 제1 값 및 제2 값은 또한 거리 값(distance values)이라고 한다. 작은 거리 값은 후보 객체와 긍정/부정의 객체가 서로 "근접"해 있으며 유사한 상호작용일 가능성이 더 높다는 표시이다. 큰 거리 값은 후보 객체와 긍정/부정의 객체가 서로 "멀리" 있으며 유사한 상호작용일 가능성이 더 낮다는 표시이다. 대안으로, 큰 제1 값/제2 값은 객체들이 유사한 상호작용일 가능성이 더 높음을 나타내고, 작은 제1 값/제2 값은 객체들이 유사한 상호작용일 가능성이 더 낮음을 나타낸다. 본 명세서에서 설명의 간소화를 위해, 객체들이 유사한 상호작용일 가능성을 기술하는데 거리의 사용이 활용될 것이다.
거리 값은 사용자가 긍정 또는 부정의 상호작용을 했던 각각의 객체와 후보 객체 사이의 공통성에 기반하여 결정된다. 예시적인 공통성은 후보 객체와 긍정의 객체 모두와 긍정의 상호작용을 한 (일반 모집단 내 또는 특정 신상정보 내) 사용자의 수, 후보 객체와 부정의 객체 모두와 부정의 상호작용을 한 (일반 모집단 내 또는 특정 신상정보 내) 사용자의 수, 및 후보 객체와 긍정/부정의 객체 사이의 공통적인 메타데이터(예컨대, 동일한 감독에 의한 2개의 영화는 공통의 감독 메타데이터를 가짐)를 포함한다. 일반적으로 긍정 및 부정의 상호작용은 거리 값에 대하여 기술되지만, 일실시예로 각각의 유형의 긍정/부정의 상호작용은 별개의 공통성으로 다루어진다. 예컨대, 사용자는 하나의 객체를 좋아하고, 공유하며, 코멘트할 수 있다. 네트워크 서비스는 이런 3가지 상호작용을 각각 별개의 공통성으로 처리할 수 있다. 마찬가지로, 각각의 공통의 메타데이터 아이템이 별개의 공통성으로 처리될 수 있다.
일실시예로, 하나의 값이 각 공통성에 할당되고 그 공통성들이 합계된다. 예컨대, 네트워크 서비스는 객체와 공통의 상호작용을 한 사용자의 수가 더 높은 공통성이 객체와 공통의 상호작용을 한 사용자의 수가 더 낮은 공통성보다 더 높은 값을 할당한다. 추가로, 각 공통성에 대한 값이 가중될 수 있다. 예컨대, 특정 유형의 공통성 또는 특정 인스턴스의 공통성이 다른 공통성들보다 더 많거나 적은 가중치를 부여받을 수 있다. 각 공통성에 대한 값은 다른 공통성들을 고려할 때 공통성에 더 많거나 적은 영향력을 부여하도록 가중치가 더해지거나 곱해진다. 후보 객체와 긍정/부정의 객체 사이의 각 공통성은 총 거리 값에 대한 값/가중치에 기여한다.
일실시예로, 공통성에 대한 가중치는 후보 객체에 대한 타입을 결정함에 응답하여 선택된다. 네트워크 서비스는 공통성에 적용되는 가중치 세트와 객체 타입을 맵핑한다. 예컨대, 공통의 작가는 책 객체 타입용으로 더 큰 가중치를 부여받을 수 있는 한편, 공통의 주연배우는 영화 객체 타입용으로 더 큰 가중치를 부여받을 수 있다.
도 3은 사용자가 긍정 또는 부정의 상호작용을 한 객체들과 후보 객체 사이의 예시적인 긍정 및 부정 거리를 도시한다. 네트워크 서비스는 후보 객체(305)를 수신했거나 선택했고, (후보 객체(305)와 긍정/부정의 객체(310-335) 사이의 선들로 표현되는 바와 같이) 긍정의 객체(310-315) 및 부정의 객체(325-335) 각각과 후보 객체 사이의 거리 값을 (상술한 바와 같이) 계산했다.
다시 도 1을 살펴보면, 블록 120에서, 네트워크 서비스는 상술한 복수의 제1/긍정 거리 값을 사용하여 총 긍정 거리를 결정한다. 마찬가지로, 블록 125에서, 네트워크 서비스는 상술한 복수의 제2/부정 거리 값을 사용하여 총 부정 거리를 결정한다. 일실시예로, 네트워크 서비스는 제1 거리 값의 수 및 동일한 수의 부정 거리 값을 선택한다. 예컨대, 네트워크 서비스는 (다른 긍정/부정 객체와 비교하여) 후보 객체와 가장 많이 공통적인 K개의 긍정 객체 및 K개의 부정 객체를 나타내는 각각의 목록에서 상위 K개의 거리 값을 결정한다. 일실시예로, 네트워크 서비스는 K에 대한 값과 다양한 객체 타입의 맵핑을 저장한다. 네트워크 서비스는 후보 객체에 대한 타입을 결정함에 응답하여 그리고 맵핑에 기반하여 개수 K에 대한 값을 선택한다.
일실시예로, 네트워크 서비스는 복수의 제1 값의 합 또는 평균을 계산함으로써 총 긍정 거리를 결정한다. 예컨대, K개의 긍정 거리 값들 x1 내지 xK에 대하여, 총 긍정 거리 값은
Figure 112016063429162-pct00001
또는
Figure 112016063429162-pct00002
이다. 마찬가지로, K개의 제2/부정 거리 값들 y1 내지 yK에 대하여, 총 부정 거리 값은
Figure 112016063429162-pct00003
또는
Figure 112016063429162-pct00004
이다. K는 총 긍정 거리와 총 부정 거리 모두에 대해 사용되지만, 네트워크 서비스가 복수의 제1 값의 평균 및 복수의 제2 값의 평균을 계산할 때, 네트워크 서비스는 제2 값의 개수와 다른 개수의 제1 값을 사용할 수 있다.
또 다른 실시예로, 네트워크 서비스는 복수의 제1 값의 합 또는 평균을 제1 열외자 값(outlier value)으로 나눔으로써 총 긍정 거리를 결정한다. 제1 열외자 값은 사용자가 긍정의 상호작용을 했던 객체에 대응하며 각각의 제1 복수의 객체보다 후보 객체와 공통성이 더 적다. 마찬가지로, 네트워크 서비스는 복수의 제1 값의 합 또는 평균을 제2 열외자 값으로 나눔으로써 총 부정 거리를 결정한다. 제2 열외자 값은 사용자가 부정의 상호작용을 했던 객체에 대응하며 각각의 제2 복수의 객체보다 후보 객체와 공통성이 더 적다. 예컨대, 다시 도 3을 살펴보면, 예시적인 K의 값은 2이다. 네트워크 서비스는 상위 K개의 긍정의 객체로서 객체(310 및 315)를 그리고 상위 K개의 부정의 객체로서 객체(325 및 330)를 선택한다. 객체(320)는 긍정의 객체(310 및 315)보다 후보 객체(305)와 공통성이 더 적은 긍정의 열외자(outlier)이다. 객체(335)는 부정의 객체(325 및 330)보다 후보 객체(305)와 공통성이 더 적은 부정의 열외자이다.
일실시예로, 네트워크 서비스는 가장 큰 거리 값을 가진 (즉, 후보 객체와 가장 공통성이 적은) 열외자를 선택한다. 예컨대, K개의 긍정 거리 값들 x1 내지 xK에 대하여, 총 긍정 거리 값은
Figure 112016063429162-pct00005
또는
Figure 112016063429162-pct00006
이다. 마찬가지로, K개의 부정 값들 y1 내지 yK에 대하여, 총 부정 거리 값은
Figure 112016063429162-pct00007
또는
Figure 112016063429162-pct00008
이다. 열외자 값을 사용하여, 네트워크 서비스는 총 거리 값을 계산할 때 사용자의 상호작용 이력의 폭을 참작한다. 그 결과, 총 거리 값은 이종의 후보 객체 세트를 더 정확히 나타낼 수 있다. 대안의 실시예로, 네트워크 서비스는 거리 값 및/또는 가장 최근의 상호작용에 기반하여 열외자를 선택한다. 예컨대, 큰 거리 값을 가지는 최근의 상호작용은 취향 변화의 표시일 수 있다.
블록 130에서, 네트워크 서비스는 후보 객체와의 사용자 상호작용이 긍정적이거나 부정적일 가능성이 더 높은지를 결정한다. 일실시예로, 네트워크 서비스는 예컨대 차감 연산 또는 나눗셈 연산을 수행하거나 총 값을 비교하여 결정되는 바와 같이 총 긍정 값이 총 부정 값보다 더 작은지 또는 더 큰지를 결정한다. 예컨대, 총 긍정 값이 총 부정 값보다 더 작다면, 후보 객체는 부정의 상호작용보다 긍정의 상호작용의 대상일 가능성이 더 높다. 상술한 공식의 예를 사용하여,
Figure 112016063429162-pct00009
인 경우, 후보 객체는 긍정의 상호작용의 대상일 가능성이 있다. 대안의 실시예에서, 네트워크 서비스는 총 긍정 값이 총 부정 값보다 임계값만큼 더 작은지를 결정한다. 예컨대,
Figure 112016063429162-pct00010
또는
Figure 112016063429162-pct00011
인 경우, 후보 객체는 긍정의 상호작용의 대상일 가능성이 있다. 일실시예로, 네트워크 서비스는 C에 대한 값과 다양한 객체 타입의 맵핑을 저장한다. 네트워크 서비스는 후보 객체에 대한 타입을 결정함에 응답하여 그리고 맵핑에 기반하여 임계값 C에 대한 값을 선택한다.
상술한 바와 같이, 본 명세서에 제시된 예들은 작은 거리 값이 유사한 상호작용의 대상일 가능성이 있는 객체를 나타낸다는 추정에 기반한다. 그러나, 큰 거리 값이 유사한 상호작용의 대상일 가능성이 있는 객체를 나타낸다면, 상기 비교가 그에 따라 변경될 것이다. 예컨대, 네트워크 서비스는 총 긍정 값이 총 부정 값보다 더 큰지, 후보 객체가 부정의 상호작용보다 긍정의 상호작용의 대상일 가능성이 더 높은지를 결정할 수 있다.
일실시예로, 하나 이상의 제1 열외자 값 또는 제2 열외자 값이 총 긍정 및 부정 거리들의 결정에서 제외된다. 예컨대, 후보 객체로부터 임계 거리에 있는 객체는 긍정 또는 부정의 객체에서 제외된다. 이런 실시예에서, 최대 열외자(상술한 xmax 또는 ymax)는 임계 거리 내 열외자들에서 선택된다.
후보 객체가 부정의 상호작용보다 긍정의 상호작용의 대상일 가능성이 더 높다면, 블록 135에서, 네트워크 서비스는 사용자에게 후보 객체를 디스플레이한다. 일실시예로, 방법(100)은 복수의 후보 객체에 대하여 반복된다. 이런 실시예에서, 후보 객체는 순위화된 순서로 디스플레이된다. 예컨대, 긍정의 상호작용의 대상일 가능성이 더 높다고 결정되는 이런 후보 객체는 최소의 총 긍정 값을 가진 후보 객체로부터 최대의 층 긍정 값을 가진 후보 객체까지의 순서로 디스플레이될 수 있다.
후보 객체가 긍정의 상호작용보다 부정의 상호작용의 대상일 가능성이 더 높다면, 블록 140에서, 네트워크 서비스는 후보 객체를 사용자에게 디스플레이하지 않도록 결정한다. 상술한 바와 같이, 방법(100)은 복수의 후보 객체에 대하여 반복될 수 있다.
도 4는 가령 소셜 네트워크와 같은 예시적인 네트워크 서비스(400)를 블록도로 도시한다. 소셜 네트워크(400)는 하나 이상의 네트워크(420)와 연결되는 사용자 장치(405), 소셜 네트워킹 시스템(410) 및 외부 서버(415)를 포함한다. 사용자는 가령 개인용 컴퓨터 또는 모바일 전화와 같은 사용자 장치(405)를 사용하여 소셜 네트워킹 시스템(410)과 상호작용한다. 예컨대, 사용자 장치(405)는 가령 웹 브라우저 또는 네이티브 애플리케이션과 같은 애플리케이션을 통해 소셜 네트워킹 시스템(410)과 통신한다. 사용자 장치(405)와 소셜 네트워킹 시스템(410) 사이의 일반적인 상호작용은, 본 명세서에 기술되는 바와 같이, 가령 소셜 네트워킹 시스템(410)의 다른 사용자들의 프로필을 열람하고, 미디어 아이템에 기여하고 상호작용하며, 그룹에 가입하고, 이벤트의 참여를 목록화하고 확인하며, 한 위치에 체크인하고, 특정 페이지/게시물을 좋아하며, 페이지를 생성하고, 소셜 상호작용을 용이하게 하는 다른 업무를 수행하는 것과 같은 동작들을 포함한다.
소셜 네트워킹 시스템(410)은 플랫폼 저장소(425), 추천 서비스(430), 하나 이상의 응용 프로그래밍 인터페이스(API들)(435), (예컨대, 도 3에 도시된 바와 같은) 소셜 그래프(440) 및 하나 이상의 플랫폼 애플리케이션(445)을 포함한다. 플랫폼 저장소(425)는 사용자 기호/설정, 프로필 데이터, 상호작용 데이터, 객체 메타데이터, 신상 데이터 등을 저장한다. 예시적인 플랫폼 애플리케이션(445)은 소셜 게임뿐 아니라 소셜 상호작용(예컨대, 게시물, 사지 등의 게재)에 대한 플랫폼, 메시징 서비스 및 소셜 네트워킹 시스템(410)에 의해 제공되는 소셜 플랫폼을 사용하는 임의의 다른 애플리케이션을 포함한다.
일실시예로, 상술한 방법(100)은 추천 서비스(430) 및/또는 플랫폼 애플리케이션(445)에 의해 수행되며, 상호작용 데이터, 객체 메타데이터, 신상 데이터 등은 플랫폼 저장소(425) 및/또는 소셜 그래프(440)로부터 수신되고, 맵핑은 플랫폼 저장소(425)에 저장된다. 대안으로, 하나 이상의 방법 및/또는 데이터는 소셜 네트워킹 시스템(410)의 외부에서 수행/저장된다.
하나 이상의 API들(435)을 통해 외부 애플리케이션(450)은 소셜 네트워킹 시스템(410)과 함께 작동할 수 있다. 예컨대, 외부 애플리케이션(450)은 API(435)를 이용하여 사용자의 소셜 네트워킹 로그인 사용자 이름 및 패스워드를 기초로 사용자를 인증한다. 추가로, 외부 애플리케이션(450)은 하나 이상의 API들(435)을 이용하여 플랫폼 애플리케이션(430) 내에서 애플리케이션을 실행하고, 게시물을 플랫폼 애플리케이션에 게재하며, 사용자의 소셜 네트워크 연결관계에 액세스하는 것 등을 한다. 일실시예로, 상술한 방법(100)의 적어도 일부는 외부 애플리케이션(450)에 의해 수행되며, 데이터는 외부 저장소(455) 또는 플랫폼 저장소(425) 중 하나 또는 둘다로부터 수신되고/되거나 저장된다. 예컨대, 사용자는 외부 애플리케이션(450) 내 API(435) 및/또는 플러그인을 통해 사용자를 대신하여 네트워크 서비스(400)와 상호작용하는 승인을 외부 애플리케이션(450)에 부여할 수 있다. API(435)를 사용하여, 외부 애플리케이션(450)은 사용자 정보, 객체 정보, 사용자와 객체 사이의 관계 등을 획득 및/또는 제공할 수 있다. 외부 애플리케이션(450)은 데이터 객체와의 사용자 상호작용에 기반하여 네트워크 서비스로부터/네트워크 서비스로의 긍정 및 부정의 상호작용 데이터 또는 다른 감정 데이터(예컨대, 각각의 객체 또는 다른 것과의 상호작용)를 수신하거나 제공할 수 있다. 사용자 상호작용은 네트워크 서비스(400) 내에서 또는 네트워크 서비스(400) 외부에서 (예컨대, 네트워크 서비스(400) 외부의 웹페이지 내에서) 수행될 수 있다. 일실시예로, 외부의 사용자 상호작용은 외부 웹페이지 내 아이프레임(iframe)으로 구현될 수 있는 네트워크 서비스 플러그인을 통해 발생한다. 일실시예로, 네트워크 서비스(400)는 외부 애플리케이션(450)으로부터 수신된 감정 데이터를 구문분석하고 각각의 객체에 감정 데이터를 적용하는 방법을 결정한다. 예컨대, 감정 데이터는 객체의 카테고리에 대하여 사용자에 대한 긍정 및 부정의 표시를 제공할 수 있고, 네트워크 서비스(400)는 어느 개별 객체가 이런 카테고리 내에 있는지를 결정한다.
도 5는 소셜 네트워크 내 객체를 순위화하고 추천하는 예시적인 프로세싱 시스템(500)을 블록도로 도시한다. 데이터 프로세싱 시스템(500)은 하나 이상의 마이크로프로세서(505) 및 연결된 시스템 컴포넌트(예컨대, 다수의 연결된 칩들)를 포함한다. 대안으로, 데이터 프로세싱 시스템(500)은 시스템 온 칩(system on a chip)이다.
데이터 프로세싱 시스템(500)은 마이크로프로세서(들)(505)와 연결되는 메모리(510)를 포함한다. 메모리(510)는 마이크로프로세서(들)(505)에 의해 실행하기 위해 데이터, 메타데이터 및 프로그램을 저장하는데 사용될 수 있다. 메모리(510)는 가령 "RAM"(Random Access Memory), "ROM"(Read Only Memory), "SSD"(solid state disk), Flash, "PCM"(Phase Change Memory) 또는 다른 타입의 데이터 저장소와 같은 하나 이상의 휘발성 및 비-휘발성 메모리를 포함할 수 있다. 메모리(510)는 내부 메모리 또는 분산형 메모리일 수 있다.
또한, 데이터 프로세싱 시스템(500)은 예컨대 음악이나 다른 오디오를 재생하고, 마이크로프로세서(들)(505)에 의해 실행되는 음성 지시를 수신하며, 오디오 알림을 실행하는 등을 위해 마이크로폰 및/또는 스피커를 포함할 수 있는 오디오 입력/출력 서브시스템(515)을 포함한다. 디스플레이 제어장치 및 디스플레이 장치(520)는 사용자에 대한 시각적 사용자 인터페이스를 제공한다.
또한, 데이터 프로세싱 시스템(500)은 사용자가 입력을 시스템에 제공하고, 시스템으로부터 출력을 수신하며, 데이터를 시스템으로 그리고 시스템으로부터 전달하게 하도록 제공되는 하나 이상의 입력 또는 출력("I/O") 장치 및 인터페이스(525)를 포함한다. 이런 I/O 장치(525)는 마우스, 키패드 또는 키보드, 터치 패널 또는 멀티-터치 입력 패널, 카메라, 광학 스캐너, 네트워크 인터페이스, 모뎀, 다른 공지된 I/O 장치 또는 이런 I/O 장치들의 조합을 포함할 수 있다. 터치 입력 패널은 스타일러스 또는 손가락으로 활성화되는 하나의 터치 입력 패널 또는 하나의 손가락 또는 스타일러스 또는 다수의 손가락에 의해 활성화되는 멀티-터치 입력 패널일 수 있고, 패널은 1, 2 또는 3 이상의 터치를 구별할 수 있고 이런 터치로부터 도출된 입력을 프로세싱 시스템(500)으로 제공할 수 있다.
또한, I/O 장치 및 인터페이스(525)는 다른 장치, 외부 컴포넌트 또는 네트워크와 시스템(500)을 연결하는, 도크(dock)용 커넥터 또는 USB 인터페이스, FireWire, Thunderbolt, Ethernet 등을 위한 커넥터를 포함할 수 있다. 또한, 예시적인 I/O 장치 및 인터페이스(525)는 다른 장치, 외부 컴포넌트 또는 네트워크와 데이터 프로세싱 시스템(500)을 연결하고 저장된 명령어, 데이터, 토큰 등을 수신하는, 가령 IEEE 802.11 송수신기, 적외선 송수신기, 블루투스 송수신기, 무선 셀룰러 전신 송수신기(예컨대, 2G, 3G, 4G 등)와 같은 무선 송수신기 또는 다른 무선 프로토콜을 포함한다.
하나 이상의 버스가 도 5에 도시된 다양한 컴포넌트를 상호연결하는데 사용될 수 있음이 이해될 것이다.
데이터 프로세싱 시스템(500)은 하나 이상의 사용자의 장치(405), 소셜 네트워킹 시스템(410)의 적어도 일부 또는 외부 서버(415)의 예시적인 표현이다. 데이터 프로세싱 시스템(500)은 개인용 컴퓨터, 태블릿-스타일 장치, 개인 정보 단말기(PDA), PDA 유사 기능을 가진 셀룰러 전화, Wi-Fi 기반 전화, 가령 하나의 장치에 PDA 및 셀룰러 전화와 결합된 미디어 플레이어와 같이 셀룰러 전화, 미디어 플레이어, 엔터테인먼트 시스템 또는 이런 장치들의 태양이나 기능을 결합하는 장치들을 포함하는 휴대용 컴퓨터일 수 있다. 다른 실시예로, 데이터 프로세싱 시스템(500)은 네트워크 컴퓨터, 서버 또는 다른 장치 또는 소비자 전자 제품 내 내장된 프로세싱 장치일 수 있다. 본 명세서에서 사용되는 바와 같이, 컴퓨터, 장치, 시스템, 프로세싱 시스템, 프로세싱 장치 및 "프로세싱 장치를 포함하는 기기"라는 용어는 데이터 프로세싱 시스템(500)과 호환가능하게 사용될 수 있고 상기 나열된 예시적인 실시예들을 포함할 수 있다.
미도시된 추가 컴포넌트도 또한 시스템(500)의 일부일 수 있고, 특정 실시예로 도 5에 도시된 것보다 더 적은 컴포넌트도 데이터 프로세셍 시스템(500)에서 사용될 수 있음이 이해될 것이다. 본 명세서로부터 본 발명의 태양이 적어도 부분적으로 소프트웨어로 구현될 수 있음이 명백하다. 즉, 컴퓨터-구현 방법(100)은 가령 메모리(510) 또는 다른 비-일시적 기계-판독가능한 저장매체와 같은 메모리에 포함되는 일련의 명령어를 실행하는 프로세서 또는 프로세싱 시스템(505)에 응답하여 컴퓨터 시스템 또는 다른 데이터 프로세싱 시스템(410/415/500)에서 실행될 수 있다. 소프트웨어는 또한 네트워크 인터페이스 장치(525)를 통해 네트워크(미도시)에서 전송되거나 수신될 수 있다. 다양한 실시예로, 하드와이어(hardwired) 회로가 본 실시예를 구현하는 소프트웨어 명령어와 조합하여 사용될 수 있다. 따라서, 이 기술들은 하드웨어 회로와 소프트웨어의 임의의 특정 조합으로 국한되지 않거나, 데이터 프로세싱 시스템(500)에 의해 실행되는 명령어를 위한 임의의 특정 소스에 국한되지 않는다.
한 제조물품이 상술한 실시예의 적어도 일부의 기능을 제공하는 프로그램 코드를 저장하는데 사용될 수 있다. 추가로, 제조물품은 상술한 실시예의 적어도 일부의 기능을 사용하여 생성되는 프로그램 코드를 저장하는데 사용될 수 있다. 프로그램 코드를 저장하는 제조물품은 하나 이상의 메모리(예컨대, 하나 이상의 플래시 메모리, 정적, 동적 - 랜덤 액세스 메모리 등), 광학 디스크, CD-ROMs, DVD-ROMs, EPROMs, EEPROMs, 자기 카드 또는 광학 카드, 또는 전자식 명령어를 저장하는데 적합한 다른 타입의 비-일시적 기계-판독가능한 매체로 구현될 수 있으나, 이에 국한되지 않는다. 추가로, 본 발명의 실시예는 FPGA(Field-Programmable Gate Array)를 이용한 하드웨어 또는 펌웨어, ASIC(Application-Specific Integrated Circuit), 프로세서, 컴퓨터 또는 네트워크형 컴퓨터 시스템을 포함하는 컴퓨터 시스템으로 구현될 수 있으나, 이에 국한되지 않는다. 하드웨어 또는 소프트웨어 구현의 모듈 및 컴포넌트는 본 발명의 실시예를 상당히 변경하지 않고 분할되거나 결합될 수 있다.
상술한 상세한 설명에서, 본 발명은 특정의 예시적인 실시예들을 참조로 기술되었다. 본 발명(들)의 다양한 실시예 및 태양은 본 명세서에 기술된 세부사항을 참조로 설명되며, 첨부도면은 다양한 실시예를 도시한다. 상술한 설명 및 도면은 본 발명의 예시로서 본 발명을 제한하는 것으로 해석되지 않는다. "일실시예", "한 실시예", "예시적인 실시예" 등에 대한 상세한 설명의 언급은 기술되는 실시예가 특정한 특징, 구조 또는 특성을 포함할 수 있지만 모든 실시예가 그 특정한 특징, 구조 또는 특성을 반드시 포함하는 것은 아닐 수 있음을 나타낸다. 게다가, 이런 문구는 반드시 동일한 실시예를 일컫는 것은 아니다. 더욱이, 특정한 특징, 구조 또는 특성이 한 실시예와 함께 설명되는 경우, 이런 특징, 구조 또는 특성은 명시적으로 기술되는지 여부와 관계없이 다른 실시예들과 함께 구현될 수 있다. 본 명세서에서 파선(예컨대, 굵은 파선, 얇은 파선, 점선, 점들)으로 된 경계선을 가진 블록은 추가적인 특징을 본 발명의 실시예에 추가하는 선택형 동작을 도시하는데 사용된다. 그러나, 이런 표기법은 파선 경계를 가진 블록들이 오직 선택형이거나 선택형 동작이고/이거나 본 발명의 특정 실시예에서 실선으로 된 경계선을 가진 블록이 선택형이 아니라는 것을 의미한다고 간주되지 않아야 한다. 많은 특정 세부사항이 본 발명의 다양한 실시예의 완전한 이해를 제공하도록 기술된다. 그러나, 특정 예에서, 잘 알려지거나 종래의 세부사항은 본 발명의 실시예들의 간명한 논의를 제공하기 위해 기술되지 않는다.
다양한 변경들은 하기의 청구항들로 제시되는 바와 같이 본 발명의 광의의 기술사상 및 범위에서 벗어나지 않고 이루어질 수 있음이 명백할 것이다. 예컨대, 본 명세서에 기술된 방법은 더 적거나 더 많은 기능/블록으로 수행될 수 있거나 그 기능/블록은 상이한 순서로 수행될 수 있다. 추가로, 본 명세서에 기술된 방법은 서로 병행하여 또는 동일하거나 유사한 방법의 다른 예들과 병행하여 반복되거나 수행될 수 있다.

Claims (20)

  1. 사용자가 네트워크 서비스 내에서 상호작용할 수 있는 후보 객체를 수신하는 단계;
    사용자가 긍정의 상호작용을 한 각각의 제1 복수의 객체에 대하여, 후보 객체와 각각의 제1 복수의 객체 사이의 공통성을 나타내는 제1 값을 결정하는 단계;
    사용자가 부정의 상호작용을 한 각각의 제2 복수의 객체에 대하여, 후보 객체와 각각의 제2 복수의 객체 사이의 공통성을 나타내는 제2 값을 결정하는 단계;
    복수의 제1 값을 사용하여 총 긍정 거리(aggregate positive distance)를 결정하는 단계;
    복수의 제2 값을 사용하여 총 부정 거리(aggregate negative distance)를 결정하는 단계; 및
    총 긍정 거리와 총 부정 거리 사이의 차이로부터 후보 객체는 사용자가 부정의 상호작용을 한 객체보다 사용자가 긍정의 상호작용을 한 객체와 더 공통성이 있다고 결정함에 응답하여, 사용자에게 후보 객체를 추천하는 단계를 포함하며,
    상기 총 긍정 거리는 복수의 제1 값의 합 또는 평균을 제1 열외자 값(outlier value)으로 나눔으로써 결정되고,
    상기 제1 열외자 값은 사용자가 긍정의 상호작용을 했고 각각의 제1 복수의 객체보다 후보 객체와 공통성이 더 적은 객체에 대응하며,
    상기 총 부정 거리는 복수의 제2 값의 합 또는 평균을 제2 열외자 값으로 나눔으로써 결정되고,
    상기 제2 열외자 값은 사용자가 부정의 상호작용을 했고 각각의 제2 복수의 객체보다 후보 객체와 공통성이 더 적은 객체에 대응하는 컴퓨터 구현 방법.
  2. 제 1 항에 있어서,
    네트워크 서비스 내 사용자와 연결된 한 명 이상의 사용자로부터의 긍정의 피드백에 기반하여 후보 객체로 한 객체를 선택하는 단계를 더 포함하는 컴퓨터 구현 방법.
  3. 제 1 항에 있어서,
    각각의 제1 값은 제3 값과 제4 값의 조합에 기반하며,
    제3 값은 제1 복수의 객체 내 대응하는 객체와 후보 객체 사이의 메타데이터의 공통성을 나타내고, 제4 값은 제1 복수의 객체 내 대응하는 객체와 후보 객체 모두와 긍정의 상호작용을 한 한 명 이상의 다른 사용자를 나타내며,
    각각의 제2 값은 제5 값과 제6 값의 조합에 기반하고,
    제5 값은 제2 복수의 객체 내 대응하는 객체와 후보 객체 사이의 메타데이터의 공통성을 나타내며, 제6 값은 제2 복수의 객체 내 대응하는 객체와 후보 객체 모두와 부정의 상호작용을 한 한 명 이상의 다른 사용자를 나타내는 컴퓨터 구현 방법.
  4. 제 3 항에 있어서,
    결정된 제3 값과 제1 가중치 사이의 수학 연산의 결과로 각각의 제3 값을 수정하는 단계;
    결정된 제4 값과 제2 가중치 사이의 수학 연산의 결과로 각각의 제4 값을 수정하는 단계;
    결정된 제5 값과 제3 가중치 사이의 수학 연산의 결과로 각각의 제5 값을 수정하는 단계; 및
    결정된 제6 값과 제4 가중치 사이의 수학 연산의 결과로 각각의 제6 값을 수정하는 단계를 더 포함하는 컴퓨터 구현 방법.
  5. 제 4 항에 있어서,
    후보 객체에 대한 객체 타입에 기반하여 하나 이상의 가중치를 선택하는 단계를 더 포함하는 컴퓨터 구현 방법.
  6. 제 1 항에 있어서,
    제1 복수의 객체 내 객체의 수는 후보 객체와 최대 공통성을 가지도록 결정되는 객체의 수로 제한되는 컴퓨터 구현 방법.
  7. 제 6 항에 있어서,
    제1 복수의 객체 내 객체의 수는 후보 객체에 대한 객체 타입에 기반하는 컴퓨터 구현 방법.
  8. 제 1 항에 있어서,
    총 긍정 값이 총 부정 값보다 임계치만큼 더 작다고 결정하거나 총 긍정 값이 총 부정 값보다 임계치만큼 더 크다고 결정함에 응답하여, 후보 객체가 사용자에게 추천되는 컴퓨터 구현 방법.
  9. 제 8 항에 있어서,
    상기 임계치는 후보 객체에 대한 객체 타입에 기반하는 컴퓨터 구현 방법.
  10. 제 1 항에 있어서,
    하나 이상의 제1 열외자 값 또는 제2 열외자 값은 총 긍정 거리 및 총 부정 거리의 결정으로부터 제외되는 컴퓨터 구현 방법.
  11. 프로세싱 장치 내 하나 이상의 프로세서에 의해 실행될 때, 프로세싱 장치가:
    사용자가 네트워크 서비스 내에서 상호작용할 수 있는 후보 객체를 수신하는 단계;
    사용자가 긍정의 상호작용을 한 각각의 제1 복수의 객체에 대하여, 후보 객체와 각각의 제1 복수의 객체 사이의 공통성을 나타내는 제1 값을 결정하는 단계;
    사용자가 부정의 상호작용을 한 각각의 제2 복수의 객체에 대하여, 후보 객체와 각각의 제2 복수의 객체 사이의 공통성을 나타내는 제2 값을 결정하는 단계;
    복수의 제1 값을 사용하여 총 긍정 거리를 결정하는 단계;
    복수의 제2 값을 사용하여 총 부정 거리를 결정하는 단계; 및
    총 긍정 거리와 총 부정 거리 사이의 차이로부터 후보 객체는 사용자가 부정의 상호작용을 한 객체보다 사용자가 긍정의 상호작용을 한 객체와 더 공통성이 있다고 결정함에 응답하여, 사용자에게 후보 객체를 추천하는 단계를 포함하는 방법을 수행하게 하는 명령어를 수록하며,
    상기 총 긍정 거리는 복수의 제1 값의 합 또는 평균을 제1 열외자 값으로 나눔으로써 결정되고,
    상기 제1 열외자 값은 사용자가 긍정의 상호작용을 했고 각각의 제1 복수의 객체보다 후보 객체와 공통성이 더 적은 객체에 대응하며,
    상기 총 부정 거리는 복수의 제2 값의 합 또는 평균을 제2 열외자 값으로 나눔으로써 결정되고,
    상기 제2 열외자 값은 사용자가 부정의 상호작용을 했고 각각의 제2 복수의 객체보다 후보 객체와 공통성이 더 적은 객체에 대응하는 비-일시적 컴퓨터-판독가능한 매체.
  12. 제 11 항에 있어서,
    상기 방법은:
    네트워크 서비스 내 사용자와 연결된 한 명 이상의 사용자로부터의 긍정의 피드백에 기반하여 후보 객체로 한 객체를 선택하는 단계를 더 포함하는 비-일시적 컴퓨터-판독가능한 매체.
  13. 제 11 항에 있어서,
    각각의 제1 값은 제3 값과 제4 값의 조합에 기반하며,
    제3 값은 제1 복수의 객체 내 대응하는 객체와 후보 객체 사이의 메타데이터의 공통성을 나타내고, 제4 값은 제1 복수의 객체 내 대응하는 객체와 후보 객체 모두와 긍정의 상호작용을 한 한 명 이상의 다른 사용자를 나타내며,
    각각의 제2 값은 제5 값과 제6 값의 조합에 기반하고,
    제5 값은 제2 복수의 객체 내 대응하는 객체와 후보 객체 사이의 메타데이터의 공통성을 나타내며, 제6 값은 제2 복수의 객체 내 대응하는 객체와 후보 객체 모두와 부정의 상호작용을 한 한 명 이상의 다른 사용자를 나타내는 비-일시적 컴퓨터-판독가능한 매체.
  14. 제 13 항에 있어서,
    상기 방법은:
    결정된 제3 값과 제1 가중치 사이의 수학 연산의 결과로 각각의 제3 값을 수정하는 단계;
    결정된 제4 값과 제2 가중치 사이의 수학 연산의 결과로 각각의 제4 값을 수정하는 단계;
    결정된 제5 값과 제3 가중치 사이의 수학 연산의 결과로 각각의 제5 값을 수정하는 단계; 및
    결정된 제6 값과 제4 가중치 사이의 수학 연산의 결과로 각각의 제6 값을 수정하는 단계를 더 포함하는 비-일시적 컴퓨터-판독가능한 매체.
  15. 제 14 항에 있어서,
    상기 방법은:
    후보 객체에 대한 객체 타입에 기반하여 하나 이상의 가중치를 선택하는 단계를 더 포함하는 비-일시적 컴퓨터-판독가능한 매체.
  16. 제 11 항에 있어서,
    제1 복수의 객체 내 객체의 수는 후보 객체와 최대 공통성을 가지도록 결정되는 객체의 수로 제한되는 비-일시적 컴퓨터-판독가능한 매체.
  17. 제 16 항에 있어서,
    제1 복수의 객체 내 객체의 수는 후보 객체에 대한 객체 타입에 기반하는 비-일시적 컴퓨터-판독가능한 매체.
  18. 제 11 항에 있어서,
    총 긍정 값이 총 부정 값보다 임계치만큼 더 작다고 결정하거나 총 긍정 값이 총 부정 값보다 임계치만큼 더 크다고 결정함에 응답하여, 후보 객체가 사용자에게 추천되는 비-일시적 컴퓨터-판독가능한 매체.
  19. 제 18 항에 있어서,
    상기 임계치는 후보 객체에 대한 객체 타입에 기반하는 비-일시적 컴퓨터-판독가능한 매체.
  20. 제 11 항에 있어서,
    하나 이상의 제1 열외자 값 또는 제2 열외자 값은 총 긍정 거리 및 총 부정 거리의 결정으로부터 제외되는 비-일시적 컴퓨터-판독가능한 매체.
KR1020167017584A 2014-01-03 2014-01-06 유사성 거리에 기반한 객체 추천 KR101969006B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/147,448 US9367628B2 (en) 2014-01-03 2014-01-03 Object recommendation based upon similarity distances
US14/147,448 2014-01-03
PCT/US2014/010371 WO2015102647A1 (en) 2014-01-03 2014-01-06 Object recommendation based upon similarity distances

Publications (2)

Publication Number Publication Date
KR20160105410A KR20160105410A (ko) 2016-09-06
KR101969006B1 true KR101969006B1 (ko) 2019-04-15

Family

ID=53493846

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167017584A KR101969006B1 (ko) 2014-01-03 2014-01-06 유사성 거리에 기반한 객체 추천

Country Status (7)

Country Link
US (2) US9367628B2 (ko)
JP (1) JP6273024B2 (ko)
KR (1) KR101969006B1 (ko)
AU (1) AU2014374421B2 (ko)
CA (1) CA2933810C (ko)
IL (1) IL246366A (ko)
WO (1) WO2015102647A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150363502A1 (en) * 2014-06-16 2015-12-17 Google Inc. Optimizing personalized recommendations with longitudinal data and a future objective
US10410273B1 (en) 2014-12-05 2019-09-10 Amazon Technologies, Inc. Artificial intelligence based identification of item attributes associated with negative user sentiment
US10410125B1 (en) * 2014-12-05 2019-09-10 Amazon Technologies, Inc. Artificial intelligence based identification of negative user sentiment in event data
KR102393154B1 (ko) * 2015-01-02 2022-04-29 에스케이플래닛 주식회사 컨텐츠 추천 서비스 시스템, 그리고 이에 적용되는 장치 및 그 장치의 동작 방법
JP6819320B2 (ja) * 2016-07-20 2021-01-27 株式会社リコー 情報処理システム、および情報処理方法
CN107943787A (zh) * 2017-11-16 2018-04-20 北京百度网讯科技有限公司 收集用户反馈的方法、装置、设备及计算机可读介质
US11666217B2 (en) 2018-07-01 2023-06-06 Dukorp Corporation System and method for biometric-based spatial categorization
CN110428295A (zh) * 2018-08-01 2019-11-08 北京京东尚科信息技术有限公司 商品推荐方法和系统
CN112800342B (zh) * 2021-04-15 2021-07-02 中国人民解放军国防科技大学 基于异质信息的推荐方法、系统、计算机设备和存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1692646A2 (en) * 2003-12-03 2006-08-23 Koninklijke Philips Electronics N.V. Collaborative sampling for implicit recommenders
JP2006048320A (ja) * 2004-08-04 2006-02-16 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
US9990652B2 (en) 2010-12-15 2018-06-05 Facebook, Inc. Targeting social advertising to friends of users who have interacted with an object associated with the advertising
US20100257023A1 (en) 2009-04-07 2010-10-07 Facebook, Inc. Leveraging Information in a Social Network for Inferential Targeting of Advertisements
US20100281035A1 (en) 2009-04-30 2010-11-04 David Carmel Method and System of Prioritising Operations On Network Objects
JP5464412B2 (ja) * 2009-08-12 2014-04-09 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
US8880600B2 (en) * 2010-03-31 2014-11-04 Facebook, Inc. Creating groups of users in a social networking system
US8521661B2 (en) 2010-08-16 2013-08-27 Facebook, Inc. Suggesting connections to a user based on an expected value of the suggestion to the social networking system
US8738705B2 (en) 2010-12-21 2014-05-27 Facebook, Inc. Categorizing social network objects based on user affiliations
KR20120138216A (ko) * 2011-04-08 2012-12-24 함원준 소셜 네트워크 서비스 상에서의 관심망에 기반한 타겟 광고 방법
US8977649B1 (en) * 2011-10-21 2015-03-10 Google Inc. Generating suggestions for user groups in social networks
JP2013257696A (ja) * 2012-06-12 2013-12-26 Sony Corp 情報処理装置、情報処理方法、及び、プログラム
US8972399B2 (en) * 2012-06-22 2015-03-03 Microsoft Technology Licensing, Llc Ranking based on social activity data
US9916362B2 (en) * 2013-11-20 2018-03-13 Toyota Jidosha Kabushiki Kaisha Content recommendation based on efficacy models

Also Published As

Publication number Publication date
AU2014374421A1 (en) 2016-07-07
US20160253334A1 (en) 2016-09-01
CA2933810C (en) 2019-10-29
JP2017503275A (ja) 2017-01-26
WO2015102647A1 (en) 2015-07-09
JP6273024B2 (ja) 2018-01-31
IL246366A (en) 2017-04-30
US9367628B2 (en) 2016-06-14
CA2933810A1 (en) 2015-07-09
AU2014374421B2 (en) 2020-01-23
KR20160105410A (ko) 2016-09-06
US20150193539A1 (en) 2015-07-09

Similar Documents

Publication Publication Date Title
KR101969006B1 (ko) 유사성 거리에 기반한 객체 추천
US11604821B2 (en) Determining and utilizing contextual meaning of digital standardized image characters
US9183282B2 (en) Methods and systems for inferring user attributes in a social networking system
US9146894B2 (en) Objective value models for entity recommendation
US20190332946A1 (en) Combining machine-learning and social data to generate personalized recommendations
US10628030B2 (en) Methods and systems for providing user feedback using an emotion scale
US8793255B1 (en) Generating a reputation score based on user interactions
US20170109446A1 (en) Computerized systems and methods for offline social recommendations
US9584606B2 (en) Location suggestion based upon social networking post content
US20160191446A1 (en) Techniques for prompting communication among users of a social network
US20140074856A1 (en) Social content suggestions based on connections
KR20170100640A (ko) 소셜 네트워크 시스템을 통한 전자 메시지의 번역 제공
KR20160113685A (ko) 콘텐츠 추천 방법, 장치 및 시스템
US10255277B2 (en) Crowd matching translators
US9680947B2 (en) Aggregated actions
US20140280531A1 (en) Object ranking and recommendations within a social network
US20170199897A1 (en) Inferring qualities of a place
US20160034511A1 (en) Indexing user-defined minutiae
TW201740337A (zh) 交友配對演算方法

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant