KR20150084978A - 사이트 상의 사용자들에게 콘텐츠 추천 제공 - Google Patents

사이트 상의 사용자들에게 콘텐츠 추천 제공 Download PDF

Info

Publication number
KR20150084978A
KR20150084978A KR1020157015467A KR20157015467A KR20150084978A KR 20150084978 A KR20150084978 A KR 20150084978A KR 1020157015467 A KR1020157015467 A KR 1020157015467A KR 20157015467 A KR20157015467 A KR 20157015467A KR 20150084978 A KR20150084978 A KR 20150084978A
Authority
KR
South Korea
Prior art keywords
user
source
items
page
candidate
Prior art date
Application number
KR1020157015467A
Other languages
English (en)
Other versions
KR102061383B1 (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
Priority to US201261725410P priority Critical
Priority to US61/725,410 priority
Priority to US14/070,655 priority
Priority to US14/070,655 priority patent/US9355415B2/en
Application filed by 구글 인코포레이티드 filed Critical 구글 인코포레이티드
Priority to PCT/US2013/069308 priority patent/WO2014074925A2/en
Publication of KR20150084978A publication Critical patent/KR20150084978A/ko
Application granted granted Critical
Publication of KR102061383B1 publication Critical patent/KR102061383B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce, e.g. shopping or e-commerce
    • G06Q30/02Marketing, e.g. market research and analysis, surveying, promotions, advertising, buyer profiling, customer management or rewards; Price estimation or determination
    • G06Q30/0282Business establishment or product rating or recommendation
    • G06F17/30864
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/951Indexing; Web crawling techniques
    • G06F17/30554
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce, e.g. shopping or e-commerce
    • G06Q30/02Marketing, e.g. market research and analysis, surveying, promotions, advertising, buyer profiling, customer management or rewards; Price estimation or determination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00Arrangements for user-to-user messaging in packet-switching networks, e.g. e-mail or instant messages
    • H04L51/32Messaging within social networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00Arrangements for user-to-user messaging in packet-switching networks, e.g. e-mail or instant messages
    • H04L51/02Arrangements for user-to-user messaging in packet-switching networks, e.g. e-mail or instant messages with automatic reactions or user delegation, e.g. automatic replies or chatbot

Abstract

본 개시는 사이트 상의 사용자들에게 콘텐츠 추천 제공하는 시스템 및 방법을 포함한다. 시스템은 프로세서, 및 명령어들을 저장하는 메모리를 포함하고, 명령어들은 실행될 때, 시스템으로 하여금: 제1 사용자에 의해 방문된 사이트 상의 페이지를 기술하는 데이터를 수신하는 단계; 제1 사용자에 대한 하나 이상의 후보 항목을 검색하기 위해 하나 이상의 소스에 쿼리하는 단계; 하나 이상의 후보 항목과 관련된 하나 이상의 소스 타입을 결정하는 단계; 관심 프로파일 및 하나 이상의 소스 타입에 기초하여 하나 이상의 후보 항목에 대해 하나 이상의 점수를 결정하는 단계; 하나 이상의 후보 항목을 순위 매김하는 단계; 초청 상태의 제시를 유발하는 초청 트리거 이벤트가 발생한다고 결정하는 단계; 초청 상태 동안 추천 상태의 제시를 유발하는 추천 트리거 이벤트가 발생한다고 결정하는 단계; 및 추천 상태를 제1 사용자에게 제공하는 단계를 수행하도록 한다.

Description

사이트 상의 사용자들에게 콘텐츠 추천 제공{PROVIDING CONTENT RECOMMENDATION TO USERS ON A SITE}

관련 출원들의 상호 참조

본 출원은 2012년 11월 12일자로 출원된 "Providing Content Recommendation to Users on a Site"라는 제목의 미국출원 제61/725,410호; 및 2013년 11월 4일자로 출원된 "Providing Content Recommendation to Users on a Site"라는 제목의 미국출원 제14/070,655호에 대해 35 USC §119(e) 규정에 따라 우선권을 주장하며; 그들의 전체 내용들이 본 명세서에 참조되어 포함된다.

본 명세서는 사용자들에게 콘텐츠 추천을 제공하는 것과 관련된다.

모바일 웹 브라우징은 엄청나게 성장했다. 사람들은 온라인 소셜 네트워크들을 방문하기, 웹 페이지들을 브라우징하기, 비디오들을 보기, 및/또는 온라인 음악 듣기 등을 포함한, 그러나 이들로 한정되지 않는, 다양한 활동들을 수행하기 위해 그들의 모바일 디바이스들을 사용한다. 모바일 사용자들은 보통 그들의 모바일 디바이스들 상에 설치된 애플리케이션 또는 서비스에 포스트된 링크 상에 클릭함으로써 제3자 사이트 상의 웹 페이지를 방문한다. 예를 들어, 모바일 사용자는 소셜 네트워크에서 소셜 피드 상에 포스트된 링크 상에 클릭함으로써 제3자 사이트 상의 웹 페이지를 방문한다. 제3자 사이트 상의 단일 웹 페이지를 사용한 후, 모바일 사용자들은 원래 그들에게 링크를 제공한 애플리케이션 또는 서비스에 복귀하는 것이 통상적이다. 원래 사이트 또는 서비스에 복귀하는 이 현상은 제3자 사이트들에 대한 옆문 문제(side-door problem)라고 지칭될 수 있다. 이것은 당해 사용자에 대해 최적의 브라우징 체험보다 덜한 체험을 초래할 수 있는데, 그 이유는 특정 제3자 사이트 상에 사용자에게 흥미가 있을 어떤 유용한 정보가 존재하는지에 관한 지시가 존재하지 않고 그러므로 기존의 시스템은 특정 정보에 대한 사용자의 검색 쿼리에 응답하여 가장 많이 관련된 정보를 제공할 수 없기 때문이다.

본 명세서는 기존 시스템들 및 애플리케이션들의 상기의 결점들을 극복하고, 애플리케이션으로부터 웹사이트 또는 링크에 액세스하는 (모바일) 사용자에 대해 더 유용하고 향상된 브라우징 체험을 제공하는 것을 목표로 한다. 일 예에서 본 명세서는 사용자의 관심 프로파일에 기초하여 제3자 웹사이트에서 어느 항목들 또는 토픽들이 사용자에게 흥미가 있을 수 있는지를 결정하고, 당해 사용자에게 그러한 항목들의 지시를 제공함으로써, 그러한 항목들에 액세스하도록 사용자를 초청함에 의해 이를 달성한다.

본 개시에 기술되는 요지의 하나의 신규한 양태에 따르면, 사이트 상의 사용자들에게 콘텐츠 추천을 제공하는 시스템은 프로세서, 및 명령어들을 저장하는 메모리를 포함하고, 상기 명령어들은 실행될 때, 상기 시스템 또는 프로세서로 하여금: 제1 사용자에 의해 방문된 사이트 상의 페이지를 기술하는 데이터를 수신하는 단계; 상기 사이트로부터 상기 제1 사용자에 대한 하나 이상의 후보 항목을 검색하기 위해 하나 이상의 소스에 쿼리하는 단계; 상기 하나 이상의 후보 항목과 관련된 하나 이상의 소스 타입을 결정하는 단계; 상기 제1 사용자와 연관된 관심 프로파일, 및 상기 하나 이상의 소스 타입에 기초하여 상기 하나 이상의 후보 항목에 대해 하나 이상의 점수를 결정하는 단계; 상기 하나 이상의 후보 항목을 순위 매김하는 단계; 초청 상태의 제시를 유발하는 초청 트리거 이벤트가 발생한다고 결정하는 단계; 상기 초청 상태를 상기 제1 사용자에게 제공하는 단계; 상기 초청 상태의 제시 동안 추천 상태의 제시를 유발하는 추천 트리거 이벤트가 발생한다고 결정하는 단계; 및 상기 추천 상태를 상기 제1 사용자에게 제공하는 단계를 수행하도록 하고, 상기 추천 상태는 상기 순위 매김된 후보 항목들 중 하나 이상을 포함한다. 관심 프로파일에 기초한 후보 항목들의 그러한 결정과, 초청 및/또는 추천 트리거들의 인보크에 의해, 본 명세서는 사용자의 관심 프로파일과 일치하는 제3자 웹사이트 상의 유용한 정보에 대한 가시적 또는 가청적 지시를 제공하는 유리한 효과를 갖는데, 이것은 그렇지 않았으면 종래 기술의 시스템들을 이용하는 사용자에 의해 놓쳤을 수 있다. 본 명세서는 특정 사용자에 대해 개인화되는 개선되고 직관적인 브라우징 경험을 제공하는 효과를 갖는다.

일반적으로, 본 개시에 기술되는 요지의 다른 신규한 양태는 방법들로 실시될 수 있고, 이 방법들은: 제1 사용자에 의해 방문된 사이트 상의 페이지를 기술하는 데이터를 수신하는 단계; 상기 사이트로부터 상기 제1 사용자에 대한 하나 이상의 후보 항목을 검색하기 위해 하나 이상의 소스에 쿼리하는 단계; 상기 하나 이상의 후보 항목과 관련된 하나 이상의 소스 타입을 결정하는 단계; 상기 제1 사용자와 연관된 관심 프로파일, 및 상기 하나 이상의 소스 타입에 기초하여 상기 하나 이상의 후보 항목에 대해 하나 이상의 점수를 결정하는 단계; 상기 하나 이상의 후보 항목을 순위 매김하는 단계; 초청 상태의 제시를 유발하는 초청 트리거 이벤트가 발생한다고 결정하는 단계; 상기 초청 상태를 상기 제1 사용자에게 제공하는 단계; 상기 초청 상태의 제시 동안 추천 상태의 제시를 유발하는 추천 트리거 이벤트가 발생한다고 결정하는 단계; 및 상기 추천 상태를 상기 제1 사용자에게 제공하는 단계를 포함하고, 상기 추천 상태는 상기 순위 매김된 후보 항목들 중 하나 이상을 포함한다.

다른 양태들은 이들 및 다른 신규의 양태들에 대한 대응하는 방법들, 시스템들, 장치들, 및 컴퓨터 프로그램 제품들을 포함한다.

이들 및 다른 구현들은 각각 다음의 특징들 중 하나 이상을 옵션적으로 포함할 수 있다. 예를 들어, 상기 특징들은 다음을 포함한다: 상기 하나 이상의 소스는 소셜 소스, 저작 소스, 관련 소스, 및 인기있는 소스 중 하나 이상을 포함함; 소셜 그래프에서 상기 제1 사용자와 연결된 제2 사용자에 의해 수행된 사용자 활동을 갖는 소셜 항목을 검색하기 위해 소셜 소스에 쿼리하는 단계, 상기 소셜 항목은 상기 페이지와 동일 사이트로부터 유래되고 상기 하나 이상의 후보 항목에 포함됨; 상기 페이지 내의 콘텐츠는 저작자에 의해 제공됨, 동일 저작자에 의해 제공되는 저작 항목을 검색하기 위해 저작 소스에 쿼리하는 단계, 상기 저작 항목은 상기 페이지와 동일 사이트로부터 유래되고 상기 하나 이상의 후보 항목에 포함됨; 관련 항목을 검색하기 위해 관련 소스에 쿼리하는 단계, 상기 관련 항목은 상기 페이지와 동일 사이트로부터 유래되고 상기 하나 이상의 후보 항목에 포함됨; 상기 페이지와 관련된 하나 이상의 토픽을 결정하는 단계; 매칭하는 토픽을 획득하기 위해 상기 하나 이상의 토픽과 상기 제1 사용자의 상기 관심 프로파일을 교차-참조하는 단계; 상기 페이지의 어드레스 및 상기 매칭하는 토픽을 포함하는 쿼리를 생성하는 단계; 상기 쿼리를 상기 관련 소스에 보내는 단계; 상기 관련 소스로부터 상기 매칭하는 토픽과 관련된 관련 항목들의 세트를 수신하는 단계; 상기 관련 항목들의 세트로부터 반복하는 토픽을 결정하는 단계; 관련 항목을 상기 관련 항목들의 세트로부터 상기 반복하는 토픽과 관련된 것으로서 결정하는 단계; 및 상기 추천 상태는 상기 순위 매김된 후보 항목들 중 상기 하나 이상과 연관된 하나 이상의 참여 작용을 수행하기 위한 하나 이상의 작용 카드를 포함함.

본 명세서는 수많은 측면들에 있어서 특히 유리할 수 있다. 첫째, 시스템은 사이트 상의 페이지를 방문하는 사용자들에게 추천 콘텐츠를 제공한다. 추천 콘텐츠는 동일 사이트로부터의 후보 항목들을 포함하여, 사용자들이 사이트 상의 다양한 토픽들을 발견하고 그 사이트 상에 더 많이 참여하는 것을 용이하게 함으로써, 더 직관적이고 향상된 브라우징 체험을 제공한다. 이 추천은 자동으로 트리거들을 인보크함으로써 사용자 디바이스의 시스템에 의해 제공될 수 있다. 또한, 추천 콘텐츠는 사용자들의 관심 프로파일들, 페이지 상의 콘텐츠, 및 소셜 그래프 내의 연결들 중 하나 이상에 기초하여 사용자들에 대해 개인화될 수 있다. 추천 콘텐츠는 모바일 웹 브라우징에 대해 최적화될 수 있다.

본 개시는 첨부 도면의 도들에 한정적으로 도해되는 것이 아니라 예시적으로 도해되며, 첨부 도면에서 유사한 참조 번호들은 유사한 구성요소들을 참조하기 위해 사용된다.
도 1은 사이트 상의 사용자들에게 콘텐츠 추천을 제공하기 위한 예시적 시스템을 도해하는 블록도이다.
도 2는 위젯 애플리케이션의 예를 도해하는 블록도이다.
도 3은 위젯 애플리케이션의 다른 예를 도해하는 블록도이다.
도 4는 사이트 상의 사용자들에게 콘텐츠 추천을 제공하기 위한 예시적 방법의 흐름도이다.
도 5a 및 도 5b는 사이트 상의 사용자들에게 콘텐츠 추천을 제공하기 위한 다른 예시적 방법의 흐름도들이다.
도 6a 내지 도 6d는 사이트 상의 사용자들에게 콘텐츠 추천을 제공하기 위한 또 다른 예시적 방법의 흐름도들이다.
도 7a 및 도 7b는 후보 항목들을 획득하기 위해 관련 소스에 쿼리하기 위한 다양한 예시적 프로세스들의 이벤트 다이어그램들이다.
도 8은 후보 항목들을 획득하기 위해 저작 소스에 쿼리하기 위한 예시적 프로세스의 이벤트 다이어그램이다.
도 9a 및 도 9b는 저작 소스로부터 사용자들에게 콘텐츠 추천을 제공하기 위한 예시적 사용자 인터페이스들의 그래픽 표현들이다.
도 10a 내지 도 10c는 소셜 소스로부터 사용자들에게 콘텐츠 추천을 제공하기 위한 예시적 사용자 인터페이스들의 그래픽 표현들이다.
도 11a 및 도 11b는 관련 소스로부터 사용자들에게 콘텐츠 추천을 제공하기 위한 예시적 사용자 인터페이스들의 그래픽 표현들이다.

도 1은 사이트 상의 사용자들에게 콘텐츠 추천을 제공하기 위한 시스템(100)의 어떤 구현들의 블록도를 도시한다. 사이트는 예를 들어, 게시자 웹사이트 또는 제3자 웹사이트일 수 있다. 도시된 시스템(100)은 사용자들(125a...125n)에 의해 액세스될 수 있는 사용자 디바이스들(115a...115n), 소셜 네트워크 서버(101), 게시자 서버(107), 소스 서버(113), 및 제2 서버(157)를 포함한다. 도 1 및 나머지 도들에서, 참조 번호 예를 들어, "115a" 뒤의 문자는 그 특정 참조 번호를 갖는 구성요소에 대한 참조를 나타낸다. 예를 들어, "115"처럼 뒤따르는 문자가 없는 텍스트의 참조 번호는 그 참조 번호를 품고 있는 구성요소의 구현들에 대한 일반적인 참조를 나타낸다. 예시된 구현에서, 시스템(100)의 이러한 엔티티들은 네트워크(105)를 통해 통신 가능하게 연결된다.

도 1의 사용자 디바이스들(115a, 115n)이 예시적으로 이용된다. 도 1이 두 개의 사용자 디바이스(115a, 115n)를 도시하지만, 본 개시는 하나 이상의 사용자 디바이스(115)를 갖는 시스템 아키텍처에 적용된다. 또한, 도 1이 사용자 디바이스들(115), 소셜 네트워크 서버(101), 게시자 서버(107), 소스 서버(113), 및 제2 서버(157)에 연결된 하나의 네트워크(105)를 도시하지만, 실제로 하나 이상의 네트워크(105)가 이러한 엔티티들에 연결될 수 있다.

어떤 구현들에서, 위젯 애플리케이션(103)은 신호 라인(106)을 통해 네트워크(105)에 연결된 게시자 서버(107) 상에서 작동 가능할 수 있다. 어떤 구현들에서, 게시자 서버(107)는 프로세서, 메모리, 및 네트워크 통신 기능들을 포함하는 하드웨어 서버일 수 있다. 게시자 서버(107)는 네트워크(105)를 통해 시스템(100)의 다른 엔티티들에 데이터를 보내거나 그들로부터 데이터를 수신한다. 도 1이 하나의 게시자 서버(107)를 포함하지만, 시스템(100)은 하나 이상의 게시자 서버(107)를 포함할 수 있다. 어떤 구현들에서, 게시자 서버(107)는 사이트 상에 콘텐츠를 게시하고, 사이트를 방문하는 사용자들에게 콘텐츠를 제공한다.

어떤 구현들에서, 위젯 애플리케이션(103)은 신호 라인(156)을 통해 네트워크(105)에 연결된 제2 서버(157)에 저장될 수 있다. 어떤 구현들에서, 제2 서버(157)는 프로세서, 메모리, 및 네트워크 통신 기능들을 포함하는 하드웨어 서버일 수 있다. 제2 서버(157)는 네트워크(105)를 통해 시스템(100)의 다른 엔티티들에 데이터를 보내고 그들로부터 데이터를 수신한다. 도 1이 하나의 제2 서버(157)를 포함하지만, 시스템(100)은 하나 이상의 제2 서버(157)를 포함할 수 있다. 어떤 구현들에서, 제2 서버(157)는 사이트 상에 콘텐츠를 게시하고, 사이트를 방문하는 사용자들에게 콘텐츠를 제공한다.

위젯 애플리케이션(103)은 사이트 상의 사용자들에게 콘텐츠 추천을 제공하기 위한 코드와 루틴들을 사용하여 구현된 모듈일 수 있다. 어떤 구현들에서, 위젯 애플리케이션(103)은 필드 프로그래머블 게이트 어레이(FPGA) 또는 주문형 집적 회로(ASIC)를 포함하는 하드웨어를 이용하여 구현될 수 있다. 어떤 다른 구현들에서, 위젯 애플리케이션(103)은 하드웨어와 소프트웨어의 조합을 이용하여 구현될 수 있다. 어떤 구현들에서, 위젯 애플리케이션(103)은 디바이스들과 서버들의 조합에, 또는 디바이스들 또는 서버들 중 하나에 저장될 수 있다. 위젯 애플리케이션(103)은 도 2 내지 도 8을 참조하여 더 상세히 후술된다.

어떤 구현들에서, 위젯 애플리케이션(103)은 신호 라인(104)을 통해 네트워크(105)에 연결된 소셜 네트워크 서버(101) 상에서 작동 가능할 수 있다. 소셜 네트워크 서버(101)는 프로세서, 메모리, 및 네트워크 통신 기능들을 포함하는 하드웨어 서버일 수 있다. 어떤 구현들에서, 소셜 네트워크 서버(101)는 네트워크(105)를 통해 사용자 디바이스들(115a, 115n), 소스 서버(113), 게시자 서버(107), 및 제2 서버(157) 중 하나 이상에 데이터를 보내고 그로부터 데이터를 수신하도록 구성된다. 소셜 네트워크 서버(101)는 소셜 네트워크 애플리케이션(109)을 포함한다. 소셜 네트워크는 사용자들이 공통적인 특징에 의해 연결될 수 있는 일종의 소셜 구조일 수 있다. 공통적인 특징은 관계들/연결들, 예를 들어, 우정, 가족, 일, 관심, 등을 포함한다. 다른 온라인 사용자들과의 소셜 연결들에 의해 암시되는 관계들 및 명시적으로 정의된 관계들을 포함한, 공통적인 특징들은 하나 이상의 소셜 네트워킹 시스템에 의해 제공될 수 있으며, 여기서 관계들은 소셜 그래프를 형성한다. 어떤 예들에서, 소셜 그래프는 이러한 사용자들의 맵핑 및 어떻게 그들이 관련될 수 있는지를 반영할 수 있다. 또한, 소셜 네트워크 서버(101)와 소셜 네트워크 애플리케이션(109)은 하나의 소셜 네트워크를 대표할 수 있고, 네트워크(105)에 연결된 다중 소셜 네트워크들이 있을 수 있으며, 그들 각각은 그 자신의 서버, 애플리케이션, 및 소셜 그래프를 갖는다. 예를 들어, 제1 소셜 네트워크는 비즈니스 네트워킹에 더 관련될 수 있고, 제2 소셜 네트워크는 학문에 더 관련 또는 집중될 수 있고, 제3 소셜 네트워크는 로컬 비즈니스에 더 관련될 수 있고, 제4 소셜 네트워크는 데이팅에 관련될 수 있고, 다른 것들은 일반적 관심 또는 특정 포커스에 관련될 수 있다.

소스 서버(113)는 프로세서, 메모리, 및 네트워크 통신 기능들을 포함하는 하드웨어 서버일 수 있다. 소스 서버(113)는 네트워크(105)를 통해 시스템(100)의 다른 엔티티들에 데이터를 보내고 그들로부터 데이터를 수신하도록 구성된다. 도 1이 하나의 소스 서버(113)를 포함하지만, 시스템(100)은 하나 이상의 소스 서버(113)를 포함할 수 있다. 어떤 구현들에서, 소스 서버(113)는 위젯 애플리케이션(103)으로부터 쿼리를 수신하고, 쿼리에 매칭하는 후보 항목들을 저장 디바이스(표시되지 않음)로부터 검색한다. 소스 서버(113)는 매칭하는 후보 항목들을 위젯 애플리케이션(103)에 보낸다. 후보 항목의 예들은 기사, 페이지(예를 들어, 페이지의 URL(Uniform Resource Locator), 페이지의 이미지, 페이지에 대한 하이퍼링크, 등), 이미지, 비디오, 다중 사용자 통신 세션, 로케이션 수속, 포스트, 코멘트, 지지, 및 다른 사용자들과의 공유 등을 포함하지만, 이들로 한정되지 않는다. 예시된 실시예에서, 소스 서버(113)는 소셜 소스 모듈(117), 저작 소스 모듈(119), 관련 소스 모듈(121), 및 인기있는 소스 모듈(123)을 포함한다.

소셜 소스 모듈(117)은 소셜 소스로부터 소셜 항목들을 제공하기 위한 코드와 루틴들을 사용하여 구현될 수 있다. 소셜 소스는 위젯 애플리케이션(103)에 사용자와 관련된 하나 이상의 소셜 항목을 제공하는 데이터 소스로서 구성될 수 있다. 제1 사용자와 관련된 소셜 항목은 소셜 그래프에서 제1 사용자에 소셜적으로 연결될 수 있는 제2 사용자에 의해 수행되는 하나 이상의 사용자 활동을 갖는 후보 항목일 수 있다. 예를 들어, 소셜 항목은 소셜 그래프에서의 친구가 코멘트했고, 지지했고, 공유했고 및/또는 추천했던 사이트 상의 후보 항목일 수 있다. 또 다른 예에서, 소셜 항목은 소셜 그래프에서 친구에 의해 수행된 사이트 상의 포스트, 코멘트, 지지, 공유, 코멘트들을 갖는 공유, 또는 추천일 수 있다. 소셜 항목들의 다른 예들이 가능하다.

어떤 구현들에서, 공유 및/또는 코멘트들을 갖는 공유는 공공 사용자 활동들일 수 있다. 몇몇 다른 구현들에서, 공유 및/또는 코멘트들을 갖는 공유는 소셜 그래프에서 연결된 다른 사용자들과 공유하기 위한 사용자 동의를 갖는 개인적 사용자 활동들일 수 있다. 예를 들어, 소셜 그래프에서 제1 사용자에 연결된 제2 사용자로부터의 개인적 공유들은, 제2 사용자가 활동들을 제1 사용자와 공유하는 것을 허가했으면 제1 사용자에 대한 소셜 항목들로서 간주될 수 있다. 제2 사용자가 활동들을 제1 사용자와 공유하는 것을 허가하지 않으면, 개인적 활동들은 제1 사용자에 대한 소셜 항목들로서 간주되지 않을 수 있다.

어떤 구현들에서, 소셜 소스 모듈(117)은 위젯 애플리케이션(103)으로부터 쿼리를 수신하도록 구성된다. 쿼리는 사용자가 현재 방문 중일 수 있는 페이지의 어드레스(예를 들어, URL)를 기술하는 데이터, 및 사용자를 식별하는 식별 데이터(예를 들어, 소셜 네트워크에서의 사용자 식별자)를 포함한다. 소셜 소스 모듈(117)은 페이지의 어드레스를 이용하여 페이지를 호스팅하는 도메인 또는 사이트를 결정한다. 소셜 소스 모듈(117)은 동일한 도메인 또는 동일한 사이트에 게시된 사용자에 대한 하나 이상의 소셜 항목들을 결정하기 위해 소셜 네트워크 애플리케이션(109)과 협력한다. 어떤 구현들에서, 하나 이상의 소셜 항목은 상이한 도메인들 또는 상이한 사이트들로부터의 후보 항목들일 수 있다. 소셜 소스 모듈(117)은 네트워크(105)를 통해 위젯 애플리케이션(103)에 사용자에 대한 하나 이상의 소셜 항목들을 보낸다.

저작 소스 모듈(119)은 저작 소스로부터 저작 항목들을 제공하기 위한 코드와 루틴들을 사용하여 구현될 수 있다. 저작 소스는 하나 이상의 저작 항목을 위젯 애플리케이션(103)에 제공하도록 구성된 데이터 소스일 수 있다. 저작 항목은 사용자에 의해 방문된 페이지 상의 콘텐츠와 동일한 저작을 갖는 후보 항목일 수 있다. 예를 들어, 사용자가 저작자에 의해 제공된 페이지 상의 콘텐츠를 가진 페이지를 방문한다면, 저작 항목은 그 페이지 상의 콘텐츠와 동일한 저작자에 의해 제공된, 그리고 동일 사이트 상에 게시된 후보 항목일 수 있다. 다른 예에서, 저작 항목은 동일 저작자가 동일한 사이트 상에 제공한 그리고 소셜 네트워크 상에서 공유한 후보 항목일 수 있다. 또 다른 예에서, 저작 항목은 동일한 저작자에 의해 제공되고 상이한 사이트 상에 게시된 후보 항목일 수 있다. 저작 항목들의 다른 예들이 가능하다.

어떤 구현들에서, 저작 소스 모듈(119)은 각각의 후보 항목에 대한 저작 주석를 생성한다. 저작 주석은 후보 항목의 저작자를 기술하는 데이터일 수 있다. 예를 들어, 저작 주석은 후보 항목의 저작자를 식별하는 저작자 식별자, 후보 항목이 게시되었던 시간을 식별하는 타임스탬프, 후보 항목이 게시되었던 어드레스(예를 들어, URL), 및 저작에 관련된 다른 메타데이터(예를 들어, 저작자의 사진, 저작자의 직업, 등)를 포함한다.

어떤 구현들에서, 저작 소스 모듈(119)은 사용자가 현재 방문 중일 수 있는 페이지의 어드레스를 기술하는 데이터를 포함하는 쿼리를 위젯 애플리케이션(103)으로부터 수신하도록 구성된다. 저작 소스 모듈(119)은 페이지의 어드레스를 이용하여 페이지를 호스팅하는 도메인 또는 사이트를 결정한다. 저작 소스 모듈(119)은 페이지에 대한 저작을 결정한다. 예를 들어, 저작 소스 모듈(119)은 페이지와 연관된 저작 주석을 검색하고, 페이지 상에 콘텐츠를 제공하는 저작자를 결정한다. 저작 소스 모듈(119)은 사용자에 대한 하나 이상의 저작 항목을 결정한다. 예를 들어, 저작 소스 모듈(119)은 부분적으로 다음에 의해 사용자에 대한 하나 이상의 저작 항목을 결정한다: (1) 동일 사이트 상에 게시된 후보 항목들의 세트와 관련된 저작 주석들과 페이지의 저작을 교차-참조하기; 및 (2) 페이지 상의 콘텐츠와 동일 저작자를 갖는 후보 항목들로서 하나 이상의 저작 항목을 결정하기. 저작 소스 모듈(119)은 하나 이상의 저작 항목들을 위젯 애플리케이션(103)에 보낸다. 저작 소스 모듈(119)은 도 8을 참조하여 하기에서 더 기술된다.

관련 소스 모듈(121)은 관련 소스로부터 관련 항목들을 제공하기 위한 코드와 루틴들을 사용하여 구현될 수 있다. 관련 소스는 하나 이상의 관련 항목을 위젯 애플리케이션(103)에 제공하는 데이터 소스일 수 있다. 관련 항목은 토픽이 사용자에 의해 방문된 페이지의 토픽과 관련되는 후보 항목일 수 있다. 예를 들어, 사용자가 사이트 상의 페이지를 방문하면, 관련 항목은 페이지 상의 토픽과 동일한 토픽을 갖는 동일 사이트 상의 후보 항목일 수 있다. 다른 예에서, 관련 항목은 페이지 상의 토픽과 관련된 다른 토픽을 가진 동일 사이트 상의 후보 항목일 수 있다. 관련 항목들의 다른 예들이 가능하다. 어떤 구현들에서, 관련 항목은 "이 페이지를 읽은 사람들이 또한 이 후보 항목을 본다"라는 후보 항목으로서 제시될 수 있다. 어떤 다른 구현들에서, 관련 항목은 "이 후보 항목이 페이지 상의 그 토픽을 좋아하는 사람들에게 인기있을 수 있다"라는 후보 항목으로서 제시될 수 있다. 관련 항목들의 추가적인 예들이 도 11a 및 도 11b를 참조하여 에시된다.

어떤 구현들에서, 관련 소스 모듈(121)은 위젯 애플리케이션(103)으로부터 쿼리를 수신하도록 구성된다. 쿼리는 사용자에 의해 현재 방문된 페이지의 어드레스(예를 들어, URL)를 기술하는 데이터 및/또는 페이지에 대해 매칭하는 토픽을 기술하는 데이터를 포함한다. 매칭하는 토픽은 사용자의 관심 프로파일과 매칭하는 페이지 상의 토픽일 수 있다. 관심 프로파일은 도 2를 참조하여 더 상세히 후술된다. 관련 소스 모듈(121)은 페이지의 어드레스를 이용하여 페이지를 호스팅하는 도메인 또는 사이트를 결정한다. 관련 소스 모듈(121)은 사용자에 대한 하나 이상의 관련 항목을 결정한다. 예를 들어, 관련 소스 모듈(121)은 하나 이상의 관련 항목을, 매칭하는 토픽과 동일한 토픽을 가지거나 또는 매칭하는 토픽과 관련된 토픽을 가진 동일 사이트로부터의 하나 이상의 후보 항목으로서 결정한다. 그러므로, 이것은 특정 사용자에게 더 많이 관련되고 흥미로운 결과들을 제공하는 효과를 갖는다. 이것은 관심 프로파일 내의 매칭하는 토픽을 이용함으로써 그러한 사용자를 위해 개인화되었기 때문이다. 관련 소스 모듈(121)은 하나 이상의 관련 항목을 위젯 애플리케이션(103)에 보낸다. 관련 소스 모듈(121)은 도 7a 및 도 7b를 참조하여 더 후술된다.

인기있는 소스 모듈(123)은 인기있는 소스로부터 인기있는 항목을 제공하기 위한 코드와 루틴들을 사용하여 구현될 수 있다. 인기있는 소스는 하나 이상의 인기있는 항목을 위젯 애플리케이션(103)에 제공하는 데이터 소스일 수 있다. 인기있는 항목은 특정 기간 내에 소정의 임계값보다 더 많은 수의 사용자 활동들을 갖는 후보 항목일 수 있다. 예를 들어, 인기있는 항목은 특정 기간 내에 소정의 임계값보다 더 많은 수의 뷰들을 가진 후보 항목일 수 있다. 추가의 예에서, 인기있는 항목은 1 주에 적어도 5,000 개의 뷰들을 갖는 후보 항목일 수 있다. 다른 예들에서, 인기있는 항목은 특정 기간 내에 소정의 임계값들보다 더 많은 수의 코멘트들, 더 많은 수의 공유들 및/또는 더 많은 수의 지지들을 갖는 후보 항목일 수 있다. 어떤 구현들에서, 인기있는 항목은 사이트 상의 유행하는 후보 항목일 수 있다. 어떤 구현들에서, 인기있는 항목들은 사이트 상의 최고 순위 후보 항목들일 수 있다. 예를 들어, 인기있는 항목들은 사이트 상의 상위 10위까지의 이야기들 또는 상위 5위까지의 기사들일 수 있다. 인기있는 항목들의 다른 예들이 가능하다.

어떤 구현들에서, 인기있는 소스 모듈(123)은 위젯 애플리케이션(103)으로부터 쿼리를 수신하도록 구성된다. 쿼리는 사용자에 의해 현재 방문된 페이지의 어드레스(예를 들어, URL)를 기술하는 데이터를 포함한다. 인기있는 소스 모듈(123)은 페이지의 어드레스를 이용하여 페이지를 호스팅하는 도메인 또는 사이트를 결정한다. 인기있는 소스 모듈(123)은 사용자를 위해 동일 사이트 또는 동일 도메인으로부터 하나 이상의 인기있는 항목을 결정한다. 예를 들어, 인기있는 소스 모듈(123)은 하나 이상의 인기있는 항목을, 2 주 내에 적어도 10,000 개의 뷰를 갖는 동일 사이트로부터의 하나 이상의 후보 항목으로서 결정한다. 인기있는 소스 모듈(123)은 하나 이상의 인기있는 항목을 위젯 애플리케이션(103)에 보낸다.

사용자 디바이스(115a, 115n)는 메모리 및 프로세서를 포함하는 컴퓨팅 디바이스, 예를 들어, 랩탑 컴퓨터, 데스크탑 컴퓨터, 태블릿 컴퓨터, 모바일 전화, 개인용 정보 단말기(PDA), 모바일 이메일 디바이스, 휴대용 게임 플레이어, 휴대용 음악 플레이어, 판독기 디바이스, 내부에 내장되고 그에 연결된 하나 이상의 프로세서를 갖는 텔레비전, 또는 네트워크(105)에 액세스할 수 있는 다른 전자 디바이스일 수 있다. 예시된 구현에서, 사용자 디바이스(115a)는 신호 라인(108)을 통해 네트워크(105)에 통신 가능하게 연결된다. 사용자(125a)는 사용자 디바이스(115a)와 상호작용한다. 사용자 디바이스(115n)는 신호 라인(110)을 통해 네트워크(105)에 통신 가능하게 연결된다. 사용자(125n)는 사용자 디바이스(115n)와 상호작용한다. 어떤 구현들에서, 위젯 애플리케이션(103)은 사용자 디바이스들(115a, 115n) 상에 저장될 수 있는 씬-클라이언트 애플리케이션으로서 부분적으로 작용하고, 하나 이상의 서버 상에 저장될 수 있는 컴포넌트들로서 부분적으로 작용한다.

네트워크(105)는 종래 타입, 유선, 또는 무선일 수 있고, 스타 구성, 토큰 링 구성, 또는 다른 구성들을 포함하는 수많은 상이한 구성들을 가질 수 있다. 또한, 네트워크(105)는 근거리 네트워크(LAN), 광역 네트워크(WAN)(예를 들어, 인터넷), 및/또는 복수의 디바이스가 통신할 수 있는 다른 상호접속 데이터 경로들을 포함할 수 있다. 어떤 구현들에서, 네트워크(105)는 피어-투-피어 네트워크일 수 있다. 네트워크(105)는 또한, 각종 상이한 통신 프로토콜들로 데이터를 전송하기 위해 통신 네트워크의 일부들에 연결될 수 있거나 또는 그들을 포함할 수 있다. 어떤 구현들에서, 네트워크(105)는 단문 메시징 서비스(SMS), 멀티미디어 메시징 서비스(MMS), 하이퍼텍스트 전송 프로토콜(HTTP), 직접 데이터 연결, WAP, 이메일 등을 통해 데이터를 전송 및 수신하기 위한 블루투스 통신 네트워크들 또는 셀룰러 통신 네트워크를 포함한다.

이제 도 2를 참조하면, 위젯 애플리케이션(103)의 예가 더 상세히 도시된다. 도 2는 어떤 예들에 따른 위젯 애플리케이션(103), 프로세서(235), 메모리(237), 통신 유닛(241), 및 저장 디바이스(243)를 포함하는 컴퓨팅 디바이스(200)의 블록도이다. 컴퓨팅 디바이스(200)의 컴포넌트들은 버스(220)에 의해 통신 가능하게 연결된다. 어떤 구현들에서, 컴퓨팅 디바이스(200)는 게시자 서버(107), 소셜 네트워크 서버(101), 및 제2 서버(157) 중 하나일 수 있다.

프로세서(235)는 계산들을 수행하고 디스플레이 디바이스에 전자 디스플레이 신호를 제공하기 위해 산술 논리 유닛, 마이크로프로세서, 범용 컨트롤러, 또는 어떤 다른 프로세서 어레이를 포함한다. 프로세서(235)는 신호 라인(222)을 통해 다른 컴포넌트들과 통신하기 위해 버스(220)에 연결된다. 프로세서(235)는 데이터 신호를 처리하고, 복합 명령어 세트 컴퓨터(CISC) 아키텍처, 축소 명령어 세트 컴퓨터(RISC) 아키텍처, 또는 명령어 세트들의 조합을 구현하는 아키텍처를 포함하는 다양한 컴퓨팅 아키텍처들을 포함할 수 있다. 도 2가 단일 프로세서(235)를 포함하지만, 여러 프로세서들(235)이 포함될 수 있다. 다른 프로세서들, 운영 시스템들, 센서들, 디스플레이들, 및 물리적 구성들이 가능할 수 있다.

메모리(237)는 프로세서(235)에 의해 실행될 수 있는 명령어들 및/또는 데이터를 저장한다. 메모리(237)는 신호 라인(224)을 통해 다른 컴포넌트들과 통신하기 위해 버스(220)에 연결된다. 명령어들 및/또는 데이터는 본 명세서에 기술된 기법들을 수행하기 위한 코드를 포함할 수 있다. 메모리(237)는 다이내믹 랜덤 액세스 메모리(DRAM) 디바이스, 스태틱 랜덤 액세스 메모리(SRAM) 디바이스, 플래시 메모리, 또는 어떤 다른 메모리 디바이스일 수 있다. 어떤 구현들에서, 메모리(237)는 또한 비휘발성 메모리, 또는 하드 디스크 드라이브, 플로피 디스크 드라이브, CD-ROM 디바이스, DVD-ROM 디바이스, DVD-RAM 디바이스, DVD-RW 디바이스, 플래시 메모리 디바이스, 또는 더 영구적인 기반으로 정보를 저장하는 어떤 다른 대용량 저장 디바이스를 포함한, 유사한 영구 저장 디바이스 및 매체를 포함한다.

통신 유닛(241)은 어디에 위젯 애플리케이션(103)이 저장될 수 있는지에 따라 사용자 디바이스(115), 제2 서버(157), 소스 서버(113), 게시자 서버(107), 및 소셜 네트워크 서버(101) 중 적어도 하나에 데이터를 전송하고 그로부터 데이터를 수신한다. 통신 유닛(241)은 신호 라인(226)을 통해 버스(220)에 연결된다. 어떤 구현들에서, 통신 유닛(241)은 네트워크(105)에의 또는 다른 통신 채널에의 직접적인 물리적 접속을 위한 포트를 포함한다. 예를 들어, 통신 유닛(241)은 사용자 디바이스(115)와의 유선 통신을 위한 USB, SD, CAT-5, 또는 유사한 포트를 포함한다. 어떤 구현들에서, 통신 유닛(241)은 IEEE 802.11, IEEE 802.16, BLUETOOTH®, 또는 다른 적합한 무선 통신 방법을 포함한, 하나 이상의 무선 통신 방법을 이용하여 사용자 디바이스(115) 또는 다른 통신 채널들과 데이터를 교환하는 무선 송수신기를 포함한다.

어떤 구현들에서, 통신 유닛(241)은 단문 메시징 서비스(SMS), 멀티미디어 메시징 서비스(MMS), 하이퍼텍스트 전송 프로토콜(HTTP), 직접 데이터 연결, WAP, 이메일, 또는 다른 적합한 타입의 전자 통신 등을 통해 셀룰러 통신 네트워크를 거쳐 데이터를 전송 및 수신하기 위한 셀룰러 통신 송수신기를 포함한다. 어떤 구현들에서, 통신 유닛(241)은 유선 포트와 무선 송수신기를 포함한다. 통신 유닛(241)은 또한 TCP/IP, HTTP, HTTPS, 및 SMTP 등을 포함한 표준 네트워크 프로토콜들을 이용하여 파일들 및/또는 미디어 객체들의 배포를 위해 네트워크(105)에의 다른 종래의 접속들을 제공한다.

저장 디바이스(243)는 본 명세서에 기술되는 기능을 제공하기 위한 데이터를 저장하는 비일시적 메모리일 수 있다. 저장 디바이스(243)는 다이내믹 랜덤 액세스 메모리(dynamic random access memory: DRAM) 디바이스, 스태틱 랜덤 액세스 메모리(static random access memory: SRAM) 디바이스, 플래시 메모리 디바이스, 또는 어떤 다른 메모리 디바이스들일 수 있다. 어떤 구현들에서, 저장 디바이스(243)는 또한 비휘발성 메모리, 또는 하드 디스크 드라이브, 플로피 디스크 드라이브, CD-ROM 디바이스, DVD-ROM 디바이스, DVD-RAM 디바이스, DVD-RW 디바이스, 플래시 메모리 디바이스, 또는 더 영구적인 기반으로 정보를 저장하기 위한 어떤 다른 대용량 저장 디바이스를 포함한, 유사한 영구 저장 디바이스 및 매체를 포함한다. 예시된 구현에서, 저장 디바이스(243)는 신호 라인(228)을 통해 버스(220)에 통신 가능하게 연결된다.

어떤 구현들에서, 저장 디바이스(243)는 사이트 상의 콘텐츠 추천을 위한 구성을 기술하는 구성 데이터, 하나 이상의 소스로부터 검색된 후보 항목들(예를 들어, 소셜 항목들, 저작 항목들, 관련 항목들, 및 인기있는 항목들), 후보 항목들과 연관된 메타데이터, 후보 항목들에 대한 점수들을 기술하는 점수 데이터, 및/또는 사용자들의 동의에 따라 사용자의 관심 프로파일을 기술하는 프로파일 데이터 중 하나 이상을 저장한다. 구성 데이터, 메타데이터, 점수 데이터, 및 프로파일 데이터는 더 상세히 후술된다.

도 2에 도시된 예시의 구현에서, 위젯 애플리케이션(103)은 컨트롤러(202), 구성 모듈(204), 후보 검색 모듈(206), 메타데이터 검색 모듈(208), 혼합 모듈(210), 트리거 모듈(212), 생성기 모듈(214), 및 사용자 인터페이스 모듈(216)을 포함한다. 위젯 애플리케이션(103)의 이러한 컴포넌트들은 버스(220)를 통해 서로 통신 가능하게 연결된다.

컨트롤러(202)는 위젯 애플리케이션(103)과 컴퓨팅 디바이스(200)의 다른 컴포넌트들 사이의 통신을 처리하기 위한 루틴들을 포함하는 소프트웨어를 이용하여 구현된 모듈일 수 있다. 어떤 구현들에서, 컨트롤러(202)는 위젯 애플리케이션(103)과 컴퓨팅 디바이스(200)의 다른 컴포넌트들 사이의 통신을 처리하기 위한 후술되는 기능을 제공하기 위해 프로세서(235)에 의해 실행 가능한 명령어들의 세트일 수 있다. 어떤 다른 구현들에서, 컨트롤러(202)는 컴퓨팅 디바이스(200)의 메모리(237)에 저장될 수 있고, 프로세서(235)에 의해 액세스 가능할 수 있고 실행 가능할 수 있다. 컨트롤러(202)는 신호 라인(230)을 통해 컴퓨팅 디바이스(200)의 프로세서(235) 및 다른 컴포넌트들과 협력 및 통신을 위해 적응될 수 있다.

어떤 구현들에서, 컨트롤러(202)는 통신 유닛(241)을 통해 시스템(100) 내의 하나 이상의 디바이스 및 서버에 데이터를 송신하고 그로부터 데이터를 수신한다. 예를 들어, 컨트롤러(202)는 후보 검색 모듈(206)로부터 쿼리를 수신하고, 그 쿼리를 네트워크(105)를 통해 소셜 소스 모듈(117), 저작 소스 모듈(119), 관련 소스 모듈(121), 및 인기있는 소스 모듈(123) 중 하나 이상에 보낸다. 다른 예에서, 컨트롤러(202)는 통신 유닛(241)을 통해, 하나 이상의 소스로부터 검색된 하나 이상의 후보 항목을 기술하는 데이터를 수신하고, 그 데이터를 후보 검색 모듈(206)에 보낸다.

어떤 구현들에서, 컨트롤러(202)는 위젯 애플리케이션(103)의 상이한 컴포넌트들 사이의 통신을 처리한다. 예를 들어, 컨트롤러(202)는 후보 검색 모듈(206)로부터 후보 항목들을 기술하는 데이터를 수신하고, 그 데이터를 메타데이터 검색 모듈(208) 및/또는 혼합 모듈(210)에 보낸다. 다른 예에서, 컨트롤러(202)는 메타데이터 검색 모듈(208)로부터 메타데이터를 수신하고, 메타데이터를 혼합 모듈(210)에 보낸다.

어떤 구현들에서, 컨트롤러(202)는 위젯 애플리케이션(103)의 컴포넌트들로부터 데이터를 수신하고, 그 데이터를 저장 디바이스(243)에 저장한다. 예를 들어, 컨트롤러(202)는 혼합 모듈(210)로부터 하나 이상의 점수를 기술하는 점수 데이터를 수신하고, 점수 데이터를 저장 디바이스(243)에 저장한다. 어떤 구현들에서, 컨트롤러(202)는 데이터를 저장 디바이스(243)로부터 검색하고, 데이터를 위젯 애플리케이션(103)의 컴포넌트들에 보낸다. 예를 들어, 컨트롤러(202)는 저장 디바이스(243)로부터 사용자의 관심 프로파일을 기술하는 프로파일 데이터를 검색하고, 프로파일 데이터를 혼합 모듈(210)에 보낸다.

구성 모듈(204)은 사이트 상의 콘텐츠 추천을 구성하기 위한 루틴들을 포함하는 소프트웨어를 이용하여 구현될 수 있다. 어떤 구현들에서, 구성 모듈(204)은 사이트 상의 콘텐츠 추천을 구성하기 위한 후술되는 기능을 제공하기 위해 프로세서(235)에 의해 실행 가능한 명령어들의 세트일 수 있다. 어떤 다른 구현들에서, 구성 모듈(204)은 컴퓨팅 디바이스(200)의 메모리(237)에 저장될 수 있고 프로세서(235)에 의해 액세스 가능할 수 있고 실행 가능할 수 있다. 구성 모듈(204)은 신호 라인(232)을 통해 컴퓨팅 디바이스(200)의 프로세서(235) 및 다른 컴포넌트들과의 협력 및 통신을 위해 적응될 수 있다.

어떤 구현들에서, 구성 모듈(204)은 사이트의 관리자로부터 입력 데이터를 수신하고, 입력 데이터를 이용하여 콘텐츠 추천을 위한 사이트 설정을 구성한다. 사이트 설정은 사이트 상의 콘텐츠 추천 기능을 활성화 또는 비활성화할지를 지시하는 데이터일 수 있다. 예를 들어, 구성 모듈(204)은 콘텐츠 추천 기능의 활성화를 지시하는 입력 데이터에 기초하여 사이트 상의 콘텐츠 추천 기능을 활성화하는 사이트 설정을 생성한다. 다른 예에서, 구성 모듈(204)은 콘텐츠 추천 기능의 비활성화를 지시하는 입력 데이터에 기초하여 사이트 상의 콘텐츠 추천 기능을 비활성화하는 사이트 설정을 생성한다.

어떤 구현들에서, 구성 모듈(204)은 사이트 상의 페이지를 방문하는 사용자로부터 입력 데이터를 수신하고, 입력 데이터를 이용하여 사용자에 대한 사용자 설정을 구성한다. 사용자 설정은 특정 사용자에 대해 사이트 상의 콘텐츠 추천 기능을 활성화 또는 비활성화할지를 지시하는 데이터일 수 있다. 예를 들어, 입력 데이터가, 특정 사용자가 사이트 상의 콘텐츠 추천을 비활성화하기로 선택하는 것을 지시하면, 구성 모듈(204)은 사이트 상의 특정 사용자에 대한 콘텐츠 추천 기능을 비활성화하도록 사용자 설정을 생성한다. 다른 예에서, 사이트의 관리자가 이미 사이트에 대한 콘텐츠 추천 기능을 활성화하고 특정 사용자로부터의 입력 데이터가 특정 사용자가 사이트 상의 콘텐츠 추천을 활성화하기로 선택하는 것을 지시하면, 구성 모듈(204)은 특정 사용자에 대한 콘텐츠 추천 기능을 활성화하도록 사용자 설정을 생성한다.

어떤 구현들에서, 구성 모듈(204)은 초청 상태 및/또는 추천 상태에 대한 하나 이상의 디스플레이 설정을 구성한다. 초청 상태와 추천 상태는 더 상세히 후술된다. 디스플레이 설정은 초청 상태 및/또는 추천 상태를 제시하는 방법에 대한 명령어들을 기술하는 데이터일 수 있다. 예를 들어, 디스플레이 설정은, 초청 트리거 이벤트가 발생하면, 브라우저의 바닥부로부터 밀어올린 50 개 화소의 높이를 갖는 오버레이 바아로서 초청 상태를 제시하는 것을 지시한다. 다른 예에서, 디스플레이 설정은 추천 상태를 페이지 상에 형태상의 오버레이로서 제시하는 것을 지시한다. 디스플레이 설정들의 다른 예들은 초청 상태를 페이지 내에 직접 임베딩하는 것, 페이지 상의 콘텐츠를 스크린 밖으로 슬라이딩하는 것, 및 추천 트리거 이벤트가 발생하면, 페이지의 바닥부에서 추천 상태를 제시하는 것, 초청 상태에 표시될 콘텐츠의 양, 및 추천 상태에 표시될 콘텐츠의 양 등을 포함하지만, 이들로 제한되지 않는다. 어떤 구현들에서, 구성 모듈(204)은 사이트의 관리자로부터 입력 데이터를 수신하고, 그 입력 데이터를 이용하여 사이트에 대한 하나 이상의 디스플레이 설정을 구성한다.

초청 트리거 이벤트는 초청 상태가 사용자에게 제시될 수 있는 하나 이상의 조건을 기술하는 데이터일 수 있다. 초청 트리거 이벤트의 예들은 다음과 같은 것들을 포함할 수 있지만, 이들로 한정되지 않는다: (1) 사이트와 사용자에 대한 자격 있는 후보 항목들의 존재(예를 들어, 사용자에 대한 동일 사이트로부터의 소셜 항목들, 저작 항목들, 관련 항목들, 인기있는 항목들 등의 존재); (2) 사용자가 페이지 상에서 소모한 지속 시간이 시간 임계값보다 더 클 수 있다(예를 들어, 사용자가 2분 초과 동안 그 페이지에 머물렀다); (3) 사용자가 그 페이지의 특정 로케이션으로 스크롤링했다(예를 들어, 사용자가 페이지의 2/3 아래로 스크롤링했다); (4) 초청 상태를 제시하는 태그가 페이지 상의 콘텐츠 본문의 끝에 배치될 수 있다. 초청 트리거 이벤트의 다른 예들이 가능하다.

추천 트리거 이벤트는 추천 상태가 사용자에게 제시될 수 있는 하나 이상의 조건을 기술하는 데이터일 수 있다. 예를 들어, 추천 트리거 이벤트는 사용자가 초청 상태 상에 클릭 또는 탭하는 것일 수 있다. 다른 예에서, 추천 트리거 이벤트는 커서가 초청 상태 위를 맴도는 것일 수 있다. 추천 트리거 이벤트의 다른 예들이 가능하다.

어떤 구현들에서, 구성 모듈(204)은 초청 트리거 이벤트 및/또는 추천 트리거 이벤트에 대한 하나 이상의 트리거 설정을 구성한다. 트리거 설정은 초청 트리거 이벤트 및/또는 추천 트리거 이벤트가 발생하는 하나 이상의 요건을 기술하는 데이터일 수 있다. 예를 들어, 트리거 설정은 초청 트리거 이벤트가 발생했는지 결정하기 위한 시간 임계값 또는 페이지의 특정 로케이션을 지시한다. 트리거 설정의 다른 예들이 가능하다. 어떤 구현들에서, 구성 모듈(204)은 사이트의 관리자로부터 입력 데이터를 수신하고, 입력 데이터를 이용하여 사이트에 대한 하나 이상의 트리거 설정을 구성한다.

어떤 구현들에서, 구성 모듈(204)은 사이트 설정, 사용자 설정, 디스플레이 설정, 및 트리거 설정 중 하나 이상을 기술하는 구성 데이터를 저장 디바이스(243)에 저장한다. 어떤 구현들에서, 구성 모듈(204)은 구성 데이터를 후보 검색 모듈(206), 트리거 모듈(212), 및/또는 생성기 모듈(214) 중 하나 이상에 보낸다.

후보 검색 모듈(206)은 하나 이상의 소스로부터 하나 이상의 후보 항목을 검색하기 위한 루틴들을 포함하는 소프트웨어일 수 있다. 어떤 구현들에서, 후보 검색 모듈(206)은 하나 이상의 소스로부터 하나 이상의 후보 항목을 검색하기 위한 후술되는 기능을 제공하기 위해 프로세서(235)에 의해 실행 가능한 명령어들의 세트일 수 있다. 어떤 다른 구현들에서, 후보 검색 모듈(206)은 컴퓨팅 디바이스(200)의 메모리(237)에 저장될 수 있고 프로세서(235)에 의해 액세스 가능할 수 있고 실행 가능할 수 있다. 후보 검색 모듈(206)은 신호 라인(233)을 통해 컴퓨팅 디바이스(200)의 프로세서(235) 및 다른 컴포넌트들과 협력 및 통신을 위해 적응될 수 있다.

어떤 구현들에서, 후보 검색 모듈(206)은 사용자에 의해 방문된 페이지의 어드레스, 및 사용자를 식별하는 식별 데이터를 포함하는 쿼리를 생성한다. 후보 검색 모듈(206)은 쿼리를 소셜 소스 모듈(117)에 보냄으로써 소셜 소스에 쿼리하고, 소셜 소스로부터 사용자에 대한 하나 이상의 소셜 항목을 수신한다. 예를 들어, 후보 검색 모듈(206)은 그 페이지와 동일 사이트 상에 게시되었던 그리고 사용자의 친구에 의해 추천되었던 소셜 항목을 검색하기 위해 소셜 소스에 쿼리한다.

어떤 구현들에서, 후보 검색 모듈(206)은 사용자에 의해 방문된 페이지의 어드레스를 포함하는 쿼리를 생성한다. 후보 검색 모듈(206)은 쿼리를 저작 소스 모듈(119)에 보냄으로써 저작 소스에 쿼리하고, 저작 소스로부터 사용자에 대한 하나 이상의 저작 항목을 수신한다. 예를 들어, 후보 검색 모듈(206)은 그 페이지 상의 콘텐츠의 저작자와 동일 저작자에 의해 제공된 저작 항목을 검색하기 위해 저작 소스에 쿼리한다. 저작 항목은 그 페이지와 동일 사이트 상에 게시될 수 있다.

어떤 구현들에서, 후보 검색 모듈(206)은 사용자에 의해 방문된 페이지의 어드레스를 포함하는 쿼리를 생성한다. 후보 검색 모듈(206)은 쿼리를 인기있는 소스 모듈(123)에 보냄으로써 인기있는 소스에 쿼리하고, 인기있는 소스로부터 사용자에 대한 하나 이상의 인기있는 항목을 수신한다. 예를 들어, 후보 검색 모듈(206)은 사이트 상의 최대 뷰들을 갖는 인기있는 항목을 검색하기 위해 인기있는 소스에 쿼리한다. 인기있는 항목은 페이지와 동일 사이트 상에 게시될 수 있다.

어떤 구현들에서, 후보 검색 모듈(206)은 사용자에 의해 방문된 페이지의 어드레스를 포함하는 쿼리를 생성한다. 후보 검색 모듈(206)은 쿼리를 관련 소스 모듈(121)에 보냄으로써 관련 소스에 쿼리하고, 관련 소스로부터 사용자에 대한 하나 이상의 관련 항목을 수신한다. 예를 들어, 후보 검색 모듈(206)은 "페이지를 본 사람들이 또한 이 후보 항목을 본다"라고 나타내어질 수 있는 관련 항목을 검색하기 위해 관련 소스에 쿼리한다.

어떤 구현들에서, 후보 검색 모듈(206)은 사용자에 의해 현재 방문된 페이지와 관련된 하나 이상의 토픽을 결정한다. 토픽의 예들은 뉴스, 인기 음악, 재미있는 이야기들, 휴가들, 공상 과학 소설, 모험 소설, 등을 포함하지만, 이들로 한정되지 않는다. 후보 검색 모듈(206)은 매칭하는 토픽을 획득하기 위해 페이지와 관련된 하나 이상의 토픽을 사용자의 관심 프로파일과 교차-참조한다. 관심 프로파일은 사용자가 흥미로울 수 있는 것을 기술하는 데이터일 수 있다. 예를 들어, 관심 프로파일은 사용자와 연관된 관심, 취미, 개인 선호, 인구 통계 데이터 등 및/또는 사용자가 흥미로울 수 있는 하나 이상의 토픽을 포함한다. 매칭하는 토픽은 사용자의 관심 프로파일과 매칭하는 토픽일 수 있다. 예를 들어, 사용자에 의해 방문된 페이지가 공상 과학 소설 토픽과 관련되고 관심 프로파일이 사용자가 기술 및 과학을 사랑하는 것을 지시하면, 후보 검색 모듈(206)은 매칭하는 토픽을 공상 과학 소설 토픽으로서 결정한다. 후보 검색 모듈(206)은 페이지의 어드레스 및 매칭하는 토픽을 포함하는 쿼리를 생성하고, 쿼리를 관련 소스 모듈(121)에 보낸다. 후보 검색 모듈(206)은 관련 소스로부터 매칭하는 토픽과 매칭하는 하나 이상의 관련 항목을 수신한다. 하나 이상의 관련 항목은 "매칭하는 토픽을 사랑하는 사람들에게 인기가 있는" 후보 항목들로서 표현될 수 있다.

옵션적으로, 후보 검색 모듈(206)은 하나 이상의 관련 항목과 관련된 하나 이상의 토픽을 결정하고, 하나 이상의 토픽으로부터 반복하는 토픽을 결정한다. 후보 검색 모듈(206)은 반복하는 토픽과 관련된 하나 이상의 관련 항목으로부터 관련 항목들의 서브세트를 결정한다. 반복하는 토픽은 하나 이상의 후보 항목에서 1회 초과로 나타나는 토픽일 수 있다. 예를 들어, 후보 검색 모듈(206)은 다음을 포함하는 공상 과학 소설과 관련된 3 개의 관련 항목을 수신한다: (1) 최고의 공상과학 영화들에 대한 이미지들을 기술하는 제1 관련 항목; (2) 최고의 공상 과학 영화들에 대한 평론을 기술하는 제2 관련 항목; 및 (3) 공상 과학 소설의 소설가의 인생 이야기를 기술하는 제3 관련 항목. 후보 검색 모듈(206)은 반복하는 토픽을 "최고 공상 과학 영화들"로서 결정하고, 제1 관련 항목과 제2 관련 항목을 포함하는 반복하는 토픽과 관련된 관련 항목들의 서브세트를 결정한다.

전술한 것들과 유사한 동작들을 수행함으로써, 후보 검색 모듈(206)은 네트워크(105)를 통해 후보 항목들의 세트를 검색하기 위해 하나 이상의 상이한 소스에 쿼리한다. 하나 이상의 상이한 소스는 소셜 소스, 저작 소스, 관련 소스, 및 인기있는 소스를 포함한다. 후보 항목들의 세트는 소셜 항목들, 반복하는 토픽과 관련된 관련 항목들 또는 관련 항목들의 서브세트, 저작 항목들, 및 인기있는 항목들 중 하나 이상을 포함한다. 후보 검색 모듈(206)은 옵션적으로 후보 항목들의 세트로부터 후보 항목들의 리스트를 편집한다. 후보 검색 모듈(206)은 옵션적으로, 페이지가 속하는 특정 도메인에 의해 후보 항목들의 세트를 필터링하여, 필터링된 후보 항목들이 페이지와 동일 사이트로부터 유래한다. 후보 검색 모듈(206)은 후보 항목들의 세트를 메타데이터 검색 모듈(208) 및/또는 혼합 모듈(210)에 보낸다.

메타데이터 검색 모듈(208)은 하나 이상의 후보 항목과 연관된 메타데이터를 검색하는 루틴들을 포함하는 소프트웨어일 수 있다. 어떤 구현들에서, 메타데이터 검색 모듈(208)은 하나 이상의 후보 항목과 연관된 메타데이터를 검색하기 위한 후술되는 기능을 제공하기 위해 프로세서(235)에 의해 실행 가능한 명령어들의 세트일 수 있다. 어떤 다른 구현들에서, 메타데이터 검색 모듈(208)은 컴퓨팅 디바이스(200)의 메모리(237)에 저장될 수 있고 프로세서(235)에 의해 액세스 가능할 수 있고 실행 가능할 수 있다. 메타데이터 검색 모듈(208)은 신호 라인(234)을 통해 컴퓨팅 디바이스(200)의 프로세서(235) 및 다른 컴포넌트들과 협력 및 통신을 위해 적응될 수 있다.

어떤 구현들에서, 메타데이터 검색 모듈(208)은 후보 검색 모듈(206)로부터 하나 이상의 후보 항목을 수신하고, 후보 항목들을 제공하는 하나 이상의 소스로부터 하나 이상의 후보 항목과 연관된 메타데이터를 검색한다. 후보 항목과 연관된 메타데이터의 예들은 썸네일, 제목, 키워드들, 후보 항목이 게시되었던 시간을 지시하는 타임스탬프, 후보 항목과 연관된 사회 활동 데이터(예를 들어, 후보 항목과 연관된 코멘트, 지지, 공유, 추천, 등의 수), 및 후보 항목에 관련된 하나 이상의 토픽 등을 포함하지만, 이들로 한정되지 않는다. 메타데이터 검색 모듈(208)은 혼합 모듈(210)에 하나 이상의 후보 항목 및/또는 연관된 메타데이터를 보낸다.

혼합 모듈(210)은 하나 이상의 후보 항목을 처리하기 위한 루틴들을 포함하는 소프트웨어를 이용하여 구현될 수 있다. 어떤 구현들에서, 혼합 모듈(210)은 하나 이상의 후보 항목을 관리하기 위한 후술되는 기능을 제공하기 위해 프로세서(235)에 의해 실행 가능한 명령어들의 세트일 수 있다. 어떤 다른 구현들에서, 혼합 모듈(210)은 컴퓨팅 디바이스(200)의 메모리(237)에 저장될 수 있고 프로세서(235)에 의해 액세스 가능할 수 있고 실행 가능할 수 있다. 혼합 모듈(210)은 신호 라인(236)을 통해 컴퓨팅 디바이스(200)의 프로세서(235) 및 다른 컴포넌트들과 협력 및 통신을 위해 적응될 수 있다.

어떤 구현들에서, 혼합 모듈(210)은 후보 검색 모듈(206) 및/또는 메타데이터 검색 모듈(208)로부터 하나 이상의 후보 항목 및 연관된 메타데이터를 수신한다. 혼합 모듈(210)은 하나 이상의 후보 항목에 대해 하나 이상의 점수가 생성될 수 있도록 각각의 후보 항목에 대한 점수를 결정한다. 어떤 구현들에서, 혼합 모듈(210)은 하나 이상의 점수 인자에 기초하여 후보 항목에 대한 점수를 결정한다. 예를 들어, 점수 인자가: (1) 제1 후보 항목 내의 제1 토픽이 사용자의 관심 프로파일과 매칭하고; (2) 제2 후보 항목 내의 제2 토픽이 사용자의 관심 프로파일과 매칭하지 않는다는 것을 지시하면, 혼합 모듈(210)은 제2 후보 항목보다 제1 후보 항목에 대해 더 높은 점수를 결정한다. 다른 예에서, 점수 인자가, 제1 후보 항목을 지지하고 코멘트하고 그리고/또는 공유하는 친구들의 수가 제2 후보 항목의 것을 초과하는 것을 지시하면, 혼합 모듈(210)은 제2 후보 항목보다 제1 후보 항목에 대해 더 높은 점수를 결정한다.

점수 인자는 점수를 결정하기 위한 파라미터를 기술하는 데이터일 수 있다. 점수 인자들의 예들은 후보 항목의 게시 시간, 후보 항목의 토픽들과 사용자의 관심 프로파일 간의 유사도, 후보 항목의 토픽들과 사용자에 의해 현재 방문된 페이지에 관련된 토픽들 간의 유사도, 후보 항목 상에 소셜 활동들을 행했던 소셜 그래프에서 사용자와 연결된 다른 사용자들의 수(예를 들어, 후보 항목을 지지했고 코멘트했고 그리고/또는 공유한 친구들의 수), 소셜 그래프에서 사용자와 연결될 수 있거나 연결되지 않을 수 있고 후보 항목 상에 소셜 활동을 행했던 다른 사용자들의 수(예를 들어, 후보 항목을 지지했고 코멘트했고 그리고/또는 공유한 사용자들의 총 수), 사용자와 동일 페이지를 방문한 다른 사용자들의 거동(예를 들어, 동일 페이지를 방문한 사람들이 또한 후보 항목을 볼 것인지, 페이지 상의 토픽을 좋아하는 사람들에게 그 후보 항목이 인기가 있을 수 있는지, 등), 그리고 후보 항목의 콘텐츠가 사용자에 의해 방문된 페이지의 콘텐츠와 동일 저작을 갖는지를 포함하지만, 이들로 한정되지 않는다.

어떤 구현들에서, 상이한 소스들로부터의 후보 항목들이 상이한 소스 타입들에 대한 채점 체계에 따라 채점될 수 있다. 채점 체계는 후보 항목들과 관련된 소스 타입들에 기초하여 후보 항목들에 대한 점수들을 생성하는 것을 지시하는 데이터일 수 있다. 예를 들어, 채점 체계는 "소셜 소스>저작 소스>관련 소스>인기있는 소스"일 수 있으며, 이는 (1) 소셜 소스로부터의 후보 항목들이 다른 소스들로부터의 다른 후보 항목들보다 더 높은 점수를 갖는다; (2) 저작 소스로부터의 후보 항목들이 관련 소스 또는 인기있는 소스로부터의 후보 항목들보다 더 높은 점수를 갖는다; 그리고 (3) 관련 소스로부터의 후보 항목들이 인기있는 소스로부터의 다른 후보 항목들보다 더 높은 점수를 갖는다는 것을 지시한다. 다른 예들에서, 채점 체계의 소스 타입들은 상이한 순서로 될 수 있다. 예를 들어, 채점 체계는 "저작 소스>소셜 소스>관련 소스>인기있는 소스"일 수 있다. 채점 체계는 컴퓨팅 디바이스(200)의 관리자에 의해 구성될 수 있다.

어떤 구현들에서, 혼합 모듈(210)은 하나 이상의 후보 항목과 관련된 하나 이상의 점수에 기초하여 하나 이상의 최고 순위 후보 항목을 생성하기 위해 하나 이상의 후보 항목을 순위 매김한다. 예를 들어, 혼합 모듈(210)은 더 낮은 점수를 갖는 제2 후보 항목보다 더 높은 점수를 갖는 제1 후보 항목에 대해 더 높은 순위를 생성한다. 어떤 구현들에서, 혼합 모듈(210)은 후보 항목들과 관련된 소스 타입들에 기초하여 하나 이상의 최고 순위 후보 항목을 생성하기 위해 하나 이상의 후보 항목을 순위 매김한다. 예를 들어, 소셜 소스로부터의 후보 항목들이 다른 소스들로부터의 후보 항목들보다 더 높은 순위를 갖는다; 저작 소스로부터의 후보 항목들이 관련 소스 또는 인기있는 소스로부터의 후보 항목들보다 더 높은 순위를 갖는다; 그리고 관련 소스로부터의 후보 항목들이 인기있는 소스로부터의 후보 항목들보다 더 높은 순위를 갖는다. 혼합 모듈(210)은 하나 이상의 최고 순위 후보 항목을 생성기 모듈(214)에 보낸다.

트리거 모듈(212)은 초청 트리거 이벤트 및/또는 추천 트리거 이벤트를 결정하기 위한 루틴들을 포함하는 소프트웨어를 이용하여 구현될 수 있다. 어떤 구현들에서, 트리거 모듈(212)은 초청 트리거 이벤트 및/또는 추천 트리거 이벤트를 결정하기 위한 후술되는 기능을 제공하기 위해 프로세서(235)에 의해 실행 가능한 명령어들의 세트일 수 있다. 어떤 다른 구현들에서, 트리거 모듈(212)은 컴퓨팅 디바이스(200)의 메모리(237)에 저장될 수 있고 프로세서(235)에 의해 액세스 가능할 수 있고 실행 가능할 수 있다. 트리거 모듈(212)은 신호 라인(238)을 통해 컴퓨팅 디바이스(200)의 프로세서(235) 및 다른 컴포넌트들과 협력 및 통신을 위해 적응될 수 있다.

어떤 구현들에서, 트리거 모듈(212)은 다음의 조건들 중 하나 이상이 충족될 수 있다면, 초청 트리거 이벤트가 발생한다고 결정한다: (1) 사이트와 사용자에 대한 자격 있는 후보 항목들의 존재(예를 들어, 사용자에 대한 동일 사이트로부터의 소셜 항목들, 저작 항목들, 관련 항목들, 인기있는 항목들 등의 존재); (2) 사용자가 페이지 상에서 소모한 지속 시간이 시간 임계값보다 더 클 수 있다(예를 들어, 사용자가 2분 초과 동안 그 페이지에 머물렀다); (3) 사용자가 그 페이지의 특정 로케이션으로 스크롤링했다(예를 들어, 사용자가 페이지의 2/3까지 스크롤링했다); (4) 초청 상태를 제시하기 위한 태그가 페이지 상의 콘텐츠 본문의 끝에 배치될 수 있다. 초청 트리거 이벤트의 발생을 결정하기 위한 다른 예시의 조건들이 가능하다. 트리거 모듈(212)은 초청 트리거 이벤트의 발생을 지시하는 신호를 생성기 모듈(214)에 보낸다.

어떤 구현들에서, 사용자가 초청 상태 상에 탭 또는 클릭하거나 또는 커서가 초청 상태 위를 맴돌면, 트리거 모듈(212)은 추천 트리거 이벤트가 발생한다고 결정한다. 트리거 모듈(212)은 추천 트리거 이벤트의 발생을 지시하는 신호를 생성기 모듈(214)에 보낸다.

생성기 모듈(214)은 초청 상태 및/또는 추천 상태를 사용자들에게 제공하기 위한 루틴들을 포함하는 소프트웨어를 이용하여 구현될 수 있다. 어떤 구현들에서, 생성기 모듈(214)은 초청 상태 및/또는 추천 상태를 사용자들에게 제공하기 위한 후술되는 기능을 제공하기 위해 프로세서(235)에 의해 실행 가능한 명령어들의 세트일 수 있다. 어떤 다른 구현들에서, 생성기 모듈(214)은 컴퓨팅 디바이스(200)의 메모리(237)에 저장될 수 있고 프로세서(235)에 의해 액세스 가능할 수 있고 실행 가능할 수 있다. 생성기 모듈(214)은 신호 라인(240)을 통해 컴퓨팅 디바이스(200)의 프로세서(235) 및 다른 컴포넌트들과 협력 및 통신을 위해 적응될 수 있다.

어떤 구현들에서, 생성기 모듈(214)은 위젯 애플리케이션(103)의 상이한 컴포넌트들 간의 통신을 처리한다. 예를 들어, 생성기 모듈(214)은 후보 검색 모듈(206)로부터 후보 항목들을 기술하는 데이터를 수신하고, 그 데이터를 메타데이터 검색 모듈(208) 및/또는 혼합 모듈(210)에 보낸다. 다른 예에서, 생성기 모듈(214)은 메타데이터 검색 모듈(208)로부터 메타데이터를 수신하고, 그 메타데이터를 혼합 모듈(210)에 보낸다.

어떤 구현들에서, 생성기 모듈(214)은 혼합 모듈(210)로부터 하나 이상의 후보 항목(예를 들어, 최고 순위 후보 항목들)을 수신한다. 생성기 모듈(214)이 트리거 모듈(212)로부터 초청 트리거 이벤트의 발생을 지시하는 신호를 수신하면, 생성기 모듈(214)은 사용자에 대한 초청 상태를 생성한다. 그러나, 후보 항목들이 사용자에 대해 가용적이지 않을 수 있다면, 생성기 모듈(214)은 초청 트리거 이벤트가 발생했더라도, 초청 상태를 사용자에게 제공하지 않는다. 초청 또는 추천 상태를 트리거링하기 위한 이벤트가 발생했는지의 이러한 자동 결정은 사용자의 관심 프로파일과 일치하는 제3자 웹사이트 상의 관련 정보를 식별하는 효과를 갖는다. 이에 의해, 그렇지 않았으면 놓쳤거나 간과했을 제3자 웹사이트 상의 정보가, 상이한 타입들의 가시적 또는 가청적 트리거들의 생성에 의해 사용자에 자동으로 플래그될 수 있다. 따라서, 본 명세서는 특정 사용자의 관심 프로파일과 가장 많이 관련되는 정보를 리턴하는, 개선되고 개인화된 브라우징 경험을 제공한다.

초청 상태는 사이트 상의 추가적 콘텐츠를 보도록 사용자를 초청하는 데이터일 수 있다. 예를 들어, 초청 상태는 최고 순위를 갖는 후보 항목을 기술하는 데이터, 및 후보 항목과 연관된 기술 데이터를 포함한다. 어떤 구현들에서, 기술 데이터는 후보 항목(예를 들어, 소셜 소스, 저작 소스, 관련 소스, 또는 인기있는 소스)의 소스 타입을 기술한다. 어떤 구현들에서, 기술 데이터는 초청 상태가 사용자에게 제시될 수 있는 이유를 기술한다. 기술 데이터의 예들은 다음을 포함하지만, 이들로 한정되지 않는다: 친구가 이 후보 항목을 공유, 코멘트, 또는 지지했다; 이 페이지를 방문한 사람들이 또한 이 후보 항목을 보기를 원한다; 이 페이지에 기사를 쓴 저작자가 또한 이 후보 항목에 이야기를 쓴다; 그리고 이 사이트에서 가장 인기 있는 콘텐츠, 등.

예를 들어, 초청 상태에 포함된 후보 항목이, 소셜 그래프에서 사용자에 연결된 다른 사용자로부터의 지지를 갖는다면, 초청 상태는 그 다른 사용자의 이름, 아바타, 및 "다른 사용자가 이 후보 항목을 추천한다"라는 기술을 포함한다. 다른 예에서, 초청 상태에 포함된 후보 항목이 소셜 그래프에서 사용자에 연결된 다른 사용자에 의해 공유되었다면, 초청 상태는 그 다른 사용자의 이름, 아바타, 및 "다른 사용자가 이 후보 항목을 공유한다"라는 기술을 포함한다. 또 다른 예에서, 초청 상태에 포함된 후보 항목이 소셜 그래프에서 사용자에 연결된 다른 사용자로부터의 코멘트를 갖는다면, 초청 상태는 다른 사용자의 이름, 아바타, 및 "다른 사용자가 이 후보 항목을 코멘트한다"라는 기술을 포함한다. 또 다른 예에서, 초청 상태에 포함된 후보 항목이 페이지 내의 콘텐츠와 동일 저작을 갖는다면, 초청 상태는 저작자의 이름, 아바타, 및 "그 저작자가 또한 이 후보 항목을 쓴다"라는 기술을 포함한다.

어떤 구현들에서, 생성기 모듈(214)은 하나 이상의 디스플레이 설정에 따라 사용자에게 초청 상태를 제공한다. 예를 들어, 생성기 모듈(214)은 초청 상태를 페이지 상의 오버레이(예를 들어, 브라우저의 바닥부로부터 밀어올린 50 개 화소의 높이를 갖는 오버레이 바아)로서 제시한다. 다른 예에서, 생성기 모듈(214)은 초청 상태를 페이지에 직접적으로 임베딩한다. 어떤 구현들에서, 생성기 모듈(214)은 체험적 기법들에 기초하여 페이지 상의 초청 상태의 제시를 결정한다. 예를 들어, 생성기 모듈(214)은 체험적 기법들을 이용하여 초청 상태를 제시하기 위한 로케이션을 결정한다. 생성기 모듈(214)은 사용자 인터페이스 모듈(216)에 초청 상태를 보냄으로써, 사용자 인터페이스 모듈(216)로 하여금 사용자 인터페이스에 초청 상태를 제시하기 위한 그래픽 데이터를 생성하게 한다. 어떤 구현들에서, 사용자가 초청 상태 상에 클릭하지 않고서 페이지의 특정 로케이션을 지나가게 스크롤링하면, 초청 상태는 뷰 밖으로 물러난다.

생성기 모듈(214)이 트리거 모듈(212)로부터 추천 트리거 이벤트의 발생을 지시하는 신호를 수신하면, 생성기 모듈(214)은 사용자에 대한 추천 상태를 생성한다. 추천 상태는 사용자에 대한 콘텐츠 추천을 기술하는 데이터일 수 있다. 예를 들어, 추천 상태는 하나 이상의 최고 순위 후보 항목의 적어도 서브세트, 및 하나 이상의 최고 순위 후보 항목의 서브세트와 관련된 소스 타입들을 포함한다. 어떤 구현들에서, 추천 상태 내의 후보 항목들은 후보 항목들과 관련된 점수들 및/또는 소스 타입들에 기초하여 우선순위가 정해질 수 있다. 어떤 구현들에서, 추천 상태는 하나 이상의 최고 순위 후보 항목들의 서브세트와 연관된 하나 이상의 참여 작용(예를 들어, 지지, 코멘트, 공유, 등)을 수행하기 위한 하나 이상의 작용 카드를 부가적으로 포함한다. 작용 카드의 예들은 공유 카드, 팔로우 카드, URL 카드, 등을 포함하지만 이들로 한정되지 않는다.

후보 항목의 공유 카드는 후보 항목을 공유하는 공유자를 기술하는 데이터일 수 있다. 공유 카드는 사용자가 후보 항목을 다른 사용자들과 재공유하도록 허용한다. 공유자는 후보 항목을 공유했던, 그리고 소셜 그래프에서 사용자에 연결된 다른 사용자일 수 있다. 예를 들어, 공유자는 후보 항목을 공유했던 친구일 수 있다. 어떤 구현들에서, 공유 카드는 다음 중 하나 이상을 포함한다: 공유자의 이름; 공유자의 아바타; 가용적이라면 공유자의 코멘트; 가용적이라면 후보 항목으로부터의 이미지; 후보 항목의 제목; 후보 항목을 호스팅하는 도메인 또는 사이트; 하나 이상의 참여 작용 버튼(예를 들어, 지지 버튼, 공유 버튼, 코멘트 버튼, 공유를 재공유하기 위한 버튼, 등); 및 후보 항목에 대해 지지, 코멘트, 및/또는 공유를 행함으로써 후보 항목과 상호작용한 소셜 그래프에서 사용자에 연결된 하나 이상의 다른 사용자의 아바타들 등.

후보 항목의 팔로우 카드는 인물(예를 들어, 저작자) 또는 후보 항목의 브랜드를 기술하는 데이터일 수 있다. 브랜드의 예는 사용자에 의해 현재 방문되는 사이트에 연결될 수 있는 지지된 페이지일 수 있다. 예를 들어, 팔로우 카드는 인물 또는 브랜드의 아바타, 인물 또는 브랜드의 이름, 인물의 직업, 및 사용자가 인물 또는 브랜드를 따라 가게 허용하는 팔로우 버튼을 포함한다.

URL 카드는 후보 항목의 어드레스를 기술하는 데이터일 수 있다. 예를 들어, URL 카드는 후보 항목의 URL, URL에의 하이퍼링크, 및 하나 이상의 참여 작용 버튼들을 포함한다. 어떤 구현들에서, URL 카드는 소셜 그래프에서 사용자에 연결된 다른 사용자들로부터의 소셜 활동을 갖지 않는 후보 항목들(예를 들어, 친구들로부터의 소셜 활동을 갖지 않는 후보 항목들), 또는 소셜 그래프에서 사용자에 연결되지 않은 다른 사용자들에 의해 공개적으로 지지/공유/코멘트되었던 후보 항목들에 대해 사용될 수 있다.

어떤 구현들에서, 생성기 모듈(214)은 하나 이상의 디스플레이 설정에 따라 사용자에게 추천 상태를 제공한다. 예를 들어, 생성기 모듈(214)은 추천 상태를 페이지 상에 형태상의 오버레이로서 제공한다. 다른 예에서, 생성기 모듈(214)은 페이지 상의 콘텐츠를 스크린 밖으로 슬라이딩하고, 페이지의 바닥부에 추천 상태를 제시한다. 생성기 모듈(214)은 사용자 인터페이스 모듈(216)에 추천 상태를 보냄으로써, 사용자 인터페이스 모듈(216)로 하여금 사용자 인터페이스에 추천 상태를 제시하기 위한 그래픽 데이터를 생성하도록 한다. 사용자는 하나 이상의 참여 작용들을 수행함으로써 추천 상태와 상호작용할 수 있다. 예를 들어, 사용자는 지지 버튼, 공유 버튼, 및/또는 코멘트 버튼 상에 클릭할 수 있고, 공유를 재공유할 수 있고, 공유를 확대할 수 있고, 프로파일 상에 클릭할 수 있고, URL 상에 클릭할 수 있고, 코멘트를 확대할 수 있고, 코멘트를 포스트할 수 있고/있거나, 새로운 페이지 상의 후보 항목으로 재지향하기 위해 하이퍼링크 상에 클릭할 수 있다. 사용자는 최고 순위 후보 항목의 서브세트를 통해 스크롤링할 수 있고/있거나 이전에 방문했던 페이지로 돌아가기 위해 추천 상태를 폐쇄할 수 있다.

사용자 인터페이스 모듈(216)은 사용자 인터페이스들을 제공하기 위한 그래픽 데이터를 생성하는 루틴들을 포함하는 소프트웨어를 이용하여 구현될 수 있다. 어떤 구현들에서, 사용자 인터페이스 모듈(216)은 사용자 인터페이스들을 제공하기 위한 그래픽 데이터를 생성하기 위한 후술되는 기능을 제공하기 위해 프로세서(235)에 의해 실행 가능한 명령어들의 세트일 수 있다. 어떤 다른 구현들에서, 사용자 인터페이스 모듈(216)은 컴퓨팅 디바이스(200)의 메모리(237)에 저장될 수 있고 프로세서(235)에 의해 액세스 가능할 수 있고 실행 가능할 수 있다. 사용자 인터페이스 모듈(216)은 신호 라인(242)을 통해 컴퓨팅 디바이스(200)의 프로세서(235) 및 다른 컴포넌트들과 협력 및 통신을 위해 적응될 수 있다.

어떤 구현들에서, 사용자 인터페이스 모듈(216)은 초청 상태 또는 추천 상태를 묘사하는 사용자 인터페이스를 제공하기 위한 그래픽 데이터를 생성한다. 사용자 인터페이스 모듈(216)은 사용자에 의해 작동되는 사용자 디바이스(115)에 그래픽 데이터를 보냄으로써, 사용자 디바이스(115)로 하여금 초청 상태 또는 추천 상태를 사용자 인터페이스를 통해 사용자에게 제시하도록 한다. 사용자 인터페이스 모듈(216)은 다른 사용자 인터페이스들을 사용자들에게 제공하기 위한 그래픽 데이터를 생성할 수 있다.

이제 도 3을 참조하면, 위젯 애플리케이션(103)의 다른 예가 더 상세히 도시된다. 예시된 구현에서, 위젯 애플리케이션(103)은 생성기 모듈(214), 초청 위젯(302), 및 추천 위젯(304)을 포함한다. 생성기 모듈(214)은 후보 검색 모듈들(206a, 206b, 206c, 206d), 메타데이터 검색 모듈(208), 및 혼합 모듈(210)을 포함한다. 유사한 참조 번호들은 유사한 컴포넌트들을 지칭하기 위해 사용되고, 그 설명은 여기서 반복되지 않을 것이다.

어떤 구현들에서, 후보 항목들이 상이한 소스들로부터 병렬적으로 검색될 수 있다. 후보 검색 모듈(206a)은 소셜 소스로부터 후보 항목들(예를 들어, 소셜 항목들)을 검색한다; 후보 검색 모듈(206b)은 저작 소스로부터 후보 항목들(예를 들어, 저작 항목들)을 검색한다; 후보 검색 모듈(206c)은 관련 소스로부터 후보 항목들(예를 들어, 관련 항목들)을 검색한다; 그리고 후보 검색 모듈(206d)은 인기있는 소스로부터 후보 항목들(예를 들어, 인기있는 항목들)을 검색한다. 후보 검색 모듈들(206a, 206b, 206c, 206d)은 후보 항목들을 메타데이터 검색 모듈(208)에 보낸다. 메타데이터 검색 모듈(208)은 후보 항목들에 대한 메타데이터를 검색하고, 후보 항목들 및 연관된 메타데이터를 혼합 모듈(210)에 보낸다. 혼합 모듈(210)은 후보 항목들에 대한 점수들을 결정하고, 하나 이상의 최고 순위 후보 항목들을 생성하기 위해 후보 항목들을 순위 매김한다. 생성기 모듈(214)은 하나 이상의 최고 순위 후보 항목들을 이용하여 사용자에 대한 추천 콘텐츠를 생성한다.

초청 위젯(302)은 초청 상태를 제시하는 애플리케이션 프로그래밍 인터테이스(API)를 기술하는 코드와 루틴들일 수 있다. 추천 위젯(304)은 추천 상태를 제시하는 API를 기술하는 코드와 루틴들일 수 있다. 예를 들어, 초청 위젯(302)과 추천 위젯(304)은 페이지의 i프레임 요소들일 수 있다.

이제 도 4를 참조하여, 예시적 실시예에 따라 사이트 상의 사용자들에게 콘텐츠 추천을 제공하기 위한 방법(400)의 예가 기술된다. 어떤 구현들에서, 방법(400)은 사용자에 의해 현재 방문된 페이지를 결정한다. 컨트롤러(202)는 사용자에 의해 현재 방문된 페이지를 기술하는 데이터를 수신한다(402). 후보 검색 모듈(206)은 후보 항목들에 대해 하나 이상 상이한 소스들에 쿼리한다(404). 후보 검색 모듈(206)은 하나 이상의 상이한 소스로부터 컨트롤러(202)를 통해 후보 항목들을 수신한다(406). 혼합 모듈(210)은 후보 항목들을 순위 매김한다(408). 초청 트리거 이벤트가 발생하면, 생성기 모듈(214)은 초청 상태를 사용자에게 제시한다(410). 추천 트리거 이벤트가 발생하면, 생성기 모듈(214)은 추천 상태를 사용자에게 제시한다(412).

도 5a 및 도 5b는 사이트 상의 사용자들에게 콘텐츠 추천을 제공하기 위한 다른 예시적 방법(500)의 흐름도들이다. 어떤 구현들에서, 방법(500)은 사용자에 의해 현재 방문된 페이지를 결정한다. 도 5a를 참조하여, 컨트롤러(202)는 사용자에 의해 현재 방문된 페이지를 기술하는 데이터를 수신한다(502). 구성 모듈(204)은 페이지의 게시자가 페이지에 대한 콘텐츠 추천을 활성화하는지를 결정한다(504). 게시자가 콘텐츠 추천을 활성화하지 않으면, 방법(500)은 사용자에게 추천 콘텐츠를 제공하지 않는다(505). 그렇지 않으면, 방법(500)은 블록(506)으로 이동한다.

블록(506)에서, 후보 검색 모듈(206)은 후보 항목들에 대해 하나 이상의 상이한 소스들에 쿼리한다(506). 후보 검색 모듈(206)은 하나 이상의 상이한 소스로부터 컨트롤러(202)를 통해 후보 항목들을 수신한다(508). 후보 검색 모듈(206)은 수신된 후보 항목들로부터 후보 항목들의 리스트를 옵션적으로 편집한다(510). 후보 검색 모듈(206)은 후보 항목들을 혼합 모듈(210)에 보낸다. 혼합 모듈(210)은 후보 항목들과 관련된 하나 이상의 소스 타입들에 의해 후보 항목들을 옵션적으로 순위 매김한다(512). 혼합 모듈(210) 사용자의 관심들에 기초하여 후보 항목들을 옵션적으로 필터링한다(513). 혼합 모듈(210)은 후보 항목들에 대한 점수들을 결정하고(514) 점수들에 기초하여 후보 항목들을 순위 매김한다(515). 어떤 구현들에서, 블록(513)에서 수행된 동작들은 블록(514)에서 수행된 동작들과 결합될 수 있다.

이제 도 5b를 참조하면, 트리거 모듈(212)은 초청 트리거 이벤트가 발생하는지를 결정한다(516). 초청 트리거 이벤트가 발생하면, 방법(500)은 블록(518)으로 이동한다. 그렇지 않으면, 방법(500)은 블록(520)으로 이동한다. 블록(520)에서, 방법(500)은 사용자가 페이지를 나갔는지 결정한다. 사용자가 페이지를 나가지 않았다면, 방법(500)은 블록(516)으로 이동한다. 사용자가 페이지를 나갔다면, 방법(500)은 초청 상태를 사용자에게 제시하지 않는다(521).

블록(518)에서, 생성기 모듈(214)은 초청 상태를 사용자에게 제시한다(518). 트리거 모듈(212)은 추천 트리거 이벤트가 발생하는지 결정한다(522). 추천 트리거 이벤트가 발생하지 않으면, 생성기 모듈(214)은 초청 상태를 제거한다(526). 추천 트리거 이벤트가 발생하면, 생성기 모듈(214)은 추천 상태를 사용자에게 제시한다(524). 사용자는 추천 상태에 포함된 추천 콘텐츠와 상호작용할 수 있다. 옵션적으로, 컨트롤러(202)는 사용자로부터 추천 콘텐츠에 관한 피드백 데이터를 수신하고(528), 생성기 모듈(214)은 피드백 데이터에 기초하여 추천 콘텐츠를 업데이트한다(530). 어떤 구현들에서, 사용자에 의해 방문된 페이지 및 추천 콘텐츠는 동일 사이트로부터 유래할 수 있다.

도 6a 내지 도 6d는 사이트 상의 사용자들에게 콘텐츠 추천을 제공하기 위한 또 다른 예시적 방법(600)의 흐름도들이다. 도 6a를 참조하면, 컨트롤러(202)는 현재 제1 사용자에 의해 방문된 페이지를 기술하는 데이터를 수신한다(602). 구성 모듈(204)은 페이지의 게시자가 페이지에 대한 콘텐츠 추천을 활성화하는지 결정한다(604). 게시자가 콘텐츠 추천을 활성화하지 않으면, 방법(600)은 사용자에게 추천 콘텐츠를 제공하지 않는다(605). 그렇지 않으면, 방법(600)은 블록(606)으로 이동한다.

블록(606)에서, 후보 검색 모듈(206)은 후보 항목들에 대해 소셜 소스에 쿼리한다. 후보 검색 모듈(206)은 소셜 소스로부터 컨트롤러(202)를 통해 후보 항목(예를 들어, 소셜 항목)을 수신한다(608). 생성기 모듈(214)은 후보 항목이 소셜 그래프에서 제1 사용자에 소셜적으로 연결된 다른 사용자에 의해 수행된 동일 페이지 상의 사용자 활동을 기술하는지 결정한다(610). 예를 들어, 생성기 모듈(214)은 후보 항목이 제1 사용자의 친구로부터의 동일 페이지 상의 지지, 공유, 또는 코멘트일 수 있는지 결정한다. 후보 항목이 동일 페이지 상의, 소셜적으로 제1 사용자에 연결된 다른 사용자로부터의 사용자 활동을 기술하면, 생성기 모듈(214)은 다른 사용자의 이름 및 사용자 활동을 디스플레이하는 초청 상태를 제1 사용자에게 제시한다(612). 그렇지 않으면, 방법(600)은 블록(614)으로 이동한다.

블록(614)에서, 생성기 모듈(214)은 후보 항목이 동일 사이트의 다른 페이지로부터 유래할 수 있고 소셜 그래프에서 제1 사용자에 소셜적으로 연결된 다른 사용자에 의해 수행된 사용자 활동과 관련될 수 있는지 결정한다. 예를 들어, 생성기 모듈(214)은 동일 사이트의 다른 페이지로부터의 후보 항목이 친구에 의해 생성된 지지, 공유, 또는 코멘트를 갖는지 결정한다. 후보 항목이 동일 사이트의 다른 페이지로부터 유래될 수 있고 소셜 그래프에서 제1 사용자에 연결된 다른 사용자에 의해 수행된 사용자 활동과 관련될 수 있다면, 생성기 모듈(214)은 후보 항목, 사용자 활동, 및 다른 사용자의 이름 중 하나 이상을 디스플레이하는 초청 상태를 제시한다(616). 그렇지 않으면, 방법(600)은 블록(617)으로 이동한다.

도 6b를 참조하면, 방법(600)은 제1 사용자가 소셜 네트워크에서 서명했는지 결정한다(617). 제1 사용자가 소셜 네트워크에서 서명하지 않았으면, 생성기 모듈(214)은 동일 사이트로부터의 하나 이상의 가장 인기있는 후보 항목들(예를 들어, 상위 10 최고 기사들)을 디스플레이하는 초청 상태를 제1 사용자에게 제시한다(619). 그렇지 않으면, 방법(600)은 블록(618)으로 이동한다. 블록(618)에서, 방법(600)은 제1 사용자가 관심 프로파일을 갖는지 결정한다. 제1 사용자가 관심 프로파일을 갖는다면, 방법(600)은 블록(630)으로 이동한다. 그렇지 않으면, 방법(600)은 블록(620)으로 이동한다. 블록(620)에서, 후보 검색 모듈(206)은 제1 사용자의 동의 하의 제1 사용자의 지리적 로케이션 및 페이지의 어드레스를 이용하여 후보 항목들에 대해 관련 소스에 쿼리한다(620). 후보 검색 모듈(204)은 관련 소스로부터 컨트롤러(202)를 통해 후보 항목을 수신한다(622).

생성기 모듈(214)은 후보 항목이 제2 사용자에 의해 수행된 공공 사용자 활동을 갖는지를 결정한다(624). 제2 사용자는 예를 들어, 공개적으로 후보 항목과 관련된 그의 활동을 공유하기로 명시적으로 동의한 전문가 또는 유명 인사일 수 있다. 후보 항목이 제2 사용자에 의해 수행된 공공 사용자 활동을 갖는다면, 생성기 모듈(214)은 후보 항목, 제2 사용자의 이름, 공공 소셜 활동, 및 하나 이상의 작용 카드를 디스플레이하는 초청 상태를 제1 사용자에게 제시한다(628). 그렇지 않으면, 생성기 모듈(214)은 후보 항목을 제1 사용자에 의해 방문된 페이지에 대한 관련 콘텐츠로서 디스플레이하는 초청 상태를 제시한다(626). 예를 들어, 후보 항목은 "이 페이지를 방문하는 사람들이 또한 이 후보 항목을 본다"라고 디스플레이될 수 있다.

도 6c를 참조하면, 후보 검색 모듈(206)은 제1 사용자의 동의 하의 제1 사용자와 연관된 관심 프로파일, 인구 통계 데이터, 제1 사용자의 지리적 로케이션, 및 페이지의 어드레스 중 하나 이상을 이용하여 후보 항목들에 대해 관련 소스에 쿼리한다(630). 후보 검색 모듈(206)은 관련 소스로부터 컨트롤러(202)를 통해 후보 항목을 수신한다(632). 생성기 모듈(214)은 후보 항목이 제2 사용자에 의해 수행된 공공 사용자 활동을 갖는지를 결정한다(634). 제2 사용자는 예를 들어, 공개적으로 후보 항목과 관련된 그의 활동을 공유하기로 명시적으로 동의한 전문가 또는 유명 인사일 수 있다. 후보 항목이 제2 사용자에 의해 수행된 공공 사용자 활동을 갖는다면, 생성기 모듈(214)은 후보 항목, 제2 사용자의 이름, 공공 소셜 활동, 및 하나 이상의 작용 카드를 디스플레이하는 초청 상태를 제1 사용자에게 제시한다(636). 그렇지 않으면, 생성기 모듈(214)은 후보 항목을 인기있는 콘텐츠로서 디스플레이하는 초청 상태를 제시한다(638). 예를 들어, 후보 항목은 "이 페이지를 방문한 사람들에게 인기 있는" 것으로서 디스플레이될 수 있다.

도 6d를 참조하면, 트리거 모듈(212)은 추천 트리거 이벤트가 발생하는지를 결정한다(640). 추천 트리거 이벤트가 발생하면, 생성기 모듈(214)은 추천 상태를 제1 사용자에게 제시한다(642). 그렇지 않으면, 생성기 모듈(214)은 초청 상태를 제거한다(644).

도 7a 및 도 7b는 후보 항목들을 획득하기 위해 관련 소스에 쿼리하기 위한 다양한 예시적 프로세스들(700, 730)의 이벤트 다이어그램들이다. 도 7a를 참조하면, 어떤 구현들에서, 후보 검색 모듈(206)은 사용자에 의해 현재 방문된 페이지의 어드레스를 포함하는 쿼리를 생성한다(702). 컨트롤러(202)는 관련 소스 모듈(121)에 쿼리를 보낸다(704). 관련 소스 모듈(121)은 관련 소스로부터 관련 항목들을 결정하고(705), 후보 검색 모듈(206)에 관련 항목들을 보낸다(706). 후보 검색 모듈(206)은 특정 도메인(예를 들어, 페이지의 도메인)에 의해 관련 항목들을 필터링한다(708).

도 7b를 참조하면, 어떤 구현들에서 후보 검색 모듈(206)은 사용자에 의해 현재 방문된 페이지와 관련된 하나 이상의 토픽을 결정한다(732). 후보 검색 모듈(206)은 매칭하는 토픽을 획득하기 위해 하나 이상의 토픽을 사용자와 연관된 관심 프로파일과 교차-참조한다(734). 후보 검색 모듈(206)은 페이지의 어드레스 및 매칭하는 토픽을 포함하는 쿼리를 생성한다(736). 컨트롤러(202)는 관련 소스 모듈(121)에 쿼리를 보낸다(738). 관련 소스 모듈(121)은 관련 소스로부터 매칭하는 토픽과 관련된 관련 항목들을 결정한다(740). 관련 소스 모듈(121)은 후보 검색 모듈(121)에 관련 항목들을 보낸다(742). 후보 검색 모듈(206)은 관련 항목들로부터 하나 이상의 토픽을 결정한다(744). 후보 검색 모듈(206)은 하나 이상의 토픽들로부터 반복하는 토픽을 결정한다(746). 후보 검색 모듈(206)은 반복하는 토픽과 연관된 관련 항목들의 서브세트를 결정한다(748).

도 8은 후보 항목들을 획득하기 위해 저작 소스에 쿼리하는 예시적 프로로세스(800)의 이벤트 다이어그램이다. 어떤 구현들에서, 후보 검색 모듈(206)은 사용자에 의해 현재 방문된 페이지의 어드레스를 포함하는 쿼리를 생성한다(802). 컨트롤러(202)는 저작 소스 모듈(119)에 쿼리를 보낸다(804). 저작 소스 모듈(119)은 페이지 상의 콘텐츠의 저작자를 결정한다(806). 저작 소스 모듈(119)은 페이지 상의 콘텐츠와 동일 저작자에 관련된 저작 항목을 결정한다(808). 저작 소스 모듈(119)은 후보 검색 모듈(206)에 저작 항목을 보낸다(810).

도 9a 및 도 9b는 저작 소스로부터 콘텐츠 추천을 사용자들에게 제공하기 위한 예시적 사용자 인터페이스들(902, 954)의 그래픽 표현들(900, 950)이다. 도 9a를 참조하면, 예시적 사용자 인터페이스(902)는 사용자가 웹사이트(912)로부터 페이지 상의 저작자(904) "크리스 XYZ"에 의해 쓰여진 기사를 읽는다는 것을 지시한다. 사용자가 로케이션(906)으로 스크롤링할 때, 초청 트리거 이벤트가 발생한다. 동일 웹사이트(912)로부터 동일 저작자(904)에 의해 쓰여진 다른 기사를 포함하는 초청 상태(908)가 사용자에게 제시될 수 있다. 사용자가 초청 상태(908) 상에 클릭하지 않고서 로케이션(906)을 지나가게 스크롤링하면, 초청 상태(908)는 사용자 인터페이스(902) 밖으로 물러난다.

사용자가 초청 상태(908) 상에 클릭하면, 추천 트리거 이벤트가 발생하고, 도 9b에 도시된 바와 같이 다른 기사가 추천 상태에서 사용자에게 제시될 것이다. 도 9b를 참조하면, 예시적 사용자 인터페이스(954)는 사용자가 동일 웹사이트(912)로부터 다른 페이지 상의 동일 저작자(904) "크리스 XYZ"에 의해 쓰여진 기사를 읽는다는 것을 지시한다. 사용자는 "팔로우" 버튼(952) 상에 클릭함으로써 저작자(904)를 따라갈 수 있다. 사용자는 버튼(956) 상에 클릭함으로써 이전에 방문했던 페이지로 돌아갈 수 있다.

도 10a 내지 도 10c는 소셜 소스로부터 콘텐츠 추천을 사용자들에게 제공하기 위한 예시적 사용자 인터페이스들(1002, 1060, 1080)의 그래픽 표현들(1000, 1050, 1070)이다. 도 10a를 참조하면, 예시적 사용자 인터페이스(1002)는 사용자가 웹사이트(1012)로부터 페이지 상의 저작자(1004) "매트 ABC"에 의해 쓰여진 기사를 읽는다는 것을 지시한다. 사용자가 로케이션(1006)으로 스크롤링할 때, 초청 트리거 이벤트가 발생한다. 사용자의 친구 A가 동일 웹사이트(1012)로부터의 다른 기사에 관해 코멘트했다는 것을 기술하는 메시지를 포함하는 초청 상태(1010)가 사용자에게 제시될 수 있다. 사용자가 초청 상태(1010) 상에 클릭하지 않고서 로케이션(1006)을 지나가게 스크롤링하면, 초청 상태(1010)는 사용자 인터페이스(1002) 밖으로 물러난다. 사용자는 팔로잉 메시지(1008) 상에 클릭함으로써 저작자(1004)를 따라갈 수 있다.

사용자가 초청 상태(1010) 상에 클릭하면, 추천 트리거 이벤트가 발생하고 친구 A로부터의 코멘트가 도 10b에 도시된 바와 같이 추천 상태에서 사용자에게 제시될 것이다. 도 10b를 참조하면, 예시적 사용자 인터페이스(1060)는 동일 웹사이트(1012)로부터의 다른 기사와 관련된 친구 A로부터의 코멘트(1054)와, 다른 기사의 콘텐츠를 포함한다. 사용자는 버튼(1052) 상에 클릭함으로써 이전에 방문했던 페이지로 돌아갈 수 있다. 사용자는 또한 공유 버튼(1056) 상에 클릭하여 다른 기사를 공유할 수 있음으로써, 사용자 인터페이스(1080)가 사용자에게 디스플레이되도록 한다. 도 10c를 참조하면, 사용자 인터페이스(1080)는 사용자가 다른 기사를 다른 친구들과 공유하도록 허용한다. 사용자는 박스(1074)에 코멘트를 입력할 수 있고 공유 버튼(1072) 상에 클릭함으로써 기사와 코멘트를 다른 친구들과 공유할 수 있다.

도 11a 및 도 11b는 관련 소스로부터의 콘텐츠 추천을 사용자들에게 제공하기 위한 예시적 사용자 인터페이스(1110, 1160)의 그래픽 표현들(1100, 1150)이다. 도 11a를 참조하면, 사용자는 웹사이트(1112)로부터의 페이지 상의 기사 "2012년의 최고의 공상 과학 소설"을 읽는다. 예시적 사용자 인터페이스(1110)는 "기사 '2012년의 최고의 공상 과학 소설'을 읽은 사람들이 또한 이것을 읽는다"로서 표현된 동일 웹사이트(1112)로부터의 관련 항목(1102)을 포함한다. 도 11b를 참조하면, 예시적 사용자 인터페이스(1160)는 "공상 과학 소설을 사랑하는 사람들에게 인기있는" 것으로서 표현된 동일 웹사이트(1112)로부터의 관련 항목(1154)을 포함한다.

상기의 설명에서는, 설명의 목적상, 본 명세서의 충분한 이해를 제공하기 위해 많은 특정 상세들이 설명되었다. 그러나, 본 발명은 이러한 특정 상세들 없이도 실시될 수 있음은 통상의 기술자에게 명백할 것이다. 다른 구현들에서, 본 설명을 모호하게 하지 않도록 구조들 및 디바이스들이 블록도 형태로 도시된다. 예를 들어, 본 구현은 주로 사용자 인터페이스들과 특정 하드웨어를 주로 참조하여 하기의 일 구현에서 설명된다. 그러나, 본 구현은 데이터와 명령들 수신할 수 있는 임의의 타입의 컴퓨팅 디바이스, 및 서비스들을 제공하는 임의의 주변 디바이스들에 적용된다.

명세서에서 "일 구현" 또는 "구현"의 참조는 구현과 관련하여 기술된 특정 특징, 구조, 또는 특성이 설명 중의 적어도 하나의 구현에 포함됨을 의미한다. 본 명세서의 여러 곳에서 나오는 "일 구현에서"라는 문구는 반드시 모두 동일한 구현을 지칭하는 것은 아니다.

다음의 상세한 설명들 중 일부 부분들은 컴퓨터 메모리 내의 데이터 비트들에 대한 연산들의 알고리즘들 및 기호 표현들에 의해 제시된다. 이러한 알고리즘 설명 및 표현은 데이터 처리 기술 분야의 통상의 기술자가 그들의 작업의 내용을 그 기술 분야의 다른 통상의 기술자에게 가장 효과적으로 전달하기 위해 사용하는 수단이다. 여기서 그리고 일반적으로, 알고리즘은 요망되는 결과를 가져오는 단계들의 자기 일관성 있는 시퀀스라고 생각된다. 단계들은 물리량들의 물리적인 조작을 요구하는 것들이다. 대개, 반드시 그러하지는 않지만, 이러한 양들은 저장, 전송, 결합, 비교, 및 기타 조작이 가능한 전기 또는 자기 신호의 형태를 취한다. 주로 통상적 사용의 이유로 이러한 신호들을 비트, 값, 요소, 기호, 문자, 용어, 숫자, 또는 이와 유사한 것들로서 지칭하는 것이 때때로 편리하다는 것이 판명되었다.

그러나, 명심해야 할 점은 이들 및 그와 유사한 용어들 전부가 적절한 물리량들과 연관되는 것이고, 단지 이러한 양들에 적용되는 편리한 레이블들일 뿐이라는 점이다. 하기의 설명에서 명백하게 특별히 달리 기술되지 않는 한, 본 설명 전체에 걸쳐서, "프로세싱" 또는 "계산" 또는 "연산" 또는 "결정" 또는 "디스플레이" 등과 같은 용어들을 사용하는 설명은, 컴퓨터 시스템의 레지스터들 및 메모리들 내의 물리적(전자) 양들로서 표현되는 데이터를 조작하고 이 데이터를 컴퓨터 시스템 메모리 또는 레지스터 또는 기타 그러한 정보 저장소, 송신 또는 디스플레이 디바이스들 내의 물리적 양들로 유사하게 표현되는 다른 데이터로 전환하는 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 디바이스의 작용 및 프로세스들을 지칭한다는 것이 이해될 것이다.

명세서의 본 구현은 또한 본 명세서의 동작들을 수행하기 위한 장치와 관련된다. 이 장치는 필요한 목적을 위해 특수하게 구성될 수 있거나, 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨터를 포함할 수 있다. 그러한 컴퓨터 프로그램은, 컴퓨터 시스템 버스에 각각 결합된 플로피 디스크, 광 디스크, CD-ROM 및 자기 디스크를 포함하는 임의의 타입의 디스크, 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), EPROM, EEPROM, 자기 또는 광학 카드, 비휘발성 메모리를 갖는 USB 키를 포함하는 플래쉬 메모리, 또는 전자 명령어들을 저장하기에 적합한 임의의 타입의 매체 등을 포함하는, 그러나 이들로 한정되지 않는 컴퓨터 판독 가능 저장 매체에 저장될 수 있다.

따라서, 상세는 하드웨어로만 된 구현, 소프트웨어로만 된 구현, 또는 소프트웨어 요소 및 하드웨어 요소를 겸비한 구현의 형태를 취할 수 있다. 바람직한 구현에서, 상세는, 펌웨어, 상주 소프트웨어, 마이크로코드 등을 포함한, 그러나 이들로 한정되지 않는 소프트웨어로 구현된다.

또한, 설명은 컴퓨터 또는 임의의 명령어 실행 시스템에 의해 또는 그와 관련하여 사용되기 위해 프로그램 코드를 제공하는 컴퓨터 사용 가능 또는 컴퓨터 판독 가능 매체로부터 액세스 가능한 컴퓨터 프로그램 제품의 형태를 취할 수 있다. 본 설명의 목적을 위해, 컴퓨터 사용 가능 또는 컴퓨터 판독 가능 매체는 명령어 실행 시스템, 장치, 또는 디바이스에 의해 또는 그와 관련하여 사용되기 위해 프로그램을 포함, 저장, 통신, 전파, 또는 전송할 수 있는 임의의 장치일 수 있다.

프로그램 코드를 저장 및/또는 실행하기에 적절한 데이터 처리 시스템은 직접적으로 또는 시스템 버스를 통해 간접적으로 메모리 소자들에 연결되는 적어도 하나의 프로세서를 포함할 것이다. 메모리 소자들은 프로그램 코드의 실제 실행 동안에 채택되는 로컬 메모리, 대용량 저장 디바이스, 및 실행 동안에 대용량 저장 디바이스로부터 코드가 검색되어야 하는 횟수를 줄이기 위해 적어도 일부 프로그램 코드의 임시 저장을 제공하는 캐시 메모리들을 포함할 수 있다.

