KR20180083910A - 검색 질의들 중 질의 패턴 및 관련된 합계 통계의 식별 - Google Patents

검색 질의들 중 질의 패턴 및 관련된 합계 통계의 식별 Download PDF

Info

Publication number
KR20180083910A
KR20180083910A KR1020187017119A KR20187017119A KR20180083910A KR 20180083910 A KR20180083910 A KR 20180083910A KR 1020187017119 A KR1020187017119 A KR 1020187017119A KR 20187017119 A KR20187017119 A KR 20187017119A KR 20180083910 A KR20180083910 A KR 20180083910A
Authority
KR
South Korea
Prior art keywords
search
query
aggregate
personal
query pattern
Prior art date
Application number
KR1020187017119A
Other languages
English (en)
Other versions
KR102008466B1 (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 KR20180083910A publication Critical patent/KR20180083910A/ko
Application granted granted Critical
Publication of KR102008466B1 publication Critical patent/KR102008466B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • 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/332Query formulation
    • G06F16/3322Query formulation using system suggestions
    • G06F17/3053
    • 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/2455Query execution
    • 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
    • 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/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/435Filtering based on additional data, e.g. user or group profiles
    • 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/9032Query formulation
    • G06F16/90324Query formulation using system suggestions
    • 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
    • G06F17/30477
    • G06F17/3064
    • G06F17/30867
    • G06F17/3097
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

다양한 실시예에서, 본원에 설명된 특징들은 검색 질의를 처리할 때 정보의 기밀성을 보존하는데 기여하며, 상대적으로 계산 비용이 저렴한 방식으로 개인 또는 비공개로서 n- 그램의 카테고리 화를 제공할 수 있다. 다수의 질의 패턴은 사설 검색 질의의 검색 로그 내에서 발견되는 복수의 비 사설 n 그램에 기초하여 생성될 수 있다. 각 질의 패턴과 관련된 집계 검색 활동 통계( "ASAS")는 검색 로그에서 결정될 수 있다. 각각의 질의 패턴과 연관된 ASAS는 질의 패턴과 일치하는 검색 로그 내의 복수의 사설 검색 질의과 연관된 사후 - 검색 활동을 나타낼 수 있다. 주어진 질의 패턴에 대한 ASAS가 성능 기준을 만족 시킨다는 결정에 응답하여,

Description

검색 질의들 중 질의 패턴 및 관련된 합계 통계의 식별
본 발명은 검색 질의를 처리할 때, 정보의 기밀성을 유지하는 것에 주로 관련된 발명이다.
검색 질의들(search queries)의 검색 로그(search log)는, 검색 질의들 간에 공통인 검색 패턴을 결정하는데 유용할 수 있다. 질의 패턴은 다양한 목적으로 유용하게 사용될 수 있는데, 가령 대안적인 질의 제안들의 생성 및/또는 순위정렬(ranking), 검색 결과들의 순위정렬, 기타 등등에 사용될 수 있다. 하지만, 일부 검색 질의들은 개인적인 사용자 정보를 포함할 수 있다. 이것은 특히, 사용자에게 사적인 것으로 간주되는 시스템에 검색 질의들이 제출되는 경우 및/또는 사용자와 관련된 엔티티(예컨대, 사용자의 고용주)에게 제출되는 경우에 그러하다. 예를 들어, 이메일 시스템, 파일 시스템, 문서 관리 시스템 등과 같은, 많은 개인간 혹은 엔티티간 시스템들은 이름, 연락처 정보, 계좌 번호 등과 같은 개인 정보를 상대적으로 포함할 가능성이 있는 검색 질의들을 사용하여 사용자에 의해 검색될 수 있다.
본 발명은 검색 질의를 처리할 때, 정보의 기밀성을 유지하는 것에 주로 관련된 발명이다. 일반적으로, 본 발명은 잠재적인 개인 정보를 인간 사용자들에게 노출시킴이 없이, 하나 이상의 질의 패턴들을 생성하기 위하여, 검색 질의의 검색 로그(그 중 다수는 개인적인 것일 수도 있으며 및/또는 잠재적 개인 정보를 포함할 수도 있음) 및 대응하는 포스트 검색 활동(post-search activity)을 분석하기 위한 방법, 장치 및 컴퓨터 판독가능 매체(일시적 및 비일시적)에 관한 것이다. 생성된 하나 이상의 생성된 질의 패턴들에 대하여, 하나 이상의 질의 패턴들과 매칭되는 검색 질의들과 관련된 합계 검색 활동 통계(aggregate search activity statistics)(포스트 검색 활동에 대한 통계를 포함)가 결정될 수 있다. 이들 하나 이상의 질의 패턴들 및 대응하는 합계 검색 활동 통계는 다양한 목적을 위해 사용될 수 있으며, 그 중 몇몇은 아래에서 설명될 것이다. 예를 들어, 소정의 질의 패턴에 관련된 합계 검색 활동 통계는, 상기 소정의 질의 패턴과 매칭되는 검색 질의들을 제출한 사용자들에게 제공되는 데이터를 생성하는데 이용되는 방법론(methodology)을 수정하는데 이용될 수 있다.
일부 구현예에서, 컴퓨터로 구현되는 방법이 제공되는데, 이러한 방법은 개인적인 검색 질의들 및 대응 포스트-검색 활동의 검색 로그 내에서, 프라이버시 기준을 충족하는 개인적인 검색 질의들에 포함된 복수의 비-개인적인(non-private) n-grams 을 식별하는 단계; 상기 복수의 비-개인적인 n-grams 에 기초하여, 상기 검색 로그로부터, 복수의 질의 패턴들을 생성하는 단계; 상기 검색 로그로부터, 상기 복수의 질의 패턴들 각각과 관련된 합계 검색 활동 통계(aggregate search activity statistics)를 결정하는 단계, 각각의 질의 패턴과 관련된 합계 검색 활동 통계는 질의 패턴에 매칭되는 검색 로그 내의 복수의 개인적인 검색 질의들과 관련된 검색 활동을 나타내며; 그리고 소정의 질의 패턴에 대한 합계 검색 활동 통계가 성능 기준을 충족시킨다는 결정에 응답하여, 상기 소정의 질의 패턴과 관련된 합계 검색 활동 통계에 기초하여 상기 소정의 질의 패턴에 매칭되는 검색 질의들에 응답하여 제시되는 데이터를 생성하기 위한 방법을 변경하는 단계를 포함한다.
이러한 방법 및 본 명세서에 기재된 기술의 다른 구현예들 각각은 다음 피처들 중 하나 이상을 포함할 수 있다.
일부 구현예에서, 소정의 질의 패턴에 매칭되는 검색 질의들에 응답하여 제시되는 질의 제안들이, 소정의 질의 패턴과 관련된 합계 검색 활동 통계에 적어도 일부 기초하여 순위가 매겨지도록(ranking), 상기 방법론이 변경될 수 있다.
이러한 방식으로, 질의 제안들이 기밀 정보를 포함할 가능성을 제어하는 것이 가능해진다.
일부 구현예에서, 소정의 질의 패턴에 매칭되는 검색 질의들에 응답하여 제시되는 검색 결과들이, 소정의 질의 패턴과 관련된 합계 검색 활동 통계에 적어도 일부 기초하여 순위가 매겨지도록(ranking), 상기 방법론이 변경될 수 있다.
이러한 방식으로, 검색 결과들이 기밀 정보를 포함할 가능성을 제어하는 것이 가능해진다.
일부 구현예에서, 프라이버시 기준은 빈도 임계값을 충족시키는 빈도로 상기 검색 로그 내에서 발생하는 n-grams에 의해 충족될 수 있다. 일부 구현예들에서, 프라이버시 기준은 상기 검색 로그 내에서 적어도 최소 횟수 만큼 발생하는 n-grams에 의해 충족될 수 있다. 일부 구현예들에서, 상기 생성하는 단계는, 상기 개인적인 검색 질의들 중에서 비-개인적인 n-grams이 얼마나 자주 발생하는지에 기초하여 상기 비-개인적인 n-grams의 히스토그램을 생성하는 단계를 포함할 수 있다.
이러한 피처들은 개인적인 및 비-개인적인 n-grams 의 카테고리화를 계산량이 상대적으로 적은 방식으로 제공할 수 있다.
일부 구현예에서, 복수의 질의 패턴들 각각과 관련된 합계 검색 활동 통계는 질의 패턴과 매칭되는 검색 로그 내의 검색 질의들의 전체 개수를 포함할 수 있다. 일부 구현예에서, 복수의 질의 패턴들 각각과 관련된 합계 검색 활동 통계는 질의 패턴과 매칭되는 검색 로그 내의 다수의 개별 검색 질의들을 포함한다.
일부 구현예에서, 소정의 질의 패턴과 관련된 합계 검색 활동 통계는 소정의 질의 패턴과 매칭되는 상기 검색 로그 내의 복수의 개인적인 검색 질의들과 관련된 포스트-검색 활동에 관한 합계 통계(aggregate statistics)를 포함할 수 있다. 일부 구현예들에서, 소정의 질의 패턴과 관련된 합계 포스트-검색 활동 통계는 상기 소정의 질의 패턴과 관련된 클릭 위치 통계를 포함할 수 있다. 일부 구현예들에서, 소정의 질의 패턴과 관련된 합계 포스트-검색 활동 통계는 상기 소정의 질의 패턴과 관련된 클릭율을 포함할 수 있다. 일부 구현예들에서, 소정의 질의 패턴과 관련된 합계 포스트-검색 활동 통계는 상기 소정의 질의 패턴과 연관된 포기율을 포함할 수 있다. 일부 구현예들에서, 성능 기준은 상기 포기율이 최소 임계값을 충족시키는 경우에 충족된다.
다른 구현예는 프로세서에 의해 실행 가능한 명령들을 저장하는 비 일시적인 컴퓨터 판독가능 저장 매체를 포함할 수 있으며, 이는 전술한 방법들 중 하나 이상과 같은 방법을 수행한다. 또 다른 구현예는 메모리 및 상기 메모리에 저장된 명령들을 실행하도록 동작가능한 하나 이상의 프로세서들을 포함하는 시스템을 포함하며, 이는 전술한 방법들 중 하나 이상과 같은 방법을 수행하기 위한 것이다.
다음을 유의해야 하는바, 본 명세서에 보다 상세하게 설명된 개념들 및 추가적인 개념들의 모든 조합들은 본 명세서에 개시된 주제의 일부로서 고려될 수 있다. 예를 들어, 본 명세서의 끝 부분에 있는 청구된 주제의 모든 조합들은 본 명세서에 개시된 주제의 일부분으로 고려된다.
도 1은 다양한 구현예에 따라 질의 패턴 및 대응하는 합계 검색 활동 통계를 생성하기 위해, 본 발명의 다양한 구성 요소들에 의해 검색 질의들의 하나 이상의 로그들이 분석될 수 있는 환경을 도시한다.
도 2는 다양한 구현예들에 따라, 개인적인 검색 질의들 및 대응하는 검색-후 활동이 어떻게 프로세싱되어, 질의 패턴 및 관련된 합계 검색 활동 통계가 획득되는지를 도시한다.
도 3은 다양한 구현예들에 따라, 질의 패턴 및 대응하는 합계 검색 활동 통계를 생성하고 다양한 목적을 위해 그 정보를 적용하는 예시적인 방법을 나타내는 흐름도이다.
도 4는 컴퓨터 시스템의 예시적인 아키텍처를 개략적으로 도시한다.
도 1은 사용자가 개인적인 것(private)으로 간주될 수 있는 다양한 시스템들 상에서 검색을 수행할 수 있는 예시적인 환경을 도시한다. 예시적인 환경은 클라이언트 디바이스(102), 문서 저장 시스템(104) 및 이메일 시스템(106)을 포함한다. 문서 저장 시스템(104) 및/또는 이메일 시스템(106)은 예를 들어 네트워크(미도시)를 통해 통신하는 하나 이상의 컴퓨터에서 구현될 수 있다. 문서 저장 시스템(104) 및/또는 이메일 시스템(106)은 본원에 서술된 기술들이 구현될 수 있는 시스템의 일례들 및/또는 본원에 서술된 시스템, 구성요소들 및 기술이 인터페이스할 수 있는 시스템의 일례들이다.
사용자는 클라이언트 디바이스(102)를 통해 문서 저장 시스템(104) 및/또는 이메일 시스템(106)과 상호작용할 수 있다. 문서 저장 시스템(104) 및/또는 이메일 시스템(106)은 클라이언트 디바이스(102)로부터 검색 질의(108)를 수신하고 검색 질의(108)에 응답하는 검색 결과(110)를 리턴할 수 있다. 본 명세서에 사용된 바와 같이, "검색 질의"(108)는 검색 엔진과 같은 검색 인터페이스에 제출될 수 있는 정보에 대한 요청을 지칭할 수 있다. 많은 경우, 검색 질의는 집합적으로 정보 요청을 형성하는 하나 이상의 n-grams 을 포함할 수 있다. 하지만, 이것은 제한하고자 하는 의미가 아니다. 검색 질의(108)는 이미지, 오디오 등과 같은 다른 형태로도 제공될 수 있다. 일부 구현예에서는, 가령, 문서 저장 시스템(104) 및/또는 이메일 시스템(106)의 제공자와 파트너 관계인 웹사이트를 위해 서비스를 구현하는 추가적인 클라이언트 디바이스들 및/또는 하나 이상의 서버들과 같은, 다른 컴퓨터 디바이스들이 검색 질의를 문서 저장 시스템(104) 및/또는 이메일 시스템(106)에 제출할 수 있다. 하지만, 간략함을 위해, 실시예들은 클라이언트 디바이스(102)의 맥락에서 설명된다.
다양한 구현예에서, 클라이언트 디바이스(102)는 근거리 통신망(LAN) 또는 인터넷과 같은 광역 통신망(WAN) 등의 하나 이상의 네트워크(미도시)를 통해 문서 저장 시스템(104) 및/또는 이메일 시스템(106)에 통신가능하게 결합된 컴퓨터일 수 있다. 클라이언트 디바이스(102)는 예를 들어 데스크톱 컴퓨팅 디바이스, 랩탑 컴퓨팅 디바이스, 태블릿 컴퓨팅 디바이스, 이동 전화 컴퓨팅 디바이스, 사용자의 차량 컴퓨팅 디바이스(예를 들어, 차량 내 통신 시스템, 차량 내 엔터테인먼트 시스템, 차량 네비게이션 시스템) 또는 사용자의 웨어러블 장치(예를 들어, 컴퓨팅 디바이스를 갖는 사용자의 시계, 컴퓨팅 디바이스를 갖는 사용자의 안경)일 수 있다. 추가적인 및/또는 대안적인 클라이언트 디바이스가 제공될 수 있다. 전형적으로, 클라이언트 디바이스(102)는 검색 질의의 제출 및 네트워크를 통한 데이터의 송신 및 수신을 용이하게 하는 하나 이상의 어플리케이션을 포함한다. 예를 들어, 클라이언트 디바이스(102)는 브라우저(112), 이메일 클라이언트(114) 및/또는 문서 클라이언트(116)와 같은 하나 이상의 어플리케이션을 실행하는바, 이는 사용자가 검색 질의들을 공식화하고 그리고 질의들을 문서 저장 시스템(104) 및/또는 이메일 시스템(106)으로 제출할 수 있게 한다.
도 1에서, 문서 저장 시스템(104)은 프리젠테이션 엔진(122A), 랭킹 엔진(124A) 및 질의 분석 엔진(126A)을 포함한다. 마찬가지로, 이메일 시스템(106)은 그 자신의 프리젠테이션 엔진(122B), 랭킹 엔진(124B), 및 질의 분석 엔진(126B)을 포함한다. 하지만, 이것은 한정하려는 것이 아니다. 다양한 구현예에서, 문서 저장 시스템(104) 및 이메일 시스템은 예를 들어, 동일한 엔티티에 의해 운영되기 때문에 및/또는 하나의 크리덴셜 세트를 사용하여 사용자에 의해 액세스될 수 있기 때문에 상호관련될 수 있다. 이러한 구현예에서, 문서 저장 시스템(104) 및 이메일 시스템(106)은 공통의 프리젠테이션 엔진(122), 랭킹 엔진(124) 및/또는 질의 분석 엔진(126)을 공유할 수 있다. 간략함을 위해, 문서 저장 시스템(104) 및 이메일 시스템(106)의 특정 컴포넌트가 언급되지 않는 한, 이들 컴포넌트들은 일반적으로 122, 124, 126 이라는 번호로 참조될 것이다. 일부 구현예에서, 하나 이상의 엔진들(122, 124 및/또는 126)은 문서 저장 시스템(104) 및/또는 이메일 시스템(106)과 별개인 컴포넌트에서 생략되거나, 결합되거나 및/또는 구현될 수 있다. 일부 구현예에서, 하나 이상의 엔진들(122, 124 및/또는 126) 혹은 이들의 임의의 작동 부분, 및/또는 문서 인덱싱 엔진(128) 및/또는 이메일 인덱싱 엔진(132)(후술됨)은 클라이언트 디바이스(102)에 의해 실행되는 컴포넌트에서 구현될 수 있다.
문서 저장 시스템(104)은 예를 들어 무료 또는 유료로 사용자가 문서를 저장하기 위한 온라인 저장 공간을 제공할 수 있다. 일부 구현예에서, 문서 저장 시스템(104)은 종종 "클라우드 저장소"로 지칭되는 방식으로 사용자를 위한 문서들을 호스팅하는 파일 저장 및 동기화 서비스일 수 있다. 사용자는 클라우드 저장을 위해 사용자(예를 들어, 클라이언트 디바이스 102)에 의해 동작되는 로컬 디바이스의 파일 시스템 상의 위치를 지정할 수 있다. 클라이언트 디바이스(102)의 클라우드 저장 위치에 저장된 임의의 문서는 사용자에 의해 조작되는 다른 디바이스들의 유사하게 설계된 위치들에 전파/동기화될 수 있다. 본원에서 언급되는 "문서"는 웹 페이지, 워드 프로세싱 문서, PDF(portable document format) 문서, 이미지, 이메일, 비디오 및 스프레드 시트, 프레젠테이션, 멀티미디어 파일, 사진 및 오디오 파일 기타 등등을 포함할 수 있다. 각각의 문서는 콘텐츠, 가령, 텍스트, 이미지, 비디오, 사운드, 내장 정보(예: 메타 정보 및/또는 하이퍼 링크) 및/또는 내장 명령(예: JavaScript와 같은 ECMAScript 구현)을 포함할 수 있다.
문서 저장 시스템(104)은 문서 저장 시스템(104)에 의한 사용을 위해 인덱스(130)을 유지하도록 구성된 문서 인덱싱 엔진(128)을 포함할 수 있다. 문서 인덱싱 엔진(128)은 문서들을 검색가능하게 만들기 위하여, 통상적인 및/또는 기타 인덱싱 기술을 사용하여 문서들을 프로세싱하고 그리고 인덱스(130) 내의 인덱스 엔트리를 업데이트할 수 있다. 다양한 구현예에서, 지정된 클라우드 저장소에 사용자가 저장한 문서를 검색하기 위하여, 사용자는 문서 저장 시스템(104)에 검색 질의(108)를 제출할 수 있다. 예를 들어, 사용자는 브라우저(112)를 조작하여 웹 사이트에 로그인할 수 있으며, 웹 사이트는 문서 저장 시스템(104)에 저장된 문서에 액세스하기 위한 인터페이스로서 동작한다. 웹 사이트는 특정 문서를 찾기 위하여 사용자가 검색 질의(108), 예를 들어 하나 이상의 n-grams 을 제출할 수 있게 하는 검색 바(search bar) 또는 다른 유사한 인터페이스를 제공할 수 있다. 일단 검색 질의(108)가 문서 저장 시스템(104)에 업로드되면, 문서 인덱싱 엔진(128)은 검색 질의와 매칭되는 문서를 검색하기 위한 다양한 종래 기술 또는 다른 기술을 수행할 수 있다. 부가적으로 또는 대안적으로, 사용자는 문서 클라이언트(116)를 조작할 수 있는데, 문서 클라이언트(116)는 클라이언트 디바이스(102)의 운영 시스템에 의해 제공되는 파일 관리자와 유사하거나 혹은 이에 통합될 수도 있으며, 이는 사용자가 클라우드 저장소에 저장한 문서들에 대한 인덱스(130)를 검색하기 위한 것이다.
다양한 방식으로, 이메일 시스템(106)은 문서 저장 시스템(104)과 유사하게 작동할 수 있는바, 이메일 시스템(106)은 이메일과 관련하여 저장되는 경우가 많은 첨부 파일, 연락처, 메모, 일정 항목 등의 이메일과 관련된 다른 정보 및 이메일을 유지하도록 특별히 구성된다는 점을 제외하고는 문서 저장 시스템(104)과 유사하게 작동할 수 있다. 문서 저장 시스템(104)의 경우에서와 같이, 이메일 시스템(106)은 이메일 인덱싱 엔진(132)을 포함하며, 이메일 인덱싱 엔진(132)은 이메일 및/또는 관련 정보를 검색가능하게 만들기 위하여, 종래의 및/또는 다른 인덱싱 기술을 사용하여 이메일 및 관련 정보를 프로세싱하고 그리고 인덱스(134) 내의 인덱스 엔트리들을 업데이트한다. 따라서, 예를 들어, 사용자는 이메일 클라이언트(114)의 검색 인터페이스를 조작하여, 이메일들의 내용, 첨부 파일, 일정 항목, 메모, 태스크, 리마인더, 연락처, 기타 등등을 검색할 수 있다. 또는 문서 저장 시스템(104)과 유사하게, 사용자는 이메일 시스템(106)을 위한 웹 인터페이스에 로그인하기 위해 브라우저(112)를 조작할 수 있다. 웹 인터페이스는 사용자가 이메일 관련 콘텐츠를 검색할 수 있게하는 검색 바 또는 유사한 기능을 제공할 수 있다.
다양한 구현예에서, 문서 저장 시스템(104) 및/또는 이메일 시스템(106)은 검색 로그(120)를 유지할 수 있다. 도 1에서, 별도의 검색 로그들(120A 및 120B)이 문서 저장 시스템(104) 및 이메일 시스템(106)에 각각 제공되지만, 다른 구현예들에서는 단일 검색 로그로 통합될 수 있다. 검색 로그(120)는 문서 저장 시스템(104) 및/또는 이메일 시스템(106)에 제출된 검색 질의들의 다양한 속성들을 저장할 수 있다. 예를 들어, 일부 구현예에서, 검색 로그(120)는, 제출된 각각의 검색 질의에 대해, 질의를 제출한 사용자와 관련된 사용자 식별자, 타임 스탬프, 검색 질의의 전체 텍스트(즉, 질의의 모든 n-gram) 및 검색 질의와 관련된 소위 사후(이하, '사후' 또는 '포스트'(post)라 함) 검색 활동을 저장할 수 있다. 특정 검색 질의와 관련된 "포스트 검색 활동(post-search activity)"은 검색 질의가 제출되고 검색 결과가 리턴된 후 사용자가 취한 활동을 포함할 수 있지만 이에 한정되는 것은 아니다. 예를 들어, 일부 구현예에서, 포스트 검색 활동은 검색 질의가 제출된 후 사용자에 의해 클릭된 문서/검색 결과/그래픽 요소의 순위, 클릭이 발생하지 않았다는 표시(예를 들어, 사용자는 새로운 검색 질의를 제출하는 것과 같은 다른 활동 때문에 상기 검색 질의를 포기하였음), 검색 질의를 제출하는 동안 혹은 이후에 사용자가 클릭한 다른 그래픽 요소에 대한 표시(예를 들어, 질의 제안, 이메일 컨텍스트 내의 콘택 등), 기타 등등을 포함할 수 있다.
본 명세서에서, "데이터베이스" 및 "인덱스" 라는 용어는 임의의 데이터 집합을 지칭하도록 광범위하게 사용될 것이다. 데이터베이스 및/또는 인덱스의 데이터는 특정 방식으로 구성될 필요가 없으며 그리고 하나 이상의 지리적 위치에 있는 저장 디바이스들에 저장될 수 있다. 따라서, 예를 들어, 상기 인덱스들(120, 130 및/또는 134)는 다수의 데이터 집합들을 포함할 수 있으며, 각각의 데이터 집합은 다르게 구성되고 액세스될 수 있다.
프리젠테이션 엔진(122A 또는 122B를 포함)은 클라이언트 디바이스(102)의 사용자에게 프리젠테이션하기 위해 검색 결과(110)를 제공할 수 있다. 예를 들어, 프리젠테이션 엔진(122)은 검색 질의(108)에 응답하여, 검색 결과들의 리스트 및/또는 다른 사용자 인터페이스 요소들을 클라이언트 디바이스(102)에 제공할 수 있다. 일부 구현예들에서, 프리젠테이션 엔진(122)은 관련성, 적시성(timeliness) 등과 관련된 다양한 기준들을 만족시키는 소정의 검색 결과들이, 다른 검색 결과들보다 시각적으로 강조되게 하거나 또는 먼저 제시되게 할 수 있다. 예를 들어, 글꼴, 글꼴 크기, 색상, 애니메이션, 테두리, 여백 또는 기타 시각적 표시를 사용하여 일부 결과들이 다른 것들보다 시각적으로 강조될 수 있다. 다른 경우에서는, 몇몇 결과들이 먼저 제시되며, 관련성이 낮은 검색 결과들이 후속으로 제시될 수 있다.
랭킹 엔진(124)(124A 또는 124B를 포함)은 예를 들어, 종래의 및/또는 다른 정보 검색 기술을 이용하여 검색 질의(108)에 응답하는 문서, 이메일 관련 콘텐츠, 및/또는 기타 정보를 식별하기 위해 각각의 색인(130 및/또는 134)을 사용할 수 있다. 일부 구현예에서, 랭킹 엔진(124)은 예를 들어 하나 이상의 랭킹 신호들을 사용하여, 검색 질의(108)에 응답하여 식별된 문서, 이메일 관련 콘텐츠 및 다른 정보에 대한 점수를 계산할 수 있다. 각각의 랭킹 신호는 문서, 이메일 관련 콘텐츠 또는 다른 정보 자체, 문서, 이메일 관련 콘텐츠 또는 정보 및 검색 질의(108)간의 관련성, 및/또는 문서, 이메일 관련 콘텐츠 또는 정보와 검색을 수행하는 사용자 간의 관련성을 제공할 수 있다. 질의 분석 엔진(126)(126A 또는 126B)은, 개인적인(private) 검색 질의들 및 대응하는 포스트 검색 활동의 검색 로그(120)(도 1의 120A 또는 120B) 내에서, 프라이버시 기준을 만족하는 개인적인 검색 질의들에 포함되는 복수의 비-개인적인(non-private) n grams 등과 같은 비-개인적인 콘텐츠를 식별하도록 구성될 수 있다. 소위 "프라이버시 기준(privacy criterion)"은 다양한 형태로 나타날 수 있다. 예를 들어, 일부 구현예에서, 프라이버시 기준은 빈도 임계값(frequency threshold)을 만족시키는 빈도에서 검색 로그(120)내에서 발생하는 n-grams에 의해 충족된다. 일부 구현예에서, 프라이버시 기준은 검색 로그(120) 내에서 적어도 최소 횟수로 발생하는 n-gram에 의해 충족된다. 일부 구현예에서, 비-개인적인 n-gram들 및 검색 로그(120)에 저장된 검색 질의들에서 상기 n-gram들이 발견되는 관련 빈도들은, 히스토그램으로 구성될 수 있다. 개인적인 정보를 포함할 확률이 높은, 덜 빈번한(less frequent) n-grams 은, 폐기되거나 혹은 히스토그램으로부터 제외될 수 있다. 이러한 피처들은, 상대적으로 계산량의 적은 방식으로, 개인적인 또는 비-개인적인 것으로서 n-grams 의 카테고리화를 제공할 수 있다.
프라이버시 기준을 충족시키는 비-개인적인 콘텐츠에 기초하여, 질의 분석 엔진(126)은 검색 로그(120)를 통해 또 다른 경로를 취하여 소위 복수의 질의 패턴을 생성할 수 있다. "질의 패턴"은 검색 로그(120) 내의 하나 이상의 검색 질의들과 매칭될 수 있다. 질의 패턴은 다양한 형태들로 나타날 수 있는바, 정규적인 표현들(regular expresions)(예컨대, "resume *", "* design doc", "white paper *" 기타 등등)을 포함하지만, 이에 한정되는 것은 아니다. "개인적인(private)" n-grams (즉, 앞서 언급한 프라이버시 기준을 충족시키지 않는 n-grams)은, 비-개인적인 n-grams 중 임의의 것과 매칭되지 않을 것이며 그리고 예컨대 와일드카드에 의해서 대체될 수 있다. 따라서, 검색 로그(120)에 저장된 검색 질의들에 포함되었을 수도 있는 개인 정보가 질의 패턴들에서 제거될 수 있다.
또한, 질의 분석 엔진(126)은 검색 로그(120)로부터, 복수의 질의 패턴들 각각과 연관된 합계 검색 활동 통계를 결정하도록 구성될 수 있다. 다양한 구현예들에서, 각각의 질의 패턴과 관련된 "합계 검색 활동 통계"는 질의 패턴과 일치하는, 검색 로그(120) 내의 복수의 개인적인 검색 질의들과 연관된 검색 활동 및 포스트 검색 활동을 나타낼 수 있다.
다양한 구현예들에서, 소정의 질의 패턴과 관련된 합계 검색 활동 통계는, 예를 들어, 소정의 질의 패턴과 매칭되는 검색 로그(120) 내의 검색 질의들의 총 개수 및/또는 고유 개수(unique number); 소정의 질의 패턴과 매칭되는 검색 질의들을 제출한 사용자들의 총 개수 및/또는 고유 개수; 소정의 질의 패턴과 매칭되는 검색 질의들 사이에서 관찰되는 n-grams의 의미론적 유형(semantic type); 접두사(prefix)/접미사(suffix) 매칭에 사용되는 n-gram id 들, 기타 등등을 포함할 수 있다.
다양한 구현예에서, 소정의 질의 패턴과 관련된 합계 포스트 검색 활동 통계(aggregate post-search activity statistics)는, 각 검색 질의와 관련하여 검색 로그(120)에 저장되는 것으로 상술된 포스트 검색 활동을 나타내는 합계 데이터를 포함할 수 있다. 예를 들어, 합계 포스트 검색 활동 통계는, 소정의 질의 패턴과 매칭되는 검색 질의들을 사용자가 제출한 후에 관찰되는 소위 클릭 위치 통계(예컨대, 사용자가 웹 결과, 질의 제안, 연락처 결과를 클릭했는가?); 소정의 질의 패턴과 매칭되는 검색 질의들을 제출한 후 사용자에 의한 포기율(abandonment rate)(아무런 클릭이 기록되지 않음); 소정의 질의 패턴과 매칭되는 검색 질의들에서 검색된 결과들의 평균 개수, 기타 등등을 포함할 수 있다.
도 2는 문서 저장 시스템(104) 및/또는 이메일 시스템(106)의 다양한 구성 요소들, 및 특히 질의 분석 엔진(126)의 다양한(전형적으로 소프트웨어이지만 반드시 그럴 필요는 없음) 구성 요소들이 하나 이상의 질의 패턴들 및 관련된 합계 검색 활동 통계를 생성하기 위하여 검색 질의들의 검색 로그(120)를 분석하는 방법의 일례를 도시한다. 또한, 도 2는 생성된 질의 패턴들 및 해당 통계가 어떻게 이용되는지에 대한 일례들을 도시한다.
상단에서 시작하여, 검색 로그(120)로부터의 복수의 검색 질의들{SQ1, SQ2 ... SQM}이 프라이버시 엔진(240)에 제공되거나 및/또는 프라이버시 엔진(240)에 의해 획득될 수 있다. 프라이버시 엔진(240)은 예를 들어, 프라이버시 기준을 만족하는 개인적인 검색 질의 내에 포함된, 예컨대 복수의 비-개인적인 n-grams, {N1, N2,... NN}을 식별할 수 있다. 예를 들어, 일부 구현예에서, 적어도 x명의 고유 사용자들에 의해서 매일 제출된 검색 질의들에 존재하거나, 적어도 y명의 고유 사용자들에 의해서 매주 제출된 검색 질의들에 존재하거나 기타 등등의 빈도 임계값을 만족시키는 n-grams 만이 비-개인적인(non-private) n-grams 으로 고려될 수 있다. 전술한 바와 같이, 일부 구현예들에서 비-개인적인 n-grams 은, 비-개인적인 n-grams 및 대응 빈도들의 히스토그램으로 구성될 수 있다.
다양한 구현예들에서, 프라이버시 엔진(240)은 복수의 비-개인적인 n-grams 을 식별하기 위해 다른 기술들을 사용할 수 있다. 예를 들어, 일부 구현예에서, 프라이버시 엔진(240)은 n-gram이 출현하는 다수의 검색 질의들에 대하여 n-gram을 분석하여(예컨대, i18n 과 같은 국제화 표준(internationalization standard)에 따라), 검색 질의들에 대한 모국어들의 배포판들(distributions)을 결정할 수 있다. 이러한 배포판들은 상기 n-gram 이 비-개인적인 것으로 간주되는지의 여부를 결정하는데 이용될 수 있다. 프라이버시 엔진의 다른 구현예들은, 다양한 토큰화(tokenization) 기법, 어휘 분석(lexical analysis) 기법, 정규화(normalization) 기법 및/또는 스템밍(stemming) 기법을 적용할 수 있다. 예를 들어, 검색 질의에 포함된 단어들 및 어구들은 분리되어 추가적인 프로세싱의 대상이 될 수 있는바, 가령, 구문 분석(parsing), 텍스트 마이닝(text mining) 등을 포함하는 추가적인 프로세싱의 대상이 될 수 있다.
또한, 복수의 검색 질의들{ SQi , SQ2, ..., SQM}은 질의 패턴 생성 엔진(242)에 제공되거나 질의 패턴 생성 엔진(242)에 의해 획득될 수 있다. 질의 패턴 생성 엔진(242)은, 프라이버시 엔진(240)에 의해 식별된 복수의 비-개인적인 n-grams, {N1, N2,... NN} 를 이용하여, 복수의 검색 질의들로부터 복수의 질의 패턴들 {QP1, QP2, ..., QPp}을 생성할 수 있다. 질의 패턴 생성 엔진(242)은 다양한 기술을 사용하여 질의 패턴들을 식별할 수 있다. 일부 구현예들에서, 검색 질의들은, 공유된 접두사(prefixes), 접미사(suffixes) 및/또는 삽입사(infixes)에 의해서, 질의 패턴들로 그룹화될 수 있다. 예를 들어, "resume Bob Smith", "resume Jane Doe"및 "Resume Arnold" 와 같은 검색 질의들은 모두 접두사 "resume" 을 공유할 수 있으므로, 이들 모두는 패턴, "resume [A-z]+" 에 매칭된다. 일부 구현예들에서, 검색 질의들은 구문론(syntax)에 부가하여 또는 구문론(syntax) 대신에, 의미론(semantics)에 기반하여 매칭될 수 있다. 검색 로그에 저장된 네 번째 검색 질의 "CV Allison Jones"가 있다고 가정하자. "CV"는 "resume"과 구문론적으로는 다르지만, 이들 단어들은 유사한 의미를 갖는다. 따라서, "(resume|CV)[A-z]+" 와 같은 보다 견고한 질의 패턴이 생성되어, 네 개의 검색 질의들 모두를 포착할 수 있다.
일부 구현예들에서, 질의 패턴 생성 엔진(242)은 다음과 같이 질의 패턴들을 식별할 수 있다. 소정의 검색 질의 Q를 프라이버시 엔진(240)에 의해 식별된 복수의 비-개인적인 n-grams, {N1, N2,... NN} 중 각각의 비-개인적인 n-gram, Ni 에 매칭시키려고 시도될 수 있다. "N*", "*N" 및/또는 "N * N" 중 임의의 것이 Q와 매칭되는지가 결정될 수 있다(여기서 "*"는 와일드 카드). 3개의 변형예들(variations) 중 그 어떤 것도 Q와 매칭되지 않는다면, Q는 다음(next) 비-개인적인 n-gram, Ni+1 과 비교될 수 있다. 만일, 3개의 변형예들(variations) 중 하나 이상이 Q와 매칭된다면, 질의 패턴 생성 엔진(242)은 그러한 변형예/Q 조합을 패턴으로서 저장하고 그리고 다음(next) 비-개인적인 n-gram, Ni+1 으로 진행한다. 식별된 모든 비-개인적인 n-grams 과 Q를 비교함으로써, 질의 패턴 생성 엔진(242)은, Q 및 비-개인적인 n-gram을 사용하여 생성될 수 있는 가장 긴 n-gram을 식별할 수 있다. 예를 들어, 프라이버시 엔진(240)이, "CV" 및 "CV DRAFT " 와 같은 2 개의 비-개인적인 n-grams 을 식별한다고 가정하자. 질의 패턴 생성 엔진(242)은 궁극적으로는 패턴 "CV*" 에 비하여 패턴 "CV DRAFT*" 을 식별할 것인바, 왜냐하면 "CV DRAFT*" 가 더 길기 때문이다.
일부 구현예들에서, 질의 패턴 생성 엔진(242)은 질의 패턴 생성 엔진(242)이 생성하는 질의 패턴들에 의미론적 정보(semantic information)를 통합시킬 수 있다. 의미론적 정보는, 예를 들어 개인적인 n-gram들이 폐기되기 이전에, 질의 패턴 생성 엔진(242)에 의해서 개인적인 n-grams 로부터 추출될 수 있다. 이러한 추출된 의미론적 정보는, 보다 세밀하게 조정된 와일드 카드들(예를 들어, 연관된 의미론적 타입들을 구비한 와일드 카드들)을 정형화(formulate)하는데 이용될 수 있다. 예를 들어, 위의 일례를 이용하면, 질의 패턴 "(resume|CV)<contact_name>"이 질의 패턴 생성 엔진(242)에 의해서 생성될 수 있는바, 검색 질의들을 제출한 사용자들의 다수의 resume/CV-관련 검색 질의들 구성 콘택들(예컨대, 이메일 연락처) 중에서 관심있는 개인을 식별하는 개인적인 n-grams 이 관찰되는 경우에 생성될 수 있다.
복수의 P 질의 패턴들 또는 {QP1, QP2, ..., QPp}일 수 있는 질의 패턴 생성 엔진(242)의 출력은 검색 로그(120)에 저장된 검색 질의들 및 포스트-검색 활동, {<SQ1, PSA1 >, <SQ2, PSA2>, ..., <SQM , PSAM>} 과 함께 질의 패턴 통계 엔진(244)에 제공될 수 있다. 질의 패턴 통계 엔진(244)은 소정의 질의 패턴(QP)과 매칭하는 검색 질의들과 연관된 합계 검색 활동 통계(aggregate search activity statistics)를 결정할 수 있다. 이러한 합계 통계들은 앞서 설명된, 합계 포스트-검색 활동 통계 및 다른 합계 검색 활동 통계를 포함할 수 있다.
질의 패턴 통계 엔진(244)의 출력은 질의 패턴들 및 대응하는 합계 검색 활동 통계들, {<QP1, ASAS1 >, <QP2, ASAS2>, ..., < QPp , ASASP>}가 될 수 있다. 이러한 데이터는 인덱스(246)(검색 로그(120)의 일부일 수 있음)에 저장될 수 있는 바, 따라서, 이것은 프리젠테이션 엔진(122), 랭킹 엔진(124), 및/또는 질의 성능 엔진(248) 등을 포함하는 다양한 다운 스트림 컴포넌트에 액세스할 수 있다. 이러한 컴포넌트들은 다양한 방식으로 데이터를 사용할 수 있다. 예를 들어, 프리젠테이션 엔진(122), 랭킹 엔진(124), 및/또는 질의 성능 엔진(248) 중 하나 이상은 질의의 수신에 응답하여 실시간으로 또는 다른 시간들(예를 들어, 주기적으로)에서 데이터를 분석하여, 소정의 질의 패턴과 연관된 합계 검색 활동 통계에 기초하여 소정의 질의 패턴과 매칭되는 검색 질의들에 응답하여 제시되는 데이터를 생성하기 위한 방법(methodology)을 변경할 수 있다.
다양한 구현예들에서, 소정의 질의 패턴과 관련되고 그리고 인덱스(246)에 저장된 합계 검색 활동 통계는 소위 "클릭 위치" 통계를 포함할 수 있다. 클릭 위치 통계는, 소정의 질의 패턴과 매칭되는 검색 질의들을 제출한 후 어떤 사용자들이 클릭했는지 또는 달리 선택했는지에 대한 통계를 지칭할 수 있다(예컨대, 망막 모니터는 이를 지켜보는 사용자에 기초하여 선택을 결정할 수 있다). 사용자들은 검색 결과들의 목록에 있는 특정 검색 결과(예컨대, 첫 번째 위치, 두 번째, 10 번째 등)를 클릭할 수 있다. 사용자들은 검색 결과 이외에도(예컨대, 검색 결과들 앞이나 옆에 있는) 리턴된 광고를 클릭할 수 있다. 사용자들은 하이퍼링크에 부가하여 또는 하이퍼링크 대신에, 순수한 정보를 포함할 수 있는 소위 "정보 결과(informational results)"를 클릭할 수 있다. 예를 들어, "Ronald Reagan" 이라는 검색 질의를 제출한 사용자는, 통상적인 검색 결과들 이외에도, 요약 형식으로 전임 대통령을 서술하는 발췌문(excerpt)을 제공받을 수 있다.
문맥에 따라, 클릭 위치 통계는 또한 사용자가 검색 결과를 제출한 후에 클릭할 수 있는 다른 항목들과 관련될 수 있다. 특정 이메일을 검색하기 위하여 도 1의 이메일 시스템(106)에 검색 질의(108)를 제출하는 사용자는, 예를 들어 검색 질의와 매칭되는 이메일들의 목록을 제공받을 수 있을 뿐만 아니라, 그것 말고도 가령, 결과 이메일들과 관련된 이메일 연락처들 및/또는 검색 질의와 매칭되는 이메일들을 사용자와 송신/수신한 사람들의 이메일 연락처들과 같은, 사용자가 클릭할 수 있는 다른 항목들을 제공받을 수 있다. 특정 문서를 검색하기 위하여 도 1의 문서 저장 시스템(104)에 검색 질의(108)를 제출하는 사용자는, 예를 들어 검색 질의와 매칭되는 문서들의 목록을 제공받을 수 있을 뿐만 아니라, 그것 말고도 가령, 상기 문서들이 속한 프로젝트들, 상기 문서들을 생성한/편집한/소유한 직원들의 연락처들, 상기 문서들이 속한 조직 등의 연락처들 기타 등등과 같은 클릭가능한 다른 항목들을 제공받을 수 있다. 사용자들은 이러한 다양한 컴포넌트들을 클릭하거나 선택하여 클릭 위치 통계를 생성할 수 있다.
다양한 구현예들에서, 프리젠테이션 엔진(122) 또는 다른 다운스트림 컴포넌트는 클릭 위치 통계를 분석하여, 질의 패턴과 매칭되는 검색 질의를 제출하는 사용자에게 다양한 정보를 제공하기 위해 사용되는 방법을 변경할 수 있다. 예를 들어 상대적으로 높은 클릭률을 달성하는 클릭 위치에 있는 컴포넌트들은 상황에 따라 표면화되거나(surfaced) 강조되지 않을 수 있다(de-emphasized). 이메일 시스템(106)에 제출된, 특정 질의 패턴과 매칭되는 검색 질의들(108)에서, 60%는 사용자가 이메일 연락처를 클릭하게 된다고 가정하자. 프리젠테이션 엔진(122B)은, 동일한 질의 패턴에 매칭되는 미래의 검색 질의들이 수신될 때, 이를 고려할 수 있는바, 예컨대, 이메일 연락처들을 더 현저하게(more prominently) 제시함으로써(또는, 사용자가 이메일 연락처들을 덜 클릭하는 것이 바람직하다면 덜 현저하게 제시함으로써), 이를 고려할 수 있다.
클릭 위치 통계에 부가하여 또는 클릭 위치 통계 대신에, 다양한 구현예들에서, 프리젠테이션 엔진(122) 또는 다른 컴포넌트는 소정의 질의 패턴에 관련된 클릭율을 분석하여, 소정의 패턴과 매칭하는 질의들을 검색하기 위한 결과들이 어떻게 제공될지를 결정할 수 있다. 특정 질의 패턴이 매우 낮은 클릭률을 갖는다고 가정하자(이는 높은 포기율에 해당하거나 및/또는 "저조한 성능(low performing)"의 질의 패턴으로 간주될 수 있다). 이것은, 소정의 질의 패턴에 매칭되는 검색 질의들에 결함이 있음(예컨대, 통상적인 철자 오류(misspelling)를 포함하기 때문에)을 시사할 수 있다. 프리젠테이션 엔진(122) 또는 다른 컴포넌트는 동일한 질의 패턴에 매칭되는 미래의 검색 질의들이 수신될 때, 이를 고려할 수 있는바, 예컨대, "우수한 성능(higher performing)"의 질의 패턴들과 관련된 질의 제안들을 제공함으로써(예를 들어, 검색 바 상의 드롭 다운 메뉴로서 또는 별도의 검색 결과로서), 이를 고려할 수 있다. 예를 들어, 저조한 성능의 질의 패턴(low performing query pattern)과 훨씬 우수한 성능의 질의 패턴이 상당히 유사하다고 가정하자(예컨대, 하나의 n-gram 이 변경됨). 저조한 성능의 질의 패턴과 매칭되는 검색 질의가 수신될 때, 상기 검색 질의는 우수한 성능의 질의 패턴과 관련되어 사용되어, 질의 제안을 사용자에게 제안할 수 있다. 이러한 질의 제안은 원래 검색 질의에 있는 철자 오류를 수정할 수 있다.
본 발명의 이러한 기술은, 잘못 타이핑된 단어들이나 문구들(그럼에도 불구하고 맞춤법 보정 소프트웨어에 의해 일반적으로 사용되는 사전들에 포함되어 있는)이 검색 질의들에 포함되어 있는 경우들에서, 통상적인 맞춤법 보정 기술에 비해 장점을 가질 수 있다. 예를 들어, "no reply"라는 어구를 검색하고자 하는 사용자가 실수로 "no replay" 라는 검색 질의를 제출했다라고 가정하자. 통상적인 맞춤법 보정 소프트웨어는, 이러한 에러를 잡아내지 못할 것인바, 왜냐하면 "no reply" 와 "no replay" 둘다는 맞춤법 보정 사전에 포함된 n-grams 을 포함하기 때문이다. 하지만, 본 발명에 따른 기술은, 이메일 시스템(106)에 제출된 "no replay" 라는 문구를 포함하고 있는 검색 질의는 매우 저조한 성능을 갖고 있는 반면에, "no reply" 라는 문구를 포함하고 있는 검색 질의는 매우 우수한 성능을 갖고 있다는 것을 나타낼 수 있다. 이러한 경우, 프리젠테이션 엔진(122) 또는 다른 컴포넌트는 예컨대, 제안된 맞춤법 교정으로서 "no reply" 를 사용자에게 제시할 수 있다.
일부 구현예에서, 프리젠테이션 엔진(122)은 소정의 질의 패턴과 매칭되는 검색 질의에 응답하여 사용자에게 제시되는 사용자 인터페이스 요소들의 속성들 뿐만 아니라 이러한 요소들과 사용자가 상호작용하는 경향을 고려할 수 있다. 예를 들어, 상기 Ronald Reagan과 관련하여 앞서 설명된 것과 같은 정보 결과들은, 별도의 또는 개별 사용자 인터페이스 요소에서 사용자에게 제시될 수 있는바, 가령 검색 결과 웹페이지의 강조된 영역으로서, 또는 팝 업 윈도우에서 제공될 수 있다. 만일, 소정의 질의 패턴과 매칭되는 검색 질의들을 제출한 사용자들이 검색을 제출한 후에 특정한 사용자 인터페이스 요소를 클릭하는 경향이 있는 경우, 이러한 사용자 인터페이스 요소는 앞으로는 더 현저하게(예컨대, "표면화되게") 제시될 수 있으며 또는 최소한 계속해서 제시될 수 있다. 다른 한편으로, 만일 사용자가 사용자 인터페이스 요소를 클릭하는 경향이 없다면, 이것은 덜 현저하게(예를 들어, 다른 형태로) 제시되거나, 또는 전혀 제시되지 않을 수도 있다. 또는, 사용자가 상대적으로 사용되지 않는 사용자 인터페이스 요소를 더 자주 클릭하는 것이 바람직하다면, 이러한 사용자 인터페이스 요소가 표면화되거나 또는 다른 방식으로 더 두드러지게 렌더링되어 추가적인 클릭을 이끌어 낼 수 있다.
프리젠테이션 엔진(122)에 추가하여 또는 프리젠테이션 엔진(122) 대신에, 다른 컴포넌트들이 인덱스(246)에 저장된 데이터를 이용하여, 데이터가 사용자에게 제시되게 하는 방법을 변경할 수 있다. 예를 들어, 소정의 질의 패턴과 관련된 합계 검색 활동 통계가 다음과 같은 것, 즉 패턴과 매칭되는 검색들로부터 반환되는, 관련성이 높은 검색 결과가 아니라 최근성이 높은 검색 결과를 사용자들이 클릭할 가능성이 더 높다는 것을 시사한다라고 가정하자. 그러한 경우에, 랭킹 엔진(124)은 검색 결과의 순위를 매길 때 그렇지 않은 경우보다 검색 질의에 보다 과도하게 반응하는 검색 결과들의 신선도를 측정할 수 있다. 랭킹 엔진(124)은 다양한 구현예에서, 그것의 랭킹을 나타내는 데이터를 프리젠테이션 엔진(122)에 제공할 수 있으며, 따라서 프리젠테이션 엔진(122)은 클라이언트 디바이스(102)의 사용자에게 궁극적으로 제공되는 데이터를 생성할 수 있다.
또 다른 일례로서, 다양한 성능 관련 목적들을 위해 질의 성능 엔진(248)은 질의 패턴 및 연관된 합계 검색 활동 통계, 특히 클릭율, 포기율, 클릭 위치 등을 분석하는데 사용될 수 있다. 질의 패턴들의 성능은 클릭률, MRR(Mean reciprocal rank), 포기율 등의 다양한 측정값을 기반으로 측정될 수 있다. 이러한 측정값들은 다양한 용도로 사용될 수 있다.
예를 들어, 문서 저장 시스템(104) 또는 이메일 시스템(106) 상에서 실험적 알고리즘이 구현되어, 사용자의 특정 서브 세트(예를 들어, 임의로 선택된 IP 주소들을 갖는 사용자들, 특정 지역의 사용자들, 베타 사용자들 등)에 검색 결과들을 서비스한다고 가정하자. 또한, 다른 "제어(control)" 사용자들이 레거시 알고리즘을 사용하여 검색 결과들을 계속 수신한다고 가정하자. 실험적 알고리즘을 레거시 알고리즘과 비교하기 위해, 질의 패턴 및 대응하는 합계 포스트-검색 활동 통계를 식별하도록 본 발명의 기술들을 이용하여 사용자들의 서브 세트에 의해 제출된 검색 질의들과 연관된 포스트-검색 활동이 분석될 수 있다. 다음으로, 이러한 합계 포스트-검색 활동 통계는, 질의 성능 엔진(248)에 의해서, 레거시 알고리즘에 대해 생성된 질의 패턴들과 연관된 합계 포스트-검색 활동 통계와 비교되어, 포스트-검색 활동이 둘 사이에서 얼마나 변화되었는지를 결정할 수 있다. 만일, 특정한 질의 패턴이 레거시 알고리즘에 대해서는 높은 성능을 나타내지만 실험적 알고리즘에 대해서는 저조한 성능을 나타낸다면, 이것은 실험적 알고리즘이 가령, 버그 등과 같은 하나 이상의 문제점들(issues)을 가짐을 나타낼 수 있다.
질의 성능 엔진(248)은 또한 다른 목적을 위해서 질의 패턴을 분석할 수 있다. 일부 구현예에서, 질의 성능 엔진(248)은 소정의 질의 패턴과 매칭되는 검색 질의들에 관련된 질의 활동 통계를, 1년 중 시간, 하루 중 시간, 주제/테마 등과 같은 다양한 속성들에 기초하여 그룹화할 수 있다. 예를 들어, 세금 관련 질의들은 세금 납부 기간(tax season) 동안 급증할 것이다. 이것은 질의 성능 엔진(248)에 의해서 관찰 및/또는 문서화(예를 들어, 인덱스 246에서)될 수 있다. 다음으로, 프리젠테이션 엔진(122) 또는 랭킹 엔진(124)과 같은 다른 컴포넌트들은 이러한 관측들을 이용하여, 검색 결과들 및/또는 다른 데이터/사용자 인터페이스 요소들을 순위매기거나 또는 사용자들에게 제공하는바, 세금 납부 기간 동안에는 다르게 순위매거나(ranking) 또는 제공한다(이들이 세금 납부 기간이 아닌 기간에 있을 때와는 다르게).
또 다른 구현예들에서, 질의 성능 엔진(248)은 질의 패턴들과 연관된 합계 포스트-검색 활동 통계에 대한 시간 경과에 따른 변화들을 모니터링할 수 있다. 만일, 소정의 질의 패턴과 매칭되는 검색 질의들에 응답하여 제시되는 인터페이스들과 사용자가 어떻게 상호 작용하는지에 대한 갑작스런 및/또는 극적인 변화가 있다면, 질의 성능 엔진(248)은 적절한 관리 직원(예를 들어, 문서 저장 시스템(104) 또는 이메일 시스템(106)의 관리자)에게 자동으로 통지하는 등의 다양한 행동들을 취할 수 있다.
이제 도 3을 참조하면, 검색 로그들 내의 검색 질의들로부터 질의 패턴들을 생성하는 예시적인 방법(300)이 도시된다. 편의상, 흐름도의 동작들은 동작을 수행하는 시스템을 참조하여 설명된다. 이러한 시스템은 다양한 컴퓨터 시스템들의 다양한 컴포넌트들을 포함할 수 있다. 또한, 상기 방법(300)의 동작들이 특정 순서대로 도시되어 있지만, 이는 제한하려는 것이 아니다. 하나 이상의 동작들이 재정렬, 생략 또는 추가될 수 있다.
블록(302)에서, 시스템은 도 2의 프라이버시 엔진(240)에 관하여 상술한 바와 같이, 검색 질의들의 로그에 저장된 검색 질의들에 포함되는 비-개인적인 콘텐츠를 식별할 수 있다. 예를 들어, 빈도 임계값을 만족시키는 빈도에서 검색 로그 내에서 발생하는 n-grams 과 같은 콘텐츠에 의해서, 또는 검색 로그 내에서 적어도 최소 횟수만큼 발생하는 n-grams 과 같은 콘텐츠에 의해서, 프라이버시 기준이 충족될 수 있다. 비록, 본 명세서에서 다양한 일례들을 설명하기 위해서 n-grams 이 사용되었지만, 이는 제한하려는 것이 아니다. 다양한 구현예에서, 콘텐츠는 다른 유형의 단위들 혹은 토큰들로 그룹화되거나 및/또는 파싱될 수도 있다.
블록(304)에서, 시스템은 블록(302)에서 식별된 비-개인적인 콘텐츠에 기초하여, 복수의 질의 패턴들(예컨대, 도 2를 참조하여 설명된 {QP1, QP2, ..., QPN})을 생성할 수 있다. 예를 들어, 비-개인적인 콘텐츠는 각각의 검색 질의와 비교될 수 있다. 블록(302)에서 식별된 임의의 비-개인적인 콘텐트와 매칭되지 않는 검색 질의의 임의의 콘텐트는 무시되거나 폐기될 수 있는바 왜냐하면, 이것은 개인적인 것으로 간주되기 때문이다. 질의 패턴이 식별될 수 있는 방법의 다른 일례들은 질의 패턴 생성 엔진(242) 및 도 2와 관련하여 상술되었다.
블록 306에서, 시스템은 블록(304)에서 생성된 복수의 질의 패턴들 각각과 연관된 합계 검색 활동을 예컨대, 검색 로그(120)로부터 결정할 수 있다. 전술한 바와 같이, 이것은 도 2에 도시된 질의 패턴 통계 엔진(244)과 같은 컴포넌트들을 포함할 수 있는바, 이는 매칭 검색 질의들의 수, 고유한 매칭 검색 질의들의 수, 매칭 검색 질의들이 가장 자주 제출되는 시간대(또는 전형적으로 제출되지 않은 시간대) 등과 같은, 질의 패턴에 매칭되는 검색 질의들로부터 일반적인 합계 검색 활동 통계를 식별한다. 이것은 또한, 질의 패턴 통계 엔진(244)과 같은 컴포넌트들을 포함할 수 있는바, 이는 클릭율, 클릭 위치, 제시되는/상호작용되는 사용자 인터페이스 요소들, 포기율, MRR, 기타 등등과 같은, 소정의 질의 패턴에 매칭되는 검색 질의들과 관련된 포스트-검색 활동으로부터 합계 포스트-검색 활동 통계를 식별한다.
블록 308에서, 시스템은 소정의 질의 패턴과 관련된 합계 검색 활동 통계(예컨대, 도 2의 {ASAS1, ASAS2, ..., ASASP})가 성능 기준을 충족시키는지를 결정할 수 있다. 예를 들어, 프리젠테이션 엔진(122)은 예컨대, 검색 질의를 수신한 것에 응답하여, 수신된 검색 질의와 매칭되는 질의 패턴이 포기 임계값을 충족하는 합계 검색 활동 통계와 관련되는지를 결정할 수 있다. 예를 들어, 포기 임계값은 가령, 10% 미만, 5% 미만 등과 같은(그러나 이에 국한되지는 않음) 소정 퍼센티지 미만인 클릭율에 의해서 충족될 수 있다. 또 다른 일례로서, 질의 성능 엔진(248)은, 베타 사용자에게 검색 결과를 제공하기 위해 사용되는 실험적 검색 알고리즘에 대해서, 특정 질의 패턴이 성능면에서 현저한 변화를 경험하는지를 결정할 수 있다.
블럭 308에서의 결정에 응답하여, 블럭(310)에서, 시스템은 데이터(예컨대, 검색 결과 웹 페이지에 대한 HTML 데이터, 이메일 클라이언트(114) 또는 문서 클라이언트(116)에게 제시될 데이터)를 생성하는 방법을 변경할 수 있는바, 상기 데이터는 소정의 질의 패턴에 매칭되는 검색 질의들에 응답하여 제공되는 것이다. 이러한 변경은 상기 소정의 질의 패턴에 관련된 합계 검색 활동 통계에 적어도 일부 기초하여 수행될 수 있다. 예를 들어, 소정의 질의 패턴에 매칭되는 검색 질의들에 응답하여 제공되는 특정한 사용자 인터페이스 요소를, 임계값(예컨대, 소정의 최소 퍼센티지)을 충족시키는 특정 빈도로, 사용자가 클릭한다라고 블록 308에서 결정된다라고 가정하자. 이에 응답하여, 상기 시스템은, 사용자 인터페이스 요소를 제시하기 위해 사용되는 방법을 변경할 수 있는바, 예컨대, 이를 더 현저하게 제시하거나, 표면화하거나 또는 완전히 새로운 방식으로 이것을 제공함으로써(가령, 팝 업으로서), 방법을 변경할 수 있다. 이와 유사하게, 만일 사용자 인터페이스 요소가 최소 임계 횟수 미만으로 클릭된다면, 이것은 덜 현저하게 제시되거나 또는 심지어 더 이상 제공되지 않을 수도 있다.
도 4는 예시적인 컴퓨터 시스템(410)의 블록도이다. 컴퓨터 시스템(410)은 버스 서브 시스템(412)을 통해 다수의 주변 디바이스들과 통신하는 적어도 하나의 프로세서(414)를 포함하는 것이 일반적이다. 이들 주변 디바이스들은 예를 들어 메모리 서브 시스템(425) 및 파일 저장 서브 시스템(426)을 포함하는 저장 서브 시스템(424), 사용자 인터페이스 출력 디바이스들(420), 사용자 인터페이스 입력 디바이스들(422) 및 네트워크 인터페이스 서브 시스템(416)을 포함한다. 입력 및 출력 디바이스들은 컴퓨터 시스템(410)과의 사용자 상호작용을 허용한다. 네트워크 인터페이스 서브 시스템(416)은 외부 네트워크들에 대한 인터페이스를 제공하고 그리고 다른 컴퓨터 시스템의 대응 인터페이스 디바이스에 연결된다.
사용자 인터페이스 입력 디바이스들(422)은 키보드, 포인팅 디바이스, 마우스, 트랙볼, 터치 패드 또는 그래픽 태블릿, 스캐너, 디스플레이에 통합된 터치 스크린, 음성 인식 시스템과 같은 오디오 입력 디바이스, 마이크로폰, 및/또는 다른 유형의 입력 디바이스를 포함할 수 있다. 일반적으로, "입력 디바이스" 라는 용어를 사용하는 것은, 컴퓨터 시스템(410) 또는 통신 네트워크 상에 정보를 입력하는 모든 가능한 유형의 디바이스 및 방법을 포함하도록 의도된다.
사용자 인터페이스 출력 디바이스들(420)은 디스플레이 서브 시스템, 프린터, 팩스 머신, 또는 오디오 출력 디바이스들과 같은 비-시각적 디스플레이들을 포함할 수 있다. 디스플레이 서브 시스템은 음극선 관(CRT), 액정 디스플레이(LCD)와 같은 평판 디바이스, 프로젝션 디바이스, 또는 가시적 이미지를 생성하기 위한 다른 메커니즘을 포함할 수 있다. 디스플레이 서브 시스템은 또한 오디오 출력 디바이스를 통한 비 시각적 디스플레이를 제공 할 수 있다. 일반적으로, "출력 디바이스" 라는 용어를 사용하는 것은, 컴퓨터 시스템 (410)으로부터 사용자들 또는 다른 머신 또는 컴퓨터 시스템으로 정보를 출력하는 모든 가능한 유형의 디바이스들 및 방법을 포함하도록 의도된다.
저장 서브 시스템(424)은 여기에 설명된 일부 또는 모든 모듈의 기능들을 제공하는 프로그래밍 및 데이터 구성들을 저장한다. 예를 들어, 저장 서브 시스템(424)은 방법(300)의 선택된 양태들을 수행하고 및/또는 하나 이상의 프리젠테이션 엔진(122), 랭킹 엔진(124), 질의 분석 엔진(126)(예를 들어, 240, 242 , 244, 246, 248), 문서 인덱싱 엔진(128) 및/또는 이메일 인덱싱 엔진(132)의 하나 이상의 컴포넌트들을 구현하기 위한 로직을 포함할 수 있다.
일반적으로, 이러한 소프트웨어 모듈들은, 프로세서(414) 단독으로 또는 다른 프로세서와 함께 프로세서(414)에 의해 실행될 수 있다. 저장 서브 시스템(424)에서 사용되는 메모리(425)는 프로그램 실행 중 명령 및 데이터를 저장하기 위한 메인 랜덤 액세스 메모리(RAM)(430) 및 고정형(fixed) 명령들이 저장되는 판독 전용 메모리(ROM)(432)를 포함하는 다수의 메모리들을 포함할 수 있다. 파일 저장 서브 시스템(426)은 프로그램 및 데이터 파일들을 위한 항구적 저장소를 제공할 수 있으며, 그리고 하드 디스크 드라이브, 관련 이동식 매체와 함께 플로피 디스크 드라이브, CD-ROM 드라이브, 광 드라이브 또는 이동식 매체 카트리지를 포함할 수 있다. 특정 구현예들의 기능을 구현하는 모듈들은 저장 서브 시스템(424)의 파일 저장 서브 시스템(426)에 의해 저장되거나 또는 프로세서(들)(414)에 의해 액세스 가능한 다른 머신에 의해 저장될 수 있다.
버스 서브 시스템(412)은 컴퓨터 시스템(410)의 다양한 컴포넌트들 및 서브 시스템들이 의도된 바와 같이 서로 통신할 수 있게 하는 매커니즘을 제공한다. 비록, 버스 서브 시스템(412)이 단일 버스로서 개략적으로 도시되어 있지만, 버스 서브 시스템의 다른 구현예는 다수의 버스들을 사용할 수도 있다.
컴퓨터 시스템(410)은 워크 스테이션, 서버, 컴퓨팅 클러스터, 블레이드 서버, 서버 팜 또는 임의의 다른 데이터 처리 시스템 또는 컴퓨팅 디바이스를 포함하는 다양한 유형들일 수 있다. 컴퓨터들 및 네트워크들의 끊임없이 변화하는 속성으로 인하여, 도 4에 도시된 컴퓨터 시스템(410)의 설명은 단지 일부 구현예를 설명하기 위한 구체적인 일례로서만 의도된다. 도 4에 도시된 컴퓨터 시스템보다 더 많거나 더 적은 구성 요소들을 갖는 컴퓨터 시스템(410)의 많은 다양한 구성예들이 또한 가능하다.
본 명세서에 기재된 시스템이 사용자에 관한 개인 정보를 수집하거나 개인 정보를 사용할 수도 있는 상황에서, 프로그램들 또는 피처들이 사용자 정보(예를 들어, 사용자의 소셜 네트워크, 소셜 액션 혹은 액티비티, 직업, 사용자의 선호 사항, 사용자의 현재 지리적 위치에 관한 정보)를 수집할지의 여부를 제어하는 기회 또는 사용자와 좀 더 관련이 있을 수 있는 컨텐츠를 컨텐츠 서버로부터 수신할지 및/또는 어떻게 수신할지를 제어하는 기회가 사용자들에게 제공될 수 있다. 또한, 특정 데이터는 개인 식별 정보가 제거될 수 있도록, 저장되거나 사용되기 전에 하나 이상의 방법으로 취급될 수 있다. 예를 들어, 사용자의 신원은 개인 식별 정보가 사용자에 대해 결정될 수 없도록 처리되거나, 지리적 위치 정보가 획득되는 경우, 사용자의 지리적 위치는 일반화될 수 있는바(가령, 도시, ZIP 코드, 또는 주 레벨로), 따라서 사용자의 특정 지리적 위치는 판별될 수 없다. 따라서, 사용자는 사용자에 관한 정보가 어떻게 수집되는지 또는 어떻게 사용되는지에 대한 제어권을 가질 수 있다.
비록, 몇몇 구현예들이 본 명세서에 설명되고 예시되었지만, 기능을 수행하고 및/또는 결과 및/또는 본원에 기술된 장점들 중 하나 이상을 획득하기 위한 다양한 다른 수단들 및/또는 구조들이 활용될 수 있으며, 그리고 이러한 변형예들 및/또는 수정예들은 본 발명의 범주에 속하는 것으로 간주된다. 보다 일반적으로는, 본 명세서에 서술된 모든 파라미터, 치수, 재료 및 구성은 예시적인 것으로 의도되며, 실제 파라미터, 치수, 재료 및/또는 구성은 본 교시가 이용되는 특정 어플리케이션 혹은 어플리케이션들에 의존할 것이다. 해당 기술분야의 당업자는 일상적인 경험만을 사용하여, 본 명세서에 설명된 특정 구현예들에 대한 수 많은 균등물을 인식할 수 있거나 또는 확인할 수 있을 것이다. 그러므로, 전술한 구현예는 단지 일례로서 제시되고, 첨부된 청구 범위 및 그 균등물의 범위 내에서, 구현예들은 구체적으로 설명되고 청구된 것과 다르게 실시될 수도 있다. 본 개시의 구현예들은 여기에 기술된 각각의 개별적인 피처, 시스템, 물품, 재료, 키트 및/또는 방법에 관한 것이다. 또한, 2개 이상의 이러한 피쳐, 시스템, 물품, 재료, 키트 및/또는 방법의 임의의 조합은, 이러한 피쳐, 시스템, 물품, 재료, 키트 및/또는 방법이 상호 불일치하지 않는 경우, 본 개시 내용의 범위 내에 포함된다.

Claims (15)

  1. 컴퓨터로 구현되는 방법으로서,
    개인적인 검색 질의들 및 대응 포스트-검색 활동의 검색 로그 내에서, 프라이버시 기준을 충족하는 개인적인 검색 질의들에 포함된 복수의 비-개인적인(non-private) n-grams 을 식별하는 단계;
    상기 복수의 비-개인적인 n-grams 에 기초하여, 상기 검색 로그로부터, 복수의 질의 패턴들을 생성하는 단계;
    상기 검색 로그로부터, 상기 복수의 질의 패턴들 각각과 관련된 합계 검색 활동 통계(aggregate search activity statistics)를 결정하는 단계, 각각의 질의 패턴과 관련된 합계 검색 활동 통계는 질의 패턴에 매칭되는 검색 로그 내의 복수의 개인적인 검색 질의들과 관련된 검색 활동을 나타내며; 그리고
    소정의 질의 패턴에 대한 합계 검색 활동 통계가 성능 기준을 충족시킨다는 결정에 응답하여, 상기 소정의 질의 패턴에 매칭되는 검색 질의들에 응답하여 제시되는 질의 제안들 또는 검색 결과들을, 상기 소정의 질의 패턴과 관련된 합계 검색 활동 통계에 적어도 일부 기초하여, 랭킹(ranking)하는 단계
    를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  2. 제1항에 있어서,
    상기 프라이버시 기준은 빈도 임계값을 충족시키는 빈도로 상기 검색 로그 내에서 발생하는 n-grams에 의해 충족되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  3. 제1항에 있어서,
    상기 프라이버시 기준은 상기 검색 로그 내에서 적어도 최소 횟수 만큼 발생하는 n-grams에 의해 충족되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  4. 제1항에 있어서,
    상기 생성하는 단계는, 상기 개인적인 검색 질의들 중에서 비-개인적인 n-grams이 얼마나 자주 발생하는지에 기초하여 상기 비-개인적인 n-grams의 히스토그램을 생성하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  5. 제1항에 있어서,
    상기 복수의 질의 패턴들 각각과 관련된 상기 합계 검색 활동 통계는 상기 질의 패턴과 매칭되는 상기 검색 로그 내의 검색 질의들의 전체 개수를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  6. 제1항에 있어서,
    상기 복수의 질의 패턴들 각각과 관련된 상기 합계 검색 활동 통계는 상기 질의 패턴과 매칭되는 상기 검색 로그 내의 다수의 개별 검색 질의들을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  7. 제1항에 있어서,
    상기 소정의 질의 패턴과 관련된 상기 합계 검색 활동 통계는 상기 소정의 질의 패턴과 매칭되는 상기 검색 로그 내의 복수의 개인적인 검색 질의들과 관련된 포스트-검색 활동에 관한 합계 통계(aggregate statistics)를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  8. 제7항에 있어서,
    상기 소정의 질의 패턴과 관련된 합계 포스트-검색 활동 통계는 상기 소정의 질의 패턴과 관련된 클릭 위치 통계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  9. 제7항에 있어서,
    상기 소정의 질의 패턴과 관련된 합계 포스트-검색 활동 통계는 상기 소정의 질의 패턴과 관련된 클릭율을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  10. 제7항에 있어서,
    상기 소정의 질의 패턴과 관련된 합계 포스트-검색 활동 통계는 상기 소정의 질의 패턴과 연관된 포기율을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  11. 제10항에 있어서,
    상기 성능 기준은 상기 포기율이 최소 임계값을 충족시키는 경우에 충족되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  12. 메모리 및 상기 메모리에 저장된 명령들을 실행하도록 동작가능한 하나 이상의 프로세서들을 포함하는 시스템으로서,
    개인적인 검색 질의들 및 대응 포스트-검색 활동의 검색 로그 내에서, 프라이버시 기준을 충족하는 개인적인 검색 질의들에 포함된 복수의 비-개인적인(non-private) n-grams 을 식별하고;
    상기 복수의 비-개인적인 n-grams 에 기초하여, 상기 검색 로그로부터, 복수의 질의 패턴들을 생성하고;
    상기 검색 로그로부터, 상기 복수의 질의 패턴들 각각과 관련된 합계 검색 활동 통계(aggregate search activity statistics)를 결정하고, 각각의 질의 패턴과 관련된 합계 검색 활동 통계는 질의 패턴에 매칭되는 검색 로그 내의 복수의 개인적인 검색 질의들과 관련된 검색 활동을 나타내며; 그리고
    소정의 질의 패턴에 대한 합계 검색 활동 통계가 성능 기준을 충족시킨다는 결정에 응답하여, 상기 소정의 질의 패턴에 매칭되는 검색 질의들에 응답하여 제시되는 질의 제안들 또는 검색 결과들을, 상기 소정의 질의 패턴과 관련된 합계 검색 활동 통계에 적어도 일부 기초하여, 랭킹(ranking)하는 명령들을 포함하는 것을 특징으로 하는 시스템.
  13. 제12항에 있어서,
    상기 프라이버시 기준은, 빈도 임계값을 충족시키는 빈도로 상기 검색 로그 내에서 발생하는 n-grams 또는 상기 검색 로그 내에서 적어도 최소 횟수 만큼 발생하는 n-grams에 의해 충족되는 것을 특징으로 하는 시스템.
  14. 제12항에 있어서,
    상기 생성하는 것은, 상기 개인적인 검색 질의들 중에서 비-개인적인 n-grams이 얼마나 자주 발생하는지에 기초하여 상기 비-개인적인 n-grams의 히스토그램을 생성하는 것을 포함하는 시스템.
  15. 명령들을 포함하는 하나 이상의 비-일시적인 컴퓨터 판독가능 매체로서, 상기 명령들은 컴퓨팅 시스템에 의해서 실행될 때 상기 컴퓨팅 시스템으로 하여금,
    개인적인 검색 질의들 및 대응 포스트-검색 활동의 검색 로그 내에서, 프라이버시 기준을 충족하는 개인적인 검색 질의들에 포함된 비-개인적인(non-private) 콘텐츠를 식별하고;
    상기 비-개인적인 콘텐츠에 기초하여, 상기 검색 로그로부터, 복수의 질의 패턴들을 생성하고;
    상기 검색 로그로부터, 상기 복수의 질의 패턴들 각각과 관련된 합계 검색 활동 통계(aggregate search activity statistics)를 결정하고, 각각의 질의 패턴과 관련된 합계 검색 활동 통계는 질의 패턴에 매칭되는 검색 로그 내의 복수의 개인적인 검색 질의들과 관련된 검색 활동을 나타내며; 그리고
    소정의 질의 패턴에 대한 합계 검색 활동 통계가 성능 기준을 충족시킨다는 결정에 응답하여, 상기 소정의 질의 패턴과 관련된 합계 검색 활동 통계에 기초하여 상기 질의 패턴에 매칭되는 검색 질의들에 응답하여 제시되는 데이터를 생성하기 위한 방법을 변경하게 하는 것을 특징으로 하는 비-일시적인 컴퓨터 판독가능 매체.
KR1020187017119A 2015-11-24 2016-11-21 검색 질의들 중 질의 패턴 및 관련된 합계 통계의 식별 KR102008466B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/950,052 US9953185B2 (en) 2015-11-24 2015-11-24 Identifying query patterns and associated aggregate statistics among search queries
US14/950,052 2015-11-24
PCT/US2016/063175 WO2017091519A1 (en) 2015-11-24 2016-11-21 Identifying query patterns and associated aggregate statistics among search queries

Publications (2)

Publication Number Publication Date
KR20180083910A true KR20180083910A (ko) 2018-07-23
KR102008466B1 KR102008466B1 (ko) 2019-08-07

Family

ID=57544534

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187017119A KR102008466B1 (ko) 2015-11-24 2016-11-21 검색 질의들 중 질의 패턴 및 관련된 합계 통계의 식별

Country Status (8)

Country Link
US (1) US9953185B2 (ko)
EP (1) EP3345118B1 (ko)
JP (1) JP6538277B2 (ko)
KR (1) KR102008466B1 (ko)
CN (1) CN108475320B (ko)
DE (1) DE112016005374T5 (ko)
RU (1) RU2726728C2 (ko)
WO (1) WO2017091519A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10409701B2 (en) * 2016-08-11 2019-09-10 Salesforce.Com, Inc. Per-statement monitoring in a database environment
US11281770B2 (en) 2016-08-11 2022-03-22 Salesforce.Com, Inc. Detection of structured query language (SQL) injection events using simple statistical analysis
KR102017853B1 (ko) * 2016-09-06 2019-09-03 주식회사 카카오 검색 방법 및 장치
KR102054450B1 (ko) * 2017-11-29 2019-12-10 서강대학교 산학협력단 차분 프라이버시 기반 질의 처리 시스템 및 이를 이용한 프라이버시 예산 절약 방법
US11042464B2 (en) 2018-07-16 2021-06-22 Red Hat Israel, Ltd. Log record analysis based on reverse engineering of log record formats
KR102352654B1 (ko) * 2019-05-06 2022-01-18 구글 엘엘씨 추론된 의도에 기반한 로컬 확장 트리거
US11347619B2 (en) 2019-08-01 2022-05-31 Red Hat, Inc. Log record analysis based on log record templates
US11645279B2 (en) * 2020-08-20 2023-05-09 International Business Machines Corporation Index selection for database query
US11790005B2 (en) 2020-11-30 2023-10-17 Google Llc Methods and systems for presenting privacy friendly query activity based on environmental signal(s)
US11790017B2 (en) * 2021-04-30 2023-10-17 CS Disco, Inc. Systems and methods for searching related documents and associated search operators
US11915538B1 (en) * 2022-10-12 2024-02-27 Ford Global Technologies, Llc Trilateration with ultra-wideband anchors

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080294630A1 (en) * 2007-05-21 2008-11-27 Weipeng Yan Query statistics provider
US8364709B1 (en) * 2010-11-22 2013-01-29 Google Inc. Determining word boundary likelihoods in potentially incomplete text
US20140089285A1 (en) * 2004-11-12 2014-03-27 Google Inc. Method and System for Autocompletion for Languages Having Ideographs and Phonetic Characters

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185558B1 (en) * 1998-03-03 2001-02-06 Amazon.Com, Inc. Identifying the items most relevant to a current query based on items selected in connection with similar queries
US7092936B1 (en) * 2001-08-22 2006-08-15 Oracle International Corporation System and method for search and recommendation based on usage mining
JP2006202130A (ja) * 2005-01-21 2006-08-03 Hitachi Medical Corp プライバシー情報表示システム
US20070005587A1 (en) * 2005-06-30 2007-01-04 Microsoft Corporation Relative search results based off of user interaction
US7840538B2 (en) * 2006-12-20 2010-11-23 Yahoo! Inc. Discovering query intent from search queries and concept networks
CN101807211B (zh) * 2010-04-30 2012-07-25 南开大学 一种面向海量小规模xml文档融合路径约束的xml检索方法
US8548981B1 (en) * 2010-06-23 2013-10-01 Google Inc. Providing relevance- and diversity-influenced advertisements including filtering
US8799455B1 (en) * 2011-03-18 2014-08-05 Amazon Technologies, Inc. Addressable network resource selection management
JP5451673B2 (ja) * 2011-03-28 2014-03-26 ヤフー株式会社 検索ランキング生成装置及び方法
RU2469402C1 (ru) * 2011-10-12 2012-12-10 Сергей Алексеевич Гридяев Система предоставления информации
JP5577385B2 (ja) * 2012-06-26 2014-08-20 ヤフー株式会社 コンテンツ配信装置
US9529856B2 (en) * 2013-06-03 2016-12-27 Google Inc. Query suggestion templates

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140089285A1 (en) * 2004-11-12 2014-03-27 Google Inc. Method and System for Autocompletion for Languages Having Ideographs and Phonetic Characters
US20080294630A1 (en) * 2007-05-21 2008-11-27 Weipeng Yan Query statistics provider
US8364709B1 (en) * 2010-11-22 2013-01-29 Google Inc. Determining word boundary likelihoods in potentially incomplete text

Also Published As

Publication number Publication date
EP3345118A1 (en) 2018-07-11
KR102008466B1 (ko) 2019-08-07
RU2018113726A3 (ko) 2020-04-16
US9953185B2 (en) 2018-04-24
CN108475320B (zh) 2020-07-07
US20170147834A1 (en) 2017-05-25
DE112016005374T5 (de) 2018-08-16
EP3345118B1 (en) 2019-06-26
RU2018113726A (ru) 2019-12-25
JP6538277B2 (ja) 2019-07-03
WO2017091519A1 (en) 2017-06-01
CN108475320A (zh) 2018-08-31
JP2018538603A (ja) 2018-12-27
RU2726728C2 (ru) 2020-07-15

Similar Documents

Publication Publication Date Title
KR102008466B1 (ko) 검색 질의들 중 질의 패턴 및 관련된 합계 통계의 식별
US8972413B2 (en) System and method for matching comment data to text data
US10169449B2 (en) Method, apparatus, and server for acquiring recommended topic
US10783200B2 (en) Systems and methods of de-duplicating similar news feed items
TWI506460B (zh) 內容推薦系統及方法
US9507867B2 (en) Discovery engine
US9740881B2 (en) Defense against search engine tracking
US20130268526A1 (en) Discovery engine
US10592841B2 (en) Automatic clustering by topic and prioritizing online feed items
US8880389B2 (en) Computer implemented semantic search methodology, system and computer program product for determining information density in text
US8793120B1 (en) Behavior-driven multilingual stemming
US20150149448A1 (en) Method and system for generating dynamic themes for social data
US9558269B2 (en) Extracting and mining of quote data across multiple languages
JP7223549B2 (ja) 情報運用装置および情報運用方法
Kajanan et al. Efficient automatic search query formulation using phrase‐level analysis
Cunha Study of Web search patterns in mobile devices
Knoop Making company policies accessible through Information Retrieval

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant