KR101669191B1 - 쿼리 애스펙트의 식별 - Google Patents

쿼리 애스펙트의 식별 Download PDF

Info

Publication number
KR101669191B1
KR101669191B1 KR1020117018038A KR20117018038A KR101669191B1 KR 101669191 B1 KR101669191 B1 KR 101669191B1 KR 1020117018038 A KR1020117018038 A KR 1020117018038A KR 20117018038 A KR20117018038 A KR 20117018038A KR 101669191 B1 KR101669191 B1 KR 101669191B1
Authority
KR
South Korea
Prior art keywords
aspects
entity
candidate
search results
candidate aspects
Prior art date
Application number
KR1020117018038A
Other languages
English (en)
Other versions
KR20110139681A (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 KR20110139681A publication Critical patent/KR20110139681A/ko
Application granted granted Critical
Publication of KR101669191B1 publication Critical patent/KR101669191B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24575Query processing with adaptation to user needs using context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • 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/248Presentation 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/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3338Query expansion
    • 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

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)

Abstract

본 발명은 엔티티들과 연관된 애스펙트들을 생성하기 위해 컴퓨터 프로그램 제품들을 포함하는 방법들, 시스템들, 장치들이다. 일부 구현들에 있어서, 방법은 엔티티를 식별하는 데이터를 수신하는 단계, 그 엔티티에 대한 후보 애스펙트들의 그룹을 생성하는 단계, 유사한 후보 애스펙트들을 결합하고 하나 이상의 후보 애스펙트들과 각각 연관된 하나 이상의 애스펙트 클래스들을 이용하여 후보 애스펙트들을 그룹화하는 것(grouping)을 포함하는, 수정된 후보 애스펙트들의 그룹을 생성하기 위해 상기 후보 애스펙트들의 그룹을 수정하는 단계, 다양성 점수 및 인기 점수에 기초하여 수정된 후보 애스펙트들의 상기 그룹에서 하나 이상의 수정된 후보 애스펙트들의 순위를 매기는 단계, 및 상기 컴퓨터 시스템의 데이터 저장 디바이스에, 상기 하나 이상의 최고 순위가 매겨진 수정된 후보 애스펙트들과 상기 엔티티의 연관성을 저장하는 단계를 포함한다. 애스펙트들은 그 엔티티에 대한 쿼리들에 응답하여 검색 결과들을 조직하고 표시하는데 사용될 수 있다.

Description

