KR20150036315A - 소셜 네트워킹 시스템에서 컨텍스트-기반 객체 검색 - Google Patents

소셜 네트워킹 시스템에서 컨텍스트-기반 객체 검색 Download PDF

Info

Publication number
KR20150036315A
KR20150036315A KR20157002680A KR20157002680A KR20150036315A KR 20150036315 A KR20150036315 A KR 20150036315A KR 20157002680 A KR20157002680 A KR 20157002680A KR 20157002680 A KR20157002680 A KR 20157002680A KR 20150036315 A KR20150036315 A KR 20150036315A
Authority
KR
South Korea
Prior art keywords
selector
type
objects
social networking
networking system
Prior art date
Application number
KR20157002680A
Other languages
English (en)
Other versions
KR101785597B1 (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 KR20150036315A publication Critical patent/KR20150036315A/ko
Application granted granted Critical
Publication of KR101785597B1 publication Critical patent/KR101785597B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24575Query processing with adaptation to user needs using context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • 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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Abstract

실시예들은 소셜 네트워킹 시스템의 객체들을 검색하는데 사용되는 선택기 구성요소들과 연관된 검색 컨텍스트를 학습하고/학습하거나 적용하는 것에 의해 그들과 관련될 가능성이 높은 정보를 검색하기 위한 소셜 네트워킹 시스템의 사용자들의 능력을 향상시킨다. 검색 컨텍스트는 개별 선택기의 사용에 특정되며 따라서 선택기가 내장될 수 있는 전체 페이지 또는 페이지들의 세트의 컨텍스트만큼 일반적일 필요는 없다. 소셜 네트워킹 시스템은 선택기를 사용하여 수행되는 이전 검색 결과들로부터 사용자 선택을 모니터링하는 것에 의해 선택기의 컨텍스트를 학습할 수 있다.

Description

소셜 네트워킹 시스템에서 컨텍스트-기반 객체 검색{CONTEXT-BASED OBJECT RETRIEVAL IN A SOCIAL NETWORKING SYSTEM}
본 발명은 컴퓨터 데이터 저장 및 검색 분야에 관한 것으로, 좀 더 구체적으로 소셜 네트워킹 시스템 내에서 객체에 대한 검색을 수행하는 것에 관한 것이다.
현대 컴퓨터 시스템들은 방대한 양의 데이터를 저장하고 따라서 사용자들에게 그들의 관심과 관련된 정보를 위치시키는 효율적인 방법을 제공하는 것이 점점 더 중요해지고 있다. 대량의 정보가 포함되는 하나의 영역은 소셜 네트워킹이다. 소셜 네트워킹 시스템은 사용자들이 다른 사용자들을 친구로 지정(또는 다른 사용자들과 연결하거나 다른 사용자들과 관계를 형성)하고, 미디어 아이템들을 기고하고 미디어 아이템들과 상호작용하며, 애플리케이션을 사용하고, 그룹에 가입하며, 이벤트를 나열하고 이벤트에의 참석을 확인하며, 페이지를 생성하고, 소셜 상호작용을 용이하게 하는 다른 작업들을 수행하게 한다. 이들 작업들 각각은 다양한 데이터 객체를 포함할 수 있기 때문에, 소셜 네트워킹 시스템은 시스템에 의해 추적되거나 그렇지 않으면 사용되는 대량 정보 세트 내에서 그로부터 사용자들이 관련 정보를 위치시는 것을 돕는 시스템 요구의 좋은 예들이다.
소셜 네트워킹 시스템 상에서의 정보 검색은 종종 특정 컨텍스트 내에서 일어난다. 예컨대, 사용자는 레스토랑에 대한 페이지 상에 위치하는 데이터 검색 영역 내에서 그로부터 일부 검색들을 특정할 수도 있을 것이다. 이는 컨텍스트(예컨대, 레스토랑)와 특히 관련된 객체들을 가져오가나 강조하도록 검색을 맞춤화하는데 도움이 될 수도 있지만, 소셜 네트워킹 시스템들 상에서 현재 유용한 검색 기능은 통상 검색 컨텍스트가 무엇인지를 결정하는 방식 또는 검색을 수행할 때 검색 컨텍스트를 고려하는 방식을 포함하고 있지 않다. 이는 주어진 검색과 특히 관련성 있는 정보를 위치시키는 것을 좀 더 곤란하게 한다.
본 발명의 실시예들은 소셜 네트워킹 시스템의 객체를 검색하는데 사용되는 선택기 구성과 연관된 검색 컨텍스트를 학습하고/학습하거나 적용하는 것에 의하여 소셜 네트워킹 시스템의 사용자들이 그들과 관련있을 가능성이 높은 정보를 검색하는 능력을 향상시킨다. 검색 컨텍스트는 개별 선택기의 사용에 특정되며 따라서 선택기가 내장될 수 있는 전체 페이지 또는 페이지들의 세트의 컨텍스트만큼 일반적일 필요는 없다. 따라서, 예컨대 특정 레스토랑-관련 페이지 상의 검색은 레스토랑 메뉴와 관련된 데이터 검색 영역(예컨대, "메뉴 검색"으로 명명됨) 내에 내장된 제1 선택기를 사용하는 것으로 특정될 수 있으며, 동일 페이지 상의 다른 검색은 그 레스토랑에서 일어날 특정 이벤트와 관련된 데이터 검색 영역(예컨대, "다음 이벤트 검색"으로 명명됨) 내에 제2 선택기를 사용하는 것으로 특정될 수 있다.
일 실시예에서, 소셜 네트워킹 시스템은 선택기를 사용하여 수행되는 이전 검색 결과들로부터 사용자 선택을 모니터링하는 것에 의하여 선택기의 컨텍스트를 학습한다. 예컨대, 만약 사용자가 객체 검색을 위하여 새로 추가된 선택기를 사용하고, 대부분의 경우 사용자가 특정 유형을 가지는 객체를 선택하게 된다면, 그 후 그 유형은 선택기 컨텍스트 내에서 주요 유형으로 선택기와 관련될 수 있다.
선택기의 컨텍스트는-소셜 네트워킹 시스템에 의해 자동으로 학습되거나, 사용자에 의해 수동으로 설정되거나 또는 그들의 일부 조합이거나-선택 결과로서 사용자에게 디스플레이되는 객체들을 제어하기 위하여, 그리고 객체가 디스플레이되는 방식을 제어하기 위하여 다양한 방법으로 적용될 수 있다. 예컨대, 일 실시예에서, 선택기와 매칭되는 유형이 아닌 객체들은 그 선택기에 의해 생성되는 검색결과로부터 제거된다. 일 실시예에서, 선택기에 의해 생성되는 검색 결과 내의 객체들은 객체의 유형이 선택기 컨텍스트의 유형과 매칭되는지 여부 또는 어느 정도 매칭되는지에 기초하여 순위화된다.
본 명세서 내에 포함되어 있음
도 1a 및 1b는 서로 다른 컨텍스트의 선택기들의 사용의 예를 제공한다.
도 2는 일 실시예에 따른 컴퓨팅 환경의 고차원 블럭도이다.
도 3은 일 실시예에 따른 소셜 네트워킹 시스템의 페이지 및 다른 객체들을 분류하기 위한 계층의 예를 도시한다.
도 4는 일 실시예에 따라 주어진 선택기와 관련된 유형(들)을 학습할 때 수행되는 동작을 나타내는 흐름도이다.
도 5는 일 실시예에 따른 객체 검색에 응답하여 선택기에 의해 수행되는 동작을 나타내는 흐름도이다.
도 6은 가상 서점에 대한 샘플 페이지 관리자 사용자 인터페이스를 도시한다.
도면들은 오직 설명을 위하여 본 발명의 실시예들을 나타낸다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 본 명세서에 도시된 구조 및 방법의 대안 실시예들이 본 명세서에 개시된 발명의 사상으로부터 벗어나지 않는 범위내에서 채용될 수 있음을 다음의 설명으로부터 명확히 인식할 수 있을 것이다.
예시적인 사용자 인터페이스
도 1a 및 1b는 사용자가 검색이 일어나는 컨텍스트와 특히 관련된 소셜 네트워킹 시스템 내의 객체들을 검색하고 위치시킬 수 있게 하는 소셜 네트워킹 시스템의 사용자 인터페이스 요소인 "선택기"의 예를 제공하는 스크린 샷이다. 예컨대, 도 1a는 장난감 가게에 대한 웹-기반 사용자 인터페이스(101)의 일부를 나타낸다. 사용자 인터페이스(101)는 사용자가 문자 "ra"를 입력하는 텍스트 입력 영역으로 구현되는 선택기(105)를 포함하며, "ra"는 장난감 가게의 재고 내의 아이템들에 대한 (아마 더 긴) 질의의 처음 두 개의 문자이다. 선택기(105) 내의 문자의 입력에 응답하여, 소셜 네트워킹 시스템은 각 아이템이 입력 문자들과 매칭되는 대응 검색 결과들의 세트(110)를 제공한다. (구체적으로, 검색 결과(110) 내의 각 객체들은 입력된 문자들이 접두사인 단어를 구비한 이름을 가진다. 예컨대, 입력된 문자 "ra"는 검색 결과(110)에서 단어들 "Razor", "Ray", "race", "Randomized" 및 "Ray"에 대한 접두사이다.) 소셜 네트워킹 시스템의 객체들을 검색하기 위한 선택기(105)의 사용은 사용자들이 몇 개의 문자만을 타이핑한 경우라 할지라도 장난감 가게 웹 페이지가 사용자들에게 그들이 검색 중인 것들에 관한 제안들을 빨리 제공하게 하며, 이는 사용자들에게 대단히 편리하다.
선택기(105)가 장남감 가게에 대한 페이지의 컨텍스트 내에 존재하다는 점, 좀 더 구체적으로 장난감 가게의 재고의 검색에 해당한다는 점에 유의하라. 대조적으로, 소셜 네트워킹 시스템은 검색과 관련있는 것들 모두가 아니라, 매우 다양한 유형들(예컨대, 사람, 장소, 이벤트 또는 물건)의 많은 수의 개별 객체들(예컨대, 백만 또는 천만) 상의 데이터를 포함할 수 있다. 따라서, 이는 단지 선택기(105)에 입력되는 문자들에 기초하여서만 객체를 선택하는 것에 비하여 사용자가 검색 컨텍스트와 관련있는 객체들을 강조하는데 특히 바람직하다.
따라서, 선택기(105)의 검색 결과들(110)은 객체(110A-110D)에 대응하는 레이저 스쿠터(razor scooters), 레이 건(ray guns), 카 레이스 트랙(car race tracks) 및 게임(games)과 같은 제품에 해당하는 객체들을 강조한다. 검색 결과(110)는 또한 입력된 문자들과 매쳉되는 이름을 가지고 유명 인사의 엄청난 인기 때문에 포함된 - "Ray Allend"로 불리는 허구의 유명인사 - 사람에 대한 웹 페이지를 포함한다. 그러나, 그 페이지는 예상되는 유형이 아니기 때문에(즉, 제품이 아닌 페이지이기 때문에) 제품들보다 검색 결과에서 낮은 순위가 주어지고, 따라서 검색 결과에 그 페이지를 포함하는 것이 그 또는 그녀가 찾으려는 것(즉, 제품들)으로부터 사용자의 주의를 교란하지 않는다.
도 1b는 서로 다른 컨텍스트에서 선택기의 사용을 도시하는 스크린샷이다. 구체적으로, 도 1b는 유명인사의 사인을 판매하는 상업용 웹사이트에 대한 웹-기반 사용자 인터페이스(151)를 나타낸다. 따라서, 도 1a의 장난감 가게의 사용자들은 검색기(105)를 사용하여 제품(예컨대, 장남감)을 검색하고자 하는 반면, 도 1b의 사인 웹사이트의 사용자들은 그 대신 사람(즉, 사용자가 관심있는 사인의 유명인사)을 검색하고자 할 것이다. 따라서, 도 1b에서 관심 객체는 통상 사람이거나 이 사람에 관한 웹 페이지들일 것이다.
따라서, 동일한 문자(즉, "ra")가 도 1b의 선택기(155)에 입력된다 할지라도, 그들은 도 1a와는 다른 검색 결과들의 세트를 생성한다. 구체적으로, 결과들(160)은 입력된 문자들과 매칭되는 이름을 가지는 사람에 관한 세 개의 웹 페이지들(즉, "Ray allend", "Ramon Jones", 및 "Alice Rafferty")을 포함하며, 다음으로 입력된 문자들과 매칭되는 이름을 가지며 세계적인 큰 인기 때문에 포함되는 비디오 게임("Daytona Racer 2012")이 후속된다.
이제까지 선택기의 예들이 제공되었으며, 선택기를 구현하기 위한 시스템 구조 및 기술이 이하에서 논의된다.
도 2는 일 실시예에 따른 컴퓨팅 환경의 고차 블럭도이다. 도 2는 네트워크(270)에 의해 연결되는 소셜 네트워킹 시스템(200), 클라이언트 장치(280) 및 제3자 웹사이트(290)를 도시한다. 클라이언트 장치(280)의 사용자는 웹 브라우저와 같은 애플리케이션을 통하여 소셜 네트워킹 시스템(200)과 상호작용하며, 웹 브라우저는 컨텐츠 브라우징, 메시지 포스팅, 사람 또는 다른 관심 컨텐츠에 대한 질의 수행 등과 같은 동작을 수행한다. 사용자는 또한 제3자 웹사이트(290)와 상호작용하기 위하여 클라이언트 장치(280)를 사용할 수 있다. 추가로, 제3자 웹사이트(290)는 또한 직접 또는 간접적으로 소셜 네트워킹 시스템의 데이터를 획득하거나 디스플레이하기 위하여 소셜 네트워킹 시스템(200)과 상호작용할 수 있다.
소셜 네트워킹 시스템(200)은 소셜 네트워킹 환경에 나타나거나 소셜 네트워킹 환경에 의해 나타난 객체들에 대한, 그리고 객체들의 관계에 대한 정보를 저장하기 위하여 사용되는 다수의 구성요소들을 포함한다. 소셜 네트워킹 시스템(200)은 또한 - 시스템을 쌍방향으로 사용하는 클라이언트 장치(280)의 인간 사용자, 또는 외부 모듈(250)(이하에서 더 설명됨)을 사용하여 정보를 요청하는 제3자 웹사이트(290)의 구성요소와 같은 - 시스템의 클라이언트들이 시스템에 관심정보를 질의할 수 있게 하는 구성요소들을 포함한다.
좀 더 구체적으로, 소셜 네트워킹 시스템(200)은 소셜 네트워킹 시스템(200)에 의해 추적되는 다양한 객체들에 대한 정보를 저장하는 객체 스토어(210)를 포함한다. 이러한 객체들은 소셜 네트워킹 시스템의 다른 사용자들(211)(예컨대, 사용자에 대한 프로필 객체로 제시됨), 애플리케이션들(212)(예컨대, 소셜 네트워킹 시스템 내에서 플레이가능한 게임), 이벤트들(213)(예컨대, 사용자들이 참석할 수 있는 콘서트), 사용자들이 속할 수 있는 그룹들(214), 페이지들(215)(예컨대, 가상 유명인사 "Ray Allend"에 관한 페이지 또는 서로 다른 태양의 레스토랑에 관한 페이지들과 같이 시스템 상의 특정 사람 또는 조직의 존재를 구성하는 페이지들), 필드들(225)(사업 페이지 상에 나열된 영업시간 또는 전화번호와 같은 페이지 상의 의미론적으로 의미있는 정보의 개별 유닛들), 미디어 아이템들(216)(예컨대, 사진, 비디오, 오디오, 텍스트 또는 임의의 다른 유형의 미디어 컨텐츠), 사용자와 관련된 위치(217)(예컨대, "San Jose, California, USA") 및 컨셉(218) 또는 다른 용어들(예컨대, 컨셉 "Victorian literature" 또는 제품 "Razor scooter"에 대응하는 객체)를 포함하나, 이에 제한되지 않으며, 소셜 네트워킹 시스템(200)에서 사용자가 상호작용할 수 있는 다양한 것들을 나타낼 수 있다. 일 실시예에서, 객체 스토어(210)는 또한 객체 선택기(219)를 저장하며, 도 4에 관하여 이하에서 설명되는 바와 같이 객체 선택기(219)는 객체 스토어(210) 내의 다른 객체들을 질의, 디스플레이 및 선택하는데 사용되는 객체들이다. 객체 스토어(210)는 인박스 메시지, 상태 업데이트, 코멘트, 노트 및 포스팅과 같이 소셜 네트워킹 시스템(200)의 사용자들에 의해 일상적으로 생성되는 다른 데이터를 나타내는 객체들을 더 저장할 수 있다. 객체 스토어(210)의 객체는 소셜 네트워킹 시스템 내에 존재하는 엔터티(예컨대, 소셜 네트워킹 시스템 상에서 사용가능한 애플리케이션(212)), 소셜 네트워킹 시스템의 도메인 밖에 존재하는 가상 엔터티(예컨대, 웹사이트) 또는 현실 세계 엔터티(예컨대, 사람, 스포츠 팀 또는 소매상)를 나타낼 수 있다.
객체 스토어(210)는 애플리케이션(212)의 코드 또는 이미지 미디어 아이템(216)과 관련된 이미지 데이터와 같이 소셜 네트워킹 시스템(200) 내에 존재하는 객체들 모두를 저장할 수 있다. 대안으로, 소셜 네트워킹 시스템(200) 외부에 존재하는 가상 엔터티들에 대하여, 객체 스토어(210)는 외부 미디어 아이템(216)의 URL(uniform resource locator)과 같이 엔터티에 대한 포인터 또는 참조의 일부 형태를 포함할 수 있다. 추가로, 객체 스토어(210)는 또한 객체를 설명하는 이름(예컨대, 사람에 대한 "Ray allend", 애플리케이션에 대한 "Birthday Reminder", 그룹에 대한 "Penguin Fanciers"), 객체를 나타내는 이미지(예컨대, 사용자 프로필 사진) 또는 사용자들에 의해 객체에 할당된 하나 이상의 태그(예컨대, 전략 게임 애플리케이션에 대한 문자열들 "게임", "크라임" 및 "전략")와 같이 객체와 관련된 메타데이터를 저장할 수 있다. 그룹(214)에 대하여는 관련 사용자들의 세트(211), 미디어 아이템 객체(216)에 대하여는 미디어 유형(예컨대, 비디오) 및 사용자 객체(211)에 대하여는 고유 사용자 ID 및 이름 토큰(예컨대, 분리된 이름과 성 "Ray" 및 "Allend")와 같이, 서로 다른 유형의 객체들은 서로 다른 유형의 메타데이터를 가질 수 있다.
일 실시예에서, 객체 스토어(210)는 객체 유형을 각 객체와 연관시킨다. 유형들은 단일 원소 유형일 수 있으며, 관련 유형의 계층 또는 서브 유형들을 나타내는 복합 유형일 수 있다. 예컨대, (추가 자격이 필요없는) 사용자 객체(211)는 "사용자" 유형일 수 있는 반면, 일본 레스토랑을 나타내는 페이지 객체(215)는 객체가 페이지, 더 구체적으로 사업을 나타내는 페이지, 좀 더 구체적으로 레스토랑 사업, 훨씬 더 구체적으로 일본 레스토랑 사업임을 나타내는 "Page.Business.Restaurant.Japanese" 유형을 가진다.
일 실시예에서, 소셜 네트워킹 시스템(200)은 페이지들(215) 또는 다른 유형의 객체들, 개별 페이지(215) 내의 필드들(225) 등을 분류하는데 사용될 수 있는 유형 그래프(221)내의 다양한 유형의 객체들의 관계를 캡쳐한다. 도 3은 유형 그래프(221)의 그러한 계층의 일예를 도시한다. 이 예에서, "객체"는 그로부터 모든 다른 것들을 도출할 수 있는 일반적으로 적용할 수 있는 유형이며, "페이지"(302)(페이지 객체(215)의 유형) 및 "컨셉"(304)(컨셉 객체(218)의 유형)은 객체 스토어(210) 내의 객체 유형들 중 두 가지이다. 다음으로 "사업"(305), "예술" 및 "스포츠"는 넓은 탑-레벨 유형들(218)이며, "사업" 유형은 (상업 엔터티의 두 가지 예인) "레스토랑" 및 "서점"의 서브-유형을 가지고, "레스토랑"은 (레스토랑이 전문으로 하는 서로 다른 유형의 요리를 나타내는) "일본" 및 "이탈리안"의 서브-유형을 더 포함한다. 마찬가지로, "컨셉" 유형은 다음으로 (판매 아이템들을 나타내는) "제품"의 서브-유형을 가지고, "제품"은 다음으로 (판매 아이템의 특정 유형을 나타내는) "장남감"이라는 서브-유형을 가진다. 따라서, 계층은 다른 타입들의 일반화 및 구체화로서 서로 다른 유형들과 관련된다.
일 실시예에서, 유형 그래프(221) 내의 페이지(215)에 적용할 수 있는 각 유형-예컨대, 도 3의 페이지 유형(303) 및 그것의 다양한 서브-유형들-은 페이지 유형이 가지거나 가질 수 있는 특성들을 특정하는 관련 필드 유형들(303)을 가질 수 있다. 예컨대, 도 3의 예에서 "사업" 페이지 유형(305)은 각각 사업 위치의 맵, 사업이 고객에게 오픈되는 날의 시간들 및 사업에 도달될 수 있는 전화번호를 나타내는 관련 필드 유형들인 "맵", "시간" 및 "전화"를 가진다. 또한, "레스토랑" 페이지 유형(307)은 주어진 레스토랑이 서비스하는 음식 아이템들의 세트를 나타내는 관련 필드 유형인 "메뉴"를 가진다. 일 실시예에서, 필드 유형들(303)은 스스로 컨셉(304)으로 구현된다. 일 실시예에서, "어린이" 유형은 "레스토랑" 페이지 유형(307)이 "사업" 부모 유형의 맵, 시간 및 전화를 또한 가지는 것과 같이 "부모" 유형의 필드들을 물려받는다.
일 실시예에서, 계층은 소셜 네트워킹 시스템(200)의 운영자들에 의해 수도으로 생성된다. 일 실시예에서, 계층은 동적으로, 그리고 부분적으로나 전체적으로 생성된다. 예컨대, 이하의 도 6에서의 논의는 유형 그래프(221) 내의 다른 유형들을 가지는 필드들(225)의 동적 관련성의 설명을 포함한다.
도 3의 계층은 단지 예를 위한 것이며, 실제로 유형 계층은 임의의 방식으로 배열된 임의 수의 유형들 및/또는 필드들을 가질 수 있다.
도 2를 다시 참조하면, 일 실시예에서 소셜 네트워킹 시스템(200)은 "소셜 그래프"에서 함께 연결된 노드로서 객체 스토어(210)의 객체들을 나타내는 그래프 정보 스토어(220)를 더 포함한다. 그래프 정보 스토어(220)는 따라서 다양한 객체 노드들을 연결하는 에지로서 표현되는 객체들 사이의 관계에 관한 정보를 포함한다. 소셜 그래프 내의 에지들의 다양한 예는: 소셜 네트워킹 시스템 내에서 사용자들이 관계를 가지는(예컨대, 친구이거나, 통신하거나, 다른 사람의 프로필을 열람하거나, 몇몇 방식으로 상호작용하는) 것을 나타내는 두 사용자 객체들(211) 사이의 에지, 사용자가 애플리케이션을 사용하는 것을 나타내는 사용자 객체(211)와 애플리케이션 객체(212) 사이의 에지, 사용자가 그룹에 속하는 것을 나타내는 사용자 객체(211)와 그룹 객체(214) 사이의 에지 및 사용자가 페이지를 열람하였음을 나타내는 사용자 객체(211)와 페이지 객체(215) 사이의 에지를 포함한다.
예컨대, 한 사용자(211)가 소셜 네트워킹 시스템 내에 다른 사용자와 관계를 형성한다면, 두 사용자들을 각각 노드로 표현되고 그들 사이의 에지는 형성된 관계를 나타내며; 그 후 두 사용자들을 소셜 네트워크 시스템 내에서 연결되었다고 한다. 이 예를 계속하면, 이들 사용자들 중 하나는 소셜 내트워킹 시스템 내에서 다른 사용자에게 메시지를 전송할 수 있다. 메시지를 전송하는 이러한 행동은 두 노드들 사이의 다른 에지이며, 이는 소셜 네트워킹 시스템에 의해 저장되고/저장되거나 추적될 수 있다. 메시지 자체는 노드로서 취급될 수 있다. 다른 예에서, 한 사용자가 소셜 네트워킹 시스템에 의해 유지되는 이미지 내에서 다른 사용자에게 태그를 달 수 있다. 이 태깅 행위는 사용자들 사이의 에지뿐 아니라 각 사용자와 노드인 이미지 사이의 에지를 생성할 수 있다. 다른 예에서, 사용자가 이벤트 참석을 확인한 경우, 사용자와 이미지는 노드이며, 사용자가 이벤트에 참석할 것인지 여부에 대한 지시는 에지이다. 따라서 소셜 그래프를 사용하면, 소셜 네트워킹 시스템은 많은 다른 유형으 객체들과 에지들(객체들 사이의 상호작용과 연결)을 추적할 수 있으며, 그에 의하여 사회적 관련 정보의 매우 풍부한 스토어를 유지할 수 있다.
일 실시예에서, 그래프 정보 스토어(220)에서의 에지는 관계 유형을 설명하는 라벨(예컨대, 두 사용자 객체들 사이의 라벨로서 "친구") 및/또는 관계의 강도를 수량화한 값과 같은 메타데이터와 연관된다. 또한 임의의 두 객체 사이의 관계도 또는 "거리"는 개체들 사이의 최단거리 상의 에지들의 수를 결정하는 것에 의해 확인될 수 있다. 예컨대, 그들 사이에 (예컨대, 친구 관계를 나타내는) 에지를 가지는 두 사용자 객체들은 1의 관계도(또는 "거리")를 가지며, 1차 연결로 간주된다. 마찬가지로, 사용자 객체 A가 사용자 객체 B와 1차 연결이나 사용자 객체 C와는 1차 연결이 아니며 B가 C의 1차 연결인 경우, 객체 A 및 C는 C가 A의 2차 연결(및 역도 성립)임을 가리키는 2의 관계도를 가진다.
페이지(215)는 또한 도 3에 도시된 바와 같이 특정 유형 "Object.Page.Business.Restaurant.Japaese"과 관련된 일본 요리에 전문인 특정 레스토랑 사업에 전용인 페이지와 같이 대응하는 특정 유형과 연관될 수 있다. 따라서, 일 실시예에서 그래프 정보 스토어(220)는 페이지 유형 연관들(222)의 세트를 포함하며, 각 연관은 특정 페이지(215)를 대응 유형과 관련시킨다.
일 실시예에서, 페이지-유형 연관(222)은 페이지의 생성자에 의해 수동으로 특정된다. 그러한 실시예에서, 페이지 생성시 소셜 네트워킹 시스템(200)은 페이지가 나타내는 컨셉(218)을 특정할 기회를 페이지(215) 생성자에게 제공하고 그에 따라 페이지-유형 연관들(222)이 업데이트된다. 일 실시예에서, 소셜 네트워킹 시스템(200)은 유형 그래프(221)에 의해 구현된 유형/서브-유형 관계에 대응하는 일련의 선택들을 페이지 생성자에게 제시한다. 도 3의 예를 참조하면, 소셜 네트워킹 시스템(200)은 일본 레스토랑에 관한 페이지를 생성하는 페이지 생성자에게 그 페이지가 사업에 관한 것인지, 예술에 관한 것인지 아니면 스포츠에 관한 것인지의 선택을 먼저 제시한다. "사업"이라는 답에 응답하여, 소셜 네트워킹 시스템(200)은 생성자에게 최종 유형 "일본"에 도달할 때까지 그 페이지가 좀 더 구체적으로 레스토랑에 관한 것인지 서점에 관한 것인지 등의 선택을 제시할 것이다. (일 실시예에서, 그 유형은 객체->페이지->사업->레스토랑->일식과 같이 유형들 및 서브-유형들의 전체 "경로"로서 표현된다.)
선택기(219)는 임의 수의 서로 다른 유형의 페이지들(215)에 내장될 수 있으며, 각 페이지는 잠재적으로 서로 다른 컨텍스트를 나타낸다. 추가로, 레스토랑 페이지 상에서 메뉴 상의 음식 아이템을 선택하기 위한 하나의 선택기와 레스토랑에서 일반적으로 플레이되는 서로 다른 노래들을 선택하는 하나의 선택기와 같이, 서로 다른 선택기가 동일 페이지 내에 내장될 수 있다. 서로 다른 선택기의 서로 다른 컨텍스트를 추적하기 위하여, 일 실시예에서 그래프 정보(220)는 특정 선택기들과 선택기 출력에 영향을 주는 컨텍스트로서 기능하는 하나 이상의 대응 유형들의 세트 사이의 연관들을 특정하는 선택기-유형 연관(223)을 더 포함할 수 있다. 예컨대, 도 1a을 다시 참조하면, 선택기(105)의 목적이 구매될 장남감과 관련된 객체의 이름을 선택하고자 하는 것으로 주어지면, 선택기(105)는 도 2의 "제품" 유형 또는 좀 더 구체적인 "장남감" 서브-유형을 포함하는 컨텍스트와 연관될지도 모른다. 대조적으로, 그것의 목적이 유명 인사의 이름을 선택하고자 하는 것으로 주어지면, 도 1b의 선택기(155)는 도 3의 "사용자" 또는 "페이지" 유형들(예컨대, 소셜 네트워킹 시스템(200)의 사용자들(211) 또는 유명인사에게 헌정된 페이지들(215))과 연관될지도 모른다.
선택기 구현
선택기-유형 연관들(223)은 서로 다른 실시예들로 서로 다른 방식으로 결정될 수 있다. 예컨대, 일 실시예에서, 페이지 생성기들은 예를 들어 유형 그래프(221)에 기초하여 일련의 질문들에 답하는 것에 의하여 그들의 페이지(215)에 추가될 각 선택기(219)에 대한 하나 이상의 연관 유형들을 수동으로 특정한다. (예컨대, 선택기(215)에 대한 유형은 "당신의 사용자는 다른 사람, 페이지, 필드 또는 컨셉을 찾기를 원합니까?(Do your users wish to find other users, pages, fields, or concepts?)", "컨셉은 제품 또는 문헌에 관한 것입니까?(Does the concept relate to products or literature?)", "제품은 장남감 또는 하드웨어에 관한 것입니까?(Is the product a toy or hardware?)"와 같은 일련의 지문들에 의해 획득될 수 있다.)
많은 예에서, 페이지 생성자는 선택기와 관련된 유형(들)을 수동으로 특정하는 것이 적절하다. 그러나, 다른 경우에, 페이지 생성자는 관련 유형을 특정할 시간을 내기를 원하지 않을 수 있거나, 페이지 생성자는 선택기가 통상적으로 어떤 유형의 객체를 선택하기 위하여 사용될지를 미리 알기 원하지 않을 수 있다. 따라서, 다른 실시예에서, 소셜 네트워킹 시스템(200)은 선택기 컨텍스트-즉, 선택기를 사용한 이전의 사용자 선택에 기초하여 주어진 선택기와 특히 관련된 하나 이상의 유형-를 학습할 선택기 컨텍스트 학습 모듈(260)을 포함한다. 일 실시예에서, 페이지 생성기는 임의의 수동으로 특정된 컨텍스트 없이 페이지(215)에 특정 선택기를 추가할 수 있다. 결과적으로, 사용자가 객체를 선택하기 위하여 선택기를 사용할 때, 초기에 선택기는 컨텍스트에 기초하여 검색 결과를 조정하지 않을 수 있다. 그러나, 선택기 컨텍스트 학습 모듈(260)은 선택기 결과 세트로부터 선택된 객체들의 유형을 모니터하고 서로 다른 선택된 유형들의 카운트에 기초하여 선택기와 연관되어야 하는 유형들을 결정한다.
도 4는 일 실시예에 따라 선택기 컨텍스트 학습 모듈(260)이 주어진 선택기(219)와 연관된 유형(들)을 학습할 때 수행하는 동작들을 도시하는 흐름도이다. 초기에는 선택기와 연관된 컨텍스트가 존재하지 않는다-즉, 객체 유형이 존재하지 않는다. 선택기(219)는 도 1a에서 타이핑된 문자 "ra"와 같은 입력을 수신한다(410). 다음으로 선택기(219)는 타이핑된 문자로 시작하는 적어도 하나의 단어의 이름을 가지는 모든 객체들(또는 그것의 일부 서브세트)과 같이 수신된 입력과 매칭되는 객체들로 구성된 결과 세트를 식별한다(420). 대안으로 객체 이름은 타이핑된 문자로 시작될 필요없이, 객체 이름 내의 어느 곳이든 타이핑된 문자를 가질 수 있다: 예컨대, "ra"는 "Ray"뿐 아니라 "Grape"와 매칭될 수 있다.
결과 세트를 식별하고/식별하거나(420) 수정하는 경우, 선택기(219)는 또한 결과 세트 내의 다양한 객체들에 대한 사용자의 추정도를 결정하기 위하여 사용될 수 있는 질의 입력을 제공하는 사용자에 관한 소셜 네트워킹 시스템(200) 내의 정보를 선택적으로 고려할 수 있다. 이 사용자 정보는 사용자가 직접 또는 간접적으로 친구 관계를 가지는 다른 사용자들(211), 사용자가 열람한 미디어 아이템들(216), 결과 세트 내에서 사용자와 객체 사이의 지정학적 또는 그래프 거리 등과 같은 그래프 정보 스토어(220) 내의 사용자의 연결을 포함할 수 있다. 예컨대, 도 1b를 다시 참조하면, 사람 "Ramon Jones"(160B)에 대한 웹 페이지는, 질의를 입력한 사용자 또는 2 이하의 관계도를 가지는 그의 연결들(예컨대, 친구들)이 페이지(160B)와 상호작용하거나, 페이지에 의해 표현된 컨셉(218)에 관심을 표현하거나 하는 등이 없다면, 결과(160)로부터 제외될 수 있다. 사용자 정보는 또한 투표를 하거나, 사용자 프로필 내의 데이터를 특정하거나, 특정 페이지를 열람하는 등과 같이 소셜 네트워킹 시스템(200) 상에서 사용자가 수행한 행위들을 포함할 수 있다. (일부 실시예에서, 소셜 네트워킹 시스템(200)의 객체 스토어(210) 내의 다른 객체들에 대한 사용자(211)의 행위는 사용자가 페이지를 열람하였음을 나타내는 사용자(211)와 페이지(215) 사이의 연결과 같이 그래프 정보(220) 내의 연결로 표현될 수 있다.)
결과 세트 내의 객체들은 예컨대, 모든 사용자들에 걸친 객체의 세계적 인기, 그래프 정보 스토어(220)의 객체 그래프 내의 객체에 대한 검색 사용자로부터의 거리 등과 같은 인자들에 따라 임의 수의 방식으로 순위화될 수 있다.
다음으로 선택기(219)는 결과 세트 내의 객체들 중 하나에 대한 사용자 선택을 수신하고(430), (예컨대, 객체와 연관된 유형 속성을 조사하는 것에 의하여) 선택된 객체와 연관된 유형을 결정한다(440).
동작들 410-440은 컨텍스트 학습 모듈(260)이 선택기에 대한 연관 유형을 식별하는데 충분한 데이터를 획득할 때까지 여러번 일어날 수 있다. 예컨대, 일 실시예에서, 선택기 컨텍스트 학습 모듈(260)은 선택기에 대한 주요 연관 유형으로, 50%의 시간 동안 전체적으로 적어도 세 번 선택기를 사용하여 선택된 임의 유형의 연관 객체들을 식별하며; 2차 유형으로 25%의 시간 동안 전체적으로 적어도 2번 선택기를 사용하여 선택된 유형이 식별된다. 일단 컨텍스트 학습 모듈(260)이 하나 이상의 연관 유형들을 식별하는데 충분한 데이터를 가지면, 컨텍스트 학습 모듈(260)은 선택기-유형 연관(223)을 통하여 그 유형(들)을 선택기(219)와 연관시킨다.
일 실시예에서, 선택기 컨텍스트 학습 모듈(260)은 임의 사용자에 의한 객체의 모든 선택들을 고려하고 따라서 전체 사용자 행동으로부터 선택기 컨텍스트를 결정한다. 다른 실시예에서, 선택기 컨텍스트 학습 모듈(260)은 대신 그 선택기에 대한 사용자의 선택만을 고려하는 것에 의하여 각 사용자에 대한 선택기 컨텍스트를 개인화한다. 예컨대, "비디오 게임" 및 "스쿠터"가 모두 도 3의 일반 "장난감" 유형의 서브-유형이라고 가정하자. 또한 특정 선택기가 "장난감" 유형과 연관되고 그 선택기의 모든 사용자의 경우는 아닐 수 있지만 특정 사용자가 일반적으로 선택기의 선택 결과로부터 구체적으로 "비디오 게임" 유형의 장난감을 선택한다고 가정하자. 그러한 경우에, 선택기 컨텍스트 학습 모듈(260)은 그 선택기의 유형을 모든 사용자들에 대하여는 아니지만 그 특정 사용자에 대하여 "비디오 게임"과 연관지을지도 모른다. 따라서, 특정 사용자가 그 선택기에 질의를 입력할 때, 그들은 -아마도 그 사용자의 선호 장남감인-비디오 게임을 디스플레이하도록 바이어스될 것이며 그에 의하여 좀 더 관련성 있는 결과를 사용자에게 제시할 것이다.
도 4의 동작들의 구체적인 예로서, 도 1a를 다시 참조하여, 장난감 가게의 물품목록을 검색하기 위하여 사용되는 선택기(105)가 임의의 초기 연관 컨텍스트 없이 페이지에 추가되었다고 가정하자. 선택기(105)가 선택기 텍스트 영역에 사용자 키누름에 의해 문자 "ra"를 수신하면(410), 선택기는 객체들의 유형에 관계 없이 "ra"로 시작하는 단어를 포함하는 이름을 가진 객체들의 결과 세트를 식별할 것이다(420). 예컨대, 사람 "Ray Allend"에 해당하는 결과 110E는 그것이 "장난감" 유형 또는 심지어 "제품" 유형의 객체에 대응하지 않는다 할지라도 그것에 해당하는 인기 때문에 첫번째로 순위화될 수도 있다. 마찬가지로, 결과 세트는 이 객체들이 "장난감" 유형이 아닐지라도 "동물" 유형의 "생쥐(Rat)"로 명명된 객체 및 "영화" 유형의 "라따뚜이(RATATOUILLE)"로 명명된 객체를 포함할 수도 있다. 그러나, 선택기의 처음 세 번의 사용이 선택기(105)가 모두 "장난감" 유형의 객체 선택을 수신(430)하는 결과를 가져온다면, 선택기 컨텍스트 학습 모듈(260)은 선택기 컨텍스트가 "장난감" 유형을 포함하는 것으로 결정(440)하며, 선택기의 주요 컨텍스트 유형으로 "장난감"을 연관(450)시킬 것이다. 이후, 선택기로부터 획득된 결과 세트는 예컨대, 도 1a의 결과 세트에 도시된 바와 같이 "장난감" 유형의 객체를 결과 세트 내에서 좀 더 높게 순위화하는 것에 의하여 "장난감" 유형을 향해 바이어스 될 것이다. 따라서, 예컨대, "ra" 문자에 대한 다음 질의는 (도 1a에서와 같이) 장난감 객체들인 "레이저 스쿠터", "레이 건", "카 레이스 트랙" 및 "무작위 게임"(뿐만 아니라 장난감은 아니지만 세계적으로 유명한 사람 "Ray Allend"에 대한 페이지)을 가져올 것이며, "ro" 문자에 대한 질의는 "로켓" 및 "로봇"을 가져올 것이다.
일 실시예에서, 선택기 컨텍스트 학습 모듈(260)은 선택기에 대한 초기 컨텍스트를 할당하고 초기 할당이 부정확함을 가리키는 추후 사용자 선택을 조건으로 컨텍스트를 변경하는 하이브리드 접근법을 채용한다. 예컨대, 도 1b의 사인 사업의 페이지 생성자는 선택기(155)에 대한 주요 유형으로 "사용자"(소셜 네트워킹 시스템(200)의 사용자)를 설정할 수 있는 반면, 사용자들은 당해 유명인사(소셜 네트워킹 시스템의 사용자일 수 있거나 사용자가 아닐 수 있는)에 전용인 페이지(215)에 해당하는 "페이지" 유형의 객체들을 훨씬 더 자주 선택한다. 그러한 경우에, 선택기 컨텍스트 학습 모듈(260)은 선택기 결과 세트로부터 다수의 "페이지" 유형의 사용자 선택을 수신한 후 주요 연관 유형을 "사용자"에서 "페이지"로 변경할 것이다. 다른 예로, 선택기 컨텍스트 학습 모듈(260)은 페이지의 유형에 기초하여 페이지에 대한 디폴트 컨텍스트를 설정할 수 있다. 예컨대, "사업" 유형의 페이지에 대한 디폴트 컨텍스트는 사업 페이지들 상의 선택기들이 통상 제품을 찾기 위하여 사용되었음을 반영하여 "제품" 유형을 포함하도록 설정될 수 있다. 그러나, 주어진 도시에서 스토어 위치를 식별하는데 사용되도록 의도된 사업 페이지 상의 선택기에 대하여, 선택기 컨텍스트 학습 모듈(260)은 그 대신 결과 세트의 아래쪽을 향하여 초기에 디스플레이되는 위치 객체들의 사용자 선택에 기초하여 "위치" 유형을 포함하도록 컨텍스트를 변경할 수 있다. 다른 예로서, 선택기 컨텍스트 학습 모듈(260)은 선택기와 연관된 유형을 완전히 변경시키지 않고, 상술한 바와 같이 "장남감"을 "비디오 게임"으로 변경하는 것과 같이 단지 유형을 서브-유형으로 세분화할 수도 있다.
일단 특정 선택기(219)가 -예컨대, 컨텍스트를 학습하는 선택기 컨텍스트 학습 모듈(260)에 의해- 연관 컨텍스트를 가지면, 선택기는 사용자들에게 좀 더 유용한 검색 결과를 디스플레이하기 위하여 그 컨텍스트를 적용할 수 있다. 도 5는 일 실시예에 따른 객체 검색에 응답하여 선택기(219)에 의해 수행된 동작을 도시하는 흐름도이다. 선택기(219)는 입력을 수신(510)하고 도 4의 동작들 410-420에 관하여 상술한 바와 같이 입력에 매칭되는 객체들의 결과 세트를 식별한다(520). 다음으로 선택기(219)는 동작 440에 관하여 상술한 바와 같이 결과 세트 내의 객체 유형들을 식별한다(530). 선택기(219)는 또한 예컨대 선택기 컨텍스트 학습 모듈(260)에 의해 학습되는 것와 같이 선택기와 연관된 컨텍스트를 구성하는 유형 또는 유형들을 식별한다(540).
선택기(219)는 서로 다른 실시예들로 서로 다른 방식으로 선택기 컨텍스트에 기초하여 결과 세트를 수정(550)할 수 있다. 일 실시예에서, 선택기(219)는 선택기 컨텍스트 내의 임의 유형과 매칭되지 않는 유형을 가지는 임의의 객체들을 선택기에 입력된 검색 문자들과 매칭되는 객체들의 검색 결과로부터 제거한다. (유형들이 수퍼-유형과 서브-유형들로 계층적으로 배열되는 도 3과 같은 실시예에서, 객체 유형은 선택기 컨텍스트 내의 유형 또는 그것의 서브 유형과 동일하다면 선택기 컨텍스트 내의 유형과 매칭되는 것으로 한다. 예컨대, 도 3의 "레스토랑" 객체 유형은 "레스토랑"이 "사업"의 서브유형이기 때문에 선택기 컨텍스트 유형 "사업"과 매칭될 것이다.)
다른 실시예에서, 선택기(219)는 선택기 컨텍스트와 매칭되니 않는 유형을 가지는 결과 세트 객체들을 제거하는 대신 객체들의 순위 점수를 조정한다. 예컨대, 선택기(219)는 일부 기결정된 양만큼 또는 매칭 유형의 결여에 대한 퍼센트만큼 객체에 벌점을 줄 수 있다. 이는 유형들에 매칭되는 않는 객체들이 선택기 컨텍스트로 고려되지 않는 대신 결과 세트 내에서 더 낮게 순위화되도록 한다. 다른 실시예에서, 유형들에 매칭되지 않는 객체들은 그들 중 어떤 객체도 유형들에 매칭되는 임의의 디스플레이되는 객체들보다 결과 세트 내에서 먼저 디스플레이되지 않는 객체들의 2차 그룹에 할당된다. 따라서, 예컨대 도 1a의 유명인사 "Ray Allend"는 비록 "장난감" 유형은 아니지만 여전히 결과 세트 내에 보여지며, 단지 "장난감" 유형인 네 개의 객체들 모두보다 나중에 디스플레이된다. 이러한 접근법 중 하나는 다른 유형의 중요한 객체들을 계속 디스플레이되게 하여 검색 컨텍스트와 가장 잘 매칭될 것으로 예상되는 객체들을 훨씬 도드라지게 디스플레이하면서도 사용자에게 다른 가능한 옵션들을 제공한다. 다른 옵션들을 제공하는 것은 사용자가 이전까지 통상적으로 선택되었던 것과는 다른 유형의 객체들을 선택한다면 선택기의 컨텍스트가 시간에 따라 재학습되게 한다.
선택기(219)는 또한 그것의 컨텍스트의 일부인 이들 유형 내의 순위 점수를 조정할 수 있다. 예컨대, 주요 연관 유형과 매칭되는 결과 세트 내의 객체들읜 2차 연관 유형과 매칭되는 것들보다 더 높게 순위화될 수 있다.
일 실시예에서, 객체의 순위 점수는 객체 유형이 선택기 컨텍스트 내의 유형과 매칭되는지 여부에 따라 단독으로 계산되지 않으며 오히려 유형들이 얼마나 가까이 매칭되는지에 따라 계산된다. 일 실시예에서, 매칭의 접근성은 유형 그래프(221) 내의 유형들 사이의 최단 그래프 거리에 의해 결정된다. 예컨대, 도 3을 다시 참조하면, 특정 선택기(219)의 컨텍스트가 Object.Page.Business.Restaurant.Japanese 유형을 가지고 (오직 텍스트 문자 매칭에 기초하여) 초기 결과 세트 내의 객체가 Object.Page.Business.Restaurant.Italian 유형이라면, 접근도는 2의 거리, 즉 하나의 노드로부터 가장 가까운 공통 부모까지 그리고 거기에서 다른 노드까지의 천이 수를 반영할 것이다.
도 2를 다시 참조하면, 일 실시예에서 소셜 네트워킹 시스템(200)은 소셜 네트워킹 시스템 외부의 제3자 시스템들이 예컨대, 선택기를 통하여 소셜 네트워킹 시스템에 관심 객체를 질의하게 하는 외부 모듈(250)을 포함한다. 따라서, (예를 들어) 선택기(219)의 사용은 소셜 네트워킹 시스템(200)으로 한정될 필요가 없으며; 오히려 임의의 외부 웹 사이트가 소셜 네트워킹 시스템의 데이터를 이용하는 개별화된 검색 인터페이스를 생성할 수 있다.
예컨대, 일 실시예에서, 외부 모듈(250)은 제3자가 제3자의 웹 페이지를 포함할 수 있는 코드를 제공하며, 그 코드는 소셜 네트워킹 시스템(200)의 도메인 내에서 URL을 로드하는 아이프레임의 생성을 야기한다. URL 자체는 소셜 네트워킹 시스템(200)이 아이프레임에 제공할 컨텐츠를 결정하기 위하여 사용할 수 있는 정보(예컨대, 키-값 세트)를 포함할 수 있다. 예컨대, 아이프레임에 선택기(219)를 제공하는 경우, 아이프레임에 대한 URL은 소셜 네트워킹 시스템(200)에게 어떤 특정 선택기가 디스플레이할지를 알려주는 선택기 식별자를 포함할 수 있으며, 소셜 네트워킹 시스템은 또한 그 식별자를 가지는 선택기를 통하여 선택된 객체 유형들을 추적하는 것에 의하여 그 선택기와 연관된 객체 유형을 학습할 수 있다. 아이프레임은 소셜 네트워킹 시스템(200)의 도메인 내에 있기 때문에, 소셜 네트워킹 시스템은 예컨대 사용자 이름(username)과 같은 정보를 획득하기 위하여 소셜 네트워킹 시스템의 사용자의 쿠키에 접속한다. 따라서 소셜 네트워킹 시스템은 그래프 정보 스토어(220)로부터 사용자의 연결들을 선택적으로 접속할 수 있으며, 상술한 바와 같이 선택기를 통하여 입력되는 질의의 결과를 수정하기 위하여 그들을 사용할 수 있다. 도 1a를 참조하면, 장난감 객체를 검색하기 위하여 사용되는 선택기(105)는 소셜 네트워킹 시스템(200)의 도메인으로부터 컨텐츠를 로딩하고 예컨대, 장난감 판매에 초점을 맞춘 외부 제3자 웹사이트의 웹 페이지 내에 내장된 아이프레임과 같이 구현될 수 있다. 이 예에서, 아이프레임은 www.socialnet.com에서 소셜 네트워크로부터 ID1383922를 가지는 선택기가 디스플레이되어야 함을 특정하는 <iframe src="http://www.socialnet.com/objquery/id=1383922"></iframe>과 같은 HTML 코드에 의해 특정될 수 있다.
외부 모듈(250)은 주어닌 이름 접두어와 주어진 객체 유형들을 갖는 객체와 같이 특정 조건과 매칭되는 데이터를 소셜 네트워크 서비스(200)에 명시적으로 요청하는 웹 서비스-기반 API와 같이 다른 실시예에서 다른 방식으로 구현될 수 있다.
애플리케이션: 필드 선택 및 학습
페이지(215)는 필드들(225), 즉 사업 페이지의 동작 시간을 특정하는 "시간" 필드 또는 레스토랑 페이지에 관하여 레스토랑에 의해 서비스되는 음식을 특정하는 "메뉴" 필드와 같이 주어진 페이지의 태양을 설명하는 데이터의 개별 부분들과 연관될 수 있다. 일 실시예에서, 다양한 가능 필드들 각각은 짧은 텍스트 정보 또는 다른 초기 데이터 유형으로서가 아니라 객체 스토어(210)의 객체(225)로서 표현되며, 따라서 이하에서는 필드 객체(225)라 한다. 각 필드 객체(225)는 도 3에 도시된 "맵", "시간", "전화" 또는 "메뉴" 필드들과 같이 유형 그래프(221) 내의 대응 필드 유형(303)을 가지며, 그 필드 유형에 대한 데이터(예컨대, "전화" 필드 유형에 대한 텍스트 "555-555-1234")를 나타내는 하나 이상의 값들을 가질 수 있다.
소셜 네트워킹 시스템(200)은 소셜 네트워킹 시스템 상의 엔터티에 대한 서로 다른 페이지(215)의 관리자가 각 페이지 상에 있을 수 있는 필드 객체(225) 또는 다른 정보를 특정할 수 있게 하는 페이지 관리자 사용자 인터페이스를 제공할 수 있다. 선택기(219)는 관리자에게 페이지에 추가될 필드 객체(225)의 관련 유형들을 빠르게 특정할 수 있는 하나의 방법을 제공한다.
예컨대, 도 6은 가상 서점인 "Lib books"에 대한 샘플 페이지 관리자 사용자 인터페이스(600)를 나타낸다. 사용자는 "필드"의 주요(또는 유일한) 연관 유형을 가지는 텍스트인 문자 'm'을 선택기(605)에 타이핑한다. 따라서, 선택기(605)는 입력된 문자 'm'과 매칭되는 유형 그래프(221) 내에 저장된 필드 객체(303)의 결과 세트(606)(즉, 사용자에게 위치에 대한 맵을 제공하는 "맵" 필드, 음악 장르를 나열하는 "음악 리스트" 필드, 및 음식 유형을 나열하는 "메뉴" 필드)를 디스플레이하고, 필드 유형(303)이 아닌 객체들을 제거(또는 그 객체들에 낮은 순위를 할당)한다. 관리자는 다음으로 소셜 네트워킹 시스템(200)의 관리자 페이지에 추가될 필드 객체(225)의 적용가능한 유형들(예컨대, 맵 필드)을 선택할 수 있다.
일 실시예에서, 소셜 네트워킹 시스템(200)은 (예컨대, 선택기(229)를 통하여) 페이지(215)에 대한 관리자에 의해 선택된 필드 유형(303)을 식별하는 필드 학습 모듈(265)를 추가로 포함하고 이러한 필드 유형들과 페이지 사이의 연관을 형성한다. 구체적으로, 소셜 네트워킹 시스템(200)은 그래프 정보 스토어(220) 내의 페이지-필드 연관(224) 세트를 포함하며, 각각의 그러한 연관은 페이지 유형과 적어도 일부의 임계 연관도를 가지고 그 페이지 유형에 적절한 것으로 간주되는 특정 필드 유형(303)에 특정 페이지 유형(302)(예컨대, 사업 유형(305)의 페이지)을 관련시킨다. 일 실시예에서, 필드 학습 모듈(265)은 관리자가 페이지-필드 연관(224) 내의 필드 유형과 연관되어 있지 않은 유형의 페이지에 특정 필드 유형(303)을 추가할 때 통지한다. 다음으로, 필드 유형이 임계 연관도를 형성하기에 충분한 횟수(예컨대, 그 유형의 전체 페이지들의 최소 개수 또는 최소 퍼센트)만큼 페이지 유형에 추가된 후, 필드 학습 모듈(265)은 페이지-필드 연관(244) 내의 그 페이지 유형(302)에 그 필드 유형(303)을 연관시킨다.
예컨대, 사업 페이지 유형(305)이 처음 생성될 때, 사업 페이지 유형(205)이 그 사업의 전화번호를 나타내는 전화 필드 유형(306)과의 연관을 가지고 있지 않다고 가정하자. 그러나, 다수의 관리자들이 사업 유형(또는 레스토랑과 같은 그것의 서브유형)의 페이지에 전화 필드 유형(306)을 추가한 후, 필드 학습 모듈(265)은 사업 페이지 유형(305)과 전화 필드 유형(306) 사이의 연관(306A)을 생성한다.
소셜 네트워킹 시스템(200)은 다음으로 관리자에게 좀 더 유용한 옵션들을 제공하기 위하여 페이지-필드 연관을 적용할 수 있으며, 이는 특정 필드 유형의 필드를 기존에 가지고 있지 않은 페이지에 적절한 필드 유형의 필드의 추가를 시작하는 것을 포함한다. 일 실시예에서, 그들의 컨텍스트 내에 필드 유형(303)을 가지고 있는 선택기들(219)은 선택기가 내장된 페이지 유형과 관련된 필드 유형들에 기초하여 결과의 순위를 조절할 수 있다. 구체적으로, 선택기가 대응하는 페이지의 유형과 연관된 필드 유형들(303)은 그들의 순위를 증가시킬 수 있으며, 페이지 유형과 연관되지 않은 필드 유형들은 그들의 순위를 감소시킬 수 있다. 예컨대, 맵은 도 3의 사업 페이지 유형(305)의 공지된 필드 유형이며 다른 것은 그렇지 않기 때문에 도 6의 검색 결과(606)에서 맵 필드 유형은 음악 리스트 필드 유형 또는 메뉴 필드 유형보다 더 높게 순위화된다.
일 실시예에서, 소셜 네트워킹 시스템(200)은 관리자가 페이지-필드 연관(224)이 주어진 페이지 유형의 페이지들과 연관되는 것으로 나열하는 특정 필드들을 추가할 것을 페이지의 관리자에게 사전에 제안할 수 있다. 예컨대, 도 3의 샘플에 도시된 바와 같이 "전화" 및 "시간"이 사업 유형의 페이지와 연관된 것으로 공지된 필드 유형들이기 때문에, 도 6에서, 사용자 인터페이스(600)는 "Lib books" 사업에 대한 페이지에 전화번호 필드 및/또는 영업 시간 필드를 추가할 것을 관리자에게 제안하는 링크들(610)을 제공한다.
대안으로, 소셜 네트워킹 시스템(200)은 사용자 허락을 요구하지 않고, 그러한 필드를 자동으로 추가할 수 있다. 일 실시예에서, 필드 유형의 예는 필드 유형과 페이지 유형 사이의 연관이 페이지-필드 연관(224) 내의 페이지 유형 및 필드 유형 사이의 연관을 형성하는데 요구되는 것보다 큰 적어도 일부 임계 강도를 가지는 페이지에 자동으로 추가된다. 예컨대, 일 실시예에서, 임계 강도는 그 필드의 예를 가지는 그 페이지 유형의 일부 최소 개수(예컨대, 1000개)의 페이지들 및 그 필드의 예를 가지는 페이지 유형의 일부 최소 퍼센트(예컨대, 90%)의 페이지들을 포함한다. 필드 예(예컨대, 전화번호 필드)가 페이지에 자동으로 추가될 때, 소셜 네트워킹 시스템(200)은 그 후 페이지 관리자에게 그 예에 대한 값(예컨대, 유효한 전화번호)을 특정할 것을 요청할 수 있다.
본 발명의 실시예들의 상기 설명은 설명의 목적으로 제시되었으며; 배타적인거나 본 발명을 개시된 정확한 형태로 제한하고자 하는 것은 아니다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 상기 개시로부터 다양한 수정 및 변경이 가능함을 인식할 수 있을 것이다.
본 명세서의 일부분은 정보에 관한 동작들의 알고리즘과 기호 표시의 관점에서 본 발명의 실시예를 기술한다. 이들 알고리즘적 설명 및 표시는 발명의 요지를 다른 당업자에게 효율적으로 전달하기 위해 데이터 프로세스 기술분야에서 당업자에 의해 널리 사용된다. 기능적, 계산적 또는 논리적으로 기술되는 이들 동작은 컴퓨터 프로그램 또는 균등한 전기 회로, 마이크로코드 등에 의해 구현됨을 이해해야 한다. 게다가, 일반성을 잃지 않고, 동작들의 배치를 모듈들로 나타내는 것이 또한 간편하다는 점은 때때로 입증되었다. 기술된 동작들 및 그와 관련된 모듈들은 소프트웨어, 펌웨어, 하드웨어 또는 이들의 임의의 조합으로 이용될 수 있다.
본 명세서에 기술된 임의의 단계들, 동작들 또는 프로세스들은 하나 이상의 하드웨어 모듈들 또는 소프트웨어 모듈들 단독으로, 또는 다른 장치들과의 조합으로 수행되거나 구현될 수 있다. 일실시예로, 소프트웨어 모듈은 컴퓨터 프로그램 코드를 포함하는 컴퓨터-판독가능한 매체를 구비하는 컴퓨터 프로그램 제품으로 구현되며, 이런 컴퓨터 프로그램 코드는 기술된 임의의 또는 모든 단계들, 동작들 또는 프로세스들을 수행하기 위한 컴퓨터 프로세서에 의해 실행될 수 있다.
또한, 본 발명의 실시예들은 본 명세서의 동작들을 수행하기 위한 장치에 관한 것일 수 있다. 이런 장치는 필요한 목적을 위해 특히 구성될 수 있고/있거나, 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨팅 디바이스를 포함할 수 있다. 그러한 컴퓨터 프로그램은 컴퓨터 시스템 버스에 결합될 수 있는, 비-일시적, 유형의 컴퓨터 판독가능한 저장 매체 또는 전자식 명령어를 저장하는데 적합한 임의의 종류의 매체에 저장될 수 있다. 게다가, 명세서에 언급되는 임의의 컴퓨팅 시스템은 단일 프로세서를 포함할 수 있거나, 컴퓨팅 능력을 증가시키기 위해 다중 프로세서 설계를 이용하는 아키텍처일 수 있다.
또한, 본 발명의 실시예들은 본 명세서에 기술된 컴퓨팅 프로세스에 의해 생산된 제품에 관한 것일 수 있다. 그러한 제품은 컴퓨팅 프로세스의 처리 결과인 정보를 포함할 수 있으며, 여기서 정보는 비일시적, 유형의 컴퓨터 판독가능한 저장 매체에 저장되거나 본 명세서에 개시된 컴퓨터 프로그램 제품 또는 다른 데이터 조합의 임의의 실시예를 포함할 수 있다.
마지막으로, 본 명세서에서 사용된 언어는 원칙적으로 읽기 쉬운 지시의 목적으로 선택되었으며, 발명의 요지를 상세히 기술하거나 제한하려고 선택된 것은 아닐 수 있다. 따라서, 본 발명의 기술범위는 본 명세서에 의해서가 아니라 본 명세서를 기초로 출원된 임의의 청구범위들에 의해 한정되는 것으로 의도된다. 그래서, 본 발명의 실시예들에 관한 설명은 하기의 청구범위에 제시된 본 발명의 기술범위의 예시가 되나, 이에 제한되지 않아야 한다.

Claims (33)

  1. 클라이언트 장치에, 객체 유형과 관련된 선택기를 포함하는 사용자 인터페이스를 제공하는 단계;
    소셜 네트워킹 시스템의 사용자에 의해 클라이언트 장치 상의 선택기로 입력된 질의를 수신하는 단계;
    질의와 매칭되는 객체들을 식별하는 것에 의해 결과 세트를 형성하는 단계;
    결과 세트를 변경하는 단계; 및
    선택기와 시각적으로 연관하여 디스플레이하기 위하여 클라이언트 장치로 결과 세트 중 하나 이상의 객체들을 제공하는 단계를 포함하며,
    객체들 중 하나 이상이 하나의 객체 유형과 연관되고,
    상기 결과 세트를 변경하는 단계는:
    선택기와 연관된 객체 유형과 결과 세트 내에 객체들의 객체 유형과의 비교; 및
    소셜 네트워크 상의 사용자의 연결
    에 적어도 부분적으로 기초하여 결과 세트를 변경하는 컴퓨터로 구현되는 방법.
  2. 제 1 항에 있어서,
    선택기를 사용하여 복수의 사용자들로부터 복수의 객체들의 선택을 수신하는 단계;
    선택된 객체들과 연관된 하나 이상의 유형들을 결정하는 단계; 및
    선택된 객체들과 연관된 유형들에 기초하여 선택기와 연관된 유형을 결정하는 단계를 더 포함하는 컴퓨터로 구현되는 방법.
  3. 제 2 항에 있어서,
    선택기와 연관된 유형을 결정하는 단계는:
    선택된 객체들과 가장 빈번하게 연관되는 유형을 식별하는 단계; 및
    선택기와 연관된 객체 유형으로 가장 빈번한 유형을 추가하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  4. 제 1 항에 있어서,
    결과 세트를 변경하는 단계는 선택기의 객체 유형과 매칭되지 않는 유형을 갖는 객체들을 결과 세트로부터 제거하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  5. 제 1 항에 있어서,
    결과 세트를 변경하는 단계는 객체들과 연관된 객체 유형들이 선택기와 연관된 객체 유형과 매칭되는지 여부에 적어도 부분적으로 기초하여 결과 세트 내의 객체들을 순위화하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  6. 제 5 항에 있어서,
    선택기와 연관된 객체 유형 및 질의에 매칭되는 객체들의 유형들은 유형 그래프의 노드들이며,
    상기 방법은,
    선택기와 연관된 객체 유형과 질의에 매칭되는 객체들의 유형들 사이의 유형 그래프 내의 거리를 결정하는 단계; 및
    결정된 거리에 기초하여 객체들의 순위를 결정하는 단계를 더 포함하는 컴퓨터로 구현되는 방법.
  7. 제 6 항에 있어서,
    결과 세트를 변경하는 단계는 선택기와 연관된 객체 유형과 매칭되는 유형을 가지는 객체들 중 제 1 객체 및 선택기의 객체 유형과 매칭되는 유형을 가지지 않는 객체들 중 제 2 객체에 응답하여, 질의에 매칭되는 객체들 중 제 1 객체를 질의에 매칭되는 객체들 중 제 2 객체보다 더 높게 순위와하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  8. 제 6 항에 있어서,
    선택기와 연관되는 객체 유형 및 질의에 매칭되는 객체들의 유형들은 계층적 유형 그래프의 노드들이며, 객체 유형이 선택기의 객체 유형과 동일하거나 선택기의 객체 유형의 서브유형인 경우 및 객체 유형이 선택기의 객체 유형과 동일하거나 선택기의 객체 유형의 서브유형인 경우에만 선택기의 객체 유형과 매칭되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  9. 제 1 항에 있어서,
    사용자 인터페이스는 페이지에 대한 것이며, 사용자 인터페이스는 복수의 선택기들, 서로 다른 객체 유형과 연관된 복수의 선택기들 중 적어도 두 개의 선택기들을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  10. 제 1 항에 있어서,
    사용자로부터 결과 세트의 객체들 중 하나의 선택을 수신하는 단계를 더 포함하는 컴퓨터로 구현되는 방법.
  11. 제 1 항에 있어서,
    소셜 네트워킹 시스템의 사용자의 연결들에 적어도 부분적으로 기초하여 결과 세트를 변경하는 단계는 사용자와 다른 사용자 사이의 연결에 적어도 부분적으로 기초하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  12. 제 1 항에 있어서,
    소셜 네트워킹 시스템의 사용자의 연결들에 적어도 부분적으로 기초하여 결과 세트를 변경하는 단계는 사용자와 소셜 네트워킹 시스템의 페이지 사이의 연결에 적어도 부분적으로 기초하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  13. 제 1 항에 있어서,
    소셜 네트워킹 시스템의 사용자의 연결들에 적어도 부분적으로 기초하여 결과 세트를 변경하는 단계는 사용자와 소셜 네트워킹 시스템 상의 미디어 아이템 사이의 연결에 적어도 부분적으로 기초하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  14. 제 1 항에 있어서,
    소셜 네트워킹 시스템의 사용자의 연결들에 적어도 부분적으로 기초하여 결과 세트를 변경하는 단계는 사용자와 소셜 네트워킹 시스템 상에서 호스트되는 애플리케이션 사이의 연결에 적어도 부분적으로 기초하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  15. 제 1 항에 있어서,
    소셜 네트워킹 시스템의 사용자의 연결들에 적어도 부분적으로 기초하여 결과 세트를 변경하는 단계는 사용자와 소셜 네트워킹 시스템에 의해 정의되는 그룹 사이의 연결에 적어도 부분적으로 기초하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  16. 제 1 항에 있어서,
    사용자 인터페이스는 선택기가 소셜 네트워킹 시스템 외부의 제3자 사이트의 웹페이지인 것을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  17. 클라이언트 장치에, 객체 유형과 관련된 선택기를 포함하는 사용자 인터페이스를 제공하기 위한 명령어;
    소셜 네트워킹 시스템의 사용자에 의해 클라이언트 장치 상의 선택기로 입력된 질의를 수신하기 위한 명령어;
    하나 이상이 객체 유형과 연관되며 질의와 매칭되는 객체들들 식별하는 것에 의해 결과 세트를 형성하기 위한 명령어;
    선택기와 연관된 객체 유형과 결과 세트 내에 객체들의 객체 유형과의 비교에 적어도 부분적으로 기초하여 결과 세트를 변경하기 위한 명령어; 및
    선택기와 시각적으로 연관하여 디스플레이하기 위하여 클라이언트 장치로 결과 세트 중 하나 이상의 객체들을 제공하기 위한 명령어를 포함하는 실행가능한 컴퓨터 프로그램 명령어들을 저장하는 컴퓨터 판독가능한 저장 매체.
  18. 제 17 항에 있어서,
    선택기를 사용하여 복수의 사용자들로부터 복수의 객체들의 선택을 수신하기 위한 명령어;
    선택된 객체들과 연관된 하나 이상의 유형들을 결정하기 위한 명령여; 및
    선택된 객체들과 연관된 유형들에 기초하여 선택기와 연관된 유형을 결정하기 위한 명령어를 더 포함하는 컴퓨터 판독가능한 저장 매체.
  19. 제 18 항에 있어서,
    상기 선택기와 연관된 유형을 결정하는 것은:
    선택된 객체들과 가장 빈번히 연관되는 유형을 식별하는 것; 및
    선택기와 연관된 객체 유형으로 가장 빈번한 유형을 추가하는 것을 포함하는 컴퓨터 판독가능한 저장 매체.
  20. 제 17 항에 있어서,
    사용자 인터페이스는 페이지에 대한 것이며, 사용자 인터페이스는 복수의 선택기들 서로 다른 객체 유형과 연관된 복수의 선택기들 중 적어도 두 개의 선택기를 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 저장 매체.
  21. 클라이언트 장치에 적어도 하나의 선택기를 포함하는 사용자 인터페이스를 제공하도록 설계된 적어도 하나의 웹 서버(290);
    복수의 객체들을 구비한 객체 스토어(210)를 가지는 소셜 네트워킹 시스템(200); 및
    선택기들 중 적어도 하나를 적어도 하나의 객체 유형과 연관시키는 테이블(223)과 같은 적어도 하나의 설정 저장소를 포함하며,
    선택기들은 네트워크(270)를 통하여 소셜 네트워킹 시스템(200)과 통신하도록 설계되고,
    적어도 하나의 선택기는 바람직하게는 텍스트 입력인 질의를 수신하고 소셜 네트워킹 시스템(200)으로 질의를 통신하도록 설계되며,
    소셜 네트워킹 시스템은:
    적어도 하나의 선택기로부터 질의를 수신하고;
    객체 스토어(210)에서 질의에 매칭되는 객체들을 식별하며;
    순위화된 결과 세트를 생성하기 위하여 식별된 객체들의 유형을 적어도 하나의 선택기와 연관된 적어도 하나의 객체 유형과 비교하는 것에 의하여 식별된 객체들을 순위화하고;
    디스플레이를 위하여 선택기로 순위화된 결과 세트 중 적어도 일부를 통신하도록 설계되는 시스템.
  22. 제 21 항에 있어서,
    소셜 네트워킹 시스템은 복수의 사용자들 및 다른 사용자들 및/또는 객체들 사이의 관계를 저장하는 적어도 하나의 데이터베이스를 포함하고, 선택기 및/또는 소셜 네트워킹 시스템(200)은 질의를 발생하는 사용자를 식별하도록 설계되며, 소셜 네트워킹 시스템(200)은 식별된 객체들을 순위화하기 위하여 식별된 사용자와 다른 객체들 사이의 관계를 사용하도록 설계되는 것을 특징으로 하는 시스템.
  23. 제 21 항 또는 제 22 항에 있어서,
    소셜 네트위킹 시스템(200)은 바람직하게는 계층화된, 유형 그래프(221) 내에 객체의 다양한 유형의 관계 정보를 저장하고, 유형 그래프(221) 내에서 식별된 객체들의 유형과 적어도 하나의 선택기와 연관된 객체 유형 사이의 거리를 계산하는 것에 의하여 식별된 객체들을 순위화하도록 설계되는 것을 특징으로 하는 시스템.
  24. 제 21 항 내지 제 23 항 중 어느 한 항에 있어서,
    컨텍스트 학습 모듈(260)을 포함하며,
    선택기는 컨텍스트 학습 모듈(260)로 복수의 사용자들에 대한 선택기 내에서 이루어지는 선택을 통신하도록 설계되며, 컨텍스트 학습 모듈은 특정 선택기에 의해 선택된 객체들의 유형을 모니터하고 설정 저장소 내의 적어도 하나의 객체 유형에 특정 선택기의 적어도 하나의 연관을 저장하도록 설계되는 것을 특징으로 하는 시스템.
  25. 클라이언트 장치로 객체 유형과 연관된 선택기를 포함하는 사용자 인터페이스를 제공하는 단계;
    소셜 네트워킹 시스템(200)의 사용자에 의해 클라이언트 장치 상의 선택기로 입력되는 질의를 수신하는 단계;
    소셜 네트워킹 시스템에 의해, 객체들 중 하나 이상이 객체 유형과 연관되며 질의와 매칭되는 객체들들 식별하는 것에 의해 결과 세트를 형성하는 단계;
    소셜 네트워킹 시스템에 의해, 객체와 연관된 객체 유형이 선택기와 연관된 객체 유형과 매칭되는지 여부에 적어도 부분적으로 기초하여 결과 세트를 순위화하는 단계; 및
    소셜 네트워킹 시스템(200)에 의해, 예컨대 소셜 네트워크 시스템(200)의 테이블(223)에 디스플레이를 위한 선택기로 결과 세트의 하나 이상의 객체들을 통신하는 단계를 포함하는, 컴퓨터로 구현되는 방법.
  26. 제 25 항에 있어서,
    학습 모듈(260)에 의해 선택기를 사용하는 복수의 사용자들로부터 복수의 객체 선택을 수신하고 저장하는 단계;
    학습 모듈(260)에 의해 선택된 객체들과 연관된 하나 이상의 유형을 결정하는 단계;
    선택된 객체들과 연관된 유형들에 기초하여 선택기와 연관된 유형을 결정하는 단계; 및
    선택기와 연관된 객체 유형으로 결정된 유형을 저장하는 단계를 더 포함하는 컴퓨터로 구현되는 방법.
  27. 제 25 항 또는 제 26 항에 있어서,
    선택기와 연관된 유형을 결정하는 단계는:
    학습 모듈(260)에 의하여, 복수의 유형들에 대하여, 그들이 선택기에 의해 선택된 횟수를 계산하는 단계;
    선택된 객체들과 가장 빈번하게 연관된 유형을 식별하는 단계; 및
    선택기와 관련된 객체 유형으로 가장 빈번한 유형을 저장하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  28. 제 25 항 내지 제 27 항 중 어느 한 항에 있어서,
    객체 결과는 별경하는 단계는 선택기의 객체 유형과 매칭되지 않는 유형을 가지는 객체들을 결과 세트로부터 제거하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  29. 제 25 항 내지 제 28 항 중 어느 한 항에 있어서,
    노드로서 객체 유형 및 서로 관련된 객체 유형들 사이의 에지를 가지는 유형 그래프, 바람직하게는 계층적 유형 그래프를 저장하는 단계;
    선택기와 연관된 객체 유형 및 질의에 매칭되는 객체들의 유형들 사이의 유형 그래프 내의 거리를 결정하는 단계; 및
    결정된 거리에 기초하여 객체들의 순위를 결정하는 단계를 포함하는 컴퓨터로 구현되는 방법.
  30. 제 25 항 내지 제 29 항 중 어느 한 항에 있어서,
    결과 세트를 변경하는 단계는 선택기와 연관된 객체 유형과 매칭되는 유형을 가지는 객체들 중 제 1 객체 및 선택기의 객체 유형과 매칭되는 유형을 가지지 않는 객체들 중 제 2 객체에 응답하여, 질의에 매칭되는 객체들 중 제 1 객체를 질의에 매칭되는 객체들 중 제 2 객체보다 더 높게 순위와하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  31. 제 25 항 내지 제 30 항 중 어느 한 항에 있어서, 특히 제 6 항에 있어서,
    선택기와 연관되는 객체 유형 및 질의에 매칭되는 객체들의 유형들은 계층적 유형 그래프의 노드들이며, 객체 유형이 선택기의 객체 유형과 동일하거나 선택기의 객체 유형의 서브유형인 경우 및 객체 유형이 선택기의 객체 유형과 동일하거나 선택기의 객체 유형의 서브유형인 경우에만 선택기의 객체 유형과 매칭되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  32. 제 25 항 내지 제31 항 중 어느 한 항에 있어서,
    결과 세트를 변경하는 단계는 사용자와 다른 사용자들 사이의 연결 및/또는 사용자아 소셜 네트워킹 시스템의 페이지 사이의 연결 및/또는 사용자와 소셜 네트워킹 시스템의 미디어 아이템 사이의 연결 및/또는 사용자와 소셜 네트워킹 시스템 상에서 호스트되는 애플리케이션 사이의 연결 및/또는 사용자와 소셜 네트워킹 시스템에 의해 정의된 그룹 사이의 연결에 적어도 부분적으로 기초하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  33. 실행시 제 25 내지 제32 항 중 어느 한 항에 따른 방법을 구현하는 실행가능한 컴퓨터 프로그램 명령어들을 저장하는 컴퓨터 판독가능한 저장 매체.
KR1020157002680A 2012-07-19 2013-07-17 소셜 네트워킹 시스템에서 컨텍스트-기반 객체 검색 KR101785597B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/553,760 2012-07-19
US13/553,760 US9141707B2 (en) 2012-07-19 2012-07-19 Context-based object retrieval in a social networking system
PCT/US2013/050926 WO2014015059A1 (en) 2012-07-19 2013-07-17 Context-based object retrieval in a social networking system

Publications (2)

Publication Number Publication Date
KR20150036315A true KR20150036315A (ko) 2015-04-07
KR101785597B1 KR101785597B1 (ko) 2017-10-16

Family

ID=48832764

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157002680A KR101785597B1 (ko) 2012-07-19 2013-07-17 소셜 네트워킹 시스템에서 컨텍스트-기반 객체 검색

Country Status (12)

Country Link
US (2) US9141707B2 (ko)
EP (1) EP2688001A1 (ko)
JP (1) JP6096901B2 (ko)
KR (1) KR101785597B1 (ko)
CN (1) CN104641371B (ko)
AU (1) AU2013292585B2 (ko)
BR (1) BR112015001047A2 (ko)
CA (1) CA2878002C (ko)
IL (1) IL236658B (ko)
MX (1) MX354956B (ko)
TW (1) TWI560562B (ko)
WO (1) WO2014015059A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8983991B2 (en) * 2012-07-27 2015-03-17 Facebook, Inc. Generating logical expressions for search queries
US9154575B2 (en) * 2012-08-28 2015-10-06 Facebook, Inc. Soft matching user identifiers
US9836179B2 (en) 2012-12-20 2017-12-05 Microsoft Technology Licensing, Llc Auto-complete with persisted atomically linked entities
US20170214752A1 (en) * 2013-12-16 2017-07-27 Co Everywhere, Inc. Systems and methods for providing geographically delineated content author information
TWI509437B (zh) * 2014-03-11 2015-11-21 Univ Chang Gung Community website search system
US9377999B2 (en) * 2014-06-02 2016-06-28 Micosoft Technology Licensing, LLC Semantic content accessing in a development system
US10909371B2 (en) 2017-01-19 2021-02-02 Samsung Electronics Co., Ltd. System and method for contextual driven intelligence
CN110249304B (zh) 2017-01-19 2023-05-23 三星电子株式会社 电子设备的视觉智能管理
US10534825B2 (en) * 2017-05-22 2020-01-14 Microsoft Technology Licensing, Llc Named entity-based document recommendations
US11461340B2 (en) * 2018-01-16 2022-10-04 Sony Interactive Entertainment LLC Adaptive search using social graph information

Family Cites Families (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5907837A (en) * 1995-07-17 1999-05-25 Microsoft Corporation Information retrieval system in an on-line network including separate content and layout of published titles
US5956728A (en) * 1996-07-17 1999-09-21 Next Software, Inc. Object graph editing context and methods of use
US5940834A (en) 1997-03-13 1999-08-17 Mitel Corporation Automatic web page generator
GB9705926D0 (en) 1997-03-21 1997-05-07 Medical Talk Systems Limited Improved document completion
US6185587B1 (en) 1997-06-19 2001-02-06 International Business Machines Corporation System and method for building a web site with automated help
US6269369B1 (en) 1997-11-02 2001-07-31 Amazon.Com Holdings, Inc. Networked personal contact manager
AU1051101A (en) * 1999-10-27 2001-05-08 Zapper Technologies Inc. Context-driven information retrieval
WO2001040975A2 (en) 1999-12-03 2001-06-07 Rtse Usa, Inc. Method and system for managing web pages
DE60143491D1 (de) * 2000-03-16 2010-12-30 Poly Vista Inc System und methode zur analyse einer anfrage und zur erzeugung von antworten und damit verbundenen fragen
AUPQ673100A0 (en) 2000-04-06 2000-05-04 Limberis, Jim System and method for creating and searching web sites
KR100364351B1 (ko) 2000-08-03 2002-12-11 김광철 웹페이지 양식 채워넣기 시스템 및 그 방법
US7007008B2 (en) 2000-08-08 2006-02-28 America Online, Inc. Category searching
US8719703B2 (en) 2000-12-08 2014-05-06 Xerox Corporation Systems and methods for editing a web page
EP1331553A1 (en) * 2001-06-08 2003-07-30 Sap Ag Method and computer system for graphical assignments in hierarchies
AUPR580801A0 (en) 2001-06-19 2001-07-12 Newbrain Technologies Pty Ltd A user interface for constructing web pages to build a website
US7287227B2 (en) 2001-06-29 2007-10-23 Ve Enterprises Llc System and method for editing web pages in a client/server architecture
US20030023641A1 (en) 2001-07-27 2003-01-30 Gorman William Phillip Web page authoring tool
US20030225853A1 (en) 2001-10-18 2003-12-04 Wang John Y. Method and system for constructing a database-driven website
EP1326380B1 (en) * 2002-01-08 2006-04-12 Telefonaktiebolaget LM Ericsson (publ) Network selection for connectivity
KR20030079607A (ko) 2002-04-04 2003-10-10 이호용 인터넷을 이용한 홈페이지 제작 방법
AU2003900055A0 (en) 2003-01-06 2003-01-23 Concept Development Pty Ltd A method and system of web site construction
US20040135806A1 (en) 2003-01-14 2004-07-15 Craig Pickering Method for modifying groups of data fields in a web environment
US20050172261A1 (en) 2004-01-30 2005-08-04 Yuknewicz Paul J. Architecture for creating a user interface using a data schema
US8260764B1 (en) * 2004-03-05 2012-09-04 Open Text S.A. System and method to search and generate reports from semi-structured data
US20050229113A1 (en) * 2004-04-09 2005-10-13 Alcatel Highlighted objects window
US7533144B2 (en) 2004-05-14 2009-05-12 Hisham Kassab Method of providing a web page with additional content inserted in an intermediate network entity (INE) platform
US7316001B2 (en) * 2004-06-05 2008-01-01 Graphlogic Inc. Object process graph system
US7958115B2 (en) * 2004-07-29 2011-06-07 Yahoo! Inc. Search systems and methods using in-line contextual queries
US7584268B2 (en) 2005-02-01 2009-09-01 Google Inc. Collaborative web page authoring
US7617192B2 (en) * 2005-03-09 2009-11-10 Medio Systems, Inc. Method and system for capability content search with mobile computing devices
US7418715B2 (en) * 2005-04-08 2008-08-26 Microsoft Corporation System and method for producing and communicating requested data among networked application programs
US7536641B2 (en) 2005-04-29 2009-05-19 Google Inc. Web page authoring tool for structured documents
US7992102B1 (en) * 2007-08-03 2011-08-02 Incandescent Inc. Graphical user interface with circumferentially displayed search results
US7627548B2 (en) 2005-11-22 2009-12-01 Google Inc. Inferring search category synonyms from user logs
US20070136683A1 (en) * 2005-12-14 2007-06-14 Alcatel Graphical user interface for generic listing of managed objects
US20070214119A1 (en) * 2006-03-07 2007-09-13 Microsoft Corporation Searching within a Site of a Search Result
US20070220423A1 (en) 2006-03-15 2007-09-20 Digital River, Inc. Page Builder System and Method
JP4891638B2 (ja) * 2006-03-16 2012-03-07 ヤフー株式会社 目的データをカテゴリに分類する方法
US7457814B2 (en) * 2006-05-30 2008-11-25 Microsoft Corporation Multi-dimensional data classification for user interface customizations
US7890499B1 (en) * 2006-07-28 2011-02-15 Google Inc. Presentation of search results with common subject matters
US7904446B1 (en) * 2006-08-04 2011-03-08 Adobe Systems Incorporated Searchable menu system via keyword search
US8381180B2 (en) * 2006-09-08 2013-02-19 Sap Ag Visually exposing data services to analysts
US20080154874A1 (en) * 2006-12-21 2008-06-26 William Noah Schilit Providing more relevant answer to a query via query and/or answer processing
US20080168033A1 (en) * 2007-01-05 2008-07-10 Yahoo! Inc. Employing mobile location to refine searches
US20090024590A1 (en) * 2007-03-15 2009-01-22 Sturge Timothy User contributed knowledge database
US8195660B2 (en) * 2007-06-29 2012-06-05 Intel Corporation Method and apparatus to reorder search results in view of identified information of interest
US7937666B2 (en) 2007-07-03 2011-05-03 Apple Inc. Form-field mask for sensitive data
JP2009026249A (ja) * 2007-07-23 2009-02-05 Sharp Corp 閲覧履歴編集端末及びプログラムおよびその方法
JP2010536102A (ja) * 2007-08-08 2010-11-25 ベイノート,インク. コンテキストに基づくコンテンツレコメンデーションの方法及び装置
US8572094B2 (en) * 2007-08-17 2013-10-29 Google Inc. Ranking social network objects
CN101149757B (zh) * 2007-11-09 2010-12-08 腾讯科技(深圳)有限公司 一种实现场景化文字输入的方法
CN101437039B (zh) * 2007-11-15 2012-11-07 华为技术有限公司 一种移动搜索的方法、系统和设备
US8732155B2 (en) * 2007-11-16 2014-05-20 Iac Search & Media, Inc. Categorization in a system and method for conducting a search
CN101606151B (zh) 2007-12-06 2015-09-02 林浔屏 建立关系型表格数据库的方法和装置
US8965787B2 (en) 2007-12-17 2015-02-24 Smooth Productions Inc. Communications system and method for serving electronic content
US20090164929A1 (en) * 2007-12-20 2009-06-25 Microsoft Corporation Customizing Search Results
US7822742B2 (en) * 2008-01-02 2010-10-26 Microsoft Corporation Modifying relevance ranking of search result items
US9122743B2 (en) * 2008-01-30 2015-09-01 International Business Machines Corporation Enhanced search query modification
US8055675B2 (en) * 2008-12-05 2011-11-08 Yahoo! Inc. System and method for context based query augmentation
WO2010085523A1 (en) * 2009-01-21 2010-07-29 Metaweb Technologies, Inc. Graph store
US20100251156A1 (en) * 2009-03-31 2010-09-30 American Express Travel Related Services Company, Inc. Facilitating Discovery and Re-Use of Information Constructs
CN101887437B (zh) * 2009-05-12 2016-03-30 阿里巴巴集团控股有限公司 一种搜索结果生成方法及信息搜索系统
US8694505B2 (en) 2009-09-04 2014-04-08 Microsoft Corporation Table of contents for search query refinement
US9405841B2 (en) * 2009-10-15 2016-08-02 A9.Com, Inc. Dynamic search suggestion and category specific completion
US20120284253A9 (en) * 2009-12-01 2012-11-08 Rishab Aiyer Ghosh System and method for query suggestion based on real-time content stream
US8239364B2 (en) 2009-12-08 2012-08-07 Facebook, Inc. Search and retrieval of objects in a social networking system
US9129012B2 (en) * 2010-02-03 2015-09-08 Google Inc. Information search system with real-time feedback
US8180804B1 (en) 2010-04-19 2012-05-15 Facebook, Inc. Dynamically generating recommendations based on social graph information
US20110270850A1 (en) * 2010-04-30 2011-11-03 Microsoft Corporation Prioritization of Resources based on User Activities
US9189549B2 (en) * 2010-11-08 2015-11-17 Microsoft Technology Licensing, Llc Presenting actions and providers associated with entities
US9978022B2 (en) 2010-12-22 2018-05-22 Facebook, Inc. Providing context relevant search for a user based on location and social information
US9053208B2 (en) * 2011-03-02 2015-06-09 Microsoft Technology Licensing, Llc Fulfilling queries using specified and unspecified attributes
US9582591B2 (en) * 2011-03-11 2017-02-28 Microsoft Technology Licensing, Llc Generating visual summaries of research documents
CN102169501A (zh) * 2011-04-26 2011-08-31 北京百度网讯科技有限公司 基于搜索结果对应文档的类型信息生成摘要的方法与设备
CN102375885A (zh) * 2011-10-21 2012-03-14 北京百度网讯科技有限公司 一种提供与查询序列相对应的搜索建议的方法与设备
US20130166563A1 (en) * 2011-12-21 2013-06-27 Sap Ag Integration of Text Analysis and Search Functionality
US20130218919A1 (en) 2012-02-20 2013-08-22 Aleksey Solonchev Method and apparatus for managing content

Also Published As

Publication number Publication date
US20140025671A1 (en) 2014-01-23
WO2014015059A1 (en) 2014-01-23
JP2015522887A (ja) 2015-08-06
CA2878002C (en) 2019-08-27
AU2013292585B2 (en) 2017-07-27
MX2015000861A (es) 2015-04-09
CN104641371B (zh) 2019-07-30
KR101785597B1 (ko) 2017-10-16
CA2878002A1 (en) 2014-01-23
CN104641371A (zh) 2015-05-20
US10311063B2 (en) 2019-06-04
BR112015001047A2 (pt) 2017-06-27
TWI560562B (en) 2016-12-01
AU2013292585A1 (en) 2015-01-29
EP2688001A1 (en) 2014-01-22
IL236658A0 (en) 2015-02-26
TW201405345A (zh) 2014-02-01
MX354956B (es) 2018-03-27
IL236658B (en) 2018-03-29
JP6096901B2 (ja) 2017-03-15
US20150347525A1 (en) 2015-12-03
US9141707B2 (en) 2015-09-22

Similar Documents

Publication Publication Date Title
KR101785597B1 (ko) 소셜 네트워킹 시스템에서 컨텍스트-기반 객체 검색
US10311478B2 (en) Recommending content based on user profiles clustered by subscription data
US9390184B2 (en) Search and retrieval of objects in a social networking system
KR101686594B1 (ko) 소셜 관련성에 의한 객체의 순위화
JP6420481B2 (ja) オンライン・ソーシャル・ネットワーク上のキー・オーサーによるコンテンツの検索
US10165066B2 (en) Systems, methods, and apparatuses for implementing an interface to populate and update an entity graph through socially relevant user challenges
US8528053B2 (en) Disambiguating online identities
US11562660B2 (en) Methods and systems for presenting topic-specific biographical information of a user
JP2019507417A (ja) 多変数検索のためのユーザインターフェース
US20160373397A1 (en) Live social modules on online social networks
KR20210005733A (ko) 검색/생성된 디지털 미디어 파일을 기반으로 잠재적 관련성에 대한 주제 예측
US20130246432A1 (en) Providing content based on online topical trends
US8935299B2 (en) Identifying relevant data for pages in a social networking system
WO2010131013A1 (en) Collaborative search engine optimisation
US20170103073A1 (en) Identifying Expert Reviewers
EP2579201A1 (en) Method for managing a user profile within a social network
US11269940B1 (en) Related content searching
CN107004014A (zh) 有效地发现并且表面化内容属性
US20160019226A1 (en) Identifying video files of a video file storage system
CN117076148A (zh) 生成和呈现特定于消息传递线程且基于内容的效果
WO2014163804A1 (en) Claims-based querying in an online system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal