KR101375940B1 - 발전된 탐색 결과 페이지 콘텐츠를 제공하는 시스템 및 방법 - Google Patents

발전된 탐색 결과 페이지 콘텐츠를 제공하는 시스템 및 방법 Download PDF

Info

Publication number
KR101375940B1
KR101375940B1 KR1020127010145A KR20127010145A KR101375940B1 KR 101375940 B1 KR101375940 B1 KR 101375940B1 KR 1020127010145 A KR1020127010145 A KR 1020127010145A KR 20127010145 A KR20127010145 A KR 20127010145A KR 101375940 B1 KR101375940 B1 KR 101375940B1
Authority
KR
South Korea
Prior art keywords
search
application
applications
data
content
Prior art date
Application number
KR1020127010145A
Other languages
English (en)
Other versions
KR20120092598A (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 KR20120092598A publication Critical patent/KR20120092598A/ko
Application granted granted Critical
Publication of KR101375940B1 publication Critical patent/KR101375940B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • 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/903Querying
    • G06F16/9038Presentation of query results
    • 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
    • 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/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 탐색 결과들을 생성하는 방법 및 시스템을 제공하며, 적어도 하나의 탐색 용어를 포함하는 탐색 요청을 수신하는 단계 및 이 탐색 요청에 기초하여 데이터 뭉치(corpus of data)에 액세스해서 탐색 결과 집합에 포함될 관련 콘텐츠를 결정하는 단계를 포함한다. 본 방법 및 시스템은 탐색 요청과 연관된 복수의 애플리케이션을 결정하는 단계 및 탐색 결과 집합의 적어도 일부 및 애플리케이션의 적어도 일부의 프리젠테이션을 위해 탐색 결과 출력 디스플레이를 생성하는 단계를 포함한다.

Description

발전된 탐색 결과 페이지 콘텐츠를 제공하는 시스템 및 방법{SYSTEMS AND METHODS FOR PROVIDING ADVANCED SEARCH RESULT PAGE CONTENT}
본 특허 문서의 명세서의 일부분은 저작권 보호를 받는 자료를 포함한다. 저작권자는, 특허청 특허 파일들 또는 레코드들에 나타나는 대로, 누구에 의해서건 특허 문서 또는 특허 명세서의 복사에 이의가 없지만, 그 외에는 무엇이든 간에 모든 저작권들을 보유한다.
본 명세서에 기술된 본 발명의 실시예들은 일반적으로 탐색 결과 페이지("SRP")에 위치한 발전된 콘텐츠를 제공하는 것에 관한 것이다. 특히, 본 발명의 실시예들은 사용자 질의 관련 데이터를 분석하고 SRP 내에 위치한 복수의 신규한 상호 작용 제어들 또는 애플리케이션들을 제공하는 시스템들 및 방법들에 관한 것이다.
인터넷이 계속해서 기하 급수적으로 확장됨에 따라, 탐색 엔진들의 역할이 극적으로 증가해 왔다. 많은 양의 데이터는 신속하게 인간 사용자가 자신의 힘으로 조작할 수 없게 되었다. 따라서, 탐색 엔진 기술의 사용은 인터넷의 유용한 동작의 필수적인 도구가 되었다.
질의의 응답으로 리턴된 결과들의 품질에 대해 탐색 엔진들을 최적화하는데 있어서 장족의 발전이 있었다. 현재 기존 알고리즘들은, 사용자들이 통상 질의를 제출하는 몇 초 이내에 관련 웹사이트들을 식별할 수 있게 한다. 그러나, 이러한 발전들에도 불구하고, 특정 또는 종합 사용자 거동을 분석하고 SRP에 대해 직접 사용자에게 쉽게 액세스될 수 있는 데이터를 제공하는 데 대한 발전은 아주 조금밖에 없었다.
일례로서, 현재의 기술적 수준으로는 탐색 엔진 결과 페이지들 내에 존재하는 의미 데이터를 활용하지 못한다. 현재, 가장 자주 운영되는 사이트들 거의 전부를 포함해서, 다수의 웹사이트들은, 최종 사용자에게 쉽게 액세스될 수 있는 포맷으로 추출 및 파싱될 수 있는 RDF/XML, N3 등의 의미 데이터를 포함한다. 또한, 다수의 공통 탐색 질의들은 웹사이트들뿐만 아니라 사용자에게 직접 제공된 간단한 애플리케이션들 또는 위젯들에 의해 만족될 수 있다. 따라서, 현재 지능적이고 사용자 중심적인 탐색 결과 페이지들이 필요하다.
본 발명은, 탐색 결과들의 추가 개선(additional refinement)을 포함해서, 탐색 질의의 응답으로 하나의 또는 그 이상의 패싯들(facets)뿐만 아니라, 사용자가 개선된 데이터 및 다른 객체들에 액세스할 수 있게 하는 사용자 인터페이스 컴포넌트들을 제공하는 시스템들 및 방법들에 관한 것이다.
일 실시예에서, 탐색 결과들을 생성하는 단계는 적어도 하나의 탐색 용어를 포함하는 탐색 요청을 수신하는 단계 및 이 탐색 요청에 기초하여 웹 콘텐츠와 관련된 데이터 뭉치(corpus of data)에 액세스해서 탐색 결과 집합에 포함될 관련 콘텐츠를 결정하는 단계를 포함한다. 탐색 결과들을 생성하는 단계는 적어도 하나의 피벗 데이터 포인트(pivot data point)를 결정하는 단계를 더 포함하고, 적어도 하나의 피벗 데이터 포인트는 탐색 결과 집합의 검토에 기초하여 탐색 결과 집합과 문맥상으로 관련된다. 소정의 데이터 포인트에 대해, 시스템 및 방법은 데이터 피벗 포인트에 기초하여 탐색 결과 집합의 개선을 위해 액티브 데이터 링크를 생성하고, 탐색 결과 집합 및 액티브 데이터 링크들 중 적어도 일부분의 프리젠테이션을 위해 탐색 결과 출력 디스플레이를 생성한다. 방법 및 시스템은 피벗 데이터 포인트들 중 하나에 대한 소정의 액티브 데이터 링크를 선택함에 응답해서 탐색 결과 집합의 개선의 적어도 일부분을 제시하도록 탐색 결과 출력 디스플레이의 토글링을 제공한다.
일 실시예에서, 탐색 결과들을 생성하는 단계는 적어도 하나의 탐색 용어를 포함하는 탐색 요청을 수신하는 단계 및 탐색 요청에 기초하여 웹 콘텐츠와 관련된 데이터 뭉치에 액세스해서 결과 집합에 포함될 관련 콘텐츠를 결정하는 단계를 포함한다. 탐색 결과들을 생성하는 단계는 탐색 결과 집합에서 적어도 하나의 의미 객체를 결정하는 단계를 포함하고, 의미 객체는 탐색 결과 집합의 검토에 기초하여 웹 콘텐츠와 연관되고 웹 콘텐츠에 포함된 관련 데이터이다. 방법 및 시스템은 적어도 하나의 의미 객체에 기초하여 객체 필터를 생성하고, 의미 객체들 중 하나의 또는 그 이상의 의미 객체에 대한 액티브 데이터 링크들 및 탐색 결과 집합 중 적어도 일부분의 프리젠테이션을 위해 탐색 결과 출력 디스플레이를 생성한다. 방법 및 시스템은 소정의 액티브 데이터 링크를 선택함에 응답해서 탐색 결과 집합의 한 부집합의 적어도 일부분을 제시하도록 탐색 결과 출력 디스플레이의 토글링을 제공하고, 탐색 결과들의 부집합은 연관된 의미 객체를 가진 웹 콘텐츠를 포함한다.
일 실시예에서, 탐색 결과들을 생성하는 단계는 적어도 하나의 탐색 용어를 포함하는 탐색 요청을 수신하는 단계 및 탐색 요청에 기초하여 웹 콘텐츠에 관한 데이터 뭉치에 액세스해서 탐색 결과 집합에 포함될 관련 콘텐츠를 결정하는 단계를 포함한다. 방법 및 시스템은 탐색 요청과 연관된 복수의 애플리케이션들을 결정하는 단계 및 탐색 결과 집합 중 적어도 일부분 및 애플리케이션들 중 적어도 일부분의 프리젠테이션을 위해 탐색 결과 출력 디스플레이를 생성하는 단계를 포함한다.
그 결과로서, 방법 및 시스템은 문맥상(contextual) 피벗 데이터 포인트들, 의미 객체 필터링 및 질의 트리거(query triggered) 애플리케이션 디스플레이를 포함해서, 향상된 탐색 결과들을 생성한다.
본 발명은 예시적인 것으로 한정의 의미가 아닌 첨부 도면들의 그림들로 도시된다. 도면들에서, 유사한 참조 후보들은 유사하거나 대응하는 부분들을 나타낸다.
도 1은 본 발명의 일 실시예에 따라 질의 트리거 애플리케이션들을 제공하는 시스템을 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따라 질의 기반 피벗 데이터 포인트들을 제공하는 시스템을 도시한 블록도이다.
도 3은 본 발명의 일 실시예에 따라 탐색 데이터베이스에서 의미 객체들을 식별하고 의미 객체 문맥 링크들을 제공하는 시스템을 도시한 블록도이다.
도 4는 본 발명의 일 실시예에 따라 질의 트리거 애플리케이션들을 제공하는 방법을 도시한 흐름도이다.
도 5a는 본 발명의 일 실시예에 따라 탐색 결과 집합과 연관된 피벗 데이터 포인트들을 제공하는 방법을 도시한 흐름도이다.
도 5b는 본 발명의 일 실시예에 따라 피벗 데이터 포인트와 연관된 탐색 결과들을 검색하는 방법을 도시한 흐름도이다.
도 6a는 본 발명의 일 실시예에 따라 탐색 데이터베이스를 분석하고 의미 객체들을 식별하는 방법을 도시한 흐름도이다.
도 6b는 본 발명의 일 실시예에 따라 복수의 탐색 결과들로부터 의미 객체 식별 정보를 추출하고 의미 카테고리 링크들을 사용자에게 제공하는 방법을 도시한 흐름도이다.
도 7은 본 발명의 일 실시예에 따라 탐색 결과 페이지를 도시한 스크린 도면이다.
도 8은 본 발명의 일 실시예에 따라 피벗 데이터 포인트의 선택에 응답해서 검색된 복수의 탐색 결과들을 도시한 스크린 도면이다.
도 9는 본 발명의 일 실시예에 따라 의미 카테고리 링크의 선택에 응답해서 검색된 복수의 탐색 결과들을 도시한 스크린 도면이다.
이하의 설명에서, 이 명세서의 한 부분을 형성하고, 본 발명이 실행될 수도 있는 특정 실시예들이 실례로서 도시된 첨부 도면들에 대한 참조가 이루어진다. 다른 실시예들이 사용될 수도 있으며 구조적 변경들이 본 발명의 범위 내에서 이루어질 수 있음을 알 것이다.
도 1은 본 발명의 일 실시예에 따라 질의 트리거 애플리케이션들을 제공하는 시스템을 도시한 블록도이다. 도 1의 실시예가 도시하는 바와 같이, 복수의 클라이언트 디바이스들(102, 104, 106)은 네트워크(108)를 통해 탐색 제공자(110)에 연결된다. 탐색 제공자(110)는 웹 서버(112), 탐색 엔진(114), 탐색 데이터베이스(116), SRP 애플리케이션 서버(118) 및 SRP 애플리케이션 데이터베이스(120)를 포함한다. SRP 애플리케이션 서버(118)는 질의 인스펙터(query inspector)(122), 질의 파서(124), 데이터베이스 인터페이스(126) 및 애플리케이션 로더(128)를 포함한다.
본 명세서에서 사용된 바와 같이, 애플리케이션은 다른 컴퓨터들; 사용자들이 상호 작용(뿐만 아니라 정적 프리젠테이션들)하기 위한 동적 인터페이스들과 직접 통신할 수 있으며; 알고리즘 탐색 결과들을 생성하는데 사용되는 데이터와 무관한 데이터 뭉치들에 액세스할 수 있는 임의의 소프트웨어 구현일 수 있다.
클라이언트 디바이스들(102, 104, 106)은 중앙 처리 장치, 메모리 유닛, 영구적인 스토리지, 오디오/비디오 출력 디바이스들, 네트워크 인터페이스들 등을 가진 범용 컴퓨팅 디바이스들(예를 들면, 퍼스널 컴퓨터들, 텔레비전 셋탑 박스들, 이동 장치들 등)일 수 있다. 클라이언트 디바이스들(102, 104, 106)은 인터넷 등의 근거리 또는 광역 네트워크를 포함할 수 있는 네트워크(108)를 통해 통신하도록 동작한다. 본 실시예에서, 클라이언트 디바이스들(102, 104, 106)은 텍스트, 이미지들 및 다른 데이터의 클라이언트/서버 교환을 위해 HTTP, WAP 또는 유사 프로토콜을 통해 콘텐츠 제공자(110)에게 요청들을 송신한다.
클라이언트 디바이스들(102, 104, 106)은 탐색 결과들에 대한 요청들을 탐색 제공자(110)에게 송신하도록 동작하며, 탐색 요청들은 탐색 용어들을 포함한다. 용어들은 사용자 생성 탐색 용어들일 수 있으며, 또는 사용자-보조, 즉, 제안된, 탐색 용어들일 수 있다. 일 실시예에서, 클라이언트 디바이스들(102, 104, 106)은 텍스트 질의 문자열을 포함하는 HTTP 요청을 송신하도록 동작할 수 있다. 예를 들면, 클라이언트 디바이스(102, 104, 106)를 조작하는 사용자는 "sushi in new york, ny" 등의 탐색 용어들을 가진 질의 문자열을 입력하고, HTML 형태 요소를 통해 질의를 제출할 수 있다.
탐색 제공자(110)는 웹 서버(112)를 통해 클라이언트 디바이스들로부터 질의들을 수신한다. 일 실시예에서, 웹 서버(112)는 APACHE HTTP SERVER, MICROSOFT IIS 등의 웹 서버 소프트웨어, 또는 임의의 다른 적합한 웹 서버 소프트웨어를 실행하는 각종 하드웨어 컴포넌트들을 포함할 수 있다.
웹 서버(112)는 질의 문자열을 추출하고 탐색 엔진(114)에 송신될 탐색 엔진 요청을 생성한다. 탐색 엔진(114)은 탐색 결과들에 대한 요청들을 수신하고, 탐색 알고리즘들을 최적화하며 탐색 데이터베이스(116)로부터 데이터를 추출하도록 동작하는 각종 하드웨어 및 소프트웨어 컴포넌트들을 포함할 수 있다. 사용될 수 있는 각종 탐색 엔진 기술들은 본 기술 분야에 널리 공지되어 있으며 간결성을 위해 본 명세서에는 기술되지 않는다.
탐색 엔진(114)은 탐색 데이터베이스(116)로부터 복수의 탐색 결과들을 검색한다. 일 실시예에서, 탐색 데이터베이스(116)는 소정의 질의와 연관된 저장된 리소스 식별자들에 대한 액세스를 허용하는 복수의 인덱스들을 포함할 수 있다. 복수의 탐색 결과들을 검색한 후에, 탐색 엔진(114)은 결과들을 웹 서버(112)에 다시 송신한다.
복수의 탐색 결과들을 검색하는 것 외에, 웹 서버(112)는 수신된 질의를 SRP 애플리케이션 서버(118)에 송신하도록 더 동작한다. 일 실시예에서, SRP 애플리케이션 서버는 SRP 애플리케이션 데이터베이스(120) 및 웹 서버(112) 간에 데이터를 송신 및 처리하도록 동작하는 하나의 애플리케이션 서버 또는 다수의 애플리케이션 서버들을 포함할 수 있다.
SRP 애플리케이션 서버(118)가 웹 서버(112)로부터 질의를 수신할 때, 질의 인스펙터(122)는 질의 문자열에 대한 초기 전처리(initial preprocessing)를 실행한다. 일 실시예에서, 전처리는 질의 문자열의 포맷화(예를 들면, 여백 제거, 재기록), 용어 교체(예를 들면, 모호한 용어들을 적합한 일반적인 용어들로 교체), 질의 분류, 엔티티 식별, 또는 본 기술 분야에 공지된 다른 질의 파싱 기술들을 포함할 수 있다. 질의 인스펙터(122)는 질의 파서(124)에 통신 가능하게 연결된다. 질의 파서(124)는 전처리된 질의를 별개의 키워드 성분들로 분해해서 키워드 성분들을 데이터베이스 인터페이스(126)에 송신할 수 있다. 본 실시예에서, 데이터베이스 인터페이스(126)는 키워드 성분들을 수신하고 형식적인 데이터베이스 요청을 공식화한다. 예를 들면, 데이터베이스 인터페이스(126)는 SRP 애플리케이션 데이터베이스(120)에 액세스하기 위해 복수의 사전 정의된 요청 템플릿들을 검색하도록 동작할 수 있다. 복수의 키워드들의 수신에 응답해서, 데이터베이스 인터페이스(126)는 적합한 요청 템플릿을 선택해서 이 요청을 SRP 애플리케이션 데이터베이스(120)에 송신할 수 있다.
SRP 애플리케이션 데이터베이스(120)는 하나의 또는 그 이상의 데이터베이스를 포함할 수 있으며, 데이터베이스들 각각은 SRP 애플리케이션들과 관련된 정보를 저장하도록 동작한다. 일 실시예에서, SRP 애플리케이션 데이터베이스(120)는 한 애플리케이션과 연관된 메타데이터(예를 들면, 제목, 키워드들 등)를 저장하는 인덱스 데이터베이스 및 소정의 애플리케이션과 연관된 실행 가능 코드를 저장하는 애플리케이션 데이터베이스를 포함한다.
데이터베이스 인터페이스(126)는 SRP 애플리케이션 데이터베이스(120)로부터 애플리케이션 데이터를 수신하고 수신된 데이터를 애플리케이션 로더(128)에 발송할 수 있다. 일 실시예에서, 애플리케이션 로더(128)는 SRP에 포함되기에 적합한 포맷으로 수신된 애플리케이션 데이터를 포맷 및 패키징하도록 동작한다. 예를 들면, 애플리케이션 로더(128)는 광고 데이터, 현재 시간 데이터 또는 실행시에 결정될 수 있는 임의의 다른 데이터 등의 애플리케이션과 연관된 임의의 가변 데이터를 채울 수 있다.
애플리케이션 로더(128)는 패키징된 애플리케이션(들)을 웹 서버(112)에 다시 송신하도록 더 동작한다. 이에 응답하여, 웹 서버(112)는 애플리케이션 패키지(들)를 이전에 수신된 탐색 결과들과 결합할 수 있다. 일 실시예에서, 애플리케이션(들)을 탐색 결과들과 결합하는 단계는 사전 정의된 SRP 템플릿의 섹션들을 식별하는 단계 및 탐색 결과들 및 애플리케이션(들)을 각각의 템플릿 로케이션들에 배치하는 단계를 포함할 수 있다. 더 상세히 후술되는 바와 같이, 로드될 때, 애플리케이션들은, 일 실시예에서, 프로세싱 시스템에 고유한 데이터를 포함해서, 실행을 위한 추가 정보를 사용할 수 있으며, 그 결과 SRP가 디스플레이된다.
다른 실시예는 애플리케이션의 다이렉트 디스플레이 또는 개시, 탐색 결과들의 생략 또는 탐색 결과들을 부차적인 또는 보조 디스플레이에 디스플레이하는 것을 포함할 수 있음을 주지해야만 한다.
도 2는 본 발명의 일 실시예에 따라 질의 기반 피벗 데이터 포인트들을 제공하는 시스템을 도시한 블록도이다. 도 2의 실시예가 도시하는 바와 같이, 복수의 클라이언트 디바이스들(202, 204, 206)은 네트워크(208)를 통해 탐색 제공자(210)에 연결된다. 도 2의 실시예에 따라, 탐색 제공자(210)는 웹 서버(212), 탐색 엔진(214), 탐색 데이터베이스(216) 및 피벗 서버(218)를 포함한다. 피벗 서버(218)는 탐색 결과 파서(220), 질의 핸들러(222), 피벗 메트릭(pivot metrics) 스토리지(224) 및 피벗 패키저(pivot packager)(226)를 포함한다.
일반적으로, 웹 서버(212), 탐색 엔진(214) 및 탐색 데이터베이스(216)로부터의 탐색 결과들을 요청하는 것에 대한 클라이언트 디바이스들(202, 204, 206)의 동작은 소자들(102, 104, 106, 112, 114 및 116)과 관련된 동작과 실질적으로 유사하므로 간결성을 위해 반복되지 않는다.
도 2의 실시예에서, 웹 서버(212)는 검색된 탐색 결과들을 피벗 서버(218)에 송신하도록 더 동작할 수 있다. 본 실시예에서, 탐색 결과들은 탐색 결과 파서(220)에 의해 수신될 수 있다. 탐색 결과 파서(220)는 도메인 또는 다른 피벗 포인트에 의해 탐색 결과들을 그룹화하는 등, 수신된 탐색 결과들에 대한 파싱 동작들을 실행한다. 그 후, 탐색 결과 파서(220)는 파싱된 결과들을 질의 핸들러(222)에 송신한다.
일 실시예에서, 질의 핸들러(222)는 파싱된 탐색 결과들과 함께 웹 서버(212)로부터 제출된 질의를 수신한다. 질의 핸들러(222)는 파싱된 탐색 결과들에 기초하여 피벗 메트릭 스토리지(224)로부터 복수의 피벗 메트릭들을 추출하고 복수의 피벗 데이터 포인트들을 생성하도록 동작할 수 있다. 예를 들면, 피벗 메트릭 스토리지(224)는 소정의 피벗 데이터 포인트(예를 들면, 도메인-특정 탐색 질의 파라미터들)에 적용될 도메인-특정 속성들을 포함할 수 있다. 또한, 질의 핸들러(222)는 선택된 피벗 데이터 포인트들을 더 개선하기 위해 소정의 질의를 분석하도록 동작할 수 있다. 예를 들면, 질의 핸들러(222)는 쇼핑, 여행, 사람 등에 관한 것으로서 질의의 타입을 카테고리화하도록 동작할 수 있다. 이러한 카테고리화는 피벗 데이터 포인트들의 리스트를 좁히는데 사용될 수 있다. 예를 들면, 쇼핑과 관련된 탐색은, 질의 핸들러(222)가 도메인-특정 피벗 데이터 포인트들을 식별할 때 소셜 네트워킹 사이트로부터의 결과들을 무시할 수 있게 할 수 있다.
복수의 피벗 데이터 포인트들을 검색한 후에, 질의 핸들러(222)는 피벗 데이터 포인트들을 피벗 패키저(226)에 송신할 수 있다. 본 명세서에서 사용된 바와 같이, 피벗 데이터 포인트들은 특정 데이터에 기초하여 탐색을 개선하기 위한 데이터 포인트들이며, 예를 들어, 본 일례는 특정 웹 로케이션을 개선하는 것으로, 예시적이지만 한정적인 일례는 아니다. 일 실시예에서, 피벗 패키저(226)는 SRP에 삽입될 피벗 데이터 포인트를 준비할 책임이 있을 수 있다. 예를 들면, 피벗 패키저(226)는 피벗 데이터 포인트와 연관된 이미지들, 자바스크립트 및 액티브 데이터 링크들(예를 들면, HTML 하이퍼링크들)을 포함하는 피벗 데이터 포인트의 표현을 구성하도록 동작할 수 있다.
피벗 패키저(226)는 패키징된 피벗 패키지(들)를 웹 서버(212)에 다시 송신하도록 더 동작한다. 이에 응답하여, 웹 서버(212)는 피벗 패키지(들)를 이전에 수신된 탐색 결과들과 결합할 수 있다. 일 실시예에서, 피벗 패키지(들)를 탐색 결과들과 결합하는 단계는 사전 정의된 SRP 템플릿의 섹션들을 식별하는 단계 및 탐색 결과들 및 피벗 패키지(들)를 각각의 템플릿 로케이션들에 배치하는 단계를 포함할 수 있다. SRP의 실시예들은 도 4의 흐름도뿐만 아니라 도 7 내지 도 9와 관련해서 더 기술된다.
도 3은 본 발명의 일 실시예에 따라 탐색 데이터베이스에서 의미 객체들을 식별하고 의미 객체 문맥 링크들을 제공하는 시스템을 도시한 블록도이다. 도 3의 실시예가 도시하는 바와 같이, 복수의 클라이언트 디바이스들(302, 304, 306)은 네트워크(308)를 통해 탐색 제공자(310)에 연결된다. 도 3의 실시예에 따라, 탐색 제공자(310)는 웹 서버(312), 탐색 엔진(314), 탐색 데이터베이스(316), 의미 객체 서버(318) 및 의미 객체 데이터베이스(320)를 포함한다. 의미 객체 서버(318)는 탐색 결과 로더(322), 의미 객체 추출기(324), 의미 객체 규칙 스토리지(326), 질의 로더(328), 데이터베이스 인터페이스(330) 및 의미 객체 패키저를 포함한다.
일반적으로, 웹 서버(312), 탐색 엔진(314) 및 탐색 데이터베이스(316)로부터의 탐색 결과들을 요청하는 것에 대한 클라이언트 디바이스들(302, 304, 306)의 동작은 소자들(102, 104, 106, 112, 114 및 116)과 관련된 동작과 실질적으로 유사하므로 간결성을 위해 반복되지 않는다.
의미 객체 서버(318)는 탐색 데이터베이스에 저장된 탐색 결과들 내에 위치한 의미 객체 데이터를 관리한다. 의미 객체 서버(318)는 탐색 용어들을 포함하는 탐색 질의에 응답해서 의미 객체 데이터의 관리 및 검색을 다루도록 또한 동작한다.
일 실시예에서, 탐색 결과 로더(322)는 탐색 데이터베이스(316)로부터 탐색 결과들을 수신하도록 동작한다. 일 실시예에서, 탐색 데이터베이스(316)는 분석되지 않은 탐색 결과들을 탐색 결과 로더(322)에 전송할 수 있다. 예를 들면, 크롤(crawled) 탐색 결과들을 완결하기 전에, 탐색 데이터베이스(316)는 처리를 위해 탐색 결과들을 탐색 결과 로더(322)에 송신할 수 있다. 대안으로, 탐색 결과 로더(322)는 탐색 데이터베이스(316)로부터 탐색 결과들을 뽑아서 탐색 결과들의 분석을 제어할 수 있다.
탐색 결과 로더(322)는 탐색 결과들을 의미 객체 추출기(324)에 송신한다. 본 실시예에서, 의미 객체 추출기(324)는 의미 객체 규칙 스토리지(326)로부터 의미 객체 정의들을 검색한다. 의미 객체 정의는 의미 데이터와 연관된 공지된 기술들에 따라 의미 데이터의 포맷을 기술하는 구조화된 데이터를 포함할 수 있다. 예를 들면, 의미 객체 정의는 의미 객체 내에 필드들 및 파라미터들을 기술할 수 있다.
의미 객체 정의들에 액세스한 후에, 의미 객체 추출기(324)는 소정의 탐색 결과를 분석하고, 하나의 또는 그 이상의 의미 객체들이 탐색 결과 내에 존재하는지를 결정한다. 일 실시예에서, 의미 객체 추출기(324)는 탐색 결과의 연관된 페이지(예를 들면, HTML 소스 코드)의 콘텐츠를 파싱하고, 의미 객체 정의에 의해 기술된 패턴들에 일치하는 페이지 콘텐츠를 식별한다.
의미 객체 추출기(324)가 의미 객체들과의 하나의 또는 그 이상의 일치들을 검출하면, 의미 객체 추출기(324)는 의미 객체 데이터베이스(320)로부터 사전 정의된 의미 객체들을 검색한다. 일 실시예에서, 의미 객체 데이터베이스(320)는 이미지 데이터, 실행 가능 코드 데이터 및 마크업 데이터를 포함하는 복수의 사전 정의된 의미 객체 컴포넌트들을 저장할 수 있다.
의미 객체 서버(318)는 질의 로더(328)를 통해 사용자 질의들을 더 처리해서 의미 객체 정의들이 사용자 질의에 대응하는지를 결정할 수 있다. 예를 들면, 질의 로더(328)는 제출된 사용자 질의가 비디오 탐색 결과들과 잠정적으로 관련될 수 있다고 결정할 수 있다. 본 실시예에서, 질의 로더(328)는 질의 키워드들을 분석하고, 의미 객체 데이터베이스(320)에 질의해서 연관된 탐색 결과들이 적합한 의미 객체들을 포함하는지를 결정할 수 있다. 예를 들면, "pearl jam"에 대한 사용자 질의는 비디오 객체들에 대한 의미 객체 일치를 야기할 수 있다. 본 일례에서, 데이터베이스 인터페이스(330)는 의미 객체 데이터베이스(320)에 질의해서 임의의 비디오 객체가 질의 "pearl jam"에 대한 탐색 결과들 내에 존재하는지를 결정할 수 있다.
대안적인 실시예에서, 의미 객체 서버(318)는 사용자 질의를 분석하지 않고 소정의 질의에 대한 탐색 결과들을 분석해서 의미 객체들이 존재하는지를 결정할 수 있다. 예를 들면, 의미 객체 서버(318)는 탐색 결과들을 의미 객체 데이터베이스(320) 내의 엔트리들과 상호 참조하고 어떤 의미 객체들이 탐색 결과들 내에 존재하는지를 결정할 수 있다. 다른 실시예에서, 의미 객체들은 결과들과 함께 돌아오며, 시스템은 어떤 결과들 및 객체들이 돌아오는지에 기초하여 무엇을 할지를 결정하기 위해 프록시로 애플리케이션 로직을 적용한다.
의미 객체 서버(318)가 의미 객체들이 탐색 결과 집합 내에 존재한다고 결정할 때, 의미 객체 패키저(332)는 의미 객체 필터를 패키징한다. 일 실시예에서, 의미 객체 필터는 의미 객체를 식별하는 액티브 데이터 링크, 각종 이미지 요소들뿐만 아니라 객체 필터의 외관을 기술하기 위한 마크업 언어를 포함하는 복수의 컴포넌트들을 포함할 수 있다. 대안적인 실시예들에서, 의미 객체 서버(318)는 어떤 객체들이 보여야 하고 보이지 않아야 하는지를 결정하도록 더 동작할 수 있다. 예를 들면, 의미 객체 서버(318)는 디스플레이될 의미 객체 필터들의 수를 결정하기 위해 미리 정해진 시나리오-기반 임계값을 사용할 수 있다. 대안으로, 각종 다른 메트릭들이 디스플레이되는 결과들의 수를 정의하는데 사용될 수 있다.
의미 객체 패키저(332)는 패키징된 객체(들)를 웹 서버(312)에 다시 송신하도록 더 동작한다. 이에 응답하여, 웹 서버(312)는 패키징된 객체(들)를 이전에 수신된 탐색 결과들과 결합할 수 있다. 일 실시예에서, 패키징된 객체(들)를 탐색 결과들과 결합하는 단계는 사전 정의된 SRP 템플릿의 섹션들을 식별하는 단계 및 탐색 결과들 및 패키징된 객체(들)를 각각의 템플릿 로케이션들에 배치하는 단계를 포함할 수 있다.
3개의 이질적인 환경들로서 설명되더라도, 서버들(118, 218, 318)은 대안으로 웹 서버, 탐색 엔진 및 탐색 데이터베이스와 동시에 동작할 수 있다. 본 실시예에서, 서버들(118, 218, 318)은 모두 웹 서버, 탐색 엔진 및 탐색 데이터베이스에 통신 가능하게 연결될 수 있으며, 상술된 프로세싱을 동시에 실행할 수 있다.
추가 환경에서, 도 1 내지 도 3은 광고인들과 통신하기 위해 탐색 제공자(110, 210, 310)에 위치한 경매 서버를 더 포함할 수 있다. 본 실시예에서, 광고인들은 SRP들에 포함될 애플리케이션들, 피벗 패키지들, 의미 객체들 및 다른 객체들을 제출할 수 있다. 예를 들면, 광고인들은 또한 SRP들에 광고들을 배치하는 것에 관해서 현재 광고 아키텍처와 유사하게 제출된 애플리케이션들의 배치에 입찰(bid)할 수 있다.
또한, 도 1 내지 도 3에 기술된 시스템들은 다른 질의 프로세싱 기술들과 결합될 수 있다. 예를 들면, 상기 서버는 세션 데이터 분석 애플리케이션들 등의 히스토리 기반 프로세싱 애플리케이션들과 함께 작업할 수 있다. 본 실시예에서, 시스템은 소정의 탐색의 문맥을 결정하기 위해 소정의 시간 기간에 사용자의 과거 히스토리를 분석하도록 동작할 수 있다. 예를 들면, "cars", "buick" 및 "ford" 탐색들에 이은 "jaguar"에 대한 탐색은, 사용자가 동물들이 아니라 JAGUAR® 자동차에 관심이 있음을 나타낼 수 있다. 따라서, 시스템은 자동차와 연관된 피벗 데이터 아이템들, 의미 객체 필터들 또는 애플리케이션들에 집중하도록 상술된 시스템들을 한정할 수 있다.
도 4는 본 발명의 일 실시예에 따라 질의 트리거 애플리케이션들을 제공하는 방법을 도시한 흐름도이다. 일 실시예에서, 도 4의 방법은 도 1의 시스템(100) 내에서 실행될 수 있다. 도 4가 도시하는 실시예에 따라, 방법(400)은 단계(400)에서 탐색 질의를 수신 및 파싱한다. 본 실시예에서, 본 방법은 본 기술 분야에 공지된 바와 같이 탐색 포털을 사용해서 최종 사용자로부터 HTTP 요청을 통해 탐색 질의를 수신할 수 있다. 그 후, 본 방법(400)은 사전 정의된 집합의 규칙들에 따라 탐색 질의를 파싱할 수 있다. 예를 들면, 본 방법(400)은 질의에서 가비지(garbage) 또는 여백 문자들을 트림(trim)할 수 있고 또는 본 기술 분야에 공지된 다른 전처리 알고리즘들을 수행할 수 있다.
그 후, 본 방법(400)은 단계(404)에서 관련 질의 키워드들을 식별한다. 본 단계에서, 본 방법(400)은 키워드들의 구문론적 배치뿐만 아니라 키워드들의 단어들을 분석함으로써 사용자 질의의 문맥 및 의도를 지능적으로 결정한다. 예를 들면, "mortgage calculator" 등의 사소한 질의는 대출(mortgages)과 관련된 계산기 애플리케이션들과 연관된 것으로 식별될 수 있다. "sushi restaurants in new york, ny"와 같은 더 복잡한 일례는 3개의 일반적인 키워드들: 사업의 종류(restaurant), 사업의 "장르" 또는 분야(sushi) 및 장소 키워드(New York City)를 식별할 수 있다. 대안적인 실시예들에서, 본 방법(400)은 "restaurants" 등의 일반적인 애플리케이션 식별자로서 상기 3개의 키워드들을 더 파싱할 수 있다. 다른 실시예에서, 본 방법(400)은 질의를 연관된 주제로 지능적으로 변환할 수 있다. 예를 들면, 사용자가 질의 "2 + 2"를 입력하면, 본 방법(400)은 사용자의 질의가 수학적 계산기에 관한 것이라고 결정할 수 있다.
질의 키워드들을 식별한 후에, 본 방법(400)은 단계(406)에서 애플리케이션 데이터베이스에 질의한다. 일 실시예에서, 본 방법(400)은 사전 정의된 데이터베이스 인터페이스를 사용해서, 식별된 키워드들에 연관되거나 또는 유사하게 일치하는 애플리케이션들을 데이터베이스 내에서 추출할 수 있다. 일 실시예에서, 본 방법(400)은 소정의 애플리케이션의 기술과 질의를 비교한 것에 기초하여 신뢰값(a confidence value)을 더 결정할 수 있다.
단계(408)에서, 식별된 키워드들에 대한 애플리케이션들이 발견되지 않으면, 본 방법은 단순히 단계(410)에서 일치하는 탐색 결과들을 제공한다. 예를 들면, 본 방법(400)은 사용자 질의가 애플리케이션들이 결여된 모호한 주제에 관한 것이면 키워드들과 연관된 임의의 애플리케이션들을 발견하지 않을 수 있다.
본 방법(400)이 사용자 질의에 대한 애플리케이션들이 존재한다고 결정하면, 본 방법은 단계(412)에서 애플리케이션들 및 탐색 결과들을 사용자에게 제공한다. 일 실시예에서, 애플리케이션들을 제공하는 단계는 탐색 결과 페이지 내에 포함된 패키징된 애플리케이션 객체를 제공하는 단계를 포함할 수 있다.
본 방법(400)은, 단계(414)에서, 애플리케이션들 및 탐색 결과들을 사용자에게 제공하고, 사용자가 애플리케이션을 선택하는지를 결정하기 위해 애플리케이션들을 모니터링한다. 애플리케이션을 선택하는 단계는 마우스로 객체를 클릭하는 단계, 키스트로크를 입력하는 단계, 또는 본 기술 분야에 공지된 임의의 사용자 입력 동작을 포함할 수 있다. 일 실시예에서, 사용자 상호 작용을 모니터링하는 단계는 자바스크립트, 플래시, 또는 유사한 클라이언트측 기술들 등의 클라이언트-측 실행 가능 코드를 통해 달성될 수 있다.
본 방법(400)이 사용자가 애플리케이션을 선택했다고 결정하면, 본 방법은 단계(416)에서 사용자 디바이스에서 애플리케이션을 실행한다. 일 실시예에서, 애플리케이션을 실행하는 단계는 로컬 스토리지로부터 애플리케이션을 로드하는 단계를 포함할 수 있다. 예를 들면, SRP에 애플리케이션이 포함될 수 있지만, 액티브 상태가 아닐 수 있다. 애플리케이션 선택에 응답하여, 본 방법(400)은 단순히 애플리케이션을 활성화하고 디스플레이한다. 대안적인 실시예들에서, 본 방법(400)은 사용자 선택에 응답하여 원격 스토리지에 액세스할 수 있다. 본 실시예에서, 본 방법(400)은 애플리케이션을 비동기로 검색할 수 있으며, 수신 후에, 애플리케이션을 실행할 수 있다. 애플리케이션은 SRP 내에서 실행될 수 있으며, 또는 별개의 디스플레이에 있을 수 있다.
애플리케이션의 실행은, 가능한 경우, 로컬 데이터를 사용할 수 있다. 예를 들면, 이전에 입력된 정보 또는 프로필 정보 등의, 애플리케이션에 의해 사용 가능한 기존 데이터를 사용자가 갖고 있으면, 애플리케이션은 사용자 기능을 향상시키기 위해 로컬 스토리지와 상호 작용할 수 있다.
본 질의 트리거 애플리케이션 응답은 웹이 아닌 콘텐츠 데이터에 기초할 수 있음을 주지해야만 한다. 예를 들면, 일 실시예에서, 탐색은 제3자 데이터 피드들(third party data feeds)을 포함하는 데이터 피드들에 대해 실행될 수 있다. 본 실시예에서, 본 방법은 제3자 데이터 피드를 포함하는 복수의 데이터 피드들을 등록하는 단계 및 그 피드 데이터를 저장 및 갱신하는 피드 데이터용 영구 저장소를 생성하는 단계를 포함한다. 또한, 피드 데이터는 소정의 도메인의 엔티티들의 리스트 및 그 엔티티들에 대한 메타데이터를 포함할 수 있지만, 이에 한정되지는 않는다. 따라서, 탐색 결과들을 생성하는 방법은 또한 데이터 피드에 대해 탐색 요청을 실행하는 단계를 포함할 수 있다.
다른 실시예에서, 탐색 동작들의 추가 개선들은 소정의 질의에 대해 가장 적합한 수직 탐색 엔진을 결정하는 단계를 포함할 수 있다. 이는 탐색 용어들의 분석 및/또는 탐색 결과들의 타입의 분석에 의해 실행될 수 있다. 따라서, SRP는 가장 적합한 수직 탐색 엔진으로부터의 탐색 결과들을 포함할 수 있다.
도 5a는 본 발명의 일 실시예에 따라 탐색 결과 집합과 연관된 피벗 데이터 포인트들을 제공하는 방법을 도시한 흐름도이다. 도 5a 및 도 5b의 방법은 도 2의 시스템(200) 내에서 실행될 수도 있음을 주지해야만 한다. 도 5a가 도시하는 실시예에 따라, 본 방법(500a)은 단계(502)에서 탐색 질의를 수신한다. 본 실시예에서, 본 방법(500a)은 본 기술 분야에 공지된 바와 같이 탐색 포털을 사용해서 최종 사용자로부터 HTTP 요청을 통해 탐색 질의를 수신할 수 있다. 그 후, 본 방법(500a)은 단계(504)에서 질의와 연관된 탐색 결과들을 검색한다. 탐색 결과 검색 기술들은 통상 본 기술 분야에 공지되어 있으며 간결성을 위해 반복되지 않는다.
본 방법(500a)은 단계(506)에서 소정의 탐색 결과를 선택하고 결과를 카테고리화한다. 본 방법(500a)은 단계(508)에서 필요한 수의 탐색 결과 리스트를 생성할 때까지 탐색 결과들을 카테고리화한다. 일 실시예에서, 본 방법(500a)은 모든 탐색 결과들을 카테고리화할 수 있다. 대안적인 실시예들에서, 본 방법(500a)은 미리 정해진 임계량에 기초하여 카테고리화된 탐색 결과들의 수를 한정할 수 있다.
일 실시예에서, 탐색 결과를 카테고리화하는 단계는 탐색 결과의 도메인 이름을 결정하는 단계를 포함할 수 있다. 예를 들면, 본 방법(500a)은 "example.com"에 속한 탐색 결과들의 수를 결정할 수 있으며, 이 카테고리 데이터를 국부적으로 저장할 수 있다. 대안적인 실시예들에서, 본 방법(500a)은 임의의 미리 정해진 카테고리화 방식들에 따라 결과들을 카테고리화할 수 있다.
카테고리화 후에, 본 방법(500a)은 단계(510)에서 피벗 메트릭을 로드한다. 일 실시예에서, 피벗 메트릭은 소정의 카테고리와 연관된 임의의 메타데이터를 포함할 수 있다. 예를 들면, 피벗 메트릭은 일치한 결과들의 수에 기초하여 카테고리들의 애플리케이션을 포함할 수 있다. 즉, 소정의 카테고리는 오직 일치한 결과들의 수가 미리 정해진 임계값을 초과하는 경우에만 적용될 것이다. 대안으로, 피벗 메트릭은 소정의 카테고리 또는 도메인과 연관된 임의의 메타데이터를 포함할 수 있다.
그 후, 본 방법(500a)은 단계(512)에서 카테고리화된 탐색 결과들의 부집합을 선택한다. 카테고리화된 탐색 결과들의 부집합을 선택하는 단계는 미리 정해진 임계값에 의해 정의되는, 상위 N개의 카테고리들을 추출하는 단계를 포함할 수 있다. 예를 들면, 본 방법(500a)은 상위 3개의 카테고리들만이 사용되어야 한다고 결정할 수 있다.
본 방법(500a)은 단계(514)에서 카테고리화된 탐색 결과들에 기초하여 피벗 데이터 포인트들을 생성한다. 일 실시예에서, 피벗 데이터 포인트를 생성하는 단계는 SRP 내에 배치될 수 있는 자립적인 객체(self-contained object)를 생성하는 단계를 포함할 수 있다. 예를 들면, 본 방법(500a)은 피벗 메트릭 데이터를 사용할 수 있으며, 카테고리와 연관된 이미지, 피벗 포인트와 연관된 HTML 액티브 데이터 링크 및 피벗 데이터 포인트와 연관된 자바스크립트 등의 연관된 실행 가능 코드를 생성 또는 식별할 수 있다. 본 방법(500a)은 이러한 형태의 데이터 및 각종 다른 형태들의 데이터를 결합해서 자립적인 피벗 데이터 포인트를 생성할 수 있다. 여기에서, 액티브 링크는 피벗 데이터 포인트에 기초하여 생성될 수 있으며, 예를 들면, 포인트는 웹 로케이션, 예를 들면, "www.example.com"을 명시하는 콘텐츠일 수 있고, 액티브 링크는 해당 피벗 포인트의 가시적인 표현 또는 표시이며, 액티브 링크는 사용자가 선택할 수 있는 SRP 및 인터페이스 요소로 인코딩된다.
마지막으로, 본 방법(500a)은 단계(516)에서 SRP에서 사용자에게 피벗 데이터 포인트들 및 탐색 결과들을 제공한다. 일 실시예에서, 본 방법(500a)은, 도 7 내지 도 9에서 후술되는 바와 같이, SRP 또는 SRP 템플릿 내에, 예를 들면, 좌측 바에, 이전에 생성된 피벗 데이터 포인트 코드를 포함한다.
도 5b는 본 발명의 일 실시예에 따라 피벗 데이터 포인트와 연관된 탐색 결과들을 검색하는 방법을 도시한 흐름도이다. 도 5b가 도시하는 실시예에 따라, 본 방법(500b)은 단계(518)에서 상술된 바와 같이 피벗 포인트들 및 탐색 결과들을 제공한다. 그 후, 본 방법(500b)은 단계(520)에서 SRP를 모니터링해서 피벗 데이터 포인트들 중 하나를 선택한 사용자 선택을 검출한다. 애플리케이션을 선택하는 단계는 마우스로 객체를 클릭하는 단계, 키스트로크를 입력하는 단계, 또는 본 기술 분야에 공지된 임의의 사용자 입력 동작을 포함할 수 있다. 일 실시예에서, 사용자 상호 작용을 모니터링하는 단계는 자바스크립트, 플래시, 또는 유사한 클라이언트측 기술들 등의 클라이언트-측 실행 가능 코드를 통해 달성될 수 있다.
사용자가 피벗 데이터 포인트를 선택하지 않으면, 본 방법(500b)은 단계(518)에서 피벗 데이터 포인트들을 계속해서 제공한다. 사용자가 피벗 데이터 포인트를 선택하면, 본 방법은 단계(520)에서 개선 탐색 결과들을 요청한다. 일 실시예에서, 개선 탐색 결과들을 요청하는 단계는 피벗 데이터 포인트 내에서 액티브 데이터 링크에 의해 식별된 제2 탐색 질의를 실행하는 단계를 포함할 수 있다. 일 실시예에서, 제2 탐색 질의는 동기로, 즉, 별개의 제2 SRP를 리로드함으로써 실행될 수 있다. 대안적인 실시예에서, 제2 탐색 질의는 비동기로, 즉, SRP를 리로드하지 않고 단순히 탐색 결과들을 리로드함으로써 실행될 수 있다.
그 후, 본 방법(500b)은 단계(524)에서 개선된 탐색 결과들을 제시한다. 상술된 바와 같이, 개선된 탐색 결과들을 제시하는 단계는 제1 SRP와 유사한 제2 SRP를 디스플레이하는 단계를 포함할 수 있다. 일 실시예에서, 제2 SRP는, 제2 SRP가 피벗 데이터 포인트에 기초하여 제1 SRP의 개선임을 나타내는 추가 요소들을 포함할 수 있다. 예를 들면, 제2 SRP는, 탐색 결과들이 개선되며 제1 SRP에 리턴될 옵션을 제공할 수 있음을 진술할 수 있다. 일 실시예에서, 이는 원래의 SRP로 다시 복귀하기 위한 토글 선택일 수 있다.
본 방법(500b)은 단계(526)에서 리턴 요청의 검출이 검출될 때까지 개선된 SRP를 계속해서 디스플레이한다. 사용자가 리턴 요청을 제출했음을 본 방법(500b)이 검출하면, 본 방법은 단계(528)에서 원래의 SRP를 제시한다. 상술된 바와 같이, 본 방법(500b)은 동기 또는 비동기 요청을 통해 원래의 SRP를 제시할 수 있다. 또한, 사용자가 개선된 SRP를 보면서 상이한 액티브 데이터 링크들을 선택해서 상이한 피벗 데이터 포인트 SRP들 간에 토글할 수 있음을 주지해야만 한다.
도 6a는 본 발명의 일 실시예에 따라 탐색 데이터베이스를 분석하고 의미 객체들을 식별하는 방법을 도시한 흐름도이다. 도 6a 및 도 6b의 방법의 단계들은, 일 실시예에서, 도 3의 시스템(300)을 사용해서 실행될 수도 있음을 주지해야만 한다.
도 6a가 도시하는 바와 같이, 본 방법(600a)은 단계(602)에서 복수의 탐색 결과들을 검색한다. 탐색 결과 검색 기술들은 통상 본 기술 분야에 공지되어 있으며 간결성을 위해 반복되지 않는다. 그 후, 본 방법(600a)은 단계(604)에서 소정의 탐색 결과를 선택하고, 단계(614)에서 남은 탐색 결과가 없을 때까지 탐색 결과들을 계속해서 선택한다. 대안적인 실시예에서, 본 방법(600a)은 사전 정의된 수의 탐색 결과들을 선택해서 처리할 수 있다.
탐색 결과를 선택한 후에, 본 방법(600a)은 단계(606)에서 탐색 결과 내에서 의미 객체들을 식별하고자 시도한다. 본 방법(600a)은 저장된 의미 객체 정의들의 리스트와 탐색 결과 데이터를 비교함으로써 의미 객체들을 식별할 수 있다. 본 실시예에서, 본 방법(600a)은 패턴-일치 알고리즘들을 실행해서, 정의된 의미 객체들이 탐색 결과 내에 존재하는지를 결정할 수 있다. 예를 들면, 의미 객체 정의는, vCard 파일 포맷에 따라 포맷된 텍스트 데이터가 명함들(business cards)로서, 따라서, 인식될 수 있는 객체들로서 적당하게 간주될 것이라고 진술할 수 있다.
본 방법(600a)이 의미 객체들을 발견하지 않으면, 본 방법(600a)은 단계(608)에서 나머지 탐색 결과들을 계속해서 처리한다. 의미 객체들이 존재한다고 본 방법(600a)이 결정하면, 본 방법은 단계(610)에서 의미 객체 클래스를 식별한다.
일 실시예에서, 의미 객체 클래스를 식별하는 단계는 객체 정의를 검사해서 적합한 객체 클래스를 결정하는 단계를 포함할 수 있다. 본 실시예에서, 본 방법(600a)은 객체 타입들을 정의된 클래스들과 연관시키는 클래스 데이터베이스 또는 파일에 질의할 수 있다. 예를 들면, vCard 객체는 Business 클래스에 할당될 수 있다. 대안으로, 의미 객체들은 다수의 클래스들과 연관될 수 있다. 예를 들면, vCard는 Business 및 Person 클래스에 할당될 수 있다.
그 후, 본 방법(600a)은 단계(612)에서 탐색 결과를 카테고리화한다. 일 실시예에서, 탐색 결과를 카테고리화하는 단계는 탐색 결과를 식별된 클래스들과 연관시키는 단계를 포함할 수 있다. 그 후, 본 방법(600a)은 단계(616)에서 모든 결과들이 처리된 후에 카테고리화 데이터를 저장한다. 일 실시예에서, 카테고리화 데이터를 저장하는 단계는 데이터베이스 등의 장기 기억 장치에 단계(612)에서 생성된 연관들을 저장하는 단계를 포함할 수 있다.
도 6b는 본 발명의 일 실시예에 따라 복수의 탐색 결과들로부터의 정보를 식별하는 의미 객체를 추출하고 의미 카테고리 링크들을 사용자에게 제공하는 방법을 도시한 흐름도이다. 도 6b가 도시하는 실시예에 따라, 본 방법(600b)은 단계(618)에서 탐색 질의를 수신한다. 본 실시예에서, 본 방법(600b)은 본 기술 분야에 공지된 바와 같이 탐색 포털을 사용해서 최종 사용자로부터 HTTP 요청을 통해 탐색 질의를 수신할 수 있다. 그 후, 본 방법(600b)은 단계(620)에서 질의와 연관된 탐색 결과들을 검색한다. 탐색 결과 검색 기술들은 통상 본 기술 분야에 공지되어 있으며 간결성을 위해 반복되지 않는다.
그 후, 본 방법(600b)은 단계(622)에서 소정의 탐색 결과를 선택하고, 단계(624)에서 의미 객체 카테고리를 식별한다. 본 실시예에서, 의미 객체 카테고리를 식별하는 단계는 의미 객체 데이터베이스에 질의해서 선택된 탐색 결과에 대한 일치가 있는지를 결정하는 단계를 포함할 수 있다. 도 6a와 관련해서 상술된 바와 같이, 의미 객체 데이터베이스는 탐색 결과들 및 연관된 의미 객체 식별자들의 리스트로 미리 채워질 수 있다. 예를 들면, 본 방법(600b)은 수치 식별자 "1234"에 의해 식별된 탐색 결과를 선택할 수 있다. 그 후, 본 방법(600b)은 식별자 "1234"에 일치하는 모든 엔트리들에 대해 의미 객체 데이터베이스에 질의할 수 있다. 일치가 발견되면, 본 방법(600b)은 의미 객체들을 성공적으로 식별하고 연관된 일치들을 저장한다.
검색된 탐색 결과들을 분석한 후에, 본 방법(600b)은 단계(628)에서 프리젠테이션을 위해 의미 객체 카테고리들을 선택한다. 일 실시예에서, 본 방법(600b)은 미리 정해진 수의 의미 객체들을 선택할 수 있다. 예를 들면, 사전 정의된 스키마는 본 방법(600b)이 상위 3개의 발생 의미 객체들(예를 들면, 탐색 결과들 내에서 발생한 상위 3개의 의미 객체들)만을 선택하게 할 수 있다.
그 후, 본 방법(600b)은 단계(630)에서 의미 객체들을 패키징한다. 일 실시예에서, 의미 객체를 패키징하는 단계는 SRP 내에 배치될 수 있는 자립적인 객체를 생성하는 단계를 포함할 수 있다. 예를 들면, 본 방법(600b)은 의미 객체와 연관된 이미지, 의미 객체와 연관된 HTML 액티브 데이터 링크 및 의미 객체와 연관된 자바스크립트 등의 연관된 실행 가능 코드를 생성 또는 식별할 수 있다. 본 방법(600b)은 이러한 형태의 데이터 및 각종 다른 형태들의 데이터를 결합해서 자립적인 의미 객체를 생성할 수 있다.
마지막으로, 본 방법(600b)은 단계(632)에서 탐색 결과들 및 의미 객체 카테고리들을 제시한다. 일 실시예에서, 상술된 바와 같이, 본 방법(600b)은 SRP 또는 SRP 템플릿 내에 이전에 생성된 의미 객체 코드를 포함한다.
일 실시예에서, 객체들은 구조화되거나 구조화되지 않은 객체들일 수 있다. 또한, 객체 필터들은 하나의 웹 로케이션 콘텐츠 소스에 기초하여 탐색 결과들을 필터링하며, 여기서, 하나의 웹 로케이션은 콘텐츠 일반적이고 사용자-동작 특정적인(content general and user-action specific) 웹 로케이션일 수 있다. 본 명세서에서 사용된 바와 같이, 콘텐츠 일반적이고 사용자-동작 특정적인 웹 로케이션은 일반적인 특성의 콘텐츠를 제공하고 특정 사용자 동작을 허용하는 웹 로케이션이다. 예를 들면, 웹 로케이션은 오디오/비디오 배포 웹 로케이션(예를 들면, www.youtube.com, www.hulu.com 등), 쇼핑 로케이션(예를 들면, www.amazon.com 등), 소셜 미디어 웹 로케이션(예를 들면, www.facebook.com, www.linkedin.com 등) 또는 사용자 생성 콘텐츠 웹 로케이션(예를 들면, en.wikipedia.com 등)일 수 있다.
도 7은 본 발명의 일 실시예에 따라 탐색 결과 페이지를 도시한 스크린 도면이다. 도 7이 도시하는 실시예에 따라, 복수의 컴포넌트들(702, 704, 706, 708)을 포함하는 일반적인 SRP(700)가 사용자에게 제시될 수 있다. 도시된 바와 같이, SRP는 사용자가 입력한 질의를 나타내는 텍스트 필드(702) 및 복수의 탐색 결과들(704)을 포함한다.
탐색 결과들(704) 외에, SRP(700)는 또한 액티브 데이터 링크들(708)을 통해 출력 디스플레이에서 볼 수 있는 복수의 피벗 데이터 포인트들 및 액티브 데이터 링크들(710)을 통해 출력 디스플레이에서 볼 수 있는 복수의 의미 객체 필터들을 포함하는 각종 데이터 객체들을 포함하는 사이드바(706)를 제시한다. 피벗 데이터 포인트들(708) 및 의미 객체 필터들(710)은 상술된 바와 같이 HTML, 이미지 및 자바스크립트 컴포넌트들을 포함할 수 있다. 또한, 피벗 데이터 포인트들(708) 및 의미 객체 필터들(710)은 도 8 및 도 9와 관련해서 후술되는 바와 같이 사용자에 의해 선택될 수 있다.
도 8은 본 발명의 일 실시예에 따라 피벗 데이터 포인트의 선택에 응답해서 검색된 복수의 탐색 결과들의 샘플 스크린샷을 도시한다. 도 8이 도시하는 실시예에 따라, 피벗 데이터 포인트(802)의 선택에 응답하여 개선된 SRP(800)가 사용자에게 제시된다.
사용자가 피벗 데이터 포인트(802)("Wikipedia"로 라벨이 붙음)를 선택한 후에, 탐색 결과 창(804)은 오직 도메인 "http://en.wikipedia.org"로부터의 결과들(806)만으로 갱신된다. 또한, 갱신된 SRP(800)는 사용자가 개선된 탐색 결과 페이지에 피벗한 것을 나타내는 기술 타이틀바(descriptive titlebar)(808)를 제공한다. 마지막으로, 갱신된 SRP(800) 타이틀바(808)는 사용자가 이전 SRP(700)로 리턴할 수 있게 하는 네비게이션 컨트롤(810)을 포함한다.
도 9는 본 발명의 일 실시예에 따라 의미 카테고리 링크의 선택에 응답해서 검색된 복수의 탐색 결과들의 샘플 스크린샷을 도시한다. 도 9가 도시하는 실시예에 따라, 의미 객체 필터(902)의 선택에 응답하여 개선된 SRP(900)가 사용자에게 제시된다.
사용자가 의미 객체 필터(902)("Video Sites"로 라벨이 붙음)를 선택한 후에, 탐색 결과 창(904)은 오직 비디오 객체들(예를 들면, 유튜브 페이지들)만을 포함하는 결과들(906)로 갱신된다. 대안적인 실시예들에서, 복수의 다른 객체들(802)이 다른 객체들과 함께 사용자에게 제시될 수 있다. 예를 들면, Person 또는 Product 객체들이 의미 객체 필터(802)와 함께 디스플레이될 수 있다. 또한, 갱신된 SRP(900)는 사용자가 개선된 탐색 결과 페이지에 피벗한 것을 나타내는 기술 타이틀바(906)를 제공한다. 마지막으로, 갱신된 SRP(900) 타이틀바(908)는 사용자가 이전 SRP(700)로 리턴할 수 있게 하는 네비게이션 컨트롤(910)을 포함한다.
도 1 내지 도 9는 본 발명을 설명하기 위한 개념적인 도면들이다. 본 발명의 실시예들의 각종 양상들이 하드웨어, 펌웨어, 소프트웨어, 또는 그 조합들로 구현될 수 있음을 알 것이다. 이러한 실시예들에서, 각종 컴포넌트들 및/또는 단계들은 본 발명의 기능들을 실행하기 위해 하드웨어, 펌웨어, 및/또는 소프트웨어로 구현될 것이다. 즉, 하드웨어, 펌웨어, 또는 소프트웨어 모듈의 동일한 피스(piece)가 설명된 블록들(예를 들어, 컴포넌트들 또는 단계들) 중 하나의 또는 그 이상의 블록들을 실행할 수 있다.
소프트웨어 구현들에서, 컴퓨터 소프트웨어(예를 들어, 프로그램들 또는 다른 명령들) 및/또는 데이터는 컴퓨터 프로그램 제품의 일부로서 기계 판독 가능 매체에 저장되고, 이동식 기억 드라이브, 하드 드라이브, 또는 통신 인터페이스를 통해 컴퓨터 시스템 또는 다른 디바이스 또는 기계에 로드된다. 컴퓨터 프로그램들(컴퓨터 제어 로직 또는 컴퓨터 판독 가능 프로그램 코드라고도 불림)은 메인 메모리 및/또는 보조 메모리에 저장되고, 하나의 또는 그 이상의 프로세서들(제어기들 등)에 의해 실행되어서, 하나의 또는 그 이상의 프로세서들이 본 명세서에 기술된 본 발명의 기능들을 실행하게 한다. 본 문서에서, 용어들 "기계 판독 가능 매체(machine readable medium)", "컴퓨터 프로그램 매체(computer program medium)" 및 "컴퓨터 사용 가능 매체(computer usable medium)"는 일반적으로 RAM(random access memory); ROM(read only memory); 이동식 스토리지 유닛(예를 들어, 자기 또는 광 디스크, 플래시 메모리 디바이스 등); 하드 디스크 등의 매체를 나타내는데 사용된다.
특히, 상기 도면들 및 예들은 본 발명의 범위를 단일 실시예로 한정하려고 하는 것이 아니며, 이는 기술되거나 도시된 요소들의 일부 또는 전부의 교환에 의해 다른 실시예들이 가능하기 때문이다. 또한, 본 발명의 특정 요소들이 공지된 컴포넌트들을 사용해서 부분적으로 또는 전체적으로 구현될 수 있는 경우, 본 발명의 이해를 위해 필요한 그러한 공지된 컴포넌트들의 부분들만이 기술되고, 그러한 공지된 컴포넌트들의 다른 부분들에 대한 상세한 설명은 본 발명을 모호하게 하지 않기 위해 생략된다. 본 명세서에서 달리 명백하게 기술되지 않는 한, 본 명세서에서, 단수의 컴포넌트를 도시한 실시예는 복수의 동일한 컴포넌트를 포함하는 다른 실시예들에 반드시 한정되지는 않으며 그 역도 마찬가지이다. 또한, 명백히 기재되지 않는 한, 출원인들은 명세서 또는 청구항들의 임의의 용어가 일반적이지 않거나 특별한 의미로 생각되는 것을 의도하지 않는다. 또한, 본 발명은 일례로서 본 명세서에 기술된 공지된 컴포넌트들에 대한 현재의 또한 미래의 공지된 동등물들을 포함한다.
특정 실시예들의 상술된 설명은 관련 분야(들)의 기술 내의 정보(본 명세서에서 참조용으로 인용 및 통합된 문서들의 콘텐츠를 포함)를 적용함으로써, 본 발명의 일반적인 개념으로부터 벗어나지 않은 채로, 과도한 실험 없이, 다른 사람들이 각종 애플리케이션들을 위해 그러한 특정 실시예들을 쉽게 변경하고/변경하거나 적용할 수 있도록 본 발명의 일반적인 특성을 충분히 드러내고 있다. 따라서, 이러한 적용 및 변경은, 본 명세서에 제시된 교시 및 안내에 기초하여, 개시된 실시예들의 동등물의 의미 및 범위 내에 있다. 본 명세서의 어법 및 용어들은 한정이 아닌 설명을 목적으로 한 것이어서, 본 명세서의 용어 또는 어법이, 관련 분야(들)에 숙련된 자들의 정보와 결합해서, 본 명세서에 제시된 교시 및 안내의 견지에서 당업자에 의해 해석됨을 알 것이다.
본 발명의 각종 실시예들이 상술되었지만, 그것들은 예로서 제시된 것으로 한정의 의미가 아님을 알 것이다. 형태 및 세부 사항의 각종 변경들이 본 발명의 원리 및 범위 내에서 이루어질 수 있음이 관련 분야(들)에 숙련된 자들에게 명백할 것이다. 따라서, 본 발명은 상술된 예시적인 실시예들 중 어떠한 실시예에 의해서도 한정되지 않으며, 오직 이하의 청구항들 및 그 동등물들에 의해서만 정의된다.

Claims (27)

  1. 탐색 결과들을 생성하는 방법으로서,
    적어도 하나의 탐색 용어를 포함하는 탐색 요청을 수신하는 단계;
    탐색 데이터베이스 및 애플리케이션 데이터베이스를 포함하는 복수의 데이터 뭉치(data corpus)에 액세스하는 단계;
    상기 탐색 요청의 상기 적어도 하나의 용어에 기초하여 탐색 결과 집합에 포함될 관련 콘텐츠를 상기 탐색 데이터베이스로부터 결정하는 단계 - 상기 콘텐츠는 상기 콘텐츠와 연관된 애플리케이션을 나타내는 메타데이터를 포함함 -;
    상기 콘텐츠의 메타데이터에 기초하여 상기 애플리케이션 데이터베이스로부터 복수의 실행 가능(executable) 애플리케이션들을 결정하는 단계; 및
    상기 탐색 결과 집합의 적어도 일부분 및 상기 복수의 실행 가능 애플리케이션들 중 적어도 하나의 실행 가능 애플리케이션을 제시하는 탐색 결과 출력 디스플레이를 생성하는 단계
    를 포함하고,
    상기 실행 가능 애플리케이션들 중 적어도 하나의 실행 가능 애플리케이션은, 상기 탐색 요청에 응답하여 생성된, 상기 디스플레이 내에 포함된 객체들(embedded objects)로서 제시되고, 상기 객체들은 선택될 때 상기 콘텐츠의 메타데이터와 연관된 실행 가능 애플리케이션이 실행되도록 하는 방법.
  2. 제1항에 있어서,
    상기 애플리케이션들의 상기 출력 디스플레이는 상기 애플리케이션들의 네이티브 개시(native launching)를 위한 액티브 링크들을 포함하는 방법.
  3. 제1항에 있어서,
    상기 애플리케이션들 중 적어도 하나의 애플리케이션의 상기 출력 디스플레이는 상기 애플리케이션의 액티브 디스플레이를 포함하는 방법.
  4. 제1항에 있어서,
    애플리케이션 기술 데이터(application description data)를 포함하는 복수의 애플리케이션들을 등록하는 단계;
    상기 탐색 용어의 상기 애플리케이션 기술 데이터와의 비교에 기초하여 상기 애플리케이션들 각각에 대한 신뢰값(confidence value)을 결정하는 단계; 및
    상기 신뢰값이 임계값보다 큰지를 결정함으로써 디스플레이할 적어도 하나의 애플리케이션을 결정하는 단계
    를 더 포함하는 방법.
  5. 제1항에 있어서,
    로컬 사용자 데이터에의 상기 애플리케이션들의 액세스를 승인하는 단계를 더 포함하는 방법.
  6. 제1항에 있어서,
    순위 메트릭에 기초하여 애플리케이션 디스플레이 부분에서 상기 애플리케이션들의 디스플레이를 정렬(ordering)하는 단계를 더 포함하는 방법.
  7. 제6항에 있어서,
    상기 순위 메트릭은 상기 애플리케이션 디스플레이 부분에서의 배치 위치들에 대한 값을 매기기 위한 입찰 시스템(bidding system)에 기초하는 방법.
  8. 제1항에 있어서,
    상기 데이터 뭉치는 웹이 아닌 콘텐츠와 관련되는 방법.
  9. 제1항에 있어서,
    제3자 피드 데이터를 포함하는 복수의 데이터 피드들을 등록하는 단계;
    상기 피드 데이터를 저장 및 갱신하는 상기 피드 데이터에 대한 영구적인 저장소를 생성하는 단계; 및
    상기 피드 데이터에 대해 탐색 요청들을 실행하는 단계(serving search requests on the feed data)
    를 더 포함하는 방법.
  10. 제9항에 있어서,
    상기 피드 데이터는 주어진 도메인의 엔티티들의 리스트 및 상기 엔티티들에 대한 메타데이터를 포함하는 방법.
  11. 제1항에 있어서,
    주어진 질의에 대한 수직 탐색 엔진을 결정하는 단계; 및
    상기 수직 탐색 엔진으로부터의 탐색 결과들을 포함하는 단계
    를 더 포함하는 방법.
  12. 탐색 결과들을 생성하기 위한 시스템으로서,
    실행 가능 명령들이 저장되어 있는 비일시적 컴퓨터 판독 가능 매체, 및
    프로세싱 디바이스
    를 포함하며,
    상기 프로세싱 디바이스는, 상기 실행 가능 명령들에 응답해서,
    적어도 하나의 탐색 용어를 포함하는 탐색 요청을 수신하고;
    탐색 데이터베이스 및 애플리케이션 데이터베이스를 포함하는 복수의 데이터 뭉치에 액세스하고;
    상기 탐색 요청의 상기 적어도 하나의 용어에 기초하여 탐색 결과 집합에 포함될 관련 콘텐츠를 상기 탐색 데이터베이스로부터 결정하고 - 상기 콘텐츠는 상기 콘텐츠와 연관된 애플리케이션을 나타내는 메타데이터를 포함함 -;
    상기 콘텐츠의 메타데이터에 기초하여 상기 애플리케이션 데이터베이스로부터 복수의 실행 가능 애플리케이션들을 결정하고;
    상기 탐색 결과 집합의 적어도 일부분 및 상기 복수의 실행 가능 애플리케이션들 중 적어도 하나의 실행 가능 애플리케이션을 제시하는 탐색 결과 출력 디스플레이를 생성하도록
    동작하고,
    상기 실행 가능 애플리케이션들 중 적어도 하나의 실행 가능 애플리케이션은, 상기 탐색 요청에 응답하여 생성된, 상기 디스플레이 내에 포함된 객체들로서 제시되고, 상기 객체들은 선택될 때 상기 콘텐츠의 메타데이터와 연관된 실행 가능 애플리케이션이 실행되도록 하는 시스템.
  13. 제12항에 있어서,
    상기 애플리케이션들의 상기 출력 디스플레이는 상기 애플리케이션들의 네이티브 개시를 위한 액티브 링크들을 포함하는 시스템.
  14. 제12항에 있어서,
    상기 애플리케이션들 중 적어도 하나의 애플리케이션의 상기 출력 디스플레이는 상기 애플리케이션의 액티브 디스플레이를 포함하는 시스템.
  15. 제12항에 있어서,
    상기 프로세싱 디바이스는, 실행 가능 명령들에 응답해서,
    애플리케이션 기술 데이터를 포함하는 복수의 애플리케이션들을 등록하고;
    상기 탐색 용어의 상기 애플리케이션 기술 데이터와의 비교에 기초하여 상기 애플리케이션들 각각에 대한 신뢰값을 결정하고;
    상기 신뢰값이 임계값보다 큰지를 결정함으로써 디스플레이할 적어도 하나의 애플리케이션을 결정하도록 더 동작하는 시스템.
  16. 제12항에 있어서,
    상기 프로세싱 디바이스는, 실행 가능 명령들에 응답해서,
    로컬 사용자 데이터에의 상기 애플리케이션들의 액세스를 승인하도록 더 동작하는 시스템.
  17. 제12항에 있어서,
    상기 프로세싱 디바이스는, 실행 가능 명령들에 응답해서,
    순위 메트릭에 기초하여 애플리케이션 디스플레이 부분에서 상기 애플리케이션들의 디스플레이를 정렬하도록 더 동작하는 시스템.
  18. 제17항에 있어서,
    상기 순위 메트릭은 상기 애플리케이션 디스플레이 부분에서의 배치 위치들에 대한 값을 매기기 위한 입찰 시스템에 기초하는 시스템.
  19. 제12항에 있어서,
    상기 데이터 뭉치는 웹이 아닌 콘텐츠와 관련되는 시스템.
  20. 제12항에 있어서,
    상기 프로세싱 디바이스는, 실행 가능 명령들에 응답해서,
    제3자 피드 데이터를 포함하는 복수의 데이터 피드들을 등록하고;
    상기 피드 데이터를 저장 및 갱신하는 상기 피드 데이터에 대한 영구적인 저장소를 생성하고;
    상기 피드 데이터에 대해 탐색 요청들을 실행하도록 더 동작하는 시스템.
  21. 제20항에 있어서,
    상기 피드 데이터는 주어진 도메인의 엔티티들의 리스트 및 상기 엔티티들에 대한 메타데이터를 포함하는 시스템.
  22. 제12항에 있어서,
    상기 프로세싱 디바이스는, 실행 가능 명령들에 응답해서,
    주어진 질의에 대한 수직 탐색 엔진을 결정하고;
    상기 수직 탐색 엔진으로부터의 탐색 결과들을 포함하도록 더 동작하는 시스템.
  23. 프로그래밍 가능 프로세서에 의해 실행될 때, 탐색 결과들을 생성하는 방법의 실행을 야기하는 프로그램 코드를 포함하는 비일시적 컴퓨터 판독 가능 매체로서,
    적어도 하나의 탐색 용어를 포함하는 탐색 요청을 수신하기 위한 프로그램 코드;
    탐색 데이터베이스 및 애플리케이션 데이터베이스를 포함하는 데이터 뭉치에 액세스하기 위한 프로그램 코드;
    상기 탐색 요청의 상기 적어도 하나의 용어에 기초하여 탐색 결과 집합에 포함될 관련 콘텐츠를 상기 탐색 데이터베이스로부터 결정하기 위한 프로그램 코드 - 상기 콘텐츠는 상기 콘텐츠와 연관된 애플리케이션을 나타내는 메타데이터를 포함함 -;
    상기 콘텐츠의 메타데이터에 기초하여 상기 애플리케이션 데이터베이스로부터 복수의 실행 가능 애플리케이션들을 결정하기 위한 프로그램 코드; 및
    상기 탐색 결과 집합의 적어도 일부분 및 상기 복수의 실행 가능 애플리케이션들 중 적어도 하나의 실행 가능 애플리케이션을 제시하는 탐색 결과 출력 디스플레이를 생성하기 위한 프로그램 코드
    를 포함하고,
    상기 실행 가능 애플리케이션들 중 적어도 하나의 실행 가능 애플리케이션은, 상기 탐색 요청에 응답하여 생성된, 상기 디스플레이 내에 포함된 객체들로서 제시되고, 상기 객체들은 선택될 때 상기 콘텐츠의 메타데이터와 연관된 실행 가능 애플리케이션이 실행되도록 하는 비일시적 컴퓨터 판독 가능 매체.
  24. 제23항에 있어서,
    애플리케이션 기술 데이터를 포함하는 복수의 애플리케이션들을 등록하기 위한 프로그램 코드;
    상기 탐색 용어의 상기 애플리케이션 기술 데이터와의 비교에 기초하여 상기 애플리케이션들 각각에 대한 신뢰값을 결정하기 위한 프로그램 코드; 및
    상기 신뢰값이 임계값보다 큰지를 결정함으로써 적어도 하나의 애플리케이션을 결정하기 위한 프로그램 코드
    를 더 포함하는 비일시적 컴퓨터 판독 가능 매체.
  25. 제23항에 있어서,
    로컬 사용자 데이터에의 상기 애플리케이션들의 액세스를 승인하기 위한 프로그램 코드를 더 포함하는 비일시적 컴퓨터 판독 가능 매체.
  26. 제23항에 있어서,
    순위 메트릭에 기초하여 애플리케이션 디스플레이 부분에서 상기 애플리케이션들의 디스플레이를 정렬하기 위한 프로그램 코드를 더 포함하는 비일시적 컴퓨터 판독 가능 매체.
  27. 제23항에 있어서,
    상기 데이터 뭉치는 웹이 아닌 콘텐츠와 관련되는 비일시적 컴퓨터 판독 가능 매체.
KR1020127010145A 2009-09-20 2010-09-16 발전된 탐색 결과 페이지 콘텐츠를 제공하는 시스템 및 방법 KR101375940B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/563,152 2009-09-20
US12/563,152 US8386455B2 (en) 2009-09-20 2009-09-20 Systems and methods for providing advanced search result page content
PCT/US2010/049095 WO2011035007A2 (en) 2009-09-20 2010-09-16 Systems and methods for providing advanced search result page content

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020137020685A Division KR101637237B1 (ko) 2009-09-20 2010-09-16 발전된 탐색 결과 페이지 콘텐츠를 제공하는 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20120092598A KR20120092598A (ko) 2012-08-21
KR101375940B1 true KR101375940B1 (ko) 2014-03-18

Family

ID=43757507

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020167017582A KR101727877B1 (ko) 2009-09-20 2010-09-16 발전된 탐색 결과 페이지 콘텐츠를 제공하는 시스템 및 방법
KR1020137020685A KR101637237B1 (ko) 2009-09-20 2010-09-16 발전된 탐색 결과 페이지 콘텐츠를 제공하는 시스템 및 방법
KR1020127010145A KR101375940B1 (ko) 2009-09-20 2010-09-16 발전된 탐색 결과 페이지 콘텐츠를 제공하는 시스템 및 방법

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020167017582A KR101727877B1 (ko) 2009-09-20 2010-09-16 발전된 탐색 결과 페이지 콘텐츠를 제공하는 시스템 및 방법
KR1020137020685A KR101637237B1 (ko) 2009-09-20 2010-09-16 발전된 탐색 결과 페이지 콘텐츠를 제공하는 시스템 및 방법

Country Status (9)

Country Link
US (1) US8386455B2 (ko)
EP (2) EP3367272A1 (ko)
JP (1) JP5458181B2 (ko)
KR (3) KR101727877B1 (ko)
CN (1) CN102549572B (ko)
AU (1) AU2010295607B2 (ko)
HK (2) HK1172116A1 (ko)
TW (1) TWI454944B (ko)
WO (1) WO2011035007A2 (ko)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2437207A1 (en) * 2008-10-17 2012-04-04 Telefonaktiebolaget LM Ericsson (publ) Method and arangement for ranking of live web applications
US8706717B2 (en) 2009-11-13 2014-04-22 Oracle International Corporation Method and system for enterprise search navigation
US9336184B2 (en) 2010-12-17 2016-05-10 Microsoft Technology Licensing, Llc Representation of an interactive document as a graph of entities
US9104992B2 (en) 2010-12-17 2015-08-11 Microsoft Technology Licensing, Llc Business application publication
US9111238B2 (en) * 2010-12-17 2015-08-18 Microsoft Technology Licensing, Llc Data feed having customizable analytic and visual behavior
US9864966B2 (en) 2010-12-17 2018-01-09 Microsoft Technology Licensing, Llc Data mining in a business intelligence document
US9069557B2 (en) 2010-12-17 2015-06-30 Microsoft Technology Licensing, LLP Business intelligence document
US20120166411A1 (en) * 2010-12-27 2012-06-28 Microsoft Corporation Discovery of remotely executed applications
US9519726B2 (en) 2011-06-16 2016-12-13 Amit Kumar Surfacing applications based on browsing activity
CN104115147B (zh) * 2012-02-16 2018-06-29 微软技术许可有限责任公司 位置感知应用搜索
KR101995260B1 (ko) * 2012-04-30 2019-07-02 삼성전자 주식회사 앱 서비스 제공 방법 및 시스템
US9552414B2 (en) 2012-05-22 2017-01-24 Quixey, Inc. Dynamic filtering in application search
US9031975B2 (en) * 2012-11-06 2015-05-12 Rockwell Automation Technologies, Inc. Content management
WO2014085502A1 (en) * 2012-11-29 2014-06-05 Edsense, L.L.C. System and method for displaying multiple applications
US10410257B1 (en) * 2012-12-18 2019-09-10 Nativo, Inc. Native online ad creation
JP5860827B2 (ja) * 2013-02-26 2016-02-16 日本電信電話株式会社 パーソナルデータ処理装置、方法及びプログラム
US20140250147A1 (en) * 2013-03-01 2014-09-04 Quixey, Inc. Generating Search Results Containing State Links to Applications
CN105164710B (zh) * 2013-04-23 2020-02-28 三星电子株式会社 用于提供搜索结果的方法和服务器
US9348945B2 (en) * 2013-08-29 2016-05-24 Google Inc. Modifying search results based on dismissal action associated with one or more of the search results
US9569536B2 (en) 2013-12-17 2017-02-14 Microsoft Technology Licensing, Llc Identifying similar applications
US9720672B2 (en) 2014-01-06 2017-08-01 Quixey, Inc. Searching and accessing application functionality
US20150242421A1 (en) * 2014-02-21 2015-08-27 Quixey, Inc. Location-Based Searching
US20150317945A1 (en) * 2014-04-30 2015-11-05 Yahoo! Inc. Systems and methods for generating tinted glass effect for interface controls and elements
US9684729B2 (en) 2014-06-30 2017-06-20 Quixey, Inc. Displaying search results on a user device using a layout file
US20160034958A1 (en) * 2014-07-30 2016-02-04 Quixey, Inc. Generating Advertisements For Search Results That Are Associated With Entities
US20160034957A1 (en) * 2014-07-30 2016-02-04 Quixey, Inc. Generating Advertisements for Search Results Associated With Entities Based on Aggregated Entity Bids
US10437288B2 (en) 2014-10-06 2019-10-08 Fasetto, Inc. Portable storage device with modular power and housing system
US9626443B2 (en) 2014-10-23 2017-04-18 Quixey, Inc. Searching and accessing application functionality
US9946766B2 (en) 2015-08-20 2018-04-17 Samsung Electronics Co., Ltd. Search result relevance based on content associated with software applications
US9311168B1 (en) * 2015-09-30 2016-04-12 Google Inc. Deeplinking to multiple native applications
EP3171281A1 (en) * 2015-11-17 2017-05-24 Dassault Systèmes Thematic web corpus
US10404813B2 (en) * 2016-09-14 2019-09-03 Oath Inc. Baseline interest profile for recommendations using a geographic location
CN106649864A (zh) * 2016-12-31 2017-05-10 珠海市魅族科技有限公司 一种信息的展示方法及装置
KR101991320B1 (ko) * 2017-03-24 2019-06-21 (주)아크릴 온톨로지에 의해 표현되는 자원들을 이용하여 상기 온톨로지를 확장하는 방법
CN107122491B (zh) * 2017-05-19 2020-12-15 深圳市优必选科技有限公司 用于数据交互的方法
US11568003B2 (en) * 2017-12-15 2023-01-31 Google Llc Refined search with machine learning
US10623523B2 (en) * 2018-05-18 2020-04-14 Oracle International Corporation Distributed communication and task handling to facilitate operations of application system
CN110018866B (zh) * 2018-11-06 2022-03-15 蔚来(安徽)控股有限公司 用户界面主题更新方法、装置、系统、车机及车辆
CN114860227B (zh) * 2022-04-12 2023-05-30 中国电子科技集团公司第十研究所 基于刻面的构件描述与检索方法、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020038299A1 (en) * 2000-03-20 2002-03-28 Uri Zernik Interface for presenting information
US6529899B1 (en) * 2000-01-12 2003-03-04 International Business Machines Corporation System and method for registering and providing a tool service
KR20060006912A (ko) * 2003-04-04 2006-01-20 야후! 인크. 유니버셜 검색 인터페이스 시스템 및 방법
US20090089277A1 (en) * 2007-10-01 2009-04-02 Cheslow Robert D System and method for semantic search

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11134360A (ja) * 1997-11-04 1999-05-21 Matsushita Electric Ind Co Ltd 情報処理装置
WO2001063503A1 (fr) * 2000-02-25 2001-08-30 Matsushita Electric Industrial Co., Ltd. Systeme de distribution d'information
JP2002183214A (ja) * 2000-12-08 2002-06-28 Cm Browser Co Ltd Webページによる情報提供システム及びWebブラウザプログラムを記録した記録媒体
US20020152238A1 (en) 2001-04-17 2002-10-17 Hayes Todd R. System and method to provide information corresponding to hyperlinked text in an online HTML document
US8312014B2 (en) * 2003-12-29 2012-11-13 Yahoo! Inc. Lateral search
EP1630642A1 (en) * 2004-08-31 2006-03-01 Research In Motion Limited Method of searching for information in personal information management applications and handheld electronic device employing the same
CA2588219C (en) * 2004-11-22 2014-05-20 Truveo, Inc. Method and apparatus for an application crawler
JP2006155343A (ja) 2004-11-30 2006-06-15 Sanyo Electric Co Ltd 表示装置、及び、表示プログラム
US7739291B2 (en) * 2005-02-07 2010-06-15 Sap Ag Methods and systems for displaying matching business objects
JP4751643B2 (ja) * 2005-05-19 2011-08-17 富士通株式会社 検索装置及び検索方法
US20060282413A1 (en) 2005-06-03 2006-12-14 Bondi Victor J System and method for a search engine using reading grade level analysis
WO2007064874A2 (en) * 2005-12-01 2007-06-07 Adchemy, Inc. Method and apparatus for representing text using search engine, document collection, and hierarchal taxonomy
US7630972B2 (en) * 2007-01-05 2009-12-08 Yahoo! Inc. Clustered search processing
US20080270378A1 (en) * 2007-04-24 2008-10-30 Nokia Corporation Method, Apparatus and Computer Program Product for Determining Relevance and/or Ambiguity in a Search System
US7747600B2 (en) * 2007-06-13 2010-06-29 Microsoft Corporation Multi-level search
US8577417B2 (en) * 2007-06-26 2013-11-05 Sony Corporation Methods, devices, and computer program products for limiting search scope based on navigation of a menu screen
JP2009116733A (ja) * 2007-11-08 2009-05-28 Nec Corp アプリケーション検索システム、アプリケーション検索方法、モニタ端末、検索サーバおよびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6529899B1 (en) * 2000-01-12 2003-03-04 International Business Machines Corporation System and method for registering and providing a tool service
US20020038299A1 (en) * 2000-03-20 2002-03-28 Uri Zernik Interface for presenting information
KR20060006912A (ko) * 2003-04-04 2006-01-20 야후! 인크. 유니버셜 검색 인터페이스 시스템 및 방법
US20090089277A1 (en) * 2007-10-01 2009-04-02 Cheslow Robert D System and method for semantic search

Also Published As

Publication number Publication date
WO2011035007A3 (en) 2011-07-14
US20110072001A1 (en) 2011-03-24
KR20120092598A (ko) 2012-08-21
KR20130094864A (ko) 2013-08-26
EP3367272A1 (en) 2018-08-29
TWI454944B (zh) 2014-10-01
CN102549572B (zh) 2015-11-25
US8386455B2 (en) 2013-02-26
TW201120665A (en) 2011-06-16
WO2011035007A2 (en) 2011-03-24
EP2467794A4 (en) 2013-05-08
KR101637237B1 (ko) 2016-07-07
AU2010295607B2 (en) 2014-05-08
KR20160085364A (ko) 2016-07-15
HK1258882A1 (zh) 2019-11-22
AU2010295607A1 (en) 2012-04-05
JP5458181B2 (ja) 2014-04-02
CN102549572A (zh) 2012-07-04
JP2013505501A (ja) 2013-02-14
EP2467794A2 (en) 2012-06-27
HK1172116A1 (zh) 2013-04-12
KR101727877B1 (ko) 2017-04-17

Similar Documents

Publication Publication Date Title
KR101375940B1 (ko) 발전된 탐색 결과 페이지 콘텐츠를 제공하는 시스템 및 방법
KR101361992B1 (ko) 발전된 탐색 결과 페이지 콘텐츠를 제공하는 시스템 및 방법
US8452762B2 (en) Systems and methods for providing advanced search result page content
JP4805929B2 (ja) インラインのコンテキストクエリを用いた検索システムおよび方法
US7895595B2 (en) Automatic method and system for formulating and transforming representations of context used by information services
US8645358B2 (en) Systems and methods for personalized search sourcing
US8700621B1 (en) Generating query suggestions from user generated content
US20140280106A1 (en) Presenting comments from various sources
US10585927B1 (en) Determining a set of steps responsive to a how-to query
US20060212446A1 (en) Method and system for assessing relevant properties of work contexts for use by information services
US7720721B1 (en) Method and system for analyzing user interaction to identify documents associated with dissimilar items that may contain synonyms
KR101834480B1 (ko) 사용자의 상품 평가를 이용한 상품 선호도 제공 시스템
US20150302090A1 (en) Method and System for the Structural Analysis of Websites
US11256703B1 (en) Systems and methods for determining long term relevance with query chains
WO2016046650A1 (en) Method of and server for processing a message to determine intent
Dietz Timeout Reached, Session Ends?

Legal Events

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

Payment date: 20170221

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180219

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200218

Year of fee payment: 7