KR101506380B1 - 무한 브라우즈 - Google Patents

무한 브라우즈 Download PDF

Info

Publication number
KR101506380B1
KR101506380B1 KR1020127030859A KR20127030859A KR101506380B1 KR 101506380 B1 KR101506380 B1 KR 101506380B1 KR 1020127030859 A KR1020127030859 A KR 1020127030859A KR 20127030859 A KR20127030859 A KR 20127030859A KR 101506380 B1 KR101506380 B1 KR 101506380B1
Authority
KR
South Korea
Prior art keywords
entities
entity
search
article
search results
Prior art date
Application number
KR1020127030859A
Other languages
English (en)
Other versions
KR20130016339A (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 KR20130016339A publication Critical patent/KR20130016339A/ko
Application granted granted Critical
Publication of KR101506380B1 publication Critical patent/KR101506380B1/ko

Links

Images

Classifications

    • 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/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Computational Linguistics (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

온라인 기사는 기사로부터 추출된 엔티티들 및/또는 기사로부터 추출된 엔티티들과 관련된 엔티티들을 포함하는 보완 콘텐츠를 기사와 연계하여 표시함으로써 향상된다. 보완 콘텐츠는 엔티티들 각각에 대한 정보를 더 포함한다. 엔티티에 대한 정보는 하나 이상의 검색 가능한 데이터 저장소들에서 엔티티를 검색함으로써 획득될 수 있다. 예를 들어, 보완 콘텐츠는 각각의 엔티티에 대해 비디오, 이미지, 웹 및/또는 뉴스 검색 결과들을 포함할 수 있다. 보완 콘텐츠는 주식 시세, 초록, 지도, 스코어 등과 같은 정보를 더 포함할 수 있다. 엔티티들은 사용자 고유 정보, 시간 민감 인기 트렌드, 문법적 특징, 검색 결과 품질 등과 같은 상황 팩터들에 기초하여 다양한 분석 및 순위화 기술들을 이용하여 선택된다. 엔티티들은 광고 기반 수익 창출과 같은 목적들을 위해 더 선택될 수 있다.

Description

무한 브라우즈{INFINITE BROWSE}
실시예들은 일반적으로 콘텐츠 프레젠테이션에 관한 것으로서, 구체적으로는 맥락상 적절한 검색 결과들로 콘텐츠를 보완하기 위한 기술에 관한 것이다.
본 섹션에서 설명되는 접근법들은 추구될 수 있는 접근법들이지만, 이전에 구상되거나 추구된 접근법들은 아니다. 따라서, 달리 지시되지 않는 한, 본 섹션에서 설명되는 임의의 접근법들은 이들이 본 섹션에 포함되는 경우에만 종래 기술로서의 자격이 주어진다.
뉴스 기사, 블로그 엔트리, 이메일 등과 같은 온라인 콘텐츠 기사들을 보는 사람들(이하, "사용자들")은 사람, 장소, 조직, 주제, 제품 등(이하, "엔티티"라고 함)을 포함하는 다양한 기사 주체에 대한 더 많은 정보를 획득하는 것이 종종 유용하다. 풍부한 검색 가능 자원들이 이러한 정보를 제공하는 데 이용될 수 있지만, 다양한 이유로 인해 사용자들은 종종 이러한 자원들에서 이용 가능한 정보에 대한 액세스를 시도하지 않는다. 예컨대, 사용자는 기사 내의 엔티티들을 명확히 검색하는 프로세스가 지루한 것으로 느낄 수 있다. 또는, 사용자는 기사 내의 특정 엔티티에 대한 검색이 사용자의 관심 정보를 생성할 것이라는 것을 인식하지 못할 수 있다. 또는, 사용자는 기사 내의 관련 엔티티에 대한 검색이 사용자의 관심 정보를 생성할 것이라는 것을 인식하지 못할 수 있다. 또는, 사용자는 다양한 검색 가능 소스들의 존재를 인식하지 못할 수 있다.
이들 및 기타 문제들을 극복하기 위한 한 가지 접근법은 콘텐츠 제공자가 기사 내의 엔티티들에 대한 관심 정보를 수동으로 검색하고 그 정보를 기사에 포함시키는 것이다. 불행하게도, 이러한 접근법은 노동 집약적이며, 콘텐츠 제공자가 기사 내의 각각의 엔티티에 대해 이용 가능한 정보의 타입들을 알 수 있게 되는 것에 의존한다.
다른 한 가지 접근법은 콘텐츠를 사용자에게 전송하기 전에 콘텐츠를 미리 분석하고 잠재적 관심 엔티티들을 강조하는 것이다. 엔티티들은 관심 용어들의 사전을 이용하여 찾는다. 엔티티들은 예를 들어 하이퍼링크를 지시하는 텍스트 마크업들에 의해 강조될 수 있다. 사용자는 하이퍼링크 위를 클릭킹(clicking) 또는 호버링(hoveing)할 때 편집 정보 또는 검색 결과와 같은 강조된 엔티티에 대한 정보를 제공받는다.
관심 엔티티들을 식별하기 위한 현재의 접근법들은 편집자가 관심 엔티티들을 수동으로 사전에 추가할 것으로 요구한다는 점에서 한계가 있다. 편집자는 특정 기사 내의 어느 엔티티들이 그 기사와 관련하여 실제로 관심 엔티티들일 수 있는지를 일반 레벨에서는 예측하기 어렵다. 더욱이, 기사를 보는 상황은 끊임없이 변하므로, 사용자가 어느 엔티티들에 대해 관심을 가질지에 대한 사전 기반 예측을 행하는 것은 훨씬 더 어려워진다. 더구나, 기존의 기술들은 사용자가 엔티티에 대한 정보를 획득하기 위해 잠재적으로 불편한 단계들(예컨대, 링크를 클릭하는 단계 및 새로운 웹페이지의 로딩을 기다리는 단계 등)을 행할 것을 여전히 필요로 한다. 사용자는 엔티티에 대해 획득될 수 있는 정보의 품질에 대한 확신의 결여로 인해 그러한 단계들을 행하는 데 관심이 없을 수 있다. 더구나, 많은 기존의 접근법들은 사용자가 기사 내에 나타나지 않은 관련 엔티티들에 대한 정보에도 관심을 가질 수 있는 가능성을 고려하지 않는다.
본 발명은 첨부 도면들에 한정이 아니라 예시적으로 도시되며, 도면들에서 동일한 참조 번호들은 유사한 요소들을 나타낸다. 도면들에서:
도 1a는 콘텐츠 기사 및 첨부된 보완 콘텐츠의 디스플레이를 나타내는 예시적인 스크린샷이다.
도 1b 및 1c는 기사 콘텐츠와 함께 제공될 수 있는 보완물들의 대안 예를 나타낸다.
도 2는 본 명세서에서 설명되는 기술들을 실시할 수 있는 예시적인 시스템을 나타낸다.
도 3은 사용자에게 보완된 콘텐츠 기사를 제공하기 위한 예시적인 기술을 나타내는 흐름도이다.
도 4는 사용자에게 보완된 콘텐츠 기사를 제공하기 위한 다른 예시적인 방법을 나타내는 흐름도이다.
도 5는 기사에 대한 보완 콘텐츠를 생성하기 위한 예시적인 기술을 나타내는 흐름도이다.
도 6은 주요 엔티티들을 선택하기 위한 예시적인 기술을 나타내는 흐름도이다.
도 7은 관련 엔티티들을 선택하기 위한 예시적인 기술을 나타내는 흐름도이다.
도 8은 주요 엔티티들 및 주요 엔티티들에 대해 식별된 관련 엔티티들 모두를 포함하는 후보 엔티티 세트로부터 최종 엔티티 세트를 선택하기 위한 예시적인 기술을 나타내는 흐름도이다.
도 9는 본 발명의 실시예들을 구현할 수 있는 컴퓨터 시스템의 블록도이다.
아래의 설명에서는, 설명의 목적으로, 본 발명의 충분한 이해를 제공하기 위해 다양한 특정 상세들이 설명된다. 그러나, 본 발명은 이러한 특정 상세들 없이도 실시될 수 있다는 것을 알 것이다. 다른 예들에서는, 불필요하게 본 발명을 불명확하게 하지 않기 위해 공지 구조들 및 장치들은 블록도 형태로 도시된다.
본 명세서에서 실시예들은 아래의 대요에 따라 설명된다.
1.0. 일반 개요
2.0. 보완 콘텐츠의 디스플레이 예
3.0. 구조 개요
4.0. 기능 개요
4.1. 서버 개시 보완
4.2. 클라이언트 개시 보완
4.3. 보완물 생성
5.0. 구현 예들
5.1. 주요 엔티티들의 선택
5.2. 관련 엔티티들의 선택
5.3. 후보 엔티티들로부터의 최종 엔티티 세트의 선택
5.4. 품질 기반 기준들에 대한 엔티티들의 필터링
5.5. 보완 콘텐츠의 포맷팅
5.6. 사용자 개인화
5.7. 수익 창출(monetization)
5.8. 서버 최적화
5.9. 시간 민감도
5.10. 보완 서버 API
5.11. 기타
6.0. 구현 메커니즘 - 하드웨어 개요
7.0. 확장 및 대안
1.0. 일반 개요
사용자에 의해 액세스되는 콘텐츠를 비디오, 이미지, 정의, 지도, 검색 결과, 관련 링크 등과 같은 맥락상 적절한 또는 관련된 콘텐츠의 동적 결정된 스니펫들(snippets)로 보완함으로써 사용자의 브라우징 경험을 향상시키기 위한 접근법들, 기술들 및 메커니즘들이 개시된다. 이후 "보완 콘텐츠" 또는 "보완물"로서 참조되는 이러한 "스니펫들"은 관심 엔티티들을 식별할 뿐만 아니라, 이들 엔티티에 기초하는 검색 결과들로부터 얻어지는 이들 엔티티에 대한 관심 정보도 포함한다. 따라서, 일 실시예에서, 보완물들은 사용자들이 검색 엔진으로의 조회(query) 전송과 같은 잠재적으로 불편한 단계들을 수행할 필요 없이 그리고 콘텐츠 제공자를 대신하는 편집 프로그래밍에 대한 필요 없이 검색 경험을 시작할 수 있게 해준다.
보완 콘텐츠는 사용자에 의해 액세스되는 콘텐츠의 분석에 적어도 부분적으로 기초하여 생성된다. 일 실시예에 따르면, 각각의 보완물은 분석에 적어도 부분적으로 기초하여 선택된 하나 이상의 엔티티들에 대한 정보를 포함한다. 각각의 엔티티는 분석된 콘텐츠에 나오는 또는 그와 관련된 단어, 용어 또는 문구이다. 하나 이상의 엔티티들에 대한 정보는 하나 이상의 검색 엔진들 및/또는 데이터베이스들에서 하나 이상의 엔티티들에 대한 검색을 수행함으로써 생성된다. 보완물은 사용자 표적 광고와 같이 분석된 콘텐츠와 무관한 다른 정보를 더 포함할 수 있다.
일 실시예에 따르면, 각각의 보완물은 적어도 하나의 연합 검색 보고서를 포함하며, 연합 검색 보고서는 하나 이상의 검색 엔진들 및/또는 데이터베이스들에서 하나 이상의 엔티티들을 검색함으로써 생성된 검색 결과들을 포함한다. 일 실시예에서, 각각의 연합 검색 보고서는 다수의 서브섹션을 포함하며, 각각의 서브섹션은 상이한 데이터 카테고리에 대해 검색 결과들로부터 수집된 정보를 포함한다. 예컨대, 연합 검색 보고서는 하나 이상의 비디오 저장소들에 대한 하나 이상의 검색 결과들의 서브섹션, 하나 이상의 이미지 데이터 저장소들에 대한 하나 이상의 검색 결과들의 다른 서브섹션, 하나 이상의 뉴스 기사 저장소들에 대한 하나 이상의 검색 결과들의 또 다른 서브섹션, 및 하나 이상의 소셜 미디어 데이터 저장소들에 대한 하나 이상의 검색 결과들의 또 다른 서브섹션을 포함할 수 있다. 그러나, 다른 실시예들에서는, 상이한 저장소들로부터의 상이한 결과들이 단일 서브섹션 내에 함께 모일 수 있다.
일 실시예에 따르면, 각각의 보완물은 복수의 섹션을 포함하며, 각각의 섹션은 기사에 대해 선택된 상이한 엔티티에 대해 생성된다. 각각의 섹션은 예를 들어 그의 각각의 엔티티에 대한 연합 검색 보고서를 포함할 수 있다. 예컨대, 월드컵 축구 경기를 보고하는 기사에 대해 4개의 엔티티: 축구, 월드컵, 사우스 아프리카 및 USA가 식별된 것으로 가정한다. 기사에 대해 생성된 보완물은 2개의 상이한 섹션을 포함할 수 있고, 각각의 섹션은 4개의 식별된 엔티티 중 상이한 엔티티에 대한 상이한 연합 검색 보고서를 포함할 수 있다.
일 실시예에서, 보완물은 그가 도출된 콘텐츠의 기사와 연계하여 표시된다. 예컨대, 각각의 보완물은 보완물이 생성된 기사와 동일한 웹페이지 내에 - 사이드바 내에, 기사 위에 또는 기사 아래에 - 표시된다. 일 실시예에서, 각각의 보완물은 보완물을 표시하는 클라이언트가 임의의 주어진 시간에 하나의 엔티티에 대응하는 하나의 섹션만을 표시하게 하는 스크립트들, 코드 또는 기타 명령어들을 포함한다. 명령어들은 클라이언트가 상이한 엔티티들에 대응하는 다른 섹션들을 보이게 하기 위한 태브들(tabs) 또는 기타 컨트롤들을 표시하게 할 수도 있다. 그러나, 보완물 내의 정보는 다양한 다른 방식으로 표시될 수 있다.
일 실시예에서, 기사에 대한 엔티티들은 다수의 분석 및 순위화 프로세스에 기초하여 선택된다. 예를 들어, 주요 엔티티들이 기사로부터 추출된 후, 주요 엔티티들이 기사의 주제를 반영하는 정도를 정량화하기 위한 임의 수의 알고리즘에 따라 순위화될 수 있다. 다른 예로서, 관련 용어들의 저장소들에서의 주요 엔티티들의 검색에 기초하여 관련 엔티티들이 선택될 수 있다. 이어서, 관련 엔티티들은 이들의 주요 엔티티들에 대한 관련성을 측정하기 위한 다수의 알고리즘 중 임의의 알고리즘에 기초하여 순위화될 수 있다. 이어서, 주요 엔티티들 및 관련 엔티티들 모두가 함께 모이고 서로에 관하여 더 순위화될 수 있다. 일부 또는 모든 순위화 스테이지에서, 엔티티들은 기사에 대한 각각의 엔티티의 관련성의 크기; 사용자에 대한 각각의 엔티티의 관련성의 크기; 최근 검색, 뉴스 또는 소셜 미디어 트렌드에 의해 지시되는 바와 같은 각각의 엔티티의 인기의 크기; 각각의 엔티티에 대해 얻어진 검색 결과들의 유용성의 크기 등을 포함하는 다양한 팩터에 기초하여 더 또는 대신 순위화될 수 있다. 일부 또는 모든 순위화 스테이지에서, 순위화 프로세스에 기초하여 소정의 엔티티들이 보완물 내에 포함시키기 위한 고려 대상에서 제외될 수 있다. 예컨대, 순위화 스테이지들의 일부 또는 전부 후에, 사전 정의된 수의 엔티티만이 선택될 수 있다. 다른 예로서, 사전 정의된 임계치를 초과하는 관련성 스코어를 갖는 엔티티들만이 선택될 수 있다.
일 실시예에서는, 사용자가 특정 콘텐츠 기사를 요청하는 것에 응답하여, 사용자의 요청에 응답하여 실행되는 서버측 또는 클라이언트측 명령어들의 결과로서, 그 콘텐츠 기사에 대한 보완물이 동적으로 생성된다. 일 실시예에서, 검색 제공자는 보완물 생성 서비스를 제공하며, 따라서 콘텐츠 개발자들, 콘텐츠 호스터들, 콘텐츠 디스플레이 애플리케이션들 및/또는 배경 애플리케이션들은 콘텐츠 기사들을 제출하고, 그 보답으로 그 콘텐츠에 대해 생성된 보완물들을 수신할 수 있다. 예를 들어, 웹 호스팅 제공자는 웹페이지가 브라우저에 의해 요청될 때 웹페이지를 브라우저에 반환하기 전에 보완물 생성 서비스를 통해 그가 호스트하는 웹페이지를 자동으로 공급할 수 있다. 따라서, 웹 호스팅 제공자는 보완 콘텐츠에 대한 관련 정보를 수동으로 식별할 필요 없이 그가 호스트하는 임의의 페이지 내에 상황에 민감한 보완 콘텐츠를 자동으로 삽입할 수 있는 권한을 갖는다. 다른 예로서, 사용자는 툴바 내의 컨트롤의 선택시에 사용자가 현재 보고 있는 웹페이지(또는 웹페이지 주소)를 보완물 생성 서비스로 전송하는 브라우저 툴바를 제공받을 수 있다. 그 보답으로, 툴바는 사용자에게 표시할 보완 콘텐츠를 수신한다.
다른 양태들에서, 본 발명은 전술한 단계들을 수행하도록 구성된 컴퓨터 장치 또는 컴퓨터 판독 가능 매체를 포함한다.
2.0. 보완 콘텐츠의 디스플레이 예
도 1a는 콘텐츠 기사(110) 및 첨부 보완물(120)의 디스플레이(100)를 나타내는 예시적인 스크린샷이다. 디스플레이(100)는 예를 들어 기사(110) 및 보완물(120)이 삽입된 웹페이지일 수 있다. 콘텐츠 기사(110)는 뉴스 기사이며, 텍스트(112) 및 이미지(114)를 둘 다 포함한다. 보완물(120)은 기사(110)의 끝에 표시된다. 텍스트(112)는 많은 요소 중에 특히 주요 엔티티들(131: "Jay Leno", 132: "David Letterman", 135: "Conan O'Brien")을 포함한다. 주요 엔티티들(131, 132)은 물론, 관련 엔티티들(133: "Ben McKenzie", 134: "Late Night with Jimmy Fallon")도 보완물(120)을 생성하기 위해 선택되었다. 따라서, 엔티티들(131-134)은 보완물(120)의 꼭대기에 있는 헤더 바에 표시된다. 보완물(120)의 나머지 가시 부분은 관련 엔티티(133)에 대한 정보의 섹션(143)이다. 그러나, 엔티티들 중 임의의 엔티티(131, 133 또는 134)를 선택하면, 섹션(143)은 선택된 엔티티(131, 133 또는 134)에 대응하는 보완물(120)의 숨겨진 섹션으로 대체될 수 있다.
섹션(143)은 4개의 서브섹션(151-154)을 포함하며, 각각의 섹션은 상이한 정보 저장소로부터의 검색 결과들을 반영한다. 서브섹션(151)은 뉴스 데이터베이스에서 주요 엔티티(133)를 검색함으로써 찾아낸 뉴스 기사의 제목 및 초록을 표시한다. 서브섹션(152)은 비디오 데이터베이스에서 주요 엔티티(133)를 검색함으로써 찾아낸 비디오에 대한 정보에 기초하는 비디오 미리보기 및 제목을 표시한다. 서브섹션(153)은 이미지 데이터베이스에서 주요 엔티티(133)를 검색함으로써 찾아낸 이미지 및 이미지 메타데이터를 표시한다. 서브섹션(154)은 슬라이드쇼 데이터베이스에서 주요 엔티티(133)를 검색함으로써 찾아낸 슬라이드쇼 미리보기 및 메타데이터를 표시한다.
서브섹션들(151-154) 중 특정 서브섹션의 강조된 부분을 예를 들어 그 위를 클릭함으로써 선택하면, 사용자가 전체 비디오, 뉴스 기사 또는 슬라이드쇼와 같은 더 상세한 데이터로 안내되므로, 서브섹션들(151-154) 각각의 부분들은 선택 가능하다. 서브섹션들(151-154) 각각은 단 하나의 검색 결과로부터 도출된 정보를 포함하지만, 다른 실시예들에서는 각각의 서브섹션이 임의 수의 검색 결과들로부터 도출된 정보를 포함할 수 있다.
보완물(120)은 사용자로 하여금 추가적인 정보 서브섹션들을 내놓도록 섹션(143)을 스크롤할 수 있게 하는 내비게이션 바(129)를 더 포함한다.
도 1b 및 1c는 기사(110)에 대한 보완물(120) 대신에 제공될 수 있는 보완물들(160, 180)의 대안 예들이다. 도 1b는 상이한 엔티티 세트 - 주요 엔티티(131), 관련 엔티티들(133, 134) 및 주요 엔티티(135) -를 포함하는 보완물(160)을 나타낸다. 주요 엔티티(135)는 사용자 개인화, 관련성을 계산하는 데 사용된 데이터의 시간 민감도 및 수익 창출 팩터들을 포함하는 다양한 이유로 인해 보완물(160)에 대해 주요 엔티티(132) 대신 선택되었을 수 있다.
도 1b의 섹션(163)은 도 1의 섹션(143)과 다른 서브섹션들(171-174)의 세트를 포함한다. 서브섹션들(171-174)은 이미지 저장소, 사진 저장소, 뉴스 기사 저장소 및 인기 검색 조회 저장소 각각에 대한 검색 결과들에 대응한다. 서브섹션(171)은 복수의 이미지를 포함하는 반면, 서브섹션(172)은 인라인 비디오를 포함한다. 서브섹션들(173, 174)은 상이한 검색 결과에 각각 대응하는 복수의 링크를 포함한다. 서브섹션들(171-173) 각각은 그들 각각의 저장소들로부터 더 많은 검색 결과를 얻기 위한 링크(165)를 포함한다.
도 1c는 도 1b의 보완물(120)과 동일한 엔티티들을 포함하지만, 그의 섹션(183)이 도 1a의 섹션(143)의 서브섹션들(151-154)과 유사한 서브섹션들(191-194)을 포함하는 보완물(180)을 나타낸다. 서브섹션들(191-194)은 주로, 이들 각각이 이들 각각의 아이템들의 생성 또는 변경 시간을 지시하는 타임스탬프들(195)을 포함한다는 점에서, 서브섹션들(151-154)과 다르다. 서브섹션들(191-194)은 이들의 최상위 결과가 얼마나 최근에 생성되었는지에 의해 분류된다.
도 1a-1c는 사용자에게 보완물(120)을 제공할 수 있는 단지 한가지 방식을 나타낸다. 다른 실시예들에서, 보완물(120)은 기사(110)에 대해 웹페이지 내의 상이한 위치들에 나타날 수 있거나, 팝업 윈도, 외부 윈도 또는 별개의 디스플레이에 나타날 수 있다. 예컨대, 보완물(120)은 툴바 또는 데스크탑 위젯에 의해 표시될 수 있다. 보완물(120) 내의 정보는 임의 수의 가능한 레이아웃으로 정리될 수 있다. 예를 들어, 보완물(120) 내의 추가적인 또는 심지어 모든 엔티티 섹션들이 클릭킹 또는 스크롤링 없이도 보완물 내에 나타날 수 있다. 더구나, 보완물(120) 내의 정보는 보완물에 대해 선택된 엔티티들, 각각의 엔티티에 대해 이용 가능한 정보의 성질, 및 기사(110)를 보는 사용자와 같은 팩터들에 따라 달라질 수 있다. 일 실시예에서, 섹션(143)은 서브섹션들로 반드시 분할될 필요는 없고, 최상위 검색 결과들이 그들이 소스에 관계없이 제공되는 단일 서브섹션을 포함할 수 있다.
3.0. 구조 개요
도 2는 본 명세서에서 설명되는 기술들을 실시할 수 있는 예시적인 시스템(200)을 나타낸다. 시스템(200)은 클라이언트(210), 콘텐츠 서버(220), 보완 서버(230), 엔티티 추출 컴포넌트(240), 하나 이상의 관련 엔티티 식별 컴포넌트들(250), 하나 이상의 엔티티 순위화 컴포넌트들(260), 하나 이상의 검색 컴포넌트들(270) 및 하나 이상의 사용자 이력 컴포넌트들(280)을 포함한다. 본 명세서에서 설명되는 기술들을 실시할 수 있는 다른 시스템들은 대안적인 배열의 유사한 요소들 및/또는 추가적인 또는 생략된 요소들을 포함할 수 있다.
사용자는 콘텐츠 서버(220)에 의해 제공되는 콘텐츠(222)에 액세스하기 위하여 클라이언트(210)를 동작시킨다. 예를 들어, 클라이언트(210)는 사용자에게 웹페이지들의 형태로 콘텐츠(222)를 제공하는 웹 브라우저일 수 있으며, 콘텐츠 서버(220)는 그러한 웹페이지들을 클라이언트(210)로 전송하는 것을 담당하는 웹 서버일 수 있다. 클라이언트(210)는 콘텐츠 서버(220)로부터 콘텐츠(222)의 상이한 기사들(224)을 다운로드하기 위한 요청들(221)을 전송한다. 기사들(224)은 사용자 생성 콘텐츠의 특정 아이템들이고, 텍스트, 이미지 및 비디오를 포함한다. 기사들(224)의 일부 또는 전부는 블로그 엔트리, 뉴스 기사, 참조 기사, 논평, 지시 문서, 이메일 등과 같은 완전한 사용자 작성 저작물들일 수 있다.
콘텐츠 서버(220)는 기사들(224)을 전송함으로써 요청들(221)에 응답한다. 일 실시예에서, 각각의 기사(224)는 하이퍼-텍스트 마크업 언어(HTML) 파일 또는 확장형 마크업 언어(XML) 스트림의 요소와 같은 구조화된 객체 내에서 클라이언트(210)로 전송된다. 각각의 구조화된 객체는 기사(224) 외에 다른 요소들을 포함할 수 있다. 이러한 요소들은 사진 또는 비디오와 같이 기사를 설명하거나 그와 관련된 미디어 아이템들; 클라이언트(210)의 기사(224)의 프레젠테이션에 영향을 미치는 포맷팅 명령어들; 헤더, 풋터 및 사이드바와 같은 내비게이션 컴포넌트들; 광고들; 기사 메타데이터; 및 클라이언트(210)로 하여금 다양한 액션들을 수행하게 하기 위한 코딩된 명령어들을 포함할 수 있지만, 이에 한정되지 않는다.
콘텐츠 서버(220)는 각각의 기사(224)의 구조화된 객체 내의 삽입을 담당하거나 담당하지 않을 수 있다. 예컨대, 콘텐츠 서버(220)는 데이터베이스 또는 파일 시스템 내에 기사들(224)의 저장소를 유지할 수 있다. 특정 기사(224)가 요청될 때, 콘텐츠 서버(220)는 요청된 기사(224)를 검색하고, (예를 들어, 마크업 명령어들 및 내비게이션 컴포넌트들을 포함하는) 적절한 구조화된 객체를 생성하고, 요청된 기사(224)를 구조화된 객체 내에 삽입하고, 구조화된 객체로 요청에 응답한다. 이와 달리, 콘텐츠 서버(220)는 기사(224)가 적절한 구조화된 객체(예로서, 웹페이지) 내에서 콘텐츠 서버(220)에 이미 저장된 때에는 어떠한 처리도 없이 기사(224)를 클라이언트(210)로 중계할 수 있다.
클라이언트(210) 및 콘텐츠 서버(220) 중 하나 또는 양자는 보완물들(232)에 대한 요청들(231)을 보완 서버(230)로 전송한다. 이에 응답하여, 보완 서버는 콘텐츠(222)와 함께 표시할 보완물들(232)을 반환한다. 각각의 보완물(232)은 콘텐츠(222)의 특정 기사(224) 내의 또는 그와 관련된 하나 이상의 엔티티들에 대한 정보의 집합이다. 정보는 예를 들어 하나 이상의 엔티티들을 이용하여 하나 이상의 저장소들에 조회하거나 이들에 대해 임의의 다른 타입의 탐색 동작을 수행함으로써 얻어진 검색 결과들의 형태를 가질 수 있다. 일 실시예에서, 각각의 보완물(232)은 복수의 엔티티에 대한 연합 검색 결과들을 포함한다. 연합 검색 결과들은 예를 들어, 이미지, 비디오, 관련 콘텐츠에 대한 링크, 참조 데이터, 접촉 정보, 지도 등을 포함할 수 있다. 각각의 보완물(232)은 단일 데이터 구조 - 예를 들어, 단일 데이터 스트림 또는 단일 HTML 또는 XML 요소 - 내에서 반환된다.
보완 서버(230)는 클라이언트(210) 또는 콘텐츠 서버(220)로부터 온더플라이로(on-the-fly) 보완 서버(230)로 지시되는 기사들(224)에 기초하여 보완물들(232) 중 적어도 일부를 동적으로 생성한다. 생성되면, 보완 서버(230)는 또한 보완물(232)이 생성된 특정 기사(224)에 대한 보완물에 대한 미래의 요청들에 응답하여 서빙할 보완물(232)을 캐싱할 수 있다.
보완물(232)을 생성하기 위하여, 보완 서버(230)는 다양한 백엔드 컴포넌트들을 이용할 수 있다. 보완 서버(230)는 기사로부터 엔티티들을 추출하기 위하여 하나 이상의 엔티티 추출 컴포넌트들(240)에 의존할 수 있다. 엔티티 추출 컴포넌트들(240)은 기사를 입력하고 그 기사로부터 추출된 복수의 엔티티를 출력할 수 있는 한은 다양한 형태를 취할 수 있다. 적절한 엔티티 추출 컴포넌트의 일례는 야후사의 Contextual Analysis Platform(이하, "CAP")이다. 또 하나의 예는 Stanford Named Entity Recognizer이다.
보완 서버(230)는 하나 이상의 관련 엔티티 식별 컴포넌트들(250)에 더 의존할 수 있다. 다시, 하나 이상의 관련 엔티티 식별 컴포넌트들(250)은 추출된 엔티티, 미디어 아이템 또는 적어도 기사의 일부와 같은 입력에 기초하여 하나 이상의 관련 엔티티들을 출력할 수 있는 한은 다양한 형태를 취할 수 있다. 일 실시예에서, 하나 이상의 관련 엔티티 식별 컴포넌트들(250)은 검색 조회 로그들, 사람 입력 관계 데이터 및 기사들의 집합의 콘텐츠를 각각 분석함으로써 관련성을 결정하는 적어도 3개의 시스템을 포함한다. 그러한 시스템들의 예들은 각각 야후사의 Seaview 시스템, 다양한 제목의 참조 엔트리들 간의 관계들을 정의하는, 사람에 의해 채워진 카테고리 데이터를 포함하는 Wikipedia 데이터베이스; 및 미국 공보 제2009/0083278호에 설명된 바와 같이 기사들의 집합 내의 다양한 엔티티 쌍들의 시간-감쇠 카테고리 동시 발생 빈도들을 정의하는 사회적 관심 발견 시스템들을 포함하며, 상기 공보의 전체 내용은 이들 전체에서 설명되는 바와 같이 모든 목적들을 위해 이하에 참고로 포함된다.
보완 서버(230)는 엔티티 관련성 스코어들 또는 순위들을 제공하기 위하여 하나 이상의 엔티티 순위화 컴포넌트들(260)에 더 의존할 수 있다. 보완 서버(230)는 이러한 스코어들 또는 순위들을 이용하여, 엔티티들을 우선 순위화하고 필터링하며, 따라서 보완물들(232)은 그들의 대응하는 기사들(224) 내의 또는 이들과 관련된 엔티티들 중 맥락상 가장 적절한 엔티티들에 대한 정보만을 포함한다. 보완 서버(230)는 관련 엔티티들을 식별하는 데 사용되는 추출 엔티티들의 수의 제한; 특정 추출 엔티티에 대해 식별된 관련 엔티티들의 수의 제한; 및 보완물(232) 내에서 정보가 제공되는 추출 및 관련 엔티티들의 수의 제한 중 일부 또는 전부를 포함하는 다양한 목적을 위해 하나 이상의 엔티티 순위화 컴포넌트들(260)에 의존할 수 있다. 하나 이상의 엔티티 순위화 컴포넌트들(260) 중 일부 또는 전부는 엔티티 추출 컴포넌트(240) 또는 하나 이상의 관련 엔티티 식별 컴포넌트들(250) 내에 논리적으로 통합될 수 있다. 예컨대, 보완 서버(230)는 CAP에 의해 제공되는 순위화 기능들을 이용할 수 있다. 또는, 하나 이상의 엔티티 순위화 컴포넌트들(260) 중 일부 또는 전부는 논리적으로 독립적일 수 있다. 예를 들어, 보완 서버(230)는 그 자신의 맞춤 순위화 기능들을 이용하거나, 전술한 "Activity Based Users' Interests Modeling For Determining Content Relevance"에 설명된 바와 같은 트렌딩 시스템에 조회할 수 있다.
하나 이상의 순위화 컴포넌트(260)는 다양한 소스로부터의 데이터에 의존할 수 있으며, 임의 수의 목적을 위해 관련성을 결정하도록 최적화될 수 있다. 예를 들어, 하나 이상의 순위화 컴포넌트들(260)은 특정 보완물(232)에 대한 엔티티들이 클라이언트(210)의 사용자가 보완물(232)을 볼 때 "클릭-스루(click-through)"할 검색 결과들을 산출한 가능성이 얼마인지에 기초하여 그러한 엔티티들을 순위화하도록 최적화될 수 있다. 다른 예로서, 하나 이상의 순위화 컴포넌트들(260)은 최근 뉴스 또는 트렌딩 데이터 내의 엔티티들의 인기도에 기초하여 엔티티들을 순위화하도록 최적화될 수 있다.
보완 서버(230)는 보완물들(232)에서 설명되는 엔티티들에 대한 검색 결과들을 생성하기 위해 하나 이상의 검색 컴포넌트들(270)에 더 의존할 수 있다. 하나 이상의 검색 컴포넌트들은 임의 수의 검색 엔진, 데이터베이스 및 기타 저장소를 포함할 수 있으며, 이들은 아래에서 검색 저장소들로서 공동으로 참조된다. 상이한 검색 저장소들 중 일부 또는 전부는 상이한 타입의 검색 가능 데이터를 포함할 수 있다. 예를 들어, 각각의 저장소는 "수직 검색(search vertical)" - 예로서, 웹 검색, 이미지, 비디오, 뉴스 등에 대응할 수 있다. 일 실시예에서, 각각의 검색 저장소는 별개의 검색 엔진 또는 데이터베이스이다. 일 실시예에서, 검색 저장소들 중 일부 또는 전부는 동일 엔진 또는 데이터베이스 내의 상이하게 분류된 데이터 세트들일 뿐이다.
일 실시예에서, 하나 이상의 검색 컴포넌트(270)는 야후사의 Query Planner와 같은 검색 결과 맞춤화 컴포넌트를 더 포함할 수 있다. 맞춤화 컴포넌트는 엔티티에 대한 정보를 어느 검색 엔진들 또는 저장소들에 조회할지를 계획하는 작업, 연합 검색 결과들의 레이아웃을 구성하는 작업, 및 어느 엔티티들이 양 또는 질에 대한 지정된 임계치들을 충족시키는 검색 결과들을 산출하지 못하는지를 지시하는 작업을 포함하는 다양한 작업을 담당할 수 있다.
보완 서버(230)는 특정 사용자(212)에 대해 보완물들(232)을 맞춤화하기 위해 하나 이상의 사용자 이력 컴포넌트들(280)에 더 의존할 수 있다. 예컨대, 보완 서버(240)는 사용자 이력 컴포넌트들(280)에 의해 제공되는 데이터를 하나 이상의 순위화 컴포넌트들(260)에 의해 실행되는 순위화 기능들을 위한 특징들로서 이용할 수 있다. 하나 이상의 사용자 이력 컴포넌트들(280)은 예를 들어 사용자 검색 및 검색 세션 이력들은 물론, 일반 사용자 브라우징 이력들도 포함할 수 있다.
일 실시예에서, 콘텐츠 서버(220) 및 보완 서버(230)는 상이한 장치들 상에서 실행된다. 콘텐츠 서버(220)는 콘텐츠(222)를 제공하는 콘텐츠 제공자(또는 콘텐츠 제공자 대신에 웹 호스팅 제공자)에 의해 운영되는 하나 이상의 장치들 상에서 실행된다. 보완 서버(230)는 콘텐츠 제공자와 다른 보완물 제공자에 의해 운영되는 하나 이상의 장치들 상에서 실행된다. 일 실시예에서, 보완물 제공자는 다양한 컴포넌트들(240-280) 중 일부 또는 전부를 제공하는 검색 제공자이기도 하다. 따라서, 컴포넌트들(240-280) 중 일부 또는 전부는 검색 제공자에 의해 운영되는 다른 장치들 상에서 실행될 수 있거나, 보완 서버(230)와 동일한 하나 이상의 장치들 상에서 실행될 수 있거나, 보완 서버(230) 내에 논리적으로 통합될 수도 있다. 컴포넌트들은 검색 제공자의 백엔드 네트워크(290)를 통해 서버에 모두 접속될 수 있다. 일 실시예에서, 보완 서버(230)가 의존하는 컴포넌트들 중 일부 또는 전부는 검색 제공자가 아닌 다른 엔티티들에 의해 제공되며, 따라서 보완 서버(230)가 실행되는 하나 이상의 장치들과 다른 장치들 상에서 실행되고, 네트워크(290)와 다른 네트워크들을 통해 보완 서버(230)에 접속된다.
본 명세서에서 사용될 때, "서버"라는 용어는 단일 컴퓨팅 장치에서 실행되는 단일 서버 컴포넌트로 한정되는 것이 아니라, 서버에 의해 제공되는 것으로 설명되는 기능을 공동으로 제공하기 위해 다수의 컴퓨팅 장치에서 실행되는 다수의 서버 컴포넌트를 지칭할 수도 있다. 또한, "컴포넌트"라는 용어는 예를 들어 단일 컴퓨팅 장치에서 실행되는 명령어들의 단일 인스턴스 또는 다수의 컴퓨팅 장치에서 실행되는 명령어들의 다수의 인스턴스를 지칭할 수 있다.
4.0. 기능 개요
4.1. 서버 개시 보완
도 3은 사용자에게 보완된 콘텐츠 기사를 제공하기 위한 예시적인 기술을 설명하는 흐름도(300)이다. 흐름도(300)는 보완 콘텐츠를 제공하기 위한 프로세스의 하나의 예를 나타낼 뿐이다. 다른 프로세스들은 동일한 또는 상이한 순서들로 배열되는 더 많거나 적은 또는 상이한 단계들을 포함할 수 있다.
단계 310에서, 클라이언트(210)와 같은, 콘텐츠를 표시하기 위한 클라이언트가 콘텐츠 기사에 대한 요청을 콘텐츠 서버(220)와 같은 콘텐츠 서버로 전송한다. 예컨대, 사용자가 웹 브라우저를 동작시켜 웹 서버로부터 기사를 포함하는 웹페이지를 요청할 수 있다.
단계 320에서, 요청에 응답하여, 콘텐츠 서버는 기사를 검색한다. 예를 들어, 콘텐츠 서버는 하나 이상의 데이터베이스들 또는 저장 장치들로부터 기사를 검색할 수 있다.
단계 330에서, 콘텐츠 서버는 보완 서버(230)와 같은 보완 서버로부터 기사에 대한 보완물을 요청한다. 예를 들어, 보완 서버는 그러한 요청들을 수신하기 위한 애플리케이션 프로그램 인터페이스(API)를 표시할 수 있다. API에 따라, 콘텐츠 서버는 기사 자체 및/또는 파일 경로, 데이터베이스 레코드 식별자, 또는 기사를 검색할 수 있는 위치를 지정하는 유니폼 리소스 로케이터와 같은 기사에 대한 참조물을 포함하는, 보완물이 요청되는 기사를 지시하는 데이터를 요청에 포함시킬 수 있다.
단계 340에서, 단계 330의 요청에 응답하여, 보완 서버는 기사에 기초하여 보완물을 생성한다. 보완 서버는 부분적으로는 임의 수의 검색 저장소들로부터 정보를 조회함으로써 보완물을 생성한다. 보완 서버는 그의 조회들을 임의 수의 기사 콘텐츠 분석들, 순위화 프로세스들 및/또는 필터링 프로세스들의 결과로서 선택된 엔티티들에 근거한다. 보완물을 생성하기 위한 기술들은 본 명세서 전반에서 더 상세히 설명된다.
단계 350에서, 보완 서버는 보완물을 콘텐츠 서버에 반환한다. 예컨대, 보완 서버는 선택된 엔티티들에 대해 검색 저장소들로부터 검색된 정보를 삽입하고 포맷하는 HTML 코드의 스니펫의 형태로 보완물을 반환할 수 있다.
단계 360에서, 보완물의 수신시에, 콘텐츠 서버는 적어도 기사 및 보완물을 포함하는 구조화된 문서를 생성한다. 기사 및 보완물이 반환되는 구조화된 문서는 클라이언트에 의한 표시를 위한 다른 아이템들은 물론, 구조화된 문서 내에 아이템들을 어떻게 포맷하고 표시할지에 대한 명령어들을 더 포함할 수 있다. 예를 들어, 콘텐츠 서버는 기사의 콘텐츠, 보완물을 포함하는 사이드바, 표시된 페이지의 다양한 양태들을 동적으로 변경하기 위한 자바스크립트 명령어들 및 다양한 내비게이션 또는 장식 컴포넌트들로 구성되는 HTML 문서를 생성할 수 있다. 콘텐츠 서버는 예를 들어 기사, 사이드바, 템플릿 및 기타 정보를 페이지 렌더링 컴포넌트에 입력함으로써 구조화된 문서를 생성할 수 있다.
단계 370에서, 구조화된 문서의 생성시에, 콘텐츠 서버는 기사를 포함하는 구조화된 문서를 클라이언트로 전송함으로써 단계 330의 요청에 응답한다.
단계 380에서, 단계 370에서 수신된 구조화된 문서에 기초하여, 클라이언트는 기사의 콘텐츠 및 보완물을 표시한다. 예컨대, 구조화된 문서가 웹페이지인 경우, 클라이언트는 웹페이지를 분석하고, 마크업 및 기타 명령어들에 기초하여, 클라이언트를 동작시키는 사용자에게 표시하기 위해 적어도 기사 및 보완물을 렌더링할 수 있다.
4.2. 클라이언트 개시 보완
도 4는 사용자에게 보완된 콘텐츠 기사를 제공하기 위한 예시적인 방법을 나타내는 흐름도(400)이다. 흐름도(400)는 보완 콘텐츠를 제공하기 위한 프로세스의 제2 예를 나타낼 뿐이다. 또 다른 프로세스들은 동일한 또는 상이한 순서들로 배열된 더 많거나 적은 또는 상이한 단계들을 포함할 수 있다.
단계 410에서, 클라이언트(210)와 같은, 콘텐츠를 표시하기 위한 클라이언트가 콘텐츠 기사에 대한 요청을 콘텐츠 서버(220)와 같은 콘텐츠 서버로 전송한다. 예를 들어, 사용자가 웹 브라우저를 동작시켜 웹 서버로부터 웹페이지를 요청할 수 있다.
단계 420에서, 요청에 응답하여, 콘텐츠 서버는 기사를 검색한다. 예를 들어, 콘텐츠 서버는 하나 이상의 데이터베이스들 또는 저장 장치들로부터 기사를 검색할 수 있다.
단계 430에서, 기사의 검색시에, 콘텐츠 서버는 적어도 기사를 포함하는 구조화된 문서를 생성한다. 예컨대, 콘텐츠 서버는 기사의 콘텐츠를 헤더, 풋터, 사이드바 및/또는 기타 내비게이션 또는 장식 아이템과 함께 웹페이지 내에 삽입할 수 있다. 대안으로서, 기사는 적절한 구조화된 문서 내에 이미 저장되었을 수 있으며, 따라서 이 단계는 불필요해진다.
단계 440에서, 콘텐츠 서버는 기사를 포함하는 구조화된 문서를 클라이언트로 전송함으로써 단계 420의 요청에 응답한다.
단계 450에서, 단계 370에서 수신된 구조화된 문서에 기초하여, 클라이언트는 기사의 콘텐츠를 표시한다. 예컨대, 구조화된 문서가 웹페이지인 경우, 클라이언트는 웹페이지를 분석하고, 마크업 및 기타 명령어들에 기초하여, 클라이언트를 동작시키는 사용자에게 표시하기 위해 적어도 기사를 렌더링할 수 있다.
단계 460에서, 보완 애플리케이션 - 클라이언트 또는 클라이언트와 연계하여 동작하는 다른 애플리케이션 -이 기사에 대한 보완물을 위한 요청을 보완 서버(230)와 같은 보완 서버로 전송한다. 예를 들어, 보완 서버는 그러한 요청들을 수신하기 위한 애플리케이션 프로그램 인터페이스(API)를 표시할 수 있다. API에 따라, 보완 애플리케이션은 기사의 콘텐츠 및/또는 파일 경로, 데이터베이스 레코드 식별자, 또는 기사를 검색할 수 있는 위치를 지정하는 유니폼 리소스 로케이터와 같은 기사에 대한 참조물을 포함하는, 보완물이 요청되는 기사를 지시하는 데이터를 요청에 포함시킬 수 있다.
단계 470에서, 보완 서버는 단계 340과 관련하여 그리고 본 명세서 전반에서 설명되는 바와 같이 기사에 기초하여 보완물을 생성한다.
단계 480에서, 보완 서버는 보완물을 보완 애플리케이션으로 반환한다. 일 실시예에서, 보완물은 HTML 및/또는 스크립트 명령어들로서 포맷되어 반환된다.
단계 490에서, 보완 애플리케이션은 기사와 연계하여 보완물을 표시한다. 단계 490은 이후 임의의 시간에 단계 450과 관련하여 수행될 수 있다.
일 실시예에서, 클라이언트 또는 클라이언트 플러그-인 컴포넌트는 단계 460-490의 보완 애플리케이션으로서 역할한다. 예를 들어, 클라이언트는 구조화된 문서 내로부터의 명령어들에 응답하여 이러한 역할을 맡을 수 있다. 구조화된 문서는 구조화된 문서 내에서 기사를 식별하고, 보완물에 대한 요청을 보완 서버로 전송하고, 이어서 페이지 또는 팝업 윈도의 동적 로딩 섹션 내에 보완물을 표시하도록 클라이언트에 지시하는 스크립트를 포함할 수 있다. 명령어들은 클라이언트가 구조화된 문서를 렌더링할 때 자동으로, 또는 웹페이지 내에서 또는 클라이언트의 인터페이스 내에서 버튼 또는 링크와 같은 컨트롤의 사용자 선택에 응답하여 실행될 수 있다. 대안으로서, 클라이언트 또는 클라이언트 플러그-인 컴포넌트는 유사한 명령어들을 실행하도록 하드-코딩될 수 있다.
일 실시예에서, 클라이언트와 동일한 컴퓨팅 장치에서 실행되는 다른 애플리케이션이 보완 애플리케이션으로서 역할한다. 다른 애플리케이션은 예를 들어 이동 장치 상에서 실행되는 배경 애플리케이션, 데스크탑 컴퓨터에서 실행되는 위젯, 또는 임의의 다른 적절한 애플리케이션일 수 있다. 다른 애플리케이션은 클라이언트와 통신하여, 클라이언트에 의해 현재 표시되고 있는 콘텐츠의 기사를 식별하도록 구성된다. 이어서, 다른 애플리케이션은 보완물에 대한 요청을 보완 서버로 전송한다. 다른 애플리케이션은 응답으로 보완물을 수신한 때 컴퓨팅 장치에서 다른 윈도에 보완물을 표시한다. 윈도는 클라이언트의 기사 표시 옆에 표시될 수 있거나, 클라이언트의 기사 표시를 완전히 대체할 수 있다. 다른 애플리케이션은 사용자 입력에 응답하여 기사를 식별하고, 보완물을 요청하고 그리고/또는 보완물을 표시할 수 있다. 또는, 다른 애플리케이션은 클라이언트가 표시하는 임의의 콘텐츠 기사에 대해 이러한 단계들 중 일부 또는 전부를 자동으로 수행하도록 구성될 수 있다.
4.3. 보완물 생성
도 5는 콘텐츠 기사에 대한 보완 콘텐츠를 생성하기 위한 예시적인 기술을 나타내는 흐름도(500)이다. 흐름도(500)의 단계들은 예를 들어 도 4의 단계 470 또는 도 3의 단계 340에 따라 보완물을 생성하기 위해 보완 서버에 의해 구현될 수 있다. 흐름도(500)는 보완 콘텐츠를 생성하기 위한 프로세스의 일례를 나타낼 뿐이다. 다른 프로세스들은 동일한 또는 상이한 순서들로 배열된 더 많거나 적은 또는 상이한 단계들을 포함할 수 있다.
단계 510에서, 보완 서버(230)와 같은 서버가 기사에 대한 콘텐츠 또는 메타데이터로부터 복수의 구성 엔티티를 추출한다. 복수의 구성 엔티티 내의 각각의 구성 엔티티는 콘텐츠 또는 메타데이터 내에 나타나는 상이한 엔티티이다. 다양한 기술을 이용하여 콘텐츠로부터 엔티티들을 추출할 수 있다. 일 실시예에서, 기사 내의 각각의 고유 단어는 구성 엔티티로서 간주된다. 일 실시예에서, 구성 엔티티들은 구문론적 그리고/또는 의미론적 콘텐츠 분석을 이용하여 통계적으로 의미 있는 단어들 또는 문구들을 식별함으로써 식별될 수 있다. 일 실시예에서, 기사 내의 모든 고유한 적절한 명사들이 구성 엔티티들로서 식별된다. 일 실시예에서, 구성 엔티티들은 사전 정의된 관심 엔티티들의 사전에서 단어들 또는 단어들의 조합을 탐색함으로써 식별된다. 다른 변형들은 추가적인 분석들은 물론, 전술한 실시예들의 조합들에 의존할 수 있다.
단계 520에서, 서버는 복수의 구성 엔티티로부터 주요 엔티티들의 세트를 선택한다. 이를 행하기 위해, 서버는 각각의 엔티티에 대해 하나 이상의 순위화 프로세스들을 수행할 수 있다. 프로세스들은 각각의 구성 엔티티에 대한 스코어들 및/또는 구성 엔티티들의 순위 리스트를 생성한다. 순위는 기사 내의 각각의 엔티티의 위치, 콘텐츠 내에 엔티티가 나타나는 빈도, 엔티티가 나타나는 문장들의 언어학적 구조, 및 엔티티가 속하는 것으로 분류되는 엔티티 타입 - 예를 들어, 사람 이름, 조직 이름 또는 장소 이름 -을 포함하지만 이에 한정되지 않는 다수의 팩터에 기초할 수 있다. 일 실시예에서, 순위는 기사의 콘텐츠로부터의 엔티티의 제거가 콘텐츠의 주요 화제 또는 주제의 손실로 이어진다는 점에서 엔티티의 "관계성(aboutness)"의 크기, 즉 엔티티가 기사 전체와 얼마나 관련되어 있는지에 대한 크기를 적어도 부분적으로 지시한다. 순위는 또한 또는 대신에 사용자 또는 사용자 그룹에 대한 엔티티의 관련성 또는 최근 뉴스 화제에 대한 엔티티의 적절성과 같은 각각의 엔티티의 다른 양태들을 정량화하는 기능을 할 수 있다. 일 실시예에서는, 사전 정의된 수의 최상위 주요 엔티티들만이 선택된다. 일 실시예에서는, 임계 스코어보다 높은 스코어를 가진 주요 엔티티들만이 선택된다.
단계 530에서, 서버는 기사에 기초하여 관련 엔티티들의 세트를 식별한다. 예를 들어, 서버는 관련 엔티티들의 하나 이상의 데이터베이스들에서 주요 엔티티들의 세트 내의 각각의 엔티티에 대한 관련 엔티티들을 탐색할 수 있다. 다른 예로서, 서버는 전체 기사, 구성 엔티티들의 세트 또는 주요 엔티티들의 세트를 관련 엔티티 식별 컴포넌트들(250)과 같은 하나 이상의 관련 엔티티 식별 컴포넌트들에 제공할 수 있다.
일 실시예에서, 관련 엔티티들의 세트는 후보 관련 엔티티들의 세트를 먼저 식별한 후에 하나 이상의 순위화 프로세스들에 기초하여 후보 관련 엔티티들의 세트를 필터링함으로써 식별된다. 프로세스들은 각각의 관련 엔티티에 대한 스코어들 및/또는 관련 엔티티들의 하나 이상의 순위 리스트들을 생성한다. 관련 엔티티들의 순위화는 본원 전반에서 설명되는 바와 같은 다수의 팩터에 기초할 수 있다. 일 실시예에서, 각각의 관련 엔티티는 그가 발견된 주요 엔티티에 대한 그의 관련성의 크기들에 적어도 부분적으로 기초하여 순위화된다. 그러한 크기들의 팩터들은 주요 엔티티 및 관련 엔티티의 분류, 양 용어가 동일 검색 세션 동안 기록 데이터 내에 나타나는 빈도, 및 양 용어가 문서들의 세트 내의 동일 문서 내에 나타나는 빈도를 포함할 수 있지만 이에 한정되지 않는다. 일 실시예에서는, 사전 정의된 수의 최상위 관련 엔티티들만이 각각의 주요 엔티티를 위해 선택된다. 일 실시예에서는, 임계 스코어보다 높은 스코어를 가진 관련 엔티티들만이 선택된다.
단계 540에서, 서버는 하나 이상의 주요 엔티티들의 세트 및 하나 이상의 관련 엔티티들의 세트를 모아서, 기사에 대한 보완 콘텐츠에 포함시킬 후보들인 후보 엔티티들의 세트를 형성한다.
단계 550에서, 서버는 후보 엔티티들의 세트 내의 각각의 엔티티를 순위화하여, 각각의 후보 엔티티에 대한 스코어들 및/또는 후보 엔티티들의 순위 리스트를 생성한다. 다시, 서버는 다양한 순위화 프로세스들에 의존할 수 있다. 일 실시예에서, 서버는 클릭 스루 레이트를 최적화하기 위한 순위화, 더 큰 기사 세트에 걸치는 엔티티 커버리지를 최적화하기 위한 순위화 또는 광고들 또는 검색 결과들로부터 수익을 최적화하기 위한 순위화를 포함하는 상이한 목적들을 위한 상이한 순위화 프로세스들을 이용할 수 있다. 순위화 프로세스들은 엔티티와 관련된 검색 수익, 주요 엔티티 "관계성" 스코어, 관련 엔티티들의 이들 각각의 주요 엔티티에 대한 관련성 순위, 특정 사용자 또는 사용자 그룹에 대한 관련성, 각각의 엔티티에 대한 검색 결과들이 서버에 의해 이전에 제공된 보완물들 내에 나타나고 그리고/또는 클릭된 빈도, 및 검색 로그들, 브라우징 이력들 및 최근 뉴스 또는 소셜 미디어 기사들 내의 각각의 엔티티의 출현의 빈도에 의해 지시되는 바와 같은 각각의 엔티티의 인기도의 시간에 민감한 크기들을 포함하지만 이에 한정되지 않는 다양한 팩터들에 기초할 수 있다. 이러한 팩터들의 일부는 구성 엔티티들 또는 후보 관련 엔티티들의 순위화에서도 역할할 수 있다는 점에 유의한다.
단계 560에서, 서버는 적어도 단계 550의 순위화에 기초하여 후보 엔티티들의 세트를 필터링하여, 엔티티들의 최종 세트를 생성한다. 일 실시예에서는, 사전 정의된 수의 최상위 후보 엔티티들만이 엔티티들의 최종 세트를 위해 선택된다. 일 실시예에서는, 임계 스코어보다 높은 스코어를 가진 후보 엔티티들만이 선택된다.
일 실시예에서는, 엔티티들의 최종 세트를 선택함에 있어서 추가적인 필터들이 이용된다. 예를 들어, 서버는 최상위 후보 엔티티로부터 시작하고 사전 정의된 수의 엔티티들이 선택될 때까지 계속해서 각각의 엔티티를 처리하여, 그가 소정 기준들을 충족시키는 것을 보증할 수 있다. 엔티티가 사전 정의된 기준들을 충족시키는 경우, 이 엔티티는 엔티티들의 최종 세트로 선택된다. 사전 정의된 기준들은 예를 들어 엔티티에 대해 얻어진 검색 결과들의 품질(예로서, 엔티티에 대한 검색 결과들의 관련성의 크기), 엔티티에 대해 얻어진 검색 결과들의 수, 검색 결과들의 사전 정의된 카테고리들의 세트 각각에 대해 얻어진 검색 결과들의 수(예로서, 서버는 각각의 최종 엔티티가 적어도 하나의 비디오, 2개의 사진 및 3개의 뉴스 검색 결과를 가질 것을 요구할 수 있다), 검색 결과들이 소정 타겟 도메인들(예로서, 뉴스 기관들, 고수익 도메인들 또는 사용자가 애호하는 도메인들)에 대한 적어도 사전 정의된 수의 히트들을 포함하는지의 여부, 및 검색이 소정 타겟 도메인들(예로서, 최근 검색 결과들에서 너무 자주 반환된 도메인들 또는 품질이 낮고 그리고/또는 부당한 것으로 식별된 도메인들)에 대한 너무 많은 검색 결과들을 피하는지의 여부를 포함할 수 있다.
일 실시예에서, 전술한 필터링 단계들은 또한 또는 대신에 주요 및/또는 관련 엔티티들을 선택할 때 수행될 수 있다.
단계 570에서, 엔티티들의 최종 세트 내의 각각의 특정 엔티티에 대해, 서버는 특정 엔티티를 검색 용어로서 이용하여 하나 이상의 검색 저장소들에 대해 하나 이상의 조회들을 실행한다. 예를 들어, 서버는 비디오 저장소, 웹페이지 저장소 또는 Wikipedia 데이터베이스에서 엔티티들의 최종 세트 내의 각각의 엔티티를 검색할 수 있다. 서버가 이 단계에 따라 검색을 수행할 수 있는 다른 가능한 저장소들은 비디오, 이미지, 웹페이지, 오디오 파일, 뉴스 기사, 소셜 미디어, 블로그 엔트리, 영화 메타데이터, 이벤트 달력, 주식 시세, 지도, 스포츠 스코어, 선적 추적 데이터, 사전 엔트리, 참조 엔트리 등의 저장소들을 포함하지만 이에 한정되지 않는다.
일 실시예에서, 검색되는 저장소들은 사전 정의된다. 일 실시예에서, 검색 저장소들은 서버로부터 보완물을 요청하는 엔티티에 의해 지정될 수 있다. 일 실시예에서, 저장소들은 보완물이 생성되는 기사의 타입 또는 주제 분류에 따라 달라질 수 있다. 일 실시예에서, 저장소들은 엔티티 자체에 따라 다르다. 예를 들어, 서버는 관련성, 사용자 선호 및 수익과 같은 팩터들에 기초하여 다수의 사전 정의된 저장소 중에서 어느 저장소들이 최적의 검색 결과들을 생성할지를 결정하는 조회 계획 컴포넌트로 엔티티를 전송할 수 있다. 예를 들어, 조회 계획 유닛은 비디오, 음악 및 소셜 미디어 저장소 각각에서의 검색들이 "Black Eyed Peas" 엔티티에 대해 최적일 수 있는 것으로 결정할 수 있지만, Wikipedia 데이터베이스 및 뉴스 기사들의 집합에 대한 검색들은 "Ghana" 엔티티에 대해 최적일 것으로 결정할 수 있다.
단계 580에서, 서버는 서버가 엔티티들의 최종 세트 내의 엔티티들 각각에 대한 하나 이상의 조회들을 실행한 결과로서 검색된 정보의 일부 또는 전부를 정리하고 포맷함으로써 보완물을 생성한다. 서버는 각각의 엔티티에 대한 섹션을 생성하며, 각각의 섹션은 해당 엔티티에 대해 얻어진 검색 결과들 중 적어도 일부를 포함한다. 섹션들은 예를 들어 단계 550의 순위화에 따라 정리될 수 있으며, 따라서 가장 관련된 섹션이 최초로 리스트되고 그리고/또는 최초로 나타나게 된다. 또는, 섹션들은 소정의 다른 순서, 예를 들어 사용자 선호 및/또는 광고 수익에 기초하여 정리될 수 있다. 서버는 다양한 템플릿 또는 레이아웃 규칙들에 따라 포맷팅을 수행하여, 기사에 대한 보완물을 생성한다. 정보를 보완물로서 포맷하기 위한 예시적인 기술들은 본 명세서의 다른 섹션들에서 설명된다. 포맷팅은 예를 들어 연합 검색 컴포넌트로 오프로딩될 수 있다.
5.0. 구현 예들
5.1. 주요 엔티티들의 선택
도 6은 주요 엔티티들을 선택하기 위한 예시적인 기술을 나타내는 흐름도(600)이다. 흐름도(600)의 단계들은 예를 들어 도 5의 단계 510 및 520에 따라 주요 엔티티들을 식별하고 선택하기 위해 하나 이상의 엔티티 추출 컴포넌트들과 협동하는 보완 서버에 의해 구현될 수 있다. 흐름도(600)는 주요 엔티티들을 식별하기 위한 프로세스의 일례일 뿐이다. 다른 프로세스들은 동일한 또는 상이한 순서들로 배열된 더 많거나 적은 또는 상이한 단계들을 포함할 수 있다.
단계 610에서, 보완 서버는 사전 기반 엔티티 추출 컴포넌트를 이용하여 기사로부터 엔티티들의 제1 세트를 추출한다. 그러한 컴포넌트의 일례는 전술한 CAP이지만, 임의의 사전 기반 추출 컴포넌트가 이용될 수 있다. 사전 기반 추출 컴포넌트는 기사의 콘텐츠를 분석하여, 사전 정의된 엔티티들의 데이터베이스 내에 저장된 엔티티들을 찾을 수 있다. 추출 컴포넌트는 옵션으로서 엔티티들을 순위화 및/또는 필터링할 수 있다.
단계 620에서, 보완 서버는 옵션으로서 개념들 또는 장소 이름들로서 분류된 엔티티들을 엔티티들의 제1 세트로부터 제거한다.
단계 630에서, 보완 서버는 이름 엔티티 인식 컴포넌트를 이용하여, 기사로부터 엔티티들의 추가적인 제2 세트를 추출한다. 그러한 컴포넌트의 일례는 문법 기반 Stanford Named Entity Recognizer 시스템이지만, 임의의 이름 엔티티 인식 컴포넌트가 이용될 수 있다. 이름 엔티티 인식 컴포넌트는 사람, 조직 또는 장소와 같은 기사의 콘텐츠 내의 "이름 엔티티들"을 인식하기 위해 다양한 자연어 처리 기술들에 의존한다. 이름 엔티티 인식 컴포넌트는 사전 기반 엔티티 추출 컴포넌트를 보완하는데, 이는 이들 양자가 나머지 컴포넌트가 놓쳤을 수 있는 엔티티들을 획득할 수 있기 때문이다.
단계 640에서, 보완 서버는 엔티티들의 제1 세트와 엔티티들의 제2 세트를 병합하여 고유 후보 주요 엔티티들의 세트를 생성한다.
단계 650에서, 후보 주요 엔티티들은 기사 내의 이들의 발생 빈도에 의해 그리고 이어서 기사 내의 이들의 위치들에 의해 분류된다.
단계 660에서, 사전 정의된 임계치 아래의 빈도를 갖는 모든 엔티티들을 후보 주요 엔티티들의 세트로부터 제거하여, 주요 엔티티들의 세트를 생성한다. 예를 들어, 주요 엔티티들의 세트는 기사 내에 두 번 이상 나타나는 엔티티들만을 포함할 수 있다.
단계 670에서, 주요 엔티티들의 세트가 임의 수의 다른 필터링 기준들에 기초하여 더 필터링될 수 있다. 예를 들어, 주요 엔티티들의 세트는 도 7에 도시된 단계들에 따라 관련 엔티티가 식별된 주요 엔티티들만을 포함하도록 필터링될 수 있다.
5.2. 관련 엔티티들의 선택
도 7은 관련 엔티티들을 선택하기 위한 예시적인 기술을 나타내는 흐름도(700)이다. 흐름도(700)의 단계들은 예를 들어 도 5의 단계 530에 따라 관련 엔티티들을 식별하고 선택하기 위해 하나 이상의 관련 엔티티 식별 컴포넌트들과 협동하는 보완 서버에 의해 구현될 수 있다. 흐름도(700)는 관련 엔티티들을 식별하기 위한 프로세스의 일례를 나타낼 뿐이다. 다른 프로세스들은 동일한 또는 상이한 순서들로 배열된 더 많거나 적은 또는 상이한 단계들을 포함할 수 있다.
단계 710에서, 보완 서버는 관련 엔티티들을 찾을 기사로부터 추출된 프로브(probe) 엔티티들의 세트를 식별한다. 예를 들어, 보완 서버는 흐름도(600)의 단계들에 따라 식별된 주요 엔티티들의 세트를 프로브 엔티티들로서 이용할 수 있다.
단계 720에서, 보완 서버는 하나 이상의 관련 엔티티 식별 컴포넌트들을 이용하여, 프로브 엔티티들의 세트 내의 각각의 엔티티에 대한 후보 관련 용어들의 세트를 식별한다. 일 실시예에서는, 적어도 3개의 관련 엔티티 식별 컴포넌트가 프로브 엔티티들 각각에 대해 이용되며, 3개의 컴포넌트는 각각 검색 조회 로그들, 사람 입력 관계 데이터, 및 주어진 기간(예로서, 지난 6개월) 동안 수집된 기사들의 집합의 콘텐츠에 포커싱된다.
단계 730에서, 후보 관련 용어들의 각각의 세트로부터 논-엔티티 결과 용어들(non-entity resulted terms)을 제거하여, 프로브 엔티티들 각각에 대한 후보 관련 엔티티들의 세트를 산출한다. 논-엔티티 결과 용어들은 예를 들어 사전 탐색 또는 웹 검색을 통해 식별될 수 있다.
단계 740에서, 프로브 엔티티들의 세트 내의 각각의 프로브 엔티티에 대해, 프로브 엔티티의 후보 관련 엔티티들의 대응 세트 내의 각각의 관련 엔티티에 대해, 보완 서버는 주어진 기간 동안 수집된 기사들의 집합 내의 프로브 관련 엔티티 쌍에 대한 동시 발생 빈도 스코어를 계산한다. 즉, 각각의 후보 관련 엔티티는 후보 관련 엔티티가 관련 엔티티를 찾은 프로브 엔티티와 동일한 문서에 나타나는 횟수에 기초하여 스코어링된다.
일 실시예에서는, 기사들의 집합 내의 문서들의 복수의 카테고리 각각에 대해 개별 카테고리 동시 발생 빈도 스코어들이 계산된다. 이어서, 최상위 카테고리 동시 발생 빈도 스코어들, 예를 들어 3개의 최상위 카테고리 동시 발생 빈도 스코어에 기초하여 후보 관련 엔티티에 대한 전체 동시 발생 빈도 스코어가 계산된다.
일 실시예에서는, 시간 감쇠 기능들을 이용하여 동시 발생 빈도 스코어들을 계산할 수 있는데, 이는 새로운 문서들 내의 프로브 관련 엔티티 쌍의 동시 발생이 덜 새로운 문서들 내의 프로브 관련 엔티티 쌍의 동시 발생보다 무겁게 가중되기 때문이다.
옵션으로서, 단계 750에서, 보완 서버는 기사가 속하는 카테고리에 대한 사전 정의된 임계치 아래의 카테고리 동시 발생 빈도 스코어를 갖는 임의의 후보 관련 엔티티를 필터링한다. 일 실시예에서, 단계 740에서의 전체 동시 발생 빈도 스코어들은 기사가 속하는 카테고리에 대한 카테고리 동시 발생 빈도 스코어에 기초하여 무겁게 또는 완전히 가중될 수 있다.
단계 760에서, 단계 740에서 식별된 동시 발생 빈도 스코어들에 기초하여 후보 관련 엔티티들의 각각의 세트를 필터링하여, 각각의 프로브 엔티티에 대한 관련 엔티티들의 세트를 산출한다. 이러한 세트들의 수퍼세트는 예를 들어 도 5의 단계 530의 목적을 위해 관련 엔티티들의 세트로서 사용될 수 있다. 예를 들어, 임계 스코어 아래의 동시 발생 빈도 스코어들을 갖는 후보 관련 엔티티들이 제거될 수 있다. 또는, 2개의 최상위 관련 엔티티가 주어진 프로브 엔티티에 대해 선택될 수 있다.
단계 770에서, 임의 수의 다른 필터링 기준들에 기초하여 관련 엔티티들의 세트가 더 필터링될 수 있다.
5.3. 후보 엔티티들로부터의 최종 엔티티 세트의 선택
도 8은 주요 엔티티들 및 주요 엔티티들에 대해 식별된 관련 엔티티들 모두를 포함하는 후보 엔티티들의 세트로부터 엔티티들의 최종 세트를 선택하기 위한 예시적인 기술을 나타내는 흐름도(800)이다. 흐름도(800)의 단계들은 예를 들어 도 5의 단계 550에 따라 엔티티들을 순위화하기 위해 하나 이상의 엔티티 순위화 컴포넌트들과 협동하는 보완 서버에 의해 구현될 수 있다. 일 실시예에서, 흐름도(800)의 단계들 중 일부 또는 전부는 또한 또는 대신에 후보 주요 또는 관련 엔티티들을 순위화할 때 수행될 수 있다. 흐름도(800)는 엔티티들의 최종 세트를 선택하기 위한 프로세스의 일례를 나타낼 뿐이다. 다른 프로세스들은 동일 또는 상이한 순서들로 배열된 더 많거나 적은 또는 상이한 단계들을 포함할 수 있다.
단계 810에서, 모든 주요 엔티티들, 즉 기사 내에 나타나는 모든 엔티티들이 다른 섹션들에서 설명된 바와 같이 "관계성" 스코어 또는 유사한 순위 스코어에 따라 순위화된다.
단계 820에서, 보완 서버는 단계 810에서 최고로 순위화된 후보 주요 엔티티를 식별한다. 또는, 단계 820이 단계들 820-880의 제1 반복 후에 수행되고 있는 경우에, 보완 서버는 아직 고려되지 않은 최고 순위 후보 주요 엔티티를 선택한다.
단계 830에서, 보완 서버는 주요 엔티티에 대한 검색 결과들을 획득한다.
단계 835에서, 단계 830에서 획득된 검색 결과들이 다른 섹션들에서 설명된 바와 같이 소정의 사전 결정된 품질 제약들을 충족시키는 경우, 주요 엔티티는 엔티티들의 최종 세트에 추가된다.
단계 840에서, 보완 서버는 후보 엔티티들의 세트 내에서 단계 820의 주요 엔티티에 기초하여 발견된 관련 엔티티들의 세트를 식별한다.
단계 850에서, 주요 엔티티들에 대한 관련 엔티티들의 세트가 예를 들어 이전 섹션에서 설명된 동시 발생 순위화 알고리즘에 기초하여 순위화된다.
단계 860에서, 보완 서버는 이전에 고려되지 않은 최고 순위 관련 엔티티에 대한 검색 결과들을 획득한다.
단계 865에서, 단계 860에서 획득된 검색 결과들이 다른 섹션들에서 설명된 바와 같이 소정의 사전 정의된 품질 제약들을 충족시키는 경우, 관련 엔티티는 엔티티들의 최종 세트에 추가된다.
단계 870에서, 보완 서버는 관련 엔티티들의 세트 내의 사전 정의된 수의 엔티티들이 엔티티들의 최종 세트에 추가되었는지 또는 관련 엔티티들의 세트 내의 모든 엔티티들이 고려되었는지를 결정한다. 이러한 조건들 중 어느 것도 충족되지 않은 경우, 흐름은 단계 860으로 복귀한다. 그렇지 않은 경우, 흐름은 단계 880으로 진행한다. 일 실시예에서, 보완 서버는 사전 정의된 품질 제약들을 충족시키는 검색 결과들을 산출하기 위해 임의의 주어진 특정 엔티티에 대한 그의 관련 엔티티들의 고려 대상을 제1 관련 엔티티로만 제한한다. 일 실시예에서는, 관련 엔티티들의 사전 정의된 수가 정의되지 않으며, 특정 엔티티와 관련된 모든 관련 엔티티들에 대해 단계 860 및 865가 반복된다.
단계 880에서, 보완 서버는 사전 정의된 수의 후보 엔티티들이 엔티티들의 최종 세트에 추가되었는지 또는 모든 후보 엔티티들이 고려되었는지를 결정한다. 이러한 조건들 중 어느 것도 충족되지 않은 경우, 흐름은 단계 820으로 복귀한다. 그렇지 않은 경우, 흐름은 단계 890으로 진행한다. 예를 들어, 보완 서버는 엔티티들의 최종 세트의 크기를 4로 제한할 수 있다.
단계 890에서, 엔티티들의 최종 세트가 정의된 것으로 간주한다.
5.4. 품질 기반 기준들에 대한 엔티티들의 필터링
일 실시예에 따르면, 단계 865 및 835에서는 물론, 본 명세서 전반에서 설명되는 검색 품질 제약들은 전체적으로 반환된 검색 결과들의 수, 소정의 수직 검색들 또는 카테고리들에서 반환된 검색 결과들의 수 및 조회에 대한 검색 결과들의 관련성의 크기들을 포함하는 임의 수의 팩터들에 기초할 수 있다.
일 실시예에서, 보완 서버는 관련성 임계치를 충족시키지 못하는 검색 결과들 또는 적어도 최상위 검색 결과(들)를 갖는 엔티티들을 필터링하기 위해 조회 계획 컴포넌트 및 하나 이상의 검색 컴포넌트들 모두의 의견을 구한다. 임의의 적절한 관련성 순위화 알고리즘을 이용하여, 관련성의 크기를 산출할 수 있다. 일 실시예에서, 각각의 검색 결과 타입은 관련성을 결정하기 위한 상이한 알고리즘 및/또는 상이한 관련성 임계치를 가질 수 있다. 예를 들어, 뉴스 집합 내에서의 엔티티에 대한 검색은 엔티티에 대한 각각의 뉴스 기사의 관련성의 맞춤화된 크기에 기초하여 검색 결과에서 뉴스 기사들을 순위화하는 것을 포함할 수 있는 반면, 표준 웹 저장소 내에서의 엔티티에 대한 검색은 엔티티에 대한 관련성의 더 일반적인 크기에 의해 검색 결과에서 웹 문서들을 순위화하는 것을 포함할 수 있다. 어느 경우에나, 조회 계획 컴포넌트 및/또는 검색 컴포넌트들은 관련성의 크기들을 응답으로서 보완 서버로 전달하며, 이어서 보완 서버는 엔티티에 대한 관련성의 크기들이 개별적으로 또는 함께 최소 관련성 스코어를 충족시키는 것을 보증한다.
일 실시예에서, 보완 서버는 다양한 검색 백엔드로부터 검색 결과들을 가져온 후에 각각의 선택된 엔티티가 소정 카테고리들에서 사전 정의된 수의 검색 결과들을 갖도록 엔티티들을 필터링한다. 예를 들어, 보완 서버는 각각의 엔티티가 관련 웹 검색 조회들에 대해 적어도 2개의 품질 이미지 결과, 하나의 품질 비디오 결과, 3개의 품질 뉴스 기사 결과 및 6개의 품질 결과를 산출하는 것을 보증하도록 구성될 수 있다. 보완 서버는 엔티티에 대한 중복 검색 결과들을 무시한다.
일 실시예에서, 보완 서버는 엔티티의 검색 결과들이 적어도 하나의 사전 정의된 연합 결과 템플릿을 채우기에 충분한 검색 결과들을 산출하는 것을 보증한다. 각각의 템플릿은 상이한 수직 검색들에 대해 상이한 수의 결과들을 요구할 수 있다. 예컨대, 이전 단락에서 설명된 기준들은 표준 뉴스 템플릿의 요구를 반영할 수 있다. 그러나, 엔티티가 표준 뉴스 템플릿의 요구에 따르는 품질 비디오 검색 결과를 산출하지 못할 수 있지만, 그럼에도 엔티티는 상이한 연합 결과 템플릿에 의해 요구되는 바와 같이 참조 데이터베이스에서 고품질 검색 결과를 산출할 수 있다.
5.5. 보완 콘텐츠의 포맷팅
일 실시예에서, 각각의 보완물은 엔티티들의 최종 세트 내의 각각의 엔티티는 물론, 엔티티들의 최종 세트 내의 각각의 엔티티에 대한 연합 검색 결과들도 포함한다. 각각의 엔티티 및 그의 연합 검색 결과들에 대해 별개의 섹션이 정의될 수 있다. 모든 섹션들은 동시에 보일 수 있거나, 소정 섹션들은 처음에 부분적으로 숨겨진 후에 그들 각각의 엔티티들 대한 제목 바들을 클릭함으로써 보이게 될 수 있다. 이 때문에, 보완물들은 보완물을 어떻게 표시해야 하는지에 관하여 클라이언트에게 지시하는 명령어들 및/또는 마크업 언어를 더 포함할 수 있다. 일 실시예에서, 최고 순위 엔티티에 대응하는 섹션은 처음에 완전히 보이는 반면, 나머지 섹션들은 사용자에 의해 선택될 때까지 부분적으로 숨겨진 상태로 유지된다. 일 실시예에서, 보완물에 포함되거나 보완물에 의해 참조되는 코드의 결과로서, 사용자의 개입 없이, 가시 섹션이 주기적으로 회전된다.
일 실시예에서, 검색 결과들은 하나 이상의 템플릿들에 따라 보완물 내에 구성된다. 템플릿은 기사 및/또는 의도된 디스플레이 장치에 대한 보완물의 의도된 배치에 기초하여 달라질 수 있다. 예를 들어, 표준 웹페이지에서 사이드바 내에 나타나는 보완물에 대해 하나의 템플릿이 정의될 수 있고, 표준 웹페이지 내의 기사 바로 아래의 섹션에 나타나는 사이드바에 대해 다른 템플릿이 정의될 수 있고, 이동 웹 브라우저 내의 보완물의 표시를 위해 또 다른 템플릿이 정의될 수 있고, 팝업 보완물에 대해 또 다른 템플릿이 정의될 수 있으며, 기타 등등일 수 있다.
일 실시예에서, 검색되는 정보에 따라, 상이한 레이아웃들이 적합할 수 있다. 예를 들어, 특정 엔티티에 대한 검색들이 고품질 비디오, 이미지 및 블로그 결과들을 산출한 경우, 서버는 보완물의 좌측에 최고 순위 비디오를, 보완물의 중앙에 3개의 최고 순위 이미지를, 그리고 보완물의 우측에 블로그 기사들에 대한 링크들을 포함하는 보완물을 생성할 수 있다. 한편, 특정 엔티티에 대한 검색들이 주식 시세, Wikipedia 초록 및 고품질 뉴스 결과들을 산출한 경우, 보완물은 보완물의 좌측에 Wikipedia 초록을, 보완물의 우상에 주식 시세를, 그리고 보완물의 우하에 첨부된 설명을 갖는 뉴스 기사들에 대한 링크들을 포함하도록 구성될 수 있다. 일 실시예에서는, 조회 계획 및/또는 연합 검색 컴포넌트들을 이용하여 각각의 엔티티에 대한 적절한 레이아웃을 결정한다.
5.6. 사용자 개인화
일 실시예에서, 보완 서버는 사용자 고유 데이터를 이용하여, 주요 엔티티들, 관련 엔티티들 및 후보 엔티티들을 순위화 또는 재순위화한다. 순위화들이 적어도 부분적으로 기초로 할 수 있는 사용자 고유 데이터의 타입들은 검색 조회 이력들, 콘텐츠 브라우징 이력들, 사용자 식별 선호들 및 기타 사용자 거동 데이터를 포함하지만, 이에 한정되지 않는다. 그러한 데이터는 임의의 적절한 수단을 이용하여 사용자 액션들을 모니터링함으로써 수집된 후에 사용자 이력 컴포넌트(280)에 의해 의존되는 바와 같은 저장소 내에 저장될 수 있다. 일 실시예에서, 사용자 고유 데이터에 더하여 또는 그 대신에, 보완 서버는 사용자가 회원으로 있는 사용자들의 그룹에 고유한 유사한 데이터에 적어도 부분적으로 기초하여 순위화를 행할 수 있다.
따라서, 상이한 사용자들에 의해 동시에 요청되는 기사는 개별 사용자들에 대해 또는 개별 사용자들이 속하는 그룹들에 대해 맞춤화된 상이한 보완물들을 생성할 수 있다. 예를 들어, 상이한 사용자들에 대한 브라우징 이력들의 차이들의 결과로서 보완물에 대해 상이한 엔티티들이 선택될 수 있다.
일 실시예에서, 보완물이 기초로 하는 검색 결과들의 일부 또는 전부는 사용자가 발견된 것으로 나타나는 근사 지리 좌표 또는 영역과 같은 위치 기반 데이터에 기초하여 개인화될 수 있다. 예를 들어, 사용자가 공항에서 이동 중에 보고 있는 기사에 대해 셀폰 상에 표시되는 보완물은 사용자가 그의 집 컴퓨터에서 기사를 볼 경우에 보게 되는 보완물과 다를 수 있다. 다양한 메커니즘들을 이용하여, GPS 시스템, 네트워크 주소를 일반 좌표에 맵핑하는 데이터베이스, 사용자 선호, 사용자 입력 등을 포함하는 그러한 정보를 결정할 수 있다.
일 실시예에서, 검색 결과들의 일부 또는 전부는 소셜 공유 컨트롤들과 함께 제공될 수 있다. 예를 들어, 보완물 내의 각각의 아이템은 클릭시에 아이템 또는 아이템을 도출한 기사가 사용자들의 그룹에 공유되게 하는 "친구들과 공유" 버튼을 포함할 수 있다. 일 실시예에서, 사용자가 예를 들어 보완물 내의 아이템을 클릭함으로써 아이템을 선택할 때, 사용자는 아이템에 대한 더 많은 상세를 갖는 페이지로 지향된다. 한편, 사용자의 선택은 기록되며, 사용자와 연관된 사용자들의 그룹은 사용자의 아이템 선택을 자동으로 통지받을 수 있다.
5.7. 수익 창출
일 실시예에서, 엔티티들 및/또는 검색 결과들은 수익 창출 팩터들에 적어도 부분적으로 기초하여 순위화될 수 있다. 예를 들어, 하나의 엔티티가 다른 엔티티에 우선하여 선택될 수 있는데, 그 이유는 그 엔티티에 대한 검색 결과들이 검색 제공자에게 더 많은 수익을 가져오기 때문이다. 또는, 하나의 엔티티가 다른 엔티티에 우선하여 선택될 수 있는데, 그 이유는 광고주가 보완물들 내에 그 엔티티에 기초하는 검색 결과들을 포함시키는 대가로 소정량의 돈을 보완물 제공자에게 지불하도록 협의했기 때문이다. 일 실시예에서, 다양한 광고주들은 소정 수의 보완물들이 소정 엔티티들을 포함하는 것을 보증받았을 수 있다. 따라서, 순위화 프로세스들은 각각의 광고주에 대한 약속이 이행되도록 엔티티 선택을 균형화하려고 시도할 수 있다.
일 실시예에서, 엔티티에 대한 정보를 위해 검색되는 저장소들 중 하나는 광고들의 저장소이다. 광고의 선택은 기사로부터의 또는 그와 관련된 엔티티에 더하여 사용자의 온라인 쇼핑 또는 브라우징 이력을 고려할 수 있다. 더구나, 후보 엔티티들은 이들이 광고들의 저장소로부터 고품질 또는 고수익 결과를 생성하는지의 여부에 기초하여 필터링될 수 있다.
5.8. 서버 최적화
일 실시예에서, 보완 서버는 전술한 프로세스들의 다양한 스테이지들에서 생성된 데이터를 캐싱함으로써 최적화될 수 있다. 예를 들어, 기사에 대한 보완물을 생성하는 단계, 예컨대 도 3의 단계 340 또는 도 4의 단계 430은 기사에 대한 보완물을 위한 각각의 그리고 모든 요청에 응답하여 반드시 수행될 필요는 없으며, 오히려 단계 340은 기사에 대한 보완물을 위한 최초의 요청에 대해 수행될 수 있고, 그 결과들이 후속 요청들에 응답하기 위해 캐싱될 수 있다. 다른 예로서, 전체 보완물을 캐싱하는 대신에, 이미 분석된 기사에 대해 주요, 관련 및/또는 최종 엔티티들이 캐싱될 수 있다. 일 실시예에서, 데이터는 사용자별로 또는 그룹별로 캐싱될 수 있다. 일 실시예에서, 캐싱된 데이터 버전들은 주기적으로 만료되어, 갱신된 시간 민감 순위화 특징들을 반영하는 갱신된 엔티티 순위들을 제공할 수 있게 한다.
일 실시예에서는, 기사들의 집합 내의 각각의 기사에 대해 주요 엔티티들 및 관련 엔티티들이 주기적으로 식별되고 순위화된다. 엔티티들은 나중에 보완물들을 생성하는 데 사용하기 위해 데이터베이스에 저장된다. 엔티티들 및 순위들은 엔티티들을 식별하고 순위화하기 위해 의존되는 다양한 특징들의 변경들을 보상하기 위해 시간이 지남에 따라 주기적으로, 예를 들어 주마다 또는 달마다 갱신된다. 새로운 기사들이 집합에 추가됨에 따라, 엔티티들에 대해 새로운 기사들이 자동으로 얻어질 수 있다. 또는, 보완 서버는 다음번의 스케줄링된 주기적 리프레시 시간까지 또는 보완 서버가 기사에 대한 명시적 요청에 응답하도록 요구될 때까지 새로운 기사들을 분석하기를 기다릴 수 있다.
일 실시예에서, 보완 서버는 보완물들에 대한 요청들에 대해 1초 미만의 응답 시간을 달성하기 위해 상이한 검색 백엔드 시스템들로부터 조회 결과들을 동시에 가져오기 위한 병렬 런타임 시스템을 구현한다.
5.9. 시간 민감도
일 실시예에서, 엔티티들을 순위화하기 위한 하나 이상의 팩터들은 시간에 민감할 수 있다. 예를 들어, 다양한 순위화 특징들은 시간이 지남에 따라 갱신되는 데이터에 기초할 수 있다. 또는, 엔티티의 더 새로운 발생들이 더 큰 중요도를 부여받도록 엔티티 발생 빈도들이 가중될 수 있다.
따라서, 일 실시예에서, 기사의 콘텐츠가 변경되지 않는 경우에도, 동일 기사에 대해 상이한 시간들에 상이한 보완물들이 생성될 수 있다. 기사에 대해 생성된 보완물들은 그 안에 제공되는 검색 결과들만이 아니라, 제공되는 주요 및/또는 관련 엔티티들은 물론, 전체적인 정보 구성도 포함하는 임의의 다양한 방식으로 시간 경과에 따라 달라질 수 있다.
5.10. 보완 서버 API
일 실시예에서, 전체 보완물들을 요청자들에게 반환하는 대신에, 보완 서버는 엔티티들 및 연합 검색 결과들을 소정 요청자들에게 반환하며, 따라서 요청자들은 그들 자신의 선호들에 따라 보완 콘텐츠를 구성하고 포맷할 수 있다. 그러한 요청자들에 대해, 보완 서버는 2개의 주요 API, 즉 "엔티티 결과 세트" API 및 "엔티티 검색 결과" API를 제공한다. 제1 API는 기사를 입력으로 간주하고, 전술한 바와 같이, 보완물에 대한 엔티티들의 최종 세트를 포함하는 결과 세트를 반환한다. 제1 API는 옵션으로서 엔티티들의 최종 세트 내의 제1 엔티티에 대한 단일 연합 검색 결과를 반환할 수 있다. 제2 API는 엔티티를 입력으로 간주하고, 엔티티에 대한 연합 검색 결과들을 반환한다. 요청자는 예를 들어 제1 엔티티에 대한 연합 검색 결과들을, 사용자가 기사에 대해 식별된 다른 엔티티들을 선택할 수 있게 하는 메뉴와 함께 표시할 수 있다. 다른 엔티티의 선택에 응답하여, 요청자는 선택된 엔티티에 대한 추가적인 연합 검색 결과들을 요청할 수 있다.
5.11. 기타
일 실시예에 따르면, 주요 엔티티들은 사용자에 의해 요청된 콘텐츠의 기사가 아닌 다른 입력으로부터 추출될 수 있다. 예를 들어, 주요 엔티티들은 임의의 텍스트 파일, 사용자 선호들의 세트, 사용자의 검색 이력, 사용자의 브라우징 이력 등으로부터 선택될 수 있다. 이어서, 보완물이 임의의 콘텐츠와 함께 또는 심지어 분리하여 사용자에게 표시될 수 있다.
6.0. 구현 메커니즘 - 하드웨어 개요
일 실시예에 따르면, 본 명세서에서 설명되는 기술들은 하나 이상의 특수 목적 컴퓨팅 장치들에 의해 구현된다. 특수 목적 컴퓨팅 장치들은 기술들을 수행하도록 하드 와이어링될 수 있거나, 기술들을 수행하도록 영구적으로 프로그래밍되는 하나 이상의 주문형 집적회로(ASIC) 또는 필드 프로그래머블 게이트 어레이(FPGA)와 같은 디지털 전자 장치들을 포함할 수 있거나, 펌웨어, 메모리, 기타 저장 장치 또는 이들의 조합 내의 프로그램 명령어들에 따라 기술들을 수행하도록 프로그래밍되는 하나 이상의 범용 하드웨어 프로세서들을 포함할 수 있다. 그러한 특수 목적 컴퓨팅 장치들은 또한 맞춤형 하드 와이어드 논리, ASIC들 또는 FPGA들과 기술들을 성취하기 위한 맞춤형 프로그래밍을 결합할 수 있다. 특수 목적 컴퓨팅 장치들은 데스크탑 컴퓨터 시스템, 휴대용 컴퓨터 시스템, 핸드헬드 장치, 네트워킹 장치 또는 기술들을 구현하기 위한 하드 와이어드 및/또는 프로그램 논리를 포함하는 임의의 다른 장치일 수 있다.
예를 들어, 도 9는 본 발명의 일 실시예를 구현할 수 있는 컴퓨터 시스템(900)을 나타내는 블록도이다. 컴퓨터 시스템(900)은 정보를 통신하기 위한 버스(902) 또는 기타 통신 메커니즘, 및 정보 처리를 위해 버스(902)와 결합되는 하드웨어 프로세서(904)를 포함한다. 하드웨어 프로세서(904)는 예를 들어 범용 마이크로프로세서일 수 있다.
컴퓨터 시스템(900)은 또한 프로세서(904)에 의해 실행될 명령어들 및 정보를 저장하기 위해 버스(902)에 결합되는 랜덤 액세스 메모리(RAM) 또는 기타 동적 저장 장치와 같은 주 메모리(906)를 포함한다. 주 메모리(906)는 또한 프로세서(904)에 의해 실행될 명령어들의 실행 동안 임시 변수들 또는 기타 중간 정보를 저장하는 데 사용될 수 있다. 그러한 명령어들은 프로세서(904)에 의해 액세스될 수 있는 비일시적 저장 매체들에 저장될 때 컴퓨터 시스템(900)으로 하여금 명령어들에서 지정되는 동작들을 수행하도록 맞춤화되는 특수 목적 기계가 되게 한다.
컴퓨터 시스템(900)은 프로세서(904)를 위한 정적 정보 및 명령어들을 저장하기 위해 버스(902)에 결합되는 판독 전용 메모리(ROM)(908) 또는 기타 정적 저장 장치를 더 포함한다. 정보 및 명령어들을 저장하기 위한 자기 디스크 또는 광 디스크와 같은 저장 장치(910)가 제공되고 버스(902)에 결합된다.
컴퓨터 시스템(900)은 정보를 컴퓨터 사용자에게 표시하기 위한 음극선관(CRT)과 같은 디스플레이(912)에 버스(902)를 통해 결합될 수 있다. 영숫자 및 기타 키들을 포함하는 입력 장치(914)가 정보 및 명령 선택들을 프로세서(904)에 전달하기 위해 버스(902)에 결합된다. 다른 타입의 사용자 입력 장치는 방향 정보 및 명령 선택들을 프로세서(904)에 전달하고 디스플레이(912) 상에서 커서의 이동을 제어하기 위한 마우스, 트랙볼 또는 커서 방향 키들과 같은 커서 컨트롤(916)이다. 이러한 입력 장치는 통상적으로 장치로 하여금 평면 내의 위치들을 지정할 수 있게 하는 2개의 축, 즉 제1 축(예로서, x) 및 제2 축(예로서, y)에서의 2개의 자유도를 갖는다.
컴퓨터 시스템(900)은 맞춤화된 하드 와이어드 논리, 하나 이상의 ASIC 또는 FPGA, 펌웨어 및/또는 컴퓨터 시스템과 결합하여 컴퓨터 시스템(900)으로 하여금 특수 목적 기계가 되게 하거나 컴퓨터 시스템을 프로그래밍하는 프로그램 논리를 이용하여 본 명세서에서 설명되는 기술들을 구현할 수 있다. 일 실시예에 따르면, 본 명세서의 기술들은 프로세서(904)가 주 메모리(906)에 포함된 하나 이상의 명령어들의 하나 이상의 시퀀스들을 실행하는 것에 응답하여 컴퓨터 시스템(900)에 의해 수행된다. 그러한 명령어들은 저장 장치(910)와 같은 다른 저장 매체로부터 주 메모리(906) 내로 판독될 수 있다. 주 메모리(906)에 포함된 명령어들의 시퀀스들의 실행은 프로세서(904)로 하여금 본 명세서에서 설명되는 프로세스 단계들을 수행하게 한다. 대안 실시예들에서는, 소프트웨어 명령어들 대신에 또는 이들과 결합하여 하드 와이어드 회로가 사용될 수 있다.
본 명세서에서 사용되는 바와 같은 "저장 매체"라는 용어는 기계로 하여금 특정 방식으로 동작하게 하는 데이터 및/또는 명령어들을 저장하는 임의의 비일시적 매체를 지칭한다. 그러한 저장 매체는 비휘발성 매체 및/또는 휘발성 매체를 포함할 수 있다. 비휘발성 매체는 예를 들어 저장 장치(910)와 같은 광 또는 자기 디스크들을 포함한다. 휘발성 매체는 주 메모리(906)와 같은 동적 메모리를 포함한다. 저장 매체의 일반적인 형태는 예를 들어 플로피 디스크, 플렉시블 디스크, 하드 디스크, 반도체 드라이브, 자기 테이프 또는 임의의 다른 자기 데이터 저장 매체, CD-ROM, 임의의 다른 광학 데이터 저장 매체, 구멍들의 패턴들을 갖는 임의의 물리 매체, RAM, PROM 및 EPROM, FLASH-EPROM, NVRAM, 임의의 다른 메모리 칩 또는 카트리지를 포함한다.
저장 매체는 전송 매체와 다르지만, 전송 매체와 함께 사용될 수 있다. 전송 매체는 저장 매체들 사이에 정보를 전송하는 데 참여한다. 예를 들어, 전송 매체는 버스(902)를 포함하는 와이어들을 포함하여, 동축 케이블, 구리 와이어 및 광섬유를 포함한다. 전송 매체는 무선파 및 적외선 데이터 통신 동안에 생성되는 것들과 같은 음향파 또는 광파의 형태를 취할 수도 있다.
다양한 형태의 매체들이 하나 이상의 명령어들의 하나 이상의 시퀀스들을 실행을 위해 프로세서(904)로 운반하는 데 필요할 수 있다. 예를 들어, 명령어들은 처음에 원격 컴퓨터의 자기 디스크 또는 반도체 드라이브 상에서 운반될 수 있다. 원격 컴퓨터는 명령어들을 그의 동적 메모리 내에 로딩하고, 명령어들을 모뎀을 이용하여 전화 회선을 통해 전송할 수 있다. 컴퓨터 시스템(900)에 국지적인 모뎀이 전화 회선 상에서 데이터를 수신하고, 적외선 송신기를 이용하여 데이터를 적외선 신호로 변환할 수 있다. 적외선 검출기가 적외선 신호 내에서 운반되는 데이터를 수신할 수 있고, 적절한 회로가 데이터를 버스(902) 상에 배치할 수 있다. 버스(902)는 데이터를 주 메모리(906)로 운반하며, 프로세서(904)는 주 메모리로부터 명령어들을 검색하고 실행한다. 주 메모리(906)에 의해 수신된 명령어들은 옵션으로서 프로세서(904)에 의한 실행 전 또는 후에 저장 장치(910)에 저장될 수 있다.
컴퓨터 시스템(900)은 또한 버스(902)에 결합된 통신 인터페이스(918)를 포함한다. 통신 인터페이스(918)는 로컬 네트워크(922)에 접속되는 네트워크 링크(920)에 대한 양방향 데이터 통신 결합을 제공한다. 예컨대, 통신 인터페이스(918)는 통합 서비스 디지털 네트워크(ISDN) 카드, 케이블 모뎀, 위성 모뎀, 또는 대응하는 타입의 전화 회선에 대한 데이터 통신 접속을 제공하기 위한 모뎀일 수 있다. 다른 예로서, 통신 인터페이스(918)는 호환 가능한 근거리 네트워크(LAN)에 대한 데이터 통신 접속을 제공하기 위한 LAN 카드일 수 있다. 무선 링크들도 구현될 수 있다. 임의의 그러한 구현에서, 통신 인터페이스(918)는 다양한 타입의 정보를 나타내는 디지털 데이터 스트림들을 운반하는 전기, 전자기 또는 광 신호들을 송신 및 수신한다.
네트워크 링크(920)는 통상적으로 하나 이상의 네트워크를 통해 다른 데이터 장치들에 대한 데이터 통신을 제공한다. 예를 들어, 네트워크 링크(920)는 로컬 네트워크(922)를 통해 호스트 컴퓨터(924)에 대한 또는 인터넷 서비스 제공자(ISP)(926)에 의해 운영되는 데이터 장비에 대한 접속을 제공할 수 있다. 또한, ISP(926)는 현재 일반적으로 "인터넷"(928)으로 지칭되는 월드 와이드 패킷 데이터 통신 네트워크를 통해 데이터 통신 서비스들을 제공한다. 로컬 네트워크(922) 및 인터넷(928) 양자는 디지털 데이터 스트림들을 운반하는 전기, 전자기 또는 광 신호들을 이용한다. 컴퓨터 시스템(900)으로 그리고 그로부터 디지털 데이터를 운반하는 다양한 네트워크들을 통한 신호들 및 통신 인터페이스(918)를 통한 네트워크 링크(920) 상의 신호들은 전송 매체의 예시적인 형태들이다.
컴퓨터 시스템(900)은 네트워크(들), 네트워크 링크(920) 및 통신 인터페이스(918)를 통해 메시지들을 전송하고, 프로그램 코드를 포함하는 데이터를 수신할 수 있다. 인터넷 예에서, 서버(930)는 애플리케이션 프로그램에 대한 요청된 코드를 인터넷(928), ISP(926), 로컬 네트워크(922) 및 통신 인터페이스(918)를 통해 전송할 수 있다.
수신된 코드는 수신되는 대로 프로세서(904)에 의해 실행되고, 그리고/또는 후속 실행을 위해 저장 장치(910) 또는 기타 비휘발성 저장 장치에 저장될 수 있다.
7.0. 확장 및 대안
위의 명세서에서, 본 발명의 실시예들은 구현마다 다를 수 있는 다양한 특정 상세들을 참조하여 설명되었다. 따라서, 무엇이 본 발명인지 그리고 출원인들에 의해 무엇이 본 발명인 것으로 의도되는지에 대한 유일하고 배타적인 지시자는 임의의 후속 보정을 포함하는, 청구항들이 허여되는 특정 형태에서의, 본원으로부터 허여되는 청구항들의 세트이다. 그러한 청구항들에 포함되는 용어들에 대해 본 명세서에서 명시적으로 설명되는 임의의 정의들은 청구항들에서 사용되는 바와 같은 그러한 용어들의 의미를 지배해야 한다. 따라서, 청구항 내에 명시적으로 기재되지 않은 제한, 요소, 특성, 특징, 이점 또는 속성은 어떠한 방식으로도 그러한 청구항의 범위를 한정하지 않아야 한다. 따라서, 명세서 및 도면들은 제한이 아니라 예시적인 것으로 간주되어야 한다.

Claims (19)

  1. 방법으로서,
    하나 이상의 컴퓨팅 장치들의 제1 세트 상에서 웹 서버를 실행하는 단계;
    하나 이상의 컴퓨팅 장치들의 제2 세트 상에서 보완 서버를 실행하는 단계;
    상기 웹 서버에 의해, 웹페이지들을 복수의 클라이언트에 제공하는 단계;
    상기 웹 서버에 의해, 적어도 클라이언트가 요청한 콘텐츠의 기사 및 보완 콘텐츠를 적어도 제1 웹페이지 내에 삽입하는 단계;
    상기 웹 서버에 의해, 부분적으로 적어도 제1 요청을 상기 보완 서버로 전송함으로써 상기 보완 콘텐츠를 생성하는 단계 - 상기 제1 요청은 상기 기사를 지시함 -;
    상기 기사로부터 주요 엔티티들을 추출하고;
    상기 주요 엔티티들에 기초하여 관련 엔티티들을 식별하고;
    상기 주요 엔티티들 및 상기 관련 엔티티들에 기초하여 엔티티들의 최종 세트를 선택하고;
    상기 엔티티들의 최종 세트 내의 각각의 엔티티에 대한 연합 검색 결과들을 생성하고 - 상기 엔티티들의 최종 세트의 적어도 특정 엔티티에 대한 상기 연합 검색 결과들은 2개 이상의 상이한 아이템들을 포함함 -;
    복수의 상이한 연합 검색 템플릿 중 어느 템플릿이 상기 엔티티의 최종 세트 내의 각각의 특정 엔티티에 대해 사용할지를 식별하고;
    상기 보완 콘텐츠를 생성하고 - 상기 보완 콘텐츠의 생성은 상기 엔티티들의 최종 세트 내의 각각의 특정 엔티티에 대한 별개의 섹션의 생성을 포함하고, 상기 별개의 섹션은, 복수의 상이한 연합 검색 템플릿 중 어느 것이 상기 특정한 엔티티에 대해 식별되었는지에 기초한 포맷으로 상기 특정 엔티티에 대한 상기 연합 검색 결과들을 표시함 -;
    상기 엔티티들의 최종 세트 및 상기 연합 검색 결과들을 포함하는 상기 보완 콘텐츠를 상기 웹 서버에 제공하는 것
    에 적어도 기초하여, 상기 보완 서버에 의해, 상기 적어도 제1 요청에 응답하는 단계
    를 포함하는 방법.
  2. 하나 이상의 컴퓨터 장치들이 검색 서버를 실행하는 것을 포함하는 방법으로서,
    상기 검색 서버에서, 콘텐츠의 기사를 지시하는 요청을 수신하는 단계;
    상기 콘텐츠의 기사에 기초하여, 상기 콘텐츠의 기사 내에 있거나 상기 콘텐츠의 기사 내의 엔티티들과 관련된 복수의 엔티티들을 상기 검색 서버가 식별하는 단계;
    상기 복수의 엔티티 내의 각각의 엔티티에 대해, 복수의 검색 저장소에서 상기 엔티티를 검색함으로써 연합 검색 결과들을 상기 검색 서버가 획득하는 단계;
    상기 검색 결과들에 기초하여, 상기 기사에 대한 보완물을 상기 검색 서버가 생성하는 단계 - 상기 보완물은 상기 복수의 엔티티 내의 각각의 특정 엔티티에 대한 상이한 섹션을 포함하고, 각각의 상이한 섹션은 대응하는 특정 엔티티에 대해 획득된 상기 연합 검색 결과들을 표시하고, 대응하는 특정 엔티티에 대한 특정 섹션에 표시되는 상기 연합 검색 결과들은 상기 대응하는 특정 엔티티에 대해 문서들의 저장소를 검색함으로써 반환된 하나 이상의 문서들의 하나 이상의 제목들 및 초록들을 포함하는 제1 서브섹션 및 동일한 대응하는 특정 엔티티에 대해 미디어 아이템들의 저장소를 검색함으로써 반환된 하나 이상의 미디어 아이템들을 포함하는 제2 서브섹션을 적어도 포함함 -; 및
    상기 검색 서버에 의해, 상기 보완물로 상기 요청에 대해 응답하는 단계
    를 포함하는 방법.
  3. 제1항에 있어서,
    상기 주요 엔티티들을 추출하는 것은,
    기사(article)로부터 구성 엔티티들의 세트를 추출하고;
    상기 구성 엔티티들의 세트로부터 상기 주요 엔티티들을 선택하는 것
    을 포함하고,
    상기 관련 엔티티들을 식별하는 것은, 상기 주요 엔티티들의 세트 내의 각각의 엔티티에 대해, 검색 조회 로그들(search query logs)의 저장소(repository) 또는 기사들의 집합(corpus of articles) 중 하나 이상 내의 엔트리들에서 동시 발생 관련 엔티티들을 검색하는 것을 포함하고,
    상기 주요 엔티티들의 세트로부터의 주요 엔티티들 및 상기 관련 엔티티들의 세트로부터의 관련 엔티티들 모두를 포함하는 후보 엔티티들의 세트를 형성하는 단계;
    상기 후보 엔티티들의 세트를 순위화하는 단계 - 상기 순위화하는 단계는 상기 후보 엔티티들의 세트 내의 상기 주요 엔티티들 및 상기 관련 엔티티들 모두에 대한 상기 후보 엔티티들의 세트 내의 각각의 주요 엔티티의 순위를 결정하는 단계, 및 상기 후보 엔티티들의 세트 내의 상기 주요 엔티티들 및 상기 관련 엔티티들 모두에 대한 상기 후보 엔티티들의 세트 내의 각각의 관련 엔티티의 순위를 결정하는 단계를 포함함 -; 및
    상기 후보 엔티티들의 세트의 순위화에 기초하여 상기 후보 엔티티들의 세트로부터 엔티티들의 최종 세트를 선택하는 단계 - 상기 엔티티들의 최종 세트는 상기 후보 엔티티들의 세트보다 작음 -;
    를 더 포함하는 방법.
  4. 제2항에 있어서,
    상기 복수의 엔티티를 식별하는 단계는,
    기사로부터 구성 엔티티들의 세트를 추출하는 단계;
    상기 구성 엔티티들의 세트로부터 주요 엔티티들의 세트를 선택하는 단계;
    상기 주요 엔티티들의 세트에 기초하여, 관련 엔티티들의 세트를 선택하는 단계
    를 포함하고,
    상기 관련 엔티티들의 세트를 선택하는 단계는, 상기 주요 엔티티들의 세트 내의 각각의 엔티티에 대해 검색 조회 로그들(search query logs)의 저장소(repository) 또는 기사들의 집합(corpus of articles) 중 하나 이상 내의 엔트리들에서 동시 발생 관련 엔티티들을 검색하는 단계를 포함하고,
    상기 주요 엔티티들의 세트로부터의 주요 엔티티들 및 상기 관련 엔티티들의 세트로부터의 관련 엔티티들 모두를 포함하는 후보 엔티티들의 세트를 형성하는 단계;
    상기 후보 엔티티들의 세트를 순위화하는 단계 - 상기 순위화하는 단계는 상기 후보 엔티티들의 세트 내의 상기 주요 엔티티들 및 상기 관련 엔티티들 모두에 대한 상기 후보 엔티티들의 세트 내의 각각의 주요 엔티티의 순위를 결정하는 단계, 및 상기 후보 엔티티들의 세트 내의 상기 주요 엔티티들 및 상기 관련 엔티티들 모두에 대한 상기 후보 엔티티들의 세트 내의 각각의 관련 엔티티의 순위를 결정하는 단계를 포함함 -; 및
    상기 후보 엔티티들의 세트의 순위화에 기초하여 상기 후보 엔티티들의 세트로부터 복수의 엔티티들을 선택하는 단계 - 상기 엔티티들의 최종 세트는 상기 후보 엔티티들의 세트보다 작음 -;
    를 더 포함하는 방법.
  5. 제3항 또는 제4항에 있어서,
    동시 발생 관련 엔티티들을 검색하는 단계는 적어도 하나 이상의 검색 로그들 내에서 주요 엔티티들과 동시 발생하는 관련 엔티티들을 찾는 단계를 포함하고,
    상기 관련 엔티티들의 세트를 선택하는 단계는 상기 주요 엔티티들의 세트 내의 각각의 엔티티에 대해, 상기 검색 및 동시 발생 빈도들에 기초하는 순위화 프로세스에 적어도 기초하여 하나 이상의 관련 엔티티들을 선택하는 단계를 더 포함하는 방법.
  6. 제1항에 있어서,
    상기 보완 콘텐츠는 제1 시간에 생성된 제1 보완물이고;
    상기 엔티티들의 최종 세트를 선택하는 단계는 특징들의 세트에 적어도 부분적으로 기초하고;
    상기 방법은 제2 시간에 제1항의 단계들을 수행하여 제2 보완물을 생성하는 단계를 더 포함하고;
    상기 제2 보완물은 상기 특징들의 세트 내의 적어도 하나의 특징에 대한 시간에 민감한 변경의 결과로서 상기 제1 보완물과 다른 방법.
  7. 제2항에 있어서,
    상기 보완물은 제1 시간에 생성된 제1 보완물이고;
    상기 복수의 엔티티들을 식별하는 단계는 특징들의 세트에 적어도 부분적으로 기초하고;
    상기 방법은 제2 시간에 제2항의 단계들을 수행하여 제2 보완물을 생성하는 단계를 더 포함하고;
    상기 제2 보완물은 상기 특징들의 세트 내의 적어도 하나의 특징에 대한 시간에 민감한 변경의 결과로서 상기 제1 보완물과 다른 방법.
  8. 제1항에 있어서, 상기 요청과 관련된 사용자에 기초하여 하나 이상의 주요 엔티티들 또는 하나 이상의 관련 엔티티들 중 하나 이상의 엔티티들을 식별하는 단계를 더 포함하는 방법.
  9. 제2항에 있어서, 상기 요청과 관련된 사용자에 기초하여 상기 복수의 엔티티들 내의 하나 이상의 엔티티들을 식별하는 단계를 더 포함하는 방법.
  10. 제1항에 있어서, 각각의 섹션은 복수의 서브섹션을 포함하고, 각각의 서브섹션은 상이한 검색 저장소 상에서의 검색들로부터의 동일 엔티티에 대한 검색 결과들을 포함하는 방법.
  11. 제2항에 있어서, 상기 복수의 엔티티는 상기 콘텐츠로부터 추출된 하나 이상의 주요 엔티티들 및 상기 콘텐츠 내에 없는 하나 이상의 관련 엔티티들을 포함하는 방법.
  12. 제1항에 있어서,
    상기 엔티티들의 최종 세트를 선택하는 것은, 상기 엔티티들의 최종 세트 내의 각각의 엔티티에 대한 검색 결과들이 사전 정의된 기준들을 충족시키는지를 결정하는 것에 적어도 기초하고, 상기 사전 정의된 기준들은 상기 검색 결과들의 품질의 크기 및 상기 검색 결과들의 서브세트 내의 히트들의 카운트 중 적어도 하나를 포함하고, 상기 서브세트는 특정 수직 검색(specific search vertical)과 관련되는 방법.
  13. 제2항에 있어서,
    상기 복수의 엔티티들을 식별하는 단계는, 상기 복수의 엔티티들 내의 각각의 엔티티에 대한 검색 결과들이 사전 정의된 기준들을 충족시키는지를 결정하는 것에 적어도 기초하고, 상기 사전 정의된 기준들은 상기 검색 결과들의 품질의 크기 및 상기 검색 결과들의 서브세트 내의 히트들의 카운트 중 적어도 하나를 포함하고, 상기 서브세트는 특정 수직 검색과 관련되는 방법.
  14. 제1항에 있어서,
    상기 보완 콘텐츠는 복수의 탭들을 포함하고, 상기 탭들 각각은 상기 탭에 대응하는 상이한 섹션을 보는 것으로 바꾸도록 구성되고, 상기 탭들 각각은 상기 상이한 섹션에 대응하는 상기 상이한 엔티티를 식별하는 라벨을 포함하며,
    상기 2개 이상의 섹션들 중 적어도 두 개의 섹션에 대한 상기 연합 검색 결과들은 상이한 연합 검색 템플릿들에 따라 배치되고, 주어진 섹션에 대해 사용되는 상기 특정 연합 검색 템플릿들은 상기 주어진 섹션 내에서 어떤 종류의 검색 결과들이 디스플레이되는 지를 반영하는 방법.
  15. 제2항에 있어서,
    상기 보완물은 복수의 탭들을 포함하고, 상기 탭들 각각은 상기 탭에 대응하는 상이한 섹션을 보는 것으로 바꾸도록 구성되고, 상기 탭들 각각은 상기 상이한 섹션에 대응하는 상기 상이한 엔티티를 식별하는 라벨을 포함하며,
    상기 2개 이상의 섹션들 중 적어도 두 개의 섹션에 대한 상기 연합 검색 결과들은 상이한 검색 결과 템플릿에 따라 배치되고, 주어진 섹션에 대해 사용되는 상기 상이한 검색 결과 템플릿은 상기 주어진 섹션 내에서 어떤 종류의 검색 결과들이 디스플레이되는 지를 반영하는 방법.
  16. 제1항에 있어서,
    상기 엔티티들의 최종 세트를 선택하는 단계는 후보 엔티티들의 세트의 각각의 엔티티에 대한 검색 결과들이 상기 연합 검색 템플릿들 중 하나 이상과 연관된 제약들을 만족하는지 여부를 결정하는 단계를 더 포함하며,
    상기 하나 이상의 연합 검색 템플릿들 중 각각의 특정 템플릿에 대한 상기 제약들은 적어도 해당 엔티티에 대한 검색 결과들이 상기 특정 템플릿에 따라 포맷되도록 하기 위해, 엔티티에 대해 반환되어야 할 고품질 검색 결과들의 최소 개수를, 복수의 상이한 수직 검색들의 각각으로부터 표시하는 방법.
  17. 제2항에 있어서,
    상기 복수의 엔티티들을 식별하는 단계는 후보 엔티티들의 세트의 각각의 엔티티에 대한 검색 결과들이 하나 이상의 검색 결과 템플릿들과 연관된 제약들을 만족하는지 여부를 결정하는 단계를 더 포함하고,
    상기 하나 이상의 검색 결과 템플릿들 중 각각의 특정 템플릿에 대한 상기 제약들은 적어도 해당 엔티티에 대한 검색 결과들이 상기 특정 템플릿에 따라 포맷되로록 하기 위해, 엔티티에 대해 반환되어야 할 고품질 검색 결과들의 최소 개수를, 복수의 상이한 수직 검색들의 각각으로부터 표시하며,
    상기 보완물 내의 상기 검색 결과들은 상기 하나 이상의 검색 결과 템플릿들로부터 적어도 하나의 매칭 템플릿에 따라 포맷되는, 방법.
  18. 하나 이상의 컴퓨팅 장치들에 의해 실행될 때, 제1항 내지 제4항 또는 제6항 내지 제17항 중 어느 한 항에 기재된 방법을 수행하게 하는 명령어들을 저장하는 하나 이상의 컴퓨터 판독가능 기록 매체.
  19. 제1항 내지 제4항 또는 제6항 내지 제17항 중 어느 한 항에 기재된 방법을 구현하도록 구성되는 하나 이상의 컴퓨팅 장치들을 포함하는 시스템.
KR1020127030859A 2010-06-28 2011-04-25 무한 브라우즈 KR101506380B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/825,304 US8600979B2 (en) 2010-06-28 2010-06-28 Infinite browse
US12/825,304 2010-06-28
PCT/US2011/033797 WO2012003034A1 (en) 2010-06-28 2011-04-25 Infinite browse

Publications (2)

Publication Number Publication Date
KR20130016339A KR20130016339A (ko) 2013-02-14
KR101506380B1 true KR101506380B1 (ko) 2015-03-26

Family

ID=45353495

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127030859A KR101506380B1 (ko) 2010-06-28 2011-04-25 무한 브라우즈

Country Status (7)

Country Link
US (2) US8600979B2 (ko)
EP (1) EP2586008A4 (ko)
JP (1) JP5608286B2 (ko)
KR (1) KR101506380B1 (ko)
CN (1) CN102906744B (ko)
TW (2) TWI461939B (ko)
WO (1) WO2012003034A1 (ko)

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101930438B (zh) 2009-06-19 2016-08-31 阿里巴巴集团控股有限公司 一种搜索结果生成方法及信息搜索系统
US9875306B2 (en) * 2010-08-30 2018-01-23 Google Inc. Navigation through a collection of electronic documents
US8615510B2 (en) * 2010-09-01 2013-12-24 Yahoo! Inc. Quick applications for search
WO2012034069A1 (en) * 2010-09-10 2012-03-15 Veveo, Inc. Method of and system for conducting personalized federated search and presentation of results therefrom
US20130145276A1 (en) * 2011-12-01 2013-06-06 Nokia Corporation Methods and apparatus for enabling context-aware and personalized web content browsing experience
US9589303B2 (en) * 2012-01-09 2017-03-07 Google Inc. Selective presentation of content types and sources in search
KR101994987B1 (ko) * 2012-02-22 2019-09-30 구글 엘엘씨 관련 엔티티들
US9424353B2 (en) 2012-02-22 2016-08-23 Google Inc. Related entities
US20130254176A1 (en) * 2012-03-21 2013-09-26 Apple Inc. Systems and Methods for Generating Search Queries
CN103365839B (zh) * 2012-03-26 2017-12-12 深圳市世纪光速信息技术有限公司 一种搜索引擎的推荐搜索方法和装置
WO2013153489A2 (en) * 2012-04-09 2013-10-17 Thekkethala Pyloth Vincent Query based search engine for objects with binary characteristics
US20130298000A1 (en) * 2012-05-02 2013-11-07 Scott ZUCCARINO Socially relevant content in a news domain
US20140019126A1 (en) * 2012-07-13 2014-01-16 International Business Machines Corporation Speech-to-text recognition of non-dictionary words using location data
US20140071157A1 (en) * 2012-09-07 2014-03-13 Htc Corporation Content delivery systems with prioritized content and related methods
US20140195890A1 (en) * 2013-01-09 2014-07-10 Amazon Technologies, Inc. Browser interface for accessing supplemental content associated with content pages
WO2014110048A1 (en) * 2013-01-09 2014-07-17 Amazon Technologies, Inc. Browser interface for accessing supple-mental content associated with content pages
US9405775B1 (en) * 2013-03-15 2016-08-02 Google Inc. Ranking videos based on experimental data
US9262510B2 (en) 2013-05-10 2016-02-16 International Business Machines Corporation Document tagging and retrieval using per-subject dictionaries including subject-determining-power scores for entries
US9646062B2 (en) * 2013-06-10 2017-05-09 Microsoft Technology Licensing, Llc News results through query expansion
US9715548B2 (en) * 2013-08-02 2017-07-25 Google Inc. Surfacing user-specific data records in search
US9117280B2 (en) * 2013-08-29 2015-08-25 Microsoft Technology Licensing, Llc Determining images of article for extraction
US9251136B2 (en) 2013-10-16 2016-02-02 International Business Machines Corporation Document tagging and retrieval using entity specifiers
US9646032B2 (en) 2013-10-24 2017-05-09 Microsoft Technology Licensing, Llc Temporal user engagement features
US9235638B2 (en) 2013-11-12 2016-01-12 International Business Machines Corporation Document retrieval using internal dictionary-hierarchies to adjust per-subject match results
US9727545B1 (en) * 2013-12-04 2017-08-08 Google Inc. Selecting textual representations for entity attribute values
US20150178266A1 (en) 2013-12-20 2015-06-25 Google Inc. Entity-based summarization for electronic books
CN103927354A (zh) 2014-04-11 2014-07-16 百度在线网络技术(北京)有限公司 交互式搜索及推荐方法和装置
US9444797B2 (en) * 2014-07-10 2016-09-13 Empire Technology Development Llc Protection of private data
EP3175377A4 (en) 2014-07-28 2017-08-23 Iris.TV Inc. Online asset recommendation system
US9965459B2 (en) 2014-08-07 2018-05-08 Accenture Global Services Limited Providing contextual information associated with a source document using information from external reference documents
CN104199885A (zh) * 2014-08-22 2014-12-10 广州三星通信技术研究有限公司 用于获取视频文件的关联内容的设备和方法
US9965474B2 (en) 2014-10-02 2018-05-08 Google Llc Dynamic summary generator
CN104268297A (zh) * 2014-10-28 2015-01-07 江苏惠居乐信息科技有限公司 一种基于新闻的大数据分析系统
JP6324326B2 (ja) * 2015-01-23 2018-05-16 ヤフー株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
US10509833B2 (en) 2015-06-05 2019-12-17 Apple Inc. Proximity search scoring
US10755032B2 (en) 2015-06-05 2020-08-25 Apple Inc. Indexing web pages with deep links
US10592572B2 (en) 2015-06-05 2020-03-17 Apple Inc. Application view index and search
US10509834B2 (en) 2015-06-05 2019-12-17 Apple Inc. Federated search results scoring
US10621189B2 (en) 2015-06-05 2020-04-14 Apple Inc. In-application history search
US10162864B2 (en) * 2015-06-07 2018-12-25 Apple Inc. Reader application system utilizing article scoring and clustering
US10146775B2 (en) * 2015-06-07 2018-12-04 Apple Inc. Apparatus, system and method for string disambiguation and entity ranking
US10152521B2 (en) * 2016-06-22 2018-12-11 Google Llc Resource recommendations for a displayed resource
US10051108B2 (en) 2016-07-21 2018-08-14 Google Llc Contextual information for a notification
CN106897346A (zh) * 2016-08-04 2017-06-27 阿里巴巴集团控股有限公司 数据处理的方法及装置
EP3542279A4 (en) * 2016-09-28 2020-05-27 Button Inc. MOBILE WEB BROWSER PROVIDING CONTEXTUAL ACTIONS BASED ON WEB PAGE CONTENT
CN106844322A (zh) * 2017-01-22 2017-06-13 百度在线网络技术(北京)有限公司 智能文章生成方法和装置
JP6780548B2 (ja) * 2017-03-03 2020-11-04 富士通株式会社 特徴語分類プログラム、特徴語分類方法および情報処理装置
JP6839360B2 (ja) * 2017-05-15 2021-03-10 富士通株式会社 表示プログラム、表示方法および表示装置
CN107193997A (zh) * 2017-06-13 2017-09-22 刘建钦 一种户外广告点位展示及广告方案制定方法
US11327984B2 (en) * 2017-10-31 2022-05-10 Yahoo Assets Llc Computerized systems and methods for query expansion using displayed objects
CN108376147B (zh) * 2018-01-24 2021-09-28 北京一览科技有限公司 一种用于获得视频的评价结果信息的方法和装置
US11042895B2 (en) 2018-01-30 2021-06-22 Walmart Apollo, Llc Automatic resolution of the explore-exploit decision in omnichannel settings
US11055742B2 (en) 2018-01-30 2021-07-06 Walmart Apollo, Llc Automated mechanisms to resolve explore-exploit dilemma with adaptive revival opportunities
US11030634B2 (en) 2018-01-30 2021-06-08 Walmart Apollo, Llc Personalized mechanisms to resolve explore-exploit dilemma with dynamically shared learnings
US11232145B2 (en) * 2018-03-20 2022-01-25 Microsoft Technology Licensing, Llc Content corpora for electronic documents
US10671267B2 (en) * 2018-05-07 2020-06-02 Google Llc Systems and methods for presentation of content items relating to a topic
JP6490863B1 (ja) * 2018-09-07 2019-03-27 一般社団法人ウェブ新聞社 サーバ装置、Webサーバ装置、サーバシステム、サーバ装置用プログラム、Webサーバ装置用プログラムおよびWebサーバ装置の連携方法
RU2739554C1 (ru) * 2018-12-13 2020-12-25 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для формирования карточки объекта
CN109902149B (zh) 2019-02-21 2021-08-13 北京百度网讯科技有限公司 查询处理方法和装置、计算机可读介质
GB201904167D0 (en) * 2019-03-26 2019-05-08 Benevolentai Tech Limited Name entity recognition with deep learning
US11640504B2 (en) 2019-05-17 2023-05-02 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof
US11704600B2 (en) * 2019-06-27 2023-07-18 Microsoft Technology Licensing, Llc Multistage feed ranking system with methodology providing scalable multi-objective model approximation
US11194819B2 (en) 2019-06-27 2021-12-07 Microsoft Technology Licensing, Llc Multistage feed ranking system with methodology providing scoring model optimization for scaling
US11743353B1 (en) * 2019-12-18 2023-08-29 Baby List, Inc. System, method, and computer program for providing a content feed to a user related to a registry and a registry event having an event timeline
JP7354019B2 (ja) * 2020-03-02 2023-10-02 ヤフー株式会社 情報処理装置、情報処理方法、およびプログラム
JP7323484B2 (ja) * 2020-03-19 2023-08-08 ヤフー株式会社 情報処理装置、情報処理方法、及びプログラム
CN114077713A (zh) * 2020-08-11 2022-02-22 华为技术有限公司 内容推荐方法、电子设备和服务器
US20220309055A1 (en) * 2021-03-23 2022-09-29 Microsoft Technology Licensing, Llc Intelligent assistant for a browser using content and structured data
US20230177058A1 (en) * 2021-12-04 2023-06-08 International Business Machines Corporation Ranking entity search results based on information density
CN114328765B (zh) * 2022-03-04 2022-05-31 四川大学 新闻传播预测方法及装置
CN115048904B (zh) * 2022-08-11 2022-11-29 北京金堤科技有限公司 一种实体展示方法、装置、存储介质及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050071356A (ko) * 2003-12-30 2005-07-07 마이크로소프트 코포레이션 기사 이력에 기초하는 문자형 광고 할당 방법
JP2010066870A (ja) 2008-09-09 2010-03-25 Toshiba Corp 情報推薦装置および情報推薦方法

Family Cites Families (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446891A (en) 1992-02-26 1995-08-29 International Business Machines Corporation System for adjusting hypertext links with weighed user goals and activities
US6202058B1 (en) 1994-04-25 2001-03-13 Apple Computer, Inc. System for ranking the relevance of information objects accessed by computer users
US6029195A (en) 1994-11-29 2000-02-22 Herz; Frederick S. M. System for customized electronic identification of desirable objects
US5758257A (en) 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
EP0718784B1 (en) 1994-12-20 2003-08-27 Sun Microsystems, Inc. Method and system for the retrieval of personalized information
US6092049A (en) 1995-06-30 2000-07-18 Microsoft Corporation Method and apparatus for efficiently recommending items using automated collaborative filtering and feature-guided automated collaborative filtering
US5734887A (en) 1995-09-29 1998-03-31 International Business Machines Corporation Method and apparatus for logical data access to a physical relational database
AU1566597A (en) 1995-12-27 1997-08-11 Gary B. Robinson Automated collaborative filtering in world wide web advertising
US5727129A (en) 1996-06-04 1998-03-10 International Business Machines Corporation Network system for profiling and actively facilitating user activities
US5890152A (en) 1996-09-09 1999-03-30 Seymour Alvin Rapaport Personal feedback browser for obtaining media files
US6128663A (en) 1997-02-11 2000-10-03 Invention Depot, Inc. Method and apparatus for customization of information content provided to a requestor over a network using demographic information yet the user remains anonymous to the server
US5895470A (en) 1997-04-09 1999-04-20 Xerox Corporation System for categorizing documents in a linked collection of documents
US5937397A (en) 1997-04-10 1999-08-10 International Business Machines Corporation Social learning inferencing engine for intelligent agent environment
US5937422A (en) * 1997-04-15 1999-08-10 The United States Of America As Represented By The National Security Agency Automatically generating a topic description for text and searching and sorting text by topic using the same
US6049776A (en) 1997-09-06 2000-04-11 Unisys Corporation Human resource management system for staffing projects
US6134532A (en) * 1997-11-14 2000-10-17 Aptex Software, Inc. System and method for optimal adaptive matching of users to most relevant entity and information in real-time
US6249740B1 (en) 1998-01-21 2001-06-19 Kabushikikaisha Equos Research Communications navigation system, and navigation base apparatus and vehicle navigation apparatus both used in the navigation system
US6018738A (en) 1998-01-22 2000-01-25 Microsft Corporation Methods and apparatus for matching entities and for predicting an attribute of an entity based on an attribute frequency value
WO1999045487A1 (en) 1998-03-03 1999-09-10 Amazon.Com, Inc. Identifying the items most relevant to a current query based on items selected in connection with similar queries
US7050992B1 (en) 1998-03-03 2006-05-23 Amazon.Com, Inc. Identifying items relevant to a current query based on items accessed in connection with similar queries
JP3547074B2 (ja) * 1998-05-14 2004-07-28 日本電信電話株式会社 データ検索方法、その装置および記録媒体
US6349299B1 (en) 1998-12-24 2002-02-19 International Business Machines Corporation System and method for storing electronic contact information into an electronic address book
US6941321B2 (en) 1999-01-26 2005-09-06 Xerox Corporation System and method for identifying similarities among objects in a collection
US6598054B2 (en) 1999-01-26 2003-07-22 Xerox Corporation System and method for clustering data objects in a collection
AU5934900A (en) 1999-07-16 2001-02-05 Agentarts, Inc. Methods and system for generating automated alternative content recommendations
NZ518635A (en) 1999-11-02 2004-02-27 Clarity Inc E Verbal classification system for the efficient sending and receiving of information
US6931397B1 (en) 2000-02-11 2005-08-16 International Business Machines Corporation System and method for automatic generation of dynamic search abstracts contain metadata by crawler
US6564209B1 (en) 2000-03-08 2003-05-13 Accenture Llp Knowledge management tool for providing abstracts of information
US20020062247A1 (en) 2000-08-29 2002-05-23 Allen Bradley P. Selecting web site content to be displayed to a web site visitor based upon a probability distribution
US20020103798A1 (en) 2001-02-01 2002-08-01 Abrol Mani S. Adaptive document ranking method based on user behavior
US6728706B2 (en) 2001-03-23 2004-04-27 International Business Machines Corporation Searching products catalogs
US20050193335A1 (en) 2001-06-22 2005-09-01 International Business Machines Corporation Method and system for personalized content conditioning
US20030040850A1 (en) 2001-08-07 2003-02-27 Amir Najmi Intelligent adaptive optimization of display navigation and data sharing
US7398201B2 (en) 2001-08-14 2008-07-08 Evri Inc. Method and system for enhanced data searching
KR100438857B1 (ko) 2001-09-26 2004-07-05 엘지전자 주식회사 사용자 선호도 기반 멀티미디어 검색 시스템
US7162522B2 (en) 2001-11-02 2007-01-09 Xerox Corporation User profile classification by web usage analysis
US7203909B1 (en) 2002-04-04 2007-04-10 Microsoft Corporation System and methods for constructing personalized context-sensitive portal pages or views by analyzing patterns of users' information access activities
EP1860579A1 (en) 2002-08-30 2007-11-28 Sony Deutschland Gmbh Method to split a multiuser profile
US6947930B2 (en) 2003-03-21 2005-09-20 Overture Services, Inc. Systems and methods for interactive search query refinement
US7685296B2 (en) * 2003-09-25 2010-03-23 Microsoft Corporation Systems and methods for client-based web crawling
US7200638B2 (en) 2003-10-14 2007-04-03 International Business Machines Corporation System and method for automatic population of instant messenger lists
US20050108024A1 (en) 2003-11-13 2005-05-19 Fawcett John Jr. Systems and methods for retrieving data
US20050144162A1 (en) * 2003-12-29 2005-06-30 Ping Liang Advanced search, file system, and intelligent assistant agent
US7483891B2 (en) * 2004-01-09 2009-01-27 Yahoo, Inc. Content presentation and management system associating base content and relevant additional content
EP1759280A4 (en) * 2004-05-04 2009-08-26 Boston Consulting Group Inc METHOD AND APPARATUS FOR SELECTING, ANALYZING AND VISUALIZING RELATED DATA BASE FILES AS A NETWORK
US8065383B2 (en) 2004-05-17 2011-11-22 Simplefeed, Inc. Customizable and measurable information feeds for personalized communication
US8972856B2 (en) 2004-07-29 2015-03-03 Yahoo! Inc. Document modification by a client-side application
US7958115B2 (en) 2004-07-29 2011-06-07 Yahoo! Inc. Search systems and methods using in-line contextual queries
US7962465B2 (en) 2006-10-19 2011-06-14 Yahoo! Inc. Contextual syndication platform
US7603349B1 (en) 2004-07-29 2009-10-13 Yahoo! Inc. User interfaces for search systems using in-line contextual queries
US7856441B1 (en) 2005-01-10 2010-12-21 Yahoo! Inc. Search systems and methods using enhanced contextual queries
JP2006079454A (ja) * 2004-09-10 2006-03-23 Fujitsu Ltd 検索キーワード分析方法、検索キーワード分析プログラムおよび検索キーワード分析装置
JP2008521315A (ja) 2004-11-18 2008-06-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ユーザープロファイルを更新するための装置および方法
US20060149710A1 (en) 2004-12-30 2006-07-06 Ross Koningstein Associating features with entities, such as categories of web page documents, and/or weighting such features
US7421426B2 (en) 2005-01-11 2008-09-02 International Business Machines Corporation Systems, methods, and media for utilizing electronic document usage information with search engines
US7584177B2 (en) * 2005-06-29 2009-09-01 Google Inc. Determination of a desired repository
US20070073651A1 (en) * 2005-09-23 2007-03-29 Tomasz Imielinski System and method for responding to a user query
JP2007122513A (ja) * 2005-10-28 2007-05-17 Dainippon Printing Co Ltd コンテンツ検索方法、及び、コンテンツ検索サーバ
US7792815B2 (en) 2006-03-06 2010-09-07 Veveo, Inc. Methods and systems for selecting and presenting content based on context sensitive user preferences
US7904448B2 (en) 2006-03-29 2011-03-08 Yahoo! Inc. Incremental update of long-term and short-term user profile scores in a behavioral targeting system
US20070260597A1 (en) 2006-05-02 2007-11-08 Mark Cramer Dynamic search engine results employing user behavior
US20070266025A1 (en) 2006-05-12 2007-11-15 Microsoft Corporation Implicit tokenized result ranking
CN100530183C (zh) 2006-05-19 2009-08-19 华为技术有限公司 一种收集用户数据的系统及方法
JP5220297B2 (ja) * 2006-10-17 2013-06-26 ヤフー株式会社 キーワードと条件に基づく広告配信方法
WO2008053516A1 (fr) * 2006-10-30 2008-05-08 Cirius Technologies, Inc. Procédé, système et programme de fourniture d'informations publicitaires et base de données
TWI337712B (en) 2006-10-30 2011-02-21 Inst Information Industry Systems and methods for measuring behavior characteristics, and machine readable medium thereof
US7555477B2 (en) * 2006-12-05 2009-06-30 Yahoo! Inc. Paid content based on visually illustrative concepts
KR100916717B1 (ko) * 2006-12-11 2009-09-09 강민수 플레이 되고 있는 동영상 내용 맞춤형 광고 콘텐츠 제공방법 및 그 시스템
US8423565B2 (en) * 2006-12-21 2013-04-16 Digital Doors, Inc. Information life cycle search engine and method
KR100757951B1 (ko) 2007-01-02 2007-09-11 김수현 웹페이지의 형태소 분석을 통한 검색 방법
CN101004762A (zh) * 2007-01-10 2007-07-25 张百川 一种动态多维互联网网页系统
GB2458072A (en) 2007-02-01 2009-09-09 Billion People 7 Dynamic reconfiguration of web pages based on user behavioral portrait
US7930286B2 (en) * 2007-02-16 2011-04-19 Yahoo! Inc. Federated searches implemented across multiple search engines
US20110055209A1 (en) 2007-02-23 2011-03-03 Anthony Novac System and method for delivering content and advertisments
US20080270151A1 (en) 2007-04-26 2008-10-30 Bd Metrics Method and system for developing an audience of buyers and obtaining their behavioral preferences to promote commerce on a communication network
US8301623B2 (en) 2007-05-22 2012-10-30 Amazon Technologies, Inc. Probabilistic recommendation system
KR20090003510A (ko) * 2007-06-14 2009-01-12 텔코웨어 주식회사 웹 페이지 링크정보 첨부 장치 및 그 방법
JP2009031931A (ja) * 2007-07-25 2009-02-12 Univ Waseda 検索語クラスタリング装置、検索語クラスタリング方法、検索語クラスタリングプログラム及び記録媒体
US20090037402A1 (en) 2007-07-31 2009-02-05 Rosie Jones System and method for predicting clickthrough rates and relevance
US20090083278A1 (en) 2007-09-26 2009-03-26 Yihong Zhao System and method for discovering and presenting social relationships between internet users and content
US7853558B2 (en) 2007-11-09 2010-12-14 Vibrant Media, Inc. Intelligent augmentation of media content
US20090171763A1 (en) 2007-12-31 2009-07-02 Yahoo! Inc. System and method for online advertising driven by predicting user interest
US7984004B2 (en) 2008-01-17 2011-07-19 Microsoft Corporation Query suggestion generation
US20090248514A1 (en) 2008-04-01 2009-10-01 Yahoo! Inc. System and method for detecting the sensitivity of web page content for serving advertisements in online advertising
US8051080B2 (en) 2008-04-16 2011-11-01 Yahoo! Inc. Contextual ranking of keywords using click data
US20090299945A1 (en) 2008-06-03 2009-12-03 Strands, Inc. Profile modeling for sharing individual user preferences
US8504558B2 (en) 2008-07-31 2013-08-06 Yahoo! Inc. Framework to evaluate content display policies
CN101359332A (zh) * 2008-09-02 2009-02-04 浙江大学 具有语义分类功能的可视化搜索界面的设计方法
US8635528B2 (en) * 2008-11-06 2014-01-21 Nexplore Technologies, Inc. System and method for dynamic search result formatting
US8244517B2 (en) 2008-11-07 2012-08-14 Yahoo! Inc. Enhanced matching through explore/exploit schemes
US8037067B1 (en) 2008-11-14 2011-10-11 United Services Automobile Association (Usaa) Systems and methods for tracking user activity at website
US8316020B1 (en) 2008-12-09 2012-11-20 Amdocs Software Systems Limited System, method, and computer program for creating a group profile based on user profile attributes and a rule
US8135739B2 (en) * 2008-12-29 2012-03-13 Microsoft Corporation Online relevance engine
CN101477557A (zh) * 2009-01-13 2009-07-08 苏州智讯科技有限公司 一种理解用户互联网浏览行为的媒体展现平台
US8301624B2 (en) 2009-03-31 2012-10-30 Yahoo! Inc. Determining user preference of items based on user ratings and user features
US8612435B2 (en) 2009-07-16 2013-12-17 Yahoo! Inc. Activity based users' interests modeling for determining content relevance

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050071356A (ko) * 2003-12-30 2005-07-07 마이크로소프트 코포레이션 기사 이력에 기초하는 문자형 광고 할당 방법
JP2010066870A (ja) 2008-09-09 2010-03-25 Toshiba Corp 情報推薦装置および情報推薦方法

Also Published As

Publication number Publication date
JP2013534673A (ja) 2013-09-05
US9355185B2 (en) 2016-05-31
KR20130016339A (ko) 2013-02-14
TW201502824A (zh) 2015-01-16
EP2586008A4 (en) 2016-04-27
TWI529549B (zh) 2016-04-11
TW201202980A (en) 2012-01-16
US20110320437A1 (en) 2011-12-29
TWI461939B (zh) 2014-11-21
CN102906744A (zh) 2013-01-30
CN102906744B (zh) 2016-08-24
EP2586008A1 (en) 2013-05-01
JP5608286B2 (ja) 2014-10-15
US8600979B2 (en) 2013-12-03
US20140143243A1 (en) 2014-05-22
WO2012003034A1 (en) 2012-01-05

Similar Documents

Publication Publication Date Title
KR101506380B1 (ko) 무한 브라우즈
US9361385B2 (en) Generating content for topics based on user demand
US9390144B2 (en) Objective and subjective ranking of comments
US9098572B1 (en) Magazine edition recommendations
JP5997350B2 (ja) ソーシャルグラフ情報に基づく構造化検索クエリ
TWI424369B (zh) 用於決定內容相關性的活動型使用者興趣模型化
CN109241264B (zh) 结构化搜索查询的自然语言渲染
US9449079B2 (en) Method of and system for displaying a plurality of user-selectable refinements to a search query
US20070143300A1 (en) System and method for monitoring evolution over time of temporal content
US20150169701A1 (en) Providing customized content in knowledge panels
JP6956119B2 (ja) 文脈情報を提供するためのシステムおよび方法
US20190354604A1 (en) Method of and system for recommending fresh search query suggestions on search engine
KR20170088944A (ko) 온라인 소셜 네트워크에서 오퍼 및 광고의 검색
US20130205235A1 (en) Apparatus and Method for Comparing and Statistically Adjusting Search Engine Results
CN110874436A (zh) 用于基于第三方内容的上下文课程推荐的网络系统
JP2007193697A (ja) 情報収集装置,情報収集方法およびプログラム
US20220292144A1 (en) Provision of different content pages based on varying user interactions with a single content item
US11537674B2 (en) Method of and system for generating search query completion suggestion on search engine
US20130204860A1 (en) Apparatus and Method for Comparing and Statistically Extracting Commonalities and Differences Between Different Websites
JP5827449B2 (ja) オンラインソーシャルネットワークのためのパーソナライズされた構造化検索クエリ
US20210232659A1 (en) Query recommendations for a displayed resource

Legal Events

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

Payment date: 20180302

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190305

Year of fee payment: 5