(키보드, 디스플레이, 포인팅 디바이스 등을 포함하지만 이들로 한정되지 않는) 입력/출력 또는 I/O 디바이스들은 직접적으로 또는 개재하는 I/O 컨트롤러를 통해 시스템에 연결될 수 있다.

네트워크 어댑터들이 또한 시스템에 연결될 수 있어서, 데이터 처리 시스템이 개재의 사설 또는 공중 네트워크들을 통해 다른 데이터 처리 시스템들 또는 원격 프린터들 또는 저장 디바이스들에 연결되게 할 수 있다. 모뎀들, 케이블 모뎀, 및 이더넷 카드들은 단지 소수의 현재 가용적인 타입의 네트워크 어댑터들이다.

마지막으로, 본 명세서에서 제시되는 알고리즘들 및 디스플레이들은 본래, 임의의 특정 컴퓨터 또는 다른 장치와 관련되지 않는다. 본 명세서의 교시에 따라 다양한 범용 시스템들이 프로그램들과 함께 사용될 수 있으며, 또는 요구되는 방법의 단계들을 수행하기 위해 더 특수화된 장치를 구성하는 것이 편리하다고 판명될 수 있다. 다양한 이러한 시스템들에 대해 필요한 구조는 아래의 설명으로부터 드러날 것이다. 또한, 본 명세서는 임의의 특정 프로그래밍 언어를 참조하여 설명되지 않는다. 본 명세서에 기술된 본 명세서의 교시들을 구현하기 위해 각종 프로그래밍 언어들이 사용될 수 있음을 알 것이다.

본 명세서의 구현들에 대한 상기의 설명은, 예시 및 설명의 목적으로 제시되었다. 이것은 배타적인 것, 또는 개시된 바로 그 형태로 본 명세서를 한정하는 것을 의도하지 않는다. 많은 수정예들과 변형예들이 상기의 교시에 비추어 가능하다. 본 개시의 범위는 이러한 상세한 설명에 의해 한정되지 않고, 오히려 본 출원의 청구범위에 의해 한정되도록 의도된다. 본 분야의 통상의 기술자가 이해하는 바와 같이, 본 명세서는 그 사상 또는 본질적인 특징으로부터 벗어나지 않고서 다른 특정 형태들로 실시될 수 있다. 마찬가지로, 모듈, 루틴, 특징, 속성, 방법론, 및 기타의 양태들의 특정 명명 및 구분은 의무적이거나 중요한 것은 아니며, 본 명세서 또는 그 특징을 구현하는 메커니즘들은 상이한 명칭들, 구분들, 및/또는 형태들을 가질 수 있다. 또한, 관련 분야의 통상의 기술자에게 명백한 바와 같이, 본 개시의 모듈, 루틴, 특징, 속성, 방법론, 및 기타의 양태들은, 소프트웨어, 하드웨어, 펌웨어, 또는 이 셋의 임의의 조합으로 구현될 수 있다. 또한, 본 명세서 중, 예로서 모듈인 컴포넌트가 소프트웨어로서 구현되는 모든 경우에는, 그 컴포넌트가, 단독형 프로그램으로서, 더 큰 프로그램의 일부로서, 복수의 개별 프로그램으로서, 정적으로 또는 동적으로 링크된 라이브러리로서, 커널 로딩 가능한 모듈로서, 디바이스 드라이버로서, 그리고/또는 컴퓨팅 프로그래밍 분야의 통상의 기술자에게 현재 또는 미래에 알려진 모든 그리고 임의의 다른 방식으로 구현될 수 있다. 추가로, 본 개시는, 어떤 식으로든, 임의의 특정 프로그래밍 언어로의 구현, 또는 임의의 특정 운영 시스템 또는 환경에 대한 구현으로 한정되지 않는다. 따라서, 본 개시는 다음의 청구항들에 기재된, 본 명세서의 범위를 한정하는 것이 아니라 예시하는 것을 의도한다.

Claims (20)

  1. 컴퓨터 시스템의 하나 이상의 프로세서에 의해 구현되는 컴퓨터 구현 방법으로서,
    제1 사용자에 의해 방문된 사이트 상의 페이지를 기술하는 데이터를 수신하는 단계;
    상기 사이트로부터 상기 제1 사용자에 대한 하나 이상의 후보 항목을 검색하기 위해 하나 이상의 소스에 쿼리하는 단계;
    상기 하나 이상의 후보 항목과 관련된 하나 이상의 소스 타입을 결정하는 단계;
    상기 제1 사용자와 연관된 관심 프로파일 및 상기 하나 이상의 소스 타입에 기초하여 상기 하나 이상의 후보 항목에 대해 하나 이상의 점수를 결정하는 단계;
    상기 하나 이상의 후보 항목을 순위 매김하는 단계;
    초청 상태의 제시를 유발하는 초청 트리거 이벤트가 발생한다고 결정하는 단계;
    상기 초청 상태를 상기 제1 사용자에게 제공하는 단계;
    상기 초청 상태의 제시 동안 추천 상태의 제시를 유발하는 추천 트리거 이벤트가 발생한다고 결정하는 단계; 및
    상기 추천 상태를 상기 제1 사용자에게 제공하는 단계
    를 포함하고,
    상기 추천 상태는 상기 순위 매김된 후보 항목들 중 하나 이상을 포함하는, 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 하나 이상의 소스는 소셜 소스, 저작 소스, 관련 소스, 및 인기있는 소스 중 하나 이상을 포함하는, 컴퓨터 구현 방법.
  3. 제1항에 있어서,
    상기 하나 이상의 후보 항목을 검색하기 위해 하나 이상의 소스에 쿼리하는 단계는,
    소셜 그래프에서 상기 제1 사용자와 연결된 제2 사용자에 의해 수행된 사용자 활동을 갖는 소셜 항목을 검색하기 위해 소셜 소스에 쿼리하는 단계를 포함하고, 상기 소셜 항목은 상기 페이지와 동일 사이트로부터 유래되고 상기 하나 이상의 후보 항목에 포함되는, 컴퓨터 구현 방법.
  4. 제1항에 있어서,
    상기 페이지 내의 콘텐츠는 저작자에 의해 제공되고, 상기 하나 이상의 후보 항목을 검색하기 위해 하나 이상의 소스에 쿼리하는 단계는,
    동일 저작자에 의해 제공되는 저작 항목을 검색하기 위해 저작 소스에 쿼리하는 단계를 포함하고, 상기 저작 항목은 상기 페이지와 동일 사이트로부터 유래되고 상기 하나 이상의 후보 항목에 포함되는, 컴퓨터 구현 방법.
  5. 제1항에 있어서,
    상기 하나 이상의 후보 항목을 검색하기 위해 하나 이상의 소스에 쿼리하는 단계는,
    관련 항목을 검색하기 위해 관련 소스에 쿼리하는 단계를 포함하고, 상기 관련 항목은 상기 페이지와 동일 사이트로부터 유래되고 상기 하나 이상의 후보 항목에 포함되는, 컴퓨터 구현 방법.
  6. 제5항에 있어서,
    상기 관련 항목을 검색하기 위해 관련 소스에 쿼리하는 단계는,
    상기 페이지와 관련된 하나 이상의 토픽을 결정하는 단계;
    매칭하는 토픽을 획득하기 위해 상기 하나 이상의 토픽과 상기 제1 사용자의 상기 관심 프로파일을 교차-참조하는 단계;
    상기 페이지의 어드레스 및 상기 매칭하는 토픽을 포함하는 쿼리를 생성하는 단계;
    상기 쿼리를 상기 관련 소스에 보내는 단계;
    상기 관련 소스로부터 상기 매칭하는 토픽과 관련된 관련 항목들의 세트를 수신하는 단계;
    상기 관련 항목들의 세트로부터 반복하는 토픽을 결정하는 단계; 및
    상기 관련 항목을 상기 관련 항목들의 세트로부터의 상기 반복하는 토픽과 관련된 것으로서 결정하는 단계
    를 포함하는, 컴퓨터 구현 방법.
  7. 제1항에 있어서,
    상기 추천 상태는 상기 순위 매김된 후보 항목들 중 상기 하나 이상과 연관된 하나 이상의 참여(engagement) 작용을 수행하기 위한 하나 이상의 작용 카드를 포함하는, 컴퓨터 구현 방법.
  8. 컴퓨터 판독 가능 프로그램을 포함하는 컴퓨터 사용 가능 매체를 포함하는 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 판독 가능 프로그램은 컴퓨터 상에서 실행될 때 상기 컴퓨터로 하여금:
    제1 사용자에 의해 방문된 사이트 상의 페이지를 기술하는 데이터를 수신하는 동작;
    상기 사이트로부터 상기 제1 사용자에 대한 하나 이상의 후보 항목을 검색하기 위해 하나 이상의 소스에 쿼리하는 동작;
    상기 하나 이상의 후보 항목과 관련된 하나 이상의 소스 타입을 결정하는 동작;
    상기 제1 사용자와 연관된 관심 프로파일 및 상기 하나 이상의 소스 타입에 기초하여 상기 하나 이상의 후보 항목에 대해 하나 이상의 점수를 결정하는 동작;
    상기 하나 이상의 후보 항목을 순위 매김하는 동작;
    초청 상태의 제시를 유발하는 초청 트리거 이벤트가 발생한다고 결정하는 동작;
    상기 초청 상태를 상기 제1 사용자에게 제공하는 동작;
    상기 초청 상태의 제시 동안 추천 상태의 제시를 유발하는 추천 트리거 이벤트가 발생한다고 결정하는 동작; 및
    상기 추천 상태를 상기 제1 사용자에게 제공하는 동작
    을 수행하도록 하고,
    상기 추천 상태는 상기 순위 매김된 후보 항목들 중 하나 이상을 포함하는, 컴퓨터 프로그램 제품.
  9. 제8항에 있어서,
    상기 하나 이상의 소스는 소셜 소스, 저작 소스, 관련 소스, 및 인기있는 소스 중 하나 이상을 포함하는, 컴퓨터 프로그램 제품.
  10. 제8항에 있어서,
    상기 하나 이상의 후보 항목을 검색하기 위해 하나 이상의 소스에 쿼리하는 동작은,
    소셜 그래프에서 상기 제1 사용자와 연결된 제2 사용자에 의해 수행된 사용자 활동을 갖는 소셜 항목을 검색하기 위해 소셜 소스에 쿼리하는 동작을 포함하고,
    상기 소셜 항목은 상기 페이지와 동일 사이트로부터 유래되고 상기 하나 이상의 후보 항목에 포함되는, 컴퓨터 프로그램 제품.
  11. 제8항에 있어서,
    상기 페이지 내의 콘텐츠는 저작자에 의해 제공되고, 상기 하나 이상의 후보 항목을 검색하기 위해 하나 이상의 소스에 쿼리하는 동작은,
    동일 저작자에 의해 제공되는 저작 항목을 검색하기 위해 저작 소스에 쿼리하는 동작을 포함하고,
    상기 저작 항목은 상기 페이지와 동일 사이트로부터 유래되고 상기 하나 이상의 후보 항목에 포함되는, 컴퓨터 프로그램 제품.
  12. 제8항에 있어서,
    상기 하나 이상의 후보 항목을 검색하기 위해 하나 이상의 소스에 쿼리하는 동작은,
    관련 항목을 검색하기 위해 관련 소스에 쿼리하는 동작을 포함하고,
    상기 관련 항목은 상기 페이지와 동일 사이트로부터 유래되고 상기 하나 이상의 후보 항목에 포함되는, 컴퓨터 프로그램 제품.
  13. 제12항에 있어서,
    상기 관련 항목을 검색하기 위해 관련 소스에 쿼리하는 동작은,
    상기 페이지와 관련된 하나 이상의 토픽을 결정하는 동작;
    매칭하는 토픽을 획득하기 위해 상기 하나 이상의 토픽과 상기 제1 사용자의 상기 관심 프로파일을 교차-참조하는 동작;
    상기 페이지의 어드레스 및 상기 매칭하는 토픽을 포함하는 쿼리를 생성하는 동작;
    상기 쿼리를 상기 관련 소스에 보내는 동작;
    상기 관련 소스로부터 상기 매칭하는 토픽과 관련된 관련 항목들의 세트를 수신하는 동작;
    상기 관련 항목들의 세트로부터 반복하는 토픽을 결정하는 동작; 및
    상기 관련 항목을 상기 관련 항목들의 세트로부터의 상기 반복하는 토픽과 관련된 것으로서 결정하는 동작
    을 포함하는, 컴퓨터 프로그램 제품.
  14. 제8항에 있어서,
    상기 추천 상태는 상기 순위 매김된 후보 항목들 중 상기 하나 이상과 연관된 하나 이상의 참여 작용을 수행하기 위한 하나 이상의 작용 카드를 포함하는, 컴퓨터 프로그램 제품.
  15. 시스템으로서,
    프로세서; 및
    명령어들을 저장하는 메모리
    를 포함하고,
    상기 명령어들은 실행될 때, 상기 프로세서로 하여금:
    제1 사용자에 의해 방문된 사이트 상의 페이지를 기술하는 데이터를 수신하는 동작;
    상기 사이트로부터 상기 제1 사용자에 대한 하나 이상의 후보 항목을 검색하기 위해 하나 이상의 소스에 쿼리하는 동작;
    상기 하나 이상의 후보 항목과 관련된 하나 이상의 소스 타입을 결정하는 동작;
    상기 제1 사용자와 연관된 관심 프로파일 및 상기 하나 이상의 소스 타입에 기초하여 상기 하나 이상의 후보 항목에 대해 하나 이상의 점수를 결정하는 동작;
    상기 하나 이상의 후보 항목을 순위 매김하는 동작;
    초청 상태의 제시를 유발하는 초청 트리거 이벤트가 발생한다고 결정하는 동작;
    상기 초청 상태를 상기 제1 사용자에게 제공하는 동작;
    상기 초청 상태의 제시 동안 추천 상태의 제시를 유발하는 추천 트리거 이벤트가 발생한다고 결정하는 동작; 및
    상기 추천 상태를 상기 제1 사용자에게 제공하는 동작
    을 수행하도록 하고,
    상기 추천 상태는 상기 순위 매김된 후보 항목들 중 하나 이상을 포함하는, 시스템.
  16. 제15항에 있어서,
    상기 하나 이상의 소스는 소셜 소스, 저작 소스, 관련 소스, 및 인기있는 소스 중 하나 이상을 포함하는, 시스템.
  17. 제15항에 있어서,
    상기 명령어들은 실행될 때, 상기 시스템으로 하여금:
    소셜 그래프에서 상기 제1 사용자와 연결된 제2 사용자에 의해 수행된 사용자 활동을 갖는 소셜 항목을 검색하기 위해 소셜 소스에 쿼리함으로써,
    상기 하나 이상의 후보 항목을 검색하기 위해 상기 하나 이상의 소스에 쿼리하는 동작을 수행하도록 하고,
    상기 소셜 항목은 상기 페이지와 동일 사이트로부터 유래되고 상기 하나 이상의 후보 항목에 포함되는, 시스템.
  18. 제15항에 있어서,
    상기 페이지 내의 콘텐츠는 저작자에 의해 제공되고, 상기 명령어들은 실행될 때, 상기 시스템으로 하여금:
    동일 저작자에 의해 제공되는 저작 항목을 검색하기 위해 저작 소스에 쿼리함으로써,
    상기 하나 이상의 후보 항목을 검색하기 위해 상기 하나 이상의 소스에 쿼리하는 동작을 수행하도록 하고,
    상기 저작 항목은 상기 페이지와 동일 사이트로부터 유래되고 상기 하나 이상의 후보 항목에 포함되는, 시스템.
  19. 제15항에 있어서,
    상기 명령어들은 실행될 때, 상기 시스템으로 하여금:
    관련 항목을 검색하기 위해 관련 소스에 쿼리함으로써,
    상기 하나 이상의 후보 항목을 검색하기 위해 상기 하나 이상의 소스에 쿼리하는 동작을 수행하도록 하고, 상기 관련 항목은 상기 페이지와 동일 사이트로부터 유래되고 상기 하나 이상의 후보 항목에 포함되는, 시스템.
  20. 제19항에 있어서,
    상기 명령어들은 실행될 때, 상기 시스템으로 하여금:
    상기 페이지와 관련된 하나 이상의 토픽을 결정하고;
    매칭하는 토픽을 획득하기 위해 상기 하나 이상의 토픽과 상기 제1 사용자의 상기 관심 프로파일을 교차-참조하고;
    상기 페이지의 어드레스 및 상기 매칭하는 토픽을 포함하는 쿼리를 생성하고;
    상기 쿼리를 상기 관련 소스에 보내고;
    상기 관련 소스로부터 상기 매칭하는 토픽과 관련된 관련 항목들의 세트를 수신하고;
    상기 관련 항목들의 세트로부터 반복하는 토픽을 결정하고;
    상기 관련 항목을 상기 관련 항목들의 세트로부터의 상기 반복하는 토픽과 관련된 것으로서 결정함으로써,
    상기 관련 항목을 검색하기 위해 상기 관련 소스에 쿼리하는 동작을 수행하도록 하는, 시스템.
KR1020157015467A 2012-11-12 2013-11-08 사이트 상의 사용자들에게 콘텐츠 추천 제공 KR102061383B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US201261725410P true 2012-11-12 2012-11-12
US61/725,410 2012-11-12
US14/070,655 2013-11-04
US14/070,655 US9355415B2 (en) 2012-11-12 2013-11-04 Providing content recommendation to users on a site
PCT/US2013/069308 WO2014074925A2 (en) 2012-11-12 2013-11-08 Providing content recommendation to users on a site

Publications (2)

Publication Number Publication Date
KR20150084978A true KR20150084978A (ko) 2015-07-22
KR102061383B1 KR102061383B1 (ko) 2019-12-31

Family

ID=50682738

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157015467A KR102061383B1 (ko) 2012-11-12 2013-11-08 사이트 상의 사용자들에게 콘텐츠 추천 제공

Country Status (7)

Country Link
US (1) US9355415B2 (ko)
EP (1) EP2917889A4 (ko)
KR (1) KR102061383B1 (ko)
CN (1) CN104903929A (ko)
AU (1) AU2013342184B2 (ko)
CA (1) CA2891213C (ko)
WO (1) WO2014074925A2 (ko)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8706812B2 (en) 2010-04-07 2014-04-22 On24, Inc. Communication console with component aggregation
US20140280046A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Searching using social filters as operators
US9461949B2 (en) 2014-01-31 2016-10-04 Dropbox, Inc. Managing links and invitations to shared content
US20150286650A1 (en) * 2014-04-03 2015-10-08 Kurt Stump Decision Making and Activity Recommendations Engine via Online Persona
US10785325B1 (en) 2014-09-03 2020-09-22 On24, Inc. Audience binning system and method for webcasting and on-line presentations
US10536554B2 (en) * 2015-06-01 2020-01-14 Microsoft Technology Licensing, Llc Optimization of user interactions based on connection value scores
US10289296B1 (en) 2015-08-21 2019-05-14 Google Llc Systems and methods for dynamically appending supplemental content to an information resource responsive to scroll activity
RU2632131C2 (ru) 2015-08-28 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Способ и устройство для создания рекомендуемого списка содержимого
CN105207895A (zh) * 2015-09-23 2015-12-30 深圳中创未来科技有限公司 一种社交处理方法、装置及社交服务器
RU2629638C2 (ru) 2015-09-28 2017-08-30 Общество С Ограниченной Ответственностью "Яндекс" Способ и сервер создания рекомендуемого набора элементов для пользователя
RU2632100C2 (ru) 2015-09-28 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Способ и сервер создания рекомендованного набора элементов
CN108475390A (zh) * 2015-10-19 2018-08-31 德满维股份有限公司 用于生成和服务推荐的可扩展系统和方法
US10497044B2 (en) 2015-10-19 2019-12-03 Demandware Inc. Scalable systems and methods for generating and serving recommendations
US10585576B2 (en) 2015-10-26 2020-03-10 Google Llc Systems and methods for attributing a scroll event in an infinite scroll graphical user interface
US10904360B1 (en) * 2015-12-02 2021-01-26 Zeta Global Corp. Method and apparatus for real-time personalization
CN105554523A (zh) * 2015-12-04 2016-05-04 珠海多玩信息技术有限公司 基于直播频道的信息交互方法及服务器
US20170249558A1 (en) * 2016-02-29 2017-08-31 Linkedin Corporation Blending connection recommendation streams
US10127115B2 (en) 2016-03-18 2018-11-13 Microsoft Technology Licensing, Llc Generation and management of social graph
US20170293695A1 (en) * 2016-04-12 2017-10-12 Ebay Inc. Optimizing similar item recommendations in a semi-structured environment
RU2632144C1 (ru) 2016-05-12 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Компьютерный способ создания интерфейса рекомендации контента
US10904188B2 (en) * 2016-06-28 2021-01-26 International Business Machines Corporation Initiating an action based on a determined navigation path data structure
RU2632132C1 (ru) 2016-07-07 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Способ и устройство для создания рекомендаций содержимого в системе рекомендаций
RU2636702C1 (ru) 2016-07-07 2017-11-27 Общество С Ограниченной Ответственностью "Яндекс" Способ и устройство для выбора сетевого ресурса в качестве источника содержимого для системы рекомендаций
US10649752B2 (en) * 2016-09-28 2020-05-12 International Business Machines Corporation Sharing data and applications across computing systems
USD882600S1 (en) 2017-01-13 2020-04-28 Yandex Europe Ag Display screen with graphical user interface
US10558950B2 (en) * 2017-05-15 2020-02-11 Google Llc Automatic context passing between applications
US10152733B1 (en) * 2017-08-02 2018-12-11 Digiprint Ip Llc Wireless transmission-triggered incentives driving social media engagement
US10521278B2 (en) 2017-09-26 2019-12-31 Google Llc Format-specific data object passing between applications
US20190108234A1 (en) * 2017-10-05 2019-04-11 On24, Inc. Online widget recommendation system and method
CN108900891A (zh) * 2018-06-29 2018-11-27 联想(北京)有限公司 处理方法、处理装置及处理系统
RU2714594C1 (ru) 2018-09-14 2020-02-18 Общество С Ограниченной Ответственностью "Яндекс" Способ и система определения параметра релевантность для элементов содержимого
WO2020226666A1 (en) * 2019-05-06 2020-11-12 Google Llc Generating content endorsements using machine learning nominator(s)

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1316026A2 (en) * 2000-05-30 2003-06-04 Koki Uchiyama Distributed monitoring system providing knowledge services
US7260573B1 (en) * 2004-05-17 2007-08-21 Google Inc. Personalizing anchor text scores in a search engine
US7813917B2 (en) * 2004-06-22 2010-10-12 Gary Stephen Shuster Candidate matching using algorithmic analysis of candidate-authored narrative information
US20060253584A1 (en) * 2005-05-03 2006-11-09 Dixon Christopher J Reputation of an entity associated with a content item
US8209344B2 (en) * 2005-09-14 2012-06-26 Jumptap, Inc. Embedding sponsored content in mobile applications
US7761423B1 (en) 2005-10-11 2010-07-20 OneSpot, Inc. System and method for indexing a network of interrelated elements
US20080313130A1 (en) * 2007-06-14 2008-12-18 Northwestern University Method and System for Retrieving, Selecting, and Presenting Compelling Stories form Online Sources
US8751507B2 (en) 2007-06-29 2014-06-10 Amazon Technologies, Inc. Recommendation system with multiple integrated recommenders
US10210533B2 (en) * 2007-11-20 2019-02-19 Redgage Llc Revenue sharing system that optimizes ad revenue with preformatted page generator and preview distribution system
US8145526B2 (en) * 2007-11-20 2012-03-27 Daniel Redlich Revenue sharing system that incentivizes content providers and registered users and includes payment processing
US7925708B2 (en) * 2008-01-04 2011-04-12 Yahoo! Inc. System and method for delivery of augmented messages
US20090259646A1 (en) * 2008-04-09 2009-10-15 Yahoo!, Inc. Method for Calculating Score for Search Query
CA2721253C (en) * 2008-05-07 2014-02-11 Chalk Media Service Corp. A system and method for enabling a mobile content player to interface with multiple content servers
US20100010987A1 (en) * 2008-07-01 2010-01-14 Barry Smyth Searching system having a server which automatically generates search data sets for shared searching
US20100041482A1 (en) * 2008-08-18 2010-02-18 Collisse Group Ltd Recommendation generator and method for determining affinities to participate in a venture exchange
US20100144426A1 (en) * 2008-08-18 2010-06-10 Jeffrey Winner Inviting Users to Participate in a Venture Exchange
US20100131482A1 (en) * 2008-11-26 2010-05-27 General Electric Company Adaptive user interface systems and methods for healthcare applications
US20100169153A1 (en) * 2008-12-26 2010-07-01 Microsoft Corporation User-Adaptive Recommended Mobile Content
WO2010085773A1 (en) * 2009-01-24 2010-07-29 Kontera Technologies, Inc. Hybrid contextual advertising and related content analysis and display techniques
US8539359B2 (en) * 2009-02-11 2013-09-17 Jeffrey A. Rapaport Social network driven indexing system for instantly clustering people with concurrent focus on same topic into on-topic chat rooms and/or for generating on-topic search results tailored to user preferences regarding topic
US10540665B2 (en) * 2009-06-24 2020-01-21 Microsoft Technology Licensing, Llc Referral-based sponsorship of access to content item sets
US8447760B1 (en) * 2009-07-20 2013-05-21 Google Inc. Generating a related set of documents for an initial set of documents
US8707363B2 (en) * 2009-12-22 2014-04-22 Eloy Technology, Llc Synchronization guides for group video watching
US20110283320A1 (en) * 2010-05-13 2011-11-17 Rovi Technologies Corporation Systems and methods for identifying a program using information from a third-party data source
US20110282759A1 (en) * 2010-05-13 2011-11-17 Rovi Technologies Corporation Systems and methods for performing an action on a program or accessing the program from a third-party media content source
JP4711359B1 (ja) 2010-09-07 2011-06-29 株式会社アクティブコア 情報提示装置、情報提示方法および情報提示プログラム
US20120059811A1 (en) 2010-09-08 2012-03-08 Phil Libin Site memory processing
US9679060B2 (en) * 2010-10-13 2017-06-13 Microsoft Technology Licensing, Llc Following online social behavior to enhance search experience
US8600968B2 (en) * 2011-04-19 2013-12-03 Microsoft Corporation Predictively suggesting websites
US8645300B1 (en) * 2011-07-20 2014-02-04 Usability Sciences Corporation System and method for intent data processing
WO2013016687A1 (en) * 2011-07-28 2013-01-31 Hall Shane Method and system for matchmaking connections within a gaming social network
US8495484B2 (en) * 2011-08-02 2013-07-23 International Business Machines Corporation Intelligent link population and recommendation
US8230016B1 (en) * 2011-10-11 2012-07-24 Google Inc. Determining intent of a recommendation on a mobile application
US20130097093A1 (en) * 2011-10-12 2013-04-18 George Kolber Systems and Methods for Quantifying Job Candidates
US9098551B1 (en) * 2011-10-28 2015-08-04 Google Inc. Method and system for ranking content by click count and other web popularity signals
US8745083B1 (en) * 2011-10-31 2014-06-03 James G. Ruiz System and method for matching candidates with personnel needs
US8700599B2 (en) * 2011-11-21 2014-04-15 Microsoft Corporation Context dependent keyword suggestion for advertising
US20130173523A1 (en) * 2011-12-29 2013-07-04 Spribo, Llc. Method and system for contextual knowledge society network
US20130218866A1 (en) * 2012-02-20 2013-08-22 Microsoft Corporation Multimodal graph modeling and computation for search processes
US9177347B2 (en) * 2012-09-06 2015-11-03 Facebook, Inc. Group recommendations based on answered questions in a social networking system
US8935346B2 (en) * 2012-09-06 2015-01-13 Facebook, Inc. Recommending groups to join in a social networking system
US8977617B1 (en) * 2012-10-31 2015-03-10 Google Inc. Computing social influence scores for users

Also Published As

Publication number Publication date
WO2014074925A2 (en) 2014-05-15
US9355415B2 (en) 2016-05-31
CA2891213A1 (en) 2014-05-15
CA2891213C (en) 2017-12-05
WO2014074925A3 (en) 2015-03-05
CN104903929A (zh) 2015-09-09
KR102061383B1 (ko) 2019-12-31
EP2917889A4 (en) 2016-06-01
US20140136528A1 (en) 2014-05-15
AU2013342184A1 (en) 2015-05-28
EP2917889A2 (en) 2015-09-16
AU2013342184B2 (en) 2018-07-12

Similar Documents

Publication Publication Date Title
US10715566B1 (en) Selectively providing content on a social networking system
US10509792B2 (en) Context-based selection of calls-to-action associated with search results
US9922124B2 (en) Enable user to establish request data specific connections with other users of network(s) for communication, participation and collaboration
US9509644B2 (en) System and method for sharing content in an instant messaging application
US9723102B2 (en) Gathering information about connections in a social networking service
US9865021B2 (en) Displaying news ticker content in a social networking system
US10437842B2 (en) Social static ranking for search
US9876751B2 (en) System and method for analyzing messages in a network or across networks
US10387391B2 (en) System and method for transmitting submissions associated with web content
KR101854799B1 (ko) 온라인 소셜 네트워크에서의 검색 질의 상호작용
JP6060279B2 (ja) ソーシャルグラフにおける黙示的なつながり
JP2017215992A (ja) ソーシャル・ネットワーク・グループに関連するコンテンツ項目のマップ上への表示
CA2893960C (en) System and method for finding and prioritizing content based on user specific interest profiles
US20170244661A1 (en) Techniques for ascribing social attributes to content
US10303342B2 (en) All media story telling system and method
Caliandro Digital methods for ethnography: Analytical concepts for ethnographers exploring social media environments
US10565268B2 (en) Interactive communication augmented with contextual information
US9521100B2 (en) Aggregate electronic mail message handling
US9450771B2 (en) Determining information inter-relationships from distributed group discussions
US9270716B2 (en) Presenting question and answer data in a social networking system
AU2014203452B2 (en) Selection and presentation of related social networking system content and advertisements
Thurman et al. The future of personalization at news websites: Lessons from a longitudinal study
US20170308249A1 (en) Displaying a Stream of Content
US9448682B2 (en) Selectively displaying content to a user of a social network
CN104981792B (zh) 针对内容项汇总交互

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