KR101922182B1 - 소셜 네트워킹 시스템에서 컨셉에 대한 범용 소셜 컨텍스트의 제공 - Google Patents

소셜 네트워킹 시스템에서 컨셉에 대한 범용 소셜 컨텍스트의 제공 Download PDF

Info

Publication number
KR101922182B1
KR101922182B1 KR1020147015684A KR20147015684A KR101922182B1 KR 101922182 B1 KR101922182 B1 KR 101922182B1 KR 1020147015684 A KR1020147015684 A KR 1020147015684A KR 20147015684 A KR20147015684 A KR 20147015684A KR 101922182 B1 KR101922182 B1 KR 101922182B1
Authority
KR
South Korea
Prior art keywords
page
user
networking system
social networking
users
Prior art date
Application number
KR1020147015684A
Other languages
English (en)
Other versions
KR20140089602A (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 KR20140089602A publication Critical patent/KR20140089602A/ko
Application granted granted Critical
Publication of KR101922182B1 publication Critical patent/KR101922182B1/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/10Services
    • 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)
  • Tourism & Hospitality (AREA)
  • Primary Health Care (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Health & Medical Sciences (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

다수의 도메인에 걸쳐 표현되는 동등한 컨셉들은 소셜 네트워킹 시스템에 의해 생성된 메타페이지와 매치되고 관련된다. 소셜 네트워킹 시스템의 페이지들에 표현된 대로, 다수의 도메인에서 표현된 사용자 기호는 컨셉에 의해 체계화될 수 있고, 컨셉에 대해 생성된 메타페이지를 사용하여 광고자, 제3의 개발자 및 소셜 네트워킹 시스템의 다른 사용자들과 공유될 수 있다. 집계된 소셜 정보는 메타페이지와 관련된 페이지를 열람하는 소셜 네트워킹 시스템의 사용자들에게 제시될 수 있다. 외부 웹사이트에서 제시된 정보는 다수의 도메인에 걸친 페이지들을 소셜 네트워킹 시스템에서 생성된 메타페이지와 연결하는데 사용될 수 있다. 소셜 컨텍스트 정보는 한 페이지 및 메타데이터와 관련된 다른 페이지에서 다른 사용자들에 의한 관심의 표현을 보여주는 열람중인 사용자에 대한 메타페이지와 관련된 페이지에 제공될 수 있다.

Description

소셜 네트워킹 시스템에서 컨셉에 대한 범용 소셜 컨텍스트의 제공{PROVIDING UNIVERSAL SOCIAL CONTEXT FOR CONCEPTS IN A SOCIAL NETWORKING SYSTEM}
본 발명은 일반적으로 소셜 네트워킹에 관한 것이며, 특히 소셜 네트워킹 시스템에서 컨셉에 대한 범용 소셜 컨텍스트를 제공하는 것에 관한 것이다.
최근 수년간, 소셜 네트워킹 시스템은 사용자들이 더 용이하게 가령 가장 좋아하는 영화, 음악가, 유명인사, 청량음료, 취미, 스포츠 팀 및 활동과 같은 실제 세계의 컨셉에 대한 관심사와 기호를 공유할 수 있도록 해왔다. 도구(tools)가 소셜 네트워킹 시스템 외부의 다른 도메인에서 이런 실제 세계의 컨셉을 포함하는 웹페이지를 표현하는 소셜 네트워킹 시스템상의 노드를 생성하도록 설계되었다. 그 결과, 다수의 페이지가 동등한 실제-세계 컨셉에 대해 존재할 수 있다.
동시에, 소셜 네트워킹 시스템의 사용자들은 그들의 관심사를 공유하고 소셜 네트워킹 시스템 외부의 다른 도메인의 웹페이지에서의 컨셉에 대한 관심을 표현함으로써 소셜 네트워킹 시스템의 다른 사용자들과 연계된다. 사용자들로부터 수집된 정보, 즉 스포츠, 음악, 영화 등에 대한 관심을 기술하는 정보의 양은 방대하다. 소셜 네트워킹 시스템은 이런 정보를 기록하여 사용자 경험을 개인화하지만, 소셜 네트워킹 시스템은 동등한 토픽에 대해 생성되었던 중복 페이지들로 인해 제3의 개발자가 이런 사용자 기호 정보를 사용할 수 있게 하는 도구가 부족했다.
특히, 사용자의 관심사에 대한 소셜 네트워킹 시스템상에서 이용가능한 정보는 다른 도메인들에 걸쳐 표현된 동등한 컨셉에 대한 단수의 객체를 제시하도록 체계화되지 않았다. 사용자의 관심사와 기호에 대한 정보는 트래픽을 구동하고 웹사이트와의 참여를 증가시키고자 하는 제3의 개발자에게 매우 귀중하다. 또한, 광고자는 이런 정보로부터 관심-기반 상품 및 서비스를 소셜 네트워킹 시스템의 사용자들에게 마켓팅하는데 유용할 수 있다. 그러나, 기존의 시스템은 이런 가치있는 사용자 기호 정보를 체계화하고 공유하는 효율적인 메커니즘을 제공하지 못했다.
다수의 도메인에 걸쳐 표현되는 동등한 컨셉들은 소셜 네트워킹 시스템에 의해 생성된 메타페이지와 매치되고 관련된다. 소셜 네트워킹 시스템의 페이지들에 표현된 대로, 다수의 도메인에서 표현된 사용자 기호는 컨셉에 의해 체계화될 수 있고, 컨셉에 대해 생성된 메타페이지를 사용하여 광고자, 제3의 개발자 및 소셜 네트워킹 시스템의 다른 사용자들과 공유될 수 있다. 집계된 소셜 정보는 메타페이지와 관련된 페이지를 열람하는 소셜 네트워킹 시스템의 사용자들에게 제시될 수 있다. 외부 웹사이트에서 제시된 정보는 다수의 도메인에 걸친 페이지들을 소셜 네트워킹 시스템에서 생성된 메타페이지와 연결하는데 사용될 수 있다. 일실시예로, 메타페이지와 관련된 다른 외부 웹사이트상의 정보는 메타페이지와 관련된 페이지상의 링크로서 제시될 수 있다. 사용자들로부터의 피드백은 생성된 메타페이지와 관련되어 있는 페이지를 포함하거나 배제하는데 사용될 수 있다. 일실시예로, 최상의 페이지는 한 계층의 규칙을 사용하여 소셜 네트워킹 시스템상의 다수의 페이지에 포함된 컨셉에 대하여 결정될 수 있다. 또 다른 실시예로, 최상의 페이지는 사용자에 대한 정보를 기초로 사용자에 대하여 결정될 수 있다. 또 다른 실시예로, 소셜 컨텍스트 정보는 한 페이지 및 메타데이터와 관련된 다른 페이지에서 다른 사용자들에 의한 관심의 표현을 보여주는 열람중인 사용자에 대한 메타페이지와 관련된 페이지에 제공될 수 있다.
본 발명의 내용 중에 포함되어 있다.
도 1은 본 발명의 한 실시예에 따라 소셜 네트워킹 시스템의 사용자들에 대한 기호 이동성(preference portability)을 가능하게 하는 프로세스를 도시하는 상위계층 블록 다이어그램이다.
도 2는 본 발명의 한 실시예에 따라 소셜 네트워킹 시스템의 블록 다이어그램을 보여주는, 소셜 네트워킹 시스템의 사용자들에 대한 기호 이동성을 가능하게 하는 시스템의 네트워크 다이어그램이다.
도 3은 본 발명의 한 실시예에 따라 소셜 네트워킹 시스템에서 매칭 페이지를 결정하는 다양한 모듈을 포함하는 페이지 매칭 모듈을 도시하는 상위계층 블록 다이어그램이다.
도 4는 본 발명의 한 실시예에 따라 소셜 네트워킹 시스템에서 매칭 페이지를 결정하는 프로세스의 흐름도이다.
도 5는 본 발명의 한 실시예에 따라 소셜 네트워킹 시스템에서 메타페이지와 관련된 페이지에 대한 사용자 기호를 제공하는 프로세스의 흐름도이다.
도면들은 단지 예로써 본 발명의 다양한 실시예들을 도시한다. 당업자는 하기의 설명을 통해 본 명세서에 나타난 구성 및 방법의 대안적인 실시예들이 본 명세서에 기술된 본 발명의 원리에서 벗어남이 없이 이용될 수 있음을 용이하게 인식할 것이다.
개요
소셜 네트워킹 시스템은 사용자에게 소셜 네트워킹 시스템의 다른 사용자들과 통신하고 상호작용하는 능력을 제공한다. 사용자들은 소셜 네트워킹 시스템에 가입하고 그들이 연결되고자 하는 많은 다른 사용자들과의 연결관계를 추가한다. 소셜 네트워킹 시스템의 사용자들은 사용자 프로필로서 저장되는 그들을 기술하는 정보를 제공할 수 있다. 예컨대, 사용자들은 그들의 연령, 성별, 지리적 위치, 학력, 경력 등을 제공할 수 있다. 사용자들에 의해 제공된 정보는 정보를 사용자에게 알려주는 소셜 네트워킹 시스템에 의해 사용될 수 있다. 예컨대, 소셜 네트워킹 시스템은 사용자에게 소셜 그룹, 이벤트 및 잠재적인 친구들을 추천할 수 있다. 또한, 소셜 네트워킹 시스템은 사용자가 가령 유명인사, 취미, 스포츠 팀, 책, 음악 등과 같은 컨셉에 대한 관심을 명시적으로 표현하게 할 수 있다. 이런 관심사는 공유된 관심사를 기초로 소셜 네트워킹 시스템의 다른 사용자들에 대한 관련 소식을 보여줌으로써 광고의 타겟팅 및 소셜 네트워킹 시스템상의 사용자 경험의 개인화를 포함하는 수많은 방식으로 사용될 수 있다.
소셜 그래프는 소셜 네트워킹 시스템에 저장되는 에지에 의해 연결된 노드를 포함한다. 노드는 컨셉을 포함하는 웹페이지와 같이 소셜 네트워킹 시스템의 사용자들과 객체들을 포함하며, 에지는 노드를 연결한다. 에지는 사용자가 새 영화 "Bridemaids"에 대한 웹페이지에 관심을 표현하는 경우와 같이, 2개의 노드 사이의 특정한 상호작용을 표현한다. 소셜 그래프는 이런 상호작용을 표현하는 노드와 에지에 정보를 저장하여, 소셜 네트워킹 시스템의 사용자들 사이의 상호작용뿐만 아니라 소셜 네트워킹 시스템의 사용자들과 객체들 사이의 상호작용을 기록할 수 있다. 커스텀 그래프 객체와 그래프 행위는 그래프 객체와 그래프 행위의 속성을 정의하도록 제3의 개발자뿐만 아니라 소셜 네트워킹 시스템의 관리자에 의해 정의될 수 있다. 예컨대, 영화에 대한 그래프 객체는 제목, 배우, 감독, 프로듀서, 연도 등과 같은 여러 정의된 속성을 가질 수 있다.
제3의 개발자는 소셜 네트워킹 시스템의 사용자들이 소셜 네트워킹 시스템 외부의 웹사이트에 호스팅되는 웹페이지에 대한 관심을 표현하게 할 수 있다. 이런 웹페이지는 가령 iFrame과 같이 위젯, 소셜 플러그인, 프로그램가능 로직 또는 코드 스니펫을 웹페이지로 내장함으로써 소셜 네트워킹 시스템에서 페이지 객체로 표현될 수 있다. 웹페이지에 내장될 수 있는 임의의 컨셉은 이런 방식으로 소셜 네트워킹 시스템의 소셜 그래프에서 노드가 될 수 있다. 그 결과, 가령 영화의 프로듀서에 의해 생성된 소셜 네트워킹 시스템에 호스팅된 페이지, 영화 "Bridesmaids"의 사용자-생성된 리뷰를 포함하는 다수의 웹사이트, 영화 "Bridesmaids"에 대한 백과사전 기사, 소셜 네트워킹 시스템상의 "Bridesmaids"의 사용자-생성 팬페이지, 영화 "Bridesmaids"에 대한 외부 웹사이트의 뉴스 기사 및 영화 "Bridesmaids"에 대한 영화 프로덕션 웹사이트와 같이, 동일한 컨셉을 표현하는 다수의 페이지 객체들이 있을 수 있다. 사용자가 어느 특정 페이지 객체에 관심을 표현했는지에 관계없이, "Bridesmaids"에 관심이 있는 소셜 네트워킹 시스템의 총 사용자 수의 집계는 컨셉에 대한 웹페이지에 참여하도록 다른 사용자들에게 영향을 줄 수 있는 귀중한 소셜 정보를 제공한다. 단일의 메타페이지 객체 하에서 컨셉에 대한 다수의 페이지 객체로부터 정보를 집중화하는 것은 소셜 네트워킹 시스템의 사용자들에게 더 많은 소셜 커버리지(social coverage)를 제공하여, 잠재적으로 메타페이지 객체와 관련된 페이지에 참여하도록 사용자들에게 영향을 준다. 가령 영화 "Bridesmaids"와 같은 컨셉에 대해 집계된 정보는 메타페이지와 관련된 페이지에 제시될 수 있다.
동등한 컨셉을 표현하는 페이지 객체의 식별은 다양한 방법을 사용하여 수행될 수 있다. 예컨대, 제3자 웹페이지는 동일한 토픽에 대한 다른 제3자 웹페이지로의 링크를 포함할 수 있다. 소셜 네트워킹 시스템은 이런 링크를 사용하여 토픽에 대한 제3자 웹페이지의 교차-참조(cross-referenced) 리스트를 생성할 수 있다. 또 다른 예로서, 페이지 객체는 가령 제목, 배우 및 연도와 같은 페이지 객체의 속성에 의해 매치될 수 있다. 일실시예로, 가령 오기를 인식하는 텍스트용 퍼지 매칭(fuzzy matching) 및 소셜 네트워킹 시스템에서 지리적 위치를 표현하는 장소 객체에서 위치를 매칭하기 위한 근접성(closeness)의 사용과 같은, 부정확한 매칭 프로세스가 사용될 수 있다. 또한, 사용자 피드백이 매칭 페이지 객체를 결정하는데 사용될 수 있다. 본 명세서에 기술되는 바와 같이, 기계 학습, 발견적 분석(heuristics analysis) 및 회귀 분석(regression analysis)이 페이지 객체를 매치하고 메타페이지 객체를 매칭 페이지 객체와 연관짓는데 사용될 수 있다.
도 1은 일실시예로 소셜 네트워킹 시스템에서 메타페이지 객체를 생성하는 프로세스의 상위계층 블록 다이어그램을 도시한다. 소셜 네트워킹 시스템(100)은 페이지 객체(104)가 매치(match)(108)로 판명된 후 메타페이지 객체(102)를 생성한다. 연관(assoication)(112)은 매치(108)가 페이지 객체(104)의 분석으로부터 결정된 후 페이지 객체(104)와 메타페이지 객체(102) 사이에 생성된다. 소셜 네트워킹 시스템(100)의 사용자들을 표현하는 사용자 프로필 객체(106)는 사용자들에 의해 페이지 객체(104)에서 수행되는 행위(110)를 기초로 페이지 객체(104)와 관련될 수 있다. 소셜 네트워킹 시스템(100)의 각각의 사용자는 특정한 사용자 프로필 객체(106)와 관련된다. 사용자 프로필 객체(106)는 사용자에 의해 명시적으로 공유되고 소셜 네트워킹 시스템(100)에서 객체에 대해 행위로 표현되었던 사용자에 대한 선언형 정보(declarative information)를 포함한다. 일실시예로, 사용자 프로필 객체(106)는 30 이상의 다른 데이터 필드를 포함할 수 있고, 각각의 데이터 필드는 소셜 네트워킹 시스템(100)의 해당 사용자의 속성을 기술한다. 열람중인 사용자는 소셜 네트워킹 시스템(100)에서 열람중인 사용자 프로필 객체(114)와 관련된다.
도 1 및 다른 도면들은 동일한 요소를 식별하는데 동일한 참조번호를 사용한다. 가령 "104a"와 같이, 참조번호 뒤의 문자는 텍스트가 그 특정 참조번호를 갖는 요소를 명확히 나타낸다는 점을 표시한다. 가령 "104"과 같이, 뒤에 문자가 없는 텍스트 내의 참조번호는 그 참조번호를 포함하는 도면에서 임의의 또는 모든 요소를 나타낸다(예컨대, 텍스트에서 "104"은 도면의 참조번호 "104a", "104b" 및/또는 "104c"를 나타낸다). 설명의 간소화 및 명확화를 위해, 단지 3개의 페이지 객체(104)만이 도 1에 도시된다.
페이지 객체(104)는 페이지 객체(104) 사이의 매치(108)가 있는지를 결정하도록 분석될 수 있다. 페이지 객체(104) 사이의 매치(108)를 결정하는 방법은 특정 토픽에 대한 다른 제3자 웹페이지의 링크를 포함하는 제3자 데이터베이스나 웹사이트를 이용하여, 제3자 웹페이지로의 링크를 기초로 매칭 페이지 객체와 함께 메타페이지 객체(102) 및 연관(112)을 생성하는 것을 포함한다. 다른 페이지로의 링크는 소셜 네트워킹 시스템(100)에서 다른 페이지 객체(104)를 표현할 수 있다.
매칭 페이지 객체(104)를 결정하는 또 다른 방법은 가령 페이지 객체(104)와 관련된 영화에 대한 제목, 배우, 감독 및 연도와 같은 페이지 객체(104)의 공유된 속성을 식별하는 것을 포함하며, 매치 점수(match score)를 생성한다. 생성된 매치 점수가 기결정된 임계치를 초과하면, 페이지 객체(104)는 매치(108a)인 것으로 결정된다. 매칭 페이지 객체(104)를 결정하는 다른 방법은 오기를 참작하는 퍼지 매칭과 지리적 근접성을 기초로 매치 위치로의 근접성 매칭을 포함하는 부정확한 매칭 및 소셜 네트워킹 시스템(100)에서 사용자와 페이지의 관리자로부터의 피드백을 사용하여 매치(108)를 결정하는 것을 포함한다.
매칭 페이지 객체(104)를 결정하는 또 다른 방법은 페이지 객체(104)의 동시 매칭을 포함한다. 예컨대, 가령 IMDB.com과 같은 외부 웹사이트에서 영화 "Bridesmaids"를 표현하는 제1 페이지 객체가 제1 페이지 객체의 속성으로 영화의 연도 및 주연 여배우 Kristen Wiig을 표현하는 제2 페이지 객체로의 참조를 포함한다고 가정하자. 가령 rottentomatoes.com와 같은 다른 외부 웹사이트에서 영화 "Bridesmaids"를 표현하는 제3 페이지 객체는 제1 페이지 객체와 동시 매칭될 수 있는 한편, rottentomatoes.com에서 주연 여배우 Kristen Wiig를 표현하는 제4 객체는 동일한 영화에 대해 참조된 동일한 주연 여배우를 기초로 동일한 여배우를 표현하는 제2 객체와 동시 매칭될 수 있다.
일실시예로, 페이지 객체(104)가 메타페이지 객체(102)와 관련된 후, 페이지 객체(104)와 관련되고 사용자 프로필 객체(106)와 관련된 사용자들에 의해 수행되었던 수행된 행위(110)는 메타페이지 객체(120)와 관련되는 수행된 객체(110)의 총 수를 계산하여 집계될 수 있다. 예컨대, 사용자는 소셜 네트워킹 시스템(100)에서 페이지 객체(104)로 표현되는 다양한 페이지에 대한 관심을 표현할 수 있다. 사용자가 한 페이지에 관심을 표현할 때, 페이지 객체(104)와 수행된 행위(110)를 표현하는 에지는 소셜 네트워킹 시스템(100)에 의해 생성되어, 사용자와 관련된 사용자 프로필 객체(106)를 페이지 객체(104)와 연결한다. 다른 사용자들이 페이지 객체(104)로 표현된 페이지와 상호작용할 때, 페이지와의 상호작용의 집계는 웹페이지가 다른 열람중인 사용자들 사이에서 얼마나 인기가 있었는지를 열람중인 사용자들에게 식별하도록 페이지 상에 디스플레이될 수 있다. 일실시예로, 메타페이지 객체(102)와 관련된 매칭 페이지 객체(104)에 대하여 집계된 상호작용의 총 수는 매칭 페이지 객체(104) 중 하나와 관련된 페이지 상에 디스플레이될 수 있다. 그 결과, 여러 페이지에 표현되더라도, 컨셉의 인기도는 메타페이지 객체를 사용하여 페이지 상의 소셜 정보를 집계함으로써 각각의 페이지에 정확히 표현될 수 있다.
또한, 일실시예로, 매칭 페이지 객체(104)와 관련된 메타페이지 객체(102)는 컨셉에 대한 정보용 중앙 저장소로 사용될 수 있다. 예컨대, 가령 레스토랑과 같은 비즈니스를 표현하는 페이지 객체(104)에서 빠진 주소는 매치라고 결정되었던 또 다른 페이지 객체(104)로부터 획득될 수 있다. 메타페이지는 메타페이지 객체(102)와 관련하여 소셜 네트워킹 시스템(100)에서 생성될 수 있다. 일실시예로, 메타페이지는 메타페이지 객체(102)와의 연관(112)을 생성했던 페이지 객체(104)와 관련된 페이지들로부터 선택된 컨텐츠를 병합할 수 있다. 매칭 페이지 객체(104)와 관련된 페이지들은 소셜 네트워킹 시스템(100)에서 메타페이지 객체에 대한 메타페이지에 리스팅될 수 있다.
또 다른 실시예로, 컨셉에 대해 최상의 페이지라고 결정된 페이지는 메타페이지 객체(102)에 대한 소셜 네트워킹 시스템(100)상의 메타페이지로 사용될 수 있다. 메타페이지 객체(102)와 관련된 소셜 네트워킹 시스템(100)의 페이지는 열람중인 사용자의 정보를 기초로 소셜 네트워킹 시스템(100)의 매칭 페이지들에 대해 페이지 객체(104)와 관련된 메타페이지 객체(102)에 대한 메타페이지로 사용될 수 있다. 예컨대, 소셜 네트워킹 시스템(100)의 페이지들 중에서 "Eiffel"을 검색한 미국에 있는 열람중인 사용자는 "The Eiffel Tower"에 대한 페이지를 찾는 중일 수 있다. 반면에, 동일한 검색을 수행하는 프랑스에 있는 열람중인 사용자는 "Le Tour Eiffel"에 대한 페이지를 찾고 있을 수 있다. 따라서, 일실시예로, 메타페이지 객체(102)에 대한 최상의 페이지는 열람중인 사용자에 대한 정보에 따라 변할 수 있다.
마찬가지로, 페이지는 열람중인 사용자와 연결된 사용자들에 대한 정보를 기초로 열람중인 사용자에 대하여 선택될 수 있다. 예컨대, 열람중인 사용자는 메타페이지 객체에 대한 최상의 페이지라고 결정되지 못했던 페이지에 대해 관심을 표현한 사용자들과 연결될 수 있다. 그 결과, 열람중인 사용자는 연결된 사용자들이 관심을 표현했던 페이지를 제시받아서, 메타페이지 객체에 대해 결정된 최상의 페이지를 무시(overriding)할 수 있다.
시스템 구조
도 2는 본 발명의 한 실시예에 따라 소셜 네트워킹 시스템의 사용자들에 대한 기호 이동성(preference portability)을 가능하게 하는데 적합한 시스템 환경을 도시한 상위계층 블록 다이어그램이다. 시스템 환경은 하나 이상의 사용자 장치(202), 소셜 네트워킹 시스템(100), 네트워크(204) 및 외부 웹사이트(216)를 포함한다. 대안의 구성으로, 다른 모듈 및/또는 추가 모듈이 시스템에 포함될 수 있다.
사용자 장치(202)는 사용자 입력을 수신할 수 있고 네트워크(204)를 통해 데이터를 전송 및 수신할 수 있는 하나 이상의 컴퓨팅 장치를 포함한다. 일실시예로, 사용자 장치(202)는 예컨대 마이크로소프트 윈도우-호환 운영 시스템(OS), 애플 OS X 및/또는 리눅스 배포판을 실행하는 종래의 컴퓨터 시스템이다. 또 다른 실시예로, 사용자 장치(202)는 가령 개인용 정보단말기(PDA), 모바일폰, 스마트폰 등과 같이, 컴퓨팅 기능을 갖는 장치일 수 있다. 사용자 장치(202)는 네트워크(204)를 통해 통신하도록 구성된다. 사용자 장치(202)는 예컨대 사용자 장치(202)의 사용자가 소셜 네트워킹 시스템(100)과 상호작용할 수 있도록 하는 브라우저 애플리케이션과 같은 애플리케이션을 실행할 수 있다. 또 다른 실시예로, 사용자 장치(202)는, 가령 iOS 4 및 ANDROID와 같이, 사용자 장치(202)의 네이티브 운영 시스템에서 실행하는 애플리케이션 프로그래밍 인터페이스(API)를 통해 소셜 네트워킹 시스템(100)과 상호작용한다.
일실시예로, 네트워크(204)는 표준 통신 기술 및/또는 프로토콜을 사용한다. 따라서, 네트워크(204)는 가령 이더넷, 802.11, WiMAX(worldwide interoperability for microwave access), 3G, 4G, CDMA, DSL(digital subscriber line) 등과 같은 기술을 사용하는 링크를 포함할 수 있다. 마찬가지로, 네트워크(204)에서 사용되는 네트워킹 프로토콜은 MPLS(multiprotocol label switching), TCP/IP(transmission control protocol/Internet protocol), UDP(User Datagram Protocol), HTTP(hypertext transport protocol), SMTP(simple mail transfer protocol) 및 FTP(file transfer protocol)를 포함할 수 있다. 네트워크(204)에서 교환되는 데이터는 하이퍼텍스트 마크업 언어(HTML)와 확장형 마크업 언어(XML)를 포함하는 기술 및/또는 포맷을 사용하여 표현될 수 있다. 또한, 링크의 전부 또는 일부는 가령 SSL(secure socket layer), TLS(transport layer security) 및 IPsec(Internet Protocol security)와 같은 종래의 암호화 기술을 사용하여 암호화될 수 있다.
도 2는 소셜 네트워킹 시스템(100)의 블록 다이어그램을 포함한다. 소셜 네트워킹 시스템(100)은 사용자 프로필 스토어(206), 웹 서버(208), 메타페이지 스토어(210), 컨텐츠 스토어(212), 에지 스토어(214), 메타페이지 생성 모듈(218), 페이지 매칭 모듈(220), 메타페이지 API 모듈(222), 페이지 순위화 모듈(224) 및 페이지 재지정 모듈(page redirection module)(226)을 포함한다. 다른 실시예로, 소셜 네트워킹 시스템(100)은 다양한 애플리케이션을 위한 추가 모듈, 보다 적은 모듈 또는 다른 모듈을 포함할 수 있다. 가령 네트워크 인터페이스, 보안 기능, 부하 균형기, 장애복구 서버, 관리와 네트워크 동작 콘솔 등과 같은 종래의 구성요소들은 시스템의 세부사항을 모호하게 하지 않도록 도시되지 않는다.
웹 서버(208)는 네트워크(204)를 통해 소셜 네트워킹 시스템(100)을 하나 이상의 사용자 장치(202)로 연결한다; 웹 서버(208)는 웹페이지뿐만 아니라 가령 Java, Flash, XML 등과 같이 다른 웹-관련 컨텐츠를 제공한다. 웹 서버(208)는, 예컨대 인스턴트 메시지, 큐잉된 메시지(예컨대, 이메일), 텍스트와 SMS(단문 메시지 서비스) 메시지 또는 임의의 다른 적절한 메시징 기술을 사용하여 송신되는 메시지와 같은, 소셜 네트워킹 시스템(100)과 사용자 장치(202) 사이의 메시지를 수신하고 라우팅하는 기능을 제공할 수 있다. 사용자는 웹 서버(208)로의 요청을 송신하여, 예컨대 컨텐츠 스토어(212)에 저장된 이미지나 비디오와 같은 정보를 업로드할 수 있다. 추가로, 웹 서버(208)는 가령 iOS, ANDROID, webOS 및 RIM과 같은 네이티브 사용자 장치 운영 시스템으로 직접 데이터를 송신하는 API 기능을 제공할 수 있다.
페이지 매칭 모듈(220)은 상술한 바와 같이 페이지 객체(104)가 소셜 네트워킹 시스템(100)에서 동등한 컨셉을 표현하는지를 결정하는 다양한 방법을 사용한다. 페이지 객체(104)가 페이지 매칭 모듈(220)에 의해 매치로 결정된 후, 메타페이지 객체(102)는 메타페이지 생성 모듈(218)에 의해 생성된다. 생성된 메타페이지 객체(102)는 메타페이지 스토어(210)에 저장된다. 페이지 객체(104)는 컨텐츠 스토어(212)에 컨텐츠 객체로 저장될 수 있다. 페이지 객체(104)는 외부 웹사이트(216)뿐만 아니라 소셜 네트워킹 시스템(100) 내의 페이지와 관련될 수 있다.
메타페이지 API 모듈(222)은 소셜 네트워킹 시스템(100)의 사용자들의 기호 정보에 대한 애플리케이션 프로그래밍 인터페이스(API) 호출에 응답한다. 일실시예로, 메타페이지 API 모듈(222)은 소셜 네트워킹 시스템(100)의 특정 노드에 대한 요청 및 그 노드에 관한 사용자 관심사에 응답한다. 예컨대, 온라인 음악 스트리밍 웹사이트의 관리자는 다수의 음악 사이트에 걸쳐 Lady Gaga의 새로운 노래 "Bad Romance"에 대한 총 사용자 관심을 식별하고자 할 수 있다. 그 결과, 온라인 음악 스트리밍 웹사이트의 관리자는 이런 정보를 요청하는 API 호출을 생성하고, 명칭과 가수로 노래를 식별할 수 있다. 메타페이지 API 모듈(222)은 온라인 음악 스트리밍 웹사이트에 의해 요청된 포맷으로 사용자 기호 정보에 응답할 수 있다.
또 다른 실시예로, 메타페이지 API 모듈(222)은 특정 사용자의 관심뿐만 아니라 그 사용자와 연결된 다른 사용자들의 관심에 대한 요청에 응답할 수 있다. 예컨대, 영화 정보 웹사이트의 제3의 개발자는 현재 상영중인 영화에 대한 사용자 관심을 비교하고 다수의 도메인에 걸쳐 영화에 대한 표현된 관심을 기초로 병립형 비교(side-by-side comparison)로 정보를 디스플레이하고자 할 수 있다. 영화 정보 웹사이트는 이런 사용자 기호 정보를 요청하는 API 호출을 소셜 네트워킹 시스템(100)으로 생성할 수 있다. 메타페이지 API 모듈(222)은 요청된 정보와 함께 API 호출에 응답한다.
사용자 계정 정보 및 사용자에 대한 다른 관련 정보는 사용자 프로필 스토어(206)에 저장된다. 가령 경력, 학력, 성별, 취미나 기호, 위치 등과 같이, 인명 정보, 인구학적 정보 및 다른 타입의 설명적 정보를 포함하는 사용자 프로필 스토어(206)에 저장된 사용자 프로필 정보는 소셜 네트워킹 시스템(100)의 사용자들을 기술한다. 또한, 사용자 프로필은 예컨대 이미지나 비디오와 같이 사용자에 의해 제공되는 다른 정보를 저장할 수 있다. 특정 실시예로, 사용자의 이미지는 이미지에서 디스플레이되는 소셜 네트워킹 시스템(100)의 사용자들의 식별 정보와 함께 태깅될 수 있다. 또한, 사용자 프로필 스토어(206)는 행위 로그에 저장되고 컨텐츠 스토어(212)의 객체에 대해 수행된 행위에 대한 참조를 관리한다.
에지 스토어(214)는 사용자와 소셜 네트워킹 시스템(100)상의 다른 객체 사이의 연결을 기술하는 정보를 저장한다. 일부의 에지는 사용자에 의해 정의될 수 있어서, 사용자가 다른 사용자들과의 관계를 지정할 수 있도록 해준다. 예컨대, 사용자는 가령 친구, 직장동료, 파트너 등과 같은 사용자의 실생활 관계에 상응하는 다른 사용자들과의 에지를 생성할 수 있다. 다른 에지는 사용자가 가령 소셜 네트워킹 시스템상의 페이지에 대한 관심을 표현하고, 소셜 네트워킹 시스템의 다른 사용자들과 링크를 공유하며, 소셜 네트워킹 시스템의 다른 사용자들에 의해 행해진 게시물에 코멘트하는 것과 같이 소셜 네트워킹 시스템(100)에서 객체와 상호작용할 때 생성된다. 에지 스토어(214)는 가령 객체, 관심사 및 다른 사용자들에 대한 친밀감 점수와 같은 에지에 대한 정보를 포함하는 에지 객체를 저장한다.
메타페이지 생성 모듈(218)은 새로 생성된 메타페이지 객체를 메타페이지 객체와 관련된 페이지 객체로부터 추출된 정보로 채울 수 있다. 예컨대, 페이지 객체는 체육관(gym)에 대해 존재할 수 있으나, 페이지 객체는 가령 정확한 주소, 연락 정보 및 운동 수업 스케쥴과 같은 컨텐츠를 빠뜨린 반면, 체육관에 관심을 표현한 사용자들과 같은 다른 정보를 포함할 수 있다. 동일한 체육관을 표현하는 또 다른 페이지 객체는 이런 정보뿐만 아니라 수업의 리뷰를 포함할 수 있다. 체육관의 브랜드를 표현하는 또 하나의 페이지 객체는 다른 페이지 객체에서 이용가능하지 않은 애플리케이션 컨텐츠를 제공할 수 있다. 이와 같이, 체육관을 표현하는 메타페이지 객체는 3개의 페이지 객체로부터 이용가능한 모든 정보로 채워질 수 있다.
일실시예로, 페이지 순위화 모듈(224)은 사용자에 대한 최상의 페이지를 결정하도록 메타페이지 객체와 관련된 페이지 객체를 순위화할 수 있다. 예컨대, Eiffel Tower를 기술하는 페이지 객체는 Eiffel Tower에 대한 메타페이지 객체와 관련될 수 있다. 사용자의 프로필 정보를 기초로, Eiffel Tower를 기술하는 페이지 객체는 사용자에 대한 최상의 페이지를 제시하도록 순위화될 수 있다. 사용자의 언어 기호가 프랑스어로 설정되어 있다면, 그 사용자에 대한 최상의 페이지는 프랑스어로 Eiffel Tower를 기술하는 페이지인 "Le Tour Eiffel"과 관련된 페이지 객체일 것이다. 기호, 사용자가 기반으로 한 지리적 위치, 사용자가 포함되는 네트워크, 다른 사용자에 대한 친밀감 점수 및 소셜 네트워킹 시스템의 내외에서 사용자의 행위로부터 기록된 행동적 정보를 포함하는 소셜 네트워킹 시스템의 사용자들에 대한 다른 프로필 정보는 사용자에 대한 최상의 페이지를 결정하도록 페이지 객체를 순위화하는데 사용될 수 있다.
페이지 순위화 모듈(224)은 다른 모듈에 의해 사용자에 대한 최상의 페이지를 결정하는데 사용될 수 있다. 이전의 예로 돌아가서, 사용자가 소셜 네트워킹 시스템에서 "Eiffel"에 대한 검색을 수행한다고 가정하자. 그 사용자에 대해 가장 높게 순위화된 페이지는 사용자가 미국에 위치해 있을 수 있기 때문에 "The Eiffel Tower"일 수 있다. 반면에, 프랑스에 위치한 사용자에 대해 가장 높게 순위화된 페이지는 "Le Tour Eiffel"일 수 있다. 일실시예로, 검색은 그 사용자에 대해 선택된 가장 높게 순위화된 페이지만을 반환할 수 있고, "다른 유사한 페이지" 링크의 다른 페이지들을 붕괴할 수 있다. 또 다른 예에서, 사용자에 대해 가장 높게 순위화된 페이지는 사용자의 연결관계의 기호에 따라 결정될 수 있다. 따라서, 사용자가 프랑스에 있으나 "The Eiffel Tower"에 관심을 표현한 많은 사용자와 연결되어 있다면, 그 사용자에 대해 가장 높게 순위화된 페이지는 "The Eiffel Tower"일 수 있다. 가령, 언어 설정, 사용자와 연결된 다른 사용자들이 페이지에 관심을 표현했는지 여부 및 페이지에 관심을 표현한 다른 사용자들과 매치하는 인명 정보과 같은 사용자의 프로필에서의 다른 정보가 사용자에 대한 최상의 페이지를 결정하는데 사용될 수 있다.
또 다른 실시예로, 페이지 순위화 모듈(224)은 메타페이지 객체와 관련된 페이지 객체의 클러스터를 순위화하여 그 클러스터에 대한 최상의 페이지를 결정한다. 예컨대, Justin Bieber의 팬은 소셜 네트워킹 시스템(100)상의 Justin Bieber에 대한 페이지를 개별적으로 생성할 수 있고, 그 가수 전용의 페이지 커뮤니티를 생성할 수 있다. 또한, 페이지는 예컨대 Justin Bieber의 홍보 회사와 같은 비즈니스 또는 공적 엔티티에 의해 생성될 수 있고, 백과사전 엔트리는 가령 영어, 프랑스어 및 스페인어로의 "Justin Bieber"에 대한 위키피디아 기사와 같은 소셜 네트워킹 시스템(100)상의 페이지로서 표현될 수 있다. 일실시예로, 클러스터에 대한 최상의 페이지는 한 계층의 규칙에 따라 선택될 수 있다. 비즈니스 또는 공적 엔티티에 의해 소유되는 인증된 페이지는 메타페이지 객체와 관련된 페이지 중에서 먼저 선택된다. 다음으로, 가령 위키피디아와 같은 제3자 백과사전식 웹사이트로부터의 페이지가 메타페이지 객체와 관련된 열람중인 사용자의 지역 내 페이지로부터 선택된다. 예컨대, 소셜 네트워킹 시스템(100)에서 Justin Bieber와 관련된 공식 페이지가 없다면, 미국에 기반을 둔 사용자들에 대해 Justin Bieber에 대한 백과사전 엔트리와 관련된 페이지가 미국에 위치한 열람중인 사용자에 대해 선택된다. 제3자 백과사전식 웹사이트로부터의 열람중인 사용자 지역 내의 페이지가 없다면, 열람중인 사용자의 지역 외의 제3자 백과사전식 웹사이트로부터의 페이지가 다음으로 커뮤니티 페이지에 대한 최상의 페이지로서 선택된다. 일실시예로, 어떤 제3자 백과사전식 페이지도 공급될 수 없다면, 고등학교에 대한 네트워크 페이지와 같이 네트워크와 커뮤니티와 관련된 페이지가 최상의 페이지로 선택될 수 있다. 마지막으로, 소셜 네트워킹 시스템(100)에서 사용자들에 의해 생성된 비인증 페이지가 커뮤니티에 대한 최상의 페이지로 선택될 수 있다. 각 규칙에 대해 다수의 매칭 페이지가 존재하면, 가장 많은 수의 팬들, 즉 그 페이지에 관심을 표현한 사용자들을 가진 페이지가 최상의 페이지로 선택된다. 일실시예로, 선택된 최상의 페이지로의 링크는 커뮤니티 페이지와 관련된 페이지의 클러스터에서 각각의 페이지에 제공된다.
또 하나의 실시예로, 페이지 순위화 모듈(224)은 제3자 웹사이트에서 토픽이나 컨셉에 대한 최상의 페이지를 선택할 수 있다. 예컨대, 제3자 웹사이트는 다수의 영화의 개봉에 해당하는 다수의 페이지 버전와 같이, 특정 토픽에 대한 다수의 페이지를 가질 수 있다. 일실시예로, 제3자 웹사이트에서 그 영화에 대한 최상의 페이지는 제3의 개발자 제공 규칙을 기초로 페이지 순위화 모듈(224)에 의해 결정될 수 있다. 또 다른 실시예로, 제3자 웹사이트에 대한 최상의 페이지는 상술한 규칙에 따라 소셜 네트워킹 시스템(100)에 의해 선택될 수 있다.
또 하나의 실시예로, 페이지 순위화 모듈(224)은 사용자의 프로필 페이지의 열람자에 대한 최상의 페이지를 선택할 수 있다. 예컨대, 사용자는 소셜 네트워킹 시스템(100)상의 페이지로 표현되는 "Baseball(야구)"에 대해 관심을 표현할 수 있다. 이런 관심은 사용자에 대한 프로필 페이지에 제공될 수 있다. 사용자의 프로필의 열람자는 스페인어로 설정된 언어 기호를 가질 수 있다. 따라서, "Baseball" 관심 페이지와 동등한 스페인어인 "Beisbol"이 사용자의 프로필의 열람자에 대한 최상의 페이지로 선택될 수 있다. 그 결과, 사용자가 "Baseball"에 대한 페이지에 관심을 실제로 표현했더라도 "Beisbol"에 대한 페이지와 "Baseball"에 대한 페이지가 "Baseball"에 대한 메타페이지 객체와 관련되어 있기 때문에, 사용자의 프로필의 열람자는 사용자가 "Beisbol"에 대해 관심이 있음을 알 수 있다.
페이지 재지정 모듈(226)은 소셜 네트워킹 시스템(100)의 다른 모듈들과 연계하여 메타페이지와 관련된 페이지의 클러스터의 최상의 페이지로 사용자를 재지정시키도록 동작할 수 있다. 예컨대, 사용자는 소셜 네트워킹 시스템의 사용자에 의해 생성되는 영화 "Star Warz"에 대한 비인증 페이지에 관심을 표현했을 수 있다. 그 결과, "Star Warz"에 대한 사용자의 이런 관심의 표현을 기술하는 컨텐츠 아이템은 다른 사용자들이 "Star Warz"에 대한 페이지 대신에 영화에 대한 공식 엔티티에 의해 생성된 페이지인 "Star Wars"에 관심을 표현하는 옵션과 함께, 소셜 네트워킹 시스템(100)의 다른 사용자들과 공유될 수 있다. 페이지 재지정 모듈(226)은 "Star Warz"에 관심을 표현한 사용자와 연결된 다른 사용자들과 컨텐츠 아이템을 공유하는 소셜 네트워킹 시스템(100)의 모듈들과 연계하여 이런 옵션을 생성한다.
또 다른 실시예로, 페이지 재지정 모듈(226)은 사용자들이 메타페이지 객체와 관련된 페이지에 관심을 표현한 후 메타페이지 객체와 관련된 페이지의 클러스터에 대한 최상의 페이지에 관심을 표현하는 옵션을 사용자들에게 제공할 수 있다. 예컨대, 사용자는 CA, Berkeley에서 로컬 Bon Iver 콘서트에 대한 콘서트 티켓을 판매하기 위한 외부 웹사이트에 관심을 표현할 수 있다. 사용자가 Bon Iver 메타페이지와 관련된 페이지에서 이런 행위를 수행한 후, 페이지 재지정 모듈(226)은 사용자가 Bon Iver에 대해 선택된 최상의 페이지에 관심을 표현하도록 또한 유도할 수 있다. 일실시예로, 소셜 네트워킹 시스템(100)은 가령 일정 기간 동안 Bon Iver의 콘서트 투어에 대한 웹사이트에 참여하고, 콘서트 티켓을 구매하며, 투어에 대한 링크를 공유하는 등과 같은 외부 웹사이트상의 사용자 행동을 추적할 수 있다. 이런 사용자 행동을 추적함으로써, 소셜 네트워킹 시스템(100)은 Bon Iver에 대한 관심을 추론할 수 있고, Bon Iver에 대해 선택된 최상의 페이지에 관심을 표현하는 제안을 사용자에게 제공할 수 있다. 일실시예로, 컨셉에 대해 선택된 최상의 페이지는 표준 엔티티(canonical entity)라고 일컬어질 수 있다.
일실시예로, 범용 소셜 컨텍스트는 페이지에 관심을 표현했던 사용자와 연결된 다른 사용자들을 식별하는 메타페이지 객체와 관련된 페이지를 열람하는 사용자에 대해 생성될 수 있다. 예컨대, 로컬 Bon Iver 쇼에 대한 콘서트 티켓을 판매하는 외부 웹사이트에 대한 페이지에 관심을 표현하는 사용자의 수는 200개 이하의 "좋아요"나 관심의 표현으로 소규모일 수 있다. 외부 웹사이트의 열람중인 사용자는 소셜 네트워킹 시스템에서 어떠한 열람중인 사용자의 친구들도 Bon Iver 콘서트의 참석에 관심이 없다고 단념할 수 있다. 그러나, 범용 소셜 컨텍스트는 열람중인 사용자의 관심에 더 나은 이해를 제공하는데 사용될 수 있다. Bon Iver와 관련된 공식 엔티티에 의해 소유되는 페이지로 소셜 네트워킹 시스템에 의해 결정된 Bon Iver에 대한 최상의 페이지는 가령 600,000개 이상의 좋아요와 같이 그 밴드에 관심을 표현하는 다수의 사용자를 가질 수 있는데, 이들 중 20개는 열람중인 사용자와 연결된 사용자들에 의한 좋아요 이며, 이들 중 8개는 콘서트 현장 근처에 사는 사용자들에 의한 좋아요 이다. 따라서, 페이지가 Bon Iver에 대한 메타페이지와 관련되어 있기 때문에, 밴드 "Bon Iver"에 관심을 표현했고 콘서트 현장 근처에 사는 열람중인 사용자와 연결된 8명의 사용자는 Bon Iver에 대한 콘서트 티켓을 판매하는 외부 웹사이트에 대한 페이지 내에 제공될 수 있다.
또한, 범용 소셜 컨텍스트 정보는 소셜 네트워킹 시스템(100)의 페이지에서 열람중인 사용자에게 제공되어, 외부 웹사이트, 외부 시스템 및 소셜 네트워킹 시스템에 대한 관련 소셜 활동을 보여줄 수 있다. 예컨대, Bon Iver에 대한 페이지를 열람하는 사용자는 Bon Iver에 의한 음악 스트리밍 서비스에서 사용자와 연결된 다른 사용자들에 의해 최근 청취된 노래, 디지털 음악 웹사이트나 구독 서비스에서 사용자의 친구들에 의해 구매된 앨범, 소셜 네트워킹 시스템의 다른 사용자들에 의해 게시된 콘서트 리뷰 등을 제공받을 수 있다. 일실시예로, 소셜 컨텍스트 정보는 열람중인 사용자에 의해 열람되는 페이지와의 관련성에 따라 순위화되는 열람중인 사용자와 연결된 소셜 네트워킹 시스템의 다른 사용자들에 의해 수행된 선택된 행위들을 포함한다. 예컨대, Bon Iver에 대한 콘서트 티켓을 판매하는 페이지를 열람하고 있는 열람중인 사용자는 통상 인디 포크 음악을 기술하는 연결된 사용자에 의해 공유된 링크에는 덜 관심이 있을 수 있고, 또 다른 연결된 사용자에 의한 최근 Bon Iver 콘서트의 콘서트 리뷰에 더 관심이 있을 수 있다. 이와 같이, 행위들이 페이지와의 순위화된 관련성을 기초로 사용자에 의해 열람중인 페이지에 대한 범용 소셜 컨텍스트 정보로 선택될 수 있다.
또 다른 실시예로, 행위들은 사용자의 친밀감에 따라 범용 소셜 컨텍스트 정보로 순위화되고 선택될 수 있다. 친밀감은 소셜 네트워킹 시스템상의 다른 노드들과 사용자 행동을 관찰하여 소셜 네트워킹 시스템에 의해 결정될 수 있다. 예컨대, 사용자는 다른 사용자들의 서브세트와의 상기의 평균 참여로 증명되는, 소셜 네트워킹 시스템에서 사용자와 연결되는 다른 사용자들의 서브세트에 대해 강한 친밀감을 가질 수 있다. 그 결과, 사용자와 연결된 다른 사용자들의 서브세트의 행위들이 사용자에게 더 많은 영향을 줄 수 있고, 페이지에 대해 사용자에게 더 나은 소셜 컨텍스트 정보를 제공할 수 있다.
또한, 범용 소셜 컨텍스트 정보는 사용자의 연결관계들의 공유된 관심으로의 통찰을 제공하도록 사용자 프로필에 제공될 수 있다. 예컨대, 사용자가 San Francisco Giants, 즉 San Francisco의 AT&T Park에서의 이벤트 체크인, 팀의 플레이어에 대해 공유된 링크 및 가상 야구 팀과 관련하여 다른 사용자에 의해 설치된 소셜 게임 애플리케이션과 같이, 사용자와 연결된 다른 사용자들의 관련 행위에 대한 관심을 공언하면, 범용 소셜 컨텍스트 정보로서 사용자의 프로필에 제공될 수 있다. 일실시예로, 소셜 컨텍스트 피드는 외부 웹사이트에서 위젯으로 내장될 수 있다. 예컨대, San Francisco Giants용 외부 웹사이트에 대한 제3의 개발자는 소셜 컨텍스트 피드 위젯을 외부 웹사이트로 내장할 수 있어서, 소셜 네트워킹 시스템의 사용자들이 외부 웹사이트를 방문할 때, 방문중인 사용자들과 연결된 다른 사용자들에 의한 관련 행위들이 소셜 컨텍스트 피드 위젯에 제공될 수 있다.
또한, 범용 소셜 컨텍스트 정보는 사용자와 연결된 다른 사용자들이 페이지 재지정 모듈(226)에 의해 관심을 표현한 특정 페이지로 사용자를 재지정시키는데 사용될 수 있다. 소셜 컨텍스트 페이지 재지정은 특정 페이지에 관한 다른 페이지와 관련되는 외부 웹사이트, 특정 페이지와 관련된 메타페이지에 관심을 표현하는 또 다른 사용자에 대한 컨텐츠 아이템뿐만 아니라 소셜 네트워킹 시스템의 사용자들로의 광고로 선택된 스폰서 소식에 내장된 소셜 플러그인에 통합될 수 있다.
소셜 네트워킹 시스템에서 매칭 페이지의 결정
도 3은 일실시예로 더 상세히 페이지 매칭 모듈(220)의 상위계층 블록 다이어그램을 도시한다. 페이지 매칭 모듈(220)은 외부 데이터 수집 모듈(300), 매칭 규칙 모듈(302), 사용자 피드백 모듈(304), 회귀 분석 모듈(regression analysis module)(306), 발견적 분석 모듈(heuristics analysis module)(308) 및 기계 학습 모듈(310)을 포함한다. 이런 모듈은 서로 연계하여 또는 별도로 수행하여, 소셜 네트워킹 시스템(100)에서 매칭 페이지의 매치 점수화 모델을 개발시킬 수 있다.
외부 데이터 수집 모듈(300)은 외부 웹사이트(216)와 접속(interface)하여 소셜 네트워킹 시스템(100)의 페이지 객체(104)에 대한 정보를 처리한다. 이런 정보는 제3자 웹사이트상의 컨텐츠 및 제3의 개발자로부터 인가된 다른 데이터를 포함할 수 있다. 제3자 웹사이트로부터 추출된 링크는 동일한 컨셉을 기술하는 다른 웹사이트들을 식별하도록 분석된다. 제3의 데이터 제공자는 동등한 컨셉을 기술하는 소셜 네트워킹 시스템으로의 웹사이트에 대한 정보를 인가할 수 있다. 일실시예로, 외부 데이터 수집 모듈(300)은 페이지 매칭 모듈(220)과 비동기식으로 일괄하여 외부 웹사이트(216)로부터 검색된 정보를 처리할 수 있다.
매칭 규칙 선택 모듈(302)은 소셜 네트워킹 시스템(100)에서 매칭 페이지 객체에 대한 규칙을 선택한다. 페이지 매칭 모듈(220)은 복수의 페이지 객체(104)에 대한 매치 점수를 결정하는데 여러 매칭 규칙을 사용할 수 있다. 가중치 또는 계수는 특정 규칙이 다른 것보다 더 많은 가중치를 가질 수 있도록 매칭 규칙에 할당될 수 있다. 일실시예로, 매칭 규칙 선택 모듈(302)은 페이지 매칭 모듈(220)의 다른 모듈들과 연계하여 이런 가중치를 결정하도록 동작한다. 또 다른 실시예로, 매칭 규칙 선택 모듈(302)은 페이지 객체가 동등한 컨셉을 표현하는지를 결정하는데 어느 매칭 규칙을 사용할지를 선택하여 매치를 만들어 낸다. 예컨대, 동일한 컨셉을 표현하는 교차-참조 웹사이트의 리스트는 외부 데이터 수집 모듈(300)에 의해 생성될 수 있다. 그 결과, 동일한 컨셉을 표현하는 교차-참조 웹사이트의 리스트에서 웹사이트와 관련된 페이지 객체는 크게 가중된 규칙으로 인해 매치 점수를 계산할 필요없이 모두 매치인 것으로 결정될 수 있다. 일실시예로, 100%의 매치 점수는 동일한 컨셉을 표현하는 교차-참조 웹사이트의 리스트에서 웹사이트와 관련되는 페이지 객체에 대해 결정될 것이다.
또 다른 실시예로, 매칭 규칙 선택 모듈(302)은 회귀 분석 모듈(306)에 의해 개발된 매치 점수화 모델에 사용하기 위해 한 세트의 매칭 규칙을 선택할 수 있다. 일실시예로, 매칭 규칙의 선택은 소셜 네트워킹 시스템(100)의 관리자에 의해 수동으로 선택될 수 있다. 또 다른 실시예로, 매칭 규칙은 결정된 매치를 긍정하거나 부정하는 사용자 피드백 모듈(304)을 통해 수신된 사용자 피드백을 기초로 매치 점수화 모델에 사용되도록 선택될 수 있다. 또 다른 실시예로, 모든 매칭 규칙이 매치 점수화 모델로 통합되도록 선택될 수 있다.
일실시예로, 매칭 규칙은 매칭 속성을 식별하도록 페이지 객체의 속성을 분석하는 것을 포함할 수 있다. 페이지 객체는 다수의 속성이나 객체 특성을 가지도록 정의되었던 그래프 객체 타입과 관련될 수 있다. 예컨대, 영화 객체 타입은 가령 감독 객체 타입, 프로듀서 객체 타입, 주연배우 타입 등과 같은 특성들을 가지도록 정의될 수 있다. 매칭 규칙은 2개의 페이지 객체가 매치이기 위해 영화 객체 타입의 적어도 2개의 속성이 동일해야 할 필요가 있을 수 있다. 또 다른 매칭 규칙은 가령 영화의 제목, 연도 및 주연배우와 같이 그래프 객체 타입 중 어느 속성이 매치되어야 하는지를 지정할 수 있다. 또 다른 매칭 규칙은 다른 매칭 규칙을 기초로 만족되거나 초과되어야 하는 기결정된 임계 매치 점수를 정의할 수 있다. 예컨대, 제목과 연도로 매치하는 페이지 객체는 페이지 객체가 매치할 가능성을 기초로 95% 매치 점수를 할당받을 수 있다. 이런 확률은 사용자 피드백 모듈(304)로부터 수신된 과거 매치 및 사용자 피드백을 관찰하여 회귀 분석 모듈(306) 또는 기계 학습 모듈(310)에 의해 계산될 수 있다. 반면에, 주연배우와 연도에만 매치하는 페이지 객체는 예컨대, 그 연도에 주연배우가 캐스팅되었던 영화의 수를 기초로 38% 매치 점수를 할당받을 수 있다. 그 결과, 38% 매치 점수를 가진 페이지 객체는 기결정된 임계 매치 점수를 정의하는 매칭 규칙에 따라 매치로서 결정되지 않을 수 있다.
회귀 분석 모듈(306)은 회귀 모델을 사용하여 소셜 네트워킹 시스템(100)에서 페이지를 매치할 수 있다. 일실시예로, 매치 점수화 모델은 회귀 분석을 사용하여 매치 점수화 모델에서 매칭 규칙에 대한 가중치를 결정한다. 예컨대, 초기 가중치는 제목, 연도 및 주연배우가 2개 페이지 객체 사이에서 매치되는 상기의 매칭 규칙에 할당될 수 있다. 초기 가중치는 회귀 분석을 사용하여 매치를 긍정하거나 부정하는 사용자들로부터 수신된 사용자 피드백을 기초로 위 또는 아래로 조정될 수 있다. 매칭 규칙의 조합을 사용하여, 회귀 모델은 사용자 피드백 및 매치의 확률을 기초로 각각의 매칭 규칙에 계수를 할당한다. 메타페이지 객체가 페이지 객체와 이미 관련되고 새로운 페이지 객체가 분석되고 있는 일실시예에서, 회귀 분석 모듈(306)은 페이지 객체가 메타페이지 객체와 관련된 다른 페이지 객체와 잘 어울리는지를 표시하는 매치 점수를 결정한다. 곡선 적합(curve fit) 또는 최상의 적합(best fit)은 매치의 정확한 측정으로 사용될 수 있는 0 내지 1의 수를 산출한다. 일실시예로, 회귀 분석 모듈(306)은 회귀 모델을 조정하여, 대표 페이지 객체의 기계 학습 분석 및 발견적 분석을 기초로 동등한 페이지의 매칭과 관련되거나 관련되지 않는다고 결정되는 매칭 규칙을 포함하거나 배제한다.
발견적 분석 모듈(308)은 페이지 매칭 모듈(220)에서 다른 모듈들과 별도로 비동기식으로 동작한다. 발견적 분석 모듈(308)은 소셜 네트워킹 시스템(100)으로부터 정보를 수집하는 다양한 단계를 수행한다. 예컨대, 행위 로그는 사용자가 소셜 네트워킹 시스템에서 수행하는 행위를 포함한다. 발견적 분석 모듈(308)은 통신이 페이지의 토픽을 표시할 수 있는 가령 "Justin Bieber"와 같은 특정 키워드를 포함했는지를 결정하도록 소셜 네트워킹 시스템에서 페이지에 대한 통신 활동의 레벨을 분석하는데 사용될 수 있다.
발견적 분석 모듈(308)의 또 다른 사용은 비교되는 페이지 객체로부터 다른 타입의 정보를 수집하고 분석하는 것을 포함한다. 예컨대, 페이지 객체의 관리자는 가령 Oahu, Hawaii와 같은 특정 지역과 같이 페이지 객체의 토픽에 관한 정보와 외부 웹사이트로의 많은 연결을 게시할 수 있다. 발견적 분석 모듈(308)은 이런 외부 웹사이트를 수집 및 분석하고, 특정 지역이 그 웹사이트 모두에서 언급되었다고 결론을 내린다. 그 결과, 페이지 객체는 그 지역에 대해 생성된 메타페이지 객체와 관련될 수 있다.
일실시예로, 2 이상의 페이지가 동일한 컨셉을 표현한다는 어써션(assertion)이 소셜 네트워킹 시스템의 사용자에 의해 이루어질 수 있다. 발견적 분석 모듈(308)은 사용자들에 의해 행해진 어써션을 추적할 수 있고, 이런 사용자들에 의해 행해진 이전의 어써션을 기초로 낮은 평판 점수를 가진 사용자들에 의해 행해진 어써션을 평가절하(discount)할 수 있다. 예컨대, Manolo Blahnik 신발에 대한 페이지 및 유리 슬리퍼 전용 페이지가 농담으로 사용자에 의해 이루어질 수 있다는 어써션이 행해질 수 있다. 발견적 분석 모듈(308)은 두 페이지 객체 모두에 대한 컨텐츠를 분석할 수 있고 그들이 매치가 아니라고 결정할 수 있다. 사기성(fraudulent) 어써션을 기초로, 사용자의 평판 점수는 감소할 수 있다. 장래에, 그런 사용자의 평판 점수는 사용자의 평판 점수가 기결정된 임계 평판 점수를 만족하지 못했기 때문에 메타페이지가 생성되는 것을 방지할 것이다.
일실시예로, 복수의 메타페이지 객체는 새로운 메타페이지가 기존의 페이지와 함께 생성될 때 병합될 수 있다. 발견적 분석 모듈(308)에 의해 생성된 신뢰 점수(매칭 점수)를 포함하는 다양한 상충 규칙(conflict rules)이 새로운 메타페이지 객체를 기존의 메타페이지 객체와 병합하는데 사용될 수 있다. 새로운 메타페이지 객체는 비활성 페이지 객체와 낮은 평판 점수를 가진 페이지 객체와 같이, 예전의 연결을 끊는 이유를 포함하는 어써션을 기초로 페이지 객체에 대한 예전의 연결을 끊을 수 있다.
기계 학습 모듈(310)은 페이지 매칭 모듈(220)에서 매칭 규칙 선택 모듈(302)과 회귀 분석 모듈(306)에서 정의된 매치 점수화 모델을 개선하는데 사용될 수 있다. 일실시예로, 소셜 네트워킹 시스템(100)은 기계 학습 알고리즘을 사용하여 매치 점수화 모델을 재훈련하도록 사용자 피드백 모듈로부터 수신된 사용자 피드백을 분석한다. 매치 점수화 모델은 더 많거나 더 적은 매칭 규칙을 포함하도록 개선될 수 있고, 각각의 매칭 규칙에 할당된 가중치 또는 계수는 사용자 피드백을 기초로 또한 조정될 수 있다.
도 4는 본 발명의 한 실시예에 따라 소셜 네트워킹 시스템에서 메타페이지 객체를 생성하는 프로세스를 나타내는 흐름도 다이어그램을 도시한다. 적어도 2개의 페이지 객체가 매칭 컨셉을 표현한다는 어써션이 소셜 네트워킹 시스템(100)에 의해 수신(402)된다. 일실시예로, 이런 어써션은 소셜 네트워킹 시스템(100)의 사용자에 의해 이루어질 수 있다. 어써션은 사용자 식별자, 페이지 객체의 식별자 및 매치 이유를 포함한다. 페이지 객체에 대한 정보가 수신(404)된다. 이런 정보는 페이지 객체에 대한 속성, 페이지 객체와 관련된 다른 객체, 페이지 개체와 관련된 외부 웹사이트 및 제3의 제공자로부터의 다른 정보를 포함할 수 있다. 예컨대, 사용자는 한 페이지 객체가 "We are beliebers!"란 제목이라도 2개의 페이지 객체가 "Justin Bieber"에 대한 매칭 컨셉이라고 어써션할 수 있다. 이런 어써션이 포함된 이유는 두 페이지 객체 모두가 Justin Bieber의 팬 페이지이기 때문일 수 있다.
소셜 네트워킹 시스템의 페이지에 대한 정보가 수신(404)된 후, 매치 점수는 페이지 객체에 대한 수신된 정보를 기초로 매치 점수화 모델의 매칭 규칙에 따라 결정(406)된다. 일실시예로, 관리자는 상술한 바와 같이 페이지 매칭 모듈(220)을 사용하여 매칭 속성 및 선택된 객체 특성과 같은 매치 점수화 모델에서의 매칭 규칙을 수동으로 선택할 수 있다. 또 다른 실시예로, 페이지 매칭 모듈(220)은 회귀 분석의 결과와 이전의 페이지 객체에 관한 사용자 피드백을 기초로 매칭 규칙을 선택할 수 있다. 상술한 예를 다시 살펴보면, "belieber"는 Justin Bieber와 관련된 다른 페이지 객체의 발견적 분석에 의해 증명되는, Justin Bieber의 팬과 직접 관련되는 키워드일 수 있다. 이런 발견 이후, 키워드 "belieber"는 수동 매칭 규칙,예컨대 제목에 키워드를 포함하는 자동 매칭 페이지 객체로서 추가될 수 있다. 이런 점에서, 가령 "We are beliebers"란 제목의 페이지 객체 및 "Justin Bieber"란 제목의 페이지 객체와 같은 비-표준 컨셉은 표준 컨셉이 될 수 있고, Justin Bieber에 대한 메타페이지 객체로 체계화될 수 있다.
매치 점수가 결정(406)된 후, 메타페이지 객체는 매치 점수가 기결정된 임계치를 초과하면 어써션에 포함된 페이지 객체와 연관되어 생성(408)된다. 매치 점수가 임계치를 초과하지 않으면, 프로세스는 종료된다. 생성된 메타페이지 객체는 메타페이지 객체에 대한 식별자에 의해 인덱싱되는 데이터베이스에 저장된다. 또한, 생성된 메타페이지 객체는 어써션에 포함된 페이지 객체의 식별자를 저장한다. 이런 방식으로, 생성된 메타페이지 객체는 페이지 객체의 식별자에 대해 질의(querying)하여 관련 페이지 객체에 대한 소셜 정보를 집계할 수 있다. 일실시예로, 생성된 메타페이지 객체와 관련된 페이지 객체에 대한 집계된 소셜 정보를 검색하도록 API 호출이 외부 웹사이트로부터 이루어질 수 있다.
소셜 네트워킹 시스템의 사용자들에 대한 기호 이동의 가능성( Enabling Preference Portability for Users of a Social Networking System )
도 5는 본 발명의 한 실시예에 따라 소셜 네트워킹 시스템에서 메타페이지와 관련된 페이지들에 대한 사용자 기호를 제공하는 프로세스를 나타내는 흐름도 다이어그램이다. 페이지 객체에 대한 요청이 사용자 장치로부터 수신(502)된다. 예컨대, 사용자의 개인용 컴퓨터에서 웹 브라우저는 소셜 네트워킹 시스템(100) 외부의 외부 웹사이트(216)에 호스팅되는 웹페이지를 로딩중일 수 있다. 웹페이지는 가령 Britney Spears에 대한 백과사전식 기사와 같은 로딩중인 웹페이지에 대한 페이지 객체를 요청하는 임베디드 코드 스니펫(embedded code snippet) 또는 위젯을 포함할 수 있다. 일실시예로, 위젯은 웹페이지에서 보이지 않을 수 있다.
소셜 네트워킹 시스템(100)에 의해 수신(502)된 요청에 응답하여, 그 요청에서 페이지 객체와 관련된 메타페이지 객체가 검색(504)된다. 한 예로, Britney Spears에 대한 백과사전식 기사와 관련된 페이지 객체는 가수에 대한 메타페이지 객체와 관련될 수 있다. 따라서, Britney Spears에 대한 메타페이지 객체는 Britney Spears에 대한 백과사전식 기사에 대한 페이지 객체에 대해 수신(502)된 요청에 응답하여 검색(504)될 것이다.
페이지 객체와 관련된 메타페이지 객체가 검색(504)된 후, 사용자 기호에 대한 정보가 메타페이지 객체와 관련된 페이지 객체로부터 검색(506)된다. 예컨대, Britney Spears에 대한 웹사이트 백과사전식 기사에 내장된 위젯은 Britney Spears에 관심을 표현했던 소셜 네트워킹 시스템(100)상의 사용자들의 총 수에 대한 정보를 수신할 수 있다. 일실시예로, 이 수는 열람중인 사용자와 연결된 사용자들 및 열람중인 사용자와 연결되지 않은 사용자들로 나뉠 수 있다. 그 결과, 이런 수적 정보는 Britney Spears에 대한 메타페이지 객체와 관련된 페이지 객체들로부터 검색(506)된다. 이후, 총 수는 소셜 네트워킹 시스템(100)이 요청에 응답하여 사용자 장치로 검색된 사용자 기호 정보를 제공(508)한 후 백과사전식 기사에 지시될 수 있다.
또 하나의 실시예로, 위젯은 메타페이지 객체와 관련된 페이지 객체들과의 상호작용을 기초로 Britney Spears에 대한 메타페이지 객체에서 열람중인 사용자의 기호를 요청할 수 있다. 따라서, 열람중인 사용자가 메타페이지 객체와 관련된 페이지 객체로 표현되는 소셜 네트워킹 시스템(100)상의 Britney Spears에 대한 페이지에 관심을 이전에 표현했다면, Britney Spears에 대한 백과사전식 기사를 열자마자, 열람중인 사용자는 열람중인 사용자가 외부 웹사이트(216)상의 백과사전식 기사에 관심을 이미 표현했다는 정보를 제시받는다. 열람중인 사용자의 기호 정보는 페이지 객체가 Britney Spears에 대한 메타페이지 객체와 관련되어 있기 때문에 소셜 네트워킹 시스템상에서 Britney Spears에 대한 페이지와 관련된 페이지 객체로부터 검색(506)된다. Britney Spears에 대한 백과사전식 기사는 요청에 응답하여 사용자 장치로 제공(508)된 후, 열람중인 사용자의 기호 정보를 제시할 수 있다. 따라서, Britney Spears에 대한 사용자의 기호는 Britney Spears에 대한 백과사전식 기사를 호스팅하는 외부 웹사이트(216)로 이동가능해질 수 있다.
또 다른 실시예로, 위젯은 Britney Spears와 관련된 페이지 객체와 상호작용하는 열람중인 사용자와 연결된 사용자들에 대한 정보를 요청할 수 있다. 이런 정보는 Britney Spears에 대한 메타페이지 객체와 관련된 페이지 객체들로 필터링될 수 있다. 예컨대, 열람중인 사용자와 연결된 사용자들이 Britney Spears에 대한 인증된 페이지에 의한 페이지 게시물을 공유했다면, 이런 정보는 인증되지 않은 Britney Spears에 대한 웹사이트에서 열람중인 사용자와 연결된 사용자들에 의해 행해진 코멘트에 대한 정보와는 별도로 위젯에 제공될 수 있다. 또한, 이런 정보는 행위 타입으로 필터링될 수 있다. 다시 예를 살펴보면, 페이지를 공유하는 행위, 페이지에 코멘트하는 행위 및 페이지에 관심을 표현하는 행위가 행위 타입으로 필터링될 수 있다. 그 결과, 열람중인 사용자와 연결된 사용자들에 대한 사용자 기호 정보는 메타페이지 객체와 관련된 페이지 객체들로부터 검색(506)될 수 있다. 이후, 열람중인 사용자와 연결된 사용자들에 대한 사용자 기호 정보는 요청에 응답하여 사용자 장치로 제공(508)될 수 있다.
요약
본 발명의 실시예들의 상술한 설명은 예시의 목적으로 제시되었다; 이는 하나도 빠뜨리는 것 없이 철저하려고 하거나 정확히 개시된 형태로 발명을 제한하려는 의도는 아니다. 당업자는 상술한 명세서의 관점에서 많은 변형과 변경이 가능함을 이해할 수 있다.
본 명세서의 일부분은 정보에 관한 동작들의 알고리즘과 기호 표시의 관점에서 본 발명의 실시예를 기술한다. 이들 알고리즘의 설명 및 표시는 발명의 요지를 다른 당업자에게 효율적으로 전달하기 위해 데이터 프로세스 기술분야에서 당업자에 의해 널리 사용된다. 기능적, 계산적 또는 논리적으로 기술되는 이들 동작은 컴퓨터 프로그램 또는 균등한 전기 회로, 마이크로코드 등에 의해 구현됨을 이해해야 한다. 게다가, 일반성을 잃지 않고, 동작들의 배치를 모듈들로 나타내는 것이 또한 간편하다는 점은 때때로 입증되었다. 기술된 동작들 및 그와 관련된 모듈들은 소프트웨어, 펌웨어, 하드웨어 또는 이들의 임의의 조합으로 이용될 수 있다.
본 명세서에 기술된 임의의 단계들, 동작들 또는 프로세스들은 하나 이상의 하드웨어 모듈들 또는 소프트웨어 모듈들 단독으로, 또는 다른 장치들과의 조합으로 수행되거나 구현될 수 있다. 일실시예로, 소프트웨어 모듈은 컴퓨터 프로그램 코드를 포함하는 컴퓨터-판독가능한 매체를 구비하는 컴퓨터 프로그램 제품으로 구현되며, 이런 컴퓨터 프로그램 코드는 기술된 임의의 또는 모든 단계들, 동작들 또는 프로세스들을 수행하기 위한 컴퓨터 프로세서에 의해 실행될 수 있다.
또한, 본 발명의 실시예들은 본 명세서의 동작들을 수행하기 위한 장치에 관한 것일 수 있다. 이런 장치는 필요한 목적을 위해 특히 구성될 수 있고/있거나, 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨팅 디바이스를 포함할 수 있다. 이런 컴퓨터 프로그램은 컴퓨터 시스템 버스로 연결될 수 있는, 비일시적인(non-transitory) 유형의(tangible) 컴퓨터 판독가능한 저장 매체 또는 전자식 명령어를 저장하는데 적합한 임의의 종류의 매체에 저장될 수 있다. 게다가, 명세서에 언급되는 임의의 컴퓨팅 시스템은 단일 프로세서를 포함할 수 있거나, 컴퓨팅 능력을 증가시키기 위해 다중 프로세서 설계를 이용하는 아키텍처일 수 있다.
또한, 본 발명의 실시예들은 본 명세서에 기술된 컴퓨팅 프로세스로 제조된 제품에 관한 것일 수 있다. 이런 제품은 컴퓨팅 프로세스의 결과로 생성된 정보를 포함할 수 있는데, 여기서 정보는 비일시적인 유형의 컴퓨터 판독가능한 저장 매체에 저장되며, 본 명세서에 기술된 컴퓨터 프로그램 제품 또는 다른 데이터 조합의 임의의 실시예를 포함할 수 있다.
마지막으로, 본 명세서에서 사용된 언어는 원칙적으로 읽기 쉬운 지침상의 목적으로 선택되었으며, 발명의 요지를 상세히 기술하거나 제한하려고 선택된 것은 아닐 수 있다. 따라서, 본 발명의 기술범위는 본 명세서에 의해서가 아니라 본 명세서를 기초로 출원된 임의의 청구범위들에 의해 한정되는 것으로 의도된다. 그래서, 본 발명의 실시예들에 관한 설명은 하기의 청구범위에 제시된 본 발명의 기술범위의 예시가 되나, 이에 제한되지 않아야 한다.

Claims (16)

  1. 소셜 네트워킹 시스템의 그래프 데이터베이스에서, 고유의 엔티티를 각각 표현하는 복수의 메타페이지 객체를 관리하는 단계;
    소셜 네트워킹 시스템의 사용자들 간의 복수의 연결을 관리하는 단계;
    복수의 사용자에 의해 복수의 페이지 객체에 대해 수행된 행위를 기록하는 단계;
    복수의 사용자 중 열람중인 사용자로부터, 복수의 페이지 객체 중 제1 페이지 객체에 관한 소셜 컨텍스트 정보에 대한 요청을 수신하는 단계;
    제1 페이지 객체와 동일한 메타페이지 객체와 연결되는 페이지 객체의 세트에 대해 그래프 데이터베이스에 질의하는 단계;
    소셜 네트워킹 시스템에서 열람중인 사용자와 연결된 소셜 네트워킹 시스템의 다른 사용자들에 의해 제1 페이지 객체 이외의 복수의 페이지 객체 중 하나 이상에 대해 수행된 복수의 행위를 결정하는 단계;
    소셜 네트워킹 시스템에서 열람중인 사용자와 연결된 소셜 네트워킹 시스템의 다른 사용자들에 의해 수행된 복수의 결정된 행위를 집계하는 단계;
    집계된 행위를 기초로, 집계된 행위의 텍스트 설명을 포함하는 요청된 소셜 컨텍스트 정보를 결정하는 단계; 및
    제1 페이지 객체와 연계하여 소셜 컨텍스트 정보를 열람중인 사용자에게 제공하는 단계를 포함하며,
    각각의 메타페이지 객체는 서로 다른 웹사이트 도메인을 갖는 웹페이지를 각각 표현하고 연결된 메타페이지 객체의 동일한 고유의 엔티티에 기인하는 복수의 페이지 객체와 그래프 데이터베이스에서 연결되는 방법.
  2. 제 1 항에 있어서,
    복수의 사용자 중 열람중인 사용자로부터, 복수의 페이지 객체 중 제1 페이지 객체에 관한 소셜 컨텍스트 정보에 대한 요청을 수신하는 단계는:
    제1 페이지 객체와 관련된 외부 웹사이트에 내장된 위젯으로부터 애플리케이션 프로그래밍 인터페이스(API) 호출을 수신하는 단계를 더 포함하며,
    상기 API 호출은 제1 페이지 객체에 관하여 열람중인 사용자를 위한 소셜 컨텍스트 정보에 대한 요청을 포함하는 방법.
  3. 제 1 항에 있어서,
    집계된 행위를 기초로, 요청된 소셜 컨텍스트 정보를 결정하는 단계는:
    페이지와의 관련성으로, 다른 사용자들에 의해 수행된 집계된 행위를 순위화하는 단계;
    기결정된 임계치를 만족하는 복수의 높은-순위의 집계된 행위를 선택하는 단계; 및
    복수의 높은-순위의 집계된 행위를 기초로 소셜 컨텍스트 정보를 결정하는 단계를 포함하는 방법.
  4. 제 1 항에 있어서,
    집계된 행위를 기초로, 요청된 소셜 컨텍스트 정보를 결정하는 단계는:
    사용자와의 친밀감으로, 다른 사용자들에 의해 수행된 집계된 행위를 순위화하는 단계; 및
    순위화된 행위를 기초로, 소셜 컨텍스트 정보를 결정하는 단계를 포함하는 방법.
  5. 제 1 항에 있어서,
    제1 페이지 객체와 연계하여 소셜 컨텍스트 정보를 열람중인 사용자에게 제공하는 단계는: 외부 웹사이트에 내장된 위젯에서 소셜 컨텍스트 정보를 제공하는 단계를 더 포함하는 방법.
  6. 제 1 항에 있어서,
    제1 페이지 객체와 연계하여 소셜 컨텍스트 정보를 열람중인 사용자에게 제공하는 단계는:
    소셜 네트워킹 시스템상의 페이지 객체에서 디스플레이하기 위해 소셜 컨텍스트 정보를 제공하는 단계를 더 포함하는 방법.
  7. 제 1 항에 있어서,
    제1 페이지 객체와 연계하여 소셜 컨텍스트 정보를 열람중인 사용자에게 제공하는 단계는:
    열람중인 사용자에 대응하는 소셜 네트워킹 시스템상의 제1 페이지 객체와 관련된 프로필 페이지 내에서 디스플레이하기 위해 소셜 컨텍스트 정보를 제공하는 단계를 더 포함하는 방법.
  8. 소셜 네트워킹 시스템의 그래프 데이터베이스에서, 고유의 엔티티를 각각 표현하는 복수의 메타페이지 객체를 관리하고;
    소셜 네트워킹 시스템의 사용자들 간의 복수의 연결을 관리하며;
    복수의 사용자에 의해 복수의 페이지 객체에 대해 수행된 행위를 기록하고;
    복수의 사용자 중 열람중인 사용자로부터, 복수의 페이지 객체 중 제1 페이지 객체에 관한 소셜 컨텍스트 정보에 대한 요청을 수신하며;
    제1 페이지 객체와 동일한 메타페이지 객체와 연결되는 페이지 객체의 세트에 대해 그래프 데이터베이스에 질의하고;
    소셜 네트워킹 시스템에서 열람중인 사용자와 연결된 소셜 네트워킹 시스템의 다른 사용자들에 의해 제1 페이지 객체 이외의 복수의 페이지 객체 중 하나 이상에 대해 수행된 복수의 행위를 결정하며;
    소셜 네트워킹 시스템에서 열람중인 사용자와 연결된 소셜 네트워킹 시스템의 다른 사용자들에 의해 수행된 복수의 결정된 행위를 집계하고;
    집계된 행위를 기초로, 집계된 행위의 텍스트 설명을 포함하는 요청된 소셜 컨텍스트 정보를 결정하며;
    제1 페이지 객체와 연계하여 소셜 컨텍스트 정보를 열람중인 사용자에게 제공하기 위한 컴퓨터 프로그램 코드를 저장한 비-일시적 컴퓨터 판독가능한 저장매체로서,
    각각의 메타페이지 객체는 서로 다른 웹사이트 도메인을 갖는 웹페이지를 각각 표현하고 연결된 메타페이지 객체의 동일한 고유의 엔티티에 기인하는 복수의 페이지 객체와 그래프 데이터베이스에서 연결되는 비-일시적 컴퓨터 판독가능한 저장매체.
  9. 제 8 항에 있어서,
    복수의 사용자 중 열람중인 사용자로부터, 복수의 페이지 객체 중 제1 페이지 객체에 관한 소셜 컨텍스트 정보에 대한 요청을 수신하기 위한 명령어는:
    제1 페이지 객체와 관련된 외부 웹사이트에 내장된 위젯으로부터 애플리케이션 프로그래밍 인터페이스(API) 호출을 수신하기 위한 명령어를 더 포함하고,
    상기 API 호출은 제1 페이지 객체에 관하여 열람중인 사용자를 위한 소셜 컨텍스트 정보에 대한 요청을 포함하는 비-일시적 컴퓨터 판독가능한 저장매체.
  10. 제 8 항에 있어서,
    집계된 행위를 기초로, 요청된 소셜 컨텍스트 정보를 결정하기 위한 명령어는:
    페이지와의 관련성으로, 다른 사용자들에 의해 수행된 집계된 행위를 순위화하고;
    기결정된 임계치를 만족하는 복수의 높은-순위의 집계된 행위를 선택하며;
    복수의 높은-순위의 집계된 행위를 기초로 소셜 컨텍스트 정보를 결정하기 위한 명령어를 포함하는 비-일시적 컴퓨터 판독가능한 저장매체.
  11. 제 8 항에 있어서,
    집계된 행위를 기초로, 요청된 소셜 컨텍스트 정보를 결정하기 위한 명령어는:
    사용자와의 친밀감으로, 다른 사용자들에 의해 수행된 집계된 행위를 순위화하고;
    순위화된 행위를 기초로, 소셜 컨텍스트 정보를 결정하기 위한 명령어를 포함하는 비-일시적 컴퓨터 판독가능한 저장매체.
  12. 제 8 항에 있어서,
    제1 페이지 객체와 연계하여 소셜 컨텍스트 정보를 열람중인 사용자에게 제공하는 것은: 외부 웹사이트에 내장된 위젯에서 소셜 컨텍스트 정보를 제공하기 위한 명령어를 더 포함하는 비-일시적 컴퓨터 판독가능한 저장매체.
  13. 제 8 항에 있어서,
    제1 페이지 객체와 연계하여 소셜 컨텍스트 정보를 열람중인 사용자에게 제공하는 것은:
    소셜 네트워킹 시스템상의 페이지 객체에서 디스플레이하기 위해 소셜 컨텍스트 정보를 제공하기 위한 명령어를 더 포함하는 비-일시적 컴퓨터 판독가능한 저장매체.
  14. 제 8 항에 있어서,
    제1 페이지 객체와 연계하여 소셜 컨텍스트 정보를 열람중인 사용자에게 제공하는 것은:
    열람중인 사용자에 대응하는 소셜 네트워킹 시스템상의 제1 페이지 객체와 관련된 프로필 페이지 내에서 디스플레이하기 위해 소셜 컨텍스트 정보를 제공하기 위한 명령어를 더 포함하는 비-일시적 컴퓨터 판독가능한 저장매체.
  15. 제 1 항에 있어서,
    복수의 페이지 객체와 연결된 메타페이지 객체로 표현되는 동일한 고유의 엔티티는 하나의 구별되는 아이덴티티(identity)를 가지며, 복수의 페이지 객체는 동일한 고유의 엔티티의 서로 다른 인스턴스(instance)를 각각 표현하는 방법.
  16. 제 1 항에 있어서,
    집계된 행위의 텍스트 설명은 열람중인 사용자와 연결되는 소셜 네트워킹 시스템의 다른 사용자들에 의한 상호작용의 세트를 포함하며,
    상기 상호작용은 동일한 고유의 엔티티와 관련된 임의의 복수의 페이지 객체와 관련되는 방법.
KR1020147015684A 2011-11-11 2012-11-02 소셜 네트워킹 시스템에서 컨셉에 대한 범용 소셜 컨텍스트의 제공 KR101922182B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/295,002 2011-11-11
US13/295,002 US20130124627A1 (en) 2011-11-11 2011-11-11 Providing universal social context for concepts in a social networking system
PCT/US2012/063322 WO2013070523A1 (en) 2011-11-11 2012-11-02 Providing universal social context for concepts in a social networking system

Publications (2)

Publication Number Publication Date
KR20140089602A KR20140089602A (ko) 2014-07-15
KR101922182B1 true KR101922182B1 (ko) 2018-11-26

Family

ID=48281683

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147015684A KR101922182B1 (ko) 2011-11-11 2012-11-02 소셜 네트워킹 시스템에서 컨셉에 대한 범용 소셜 컨텍스트의 제공

Country Status (6)

Country Link
US (1) US20130124627A1 (ko)
JP (1) JP6200894B2 (ko)
KR (1) KR101922182B1 (ko)
AU (1) AU2012336123B2 (ko)
CA (1) CA2854369C (ko)
WO (1) WO2013070523A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8898259B2 (en) * 2013-01-09 2014-11-25 Verizon Patent And Licensing Inc. Bookmarking system
US9893904B2 (en) * 2013-05-14 2018-02-13 Palo Alto Research Center Incorporated Rule-based messaging and dialog engine
US9448962B2 (en) 2013-08-09 2016-09-20 Facebook, Inc. User experience/user interface based on interaction history
US9665657B2 (en) * 2013-09-24 2017-05-30 Google Inc. Dynamically picking content from social shares to display in a user interface
CN105677881B (zh) * 2016-01-12 2020-07-03 腾讯科技(深圳)有限公司 一种信息推荐方法、装置及服务器
US10997259B2 (en) * 2017-10-06 2021-05-04 Realpage, Inc. Concept networks and systems and methods for the creation, update and use of same in artificial intelligence systems

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009099147A (ja) 2007-10-12 2009-05-07 Palo Alto Research Center Inc ディジタル情報への適応を提供する方法
JP2011504260A (ja) 2007-11-05 2011-02-03 フェイスブック,インク. ソーシャルネットワーキングウェブサイトにおいて別のドメインでの行動についての情報を通信すること

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6598054B2 (en) * 1999-01-26 2003-07-22 Xerox Corporation System and method for clustering data objects in a collection
US6963850B1 (en) * 1999-04-09 2005-11-08 Amazon.Com, Inc. Computer services for assisting users in locating and evaluating items in an electronic catalog based on actions performed by members of specific user communities
US20060195461A1 (en) * 2005-02-15 2006-08-31 Infomato Method of operating crosslink data structure, crosslink database, and system and method of organizing and retrieving information
US7991764B2 (en) * 2005-07-22 2011-08-02 Yogesh Chunilal Rathod Method and system for communication, publishing, searching, sharing and dynamically providing a journal feed
US7624081B2 (en) * 2006-03-28 2009-11-24 Microsoft Corporation Predicting community members based on evolution of heterogeneous networks using a best community classifier and a multi-class community classifier
US20080033932A1 (en) * 2006-06-27 2008-02-07 Regents Of The University Of Minnesota Concept-aware ranking of electronic documents within a computer network
US7805406B2 (en) * 2006-10-27 2010-09-28 Xystar Technologies, Inc. Cross-population of virtual communities
US7730017B2 (en) * 2007-03-30 2010-06-01 Google Inc. Open profile content identification
WO2009001138A1 (en) * 2007-06-28 2008-12-31 Taptu Ltd Search result ranking
WO2009023984A1 (en) * 2007-08-17 2009-02-26 Google Inc. Ranking social network objects
US8352549B2 (en) * 2007-09-28 2013-01-08 Ebay Inc. System and method for creating topic neighborhoods in a networked system
US8255090B2 (en) * 2008-02-01 2012-08-28 Energyhub System and method for home energy monitor and control
US9323836B2 (en) * 2008-02-11 2016-04-26 Popular Metrics, Inc. Internet based method and system for ranking artists using a popularity profile
US8554891B2 (en) * 2008-03-20 2013-10-08 Sony Corporation Method and apparatus for providing feedback regarding digital content within a social network
US7941535B2 (en) * 2008-05-07 2011-05-10 Doug Sherrets System for targeting third party content to users based on social networks
US9152722B2 (en) * 2008-07-22 2015-10-06 Yahoo! Inc. Augmenting online content with additional content relevant to user interest
US8307086B2 (en) * 2008-08-19 2012-11-06 Facebook, Inc. Resource management of social network applications
US20110004692A1 (en) * 2009-07-01 2011-01-06 Tom Occhino Gathering Information about Connections in a Social Networking Service
US20110173198A1 (en) * 2010-01-12 2011-07-14 Yahoo! Inc. Recommendations based on relevant friend behaviors
US8583725B2 (en) * 2010-04-05 2013-11-12 Microsoft Corporation Social context for inter-media objects
US20110270678A1 (en) * 2010-05-03 2011-11-03 Drummond Mark E System and method for using real-time keywords for targeting advertising in web search and social media
US8478697B2 (en) * 2010-09-15 2013-07-02 Yahoo! Inc. Determining whether to provide an advertisement to a user of a social network
US9153000B2 (en) * 2010-12-13 2015-10-06 Microsoft Technology Licensing, Llc Presenting content items shared within social networks
US8996625B1 (en) * 2011-02-01 2015-03-31 Google Inc. Aggregate display of messages
US8510379B2 (en) * 2011-02-23 2013-08-13 Rockmelt, Inc. Display of content interaction data in a browser
US8838564B2 (en) * 2011-05-19 2014-09-16 Yahoo! Inc. Method to increase content relevance using insights obtained from user activity updates
US20130046781A1 (en) * 2011-08-19 2013-02-21 Stargreetz, Inc. Design, creation, and delivery of personalized message/audio-video content
US10210465B2 (en) * 2011-11-11 2019-02-19 Facebook, Inc. Enabling preference portability for users of a social networking system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009099147A (ja) 2007-10-12 2009-05-07 Palo Alto Research Center Inc ディジタル情報への適応を提供する方法
JP2011504260A (ja) 2007-11-05 2011-02-03 フェイスブック,インク. ソーシャルネットワーキングウェブサイトにおいて別のドメインでの行動についての情報を通信すること

Also Published As

Publication number Publication date
WO2013070523A1 (en) 2013-05-16
JP6200894B2 (ja) 2017-09-20
AU2012336123A1 (en) 2014-05-29
CA2854369A1 (en) 2013-05-16
US20130124627A1 (en) 2013-05-16
CA2854369C (en) 2017-10-24
JP2015501970A (ja) 2015-01-19
AU2012336123B2 (en) 2017-09-21
KR20140089602A (ko) 2014-07-15

Similar Documents

Publication Publication Date Title
US10303696B2 (en) Searching topics by highest ranked page in a social networking system
US10122808B2 (en) Determining an audience of users to assign to a posted content item in an online system
KR102005739B1 (ko) 광고 내 제품에 대한 소셜 컨텍스트 제공
US8849721B2 (en) Structured objects and actions on a social networking system
US10007728B2 (en) Determining a community page for a concept in a social networking system
US10037538B2 (en) Selection and presentation of news stories identifying external content to social networking system users
US8909569B2 (en) System and method for revealing correlations between data streams
KR101849658B1 (ko) 영향력자 점수에 기초한 소식 타겟팅
US20130073979A1 (en) Tool for creating structured objects and actions on a social networking system
US20140129331A1 (en) System and method for predicting momentum of activities of a targeted audience for automatically optimizing placement of promotional items or content in a network environment
US20140282493A1 (en) System for replicating apps from an existing device to a new device
KR20140094615A (ko) 이벤트에 기반한 소셜 네트워킹 시스템의 사용자로의 광고 타겟팅
KR101922182B1 (ko) 소셜 네트워킹 시스템에서 컨셉에 대한 범용 소셜 컨텍스트의 제공
US10853428B2 (en) Computing a ranked feature list for content distribution in a first categorization stage and second ranking stage via machine learning
KR20170088944A (ko) 온라인 소셜 네트워크에서 오퍼 및 광고의 검색
US10210465B2 (en) Enabling preference portability for users of a social networking system

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant