KR20230009437A - 사용자 검색 카테고리 예측자 - Google Patents

사용자 검색 카테고리 예측자 Download PDF

Info

Publication number
KR20230009437A
KR20230009437A KR1020227042964A KR20227042964A KR20230009437A KR 20230009437 A KR20230009437 A KR 20230009437A KR 1020227042964 A KR1020227042964 A KR 1020227042964A KR 20227042964 A KR20227042964 A KR 20227042964A KR 20230009437 A KR20230009437 A KR 20230009437A
Authority
KR
South Korea
Prior art keywords
rate
metric
test group
search results
test
Prior art date
Application number
KR1020227042964A
Other languages
English (en)
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 KR20230009437A publication Critical patent/KR20230009437A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0603Catalogue ordering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Linguistics (AREA)
  • Game Theory and Decision Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Operations Research (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Algebra (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

FSO(For Sale Object)들의 리스팅들의 검색 엔진 결과들을 개선하기 위한 실시예들이 본 명세서에서 설명된다. 동일한 검색 입력들과 매칭되는 상이한 (FSO들)에 대한 리스팅들 사이의 모호성을 해결하는 규칙들을 구현함으로써 검색 엔진이 개선될 수 있다. 비지도 머신 러닝 모듈은 후보 규칙들을 평가하고 인간 평가자에게 명확하지 않을 수 있는 개선들을 식별할 수 있다. 개선된 검색 엔진과 비지도 머신 러닝 모듈을 결합한 전자상거래 사이트는 상이한 후보 규칙들을 사용하여 검색 결과들을 동적으로 평가하고 반복적으로 검색 결과들을 개선할 수 있다.

Description

사용자 검색 카테고리 예측자
본 개시내용은 일반적으로 규칙들을 테스트하고 검색 방법들에 통합하여 검색 결과들을 개선하는 것에 관한 것이다.
전자상거래 웹 사이트들 및 애플리케이션들은 구매자들에게 다양한 상품들을 구매하기 위한 수단을 제공한다. 그러나, 이러한 상품들의 검색들은 종종 검색 결과들에 모호성(ambiguity)을 가져올 수 있다. 구매자들은 그들의 입력을 최소화하려고 시도할 수 있거나, 구매자 의도를 모호하게 전달하는 방식으로 FSO(For Sale Object) 리스팅을 검색할 수 있다. 상이한 FSO들은 유사한 검색 용어들과 매칭되는 특성들 또는 명칭들을 가질 수 있다. 검색 결과들은 쓸모없는 FSO들의 리스팅들로 가득할 수 있거나, 전자상거래 사이트에 해당 리스팅들이 존재함에도 불구하고, 구매자가 찾고 있는 FSO들의 리스팅들을 포함조차 하지 않을 수 있다.
검색 입력들의 모호성을 감소시키는 규칙들을 테스트하고, 어떤 규칙들이 유효(effective)한지를 식별하고, 해당 규칙들을 전자상거래 사이트에 구현함으로써, 전자상거래 사이트들에서 검색 엔진 결과들을 개선하기 위한 시스템, 장치, 제조물, 방법 및/또는 컴퓨터 프로그램 제품 실시예들, 및/또는 이들의 조합들 및 하위-조합들이 본 명세서에서 제공된다.
일부 실시예들은 제어 그룹의 구매자들에게 검색 입력 및 현재 규칙들에 기초한 베이스라인 검색 결과들을 제공하는 단계; 테스트 그룹들의 구매자들에게 검색 입력, 현재 규칙들, 및 특정 테스트 그룹에 대응하는 후보 규칙에 기초하여 필터링된 검색 결과들을 제공하는 단계; 제어 그룹의 구매자들로부터의 제어 응답들 및 테스트 그룹들의 구매자들로부터의 테스트 응답들을 수신하는 단계; 및 각각의 테스트 그룹에 대해: 제어 응답 및 테스트 그룹에 대한 테스트 응답에 기초하여 메트릭(metric)을 결정하는 단계; 메트릭이 통계적으로 유의하고(significant) 임계값보다 작은 것에 응답하여, 테스트 그룹에 대응하는 후보 규칙을 폐기하는 단계; 및 메트릭이 통계적으로 유의하고 임계값보다 큰 것에 응답하여, 테스트 그룹에 대응하는 후보 규칙을 현재 규칙들에 추가하는 단계에 의해 동작한다.
일부 실시예들은 구매자들로부터 검색 입력을 수신하는 동작; 각각의 구매자를 그룹에 할당하는 동작 - 그룹들은 제어 그룹 및 그룹들을 포함하고, 각각의 테스트 그룹은 후보 규칙에 대응함 -; 검색 입력에 기초하여 FSO 리스팅들로부터 검색 결과들을 식별하는 동작; 제1 필터링된 검색 결과들을 식별하기 위해 현재 규칙들에 기초하여 검색 결과들을 필터링하는 동작; 각각의 테스트 그룹에 대해, 테스트 그룹에 대응하는 필터링된 검색 결과들을 식별하기 위해 현재 규칙들 및 테스트 그룹에 대응하는 대응하는 후보 규칙에 기초하여 검색 결과들을 필터링하는 동작; 제어 그룹에 제1 필터링된 검색 결과들을 제공하는 동작; 각각의 테스트 그룹에 대해, 테스트 그룹에 대응하는 필터링된 검색 결과들을 제공하는 동작; 구매자들로부터 응답 표시자들을 수신하는 동작; 응답 표시자들에 기초하여 각각의 테스트 그룹에 대한 성능 메트릭을 결정하는 동작; 성능 메트릭들에 기초하여 각각의 테스트 그룹에 대한 통계적 유의성들을 결정하는 동작; 각각의 테스트 그룹에 대해, 테스트 그룹에 대한 통계적 유의성이 임계값보다 큰 것에 응답하여: 테스트 그룹에 대한 성능 메트릭이 메트릭 임계값보다 작은 것에 응답하여, 후보 규칙들로부터 테스트 그룹에 대응하는 후보 규칙을 폐기하는 동작; 및 테스트 그룹에 대한 성능 메트릭이 메트릭 임계값보다 큰 것에 응답하여, 테스트 그룹에 대응하는 후보 규칙을 현재 규칙들에 추가하는 동작에 의해 동작한다.
본 개시내용의 다양한 실시예들의 구조 및 동작뿐만 아니라, 본 개시내용의 추가 실시예들, 특징들, 및 이점들이 첨부 도면들을 참조하여 아래에서 상세하게 설명된다.
본 명세서에 통합되고 명세서의 부분을 형성하는 첨부 도면들은 본 개시내용의 실시예들을 예시하고, 상세한 설명과 함께, 개시내용의 원리들을 설명하고 본 기술분야(들)의 통상의 기술자가 실시예들을 만들고 사용하게 할 수 있는 역할을 추가로 한다.
도 1은 일부 실시예들에 따른, 동적 개선이 가능한 검색 엔진을 포함하여, 사용자들이 구매할 아이템들을 검색할 수 있는 전자상거래 사이트를 위한 컴퓨팅 환경의 블록도를 예시한다.
도 2는 일부 실시예들에 따른, 검색 엔진 결과들을 개선하기 위한 후보 규칙을 테스트하기 위한 방법을 예시하는 흐름도이다.
도 3은 일부 실시예들에 따른, 본 개시내용의 다양한 양태들을 수행하는 데 사용될 수 있는 범용 컴퓨터의 블록도를 예시한다.
도면들에서, 유사한 참조 번호들은 일반적으로 동일하거나 유사한 요소들을 표시한다. 추가적으로, 일반적으로, 참조 번호의 맨 왼쪽 숫자(들)는 참조 번호가 처음 나타나는 도면을 식별한다.
검색 입력들의 모호성을 감소시키는 규칙들을 테스트하고, 어떤 규칙들이 유효한지를 식별하고, 해당 규칙들을 전자상거래 사이트에 구현함으로써, 전자상거래 사이트들에서 검색 엔진 결과들을 개선하기 위한 시스템, 장치, 제조물, 방법 및/또는 컴퓨터 프로그램 제품 실시예들, 및/또는 이들의 조합들 및 하위-조합들이 본 명세서에서 제공된다.
도 1은 일부 실시예들에 따른, 구매자들(140)이 판매용으로 제공되는 아이템들 및 서비스들(본 명세서에서 For Sale Objects, 또는 FSO들로서 지칭됨)을 브라우징, 검색, 및 구매할 수 있는 전자상거래 사이트(102)를 포함하는 컴퓨팅 환경(100)의 블록도를 예시한다. 구매자들(140)은 인터넷(130) 또는 임의의 다른 네트워크 또는 통신 매체, 표준, 프로토콜, 또는 기술을 통해 전자상거래 사이트(102)에 액세스할 수 있다.
전자상거래 사이트(102)는 구매자들(140)이 검색 엔진(110)을 사용하여 검색할 수 있는 FSO들의 리스팅들을 포함하는 리스팅 데이터베이스(104)를 갖는다. 구매자(140)가 원하는 리스팅을 찾으면, 구매자(140)는 판매 모듈(sales module)(107)을 통해 원하는 리스팅에서 FSO를 구매하도록 선택할 수 있다.
전자상거래 사이트(102)는, 일부 실시예들에 따라, 전자상거래 사이트(102)와 구매자들(140)의 상호작용들을 모니터링하고 검색 엔진(110)을 수정할 수 있는 머신 러닝 모듈(machine learning module)(120)을 갖는다. 전자상거래 사이트(102)는 또한 데이터를 저장하기 위한 다른 데이터베이스들(106) 및 전자상거래 사이트(102)와 관련된 기능들을 수행하기 위한 다른 모듈들(109)을 포함한다.
검색 엔진(110)은 입력 모듈(111)로부터 구매자들(140)로부터의 검색 입력들을 수신하고, 결과 모듈(results module)(113)을 사용하여 검색 입력들과 매칭되는 리스팅들에 대해 리스팅 데이터베이스(104)를 검색할 수 있다. 결과 모듈(113)은, 일부 실시예들에 따라, 검색 결과들을 식별하고 이들을 출력 모듈(119)에 제공할 수 있다. 출력 모듈(119)은 검색 결과들을 구매자들(140)에게 제공할 수 있다.
일부 실시예들에서, 검색 엔진(110)은 검색 결과들을 필터링하기 위한 규칙들을 포함하는 규칙 데이터베이스(rules database)(115)를 갖는다. 규칙은 검색 결과들에 리스팅들을 추가하거나 이로부터 제거하기 위한 조건들 또는 파라미터들의 세트일 수 있다. 일부 실시예들에서, 규칙은 검색 결과들로부터 원하지 않는 결과들을 필터링하기 위해 검색 입력들의 모호성을 해결하도록 구성될 수 있다. 일부 실시예들에서, 규칙은 특정 결과들이 전반적인 결과들에서 더 높이 또는 더 일찍 나타나도록 이들을 부스트(boost)하도록 구성될 수 있다. 결과들은 결과와 관련되는 속성(attribute)에 기초하여 부스트될 수 있다. 일부 실시예들에서, 규칙은 하나 이상의 속성을 갖거나 갖지 않는 아이템에 기초하여 결과들을 순위(rank)화할 수 있다.
결과 필터(117) 및 규칙 데이터베이스(115)는 검색 입력들 및 규칙들에 기초하여 검색 결과들을 필터링하기 위해 함께 동작할 수 있다. 예를 들어, 결과 필터(117)는 검색 결과들을 필터링하고 규칙을 만족하지 않는 결과들을 제거하기 위해 규칙 데이터베이스(115)로부터의 규칙들을 적용할 수 있다. 다른 예로서, 결과 필터(117)는 규칙 데이터베이스(115)로부터의 규칙들을 결과 모듈(113)에 제공하여 결과 모듈(113)로 하여금 제공된 규칙들을 만족하는 리스팅들로부터의 검색 결과들만을 식별하게 할 수 있다. 또 다른 예로서, 결과 필터(117)는 필터링된 리스팅들을 식별하기 위해 리스팅 데이터베이스(104)의 리스팅들에 규칙들을 적용할 수 있고, 그 후 결과 모듈(113)이 검색 결과들을 식별하기 위해 이를 검색할 수 있다. 또 다른 예로서, 결과 필터(117)는 특정 결과를 강조하거나 부스트하여 검색 결과들에서 처음으로 나타나도록 하기 위해 규칙 데이터베이스(115)로부터의 규칙들을 적용할 수 있다.
예를 들어, "IPHONE"의 검색 입력은 IPHONES 및 IPHONE 케이스(case)들 모두의 리스팅들과 매칭될 수 있다. 이는, 구매자(140)가 둘 중 어느 한 객체를 검색하기 위해 "IPHONE"을 입력할 수 있기 때문에, 검색 입력에 의해 도입된 모호성이다. 이 모호성은 구매자(140)가 검색 입력에 단어 "케이스"를 추가하는 것과 같이 추가 정보를 입력함으로써 해결될 수 있다. 예시적인 규칙은 IPHONES 및 케이스들과 같은 액세서리들에 대한 리스팅들을 구분함으로써 이 모호성을 해결할 수 있다. 규칙은 IPHONES와 IPHONE 액세서리들을 구별하는 카테고리들을 구분함으로써 이를 수행할 수 있다. 규칙은, "IPHONE"의 입력의 경우, IPHONE 액세서리들이 제외되어야 한다는 것일 수 있다. 다시 말해서, 규칙은, "IPHONE"의 입력의 경우, 액세서리들의 카테고리가 제외되어야 한다는 것일 수 있다.
다른 예로서, 규칙이 결과들로서 "IPHONE CASE"보다 "IPHONE"을 부스트하거나 강조할 수 있다. 그러면, 검색 결과들은 "IPHONE CASE" 검색 결과 앞에 임의의 "IPHONE" 검색 결과들을 배치할 것이다.
일부 실시예들에서, 머신 러닝 모듈(120)은 규칙 데이터베이스(115)에 통합하기 위한 새로운 규칙들을 식별하기 위해 후보 규칙들을 동적으로 테스트한다. 후보 규칙들은 검색 입력들에서 잠재적이거나 알려진 모호성들을 해결할 수 있다. 그룹 컨트롤(group control)(129)은 규칙 모듈(125)로부터의 후보 규칙들을 규칙 데이터베이스(115) 또는 규칙 결과 필터(117)에 제공함으로써 어떤 구매자들(140)이 후보 규칙들을 동적으로 테스트하는 데 사용되는지를 제어할 수 있다. 결과 필터(117)는 규칙 데이터베이스(115)의 기존의 규칙들과 조합하는 것을 포함하여, 검색 결과들을 필터링하기 위해 후보 규칙들을 사용할 수 있다. 그룹 컨트롤(129)은 필터링된 검색 결과들을 지정된 그룹들의 구매자들(140)에게 제공하도록 출력 모듈(119)을 구성할 수 있다.
전자상거래 사이트(102)는 출력 모듈(119)에 의해 제공된 검색 결과들에 대한 구매자들(140)의 응답들을 모니터링할 수 있다. 응답 데이터베이스(121)는 해당 응답들에 대한 정보를 저장할 수 있고, 통계 모듈(statistics module)(123)은 해당 응답들에 대한 통계 분석을 수행할 수 있고, 메트릭 모듈(metrics module)(127)은 응답들의 메트릭들을 계산할 수 있다. 머신 러닝 모듈(120)은 통계 분석 및 메트릭들에 기초하여 후보 규칙이 모호성을 해결하는 데 유효한지를 결정할 수 있다. 후보 규칙이 유효한 경우, 머신 러닝 모듈(120)은 검색 결과들의 필터링에 사용될 규칙 데이터베이스(115)에 해당 규칙을 추가할 수 있다. 후보 규칙이 유효하지 않은 경우, 머신 러닝 모듈(120)은 해당 규칙을 폐기할 수 있다.
머신 러닝 모듈(120)은 검색 입력들 또는 결과들에서 식별되거나 인지된(perceived) 모호성들에 기초하여 규칙 모듈(125)을 사용하여 후보 규칙들을 발생시킬 수 있다. 후보 규칙들은 검색 엔진(110)에 의해 식별되거나 발생된 검색 결과들을 개선하려고 시도하는 목적으로 발생될 수 있다. 머신 러닝 모듈(120)은 또한 인터넷(130)을 통해, 또는 다른 소스들을 통해 규칙 입력 모듈(rules input module)(150)로부터 후보 규칙들을 수신할 수 있다.
일부 실시예들에서, 규칙 입력 모듈(150)은 전자상거래 사이트(102)에 통합될 수 있다. 예를 들어, 규칙 입력 모듈(150)은 머신 러닝 모듈(120) 또는 다른 모듈들(109)에 통합될 수 있다.
일부 실시예들에서, 머신 러닝 모듈(120)은 구매자들(140)의 서브세트들에 대한 후보 규칙들의 동적 테스트를 수행할 수 있다. 그룹 컨트롤(129)은 구매자들(140)을 구매자들(140A), 구매자들(140B) 등 내지 구매자들(140Z)과 같은 그룹들로 나눌 수 있다. 머신 러닝 모듈(120)은 구매자들(140A)과 같은 구매자들(140)의 그룹을, 필터링 없이 또는 후보 규칙들이 아니라 규칙 데이터베이스(115)의 현재 규칙들에 기초한 필터링으로만 검색 결과들을 수신하는 제어 그룹으로서 사용할 수 있다. 머신 러닝 모듈(120)은 후보 규칙들 또는 후보 규칙들과 결합된 현재 규칙들에 의해 필터링된 검색 결과들을 수신하는 테스트 그룹들로서, 구매자들(140B 또는 140Z)과 같은, 다른 그룹들의 구매자들(140)을 사용할 수 있다. 각각의 테스트 그룹은 특정 후보 규칙과 연관될 수 있다.
머신 러닝 모듈(120)은 베이스라인 검색 결과들 및 후보 규칙들을 사용하여 필터링된 검색 결과들 모두로부터의 검색 결과들에 대한 구매자 응답들의 비교를 제공하기 위해 구매자들(140)의 제어 그룹 및 테스트 그룹들을 사용할 수 있다. 이러한 비교들에 기초하여, 위에서 논의된 바와 같이, 그리고 추가로 아래에서 논의되는 바와 같이, 통계 분석 및 메트릭들이 구매자 응답들에 대해 수행될 수 있다.
머신 러닝 모듈(120)은 비지도 러닝(unsupervised learning)을 수행할 수 있으며, 이에 의해, 머신 러닝 모듈(120)은 데이터를 수집하고, 이러한 데이터가 수신됨에 따라 이를 프로세싱한다. 이 프로세스를 통해, 머신 러닝 모듈(120)은 인간 입력과 독립적으로 검색 결과들을 개선하기 위한 규칙들을 유리하게 식별하고 구현할 수 있다. 머신 러닝 모듈(120)이 식별하는 규칙들은 인간 관찰자들에게 명백하지 않을 수 있지만, 머신 러닝 모듈(120)은 어떤 규칙들이 구매자들을 위해 검색 결과들을 개선하는지를 결정하기 위해 규칙들을 평가하기 위한, 아래에서 설명되는 방법(200)의 실시예들과 같은, 방법들을 채택함으로써 해당 규칙들을 유효한 것으로서 식별할 수 있다.
도 2는 일부 실시예들에 따른, 검색 엔진 결과들을 개선하기 위한 후보 규칙을 테스트하기 위한 방법(200)을 예시하는 흐름도이다. 방법(200)은 하드웨어(예를 들어, 회로부(circuitry), 전용 로직, 프로그래밍가능 로직, 마이크로코드 등), 소프트웨어(예를 들어, 프로세싱 디바이스에서 실행되는 명령어들), 또는 이들의 조합을 포함할 수 있는 프로세싱 로직에 의해 수행될 수 있다. 방법(200)의 단계들은, 위에서 설명된 바와 같이, 전자상거래 사이트(102)에 의해 수행될 수 있다. 방법(200)의 단계들은, 위에서 설명된 바와 같이, 그리고 아래의 단계들에 대한 설명에서 더 명확해지는 바와 같이, 전자상거래 사이트(102)의 모듈들 및 엔진들에 의해 수행될 수 있다. 방법(200)의 단계들의 서브세트는 본 명세서에서 개시되는 향상된 기술들을 수행하기에 충분할 수 있다. 또한, 방법(200)의 일부 단계들은, 본 기술분야의 통상의 기술자에 의해 이해되는 바와 같이, 동시에, 또는 도 2에 도시된 것과 상이한 순서로 수행될 수 있다.
일부 실시예들에서, 전자상거래 사이트(102)는 전자상거래 사이트(102)에 포함된 모듈들, 데이터베이스들, 및 엔진들 사이의 통신을 제공한다. 전자상거래 사이트(102)는 인터넷(130)을 통해 입력들을 수신하고 입력들을 위에서 설명된 모듈들, 데이터베이스들, 및 엔진들에 제공할 수 있다. 전자상거래 사이트(102)는 인터넷(130)을 통해 구매자들(140)에게 데이터를 전송할 수 있다.
단계(210)에서, 입력 모듈(111)은 구매자들(140)로부터 검색 입력들을 수신한다. 예를 들어, 검색 입력들은 전자상거래 사이트(102)에 의해 수신되고 검색 엔진(110)의 입력 모듈(111)에 제공될 수 있다.
일부 실시예들에서, 검색 입력들은 구매자들(140)이 리스팅 데이터베이스(104)의 리스팅들에서 검색하고 있는 FSO를 설명하는 문자열들(strings of characters)이다. 검색 입력들은 전자상거래 사이트(102)에서 실행되는 웹 사이트 또는 애플리케이션 상의 사용자 인터페이스에 입력될 수 있다. 검색 입력들은 부울 연산자(Boolean operator)들, 검색 카테고리 선택들, 또는 다른 제약들과 같은 검색 제약들을 포함할 수 있다.
일부 실시예들에서, 주어진 FSO에 대해 각각의 주어진 구매자(140)로부터 수신된 검색 입력들은 동일하다. 예를 들어, APPLE IPHONE에 대해 주어진 구매자로부터 수신된 검색 입력들은 해당 구매자가 해당 특정 FSO를 검색할 때마다 동일한 문자열이다.
단계(215)에서, 그룹 컨트롤(129)은 각각의 구매자(140)를 제어 그룹 또는 테스트 그룹에 할당한다. 테스트 그룹은 검색 결과들을 개선하기 위한 후보 규칙에 대응한다. 하나보다 많은 테스트 그룹이 있을 수 있으며, 각각의 테스트 그룹은 상이한 후보 규칙에 대응한다. 예를 들어, 구매자들(140A)은 제어 그룹일 수 있고, 구매자들(140B) 등 내지 구매자들(140Z)은 테스트 그룹들이다. 제어 그룹 및 테스트 그룹들은 동일한 수의 구매자들(140)을 포함할 수도 있고 포함하지 않을 수도 있다.
일부 실시예들에서, 구매자(140)는 동일한 검색 입력을 1회보다 많이 제공할 수 있다. 예를 들어, 구매자(140)는 나중에 검색을 반복할 수 있다. 이 경우, 구매자(140)는 단계(214)에서 그룹 컨트롤(129)에 의해 이미 그룹에 할당되었을 것이다. 그룹 컨트롤(129)이 구매자(140)를 그룹에 할당하려고 시도할 때, 구매자(140)가 이미 그룹에 속해 있는 경우, 그룹 컨트롤(129)은 구매자(140)를 새로운 그룹에 할당하지 않고, 대신에 이전에 할당된 그룹에 구매자(140)를 할당한다.
단계(220)에서, 결과 모듈(113)은 검색 입력들에 기초하여 구매자들(140)에 대한 검색 결과들을 식별한다. 결과 모듈(113)은 입력 모듈(111)로부터 검색 입력들을 수신하고 검색 알고리즘을 사용하여 검색 입력들과 매칭되거나 이에 대응하는 리스팅들에 대해 리스팅 데이터베이스(104) 또는 그 서브세트들을 검색하고 이들을 검색 결과들로서 식별할 수 있다. 전자상거래 사이트(102)는 주어진 검색 입력에 대해 이러한 검색 결과들을 다른 데이터베이스들(106)에 저장할 수 있다. 검색 결과들은 검색 입력과 매칭되는 저장된 검색 결과들에 액세스함으로써 식별될 수 있다.
단계(230)에서, 결과 필터(117)는 필터링된 검색 결과들을 식별하기 위해 구매자들(140)이 속한 그룹에 기초하여 검색 결과들을 필터링한다. 결과 필터(117)는 규칙 데이터베이스(115)로부터의 현재 규칙들 및 규칙 모듈(125)로부터의 후보 규칙들 모두에 액세스하거나 이를 사용할 수 있다. 제어 그룹의 구매자들(140)의 경우, 결과 필터(117) 필터들은 현재 규칙들을 사용할 수 있다. 테스트 그룹의 구매자들(140)의 경우, 결과 필터(117) 필터들은 현재 규칙들 및 구매자(140)의 테스트 그룹에 대응하는 후보 규칙을 사용할 수 있다. 단계(230)는 제어 그룹 및 각각의 테스트 그룹에 대해 상이한 필터링된 검색 결과들을 식별할 수 있다. 전자상거래 사이트(102)는 필터링된 검색 결과들 각각을 다른 데이터베이스들(106)에 저장할 수 있다. 필터링된 검색 결과들은 동일한 입력들 및 규칙들에 대해 저장된 필터링된 검색 결과들에 액세스함으로써 식별될 수 있다.
현재 규칙들 및 후보 규칙들의 규칙들은 검색 입력들 및 리스팅들 모두에 포함된 다양한 파라미터들에 기초하여 필터링할 수 있다. 예를 들어, 주어진 검색 입력에 대해, 리스팅 파라미터가 선호될 수 있으며, 해당 파라미터를 포함하는 리스팅들만이 포함될 수 있다. 또 다른 예로서, 주어진 검색 입력에 대해, 리스팅 파라미터가 부스트될 수 있고, 다른 리스팅들보다 더 높은 점수(score) 또는 선호도(preference)로 리스팅될 것이다. 비제한적인 예로서, 규칙은 "IPHONE"의 검색이 카테고리 "스마트폰"에 대응한다는 것일 수 있고, 규칙은 이 카테고리를 포함하는 리스팅들을 식별하면서 이 카테고리를 포함하지 않는 리스팅들을 필터링 아웃(filter out)할 것이다. 또 다른 비제한적인 예로서, 규칙은 "IPHONE"의 검색이 카테고리 "스마트폰" 대응하는 것일 수 있고, 규칙은 이 카테고리를 포함하지 않는 다른 리스팅들보다 이 카테고리를 포함하는 리스팅들을 부스트할 것이다.
일부 실시예들에서, 단계들(220 및 230)은 도 2의 예에 도시된 것과 상이한 순서들로 수행될 수 있다. 예를 들어, 위에서 논의된 바와 같이, 단계(220)는 검색 결과들을 식별하고, 단계(230)는 규칙들을 사용하여 검색 결과들을 필터링한다. 이 접근 방식은, 검색 단계가 필터링할 리스팅들의 수를 감소시키기 때문에, 필터링 단계가 검색 단계보다 컴퓨터 사이클들 또는 자원들에서 비용이 더 많이 들 때 유리할 수 있다. 또 다른 예에서, 단계(230)는 규칙들을 사용하여 리스팅 데이터베이스(104)에 저장된 리스팅들을 필터링하고, 단계(220)는 필터링된 리스팅들을 검색한다. 이 접근 방식은, 필터링 단계가 검색될 리스팅들의 수를 감소시키기 때문에, 검색 단계가 필터링 단계보다 컴퓨터 사이클들 또는 자원들에서 비용이 더 많이 들 때 유리할 수 있다.
단계(240)에서, 출력 모듈(119)은 필터링된 검색 결과들을 구매자들(140)이 속한 그룹에 기초하여 구매자들(140)에게 제공한다. 제어 그룹의 구매자(140)는 현재 규칙들에 기초하여 필터링된 검색 결과들을 수신한다. 테스트 그룹의 구매자(140)는 현재 규칙들 및 테스트 그룹에 대응하는 후보 규칙에 기초하여 필터링된 검색 결과들을 수신한다. 필터링된 검색 결과들은 인터넷(130)을 통해 구매자들(140)에게 제공될 수 있다.
단계(250)에서, 전자상거래 사이트(102)는 구매자들(140)로부터 응답들을 수신한다. 전자상거래 사이트(102)는 응답 데이터베이스(121) 또는 다른 데이터베이스(106)에 응답들을 저장할 수 있고, 어떤 응답이 수신되었는지에 대한 표시자 또는 구매된 FSO에 대해 지불된 가격과 같은 응답의 세부사항들을 응답 데이터베이스(121)에 제공할 수 있다. 머신 러닝 모듈(120)은 다른 데이터베이스들로부터 응답 표시자를 리트리브(retrieve)하고 이를 응답 데이터베이스(121)에 저장할 수 있다.
일부 실시예들에서, 응답은 제공된 필터링된 검색 결과들에 기초하여 구매자(140)에 의해 취해진 액션이다. 예시적인 응답들은 다음을 포함하지만, 이에 제한되지 않는다:
·구매자(140)는 필터링된 검색 결과들에서 리스팅을 선택한다.
·구매자(140)는 온라인 쇼핑 카트와 같은 체크아웃 시스템(checkout system)의 리스팅에 FSO를 넣도록 선택한다.
·구매자(140)는 30일과 같은 소정 기간 내에 FSO를 구매한다.
·구매자(140)는 소정 기간 내에 쇼핑 카트의 FSO를 구매하지 않는다.
·구매자(140)는 필터링된 검색 결과들에서 하나보다 많은 리스팅을 보도록 선택한다.
·구매자(140)는 수정된 또는 상이한 검색을 입력하여, 구매자(140)가 필터링된 검색 결과들에서 리스팅들 중 임의의 것을 선택하지 않았음을 표시한다.
·구매자(140)는 전자상거래 사이트(102)를 실행하는 브라우저, 윈도우, 탭, 또는 애플리케이션을 닫아, 구매자(140)가 필터링된 검색 결과들에서 리스팅들 중 임의의 것을 선택하지 않았음을 표시한다.
일부 실시예들에서, 전자상거래 사이트(102)는 단일 구매자(140)로부터 하나보다 많은 응답을 수신한다. 예를 들어, 구매자(140)는 여러 리스팅들을 보고 해당 리스팅들 중 하나로부터 FSO를 구매할 수 있으며, 이는 다수의 응답들을 발생시킬 수 있다. 단계(250)는 시간이 지남에 따라 또는 동시에 다수의 응답들을 수신할 수 있다.
단계(260)에서, 메트릭 모듈(127)은 응답들의 메트릭들을 계산한다. 메트릭 모듈(127)은 제어 그룹 및 각각의 테스트 그룹, 또는 그룹들의 서브세트에 대한 메트릭들을 계산할 수 있다. 메트릭 모듈(127)은 단일 메트릭 또는 여러 상이한 메트릭들을 계산할 수 있다. 메트릭 모듈(127)은 가중 결합(weighted combination)을 사용하는 것을 포함하여 메트릭들을 결합할 수 있다. 가중 조합으로 가중하는 것은 검색 결과들과 필터링된 검색 결과들 사이의 모호성을 감소시킴에 있어서 후보 규칙의 유효성(effectiveness)에 대한 정보를 제공할 때 상이한 메트릭들의 상대적 순위화에 기초하여 설정될 수 있다.
응답들의 메트릭은 총 상품량(Gross Merchandise Volume)(GMV)일 수 있다. 메트릭 모듈(127)은 검색 결과들에 응답하여 제어 그룹의 구매자들(140)에게 판매된 아이템들의 비용의 총계(sum-total)로서 제어 그룹에 대한 GMV를 결정하거나 계산할 수 있다. GMV는 필터링된 검색 결과들에 응답하여 구매자들에게 판매된 아이템들의 비용의 총계로서 테스트 그룹에 대해 계산될 수 있다.
응답들의 메트릭은 조회율(view rate)일 수 있다. 제어 그룹에서, 메트릭 모듈(127)은 필터링된 검색 결과들에서 FSO 리스팅을 수신하고 FSO 리스팅을 보도록 선택하는 구매자들(140)의 수로서 조회율을 결정하거나 계산할 수 있다. 테스트 그룹에서, 메트릭 모듈(127)은 필터링된 검색 결과들에서 FSO 리스팅을 수신하고 FSO 리스팅을 보도록 선택하는 구매자들(140)의 수로서 조회율을 결정하거나 계산할 수 있다.
응답들의 메트릭은 판매율(sell through rate)일 수 있다. 제어 그룹의 경우, 메트릭 모듈(127)은 제어 그룹의 구매자들(140)에 의해 구매된 특정 유형의 FSO들의 수를 필터링된 검색 결과들에서 특정 유형의 FSO들을 포함하는 FSO 리스팅들의 수로 나눈 값으로서 판매율을 결정하거나 계산할 수 있다. 테스트 그룹의 경우, 메트릭 모듈(127)은 테스트 그룹의 구매자들(140)에 의해 구매된 특정 유형의 FSO들의 수를 필터링된 검색 결과들에서 특정 유형의 FSO들을 포함하는 FSO 리스팅들의 수로 나눈 값으로서 판매율을 계산할 수 있다.
응답들의 메트릭은 레이트 k에서의 클릭률(click-through rate)(CTR)일 수 있다. 메트릭 모듈(127)은 상위 k개의 결과에서 아이템을 클릭한 사람들의 퍼센티지(percentage)로서 레이트 k에서의 CTR을 결정하거나 계산할 수 있다. 예를 들어, 레이트 36에서의 CTR의 경우, 100명의 사람이 결과들을 보고 32명의 사람이 상위 36개의 결과에서 결과를 클릭하면, 레이트 36에서의 CTR은 32%이다. 일부 실시예들에서, 레이트 k는 3, 6, 12, 18, 36, 또는 다른 값들이다.
레이트 k에서의 CTR은 사용자에게 더 유용하거나 바람직한 검색 결과들을 식별할 수 있다. 일부 실시예들에서, 레이트 k에서의 CTR은 방법(300)의 다른 단계들에서 수행된 필터링의 부분으로서 부스트하거나 더 높이 순위화하기 위해 결과들을 식별하는 데 사용된다. 일부 실시예들에서, 레이트 k에서의 CTR에 의해 식별된 결과들은 (50% 이상, 75% 이상, 또는 일부 다른 임계값과 같은) 높은 레이트 k에서의 CTR을 갖는 공통 아이템 속성들을 식별하는 데 사용된다. 그러면, 이러한 속성들을 갖는 아이템들은 부스트되거나 더 높이 순위화될 수 있다. 일부 실시예들에서, 레이트 k에서의 CTR은 아이템들 또는 아이템 속성들을 부스팅하거나 순위화하기 위한 규칙을 생성하는 데 사용된다.
결합된 메트릭의 예로서, 메트릭은 GMV, 조회율, 및 판매율의 보트(vote)일 수 있다. 메트릭들 중 2개 이상이 제어 그룹보다 테스트 그룹에 대해 더 높은 경우, 메트릭은 후보 규칙이 유효함을 표현하는 값으로 설정될 수 있다. 메트릭들 중 2개 이상이 테스트 그룹보다 제어 그룹에 대해 더 높은 경우, 메트릭은 후보 규칙이 유효하지 않음(ineffective)을 표현하는 값으로 설정될 수 있다. 이 결합은, 위에서 논의된 바와 같이, 가중되어, 보트들 중 일부가 다른 것들보다 더 중요할 수 있다.
단계(270)에서, 통계 모듈(123)은 메트릭들의 통계적 유의성(statistical significance)을 결정한다. 각각의 메트릭은, 메트릭 임계값과의 비교에 기초하여, 후보 규칙이 결과들을 개선하고 있는지 여부를 표시한다. 메트릭 모듈(127)은 메트릭이 표시하는 것을 결정하기 위해 메트릭들과 메트릭 임계값의 비교를 수행할 수 있다. 메트릭 모듈(127)은 이 표시를 통계 모듈(123)에 제공할 수 있다. 표시에 기초하여, 통계 모듈(123)은 후보 규칙이 표시된 대로 수행하고 있다는 가설(hypothesis)을 발생시킬 수 있다.
일부 실시예들에서, 통계 모듈(123)은 메트릭과 임계값의 비교를 수행함으로써 통계적 유의성을 결정할 수 있다. 예를 들어, 메트릭에 기초하여 하나 이상의 값이 계산될 수 있고, 각각은 개개의 임계값과 비교될 수 있다. 메트릭은, 각각의 값이 그 개개의 임계값보다 클 때, 통계적으로 유의하다.
예로서, 결정된 값은 p-값일 수 있으며; 즉, 통계 모듈(123)은 메트릭들에 대해 p-테스트를 수행함으로써 통계적 유의성을 결정할 수 있다. 통계 모듈(123)은 가설에 대한 p-값을 결정하는 것을 포함하여, 후보 규칙이 표시된 대로 수행하고 있다는 가설에 대해 p-테스트를 수행할 수 있다. 예들로서, p-테스트에 대한 가설은 테스트 그룹의 결과들을 제어 그룹과, 제어 그룹과 다른 테스트 그룹들을 조합하여, 또는 상이한 테스트 그룹과 비교할 수 있다.
또 다른 예로서, 필터링되지 않은 검색 결과들의 총 매출(gross sales)은 값을 가질 수 있고, 필터링된 결과들의 GMV는 몇 퍼센티지 더 높을 수 있다. 둘을 비교하면 퍼센티지 증가가 산출되며, 이는 퍼센티지 증가가 30% 또는 40%와 같은 임계값보다 높을 때 GMV의 통계적 유의성을 표시한다. 구체적이고 비제한적인 예로서, GMV가 $2000이고 동일한 아이템들이 필터링 없이 $1000만 판매되었을 때, 원시 값(raw value)은 100%만큼 증가하였다. 이 증가는 30%의 임계값보다 더 높으므로, 따라서, 통계적으로 유의하다.
일부 실시예들에서, 임계값은 퍼센티지 증가 및 전반적인 값 모두를 고려한다. 예를 들어, GMV가 $13이고 필터링되지 않은 판매 값이 $10인 경우, 30% 증가가 있지만, 실제 달러의 상대적 증가는 적다. 임계값은 퍼센티지 증가뿐만 아니라, $50, $100, $500, $1000, 또는 일부 다른 금액(amount)과 같은 일부 금액보다 큰 달러 증가일 수 있다.
단계(275)에서, 통계 모듈(123)은 메트릭의 통계적 유의성이 임계값보다 큰지를 체크한다. 단계(270)에서 결정된 값 또는 값들이 그들 개개의 임계값들보다 큰 경우, 메트릭은 통계적으로 유의하다. 이 결과에 기초하여, 방법(200)은 다른 구매자들(140)로부터 검색 입력들을 수신하기 위해 단계(210)로 리턴한다.
일부 실시예들에서, 임계값은 남아있는 후보 규칙들의 수에 기초하여 설정되거나 변경될 수 있다. 예를 들어, 임계값은 후보 규칙들의 수가 증가함에 따라 증가할 수 있다.
단계(280)에서, 메트릭 모듈(127)은 메트릭이 메트릭 임계값보다 큰지 여부를 체크한다. 메트릭 임계값은 후보 규칙이 제어 그룹의 규칙들, 다른 테스트 그룹들의 후보 규칙들, 또는 둘 다에 비해 테스트 그룹의 검색 결과들을 개선하고 있는지 여부를 식별하기 위해, 위에서 논의된 바와 같이, 설정될 수 있다. 메트릭, 메트릭 임계값, 또는 둘 다는 서로와의 비교를 위해 스케일링되거나 정규화될 수 있다.
일부 실시예들에서, 메트릭 모듈(127)은 단계(270)에서 사용될 가설을 결정하기 위해 메트릭이 메트릭 임계값보다 큰지 여부를 체크한다. 메트릭 모듈(127)은 결과를 내부적으로, 또는 다른 데이터베이스들(106)에 저장할 수 있다. 단계(280)를 수행할 때, 체크를 반복하는 대신에, 메트릭 모듈(127)은 결과에 액세스하거나 결과를 리트리브하여 이를 체크할 수 있다.
메트릭이 메트릭 임계값보다 작은 경우, 후보 규칙은 유효하지 않고, 방법(200)은 단계(285)로 진행한다. 단계(285)에서, 머신 러닝 모듈(120)은 후보 규칙을 폐기한다. 머신 러닝 모듈(120)은 또한 후보 규칙 및 대응하는 테스트 그룹에 대해 응답 데이터베이스에 저장된 응답 데이터를 폐기할 수 있다. 그룹 컨트롤(129)은 후보 규칙에 대응하는 테스트 그룹을 제거할 수 있다. 머신 러닝 모듈(120)에 의해 수행되는 미래의 메트릭 및 통계적 계산들 또는 결정들은 제거된 테스트 그룹을 더 이상 포함하지 않을 수 있다. 그룹 컨트롤(129)은, 제거된 테스트 그룹으로부터의 구매자들(140)에 의한 미래의 검색들에, 해당 구매자들(140)을 다른 테스트 그룹들 또는 제어 그룹에 할당함으로써 응답할 수 있다.
메트릭이 메트릭 임계값보다 큰 경우, 후보 규칙은 유효하고, 방법(200)은 단계(290)로 진행한다.
일부 실시예들에서, 메트릭 임계값은 남아있는 후보 규칙들의 수에 기초하여 설정되거나 변경될 수 있다. 예를 들어, 메트릭 임계값은 후보 규칙들의 수가 감소함에 따라 증가할 수 있다.
단계(290)에서, 머신 러닝 모듈(120)은 후보 규칙의 평가가 완료되었는지 여부를 체크한다. 예를 들어, 후보 규칙들의 평가는, 남아있는 후보 규칙들의 수가 규칙 카운트 임계값보다 작을(below) 때, 모든 남아있는 규칙들에 대한 p-값이 p-값 임계값보다 클(above) 때, 또는 남아있는 후보 규칙들에 대한 모든 p-값들이 해당 후보 규칙에 대한 가설이 통계적으로 유의함을 표시할 때, 완료될 수 있다.
일부 실시예들에서, 머신 러닝 모듈(120)은, 통계 모듈(123)로 하여금, 후보 규칙들의 평가가 완료되었는지를 확인하기 위해 단계(285)에 의한 후보 규칙들의 제거에 기초하여 p-테스트를 업데이트하게 한다.
평가가 완료되지 않은 경우, 방법(200)은 더 많은 검색 입력들을 수신하기 위해 단계(210)로 리턴한다.
평가가 완료되는 경우, 방법(200)은 단계(295)로 진행한다. 단계(295)에서, 머신 러닝 모듈(120)은 후보 규칙들을 현재 규칙들에 추가함으로써 규칙 데이터베이스(115)를 업데이트한다. 일부 실시예들에서, 머신 러닝 모듈(120)은 규칙 모듈(125)의 남아있는 후보 규칙들을 현재 규칙들에 추가한다. 추가되는 후보 규칙들은 후보 규칙이 규칙 모듈(125)의 현재 규칙들에 유효함을 표시하는 통계적으로 유의한 메트릭들을 갖는 후보 규칙들로 제한될 수 있다.
일부 실시예들에서, 단계(295)에서, 머신 러닝 모듈(120)은 남아있는 규칙들에 대한 메트릭들을 업데이트한다. 이 업데이트는 단계(260)를 수행함으로써 발생할 수 있다. 머신 러닝 모듈(120)은 메트릭 임계값에 대해 업데이트된 메트릭들을 체크할 수 있다. 이 체크는 단계(280)를 수행함으로써 발생할 수 있다. 머신 러닝 모듈(120)은 메트릭 임계값보다 작은 업데이트된 메트릭들을 갖는 임의의 후보 규칙들을 제거하고, 남아있는 후보 규칙들을 규칙 모듈(125)의 현재 규칙들에 추가할 수 있다.
본 기술분야의 통상의 기술자들은 방법(200)이 상이한 시간들에서 상이한 구매자들(140)로부터 상이한 검색 입력들 또는 응답들을 수신할 수 있음을 이해할 것이다. 전자상거래 사이트(102), 검색 엔진(110), 및 머신 러닝 모듈(120)은 상이한 구매자들(140), 검색 입력들, 또는 응답들에 대해 동시에 또는 상이한 시간들에서 방법(200)의 다양한 단계들을 수행할 수 있다. 방법(200)은 방법(200)의 상이한 입력들 또는 프로세싱을 어드레싱하기 위해 필요에 따라, 동시에, 직렬로, 또는 상이한 시간들에서 다양한 단계들을 능동적으로(actively) 수행할 수 있다. 후보 규칙을 폐기하는 것과 같은 방법(200)의 단계들은, 위에서 설명된 바와 같이, 방법(200)의 다른 단계들에 영향을 미칠 수 있고, 이는 반복(iteration)들 사이에서 일부 단계들이 수행되는 방법에 대한 업데이트들 또는 변경들을 생성할 수 있다.
방법(200)은 상이한 검색 입력들에 대해 동시에 그리고 독립적으로 수행될 수 있다. 예를 들어, 전자상거래 사이트(102)는 구매자들(140)로부터 상이한 검색 입력들을 수신하고, 방법(200)을 수행하여 각각의 상이한 검색 입력에 대한 검색 결과들을 개선할 수 있다. 구매자들(140)은 그들이 입력하는 각각의 검색 입력에 대해 상이한 제어 및 테스트 그룹들에 할당될 수 있다.
방법(200)은, 모든 후보 규칙들이 폐기될 때까지, 또는 후보 규칙들 중 일부가 현재 규칙들에 추가될 때까지, 주어진 세트의 후보 규칙들에 대한 검색 입력에 대해 수행될 수 있다. 폐기된 후보 규칙들은 나중에 상이한 세트의 후보 규칙들의 부분으로서 다시 테스트될 수 있다. 상이한 세트의 후보 규칙들은 이전 반복들로부터 폐기된 후보 규칙들을 포함할 수 있다. 본 기술분야의 통상의 기술자들은 후보 규칙이 구매자(140) 습관들 또는 마켓 포스(market force)들의 변경들에 따라 유효하지 않은 것으로부터 유효한 것으로 시간이 지남에 따라 효능(efficacy)이 변경될 수 있음을 이해할 것이다.
예시적인 컴퓨터 시스템
다양한 실시예들은, 예를 들어, 도 3에 도시된 컴퓨터 시스템(300)과 같은 하나 이상의 컴퓨터 시스템을 사용하여 구현될 수 있다. 하나 이상의 컴퓨터 시스템(300)은, 예를 들어, 본 명세서에서 논의되는 실시예들 중 임의의 것뿐만 아니라, 이들의 조합들 및 하위-조합들을 구현하는 데 사용될 수 있다.
컴퓨터 시스템(300)은 프로세서(304)와 같은 하나 이상의 프로세서(중앙 프로세싱 유닛(central processing unit)들 또는 CPU들이라고도 함)를 포함할 수 있다. 프로세서(304)는 버스 또는 통신 인프라스트럭처(306)에 연결될 수 있다.
컴퓨터 시스템(300)은 또한 사용자 입력/출력 인터페이스(들)(302)를 통해 통신 인프라스트럭처(306)와 통신할 수 있는 모니터들, 키보드들, 포인팅 디바이스들 등과 같은 사용자 입력/출력 디바이스(들)(303)를 포함할 수 있다.
프로세서들(304) 중 하나 이상은 그래픽 프로세싱 유닛(graphics processing unit)(GPU)일 수 있다. 실시예에서, GPU는 수학적으로 집약적인 애플리케이션들을 프로세싱하도록 설계된 특수 전자 회로인 프로세서일 수 있다. GPU는, 예를 들어, 컴퓨터 그래픽 애플리케이션들, 이미지들, 비디오들, 벡터 프로세싱, 어레이 프로세싱 등뿐만 아니라, 암호화(cryptography)(무차별 대입 크래킹(brute-force cracking) 포함), 암호화 해시들 또는 해시 시퀀스들의 발생, 부분 해시-반전(partial hash-inversion) 문제들의 해결, 및/또는 일부 블록체인-기반 애플리케이션들에 대한 다른 작업 증명 시스템(proof-of-work) 계산들의 결과들의 생성에 일반적인 수학적으로 집약적인 데이터와 같은 큰 블록들의 데이터의 병렬 프로세싱에 효율적인 병렬 구조를 가질 수 있다. GPGPU(general-purpose computing on graphics processing units)의 능력들에 의해, GPU는 적어도 본 명세서에서 설명되는 이미지 인식 및 머신 러닝 양태들에서 특히 유용할 수 있다.
추가적으로, 프로세서들(304) 중 하나 이상은 하드웨어-가속 암호화 코프로세서(hardware-accelerated cryptographic coprocessor)들을 포함하여, 암호화 계산들 또는 다른 특수 수학적 함수들을 가속하기 위한 코프로세서 또는 다른 구현의 로직을 포함할 수 있다. 이러한 가속 프로세서들은 이러한 가속을 용이하게 하기 위해 코프로세서들 및/또는 다른 로직을 사용하여 가속하기 위한 명령어 세트(들)를 더 포함할 수 있다.
컴퓨터 시스템(300)은 또한 랜덤 액세스 메모리(random access memory)(RAM)와 같은 메인 또는 프라이머리 메모리(primary memory)(308)를 포함할 수 있다. 메인 메모리(308)는 하나 이상의 캐시 레벨을 포함할 수 있다. 메인 메모리(308)는 제어 로직(즉, 컴퓨터 소프트웨어) 및/또는 데이터를 저장했을 수 있다.
컴퓨터 시스템(300)은 또한 하나 이상의 세컨더리 저장 디바이스(secondary storage device) 또는 세컨더리 메모리(secondary memory)(310)를 포함할 수 있다. 세컨더리 메모리(310)는, 예를 들어, 메인 저장 드라이브(312) 및/또는 이동식(removable) 저장 디바이스 또는 드라이브(314)를 포함할 수 있다. 메인 저장 드라이브(312)는, 예를 들어, 하드 디스크 드라이브 또는 솔리드-스테이트 드라이브일 수 있다. 이동식 저장 드라이브(314)는 플로피 디스크 드라이브, 자기 테이프 드라이브, 컴팩트 디스크 드라이브, 광학 저장 디바이스, 테이프 백업 디바이스, 및/또는 임의의 다른 저장 디바이스/드라이브일 수 있다.
이동식 저장 드라이브(314)는 이동식 저장 유닛(318)과 상호작용할 수 있다. 이동식 저장 유닛(318)은 컴퓨터 소프트웨어(제어 로직) 및/또는 데이터를 저장한 컴퓨터 사용가능 또는 판독가능 저장 디바이스를 포함할 수 있다. 이동식 저장 유닛(318)은 플로피 디스크, 자기 테이프, 컴팩트 디스크, DVD, 광학 저장 디스크, 및/ 임의의 다른 컴퓨터 데이터 저장 디바이스일 수 있다. 이동식 저장 드라이브(314)는 이동식 저장 유닛(318)으로부터 판독하고/하거나 이에 기입할 수 있다.
세컨더리 메모리(310)는 컴퓨터 시스템(300)에 의해 액세스될 컴퓨터 프로그램들 및/또는 다른 명령어들 및/또는 데이터를 허용하기 위한 다른 수단들, 디바이스들, 컴포넌트들, 도구들(instrumentalities) 또는 다른 접근 방식들을 포함할 수 있다. 이러한 수단들, 디바이스들, 컴포넌트들, 도구들 또는 다른 접근 방식들은, 예를 들어, 이동식 저장 유닛(322) 및 인터페이스(320)를 포함할 수 있다. 이동식 저장 유닛(322) 및 인터페이스(320)의 예들은 프로그램 카트리지 및 카트리지 인터페이스(예를 들어, 비디오 게임 디바이스들에서 발견되는 것), 이동식 메모리 칩(예를 들어, EPROM 또는 PROM) 및 연관된 소켓, 메모리 스틱 및 USB 포트, 메모리 카드 및 연관된 메모리 카드 슬롯, 및/또는 임의의 다른 이동식 저장 유닛 및 연관된 인터페이스를 포함할 수 있다.
컴퓨터 시스템(300)은 통신 또는 네트워크 인터페이스(324)를 더 포함할 수 있다. 통신 인터페이스(324)는 컴퓨터 시스템(300)이 외부 디바이스들, 외부 네트워크들, 외부 엔티티들 등(참조 번호 328에 의해 개별적으로 그리고 집합적으로 참조됨)의 임의의 조합과 통신하고 상호작용하게 할 수 있다. 예를 들어, 통신 인터페이스(324)는 컴퓨터 시스템(600)이 유선 및/또는 무선(또는 이들의 조합)일 수 있고 LAN들, WAN들, 인터넷 등의 임의의 조합을 포함할 수 있는 통신 경로(326)를 통해 외부 또는 원격 디바이스들(328)과 통신하도록 허용할 수 있다. 제어 로직 및/또는 데이터는 통신 경로(326)를 통해 컴퓨터 시스템(600)으로 및 이로부터 송신될 수 있다.
컴퓨터 시스템(300)은 또한, 몇 가지 비제한적인 예들, 또는 이들의 임의의 조합을 예로 들자면, PDA(personal digital assistant), 데스크탑 워크스테이션, 랩탑 또는 노트북 컴퓨터, 넷북, 태블릿, 스마트폰, 스마트 워치 또는 다른 웨어러블, 어플라이언스, 사물 인터넷(Internet of Things)(IoT)의 부분, 및/또는 임베디드 시스템 중 임의의 것일 수 있다.
본 명세서에서 설명되는 프레임워크는 방법, 프로세스, 장치, 시스템, 또는 비일시적 컴퓨터 판독가능 매체 또는 디바이스와 같은 제조물로서 구현될 수 있음이 이해되어야 한다. 예시 목적들을 위해, 본 프레임워크는 공개적으로 이용가능하거나, 적어도 신뢰할 수 없는 서드 파티(untrusted third party)들에게 이용가능한 분산 원장(distributed ledger)들의 맥락에서 설명될 수 있다. 최신 사용 사례로서의 일 예는 블록체인-기반 시스템들에 의한 것이다. 그러나, 본 프레임워크는 민감하거나 기밀인 정보가 신뢰할 수 없는 서드 파티들을 통과하거나 이들의 손을 거쳐야 할 필요가 있는 다른 설정들에서도 적용될 수도 있고 이 기술은 분산 원장들 또는 블록체인 사용들에 임의의 방식으로 제한되지 않는다는 점이 이해되어야 한다.
컴퓨터 시스템(300)은 원격 또는 분산 클라우드 컴퓨팅 솔루션들; 로컬 또는 온-프레미스(on-premises) 소프트웨어(예를 들어, "온-프레미스" 클라우드-기반 솔루션들); "서비스형(as a service)" 모델들(예를 들어, CaaS(content as a service), DCaaS(digital content as a service), SaaS(software as a service), MSaaS(managed software as a service), PaaS(platform as a service), DaaS(desktop as a service), FaaS(framework as a service), BaaS(backend as a service), MBaaS(mobile backend as a service), IaaS(infrastructure as a service), DBaaS(database as a service) 등); 및/또는 전술한 예들 또는 다른 서비스들 또는 전달 패러다임들의 임의의 조합을 포함하는 하이브리드 모델을 포함하되, 이에 제한되지 않는 임의의 전달 패러다임을 통해 임의의 애플리케이션들 및/또는 데이터에 액세스하거나 이를 호스팅하는 클라이언트 또는 서버일 수 있다.
임의의 적용가능한 데이터 구조들, 파일 포맷들, 및 스키마들은 JSON(JavaScript Object Notation), XML(Extensible Markup Language), YAML(Yet Another Markup Language), XHTML(Extensible Hypertext Markup Language), WML(Wireless Markup Language), MessagePack, XUL(XML User Interface Language), 또는 임의의 다른 기능적으로 유사한 표현들을 단독으로 또는 조합하여 포함하되, 이에 제한되지 않는 표준들로부터 도출될 수 있다. 대안적으로, 독점적(proprietary) 데이터 구조들, 포맷들 또는 스키마들은 배타적으로 또는 공지된 또는 개방형 표준들과 조합하여 사용될 수 있다.
임의의 적절한 데이터, 파일들, 및/또는 데이터베이스들은, 다른 가능한 포맷들 중에서, 다양한 유형들의 마크업 언어를 더 포함하여, 숫자, 텍스트, 그래픽, 또는 멀티미디어 포맷들과 같은 인간이 판독가능한 포맷들로 저장, 리트리브, 액세스, 및/또는 송신될 수 있다. 대안적으로 또는 위의 포맷들과 조합하여, 데이터, 파일들, 및/또는 데이터베이스들은 바이너리, 인코딩된, 압축된, 및/또는 암호화된 포맷들, 또는 임의의 다른 머신 판독가능 포맷들로 저장, 리트리브, 액세스, 및/또는 송신될 수 있다.
다양한 시스템들과 계층들 사이의 인터페이싱 또는 상호연결은 DOM(Document Object Model), DS(Discovery Service), NSUserDefaults, WSDL(Web Services Description Language), MEP(Message Exchange Pattern), WDDX(Web Distributed Data Exchange), WHATWG(Web Hypertext Application Technology Working Group) HTML5 Web Messaging, REST 또는 RESTful(Representational State Transfer) 웹 서비스들, XUP(Extensible User Interface Protocol), SOAP(Simple Object Access Protocol), XSD(XML Schema Definition), XML-RPC(XML Remote Procedure Call), 또는 유사한 기능 및 결과들을 달성할 수 있는 임의의 다른 개방형 또는 독점적 메커니즘들을 포함하되, 이에 제한되지 않는 임의의 수의 프로토콜들, 프로그래매틱 프레임워크(programmatic framework)들, 플로어플랜(floorplan)들, 또는 애플리케이션 프로그래밍 인터페이스들(application programming interfaces)(API)과 같은 임의의 수의 메커니즘들을 채택할 수 있다.
이러한 인터페이싱 또는 상호연결은 또한 URL(uniform resource locators) 또는 URN(uniform resource names)을 더 포함할 수 있는 URI(uniform resource identifiers)를 사용할 수 있다. 다른 형태들의 균일(uniform)하고/하거나 고유한 식별자들, 로케이터들, 또는 명칭들이 배타적으로 또는 위에서 제시된 것들과 같은 형태들과 조합하여 사용될 수 있다.
상기 프로토콜들 또는 API들 중 임의의 것은 절차적(procedural), 기능적(functional), 또는 객체-지향적(object-oriented)인 임의의 프로그래밍 언어와 인터페이스하거나 이것으로 구현될 수 있으며, 컴파일되거나 해석(interpret)될 수 있다. 비제한적인 예들은, 많은 다른 비제한적인 예들 중에서, C, C++, C#, Objective-C, Java, Scala, Clojure, Elixir, Swift, Go, Perl, PHP, Python, Ruby, JavaScript, WebAssembly, 또는 임의의 종류의 프레임워크, 런타임 환경, 가상 머신, 인터프리터(interpreter), 스택, 엔진, 또는 Node.js, V8, Knockout, jQuery, Dojo, Dijit, OpenUI5, AngularJS, Express.js, Backbone.js, Ember.js, DHTMLX, Vue, React, Electron 등을 포함하되, 이에 제한되지 않는 유사한 메커니즘에서 임의의 다른 라이브러리들 또는 스키마들을 갖는 가상의 임의의 다른 언어를 포함한다.
일부 실시예들에서, 제어 로직(소프트웨어)이 저장되어 있는 유형의(tangible) 비일시적 컴퓨터 사용가능 또는 판독가능 매체를 포함하는 유형의 비일시적 장치 또는 제조물은 또한 본 명세서에서 컴퓨터 프로그램 제품 또는 프로그램 저장 디바이스로서 지칭될 수 있다. 이는 컴퓨터 시스템(300), 메인 메모리(308), 세컨더리 메모리(310), 및 이동식 저장 유닛들(318 및 322)뿐만 아니라, 전술한 것들의 임의의 조합을 구현하는 유형의 제조물들을 포함하지만, 이에 제한되지 않는다. 이러한 제어 로직은, 하나 이상의 데이터 프로세싱 디바이스(예를 들어, 컴퓨터 시스템(300))에 의해 실행될 때, 이러한 데이터 프로세싱 디바이스들로 하여금, 본 명세서에서 설명되는 대로 동작하게 할 수 있다.
본 개시내용에 포함된 교시들에 기초하여, 도 3에 도시된 것 이외의 데이터 프로세싱 디바이스들, 컴퓨터 시스템들 및/또는 컴퓨터 아키텍처들을 사용하여 본 개시내용의 실시예들을 만들고 사용하는 방법은 관련 기술분야(들)의 통상의 기술자들에게 명백할 것이다. 특히, 실시예들은 본 명세서에서 설명되는 것들 이외의 소프트웨어, 하드웨어, 및/또는 운영 체제 구현들로 동작할 수 있다.
임의의 다른 섹션이 아니라 상세한 설명 섹션이 청구범위를 해석하는 데 사용되도록 의도된다는 것이 이해될 것이다. 다른 섹션들은 발명자(들)에 의해 고려되는 모든 예시적인 실시예들이 아닌 하나 이상의 것을 제시할 수 있으며, 따라서, 임의의 방식으로 본 개시내용 또는 첨부된 청구범위를 제한하도록 의도되지 않는다.
본 개시내용은 예시적인 분야들 및 응용들에 대한 예시적인 실시예들을 설명하지만, 개시내용이 이에 제한되지 않는다는 것이 이해되어야 한다. 다른 실시예들 및 이에 대한 수정들이 가능하고, 본 개시내용의 범위 및 사상 내에 있다. 예를 들어, 그리고 이 단락의 일반성을 제한하지 않으면서, 실시예들은 소프트웨어, 하드웨어, 펌웨어, 및/또는 도면들에 예시되고/되거나 본 명세서에서 설명되는 엔티티들에 제한되지 않는다. 또한, 실시예들은 (본 명세서에서 명시적으로 설명되었는지 여부에 관계없이) 본 명세서에서 설명되는 예들을 넘어서는 분야들 및 응용들에 대해 상당한 유용성을 갖는다.
실시예들은 지정된 기능들 및 그 관계들의 구현을 예시하는 기능 빌딩 블록들의 도움으로 본 명세서에서 설명되었다. 이러한 기능 빌딩 블록들의 경계들은 설명의 편의를 위해 본 명세서에서 임의로 정의되었다. 지정된 기능들 및 관계들(또는 그 등가물들)이 적절하게 수행되는 한, 대안적인 경계들이 정의될 수 있다. 또한, 대안적인 실시예들은 본 명세서에서 설명되는 것들과 상이한 순서들을 사용하여 기능 블록들, 단계들, 동작들, 방법들 등을 수행할 수 있다.
본 명세서에서 "일 실시예, "실시예", "예시적인 실시예", "일부 실시예들" 또는 유사한 문구들에 대한 참조들은 설명되는 실시예가 특정 특징, 구조, 또는 특성을 포함할 수 있지만, 모든 실시예가 반드시 특정 특징, 구조, 또는 특성을 포함할 수는 없다는 것을 나타낸다. 또한, 이러한 문구들이 반드시 동일한 실시예를 지칭하고 있는 것은 아니다. 또한, 특정 특징, 구조, 또는 특성이 실시예와 관련하여 설명될 때, 이러한 특징, 구조, 또는 특성을 다른 실시예들에 통합하는 것은 본 명세서에서 명시적으로 언급되었거나 설명되었는지 여부에 관계없이 관련 기술분야(들)의 통상의 기술자들의 지식 내에 있을 것이다.
추가적으로, 일부 실시예들은 표현 "커플링되는(coupled)" 및 "연결되는(connected)"을 그들의 파생어들과 함께 사용하여 설명될 수 있다. 이러한 용어들은 반드시 서로에 대한 동의어들로서 의도되는 것은 아니다. 예를 들어, 일부 실시예들은 용어들 "연결되는" 및 "커플링되는"을 사용하여 2개 이상의 요소가 서로 직접적으로 물리적 또는 전기적으로 접촉하고 있음을 나타내도록 설명될 수 있다. 그러나, 용어 "커플링되는"은 또한 2개 이상의 요소가 서로 직접적으로 접촉하고 있지 않지만, 여전히 서로 협력하거나 상호작용하는 것을 의미할 수도 있다.
본 개시내용의 폭 및 범위는 위에서 설명된 예시적인 실시예들 중 임의의 것에 의해 제한되어서는 안되며, 다음 청구범위 및 그들의 등가물들에 따라서만 정의되어야 한다.

Claims (20)

  1. 전자상거래 사이트에서 판매되는 FSO(For-Sale Objects)의 리스팅(listing)들의 검색 결과들을 개선하기 위해 후보 규칙들을 동적으로 테스트하기 위한 컴퓨터 구현 방법으로서,
    제어 그룹의 구매자들에게 검색 입력 및 현재 규칙들에 기초한 베이스라인 검색 결과들을 제공하는 단계;
    테스트 그룹들의 구매자들에게 상기 검색 입력, 상기 현재 규칙들, 및 상기 테스트 그룹들로부터의 특정 테스트 그룹에 대응하는 후보 규칙에 기초하여 필터링된 검색 결과들을 제공하는 단계;
    상기 제어 그룹의 구매자들로부터의 제어 응답들 및 상기 테스트 그룹들의 구매자들로부터의 테스트 응답들을 수신하는 단계; 및
    각각의 테스트 그룹에 대해:
    상기 제어 응답 및 상기 테스트 그룹에 대한 테스트 응답에 기초하여 메트릭(metric)을 결정하는 단계;
    상기 메트릭이 통계적으로 유의하고(significant) 임계값보다 작은 것에 응답하여, 상기 테스트 그룹에 대응하는 후보 규칙을 폐기하는 단계; 및
    상기 메트릭이 통계적으로 유의하고 상기 임계값보다 큰 것에 응답하여, 상기 테스트 그룹에 대응하는 후보 규칙을 상기 현재 규칙들에 추가하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서, 상기 메트릭은 총 상품량(gross merchandise volume), 판매율(sell through), 레이트 k에서의 클릭률(click-through rate), 및 조회율(view rate)로부터 선택되는, 방법.
  3. 제1항에 있어서, 상기 메트릭을 결정하는 단계는 총 상품량, 판매율, 레이트 k에서의 클릭률, 및 조회율을 결합하는 단계를 포함하는, 방법.
  4. 제3항에 있어서, 상기 총 상품량, 상기 판매율, 및 상기 조회율을 결합하는 단계는 총 상품량, 판매율, 레이트 k에서의 클릭률, 및 조회율을 가중 결합(weighted combination)으로 합산(adding)하는 단계를 포함하는, 방법.
  5. 제1항에 있어서, 상기 제어 응답들 및 상기 테스트 응답들은 상기 FSO를 구매하는 것, 제1 필터링된 검색 결과들 또는 제2 필터링된 검색 결과들로부터 리스팅을 보는 것, 추가 검색 입력들을 입력하는 것, 또는 상기 전자상거래 사이트를 닫는 것 중 하나 이상인, 방법.
  6. 제1항에 있어서,
    p-값을 결정하기 위해 각각의 테스트 그룹에 대한 메트릭에 기초한 가설(hypothesis)에 대해 p-테스트를 수행하고;
    상기 p-값을 p-값 임계값과 비교하고;
    상기 p-값이 상기 p-값 임계값보다 큰 것에 응답하여, 상기 메트릭이 통계적으로 유의함을 식별함으로써;
    상기 메트릭이 통계적으로 유의하다고 결정하는 단계를 더 포함하는, 방법.
  7. 제1항에 있어서,
    상기 메트릭에 기초하여 하나 이상의 값을 계산하고;
    상기 하나 이상의 값 각각을 개개의 임계값과 비교하고;
    상기 하나 이상의 값 각각이 상기 개개의 임계값보다 큰 것에 응답하여, 상기 메트릭이 통계적으로 유의함을 식별함으로써;
    상기 메트릭이 통계적으로 유의하다고 결정하는 단계를 더 포함하는, 방법.
  8. 전자상거래 사이트에서 판매되는 FSO(For-Sale Objects)의 리스팅들의 검색 결과들을 개선하기 위해 후보 규칙들을 동적으로 테스트하기 위한 시스템으로서,
    하나 이상의 프로세서;
    상기 하나 이상의 프로세서에 통신가능하게 커플링되는(coupled) 하나 이상의 네트워크 인터페이스; 및
    상기 하나 이상의 프로세서 및 상기 하나 이상의 네트워크 인터페이스에 통신가능하게 커플링되는 메모리
    를 포함하고, 상기 메모리는 명령어들을 저장하고, 상기 명령어들은, 실행될 때, 상기 하나 이상의 프로세서로 하여금,
    하나 이상의 구매자로부터 검색 입력을 수신하게 하고;
    상기 하나 이상의 구매자로부터의 각각의 구매자를 복수의 그룹들로부터의 그룹에 할당하게 하고 - 상기 복수의 그룹들은 제어 그룹 및 하나 이상의 테스트 그룹을 포함하고, 각각의 테스트 그룹은 하나 이상의 후보 규칙으로부터의 후보 규칙에 대응함 -;
    상기 검색 입력에 기초하여 복수의 FSO 리스팅들로부터 검색 결과들을 식별하게 하고;
    제1 필터링된 검색 결과들을 식별하기 위해 현재 규칙들에 기초하여 상기 검색 결과들을 필터링하게 하고;
    상기 하나 이상의 테스트 그룹으로부터의 각각의 테스트 그룹에 대해, 상기 테스트 그룹에 대응하는 필터링된 검색 결과들을 식별하기 위해 상기 현재 규칙들 및 상기 테스트 그룹에 대응하는 하나 이상의 후보 규칙으로부터의 대응하는 후보 규칙에 기초하여 상기 검색 결과들을 필터링하게 하고;
    상기 제어 그룹에 상기 제1 필터링된 검색 결과들을 제공하게 하고;
    상기 하나 이상의 테스트 그룹으로부터의 각각의 테스트 그룹에 대해, 상기 테스트 그룹에 대응하는 필터링된 검색 결과들을 제공하게 하고;
    상기 하나 이상의 구매자로부터 하나 이상의 응답 표시자(response indicator)를 수신하게 하고;
    상기 하나 이상의 응답 표시자에 기초하여 상기 하나 이상의 테스트 그룹의 각각의 테스트 그룹에 대한 성능 메트릭(performance metric)을 결정하게 하고;
    상기 하나 이상의 성능 메트릭 중 적어도 하나에 기초하여 상기 하나 이상의 테스트 그룹의 각각의 테스트 그룹에 대한 통계적 유의성(statistical significance)들을 결정하게 하고;
    상기 하나 이상의 테스트 그룹으로부터의 각각의 테스트 그룹에 대해, 상기 테스트 그룹에 대한 통계적 유의성이 임계값보다 큰 것에 응답하여:
    상기 테스트 그룹에 대한 성능 메트릭이 메트릭 임계값보다 작은 것에 응답하여, 상기 하나 이상의 후보 규칙으로부터 상기 테스트 그룹에 대응하는 후보 규칙을 폐기하게 하고;
    상기 테스트 그룹에 대한 성능 메트릭이 상기 메트릭 임계값보다 큰 것에 응답하여, 상기 테스트 그룹에 대응하는 후보 규칙을 상기 현재 규칙들에 추가하게 하는, 시스템.
  9. 제8항에 있어서, 상기 성능 메트릭은 총 상품량, 판매율, 레이트 k에서의 클릭률, 및 조회율로부터 선택되는, 시스템.
  10. 제8항에 있어서, 상기 명령어들은, 추가로, 상기 하나 이상의 프로세서로 하여금, 총 상품량, 판매율, 레이트 k에서의 클릭률, 및 조회율을 결합하여 상기 하나 이상의 응답 표시자에 기초하여 상기 성능 메트릭을 결정하게 하는, 시스템.
  11. 제10항에 있어서, 상기 명령어들은, 추가로, 상기 하나 이상의 프로세서로 하여금, 상기 총 상품량, 상기 판매율, 및 레이트 k에서의 클릭률, 및 상기 조회율을 가중 결합에 의해 결합하게 하는, 시스템.
  12. 제8항에 있어서, 상기 하나 이상의 응답 표시자는 상기 FSO를 구매하는 것, 상기 제1 필터링된 검색 결과들 또는 제2 필터링된 검색 결과들로부터 리스팅을 보는 것, 추가 검색 입력들을 입력하는 것, 또는 상기 전자상거래 사이트를 닫는 것 중 하나 이상인, 시스템.
  13. 제8항에 있어서, 상기 명령어들은, 추가로, 상기 하나 이상의 프로세서로 하여금,
    p-값을 결정하기 위해 각각의 테스트 그룹에 대한 메트릭에 기초한 가설에 대해 p-테스트를 수행하고;
    상기 p-값을 p-값 임계값과 비교하고;
    상기 p-값이 상기 p-값 임계값보다 큰 것에 응답하여, 상기 메트릭이 통계적으로 유의함을 식별함으로써;
    상기 테스트 그룹에 대한 통계적 유의성을 결정하게 하는, 시스템.
  14. 제8항에 있어서, 상기 명령어들은, 추가로, 상기 하나 이상의 프로세서로 하여금,
    상기 메트릭에 기초하여 하나 이상의 값을 계산하고,
    상기 하나 이상의 값 각각을 개개의 임계값과 비교하고,
    상기 하나 이상의 값 각각이 상기 개개의 임계값보다 큰 것에 응답하여, 상기 메트릭이 통계적으로 유의함을 식별함으로써;
    상기 테스트 그룹에 대한 통계적 유의성을 결정하게 하는, 시스템.
  15. 컴퓨터 판독가능 코드를 갖는 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 비일시적 컴퓨터 판독가능 매체는, 컴퓨터 시스템으로 하여금, 동작들을 수행하게 하도록 구성되는 명령어들을 포함하고, 상기 동작들은,
    하나 이상의 구매자로부터 검색 입력을 수신하는 동작;
    상기 하나 이상의 구매자로부터의 각각의 구매자를 복수의 그룹들로부터의 그룹에 할당하는 동작 - 상기 복수의 그룹들은 제어 그룹 및 하나 이상의 테스트 그룹을 포함하고, 각각의 테스트 그룹은 하나 이상의 후보 규칙으로부터의 후보 규칙에 대응함 -;
    상기 검색 입력에 기초하여 복수의 FSO 리스팅들로부터 검색 결과들을 식별하는 동작;
    제1 필터링된 검색 결과들을 식별하기 위해 현재 규칙들에 기초하여 상기 검색 결과들을 필터링하는 동작;
    상기 하나 이상의 테스트 그룹으로부터의 각각의 테스트 그룹에 대해, 상기 테스트 그룹에 대응하는 필터링된 검색 결과들을 식별하기 위해 상기 현재 규칙들 및 상기 테스트 그룹에 대응하는 하나 이상의 후보 규칙으로부터의 대응하는 후보 규칙에 기초하여 상기 검색 결과들을 필터링하는 동작;
    상기 제어 그룹에 상기 제1 필터링된 검색 결과들을 제공하는 동작;
    상기 하나 이상의 테스트 그룹으로부터의 각각의 테스트 그룹에 대해, 상기 테스트 그룹에 대응하는 필터링된 검색 결과들을 제공하는 동작;
    상기 하나 이상의 구매자로부터 하나 이상의 응답 표시자를 수신하는 동작;
    상기 하나 이상의 응답 표시자에 기초하여 상기 하나 이상의 테스트 그룹의 각각의 테스트 그룹에 대한 성능 메트릭을 결정하는 동작;
    적어도 하나의 성능 메트릭에 기초하여 상기 하나 이상의 테스트 그룹의 각각의 테스트 그룹에 대한 통계적 유의성을 결정하는 동작;
    상기 하나 이상의 테스트 그룹으로부터의 각각의 테스트 그룹에 대해, 상기 테스트 그룹에 대한 통계적 유의성이 임계값보다 큰 것에 응답하여:
    상기 테스트 그룹에 대한 성능 메트릭이 메트릭 임계값보다 작은 것에 응답하여, 상기 하나 이상의 후보 규칙으로부터 상기 테스트 그룹에 대응하는 후보 규칙을 폐기하는 동작; 및
    상기 테스트 그룹에 대한 성능 메트릭이 상기 메트릭 임계값보다 큰 것에 응답하여, 상기 테스트 그룹에 대응하는 후보 규칙을 상기 현재 규칙들에 추가하는 동작
    을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  16. 제15항에 있어서, 상기 성능 메트릭은 총 상품량, 판매율, 레이트 k에서의 클릭률, 및 조회율로부터 선택되는, 비일시적 컴퓨터 판독가능 저장 매체.
  17. 제15항에 있어서, 상기 동작들은 총 상품량, 판매율, 레이트 k에서의 클릭률, 및 조회율을 결합함으로써 상기 하나 이상의 응답 표시자에 기초하여 상기 성능 메트릭을 결정하는 동작을 더 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  18. 제17항에 있어서, 상기 동작들은 상기 총 상품량, 상기 판매율, 및 레이트 k에서의 클릭률, 및 상기 조회율을 가중 결합을 사용하여 결합하는 동작을 더 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  19. 제15항에 있어서, 상기 하나 이상의 응답 표시자는 상기 FSO를 구매하는 것, 상기 제1 필터링된 검색 결과들 또는 제2 필터링된 검색 결과들로부터 리스팅을 보는 것, 추가 검색 입력들을 입력하는 것, 또는 전자상거래 사이트를 닫는 것 중 하나 이상인, 비일시적 컴퓨터 판독가능 저장 매체.
  20. 제15항에 있어서, 상기 동작들은,
    상기 메트릭에 기초하여 하나 이상의 값을 계산하고;
    상기 하나 이상의 값 각각을 개개의 임계값과 비교하고;
    상기 하나 이상의 값 각각이 상기 개개의 임계값보다 큰 것에 응답하여, 상기 메트릭이 통계적으로 유의함을 식별함으로써;
    상기 메트릭이 통계적으로 유의하다고 결정하는 동작을 더 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
KR1020227042964A 2020-05-12 2021-05-10 사용자 검색 카테고리 예측자 KR20230009437A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063023298P 2020-05-12 2020-05-12
US63/023,298 2020-05-12
US17/302,581 2021-05-06
US17/302,581 US20210357955A1 (en) 2020-05-12 2021-05-06 User search category predictor
PCT/US2021/031543 WO2021231279A1 (en) 2020-05-12 2021-05-10 User search category predictor

Publications (1)

Publication Number Publication Date
KR20230009437A true KR20230009437A (ko) 2023-01-17

Family

ID=78512732

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227042964A KR20230009437A (ko) 2020-05-12 2021-05-10 사용자 검색 카테고리 예측자

Country Status (7)

Country Link
US (1) US20210357955A1 (ko)
EP (1) EP4150472A4 (ko)
JP (1) JP2023525814A (ko)
KR (1) KR20230009437A (ko)
AU (1) AU2021272172A1 (ko)
CA (1) CA3178677A1 (ko)
WO (1) WO2021231279A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230350968A1 (en) * 2022-05-02 2023-11-02 Adobe Inc. Utilizing machine learning models to process low-results web queries and generate web item deficiency predictions and corresponding user interfaces

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7231399B1 (en) * 2003-11-14 2007-06-12 Google Inc. Ranking documents based on large data sets
US8195654B1 (en) * 2005-07-13 2012-06-05 Google Inc. Prediction of human ratings or rankings of information retrieval quality
US20070073641A1 (en) * 2005-09-23 2007-03-29 Redcarpet, Inc. Method and system for improving search results
US20080027913A1 (en) * 2006-07-25 2008-01-31 Yahoo! Inc. System and method of information retrieval engine evaluation using human judgment input
US7856434B2 (en) * 2007-11-12 2010-12-21 Endeca Technologies, Inc. System and method for filtering rules for manipulating search results in a hierarchical search and navigation system
US8352466B2 (en) * 2008-12-22 2013-01-08 Yahoo! Inc. System and method of geo-based prediction in search result selection
US8370337B2 (en) * 2010-04-19 2013-02-05 Microsoft Corporation Ranking search results using click-based data
US8782037B1 (en) * 2010-06-20 2014-07-15 Remeztech Ltd. System and method for mark-up language document rank analysis
US8983891B2 (en) * 2011-02-08 2015-03-17 International Business Machines Corporation Pattern matching engine for use in a pattern matching accelerator
US20150242930A1 (en) * 2013-01-31 2015-08-27 Alexander Greystoke Purchasing Feedback System
US20140379429A1 (en) * 2013-06-24 2014-12-25 Needle, Inc. Dynamic segmentation of website visits
US10191987B2 (en) * 2013-11-22 2019-01-29 Capital One Services, Llc Systems and methods for searching financial data
US9881332B2 (en) * 2014-05-22 2018-01-30 LogoMix, Inc. Systems and methods for customizing search results and recommendations
US10579652B2 (en) * 2014-06-17 2020-03-03 Microsoft Technology Licensing, Llc Learning and using contextual content retrieval rules for query disambiguation
US10248653B2 (en) * 2014-11-25 2019-04-02 Lionbridge Technologies, Inc. Information technology platform for language translation and task management
US10430473B2 (en) * 2015-03-09 2019-10-01 Microsoft Technology Licensing, Llc Deep mining of network resource references
US11042591B2 (en) * 2015-06-23 2021-06-22 Splunk Inc. Analytical search engine
US10057199B2 (en) * 2015-11-16 2018-08-21 Facebook, Inc. Ranking and filtering comments based on impression calculations
US11636102B2 (en) * 2019-09-05 2023-04-25 Verizon Patent And Licensing Inc. Natural language-based content system with corrective feedback and training
US11921789B2 (en) * 2019-09-19 2024-03-05 Mcmaster-Carr Supply Company Search engine training apparatus and method and search engine trained using the apparatus and method

Also Published As

Publication number Publication date
EP4150472A4 (en) 2024-02-14
US20210357955A1 (en) 2021-11-18
JP2023525814A (ja) 2023-06-19
WO2021231279A1 (en) 2021-11-18
AU2021272172A1 (en) 2023-01-05
EP4150472A1 (en) 2023-03-22
CA3178677A1 (en) 2021-11-18

Similar Documents

Publication Publication Date Title
CN108804450B (zh) 信息推送的方法和装置
Kumar et al. Social popularity based SVD++ recommender system
CN110909182B (zh) 多媒体资源搜索方法、装置、计算机设备及存储介质
US8832091B1 (en) Graph-based semantic analysis of items
CN109492180A (zh) 资源推荐方法、装置、计算机设备及计算机可读存储介质
WO2020238502A1 (zh) 物品推荐方法及装置、电子设备及存储介质
US20140006166A1 (en) System and method for determining offers based on predictions of user interest
US20160210646A1 (en) System, method, and computer program product for model-based data analysis
KR20150016973A (ko) 탐색 결과들을 생성하는 방법
WO2016132588A1 (ja) データ分析装置、データ分析方法、およびデータ分析プログラム
US20150310529A1 (en) Web-behavior-augmented recommendations
CN112182370A (zh) 物品类目信息推送方法、装置、电子设备和介质
CN110929172A (zh) 信息选择方法、装置、电子设备及可读存储介质
US20210357955A1 (en) User search category predictor
US20190087879A1 (en) Marketplace listing analysis systems and methods
CN112487021B (zh) 业务数据的关联分析方法、装置及设备
CN110085292A (zh) 药品推荐方法、装置及计算机可读存储介质
US10579752B2 (en) Generating a model based on input
TW201933231A (zh) 物品間關係探勘及推薦方法、裝置、計算設備、儲存媒體
CN113225580A (zh) 直播数据处理方法、装置、电子设备及介质
CN111966916A (zh) 一种推荐方法、装置、电子设备及计算机可读存储介质
JP6433270B2 (ja) コンテンツ検索結果提供システム及びコンテンツ検索結果提供方法
CN110431550B (zh) 用于识别可视叶页面的方法和系统
US11410220B2 (en) Exploration for interactive recommendation system, method, and computer program product
JP2019020939A (ja) 情報処理システム、情報処理方法、およびプログラム

Legal Events

Date Code Title Description
A201 Request for examination