KR101947299B1 - 검색 질의 재작성 시스템 및 방법 - Google Patents

검색 질의 재작성 시스템 및 방법 Download PDF

Info

Publication number
KR101947299B1
KR101947299B1 KR1020177016495A KR20177016495A KR101947299B1 KR 101947299 B1 KR101947299 B1 KR 101947299B1 KR 1020177016495 A KR1020177016495 A KR 1020177016495A KR 20177016495 A KR20177016495 A KR 20177016495A KR 101947299 B1 KR101947299 B1 KR 101947299B1
Authority
KR
South Korea
Prior art keywords
query
rewrite
qril
data
value
Prior art date
Application number
KR1020177016495A
Other languages
English (en)
Other versions
KR20170085097A (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 KR20170085097A publication Critical patent/KR20170085097A/ko
Application granted granted Critical
Publication of KR101947299B1 publication Critical patent/KR101947299B1/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/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • G06F16/24565Triggers; Constraints
    • 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/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • 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/951Indexing; Web crawling techniques

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

다양한 실시예는 검색 엔진에 대한 표준화된 질의 재작성을 생성하는 데 사용될 수 있는 질의 재작성 레코드를 생성하기 위한 시스템 및 방법을 포함한다. 이러한 레코드는 재작성 트리거는 물론 질의 재작성 식별(QRIL) 레코드 내의 소정 재작성과 관련될 수 있는 제약 및 다른 메타데이터 플래그를 식별할 수 있다. 소정 실시예에서, 이러한 레코드는 재작성 충돌을 방지하고 표준화된 재작성을 생성하기 위해 다른 QRIL 레코드 또는 재작성 정보와 함께 분석될 수 있다. 이어서, 이 정보는 검색 엔진에 의해 사용자 질의에 대한 응답을 생성하는 데 사용될 수 있다.

Description

검색 질의 재작성 시스템 및 방법{SYSTEMS AND METHODS FOR SEARCH QUERY REWRITES}
관련 출원의 참조
본 출원은 2014년 11월 19일자로 출원된 미국 출원 제14/548,105호의 우선권의 이익을 주장하며, 이에 의해 그 전체가 본 명세서에 참조로서 통합된다.
기술 분야
본 출원은 일반적으로 전자 검색의 기술 분야에 관한 것으로서, 특히 전자 검색의 일부로서 사용될 수 있는 질의 재작성 시스템 및 프로세스에 관한 것이다.
사용자 질의에 기초하여 검색 결과를 제공하는 온라인 시스템에서, 검색되는 객체는 종종 사용자의 요구는 물론 온라인 시스템의 요구를 충족시키는 검색 결과를 생성하기 위해 다양한 팩터에 따라 평가된다. 질의 재작성은 이러한 검색 엔진의 일 양태이다. 질의 재작성은 검색에 사용되는 용어를 이용 가능한 검색 결과와 매칭되도록 조정하는 기능을 하며, 일부 시스템에서 질의 재작성은 주로 사용자의 검색 질의에 응답하여 조회(retrieval)되는 결과 세트를 확립하는 것을 담당한다. 본 명세서에서 설명되는 시스템 및 방법은 개선된 질의 재작성에 관한 것이다.
일부 실시예가 첨부 도면에 한정이 아니라 예시적으로 도시된다. 도면에서:
도 1은 질의 재작성 입력 언어(QRIL) 레코드를 생성, 처리 및 사용하기 위한 시스템의 예시적인 실시예의 블록도이다.
도 2는 일 실시예에 따른 QRIL 레코드를 생성, 처리 및 사용하기 위한 예시적인 방법의 상세를 나타내는 흐름도이다.
도 3은 하나의 예시적인 실시예에 따른 QRIL을 생성하기 위한 예시적인 방법을 나타내는 흐름도이다.
도 4는 하나의 예시적인 실시예에 따른 QRIL 레코드를 생성하는 양태를 나타내는 블록도이다.
도 5는 다양한 실시예와 함께 사용될 수 있는 QRIL 레코드의 하나의 예시적인 구현을 나타낸다.
도 6은 본 명세서에서 설명되는 실시예에 따른, 표준화된 질의 재작성을 사용할 수 있는 검색 엔진의 하나의 예시적인 실시예를 나타낸다.
도 7은 본 명세서에서 설명되는 실시예와 함께 사용될 수 있는 네트워크 기반 발행 시스템을 나타내는 블록도이다.
도 8은 다양한 실시예에서 사용될 수 있는 예시적인 기계이다.
전자 검색에 사용되는 질의 재작성 시스템 및 프로세스의 예시적인 실시예를 포함하는 전자 검색을 위한 예시적인 방법 및 시스템이 설명된다.
질의 재작성은 소정 검색 엔진의 양태이다. 질의 재작성은 사용자로부터 수신된 질의 용어를 질의 용어에 대한 동의어 또는 다른 알려진 정보와 매칭시키고 그러한 정보를 사용하여 표준 검색 알고리즘을 수신된 질의 용어에 적용함으로써 제공되는 검색 결과보다 우수한 검색 결과 세트를 제공하는 프로세스를 말한다. 따라서, 질의 재작성은 사용자의 검색 질의를 처리하고 사용자 질의에 응답하여 사용자에게 전송되는 결과 세트인 검색 결과 세트를 생성하는 역할을 할 수 있다.
본 명세서에서 설명되는 소정 실시예는 개선된 질의 재작성을 제공하기 위한 재작성 시스템 및 방법과 결합하여 질의 재작성 입력 언어(QRIL)를 사용하여 개선된 질의 재작성을 구현한다. 예를 들어, 검색 엔진은 개별적으로 또는 그룹 단위로 그러나 시스템에 대한 새로운 재작성의 악영향을 고려하기 위한 시스템 및 방법 없이 생성되는 재작성 명령어의 애드혹 세트(ad hoc set)를 포함할 수 있다. 이러한 애드혹 재작성 시스템에 추가 재작성이 추가됨에 따라, 상이한 재작성 간에 충돌이 존재할 수 있으며, 시스템 운영자는 충돌을 인식하지 못한다. 그러한 충돌은 예를 들어 검색 용어 또는 트리거가 2개의 상이한 재작성 값과 관련될 때 존재할 수 있다. 이것은 재작성 값이 적용되는 방식에 따라서는 사용자 질의에 응답하여 예상치 못한 원하지 않는 검색 결과 세트를 생성할 수 있다. 본 명세서에서 설명되는 실시예는 개별 재작성을 개별 재작성의 특성을 식별하는 QRIL 레코드로 트랜스코딩할 수 있다. 이어서, QRIL 프로세서는 QRIL 레코드를 시스템 내의 모든 다른 QRIL 레코드와 함께 처리하여, 표준화된 재작성 세트를 생성할 수 있다. QRIL 레코드가 처리될 때, 임의의 중복 또는 충돌 QRIL 레코드 및 관련 재작성과의 표준화된 구조적 관계가 확립된다. 예를 들어, 질의 토큰이 두 가지 다른 방식으로 재작성되어야 한다는 것을 지시하는 중복 제약을 갖는 2개의 QRIL 레코드는 우선 순위 규칙에 따라 QRIL 프로세서에 의해 해결된다. 우선 순위 규칙은 재작성 타입, 입력 시간, 입력 엔티티, 또는 QRIL 레코드에 포함된 임의의 다른 메타데이터 또는 플래그에 기초할 수 있다. 이어서, QRIL 프로세서에 의해 생성된 바와 같은 표준화된 재작성은 사용자 검색 질의에 응답하는 데 사용하기 위해 검색 엔진에 제공될 수 있다. 이것은 애드혹 질의 재작성 세트가 획득된 것과 동일한 검색 엔진일 수 있거나 다른 검색 엔진일 수 있다.
많은 실시예의 검색 엔진은 응답이 단시간 내에 사용자 검색 질의로 전송될 것을 요구하는 엄격한 서비스 사양을 갖는다. 이 때문에, 소정의 예시적인 실시예에 따른 질의 재작성 시스템은 일부 실시예에서 수분의 1초 또는 심지어는 수분의 1 밀리초 내에 재작성을 제공해야 한다. 이러한 서비스 요구는 QRIL 레코드 데이터베이스 또는 표준화된 재작성 데이터베이스에 대한 호출과 관련된 시간으로 인해 검색 엔진 또는 재작성 시스템이 그러한 호출을 행하는 것을 허용하지 않는다. 대신, 소정의 예시적인 실시예에서는, 표준화된 레코드를 검색 엔진 시스템에 통합하여 사용자 질의가 수신될 때 충분한 질의 재작성 응답 시간을 제공한다.
본 명세서에서 설명되는 바와 같이, 재작성 또는 질의 재작성은 사용자 질의의 전부 또는 일부를 다른 형태로 변경 또는 변환하는 검색 엔진에 의해 사용되는 번역을 지칭한다. 질의 재작성은 적어도 변환될 값 또는 값 세트 및 논리 연산자인 트리거, 및 트리거에 적용되는 변환 값인 재작성 값을 포함한다. 질의 재작성은 그것이 검색 엔진에서 사용됨에 따라 그리고 그것이 검색 엔진에서 사용되는 형태에서 변환을 지칭한다. 이것은 특정 파일 포맷, 텍스트 구성, 및 관련 QRIL 레코드 내의 요소 세트와 다른 간소화된 요소 세트의 사용을 포함할 수 있다. 따라서, 본 명세서에서 사용되는 바와 같은 질의 재작성은 질의 재작성 입력 언어(QRIL) 레코드와 다르지만, 아래에서는 질의 재작성 및 QRIL 레코드가 함께 상세히 설명된다. 표준화된 질의 재작성은 충돌을 제거하고, QRIL 레코드에 의해 설명되는 재작성의 적용에 표준화된 규칙 세트를 적용하기 위해 QRIL 레코드로부터 QRIL 프로세서에 의해 생성된 재작성이다.
본 명세서에서 설명되는 바와 같은 QRIL 레코드는 시스템이 상이한 질의 재작성 사이의 충돌을 해결하는 것은 물론 검색 엔진의 예상에 따라 충분히 정의되지 않은 질의 재작성에 관한 모호함을 치유할 수 있게 하는 질의 재작성에 관한 다른 정보와 함께 질의 재작성을 설명하는 도메인 고유 데이터 구조를 지칭한다. QRIL 레코드를 그의 관련 질의 재작성과 함께 생성하고 사용하기 위한 시스템 및 방법이 아래에서 상세히 설명된다.
본 명세서에서 설명되는 바와 같이, 사용자 질의는 정보에 대한 사용자의 검색을 나타내는 클라이언트 장치로부터 검색 엔진 시스템에 의해 수신되는 정보를 지칭한다. 사용자 질의는 다양한 실시예에서 다양한 형태를 취할 수 있다. 하나의 특정 실시예에서, 사용자 질의는 문자 스트링을 포함한다. 스트링은 임의 포맷의 다수의 단어, 심벌, 공백 또는 숫자를 포함할 수 있다.
본 명세서에서 언급되는 바와 같은 검색 엔진은 사용자 질의를 수신하고 사용자 질의 내의 정보와 관련된 매치 리스트를 생성하기 위해 검색 엔진에 의해 이용 가능한 정보를 검색하도록 구성된 하나 이상의 장치이다. 임의의 수의 상이한 매칭 알고리즘이 본 명세서에서 설명되는 실시예에 따라 검색 엔진에 의해 사용될 수 있다. 본 명세서에서 상세하게 설명되는 바와 같은 질의 재작성은 특히 검색 엔진에 의해 생성되는 매치가 시스템 운영자에 의해 조정되는 것을 가능하게 한다. 검색 엔진에 의해 사용되는 매칭 알고리즘을 조정하는 시스템 운영자에 의해 유사한 조정이 이루어질 수 있지만, 질의 재작성은 시스템 운영자가 매칭 알고리즘의 무결성을 해치지 않고 그러한 조정을 수행하는 것을 가능하게 한다. 매칭 알고리즘 내의 가중치의 조정이 예상치 못한 방식으로 매칭 결과에 악영향을 주는 상당한 위험을 갖는 경우, 본 명세서에서 설명되는 표준화된 재작성 및 그러한 표준화된 재작성을 사용하는 검색 엔진의 실시예는 사용자가 매칭 알고리즘을 변경 없이 그대로 유지하는 질의 재작성을 사용하여, 정의되고 예측 가능한 방식으로 검색 엔진에 의해 출력되는 검색 결과 세트에 영향을 주는 것을 가능하게 한다. 대신, 표준화된 재작성은 시스템 운영자 또는 질의 재작성을 생성할 수 있는 다른 시스템 사용자가 원하는 대로 검색 엔진 동작을 맞춤화하거나 또는 조정하기 위해 매칭 알고리즘에 대한 입력을 조정한다. 유사하게, 데이터 마이닝, 제삼자, 전자 상거래 판매 페이지, 다수의 전자 상거래 판매 페이지 및 제품과 관련된 검색 엔진, 및 추가적인 시스템 복잡성을 포함하는 대형 복합 시스템에서, 표준화된 질의 재작성 시스템은 복합 검색 엔진 시스템으로부터의 전자 상거래 검색 요소의 분리를 가능하게 한다. 이것은 또한 상이한 그러한 당사자가 개별 질의 재작성을 쉽게 이해할 수 있게 하는 방식으로 질의 재작성을 공식화하고, 특정 질의 재작성과 시스템 내의 모든 다른 질의 재작성의 상호 작용을 더 공식화한다.
또한, 질의 재작성의 사용은 검색 엔진 매칭 알고리즘의 무결성을 유지하지만, 구조화되지 않은 질의 재작성은 서로 충돌할 수 있다. 예를 들어, 제1 질의 재작성은 "스마트폰 A"를 "제품 B"로 번역할 수 있다. 제2 질의 재작성은 "스마트폰 A"를 "제품 특성 C"로 번역할 수 있다. 제3 질의 재작성은 "스마트폰"의 모든 토큰 인스턴스를 "장치 A"로 번역할 수 있다. 이들 질의 재작성은 복잡하고 예상치 못한 방식으로 상호 작용할 수 있다. 이것은 제1 질의 재작성의 소스가 제3 질의 재작성의 소스와 달라서 제1 질의 재작성의 생성자가 다른 중복 또는 충돌 질의 재작성을 인식하지 못하는 경우에 특히 그러하다. 대형 검색 엔진 실시예는 수백만 개의 질의 재작성을 포함할 수 있다. 대형 전자 상거래 시스템용 검색 엔진은 예를 들어 2500만 개 이상의 재작성을 포함할 수 있다. 본 명세서에서 설명되는 실시예는 동일한 시스템에서 동작하는 상이한 질의 재작성 간의 충돌 및 상호 작용이 어떻게 해결되는지를 판단하는 표준화된 우선 순위 규칙을 제공한다.
본 명세서에서 설명되는 실시예의 양태는 재작성 타입의 분류에 관한 것이다. 소정 실시예는 재작성 타입의 상이한 분류를 사용할 수 있다. 본 명세서에서 설명되는 바와 같이, "직접" 또는 기본 재작성은 재작성의 일 타입이고, 문구 재작성은 재작성의 일 타입이고, "토큰 정밀화"는 재작성의 일 타입이고, "전체 질의 재작성"은 재작성의 일 타입이다. 다른 구현은 재작성의 다른 분류를 포함할 수 있다.
본 명세서에서 언급되는 바와 같이, 직접 재작성은 재작성 값과 직접 관련된 트리거를 포함한다. 직접 재작성은 다양한 제약, 카테고리 및 메타데이터를 포함하는 추가적인 관련 양태를 가질 수 있지만, 기본 구조는 트리거와 재작성 값 사이의 직접 관련이다. 전자 상거래 검색 엔진과 관련된 추가 정보를 포함하는 직접 재작성 구조의 예는 다음과 같다.
제약 = [질의가 발급된 전자 상거래 사이트, 트리거, 카테고리 제약, 질의 기원 국가]
재작성 = [재작성 값, 카테고리 재작성, 양태 재작성, 아이템 리스팅 Siteid]
상기 구조를 사용하는 재작성의 예는 다음과 같다.
제약 = [질의가 발급된 전자 상거래 사이트 = "미국", 키워드 트리거 = "폰(fone)", 카테고리 = "전자공학", 질의 기원 국가 = "캐나다"]
재작성 = [키워드 재작성 = "스마트폰", 카테고리 재작성 = "123456", 양태 재작성 = "없음", 아이템 리스팅 Siteid = "캐나다"]
본 명세서에서 사용되는 되는 바와 같이, 문구 재작성은 문구에 대한 트리거의 재작성을 포함하며, 문구는 연속 단어 토큰의 시퀀스로서 정의된다. 이것은 직접 재작성이 단일 토큰인 재작성 값을 가질 수 있다는 점에서 직접 재작성과 다르며, 문구 재작성의 재작성 값은 다수의 토큰을 포함하는 문구이다. 또한, 직접 재작성은 다수의 토큰을 갖는 재작성 문구를 가질 수 있지만, 직접 재작성의 재작성 값에 대한 토큰 순서는 지정되지 않는다. 문구 재작성은 대응하는 직접 재작성보다 더 고유한 아이템 세트의 리콜을 가능하게 한다. 예를 들어, 트리거 "내장 카메라" 및 재작성 값 "내장 후방 카메라"를 갖는 직접 재작성은 동일한 트리거 "내장 카메라" 및 재작성 값 "내장 문구(후방 카메라)"를 갖는 문구 재작성보다 더 많은 아이템과 매칭될 것이다. 소정 상황에서는, 문구 재작성이 바람직한데, 이는 문구 재작성이 더 정확한 아이템 세트와 매칭되기 때문이다.
본 명세서에서 사용되는 바와 같이, 토큰 정밀화는 트리거에 대한 키워드의 추가 또는 삭제를 포함하는 재작성을 지칭한다. 예를 들어, 트리거 "값싼 새로운 공주 스마트폰 케이스"가 허용 가능한 검색 결과 세트를 제공하지 않는 경우, 시스템은 토큰 정밀화 재작성을 사용하여 질의로부터 단어(즉, 토큰)를 삭제할 수 있다. 용어 트리거가 사용자 질의에서 충분히 자주 보이는 경우, 시스템은 토큰 "값싼" 및 "새로운"이 사용자가 통상적으로 이러한 검색 질의를 사용하여 조회하려고 시도하는 검색 결과 요소에 중요하지 않은 것으로 판단하기에 충분한 정보를 수집할 수 있다. 따라서, 이러한 용어를 삭제하는 토큰 정밀화는 "값싼 새로운 공주 스마트폰 케이스"를 "공주 스마트폰 케이스"로 재작성하는 데 사용될 수 있다. 이것은 토큰 삭제의 예이다. 반대로, 토큰 정밀화는 단어를 질의에 추가하는 데에도 사용될 수 있다. 예를 들어, 트리거 "브랜드 A"는 브랜드 A와 관련된 전자 상거래 검색 엔진 내의 유일한 인기 제품일 수 있는 "모델 # 123"의 토큰 정밀화 재작성 값을 가질 수 있다. 토큰 정밀화는 사용자 질의 내의 트리거 값을 재작성 값으로 대체하는 통상적인 재작성이 아니라 트리거에 대한 변경이다. 소정 토큰 정밀화는 일부 상황에서 직접 재작성과 동일한 기능적 효과를 가질 수 있지만, 직접 재작성 및 토큰 정밀화 재작성에 대한 카테고리의 생성은 다양한 실시예에서 충돌 해결 및 소정 타입의 QRIL 레코드 구조를 가능하게 한다.
도 1은 질의 재작성 입력 언어(QRIL) 레코드를 생성, 처리 및 사용하기 위한 시스템(100)의 예시적인 실시예의 블록도이다. QRIL은 도메인 고유 언어이다. 본 명세서에서 설명되는 특정 실시예는 전자 상거래 검색 및 전자 상거래 고유 검색 질의 재작성을 위한 도메인 고유 언어인 QRIL을 제공할 수 있다. 본 명세서에서 설명되는 소정의 예시적인 실시예가 특히 전자 상거래 및 전자 상거래 검색 질의와 관련되지만, 본 명세서에서 설명되는 실시예의 양태는 다른 타입의 검색 질의 도메인에도 적용될 수 있음이 명백할 것이다.
시스템(100)은 질의 재작성 소스(110), 질의 트랜스코딩 장치(120), QRIL 레코드 데이터베이스(130), QRIL 프로세서(140), 생성 데이터베이스(150) 및 검색 엔진(160)을 포함한다. 표준화된 재작성(142)의 세트가 또한 검색 엔진(160), 생성 데이터베이스(150) 또는 이들 양자로 통신되는 QRIL 프로세서(140)의 출력으로 도시된다.
시스템(100)에 의해 도시된 바와 같이, 질의 재작성 소스(110)는 다수의 상이한 재작성 소스를 포함한다. 이것은 도시된 임의 수의 예시적인 재작성 소스는 물론, 다른 타입의 재작성 소스도 포함할 수 있다. 질의 재작성 소스(110)는 질의 데이터베이스(112), 데이터 마이닝 모듈(114), 재작성 최적화 모듈(116) 및 편집 웹 서비스 모듈(118)을 포함하는 것으로 도시된다.
질의 데이터베이스(112)는 다양한 네트워킹된 데이터베이스 소스로부터의 애드혹 질의 재작성의 로컬 데이터베이스 또는 애드혹 질의 재작성의 세트를 포함한다. 예를 들어, 질의 데이터베이스(112)는 질의 재작성의 세트 또는 검색 엔진(160)과 다른 검색 엔진을 포함할 수 있다. 이것은 검색 엔진(160)에 의해 사용되는 것과 다른 질의 재작성 포맷 및/또는 구조를 사용하는 검색 엔진을 포함할 수 있다. 이러한 정보는 질의 재작성 데이터의 세트로서 질의 트랜스코딩 장치(120)로 전송될 수 있다.
데이터 마이닝 모듈(114)은 사용자 질의, 이러한 사용자 질의에 대한 검색 엔진 응답인 검색 결과 및 사용자의 검색 결과 수신에 이어지는 사용자 선택을 분석하는 시스템을 포함한다. 이러한 사용자 선택은 특정 웹 사이트에 대한 링크의 선택, 검색 결과에 열거된 제품의 사용자 구매 또는 사용자 질의와 관련된 검색 결과의 사용자 수신 이후에 취해진 임의의 다른 기록된 사용자 액션을 포함할 수 있다. 그러한 데이터는 동일한 초기 검색 질의를 제출한 상이한 사용자에 대해 사용된 상이한 질의 재작성에 관한 정보를 더 포함할 수 있다. 충분히 큰 데이터 세트의 경우, 특정 입력 질의, 질의 재작성, 검색 결과 및 사용자 응답에 대한 통계 정보 및 분석이 생성될 수 있다. 데이터 마이닝 모듈(114)은 이러한 정보를 분석하여 질의 재작성 데이터 세트를 생성할 수 있다.
재작성 최적화 모듈(116)은 생성 데이터베이스(150)와 같은 재작성의 데이터베이스를 포함한다. 예를 들어, 생성 데이터베이스(150)로부터의 표준화된 재작성(142)은 재작성 최적화 모듈(116)로 통신될 수 있다. 이어서, 재작성 최적화 모듈(116)은 표준화된 재작성(142)의 세트를 분석하여, 비효율, 중복 재작성을 식별하거나, 표준화된 재작성(142)의 세트의 일부로서 존재하는 재작성에 기초하여 새로운 재작성을 생성할 수 있다. 최적화 모듈(116)에 의해 식별된 새로운 재작성 또는 재작성 최적화 모듈(116)에 의해 식별된 임의의 중복 또는 비효율적인 재작성은 질의 재작성 데이터의 세트로서 질의 트랜스코딩 장치(120)로 통신될 수 있다.
편집 웹 서비스 모듈(118)은 시스템(100)에 대한 제삼자 액세스가 맞춤화된 QRIL 레코드 및 관련된 표준화된 재작성을 생성할 수 있게 하는 서비스 포털을 포함한다. 예를 들어, 편집 웹 서비스 모듈(118)은 검색 엔진(162)과 관련된 전자 상거래 포털 상에서 제품을 판매하는 상인이 질의 재작성 데이터 세트를 질의 트랜스코딩 장치(120)에 제출하는 것을 가능하게 하는 등록 서버를 포함할 수 있다. 이러한 실시예에서, 상인은 특정 제약과 관련될 수 있다. 예를 들어, 상인은 검색 엔진(160)과 관련된 전자 상거래 사이트의 일부로서 상점 또는 포털을 가질 수 있다. 상인에 의해 제공되는 질의 재작성 데이터 세트로부터 생성되는 QRIL 레코드는 이러한 QRIL 레코드로부터 생성되는 표준화된 재작성을 상인의 상점으로 제한하는 제약을 자동으로 포함할 수 있다. 또한, QRIL 프로세서(140)는 우선 순위 규칙을 구현하므로, 시스템(100)은 편집 웹 서비스 모듈(118)을 통해 수신되는 제삼자로부터의 질의 재작성 데이터 세트에 의해 유발될 수 있는 잠재적인 에러를 제한한다.
질의 트랜스코딩 장치(120)는 질의 재작성 소스(110)로부터 질의 재작성 데이터 세트를 수신하고 이 정보를 사용하여 QRIL 레코드를 생성한다. 이러한 QRIL 레코드는 단일 질의 재작성 소스(110)로부터 수신된 정보만으로 생성될 수 있거나, QRIL 레코드는 다수의 소스로부터 수신된 질의 재작성 데이터로부터 생성될 수 있다. 소정 실시예에서, 질의 트랜스코딩 장치(120)에 의해 저장된 이력 데이터는 QRIL 레코드를 생성하기 위해 크레이그(Craig) 재작성 소스(110)로부터의 질의 재작성 데이터와 함께 사용될 수 있다. 질의 트랜스코딩 및 질의 트랜스코딩 장치(120)와 관련된 추가적인 상세는 도 4의 질의 트랜스코딩 시스템(400)과 관련하여 아래에서 설명된다.
하나 이상의 QRIL 레코드가 질의 트랜스코딩 장치(120)에 의해 생성되면, QRIL 레코드는 QRIL 레코드 데이터베이스(130)에 저장된다. QRIL 레코드 데이터베이스(130)는 질의 트랜스코딩 장치(120), QRIL 처리기(140), 또는 임의의 다른 장치와 통합되는 메모리 저장 장치일 수 있다. QRIL 레코드 데이터베이스(130)는 표준화된 재작성 세트(142)와 같은 표준화된 재작성 세트를 생성하는 데 사용될 수 있는 QRIL 레코드 세트를 저장한다. 소정 실시예에서, QRIL 레코드 데이터베이스(130)는 개별 QRIL 레코드 세트를 포함할 수 있다. 이것은 단일 질의 트랜스코딩 장치(120), QRIL 레코드 데이터베이스(130) 및 QRIL 프로세서(140)가 상이한 검색 엔진에 고유한 표준화된 재작성 세트를 제공하는 것을 가능하게 할 수 있다.
표준화된 재작성 세트(142)가 검색 엔진(160)에 대해 생성될 때, QRIL 프로세서(143)는 QRIL 레코드 데이터베이스(130)로부터의 QRIL 레코드를 사용한다. 소정 실시예에서, 각각의 QRIL 레코드가 개별적으로 조회될 수 있거나, QRIL 레코드 세트가 QRIL 프로세서(140)에 의해 한꺼번에 요청될 수 있다. 이어서, QRIL 프로세서(140)는 QRIL 레코드 데이터베이스(130)로부터의 QRIL 레코드 세트를 분석하여 표준화된 재작성 세트(142)를 생성한다. 이 프로세스의 일부로서, 각각의 QRIL 요소와 관련된 재작성 타입이 식별될 수 있으며, 표준화된 재작성을 생성할 뿐만 아니라, 상이한 QRIL 요소에 의해 정의된 표준화된 재작성 간의 임의의 충돌을 해결하기 위해 다른 제약 및/또는 메타플래그 정보가 처리될 수 있다. 표준화된 재작성 세트(142)는 QRIL 프로세서(140)가 QRIL 레코드 데이터베이스(130)로부터의 QRIL 레코드를 분석함으로써 생성되는 QRIL 프로세서(140)의 출력이다. 표준화된 재작성 세트(142)가 완료될 때, 이 세트는 QRIL 프로세서(140)로부터 생성 데이터베이스(150)로 출력될 수 있다. 다양한 실시예에서, 생성 데이터베이스(150)는 옵션이다. 전술한 바와 같이, 생성 데이터베이스(150)는 검색 엔진(160)에서 활성인 실제의 표준화된 재작성을 검증하는 데 사용될 수 있다. 생성 데이터베이스(150)는 표준화된 재작성 세트(142)의 후속 갱신 버전 내의 재작성을 더 정밀화하기 위해 재작성 최적화 모듈(116)에 의해 사용될 수도 있다. 또한, 생성 데이터베이스(150)는 표준화된 재작성 및 표준화된 재작성에 의해 재작성되는 사용자 질의와 관련된 검색 결과에 대한 소정 QRIL 레코드의 악영향을 검증하기 위해 테스트 검색 엔진과 함께 사용될 수 있다. 예를 들어, 편집 웹 서비스 모듈(118)은 생성 데이터베이스(150) 내의 상인에 관련된 표준화된 재작성 세트(142)의 재작성뿐만 아니라, 도시되지 않은 테스트 검색 엔진에 대한 상인 액세스를 제공할 수 있다. 편집 웹 서비스 모듈(118)은 상인이 코레이(Corey) 트랜스코딩 장치(120) 및 QRIL 프로세서(144)에 의해 처리될 질의 재작성 데이터의 세트, 질의 재작성 데이터의 상인 세트로부터의 상인 변경에 기초하는 표준화된 재작성의 비생성 세트를 제공하는 것을 가능하게 할 수 있다. 이어서, 상인은 테스트 질의를 제출하여 이러한 테스트 질의 재작성이 기존의 표준화된 재작성과 어떻게 상호작용하는지를 관찰하여 테스트 검색 엔진 내에서 검색 결과 세트를 생성할 수 있다.
검색 엔진(160)은 표준화된 재작성 세트(142)와 같은 질의 재작성을 사용하는 임의의 검색 엔진일 수 있다. 전술한 바와 같이, 특정 전자 상거래 관련 검색 엔진이 본 명세서에서, 특히 도 8의 검색 엔진(800)에서 상세히 설명된다. 하나의 특정 실시예에서, 검색 엔진(160)은 검색 매칭 알고리즘의 일부로서 제품 카테고리 트리를 사용하여 사용자 질의로부터 검색 결과를 생성하는 전자 상거래 검색 엔진이다. 이러한 전자 상거래 검색 엔진과 관련된 전자 상거래 웹 포털은 사용자가 구매할 제품의 식별과 관련되므로, 검색 엔진(160)과 통합된 이러한 카테고리 트리는 전자 상거래 검색 엔진 내에서 제품 검색 및 검색 결과를 구조화하기 위해 질의 재작성과 통합될 수 있는 제약 및 메타플래그 정보를 제공할 수 있다. 예를 들어, 이러한 카테고리 트리는 소정 제품 타입과 관련된 브랜드 이름이 제품 타입 검색과 매칭되는 것을 가능하게 할 수 있다. 이러한 매치는 텍스트 또는 단어 매칭 알고리즘을 사용하는 시스템에서는 수행되지 못할 수 있다. 이러한 전자 상거래 검색 엔진, 및 표준화된 질의 재작성 및 관련 QRIL 레코드 내의 카테고리 메타플래그 정보와 관련된 추가 상세가 아래에서 더 상세히 설명된다.
시스템(100)은 QRIL 레코드 및 관련된 표준 재작성을 생성할 뿐만 아니라 검색 엔진에서 QRIL 레코드로부터 생성된 표준 재작성을 사용하기 위한 시스템의 하나의 잠재적 구현을 설명한다. 다양한 실시예에서, 시스템(100)의 각각의 요소는 단일 장치 또는 다수의 장치 내의 모듈로서 구현될 수 있다. 이러한 요소는 또한 개별 장치로서 또는 다수의 장치에 걸쳐 동작하는 시스템으로서 구현될 수 있다. 따라서, 질의 트랜스코딩 장치는 QRIL 프로세서(140)와 함께 동일한 장치 상에서 동작하는 모듈일 수 있다. 대안으로서, 질의 트랜스코딩 장치(120)는 QRIL 프로세서(140)를 구성하는 하나 이상의 장치에 대한 추가 네트워크인 컴퓨팅 장치의 네트워크 시스템일 수 있다.
도 2는 일 실시예에 따른 QRIL 레코드를 생성, 처리 및 사용하기 위한 예시적인 방법(200)의 상세를 나타내는 흐름도이다. 이러한 방법(200)은 본 명세서에서 제시되는 혁신의 다양한 상이한 실시예에 의해 수행될 수 있지만, 예시의 목적으로 방법(200)의 동작은 시스템(100)과 관련하여 설명된다.
동작 205는 편집 웹 서비스 모듈(118)과 관련하여 전술한 바와 같은 옵션인 등록 단계이다. 이러한 등록은 소정 시스템 사용자가 QRIL 레코드와 관련된 재작성을 QRIL 레코드를 생성하는 시스템 사용자와 특히 관련된 특정 검색으로 제한하는 제약 값을 갖는 QRIL 레코드를 생성하는 것을 가능하게 할 수 있다. 이러한 관련성의 일례는 상인이 시스템(700)과 같은 더 광범위한 발행 시스템에 대한 액세스를 갖는 가상 상점을 운영하는 것일 수 있다. 이러한 QRIL 레코드는 관련된 표준화된 재작성을 상인의 가상 상점으로부터 수신된 질의에만 적용하는 것으로 제한하는 제약을 포함할 수 있다. 동작 205는 상인, 검색 컨설턴트, 시스템 사용자, 미들웨어 제공자 또는 임의의 다른 그러한 제삼자와 같은 제삼자에게 시스템(100)에 대한 액세스가 제공될 때 발생할 수 있다. 동작 205는 질의 트랜스코딩 장치(120)에 대한 등록이다. 다양한 다른 실시예에서, 중간 편집 웹 서비스 모듈(118)은 등록 시스템을 완전히 핸들링할 수 있거나, 추가 보안 계층 및 사용자 인터페이스 계층이 등록, 액세스 및 다른 다양한 계정 상세를 핸들링하기 위해 제공될 수 있다. 다른 실시예에서, 질의 재작성 자원(110) 및 질의 트랜스코딩 장치(120)는 관련 등록 프로세스에 대한 필요 없이 네트워크 또는 소정의 다른 통신 경로의 일부로서 통신 결합될 수 있다.
동작 210에서, 질의 재작성 데이터가 질의 트랜스코딩 장치(120)에 의해 수신된다. 이것은 운영자 선택, 또는 시스템 갱신의 일부로서 질의 트랜스코딩 장치(120)에 주기적으로 제공되는 질의 재작성 데이터의 자동 갱신에 응답하여 행해질 수 있다. 질의 재작성 데이터가 운영자 선택에 응답하여 질의 트랜스코딩 장치(120)에 제공되는 실시예에서, 선택은 아래에서 더 상세히 설명되는 제삼자 서버(730), 클라이언트 기계(710) 또는 클라이언트 기계(712)와 같은 기계를 조작하는 사용자에 의해 행해질 수 있다. 이러한 장치의 동작의 일부로서, 제삼자 애플리케이션(728), 웹 클라이언트(706) 또는 프로그램 클라이언트(708)는 사용자가 질의 재작성 데이터를 2개의 질의 트랜스코딩 장치(120)로 송신할 수 있게 하는 입력 선택을 갖는 사용자 인터페이스를 포함할 수 있다. 이러한 애플리케이션 또는 클라이언트는 이전의 동작 205의 일부로서 시스템(100)에 등록하기 위해 질의 트랜스코딩 장치(120) 또는 중간 등록 장치 또는 애플리케이션과 통신할 수 있다. 질의 재작성 데이터의 자동 통신 또는 질의 재작성의 사용자 선택 통신에 대한 옵션이 사용자에 의해 등록의 일부로서 선택될 수 있거나, 미리 결정된 시스템 설정에 의해 자동으로 설정될 수 있다.
동작 215에서, 동작 210에서 수신된 질의 재작성 데이터를 분석하여 트리거 및 관련 재작성 값을 식별한다. 본 명세서에서 사용되는 바와 같이, 트리거는 문자, 단어, 문구, 심벌, 또는 임의의 다른 정보 세트를 지칭하며, 이는 사용자 질의의 일부로서 수신될 때 재작성의 일부로서 이러한 정보 세트를 다른 형태로 변환하기 위해 재작성을 시작하는 데 사용된다. 예를 들어 "스마트폰"이라는 단어는 트리거일 수 있다. 그리고, 관련 재작성 값은 "브랜드 A 전화"일 수 있다. 질의 재작성 데이터가 질의 재작성 세트를 포함하는 질의 데이터베이스(112)로부터 수신되는 경우, 트리거 및 관련 재작성 값은 질의 재작성 데이터에서 명시적으로 식별될 수 있다. 이 경우, 문자 파서(character parser)를 사용하여 질의 재작성 데이터로부터 트리거 및 재작성 값을 식별할 수 있다. 트리거 및 관련 재작성 값이 질의 재작성 데이터를 분석하는 문자 파서에 의해 명시적으로 식별되지 않으면, 재작성에서 트리거를 식별하기 위해 추가 분석이 수행될 수 있거나, 질의 트랜스코딩 장치(120)에 의해 데이터 재작성 데이터가 트리거 또는 재작성을 포함하지 않는 데이터로서 플래깅(flagging)될 수 있고, 이 데이터로부터 QRIL 레코드가 생성되지 못할 수 있다. 트리거 식별 및 재작성 식별과 관련된 추가 상세가 도 4의 질의 트랜스코딩 장치(400)와 관련하여 아래에서 설명된다.
동작 220에서, 질의 재작성 타입이 식별된 트리거 및 재작성에 할당된다. 질의 재작성 타입은 질의 재작성 데이터로부터 도출된 표준화된 재작성이 수신되는 우선권 또는 우선 순위 레벨을 결정하는 데 사용된다. 질의 재작성 타입은 재작성의 구조, 질의 재작성 데이터의 일부로서 재작성과 관련된 데이터 또는 메타데이터의 지원 또는 이들 양자에 의해 결정된다. "스마트폰"이 재작성 "브랜드 A 전화"와 관련되는 위의 재작성은 본 명세서에서 직접 재작성이라고 한다. 직접 재작성의 구조는 트리거 및 재작성 값을 포함한다. 이것은 가장 간단한 구조이며, 재작성은 트리거를 재작성 값으로 대체하는 것을 포함한다. 재작성 타입의 추가 예는 문구 재작성, 토큰 정밀화 재작성 및 전체 질의 재작성을 포함한다. 질의 재작성 타입 및 상이한 질의 재작성 타입의 특정한 예시적인 실시예와 관련된 추가 상세가 도 4와 관련하여 아래에서 설명된다.
동작 225에서, 질의 재작성 데이터에 존재하는 임의의 다른 관련 제약 또는 메타데이터 정보가 식별될 수 있다. 재작성 값에서의 트리거의 식별과 유사하게, 이러한 다른 관련 제약 또는 메타데이터 정보는 문자 세트로서 데이터 내에 존재할 수 있고, 문자 파서는 QRIL 레코드의 요소와 관련된 소정 제약과 매칭되는 것으로 알려진 문자 그룹핑을 식별할 수 있다. 다수의 상이한 QRIL 요소를 포함하는 예시적인 QRIL 레코드가 도 7에 도시된 QRIL 레코드(700) 및 QRIL 레코드(700)의 다양한 컴포넌트에 의해 도시된다. QRIL 레코드(700)의 임의의 컴포넌트는 동작 220의 일부로서 파서에 의해 식별될 수 있다.
또한, 동작 225에서, QRIL 레코드는 동작 215 및 220에서 식별된 트리거, 재작성 값, 질의 재작성 타입 및 관련 제약 또는 메타데이터 정보로부터 생성된다. 그러한 레코드는 레코드 구조를 생성하고, 동작 215 및 220에서 사용된 파서로부터 텍스트, 심벌 또는 다른 운영자 정보를 수집하기 위해 프로세서를 사용하여 생성될 수 있다. QRIL 레코드 생성을 위해 사용될 수 있는 시스템의 추가 상세가 아래에서 도 4와 관련하여 설명된다. QRIL 레코드는 특정 수의 요소로 구조화될 수 있거나, 질의 재작성 데이터에서 식별되는 관련 정보를 갖는 요소만을 사용하여 생성될 수 있다. QRIL 레코드가 설정된 수의 요소로 구조화되고, 정보가 특정 QRIL 요소에 대해 식별되지 않으면, QRIL 레코드는 제로 또는 널 엔트리(null entry)를 갖는 해당 요소로 구조화될 수 있다. 전술한 바와 같이, QRIL(700)은 QRIL 레코드의 예이고, 하나의 구현에서, QRIL 레코드(700)는 동작 225 동안 생성될 수 있다. QRIL 레코드와 관련된 추가 상세가 아래에서, 특히 도 5의 QRIL 레코드(500)와 관련하여 설명된다.
동작 230에서, 시스템은 수신된 질의 재작성 데이터로부터 추가적인 QRIL 레코드가 생성될 수 있는지 또는 하나 이상의 질의 재작성 소스(110)로부터 수신되고 분석될 추가적인 질의 재작성 데이터가 있는지를 알기 위해 검사한다. 추가적인 질의 재작성 데이터가 여전히 분석되어야 하는 경우, 프로세스는 동작 235에서 계속하여, 하나 이상의 소스로부터의 추가 재작성 데이터를 처리한다. 이 질의 재작성 데이터는 단일 질의 재작성 소스(110) 또는 다수의 질의 재작성 소스(110)로부터 올 수 있다. 이것은 질의 데이터베이스(112), 데이터 마이닝 모듈(114), 재작성 최적화 모듈(116) 또는 편집 웹 서비스 모듈(118)을 포함하는 질의 재작성 소스(110)의 일부로서 도시된 임의의 소스를 포함할 수 있다. 이어서, 처리될 추가 질의 재작성 데이터가 남지 않을 때까지 동작 215 내지 230이 반복된다. 다양한 실시예에서, 동작 210 내지 230에서의 질의 재작성 데이터의 이러한 처리는 임의 수의 프로세서, 질의 트랜스코딩 장치(120), 또는 그러한 동작을 수행하는 다른 모듈 또는 장치를 사용하여 동시에 수행될 수 있다. 다른 실시예에서, 이러한 처리는 주기적으로 수행되거나 새로운 질의 재작성 데이터를 식별하는 트리거가 수신되는 임의의 경우에 수행되는 동작 세트일 수 있다. 소정 실시예에서, QRIL 레코드는 동작 210 내지 230에서 생성되고 집계될 수 있으며, 따라서 상이한 시간에 생성된 QRIL 레코드가 모두 QRIL 레코드 데이터베이스로 함께 통신될 수 있다. 다른 실시예에서, 각각의 QRIL 레코드는 생성되는 대로 QRIL 레코드 데이터베이스(130)에 저장된다. 소정 실시예에서, 단일 질의 트랜스코딩 장치(120)가 QRIL 레코드를 다수의 데이터베이스로 전송할 수 있고, 목표 데이터베이스가 질의 레코드 데이터로부터 식별된 정보에 의해, 질의 재작성 소스(110)의 식별에 의해 또는 동작 205에서 등록의 일부로서 수신된 정보에 의해 결정될 수 있다.
동작 230에서 추가적인 재작성 데이터가 식별되지 않으면, 모든 QRIL 레코드가 동작 240에서 QRIL 레코드 데이터베이스(130)에 저장된다. QRIL 레코드 데이터베이스(130)에 저장되는 QRIL 레코드는 후속 사용을 위해 저장될 수 있고, 따라서 동작 240과 동작 245 사이에 시간 지연이 존재하거나, QRIL 데이터베이스(130)에 저장된 갱신 및 새로운 QRIL 레코드가 분석을 위해 즉시 QRIL 프로세서로 통신될 수 있다.
동작 245에서, QRIL 레코드가 하나 이상의 QRIL 프로세서에 의해 분석된다. 소정 실시예에서, 개별적인 QRIL 레코드가 단일 QRIL 프로세서에 의해 순차적으로 분석될 수 있다. 다른 실시예에서, QRIL 레코드는 QRIL 프로세서(140)와 같은 하나 이상의 QRIL 프로세서에 의해 병렬로 분석될 수 있다. QRIL 프로세서 분석은 검색 엔진과 관련된 포맷, 및 검색 엔진에 대해 허용 가능한 포맷으로 표준화된 재작성을 생성하는 데 필요한 QRIL 레코드로부터의 정보를 결정한다. 방법(200)은 QRIL 프로세서 분석 및 표준화된 질의 생성의 하나의 예시적인 구현을 설명하지만, 상이한 실시예에서 사용될 수 있는 QRIL 프로세서 동작의 추가적인 상세 및 다른 양태가 도 5의 QRIL 프로세서(540)와 관련하여 아래에서 설명된다.
동작 245의 일부로서, QRIL 레코드의 요소로서 포함된 질의 타입이 QRIL 프로세서(140)에 의해 식별될 수 있고, 다양한 상이한 처리 동작이 QRIL 레코드의 질의 타입에 기초하여 구현될 수 있다. 상이한 질의 타입과 관련된 상세가 아래에서 설명되며, 상이한 질의 타입의 특성이 동작 245 동안 QRIL 프로세서(140)에 의해 사용될 수 있다. 동작 245에서의 QRIL 레코드의 초기 분석 후에, 재작성 충돌 및 우선 순위 규칙이 후술되는 바와 같은 동작 250 내지 290에서 하나 이상의 재작성을 생성하는 데 사용될 수 있다.
전술한 상이한 타입의 질의 재작성에 더하여, 소정 QRIL 레코드 및 관련 재작성은 재귀적 재작성을 포함할 수 있다. 동작 250은 재귀적 재작성과 관련된 설정에 대해 QRIL 레코드를 검사한다. 재귀적 재작성이라는 용어는 제1 재작성과 관련된 재작성 값이 제2 재작성과 관련된 트리거일 때 발생할 수 있는 재작성의 체인을 말한다. 예를 들어, 제1 직접 재작성이 트리거 "폰" 및 재작성 값 "스마트폰"을 갖고, 제2 직접 재작성이 트리거 "스마트폰" 및 재작성 값 "전화 모델 #12345"를 가지면, 재작성 체인은 사용자의 질의 내의 토큰 "폰"이 "전화 모델 #12345"로 재작성되게 할 수 있다. 동작 250의 검사는 QRIL 레코드와 관련된 재작성을 위해 재귀적 재작성이 허용되거나 가능해지는지를 나타내는 QRIL 레코드 요소를 포함할 수 있다. 소정 QRIL 레코드는 소정 실시예에서 재작성 값이 추가 재작성을 위한 트리거로서 사용되는 것을 특별히 허용하거나 특별히 금지하는 요소를 포함할 수 있다. 다른 실시예에서, 시스템 규칙은 재귀적 재작성이 허용되는지를 판단할 수 있다. 재귀적 재작성이 허용되는 경우, 시스템은 임의의 관련된 QRIL 레코드 또는 이전에 생성된 표준화된 재작성을 분석하도록 진행할 수 있다. 예를 들어, 트리거 "폰"을 갖는 재작성이 재귀적 재작성이 허용되지 않음을 나타내는 QRIL 요소의 일부인 경우, 표준화된 질의 재작성 세트의 일부인 제2 재작성은 이러한 QRIL 요소에 대한 표준화된 재작성의 생성 동안 무시된다. 그러나 재귀적 재작성이 허용되는 경우, 동작 255에서, QRIL 프로세서(140)는 처리되는 QRIL 요소에 대한 재작성 값의 전부 또는 일부와 매칭되는 트리거를 갖는 재작성을 검사할 것이다. 이것은 QRIL 레코드 데이터베이스(130) 내의 모든 QRIL 요소를 검사하는 것을 포함할 수 있다. 이것은 현재의 표준화된 재작성 세트(142)로부터 모든 표준화된 재작성을 검사하는 것도 포함할 수 있다. 적용 가능한 재작성이 동작 255 동안 발견되면, 재귀적 재작성은 동작 245의 반복에서 분석된다. 이어서, 재귀적 재작성은 동작 250의 반복에서 이중 재귀적 재작성에 대해 검사된다. 이 프로세스는 추가적인 재귀적 재작성이 없을 때까지 또는 재귀적 재작성에 대한 시스템 제한에 도달할 때까지 내포 방식(nested fashion)으로 진행된다. 소정 실시예에서, 단일 QRIL이 동일한 트리거로부터의 2개의 내포 재작성을 가질 수 있다. 예를 들어, 제1 QRIL이 "벨기에 이중 초콜릿"의 재작성 값을 갖고, 적용 가능한 트리거가 "벨기에" 및 "이중 초콜릿" 양자에 대해 존재하는 경우, 다른 제약이 방지하지 않으면, "벨기에" 및 "이중 초콜릿" 양자에 대한 내포 재작성이 분석될 수 있으며, 그들 각각의 재작성 값이 표준화된 재작성의 생성에서 사용될 수 있다.
동작 260에서, QRIL 프로세서(140)는 재작성과의 임의의 충돌이 존재하는지를 판단할 수 있다. 충돌의 예는 동일한 트리거 및 상이한 재작성 값을 갖는 재작성을 포함한다. 동작 260은 QRIL 프로세서(140)가 다른 QRIL 레코드에 대해, QRIL 프로세서(140)에 의해 표준화된 재작성 세트에 이미 통합된 이전에 생성된 표준 재작성에 대해 또는 이들 양자에 대해 현재 QRIL 레코드에 대한 재작성을 검사하는 것을 포함할 수 있다.
충돌이 식별되면, 동작 265에서 시스템은 충돌하는 재작성을 분석하고 우선 순위 규칙을 적용하여 충돌을 해결한다. 동일한 트리거가 다수의 상이한 재작성과 관련되고, 하나의 재작성이 하나 이상의 재작성과 충돌할 때, 충돌 해결이 필요하다. 이것은 예를 들어 문구 재작성 및 직접 재작성이 동일한 토큰을 갖는 동일한 트리거를 갖는 경우에 발생할 수 있다. 이러한 상황에서, 문구 재작성은 통상적으로 대응하는 직접 재작성에 의해 매칭되는 아이템의 서브세트에만 매칭될 것이다. 시스템은 이러한 충돌을 고정된 규칙으로 해결할 수 있다. 일 실시예는 문구 재작성 및 직접 재작성이 동일한 트리거를 포함할 때, 직접 재작성이 제거되고, 문구 재작성이 더 간결한 매치 세트를 제공하는 것으로서 시스템에 의해 사용된다는 것을 규정한다. 다른 실시예는 2개의 충돌 재작성으로부터 예상 결과 세트를 평가한다. 더 좁은 검색 결과를 반환할 것으로 예상되는 더 많은 양의 재작성 상세를 갖는 재작성이 선택된다. 이것은 재작성 값 내의 문자 또는 토큰의 수에 기초하여 평가될 수 있다. 이것은 또한 QRIL 레코드 내의 메타플래그 값 또는 다른 관련된 정보에 기초하여 평가될 수 있다. 예를 들어, QRIL 레코드는 우선 순위 점수 또는 상세 값에 대한 메타플래그 요소를 포함할 수 있다. 이러한 메타플래그 값은 트리거가 검색 질의의 일부일 때 어떤 QRIL 레코드를 또는 트리거가 적용되는 순서를 해결하는 데 사용될 수 있다.
하나의 잠재적인 실시예에서, 소정의 충돌 질의 타입은 질의 타입에 기초하여 우선 순위를 부여받는다. 하나의 잠재적인 실시예에서, 전체 질의 재작성이 사용자 질의 스트링에 대한 정확한 매치임에 따라 전체 질의 재작성에 우선권이 주어진다. 전체 질의 재작성은 정확한 사용자 질의에 특별히 맞춤화됨에 따라, 전체 질의 재작성은 파생 변환 또는 재귀적 재작성을 갖지 않는 특정 재작성 값을 포함한다. 따라서, 전체 질의 재작성은 우선권 재작성이며, 상이한 타입의 어떠한 충돌 재작성도 전체 질의 재작성의 우선 순위를 고려하여 실행되지 않을 것이다. 전체 질의 재작성은 사용자 질의에 대한 정확한 매치인 트리거를 가지므로, 충돌 전체 질의 재작성은 시스템 운영자에게 출력될 에러 플래그를 올릴 수 있다. 그러한 충돌 출력 에러가 없는 실시예에서, 전체 질의 충돌은 우선 순위를 취하는 가장 많은 양의 상세를 포함하는 재작성 값을 이용하여 전술한 바와 같이 해결될 수 있다.
전체 질의 재작성에 대해 설명된 충돌 해결의 예시적인 실시예를 계속하면, 이 실시예에서, 토큰 조정 재작성이 전체 질의 재작성 후에 우선 순위를 취할 수 있고, 문구 재작성이 전술한 바와 같이 직접 재작성 위의 우선 순위를 취할 수 있다. 동일한 타입의 재작성 간의 임의의 재작성 충돌이 가장 좁은 재작성 값을 위해 전술한 바와 같이 해결될 수 있다. 재작성된 질의의 재작성 값이 추가 재작성을 위한 트리거로서 작용할 수 있도록 파생 또는 재귀적 재작성이 허용되는 경우, 완료된 재작성 이후의 각각의 재귀 레벨은 전술한 동일 규칙을 사용하여 각각의 파생 레벨에서 재작성 충돌을 해결할 수 있다.
충돌 해결이 확인될 때, 모든 관련된 충돌 재작성은 동작 275의 일부로서 표준화된 재작성의 세트에서 갱신된다. 소정 실시예에서, 이것은 표준화된 재작성 세트로부터 재작성 중 하나를 제거하는 것을 포함할 수 있다. 다른 실시예에서, 이것은 제1 재작성이 사용되고, 트리거가 재작성 값을 이용하여 변환된 후에, 다른 트리거가 더 이상 적용되지 않도록, 재작성 순서를 선택하는 것을 포함한다. 우선 순위 규칙 세트의 하나의 잠재적인 실시예에서, 전체 질의 재작성은 모든 다른 재작성 위의 우선 순위를 갖고, 직접 재작성은 문구 재작성 및 토큰 정밀화 위의 우선 순위를 가지며, 문구 재작성은 토큰 정밀화 위의 우선 순위를 갖는다. 동일한 타입의 재작성은 재작성 값 내의 상세의 레벨(예로서, 문자, 토큰 또는 심벌의 수)에 기초하여 우선권을 부여받을 수 있으며, 더 높은 상세 레벨(예로서, 더 많은 문자)은 더 낮은 양의 상세 위의 우선권을 가질 수 있다. 소정 실시예에서, QRIL은 동일한 타입의 재작성 간의 충돌을 해결하는 데 사용되는 우선권 메타플래그 요소를 가질 수 있다.
동작 270에서, QRIL 레코드의 모든 요소가 고려되고, 임의의 충돌이 해결된 후에, 표준화된 질의 재작성이 QRIL 프로세서(140)에 의해 생성된다. 동작 280에서, 표준화된 질의 재작성 세트가 새로운 질의 재작성을 포함하도록 갱신된다. 동작 285에서, QRIL 프로세서(140)는 임의의 추가 QRIL 레코드가 표준화된 질의 재작성 세트의 일부로서 사용될 표준화된 재작성을 생성하기 위해 고려되고 사용되어야 하는지를 알기 위해 검사한다. 이어서, QRIL 프로세서(140)에 의해 수행된 프로세스는 모든 적용 가능한 QRIL 레코드가 고려될 때까지 동작 245 내지 285를 반복한다.
모든 QRIL 레코드의 고려가 끝날 때, 표준화된 재작성 세트(142)가 QRIL 프로세서(140)로부터 출력된다. 다양한 실시예에서, 이것은 QRIL 프로세서(140)의 캐시 또는 로컬 메모리로부터의 출력 통신일 수 있다. 다른 실시예에서, 이것은 개별 메모리에 저장된 텍스트 파일에 대해 QRIL 프로세서(140)에 의해 행해지는 최종 조정일 수 있으며, 텍스트 파일은 표준화된 재작성 세트(142)를 포함한다. 단계 290에서, 표준화된 질의 재작성 세트가 검색 엔진(160)에 제공된다. 동작 295에서, 검색 엔진은 클라이언트 장치로부터 수신된 질의에 응답하여 검색 결과를 생성하기 위해 표준화된 질의 재작성 세트를 사용하여 동작한다. 검색 엔진은 동작 298의 일부로서 시스템 갱신이 발생할 때까지 진행한다. 시스템 갱신이 발생하면, 프로세스는 동작 230으로부터 반복하여, 새로운 QRIL 레코드를 생성하고, QRIL 레코드를 처리하여 새로운 표준화된 질의 재작성 세트를 갱신하거나 생성하고, 검색 엔진(160)에 의해 사용되는 표준화된 질의 재작성 세트를 갱신할 수 있다.
도 3은 하나의 예시적인 실시예에 따른 QRIL을 생성하기 위한 예시적인 방법(300)을 도시하는 흐름도이다. 방법(300)은 더 큰 시스템의 일부에 의해, 컴퓨팅 장치 내의 모듈로서, 또는 각각 메모리 장치, 입력 및 출력 모듈, 및 메모리 장치 및 입력 및 출력 모듈에 결합된 하나 이상의 프로세서를 포함하는 질의 트랜스코딩 장치(120) 또는 질의 트랜스코딩 장치(400)와 같은 질의 트랜스코딩 장치에 의해 수행될 수 있다.
도 4는 둘 다 시스템(100)의 일부로서 전술한 QRIL 레코드 데이터베이스(130) 및 질의 재작성 소스(110)에 결합된 질의 트랜스코딩 장치(400)의 블록도이다. 방법(300)은 아래에서 도 4의 질의 트랜스코딩 장치(400)를 포함하는 예시적인 실시예에서 설명된다.
방법(300)은 제1 질의 재작성 소스 장치로부터 질의 트랜스코딩 장치에서 질의 재작성 데이터의 제1 세트를 수신하는 동작 305에서 시작한다. 질의 트랜스코딩 장치(400)의 예시적인 실시예에서, 이 질의 재작성 데이터는 입력 모듈(422)에서 수신된다. 질의 재작성 데이터의 세트는 제품 또는 검색과 관련된 임의의 정보를 포함할 수 있으며, 제약 데이터, 메타플래그 데이터 및 임의의 다른 관련 질의 재작성 데이터를 포함한다. 질의 재작성 데이터는 제1 트리거 값, 및 제1 트리거 값과 함께 재작성이 될 핵심 정보를 구성하는 관련 제1 질의 재작성 값을 식별하는 데 사용될 수 있는 정보를 포함한다. 제약 데이터는 관련 재작성에 대한 적절한 제한을 식별하는 데 사용될 수 있다. 메타플래그 데이터는 실제 트리거 및 재작성 값 이외의 재작성 타입과 관련된 임의의 정보 또는 데이터가 포함한다. 메타플래그 데이터는 또한 재귀적 재작성이 관련 재작성에 대해 허용되는지를 나타내는 데이터, 카테고리 제약이 명시적으로 식별되지 않은 경우 재작성과 관련될 수 있는 카테고리, 또는 재작성과 관련될 수 있는 명시적으로 식별된 카테고리 이외의 다른 카테고리를 식별하는 데 도움을 줄 수 있는 데이터를 포함할 수 있다.
동작 310에서, 질의 정보를 처리하여, 제1 트리거 및 제1 질의 재작성 값을 식별한다. 질의 트랜스코딩 장치(400)의 예시적인 실시예에서, 이 처리는 데이터 파서 모듈(424)을 사용하여 행해질 수 있다. 데이터 파서 모듈은 질의 데이터를 분석하여 질의 데이터의 표현을 제공하는 데이터 구조를 구축하는 텍스트 파서 또는 다른 계산 파서일 수 있다. 데이터 파서는 질의 데이터 내의 문자 또는 심벌을 분석하여, QRIL 요소의 기초가 될 재작성의 핵심 부분으로서 트리거 및 재작성 값을 식별한다. 데이터 파서는 또한 토큰 또는 문자 라이브러리를 사용하여, 라이브러리에 의해 QRIL 레코드의 소정 메타데이터, 제약 또는 기타 요소와 관련되는 질의 데이터 내의 매칭되는 토큰 또는 문자 스트링을 식별할 수 있다.
이어서, 동작 315는 복수의 질의 재작성 타입으로부터 제1 질의 재작성 데이터 세트와 관련된 제1 질의 재작성 타입을 식별하기 위해 질의 데이터의 제1 세트를 분석하는 것을 포함한다. 일 실시예에서, 데이터 파서 모듈(424)에 의해 생성된 데이터 구조는 데이터 질의와 관련된 질의 타입을 식별하기 위해 복수의 재작성 타입 식별자 모듈과 함께 사용될 수 있다. 예를 들어, 직접 재작성 식별자 모듈(426), 문구 재작성 식별자 모듈(428), 토큰 정밀화 식별자 모듈(430) 및 전체 질의 정밀화 식별자(431)는 각각 재작성 시스템에 의해 특성화되는 재작성 타입에 관한 라이브러리 토큰 또는 구조 정보를 포함할 수 있다. 데이터 파서 모듈(422)이 질의 재작성 데이터를 분석함에 따라, 모듈은 데이터 파서 모듈(424)에 의해 분석되고 구조화된 질의 재작성 데이터로부터의 정보를 이용하여 질의 재작성 데이터를 질의 타입과 관련시킬 수 있다. 데이터 파서 모듈(424)을 사용하여 모듈(426-431)에 의해 어떠한 질의 타입도 식별되지 않으면, QRIL 생성 및 포맷팅 모듈(436)은 어떠한 QRIL 레코드도 질의 재작성 데이터로부터 생성되지 않을 것으로 판단할 수 있다.
단계 310에서의 제1 질의 재작성 값에서의 제1 트리거의 식별 및 동작 315에서의 제1 질의 재작성 타입의 식별에 더하여, 추가 실시예는 다른 정보를 위해 질의 재작성 데이터를 분석할 수 있다. 이 다른 정보는 메타플래그를 생성하는 데 사용되는 상세, 재작성이 언제 사용되거나 사용되지 않는지를 시스템에 알려주는 제약을 식별하는 데 사용되는 상세 또는 다른 그러한 정보를 포함할 수 있다. 그러한 메타플래그에 관련된 추가적인 상세가 도 5와 관련하여 아래에서 설명된다. 그러한 정보는 질의 트랜스코딩 장치(400)의 임의 수의 다른 모듈과 함께 데이터 파서 모듈(424)에 의해 식별된 구조를 사용하여 수집될 수 있다. 이것은 특정 재작성에 대한 제약을 식별하기 위해 분석 시스템과 함께 특별히 적응되고 구성될 수 있는 제약 식별자 모듈(432)을 포함한다. 이러한 제약의 예는 질의가 특정 국가 또는 다른 지리 영역 내의 클라이언트 장치에서 발생하는 경우에만 재작성을 적용하는 것, 질의가 특정 웹 사이트 시장에서 발생하는 경우에만 재작성을 적용하는 것 또는 임의의 다른 그러한 제약을 포함한다. 예를 들어, 질의 재작성 데이터는 편집 웹 서비스 모듈(118)과 같은 특정 질의 재작성 소스로부터 발생할 수 있다. 등록 프로세스의 일부로서, 편집 웹 서비스 모듈(118)은 질의 트랜스코딩 장치(400)에 등록할 수 있으며, 이것은 데이터 파서 모듈(424)이 편집 웹 서비스 모듈(118)로부터 발생하는 재작성 질의 데이터를 식별할 수 있게 하는 토큰 값을 데이터 파서 모듈(424)에 제공할 수 있다. 이 토큰 값이 제약 식별자 모듈(432)과 함께 동작하는 데이터 파서 모듈(424)에 의해 식별될 때, 관련 질의 재작성의 사용을 편집 웹 서비스 모듈(118)과 관련된 사용자 질의로 제한하는 제약이 QRIL 레코드에 대해 생성된다. 이것은 질의 트랜스코딩 장치(400)를 포함하는 시스템으로부터 표준화된 질의 재작성을 수신하는 편집 웹 서비스 모듈(118) 및 검색 엔진(160) 양자를 사용하는 전자 상거래 웹 사이트를 갖는 상인을 포함할 수 있다. 유사하게, QRIL 레코드의 메타플래그 요소와 관련될 수 있는 메타데이터가 플래그 식별자 모듈(434)과 함께 동작하는 데이터 파서 모듈(422)에 의해 생성될 수 있다. 또한, 이들 모듈 각각은 재작성형 식별자 모듈(426-430) 중 하나를 사용하여, 특정 재작성 타입에 고유할 수 있는 플래그 또는 제약을 식별할 수 있다.
동작 320은 질의 재작성 데이터의 제1 세트로부터 제1 질의 재작성 입력 언어(QRIL) 레코드를 생성하는 것을 포함한다. 이어서, 동작 325는 복수의 QRIL 레코드를 갖는 QRIL 레코드 데이터베이스에 제1 QRIL 레코드를 저장하는 것을 포함한다. 제1 QRIL 레코드는 제1 트리거 값 및 제1 질의 재작성 값을 포함한다. QRIL 레코드는 전술한 질의 트랜스코딩 장치(400)의 임의의 모듈을 사용하여 식별되거나 생성된 값을 사용하여 QRIL 생성 및 포맷팅 모듈(436)에 의해 생성될 수 있다. 이어서, QRIL 생성 및 포맷팅 모듈(436)에 의해 생성된 QRIL 레코드는 동작 325의 일부로서 출력 모듈(437)에 의해 QRIL 레코드 데이터베이스(130)에 통신될 수 있다. 소정 실시예에서, QRIL 레코드는 제1 트리거 값 및 제1 질의 재작성 값의 핵심 요소 이외의 추가적인 요소를 포함할 수 있다.
도 5는 다양한 실시예와 함께 사용될 수 있는 QRIL 레코드의 하나의 예시적인 구현을 도시한다. 도 5의 QRIL 레코드(500)는 다수의 추가 요소를 갖는 QRIL 레코드의 예를 도시한다. 소정 실시예에서, QRIL 레코드(500)는 동작 320의 구현에서 QRIL 생성 및 포맷팅 모듈(436)에 의해 생성될 수 있다. QRIL 레코드(500)는 트리거 요소(540) 및 재작성 값 요소(550)를 포함한다. 게다가, QRIL 레코드(500)는 카테고리 요소(512), 사이트 요소(514) 및 국가 요소(516)를 포함하는 복수의 제약(510)을 포함한다. 카테고리 요소(512)는 QRIL(500)과 관련된 질의 재작성이 적용될 전자 상거래 검색 엔진과 관련된 하나 이상의 카테고리를 식별할 수 있다. 이하에서 더 상세히 설명되는 바와 같이, 검색 엔진은 사용자 또는 사용자 클라이언트 장치에 관한 다른 정보와 함께 이러한 질의의 상세에 기초하는 전자 상거래 검색 엔진 카테고리 트리의 카테고리에 기초하여 사용자 질의를 카테고리화할 수 있다. 이 카테고리 정보는 질의 재작성과 함께 추가로 사용될 수 있다. 이러한 사용의 일례는 카테고리 요소(512)에 의해 식별된 카테고리 제약의 식별이다.
유사하게, 검색 엔진은 사용자 질의가 발생하는 국가 또는 다른 지리 위치에 관한 정보를 가질 수 있으며, 이것은 질의가 QRIL 레코드(500)와 같은 특정 QRIL 레코드의 국가 요소(516)에 의해 식별된 위치로부터 발생할 때 사용되거나 사용되지 않도록 소정 질의 재작성을 제한하기 위해 국가 요소(516)와 함께 사용될 수 있다.
사이트 요소(514)는 특정 질의 재작성에 대한 다른 제약으로서 작용할 수 있는 웹 사이트, 상인 매장 또는 기타 전자 상거래 포털을 식별할 수 있다. 예를 들어, 일 실시예에서, 시스템(700)은 시장 애플리케이션(720)을 통해 복수의 전자 상거래 시장을 호스팅할 수 있다. 시장 애플리케이션(720)과 관련된 각각의 시장은 사이트 식별자를 가질 수 있다. 해당 사이트 식별자는 QRIL 레코드(500)에서 사이트 요소(512)에 대한 값으로서 사용될 수 있다. 이것은 특정 시장 애플리케이션(720)의 운영자가 QRIL 레코드(500)를 생성하고 사이트 요소(514)를 사용하여 QRIL 레코드(500)를 사이트 요소(514)의 값에 의해 식별된 상인 시장 애플리케이션(720)으로부터 발생하는 질의에만 적용되도록 제한하는 것을 가능하게 할 수 있다.
QRIL 레코드(500)의 메타플래그(520)는 임의 수의 상이한 타입의 정보에 대한 QRIL 요소를 포함할 수 있다. 도 5의 QRIL 레코드(500)에서, 메타플래그(520)는 QRIL(500)과 관련된 재작성에 대한 질의 재작성 타입을 식별하는 데 사용된다. 이것은 각각의 질의 재작성 타입에 대한 요소를 제공함으로써 행해진다. 따라서, QRIL 레코드(500)는 전체 질의 재작성 타입을 나타낼 수 있는 전체 질의 요소(526)를 포함하고, 직접 요소(528)가 직접 재작성 타입을 나타낼 수 있고, 토큰 정밀화 요소(534)가 토큰 정밀화 타입을 나타낼 수 있고, 문구 요소(536)가 문구 재작성 타입을 나타낼 수 있다.
질의 재작성 타입 외에도, 메타플래그(520)는 QRIL 레코드(500)의 재작성과 관련될 다른 상세를 나타낼 수도 있다. 제외 요소(530)는 소정 재작성 타입이 긍정이 아니라 부정임을 나타내는 데 사용될 수 있다. 이것은 재작성이 재작성 값을 포함하는 결과를 검색하는 것이 아니라 재작성 값을 포함하는 검색 결과를 제외하도록 수행된다는 것을 의미한다. 도출된 재작성 불능 요소(532)를 사용하여, 재귀적 재작성이 재작성 값 요소(550)의 재작성 값을 후속 재작성을 위한 트리거로서 사용하는 것이 허용되는지를 식별할 수 있다. 카테고리 매치(539) 및 구문 카테고리(538)는 재작성 값 요소(550)의 재작성 값으로 수행되는 검색에 사용될 전자 상거래 검색 엔진의 카테고리 트리 내의 카테고리를 식별할 수 있다. 다른 실시예에서, 임의 수의 다른 요소가 QRIL 레코드(500)와 같은 QRIL 레코드의 일부로서 사용될 수 있다.
도 6은 본 명세서에서 설명되는 실시예에 따른 표준화된 질의 재작성을 사용할 수 있는 검색 엔진 시스템(600)의 하나의 예시적인 실시예를 도시한다. 시스템(600)은 예를 들어 QRIL 프로세서(140)로부터 표준화된 재작성 세트를 수신하는 검색 엔진(160)의 양태의 구현일 수 있다. 소정 실시예에서, 시스템(600)은 도 7의 시스템(700)과 같은 전자 상거래 플랫폼 또는 발행 시스템과 관련된 전자 상거래 검색 엔진일 수 있다.
사용자가 온라인 자원에 액세스할 수 있게 하기 위해, 전자 상거래 웹 사이트의 제공자와 같은 제공자는 종종 사용자의 관심과 관련된 자원을 찾기 위한 검색 서비스를 제공한다. 제공자의 목표는 제공자를 다시 사용하도록 사용자를 유도하는 적절한 결과, 제공자의 수익 창출 및 비즈니스 파트너(예로서, 광고주 또는 스폰서) 관심의 충족과 같은 사용자 및 제공자 양자의 여러 관심을 충족시키는 결과를 제공하는 것이다. 제공자가 전자 상거래 제공자인 경우, 예로서 검색 결과 또는 비즈니스 파트너 관심에서 반환되는 아이템 리스팅의 판매로부터 수익을 창출하는 고려 사항은 단순히 검색에 대한 아이템의 관련성보다 결과를 순위화하는 데에 특히 중요할 수 있다(더 큰 가중치가 주어질 수 있다). 제공자는 그가 제공하는 자원에 관한 정보, 사용자 거동에 대한 정보(예로서, 사용자가 얼마나 자주 검색에 응답하여 주어진 자원을 선택했는지), 제공자 수익 정보 또는 비즈니스 파트너 정보와 같이 결과의 순위화하는 데 사용될 수 있는 엄청난 양의 다양한 정보를 가질 수 있다. 종종 제공자는 이 정보의 일부를 사용하여 제공자의 목표를 달성하기 위해 사용자 검색에 응답하여 자원을 식별하여 결과로서 제공할 것이다. 결과는 정보를 사용하여 순위화될 수 있으며, 순위는 결과가 사용자에게 표시되는 순서를 제공할 수 있다.
전통적으로, 제공자는 그가 소유하고 있는 어떤 정보가 그의 목적을 달성하는 방식으로 사용자 검색 결과를 발견하고 제공하는 데 적합한지를 판단하려고 시도하는 데에 많은 시간을 소비할 수 있다. 선택한 정보는 종종 집계되고, 다양한 기능에 대한 입력으로 사용되며, 서로에 대해 가중되어야 한다. 이러한 모든 액션은 통상적으로 모든 단계에서의 제공자에 의한 수동 개입(예로서, 사용될 데이터의 식별, 기능 개발 및 기능의 상대적 가중치의 결정)을 포함한다. 사용자 질의와 매칭되는 검색 결과를 제공하기 위한 검색 또는 매칭 알고리즘의 일부로서의 그러한 가중치 부여는 매칭의 무결성의 에러 또는 손상의 위험을 포함한다. 매칭 가중치의 조작은 예상치 못한 결과를 가질 수 있다. 질의 재작성을 사용하여 사용자 질의의 일부 또는 전부를 변환함으로써, 검색 엔진은 소정의 그러한 예상치 못한 위험을 방지하는 최적화를 가능하게 할 수 있다. 또한, 전술한 바와 같이, 제약이 질의 재작성과 함께 사용되어, 최적화가 사용자별로, 상점별로, 지리 위치별로 또는 다른 표적 방식으로 수행되는 것을 가능하게 할 수 있다.
도 6은 사용자 질의와 관련된 검색 결과의 순위화하는 데 사용되는 예시적인 검색 엔진 시스템(600)의 상세를 나타내는 블록도이다. 시스템(600)은 모듈(604), 질의 프론트엔드(606), 질의 노드(612) 및 데이터베이스(614)를 포함할 수 있다. 질의 노드(612)는 또한 순위화 모델 세트(610), 아이템 인덱스(616), 및 질의(602) 및 검색의 결과로서 반환되는 아이템 리스팅(618)에 대응하는 순위화 팩터 세트(620)를 포함할 수 있다.
이러한 시스템은 사용자 질의를 데이터베이스 아이템과 매칭시키는 데 사용될 수 있고, 사용자 검색 결과를 순위화하는 데 사용될 수 있는 하나 이상의 매칭 알고리즘을 사용할 수 있으며, 최상위 결과가 검색 결과 세트로서 사용자의 클라이언트 장치로 반환된다. 도 6은 검색 결과를 순위화하기 위한 컴포넌트의 일 구현을 도시한다. 프론트엔드(606)는 사용자로부터 질의(602)를 수신할 수 있다. 이어서, 프론트엔드(606)는 질의 팩터화 모듈(604)과 통신하여 질의(602)를 재작성하고 질의(602)로부터 데이터 팩터를 생성할 수 있다. 이어서, 본질적으로 재작성 시스템에 의해 수정된 사용자 질의에 데이터 팩터를 추가한 것인 질의 프로파일이 질의 노드(612)로 전송될 수 있다. 데이터 팩터의 예는 사용자 질의 내의 용어 및 용어와 카테고리 트리 내의 카테고리 간의 관련성에 기초하여 사용자 질의와 관련되는 카테고리 식별자일 수 있다.
하나의 예시적인 실시예에서, 시스템(600)은 시스템(700)과 같은 발행 플랫폼과 관련된 전자 상거래 검색 엔진일 수 있다. 시스템(700)의 플랫폼은 많은 수의 상인에 대한 상점 및 상인에 대한 판매 플랫폼을 포함할 수 있다. 시스템(700)은 또한 경매 플랫폼, 경매 및 상인 상점을 위한 지불 시스템 및 다른 전자 상거래 서비스를 포함할 수 있다. 이러한 모든 전자 상거래 서비스의 일부로서, 시스템(700)은 시스템(700)을 통해 판매 또는 경매에 이용 가능한 제품을 카테고리화하는 데 사용되는 카테고리 트리를 포함할 수 있다. 이러한 카테고리 트리는 카테고리 트리를 식별하는 최상위 레벨, 전자공학 카테고리, 스포츠 장비 카테고리, 자동차 카테고리 또는 임의의 다른 그러한 카테고리와 같은 최상위 레벨 아래의 제2 레벨 내의 광범위한 카테고리를 포함할 수 있다. 이들 카테고리 각각은 전술한 바와 같이 QRIL 레코드에서 제약으로서 사용될 수 있다. 각각의 제2 레벨 카테고리는 트리에서 하나 이상의 제2 레벨 카테고리와 관련된 하나 이상의 제3 레벨 카테고리를 포함할 수 있다. 예를 들어, 전자공학 카테고리는 텔레비전, 컴퓨터, 스마트폰, 태블릿 장치, 및 카테고리 트리 내의 제2 레벨 전자공학 카테고리 아래에 구조화된 다른 그러한 카테고리의 제3 레벨 카테고리를 가질 수 있다. 각각의 최하위 레벨 카테고리 또는 카테고리 트리 내의 임의의 카테고리는 관련된 키워드, 메타데이터, 또는 카테고리 트리에 의해 카테고리화되는, 시스템(700)을 통해 판매 가능한 제품과 관련된 다른 그러한 정보를 가질 수 있다.
또한, 재작성은 트리거 및 재작성 값만이 아니라 카테고리 재작성도 가질 수 있다. 카테고리 재작성은 검색을 카테고리 트리 내의 특정 카테고리로 제한할 수 있다. 예를 들어, QRIL 레코드(500)는 카테고리 재작성(552)을 포함한다. 카테고리 재작성은 트리거 토큰을 재작성 값으로 대체하는 대신 사용자 질의에 기초한 검색을 카테고리 트리의 특정 카테고리로 제한하는 재작성일 수 있다. 예를 들어, QRIL 레코드(500)는 트리거 "브랜드 A 텔레비전"을 포함할 수 있는데, 재작성은 토큰 "텔레비전"을 삭제하고 카테고리 재작성 "전자공학/텔레비전"을 추가하기 위한 토큰 조정 재작성이다. 따라서, "브랜드 A 텔레비전"을 포함하는 사용자 질의가 수신될 때, 검색 엔진의 표준화된 재작성 세트의 일부인 이러한 QRIL과 관련된 재작성은 "브랜드 A 텔레비전"을 "브랜드 A:카테고리=전자공학/텔레비전"과 같은 질의로 재작성할 것이다. 이어서, 검색 엔진은 용어 "브랜드 A"를 그러나 카테고리 트리 내의 "전자공학" 아래의 "텔레비전" 카테고리 내에서만 검색할 것이다.
사용자 질의가 606에서 프론트엔드에 의해 수신될 때, 사용자 질의는 질의 재작성 및 데이터 팩터 생성을 위해 QFM(604)으로 전송될 수 있다. QFM(604)에서의 질의 재작성은 전술한 바와 같이 표준화된 질의 재작성 세트를 사용할 수 있다. 또한, 데이터 팩터 생성은 사용자 질의와 관련된 카테고리를 식별할 수 있다. 예를 들어, 사용자 질의(602)를 제출하는 사용자와 관련된 이력 데이터는 "애플"과 같은 모호한 용어를 구별하는 데 사용될 수 있다. 이러한 카테고리화는 사용자 질의(602)와 관련될 수 있고, 표준화된 파리(Paris) 재작성 세트의 일부로서 질의 재작성과 관련된 임의의 제약에 기초한 제약 정보로서 사용될 수 있다. 또한, 예를 들어 QRIL 레코드(500)에서 설명된 바와 같이, QRIL 레코드로부터 생성된 질의 재작성은 전술한 카테고리 트리와 관련된 카테고리 값을 포함할 수 있다. 이러한 실시예에서, 추가 질의 재작성 타입은 퍼지 카테고리 재작성을 포함할 수 있다. 퍼지 카테고리 재작성은 QFM(604)의 데이터 팩터 생성에 의해 사용자 질의 또는 토큰, 임의의 사용자 질의와 관련되는 카테고리 트리 내의 키워드, 제품 또는 다른 용어의 사용을 지칭한다. 따라서, QFM(604)은 모듈 내의 정보에 기초하여 동적 질의 재작성을 위해 사용되는 사용자 질의(602)의 카테고리화를 위한 하나 이상의 모듈을 포함할 수 있다. 이것은 상인 판매, 휴일 판매, 특정 상인과의 사용자 이력 관련성, 또는 데이터 팩터 생성에 사용될 수 있는 임의의 다른 그러한 정보와 관련된 시간에 민감한 정보를 포함할 수 있으며, 퍼지 카테고리 질의 재작성에 대한 동적 입력이다.
퍼지 카테고리 질의 재작성이 사용되는 실시예에서, 시스템은 시스템에 이용 가능한 모든 다른 타입의 재작성에 더하여 이 타입의 재작성에 대한 충돌 규칙을 포함할 것이다. 일 실시예에서, 예를 들어, 퍼지 카테고리 질의 재작성은 최저 우선권을 가지며, 사용자 질의(602)에 대해 다른 재작성이 존재하지 않는 경우에만 사용된다. 소정 실시예에서, 다수의 퍼지 질의 재작성 간의 충돌은 통상적으로 발생하지 않는데, 이는 퍼지 질의 재작성이 퍼지 재작성 시스템에 의해 생성된 단일 재작성이기 때문이다. 이 단일 재작성은 카테고리 분석 또는 소정의 다른 분석 시스템에 기초하여 퍼지 재작성 시스템에 의해 생성되며, 재작성은 사용자 질의의 토큰에서 재작성 값으로의 정의된 변환이 아니라 카테고리 관련성의 그룹에 기초한다. 대신, 퍼지 질의 재작성은 QFM(604)에서의 데이터 팩터 생성의 일부로서 질의 퍼지 재작성 모듈 내의 선호 정보 또는 시스템 설정에 기초할 것이다.
퍼지 질의 재작성은 퍼지 질의 재작성과 관련하여 세습 또는 재귀적 질의 재작성이 허용될 때 문제를 야기할 수 있다. 예를 들어, 퍼지 질의 재작성은 사용자 질의(602)의 키워드를 카테고리 트리의 카테고리로 재작성할 수 있다. 따라서, 사용자 질의의 토큰을 검색하는 대신, 카테고리 트리의 카테고리와 관련된 키워드, 제품 또는 기타 정보와 관련된 검색이 수행될 것이다. 이러한 카테고리에 대한 재작성은 또한 카테고리 내의 정보에 기초하여 질의 재작성을 허용할 수 있다. 예로서, 사용자 질의 "브랜드 A 남자 신발"은 퍼지 질의 재작성에 의해 "브랜드 A" 및 "의류, 신발 및 액세서리/남자 신발/운동"에 대한 관련 카테고리 검색 제한으로 재작성될 수 있다. 시스템이 또한 "브랜드 A"의 재작성 값을 갖는 트리거 "브랜드 A 신발" 및 카테고리 "의류, 신발 및 액세서리/남자 신발"에 대한 카테고리 검색 제한을 갖는 직접 재작성을 포함하는 경우, 제2 충돌 검색은 잠재적으로 제1 재작성보다 훨씬 더 광범위한 결과 세트를 포함할 것이다. 전술한 바와 같이, 이러한 충돌은 재작성 타입을 우선 순위화함으로써 또는 더 좁은 검색 결과 세트를 유발하는 재작성을 우선 순위화함으로써 해결될 수 있다.
질의는 QRIL 레코드 데이터베이스(130) 내의 QRIL 레코드 세트로부터 QRIL 프로세서(140)에 의해 생성된 표준화된 재작성 세트(142)와 같은 수신된 표준화된 재작성 세트를 사용하여 재작성될 수 있다.
질의 노드(612)는 하나 이상의 순위화 목표 모델(610)을 질의 프로파일에 적용할 수 있다. 이러한 순위화 목표 모델(610)은 특정 질의 또는 질의 프로파일에 대한 검색 결과로서의 자격을 갖는 매치 타입을 식별할 수 있다. 일례에서, 목표 모델은 또한 데이터베이스(614)로부터 검색 결과를 선택하는 데 사용될 수 있다. 데이터베이스(614)는 질의(602)의 결과로서 반환된 아이템 리스팅의 검색 인덱스를 반환할 수 있다.
아이템 인덱스(616)는 질의 노드(612)에 대한 원시 반환 아이템 데이터를 포함할 수 있으며, 아이템 리스팅(618)의 리스트는 순위화되지 않는다(예를 들어, 정렬되지 않는다). 순위화 데이터 팩터(620)의 세트는 순위화 목표 모델(610)의 세트에 의해 사용될 주어진 아이템 리스팅 및 질의(602)에 대한 모든 데이터 팩터를 포함할 수 있다. 팩터는 사용자에게 제공될 수 있는 순위화된 결과 세트(622)를 생성하기 위해 순위화 목표 모델(610)에 입력될 수 있다. 일례로, 상위 순위 아이템 리스팅은 하위 순위 아이템 리스팅보다 더 두드러지게 표시될 수 있다(예를 들어, 상위 순위 아이템 리스팅은 사용자에게 제공되는 검색 결과 리스트에서 하위 순위 아이템 리스팅보다 더 높게 나타날 수 있다.) 예를 들어, 상위 순위 리스팅을 두드러지게 표시하는 것은 컬러(예로서, 다양한 배경 또는 전경 컬러), 애니메이션 또는 추가적인 시각적 장식(예로서, 테두리, 제목 등)을 사용하는 것을 포함할 수 있다.
예(600)에서, 검색 질의는 온라인 발행 시스템 또는 시장에서 판매되는 아이템에 대한 것일 수 있지만, 사용자가 데이터 자원에 질의하고 결과가 순위화되고 반환되는 다른 예도 고려된다. 시스템(600)의 다양한 컴포넌트는 소프트웨어, 하드웨어, 또는 이들의 조합에서 실행될 수 있다. 소프트웨어 컴포넌트의 경우, 소프트웨어를 실행하는 데 필요한 하드웨어도 존재한다는 것을 이해할 것이다.
도 7은 본 명세서에서 설명되는 실시예와 함께 사용될 수 있는 네트워크 기반 발행 시스템을 나타내는 블록도이다. 도 7은 다양한 실시예와 함께 사용될 수 있는 클라이언트-서버 시스템(700)을 나타낸다. 예를 들어, 검색 엔진(160) 또는 시스템(600)은 시스템(700)의 일부로서 배치될 수 있다. 네트워크 기반 시장 또는 발행 시스템의 예시적인 형태의 네트워킹 시스템(702)은 서버측 기능을 네트워크(704)(예로서, 인터넷 또는 광역 네트워크(WAN))를 통해 하나 이상의 클라이언트에 제공한다. 상인은 소정 실시예에서 전술한 동작 305의 프로세스와 같은 등록 프로세스를 사용하여 발행 시스템에 등록할 수 있다. 그러한 상인은 시스템(700)을 사용하여, 상인의 상점의 일부로서 제공되는 검색 엔진 동작을 포함하여 클라이언트 장치에 상점을 제공할 수 있다. 이어서, 상인은 시스템(700) 상에서 동작함에 따라 상인의 상점에만 적용되는 제약을 포함하는 QRIL 레코드를 생성하는 재작성 트랜스코더에 재작성을 제공할 수 있다. 이어서, 클라이언트 장치는 검색 질의를 시스템(700)에 제출할 수 있고, 시스템(700)의 일부로서 동작하는 검색 엔진은 QRIL 레코드로부터 생성된 표준화된 질의 재작성을 사용하여 검색 결과를 생성하고 클라이언트 장치에 검색 결과를 전송할 수 있다.
도 7은 예를 들어 웹 클라이언트(706)(예를 들어, 워싱턴 주 레드먼드의 마이크로소프트사에 의해 개발된 인터넷 익스플로러 브라우저와 같은 브라우저), 및 각각의 클라이언트 기계(710, 712)에서 실행되는 프로그램 클라이언트(708)를 도시한다. 클라이언트 기계(710, 712)는 물론, 제삼자 서버(730)는 전자 상거래 서비스를 사용자에게 제공하기 위해 시장 애플리케이션(720)과 함께 동작하는 검색 엔진(723)에 검색 질의를 전송할 수 있다. 검색 엔진(723)은 위의 예시적인 실시예에서 설명된 바와 같이 표준화된 질의 재작성을 사용할 수 있다.
애플리케이션 프로그램 인터페이스(API) 서버(714) 및 웹 서버(716)는 하나 이상의 애플리케이션 서버(718)에 결합되어 프로그래밍 및 웹 인터페이스를 각각 제공한다. 애플리케이션 서버(718)는 하나 이상의 시장 애플리케이션(720), 지불 애플리케이션(722) 및 검색 엔진(723)을 호스팅한다. 애플리케이션 서버(718)는 또한 하나 이상의 데이터베이스(726)에 대한 액세스를 용이하게 하는 하나 이상의 데이터베이스 서버(724)에 결합되는 것으로 도시된다.
시장 애플리케이션(720)은 네트워킹 시스템(702)에 액세스하는 사용자에게 다수의 시장 기능 및 서비스를 제공할 수 있다. 지불 애플리케이션(722)은 마찬가지로 다수의 지불 서비스 및 기능을 사용자에게 제공할 수 있다. 지불 애플리케이션(722)은 사용자가 계정 내에 (예를 들어, 미국 달러와 같은 상용 통화 또는 "포인트"와 같은 독점 통화로) 가치를 축적하고, 나중에 축적된 가치를 시장 애플리케이션(720)을 통해 이용 가능해지는 제품(상품 또는 서비스)으로 상환하는 것을 가능하게 할 수 있다. 시장 및 지불 애플리케이션(720, 722)이 도 7에는 네트워킹 시스템(702)의 일부를 형성하는 것으로 도시되어 있지만, 대안 실시예에서 지불 애플리케이션(722)은 네트워킹 시스템(702)과 분리되고 별개인 지불 서비스의 일부를 형성할 수 있다는 것을 이해할 것이다.
또한, 도 7에 도시된 시스템(700)은 클라이언트-서버 아키텍처를 사용하지만, 본 발명은 물론 이러한 아키텍처로 한정되지 않으며, 예를 들어 분산 또는 피어 대 피어 아키텍처 시스템에서의 응용을 동등하게 발견할 수 있다. 다양한 시장 및 지불 애플리케이션(720, 722)뿐만 아니라 검색 엔진(723)도 네트워킹 능력을 반드시 가질 필요는 없는 독립 소프트웨어 프로그램으로서 또는 네트워크를 통해 접속되는 개별 특수 장치로서 구현될 수 있다.
웹 클라이언트(706)는 웹 서버(716)에 의해 지원되는 웹 인터페이스를 통해 다양한 시장 및 지불 애플리케이션(720, 722)에 액세스한다. 유사하게, 프로그램 클라이언트(708)는 시장 및 지불 애플리케이션(720, 722)에 의해 그리고 API 서버(714)에 의해 제공되는 프로그램 인터페이스를 통해 제공되는 다양한 서비스 및 기능에 액세스한다. 프로그램 클라이언트(708)는 예를 들어 판매자가 오프라인 방식으로 네트워킹 시스템(702) 상의 리스팅을 저작 및 관리하고, 프로그램 클라이언트(708)와 네트워킹 시스템(702) 간의 다발 모드 통신을 수행할 수 있게 해주는 판매자 애플리케이션(예를 들어, 캘리포니아 산호세의 이베이사에 의해 개발된 TurboLister 애플리케이션)일 수 있다.
도 7은 또한 제삼자 서버 기계(730)상에서 실행되는 제삼자 애플리케이션(728)을, API 서버(714)에 의해 제공되는 프로그램 인터페이스를 통해 네트워킹 시스템(702)에 대한 프로그램 액세스를 갖는 것으로서 도시한다. 예를 들어, 제삼자 애플리케이션은 네트워킹 시스템(702)으로부터 검색된 정보를 사용하여, 제삼자에 의해 호스팅되는 웹 사이트 상의 하나 이상의 특징 또는 기능을 지원할 수 있다. 예를 들어, 제삼자 웹 사이트는 네트워킹 시스템(702)의 관련 애플리케이션에 의해 지원되는 하나 이상의 판촉, 시장 또는 지불 기능을 제공할 수 있다.
도 8은 기계로 하여금 본 명세서에서 설명되는 어느 하나 이상의 방법을 수행하게 하기 위한 명령어 세트가 실행될 수 있는 컴퓨터 시스템(800)의 예시적인 형태의 기계의 개략적인 표현을 도시한다. 예를 들어, 소정 실시예에서, 질의 트랜스코딩 장치(120), QRIL 프로세서(160) 및 검색 엔진(160)은 각각 컴퓨터 시스템(800)의 요소를 사용하여, 전술한 특수화된 컴퓨팅 장치 시스템 및 프로세스를 가능하게 할 수 있다. 대안 실시예에서, 기계는 독립 장치로서 동작하거나, 다른 기계에 접속(예로서, 네트워킹)될 수 있다. 네트워킹 배치에서, 기계는 서버-클라이언트 네트워크 환경에서 서버 또는 클라이언트 기계로서 또는 피어 대 피어(또는 분산) 네트워크 환경에서 피어 기계로서 동작할 수 있다. 기계는 서버 컴퓨터, 클라이언트 컴퓨터, 개인용 컴퓨터(PC), 태블릿 PC, 셋톱 박스(STB), 개인 휴대 단말기(PDA), 셀룰러 전화, 웹 기구, 네트워크 라우터, 스위치 또는 브리지, 또는 해당 기계에 의해 취해질 액션을 지정하는 (순차적인 또는 기타 등등의) 명령어 세트를 실행할 수 있는 임의의 기계일 수 있다. 또한, 단일 기계만이 도시되지만, 용어 "기계"는 또한 본 명세서에서 설명되는 어느 하나 이상의 방법을 수행하기 위한 명령어의 세트(또는 다수의 세트)를 개별적으로 또는 공동으로 실행하는 임의의 기계 집합을 포함하는 것으로 간주되어야 한다.
예시적인 컴퓨터 시스템(800)은 버스(808)를 통해 서로 통신하는 프로세서(802)(예로서, 중앙 처리 유닛(CPU), 그래픽 처리 유닛(GPU) 또는 이들 양자), 메인 메모리(804) 및 정적 메모리(806)를 포함한다. 컴퓨터 시스템(800)은 비디오 디스플레이 유닛(810)(예로서, 액정 디스플레이(LCD) 또는 음극선관(CRT))을 더 포함할 수 있다. 컴퓨터 시스템(800)은 영숫자 입력 장치(812)(예로서, 키보드), 커서 제어 장치(814)(예로서, 마우스), 디스크 드라이브 유닛(816), 신호 생성 장치(818)(예로서, 스피커) 및 네트워크 인터페이스 장치(820)도 포함한다.
디스크 드라이브 유닛(816)은 본 명세서에서 설명되는 어느 하나 이상의 방법 또는 기능을 구현하는 명령어(예로서, 소프트웨어(824))의 하나 이상의 세트를 저장하는 기계 판독 가능 매체(822)를 포함한다. 소프트웨어(824)는 컴퓨터 시스템(800)에 의한 그의 실행 동안 메인 메모리(804) 내에 그리고/또는 프로세서(802) 내에 완전히 또는 적어도 부분적으로 존재할 수도 있으며, 메인 메모리(804) 및 프로세서(802)도 기계 판독 가능 매체를 구성한다.
소프트웨어(824)는 또한 네트워크 인터페이스 장치(820)를 통해 네트워크(826)를 통해 송신 또는 수신될 수 있다.
예시적인 실시예에서 기계 판독 가능 매체(822)가 단일 매체인 것으로 도시되지만, 용어 "비일시적 기계 판독 가능 매체"는 하나 이상의 명령어 세트를 저장하는 단일 매체 또는 다수의 매체(예로서, 중앙 또는 분산 데이터베이스 및/또는 관련 캐시 및 서버)를 포함하는 것으로 간주되어야 한다. 용어 "기계 판독 가능 매체"는 또한 기계에 의한 실행을 위해 명령어 세트를 저장 또는 인코딩할 수 있고, 기계로 하여금 본 발명의 어느 하나 이상의 방법을 수행하게 하는 임의의 매체를 포함하는 것으로 간주되어야 한다. 따라서, 용어 "기계 판독 가능 매체"는 고체 상태 메모리, 및 광학 및 자기 매체를 포함하지만 이에 한정되지 않는 것으로 간주되어야 한다.
따라서, 기계 학습을 사용하여 검색 결과를 순위화하기 위한 방법 및 시스템이 설명되었다. 본 발명은 특정한 예시적인 실시예와 관련하여 설명되었지만, 본 발명의 더 넓은 범위로부터 벗어나지 않고서 이러한 실시예에 대해 다양한 수정 및 변경이 이루어질 수 있다는 것이 명백하다. 따라서, 명세서 및 도면은 한정이 아니라 예시적인 것으로 간주되어야 한다.
전술한 명세서에서 본 발명의 소정 실시예가 설명되었고 예시의 목적으로 많은 상세가 제시되었지만, 본 발명은 추가 실시예가 가능하고 본 명세서에서 설명된 소정의 상세는 본 발명의 기본 원리를 벗어나지 않고 상당히 변경될 수 있다는 점이 이 분야의 기술자에게 명백할 것이다.
요약서는 독자가 기술적 개시내용의 속성 및 요지를 확인하는 것을 가능하게 하도록 제공된다. 요약서는 청구항의 범위 또는 의미를 한정하거나 해석하는 데 사용되지 않을 것이라는 이해와 함께 제출된다. 따라서, 아래의 청구항은 이에 의해 상세한 설명에 통합되며, 각각의 청구항은 별개의 실시예로서 독자적이다.

Claims (22)

  1. 시스템으로서,
    질의 트랜스코딩 장치를 포함하고,
    상기 질의 트랜스코딩 장치는
    제1 질의 재작성 소스 장치로부터 질의 재작성 데이터의 제1 세트를 수신하도록 구성된 입력 모듈 - 상기 질의 재작성 데이터의 제1 세트는 제약 데이터, 메타플래그 데이터 및 재작성 데이터를 포함하고, 상기 제약 데이터는 제1 트리거 값을 포함하고, 상기 재작성 데이터는 상기 제1 트리거 값과 관련된 제1 질의 재작성 값을 식별함 - 과,
    질의 데이터의 제1 세트를 처리하여 상기 제1 트리거 및 상기 제1 질의 재작성 값을 식별하고, 파싱된 질의 데이터를 하나 이상의 식별자 모듈로 통신하여 복수의 질의 재작성 타입으로부터 상기 질의 재작성 데이터의 제1 세트와 관련된 제1 질의 재작성 타입을 식별하도록 구성된 데이터 파서 모듈 - 상기 데이터 파서 모듈은 상기 입력 모듈에 결합됨 - 과,
    상기 질의 재작성 데이터의 제1 세트로부터 제1 질의 재작성 입력 언어(QRIL) 레코드를 생성하도록 구성된 QRIL 레코드 생성 및 포맷팅 모듈 - 상기 제1 QRIL 레코드는 상기 제1 트리거 값, 상기 제1 질의 재작성 값, 및 상기 제1 QRIL 레코드를 상기 제1 질의 재작성 타입과 관련된 것으로서 식별하는 제1 메타플래그 요소를 포함함 -
    을 포함하는
    시스템.
  2. 제1항에 있어서,
    상기 질의 트랜스코딩 장치는
    상기 데이터 파서 모듈에 결합되고, 상기 질의 재작성 데이터의 제1 세트를 분석하여 사용자 질의에 대한 상기 제1 트리거 값의 적용과 관련된 하나 이상의 제약을 식별하도록 구성된 제약 식별자 모듈
    을 더 포함하고,
    상기 QRIL 레코드 생성 및 포맷팅 모듈은 상기 제약 식별자 모듈에 의한 상기 질의 재작성 데이터의 상기 분석에 기초하여 상기 제1 QRIL 레코드의 일부로서 카테고리 제약 값, 상인 사이트 제약 값 및 질의 개시 국가 값을 생성하도록 더 구성되는
    시스템.
  3. 제2항에 있어서,
    상기 질의 트랜스코딩 장치에 결합된 QRIL 레코드 데이터베이스와,
    상기 QRIL 레코드 데이터베이스에 결합된 QRIL 프로세서 장치 - 상기 QRIL 프로세서 장치는 상기 QRIL 레코드 데이터베이스에 액세스하여 상기 제1 QRIL 레코드를 조회하고, 상기 제1 QRIL 레코드를 처리하여 제1의 표준화된 재작성을 생성하고, 상기 제1의 표준화된 재작성을 사용하여 표준화된 재작성의 세트를 갱신하여 표준화된 재작성의 갱신된 세트를 생성하도록 구성됨 - 와,
    상기 QRIL 프로세서에 결합된 검색 엔진 시스템 - 상기 검색 엔진 시스템은 표준화된 재작성의 상기 갱신된 세트를 수신하고, 상기 제1의 표준화된 재작성을 사용하여 제1 클라이언트 장치로부터 제1 검색 엔진 사용자 질의를 재작성하여 재작성 사용자 질의를 생성하고, 상기 재작성된 사용자 질의를 사용하여 검색 결과의 제1 세트를 생성하고, 상기 검색 엔진의 검색 결과의 제1 세트를 상기 제1 클라이언트 장치로 통신하도록 구성됨 -
    을 더 포함하는
    시스템.
  4. 컴퓨터로 구현된 방법으로서,
    질의 재작성 데이터의 제1 세트를 제1 질의 재작성 소스 장치로부터 질의 트랜스코딩 장치에서 수신하는 단계 - 상기 질의 재작성 데이터의 제1 세트는 제약 데이터, 메타플래그 데이터 및 재작성 데이터를 포함하고, 상기 제약 데이터는 제1 트리거 값을 포함하고, 상기 재작성 데이터는 상기 제1 트리거 값과 관련된 제1 질의 재작성 값을 식별함 - 와,
    질의 데이터의 제1 세트를 처리하여 상기 제1 트리거 및 상기 제1 질의 재작성 값을 식별하는 단계와,
    상기 질의 데이터의 제1 세트를 분석하여 복수의 질의 재작성 타입으로부터 질의 재작성 데이터의 제1 세트와 관련된 제1 질의 재작성 타입을 식별하는 단계와,
    제1 질의 재작성 입력 언어(QRIL) 레코드를 상기 질의 재작성 데이터의 제1 세트로부터 생성하는 단계 - 상기 제1 QRIL 레코드는 상기 제1 트리거 값, 상기 제1 질의 재작성 값, 및 상기 제1 QRIL 레코드를 상기 제1 질의 재작성 타입과 관련된 것으로서 식별하는 제1 메타플래그 요소를 포함함 - 와,
    복수의 QRIL 레코드를 갖는 QRIL 레코드 데이터베이스에 상기 제1 QRIL 레코드를 저장하는 단계
    를 포함하는
    방법.
  5. 제4항에 있어서,
    QRIL 프로세서 모듈에 의해 상기 QRIL 레코드 데이터베이스에 액세스하여 상기 제1 QRIL 레코드를 조회하는 단계와,
    상기 제1 QRIL 프로세서 모듈을 사용하여 상기 제1 QRIL 레코드를 처리하여 제1의 표준화된 재작성을 생성하는 단계와,
    상기 제1의 표준화된 재작성을 사용하여 표준화된 재작성의 세트를 갱신하여 표준화된 재작성의 갱신된 세트를 생성하는 단계
    를 더 포함하는
    방법.
  6. 제5항에 있어서,
    검색 엔진의 질의 팩터화 모듈에서, 상기 표준화된 재작성의 갱신된 세트를 수신하는 단계와,
    상기 검색 엔진에서 제1 클라이언트 장치로부터 제1 검색 엔진 사용자 질의를 수신하는 단계와,
    상기 제1의 표준화된 재작성 및 상기 질의 팩터화 모듈을 사용하여 상기 제1 검색 엔진 사용자 질의를 재작성하는 단계와,
    상기 제1의 표준화된 재작성을 사용하여 상기 제1 검색 엔진 사용자 질의에 대한 검색 결과의 제1 세트를 생성하는 단계와,
    상기 검색 엔진으로부터 상기 제1 클라이언트 장치로 상기 제1 검색 엔진 사용자 질의에 대한 검색 결과의 제1 세트를 통신하는 단계
    를 더 포함하는
    방법.
  7. 제4항에 있어서,
    상기 제1 트리거는 제1 복수의 토큰을 포함하고, 상기 제1 복수의 토큰의 각각의 토큰은 하나의 단어를 형성하는 문자를 포함하는
    방법.
  8. 제4항에 있어서,
    상기 제1 질의 재작성 값은 제2 복수의 토큰을 포함하고, 상기 제2 복수의 토큰의 각각의 토큰은 하나의 단어를 형성하는 문자를 포함하고, 제1 복수의 토큰은 상기 제2 복수의 토큰과 상이하고, 상기 제2 복수의 토큰의 각각의 토큰은 제1 복수의 토큰의 적어도 하나의 토큰의 동의어인
    방법.
  9. 제7항에 있어서,
    상기 복수의 질의 재작성 타입은
    문구 재작성 타입과,
    토큰 정밀화 타입과,
    직접 재작성 타입과,
    전체 질의 재작성 타입
    으로 구성되는
    방법.
  10. 제7항에 있어서,
    상기 제1 질의 재작성 타입은 직접 재작성 타입이고, 상기 제1 트리거는 단어의 제1 세트를 포함하고, 상기 제1 질의 재작성 값은 상기 단어의 제1 세트가 사용자 질의의 일부로서 검색 엔진에 의해 수신되는 경우에 검색 동안 단어의 상기 제1 세트 대신에 사용될 단어의 상기 제1 세트와 상이한 단어의 제2 세트를 포함하는
    방법.
  11. 제7항에 있어서,
    상기 제1 질의 재작성 타입은 토큰 정밀화 타입이고, 상기 제1 질의 재작성 값은 상기 제1 트리거가 사용자 질의의 일부로서 검색 엔진에서 클라이언트 장치로부터 수신될 때 검색 엔진에서의 검색 동안 상기 복수의 토큰으로부터 제거될 제1 토큰을 식별하는
    방법.
  12. 제7항에 있어서,
    상기 제1 질의 재작성 값은 상기 제1 트리거가 사용자 질의의 일부로서 상기 검색 엔진에 의해 클라이언트 장치로부터 수신될 때 상기 검색 엔진에서의 검색 동안 상기 복수의 토큰에 추가될 제2 토큰을 더 식별하는
    방법.
  13. 제4항에 있어서,
    상기 제1 질의 재작성 타입은 문구 재작성 타입이고, 상기 트리거는 정의된 순서의 복수의 토큰을 포함하고, 상기 제1 질의 재작성 값은 상기 정의된 순서의 상기 복수의 토큰이 사용자 질의의 일부로서 클라이언트 장치로부터 검색 엔진에 의해 수신될 때 상기 복수의 토큰 대신 사용될 하나 이상의 토큰을 포함하는
    방법.
  14. 제4항에 있어서,
    상기 제1 질의 재작성 타입은 전체 질의 재작성 타입이고, 상기 제1 질의 재작성 값은 클라이언트 장치로부터 검색 엔진에 의해 수신된 사용자 질의가 상기 트리거와 정확히 매칭될 때 상기 검색 엔진에 의해 배타적인 검색 토큰으로 사용될 토큰 값의 세트를 식별하는
    방법.
  15. 제4항에 있어서,
    상기 제약 데이터는 제1 국가를 식별하고,
    상기 제1 QRIL 레코드는 상기 트리거가 상기 제1 국가에서 개시되는 것으로서 검색 엔진에 의해 식별된 질의의 일부로서 상기 검색 엔진에서 수신될 때만 상기 제1 질의 재작성 값이 상기 트리거에 적용될 것을 지정하는 국가 제약 요소를 포함하는
    방법.
  16. 제4항에 있어서,
    상기 트리거는 제1 언어의 토큰 단어의 세트를 포함하고,
    상기 제1 질의 재작성 값은 상기 제1 국가와 관련된 제2 언어의 토큰 단어의 세트를 포함하고,
    상기 제1 질의 재작성 값은 상기 제1 국가에 위치하는 상인을 식별하는 토큰을 포함하는
    방법.
  17. 제4항에 있어서,
    상기 제약 데이터는 제1 상인 웹 사이트를 식별하고,
    상기 제1 QRIL 레코드는 상기 트리거가 상기 제1 상인 웹 사이트와 관련된 질의의 일부로서 검색 엔진에서 수신될 때만 상기 제1 질의 재작성 값이 상기 트리거에 적용될 것을 지정하는 웹 사이트 제약 요소를 포함하는
    방법.
  18. 제17항에 있어서,
    등록 장치에서 상기 제1 상인 웹 사이트와 관련된 제1 상인 등록을 수신하는 단계와,
    상기 등록 장치에 의해 상기 제1 상인 웹 사이트와 관련된 허가를 검증하는 단계와,
    상기 허가에 응답하여 상기 제1 질의 재작성 소스 장치를 상기 제1 상인 웹 사이트와 관련시키는 단계와,
    상기 제1 질의 재작성 소스 장치로부터의 상기 질의 재작성 데이터의 제1 세트의 수신에 응답하여 상기 제1 QRIL 레코드에 대한 상기 웹 사이트 제약 요소를 자동으로 생성하는 단계와,
    상기 제1 QRIL 레코드의 생성 후에, 상기 제1 질의 재작성 소스 장치로부터 질의 재작성 데이터의 제2 세트를 수신하는 단계와,
    상기 질의 재작성 데이터의 제2 세트가 상기 제1 질의 재작성 소스 장치로부터 수신되었다는 판단에 응답하여 상기 질의 재작성 데이터의 제2 세트로부터 생성된 제2 QRIL에 대한 상기 웹 사이트 제약 요소를 자동으로 생성하는 단계
    를 더 포함하는
    방법.
  19. 컴퓨터 판독가능 명령어를 포함하는 컴퓨터 판독가능 매체로서,
    상기 명령어는 실행될 때, 하나 이상의 프로세서로 하여금,
    질의 재작성 데이터의 제1 세트를 제1 질의 재작성 소스 장치로부터 질의 트랜스코딩 장치에서 수신하고 - 상기 질의 재작성 데이터의 제1 세트는 제약 데이터, 메타플래그 데이터 및 재작성 데이터를 포함하고, 상기 제약 데이터는 제1 트리거 값을 포함하고, 상기 재작성 데이터는 상기 제1 트리거 값과 관련된 제1 질의 재작성 값을 식별함 -,
    질의 데이터의 제1 세트를 처리하여 상기 제1 트리거 및 상기 제1 질의 재작성 값을 식별하고,
    상기 질의 데이터의 제1 세트를 분석하여 복수의 질의 재작성 타입으로부터 상기 질의 재작성 데이터의 제1 세트와 관련된 제1 질의 재작성 타입을 식별하고,
    제1 질의 재작성 입력 언어(QRIL) 레코드를 상기 질의 재작성 데이터의 제1 세트로부터 생성하고 - 상기 제1 QRIL 레코드는 상기 제1 트리거 값, 상기 제1 질의 재작성 값, 및 상기 제1 QRIL 레코드를 상기 제1 질의 재작성 타입과 관련된 것으로서 식별하는 제1 메타플래그 요소를 포함함 -,
    복수의 QRIL 레코드를 갖는 QRIL 레코드 데이터베이스에 상기 제1 QRIL 레코드를 저장하게 하는
    컴퓨터 판독 가능 매체.
  20. 제19항에 있어서,
    상기 명령어는 또한 상기 하나 이상의 프로세서로 하여금,
    온라인 상거래 검색 엔진과 관련된 네트워크 기반 상거래 시스템을 통해 이용 가능한 제품과 관련된 카테고리 트리를 상기 온라인 상거래 검색 엔진으로부터 상기 질의 트랜스코딩 장치에서 수신하고,
    상기 질의 재작성 데이터의 제1 세트 및 상기 카테고리 트리를 분석하여 상기 트리거와 관련된 상기 카테고리 트리의 제1 카테고리를 식별하고,
    상기 제1 QRIL 레코드의 일부로서 카테고리 메타데이터 플래그를 생성하게 하며,
    상기 카테고리 메타데이터 플래그는 상기 카테고리 트리의 상기 제1 카테고리를 식별하는
    컴퓨터 판독 가능 매체.
  21. 제4항 내지 제18항 중 어느 한 항의 방법의 각각의 단계를 수행하기 위한 수단을 포함하는
    시스템.
  22. 실행될 때, 하나 이상의 프로세서로 하여금 제4항 내지 제18항 중 어느 한 항의 방법을 수행하게 하는 컴퓨터 판독 가능 명령어를 보유하는
    컴퓨터 판독 가능 매체.
KR1020177016495A 2014-11-19 2015-11-18 검색 질의 재작성 시스템 및 방법 KR101947299B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/548,105 US9727607B2 (en) 2014-11-19 2014-11-19 Systems and methods for representing search query rewrites
US14/548,105 2014-11-19
PCT/US2015/061300 WO2016081575A1 (en) 2014-11-19 2015-11-18 Systems and methods for search query rewrites

Publications (2)

Publication Number Publication Date
KR20170085097A KR20170085097A (ko) 2017-07-21
KR101947299B1 true KR101947299B1 (ko) 2019-05-20

Family

ID=55961872

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177016495A KR101947299B1 (ko) 2014-11-19 2015-11-18 검색 질의 재작성 시스템 및 방법

Country Status (5)

Country Link
US (2) US9727607B2 (ko)
EP (1) EP3221799A4 (ko)
KR (1) KR101947299B1 (ko)
CN (1) CN107241914B (ko)
WO (1) WO2016081575A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10496606B2 (en) * 2014-09-05 2019-12-03 Sony Corporation Information processing device, information processing method, and program
DE102014219763A1 (de) * 2014-09-30 2016-03-31 Robert Bosch Gmbh Verfahren und Vorrichtung zur Inbetriebnahme eines Smart-Home-Gerätes
US10108712B2 (en) 2014-11-19 2018-10-23 Ebay Inc. Systems and methods for generating search query rewrites
US9626430B2 (en) 2014-12-22 2017-04-18 Ebay Inc. Systems and methods for data mining and automated generation of search query rewrites
US10055457B2 (en) * 2016-08-30 2018-08-21 Microsoft Technology Licensing, Llc Entity based query filtering
US11016974B2 (en) * 2017-12-22 2021-05-25 Microsoft Technology Licensing, Llc Program synthesis for query optimization
US11036780B2 (en) * 2018-03-08 2021-06-15 Ebay Inc. Automatic lot classification
CN110442859B (zh) * 2019-06-28 2023-05-26 中国人民解放军国防科技大学 标注语料生成方法、装置、设备及存储介质
CN110874364B (zh) * 2019-11-19 2023-04-11 北京启迪区块链科技发展有限公司 一种查询语句处理方法、装置、设备及存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778364A (en) * 1996-01-02 1998-07-07 Verity, Inc. Evaluation of content of a data set using multiple and/or complex queries
AU2001249777A1 (en) * 2000-03-31 2001-10-15 Amikai, Inc. Method and apparatus for providing multilingual translation over a network
US7024425B2 (en) 2000-09-07 2006-04-04 Oracle International Corporation Method and apparatus for flexible storage and uniform manipulation of XML data in a relational database system
US7519581B2 (en) * 2004-04-30 2009-04-14 Yahoo! Inc. Method and apparatus for performing a search
US7599914B2 (en) * 2004-07-26 2009-10-06 Google Inc. Phrase-based searching in an information retrieval system
CN1818909A (zh) * 2006-03-21 2006-08-16 唐晨辉 一种互联网用户相互搜索方法及其搜索引擎
US20080172360A1 (en) * 2007-01-17 2008-07-17 Lipyeow Lim Querying data and an associated ontology in a database management system
US20080215564A1 (en) * 2007-03-02 2008-09-04 Jon Bratseth Query rewrite
US20080256035A1 (en) * 2007-04-10 2008-10-16 Wei Vivian Zhang Query substitution using active learning
US8458165B2 (en) * 2007-06-28 2013-06-04 Oracle International Corporation System and method for applying ranking SVM in query relaxation
US20090077056A1 (en) * 2007-09-17 2009-03-19 Yahoo! Inc. Customization of search results
US9507861B2 (en) * 2011-04-01 2016-11-29 Microsoft Technolgy Licensing, LLC Enhanced query rewriting through click log analysis
US8782081B2 (en) * 2011-05-11 2014-07-15 Google Inc. Query template definition and transformation
US20130185304A1 (en) * 2012-01-17 2013-07-18 International Business Machines Rule-driven runtime customization of keyword search engines
US8862456B2 (en) * 2012-03-23 2014-10-14 Avaya Inc. System and method for automatic language translation for applications
US9043248B2 (en) * 2012-03-29 2015-05-26 International Business Machines Corporation Learning rewrite rules for search database systems using query logs

Also Published As

Publication number Publication date
EP3221799A1 (en) 2017-09-27
WO2016081575A1 (en) 2016-05-26
US20160140173A1 (en) 2016-05-19
CN107241914B (zh) 2020-12-22
CN107241914A (zh) 2017-10-10
US20170337243A1 (en) 2017-11-23
US9727607B2 (en) 2017-08-08
EP3221799A4 (en) 2017-11-29
KR20170085097A (ko) 2017-07-21

Similar Documents

Publication Publication Date Title
US10599733B2 (en) Systems and methods for data mining and automated generation of search query rewrites
KR101947299B1 (ko) 검색 질의 재작성 시스템 및 방법
JP5736469B2 (ja) ユーザ意図の有無に基づく検索キーワードの推薦
US8051063B2 (en) Aggregating context data for programmable search engines
US10489842B2 (en) Large-scale recommendations for a dynamic inventory
TWI454944B (zh) 提供進階搜尋結果頁面內容之系統與方法
US10452662B2 (en) Determining search result rankings based on trust level values associated with sellers
AU2010202828B2 (en) System to generate related search queries
JP5721818B2 (ja) 検索におけるモデル情報群の使用
US20200349626A1 (en) Search query-based replacement part interface
US20160232162A1 (en) Website traffic optimization
US9953061B2 (en) Similarity engine for facilitating re-creation of an application collection of a source computing device on a destination computing device
US8086496B2 (en) Aggregation of product data provided from external sources for presentation on an E-commerce website
US10747792B2 (en) Streaming events analysis for search recall improvements
US20150154294A1 (en) Suggested domain names positioning based on term frequency or term co-occurrence
US20150347423A1 (en) Methods for completing a user search
US10671626B2 (en) Identity consolidation in heterogeneous data environment
US10108712B2 (en) Systems and methods for generating search query rewrites
US10831837B2 (en) Population of sets using advanced queries
US9372909B2 (en) Defining a set of data across mutiple databases using variables and functions
Seanghor E-BUSINESS OF PHONE ONLINE SHOP USING B2C CASE STUDY: PHONE SHOP IN CAMBODIA
CN116594680A (zh) 资产模型的配置方法、装置、电子设备及存储介质
Senghout IMPROVING CUSTOMER CONVENIENCE USING E-BUSINESS (CASE STUDY: WWW. HOUTCOMPUTER. TK)
KR20210113741A (ko) 포인트 점수 기반 아이템 검색 방법 및 장치

Legal Events

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