쿼리 애스펙트의 식별{IDENTIFYING QUERY ASPECTS}
본 명세서는 검색 쿼리(query)들에 응답하여, 상기 검색 쿼리들에서 식별된 엔티티(entity)들의 애스펙트(aspect)들을 식별하는 정보를 제공하고, 상기 검색 쿼리들에 응답하여 정보를 표시함에 있어서 상기 애스펙트들을 사용하는 것에 관한 것이다.
인터넷 검색 엔진들은 사용자의 검색 쿼리에 응답하여 인터넷 액세스 가능한 리소스들(Internet accessible resources; 예컨대, 웹 페이지들, 이미지들, 텍스트 문서들, 멀티미디어 컨텐츠)에 관한 정보를 제공하고, 사용자에게 유용한 방식으로 리소스들에 관한 정보를 표시한다. 인터넷 검색 엔진들은 사용자가 제출한 쿼리에 응답하여 검색 결과들의 세트로서(예컨대, 결과들의 순위가 매겨진 리스트로서) 답신한다. 예를 들어, 검색 결과는 상응하는 리소스로부터의 URL 및 정보의 스니펫(snippet)을 포함한다. 종래 검색 엔진들은 사용자 검색 쿼리가 하나의 결과에 의해 만족될 수 있다는 가정 하에서 구현되고, 사용자가 그 결과를 찾도록 도와주는 작용을 하였다. 불행히도, 사용자들이 항상 하나의 결과를 찾지 않고, 대신에, 초기에 그들이 초기에 포괄적인 방식으로 참조한 것에 관한 정보의 알려지지 않은 공간을 탐색하기 위한 스타팅 포인트(starting point)로서 쿼리를 이용하고 있다.
예를 들어, 사용자는 그 엔티티와 연관된 다양한 애스펙트들을 탐색하기 위해 스타팅 포인트로서 엔티티를 명명하거나 참조한 쿼리를 제출할 수 있다. 정보 검색 시스템, 예컨대 검색 엔진의 동작들을 참조하여 사용될 때, “엔티티”라는 용어는 무언가를 명명하거나 식별하는 텍스트로 언급한다. 이것은 연관된 특성들(예컨대, 물리적, 개념적 또는 가공적 세계의 객체)을 가질 수 있는 일부 객체일 수 있다. 예를 들어, 엔티티는 위치, 사람, 소설의 캐릭터, 상태, 사물, 아이디어 등을 말한다. 그 의미가 문맥으로부터 명백할 때, 불필요한 장황함을 피하기 위해, “엔티티”라는 용어는 그 자체를 언급하는데 사용될 수도 있다.
애스펙트들은 취득할 수 있는 엔티티에 관한 추가 정보와 함께 정보의 상이한 측면들이다. 예를 들어, “하와이” 엔티티에 대하여, 가능한 애스펙트들은 “해변”, “호텔”, 및 “날씨”를 포함할 수 있다. “엔티티”용어와 마찬가지로, 정보 검색 시스템 예컨대, 검색 엔진의 동작들을 참조하여 사용된 때, “애스펙트”라는 용어는 논의 중인 그 애스펙트를 부르는 텍스트를 말하고, 그 외에, 문맥으로부터 의미가 명확할 때, 그 용어는 애스펙트 자체를 언급하기 위해 사용될 수도 있다.
종래 검색 엔진들에 의해 제공된 결과들의 단일 순위 리스트는 일반적으로 그 엔티티의 상이한 애스펙트들의 개요를 사용자에게 제공하기가 어렵다. 대신, 단일 순위 리스트는 종종 애스펙트들 중 하나 또는 소수에 전달되는 많은 결과들을 제공한다. 게다가 표시된 결과들은 일반적으로 표현된 애스펙트들을 식별하지 않는다.
본 명세서는 엔티티들과 연관된 애스펙트들을 식별하는 것에 관한 기술들을 설명한다.
일반적으로, 본 면세서에서 기술하는 주제의 일 측면은, 컴퓨터 시스템에서 쿼리를 수신하는 단계의 동작을 포함하는 방법을 포함할 수 있다. 상기 컴퓨터 시스템은 하나 이상의 컴퓨터들을 포함하고, 상기 쿼리는 엔티티를 포함하는 상기 수신 단계; 상기 컴퓨터 시스템에서, 상기 엔티티에 대한 후보 애스펙트들(candidate aspects)의 그룹을 생성하는 단계; 상기 컴퓨터 시스템에서, 유사한 후보 애스펙트들을 결합하고 하나 이상의 후보 애스펙트들과 각각 연관된 하나 이상의 애스펙트 클래스들을 이용하여 후보 애스펙트들을 그룹화하는 것(grouping)을 포함하는, 수정된 후보 애스펙트들의 그룹을 생성하기 위해 상기 후보 애스펙트들의 그룹을 수정하는 단계; 상기 컴퓨터 시스템에서, 다양성 점수(diversity score) 및 인기 점수(popularity score)에 기초하여 수정된 후보 애스펙트들의 상기 그룹에서 하나 이상의 수정된 후보 애스펙트들의 순위를 매기는 단계; 상기 컴퓨터 시스템에서, 하나 이상의 최고 순위의 수정된 후보 애스펙트들을 상기 엔티티와 연관시키는 단계; 상기 컴퓨터 시스템에서, 검색 결과들의 하나 이상의 세트들을 수신하는 단계; 및 상기 쿼리에 응답하여 상기 검색 결과들의 표시를 제공하는 단계로서, 상기 표시는 사기 엔티티와 연관된 상기 애스펙트들에 따라 조직된 상기 검색 결과들을 표시하는 상기 제공 단계를 포함하는 방법을 개시한다. 이러한 측면의 다른 실시예들은 컴퓨터 저장 디바이스들에 탑재되고, 방법들의 동작들을 실시하도록 구성된, 상응하는 시스템, 장치, 및 컴퓨터 프로그램들을 포함한다.
이러한 실시예들 및 다른 실시예들은 각각 선택적으로 후술하는 특징들 중 하나 이상을 포함한다. 상기 방법은 애스펙트에 따라 엔티티에 관한 정보의 요약(summary)를 표시하는 단계를 더 포함할 수 있다. 상기 검색 결과들의 하나 이상의 세트들은 상기 쿼리에 응답한 검색 결과들의 세트를 포함할 수 있다. 상기 검색 결과들의 하나 이상의 세트들 각각은 상기 엔티티와 연관된 각각의 애스펙트에 상응할 수 있다.
일반적으로, 본 명세서에서 기술하는 주제의 다른 측면은, 엔티티를 식별하는 데이터를 수신하는 단계; 컴퓨터 시스템에서, 상기 엔티티에 대한 후보 애스펙트들의 그룹을 생성하는 단계로서, 상기 컴퓨터 시스템은 하나 이상의 컴퓨터들을 포함하는 상기 생성 단계; 상기 컴퓨터 시스템에서, 유사한 후보 애스펙트들을 결합하고 하나 이상의 후보 애스펙트들과 각각 연관된 하나 이상의 애스펙트 클래스들을 이용하여 후보 애스펙트들을 그룹화하는 것을 포함하는, 수정된 후보 애스펙트들의 그룹을 생성하기 위해 상기 후보 애스펙트들의 그룹을 수정하는 단계; 상기 컴퓨터 시스템에서, 다양성 점수 및 인기 점수에 기초하여 수정된 후보 애스펙트들의 상기 그룹에서 하나 이상의 수정된 후보 애스펙트들의 순위를 매기는 단계; 및 상기 컴퓨터 시스템의 데이터 저장 디바이스에, 상기 하나 이상의 최고 순위가 매겨진 수정된 후보 애스펙트들과 상기 엔티티의 연관성(association)을 저장하는 단계를 포함하는 방법이다. 이러한 측면의 다른 실시예들은 컴퓨터 저장 디바이스들에 탑재되고, 방법들의 동작들을 실시하도록 구성된, 상응하는 시스템, 장치, 및 컴퓨터 프로그램들을 포함한다.
이러한 실시예들 및 다른 실시예들은 각각 선택적으로 후술하는 특징들 중 하나 이상을 포함한다. 상기 엔티티를 포함하는 쿼리를 수신하는 단계; 상기 엔티티와 연관된 하나 이상의 애스펙트들을 식별하는 단계; 상기 쿼리에 응답하여 검색 결과들을 수신하는 단계; 및 상기 식별된 애스펙트들에 기초하여 상기 검색 결과들을 표시하는 단계를 더 포함할 수 있다. 상기 엔티티를 포함하는 쿼리를 수신하는 단계; 상기 엔티티와 연관된 하나 이상의 애스펙트들을 식별하는 단계; 검색 결과들의 하나 이상의 세트들을 수신하는 단계로서, 각각의 세트는 상기 식별된 애스펙트들 중 하나에 상응하는 상기 수신 단계; 및 상기 식별된 애스펙트들에 기초하여 상기 검색 결과들을 표시하는 단계를 더 포함할 수 있다.
상기 방법은, 하나 이상의 엔티티 특성들(properties)을 식별하는 데이터를 수신하는 단계를 더 포함하고, 여기서, 상기 후보 애스펙트들의 그룹을 생성하는 단계는 상기 하나 이상의 엔티티 특성들을 이용하는 단계를 포함하고, 상기 하나 이상의 최고 순위가 매겨진 후보 애스펙트들은 상기 엔티티 및 상기 엔티티 특성들 모두와 연관될 수 있다. 상기 엔티티를 클래스와 연관시키는 단계로서, 상기 클래스는 상기 엔티티를 포함하는 하나 이상의 클래스 멤버들을 갖는 상기 연관시키는 단계를 더 포함하고, 상기 후보 애스펙트들의 그룹을 생성하는 단계는 상기 엔티티 및 상기 클래스에 상응하는 후보 애스펙트들을 생성하는 단계를 포함할 수 있다. 상기 후보 애스펙트들의 그룹을 생성하는 단계는, 상기 엔티티와 연관된 쿼리들을 식별하기 위해 하나 이상의 제 1 사용자 검색 히스토리들을 분석하는 단계; 및 상기 엔티티 외의 클래스 멤버와 연관된 쿼리들을 식별하기 위해 하나 이상의 제 2 사용자 검색 히스토리들을 분석하는 단계를 더 포함할 수 있다.
후보 애스펙트들을 결합하는 단계는,
유사성 점수들(similarity scores)을 산출하는 단계로서, 각각의 유사성 점수는 두 후보 애스펙트들 간의 유사성에 대한 추정치인 상기 산출하는 단계; 및 상기 유사성 점수들에 기초하여 후보 애스펙트들을 하나의 수정된 후보 애스펙트로 결합하는 단계를 포함할 수 있다. 각각의 후보 애스펙트는 텍스트로서 표현되고, 두 후보 애스펙트들간의 유사성 점수는 각각의 후보 애스펙트와 연관된 텍스트의 문자열들에 대한 비교에 기초할 수 있다. 두 후보 애스펙트들 간의 유사성 점수를 산출하는 단계는, 각각의 애스펙트에 대한 검색 결과들의 세트 각각을 수신하는 단계; 및 검색 결과들의 세트들에 대한 비교에 기초하여 상기 유사성 점수를 산출하는 단계를 포함할 수 있다. 상기 검색 결과들의 세트들에 대한 비교는, 검색 결과들의 세트들 중 하나에서 검색 결과들의 경로들을, 검색 결과들의 세트들 중 다른 하나에서 검색 결과들의 경로들에 비교하는 것을 포함할 수 있다. 상기 검색 결과들의 세트들에 대한 비교는, 검색 결과들의 세트들 중 하나에서 검색 결과들의 타이틀들(titles) 및 스니펫들(snippets)을, 검색 결과들의 세트들 중 다른 하나에서 검색 결과들의 타이틀들 및 스니펫들에 비교하는 것을 포함할 수 있다. 상기 유사성 점수들에 기초하여 후보 애스펙트들을 결합하는 단계는, 어느 애스펙트들을 결합할지를 결정하기 위해 그래프 분할 알고리즘(graph partition algorithm)을 이용하는 단계를 더 포함할 수 있다.
하나 이상의 애스펙트 클래스들을 이용하여 후보 애스펙트들을 그룹화하는 단계는, 둘 이상의 후보 애스펙트들을 각각의 애스펙트 클래스와 연관시키는 단계; 및 둘 이상의 후보 애스펙트들을 그들의 애스펙트 클래스들에 기초하여 하나의 수정된 후보 애스펙트로 그룹화하는 단계를 포함할 수 있다. 상기 하나의 수정된 후보 애스펙트는 애스펙트 클래스일 수 있다.
다양성 점수 및 인기 점수에 기초하여 하나 이상의 수정된 후보 애스펙트들의 순위를 매기는 단계는 각각의 애스펙트에 대한 인기 점수를 산출하는 단계; 최고 인기 점수를 가진 상기 애스펙트에 최고 순위를 매기는 단계; 및 아래 단계들을 한 번 이상 반복함으로써, 나머지 애스펙트들의 순위를 매기는 단계: 각각의 순위가 매겨지지 않은 애스펙트에 대한 유사성 점수를 산출하는 단계로서, 상기 유사성 점수는 상기 순위가 매겨진 애스펙트들에 대한 상기 순위가 매겨지지 않은 애스펙트의 유사성을 비교하는 상기 산출하는 단계; 및 상기 유사성 점수로 나눈 인기 점수가 가장 높은 애스펙트에 대해, 최고 순위 다음의 순위(next-highest ranking)를 매기는 단계를 포함할 수 있다.
본 명세서에 기술된 주제의 특정 실시예들은 후술하는 하나 이상의 장점들을 이해하기 위해 구현될 수 있다. 검색 쿼리에 있는 엔티티의 애스펙트들이 식별될 수 있다. 애스펙트들은 사용자가 다수의 축을 따라 검색 공간을 탐색하기 쉽도록 만들기 위해 표시될 수 있다. 애스펙트의 사용자들은 사용자가 사용자의 오리지날 쿼리의 범위 아래에서 검색 공간을 탐색하도록 해준다. 또한 애스펙트들의 표시는 사용자가 가능한 검색 축들이 무엇인지 개요를 빠르게 모을 수 있도록 해준다. 애스펙트들의 표시는 사용자가 예를 들어, 다면적 브라우징(faceted browsing)을 이용하여 효율적으로 검색 공간을 둘러볼 수 있도록 해줄 수 있다. 애스펙트들에 관한 정보가 식별될 수 있고, 사용자에게 표시될 수 있다. 이러한 정보는 사용자가 그 엔티티의 다수 애스펙트들에 관한 사용자가 요구하는 정보를 빠르게 모으도록 해줄 수 있다. 매시업(mashup)들은 엔티티의 애스펙트들에 과한 정보를 보는 방식으로서 사용자에게 표시될 수 있다. 매시업들은 하나의 일체화된 인터페이스에서 여러 애스펙트들과 연관된 정보를 표시한다.
본 명세서에서 설명하는 주제의 하나 이상의 실시예들에 대한 세부 사항은 첨부한 도면 및 후술할 상세한 설명에서 개시된다. 주제의 다른 특징들, 측면들 및 장점들이 상세한 설명, 도면, 및 청구 범위로부터 나타날 것이다.
도 1은 제출된 쿼리들에 관한 검색 결과들을 제공하기 위한 예시적인 검색 시스템을 도시한 것이다.
도 2는 애스펙트들과 엔티티를 연관시키기 위한 예시적인 방법을 도시한 것이다.
도 3은 유사한 후보 애스펙트들을 결합하는 것에 대한 예를 도시한 것이다.
도 4는 애스펙트 클래스들에 기초하여 애스펙트들을 그룹화하는 것에 대한 예를 도시한 것이다.
도 5는 주어진 하나 이상의 분류된 애스펙트들의 기존에 있던 그룹, 분류되지 않은 애스펙트를 분류하는 것에 대한 예를 도시한 것이다.
도 6은 엔티티에 상응하는 하나 이상의 단어들(terms)을 포함하고, 엔티티의 식별된 애스펙트들에 기초하여 검색 결과들을 나타내는 쿼리를 수신하기 위한 예시적인 방법을 도시한 것이다.
도 7은 검색 쿼리를 제출한 후에 디스플레이된 예시적인 매시업을 도시한 것이다.
도 8은 시스템의 예시적인 구조를 도시한 것이다.
다양한 도면들에 있어서 유사한 참조 번호와 명칭은 유사한 구성요소를 가리킨다.
도 1은 인터넷, 인트라넷 또는 다른 인터넷, 인트라넷, 또는 다른 클라이언트 및 서버 환경에서 구현될 수 있는 것으로서, 제출된 쿼리들에 관한 검색 결과들을 제공하기 위한 예시적인 검색 시스템(114)을 도시한다. 검색 시스템(114)은 후술할 시스템, 컴포넌트 및 기술들로 구현될 수 있는 정보 검색(information retrieval) 시스템의 예시이다.
사용자(102)는 클라이언트 디바이스(104)를 통해 검색 시스템(114)과 상호 작용할 수 있다. 예를 들어, 클라이언트 디바이스(104)는 근거리 통신망(LAN) 또는 광역 통신망(WAN)(예컨대, 인터넷)을 통해 검색 엔진에 연결된 컴퓨터일 수 있다. 일부 구현들에 있어서, 검색 시스템(114) 및 클라이언트 디바이스(104)는 하나의 기계일 수 있다. 예를 들어, 사용자는 클라이언트 디바이스(104)에 데스크탑 검색 어플리케이션을 설치할 수 있다. 클라이언트 디바이스(104)는 일반적으로 랜덤 액세스 메모리(RAM; 106) 및 프로세서(108)를 포함할 수 있다.
사용자(102)는 검색 시스템(114)에 있는 검색 엔진(130)에 쿼리(110)를 제출할 수 있다. 사용자(102)가 쿼리(110)를 제출한 때, 쿼리(110)는 네트워크(112)를 통해 검색 시스템(114)에 전송될 수 있다. 예를 들어, 검색 시스템(114)은 하나 이상의 위치에서 네트워크를 통해 서로 연결된 하나 이상의 컴퓨터들에서 구동하는 컴퓨터 프로그램들일 수 있다. 검색 시스템(114)은 색인 데이터베이스(122; index database) 및 검색 엔진(130; search engine)을 포함한다. 검색 시스템(114)은 사용자(102)에게 표시될 수 있는 형태로(예컨대, 클라이언트 디바이스(104)에서 구동하는 웹 브라우저에 디스플레이되도록 검색 결과 웹 페이지로) 네트워크를 통해 클라이언트 디바이스(104)에 전송된 검색 결과들(128)을 생성함으로써, 쿼리(100)에 응답한다.
쿼리(110)가 검색 엔진(130)으로부터 수신될 때, 검색 엔진(130)은 쿼리(110)에 매치되는 리소스들을 식별할 수 있다. 또한 검색 엔진(130)은 쿼리와 관련된 특정 "스니펫(snippet)" 및 각각의 리소스 섹션을 식별할 수 있다. 일반적으로 검색 엔진(130)은 코퍼스(corpus)(예컨대, 컨텐츠의 컬렉션 또는 저장소)에서 발견된 리소스들(예컨대, 웹 페이지들, 이미지들 또는 인터넷 뉴스 기사들)을 색인화하는 색인 엔진(120; indexing engine), 색인 정보를 저장하는 색인 데이터베이스(122), 및 쿼리(110)에 매치되는 리소스들의 순위를 매기는 랭킹 엔진(152; ranking engine)(또는 다른 소프트웨어)를 포함할 것이다. 리소스들의 색인화 및 순위 매김은 종래 기술들을 이용하여 실시될 수 있다. 검색 엔진(130)은 예컨대, 사용자(102)에게 표시하기 위해 네트워크를 통해 클라이언트 디바이스(104)로 검색 결과들(128)을 전송할 수 있다.
또한 검색 시스템(114)은 사용자로부터 수신한 쿼리들에 기초하여 하나 이상의 사용자 검색 히스토리들을 보유할 수 있다. 일반적으로, 사용자 검색 히스토리는 사용자로부터 수신한 쿼리들의 시퀀스를 저장한다. 또한 사용자 검색 히스토리들은, 검색이 실시된 후 어떤 결과들이 선택되었는지, 및 얼마나 오래 각각의 선택된 결과들을 봤는지와 같은 추가적인 정보를 포함할 수 있다.
일부 구현들에 있어서, 검색 시스템(114)은 애스펙터(140; aspector)를 포함한다. 대안적으로, 애스펙터(140)는 검색 시스템(114)과 연결된 하나 이상의 고유 시스템들로 구현될 수 있다. 애스펙터(140)는 애스펙트들을 특정 엔티티들과 연관시킨다. 추가적으로, 애스펙터(140)는 쿼리(110)를 수신할 수 있고, 검색 엔진(130)과 함께 사용자(102)에게 검색 결과들에 기초하여 애스펙트를 제공할 수 있다. 애스펙트들을 식별하고 사용하는 것은 이하 더 상세히 설명할 것이다.
도 2는 애스펙트들을 엔티티와 연관시키기 위한 예시적인 방법(200)을 도시한다. 편의를 위해, 예시적인 방법(200)은 방법(200)을 실시하는 시스템과 관련하여 설명할 것이다. 예를 들어, 시스템은 검색 시스템(114) 또는 분리된 시스템일 수 있다.
시스템은 엔티티를 수신한다(단계 202). 엔티티는 특성들에 연관될 수 있는 개체(예컨대, 물리적 또는 개념적 세계에서의 개체)일 수 있다. 예를 들어, 엔티티는 위치, 사람, 물건, 아이디어 등이 될 수 있다. 시스템은 다양한 소스들로부터 엔티티들을 수신할 수 있다. 예를 들어, 시스템은 사용자로부터 직접 또는 시스템에 의해 실시된 동작들(예컨대, 프로세스를 수행하는 동작)에 응답하여 엔티티를 수신할 수 있다. 엔티티는 예컨대, 쿼리를 분석하고(parsing) 쿼리의 단어들을 가능한 엔티티들의 데이터베이스와 비교함으로써, 사용자 또는 검색 시스템(114)으로부터 수신한 검색 쿼리로부터 추출될 수 있다. 엔티티의 다른 소스들도 가능하며, 예컨대, 엔티티는 사용자 검색 히스토리와 같이 쿼리 데이터로부터 추출될 수 있다.
일부 구현들에 있어서, 또한 시스템은 엔티티의 하나 이상의 특성들을 식별하는 데이터를 수신한다. 엔티티들의 특성은 엔티티를 더 개선하는데 사용될 수 있는 엔티티와 연관된 추가적인 요소들이다. 예를 들어, 사람들이 베트남으로 여행을 떠나기 때문에, "여행"이 엔티티 "베트남"의 특성일 수 있다.
시스템은 엔티티에 대한 후보 애스펙트들의 그룹을 생성한다(단계 204). 후보 애스펙트들은 엔티티에 기초하여, 또는 대안적으로 상기 엔티티와 연관된 클래스에 기초하여 생성될 수 있다. 클래스는 엔티티의 추상적 개념일 수 있다. 예를 들어, 초콜릿 케이크는 일종의 음식이므로, "초콜릿 케이크"는 클래스 "음식"과 연관될 수 있다. 수선화는 일종의 꽃이므로, "수선화"는 클래스 "꽃"과 연관될 수 있다. 클래스는 다수의 멤버들을 가질 수 있다. 또한 각각의 멤버가 엔티티이다. 예를 들어, 클래스 "꽃"은 "튤립", "알스트로에메리아(alstroemeria)", "장미" 등을 포함하여 여러 형태의 꽃들을 포함할 수 있다.
일부 구현들에 있어서, 엔티티-기반 애스펙트들 및 클래스-기반 애스펙트들 모두가 사용된다. 엔티티-기반 애스펙트들 및 클래스-기반 애스펙트들 둘 다에 의존함으로써 더욱 양호한 애스펙트들의 세트를 야기할 수 있다. 예를 들어, 일부 엔티티들은 매우 드물어서, 애스펙트들을 기반으로 하기 위해 소량의 데이터가 있을 수 있다. 이러한 엔티티들에 있어서, 애스펙트들 기반의 클래스에 의존하는 것은 후보 애스펙트들의 수를 증가시킬 수 있다. 그러나 일부 엔티티들은 너무 인기가 많고 예컨대, 사용자 검색 히스토리들로부터 식별될 수 있는 엔티티-전용 애스펙트들을 가질 수 있다. 그러므로 엔티티-기반 애스펙트들을 포함하는 것이 이러한 인기있는 엔티티들을 위해 유용할 수도 있다.
일부 구현들에 있어서, 엔티티를 위한 후보 애스펙트들의 그룹을 생성하는 것은 엔티티를 포함하는 쿼리들에 대한 쿼리 데이터를 분석하는 것을 포함한다. 쿼리 데이터는 예컨대, 쿼리 개선(query refinement) 및 쿼리 슈퍼-스트링들(query super-strings)을 식별하기 위해 분석될 수 있다.
쿼리 개선은, 사용자가 처음 엔티티에 대한 쿼리를 발행한 후, 뒤이어 또 다른 관련 쿼리를 발행한 때 일어난다. 예를 들어, 사용자가 "팝콘"에 대한 쿼리를 발행한 다음, "마이크로웨이브 팝콘"에 대한 쿼리에 잇달아 발행하면, 마이크로웨이브 팝콘은 팝콘에 대한 쿼리 개선으로서 식별될 수 있다. 쿼리 개선은 오리지날 쿼리를 포함해야만 하는 것은 아니다. 예를 들어, 사용자가 "컴퓨터"에 대한 쿼리를 발행한 다음, "랩탑"에 대한 쿼리를 잇달아 발행하면, 랩탑은 컴퓨터에 대한 쿼리 개선으로서 식별될 수 있다. 쿼리 개선은 엔티티에 관한 유익한 정보를 제공할 수 있고, 이는 정해진 사용자가 엔티티에 대한 검색 공간을 탐색하기 위해 어떻게 선택하였는지를 나타내기 때문이다.
쿼리 개선은 후술하는 것처럼 생성될 수 있다. 엔티티에 대한 쿼리들을 포함하는 하나 이상의 사용자 검색 히스토리들이 식별될 수 있다. 그리고 나서, 각각의 사용자 검색 히스토리들은 세션들로 나누어질 수 있고, 각각의 세션은 태스크를 찾는 주어진 정보를 위해, 정해진 사용자에 의해 발행된 쿼리들의 그룹을 나타낸다. 세션은 예를 들어, 시간의 특정 기간에 의해(예컨대, 30분), 쿼리들의 특정 수에 의해(예컨대, 15 쿼리들), 비활동의 특정 기간까지(예컨대, 검색을 실시하지 않은 10분), 또는 사용자가 검색 시스템에 로그인하는 동안을 포함하여 다양한 방식으로 측정될 수 있다.
엔티티에 대한 쿼리를 포함하지 않은 세션들은 걸러질 수 있다(filtered out). 남은 세션들에 있는 개체에 대한 쿼리를 따르는 쿼리들은 쿼리 개선들이다. 각각의 쿼리 개선들은 잠재적인 후보 애스펙트를 가리킨다. 예를 들어, 후보 애스펙트는 쿼리 개선 자체, 또는 엔티티를 포함하지 않는 쿼리 개선의 일부일 수 있다. 또한 후보 애스펙트들은 언어학적 분석 기술들을 이용하여(예컨대, 가장 애스펙트일 것 같은 쿼리 개선 단어들을 식별하기 위하여 사전들 또는 통계 분석들을 이용하여) 쿼리 개선을 분석함으로써, 또는 쿼리 개선들을 애스펙트와 연관시킨 데이터베이스에서 쿼리 개선을 검색함(look up)으로써 식별될 수 있다. 잠재적인 후보 애스펙트들은 사용자들 전체에 걸쳐 집계할 수 있고, 시간의 한계값(threshold)을 넘어도 나타나지 않은 후보 애스펙트들은 걸러질 수 있다.
일부 구현들에 있어서, 쿼리 개선은 단순히 엔티티를 대신하여, 그 쿼리에 있는 엔티티 및 엔티티의 관련 특성들 둘 다에 기초하여 쿼리에 대해 생성될 수 있다.
일반적으로, 쿼리가 다른 쿼리를 포함할 때, 그 쿼리는 다른 쿼리의 슈퍼-스트링이다. 예를 들어, "베트남 여행 패키지"는 "베트남 여행"이라는 텍스트를 포함하기 때문에, "베트남 여행"의 슈퍼 스트링이다. 쿼리-개선과 달리, 쿼리 슈퍼-스트링은 동일 세션 동안 슈퍼-스트링이 되는 쿼리로서 보내져야만 하는 것은 아니다.
쿼리 슈퍼-스트링들은 하나 이상의 사용자 검색 히스토리들을 참작하고 엔티티를 포함하는 쿼리들을 식별함으로써 생성될 수 있다. 각각의 쿼리 슈퍼-스트링은 잠재적인 후보 애스펙트를 가리킨다. 예를 들어, 후보 애스펙트는 엔티티를 포함하지 않는 쿼리 슈퍼-스트링의 일부가 될 수 있다. 일부 구현들에 있어서, 쿼리 슈퍼-스트링은 후보 애스펙트가 식별되기 전에 "a" 및 "the"와 같은 공통 단어들을 제거하도록 필터링될 수 있다. 또한 쿼리 애스펙트들은 상기 설명한 것처럼 언어학적 기술들 또는 데이터베이스를 이용하여 쿼리 슈퍼-스트링으로부터 식별될 수 있다. 잠재적인 후보 애스펙트들은 사용자들 전체에 걸쳐 집계할 수 있고, 시간의 한계값을 넘어도 나타나지 않은 후보 애스펙트들은 걸러질 수 있다.
일부 구현들에 있어서, 쿼리 슈퍼 스트링들은 단순히 엔티티보다도, 그 엔티티를 명명하는 텍스트 및 특성들을 포함하는 쿼리들에 대해 식별된다.
일부 구현들에 있어서, 시스템은 엔티티를 클래스와 연관시키고 그 엔티티에 대한 클래스-기반의 후보 애스펙트들을 생성한다.
일부 구현들에 있어서, 시스템은 엔티티들과 클래스들을 연관시킨 사전-정의된(pre-defined) 데이터베이스에 기초하여 그 엔티티를 클래스와 연관시킨다. 이 사전-정의된 데이터베이스는 예컨대, 지식 베이스 정보(knowledge base information)(예컨대, 위키미디어 재단이 운영하는 위키피디아(WikipediaTM), 또는 메타웹 테크놀로지에서 운영하는 프리베이스(FreebaseTM)로부터의 정보)를 분석함으로써 생성될 수 있다. 일반적으로, 지식 베이스는 하나 이상의 엔티티들을 위한 정보의 컬렉션이다. 지식 베이스들은 클래스 관계들과 같은 엔티티들 사이에서의 관계를 특정할 수 있고, 또한 엔티티들의 특징들을 특정할 수 있다. 예를 들어, 지식 베이스는 "캐나다"가 "국가"로 불리는 클래스 안에 있고, 그 특징들 중 하나가 "GDP"라는 것을 특정할 수 있다. 엔티티-클래스 관계는 지식 베이스로부터 식별될 수 있고, 관계들에 기초한 연관성들이 장래의 사용을 위해 데이터베이스에 저장될 수 있다. 또한 사전-정의된 데이터베이스는 허스트 패턴(hearst pattern)을 위해 검색 시스템(114)에 쿼리함으로써 생성될 수 있고, 예컨대, 엔티티가 "보스톤"이면, "보스톤과 같은 X"를 위한 쿼리가 검색 시스템에 발행될 수 있다. 그런 다음, 결과들은 "보스톤과 같은"을 포함하는 문장들에 대해 분석될 수 있고, 결과적인 클래스가 식별될 수 있다. 예를 들어, 다수의 검색 결과들이 "보스톤과 같은 도시들"이라는 어구를 포함했다면, 이후에 보스톤은 "도시" 클래스와 연관될 수 있다. 일부 구현들에 있어서, 엔티티는 식별되기 위한 연관성을 위해서 데이터베이스에 있는 엔티티와 완전히 매치되어야하는 것은 아니다. 예를 들어, 엔티티가 단일 또는 복수인지 여부와 같은 작은 차이들은 간과될 수 있다. 예를 들어, 단일의 "장미"가 데이터베이스에 저장되어 있으나 개체는 "장미들"이라면, 장미에 대한 클래스 정보가 사용될 수 있다. 스펠링 변화와 같은 다른 작은 차이점들도 간과될 수 있다.
일부 구현들에 있어서, 시스템은 예컨대, 지식 베이스 정보에 액세스하고(예컨대, 위키피디아(WikipediaTM)와 같은 웹사이트를 크롤링함(crawling)) 수신된 엔티티와 연관된 클래스를 식별하거나, 엔티티를 포함하는 허스트 패턴으로 쿼리를 발행함으로써, 엔티티를 즉시 클래스와 연관시킨다. 엔티티와 클래스를 연관시키기 위한 다른 기술들도 가능하다. 예를 들어, 엔티티는 서포트 벡터 머신들(support vector machine)과 같은 기계 학습 기법(machine learning techniques)에 기초하여 분류될 수 있다. 대안적으로, 사용자는 엔티티와 연관된 클래스를 특정할 수 있다.
예를 들어, 클래스-기반 애스펙트들은 엔티티 외에 클래스 멤버를 포함하는 쿼리들을 위한 쿼리 데이터를 분석함으로써 생성될 수 있다. 예를 들어, 엔티티가 "수선화"이고 클래스가 "꽃"이라면, 쿼리 데이터는 "장미들"을 포함하는 쿼리들에 대해 분석될 수 있으며, 이는 "장미들"이 꽃 클래스의 멤버 중 하나이기 때문이다. 상기 설명한 것처럼 엔티티에 대한 쿼리 데이터가 애스펙트들을 식별하기 위해 분석되지만, 클래스 멤버에 대한 쿼리 데이터가 애스펙트들을 식별하기 위해 분석될 수 있다. 엔티티가 하나 이상의 특성들과 연관된 때, 이러한 특성들은 애스펙트들을 식별할 목적으로 각각의 클래스 멤버와 함께 포함될 수 있다. 일부 구현들에 있어서, 클래스-기반 애스펙트들은 예컨대, 제한 시간 또는 공간 또는 엔티티들 사이의 거리의 다른 측정치 안에서, 그 엔티티에 상당히 밀접한 클래스 멤버들로부터만 생성된다. 예를 들어, "캐나다", "벨기에" 및 "프랑스"는 모두 "국가" 클래스 내에 있다. 그러나, 벨기에 및 프랑스는 이웃하는 국가들이다. 따라서, 엔티티가 "벨기에"라면, 시스템은, 캐나다는 벨기에로부터 아주 멀리 떨어져 있기 때문에 클래스 멤버 "캐나다"가 아닌, 클래스 멤버 "프랑스"에 기초하여 클래스-기반 애스펙트들을 식별할 수 있다. 한계값은 다수의 마일(miles), 다수의 날들(days), 다른 거리 측정치일 수 있다. 한계값은 경험적으로 결정될 수 있다.
후보 애스펙트들을 생성하는 다른 방법들도 가능하며, 예를 들어, 후보 애스펙트들은 엔티티 또는 그의 클래스 멤버들과 연관된 지식 베이스 정보를 분석함으로써 생성될 수 있다. 지식 베이스들은 주어진 엔티티 및 그 엔티티의 특징들 사이의 둘의 관계들을 제공할 수 있다. 예를 들어, 위키피디아TM은 일부 엔티티들을 위한 "인포박스(Infobox)"를 제공한다. 캄보디아에 대한 인포박스는 수도, 국기, 인구, 지역 및 GDP와 같은 특징들이 목록화되어 있다. 이들은 엔티티 캄보디아를 위한 추가적인 애스펙트들을 제공할 수 있다. 또한 후보 애스펙트들은 엔티티들 또는 클래스 멤버들을 잠재적인 후보 애스펙트들과 연관시킨 데이터베이스로부터 검색될 수 있다.
일부 구현들에 있어서, 후보 애스펙트들은 이미 엔티티들과 연관되어 있고 사용자들에게 표시된 애스펙트들에서 사용자 피드백에 기초하여 필터링된다. 사용자 피드백은 어떤 애스펙트들이 엔티티에 대한 유용한 애스펙트들인지, 및 어떤 애스펙트들이 엔티티에 대한 유용하지 않은 애스펙트들인지를 나타낼 수 있다. 사용자 피드백은 사용자들이 유용하지 않다고 지시한 애스펙트들을 직접 걸러내는데 사용될 수 있다. 대안적으로, 사용자 피드백은 기계 학습 기법을 이용하여 후보 애스펙트들을 필터링하도록 기계를 트레이닝하기 위하여, 트레이닝 입력들(training inputs)로서 사용될 수 있다.
시스템은 후보 애스펙트들의 그룹을 수정한다(단계 206). 후보 애스펙트들의 그룹을 수정하는 단계는 유사한 후보 애스펙트들을 결합하는 단계 및 하나 이상의 후보 애스펙트들에 대한 클래스에 기초하여 후보 애스펙트들을 그룹화하는 단계를 포함할 수 있다. 이러한 결합 단계 및 그룹화 단계는 중복된 애스펙트들을 감소시키고, 애스펙트들에게 다양한 축의 검색으로 포커스를 맞추도록 도와준다.
종종 유사한 애스펙트들이 생성된다. 예를 들어, "베트남 여행" 쿼리에 대해, "패키지", "패키지들" 및 "거래" 애스펙트들이 모두 생성될 수 있다. 이러한 애스펙트들 모두 동일한 기본 개념을 참조한다-여행의 다양한 애스펙트들을 하나의 패키지로 묶은 제품. 결과적으로 이러한 애스펙트들은 단일 애스펙트로 결합될 수 있다.
도 3은 유사한 후보 애스펙트들을 결합하는 예를 도시한다. 후보 애스펙트들의 초기 그룹(302)은 4개의 에스펙트들을 포함한다: 애스펙트 1, 애스펙트 1', 애스펙트 2 및 애스펙트 3.
유사성 점수는 후보 애스펙트들의 그룹(302)에서 에스펙트들의 각각의 쌍에 대해 산출될 수 있다. 예를 들어, 애스펙트 1 및 애스펙트 1'는 0.9의 유사성 점수(304)를 갖는다. 애스펙트 1 및 애스펙트 2는 0.5의 유사성 점수(306)를 갖고, 애스펙트 1' 및 애스펙트 2는 0.3의 유사성 점수(308)를 갖는다.
일부 구현들에 있어서, 2개의 애스펙트들의 유사성 점수를 산출하는 것은 각각의 애스펙트에 대한 쿼리에 상응하는 검색 결과들의 개별 세트를 식별하는 것, 및 이후에 검색 결과들과 비교하는 것을 포함한다. 검색 결과들은 각각의 애스펙트에 대한 검색 엔진(예컨대, 도 1의 검색 엔진(130))으로 쿼리를 발행함으로써 생성될 수 있다. 이후에 각각의 쿼리에 대한 최상위(top) n개의 검색 결과들이 개별 애스펙트에 대한 검색 결과들의 세트로서 선택된다(여기서 n은 비교를 위해 충분한 양의 정보를 주기 위해 선택된 정수일 수 있다(예컨대, 8 또는 10)). 도시를 위한 목적으로, D i 가 제 1 애스펙트에 상응하고
Figure 112011059493411-pct00001
인 검색 결과들의 세트라고 하고, D j 는 제 1 애스펙트와 비교되는 제 2 애스펙트에 상응하고
Figure 112011059493411-pct00002
인 검색 결과들의 세트라고 하자, 2개의 검색 결과들의 세트들에 대한 유사성 점수 및 결과적인 두 애스펙트들은 아래와 같이 산출될 수 있다.
특징 벡터(feature vector)는 D i D j 에서 각각의 검색 결과에 대해 생성된다. 예를 들어, 특징 벡터는 하나 이상의 특징들(예컨대, 단어들(terms)) 및 사용자에 대한 특징의 중요성에 대해 상응하는 통계적 측정치(예컨대, 단어 빈도(term frequency, tf) 가중치 또는 각각의 특징에 대한 단어 빈도 역 문서(term frequency inverse document, tf-idf) 가중치를 포함할 수 있다. 단어들은 검색 결과 내 모든 단어들, 또는 검색 결과의 단어들의 서브셋(예컨대, 결과의 타이틀 및 검색 엔진에 의해 식별된 스니펫)일 수 있다.
일부 구현들에 있어서, tf 가중치들은 사용자에 대한 특징의 중요성의 통계적 측정치로서 사용된다. tf 가중치들은, 사용자에 대한 특징의 중요성이 문서들의 컬렉션(예컨대, 검색 시스템(예컨대, 도 1의 검색 시스템(114))에 의해 색인화된 모든 문서들, 또는 그 단어와 동일한 언어로 된 검색 시스템에 의해 색인화된 모든 문서들)에서 어떤 특징이 발생하는 빈도(예컨대, 단어 빈도)에 따라 비례적으로 증가할 수 있기 때문에 사용될 수 있다.
검색 결과의 단어 빈도는 검색 결과 내에서 특정 단어가 발생하는 상대적 빈도이고, 다음과 같이 표현될 수 있다.
Figure 112011059493411-pct00003
여기서, 단어 빈도는 dp 내 모든 단어들 tk의 발생 수에 의해 나누어진, 검색 결과들(dp) 내 특정 단어(tq)의 발생 수(nq ,p)이다.
일부 구현들에 있어서, tf-idf 가중치들은 사용자에 대한 특징의 중요성에 대한 통계적 측정치로서 사용될 수 있다. tf-idf 가중치는 역 문서 빈도(idf)와 단어 빈도를 곱함으로써 산출될 수 있다.
idf는 문서들의 컬렉션(예컨대, 검색 시스템에 의해 색인화된 모든 문서들, 또는 그 단어와 동일한 언어로 된 검색 시스템에 의해 색인화된 모든 문서들)에서 단어들이 어떻게 빈번하게 나타나는지에 대한 추정치이다. 역 문서 빈도는 다음과 같이 표현될 수 있다.
Figure 112011059493411-pct00004
여기서 문서들의 코퍼스(corpus)에서 모든 문서들의 수 D는 단어tq를 포함하는 문서들 dp의 수 Dp로 나누어진다. 일부 구현들에 있어서, 네이피어 로그(Napierian logarithm)는 베이스가 10인 로그를 대신하여 사용된다.
tdf idf 가중치는 다음과 같이 표현될 수 있다.
Figure 112011059493411-pct00005
유사성 점수는 검색 결과들 {di, dj}의 각 쌍에 대해 산출된다. 각 쌍의 유사성 점수는 두 결과들에 대한 특징 벡터들 사이의 거리를 결정함으로써 산출될 수 있다. 예를 들어, 검색 결과 di가 X=(x1, x2, x3)의 특징 벡터를 갖고, 검색 결과 dj가 Y=(y1, y2, y3)의 특징 벡터를 가지며,
Figure 112011059493411-pct00006
는 코사인 거리(cosine distance)로 표현될 수 있다:
Figure 112011059493411-pct00007
전체로서, 검색 결과들의 두 세트들(Di 및 Dj)에 대한 유사성 점수는 그들의 개별 검색 문서들 사이의 유사성 점수들에 기초하여 산출될 수 있다. 일부 구현들에 있어서, 검색 결과들의 각 쌍에 대한 유사성들은 평균이 된다. 일부 구현들에 있어서, 각 검색 결과에 대한 최고 유사성 점수들의 평균은 다음과 같이 사용된다.
Figure 112011059493411-pct00008
여기서,
Figure 112011059493411-pct00009
Figure 112011059493411-pct00010
이고,
Figure 112011059493411-pct00011
는 검색 결과 di 및 Dj 내 모든 검색 결과들 사이의 유사성 점수들 중 최대 유사성 점수이고,
Figure 112011059493411-pct00012
은 검색 결과 di 및 Di 내 모든 검색 결과들 사이의 유사성 점수들 중 최대 유사성 점수이다.
또한 다른 유사성 측정치들은, 예를 들어, 각 애스펙트에 대한 모든 검색 결과들에 대한 단일 특징 벡터를 결정하는데, 및 2개의 특징 벡터들에 유사성에 기초하여(예컨대, 코사인 거리에 기초하여) 유사성 점수를 산출하는데 사용될 수 있다.
대안적으로, 2개의 애스펙트들에 대한 유사성 점수는 각 애스펙트를 위한 검색 결과들의 경로들(예컨대, 웹 어드레스들, 파일 경로들)을 비교함으로써, 예를 들어, 경로들의 텍스트를 분석하고, 도메인 네임 또는 파일 시스템 내 디렉토리와 같은 특징들을 추출한 후, 추출된 특징들을 비교함으로써 산출될 수 있다. 또한 2개의 애스펙트들의 유사성 점수는 애스펙드들 자체의 텍스트를 비교함으로써, 예를 들어, 2개의 애스펙트들의 텍스트에서 특성들을 비교함으로써 산출될 수도 있다.
일단 애스펙트들의 각 쌍에 대한 유사성 점수들이 식별되면, 유사성 점수는 단일 애스펙트로 결합되어야 할 후보 애스펙트들을 식별하는데 사용될 수 있다. 다양한 클러스터링 기법들(clustering techniques)이 2개의 후보 애스펙트들이 결합되어야 할 때를 결정하기 위해 사용될 수 있다. 예를 들어, 그래프 분할 알고리즘(graph partition algorithm)이 사용될 수 있다. 그래프 분할 알고리즘은 그래프의 노드(node)들이 애스펙트들이고, 노드들이 극히 유사하면(예컨대, 노드들의 유사성 점수가 한계값을 초과하면) 엣지가 두 노드들을 연결하는 그래프를 만든다. 예를 들어, 도 3에서는, 애스펙트 1과 애스펙트 1'간의 유사성 점수가 한계값보다 크기 때문에, 애스펙트 1과 애스펙트 1' 사이에 엣지(edge)(실선으로 나타냄)가 있다. 그러나 그래프에서는 엣지들을 연결하는 다른 선이 없다. 한계값은 예컨대, 테스트 애스펙트들의 세트에 기초하여 경험적으로 결정될 수 있다. 이후에 그래프 분할 알고리즘은 단일 애스펙트로 연결되는 애스펙트들을 결합한다. 예를 들어, 도 3에서는, 애스펙트들의 결과 세스(316)가 오직 애스펙트 1, 애스펙트 2, 애스펙트 3으로 목록화된다. 애스펙트 1'는 애스펙트 1에 결합되어 있다.
2개의 애스펙트들을 결합하는 것은 애스펙트들의 그룹에서 하나의 애스펙트를 유지하는 것과 애스펙트들의 그룹으로부터 나머지 하나를 제거하는 것을 포함할 수 있다. 어떤 애스텍트를 유지할지에 대한 결정은 예를 들어, 최고 인기 점수(popularity score)로 애스펙트를 선택함으로써 만들어질 수 있다. 애스펙트 인기 점수들은 이하 더 상세히 설명한다.
다른 클러스터링 기법들, 예를 들어, k-평균 클러스터링(k-means clustering), 스펙트럼 클러스터링(spectral clustering), 계층적 클러스터링(hierarchical clustering), 및 스타 클러스터링(star clustering)이 사용될 수 있다.
후보 애스펙트들은 그들의 클래스들에 기초하여 그룹화될 수 있다. 애스펙트 클래스들은 예컨대 상기 설명한 것처럼 엔티티 클래스들이 결정되더라도 결정될 수 있다. 일부 구현들에 있어서, 애스펙트 클래스를 결정하는 것은 그 애스펙트에 대한 동의어를 결정한 후 그 동의어의 클래스를 결정하는 것을 포함한다. 예를 들어, “New York University”는 주로 “NYU”로 줄여 쓴다. 그러나 예컨대, 많은 지식 베이스들은 오직 주어진 엔티티에 대한 가능한 이름들 중 하나를 분류하기 때문에 “NYU"에 대한 애스펙트 클래스를 결정하는 것이 어려울 수 있다. 그러므로 "NYU" 분류를 기초로 하는 데이터가 없을 수 있다. 그러나 보다 공식적인 “New York University" 는 지식 베이스들에 포함되어 있을 가능성이 높다. 따라서 ”NYU"에 대한 클래스는 동의어 “New York University”와 “NYU”를 연관시킨 후, 동의어의 클래스를 식별함으로써 결정될 수 있다. 동의어들은 예컨대, 동의어 사전(thesaurus) 또는 사전에서 그 애스펙트를 검색함으로써 결정될 수 있다. 또한 동의어들은 예컨대, 위키피디아TM과 같은 지식 베이스의 리다이렉트(redirect) 웹 페이지들을 이용함으로써 결정될 수 있다. 리다이렉트 페이지들은 위키피디아TM에 의해 분류된 동의어에 대한 다양한 단어들의 매핑(mapping)을 나타낸다.
애스펙트들은 유사성 점수 예상과 다를 수 있지만 그들이 동일한 클래스에 속하는 의미에 있어서는 여전히 관련이 있을 수 있다. 이러한 일이 발생하면, 애스펙트들은 동일한 클래스로 그룹화될 수 있다. 예를 들어, “뉴욕(New York)”, “샌프란시스코(San Francisco)”및 “워싱턴 디씨(Washington DC)” 애스펙트들은 다른 음식, 문화, 거리 등으로 다른 도시들을 가리키지만, 모두 “미국 도시들(U.S. cities)” 클래스에 연관될 수 있다. 따라서 애스펙트들은 “미국 도시들” 클래스에 그룹화될 수 있다. 일부 구현들에 있어서, 애스펙트들은 그 클래스의 서브-클래스(sub-class)로 그룹화된다. 예를 들어, “뉴욕” 및 “워싱턴 디씨”는 “미국 도시들” 및 “동부 해안 도시들(East coast cities)” 클래스의 멤버들이다. 그러므로 그것들은 대안적으로 “동부 해안 도시들”에 함께 그룹화되어 있을 수 있다.
도 4는 애스펙트 클래스들에 기초하여 애스펙트들을 그룹화하는 것에 대한 예를 도시한 것이다. 애스펙트들의 그룹(402)은 각각 개별 클래스들과 연관된다. 애스펙트 1 및 애스펙트 3은 둘 다 클래스 1에 있는 반면, 애스펙트 2는 클래스 2에 있다. 애스펙트들이 그 클래스에 기초하여 그룹화될 때, 애스펙트들의 새 그룹(404)이 애스펙트 2 및 클래스 1을 포함한다. 애스펙트 2는 그 클래스가 다른 어떤 애스펙트들의 클래스에 매치되지 않기 때문에, 애스펙트들의 새 그룹(404)에서 변하지 않은 채로 남는다. 애스펙트 1 및 애스펙트 3은 그들이 동일한 클래스를 갖기 때문에 그 클래스, 클래스 1에 동일한 새 애스펙트로 결합된다.
일부 구현들에 있어서, 일부 애스펙트들은 다수의 클래스들과 연관된다. 이러한 모호한 애스펙트들에 대한 클래스를 결정하는 것은 문제가 될 수 있다. 예를 들어, “베트남”엔티티 및 “푸드(food)”와 “히스토리(history)” 2개의 애스펙트들을 생각해보자. 이러한 2개의 애스펙트들 모두 모호하다. 먹을 수 있는 것이라는 의미에 덧붙여, “푸드”가 “F.O.O.D" 음악 앨범으로 언급될 수 있다. 과거의 어떤 것이라는 의미에 덧붙여, “히스토리”는 “HIStory: 과거, 현재 그리고 미래, 책 1”로 언급될 수 있다. 따라서 2개의 모호한 애스펙트들은 “앨범”으로서 분류될 수 있고, 이후에“앨범” 애스펙트로 함께 그룹화될 수 있다. 푸드와 히스토리는 베트남 탐험을 위한 2개의 고유 애스펙트들이고, 각각 그것들에 일치하는 값이 있다. 그러므로 그것들이 함께 그룹화되어서는 안 된다. 일부 구현들에 있어서, 모호한 애스펙트들은 이러한 잠재적인 문제를 피하기 위해 그룹화되지 않는다.
모호한 애스펙트들은 예를 들어, 다중적 의미를 가진 애스펙트들을 식별하는 명확화 데이터베이스(disambiguation database)를 이용함으로써 식별될 수 있다. 또한 모호한 애스펙트들은 예를 들어, 위키피디아TM와 같은 웹 사이트의 명확화 웹 페이지들을 이용함으로써 식별될 수 있다. 이러한 모호함을 없애는 페이지들은 주어진 애스펙트들에 대한 다중 의미들을 식별한다.
일부 구현들에 있어서, 일단 후보 애스펙트들의 수정된 그룹이 결정되면, 그 그룹은 예를 들어, 잠재적으로 유해한 애스펙트를 제거하기 위해 필터링된다(예컨대, 폰 필터링(porn filtering)). 이러한 필터링은 애스펙트들을 잠재적으로 유해한 애스펙트들의 리스트와 비교하고, 리스트에 있는 일부 애스펙트들을 제거함으로써 수행될 수 있다.
도 2에 도시된 바와 같이, 시스템은 엔티티에 대한 하나 이상의 후보 애스펙트들의 순위를 매긴다(단계 280). 후보 애스펙트들은 애스펙트 각각의 다양성 점수 및 인기 점수에 기초하여 순위가 매겨진다. 순위 매김에 있어서의 목표는 사용자의 검색에서 바로 다음으로 이어질 사용자 선택을 주기에 충분히 사용자에게 흥미롭고, 다양한 애스펙트들을 식별하는 것이다. 순위를 매기는 것은 후술하는 것처럼 실시될 수 있다.
최고 순위가 매겨진 애스펙트는 최고 인기 점수를 가진 애스펙트이다. 인기 점수는 그 애스펙트가 얼마나 공통되는지에 대한 측정치이다. 인기 점수는 그 애스펙트가 어떻게 생성되었는지에 의존하여 다양한 방식으로 산출될 수 있다.
애스펙트가 쿼리 개선으로서 생성된 때, 인기 점수는 예를 들어, 쿼리 개선이 나타난 세션들의 총 수를 취득하고, 세션들의 총 수로 나눔으로써, 쿼리 개선이 나타난 빈도에 기초할 수 있다.
예를 들어, 쿼리 q의 개선 qj에 대한 인기 점수
Figure 112011059493411-pct00013
는 다음과 같이 산출될 수 있다.
Figure 112011059493411-pct00014
여기서, fq ( q j )는 쿼리 개선 qj가 사용자 검색 히스토리들에서 나타난 빈도이다.
애스펙트가 쿼리 슈퍼-스트링으로서 생성된 때, 인기 점수는 예를 들어, 그 검색 히스토리들에서 슈터 스트링이 나타난 횟수의 총 수를 취득하고, 사용자 검색 히스토리에서 쿼리 슈퍼-스트링의 총 수에 사용자 검색 히스토리에서 엔티티에 대한 쿼리가 나타난 횟수의 총 수를 더한 것으로 나눔으로써, 사용자 검색 히스토리들에서 쿼리 슈퍼-스트링이 나타난 빈도에 기초할 수 있다.
예를 들어, 주어지 쿼리 슈퍼 스트링 qj에 대한 인기 점수
Figure 112011059493411-pct00015
는 다음과 같이 산출될 수 있다.
Figure 112011059493411-pct00016
여기서, fq(qj)는 검색 히스토리에서 슈퍼-스트링 쿼리 qj가 나타난 빈도이고, fq(q)는 검색 히스토리들에서 엔티티에 대한 쿼리가 나타난 빈도이다.
또한 인기 점수는 검색 히스토리들에서 그 슈퍼-스트링이 나타난 횟수의 총 수를 검색 히스토리들에서 쿼리 슈퍼-스트링의 총 수로 나눔으로써 산출될 수 있다. 예를 들어:
Figure 112011059493411-pct00017
쿼리 개선 및 쿼리 슈퍼-스트링이 둘 다 후보 애스펙트들로서 식별된 때, 그 둘은 하나의 애스펙트로 결합될 수 있다. 그 애스펙트에 대한 인기 점수는 예를 들어, 2개의 점수 중 더 높은 점수를 취하거나, 2개의 점수의 평균을 취하거나, 또는 2개의 점수 중 더 낮은 점수를 취하는 것을 포함하는 다양한 방식으로 결정될 수 있다.
예를 들어, 쿼리 개선 및 쿼리 슈퍼-스트링 모두인 주어진 쿼리 qj와 연관된 애스펙트에 대한 점수
Figure 112011059493411-pct00018
는 다음과 같이 산출될 수 있다.
Figure 112011059493411-pct00019
애스펙트가 그 엔티티와 동일한 클래스 내의 다른 클래스 멤버 엔티티들에 대한 쿼리 로그 데이터를 분석함으로써 식별된 때, 인기 점수는 상기 설명한 것처럼 그 애스펙트에 대해 생성될 수 있다. 예를 들어,
Figure 112011059493411-pct00020
클래스 기반 애스펙트들에 대한 인기 점수는 그 클래스와 연관된 애스펙트들이 특정 엔티티와 연관된 애스펙트들을 압도하지 않도록 하기 위해 조정될 수 있다. 더욱 드문 엔티티들은 충분한 수 및 애스펙트들의 다양성을 갖기 위해 클래스-기반 애스펙트들을 요구한다. 그러나 더 인기있는 엔티티들은 클래스-기반 애스펙트들보다 더 중요한 엔티티-베이스 애스펙트들을 가질 수 있다. 균형은 그 애스펙트들의 점수를 가중함으로써 맞춰질 수 있다.
예를 들어, 클래스 C의 엔티티를 포함하는 쿼리 q의 후보 애스펙트 ai는 다음과 같이 가중된 점수
Figure 112011059493411-pct00021
를 할당받을 수 있다.
Figure 112011059493411-pct00022
여기서 K는 그 애스펙트 및 클래스의 개별 점수에 대한 상대적 중요성을 제어하는 디자인 파라메터이고, 경험적으로 결정될 수 있으며,
Figure 112011059493411-pct00023
여기서, Count(a)는 애스펙트 a에 포함된 쿼리 로그 내의 쿼리들의 수이고, |C|는 클래스 C 내 엔티티들의 수이다.
또한 클래스-기반 후보 애스펙트에 대한 인기 점수는 엔티티가 그 애스펙트가 기초로 하는(예컨대, 시간 또는 공간 또는 다른 예상으로부터) 클래스 멤버에 어떻게 밀접한지를 반영할 수 있다. 예를 들어, 엔티티가 “11월”이라면, 11월이 달력 순서에 있어서 5월보다 12월에 가깝기 때문에, 그 클래스 멤버 “12월”에 기초한 애스펙트는 클래스 멤버 “5월”에 기초한 애스펙트보다 더 좋은 점수를 가질 수 있다. 또 다른 예로서, “샌프란시스코”가 엔티티라면, 샌프란시스코가 거리의 관점에서 뉴욕보다 로스앤젤레스에 가깝기 때문에, “로스엔젤레스”에 기초한 애스펙트가 “뉴욕”에 기초한 애스펙트보다 더 좋은 점수를 가질 수 있다.
또한 다른 인기 점수들이 구상될 수도 있다. 예를 들어, 인기 점수는 주어진 애스펙트에 대한 평가를 통해 클릭(예컨대, 그 애스펙트에 대한 쿼리(또는 엔티티 및 애스펙트)가 발행된 후 검색 결과를 사용자들이 선택한 횟수를, 그 애스펙트에 대한 쿼리들이 사용자에게 발행된 총 횟수로 나눈 것)에 기초할 수 있다. 또한 인기 점수는 애스펙트에 대한 쿼리 또는 애스펙트 및 엔티티에 상응하는 하나 이상의 검색 결과들과 연관된 체류 시간(dwell time)에 기초할 수 있다. 체류 시간은 사용자가 검색 결과를 보면서 보내는 시간의 양이다. 체류 시간은 사용자가 검색 결과를 보면서 보내는 초의 수와 같이 연속된 숫자일 수 있고, 예컨대, 30초 미만의 클릭에 상응하는 “쇼트 클릭(short click)", 30초 이상이지만 1분 미만의 클릭에 상응하는 "미디엄 클릭(medium click)", 1분 이상의 클릭에 상응하는 “롱 클릭(long click)”과 같이 비연속적인 간격(discrete interval)일 수 있다. 일부 구현들에 있어서, 하나 이상의 결과들에 대한 보다 긴 체류 시간은 더 높은 인기 점수와 연관된다. 사용자들은 더 긴 시간의 기간 동안 충분히 보기 위해, 유용한 더 긴 체류 시간을 갖고 그 결과들을 찾기 때문에, 점수가 더 높다.
일단 제 1 애스펙트의 순위가 매겨지면, 다음 애스펙트들이 그들의 인기 점수 및 다양성 점수에 기초하여(예컨대, 미리 순위가 매겨진 애스펙트들에 대해 그들이 얼마나 유사한지에 대한 측정치) 순위가 매겨진다. 순위가 매겨지지 않은 애스펙트에 대한 다양성 점수는 예를 들어, 순위가 매겨지지 않은 애스펙트와 순위가 매겨진 각각의 애스펙트 간의 유사성 점수를 산출 한 후, 그 점수들의 최소, 최대, 또는 평균을 구함으로써 생성될 수 있다.
도 5는 하나 이상의 순위 매겨진 애스펙트들(508)의 사전-존재하는 그룹이 주어지고, 순위가 매겨지지 않은 애스펙트(502)의 순위를 정하는 예를 도시한 것이다.
인기 점수(506)는 인기 점수 생성기(504)를 이용하여 순위가 매겨지지 않은 애스펙트(502)에 대해 생성된다. 인기 점수 생성기는 예를 들어, 상기 설명한 것처럼 애스펙트에 대한 인기 점수를 생성한다. 다양성 점수(512)는 이후에 다양성 점수 생성기(510)에 의해 순위가 매겨지지 않은 애스펙트(502)에 대해 생성된다. 다양성 점수(512)는 순위가 매겨지지 않은 애스펙트(502)가 순위가 매겨진 애스펙트들(508)에 얼마나 유사한지에 대한 추정치이다. 순위가 매겨지지 않은 애스펙트(502) 및 순위가 매겨진 애스펙트들(508)의 세트 간의 다양성 점수는 순위가 매겨지지 않은 애스펙트(502)와 그 세트에 있는 순위가 매겨진 각각의 애스펙트들(508) 사이의 유사성 점수를 산출한 후, 그 점수들의 최소, 최대, 평균 또는 합을 다양성 점수로 이용함으로써 결정될 수 있다.
일단 인기 점수(506) 및 다양성 점수(512)가 생성되면, 그들은 종합 점수 생성기(514)로 전달된다. 종합 점수 생성기(514)는 예를 들어, 인기 점수(506)를 다양성 점수(512)로 나눔으로써, 그 인기 점수(506) 및 다양성 점수(512)에 기초하여 종합 점수(516)를 생성한다.
또한 후보 애스펙트들의 순위를 정하는 다른 방법들도 구상된다. 예를 들어, 최고 순위가 매겨진 후보 애스펙트는 인기 점수에 기초하여 선택될 수 있고, 그 다음 모든 애스펙트들은 다양성 점수에 기초하여(예를 들어, 최저 다양성 점수를 가진 애스펙트를 선택함으로써) 선택될 수 있다. 또한 후보 애스펙트들은 단지 그들의 인기 점수들 또는 단지 그들의 다양성 점수들에 기초하여 순위가 매겨질 수도 있다.
도 2로 돌아가서, 시스템은 최고 순위가 매겨진 후보 애스펙트들의 수를 엔티티 또는 엔티티 및 그의 특성들과 연관시킨다(단계 210). 후보 애스펙트들의 일부 수는 시스템의 요구 및 시스템의 저장 용량에 기초하여 엔티티(및 그의 특성들)와 연관될 수 있다. 예를 들어, 시스템이 동시에 극히 소수의 애스펙트들이 디스플레이 될 수 있는 그래픽 환경에서 그 애스펙트들을 사용자에게 표시할 것이라면, 애스펙트들이 수가 적을 수 있다. 반대로, 그 시스템이 사용자 또는 프로세스에 많은 수의 애스펙트들을 제공할 수 있다면, 후보 애스펙트들의 수가 더 많아질 수 있다.
일단 최고 순위가 매겨진 애스펙트들의 수가 엔티티(및 그의 특성들)와 연관되면, 그 연관성은 시스템에 액세스 가능한 위치(예컨대, 주어진 엔티티를 그 애스펙트들과 연관시키는 데이터베이스)에 저장된다.
도 6은 엔티티에 상응하는 하나 이상의 단어들을 포함하는 쿼리를 수신하고, 그 엔티티의 식별된 애스펙트들에 기초하여 검색 결과들을 나타내기 위한 예시적 방법(600)을 도시한다. 편의를 위해, 예시적 방법(600)은 그 방법(600)을 실시하는 시스템(예컨대, 도 1의 검색 시스템(114) 또는 다른 시스템)을 참조하여 설명할 것이다. 방법은 도 2를 참조하여 상기 설명한 방법과 관련지어 실시될 수 있다.
시스템은 엔티티에 상응하는 하나 이상의 단어들을 포함하는 쿼리를 수신한다(단계 602). 예를 들어, 쿼리는 사용자 또는 검색 시스템(114)으로부터 수신될 수 있다. 일부 구현에 있어서, 시스템 및 검색 시스템(114)은 동일한 시스템이다.
시스템은 엔티티와 연관된 애스펙트들을 식별한다(단계 604). 일부 구현들에 있어서, 쿼리는 엔티티 및 그 특성들을 포함하고, 시스템은 엔티티 및 그 특성들과 연관된 애스펙트들을 식별할 수 있다. 예를 들어, 쿼리가 “하와이 휴가”라면, “하와이”가 엔티티로서 식별될 수 있고, “휴가”가 “하와이” 엔티티의 특성으로서 식별될 수 있다. 애스펙트들은 도 2를 참조하여 상기 설명한 것처럼 식별되거나, 예컨대, 도 2를 참조하여 상기 설명한 방법을 이용하여 생성된 순위가 매겨진 애스펙트들을 포함하는 데이터베이스로부터 검색될 수 있다. 시스템은 엔티티와 연관된 모든 애스펙트들을 식별할 수 있다. 그 애스펙트들의 순위가 매겨질 때, 시스템은 대안적으로 순위가 매겨진 애스펙트들의 최상위 수 k를 식별할 수 있고, 여기서 k는 사용자에게 표시될 예정인 애스펙트들의 수이다.
시스템은 검색 결과들에 대한 하나 이상의 세트들을 수신한다(단계 606). 검색 결과들의 각각의 세트는 엔티티 및 식별된 애스펙트들 중 하나에 상응한다. 예를 들어, 엔티티가 “하와이”이고, 식별된 애스펙트들이 “해변”, “호텔”, “날씨” 및 “음식”이었다면, 검색 결과들의 분리된 세트들은 “하와이 해변”, “하와이 호텔”, “하와이 날씨” 및 “하와이 음식”으로 수신될 수 있다. 검색 결과들은 엔티티 및 애스펙트에 대한 검색 엔진(130)으로 발행된 쿼리에 응답하여 수신될 수 있다.
시스템은 식별된 애스펙트들에 기초하여 검색 결과들을 표시한다(단계 608). 일부 구현들에 있어서, 검색 결과들은 “매시업”으로 표시되고, 여기서 관련 결과들 및 하나 이상의 애스펙트들에 대한 다른 정보는, 애스펙트에 따라 조직되어 하나의 디스플레이에 표시된다.
도 7은 검색 버튼(704)을 클릭함으로써 사용자가 “배첼러 산(mount bachelor)”에 대한 검색 쿼리(702)를 제출한 후 디스플레이된 예시적 매시업이다. 검색 결과들 및 배첼러 산에 대한 애스펙트들에 상응하는 다른 정보(예컨대, “날씨”, “호텔”, “커뮤니티 컬리지” 및 “산”)가 애스펙트에 따라 분류되어 있고, 박스들(706, 708, 710, 및 712) 안에 사용자에게 표시되어 있다. 정보의 표시는 애스펙트에 맞춰질 수 있다. 예를 들어, 스키 및 스노우 리조트는 “날씨” 애스펙트에 관심있는 사용자를 위해 박스(706) 안에 표시될 수 있다. “호텔”에 상응하는 검색 결과들은 박스(708) 안에 표시되고, “커뮤니티 컬리지”에 상응하는 검색 결과들은 박스(710) 안에 표시되고, “산”에 상응하는 검색 결과들은 박스(712) 안에 표시된다.
도 7은 주어진 애스펙트에 대한 모든 검색 결과들이 불필요하게 그 애스펙트에 대해 표시되지 않는 것을 도시한 것이다. 예를 들어, 표시된 2개의 검색 결과들보다 더 많은 “호텔”에 대한 검색 결과들이 수신될 수 있다. 표시된 검색 결과들은, 예를 들어, 검색 결과들의 순위(예컨대, 검색 시스템 (114)에 의해 제공된 순위)에 기초하여 검색 결과들의 최고 숫자를 취함으로써 수신된 검색 결과들로부터 선택된다. 그 숫자는 엔티티에 대한 애스펙트들의 수 및/또는 검색 결과들을 표시하기 위해 사용가능한 공간에 기초하여 결정될 수 있다. 검색 결과들은 모든 식별된 애스펙트들에 대해 표시되어야만 하는 것은 아니다.
일부 구현들에 있어서, 애스펙트들 중 하나에 따라 그 엔티티의 요약이 표시된다. 애스펙트에 따른 엔티티의 요약은 엔티티 및 애스펙트에 상응하는 검색 결과들을 통해 사용가능한 정보의 직접적인 표시이다. 예를 들어, 박스(706)에 표시된 스키 및 스노우 리조트는 “배첼러 산” 엔티티 및 “날씨” 애스펙트에 대한 정보의 요약이다. “날씨” 애스펙트에 관심이 있는 사용자는 현재 날씨를 아는데 관심이 있을 수 있으므로, 시스템은 날씨 정보를 보기 위해 사용자에게 검색 결과를 클릭하도록 요구하는 것보다, 대신 날씨에 대한 정보를 직접 표시할 수 있다. 또 다른 예로서, 엔티티가 “남 캘리포니아 대학교 풋볼 팀(University of Southern California football team”이고, 애스펙트가 “시즌 성적(season score)"이라면, 그 팀의 시즌 성적에 대한 요약이 표시될 수 있다. 또 다른 예로서, 엔티티가 특정 영화이고, 애스펙트가 영화 리뷰들이라면, 다수의 리뷰들이 함께 표시될 수 있다. 일부 구현들에 있어서, 요약은 미리 애스펙트 및 엔티티를 연관시키고, 예컨대, 데이터베이스에 저장된다. 그리고 나서, 시스템은 필요할 때 요약을 검색할 수 있다.
또한 애스펙트들에 기초하여 검색 결과들을 표시하는 다른 방법들도 구상된다. 예를 들어, 시스템은 각각의 애스펙트에 상응하는 검색 결과들에 해단 분리된 웹 페이지를 만들 수 있다. 식별된 애스펙트들에 상응하는 웹 페이지들에 대한 링크들이 오리지날 쿼리에 대한 검색 결과들과 함께 표시될 수 있다. 대안적으로, 웹 페이지들에 대한 링크들은 분리된 웹 페이지로서 표시될 수 있다. 시스템은 사용자에 대해 “관련 검색”옵션들로 그 애스펙트들을 표시할 수 있고, 사용자가 그 애스펙트를 선택하면 주어진 애스펙트에 상응하는 검색 결과들을 표시할 수 있다.
일부 구현들에 있어서, 쿼리는 다수의 엔티티들에 상응하는 단어들을 포함한다. 쿼리가 다수의 엔티티들을 포함할 때, 시스템은 각각의 쿼리와 연관된 애스펙트들을 식별할 수 있고, 이후에 그들의 순위에 기초하여(예컨대, 각 애스펙트의 인기 점수 및 다양성 점수에 기초하여) 식별된 애스펙트들을 결합할 수 있다. 최고 순위가 매겨진 애스펙트들에 대한 검색 결과들이 이후에 수신되고 사용자에게 표시될 수 있다. 대안적으로, 시스템은 엔티티들 각각에 상응하는 애스펙트들에 대한 검색 결과들을 개별적으로 표시할 수 있다.
일부 구현들에 있어서, 시스템은 엔티티 및 애스펙트보다는, 엔티티에 상응하는 검색 결과들을 (예컨대, 검색 시스템(114)으로부터) 수신한다. 이러한 구현들에 있어서, 검색 결과들은 예를 들어 애스펙트들에 기초하여 검색 결과들을 분류함(sorting)으로써, 또는 애스펙트들 주변의 검색 결과들을 모으기 위해 클러스터링 기법들을 이용함으로써 그 애스펙트들을 기초로 그룹화될 수 있다. 이러한 구현들에 있어서, 검색 결과들은 상기 설명한 것처럼 애스펙트들에 기초하여 표시될 수 있다.
도 8은 시스템(800)의 예시적 구조를 도시한다. 일반적으로 시스템은 데이터 프로세싱 장치(802) 및 사용자 디바이스(828)를 포함한다. 데이터 프로세싱 장치(802) 및 사용자 디바이스(828)는 네트워크(826)를 통해 연결된다. 일부 구현들에 있어서, 사용자 디바이스(828) 및 데이터 프로세싱 장치(802)는 동일 디바이스이다.
데이터 프로세싱 장치(802)가 단일 데이터 프로세싱 장치로서 도시된 반면, 복수의 데이터 프로세싱 장치가 사용될 수 있다. 데이터 프로세싱 장치(802)는 다수의 모듈들, 예를 들어, 프로세스들(예컨대, 실행가능한 소프트웨어 프로그램)을 구동한다. 다양한 구현들에 있어서, 이러한 프로세스들은 엔티티-클래스 연관기(entity-class associator; 804), 애스펙트 생성기(aspect generator; 806), 애스펙트 결합기(aspect combiner; 808), 애스펙트 그루퍼(aspect grouper; 810), 애스펙트 랭커(aspect ranker; 812), 및 애스펙트 연관기(aspect associator; 814)를 포함한다.
엔티티-클래스 연관기(804)는 예를 들어, 엔티티들을 클래스들에 연관시키는 사전-정의된 데이터베이스에 기초하여, 또는 엔티티에 대한 지식 베이스 정보에 액세스함으로써, 주어진 엔티티를 클래스에 연관시킨다.
애스펙트 생성기(806)는 예를 들어, 도 2를 참조하여 상기 설명한 것처럼 엔티티에 대한 쿼리 개선 및 쿼리 슈퍼-스트링, 그의 클래스 멤버들, 또는 엔티티 및 그의 클래스 멤버들을 식별하기 위해 사용자 검색 히스토리들을 분석함으로써, 주어진 엔티티에 대한 애스펙트들을 생성한다.
애스펙트 결합기(808)는 예를 들어, 도 2 및 3을 참조하여 상기 설명한 것처럼 애스펙트들이 유사성 점수들에 기초하여 애스펙트들을 결합한다. 또한 애스펙트 결합기(808)는 도 2 및 3을 참조하여 상기 설명한 것처럼 애스펙트들의 쌍들에 대한 유사성 점수들을 산출할 수도 있다.
애스펙트 그루퍼(810)는 예를 들어, 도 2 및 4를 참조하여 상기 설명한 것처럼 애스펙트들의 클래스에 기초하여 애스펙트들을 그룹화할 수 있다. 일부 구현들에 있어서, 애스펙트 결합기(808) 및 애스펙트 그루퍼(810)는 동일한 프로세스이다.
애스펙트 랭커(812)는 예를 들어, 도 2 및 5를 참조하여 상기 설명한 것처럼, 각각의 애스펙트의 인기 점수 및 다양성 점수에 기초하여 애스펙트들의 순위를 매긴다.
애스펙트 연관기(814)는 예를 들어, 도 2를 참조하여 상기 설명한 것처럼 하나 이상의 애스펙트들을 주어진 엔티티 또는 주어진 엔티티 및 그의 특성들과 연관시킨다.
일부 구현들에 있어서, 데이터 프로세싱 장치(802)는 하나 이상의, 주어진 엔티티를 그의 클래스와 연관시킨 엔티티-클래스 데이터베이스, 주어진 애스펙트를 그의 클래스, 사용자 검색 히스토리들과 연관시킨 애스펙트-클래스 데이터베이스, 및 주어진 엔티티를 하나 이상의 애스펙트들과 연관시킨 엔티티-애스펙트 데이터베이스를 저장한다. 일부 구현들에 있어서, 엔티티-클래스 데이터베이스 및 애스펙트-클래스 데이터베이스는 동일한 데이터베이스이다. 일부 구현들에 있어서, 데이터베이스는 컴퓨터 판독가능 매체(820)에 저장된다. 일부 구현들에 있어서, 데이터는 추가 디바이스(들)(818)에 저장된다.
또한 데이터 프로세싱 장치(802)는 하나 이상의 프로세서들(816), 하나 이상의 추가 디바이스들(818), 컴퓨터 판독가능 매체(820), 통신 인터페이스(822), 및 하나 이상의 사용자 인터페이스 디바이스들(824)을 포함하는 하드웨어 또는 펌웨어 디바이스들을 가질 수 있다. 프로세서(들)(816)는 실행을 위한 명령들을 처리할 능력이 있다. 일 구현에 있어서, 적어도 하나의 프로세서(들)(816)는 멀티-스레드(multi-thread) 프로세서이다. 프로세서(들)(816)는 사용자 인터페이스 디바이스(들)(824)상에서 사용자 인터페이스를 위한 그래픽 정보를 디스플레이하기 위해 메모리 또는 저장 디바이스상에 저장된 명령들을 처리할 능력이 있다. 사용자 인터페이스(들)(82)는 예를 들어, 디스플레이, 카메라, 스피커, 마이크로폰, 또는 촉각 피드백 디바이스를 포함할 수 있다.
데이터 프로세싱 장치(802)는 그의 통신 인터페이스(822)를 이용하여 사용자 디바이스(828)와 통신한다.
사용자 디바이스(828)는 데이터 프로세싱 장치(예를 들어, 사용자의 컴퓨터)일 수 있다. 사용자는 네트워크(826)를 통해 검색 쿼리들을 데이터 프로세싱 장치(802)에 제출하고, 데이터 프로세싱 장치(802)로부터 예컨대, 사용자 디바이스상에서 구동하는 웹-브라우저(예컨대, 캘리포니아, 마운틴 뷰에 있는 모질라 프로젝트(Mozilla Project)로부터 사용가능한 FirefoxTM)를 통해 검색 결과들을 수신하기 위해서, 사용자 디바이스(828)를 사용한다. 사용자 디바이스(828)는 예를 들어, 디스플레이 디바이스상에 결과를 디스플레이하거나, 검색 결과들에 상응하는 소리를 전송하거나, 또는 결과들에 상응하는 촉각적 피드백을 제공함으로써, 사용자에게 검색 결과들을 표시할 수 있다. 검색 결과들은 엔티티와 연관된 애스펙트들에 따라 조직화될 수 있다. 사용자가 보기 위한 검색 결과를 선택하기 위해 사용자의 컴퓨터를 사용할 때, 사용자 선택에 관한 정보가 데이터 프로세싱 장치(802)에 보내질 수 있고, 사용자 검색 히스토리 데이터를 생성하기 위해 사용될 수 있다.
일부 구현들에 있어서, 사용자 디바이스(828)는 모듈들을 구동하는 데이터 프로세싱 장치(802)를 대신하거나 추가적으로 하나 이상의 모듈들(804, 806, 808, 810, 812, 및 814)을 동작한다.
도 8의 시스템(800)이 사용자 컴퓨터를 통해 검색 쿼리를 제출하는 사용자를 구상하는 반면에, 검색 쿼리는 사용자 또는 사용자 컴퓨터로부터 수신돼야만 하는 것은 아니지만 데이터 프로세싱 장치, 프로세스 또는 사람(예컨대, 컴퓨터 또는 컴퓨터상에서 구동하는 프로세스)으로부터, 직접 사용자의 입력으로 또는 사용자의 입력 없이 수신될 수 있다. 유사하게, 결과들 및 애스펙트들은 사용자 컴퓨터에 표시돼야만 하는 것은 아니지만, 데이터 프로세싱 장치, 프로세스, 또는 사람에게 표시될 수 있다. 사용자 검색 히스토리들은 사용자들 인구로부터 수신될 수 있고, 검색 쿼리에서 엔티티의 애스펙트들에 기초하여 조직화된 검색 결과들을 수신하기 위해 사용되는 동일한 사용자 디바이스(828)로부터 반드시 수신되어야하는 것은 아니다.
본 명세서에 기재된 주제 및 동작들의 구현은 본 문서에 개시된 구조들 및 그들의 구조적 동등물 또는 그들의 하나 이상의 결합들을 포함하는, 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어, 하드웨어에서 구현될 수 있다. 본 명세서에서 설명하는 주제의 이러한 구현들은 하나 이상의 컴퓨터 프로그램, 즉, 데이터 프로세싱 장치에 의한 실행을 위해서 또는 컴퓨터 프로세싱 장치의 동작을 제어하기 위해 컴퓨터 저장 미디어상에서 인코드된(encoded) 컴퓨터 프로그램 명령들의 하나 이상의 모듈들로 구현될 수 있다. 대안으로 또는 추가로, 프로그램 명령들은 인위적으로 생성된 전파 신호(예컨대, 기계-생성된 전기적, 광학적, 또는 전자기적 신호, 즉 데이터 프로세싱 장치에 의한 실행을 위해 적절한 수신 장치로의 전송을 위한 정보를 인코드하도록 생성된 신호) 상에서 인코드될 수 있다. 컴퓨터 저장 매체는 컴퓨터-판독가능 저장 디바이스, 컴퓨터-판독가능 저장 기판, 랜덤 또는 시리얼 액세스 메모리 어레이 또는 디바이스, 또는 그들 중 하나 이상의 결합이거나 그에 포함될 수 있다.
본 명세서에서 설명하는 동작들은 하나 이상의 컴퓨터-판독가능 저장 디바이스들에 저장되거나 다른 소스들로부터 수신된 데이터에서, 데이터 프로세싱 장치에 의해 수행되는 동작으로 구현될 수 있다.
“데이터 프로세싱 장치”라는 용어는 예시적인 프로그래머블 프로세서(programmable processor), 컴퓨터, 시스템온칩(system on chip), 또는 이들이 결합의 형태로 포함되어, 프로세싱 데이터에 대한 모든 종류의 장치, , 디바이스, 기계들을 포괄한다. 장치는 예컨대, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)과 같은 전용 로직 회로를 포함할 수 있다. 또한 장치는 하드웨어에 추가하여, 문제의 컴퓨터 프로그램을 위한 실행 환경을 만드는 코드(예컨대, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 크로스-플랫폼 런타임(cross-platform runtime) 환경(예컨대, 가상 기계), 또는 이들 중 하나 이상의 조합을 구성하는 코드)를 포함할 수 있다. 장치 및 실행 환경은 웹 서비스들과 같은 다양한 상이한 컴퓨팅 모델 기반 시설들, 분산형 컴퓨팅 및 그리드(grid) 컴퓨팅 기반 시설들을 실현할 수 있다.
컴퓨터 프로그램(또한 프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 또는 코드로 알려짐)은 컴파일되거나 해독된 언어들을 포함하는 어떤 형태의 프로그래밍 언어로 쓰여질 수 있고, 독립형 프로그램으로서 또는 모듈, 컴포넌트, 서브루틴, 또는 컴퓨터 환경에서 사용하기에 적합한 다른 유닛으로서 포함하는 어떤 형태로 사용될 수 있다. 컴퓨터 프로그램은 파일 시스템 내의 파일에 반드시 일치해야 하는 것은 아니다. 프로그램은 문제의 그 프로그램에 바쳐진 단일 파일에서, 또는 다수의 공동 작용하는 파일들(예컨대, 하나 이상의 모듈들, 서브-프로그램들, 또는 코드의 일부들에 저장된 파일들)에서 다른 프로그램들 또는 데이터(예컨대, 마크업 언어 문서에 저장된 하나 이상의 스크립트들)를 가진 파일의 일부에 저장될 수 있다. 컴퓨터 프로그램은 한 사이트에 배치되거나, 다수의 사이트들에 걸쳐 배포되고, 통신 네트워크에 의해 상호 연결된 하나의 컴퓨터 또는 다수의 컴퓨터들에서 실행되도록 사용될 수 있다.
본 명세서에 설명된 프로세스들 및 논리 흐름들은 입력 데이터에서 동작하고 출력을 생성함으로써, 기능들을 수행하도록 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그래머블 프로세서들에 의해 실시될 수 있다. 또한 프로세스들 및 논리 흐름들은 예컨대, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)과 같은 전용 로직 회로로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서에는, 예를 들어, 범용 및 전용 마이크로프로세서들, 및 임의 종류의 지털 컴퓨터 중 하나 이상의 프로세서들이 있다. 일반적으로, 프로세서는 판독 전용 메모리(ROM), 또는 랜덤액세스 메모리(RAM), 또는 양자 모두로부터 명령과 데이터를 수신한다. 컴퓨터의 필수 구성요소는 명령을 실행하는 프로세서, 및 명령과 데이터를 저장하는 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위해 하나 이상의 대용량 저장 디바이스(예를 들어, 자기 디스크, 광 자기 디스크, 또는 광 디스크)를 포함하거나, 또는 이 디바이스와 데이터를 송수신하도록 결합될 수 있다. 하지만 컴퓨터는 이러한 디바이스를 구비할 필요는 없다. 더욱이, 컴퓨터는 예를 들어, 모바일 전화기, 개인 정보 단말(PDA), 모바일 오디오 플레이어, GPS(global positioning system) 수신기 등과 같은 다른 디바이스에 내장될 수 있다. 컴퓨터 프로그램 명령과 데이터를 저장하기 적합한 컴퓨터 판독가능 매체는, 예를 들어, 반도체 메모리 디바이스(예를 들어, EPROM, EEPROM, 플래시 메모리 디바이스); 자기 디스크(예를 들어, 내부 하드디스크, 착탈식 디스크); 광자기 디스크; 및 CD ROM과 DVD-ROM 디스크를 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 프로세서와 메모리는 전용 논리 회로에 의해 보완되거나 또는 전용 논리 회로에 통합될 수 있다.
사용자와의 상호작용을 제공하기 위하여, 본 명세서에 기술된 주제의 실시예는, 정보를 사용자에게 디스플레이하기 위한 디스플레이 디바이스(예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터), 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)를 구비한 컴퓨터 상에 구현될 수 있다. 사용자는 키보드와 포인팅 디바이스를 이용하여 컴퓨터에 입력을 제공할 수 있다. 사용자와의 상호작용을 제공하기 위하여 다른 종류의 디바이스가 또한 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백(feedback)은 예를 들어, 시각 피드백, 청각 피드백 또는 촉각 피드백인 임의 형태의 감각 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다.
본 명세서에 기술된 주제의 실시예는, 예컨대, 데이터 서버와 같은 백엔드(back-end) 컴포넌트를 구비하는 컴퓨팅 시스템; 또는 예컨대, 애플리케이션 서버와 같은 미들웨어 컴포넌트를 구비하는 컴퓨팅 시스템; 또는 예컨대, 사용자가 본 명세서에 기술된 주제의 구현예와 상호작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저를 구비한 클라이언트 컴퓨터와 같은 프론트엔드(front-end) 컴포넌트를 구비하는 컴퓨터 시스템; 또는 이러한 백엔드, 미들웨어 또는 프론트엔드 컴포넌트의 임의 조합을 구비하는 컴퓨팅 시스템으로 구현될 수 있다. 시스템의 컴포넌트는 디지털 데이터 통신의 임의 형태 또는 매체(예를 들어, 통신 네트워크)에 의해 상호 접속될 수 있다. 통신 네트워크의 예에는 근거리 네트워크(LAN)와 인터넷과 같은 광역 네트워크(WAN)가 포함된다.
컴퓨팅 시스템은 클라이언트와 서버를 포함할 수 있다. 클라이언트와 서버는 보통 서로 떨어져 있으며, 일반적으로는 통신 네트워크를 통하여 상호작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터상에서 실행되고, 상호 클라이언트-서버 관계를 갖는 컴퓨터 프로그램에 의하여 발생한다.
본 명세서가 다수의 특정한 구현 세부사항을 포함하고 있지만, 이는 어떠한 발명의 범위나 청구할 사항의 범위에 대한 제한으로서 이해되어서는 안 되며, 특정 발명의 특정한 실시형태에 고유할 수 있는 특징들의 설명으로서 이해되어야 한다. 개별의 실시 형태를 배경으로 본 명세서에서 설명된 소정 특징들은 조합되어 단일 실시형태로 구현될 수 있다. 반대로, 단일 실시 형태를 배경으로 설명한 다양한 특징은 복수의 실시 형태에서 개별로 구현되거나 어떤 적당한 하위 조합으로서도 구현 가능하다. 또한, 앞에서 특징들이 소정 조합에서 동작하는 것으로서 설명되고 그와 같이 청구되었지만, 청구된 조합으로부터의 하나 이상의 특징은 일부 경우에 해당 조합으로부터 삭제될 수 있으며, 청구된 조합은 하위 조합이나 하위 조합의 변형으로 될 수 있다.
마찬가지로, 도면에서 특정한 순서로 동작을 묘사하고 있지만, 바람직한 결과를 얻기 위해, 그러한 동작이 도시한 특정 순서나 순차적인 순서로 수행되어야 한다거나, 설명한 모든 동작들이 수행되어야 한다는 것을 의미하는 것은 아니다. 임의의 환경에서, 멀티태스킹 및 병렬 프로세싱이 바람직할 수 있다. 또한, 상술한 실시 형태에 있어서 다양한 시스템 구성요소의 분리는 모든 실시 형태에서 그러한 분리를 요구하는 것으로 이해되어서는 안 되며, 설명한 프로그램 구성요소와 시스템은 단일 소프트웨어 제품으로 통합되거나 또는 복수의 소프트웨어 제품으로 패키지될 수 있다는 점을 이해해야 한다.
따라서 본 발명의 특정 실시형태가 설명되었다. 그 밖의 실시형태는 후술하는 청구범위 내에 속한다. 예를 들어, 청구항에 인용된 동작들은 상이한 순서로 수행될 수 있지만, 여전히 바람직한 결과를 달성한다.

Claims (57)

  1. 컴퓨터 시스템에서 쿼리(query)를 수신하는 단계로서, 상기 컴퓨터 시스템은 하나 이상의 컴퓨터들을 포함하고, 상기 쿼리는 엔티티(entity)를 포함하는 상기 수신 단계;
    상기 컴퓨터 시스템에서, 상기 엔티티에 대한 후보 애스펙트들(candidate aspects)의 그룹을 생성하는 단계;
    상기 컴퓨터 시스템에서, 유사한 후보 애스펙트들을 결합하고 하나 이상의 후보 애스펙트들과 각각 연관된 하나 이상의 애스펙트 클래스들을 이용하여 후보 애스펙트들을 그룹화하는 것(grouping)을 포함하는, 수정된 후보 애스펙트들의 그룹을 생성하기 위해 상기 후보 애스펙트들의 그룹을 수정하는 단계;
    상기 컴퓨터 시스템에서, 다양성 점수(diversity score) 및 인기 점수(popularity score)에 기초하여 수정된 후보 애스펙트들의 상기 그룹에서 하나 이상의 수정된 후보 애스펙트들의 순위를 매기는 단계;
    상기 컴퓨터 시스템에서, 하나 이상의 최고 순위의 수정된 후보 애스펙트들을 상기 엔티티와 연관시키는 단계;
    상기 컴퓨터 시스템에서, 검색 결과들의 하나 이상의 세트들을 수신하는 단계; 및
    상기 쿼리에 응답하여 상기 검색 결과들의 표시를 제공하는 단계로서, 상기 표시는 사기 엔티티와 연관된 상기 애스펙트들에 따라 조직된 상기 검색 결과들을 표시하는 상기 제공 단계를 포함하는 방법.
  2. 청구항 1에 있어서,
    애스펙트에 따라 엔티티에 관한 정보의 요약(summary)을 표시하는 단계를 더 포함하는 방법.
  3. 청구항 1에 있어서,
    상기 검색 결과들의 하나 이상의 세트들은 상기 쿼리에 응답한 검색 결과들의 세트를 포함하는 방법.
  4. 청구항 1에 있어서,
    상기 검색 결과들의 하나 이상의 세트들 각각은 상기 엔티티와 연관된 각각의 애스펙트에 상응하는 방법.
  5. 엔티티를 식별하는 데이터를 수신하는 단계;
    컴퓨터 시스템에서, 상기 엔티티에 대한 후보 애스펙트들의 그룹을 생성하는 단계로서, 상기 컴퓨터 시스템은 하나 이상의 컴퓨터들을 포함하는 상기 생성 단계;
    상기 컴퓨터 시스템에서, 유사한 후보 애스펙트들을 결합하고 하나 이상의 후보 애스펙트들과 각각 연관된 하나 이상의 애스펙트 클래스들을 이용하여 후보 애스펙트들을 그룹화하는 것을 포함하는, 수정된 후보 애스펙트들의 그룹을 생성하기 위해 상기 후보 애스펙트들의 그룹을 수정하는 단계;
    상기 컴퓨터 시스템에서, 다양성 점수 및 인기 점수에 기초하여 수정된 후보 애스펙트들의 상기 그룹에서 하나 이상의 수정된 후보 애스펙트들의 순위를 매기는 단계; 및
    상기 컴퓨터 시스템의 데이터 저장 디바이스에, 상기 하나 이상의 최고 순위가 매겨진 수정된 후보 애스펙트들과 상기 엔티티의 연관성(association)을 저장하는 단계를 포함하는 방법.
  6. 청구항 5에 있어서,
    상기 엔티티를 포함하는 쿼리를 수신하는 단계;
    상기 엔티티와 연관된 하나 이상의 애스펙트들을 식별하는 단계;
    상기 쿼리에 응답하여 검색 결과들을 수신하는 단계; 및
    상기 식별된 애스펙트들에 기초하여 상기 검색 결과들을 표시하는 단계를 포함하는 방법.
  7. 청구항 5에 있어서,
    상기 엔티티를 포함하는 쿼리를 수신하는 단계;
    상기 엔티티와 연관된 하나 이상의 애스펙트들을 식별하는 단계;
    검색 결과들의 하나 이상의 세트들을 수신하는 단계, 각각의 세트는 상기 식별된 애스펙트들 중 하나에 상응하며; 및
    상기 식별된 애스펙트들에 기초하여 상기 검색 결과들을 표시하는 단계를 포함하는 방법.
  8. 청구항 5에 있어서,
    하나 이상의 엔티티 특성들(properties)을 식별하는 데이터를 수신하는 단계를 더 포함하고,
    상기 후보 애스펙트들의 그룹을 생성하는 단계는 상기 하나 이상의 엔티티 특성들을 이용하는 단계를 포함하고,
    상기 하나 이상의 최고 순위가 매겨진 후보 애스펙트들은 상기 엔티티 및 상기 엔티티 특성들 모두와 연관되는 방법.
  9. 청구항 5에 있어서,
    상기 엔티티를 클래스와 연관시키는 단계로서, 상기 클래스는 상기 엔티티를 포함하는 하나 이상의 클래스 멤버들을 갖는 상기 연관시키는 단계를 더 포함하고,
    상기 후보 애스펙트들의 그룹을 생성하는 단계는 상기 엔티티 및 상기 클래스에 상응하는 후보 애스펙트들을 생성하는 단계를 포함하는 방법.
  10. 청구항 9에 있어서,
    상기 후보 애스펙트들의 그룹을 생성하는 단계는,
    상기 엔티티와 연관된 쿼리들을 식별하기 위해 하나 이상의 제 1 사용자 검색 히스토리들을 분석하는 단계; 및
    상기 엔티티 외의 클래스 멤버와 연관된 쿼리들을 식별하기 위해 하나 이상의 제 2 사용자 검색 히스토리들을 분석하는 단계를 더 포함하는 방법.
  11. 청구항 5에 있어서,
    후보 애스펙트들을 결합하는 단계는,
    유사성 점수들(similarity scores)을 산출하는 단계로서, 각각의 유사성 점수는 두 후보 애스펙트들 간의 유사성에 대한 추정치인 상기 산출하는 단계; 및
    상기 유사성 점수들에 기초하여 후보 애스펙트들을 하나의 수정된 후보 애스펙트로 결합하는 단계를 포함하는 방법.
  12. 청구항 11에 있어서,
    각각의 후보 애스펙트는 텍스트로서 표현되고, 두 후보 애스펙트들간의 유사성 점수는 각각의 후보 애스펙트와 연관된 텍스트의 문자열들에 대한 비교에 기초하는 방법.
  13. 청구항 11에 있어서,
    두 후보 애스펙트들 간의 유사성 점수를 산출하는 단계는,
    각각의 애스펙트에 대한 검색 결과들의 세트 각각을 수신하는 단계; 및
    검색 결과들의 세트들에 대한 비교에 기초하여 상기 유사성 점수를 산출하는 단계를 포함하는 방법.
  14. 청구항 13에 있어서,
    상기 검색 결과들의 세트들에 대한 비교는, 검색 결과들의 세트들 중 하나에서 검색 결과들의 경로들을, 검색 결과들의 세트들 중 다른 하나에서 검색 결과들의 경로들에 비교하는 것을 포함하는 방법.
  15. 청구항 13에 있어서,
    상기 검색 결과들의 세트들에 대한 비교는, 검색 결과들의 세트들 중 하나에서 검색 결과들의 타이틀들(titles) 및 스니펫들(snippets)을, 검색 결과들의 세트들 중 다른 하나에서 검색 결과들의 타이틀들 및 스니펫들에 비교하는 것을 포함하는 방법.
  16. 청구항 11에 있어서,
    상기 유사성 점수들에 기초하여 후보 애스펙트들을 결합하는 단계는,
    어느 애스펙트들을 결합할지를 결정하기 위해 그래프 분할 알고리즘(graph partition algorithm)을 이용하는 단계를 더 포함하는 방법.
  17. 청구항 5에 있어서,
    하나 이상의 애스펙트 클래스들을 이용하여 후보 애스펙트들을 그룹화하는 단계는,
    둘 이상의 후보 애스펙트들을 각각의 애스펙트 클래스와 연관시키는 단계; 및
    둘 이상의 후보 애스펙트들을 그들의 애스펙트 클래스들에 기초하여 하나의 수정된 후보 애스펙트로 그룹화하는 단계를 포함하는 방법.
  18. 청구항 17에 있어서,
    상기 하나의 수정된 후보 애스펙트는 애스펙트 클래스인 방법.
  19. 청구항 5에 있어서,
    다양성 점수 및 인기 점수에 기초하여 하나 이상의 수정된 후보 애스펙트들의 순위를 매기는 단계는,
    각각의 애스펙트에 대한 인기 점수를 산출하는 단계;
    최고 인기 점수를 가진 상기 애스펙트에 최고 순위를 매기는 단계; 및
    나머지 애스펙트들의 순위를 매기는 단계로서:
    각각의 순위가 매겨지지 않은 애스펙트에 대한 유사성 점수를 산출하는 단계로서, 상기 유사성 점수는 상기 순위가 매겨진 애스펙트들에 대한 상기 순위가 매겨지지 않은 애스펙트의 유사성을 비교하는 상기 산출하는 단계; 및
    상기 유사성 점수로 나눈 인기 점수가 가장 높은 애스펙트에 대해, 최고 순위 다음의 순위(next-highest ranking)를 매기는 단계를 한 번 이상 반복함으로써, 상기 순위를 매기는 단계를 포함하는 방법.
  20. 컴퓨터 프로그램이 저장된 컴퓨터-판독가능 저장 매체로서, 상기 프로그램은 데이터프로세싱 장치에 의한 실행 시 상기 데이터 프로세싱 장치가 동작들을 실시하도록 하는 명령들을 포함하고, 상기 동작은,
    엔티티를 포함하는 쿼리를 수신하는 단계;
    상기 엔티티에 대한 후보 애스펙트들의 그룹을 생성하는 단계;
    유사한 후보 애스펙트들을 결합하고 하나 이상의 후보 애스펙트들과 각각 연관된 하나 이상의 애스펙트 클래스들을 이용하여 후보 애스펙트들을 그룹화하는 것을 포함하는, 수정된 후보 애스펙트들의 그룹을 생성하기 위해 상기 후보 애스펙트들의 그룹을 수정하는 단계;
    다양성 점수 및 인기 점수에 기초하여, 수정된 후보 애스펙트들의 상기 그룹에서 하나 이상의 수정된 후보 애스펙트들의 순위를 매기는 단계;
    하나 이상의 최고 순위의 수정된 후보 애스펙트들을 상기 엔티티와 연관시키는 단계;
    검색 결과들의 하나 이상의 세트들을 수신하는 단계; 및
    상기 쿼리에 응답하여 상기 검색 결과들의 표시를 제공하는 단계로서, 상기 표시는 상기 엔티티와 연관된 상기 애스펙트들에 따라 조직된 상기 검색 결과들을 표시하는 상기 제공 단계를 포함하는 컴퓨터-판독가능 저장 매체.
  21. 청구항 20에 있어서,
    애스펙트에 따라 엔티티에 관한 정보의 요약을 표시하는 단계를 더 포함하는 동작들을 상기 데이터 프로세싱 장치가 실시하도록 작동가능한 컴퓨터-판독가능 저장 매체.
  22. 청구항 20에 있어서,
    상기 검색 결과들의 하나 이상의 세트들은 상기 쿼리에 응답한 검색 결과들의 세트를 포함하는 컴퓨터-판독가능 저장 매체.
  23. 청구항 20에 있어서,
    상기 검색 결과들의 하나 이상의 세트들 각각은 상기 엔티티와 연관된 각각의 애스펙트에 상응하는 컴퓨터-판독가능 저장 매체.
  24. 컴퓨터 프로그램이 저장된 컴퓨터-판독가능 저장 매체로서, 상기 프로그램은 데이터프로세싱 장치에 의한 실행 시 상기 데이터 프로세싱 장치가 동작들을 실시하도록 하는 명령들을 포함하고, 상기 동작은,
    엔티티를 식별하는 데이터를 수신하는 단계;
    상기 엔티티에 대한 후보 애스펙트들의 그룹을 생성하는 단계;
    유사한 후보 애스펙트들을 결합하고 하나 이상의 후보 애스펙트들과 각각 연관된 하나 이상의 애스펙트 클래스들을 이용하여 후보 애스펙트들을 그룹화하는 것을 포함하는, 수정된 후보 애스펙트들의 그룹을 생성하기 위해 상기 후보 애스펙트들의 그룹을 수정하는 단계;
    다양성 점수 및 인기 점수에 기초하여 수정된 후보 애스펙트들의 상기 그룹에서 하나 이상의 수정된 후보 애스펙트들의 순위를 매기는 단계; 및
    상기 하나 이상의 최고 순위가 매겨진 수정된 후보 애스펙트들과 상기 엔티티의 연관성을 저장하는 단계를 포함하는 컴퓨터-판독가능 저장 매체.
  25. 청구항 24에 있어서,
    상기 엔티티를 포함하는 쿼리를 수신하는 단계;
    상기 엔티티와 연관된 하나 이상의 애스펙트들을 식별하는 단계;
    상기 쿼리에 응답하여 검색 결과들을 수신하는 단계; 및
    상기 식별된 애스펙트들에 기초하여 상기 검색 결과들을 표시하는 단계를 더 포함하는 동작들을 상기 데이터 프로세싱 장치가 실시하도록 작동가능한 컴퓨터-판독가능 저장 매체.
  26. 청구항 24에 있어서,
    상기 엔티티를 포함하는 쿼리를 수신하는 단계;
    상기 엔티티와 연관된 하나 이상의 애스펙트들을 식별하는 단계;
    검색 결과들의 하나 이상의 세트들을 수신하는 단계, 각각의 세트는 상기 식별된 애스펙트들 중 하나에 상응하며; 및
    상기 식별된 애스펙트들에 기초하여 상기 검색 결과들을 표시하는 단계를 더 포함하는 동작들을 상기 데이터 프로세싱 장치가 실시하도록 작동가능한 컴퓨터-판독가능 저장 매체.
  27. 청구항 24에 있어서,
    하나 이상의 엔티티 특성들을 식별하는 데이터를 수신하는 단계를 더 포함하는 동작들을 상기 데이터 프로세싱 장치가 실시하도록 작동가능하고,
    상기 후보 애스펙트들의 그룹을 생성하는 단계는 상기 하나 이상의 엔티티 특성들을 이용하는 단계를 포함하고,
    상기 하나 이상의 최고 순위가 매겨진 후보 애스펙트들은 상기 엔티티 및 상기 엔티티 특성들 모두와 연관되는 컴퓨터-판독가능 저장 매체.
  28. 청구항 24에 있어서,
    상기 엔티티를 클래스와 연관시키는 단계로서, 상기 클래스는 상기 엔티티를 포함하는 하나 이상의 클래스 멤버들을 갖는 상기 연관시키는 단계를 더 포함하는 동작들을 상기 데이터 프로세싱 장치가 실시하도록 작동가능하고,
    상기 후보 애스펙트들의 그룹을 생성하는 단계는 상기 엔티티 및 상기 클래스에 상응하는 후보 애스펙트들을 생성하는 단계를 포함하는 컴퓨터-판독가능 저장 매체.
  29. 청구항 28에 있어서,
    상기 후보 애스펙트들의 그룹을 생성하는 단계는,
    상기 엔티티와 연관된 쿼리들을 식별하기 위해 하나 이상의 제 1 사용자 검색 히스토리들을 분석하는 단계; 및
    상기 엔티티 외의 클래스 멤버와 연관된 쿼리들을 식별하기 위해 하나 이상의 제 2 사용자 검색 히스토리들을 분석하는 단계를 더 포함하는 컴퓨터-판독가능 저장 매체.
  30. 청구항 24에 있어서,
    후보 애스펙트들을 결합하는 단계는,
    유사성 점수들을 산출하는 단계로서, 각각의 유사성 점수는 두 후보 애스펙트들 간의 유사성에 대한 추정치인 상기 산출하는 단계; 및
    상기 유사성 점수들에 기초하여 후보 애스펙트들을 하나의 수정된 후보 애스펙트로 결합하는 단계를 포함하는 컴퓨터-판독가능 저장 매체.
  31. 청구항 30에 있어서,
    각각의 후보 애스펙트는 텍스트로서 표현되고, 두 후보 애스펙트들간의 유사성 점수는 각각의 후보 애스펙트와 연관된 텍스트의 문자열들에 대한 비교에 기초하는 컴퓨터-판독가능 저장 매체.
  32. 청구항 24에 있어서,
    두 후보 애스펙트들 간의 유사성 점수를 산출하는 단계는,
    각각의 애스펙트에 대한 검색 결과들의 세트 각각을 수신하는 단계; 및
    검색 결과들의 세트들에 대한 비교에 기초하여 상기 유사성 점수를 산출하는 단계를 포함하는 컴퓨터-판독가능 저장 매체.
  33. 청구항 32에 있어서,
    상기 검색 결과들의 세트들에 대한 비교는, 검색 결과들의 세트들 중 하나에서 검색 결과들의 경로들을, 검색 결과들의 세트들 중 다른 하나에서 검색 결과들의 경로들에 비교하는 것을 포함하는 컴퓨터-판독가능 저장 매체.
  34. 청구항 32에 있어서,
    상기 검색 결과들의 세트들에 대한 비교는, 검색 결과들의 세트들 중 하나에서 검색 결과들의 타이틀들 및 스니펫들을, 검색 결과들의 세트들 중 다른 하나에서 검색 결과들의 타이틀들 및 스니펫들에 비교하는 것을 포함하는 컴퓨터-판독가능 저장 매체.
  35. 청구항 30에 있어서,
    상기 유사성 점수들에 기초하여 후보 애스펙트들을 결합하는 단계는,
    어느 애스펙트들을 결합할지를 결정하기 위해 그래프 분할 알고리즘을 이용하는 단계를 더 포함하는 컴퓨터-판독가능 저장 매체.
  36. 청구항 24에 있어서,
    하나 이상의 애스펙트 클래스들을 이용하여 후보 애스펙트들을 그룹화하는 단계는,
    둘 이상의 후보 애스펙트들을 각각의 애스펙트 클래스와 연관시키는 단계; 및
    둘 이상의 후보 애스펙트들을 그들의 애스펙트 클래스들에 기초하여 하나의 수정된 후보 애스펙트로 그룹화하는 단계를 포함하는 컴퓨터-판독가능 저장 매체.
  37. 청구항 36에 있어서,
    상기 하나의 수정된 후보 애스펙트는 애스펙트 클래스인 컴퓨터-판독가능 저장 매체.
  38. 청구항 24에 있어서,
    다양성 점수 및 인기 점수에 기초하여 하나 이상의 수정된 후보 애스펙트들의 순위를 매기는 단계는,
    각각의 애스펙트에 대한 인기 점수를 산출하는 단계;
    최고 인기 점수를 가진 상기 애스펙트에 최고 순위를 매기는 단계; 및
    나머지 애스펙트들의 순위를 매기는 단계로서:
    각각의 순위가 매겨지지 않은 애스펙트에 대한 유사성 점수를 산출하는 단계로서, 상기 유사성 점수는 상기 순위가 매겨진 애스펙트들에 대한 상기 순위가 매겨지지 않은 애스펙트의 유사성을 비교하는 상기 산출하는 단계; 및
    상기 유사성 점수로 나눈 인기 점수가 가장 높은 애스펙트에 대해, 최고 순위 다음의 순위를 매기는 단계를 한 번 이상 반복함으로써, 상기 순위를 매기는 단계를 포함하는 컴퓨터-판독가능 저장 매체.
  39. 프로세서; 및
    프로세서에 의한 실행 시 상기 프로세서가 동작들을 수행하도록 하는 명령들을 포함하는 컴퓨터 저장 매체를 포함하고, 상기 동작들은,
    엔티티를 포함하는 쿼리를 수신하는 단계;
    상기 엔티티에 대한 후보 애스펙트들의 그룹을 생성하는 단계;
    유사한 후보 애스펙트들을 결합하고 하나 이상의 후보 애스펙트들과 각각 연관된 하나 이상의 애스펙트 클래스들을 이용하여 후보 애스펙트들을 그룹화하는 것을 포함하는, 수정된 후보 애스펙트들의 그룹을 생성하기 위해 상기 후보 애스펙트들의 그룹을 수정하는 단계;
    다양성 점수 및 인기 점수에 기초하여, 수정된 후보 애스펙트들의 상기 그룹에서 하나 이상의 수정된 후보 애스펙트들의 순위를 매기는 단계;
    하나 이상의 최고 순위의 수정된 후보 애스펙트들을 상기 엔티티와 연관시키는 단계;
    검색 결과들의 하나 이상의 세트들을 수신하는 단계; 및
    상기 쿼리에 응답하여 상기 검색 결과들의 표시를 제공하는 단계로서, 상기 표시는 상기 엔티티와 연관된 상기 애스펙트들에 따라 조직된 상기 검색 결과들을 표시하는 상기 제공 단계를 포함하는 시스템.
  40. 청구항 39에 있어서,
    애스펙트에 따라 엔티티에 관한 정보의 요약을 표시하는 단계를 더 포함하는 동작들을 실시하도록 작동가능한 시스템.
  41. 청구항 39에 있어서,
    상기 검색 결과들의 하나 이상의 세트들은 상기 쿼리에 응답한 검색 결과들의 세트를 포함하는 시스템.
  42. 청구항 39에 있어서,
    상기 검색 결과들의 하나 이상의 세트들 각각은 상기 엔티티와 연관된 각각의 애스펙트에 상응하는 시스템.
  43. 프로세서; 및
    프로세서에 의한 실행 시 상기 프로세서가 동작들을 수행하도록 하는 명령들을 포함하는 컴퓨터 저장 매체를 포함하고,
    상기 동작들은,
    엔티티를 식별하는 데이터를 수신하는 단계;
    상기 엔티티에 대한 후보 애스펙트들의 그룹을 생성하는 단계;
    유사한 후보 애스펙트들을 결합하고 하나 이상의 후보 애스펙트들과 각각 연관된 하나 이상의 애스펙트 클래스들을 이용하여 후보 애스펙트들을 그룹화하는 것을 포함하는, 수정된 후보 애스펙트들의 그룹을 생성하기 위해 상기 후보 애스펙트들의 그룹을 수정하는 단계;
    다양성 점수 및 인기 점수에 기초하여 수정된 후보 애스펙트들의 상기 그룹에서 하나 이상의 수정된 후보 애스펙트들의 순위를 매기는 단계; 및
    상기 하나 이상의 최고 순위가 매겨진 수정된 후보 애스펙트들과 상기 엔티티의 연관성을 저장하는 단계를 포함하는 시스템.
  44. 청구항 43에 있어서,
    상기 엔티티를 포함하는 쿼리를 수신하는 단계;
    상기 엔티티와 연관된 하나 이상의 애스펙트들을 식별하는 단계;
    상기 쿼리에 응답하여 검색 결과들을 수신하는 단계; 및
    상기 식별된 애스펙트들에 기초하여 상기 검색 결과들을 표시하는 단계를 더 포함하는 동작들을 실시하도록 작동가능한 시스템.
  45. 청구항 43에 있어서,
    상기 엔티티를 포함하는 쿼리를 수신하는 단계;
    상기 엔티티와 연관된 하나 이상의 애스펙트들을 식별하는 단계;
    검색 결과들의 하나 이상의 세트들을 수신하는 단계, 각각의 세트는 상기 식별된 애스펙트들 중 하나에 상응하며; 및
    상기 식별된 애스펙트들에 기초하여 상기 검색 결과들을 표시하는 단계를 더 포함하는 동작들을 실시하도록 작동가능한 시스템.
  46. 청구항 43에 있어서,
    하나 이상의 엔티티 특성들을 식별하는 데이터를 수신하는 단계를 더 포함하는 동작들을 실시하도록 작동가능하고,
    상기 후보 애스펙트들의 그룹을 생성하는 단계는 상기 하나 이상의 엔티티 특성들을 이용하는 단계를 포함하고,
    상기 하나 이상의 최고 순위가 매겨진 후보 애스펙트들은 상기 엔티티 및 상기 엔티티 특성들 모두와 연관되는 시스템.
  47. 청구항 43에 있어서,
    상기 엔티티를 클래스와 연관시키는 단계로서, 상기 클래스는 상기 엔티티를 포함하는 하나 이상의 클래스 멤버들을 갖는 상기 연관시키는 단계를 더 포함하는 동작들을 실시하도록 작동가능하고,
    상기 후보 애스펙트들의 그룹을 생성하는 단계는 상기 엔티티 및 상기 클래스에 상응하는 후보 애스펙트들을 생성하는 단계를 포함하는 시스템.
  48. 청구항 47에 있어서,
    상기 후보 애스펙트들의 그룹을 생성하는 단계는,
    상기 엔티티와 연관된 쿼리들을 식별하기 위해 하나 이상의 제 1 사용자 검색 히스토리들을 분석하는 단계; 및
    상기 엔티티 외의 클래스 멤버와 연관된 쿼리들을 식별하기 위해 하나 이상의 제 2 사용자 검색 히스토리들을 분석하는 단계를 더 포함하는 시스템.
  49. 청구항 43에 있어서,
    후보 애스펙트들을 결합하는 단계는,
    유사성 점수들을 산출하는 단계로서, 각각의 유사성 점수는 두 후보 애스펙트들 간의 유사성에 대한 추정치인 상기 산출하는 단계; 및
    상기 유사성 점수들에 기초하여 후보 애스펙트들을 하나의 수정된 후보 애스펙트로 결합하는 단계를 포함하는 시스템.
  50. 청구항 49에 있어서,
    각각의 후보 애스펙트는 텍스트로서 표현되고, 두 후보 애스펙트들간의 유사성 점수는 각각의 후보 애스펙트와 연관된 텍스트의 문자열들에 대한 비교에 기초하는 시스템.
  51. 청구항 49에 있어서,
    두 후보 애스펙트들 간의 유사성 점수를 산출하는 단계는,
    각각의 애스펙트에 대한 검색 결과들의 세트 각각을 수신하는 단계; 및
    검색 결과들의 세트들에 대한 비교에 기초하여 상기 유사성 점수를 산출하는 단계를 포함하는 시스템.
  52. 청구항 51에 있어서,
    상기 검색 결과들의 세트들에 대한 비교는, 검색 결과들의 세트들 중 하나에서 검색 결과들의 경로들을, 검색 결과들의 세트들 중 다른 하나에서 검색 결과들의 경로들에 비교하는 것을 포함하는 시스템.
  53. 청구항 51에 있어서,
    상기 검색 결과들의 세트들에 대한 비교는, 검색 결과들의 세트들 중 하나에서 검색 결과들의 타이틀들 및 스니펫들을, 검색 결과들의 세트들 중 다른 하나에서 검색 결과들의 타이틀들 및 스니펫들에 비교하는 것을 포함하는 시스템.
  54. 청구항 49에 있어서,
    상기 유사성 점수들에 기초하여 후보 애스펙트들을 결합하는 단계는,
    어느 애스펙트들을 결합할지를 결정하기 위해 그래프 분할 알고리즘을 이용하는 단계를 더 포함하는 시스템.
  55. 청구항 43에 있어서,
    하나 이상의 애스펙트 클래스들을 이용하여 후보 애스펙트들을 그룹화하는 단계는,
    둘 이상의 후보 애스펙트들을 각각의 애스펙트 클래스와 연관시키는 단계; 및
    둘 이상의 후보 애스펙트들을 그들의 애스펙트 클래스들에 기초하여 하나의 수정된 후보 애스펙트로 그룹화하는 단계를 포함하는 시스템.
  56. 청구항 55에 있어서,
    상기 하나의 수정된 후보 애스펙트는 애스펙트 클래스인 시스템.
  57. 청구항 43에 있어서,
    다양성 점수 및 인기 점수에 기초하여 하나 이상의 수정된 후보 애스펙트들의 순위를 매기는 단계는,
    각각의 애스펙트에 대한 인기 점수를 산출하는 단계;
    최고 인기 점수를 가진 상기 애스펙트에 최고 순위를 매기는 단계; 및
    나머지 애스펙트들의 순위를 매기는 단계로서:
    각각의 순위가 매겨지지 않은 애스펙트에 대한 유사성 점수를 산출하는 단계로서, 상기 유사성 점수는 상기 순위가 매겨진 애스펙트들에 대한 상기 순위가 매겨지지 않은 애스펙트의 유사성을 비교하는 상기 산출하는 단계; 및
    상기 유사성 점수로 나눈 인기 점수가 가장 높은 애스펙트에 대해, 최고 순위 다음의 순위를 매기는 단계를 한 번 이상 반복함으로써, 상기 순위를 매기는 단계를 포함하는 시스템.
KR1020117018038A 2009-01-30 2010-01-27 쿼리 애스펙트의 식별 KR101669191B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US14889709P 2009-01-30 2009-01-30
US61/148,897 2009-01-30
US12/512,908 US8458171B2 (en) 2009-01-30 2009-07-30 Identifying query aspects
US12/512,908 2009-07-30
PCT/US2010/022274 WO2010088299A1 (en) 2009-01-30 2010-01-27 Identifying query aspects

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020167029010A Division KR101775061B1 (ko) 2009-01-30 2010-01-27 엔티티들과 연관된 애스펙트들을 식별하기 위한 시스템들 및 방법들

Publications (2)

Publication Number Publication Date
KR20110139681A KR20110139681A (ko) 2011-12-29
KR101669191B1 true KR101669191B1 (ko) 2016-10-25

Family

ID=42132655

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020117018038A KR101669191B1 (ko) 2009-01-30 2010-01-27 쿼리 애스펙트의 식별
KR1020167029010A KR101775061B1 (ko) 2009-01-30 2010-01-27 엔티티들과 연관된 애스펙트들을 식별하기 위한 시스템들 및 방법들

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020167029010A KR101775061B1 (ko) 2009-01-30 2010-01-27 엔티티들과 연관된 애스펙트들을 식별하기 위한 시스템들 및 방법들

Country Status (9)

Country Link
US (3) US8458171B2 (ko)
EP (1) EP2391959A1 (ko)
JP (1) JP5623431B2 (ko)
KR (2) KR101669191B1 (ko)
CN (1) CN102349072B (ko)
AU (1) AU2010208318B2 (ko)
BR (1) BRPI1007939B1 (ko)
CA (1) CA2751172C (ko)
WO (1) WO2010088299A1 (ko)

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8577910B1 (en) 2009-05-15 2013-11-05 Google Inc. Selecting relevant languages for query translation
US8577909B1 (en) 2009-05-15 2013-11-05 Google Inc. Query translation using bilingual search refinements
US8572109B1 (en) 2009-05-15 2013-10-29 Google Inc. Query translation quality confidence
US8538957B1 (en) * 2009-06-03 2013-09-17 Google Inc. Validating translations using visual similarity between visual media search results
US9454606B2 (en) * 2009-09-11 2016-09-27 Lexisnexis Risk & Information Analytics Group Inc. Technique for providing supplemental internet search criteria
US20110270819A1 (en) * 2010-04-30 2011-11-03 Microsoft Corporation Context-aware query classification
US7933859B1 (en) 2010-05-25 2011-04-26 Recommind, Inc. Systems and methods for predictive coding
US20110307482A1 (en) * 2010-06-10 2011-12-15 Microsoft Corporation Search result driven query intent identification
US9158846B2 (en) 2010-06-10 2015-10-13 Microsoft Technology Licensing, Llc Entity detection and extraction for entity cards
US9043296B2 (en) 2010-07-30 2015-05-26 Microsoft Technology Licensing, Llc System of providing suggestions based on accessible and contextual information
US8799260B2 (en) * 2010-12-17 2014-08-05 Yahoo! Inc. Method and system for generating web pages for topics unassociated with a dominant URL
EP2663951A1 (fr) 2011-01-12 2013-11-20 Google, Inc. Recherche de vols
US9646100B2 (en) 2011-03-14 2017-05-09 Verisign, Inc. Methods and systems for providing content provider-specified URL keyword navigation
US9811599B2 (en) 2011-03-14 2017-11-07 Verisign, Inc. Methods and systems for providing content provider-specified URL keyword navigation
US9781091B2 (en) 2011-03-14 2017-10-03 Verisign, Inc. Provisioning for smart navigation services
US10185741B2 (en) * 2011-03-14 2019-01-22 Verisign, Inc. Smart navigation services
US9298776B2 (en) 2011-06-08 2016-03-29 Ebay Inc. System and method for mining category aspect information
US9298816B2 (en) 2011-07-22 2016-03-29 Open Text S.A. Methods, systems, and computer-readable media for semantically enriching content and for semantic navigation
JP5932035B2 (ja) 2011-08-04 2016-06-08 グーグル インコーポレイテッド 検索結果を伴う知識パネルを提供すること
US8756218B1 (en) * 2011-08-16 2014-06-17 Google Inc. Query classification based on search engine results
EP2568396A1 (en) * 2011-09-08 2013-03-13 Axel Springer Digital TV Guide GmbH Method and apparatus for generating a sorted list of items
US9053087B2 (en) * 2011-09-23 2015-06-09 Microsoft Technology Licensing, Llc Automatic semantic evaluation of speech recognition results
US20130110830A1 (en) * 2011-10-31 2013-05-02 Microsoft Corporation Ranking of entity properties and relationships
US9069844B2 (en) * 2011-11-02 2015-06-30 Sap Se Facilitating extraction and discovery of enterprise services
US9665643B2 (en) 2011-12-30 2017-05-30 Microsoft Technology Licensing, Llc Knowledge-based entity detection and disambiguation
US9864817B2 (en) 2012-01-28 2018-01-09 Microsoft Technology Licensing, Llc Determination of relationships between collections of disparate media types
US9424353B2 (en) 2012-02-22 2016-08-23 Google Inc. Related entities
KR101994987B1 (ko) 2012-02-22 2019-09-30 구글 엘엘씨 관련 엔티티들
US20140047089A1 (en) * 2012-08-10 2014-02-13 International Business Machines Corporation System and method for supervised network clustering
US8533148B1 (en) * 2012-10-01 2013-09-10 Recommind, Inc. Document relevancy analysis within machine learning systems including determining closest cosine distances of training examples
US9430571B1 (en) 2012-10-24 2016-08-30 Google Inc. Generating travel queries in response to free text queries
US9047278B1 (en) 2012-11-09 2015-06-02 Google Inc. Identifying and ranking attributes of entities
US10095692B2 (en) * 2012-11-29 2018-10-09 Thornson Reuters Global Resources Unlimited Company Template bootstrapping for domain-adaptable natural language generation
US9558275B2 (en) * 2012-12-13 2017-01-31 Microsoft Technology Licensing, Llc Action broker
US20140201203A1 (en) * 2013-01-15 2014-07-17 Prafulla Krishna System, method and device for providing an automated electronic researcher
GB2510346A (en) * 2013-01-30 2014-08-06 Imagini Holdings Ltd Network method and apparatus redirects a request for content based on a user profile.
US9183062B2 (en) * 2013-02-25 2015-11-10 International Business Machines Corporation Automated application reconfiguration
US10061851B1 (en) * 2013-03-12 2018-08-28 Google Llc Encouraging inline person-to-person interaction
JP6056610B2 (ja) * 2013-03-29 2017-01-11 株式会社Jvcケンウッド テキスト情報処理装置、テキスト情報処理方法、及びテキスト情報処理プログラム
US10057207B2 (en) 2013-04-07 2018-08-21 Verisign, Inc. Smart navigation for shortened URLs
CN103279504B (zh) * 2013-05-10 2019-11-05 百度在线网络技术(北京)有限公司 一种基于歧义消解的搜索方法及装置
US9646062B2 (en) * 2013-06-10 2017-05-09 Microsoft Technology Licensing, Llc News results through query expansion
US9305307B2 (en) 2013-07-15 2016-04-05 Google Inc. Selecting content associated with a collection of entities
US9336332B2 (en) 2013-08-28 2016-05-10 Clipcard Inc. Programmatic data discovery platforms for computing applications
US9569525B2 (en) * 2013-09-17 2017-02-14 International Business Machines Corporation Techniques for entity-level technology recommendation
US20150088648A1 (en) * 2013-09-24 2015-03-26 Google Inc. Determining commercial intent
EP3055786A4 (en) * 2013-10-09 2017-05-17 Google, Inc. Automatic definition of entity collections
US10134053B2 (en) * 2013-11-19 2018-11-20 Excalibur Ip, Llc User engagement-based contextually-dependent automated pricing for non-guaranteed delivery
US9489461B2 (en) * 2014-03-03 2016-11-08 Ebay Inc. Search ranking diversity based on aspect affinity
US20150309987A1 (en) 2014-04-29 2015-10-29 Google Inc. Classification of Offensive Words
US20150317314A1 (en) * 2014-04-30 2015-11-05 Linkedln Corporation Content search vertical
US10838995B2 (en) * 2014-05-16 2020-11-17 Microsoft Technology Licensing, Llc Generating distinct entity names to facilitate entity disambiguation
US9740985B2 (en) * 2014-06-04 2017-08-22 International Business Machines Corporation Rating difficulty of questions
RU2014125471A (ru) 2014-06-24 2015-12-27 Общество С Ограниченной Ответственностью "Яндекс" Способ обработки поискового запроса и сервер
US10290125B2 (en) * 2014-07-02 2019-05-14 Microsoft Technology Licensing, Llc Constructing a graph that facilitates provision of exploratory suggestions
US10353964B2 (en) * 2014-09-15 2019-07-16 Google Llc Evaluating semantic interpretations of a search query
US9852136B2 (en) * 2014-12-23 2017-12-26 Rovi Guides, Inc. Systems and methods for determining whether a negation statement applies to a current or past query
CN105786936A (zh) 2014-12-23 2016-07-20 阿里巴巴集团控股有限公司 用于对搜索数据进行处理的方法及设备
GB2549240A (en) * 2015-01-06 2017-10-18 What3Words Ltd A method for suggesting one or more multi-word candidates based on an input string received at an electronic device
CN104615680B (zh) 2015-01-21 2016-11-02 广州神马移动信息科技有限公司 网页质量模型的建立方法及装置
US20160314205A1 (en) * 2015-04-24 2016-10-27 Ebay Inc. Generating a discovery page depicting item aspects
US10140880B2 (en) * 2015-07-10 2018-11-27 Fujitsu Limited Ranking of segments of learning materials
US10242112B2 (en) 2015-07-15 2019-03-26 Google Llc Search result filters from resource content
US20170097967A1 (en) * 2015-10-05 2017-04-06 Quixey, Inc. Automated Customization of Display Component Data for Search Results
US10437868B2 (en) * 2016-03-04 2019-10-08 Microsoft Technology Licensing, Llc Providing images for search queries
US20170277737A1 (en) * 2016-03-23 2017-09-28 Ebay Inc. Compact index document generation for smart match autocomplete system
KR102017853B1 (ko) * 2016-09-06 2019-09-03 주식회사 카카오 검색 방법 및 장치
US10339000B2 (en) * 2016-09-13 2019-07-02 Sandisk Technologies Llc Storage system and method for reducing XOR recovery time by excluding invalid data from XOR parity
US10268688B2 (en) * 2017-05-03 2019-04-23 International Business Machines Corporation Corpus-scoped annotation and analysis
CN107832439B (zh) 2017-11-16 2019-03-08 百度在线网络技术(北京)有限公司 多轮状态追踪的方法、系统及终端设备
CN108009215B (zh) * 2017-11-17 2018-11-06 山东师范大学 一种搜索结果页用户行为模式测评方法、装置及系统
CN108256070B (zh) * 2018-01-17 2022-07-15 北京百度网讯科技有限公司 用于生成信息的方法和装置
US11036746B2 (en) 2018-03-01 2021-06-15 Ebay Inc. Enhanced search system for automatic detection of dominant object of search query
CN108614897B (zh) * 2018-05-10 2021-04-27 四川长虹电器股份有限公司 一种面向自然语言的内容多样化搜索方法
JP7003020B2 (ja) * 2018-09-18 2022-01-20 ヤフー株式会社 情報処理装置、情報処理方法、およびプログラム
CN109871428B (zh) * 2019-01-30 2022-02-18 北京百度网讯科技有限公司 用于确定文本相关度的方法、装置、设备和介质
US11288320B2 (en) * 2019-06-05 2022-03-29 International Business Machines Corporation Methods and systems for providing suggestions to complete query sessions
CN111538894B (zh) * 2020-06-19 2020-10-23 腾讯科技(深圳)有限公司 查询反馈方法、装置、计算机设备及存储介质
AU2022281319B2 (en) * 2021-05-24 2024-07-11 Liveperson, Inc. Data-driven taxonomy for annotation resolution
US12032912B2 (en) 2021-09-07 2024-07-09 Nec Corporation Semantic concept matching using enhanced weak supervision
US20240281480A1 (en) * 2023-02-21 2024-08-22 Ebay Inc. Enhanced search performance using contextual aspect relatedness

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006164246A (ja) 2004-12-07 2006-06-22 Microsoft Corp エンティティ固有の調整された検索
WO2007147015A2 (en) 2006-06-13 2007-12-21 Microsoft Corporation Search engine dash-board
US20080005072A1 (en) 2006-06-28 2008-01-03 Microsoft Corporation Search engine that identifies and uses social networks in communications, retrieval, and electronic commerce

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5278980A (en) * 1991-08-16 1994-01-11 Xerox Corporation Iterative technique for phrase query formation and an information retrieval system employing same
US6625595B1 (en) * 2000-07-05 2003-09-23 Bellsouth Intellectual Property Corporation Method and system for selectively presenting database results in an information retrieval system
US7185001B1 (en) * 2000-10-04 2007-02-27 Torch Concepts Systems and methods for document searching and organizing
SE520533C2 (sv) * 2001-03-13 2003-07-22 Picsearch Ab Metod, datorprogram och system för indexering av digitaliserade enheter
US7676452B2 (en) * 2002-07-23 2010-03-09 International Business Machines Corporation Method and apparatus for search optimization based on generation of context focused queries
US6947930B2 (en) * 2003-03-21 2005-09-20 Overture Services, Inc. Systems and methods for interactive search query refinement
US7577655B2 (en) * 2003-09-16 2009-08-18 Google Inc. Systems and methods for improving the ranking of news articles
US7219105B2 (en) * 2003-09-17 2007-05-15 International Business Machines Corporation Method, system and computer program product for profiling entities
WO2005029362A1 (en) * 2003-09-22 2005-03-31 Eurekster, Inc. Enhanced search engine
US7664735B2 (en) * 2004-04-30 2010-02-16 Microsoft Corporation Method and system for ranking documents of a search result to improve diversity and information richness
US7617176B2 (en) * 2004-07-13 2009-11-10 Microsoft Corporation Query-based snippet clustering for search result grouping
US7519595B2 (en) * 2004-07-14 2009-04-14 Microsoft Corporation Method and system for adaptive categorial presentation of search results
WO2006014683A2 (en) 2004-07-21 2006-02-09 Glycofi, Inc. Immunoglobulins comprising predominantly a gal2glcnac2man3glcnac2 glycoform
US8341143B1 (en) * 2004-09-02 2012-12-25 A9.Com, Inc. Multi-category searching
US7502783B2 (en) * 2004-09-10 2009-03-10 Suggestica, Inc. User interface for conducting a search directed by a hierarchy-free set of topics
US8386453B2 (en) * 2004-09-30 2013-02-26 Google Inc. Providing search information relating to a document
CN1609859A (zh) * 2004-11-26 2005-04-27 孙斌 搜索结果聚类的方法
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
US9092523B2 (en) * 2005-02-28 2015-07-28 Search Engine Technologies, Llc Methods of and systems for searching by incorporating user-entered information
US7870147B2 (en) 2005-03-29 2011-01-11 Google Inc. Query revision using known highly-ranked queries
US8103659B1 (en) * 2005-06-06 2012-01-24 A9.Com, Inc. Perspective-based item navigation
US7415461B1 (en) * 2005-08-03 2008-08-19 At&T Corp Apparatus and method for merging results of approximate matching operations
US8417569B2 (en) * 2005-11-30 2013-04-09 John Nicholas and Kristin Gross Trust System and method of evaluating content based advertising
US7996396B2 (en) * 2006-03-28 2011-08-09 A9.Com, Inc. Identifying the items most relevant to a current query based on user activity with respect to the results of similar queries
US7624103B2 (en) * 2006-07-21 2009-11-24 Aol Llc Culturally relevant search results
WO2008019007A2 (en) * 2006-08-04 2008-02-14 Thefind, Inc. Method for relevancy ranking of products in online shopping
US20080091672A1 (en) * 2006-10-17 2008-04-17 Gloor Peter A Process for analyzing interrelationships between internet web sited based on an analysis of their relative centrality
US20080215416A1 (en) * 2007-01-31 2008-09-04 Collarity, Inc. Searchable interactive internet advertisements
US8244750B2 (en) * 2007-03-23 2012-08-14 Microsoft Corporation Related search queries for a webpage and their applications
US20080243830A1 (en) * 2007-03-30 2008-10-02 Fatdoor, Inc. User suggested ordering to influence search result ranking
US8005643B2 (en) * 2007-06-26 2011-08-23 Endeca Technologies, Inc. System and method for measuring the quality of document sets
KR20090012467A (ko) * 2007-07-30 2009-02-04 한국과학기술정보연구원 Uri 데이터베이스를 이용한 통합 검색 시스템 및 방법
WO2009035692A1 (en) * 2007-09-12 2009-03-19 Reputationdefender, Inc. Identifying information related to a particular entity from electronic sources
US20090125502A1 (en) * 2007-11-13 2009-05-14 Yahoo! Inc. System and methods for generating diversified vertical search listings
US7769740B2 (en) * 2007-12-21 2010-08-03 Yahoo! Inc. Systems and methods of ranking attention
US9626685B2 (en) * 2008-01-04 2017-04-18 Excalibur Ip, Llc Systems and methods of mapping attention
US20090241044A1 (en) * 2008-03-18 2009-09-24 Cuill, Inc. Apparatus and method for displaying search results using stacks
US20090254512A1 (en) * 2008-04-03 2009-10-08 Yahoo! Inc. Ad matching by augmenting a search query with knowledge obtained through search engine results
US7970808B2 (en) * 2008-05-05 2011-06-28 Microsoft Corporation Leveraging cross-document context to label entity
US8126908B2 (en) * 2008-05-07 2012-02-28 Yahoo! Inc. Creation and enrichment of search based taxonomy for finding information from semistructured data
US9195754B2 (en) * 2008-06-13 2015-11-24 International Business Machines Corporation Expansion of search result information
US20090327223A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Query-driven web portals
US8239370B2 (en) * 2008-06-27 2012-08-07 Microsoft Corporation Basing search results on metadata of prior results
US8024324B2 (en) * 2008-06-30 2011-09-20 International Business Machines Corporation Information retrieval with unified search using multiple facets
US8554768B2 (en) * 2008-11-25 2013-10-08 Microsoft Corporation Automatically showing additional relevant search results based on user feedback
US9460212B2 (en) * 2008-12-03 2016-10-04 Paypal, Inc. System and method for personalized search
US8150813B2 (en) * 2008-12-18 2012-04-03 International Business Machines Corporation Using relationships in candidate discovery
US8315849B1 (en) * 2010-04-09 2012-11-20 Wal-Mart Stores, Inc. Selecting terms in a document

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006164246A (ja) 2004-12-07 2006-06-22 Microsoft Corp エンティティ固有の調整された検索
WO2007147015A2 (en) 2006-06-13 2007-12-21 Microsoft Corporation Search engine dash-board
US20080005072A1 (en) 2006-06-28 2008-01-03 Microsoft Corporation Search engine that identifies and uses social networks in communications, retrieval, and electronic commerce

Also Published As

Publication number Publication date
BRPI1007939B1 (pt) 2020-08-04
US20130268517A1 (en) 2013-10-10
CN102349072A (zh) 2012-02-08
WO2010088299A1 (en) 2010-08-05
EP2391959A1 (en) 2011-12-07
KR20160123398A (ko) 2016-10-25
CA2751172C (en) 2020-07-07
KR101775061B1 (ko) 2017-09-05
CN102349072B (zh) 2014-12-24
US20100198837A1 (en) 2010-08-05
CA2751172A1 (en) 2010-08-05
JP5623431B2 (ja) 2014-11-12
US8458171B2 (en) 2013-06-04
US9152676B2 (en) 2015-10-06
BRPI1007939A2 (pt) 2016-02-23
AU2010208318B2 (en) 2015-03-05
JP2012516512A (ja) 2012-07-19
US20160026696A1 (en) 2016-01-28
KR20110139681A (ko) 2011-12-29
AU2010208318A1 (en) 2011-08-18

Similar Documents

Publication Publication Date Title
KR101669191B1 (ko) 쿼리 애스펙트의 식별
KR101994987B1 (ko) 관련 엔티티들
US8326861B1 (en) Personalized term importance evaluation in queries
US8180754B1 (en) Semantic neural network for aggregating query searches
US8280881B1 (en) Similar search queries and images
US10025855B2 (en) Federated community search
US10068022B2 (en) Identifying topical entities
US20160026727A1 (en) Generating additional content
US20160012045A1 (en) User interface for summarizing the relevance of a document to a query
US20110179021A1 (en) Dynamic keyword suggestion and image-search re-ranking
US10152478B2 (en) Apparatus, system and method for string disambiguation and entity ranking
US9009192B1 (en) Identifying central entities
WO2014185834A1 (en) Search engine for textual content and non-textual content
US20140280086A1 (en) Method and apparatus for document representation enhancement via social information integration in information retrieval systems
CN104615723B (zh) 查询词权重值的确定方法和装置
Šimko et al. Semantic history map: Graphs aiding web revisitation support
US20150088859A1 (en) Click magnet images
Liu et al. Athena: A ranking enabled scholarly search system
Brahma et al. Improving search relevance in a hyperlocal food delivery using language models.
Mittal et al. ARAGOG semantic search engine: working, implementation and comparison with keyword-based search engines
Vijaya et al. S-MSE: ASEMANTIC META SEARCH ENGINE USING SEMANTIC SIMILARITY AND REPUTATION MEASURE.
Jindal et al. Data Mining in Web Search Engine Optimization and User Assisted Rank Results‖
JP2010108068A (ja) ドキュメント検索装置、方法及びプログラム
Agarwal et al. Data Collection and Evaluation

Legal Events

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

Payment date: 20191008

Year of fee payment: 4