KR102151905B1 - 검색을 시드하는 시스템 및 방법 - Google Patents

검색을 시드하는 시스템 및 방법 Download PDF

Info

Publication number
KR102151905B1
KR102151905B1 KR1020197030251A KR20197030251A KR102151905B1 KR 102151905 B1 KR102151905 B1 KR 102151905B1 KR 1020197030251 A KR1020197030251 A KR 1020197030251A KR 20197030251 A KR20197030251 A KR 20197030251A KR 102151905 B1 KR102151905 B1 KR 102151905B1
Authority
KR
South Korea
Prior art keywords
filter
seed
listing
attribute
listings
Prior art date
Application number
KR1020197030251A
Other languages
English (en)
Other versions
KR20190119679A (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 KR20190119679A publication Critical patent/KR20190119679A/ko
Application granted granted Critical
Publication of KR102151905B1 publication Critical patent/KR102151905B1/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/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0623Item investigation
    • G06Q30/0625Directed, with specific intent or strategy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

검색을 시드하는 시스템 및 방법이 기술된다. 시스템은 네트워크 기반 마켓플레이스 상에서의 판매를 위해 제공되는 아이템을 서술하는 리스팅 내에 포함된 시드 리스팅을 식별한다. 시스템은 시드 리스팅 및 확률에 기반하여 시드 필터 콘텍스트를 식별한다. 확률은 네트워크 기반 마켓플레이스 상에서 이전에 거래된 아이템을 각각 서술하는 복수의 리스팅 내의 속성-값 쌍의 발생을 서술한다. 시스템은 시드 필터 콘텍스트에 기반하여 시드 리스팅으로부터 값을 추출한다. 시스템은 값에 기반하여 시드 필터 콘텍스트를 초기화하고 시드 필터 콘텍스트에 기반하여 검색 결과를 생성한다. 검색 결과는 제1 복수의 리스팅으로부터 식별된 제2 복수의 리스팅을 포함한다. 끝으로, 시스템은 제2 복수의 리스팅으로부터의 적어도 하나의 리스팅 및 시드 필터 콘텍스트를 포함하는 인터페이스 정보를 클라이언트 머신으로 통신한다.

Description

검색을 시드하는 시스템 및 방법{SYSTEMS AND METHODS TO SEED A SEARCH}
이 출원은 2015년 8월 14일 출원된 미국 출원 제14/827,196호의 이익을 주장하는데 이는 2014년 8월 15일 출원된 미국 출원 제14/460,728호의 우선권 이익과 2014년 8월 15일 출원된 미국 출원 제14/460,690호의 우선권 이익과 2014년 8월 15일 출원된 미국 출원 제14/460,767호의 우선권 이익을 주장하는 부분 연속 출원(continuation-in-part application)이되 이들 모두는 그 전체가 참조로서 포함되는 2014년 6월 9일 출원된 미국 임시 출원 제62/009,817호의 우선권 이익을 주장한다.
이 특허 문헌의 개시의 일부분은 저작권 보호의 대상이 되는 소재를 포함한다. 저작권 소유자는, 누구든지 특허 문헌 또는 특허 개시를, 특허상표청(Patent and Trademark Office) 특허 파일 또는 기록에 나타나는 대로 복사한 것에 이의가 없으나, 그 밖에는 여하간에 모든 저작권 권리를 보유한다. 이하의 공고는 이 문헌의 일부를 형성하는 도면 내에서 그리고 아래에서 기술되는 바와 같은 소프트웨어 및 데이터에 적용된다: 저작권 이베이 사(eBay Inc.) 2014, 모든 권리 보유(All Rights Reserved).
첨부된 도면의 여러 가지 도면은 본 발명의 예시적 실시예를 보여줄 뿐이며 그것의 범주를 한정하는 것으로 간주될 수 없다.
도 1a는 실시예에 따라, 키워드로 구성된 질의(query) 내의 필터 세트(filter set)를 식별하는 시스템을 예시하고,
도 1b는 실시예에 따라, 필터를 식별하고 제시하는 시스템을 예시하며,
도 1c는 실시예에 따라, 선택된 필터를 위한 값을 식별하는 시스템을 예시하고,
도 1d는 실시예에 따라, 인기도 테이블(popularity table)의 생성의 개략도를 예시하며,
도 1e는 실시예에 따라, 검색(search)을 시드하는(seed) 시스템을 예시하고,
도 2a 내지 도 2d는 실시예에 따라, 사용자 인터페이스(user interface)를 예시하며,
도 3a 내지 도 3c는 실시예에 따라, 사용자 인터페이스를 예시하고,
도 4a 내지 도 4b는 실시예에 따라, 사용자 인터페이스를 예시하며,
도 4c 내지 도 4d는 실시예에 따라, 사용자 인터페이스를 예시하고,
도 5는 실시예에 따라, 예시적 실시예가 구현될 수 있는 환경을 예시하며,
도 6a는 실시예에 따라, 검색 메타데이터(metadata)를 예시하고,
도 6b는 실시예에 따라, 도메인 정보(domain information)를 예시하며,
도 6c는 실시예에 따라, 분류 규칙 정보(classification rule information)를 예시하고,
도 6d는 실시예에 따라, 분류 규칙을 예시하며,
도 6e는 실시예에 따라, 속성-값 쌍(attribute-value pair)을 예시하고,
도 6f는 실시예에 따라, 아이템 테이블(items table)을 예시하며,
도 6g는 실시예에 따라, 리스팅(listing)을 예시하고,
도 6h는 실시예에 따라, 구조화된 정보(structured information)를 예시하며,
도 6i는 실시예에 따라, 인기도 테이블을 예시하고,
도 6j는 실시예에 따라, 속성-값 인기도 정보를 예시하며,
도 6k는 실시예에 따라, 이미지 테이블을 예시하고,
도 7은 실시예에 따라, 완료된(completed) 리스팅을 추출하고 인기도 테이블을 생성하는 방법을 예시하며,
도 8a는 키워드로 구성된 질의 내의 필터 세트를 식별하는 방법을 예시하고,
도 8b는 실시예에 따라, 키워드 질의로부터 필터 세트를 추출하는 방법을 예시하며,
도 8c는 실시예에 따라, 질의를 분석하는 방법을 예시하고,
도 8d는 실시예에 따라, 필터 세트를 채점하는(score) 방법을 예시하며,
도 9a는 실시예에 따라, 필터를 식별하고 제시하는 방법을 예시하고,
도 9b는 실시예에 따라, 필터 콘텍스트(filter context) 내의 필터의 순서를 식별하는 방법을 예시하며,
도 9c는 실시예에 따라, 필터 제안(filter proposal) 내의 필터 및 그것의 제시 순서(order of presentation)를 식별하는 방법을 예시하고,
도 9d는 실시예에 따라, 표 1 내지 표 2를 예시하며,
도 9e는 실시예에 따라, 필터 이름(filter name)을 위한 값의 순서화된 세트를 식별하는 방법을 예시하고,
도 9f는 실시예에 따라, 표 3 내지 표 4를 예시하며,
도 9g는 실시예에 따라, 표 5를 예시하고,
도 10a는 실시예에 따라, 선택된 필터를 위한 값을 식별하는 방법을 예시하며,
도 10b는 실시예에 따라, 인터페이스를 생성하는 방법을 예시하고,
도 10c는 실시예에 따라, 검색을 시드하는 방법을 예시하며,
도 10d는 실시예에 따라, 시드 필터 콘텍스트 내의 필터를 식별하는 방법을 예시하고,
도 10e는 실시예에 따라, 시드 필터 제안 내의 필터를 식별하는 방법을 예시하며,
도 10f는 실시예에 따라, 표 6을 예시하고,
도 10g는 실시예에 따라, 표 7을 예시하며,
도 10h는 실시예에 따라, 표 8을 예시하고,
도 10i는 실시예에 따라, 표 9를 예시하며,
도 11은 고수준 클라이언트-서버 기반 네트워크 아키텍처(high-level client-server-based network architecture)의 예시적 실시예를 보여주는 블록도이고,
도 12는 게시 시스템(publication system)의 예시적 실시예를 보여주는 블록도이며,
도 13은 예시적 실시예에 따라, 게시 시스템에 의해 활용되는 테이블을 보여주는 블록도이고,
도 14는 머신(machine)으로 하여금 본 문서에서 논의된 방법론 중 임의의 하나 이상을 수행하게 하기 위한 명령어의 세트가 실행될 수 있는 컴퓨팅 시스템의 예시적 형태로 된 머신의 블록도이다.
후속하는 서술은 본 발명의 예시적인 실시예를 실체화하는(embody) 시스템, 방법, 기법, 명령어 시퀀스 및 컴퓨팅 머신 프로그램 제품을 포함한다. 이하의 서술에서, 설명의 목적으로, 발명적 대상물(inventive subject matter)의 실시예의 이해를 제공하기 위해서 다수의 구체적 세부사항이 개진된다. 그러나, 발명적 대상물의 실시예가 이들 구체적 세부사항 없이 실시될 수 있음은 통상의 기술자에게 분명할 것이다. 전반적으로, 잘 알려진 명령어 인스턴스, 프로토콜, 구조 및 기법은 상세히 보여지지 않았다.
도 1a는 실시예에 따라, 키워드로 구성된 질의 내의 필터 세트를 식별하는 시스템(10)의 형태로 본 개시의 제1 양상을 예시한다. 시스템(10)은 질의를 수신하고, 질의 내의 키워드에 기반하여 질의 내의 여러 필터 세트를 식별하며, 각각의 필터 세트를 채점하고, 최고 점수를 갖는 필터 세트를 식별하며, 네트워크 기반 마켓플레이스(network-based marketplace) 상에서의 판매를 위한 아이템을 서술하는(describe) 리스팅(가령, 검색 결과)을 식별하는 데에 최고 점수를 갖는 필터 세트를 활용할 수 있다. 필터 세트는 속성-값 쌍으로도 구성되는 필터로 구성될 수 있다. 시스템(10)은 네트워크 기반 마켓플레이스 상에서의 이전에 거래된(transacted) 아이템을 서술하는 리스팅 내의 속성-값 쌍의 발생을 서술하는 확률에 기반하여 하나의 필터 세트를 다른 것으로부터 식별할 수 있다. 따라서, 시스템(10)은 이전에 거래된 리스팅 내의 속성-값 쌍의 인기도에 기반하여 질의의 경쟁적인 해석 중에서 선택할 수 있다. 개괄적으로, 네트워크 기반 마켓플레이스 상에서의 판매를 위한 아이템을 나열하는(list) 판매자 및 네트워크 기반 마켓플레이스에 의해 수신되고 검색 결과를 회신하도록 처리되는 질의를 입력하는 구매자를 고려하자. 예컨대, 도 1a는 동작 "A"를 예시하는데, 여기서 클라이언트 머신(client machine)을 운영하고 있는 판매자는 네트워크 기반 마켓플레이스로 네트워크 상에서 통신되는 아이템을 서술하는 정보를 입력할 수 있다. 동작 "B"에서, 네트워크 기반 마켓플레이스는 그 정보를 수신하고 아이템 테이블 내의 리스팅 내에 저장할 수 있다. 예컨대, 네트워크 기반 마켓플레이스는 표제(title) "RED IPHONE FOR SALE - CHEAP"(빨간 아이폰 판매 - 저렴)을 수신하고 아이템 테이블 내의 리스팅 내에 저장할 수 있다. 동작 "C"에서, 네트워크 기반 마켓플레이스는 속성-값 쌍의 형태로 된 구조화된 정보를 동작 "D"에서 생성하기 위해 표제에 분류 규칙을 또한 적용할 수 있다. 예컨대, 네트워크 기반 마켓플레이스는 속성-값 쌍 COLOR=RED, BRAND=APPLE 및 TYPE=CELL PHONE을 식별하기 위해 리스팅 내의 표제를 구성하는 키워드에 분류 규칙을 적용할 수 있다. 네트워크 기반 마켓플레이스는 상이한 의미를 식별하기 위해 표제 내의 키워드를 구조화할 수 있다. 다른 예에서, 단어 "apple"이 브랜드가 아니라, 과일을 뜻한다고 고려하자. 즉, 리스팅의 표제(가령, APPLE ORCHARD FOR SALE - EXPENSIVE BUT HIGHLY DESIREABLE(사과 과수원 판매 - 비싸지만 아주 마음 끌릴 만함) 내의 단어 "apple"은 상이한 의미(가령, FRUIT=APPLE)를 가질 수 있다. 또한, 네트워크 기반 마켓플레이스는 질의 내의 동일한 키워드에 대해 여러 필터 세트를 식별할 수 있다고 고려하자.
도 1a로 돌아오면, 동작 "E"에서, 구매자는 질의 "RED APPLE IPHONE"(빨간 애플 아이폰)(이는, 이어서, 네트워크 기반 마켓플레이스(이는, 이어서, 동작 "F"에서 4개의 필터 세트를 식별하기 위해 질의에 분류 규칙을 적용함)에 의해 수신됨)을 입력할 수 있다. 동작 "G"에서, 네트워크 기반 마켓플레이스는 질의 "RED APPLE IPHONE"의 해석된 의미로서 판매자에게 디스플레이하기 위해 4개의 필터 세트로부터 하나의 필터 세트를 식별할 수 있다. 아래에서 추가로 기술되는 바와 같이, 시스템(10)은 네트워크 기반 마켓플레이스 상에서 이전에 거래된 아이템을 서술하는 리스팅(가령, 완료된 리스팅) 내의 속성-값 쌍의 발생을 서술하는 확률에 기반하여 필터 세트 각각을 채점함으로써 여러 가능한 세트로부터 하나의 필터 세트를 식별할 수 있다. 즉, 각각의 필터 세트는 각각의 필터가, 속성 값-쌍으로서, 완료된 리스팅의 표제 내에 발생하는 확률에 기반하여, 그리고 각각의 필터가, 속성-값 쌍으로서, 필터 세트 내의 다른 필터 각각과 함께 완료된 리스팅 내에 동시 발생하는(co-occurring) 확률에 기반하여 채점될 수 있다. 끝으로, 동작 "G"에서, 네트워크 기반 마켓플레이스는 판매자에 의해 동작되는 클라이언트 머신으로의 통신을 위한 검색 결과를 생성하기 위해 최고 득점 필터 세트에 기반하여 아이템 테이블 내의 리스팅을 필터링할 수 있다. 따라서, 시스템(10)은 네트워크 기반 마켓플레이스 상에서 이전에 거래된 리스팅 내에서의 속성-값 쌍의 발생에 기반하여 필터 세트의 세트로부터 가장 인기 있는 필터 세트를 선택할 수 있다.
도 1b는 실시예에 따라, 필터를 식별하고 제시하는 시스템(20)의 형태로 본 개시의 제2 양상을 예시한다. 개괄적으로, 네트워크 상에서 통신되고 네트워크 기반 마켓플레이스에 의해 수신될 수 있는 질의 "RED APPLE IPHONE"을 동작 "A"에서 입력하는 구매자를 고려하자. 동작 "B"에서, 네트워크 기반 마켓플레이스는, "COLOR=RED", "BRAND=APPLE" 및 "TYPE=IPHONE"이라는 필터의 세트의 형태로 필터 콘텍스트를 동작 "C"에서 생성하기 위해 질의에 분류 규칙을 적용할 수 있다. 동작 "D"에서, 네트워크 기반 마켓플레이스는 사용자 인터페이스 상에서의 필터를 위한 제시 순서(가령, "TYPE=IPHONE", "BRAND=APPLE" 및 "COLOR=RED")를 식별할 수 있다. 또한, 동작 "E"에서, 시스템(20)은 필터의 제2 세트의 형태로 된 필터 제안을, 사용자 인터페이스 상에서의 제시를 위한 그것의 순서를 포함하여, 식별하고 제시할 수 있다. 시스템(20)은 네트워크 기반 마켓플레이스 상에서 이전에 거래된 아이템을 서술하는 리스팅(가령, 완료된 리스팅) 내의 속성-값 쌍(가령, 필터)의 발생을 서술하는 확률 및 필터 콘텍스트 내의 필터에 기반하여 필터 제안 내의 필터 및 그것의 제시 순서를 식별할 수 있다. 즉, 필터 제안 내의 각각의 필터 및 그것의 제시 순서는 필터가, 속성 값-쌍으로서, 완료된 리스팅 내에서 발생하는 확률에, 그리고 필터가, 속성-값 쌍으로서, 필터 콘텍스트 내의 다른 필터 각각과 함께 완료된 리스팅 내에서 동시 발생하는 확률에 기반하여 판정될 수 있다. 끝으로, 시스템(20)은 필터 콘텍스트에 기반하여 식별된 검색 결과를 포함하는 사용자 인터페이스를 생성하고 사용자 인터페이스를 네트워크 상에서 클라이언트 머신으로 통신할 수 있다.
도 1c는 실시예에 따라, 선택된 필터를 위한 값을 식별하는 시스템(30)의 형태로 본 개시의 제3 양상을 예시한다. 개괄적으로, 개념 질의(concept query)(도시되지 않음) "COLOR=RED", "BRAND=APPLE", "TYPE=IPHONE" 내의 필터 "COLOR=RED"를 업데이트하기 위해 동작 "A"에서 필터 "COLOR=BLACK"을 선택하는 구매자를 고려하자. 그 선택은 네트워크 상에서 통신되고 네트워크 기반 마켓플레이스에 의해 수신될 수 있다. 동작 "B"에서 네트워크 기반 마켓플레이스는 필터 이름 "COLOR" 및 개념 질의 내의 다른 필터(가령, "BRAND=APPLE", "TYPE=IPHONE")에 기반하여 필터의 세트를 식별하고, 그것의 제시의 순서를 식별하며, 사용자 인터페이스를 생성하고, 사용자 인터페이스를 동작 "C"에서 네트워크 상에서 도로 클라이언트 머신에 통신할 수 있다. 따라서, 도 1c에 예시된 바와 같이, 사용자 인터페이스는 업데이트된 개념 질의(가령, "COLOR=BLACK", "BRAND= APPLE", "TYPE=IPHONE"), 표시된 순서로 된 필터의 식별된 세트를 위한 값의 세트(가령, "BLUE", "YELLOW", "PURPLE", "GREEN"), 그리고 개념 질의에 기반하여 식별된 리스팅을 포함하는 검색 결과(도시되지 않음)를 포함할 수 있다. 값 "BLACK"은 그것이 사용자에 의해 선택되었기 때문에 값의 세트 내에서 수위에 위치됨에 유의한다. 시스템(30)은 필터를, 그것의 값과 그것의 제시 순서도 포함해서, 개념 질의에 기반하여, 그리고 네트워크 기반 마켓플레이스 상에서 이전에 거래된 아이템을 각각 서술하는 리스팅(가령, 완료된 리스팅) 내의 속성-값 쌍(가령, 필터)의 발생을 서술하는 확률에 기반하여, 식별할 수 있다. 즉, 필터 내의 각각의 값(가령, "BLUE", "YELLOW", "PURPLE", "GREEN") 및 그것의 제시 순서는 필터가, 속성 값-쌍으로서, 완료된 리스팅의 표제 내에서 발생하는 확률에 기반하여, 그리고 필터가, 속성-값 쌍으로서, 개념 질의 내의 다른 필터(가령, "BRAND=APPLE", "TYPE=IPHONE") 각각과 함께 완료된 리스팅 내에서 동시 발생하는 확률에 기반하여 판정될 수 있다.
도 1d는 실시예에 따라, 인기도 테이블의 생성의 개략도를 예시한다. 인기도 테이블은 1) 도 1a에 예시된 바와 같이, 키워드 질의에 기반하여 식별되는 여러 필터 세트로부터 하나의 필터 세트를 식별하는 데에, 2) 도 1b에 예시된 바와 같이,하나 이상의 필터를 여러 필터로부터, 그리고 그것의 제시 순서를 식별된 필터 세트(가령, 개념 질의/필터 콘텍스트)에 기반하여 식별하는 데에, 3) 도 1c에 예시된 바와 같이, 하나 이상의 필터 및 그것의 연관된 값을 여러 필터로부터, 그리고 제시 순서를 식별하는 데에, 그리고 4) 도 1e에 예시된 바와 같이, 검색을 시드하는 데에 활용될 수 있다. 인기도 테이블은 위의 특징에 의해 활용될 수 있는데 그것이 네트워크 기반 마켓플레이스 내에서 이전에 거래된 리스팅(가령, 완료된 리스팅)의 표제 내의 속성-값 쌍(가령, 필터)의 발생의 즉각적인 실시간 액세스 확률 및 네트워크 기반 마켓플레이스 내에서 이전에 거래된 리스팅(가령, 완료된 리스팅)의 표제 내의 속성-값 쌍(가령, 필터)의 쌍의 동시 발생의 확률에 대해 제시하기 때문이다. 전자의 확률은 이 문헌을 통틀어 표제 확률(title probability)로서 지칭된다. 후자의 확률은 이 문헌을 통틀어 결합 확률(joint probability)로서 지칭된다.
개괄적으로, 인기도 테이블을 생성하고 위의 특징을 액세스가능하게(accessible) 하기 위해 오프라인(off-line) 및 온라인(on-line) 단계의 조합이 활용될 수 있다. 동작 "A"에서, 인기도 모듈(popularity module)은 아이템 테이블로부터 "완료된 리스팅"을 샘플링할(sample) 수 있다. "완료된 리스팅"은 판매된(가령, 매입된/낙찰된) 아이템(가령, 상품 또는 서비스)을 서술하는 리스팅일 수 있다. 예컨대, 인기도 모듈은 시작 시간과 종료 시간을 포함하는 사전결정된 기간 동안에 발생하는 어떤 시간에 완료된(가령, 판매된) 리스팅을 샘플링하도록 네트워크 기반 마켓플레이스 상에서 실행될 수 있다. 다음으로, 동작 "B"에서, 인기도 모듈은 완료된 리스팅의 수(가령, 만 개의 리스팅), 리스팅의 표제 내의 고유한 속성-값 쌍에 따른 속성-값 쌍(가령, 필터) 수(가령, 속성-값 쌍 COLOR=RED를 포함하는 표제를 갖는 이백 개의 리스팅, 속성-값 쌍 COLOR=BLUE를 포함하는 표제를 갖는 이백 개의 리스팅), 그리고 리스팅의 표제 내의 다른 속성-값 쌍과 함께 동시 발생하는 하나의 속성-값 쌍에 따른 속성-값 쌍의 쌍(가령, 필터-필터)의 수(가령, 속성-값 쌍의 쌍 "COLOR=RED" 및 "BRAND=APPLE"을 포함하는 표제를 포함하는 열 개의 리스팅(가령, 10/200 = 5%))를 카운트할(count) 수 있다. 다음으로, 동작 "C"에서, 인기도 모듈은 각각의 행(row)이 속성-값 쌍(가령, 필터)에 대응하도록 인기도 테이블을 생성할 수 있다. 즉, 행은 속성-값(가령, 필터)과, 표제 확률(가령, 행을 위한 속성-값 쌍을 포함하는 표제를 포함하는 리스팅의 백분율(percentage))과, 행에 대해 지정된 속성-값-쌍(가령, 필터) 및 다른 속성-값 쌍(동시 발생 속성-값 쌍)을 포함하는 속성-값 쌍의 쌍을 위한 확률의 하나 이상의 동시 발생을 포함할 수 있다. 결합 확률 정보의 크기는 터무니없이 과중하지는(prohibitive) 않은데 필터의 대부분의 쌍(가령, 필터 속성-값 쌍 및 동시 발생 속성-값 쌍)의 확률이 0이기 때문이다. 끝으로, 동작 "D"에서, 네트워크 기반 마켓플레이스는 위에서 그리고 이 문헌을 통틀어 기술되는 바와 같이, 필터 세트를 식별하고, 하나 이상의 필터 및 그것의 제시 순서를 식별하며, 하나 이상의 필터 값 및 그것의 제시 순서를 식별하는 데에 인기도 테이블을 활용할 수 있다. 또한, 동작 "D"에서, 네트워크 기반 마켓플레이스는 아래에 기술되는 바와 같이, 검색을 시드하는 데에 인기도 테이블을 활용할 수 있다.
도 1e는 실시예에 따라, 검색을 시드하는 시스템(32)의 형태로 본 개시의 제4 양상을 예시한다. 검색의 시드에 앞서서, 네트워크 기반 마켓플레이스는 검색 결과를 식별하도록 동작하는 제약(constraint)에 따라 구성될 수 있다. 예컨대, 사용자 인터페이스(33)는 질의(가령, "IPAD AIR") 및 필터 콘텍스트(가령, "TYPE=IPAD", "BRAND=APPLE"(도시되지 않음))를 포함하는 기존의 제약에 기반하여 생성될 수 있다. 또한, 사용자 인터페이스(33)는 사용자로부터 필터 제안 내의 하나 이상의 필터(어떤 것도 선택된 것으로 도시되지 않음)를 식별하는 선택의 형태로 된 추가적인 기존의 제약을 수신할 수 있다. 따라서, 네트워크 기반 마켓플레이스는, 몇몇 사례에서, 검색이 시드 리스팅(seed listing)으로써 시드되기 전에 기존의 제약에 따라 구성될 수 있다.
동작 "A"에서, 사용자는 사용자 인터페이스(33)로부터 검색 결과 내의 특정 리스팅을 시드 리스팅으로서 선택한다. 시드 리스팅은 검색 결과를 더 정제하기(refine) 위해 활용되는 아이템을 서술한다. 다른 예는 시드 리스팅을 식별하는 데에 다른 메커니즘을 활용할 수 있음이 인식될 것이다. 또한, 다른 메커니즘은 기존의 제한과 연관되지 않을 수 있음이 인식될 것이다.
동작 "B"에서, 네트워크 기반 마켓플레이스는 네트워크 상의 통신으로서 그 선택을 수신하고, 동작 "C"에서, 네트워크 기반 마켓플레이스는 아이템 테이블 내에서 시드 리스팅을 식별하기 위해 그 선택을 활용한다.
동작 "D"에서, 네트워크 기반 마켓플레이스는 기존의 제약 및 시드 리스팅 내의 카테고리(가령, CATEGORY=COMPUTER)에 기반하여 시드 필터 콘텍스트(seed filter context)를 식별한다. 카테고리는 속성 "CATEGORY"를 갖는 필터이다. 몇몇 예에서, 네트워크 기반 마켓플레이스는 시드 필터 콘텍스트를 식별하는 데에 여러 카테고리를 활용한다. 본 예는 기존의 제약을 예시한다. 따라서, 네트워크 기반 마켓플레이스는 시드 필터 콘텍스트를 식별하기 위해 시드 리스팅으로부터의 카테고리(가령, CATEGORY=COMPUTER), 사용자 인터페이스(33)로부터의 필터 콘텍스트(가령, "TYPE=IPAD", "BRAND=APPLE"(도시되지 않음)), 그리고 필터 제안으로부터의 임의의 선택된 필터를 활용할 수 있다.
네트워크 기반 마켓플레이스는 처음에 시드 필터 콘텍스트를 초기화되지 않은 하나 이상의 필터(가령, 값이 없는 속성)(가령, "BRAND=", "CARRIER=", "MEMORY="(도시되지 않음))로서 식별한다. 시스템(32)은 시드 리스팅 내의 카테고리(들), 기존의 제약, 그리고 네트워크 기반 마켓플레이스 상에서 이전에 거래된 아이템을 서술하는 리스팅(가령, 완료된 리스팅) 내의 속성-값 쌍(가령, 필터)의 발생을 서술하는 확률에 기반하여 시드 필터 콘텍스트 내의 비초기화된(uninitialized) 필터 및 그것의 제시 순서를 식별한다. 즉, 시드 필터 콘텍스트 내의 각각의 비초기화된 필터 및 그것의 제시 순서는 필터가, 속성 값-쌍으로서, 완료된 리스팅 내에 발생하는 확률에, 그리고 필터가, 속성-값 쌍으로서, 기존의 제한 내의 필터 및 카테고리 필터 각각과 함께 완료된 리스팅 내에 동시 발생하는 확률에 기반하여 판정된다.
동작 "E"에서, 네트워크 기반 마켓플레이스는 시드 필터 콘텍스트 내의 비초기화된 필터의 속성에 기반하여 시드 리스팅으로부터 값을 추출한다. 예컨대, 네트워크 기반 마켓플레이스는 시드 리스팅 내의 구조화된 정보 내의 필터(가령, "BRAND=APPLE")의 매칭되는(matching) 속성을 식별하고 대응하는 값(가령, "APPLE", "ATT", "64 GB")을 추출하는 데에 시드 필터 콘텍스트 "BRAND=", "CARRIER=", "MEMORY=" 내의 비초기화된 필터의 속성을 활용할 수 있다.
동작 "F"에서, 네트워크 기반 마켓플레이스는 시드 필터 콘텍스트를 생성하기 위해 시드 리스팅으로부터 추출된 대응하는 식별된 값(가령, "APPLE", "ATT", "64 GB")으로써 시드 필터 콘텍스트 내의 필터 "BRAND=", "CARRIER=", "MEMORY=" 각각을 초기화한다. 예컨대, 시드 필터 콘텍스트는 "BRAND= APPLE", "CARRIER=ATT" 및 "MEMORY=64 GB"로 초기화된다.
동작 "G"에서, 네트워크 기반 마켓플레이스는 사용자 인터페이스(35) 내의 제시를 위한 필터의 제2 세트의 형태로 된 시드 필터 제안(seed filter proposal)을 식별한다. 시스템(32)은 시드 필터 콘텍스트 및 네트워크 기반 마켓플레이스 상에서 이전에 거래된 아이템을 서술하는 리스팅(가령, 완료된 리스팅) 내의 속성-값 쌍(가령, 필터)의 발생을 서술하는 확률에 기반하여 시드 필터 제안 내의 필터 및 그것의 제시 순서를 식별할 수 있다. 즉, 시드 필터 제안 내의 각각의 필터 및 그것의 제시 순서는 필터가, 속성 값-쌍으로서, 완료된 리스팅 내에 발생하는 확률에, 그리고 필터가, 속성-값 쌍으로서, 시드 필터 콘텍스트 내의 다른 필터 각각과 함께 완료된 리스팅 내에 동시 발생하는 확률에 기반하여 판정될 수 있다.
동작 H에서, 시스템(32)은 시드 필터 콘텍스트(가령, "BRAND=APPLE", "CARRIER=ATT", "MEMORY=64 GB"), 질의(가령, "IPAD AIR"), 필터 콘텍스트(가령, "TYPE=IPAD", "BRAND=APPLE"(도시되지 않음)), 그리고 사용자에 의해 사용되었을 수 있는 필터 제안 내의 임의의 필터에 기반하여 아이템 테이블을 검색함으로써 검색 결과를 생성한다. 예컨대, 아래에 더 기술되는 바와 같이, 시스템은 질의 내의 단어를 리스팅 내의 비구조화된 텍스트(unstructured text)(가령, 서술, 표제 등등)와, 그리고 필터(가령, 시드 필터 콘텍스트, 필터 콘텍스트, 그리고 필터 제안 내의 선택된 필터)를 리스팅 내의 구조화된 정보와 매칭시킴으로써 검색 결과를 생성할 수 있다.
동작 "I"에서, 시스템(32)은 인터페이스 정보를 클라이언트 머신에 통신하는데, 인터페이스 정보는 사용자 인터페이스(35)를 생성하고 제시하기 위해 클라이언트 머신에서 활용된다. 예컨대, 인터페이스 정보는 질의, 시드 필터 콘텍스트, 시드 필터 제안 및 검색 결과(가령, 정렬됨(sorted))를 포함할 수 있고, 클라이언트 머신은 사용자 인터페이스 또는 이의 부분을 업데이트하거나 생성하는 데에 인터페이스 정보를 활용할 수 있다. 다른 실시예에서 사용자 인터페이스(35)는 네트워크 기반 마켓플레이스에서 생성될 수 있다. 사용자 인터페이스(35)의 제시에 이어서, 사용자는 검색 결과를 더 정제하는 데에 활용되는 하나 이상의 추가적인 필터를 추가하기 위해 사용자 인터페이스(35) 상의 시드 필터 제안으로부터 필터를 선택할 수 있다. 따라서, 시스템(32)은 시드 아이템 제한(가령, 시드 필터 콘텍스트, 시드 필터 제안으로부터 선택된 필터) 및 기존의 제한(가령, 질의, 필터 콘텍스트, 필터 제안으로부터 선택된 필터)에 기반하여 아이템 테이블을 검색함으로써 검색 결과를 생성한다. 시드 아이템 제한은 시드 리스팅의 우측 상단 부분에 제공된 소거 메커니즘(cancelation mechanism)을 활용함으로써 소거될 수 있다. 몇몇 실시예는 검색을 시드하기 위해 여러 시드 리스팅을 각각 식별하는 여러 선택을 수신할 수 있다. 따라서, 각각의 시드 리스팅은 검색 결과를 식별하는 데에 활용되는 하나 이상의 필터를 각각 포함하는 시드 아이템 제한의 세트와 연관된다.
몇몇 실시예에서, 시스템(32)은 아이템 유사도 순위(item similarity ranking)로써 검색 결과를 정렬할 수 있다. 아이템 유사도 순위는 시드 리스팅(들)과 가장 유사한 것부터 시드 리스팅(들)과 가장 덜 유사한 것으로 검색 결과 내의 리스팅을 순서화한다. 몇몇 실시예에서, 사용자는 정렬을 위한 하나 이상의 기준을 제공할 수 있다. 그러한 사례에서, 시스템(32)은 시드 리스팅과 가장 유사한 것으로서 식별되는 검색 결과의 부분을 선택하고 사용자에 의해 선택된 기준(가령, 가장 최근에 나열됨)에 따라 검색 결과의 선택된 부분을 정렬할 수 있다.
도 2a는 실시예에 따라, 내비게이션 패널(navigation panel)(44)을 갖는 사용자 인터페이스(40)를 예시한다. 사용자 인터페이스(40)는 질의 패널(42), 내비게이션 패널(44) 및 검색 결과 패널(46)을 포함할 수 있다. 질의 패널(42)은 질의를 수신하는 데에 활용되는 입력 박스(input box)(48)를 포함할 수 있다. 질의는 키워드 또는 다른 키보드 글자를 포함할 수 있다. 질의는 검색 사용자 인터페이스 요소(50)의 선택을 수신하는 것에 응답하여 수신될 수 있다. 질의의 수신은 이전의 질의를 무효화할(override) 수 있다. 내비게이션 패널(44)은 질의에 기반하여 식별되는 필터(도시되지 않음)(이후에 기술됨)를 디스플레이하는 데에 활용될 수 있다. 검색 결과 패널(46)은 네트워크 기반 마켓플레이스 상에서 게시되는 아이템의 서술을 포함하는 검색 결과(도시되지 않음)를 디스플레이하는 데에 활용될 수 있다.
도 2b 내지 도 2d는 실시예에 따라, 상호작용적으로(interactively) 질의를 처리하는 사용자 인터페이스(60)를 예시한다. 세 개의 도면은 질의의 순차적 처리를 예시한다. 도 2b는 실시예에 따라, 상호작용적으로 질의를 처리하는 사용자 인터페이스(60)를 예시한다. 사용자 인터페이스(60)는 질의 패널(42), 개념 질의 패널(62) 및 검색 결과 패널(46)을 포함할 수 있다. 질의 패널(42)은 입력 박스(48) 내에 입력된 질의를 수신하는 데에 활용될 수 있다. 질의는 키워드 및/또는 다른 키보드 글자를 포함할 수 있다. 사용자 인터페이스 요소(63)는 질의를 추가하는 데에 사용될 수 있다. 예컨대, 입력 박스(48)는 사용자 인터페이스 요소(63)의 선택을 수신하는 것에 응답하여 수신되는 질의 또는 질의 단편(query segment)을 포함할 수 있다. 질의(가령, "RED")는 개념 질의 패널(62) 내에 디스플레이되는 하나 이상의 필터를 식별하기 위해 파싱될(parsed) 수 있다. 검색 결과 패널(46)은 개념 질의 패널(62) 내의 개념 질의(도시되지 않음)에 기반하여 식별되는 검색 결과(가령, 리스팅의 서술)를 디스플레이하는 데에 활용될 수 있다.
도 2c는 실시예에 따라, 상호작용적으로 질의를 처리하는 사용자 인터페이스(60)를 예시한다. 사용자 인터페이스(60)는 이제 개념 질의(64)로서 디스플레이되는 필터(66)(가령, COLOR=RED)를 식별하기 위한 질의 "RED"의 처리를 예시한다. 개념 질의(64) 내의 각각의 필터(66)는 필터 제거 체크박스(filter removal checkbox)(68)와 연관될 수 있다. 필터 제거 체크박스(68)는 개념 질의(64)로부터 필터(66)를 선택적으로 제거하기 위해 선택될 수 있다. 입력 박스(48)는 질의 단편 "APPLE IPHONE"을 보여주기 위해 예시된다. 사용자 인터페이스 요소(63)의 선택의 수신에 응답하여, 질의 단편은 개념 질의(64)에 추가되는 하나 이상의 필터(66)를 식별하기 위해 파싱될 수 있다. 검색 결과 패널(46)은 개념 질의(가령, COLOR=RED)에 기반하여 식별되는 검색 결과를 디스플레이하는 데에 활용될 수 있다.
도 2d는 실시예에 따라, 상호작용적으로 질의를 처리하는 사용자 인터페이스(60)를 예시한다. 사용자 인터페이스(60)는 입력 박스(48) 내에 질의 단편 "RED" 및 "APPLE IPHONE"을 이전에 입력함, 질의 "RED"를 파싱하여 제1 필터(66)(가령, COLOR=RED)를 식별하고 질의 단편 "APPLE IPHONE"을 파싱하여 제2 필터(66)(가령, BRAND=APPLE) 및 제3 필터(66)(가령, TYPE=IPHONE)를 식별하여 개념 질의(64)(가령, COLOR=RED, BRAND=APPLE, TYPE=IPHONE)를 생성하는 것을 보여주기 위해 예시된다. 검색 결과 패널(46)은 개념 질의(64)(가령, COLOR=RED, BRAND=APPLE, TYPE=IPHONE)에 기반하여 식별되는 검색 결과(도시되지 않음)를 디스플레이하는 데에 활용될 수 있다.
도 3a는 실시예에 따라, 내비게이션 패널(44)을 갖는 사용자 인터페이스(40)를 예시한다. 사용자는 질의 "RED APPLE"을 입력 박스(48) 내에 입력하고 사용자 인터페이스 요소(50)를 선택할 수 있다. 사용자 인터페이스 요소(50)의 선택에 응답하여, 네트워크 기반 마켓플레이스는 선택 및 질의 "RED APPLE"을 수신하고 질의를 파싱하여 필터(66)(가령, COLOR=RED)의 형태로 된 제1 필터 및 필터(66)(가령, BRAND=APPLE)의 형태로 된 제2 필터를 포함하는 필터 콘텍스트의 형태로 된 필터 세트를 식별할 수 있다. 다음으로, 네트워크 기반 마켓플레이스는 필터 콘텍스트 내의 필터(66)를 위한 제시 순서를 식별하고, 필터 제안의 형태로 된 필터의 제2 세트를 식별하며, 필터 제안 내의 필터를 위한 제시 순서를 식별할 수 있다. 끝으로, 도 3b에 예시된 바와 같이, 네트워크 기반 마켓플레이스는 사용자 인터페이스(40)를 생성하고, 사용자 인터페이스(40)를 클라이언트 머신에 통신할 수 있다. 도 3b에 예시된 바와 같이, 필터 콘텍스트 및 필터 제안은 내비게이션 패널(44) 내에 디스플레이될 수 있다.
도 3b는 실시예에 따라, 내비게이션 패널(44)을 갖는 사용자 인터페이스(40)를 예시한다. 사용자 인터페이스(40)는, 예시된 바와 같이, 도 3a에 기술된 동작에 따라 생성되었다. 사용자 인터페이스(40)는 내비게이션 패널(44) 및 검색 결과 패널(46)을 포함할 수 있다. 내비게이션 패널(44)은 두 개의 필터(66)(가령, COLOR=RED, BRAND=APPLE)를 포함하는 필터 콘텍스트(70) 및 속성-값 쌍(가령, 필터(66))을 형성하기 위해 대응하는 속성과 각각 조합될 수 있는 값의 세트와 각각 연관이 된 세 개의 속성(가령, TYPE, CONDITION, ITEM LOCATION)을 포함하는 필터 제안(72)을 포함할 수 있다. 이 문헌에서 이후에 기술되는 바와 같이, 질의 및 인기도 테이블(도시되지 않음)에 기반하여 필터 콘텍스트(70)가 식별될 수 있고 필터 콘텍스트(70)를 위한 필터(66)의 순서가 식별될 수 있다. 이 문헌에서 이후에 기술되는 바와 같이, 필터 제안(72)은 필터 콘텍스트(70) 및 인기도 테이블(도시되지 않음)에 기반하여 식별될 수 있는 하나 이상의 필터(66)를 포함한다. 또한, 이 문헌에서 이후에 기술되는 바와 같이, 필터 콘텍스트(70) 및 인기도 테이블(도시되지 않음)에 기반하여 필터 제안(72) 내의 필터(66)의 제시 순서가 식별될 수 있다. 이전에 기술된 바와 같이, 검색 결과 패널(46)은 필터 콘텍스트(70)에 기반하여 식별된 리스팅의 서술을 포함할 수 있다. 각각의 리스팅 서술은 구입 또는 경매를 통한 판매를 위해 제공되고 있는 아이템을 서술할 수 있고, 이미지, 표제, 서술, 입찰 수 및 경매에 대한 최고 입찰가를 포함할 수 있다. 사용자 인터페이스(40)의 다른 실시예는 다른 정보를 포함할 수 있다.
도 3c는 실시예에 따라, 내비게이션 패널(44)을 갖는 사용자 인터페이스(40)를 예시한다. 사용자 인터페이스(40)는, 예시된 바와 같이, 도 3a 및 도 3b에 기술된 동작에 따라 생성되었다. 사용자 인터페이스(40)는 필터 콘텍스트(70)에의 추가를 위한 필터(66) "TYPE=CELL PHONE"을 생성하기 위한 속성 "TYPE"과 연관이 된 값 "CELL PHONE"의 선택을 예시한다. 필터 콘텍스트(70)의 업데이트에 응답하여, 네트워크 기반 마켓플레이스는 내비게이션 패널(44) 및 검색 결과 패널(46)을 또한 업데이트할 수 있다. 예컨대, 내비게이션 패널(44)은 새로운 필터 콘텍스트(70)에 기반하여 업데이트되어 필터 콘텍스트(70) 내의 필터(66)의 제시 순서를 변경하고, 필터 제안(72)을 위한 속성의 상이한 세트를 선택하며, 필터 제안(72)을 위한 속성의 상이한 제시 순서를 선택할 수 있다. 추가로, 필터(66)를 형성하도록 속성과 연관된 값은 필터(66)의 앞서 언급된 선택과 유사한 방식으로 선택되고 순서화될 수 있다. 예컨대, 필터 콘텍스트(70) 내의 필터(66) "TYPE=CELL PHONE"과 연관된 값 및 그것의 제시 순서는 이 문헌에서 이후에 기술되는 바와 같이, 필터 콘텍스트(70)(가령, "TYPE=CELL PHONE", "COLOR=RED" 및 "BRAND=APPLE") 및 인기도 테이블에 기반하여 식별될 수 있다. 또한 예컨대, 필터 콘텍스트(70) 내의 필터(66) "COLOR=RED"와 연관된 값 및 그것의 제시 순서는 이 문헌에서 이후에 기술되는 바와 같이, 필터 콘텍스트(70)(가령, "TYPE=CELL PHONE", "COLOR=RED" 및 "BRAND=APPLE") 및 인기도 테이블에 기반하여 식별될 수 있다. 또한 예컨대, 필터 콘텍스트(70) 내의 필터(66) "BRAND=APPLE"과 연관된 값 및 그것의 제시 순서는 이 문헌에서 이후에 기술되는 바와 같이, 필터 콘텍스트(70)(가령, "TYPE=CELL PHONE", "COLOR=RED" 및 "BRAND=APPLE") 및 인기도 테이블에 기반하여 식별될 수 있다. 또한 예컨대, 필터 제안(72) 내의 속성 "SHIPPING"과 연관된 값(가령, "STANDARD", "EXPEDITE") 및 그것의 제시 순서는 이 문헌에서 이후에 기술되는 바와 같이, 필터 콘텍스트(70)(가령, "TYPE=CELL PHONE", "COLOR=RED" 및 "BRAND=APPLE") 및 인기도 테이블에 기반하여 식별될 수 있다. 끝으로 예컨대, 필터 제안(72) 내의 속성 "CONDITION"과 연관된 값(가령, "USED", "NEW", "NOT SPECIFIED") 및 그것의 제시 순서는 이 문헌에서 이후에 기술되는 바와 같이, 필터 콘텍스트(70)(가령, "TYPE=CELL PHONE", "COLOR=RED" 및 "BRAND=APPLE") 및 인기도 테이블에 기반하여 식별될 수 있다.
도 4a는 실시예에 따라, 상호작용적으로 질의를 처리하는 사용자 인터페이스(60)를 예시한다. 사용자 인터페이스(60)는 질의에 기반하여 식별된 개념 질의(64)를 포함할 수 있다. 개념 질의(64)는 "COLOR=RED", "BRAND=APPLE" 및 "TYPE=IPHONE"을 포함하는 세 개의 필터(66)를 포함하는 것으로서 예시된다. 사용자 인터페이스(60)는 값 패널(value panel)(76)을 포함할 수 있다. 값 "RED" 외에, 값 패널(76)은 개념 질의(64)에 기반하여 식별되는 값을 포함할 수 있다. 특히, 필터 BRAND=APPLE, 필터 "TYPE=IPHONE", 속성 "COLOR" 및 인기도 테이블에 기반하여 "RED" 외의 값이 식별될 수 있다. 또한, "RED"가 아닌 값(가령, "BLACK", "BLUE", "YELLOW" 및 "PURPLE)이 좌측에서 우측으로 필터(66) "BRAND=APPLE", 필터(66) "TYPE=IPHONE", 속성 "COLOR" 및 인기도 테이블에 기반하여 식별되는 순서로 제시된다. 추가로, 이 문헌에서 이후에 기술되는 바와 같이, 그 값들 각각은 각각의 값(가령, "RED", "BLACK", "BLUE", "YELLOW" 및 "PURPLE"), 선택된 속성(가령, "COLOR"), 그리고 개념 질의(64) 내의 남은 필터(66)(가령, "BRAND=APPLE" 및 "TYPE=IPHONE")에 기반하여 식별되는 이미지(78)와 연관된다. 사용자 인터페이스(60)는 검색 결과를 포함할 수 있다.
도 4b는 실시예에 따라, 상호작용적으로 질의를 처리하는 사용자 인터페이스(60)를 예시한다. 사용자 인터페이스(60)는 개념 질의(64), 값 패널(76) 및 검색 결과 패널(46)에 관해서 업데이트될 수 있다. 예컨대, 도 4b 내의 사용자 인터페이스(60)는 네트워크 기반 마켓플레이스가 도 4a에 예시된 바와 같은 값 패널(76) 내의 값 "BLACK"의 선택을 수신하는 것에 응답하여 업데이트될 수 있다. 도 4b로 돌아가면, 개념 질의(64)는 필터 "COLOR=RED"를 필터(66) "COLOR=BLACK"으로 교체하기 위해 업데이트될 수 있다. 값 패널(76)은 값 "RED"를 값 "BLACK"으로 교체하기 위해 업데이트될 수 있다. 또한, 값 패널(76)은 필터 "BRAND=APPLE", 필터 "TYPE=IPHONE", 속성 "COLOR" 및 인기도 테이블에 기반하여 식별되는 값을 포함하도록 업데이트될 수 있다. 또한, "BLACK"이 아닌 값(가령, "BLUE", "YELLOW", "PURPLE" 및 "GREEN")이 좌측에서 우측으로 필터(66) "BRAND=APPLE", 필터(66) "TYPE=IPHONE", 속성 "COLOR" 및 인기도 테이블에 기반하여 식별되는 순서로 제시된다. 추가로, 이 문헌에서 이후에 기술되는 바와 같이, 그 값들 각각은 각각의 값(가령, "BLACK", "BLUE", "YELLOW", "PURPLE" 및 "GREEN"), 선택된 속성(가령, "COLOR"), 개념 질의(64) 내의 남은 필터(66)(가령, "BRAND=APPLE" 및 "TYPE=IPHONE") 및 인기도 테이블에 기반하여 식별되는 이미지(78)와 연관된다. 검색 결과 패널(46)은 개념 질의(64)에 기반하여 식별되는 검색 결과를 포함하도록 업데이트될 수 있다.
도 4c는 실시예에 따라, 사용자 인터페이스(35)를 예시한다. 사용자 인터페이스(35)는 도 1e에 기술된 동작에 따라 생성된다. 이전에 기술된 바와 같이, 사용자 인터페이스(35)는 시드 리스팅(90)의 선택에 응답하여 생성될 수 있다. 사용자 인터페이스(35)는 입력 패널(82), 시드 패널(84), 카테고리 패널(86), 내비게이션 패널(44) 및 검색 결과 패널(46)을 포함한다. 입력 패널(82)은 입력 박스(48) 및 검색 버튼을 포함한다. 입력 박스(48)는 키워드로 구성된 질의를 수신하는 데에 사용된다. 검색 버튼은 네트워크 기반 마켓플레이스로 질의를 통신하기 위해 선택가능하다.
시드 패널(84)은 시드 필터 콘텍스트(88) 및 시드 리스팅(90)을 포함한다. 시드 필터 콘텍스트(88)는 기존의 제한(옵션임(optional)) 및 시드 리스팅(90)으로부터 추출된 하나 이상의 카테고리에 기반하여 생성될 수 있다. 시드 필터 콘텍스트(88)는 여러 필터(66)(가령, "BRAND=APPLE", "CARRIER=ATT", "MEMORY=64GB")를 포함한다. 시드 필터 콘텍스트(88)는 검색 결과 패널(46) 내의 검색 결과 내의 리스팅을 식별하는 데에 활용된다.
시드 필터 콘텍스트(88) 내의 각각의 필터(66)는 검색 결과의 범주를 넓히기 위해 소거 메커니즘으로써 개별적으로 소거될 수 있다. 예컨대, 네트워크 기반 마켓플레이스가 시드 필터 콘텍스트(88) 내의 특정 필터(66)의 소거를 위한 선택을 수신하는 것에 응답하여, 네트워크 기반 마켓플레이스는 시드 패널(84) 내의 시드 필터 콘텍스트(88)로부터 필터(66)를 제거하고, 내비게이션 패널(44) 내의 시드 필터 콘텍스트(88)로부터 필터(66)를 제거하며, 검색 결과 패널(46) 내의 검색 결과를 업데이트한다.
또한, 시드 패널(84)은 전체 시드 필터 콘텍스트(88)를 소거하기 위해 선택가능한 "CLEAR'(지움) 버튼을 포함한다. 예컨대, 네트워크 기반 마켓플레이스가 "CLEAR' 버튼 선택을 수신하는 것에 응답하여, 네트워크 기반 마켓플레이스는 시드 패널(84)로부터 시드 필터 콘텍스트(88)를 제거하고, 검색 결과 패널(46) 내의 검색 결과를 업데이트하며, 내비게이션 패널(44)로부터 시드 필터 콘텍스트(88)를 제거한다. 또한, 기존의 제한이 존재하고 시드 필터 콘텍스트(88)가 소거되는 사례에서, 네트워크 기반 마켓플레이스는 기존의 제한에 기반하여 검색 결과를 식별한다.
시드 리스팅(90)은 아이템 테이블 내의 리스팅이고 리스팅의 이미지, 표제 및 임의의 다른 요소 또는 부분을 포함하는 것으로서 시드 패널(84) 내에 제시된다. 시드 리스팅(90)은 소거 메커니즘으로써 소거될 수 있다. 네트워크 기반 마켓플레이스가 시드 리스팅(90)의 소거를 위한 선택을 수신하는 것에 응답하여, 네트워크 기반 마켓플레이스는 시드 필터 콘텍스트(88)를 제거하고 기존의 제한에 기반하여 검색 결과 패널(46) 내의 리스팅을 업데이트한다.
내비게이션 패널(44)은 시드 필터 콘텍스트(88) 및 시드 필터 제안(92)을 포함한다. 시드 필터 콘텍스트(88)는 시드 패널(84)과 연관되어 위에서 기술된다. 시드 필터 콘텍스트(88)로부터의 필터(66)의 소거에 응답하여, 네트워크 기반 마켓플레이스는 또한 내비게이션 패널(44) 및 검색 결과 패널(46)을 위에 기술된 바와 같이 업데이트한다. 예컨대, 이 문헌에서 이하에 기술되는 바와 같이, 시드 필터 콘텍스트(88) 내의 필터(66)의 제시를 변경하고, 시드 필터 제안(92)을 위한 속성의 상이한 세트 및 순서를 선택하며, 시드 필터 제안(92) 내의 속성 각각을 위한 값의 상이한 세트 및 순서를 선택하기 위해 내비게이션 패널(44)은 새로운 시드 필터 콘텍스트(88)(가령, "MEMORY=64GB"를 소거함)에 기반하여 업데이트될 수 있다.
검색 결과 패널(46)은 검색 결과 및 정렬 선택 메커니즘을 포함한다. 검색 결과는 표제를 포함하는 설명 및 이미지를 포함하여 네트워크 기반 마켓플레이스 상에서의 판매를 위한 아이템을 서술하는 리스팅을 포함할 수 있다. 리스팅은 기존의 제한 및 시드 아이템 제한(가령, 시드 필터 콘텍스트, 시드 필터 제안으로부터 선택된 필터)에 기반하여 식별된다. 기존의 제한은 옵션이다. 즉, 검색은 기존의 제한 없이 시드 리스팅으로써 시드될 수 있다. 기존의 제한은 질의, 필터 콘텍스트, 그리고 필터 제안으로부터 선택된 필터를 포함할 수 있다. 시드 아이템 제한은 시드 필터 콘텍스트, 그리고 시드 필터 제안으로부터 선택된 하나 이상의 필터 및 유사한 것을 포함할 수 있다. 몇몇 사례에서, 검색 결과를 식별하는 데에 활용되는 여러 시드 콘텍스트에 대응하는 여러 시드 리스팅이 선택된다. 질의는 리스팅 내의 비구조화된 텍스트와 매칭되고 필터는 리스팅 내의 구조화된 정보와 매칭된다.
정렬 선택 메커니즘은 정렬을 위한 기준을 수신하는 데에 활용된다. 예컨대, 네트워크 기반 마켓플레이스는 가격, 게시 일자, 경매 마감 시간 및 기타 등등에 따라 검색 결과 내의 리스팅을 정렬하기 위한 기준을 수신할 수 있다. 기준의 수신에 응답하여, 네트워크 기반 마켓플레이스는 여러 정렬 방안을 조합할 수 있다. 예컨대, 기준의 수신에 응답하여, 네트워크 기반 마켓플레이스는 1) 하나 이상의 시드 리스팅과의 각각의 리스팅에 대한 아이템 유사도 순위, 더불어 2) 기준에 따라 지정되는 바와 같은 정렬 방안에 기반하여 정렬할 수 있다.
도 4d는 실시예에 따라, 사용자 인터페이스(94)를 예시한다. 사용자 인터페이스(94)는 시드 리스팅(90)의 식별에 의한 검색의 시드에 응답하여 생성된다. 사용자 인터페이스(94)는 시드 리스팅 패널(96), 시드 필터 패널(98) 및 검색 결과 패널(46)을 포함한다. 사용자 인터페이스(94)는 도 1e에 기술된 처리와 실질적으로 부합하여 생성된다.
사용자 인터페이스(94)는 도 4c에 도시된 바와 같은 사용자 인터페이스(35)와는 상이하다. 하나의 차이점은 내비게이션 패널(44)(도시되지 않음)의 생략이다. 다른 차이점은 캐러셀 메커니즘(carousel mechanism)으로 검색 결과를 디스플레이하는 것이다. 예컨대, 검색 결과 패널(46)은 숨겨진 검색 결과를 디스플레이하는 데에 캐러셀 메커니즘을 활용할 수 있다. 하나의 실시예에 따르면, 검색 결과 패널(46) 상에서 터치 감지 스크린과 접촉을 하는 스와이핑 모션(swiping motion)(가령, 우측에서 좌측으로 또는 좌측에서 우측으로)은 검색 결과 패널(46) 내의 검색 결과로부터 이전에 숨겨진 리스팅을 노출시킨다. 다른 차이점은 아래에 언급된다. 시드 리스팅 패널(96)은 아래에 더 기술되는 바와 같이, 리스팅의 이미지, 표제 및 임의의 다른 요소 또는 부분을 포함하는 시드 리스팅을 포함한다. 시드 리스팅 패널(96)은 시드 리스팅을 소거하기 위해 선택가능한 소거 메커니즘(97)을 더 포함한다. 예컨대, 네트워크 기반 마켓플레이스가 시드 리스팅의 소거를 위한 선택을 수신하는 것에 응답하여, 네트워크 기반 마켓플레이스는 이전에 기술된 바와 같이, 시드 필터 콘텍스트를 제거하고 기존의 제한에 기반하여 검색 결과 패널(46) 내의 리스팅을 업데이트한다.
시드 필터 패널(98)은 시드 필터 콘텍스트(88) 및 질의(가령, "IPAD AIR")를 포함하는데, 양자 모두 이전에 기술된 바와 같다. 검색 결과 패널(46)은 이전에 기술된 바와 같이, 제한에 기반하여 식별되는 검색 결과(가령, 리스팅의 서술)를 포함한다. 검색 결과 패널(46) 내의 리스팅은 좌측에서 우측으로의 스와이핑 모션 또는 우측에서 좌측으로의 스와이핑 모션으로써 스크롤될(scrolled) 수 있다.
도 5는 실시예에 따라, 시스템(100)을 예시한다. 시스템(100)은 본 출원 내에 기술된 방법, 특징 또는 구조 중 임의의 것을 구현하는 데에 사용될 수 있다. 시스템(100)은 네트워크(104) 상에서 네트워크 기반 마켓플레이스(106)와 커플링되는 클라이언트 머신(102)을 포함할 수 있다. 클라이언트 머신(102)은 핸드헬드(handheld) 디바이스, 데스크톱(desktop) 컴퓨터, 또는 전자 통신이 가능한 임의의 다른 전자 디바이스를 포함할 수 있다. 네트워크(104)는 전화 네트워크, 전화 셀룰러 네트워크, 인터넷, 무선 네트워크, 또는 이의 임의의 조합을 포함할 수 있다. 네트워크(104)는 로컬(local), 중간 범위(mid-range), 또는 광역(wide area) 거리 상의 아날로그 및/또는 디지털 통신을 지원할 수 있다. 네트워크 기반 마켓플레이스(106)는 상품 및/또는 서비스의 거래를 가능하게 하는 구매자 및 판매자를 위한 임의의 전자 마켓플레이스(가령, 이베이(eBay), 아마존(Amazon) 등등)를 포함할 수 있다. 네트워크 기반 마켓플레이스(106)는 프론트엔드(front-end) 서버(108), 백엔드(back-end) 서버(110), 데이터베이스 서버(112) 및 데이터베이스(114)를 포함할 수 있다. 클라이언트 머신(102)은 네트워크(104) 상에서 프론트엔드 서버(들)(108)(이는, 이어서, 백엔드 서버(들)(110)(이는, 이어서, 데이터베이스 서버(들)(112)(이는 데이터베이스(들)(114)에 데이터를 저장하고 데이터베이스(들)(114)로부터 데이터를 인출함(retrieve))와 통신함)와 통신함)와 통신할 수 있다.
프론트엔드 서버(들)(108)는 통신 모듈(116) 및 리스팅 모듈(118)을 포함할 수 있다. 리스팅 모듈(118)은 도로 사용자에게 응답을 통신하기 전에 사용자(가령, 판매자)에 의해 동작되는 클라이언트 머신(102)으로부터 요청을 수신할 수 있다. 요청은 네트워크 기반 마켓플레이스(106) 상에서의 판매를 위해 제공되고 있는 아이템을 서술하는 리스팅 내의 게시를 위한 텍스트 또는 이미지를 포함하는 정보를 포함할 수 있다. 텍스트는 정보를 구조화하기 위한 규칙에 기반하여 파싱될 수 있다. 예컨대, 분류 규칙은 조건 정보(condition information) 및 보충 정보(supplemental information)를 포함할 수 있다. 조건 정보는 매칭되는 키워드를 식별하기 위해, 리스팅의 표제 또는 리스팅의 임의의 다른 부분에 적용될 수 있다. 매치(match)의 식별에 응답하여, 리스팅은 보충 정보로써 보충될(가령, 태깅될(tagged)) 수 있다. 예컨대, 만일 리스팅의 표제가 조건 정보 "RED"와 매칭되는 단어 "RED"를 포함하면 리스팅 모듈(118)은 보충 정보 "COLOR=RED"로써 리스팅을 태깅할(가령, 연접할(concatenate)) 수 있다. 통신 모듈(116)은 사용자(가령, 구매자)에 의해 동작되는 클라이언트 머신(102)으로부터 요청을 수신하고 사용자에게 도로 응답을 통신할 수 있다. 요청은 질의, 질의 단편, 필터를 식별하는 선택, 필터의 값을 식별하는 선택, 그리고 다른 정보를 포함할 수 있다. 요청에 대한 응답은 요청에 대한 상태, 개념 질의 패널(62), 내비게이션 패널(44), 검색 결과 패널(46), 그리고 다른 정보를 포함하는 사용자 인터페이스를 포함할 수 있다.
백엔드 서버(110)는 검색 엔진(121), 인기도 모듈(128) 및 시드 모듈(130)을 포함할 수 있다. 검색 엔진(121)은 필터 추출 모듈(122), 필터 이름 모듈(124) 및 필터 값 모듈(126)을 포함할 수 있다. 검색 엔진(121)은 검색 요청, 필터 선택, 그리고 다른 검색 관련 요청을 처리할 수 있다. 검색 엔진(121)은 질의를 수신하는 것에 응답하여, 질의 또는 질의 단편으로써, 필터 추출 모듈(122)을 호출할(invoke) 수 있다. 이 문서에서 이하에 논의되는 바와 같이, 필터 추출 모듈(122)은 분류 규칙에 기반하여 질의로부터 필터 세트를 추출하고, 인기도 테이블(144)에 기반하여 필터 세트를 채점하며, 최고 점수에 기반하여 필터 세트로부터 필터 세트(가령, 개념 질의(64)/필터 콘텍스트(70))를 식별할 수 있다. 필터 이름 모듈(124)은 하나 이상의 필터(66)(가령, 개념 질의(64)/필터 콘텍스트(70))를 수신하고 인기도 테이블(144)에 기반하여 하나 이상의 필터를 식별할 수 있다. 필터 값 모듈(126)은 하나 이상의 필터(66) 및 필터 이름(가령, 속성)을 수신하여, 인기도 테이블(144)을 기반으로, 값(가령, RED, GREEN, BLUE 등등)을 각각 포함하는 하나 이상의 필터(66)를 식별할 수 있다. 인기도 모듈(128)은 인기도 테이블(144)을 생성하는 데에 활용될 수 있다(도 7을 보시오). 시드 모듈(130)은 시드 리스팅으로써 검색을 시드하는 데에 활용될 수 있다. 시드 모듈(130)은 시드 리스팅(90)을 식별하고, 시드 필터 콘텍스트(88)의 식별을 가능하게 하며, 시드 리스팅(90)으로부터 값(168)을 추출하고, 시드 필터 콘텍스트(88)를 초기화하며, 시드 필터 제안(92)의 식별을 가능하게 하고, 검색 결과를 생성하며, 클라이언트 머신 상의 디스플레이를 생성하거나 업데이트하는 데에 활용되는 인터페이스 정보를 통신할 수 있다.
데이터베이스(114)는 검색 메타데이터(140), 아이템 테이블(142) 및 인기도 테이블(144)을 포함할 수 있다. 검색 메타데이터(140)는 리스팅, 질의 또는 질의 단편에 기반하여 구조화된 정보(가령, 필터(66), 속성-값 쌍)를 생성하는 데에 사용되는 분류 규칙 또는 다른 정보를 저장할 수 있다. 질의로부터 추출되는 필터(66)는 속성-값 쌍이고, 따라서, 검색 결과를 생성하기 위해 리스팅 내의 속성-값 쌍을 매칭하는 데에 활용될 수 있다. 아이템 테이블(142)은 네트워크 기반 마켓플레이스(106) 상에서의 판매를 위한 아이템을 서술하는 리스팅을 저장하는 데에 사용될 수 있다. 인기도 테이블(144)은 사전결정된 시구간(period of time) 내에 포함된 기준을 기반으로 아이템 테이블(142)로부터 추출되는 완료된 리스팅의 세트로부터 생성될 수 있다. 인기도 테이블(144)은 속성-값 쌍/필터(66)에 대응하는 행을 포함할 수 있다. 각각의 행(가령, 속성-값 쌍/필터(66))은 완료된 리스팅의 세트 내의 속성-값 쌍/필터(66)의 인기도를 서술하는 확률 정보를 포함할 수 있다.
도 6a는 실시예에 따라, 검색 메타데이터(140)를 예시한다. 검색 메타데이터(140)는 도메인 정보(150)의 여러 엔트리를 포함할 수 있다. 검색 메타데이터(140)는 네트워크 기반 마켓플레이스(106) 상에서의 판매를 위해 제공되는 아이템을 서술하여, 리스팅을 분류하는 데에 활용될 수 있는 도메인의 세트를 서술한다. 도메인은 다른 도메인의 내부에 내포될(nested) 수 있다. 예컨대, 도메인 "home"(가정), "Electronics"(전자기기), "Cell Phone & Accessories"(휴대전화 및 액세서리) 및 "Popular Brands"(인기 브랜드)는 도메인 "Popular Brands", "Electronics", "Cell Phone & Accessories"를 포함하는 리프 카테고리(leaf category)로 집약된다(telescope down). 즉, 도메인 "home"은 도메인 "Electronics"를 포함하는데, 이는 도메인 "Cell Phone & Accessories"를 포함하고, 이는 도메인 "Popular Brands"를 포함하는바, 이는 네트워크 기반 마켓플레이스(106) 상에서의 판매를 위한 아이템을 서술하는 리스팅을 포함한다. 도메인은 하나보다 많은 도메인을 포함할 수 있음이 또한 인식될 것이다.
도 6b는 실시예에 따라, 도메인 정보(150)를 예시한다. 도메인 정보(150)는 도메인(152)(가령, "home", "Electronics", "Television Sets"(텔레비전 세트), "Cell Phone & Accessories", "Popular Brands" 등등), 분류 규칙 정보(154) 및 조건 정보(156)를 포함할 수 있다. 분류 규칙 정보(154)는 도메인(152)과 연관된 분류 규칙의 세트를 포함할 수 있다. 조건 정보(156)는 TRUE(참) 또는 FALSE(거짓)를 평가할 수 있는 하나 이상의 불리언 테스트(Boolean test)를 포함할 수 있다. 본 맥락에서, 조건 정보(156)는 연관된 도메인(152)을 식별하는 데에 활용될 수 있다. 예컨대, 도메인(152) "automobiles"(자동차)는 구문 "FORD RANGER"(포드 레인저)(가령, "FORD RANGER"인지)에 대해 테스트하기 위한 조건 정보(156)를 포함할 수 있다. 즉, 만일 문자열 "FORD RANGER"가 매칭되면, "automobiles"의 도메인(152)에 대해 TRUE로 표명한다(assert). 다른 도메인(152)(가령, 장난감, 전화)에 대해 다른 테스트가 적절할 수 있다.
도 6c는 실시예에 따라, 분류 규칙 정보(154)를 예시한다. 분류 규칙 정보(154)는 분류 규칙(160)의 여러 엔트리를 포함할 수 있다. 분류 규칙(160)은 질의, 질의 단편 또는 리스팅 내의 텍스트를 구조화하는 데에 활용될 수 있다.
도 6d는 실시예에 따라, 분류 규칙(160)을 예시한다. 분류 규칙(160)은 이전에 기술된 바와 같은 조건 정보(156)와, 보충 정보(162)를 포함할 수 있다. 보충 정보(162)는 조건 정보(156)가 TRUE를 평가하는 것에 응답하여 활용될 수 있다. 예컨대, 조건 정보(156)는 불리언 테스트 "'RED'인지"를 포함할 수 있다. 조건 정보(156)는 식별된 타겟(target)(가령, 리스팅 내의 표제, 리스팅 내의 서술, 질의, 질의 단편 등등)에 적용될 수 있다. 또한 예컨대, 조건 정보(156)는 불리언 테스트 "'APPLE IPHONE'인지"를 포함할 수 있다. 보충 정보(162)는 조건 정보(156)가 TRUE를 평가하는 것에 응답하여 속성-값 쌍으로써 리스팅을, 필터(66)로써 개념 질의(64)를, 또는 필터(66)로써 필터 콘텍스트(70)를 보충하는 데에 활용될 수 있다.
도 6e는 실시예에 따라, 속성-값 쌍(164)을 예시한다. 속성-값 쌍(164)(가령, "COLOR=RED")은 속성(166)(가령, "COLOR") 및 값(168)(가령, "RED")을 포함할 수 있다. 속성-값 쌍(164)은 리스팅(170)(도 6f에 도시됨) 내에 서술되는 아이템을 서술할 수 있다. 속성-값 쌍(164)은 아이템 테이블(142) 내의 리스팅(들)(170)을 식별하기 위한 필터(66)로서 기능할 수 있다. 속성(166)은 필터(66)를 위한 필터 이름으로서 기능할 수 있다. 값(168)은 속성(166)에 대응할 수 있고 속성(166)을 구체화하도록(materialize) 기능한다. 예컨대, 속성(166) "COLOR"는 값(168) "BLUE", "RED", "GREEN" 및 기타 등등에 대응하고 이를 구체화한다.
도 6f는 실시예에 따라, 아이템 테이블(142)을 예시한다. 아이템 테이블(142)은 네트워크 기반 마켓플레이스(106) 상에서 게시되는 리스팅(170)을 포함할 수 있다.
도 6g는 실시예에 따라, 리스팅(170)을 예시한다. 리스팅(170)은 네트워크 기반 마켓플레이스(106) 상에서의 판매를 위해 제공되는 아이템을 서술할 수 있다. 리스팅(170)은 표제(172), 서술(174), 구조화된 정보(176), 판매자에 의해 업로드될 수 있는 아이템의 이미지(78), 판매자에 의해 구성될 수 있는 아이템을 구매하는 가격(180), 아이템에 대해 현재 최고 입찰가(bid)인 입찰가(182), 카테고리의 내비게이팅 가능한 계층(navigable hierarchy) 내에서 사용자에 의해 리스팅(170)이 발견될 수 있는 하나 이상의 카테고리(182)(가령, 도메인(들)(152)), 판매 완료 플래그(sale completed flag)(186), 그리고 판매 일자(188)를 포함할 수 있다. 표제(172)는 리스팅(170)의 표제일 수 있고 검색 결과에서 볼드체로 나타날 수 있다. 표제(172) 및 서술(174)은 판매자로부터 수신될 수 있다. 구조화된 정보(176)는 하나 이상의 속성-값 쌍(164)을 포함할 수 있다. 구조화된 정보(176)는 분류 규칙(160)에 기반하여 서술(174) 또는 표제(172)를 기반으로 네트워크 기반 마켓플레이스(106)에 의해 자동으로 생성될 수 있다. 구조화된 정보(176)는 또한 사용자(가령, 판매자)로부터 수신된 선택에 기반하여 식별될 수 있다. 판매 완료 플래그는 리스팅(170)에 의해 서술된 아이템의 판매(가령, 매입됨, 낙찰됨)에 응답하여 TRUE로 표명될 수 있는바, 리스팅(170)을 완료된 것으로서 등록한다. 판매 일자(188)는 판매가 완료된 날짜이다.
도 6h는 실시예에 따라, 구조화된 정보(176)를 예시한다. 구조화된 정보(176)는 하나 이상의 속성-값 쌍(164)을 포함하는 표제 구조화된 정보(title structured information)(200) 및 하나 이상의 속성-값 쌍(164)을 포함하는 사용자가 구성한 구조화된 정보(user configured structured information)(202)를 포함할 수 있다. 표제 구조화된 정보(200) 내에 포함된 하나 이상의 속성-값 쌍(164)은 분류 규칙(160)을 사용하여 리스팅(170)의 표제(172) 내의 텍스트를 파싱하는 것에 응답하여 네트워크 기반 마켓플레이스(106)에 의해 생성될 수 있다. 사용자 구성된 구조화된 정보(202) 내에 포함된 하나 이상의 속성-값 쌍(164)은 사용자로부터 수신되는 선택에 기반하여 식별될 수 있다. 예컨대, 판매자는 속성-값 쌍(164)(가령, "BRAND=APPLE")을 식별하기 위해 사용자 인터페이스로부터 브랜드(가령, APPLE)를 선택함으로써 특정 브랜드인 것으로서 리스팅(170)에 의해 서술된 아이템을 식별할 수 있다.
도 6i는 실시예에 따라, 인기도 테이블(144)을 예시한다. 인기도 테이블(144)은 속성-값 쌍(164)/필터(66) 및 그것의 상대적인 인기도를 서술할 수 있다. 인기 있는 속성-값 쌍은 비인기 속성-값 쌍과 연관된 확률보다 더 큰 확률과 연관된다. 인기도 테이블(144)은 완료된 것으로서 식별되는 리스팅(170)의 세트에 기반하여 생성될 수 있다. 인기도 테이블(144)은 또한 판매 일자(188)에 기반하여 아이템 테이블(142)로부터 완료된 리스팅을 추출함으로써 생성될 수 있다. 예컨대, 인기도 테이블(144)은 또한 시작 일자 및 종료 일자 간에 식별되는 판매 일자(188)에 기반하여 아이템 테이블(142)로부터 완료된 리스팅(170)을 추출함으로써 생성될 수 있다. 인기도 테이블(144)은 속성-값 인기도 정보(210)의 여러 행을 포함할 수 있다.
도 6j는 실시예에 따라, 속성-값 인기도 정보(210)를 예시한다. 속성-값 인기도 정보(210)는 필터(66), 표제 확률 정보(212) 및 결합 확률 정보(214)를 포함할 수 있다. 속성-값 인기도 정보(210)는 인기도 테이블(144) 내의 행에 대응하는데 이는, 이어서, 속성-값 쌍(164)(이는 필터(66)(가령, "COLOR=RED")로서 기능함)에 대응한다. 표제 확률 정보(212)는 인기도 테이블(144)을 생성하기 위해 아이템 테이블(142)로부터 추출되는 완료된 리스팅의 세트로부터 무작위로(randomly) 선택되는 리스팅(170)의 표제(172) 내의 속성-값 쌍(164)을 식별하는 확률을 저장하는 표제 확률(213)을 포함할 수 있다. 예컨대, 필터(66) "COLOR=RED"를 위한 속성-값 인기도 정보(210)는 속성-값 쌍(164) "COLOR=RED"를 갖는 표제(172)를 포함하는 백 개의 리스팅(170)을 포함하는 10,000개의 완료된 리스팅(170)의 세트를 기반으로 1%로서 계산될 수 있다.
결합 확률 정보(214)는 여러 필터 쌍 정보(216) 엔트리를 포함할 수 있다. 결합 확률 정보(214)는, 완료되어 인기도 테이블(144)을 생성하는 데에 활용되는 리스팅(170)의 표제(172) 내에서의 당해 속성-값 쌍(164)(가령, 필터(66)) 및 다른 속성-값 쌍(164)(가령, 동시 발생 속성-값 쌍(217))의 발생을 식별하는 것에 응답하여 필터 쌍 정보(filter pair information)(216)의 엔트리를 포함하도록 생성될 수 있다. 결합 확률 정보(214)의 크기는 터무니없이 과중하지는 않은데 속성-값 쌍(164)의 대부분의 쌍 이룸이 리스팅(170)의 표제(172) 내에서 발견되지 않기 때문이다. 필터 쌍 정보(216)는 동시 발생 속성-값 쌍(217) 및 결합 확률(218)을 포함할 수 있다. 예컨대, 속성-값 쌍(164) "COLOR=RED"를 위한 결합 확률 정보(214)는 필터-쌍 정보(216)의 네 개의 엔트리(가령, (BRAND=APPLE, 5%) (TYPE=IPHONE, 3%) (CONDITION=NEW, 1%) (ITEM LOCATION=US, 1%))를 포함할 수 있다.
도 6k는 실시예에 따라, 이미지 테이블(220)을 예시한다. 이미지 테이블(220)은 이미지 정보(222)의 여러 엔트리를 포함할 수 있다. 이미지 정보(222)는 연관된 이미지(78)를 서술하는 하나 이상의 속성 값 쌍(164)을 포함할 수 있다. 예컨대, 속성 값 쌍 "COLOR=BLACK", "BRAND=APPLE" 및 "TYPE=IPHONE"은 캘리포니아주 쿠퍼티노(Cupertino, CA)의 애플 사(Apple, Inc.)에 의해 제조되는 "iPhone"(아이폰)으로 불리는 검은 셀룰러 전화의 이미지(78)와 연관될 수 있다. 또 예컨대, 속성 값 쌍(164) "COLOR=RED", "BRAND=APPLE" 및 "TYPE=IPHONE"은 캘리포니아주 쿠퍼티노의 애플 사에 의해 제조되는 "iPhone"으로 불리는 빨간 셀룰러 전화의 이미지(78)와 연관될 수 있다.
도 7은 실시예에 따라, 완료된 리스팅을 추출하고 인기도 테이블(144)을 생성하는 방법(300)을 예시한다. 방법(300)은 인기도 모듈(128)이 완료된 리스팅(170)을 아이템 테이블(142)로부터 식별하고 추출하는(가령, 복사하는(copying)) 동작(302)에서 시작할 수 있다. 예컨대, 인기도 모듈(128)은 완료된 리스팅의 세트를 생성하기 위해 아이템 테이블(142)로부터 사전결정된 시작 일자 및 사전결정된 종료 일자 간의 리스팅(170)을 식별하고 추출할(가령, 복사할) 수 있다. 예컨대, 표명된 판매 완료 플래그(186)(가령, TRUE)를 포함하는 것으로서 및 사전결정된 시작 일자 및 사전결정된 종료 일자 간의 판매 일자(188)를 포함하는 것으로서 리스팅(170)을 식별하는 것에 응답하여, 인기도 모듈(128)은 리스팅(170)을 아이템 테이블(142)로부터 완료된 리스팅의 세트로 추출할(가령, 복사할) 수 있다.
동작(303) 내지 동작(312)에서 인기도 모듈(128)은 동작(302)에서 추출된 완료된 리스팅(170)의 세트를 처리한다. 동작(303)에서, 인기도 모듈(128)은 완료된 리스팅의 세트 내의 제1 리스팅(170)으로 진행할(advance) 수 있다. 동작(306)에서, 인기도 모듈(128)은 완료된 리스팅(170)의 표제(172) 내의 속성-값 쌍(164)을 식별할 수 있다. 예컨대, 인기도 모듈(128)은 리스팅(170)의 표제 구조화된 정보(200) 내의 속성-값 쌍(164)을 식별할 수 있다. 동작(308)에서, 인기도 모듈(128)은 완료된 리스팅(170) 내에서 식별된 속성-값 쌍(164)과 연관되는 카운트를 점증시킬(increment) 수 있다. 예컨대, 인기도 모듈(128)은 표제(172) 내의 속성 값 쌍(164) "COLOR=RED"를 식별하는 것에 응답하여 속성 값 쌍(164) "COLOR=RED"와 연관된 카운트를 점증시킬 수 있다. 마찬가지로, 인기도 모듈(128)은 표제(172) 내에서 식별되는 다른 속성-값 쌍의 식별에 응답하여 다른 카운트를 점증시킬 수 있다. 동작(310)에서, 인기도 모듈(128)은 완료된 리스팅(170)의 표제(172) 내에서 발견된 속성-값 쌍(164) 요소의 쌍과 연관되는 카운트를 점증시킬 수 있다. 예컨대, 인기도 모듈(128)은 표제(172)(가령, "RED APPLE IPHONE FOR SALE) 내에서 식별되는 요소의 제1 쌍에 응답하여 속성 값 쌍(164) 요소의 쌍 "COLOR=RED" 및 "TYPE=CELL PHONE"과 연관된 카운트를 점증시킬 수 있다. 추가의 예에서, 인기도 모듈(128)은 동일한 표제(172)(가령, "RED APPLE IPHONE FOR SALE) 내에서 식별되는 요소의 제2 쌍에 응답하여 속성 값 쌍(164) 요소의 쌍 "COLOR=RED" 및 "BRAND=APPLE"과 연관된 카운트를 점증시킬 수 있다. 마찬가지로, 인기도 모듈(128)은 완료된 리스팅(170)의 표제(172) 내에서 식별되는 속성-값 쌍(164) 요소의 다른 쌍의 식별에 응답하여 다른 카운트를 점증시킬 수 있다. 하나의 실시예에 따르면, 동작(308 및 310)에 기술된 카운트는 새로운 유형의 속성-값 쌍(164)을 발견하는 것에 응답하여 연장되는 X 축 및 Y 축을 갖는 테이블로서 구현될 수 있는데, 테이블의 셀은 표제(172) 내의 속성-값 쌍(164)의 식별 및 표제(172) 내의 속성-값 쌍(164) 요소의 쌍의 식별과 연관된 카운트를 저장하는 데에 활용된다. 예컨대, 백 개의 리스팅(170)을 처리한 후, 카운트의 세트는 다음과 같이 나타날 수 있다:
Figure 112019104865581-pat00001
속성-값 쌍(164)과 그 자신과의 곱사상(intersection)(가령, "COLOR=RED" 및 "COLOR=RED")과 연관된 셀은 속성-값 쌍(162)이 표제(172) 내에서 식별된 횟수를 나타내는 카운트를 저장하는 데에 사용될 수 있다. 속성-값 쌍(164)과 다른 속성-값 쌍(164)과의 곱사상(가령, "COLOR=RED" 및 "BRAND=APPLE")과 연관된 셀은 속성-값 쌍(164)(가령, "COLOR=RED")이 표제(172) 내에서 제2 속성-값 쌍(164)(가령, "BRAND=APPLE")과 함께 식별된 횟수를 나타내는 카운트를 저장하는 데에 사용될 수 있다. 판단 동작(312)에서, 인기도 모듈(128)은 여분의(more) 리스팅(170)이 완료된 리스팅의 세트 내에 존재하는지를 식별할 수 있다. 만일 여분의 리스팅(170)이 식별되면 인기도 모듈(128)은 다음의 리스팅(170)으로 진행하고 동작(306)으로 분기할 수 있다. 그렇지 않으면, 처리는 동작(314)에서 계속된다. 동작(314)에서, 인기도 모듈(128)은 표제 확률 및 결합 확률을 생성할 수 있다. 예컨대, 위의 표는 백 개의 완료된 리스팅이 처리된 후의 카운트를 나타낸다고 가정하자. 인기도 모듈(128)은 다음과 같이 확률을 계산할 수 있다:
Figure 112019104865581-pat00002
속성-값 쌍(164)과 그 자신과의 곱사상(가령, "COLOR=RED" 및 "COLOR=RED")과 연관된 셀은 표제 확률(213)(가령, 속성-값 쌍(164)이 표제(172) 내에서 식별된 횟수를 나타냄)을 저장하는 데에 사용될 수 있다. 속성-값 쌍(164)과 다른 속성-값 쌍(164)과의 곱사상(가령, "COLOR=RED" 및 "BRAND=APPLE")과 연관된 셀은 속성-값 쌍(164)(가령, "COLOR=RED")이 표제(172) 내에서 제2 속성-값 쌍(164)(가령, "BRAND=APPLE")과 함께 식별된 횟수를 나타내는 결합 확률(218)을 저장하는 데에 사용될 수 있다. 동작(316)에서, 인기도 모듈(128)은 위의 계산에 기반하여 인기도 테이블(144)을 생성할 수 있다.
도 8a는 실시예에 따라, 키워드로 구성된 질의 내의 필터 세트를 식별하는 방법(400)을 예시한다. 클라이언트 머신(102)에 의해 수행되는 동작이 좌측에 예시되고, 네트워크 기반 마켓플레이스(106) 내의 프론트엔드 서버(108)에 의해 수행되는 동작이 중앙에 예시되며, 네트워크 기반 마켓플레이스(106) 내의 백엔드 서버(110)에 의해 수행되는 동작이 우측에 예시된다. 방법(400)은 클라이언트 머신(102)이 네트워크(104) 상에서 네트워크 기반 마켓플레이스(106)로 질의를 포함하는 요청을 통신하는 동작(402)에서 시작할 수 있다. 질의는 하나 이상의 키워드를 포함할 수 있다. 예컨대, 클라이언트 머신(102)은 네트워크(104) 상에서 네트워크 기반 마켓플레이스(106)로 요청을 통신하기 전에 질의 또는 질의 단편을 수신하기 위해, 도 2a에 예시된 바와 같이 사용자 인터페이스(40)를, 또는 도 2b에 예시된 바와 같이 사용자 인터페이스(60)를 제시할 수 있다.
동작(404)에서, 통신 모듈(116)은 요청을 수신하고 백엔드 서버(110)에서의 검색 엔진(121)으로 질의를 통신할 수 있다. 동작(406)에서, 검색 엔진(121)은 질의를 수신하고 저장할 수 있다. 동작(408)에서, 검색 엔진(121)은 질의로부터 필터 세트를 추출하는 필터 추출 모듈(122)을 호출할 수 있다. 예컨대, 필터 추출 모듈(122)은 질의로부터 하나 이상의 필터(66)를 식별하고 추출하기 위해 분류 규칙(160)을 활용함으로써 질의를 파싱할 수 있다. 필터 추출 모듈(122)은 동일한 질의로부터 여러 필터 세트를 추출할 수 있다. 예컨대, 필터 추출 모듈(122)은 다음의 네 개의 필터 세트를 식별하기 위해 질의 "RED APPLE IPHONE"을 파싱하는 데에 검색 메타데이터(140)를 활용할 수 있다:
Figure 112019104865581-pat00003
위의 필터 세트 모두는 알맞게 형성되어 있다(well formed). 그럼에도 불구하고, 필터 추출 모듈(122)은 위의 필터 세트로부터 하나의 필터 세트를 인기 있는 것으로서 인기도 테이블(144)에 기반하여 식별할 수 있다. 동작(408)은 도 8b 및 도 8c에 더 기술된다. 동작(410)에서, 필터 추출 모듈(122)은 인기도 테이블(144) 내에서의 필터(66)의 인기도를 특징짓는 확률을 활용함으로써 필터 세트 각각을 채점할 수 있다. 예컨대, 필터 세트는 다음과 같이 채점될 수 있다:
Figure 112019104865581-pat00004
동작(410)은 도 8d에 더 기술된다. 동작(412)에서, 필터 추출 모듈(122)은 최고 점수를 갖는 필터 세트(가령, 질의 개념(64) 또는 필터 콘텍스트(70))를 식별할 수 있다. 동작(414)에서, 필터 추출 모듈(122)은 최고 점수를 갖는 필터 세트에 기반하여 검색 결과를 생성할 수 있다. 예컨대, 필터 추출 모듈(122)은 식별된 필터 세트 내의 필터(66)와 매칭되는, 아이템 테이블(142) 내의 리스팅(170)을 식별함으로써 검색 결과를 생성할 수 있다. 몇몇 경우에, 필터 추출 모듈(122)은 질의 내의 키워드 하나하나를 필터(66)에 맵핑하지(map) 않을 수 있다. 그러한 경우에, 필터 추출 모듈(122)은 최고 점수를 갖는 필터 세트 내의 필터(66) 및 질의 내의 맵핑되지 않은(unmapped) 키워드 양자 모두와 매칭되는, 아이템 테이블(142) 내의 리스팅(170)을 식별할 수 있다. 동작(416)에서, 필터 추출 모듈(122)은 검색 결과 및 최고 점수를 갖는 필터 세트(가령, 개념 질의(64) 또는 필터 콘텍스트(70))를 프론트엔드 서버(108)로 통신할 수 있다. 동작(418)에서, 통신 모듈(116)은 적절한 사용자 인터페이스(가령, 사용자 인터페이스(40) 또는 사용자 인터페이스(60))를 생성하고 사용자 인터페이스를 네트워크(104) 상에서 클라이언트 머신(102)으로 통신할 수 있다. 동작(420)에서, 클라이언트 머신(102)은 인터페이스를 디스플레이할 수 있다.
도 8b는 실시예에 따라, 질의로부터 필터 세트를 추출하는 방법(440)을 예시한다. 방법(440)은 필터 추출 모듈(122)이 검색 메타데이터(140) 내의 제1 도메인 정보(150)로 진행하는 동작(442)에서 시작할 수 있다. 판단 동작(444)에서, 필터 추출 모듈(122)은 특정한 도메인(가령, "Electronic Hand Held Devices"(전자 핸드헬드 디바이스))을 위한 분류 규칙(160)이 질의에 적용될 것인지를 식별하기 위해 도메인 정보(150) 내의 조건 정보(156)를 질의와 비교할 수 있다. 예컨대, 필터 추출 모듈(122)은 도메인 정보(150) 내의 조건 정보(156) 내의 단어(가령, "IPHONE")를 질의 내의 단어(가령, "APPLE IPHONE")와 비교할 수 있다. 만일 조건이 TRUE를 평가하면(가령, 매칭되면), 동작(446)에서 처리가 계속된다. 그렇지 않으면, 판단 동작(452)에서 처리가 계속된다. 동작(446)에서, 필터 추출 모듈(122)은 필터 세트를 식별하기 위해 현재의 도메인(152)과 연관된 분류 규칙(160)이 질의와 매칭되는지를 식별할 수 있다. 다음의 도메인(152)으로 진행하기 전에 여러 필터 세트가 식별될 수 있음이 인식될 것이다. 동작(446)은 도 8c에 더 기술된다. 판단 동작(448)에서, 필터 추출 모듈(122)은 필터 세트가 식별되었는지를 식별할 수 있다. 만일 필터 세트가 식별되었으면 동작(450)에서 처리가 계속된다. 그렇지 않으면, 판단 동작(452)에서 처리가 계속된다. 동작(450)에서, 필터 추출 모듈(122)은 필터 세트를 식별된 것으로서 등록한다. 판단 동작(452)에서, 필터 추출 모듈(122)은 여분의 도메인 정보(150)가 검색 메타데이터(140) 내에 존재하는지를 식별할 수 있다. 만일 여분의 도메인 정보(150)가 검색 메타데이터(140) 내에 존재하면 필터 추출 모듈(122)은 다음의 도메인 정보(150)로 진행할 수 있고 판단 동작(444)에서 처리가 계속된다. 그렇지 않으면, 필터 추출 모듈(122)은 질의로부터 모든 필터 세트를 추출하였을 수 있고 처리는 종료한다.
도 8c는 실시예에 따라, 질의를 분석하는 방법(460)을 예시한다. 방법(460)은 도 8b에 예시된 방법(440)에서 이전에 식별된 바와 같이, 검색 엔진(121) 내의 필터 추출 모듈(122)이 도메인 정보(150) 내의 제1 분류 규칙(160)으로 진행하는 동작(461)에서 시작할 수 있다. 도 8c로 돌아오면, 동작(462)에서, 필터 추출 모듈(122)은 분류 규칙(160)이 사용된 것으로 이전에 등록되었는지(동작(470)을 보시오)를 식별할 수 있다. 만일 분류 규칙(160)이 사용된 것으로 이전에 등록되었으면 판단 동작(472)으로 분기가 행해지고 처리가 계속된다. 그렇지 않으면, 판단 동작(464)에서 처리가 계속된다. 판단 동작(464)에서, 필터 추출 모듈(122)은 매치를 식별하기 위해 분류 규칙(160) 내의 조건 정보(156)를 질의와 비교할 수 있다. 만일 분류 규칙(160) 내의 조건 정보(156)(가령, "IPHONE")가 질의 내의 하나 이상의 키워드(가령, "APPLE IPHONE")와 매칭되면 동작(466)에서 처리가 계속된다. 그렇지 않으면 판단 동작(472)에서 처리가 계속된다. 동작(466)에서, 필터 추출 모듈(122)은 현재의 필터 세트에 필터(66)를 추가할 수 있다. 예컨대, 필터 추출 모듈(122)은 처리되고 있는 필터 세트를 분류 규칙(160)의 보충 정보(162) 내의 필터(66) "TYPE=IPHONE"으로써 보충할 수 있다. 동작(468)에서, 필터 추출 모듈(122)은 현재 처리되고 있는 분류 규칙(160) 내의 조건 정보(156)와 매칭되는 키워드(들)를 질의로부터 제거할 수 있다. 동작(470)에서, 필터 추출 모듈(122)은 현재 처리되고 있는 분류 규칙(160)을 현재 처리되고 있는 도메인(152) 내에서 사용된 것으로서 등록할 수 있다. 판단 동작(472)에서, 필터 추출 모듈(122)은 여분의 분류 규칙(160)이 도메인(152) 내에 존재하는지를 식별할 수 있다. 만일 여분의 분류 규칙(160)이 존재하면 필터 추출 모듈(122)은 다음의 분류 규칙(160)으로 진행할 수 있고 판단 동작(462)에서 처리가 계속된다. 그렇지 않으면, 필터 추출 모듈(122)은 현재의 도메인을 위해 분류 규칙 정보(154)를 활용하여 질의를 분석하는 것의 단일 경과(pass)를 마쳤다.
도 8d는 실시예에 따라, 필터 세트를 채점하는 방법(480)을 예시한다. 방법(480)은 필터 추출 모듈(122)이 제1 필터 세트로 진행하는 동작(482)에서 시작할 수 있다. 필터 추출 모듈(122)은 분류 규칙(160)을 활용함으로써 질의로부터 필터 세트의 세트를 이전에 추출하였음을 상기하시오. 예컨대, 필터 추출 모듈(122)은 다음과 같이 질의 "RED APPLE IPHONE"으로부터 두 개의 필터 세트를 추출하였을 수 있다:
Figure 112019104865581-pat00005
동작(484)에서, 필터 추출 모듈(122)은 현재 처리되고 있는 필터 세트(가령, 제1 필터 세트) 내의 필터(66)(가령, COLOR=RED)를 카운트할 수 있다. 동작(486)에서, 필터 추출 모듈(122)은 현재 처리되고 있는 필터(66)를 위해 확률 테이블(144)로부터 표제 확률(213)을 인출할 수 있다. 예컨대, 필터 추출 모듈(122)은 현재 처리되고 있는 필터(66)(가령, COLOR=RED)와 매칭되는 필터(66)(가령, COLOR=RED)로써 확률 테이블(144) 내의 속성-값 인기도 정보(210) 엔트리를 식별하고 식별된 속성-값 인기도 정보(210) 엔트리로부터 표제 확률(213)을 인출할 수 있다. 동작(488)에서, 필터 추출 모듈(122)은 식별된 속성-값 인기도 정보(210) 내의 제1 필터 쌍 정보(216) 엔트리로 진행할 수 있다. 동작(490)에서, 필터 추출 모듈(122)은 처리되고 있는 필터 쌍 정보(216)로부터 결합 확률(218)을 인출할 수 있다. 판단 동작(492)에서, 필터 추출 모듈(122)은 처리되고 있는 필터(66)의 필터 쌍 정보(216) 내에 여분의 필터 쌍 정보(216) 엔트리가 존재하는지를 식별할 수 있다. 만일 필터 쌍 정보(216)의 다른 엔트리가 존재하면 다음의 필터 쌍 정보(216)를 처리하기 위해 동작(490)으로 분기가 행해진다. 그렇지 않으면, 판단 동작(494)에서 처리가 계속된다. 판단 동작(494)에서, 필터 추출 모듈(122)은 현재 처리되고 있는 필터 세트 내에 여분의 필터(66)(가령, BRAND=APPLE)가 존재하는지를 식별할 수 있다. 만일 여분의 필터(66)가 존재하면 필터 추출 모듈(122)은 동작(484)으로 분기하기 전에 다음의 필터(66)로 진행한다. 그렇지 않으면, 처리는 동작(496)으로 나아간다. 동작(496)에서, 필터 추출 모듈(122)은 현재 처리되고 있는 필터 세트를 위한 점수를 생성할 수 있다. 예컨대, 필터 추출 모듈(122)은 필터 세트 내의 필터의 수, 필터 세트의 표제 확률(213) 및 필터 세트의 결합 확률(218)에 기반하여 점수를 생성할 수 있다.
하나의 실시예에 따르면, 필터 추출 모듈(122)은 순전한 베이지안(native Bayesian) 확률을 활용함으로써 필터 세트를 위한 점수를 생성할 수 있다. 하나의 실시예에 따르면, 필터 추출 모듈(122)은 점수를 생성하기 위해 필터의 카운트 및 확률을 합할 수 있다. 예컨대, 필터 추출 모듈(122)은 점수를 생성하기 위해 필터의 수, 표제 확률 및 결합 확률을 더할 수 있다. 다른 실시예에 따르면, 필터 추출 모듈(122)은 정보를 합하기 전에 각 유형의 정보에 가중치를 적용할 수 있다. 예컨대, 필터 추출 모듈(122)은 필터의 수에 계수(coefficient)를 곱하고, 표제 확률에 계수를 곱하며, 결합 확률에 계수를 곱하되, 이어서 그 세 유형의 정보를 함께 더할 수 있다. 하나의 실시예에 따르면, 계수는 사용자에 의해 구성가능할 수 있다. 하나의 실시예에 따르면, 필터 추출 모듈(122)은 점수를 생성하기 위해 각각의 결과를 곱하기 전에 위에서 기술된 바와 같이 카운트 및 확률에 가중치를 적용할 수 있다. 판단 동작(498)에서, 필터 추출 모듈(122)은 여분의 필터 세트(가령, COLOR=RED, PRODUCT=APPLE IPHONE)가 처리될 것인지를 식별할 수 있다. 만일 여분의 필터 세트가 처리될 것이면 필터 추출 모듈(122)은 동작(484)에서 다음의 필터 세트로 진행한다. 그렇지 않으면, 방법(480)은 종료한다.
도 9a는 실시예에 따라, 필터를 식별하고 제시하는 방법(500)을 예시한다. 클라이언트 머신(102)에 의해 수행되는 동작이 좌측에 예시되고, 네트워크 기반 마켓플레이스(106) 내의 프론트엔드 서버(108)에 의해 수행되는 동작이 중앙에 예시되면, 네트워크 기반 마켓플레이스(106) 내의 백엔드 서버(110)에 의해 수행되는 동작이 우측에 예시된다. 방법(500)은 클라이언트 머신(102)이 네트워크(104) 상에서 네트워크 기반 마켓플레이스(106)로 질의를 포함하는 요청을 통신하는 동작(502)에서 시작할 수 있다. 질의는 하나 이상의 키워드를 포함할 수 있다. 예컨대, 요청을 수신하고 네트워크(104) 상에서 네트워크 기반 마켓플레이스(106)로 통신하기 전에, 클라이언트 머신(102)은 도 2a에 예시된 바와 같이 사용자 인터페이스(40)를, 또는 도 2b에 예시된 바와 같이 사용자 인터페이스(60)를 제시할 수 있다.
동작(504 내지 512)은 도 8a 내의 동작(404 내지 412) 및 도 8b 내지 도 8d 내의 연장된 서술에 대응한다. 따라서, 도 8a 내의 동작(404 내지 412)의 서술 및 도 8b 내지 도 8d 내의 연장된 서술은 도 9a 내의 동작(504 내지 512)에 대해 동일하다. 동작(514)에서, 실시예에 따라, 검색 엔진(121)은 도 3b 내의 사용자 인터페이스(40) 내에 예시되고 기술된 바와 같이, 필터 콘텍스트(70)를 위한 제시 순서를 식별하기 위해 필터 콘텍스트(70)(가령, 제1 복수의 필터)의 형태로 된 필터의 식별된 세트를 활용할 수 있다. 검색 엔진(121)은 인기도 테이블(144)에 기반하여 필터 콘텍스트(70)를 위한 제시 순서를 식별할 수 있다. 예컨대, 검색 엔진(121)은, "COLOR=RED" 및 "BRAND=APPLE" 순서로, 사용자 인터페이스(40)의 상단에서 하단으로, 필터(66) "COLOR=RED" 및 "BRAND=APPLE"이 제시될 것임을 식별할 수 있다. 동작(514)은 도 9b 상의 방법(530)에서 더 기술된다.
도 9a로 돌아오면, 동작(516)에서, 검색 엔진(121)은 도 3b 내의 사용자 인터페이스(40) 내에 예시되고 기술된 바와 같이, 제2 복수의 필터 및 사용자 인터페이스(40) 상에서의 그것의 제시 순서를 필터 제안(72)으로서 식별할 수 있다. 예컨대, 검색 엔진(121)은 가장 인기 있는 제2 복수의 필터(66) 및 그것의 제시 순서를 식별하기 위해(필터는 속성(166)(가령, 필터 이름)을 포함함) 필터 콘텍스트(70) COLOR=RED, BRAND=APPLE로써 필터 이름 모듈(124)을 호출할 수 있다. 필터 이름 모듈(124)은 인기도 테이블(144)에 기반하여 가장 인기 있는 필터 이름 및 그것의 제시 순서를 식별할 수 있다. 동작(516)은 도 9c 내의 방법(540)에서 더 기술된다.
동작(518)에서, 검색 엔진(121)은 필터 콘텍스트(70)에 기반하여 검색 결과를 생성할 수 있다. 예컨대, 검색 엔진(121)은 필터 콘텍스트(70)와 매칭되는 구조화된 정보(176)로써 아이템 테이블(142) 내의 리스팅(170)을 식별함으로써 리스팅(170)의 서술을 포함하도록 검색 결과를 생성할 수 있다. 몇몇 경우에, 검색 엔진(121)은 질의 내의 키워드 하나하나를 필터(66)에 맵핑하지 않을 수 있다. 그러한 경우에, 검색 엔진(121)은 필터 세트 및 남아 있는 키워드 양자 모두와 매칭되는, 아이템 테이블(142) 내의 리스팅(170)을 식별할 수 있다.
동작(520)에서, 검색 엔진(121)은 검색 결과 및 필터 콘텍스트(70)를 프론트엔드 서버(108)로 통신할 수 있다. 동작(522)에서, 통신 모듈(116)은 인터페이스를 생성하고 인터페이스를 네트워크(104) 상에서 클라이언트 머신(102)으로 통신할 수 있다. 예컨대, 실시예에 따라, 통신 모듈(116)은 도 3b 상의 사용자 인터페이스(40)를 생성할 수 있다. 하나의 실시예에 따르면, 통신 모듈(116)은 디스플레이를 위한 사전결정된 수의 필터(66)를 식별하도록 구성될 수 있다. 하나의 실시예에 따르면, 도 3b 상의 사용자 인터페이스(40) 내에 예시된 바와 같이, 통신 모듈(116)은 필터 콘텍스트(70) 및 필터 제안(72) 양자 모두로 구성된 총 다섯 개의 필터를 식별하도록 구성될 수 있다. 예컨대, 통신 모듈(116)은, 다섯이라는 사전결정된 수로써 조합하기 위해, 도 3b 상의 사용자 인터페이스(40) 내에 예시된 바와 같이, 사용자에 의해 선택된 두 개의 필터 및 정렬의 첫 세 개의 행으로부터의 세 개의 필터를 디스플레이를 위해 식별할 수 있다. 또한, 실시예에 따라, 통신 모듈(116)은 상단에서 하단으로의 사용자 인터페이스 상에서의 필터(66)의 순서 및 상단에서 하단으로의 그 각자의 값의 순서를 이전에 기술된 정렬에 기반하여 디스플레이를 위해 식별할 수 있다. 예컨대, 실시예에 따라, 통신 모듈(116)은 도 3b 상의 사용자 인터페이스(40) 내에 예시된 바와 같이 이전에 기술된 정렬에 기반하여 상단에서 하단으로의 사용자 인터페이스 상에서의 필터(66)의 순서 및 상단에서 하단으로의 그 각자의 값의 순서를 디스플레이를 위해 식별할 수 있다.
동작(524)에서, 클라이언트 머신(102)은 인터페이스(가령, 사용자 인터페이스)를 디스플레이할 수 있다.
도 9b는 예시적 실시예에 따라, 필터 콘텍스트(70) 내의 필터의 순서를 식별하는 방법(530)을 예시한다. 방법(530)은 검색 엔진(121)이 필터 콘텍스트(70) 내의 필터(66)와 매칭되는, 인기도 테이블(144) 내의 행을 식별하는 동작(532)에서 시작할 수 있다. 만일, 예컨대, 필터 콘텍스트(70)가 필터(66) "COLOR=RED", "BRAND=APPLE"을 포함하면(가령, 도 3b 내의 사용자 인터페이스(40)) 검색 엔진(121)은 동일한 필터(66)로써 인기도 테이블(144) 내의 두 행(가령, 속성-값 인기도 정보(210))을 식별할 수 있다.
동작(534)에서, 검색 엔진(121)은 표제 확률(213) 및 결합 확률(218)을 최대화하기 위해 속성-값 인기도 정보(210)의 식별된 두 행을 정렬할 수 있다. 예컨대, 검색 엔진(121)은 확률을 최대화하는 행을 식별하는 데에 순전한 베이지안 확률을 활용할 수 있다. 하나의 실시예에 따르면, 검색 엔진(121)은 점수를 생성하고 점수에 기반하여 행을 정렬하기 위해 각각의 행(가령, 속성-값 인기도 정보(210))에 대해 표제 확률(213) 및 결합 확률(218)을 합할 수 있다. 다른 실시예에 따르면, 검색 엔진(121)은 채점하고 정렬하기 전에 각각의 유형의 확률에 가중치를 적용할 수 있다. 예컨대, 검색 엔진(121)은 행 내의 표제 확률에 계수를 곱하고, 행 내의 각각의 동시 발생 확률에 계수를 곱하며, 행을 정렬하는 데에 활용되는 행에 대한 점수를 생성하기 위해 그 두 곱을 함께 더할 수 있다. 하나의 실시예에 따르면, 검색 엔진(121)은 행을 정렬하는 데에 활용되는 행에 대한 점수를 생성하기 위해 그 두 곱을 곱할 수 있다. 하나의 실시예에 따르면, 계수는 사용자에 의해 구성가능할 수 있다.
동작(536)에서, 검색 엔진(121)은 정렬된 행의 순서에 기반하여 필터 콘텍스트(70) 내의 필터(66)의 제시 순서를 식별할 수 있다. 만일, 예컨대, 필터(66) "BRAND=APPLE" 및 "COLOR=RED"에 대응하는 행들이 "COLOR=RED"에 이어서 "BRAND=APPLE"의 순서로(가령, 최고 점수에서 최저 점수로) 정렬되어야 한다면 필터(66)는 최고 점수에 따라 "COLOR=RED" 및 "BRAND=APPLE" 순서로 상단에서 하단으로 사용자 인터페이스 상에 제시된다. 예컨대, 순서 "COLOR=RED" 및 "BRAND=APPLE"은 도 3b 내의 사용자 인터페이스(40) 내에 정렬의 순서에 따라 예시된다.
도 9b로 돌아오면, 동작(538)에서, 검색 엔진(121)은 앞서 언급된 정렬 내의 제1 행으로 진행할 수 있다(가령, 제1 필터(66) "COLOR=RED"에 대응함). 동작(539)에서, 검색 엔진(121)은 필터(66)의 이름 및 필터 콘텍스트(70)로써 필터 값 모듈(126)을 호출함으로써 현재 처리되고 있는 필터(66)(가령, 행)를 위한 값 및 그것의 디스플레이 순서(order of display)를 식별할 수 있다. 동작(539)은 도 9e에 더 기술된다.
판단 동작(541)에서, 검색 엔진(121)은 여분의 행(필터(66))이 정렬 내에 존재하는지를 식별할 수 있다. 만일 여분의 행(필터(66))이 정렬 내에 존재하면, 검색 엔진(121)은 정렬 내의 다음의 행으로 진행하고 동작(539)으로 분기가 행해진다. 그렇지 않으면, 방법(530)은 종료한다.
도 9c는 실시예에 따라, 필터 제안(72) 내의 필터 및 그것의 제시 순서를 식별하는 방법(540)을 예시한다. 방법(540)은 검색 엔진(121)이 필터 콘텍스트(70)로써 필터 이름 모듈(124)을 호출하는 동작(542)에서 시작할 수 있다. 필터 콘텍스트(70)를 수신하는 것에 응답하여, 필터 이름 모듈(124)은 필터 콘텍스트(70) 내의 각각의 필터(66)를 위한 0이 아닌(non-zero) 결합 확률(218)을 포함하는, 인기도 테이블(144)(가령, 속성-값 인기도 정보(210)) 내의 행을 식별할 수 있다. 만일 예컨대 필터 콘텍스트(70)가 필터(66) "COLOR=RED" 및 "BRAND=APPLE"을 포함하면 필터 이름 모듈(124)은 필터(66) "COLOR=RED" 및 "BRAND=APPLE"을 위한 0이 아닌 결합 확률(218)로써 인기도 테이블(144) 내의 행을 식별할 수 있다.
동작(544)에서, 필터 이름 모듈(124)은 동작(534)에서 기술된 바와 같이, 각 행 내의 표제 확률(213) 및 결합 확률(218)을 최대화하기 위해 속성-값 인기도 정보(210)의 식별된 행을 정렬할 수 있다. 동작(546)에서, 필터 이름 모듈(124)은 속성-값 인기도 정보(210)의 정렬된 행으로부터 고유한 필터 이름(가령, 속성(166))의 세트 및 제시 순서를 식별할 수 있다. 예컨대, 도 9d 내의 표 1을 고려하자. 표 1은 표제 확률(213)(도시되지 않음) 및 결합 확률(218)을 최대화하도록 정렬된, 속성-값 인기도 정보(210)의 여섯 개의 행을 포함한다(가령, 행 1이 최대화). 필터 이름 모듈(124)은 표 2를 생성하기 위해 표 1 내에 예시된 행으로부터 중복된 필터 이름(가령, 속성(166))을 갖는 행을 추출할 수 있다. 따라서, 필터 이름 모듈(124)은 어떤 순서로 된 고유한 필터 이름의 세트를 식별할 수 있다.
도 9c로 돌아오면, 동작(548)에서, 검색 엔진(121)은 앞서 언급된 정렬 내의 제1 행으로 진행할 수 있다(가령, 제1 필터(66) "TYPE=CELL PHONE"에 대응함). 동작(550)에서, 검색 엔진(121)은 필터(66)의 이름(가령, 속성(166))(가령, "TYPE") 및 필터 콘텍스트(70)로써 필터 값 모듈(126)을 호출함으로써 현재 처리되고 있는 필터(66)(가령, 행)를 위한 값 및 그것의 디스플레이 순서를 식별할 수 있다. 동작(550)은 도 9e에 더 기술된다.
판단 동작(552)에서, 검색 엔진(121)은 여분의 행(필터(66))이 앞서 언급된 정렬 내에 존재하는지를 식별할 수 있다. 만일 여분의 행(필터(66))이 정렬 내에 존재하면 검색 엔진(121)은 정렬 내의 다음의 행으로 진행하되 동작(550)으로의 분기가 이어진다. 그렇지 않으면, 방법(540)은 종료한다.
도 9e는 필터 이름을 위한 값(168)의 순서화된 세트를 식별하는 방법(560)을 예시한다. 방법(560)은 필터 값 모듈(126)이 필터 이름(가령, 속성(166))(가령, "COLOR") 및 필터(66)의 세트를 수신하는 동작(562)에서 시작할 수 있다. 예컨대, 필터(66)의 세트는 필터 콘텍스트(70) 내의 필터(66) 또는 개념 질의(64)(가령, "COLOR=BLACK", "BRAND=APPLE", "TYPE=IPHONE") 내의 필터(66) 또는 시드 필터 콘텍스트(88)(가령, "BRAND=APPLE", "CARRIER=ATT", "MEMORY=64GB") 내의 필터(66)를 포함할 수 있다. 동작(562)을 계속하면, 필터 값 모듈(126)은 필터 값 모듈(126)에 의해 수신된 필터 이름(가령, "COLOR")과 매칭되는 속성(166)을 포함하는 필터(66)로써 인기도 테이블(144) 내의 행(가령, 속성-값 인기도 정보(210))의 제1 세트를 식별할 수 있다. 만일, 예컨대, 필터 값 모듈(126)에 의해 수신된 필터 이름이 "COLOR"이면, 속성(166) "COLOR"를 갖는 필터(66)를 포함하는 모든 행은 매칭되는 것으로서 식별된다. 예컨대, 실시예에 따라, 도 9f 내의 표 3을 고려하자. 도 9f는 인기도 테이블(144) 내의 속성-값 인기도 정보(210)의 적어도 여섯 개의 행을 예시할 수 있다. 필터 이름 모듈(124)은, 실시예에 따라, 표 4에 예시된 바와 같이, 행의 제1 세트를 생성하기 위해 필터 이름 "COLOR"와 매칭되는 속성(166)을 포함하는 행을 도 9f 내의 표 3으로부터 추출할 수 있다.
도 9e로 돌아가면, 동작(564)에서, 필터 값 모듈(126)은 필터 값 모듈(126)에 의해 수신된 필터(66)의 세트에 기반하여 행의 제1 세트로부터 행의 제2 세트를 식별할 수 있다. 예컨대, 필터 값 모듈(126)은 행의 제1 세트로부터 행의 제2 세트를 식별할 수 있는데 여기서 각각의 행은 필터 값 모듈(126)에 의해 수신된 필터(66)의 세트 내의 필터(66)에 대응하는 0이 아닌 결합 확률(218)을 포함한다. 예컨대, 필터 값 모듈(126)이 필터(66) "COLOR=BLACK", "BRAND=APPLE", "TYPE=IPHONE"의 세트를 수신하였다고 가정하자. 필터 값 모듈(126)은 실시예에 따라, 도 9g의 표 5 내에 예시된 바와 같이, 행 5 및 행 6을 식별할 수 있는데, 두 행 모두 필터(66) "BRAND=APPLE" 및 필터(66) "TYPE=IPHONE"에 대해 0이 아닌 결합 확률(218)을 포함하고 있기 때문이다. 도 9f 내의 표 4로부터의 행 1은 그것이 0이라는 속성-값 쌍(164) "BRAND=APPLE"에 대한 결합 확률(218)을 포함하였으므로 결과 내에 포함되지 않았음에 유의하시오.
도 9e로 돌아오면, 동작(566)에서, 필터 값 모듈(126)은 표제 확률(213) 및 결합 확률(218)을 최대화하도록 속성-값 인기도 정보(210)의 식별된 행을 정렬할 수 있다. 예컨대, 필터 값 모듈(126)은 확률(213, 218)을 최대화하는 행을 식별하기 위해 순전한 베이지안 확률을 활용할 수 있다. 하나의 실시예에 따르면, 필터 값 모듈(126)은 점수를 생성하고 점수에 기반하여 행을 정렬하기 위해 각각의 행(가령, 속성-값 인기도 정보(210))에 대해 표제 확률(213) 및 결합 확률(218)을 합할 수 있다. 다른 실시예에 따르면, 필터 값 모듈(126)은 채점하고 정렬하기 전에 각각의 유형의 확률에 가중치를 적용할 수 있다. 예컨대, 필터 값 모듈(126)은 행 내의 표제 확률(213)에 계수를 곱하고, 행 내의 각각의 결합 확률(218)에 계수를 곱하며, 행을 정렬하는 데에 활용되는 행에 대한 점수를 생성하기 위해 그 곱들을 함께 더할 수 있다. 하나의 실시예에 따르면, 필터 값 모듈(126)은 행을 정렬하는 데에 활용되는 행에 대한 점수를 생성하기 위해 그 곱들을 함께 곱할 수 있다. 하나의 실시예에 따르면, 계수는 사용자에 의해 구성가능할 수 있다. 동작(568)에서, 필터 값 모듈(126)은 필터 값의 순서를 식별할 수 있다. 예컨대, 필터 값의 순서는 동작(566) 내의 정렬의 결과에 기반하여 식별될 수 있다(가령 제1 행 = 가장 높은 점수, 제2 행 = 두 번째로 가장 높은 점수).
도 10a는 실시예에 따라, 선택된 필터를 위한 값(168)을 식별하는 방법(600)을 예시한다. 클라이언트 머신(102)에 의해 수행되는 동작이 좌측에 예시되고, 네트워크 기반 마켓플레이스(106) 내의 프론트엔드 서버(108)에 의해 수행되는 동작이 중앙에 예시되며, 네트워크 기반 마켓플레이스(106) 내의 백엔드 서버(110)에 의해 수행되는 동작이 우측에 예시된다. 방법(600)을 시작하기 전에, 네트워크 기반 마켓플레이스(106)는 도 4a에 예시된 바와 같이, 사용자 인터페이스(60)를 생성하기 위해 개념 질의(64)(가령, "COLOR=RED", "BRAND=APPLE" 및 "TYPE=IPHONE") 내의 필터 "COLOR=RED"의 선택을 처리할 수 있다. 사용자 인터페이스(60)는 색(가령, 값(168)) "RED", "BLACK", "BLUE", "YELLOW" 및 "PURPLE"의 세트를 제시하는 값 패널(76)을 보여주도록 도시된다.
방법(600)은 클라이언트 머신(102)이 필터(66)(가령, "COLOR=BLACK")를 식별하는 선택을 포함하는 요청을 수신하고 네트워크(104) 상에서 네트워크 기반 마켓플레이스(106)로 통신하는 동작(602)에서 시작할 수 있다. 예컨대, 도 4a 및 도 10a에 예시된 바와 같이, 사용자는 사용자 인터페이스(60)의 값 패널(76)로부터 "BLACK"을 선택할 수 있는데 이는 필터(66) "COLOR=BLACK"을 식별하고 클라이언트 머신(102)으로 하여금 제1 속성-값 쌍(164) "COLOR=BLACK"을 포함하는 요청을 네트워크 기반 마켓플레이스(106)로 통신하게 한다.
동작(604)에서, 네트워크 기반 마켓플레이스(106)에서, 프론트엔드 서버(108)에서의 통신 모듈(116)은 선택을 수신하고 백엔드 서버(110)로 통신할 수 있다. 동작(606)에서, 백엔드 서버(110)에서의 검색 엔진(121)은 선택을 수신할 수 있다. 동작(608)에서, 검색 엔진(121)은 필터(66)의 이름(가령, 속성(166))(가령, "COLOR") 및 개념 질의(가령, "COLOR=BLACK", "BRAND=APPLE" 및 "TYPE=IPHONE")로써 필터 값 모듈(126)을 호출함으로써 필터(66)(COLOR=BLACK)을 위한 값 및 그것의 디스플레이 순서를 식별할 수 있다. 필터 값 모듈(126)은 필터 이름 "COLOR"를 위한 값 및 그것의 제시의 순서를 개념 질의(64)에 기반하여 식별할 수 있다. 예컨대, 필터 값 모듈(126)은 다음과 같이 복수의 필터를 식별하고, 순서화하며, 회신할 수 있다: 복수의 값 "BLUE", "YELLOW", "PURPLE", "GREEN" 등등을 각각 포함하는 "COLOR=BLUE", "COLOR=YELLOW", "COLOR=PURPLE", "COLOR=GREEN" 등등. 동작(608)은 도 9e에 더 기술될 수 있다.
동작(610)에서, 검색 엔진(121)은 개념 질의(64) "COLOR=BLACK", "BRAND=APPLE" 및 "TYPE=IPHONE"에 기반하여, 이전에 기술된 바와 같이, 검색 결과를 생성할 수 있다. 동작(612)에서, 검색 엔진(121)은 검색 결과 및 복수의 필터(가령, "COLOR=BLUE", "COLOR=YELLOW", "COLOR=PURPLE", "COLOR=GREEN")를 프론트엔드 서버(108)에 통신할 수 있다.
동작(614)에서 프론트엔드 서버(108)는 제1 복수의 필터 값 및 개념 질의(64)에 기반하여 사용자 인터페이스(가령, 사용자 인터페이스(60))를 생성할 수 있다. 예컨대, 개념 질의(64)는 필터(66) "COLOR=BLACK", "BRAND APPLE" 및 "TYPE=IPHONE"을 포함하도록 업데이트될 수 있다. 도 4b에 예시된 바와 같이, 값 패널(76) 내의 값에 대해 이미지(78)가 식별되고 사용자 인터페이스가 생성될 수 있다. 동작(614)에서, 통신 모듈(116)은 인터페이스를 생성할 수 있다. 예컨대, 통신 모듈(116)은 도 4b에 예시된 바와 같이 사용자 인터페이스(60)를 생성할 수 있다. 동작(614)은 도 10b에 더 기술된다. 동작(616)에서, 클라이언트 머신(102)은 사용자 인터페이스를 수신하고 디스플레이할 수 있다.
도 10b는 실시예에 따라, 필터 값 및 이미지를 포함하는 인터페이스를 생성하는 방법(700)을 예시한다. 방법(700)은 통신 모듈(116)이 선택된 필터(66)를 위한 이미지(78)를 식별하는 동작(702)에서 시작할 수 있다. 예컨대, 통신 모듈(116)은 선택된 필터(66) "COLOR=BLACK", 그리고 개념 질의(64) 내의 다른 필터(66) "BRAND=APPLE", "TYPE=IPHONE"과 매칭되는 속성-값 쌍(164)을 포함하는 이미지 테이블(220) 내의 이미지 정보(222)를 식별할 수 있다. 매치를 식별하는 것에 응답하여, 통신 모듈(116)은 연관된 이미지(78)(가령, 검은 애플 아이폰)를 인출할 수 있다.
동작(706)에서, 통신 모듈(116)은 제1 필터(66)를 식별할 수 있다. 예컨대, 통신 모듈(116)은 필터 값 모듈(126)에 의해 이전에 식별된, 속성-값 인기도 정보(210)의 행 중의 제1 행(가령, 가장 높은 정렬된 우선순위)(행1 - "COLOR=BLUE")을 식별할 수 있다. 도 9e에 기술된 바와 같이, 필터 값 모듈(126)은 각각의 행이 필터(66)에 대응하는 속성-값 인기도 정보(210)의 행의 세트를 식별하였고 정렬하였음을 상기하시오.
도 10b로 돌아오면, 동작(710)에서, 통신 모듈(116)은 처리되고 있는 필터(66) 및 개념 질의(64) 내의 다른 필터(66)를 위한 이미지(78)를 식별할 수 있다. 예컨대, 통신 모듈(116)은 개념 질의(64) "BRAND=APPLE", "TYPE=IPHONE" 및 현재의 필터(가령, "COLOR=BLUE")와 매칭되는 속성-값 쌍(164)을 포함하는, 이미지 테이블(220) 내의 이미지 정보(222)를 식별할 수 있다.
판단 동작(712)에서, 통신 모듈(116)은 사전결정된 임계(threshold)에 기반하여 여분의 필터(66)(가령, 행)가 처리될 것인지를 식별할 수 있다. 예컨대, 도 4b에 예시된 바와 같이, 사전결정된 임계는 5일 수 있다(가령, "COLOR=BLACK", "COLOR=BLUE", "COLOR=YELLOW", "COLOR=PURPLE", "COLOR=GREEN"). 만일 여분의 필터(66)가 사용자 인터페이스 상에 디스플레이될 것이면 처리는 판단 동작(714)에서 다음의 필터(66)(가령, 행)로써 계속된다. 그렇지 않으면, 동작(716)에서 처리가 계속된다. 동작(716)에서, 통신 모듈(116)은 검색 결과, 필터(66)를 위한 값, 필터(66)와 연관된 이미지(78), 그리고 개념 질의(64)에 기반하여 인터페이스를 생성할 수 있다. 예컨대, 통신 모듈(116)은 도 4b 상에 예시된 바와 같이 사용자 인터페이스(60)를 생성할 수 있다.
도 10c는 실시예에 따라, 검색을 시드하는 방법(800)을 예시한다. 클라이언트 머신(102)에 의해 수행되는 동작이 좌측에 예시되고, 네트워크 기반 마켓플레이스(106) 내의 프론트엔드 서버(108)에 의해 수행되는 동작이 중앙에 예시되며, 네트워크 기반 마켓플레이스(106) 내의 백엔드 서버(110)에 의해 수행되는 동작이 우측에 예시된다. 방법(800)은 클라이언트 머신(102)이 리스팅(170)을 시드 리스팅(90)으로서 식별하는 선택을 포함하는 메시지를 네트워크 기반 마켓플레이스(106)로 통신하는 동작(802)에서 시작할 수 있다. 예컨대, 클라이언트 머신(102)은 리스팅(170)을 시드 리스팅(90)으로서 식별하는 메시지 선택을 수신하고 메시지를 네트워크(104) 상에서 네트워크 기반 마켓플레이스(106)로 통신하기 위해 도 1e에 예시된 바와 같이, 사용자 인터페이스(33)를 제시할 수 있다. 동작(804)에서, 통신 모듈(116)은 메시지를 수신하고 백엔드 서버(110)에서의 검색 엔진(121)으로 메시지를 통신한다. 동작(805)에서, 검색 엔진(121)은 메시지를 수신하고 아이템 테이블(142) 내의 리스팅(170)을 시드 리스팅(90)으로서 식별한다.
동작(806)에서, 시드 모듈(130)은 시드 필터 콘텍스트(88)를 식별한다. 시드 모듈(130)은 시드 리스팅(90)으로부터 추출되는 카테고리(184)(가령, CATEGORY=COMPUTER)에 기반하여 시드 필터 콘텍스트(88)를 식별할 수 있다. 추가로, 시드 모듈(130)은 시드 필터 콘텍스트(88)를 식별하기 위해 기존의 제한을 활용할 수 있다. 기존의 제한은 시드 리스팅(90)의 선택 전에 검색 결과를 식별하는 데에 활용되는 제한이다. 예컨대, 기존의 제한은 질의(가령, "IPAD AIR"), 필터 콘텍스트(가령, "TYPE=IPAD", "BRAND=APPLE"), 그리고 필터 제안(72)으로부터 선택된 필터(들)(가령, SHIPPING=STANDARD)를 포함할 수 있다. 따라서, 시드 모듈(130)은 속성(166)(가령, 필터 이름)을 포함하는 필터(66)로써, 가장 인기 있는 복수의 필터(66) 및 그것의 제시의 순서를 식별하기 위해 시드 리스팅(90)으로부터의 카테고리(가령, CATEGORY=COMPUTER), 필터 콘텍스트(70)로부터의 필터(66)(가령, "TYPE=IPAD", "BRAND=APPLE"), 그리고 필터 제안(72)으로부터 선택된 하나 이상의 필터(66)(가령, SHIPPING=STANDARD)로써 필터 이름 모듈(124)을 호출함으로써 시드 필터 콘텍스트(88)를 식별할 수 있다.
필터 이름 모듈(124)은 인기도 테이블(144)에 기반하여 가장 인기 있는 필터 이름(166) 및 그것의 제시의 순서를 식별한다. 시스템(32)은 시드 리스팅(90)으로부터의 하나 이상의 카테고리, 기존의 제한 내의 필터(66), 그리고 네트워크 기반 마켓플레이스(110) 상에서 이전에 거래된 아이템을 서술하는 리스팅(170)(가령, 완료된 리스팅(170)) 내의 속성-값 쌍(가령, 필터)의 발생을 서술하는 확률에 기반하여 시드 필터 콘텍스트(88) 내의 필터(66) 및 그것의 제시 순서를 식별할 수 있다. 즉, 시드 필터 콘텍스트(88) 내의 각각의 필터(66) 및 그것의 제시 순서는 필터(66)가, 속성 값-쌍(164)으로서, 완료된 리스팅(170) 내에 발생하는 확률에, 그리고 필터(66)가, 속성-값 쌍(164)으로서, 기존의 제한 내의 필터(66) 및 시드 리스팅(90)으로부터의 하나 이상의 카테고리 각각과 함께 완료된 리스팅(170) 내에 동시 발생하는 확률에 기반하여 판정될 수 있다. 시드 모듈(130)은 도 4c 내의 사용자 인터페이스(35) 내에 예시되고 기술된 바와 같이, 복수의 필터(66) 및 사용자 인터페이스(40) 상에서의 그것의 제시의 순서를 시드 필터 콘텍스트(88)로서 식별할 수 있다. 동작(806)은 도 10d 내의 방법(840)에서 더 기술된다. 본 예에서, 방법(840)은 값(168)으로써 초기화되지 않은 필터(66)(가령, "BRAND=", "CARRIER=", "MEMORY=")를 갖는 시드 필터 콘텍스트(88)를 회신한다. 다른 예에서, 시드 리스팅(90)은 필터 이름 모듈(124)에 전달되는 하나보다 많은 카테고리를 포함할 수 있다. 하나의 실시예에서, 여러 시드 리스팅(90)의 선택은 여러 시드 필터 콘텍스트(88)를 생성하기 위해 필터 이름 모듈(124)의 반복적인 호출을 야기한다.
동작(807)에서, 시드 모듈(130)은 시드 필터 콘텍스트(88)의 속성(166)에 기반하여 시드 리스팅(90)으로부터 값(168)을 추출한다. 예컨대, 시드 모듈(130)은 식별된 값(168)(가령, "APPLE", "ATT", "64 GB")을 추출하기 위해 시드 리스팅(90)의 구조화된 정보(176)(가령, "BRAND=APPLE") 내의 매칭되는 속성(166)으로써 필터(66)를 식별하는 데에 시드 필터 콘텍스트(88) 내의 비초기화된 필터(66)(가령, "BRAND=", "CARRIER=", "MEMORY=")의 속성(166)을 활용한다.
동작(808)에서, 시드 모듈(130)은 시드 리스팅(90)으로부터 추출된 값(가령, "APPLE", "ATT", "64 GB")으로써 시드 필터 콘텍스트(88) 내의 필터 "BRAND=", "CARRIER=", "MEMORY=" 각각을 초기화한다. 예컨대, 시드 모듈(130)은 필터 "BRAND=", "CARRIER=", "MEMORY=" 각각을 "BRAND=APPLE", "CARRIER=ATT" 및 "MEMORY=64 GB"로 초기화한다.
동작(810)에서, 시드 모듈(130)은 사용자 인터페이스(35) 내의 제시를 위한 필터(66)의 세트의 형태로 된 시드 필터 제안(92)을 식별한다. 시스템(32)은 시드 필터 콘텍스트(88)와, 네트워크 기반 마켓플레이스(110) 상에서 이전에 거래된 아이템을 서술하는 리스팅(170)(가령, 완료된 리스팅(170)) 내의 속성-값 쌍(가령, 필터)의 발생을 서술하는 확률에 기반하여 시드 필터 제안(92) 내의 필터(66) 및 그것의 제시 순서를 식별할 수 있다. 즉, 시드 필터 제안(92) 내의 각각의 필터(66) 및 그것의 제시 순서는 필터(66)가, 속성 값-쌍(164)으로서, 완료된 리스팅(170) 내에 발생하는 확률에, 그리고 필터(66)가, 속성-값 쌍(164)으로서, 시드 필터 콘텍스트(88) 내의 다른 필터(66) 각각과 함께 완료된 리스팅(170) 내에 동시 발생하는 확률에 기반하여 판정될 수 있다. 시드 모듈(130)은 도 4c 내의 사용자 인터페이스(35) 내에 예시되고 기술된 바와 같이, 복수의 필터(66)와, 사용자 인터페이스(40) 상에서의 그것의 제시의 순서를 시드 필터 제안(92)으로서 식별할 수 있다. 예컨대, 시드 모듈(130)은 속성(166)(가령, 필터 이름)을 포함하는 필터로써, 가장 인기 있는 복수의 필터(66) 및 그것의 제시의 순서를 식별하기 위해 시드 필터 콘텍스트(88) "BRAND=APPLE", "CARRIER=ATT" 및 "MEMORY=64GB"로써 필터 이름 모듈(124)을 호출할 수 있다. 필터 이름 모듈(124)은 인기도 테이블(144)에 기반하여 가장 인기 있는 필터 이름 및 그것의 제시의 순서를 식별할 수 있다. 동작(516)은 도 10e 내의 방법(940)에서 더 기술된다.
동작(812)에서, 시드 모듈(130)은 리스팅(170)을 식별하기 위해 아이템 테이블(142)을 검색함으로써 검색 결과를 생성한다. 예컨대, 시드 모듈(130)은 기존의 제한 및 시드 아이템 제한에 매칭되는 리스팅(170)을 식별한다. 기존의 제한은 질의(가령, "IPAD AIR"), 필터 콘텍스트(70)(가령, "TYPE=IPAD", "BRAND=APPLE"), 그리고 필터 제안으로부터 선택된 필터(66)(가령, "SHIPPING=STANDARD)를 포함함을 상기하시오. 시드 모듈(130)은 기존의 제한 내의 질의를 리스팅(170) 내의 비구조화된 정보와, 그리고 필터 콘텍스트(70) 내의 필터(66) 및 필터 제안(72) 내의 필터(66)를 리스팅(170) 내의 구조화된 정보(176)와 매칭시킨다. 시드 아이템 제한은 시드 필터 콘텍스트(88)(가령, "BRAND=APPLE", "CARRIER=ATT", "MEMORY=64 GB")와, 시드 필터 제안으로부터 선택된 필터(들)(66)(가령, "CONDITION=NEW)를 포함할 수 있다. 시드 모듈(130)은 시드 아이템 제한을 리스팅(170) 내의 구조화된 정보(176)와 매칭시킨다. 몇몇 실시예는 여러 시드 리스팅(90)을 활용함을 상기하시오. 그러한 사례에서, 시드 아이템 제한은 각각의 시드 리스팅(90)을 위한 시드 필터 콘텍스트(88)와, 여러 시드 필터 제안으로부터 선택된 필터(66)를 포함한다.
시드 모듈(130)은 아이템 유사도 순위에 따라 검색 결과를 정렬한다. 아이템 유사도 순위는 시드 리스팅(들)과 가장 유사한 것부터 시드 리스팅(들)과 가장 덜 유사한 것으로 검색 결과 내의 리스팅을 순서화한다. 몇몇 실시예에서, 사용자는 정렬을 위한 하나 이상의 추가적인 기준을 제공할 수 있다. 그러한 사례에서, 시드 모듈(130)은 시드 리스팅과 가장 유사한 것으로서 식별되는, 검색 결과의 부분을 선택하고 선택된 기준에 따라 검색 결과의 선택된 부분을 정렬한다.
동작(814)에서, 시드 모듈(130)은 검색 결과의 인터페이스 정보를 프론트엔드 서버(108)로 통신한다. 인터페이스 정보는 사용자 인터페이스(35) 또는 사용자 인터페이스(94)를 생성하기 위한 임의의 정보를 포함할 수 있다. 동작(816)에서, 통신 모듈(116)은 인터페이스 정보를 수신하고 네트워크(104) 상에서 클라이언트 머신(102)으로 통신한다. 하나의 실시예에 따르면, 통신 모듈(116)은 시드 필터 콘텍스트(88) 및 시드 필터 제안(92) 내의 사전결정된 수의 필터(66)를 식별하도록 구성된다. 하나의 실시예에 따르면, 통신 모듈(116)은 도 4c 상의 사용자 인터페이스(350) 내에 예시된 바와 같이, 시드 필터 콘텍스트(88) 및 시드 필터 제안(92) 양자 모두로 구성된 총 다섯 개의 필터를 식별하도록 구성된다. 동작(818)에서, 클라이언트 머신(102)은 인터페이스 정보를 수신하고 인터페이스 정보를 활용하여 인터페이스(가령, 사용자 인터페이스)를 디스플레이하거나 업데이트한다. 예컨대, 인터페이스 정보는 클라이언트 머신(102)에서 사용자 인터페이스를 디스플레이하거나 클라이언트 머신(102)에서 사용자 인터페이스를 업데이트하는 데에 활용될 수 있다. 인터페이스 정보는 도 4c 상에 도시된 바와 같이 사용자 인터페이스(35)를, 또는 도 4d 상에 도시된 바와 같이 사용자 인터페이스(94)를 디스플레이하거나 업데이트하는 데에 활용될 수 있다. 다른 실시예에서 인터페이스 정보는 사용자 인터페이스(사용자 인터페이스(35), 사용자 인터페이스(94))를 클라이언트 머신(102)으로 통신하기 전에 사용자 인터페이스를 생성하기 위해 프론트 엔드 서버(108)에 의해 활용될 수 있다.
도 10d는 실시예에 따라, 시드 필터 콘텍스트(72) 내의 필터(66) 및 그것의 제시 순서를 식별하는 방법(840)을 예시한다. 방법(840)은 시드 모듈(130)이 시드 리스팅(90)의 하나 이상의 카테고리(194) 및 기존의 제한으로부터의 필터(66)로써 필터 이름 모듈(124)을 호출하는 동작(842)에서 시작한다. 기존의 제한은 때때로 존재하지 않을 수 있음을 상기하시오. 본 예에서, 카테고리는 "CATEGORY=COMPUTER"이고 기존의 제한으로부터의 필터(66)는 필터 콘텍스트(70) 내의 필터(66)(가령, "TYPE=IPAD", "BRAND=APPLE") 및 필터 제안으로부터 선택된 필터(66)(가령, SHIPPING=STANDARD)를 포함한다. 카테고리(194) 및 기존의 제한을 수신하는 것에 응답하여, 필터 이름 모듈(124)은 필터 이름 모듈(124)에 전달된 필터(66)(가령, "CATEGORY=COMPUTER", "TYPE=IPAD", "BRAND=APPLE" 및 "SHIPPING=STANDARD") 각각에 대해 0이 아닌 결합 확률(218)을 포함하는, 인기도 테이블(144)(가령, 속성-값 인기도 정보(210)) 내의 행을 식별할 수 있다. 만일, 예컨대, 필터 이름 모듈(124)에 전달된 필터(66)가 "CATEGORY=COMPUTER", "TYPE=IPAD", "BRAND=APPLE" 및 "SHIPPING=STANDARD"를 포함하면, 필터 이름 모듈(124)은 필터(66) "CATEGORY=COMPUTER", "TYPE=IPAD", "BRAND=APPLE" 및 "SHIPPING=STANDARD"에 대한 0이 아닌 결합 확률(218)로써 인기도 테이블(144) 내의 행을 식별할 수 있다.
동작(844)에서, 필터 이름 모듈(124)은 각각의 행 내의 표제 확률(213) 및 결합 확률(218)을 최대화하기 위해 속성-값 인기도 정보(210)의 식별된 행을 정렬한다(최대화하는 것은 도 9b 내의 동작(534)에 기술됨). 동작(846)에서, 필터 이름 모듈(124)은 고유한 필터 이름(가령, 속성(166))의 세트 및 제시 순서를 속성-값 인기도 정보(210)의 정렬된 행으로부터 식별한다. 예컨대, 도 10f 내의 표 6을 고려하자. 표 6은 표제 확률(213)(도시되지 않음) 및 결합 확률(218)을 최대화하도록 정렬된, 속성-값 인기도 정보(210)의 여섯 개의 행을 포함한다(가령, 행 1이 최대화). 각각의 행은 필터(66)에 대응한다. 각각의 필터(66)는 속성(가령, 필터 이름)(166), 값(168)(결합 확률(218)과 연관이 됨)을 포함한다. 필터 이름 모듈(124)은 도 10g 내의 표 7을 생성하기 위해 표 6 내에 예시된 행으로부터 중복된 필터 이름(가령, 속성(166))을 갖는 행을 추출할 수 있다. 표 7은 표 6에 관해서 기술된 것과 동일한 요소를 포함한다(가령, 필터(66), 결합 확률(218)). 따라서, 필터 이름 모듈(124)은 어떤 순서로 된 고유한 필터 이름의 세트를 식별할 수 있다.
도 10d로 돌아오면, 동작(848)에서, 시드 모듈(130)은 시드 필터 콘텍스트(88)의 형태로 값(168) 없이 속성(166)을 포함하는 필터(66)의 세트를 회신한다. 본 예에서, 표 6 및 표 7에서 활용된 예에도 불구하고, 필터 이름 모듈(124)은 비초기화된 필터(66) "BRAND=", "CARRIER=" 및 "MEMORY="를 갖는 시드 필터 콘텍스트(88)를 회신한다.
도 10e는 실시예에 따라, 시드 필터 제안(92) 내의 필터 및 그것의 제시 순서를 식별하는 방법(940)을 예시한다. 방법(940)은 시드 모듈(130)이 시드 필터 콘텍스트(88)로써 필터 이름 모듈(124)을 호출하는 동작(942)에서 시작한다. 시드 필터 콘텍스트(88)를 수신하는 것에 응답하여, 필터 이름 모듈(124)은 시드 필터 콘텍스트(88) 내의 필터(66) 각각에 대해 0이 아닌 결합 확률(218)을 포함하는, 인기도 테이블(144)(가령, 속성-값 인기도 정보(210)) 내의 행을 식별한다. 만일, 예컨대, 시드 필터 콘텍스트(88)가 필터(66) "BRAND=APPLE", "CARRIER=ATT" 및 "MEMORY=64GB"를 포함하면, 필터 이름 모듈(124)은 필터(66) "BRAND=APPLE", "CARRIER=ATT" 및 "MEMORY=64GB"에 대한 0이 아닌 결합 확률(218)로써 인기도 테이블(144) 내의 행을 식별할 수 있다.
동작(944)에서, 필터 이름 모듈(124)은 각각의 행 내의 표제 확률(213) 및 결합 확률(218)을 최대화하기 위해 속성-값 인기도 정보(210)의 식별된 행을 정렬한다(최대화하는 것은 도 9b 내의 동작(534)에 기술됨). 동작(946)에서, 필터 이름 모듈(124)은 속성-값 인기도 정보(210)의 정렬된 행으로부터 고유한 필터 이름(가령, 속성(166)) 및 제시 순서를 식별한다. 예컨대, 도 10h 내의 표 8을 고려하자. 표 8은 표제 확률(213)(도시되지 않음) 및 결합 확률(218)을 최대화하도록 정렬된, 속성-값 인기도 정보(210)의 여섯 개의 행을 포함한다(가령, 행 1이 최대화). 표 8은 표 6 내에 기술된 것과 동일한 요소를 포함한다(가령, 필터(66), 결합 확률(218)). 필터 이름 모듈(124)은 도 10i 상의 표 9를 생성하기 위해 표 8 내에 예시된 행으로부터 중복된 필터 이름(가령, 속성(166))을 갖는 행을 추출할 수 있다. 표 9는 표 6 내에 기술된 것과 동일한 요소를 포함한다(가령, 필터(66), 결합 확률(218)). 따라서, 필터 이름 모듈(124)은 어떤 순서로 된 고유한 필터 이름의 세트를 식별할 수 있다.
도 10e로 돌아오면, 동작(946)에서, 시드 모듈(121)은 앞서 언급된 정렬 내의 제1 행으로 진행한다(가령, 제1 필터(66)(가령, "TYPE=CELL PHONE")에 대응함). 동작(950)에서, 시드 모듈(130)은 필터(66)의 이름(가령, 속성(166))(가령, "TYPE") 및 시드 필터 콘텍스트(88)로써 필터 값 모듈(126)을 호출함으로써 현재 처리되고 있는 필터(66)(가령, 행)를 위한 값(168) 및 그것의 디스플레이 순서를 식별한다. 동작(950)은 도 9e에 더 기술된다.
도 10e로 돌아오면, 판단 동작(952)에서, 시드 모듈(121)은 여분의 행(필터(66))이 앞서 언급된 정렬 내에 존재하는지를 식별한다. 만일 여분의 행(필터(66))이 정렬 내에 존재하면, 시드 모듈(121)은 정렬 내의 다음의 행으로 진행하되 동작(950)으로의 분기가 이어진다. 그렇지 않으면, 방법(940)은 종료한다.
도 11은 실시예에 따라, 네트워크 아키텍처(1100)를 예시한다. 네트워킹된 시스템(networked system)(1102)은, 네트워크 서버측 기능(network-server-side functionality)의 예시적 형태로 된 것으로서, 통신 네트워크(1104)(가령, 인터넷, 무선 네트워크, 셀룰러 네트워크, 또는 광역 네트워크(Wide Area Network: WAN))를 통하여 하나 이상의 클라이언트 디바이스(1110 및 1112)에 커플링된다. 네트워킹된 시스템(1102)은 도 5 내의 시스템(100)에 대응하고, 통신 네트워크(1104)는 도 5 내의 네트워크(104)에 대응하며, 클라이언트 디바이스(1110 및 1112)는 도 5 내의 클라이언트 머신(102)에 대응하는바, 따라서, 달리 나타내어지지 않는 한 동일하거나 유사한 특징을 나타내는 데에 동일하거나 유사한 참조번호가 사용되었다. 도 11은, 예컨대, (가령, 워싱턴주 레드먼드(Redmond, Washington State)의 마이크로소프트 사(Microsoft® Corporation)에 의해 개발된 인터넷 익스플로러 브라우저(Internet Explorer® browser)와 같은) 브라우저를 통하여 동작하는 웹 클라이언트(web client)(1106), 그리고 각 클라이언트 디바이스(1110 및 1112) 상에서 실행되는 프로그램적 클라이언트(programmatic client)(1108)를 예시한다.
네트워크 아키텍처(1100)는 이 문헌에 기술된 방법 중 임의의 것을 실행하는 데에 활용될 수 있다. 클라이언트 디바이스(1110 및 1112)는 사용자가 네트워킹된 시스템(1102)을 액세스하는 데에 활용할 수 있는 모바일 전화(mobile phone), 데스크톱 컴퓨터(desktop computer), 랩톱(laptop), 또는 임의의 다른 통신 디바이스를 포함할 수 있다. 몇몇 실시예에서, 클라이언트 디바이스(1110)는 (가령, 사용자 인터페이스의 형태로 된) 정보를 디스플레이하는 디스플레이 모듈(도시되지 않음)을 포함할 수 있다. 추가의 실시예에서, 클라이언트 디바이스(1110)는 터치 스크린(touch screen), 가속도계(accelerometer), 카메라, 마이크(microphone) 및 GPS 디바이스 중 하나 이상을 포함할 수 있다. 클라이언트 디바이스(1110 및 1112)는 네트워킹된 시스템(1102) 내에서 디지털 상품을 수반하는 거래를 수행하는 데에 사용되는 사용자의 디바이스일 수 있다. 하나의 실시예에서, 네트워킹된 시스템(1102)은 디지털 상품을 관리하고, 네트워크 기반 마켓플레이스 상에서 이용가능한 제품의 아이템 리스팅을 포함하는 게시물을 발행하며, 이들 마켓플레이스 거래를 위한 결제를 관리하는 네트워크 기반 마켓플레이스이다. 추가적으로, 외부 사이트(1128, 1128')는 네트워킹된 시스템(1102)에 네트워크(1104)를 통하여 커플링된 사이트일 수 있다. 외부 사이트는 전자상거래(ecommerce) 시스템을 포함하는 임의의 요망되는 시스템일 수 있다.
애플리케이션 프로그램 인터페이스(Application Program Interface: API) 서버(1114) 및 웹 서버(1116)는 하나 이상의 애플리케이션 서버(1118)에 커플링되고, 하나 이상의 애플리케이션 서버(1118)에 각각 프로그램적 인터페이스 및 웹 인터페이스를 제공한다. 애플리케이션 서버(들)(1118)는 게시 시스템(1200) 및 결제 시스템(1122)을 호스팅하는데(host), 이들 각각은 하나 이상의 모듈, 애플리케이션 또는 엔진을 포함할 수 있고, 이들 각각은 하드웨어, 소프트웨어, 펌웨어 또는 이의 임의의 조합으로서 실체화될 수 있다. 애플리케이션 서버(1118)는, 이어서, 하나 이상의 정보 저장 리포지토리(repository) 또는 데이터베이스(1126)로의 액세스를 가능하게 하는 하나 이상의 데이터베이스 서버(1124)에 커플링된다. 하나의 실시예에서, 데이터베이스(1126)는 게시 시스템(1200)에 게시된 정보(가령, 발행물 또는 리스팅)를 저장하는 저장 디바이스이다. 데이터베이스(1126)는 예시적 실시예에 따라 디지털 상품 정보를 또한 저장할 수 있다.
예시적 실시예에서, 게시 시스템(1200)은 네트워크(가령, 인터넷) 상에서 콘텐트(content)를 게시한다. 이와 같이, 게시 시스템(1200)은 네트워킹된 시스템(1102)을 액세스하는 사용자에게 다수의 게시물 및 마켓플레이스 기능 및 서비스를 제공한다. 게시 시스템(1200)은 도 12와 관련하여 더 상세히 논의된다. 예시적 실시예에서, 게시 시스템(1200)은 온라인 마켓플레이스 환경의 측면에서 논의된다. 그러나, 게시 시스템(1200)은 정보의(가령, 검색 엔진) 또는 소셜 네트워킹 환경과 같은 비-마켓플레이스(non-marketplace) 환경과 연관될 수 있음에 유의한다.
결제 시스템(1122)은 사용자에게 다수의 결제 서비스 및 기능을 제공한다. 결제 시스템(1122)은 사용자로 하여금 그의 계정 내에 (가령, 미국 달러와 같은 통상 통화(commercial currency), 또는 민간 개체(private entity)에 의해 제공되는 포인트(point), 마일(mile) 또는 다른 형태의 통화와 같은 전유 통화(proprietary currency)로 된) 가치를 축적하고, 그러고는 나중에 그 축적된 가치를 게시 시스템(1200)을 통하여 또는 네트워크(1104) 상의 다른 곳에서 이용가능하게 된 제품(가령, 상품 또는 서비스)으로 바꿀 수 있게 한다. 결제 시스템(1122)은 네트워크 기반 마켓플레이스의 임의의 유형 및 형태를 통하여 아이템을 구입하기 위한 결제 메커니즘(가령, 은행 계좌, 페이팔(PayPal) 또는 신용 카드)으로부터의 결제를 또한 가능하게 한다.
게시 시스템(1200) 및 결제 시스템(1122)이 양자 모두 네트워킹된 시스템(1102)의 일부를 형성하는 것으로 도 11에 도시되나, 대안적인 실시예에서, 결제 시스템(1122)은 네트워킹된 시스템(1102)과 분리되고 구분되는 결제 서비스의 일부를 형성할 수 있음이 인식될 것이다. 추가적으로, 도 11의 예시적 네트워크 아키텍처(1100)는 클라이언트-서버 아키텍처(client-server architecture)를 이용하나, 본 개시가 그러한 아키텍처에 한정되지 않음을 숙련된 기술자(skilled artisan)는 인지할 것이다. 예시적 네트워크 아키텍처(1100)는, 예컨대, 분산된(distributed) 또는 피어-투-피어(peer-to-peer) 아키텍처 시스템에서, 똑같이 잘 적용되게 될 수 있다. 게시 시스템(1200) 및 결제 시스템(1122)은 반드시 네트워킹 능력을 갖지는 않는, 별개의 하드웨어 플랫폼 하에서 동작하는 독립형(standalone) 소프트웨어 프로그램 또는 독립형 시스템으로서 또한 구현될 수 있다.
이제 도 12를 참조하면, 하나의 실시예에서, 네트워킹된 시스템(1102)의 게시 시스템(1200) 내에 제공되는 여러 컴포넌트를 보여주는 예시적인 블록도가 도시된다. 이 실시예에서, 게시 시스템(1200)은 아이템(가령, 상품 또는 서비스)가 판매를 위해 제공될 수 있고 상호작용적인 질의 생성 및 정제를 위해 본 문서에 기술된 특징을 또한 구현하는 마켓플레이스 시스템이다. 아이템은 디지털 상품(가령, 통화(currency), 라이센스 권리)을 포함할 수 있다. 게시 시스템(1200)은 서버 머신 간의 통신을 가능하게 하기 위해 통신가능하게 커플링된(communicatively coupled) 전용(dedicated) 또는 공유된(shared) 서버 머신(도시되지 않음) 상에서 호스팅될 수 있다. 여러 컴포넌트 자체는, 정보가 컴포넌트 간에 전달될 수 있게 하기 위해 또는 컴포넌트가 공통의 데이터를 공유하고 액세스할 수 있게 하기 위해, 서로 그리고 다양한 데이터 소스에, 직접적으로든 또는 간접적으로든, (가령, 적절한 인터페이스를 통하여) 통신가능하게 커플링된다. 나아가, 도 11에 도시된 바와 같이, 컴포넌트는 하나 이상의 데이터베이스 서버(1124)를 통하여 하나 이상의 데이터베이스(1126)를 액세스할 수 있다.
도 12로 돌아오면, 게시 시스템(1200)은, 구매자가 판매를 위한 상품 또는 서비스를 리스팅(또는 이에 관한 정보를 게시)할 수 있고, 구매자가 그러한 상품 또는 서비스를 구입하고자 하는 욕구를 나타내거나 이에 대한 관심을 표현할 수 있으며, 상품 또는 서비스에 관련된 거래를 위해 가격이 설정될 수 있는 다수의 게시물, 리스팅 및 가격 설정(price-setting) 메커니즘을 제공한다. 이를 위하여, 게시 시스템(1200)은 적어도 하나의 게시 엔진(1202) 및 하나 이상의 경매 엔진(1204)(경매 포맷 리스팅 및 가격 설정 메커니즘(가령, 영국식 경매, 네덜란드식 경매, 중국식 경매, 이중(Double) 경매, 역(Reverse) 경매 등등)을 지원함)을 포함할 수 있다.
가격책정 엔진(pricing engine)(1206)은 다양한 가격 리스팅 포맷을 지원한다. 하나의 그러한 포맷은 고정가 리스팅 포맷(fixed-price listing format)(가령, 전통적인 분류된 광고 유형 리스팅 또는 카탈로그 리스팅)이다. 다른 포맷은 매수 유형(buyout-type) 리스팅을 포함한다. 매수 유형 리스팅(가령, 캘리포니아주 새너제이(San Jose, California)의 이베이 사(eBay Inc.)에 의해 개발된 Buy-It-Now(BIN) 기술)은 경매 포맷 리스팅과 함께 제공될 수 있고 구매자로 하여금 경매를 통하여 판매를 위해 또한 제공되고 있는 상품 또는 서비스를 아이템을 위한 경매의 시작 가격보다 통상적으로 더 높은 고정가로 구입할 수 있게 한다.
상점 엔진(store engine)(1208)은 구매자로 하여금 구매자에 의해 그리고 구매자를 위해 브랜드화되거나(branded) 그렇지 않으면 개인화될(personalized) 수 있는 "가상"(virtual) 상점 내의 리스팅을 그룹화할(group) 수 있게 한다. 그러한 가상 상점은 구매자에게 특정적이고 개인화된 판촉(promotion), 장려책(incentive) 및 특징을 또한 제공할 수 있다. 하나의 예에서, 구매자는 가상 상점 내의 Buy-It-Now 아이템으로서 복수의 아이템을 제공하거나, 경매를 위해 복수의 아이템을 제공하거나, 양자 모두의 조합을 할 수 있다.
평판 엔진(reputation engine)(1210)은, 네트워킹된 시스템(1102)을 활용하여 거래하는 사용자로 하여금 평판을 확립하고 구축하며 유지할 수 있게 한다. 이들 평판은 잠재적인 상거래 파트너에게 이용가능하게 되고 게시될 수 있다. 게시 시스템(1200)은 미지의 개체 간의 개인 대 개인(person-to-person) 상거래를 지원하므로, 하나의 실시예에 따르면, 사용자는 그렇지 않은 경우에 잠재적인 상거래 파트너의 신용과 신뢰성이 가늠될(assessed) 수 있는 어떠한 이력이나 다른 참조 정보도 갖지 않을 수 있다. 평판 엔진(1210)은 사용자로 하여금, 예컨대 하나 이상의 다른 거래 파트너에 의해 제공되는 피드백을 통해, 시간에 걸쳐 네트워크 기반 마켓플레이스(106) 내에서 평판을 확립할 수 있게 한다. 다른 잠재적 상거래 파트너는 이후 신뢰성과 신용을 가늠할 목적으로 평판을 참조할 수 있다.
내비게이션 엔진(navigation engine)(1212)에 의해 네트워크 기반 마켓플레이스(106)의 내비게이션이 가능하게 될 수 있다. 예컨대, 내비게이션 엔진(1212)의 브라우즈 모듈(browse module)(도시되지 않음)은 사용자로 하여금 다양한 카테고리, 카탈로그 또는 인벤토리(inventory) 데이터 구조(이에 따라 게시 시스템(1200) 내에서 리스팅이 분류될 수 있음)를 훑어볼(browse) 수 있게 한다. 브라우징(browsing) 애플리케이션을 보충하기 위해 내비게이션 엔진(1212) 내의 다양한 다른 내비게이션 애플리케이션이 제공될 수 있다. 예컨대, 내비게이션 엔진(1212)은 이전에 기술된 바와 같은 통신 모듈(116)을 포함할 수 있다.
리스팅을 가능한 한 시각적으로 유익하고 매력적이게 네트워킹된 시스템(1102)을 통하여 이용가능하게 하기 위해서, 게시 시스템(1200)은 사용자로 하여금 게시물 내의 포함을 위해 이미지를 업로드하고(upload) 이미지를 열람된(viewed) 리스팅 내에 포함시킬 수 있게 하는 촬영 엔진(imaging engine)(1214)을 포함할 수 있다. 촬영 엔진(1214)은 이미지 데이터를 사용자로부터 검색 질의로서 또한 수신하고 이미지 데이터에 의해 묘사되거나 기술된 아이템을 식별하는 데에 이미지 데이터를 활용할 수 있다.
리스팅 생성 엔진(listing creation engine)(1216)은 사용자(가령, 구매자)로 하여금 아이템의 리스팅을 편리하게 작성할(author) 수 있게 한다. 하나의 실시예에서, 리스팅은 사용자(가령, 구매자)가 게시 시스템(1200)을 통하여 거래하기를 바라는 상품 또는 서비스에 관련된다. 다른 실시예에서, 사용자는 광고 또는 다른 형태의 게시물인 리스팅을 생성할 수 있다.
리스팅 관리 엔진(listing management engine)(1218)은 사용자로 하여금 그러한 리스팅을 관리할 수 있게 한다. 특히, 특정한 사용자가 많은 수의 리스팅을 작성하거나 게시한 경우에, 그러한 리스팅의 관리는 난제를 야기할 수 있다. 리스팅 관리 엔진(1218)은 사용자가 그러한 리스팅을 관리하는 데에 도움이 되도록 다수의 특징(가령, 자동 재리스팅(auto-relisting), 인벤토리 레벨 모니터 등등)을 제공한다. 리스팅 관리 엔진(1218)은 이전에 기술된 바와 같은 리스팅 모듈(118)을 포함할 수 있다.
리스팅 이후 관리 엔진(post-listing management engine)(1220)은 리스팅 이후에 통상적으로 발생하는 다수의 활동에 있어 사용자를 또한 돕는다. 예컨대, 하나 이상의 경매 엔진(1204)에 의해 가능하게 된 거래의 완료 시에, 구매자는 특정한 판매자에 관한 피드백을 남기기를 바랄 수 있다. 이를 위하여, 리스팅 이후 관리 엔진(122)은 평판 엔진(1210)에 인터페이스를 제공하여 구매자로 하여금 여러 판매자에 관한 피드백을 평판 엔진(1210)에 편리하게 제공할 수 있게 한다. 다른 리스팅 이후 행동은 판매된 아이템의 배송(shipping)일 수 있는데 이에 따라 리스팅 이후 관리 엔진(122)은 배송 라벨을 인쇄하고, 배송 비용을 추정하며, 배송 업자를 제안하는 데에 도움이 될 수 있다.
검색 엔진(1222)은 질의와 매칭되는, 네트워킹된 시스템(1102) 내의 게시물에 대한 검색을 수행한다. 예시적 실시예에서, 검색 엔진(1222)은 게시 시스템(1200)을 통하여 게시된 게시물의 키워드 검색을 가능하게 하는 검색 모듈(도시되지 않음)을 포함한다. 또한, 예컨대, 검색 엔진(1222)은 검색 엔진(121)을 참조하여 이전에 기술된 기능을 수행할 수 있다. 추가의 실시예에서, 검색 엔진(1222)은 촬영 엔진(1214)에 의해 수신된 이미지를 검색을 수행하기 위한 입력으로서 취할 수 있다. 검색 엔진(1222)은 질의 입력을 취하고 네트워킹된 시스템(1102)으로부터 복수의 매치(가령, 데이터베이스(1126) 내에 저장된 게시물)를 판정한다. 검색 엔진(1222)의 기능은 내비게이션 엔진(1212)과 조합될 수 있음에 유의한다. 게시 시스템(1200) 내의 검색 엔진(1222)은 검색 엔진(121)에 관해서 이전에 기술된 기능을 수행할 수 있다.
도 12 내의 사용자 활동 검출 엔진(user activity detection engine)(1224)은 사용자 세션 동안 사용자 활동을 모니터링하고(monitor), 아래에 더 상세히 논의되는 바와 같이, 사용자가 구입을 할 듯함을 예측할 수 있는 사용자 활동의 레벨에서의 변화를 검출할 수 있다. 사용자 활동의 레벨에서의 변화의 정확한 양은 달라질 수 있다. 일반적인 지침은 여러 세션에 걸쳐 모니터링하고 시간에 걸친 임의의 중요한 증가(예컨대 짧은 시간 내에 활동 레벨이 배가됨(doubling) 또는 3배가 됨(tripling))를 검출하는 것일 수 있다. 하나의 실시예에서, 사용자 활동 검출 엔진(1224)이 그러한 조건을 검출하는 경우, 전자상거래 시스템은 사용자가 구입을 할 확률을 개선하려고, 그리고/또는 또한 더 나은 구입을 찾아서 경쟁자 사이트로 이동하는 것 대신에 전자상거래 시스템 사이트 상에서 구입을 하도록 사용자에게 동기를 주려고 사용자에게 디스플레이하기 위한 콘텐트를 제공하기 위해 개입을 할 수 있다. 환언하면, 구입 행동 전 상이한 시간에서의, 그리고 시간에 걸친 활동은 위에서 논의된 바와 같은 개입에 의해, 시간에 기반하여, 사용자에 대해 마케팅을 개인화할 기회를 제공한다. 그런 마케팅 개인화에서의 시간적 프레임(temporal frame)을 포함하는 추가적인 예가 아래에서 논의된다. 게시 시스템(1200)은 이전에 기술된 바와 같은 인기도 모듈(128)을 더 포함할 수 있다.
게시 시스템(1200)의 다양한 컴포넌트가 다양한 개별 모듈 및 엔진의 측면에서 정의되었으나, 숙련된 기술자는 아이템 중 다수가 다른 방식으로 조합되거나 조직화될 수 있음 및 모든 모듈 또는 엔진이 예시적 실시예에 따라 존재하거나 구현될 필요는 없음을 인지할 것이다. 나아가, 게시 시스템(1200)의 모든 컴포넌트가 도 12에 포함된 것은 아니다. 일반적으로, 예시적 실시예의 기능에 직접적으로 관련되지 않은 컴포넌트, 프로토콜, 구조 및 기법(가령, 분쟁 해결 엔진(dispute resolution engine), 충성 촉진 엔진(loyalty promotion engine), 개인화 엔진(personalization engine))은 상세히 보여지거나 논의되지 않았다. 본 문서에 주어진 설명은 그저 독자가 본 문서에서 사용된 시스템 및 방법을 이해하는 데에 도움이 되도록 다양한 예시적인 실시예를 제공한다.
데이터 구조
도 13은 도 11의 데이터베이스(1126) 내에 유지될 수 있고 도 11의 게시 시스템(1200) 및 결제 시스템(1122) 양자 모두에 의해 활용되고 이를 지원하는 다양한 테이블(1250)을 예시하는 고수준 개체-관계 도해(high-level entity-relationship diagram)이다. 사용자 테이블(user table)(1252)은 도 11 및 도 5의 네트워킹된 시스템(1102)(가령, 네트워크 기반 마켓플레이스(106)의 등록된 사용자 각각을 위한 레코드(record)를 포함할 수 있다. 사용자는 네트워크 기반 마켓플레이스(106)(가령, 도 11 및 도 5) 내에서, 판매자, 구매자 또는 양자 모두로서 동작할 수 있다. 하나의 예시적 실시예에서, 구매자는 축적된 가치(가령, 통상 또는 전유 통화)를 갖고, 따라서 축적된 가치를 네트워크 기반 마켓플레이스(106)에 의한 판매를 위해 제공되는 아이템으로 교환할 수가 있는 사용자일 수 있다.
테이블(1250)은 네트워크 기반 마켓플레이스(106)를 통하여 거래되기 위해 이용가능하거나 거래된 상품 및 서비스(가령, 아이템)를 위해 아이템 레코드(가령, 리스팅)가 유지되는 아이템 테이블(1254)(가령, 아이템 테이블(142))을 또한 포함할 수 있다. 판매자 및 하나 이상의 실제 또는 잠재적 구매자를 아이템 레코드(가령, 리스팅)와 연관시키기 위해, 아이템 테이블(1254) 내의 아이템 레코드(가령, 리스팅)는 나아가 사용자 테이블(1252) 내의 하나 이상의 사용자 레코드에 링크될(linked) 수 있다.
거래 테이블(transaction table)(1256)은 아이템 테이블(1254) 내에 레코드가 존재하는 아이템에 관한 각각의 거래(가령, 구입 또는 판매 거래 또는 경매)를 위한 레코드를 포함할 수 있다.
주문 테이블(order table)(1258)은 주문 레코드로써 실장될(populated) 수 있는데, 각각의 주문 레코드는 주문과 연관된다. 각각의 주문은, 이어서, 거래 테이블(1256) 내에 레코드가 존재하는 하나 이상의 거래와 연관될 수 있다.
입찰 테이블(bids table)(1260) 내의 입찰 레코드는 도 12의 경매 엔진(들)(1204)에 의해 지원되는 경매 포맷 리스팅과 관련하여 네트워크 기반 마켓플레이스(106)에서 수신된 입찰에 관련될 수 있다. 피드백 테이블(feedback table)(1262)은, 하나의 예시적 실시예에서, 피드백 점수의 형태로 사용자에 관한 평판 정보를 구축하고 유지하기 위해, 도 12의 하나 이상의 평판 엔진(1210)에 의해 활용될 수 있다. 이력 테이블(history table)(1264)은 사용자가 당사자였던 거래의 이력을 유지할 수 있다. 하나 이상의 속성 테이블(attributes table)(1266)은 아이템 테이블(1254) 내에 레코드가 존재하는 아이템에 관한 속성 정보를 기록할 수 있다. 그러한 속성의 그저 단 하나의 예를 고려하면, 속성 테이블(1266)은 특정한 아이템과 연관된 통화 속성을 나타낼 수 있는데, 통화 속성은 판매자에 의해 지정된 바와 같은 관련 아이템을 위한 가격의 통화를 식별한다. 검색 테이블(search table)(1268)은 특정 유형의 리스팅을 구하고 있는 사용자(가령, 구매자)에 의해 입력된 검색 정보를 저장할 수 있다. 테이블(1250)은 인기도 테이블(144) 및 검색 메타데이터(140)를 포함할 수 있는데, 양자 모두 이전에 기술된 바와 같다.
머신
도 15는, 몇몇 예시적 실시예에 따라, 머신 판독가능 매체(machine-readable medium)(1322)(가령, 비일시적(non-transitory) 머신 판독가능 매체, 머신 판독가능 저장 매체, 컴퓨터 판독가능 저장 매체, 또는 이의 임의의 적합한 조합)로부터 명령어(1324)를 판독하고, 전체적으로 또는 부분적으로, 본 문서에서 논의된 방법론 중 임의의 하나 이상을 수행할 수가 있는 머신(1300)의 컴포넌트를 예시하는 블록도이다. 구체적으로, 도 15는 머신(1300)을 컴퓨터 시스템(가령, 컴퓨터)(머신(1300)으로 하여금, 전체적으로 또는 부분적으로, 본 문서에서 논의된 방법론 중 임의의 하나 이상을 수행하게 하는 명령어(1324)(가령, 소프트웨어, 프로그램, 애플리케이션, 애플릿(applet), 앱(app) 또는 다른 실행가능 코드(executable code))가 그 안에서 실행될 수 있음)의 예시적 형태로 도시한다.
대안적인 실시예에서, 머신(1300)은 독립형 디바이스로서 동작하거나, 다른 머신에 연결될(가령, 네트워킹될) 수 있다. 네트워킹된 배치에서, 머신(1300)은 서버-클라이언트 네트워크 환경 내의 서버 머신 또는 클라이언트 머신의 입장에서, 또는 분산된(가령, 피어-투-피어) 네트워크 환경 내의 피어 머신(peer machine)으로서 동작할 수 있다. 머신(1300)은 서버 컴퓨터, 클라이언트 컴퓨터, 개인용 컴퓨터(Personal Computer: PC), 태블릿 컴퓨터(tablet computer), 랩톱 컴퓨터(laptop computer), 넷북(netbook), 셀룰러 전화(cellular telephone), 스마트폰(smartphone), 셋톱 박스(Set-Top Box: STB), 개인용 디지털 보조기기(Personal Digital Assistant: PDA), 웹 기기(web appliance), 네트워크 라우터(network router), 네트워크 스위치(network switch), 네트워크 브릿지(network bridge), 또는 임의의 머신(그 머신에 의해 취해질 행동을 지정하는 명령어(1324)를, 순차적으로 또는 다른 식으로, 실행하는 것이 가능함)일 수 있다. 또한, 오직 단일 머신이 예시되나, 용어 "머신"은 또한 본 문서에서 논의된 방법론 중 임의의 하나 이상의 방법론의 전부 또는 일부를 수행하기 위해 개별적으로 또는 공동으로 명령어(1324)를 실행하는 머신의 모음(collection)을 포함하도록 취해질 것이다.
머신(1300)은 프로세서(1302)(가령, 중앙 처리 유닛(Central Processing Unit: CPU), 그래픽 처리 유닛(Graphics Processing Unit: GPU), 디지털 신호 프로세서(Digital Signal Processor: DSP), 애플리케이션 특정 집적 회로(Application Specific Integrated Circuit: ASIC), 무선 주파수 집적 회로(Radio-Frequency Integrated Circuit: RFIC), 또는 이의 임의의 적합한 조합), 주 메모리(main memory)(1304) 및 정적 메모리(static memory)(1306)를 포함하는데, 이들은 버스(1308)를 통하여 서로 통신하도록 구성된다. 프로세서(1302)가, 전체적으로 또는 부분적으로, 본 문서에 기술된 방법론 중 임의의 하나 이상을 수행하도록 구성가능하도록 프로세서(1302)는 명령어(1324) 중 일부 또는 전부에 의해, 임시적으로(temporarily) 또는 영구적으로(permanently), 구성가능한 마이크로회로를 포함할 수 있다. 예컨대, 프로세서(1302)의 하나 이상의 마이크로회로의 세트는 본 문서에 기술된 하나 이상의 모듈(가령, 소프트웨어 모듈)을 실행하도록 구성가능할 수 있다.
머신(1300)은 그래픽 디스플레이(graphics display)(1310)(가령, 플라즈마 디스플레이 패널(Plasma Display Panel: PDP), 발광 다이오드(Light Emitting Diode: LED) 디스플레이, 액정 디스플레이(Liquid Crystal Display: LCD), 프로젝터(projector), 음극선관(Cathode Ray Tube: CRT), 또는 임의의 다른 디스플레이(그래픽 또는 비디오를 디스플레이하는 것이 가능함))를 더 포함할 수 있다. 머신(1300)은 문자 숫자 입력 디바이스(alphanumeric input device)(1312)(가령, 키보드(keyboard) 또는 키패드(keypad)), 커서 제어 디바이스(cursor control device)(1314)(가령, 마우스(mouse), 터치패드(touchpad), 트랙볼(trackball), 조이스틱(joystick), 움직임 센서(motion sensor), 눈 추적 디바이스(eye tracking device), 또는 다른 포인팅 기구(pointing instrument)), 저장 유닛(storage unit)(1316), 오디오 생성 디바이스(audio generation device)(1318)(가령, 사운드 카드(sound card), 증폭기(amplifier), 스피커(speaker), 헤드폰 잭(headphone jack), 또는 이의 임의의 적합한 조합), 그리고 네트워크 인터페이스 디바이스(network interface device)(1320)를 또한 포함할 수 있다.
저장 유닛(1316)은 본 문서에 기술된 방법론 또는 기능 중 임의의 하나 이상을 실체화하는 명령어(1324)가 저장된 머신 판독가능 매체(1322)(가령, 유형적(tangible) 및 비일시적 머신 판독가능 저장 매체)를 포함한다. 명령어(1324)는 또한, 머신(1300)에 의한 이의 실행 전에 또는 그 실행 동안에, 주 메모리(1304) 내에, 프로세서(1302) 내에(가령, 프로세서의 캐시 메모리(cache memory) 내에), 또는 양자 모두에, 전적으로 또는 적어도 부분적으로, 상주할(reside) 수 있다. 따라서, 주 메모리(1304) 및 프로세서(1302)는 머신 판독가능 매체(가령, 유형적 및 비일시적 머신 판독가능 매체)로 간주될 수 있다. 명령어(1324)는 네트워크 인터페이스 디바이스(1320)를 통하여 네트워크(1390) 상에서 송신되거나 수신될 수 있다. 예컨대, 네트워크 인터페이스 디바이스(1320)는 임의의 하나 이상의 전송 프로토콜(가령, 하이퍼텍스트 전송 프로토콜(HyperText Transfer Protocol: HTTP))을 사용하여 명령어(1324)를 통신할 수 있다.
몇몇 예시적 실시예에서, 머신(1300)은 휴대가능한 컴퓨팅 디바이스(portable computing device), 예를 들어 스마트폰 또는 태블릿 컴퓨터이고, 하나 이상의 추가적인 입력 컴포넌트(1330)(가령, 센서(sensor) 또는 게이지(gauge))를 가질 수 있다. 그러한 입력 컴포넌트(1330)의 예는 이미지 입력 컴포넌트(가령, 하나 이상의 카메라), 오디오 입력 컴포넌트(가령, 마이크), 방향 입력 컴포넌트(direction input component)(가령, 나침반), 위치 입력 컴포넌트(가령, 글로벌 포지셔닝 시스템(Global Positioning System: GPS) 수신기), 배향 컴포넌트(orientation component)(가령, 자이로스코프(gyroscope)), 움직임 검출 컴포넌트(가령, 하나 이상의 가속도계), 고도 검출 컴포넌트(altitude detection component)(가령, 고도계), 그리고 가스 검출 컴포넌트(가령, 가스 센서)를 포함한다. 이들 입력 컴포넌트(1330) 중 임의의 하나 이상에 의해 채집된 입력은 본 문서에 기술된 모듈 중 임의의 것에 의한 사용을 위해 액세스가능하고 이용가능할 수 있다.
본 문서에서 사용되는 바와 같이, 용어 "메모리"는 임시적으로 또는 영구적으로 데이터를 저장할 수 있는 머신 판독가능 매체를 나타내며, 랜덤 액세스 메모리(Random-Access Memory: RAM), 판독 전용 메모리(Read-Only Memory: ROM), 버퍼 메모리(buffer memory), 플래시 메모리(flash memory) 및 캐시 메모리를 포함하나 이에 한정되지 않도록 취해질 수 있다. 머신 판독가능 매체(1322)가 예시적 실시예에서 단일 매체인 것으로 도시되나, 용어 "머신 판독가능 매체"는 명령어(1324)를 저장할 수 있는 단일 매체 또는 다수의 매체(가령, 중앙화된(centralized) 또는 분산된 데이터베이스, 또는 연관된 캐시와 서버)를 포함하도록 취해져야 한다. 용어 "머신 판독가능 매체"는 또한, 명령어(1324)가 머신(1300)의 하나 이상의 프로세서(가령, 프로세서(1302))에 의해 실행되는 경우 머신(1300)으로 하여금, 전체적으로 또는 부분적으로, 본 문서에 기술된 방법론 중 임의의 하나 이상을 수행하게 하도록, 머신(1300)에 의한 실행을 위한 명령어(1324)를 저장하는 것이 가능한 임의의 매체, 또는 여러 매체의 조합을 포함하도록 취해질 것이다. 따라서, "머신 판독가능 매체"는 단일 저장 장치 또는 디바이스는 물론, 다수의 저장 장치 또는 디바이스를 포함하는 클라우드 기반(cloud-based) 저장 시스템 또는 저장 네트워크도 나타낸다. 용어 "머신 판독가능 매체"는 따라서 솔리드 스테이트 메모리(solid-state memory), 광학 매체(optical medium), 자기 매체(magnetic medium), 또는 이의 임의의 적합한 조합의 형태로 된 하나 이상의 유형적인(가령, 비일시적인) 데이터 리포지토리를 포함하나 이에 한정되지 않도록 취해질 것이다.
나아가, 머신 판독가능 매체는 임의의 형태의 캐리어 매체(carrier medium)를 포함할 수 있고 전파 신호(propagating signal)과 같은 일시적 매체(transient medium)를 실체화할 수 있다.
이 명세서를 통틀어, 단일 인스턴스(instance)로서 기술된 컴포넌트, 동작 또는 구조를 복수의 인스턴스가 구현할 수 있다. 하나 이상의 방법의 개별 동작이 별개의 동작으로서 예시되고 기술되나, 개별 동작 중 하나 이상은 동시적으로 수행될 수 있고, 어떤 것도 그 동작이 예시된 순서로 수행될 것을 요구하지 않는다. 예시적 구성에서 별개의 컴포넌트로서 제시된 구조 및 기능은 조합된 구조 또는 컴포넌트로서 구현될 수 있다. 유사하게, 단일 컴포넌트로서 제시된 구조 및 기능은 별개의 컴포넌트로서 구현될 수 있다. 이들 및 다른 변형, 수정, 추가 및 개선은 본 문서에서의 대상물(subject matter)의 범주 내에 속한다.
어떤 실시예는 로직(logic) 또는 다수의 컴포넌트, 모듈 또는 메커니즘을 포함하는 것으로 본 문서에 기술된다. 모듈은 소프트웨어 모듈(가령, 머신 판독가능 매체 상에 또는 송신 매체(transmission medium) 내에 저장되거나 그렇지 않으면 실체화된 코드), 하드웨어 모듈, 또는 이의 임의의 적합한 조합을 구성할 수 있다. "하드웨어 모듈"은 어떤 동작을 수행하는 것이 가능한 유형적인(가령, 비일시적인) 유닛이며, 어떤 물리적 방식으로 구성되거나 배열될 수 있다. 다양한 예시적 실시예에서, 하나 이상의 컴퓨터 시스템(가령, 독립형 컴퓨터 시스템, 클라이언트 컴퓨터 시스템 또는 서버 컴퓨터 시스템), 또는 컴퓨터 시스템의 하나 이상의 하드웨어 모듈(가령, 프로세서, 또는 프로세서의 그룹)은 본 문서에 기술된 바와 같은 어떤 동작을 수행하도록 동작하는 하드웨어 모듈로서 소프트웨어(가령, 애플리케이션 또는 애플리케이션 부분)에 의해 구성될 수 있다.
몇몇 실시예에서, 하드웨어 모듈은 기계적으로, 전자적으로, 또는 이의 임의의 적합한 조합으로 구현될 수 있다. 예컨대, 하드웨어 모듈은 어떤 동작을 수행하도록 영구적으로 구성된 전용 회로 또는 로직을 포함할 수 있다. 예컨대, 하드웨어 모듈은 특수 목적 프로세서(special-purpose processor), 예를 들어 필드 프로그램가능 게이트 어레이(Field Programmable Gate Array: FPGA) 또는 ASIC일 수 있다. 하드웨어 모듈은 또한 어떤 동작을 수행하도록 소프트웨어에 의해 임시적으로 구성된 프로그램가능 로직 또는 회로를 포함할 수 있다. 예컨대, 하드웨어 모듈은 일반 목적 프로세서(general-purpose processor) 또는 다른 프로그램가능 프로세서 내에 망라된(encompassed) 소프트웨어를 포함할 수 있다. 기계적으로, 전용이고 영구적으로 구성된 회로로, 또는 임시적으로 구성된(가령, 소프트웨어에 의해 구성된) 회로로 하드웨어 모듈을 구현한다는 결정은 비용 및 시간 고려사항에 의해 추진될(driven) 수 있음이 인식될 것이다.
따라서, 구문 "하드웨어 모듈"은 유형적 개체를 망라하는 것으로 이해되어야 하고, 그러한 유형적 개체는 본 문서에 기술된 어떤 동작을 수행하도록 또는 어떤 방식으로 동작하도록 물리적으로 구축되거나(physically constructed), 영구적으로 구성되거나(가령, 고정 배선됨(hardwired)), 임시적으로 구성된(가령, 프로그래밍된(programmed)) 것일 수 있다. 본 문서에서 사용된 바와 같이, "하드웨어 구현된 모듈"(hardware-implemented module)은 하드웨어 모듈을 나타낸다. 하드웨어 모듈이 임시적으로 구성된(가령, 프로그래밍된) 실시예를 고려하면, 하드웨어 모듈 각각이 시간 내의 임의의 하나의 인스턴스에서 구성되거나 인스턴스화될(instantiated) 필요는 없다. 예컨대, 특수 목적 프로세서가 되도록 소프트웨어에 의해 구성되는 일반 목적 프로세서를 하드웨어 모듈이 포함하는 경우, 일반 목적 프로세서는 상이한 시간에 각각 상이한 특수 목적 프로세서(가령, 상이한 하드웨어 모듈을 포함함)로서 구성될 수 있다. 소프트웨어(가령, 소프트웨어 모듈)는 이에 따라, 예컨대, 시간의 하나의 인스턴스에서 특정한 하드웨어 모듈을 구성하고 시간의 상이한 인스턴스에서 상이한 하드웨어 모듈을 구성하도록, 하나 이상의 프로세서를 구성할 수 있다.
하드웨어 모듈은 다른 하드웨어 모듈에 정보를 제공하고 다른 하드웨어 모듈로부터 정보를 수신할 수 있다. 따라서, 기술된 하드웨어 모듈은 통신가능하게 커플링된 것으로 간주될 수 있다. 여러 하드웨어 모듈이 동일 시기에(contemporaneously) 존재하는 경우에, 통신은 하드웨어 모듈 중 둘 이상 간의 (가령, 적절한 회로 및 버스 상에서의) 신호 송신을 통해 달성될 수 있다. 여러 하드웨어 모듈이 상이한 시간에 구성되거나 인스턴스화되는 실시예에서, 그러한 하드웨어 모듈 간의 통신은, 예컨대, 여러 하드웨어 모듈이 액세스를 갖는 메모리 구조 내의 정보의 저장 및 인출을 통해, 달성될 수 있다. 예컨대, 하나의 하드웨어 모듈이 동작을 수행하고 그것이 통신가능하게 커플링된 메모리 디바이스 내에 그 동작의 출력을 저장할 수 있다. 그러면 저장된 출력을 인출하고 처리하기 위해 추가의 하드웨어 모듈이 나중에 메모리 디바이스를 액세스할 수 있다. 하드웨어 모듈은 또한 입력 또는 출력 디바이스와의 통신을 개시할 수 있고, 리소스(가령, 정보의 모음)에 대해 동작할 수 있다.
본 문서에 기술된 예시적 방법의 다양한 동작은, 적어도 부분적으로, 관련 동작을 수행하도록 영구적으로 구성되거나 (가령, 소프트웨어에 의해) 임시적으로 구성된 하나 이상의 프로세서에 의해 수행될 수 있다. 임시적으로 구성되든 또는 영구적으로 구성되든, 그러한 프로세서는 본 문서에 기술된 하나 이상의 동작 또는 기능을 수행하도록 동작하는 프로세서 구현된(processor-implemented) 모듈을 구성할 수 있다. 본 문서에서 사용되는 바와 같이, "프로세서 구현된 모듈"은 하나 이상의 프로세서를 사용하여 구현된 하드웨어 모듈을 나타낸다.
유사하게, 본 문서에 기술된 방법은 적어도 부분적으로 프로세서 구현된 것일 수 있는데, 프로세서는 하드웨어의 일례이다. 예컨대, 방법의 동작 중 적어도 일부는 하나 이상의 프로세서 또는 프로세서 구현된 모듈에 의해 수행될 수 있다. 본 문서에서 사용되는 바와 같이, "프로세서 구현된 모듈"은 하드웨어가 하나 이상의 프로세서를 포함하는 하드웨어 모듈을 나타낸다. 더욱이, 하나 이상의 프로세서는 또한 "클라우드 컴퓨팅"(cloud computing) 환경에서 또는 "서비스로서의 소프트웨어"(Software as a Service: SaaS)로서 관련 동작의 수행을 지원하도록 동작할 수 있다. 예컨대, 동작 중 적어도 일부는 (프로세서를 포함하는 머신의 예로서의) 컴퓨터의 그룹에 의해 수행될 수 있는데, 이들 동작은 네트워크(가령, 인터넷)를 통하여 그리고 하나 이상의 적절한 인터페이스(가령, 애플리케이션 프로그램 인터페이스(Application Program Interface: API))를 통하여 액세스가능한 것이다.
어떤 동작의 수행은, 단일 머신 내에 상주하는 것뿐만 아니라 다수의 머신에 걸쳐 배치되기도 하는 하나 이상의 프로세서 사이에 분산될 수 있다. 몇몇 예시적 실시예에서, 하나 이상의 프로세서 또는 프로세서 구현된 모듈은 단일 지리적 위치에(가령, 가정 환경, 사무실 환경 또는 서버 팜(server farm) 내에) 위치될 수 있다. 다른 예시적 실시예에서, 하나 이상의 프로세서 또는 프로세서 구현된 모듈은 다수의 지리적 위치에 걸쳐 분산될 수 있다.
본 문서에서 논의된 대상물의 몇몇 부분은 머신 메모리(가령, 컴퓨터 메모리) 내에 비트 또는 이진 디지털 신호로서 저장된 데이터에 대한 동작의 상징적 표현 또는 알고리즘의 측면에서 제시될 수 있다. 그러한 알고리즘 또는 상징적 표현은 데이터 처리 업계의 통상의 기술자에 의해 자신의 작업의 실체를 다른 당업자에게 전달하기 위해 사용되는 기법의 예이다. 본 문서에서 사용되는 바와 같이, "알고리즘"은 원하는 결과로 이어지는 동작의 자기 부합적 시퀀스(self-consistent sequence) 또는 유사한 처리이다. 이 콘텍스트에서, 알고리즘 및 동작은 물리적 양의 물리적 조작을 수반한다. 반드시는 아니지만, 통상적으로, 그러한 양은 머신에 의해 저장, 액세스, 전송, 조합, 비교 또는 아니면 조작되는 것이 가능한 전기적, 자기적 또는 광학적 신호의 형태를 취할 수 있다. 그러한 신호를 "데이터"(data), "콘텐트"(content), "비트"(bit), "값"(value), "요소"(element), "심볼"(symbol), "기호"(character), "항"(term), "수"(number), "숫자"(numeral), 또는 유사한 것과 같은 단어를 사용하여 지칭하는 것은, 주로 일반적 용법의 이유로, 때때로 편리하다. 그러나, 이들 단어는 단지 편리한 라벨이며 적절한 물리적 양과 연관되어야 한다.
구체적으로 달리 언급되지 않는 한, "처리하기"(processing), "컴퓨팅"(computing), "계산하기"(calculating), "판정하기"(determining), "제시하기"(presenting), "디스플레이하기"(displaying), 또는 유사한 것과 같은 단어를 사용하는 본 문서에서의 논의는 하나 이상의 메모리(가령, 휘발성 메모리, 비휘발성 메모리, 또는 이의 임의의 적합한 조합), 레지스터, 또는 다른 머신 컴포넌트(정보를 수신하거나, 저장하거나, 송신하거나, 디스플레이함) 내의 물리적(가령, 전자적, 자기적 또는 광학적) 양으로서 표현된 데이터를 조작하거나 변환하는 머신(가령, 컴퓨터)의 행동 또는 프로세스를 나타낼 수 있다. 나아가, 구체적으로 달리 언급되지 않는 한, 용어 "한" 또는 "일"은, 특허 문헌에서 흔한 바와 같이, 하나 또는 하나보다 많은 인스턴스를 포함하도록, 본 문서에서 사용된다. 끝으로, 본 문서에서 사용되는 바와 같이, 접속사 "또는"(or)은, 구체적으로 달리 언급되지 않는 한, 비배타적인(non-exclusive) "또는"을 나타낸다.
번호가 매겨진 다음의 예에 의해 실시예가 아래에 기술될 것이다.
1. 시스템으로서,
하나 이상의 프로세서를 사용하여 구현된 시드 모듈(seed module)(이는 제1 리스팅(listing)을 시드 리스팅으로서 식별하도록 구성되되, 위 제1 리스팅은 네트워크 기반 마켓플레이스(network-based marketplace) 상에서의 판매를 위해 제공되는 아이템을 각각 서술하는 제1 복수의 리스팅 내에 포함됨)와,
하나 이상의 프로세서를 사용하여 구현된 필터 이름 모듈(filter name module)(이는 위 시드 리스팅 및 확률에 기반하여 시드 필터 콘텍스트(seed filter context)를 식별하도록 구성되되, 위 시드 필터 콘텍스트는 제1 속성-값 쌍(attribute-value pair) 및 제2 속성-값 쌍을 포함하는 복수의 속성-값 쌍을 포함하고, 위 제1 속성-값 쌍은 제1 필터이고 제2 속성-값 쌍은 제2 필터이며, 위 확률은 위 네트워크 기반 마켓플레이스 상에서 이전에 거래된 아이템을 각각 서술하는 복수의 리스팅 내의 속성-값 쌍의 발생을 서술함)을 포함하되,
위 시드 모듈은 또한,
위 시드 필터 콘텍스트에 기반하여 위 시드 리스팅으로부터 값을 추출하고,
위 시드 리스팅으로부터 추출된 위 값에 기반하여 위 시드 필터 콘텍스트를 초기화하며,
위 시드 필터 콘텍스트에 기반하여 검색 결과를 생성(위 검색 결과는 위 제1 복수의 리스팅으로부터 식별된 제2 복수의 리스팅을 포함함)하고,
인터페이스 정보(interface information)를 네트워크 상에서 클라이언트 머신(client machine)으로 통신(위 인터페이스 정보는 위 제2 복수의 리스팅으로부터의 적어도 하나의 리스팅 및 위 시드 필터 콘텍스트를 포함함)하도록 구성됨.
2. 예 1의 시스템에 있어서, 위 필터 이름 모듈은 위 네트워크 기반 마켓플레이스 상에서 계층적 카테고리 구조(hierarchical category structure)로 위 시드 리스팅을 제시하기 위해 활용되는, 위 시드 리스팅 내에 포함된 카테고리에 기반하여 위 시드 필터 콘텍스트를 식별함.
3. 예 1의 시스템에 있어서, 위 시드 필터 콘텍스트 내의 필터의 수는 사전결정된 파라미터에 의해 한정됨.
4. 예 1의 시스템에 있어서, 위 제1 속성-값 쌍은 제1 속성 및 제1 값을 포함하고, 위 제2 속성-값 쌍은 제2 속성 및 제2 값을 포함함.
5. 예 4의 시스템에 있어서, 위 제1 및 제2 값은 위 시드 리스팅으로부터 추출된 값으로써 초기화됨.
6. 예 1의 시스템에 있어서, 위 필터 이름 모듈은 제2 복수의 필터를 포함하는 시드 필터 제안(seed filter proposal)을 식별하도록 또한 구성되되, 위 필터 이름 모듈은 네트워크 기반 마켓플레이스 상에서 이전에 거래된 아이템을 각각 서술하는 위 제1 복수의 리스팅 내의 속성-값 쌍의 발생을 서술하는 확률 및 위 시드 필터 콘텍스트에 기반하여 위 필터 제안을 식별하도록 또한 구성됨.
7. 예 1의 시스템에 있어서, 위 제1 복수의 리스팅은 표제(title)를 포함하는 리스팅을 포함하되, 위 제2 복수의 필터를 식별하는 것은 위 제1 속성-값 쌍이 위 표제 내에 무작위로 발생하는 확률에 기반하여 위 제2 복수의 필터를 정렬하는 것을 포함함.
8. 예 1의 시스템에 있어서,
위 시드 모듈은 위 시드 필터 콘텍스트에 기반하여 검색 결과를 식별하도록 또한 구성되고,
위 후보 검색 결과는 하나 이상의 후보 리스팅을 포함하며,
위 시드 모듈은 위 검색 결과를 생성하기 위해 위 시드 리스팅에 따라 아이템 유사도 순위(item similarity ranking)에 기반하여 위 검색 결과를 정렬하도록 또한 구성되되, 위 아이템 유사도 순위는 위 시드 리스팅에 가장 유사한 것부터 위 시드 리스팅에 가장 덜 유사한 것으로의 위 하나 이상의 후보 리스팅의 순위임.
9. 예 8의 시스템에 있어서, 위 시드 모듈은 또한,
위 시드 리스팅에 가장 유사한, 위 검색 결과의 부분을 선택하고,
위 검색 결과를 생성하기 위해 사용자에 의해 선택된 기준에 따라 위 후보 검색 결과의 위 부분을 정렬하도록 구성됨.
10. 컴퓨터 구현된 방법(computer implemented method)으로서,
제1 리스팅을 시드 리스팅으로서 식별하는 단계(위 제1 리스팅은 네트워크 기반 마켓플레이스 상에서의 판매를 위해 제공되는 아이템을 각각 서술하는 제1 복수의 리스팅 내에 포함되되, 위 식별하는 단계는 적어도 하나의 프로세서에 의해 실행됨)와,
위 시드 리스팅 및 확률에 기반하여 시드 필터 콘텍스트를 식별하는 단계(위 시드 필터 콘텍스트는 제1 속성-값 쌍 및 제2 속성-값 쌍을 포함하는 복수의 속성-값 쌍을 포함하고, 위 제1 속성-값 쌍은 제1 필터이고 제2 속성-값 쌍은 제2 필터이며, 위 확률은 위 네트워크 기반 마켓플레이스 상에서 이전에 거래된 아이템을 각각 서술하는 복수의 리스팅 내의 속성-값 쌍의 발생을 서술함)와,
위 시드 필터 콘텍스트에 기반하여 위 시드 리스팅으로부터 값을 추출하는 단계와,
위 시드 리스팅으로부터 추출된 위 값에 기반하여 위 시드 필터 콘텍스트를 초기화하는 단계와,
위 시드 필터 콘텍스트에 기반하여 검색 결과를 생성하는 단계(위 검색 결과는 위 제1 복수의 리스팅으로부터 식별된 제2 복수의 리스팅을 포함함)와,
인터페이스 정보를 네트워크 상에서 클라이언트 머신으로 통신하는 단계(위 인터페이스 정보는 위 제2 복수의 리스팅으로부터의 적어도 하나의 리스팅 및 위 시드 필터 콘텍스트를 포함함)를 포함함.
11. 예 10의 방법에 있어서, 위 시드 필터 콘텍스트를 식별하는 단계는 위 네트워크 기반 마켓플레이스 상에서 계층적 카테고리 구조로 위 시드 리스팅을 제시하기 위해 활용되는, 위 시드 리스팅 내에 포함된 카테고리에 기반함.
12. 예 10의 방법에 있어서, 위 시드 필터 콘텍스트 내의 필터의 수는 사전결정된 파라미터에 의해 한정됨.
13. 예 10의 방법에 있어서, 위 제1 속성-값 쌍은 제1 속성 및 제1 값을 포함하고, 위 제2 속성-값 쌍은 제2 속성 및 제2 값을 포함함.
14. 예 13의 방법에 있어서, 위 제1 및 제2 값은 위 시드 리스팅으로부터 추출된 값으로써 초기화됨.
15. 예 10의 방법에 있어서, 제2 복수의 필터를 포함하는 시드 필터 제안을 식별하는 단계를 더 포함하되, 위 필터 제안을 식별하는 단계는 네트워크 기반 마켓플레이스 상에서 이전에 거래된 아이템을 각각 서술하는 위 제1 복수의 리스팅 내의 속성-값 쌍의 발생을 서술하는 확률 및 위 시드 필터 콘텍스트에 기반함.
16. 예 10의 방법에 있어서, 위 제1 복수의 리스팅은 표제를 포함하는 리스팅을 포함하되, 위 제2 복수의 필터를 식별하는 것은 위 제1 속성-값 쌍이 위 표제 내에 무작위로 발생하는 확률에 기반하여 위 제2 복수의 필터를 정렬하는 것을 포함함.
17. 예 10의 방법에 있어서,
위 시드 필터 콘텍스트에 기반하여 후보 검색 결과를 식별하는 단계(위 후보 검색 결과는 하나 이상의 후보 리스팅을 포함함)와,
위 검색 결과를 생성하기 위해 위 시드 리스팅에 따라 아이템 유사도 순위에 기반하여 위 후보 검색 결과를 정렬하는 단계를 더 포함하되, 위 아이템 유사도 순위는 위 시드 리스팅에 가장 유사한 것부터 위 시드 리스팅에 가장 덜 유사한 것으로의 위 하나 이상의 후보 리스팅의 순위임.
18. 예 17의 방법에 있어서,
위 시드 리스팅에 가장 유사한, 위 검색 결과의 부분을 선택하는 단계와,
위 검색 결과를 생성하기 위해 사용자에 의해 선택된 기준에 따라 위 후보 검색 결과의 위 부분을 정렬하는 단계를 더 포함함.
19. 머신의 프로세서에 의해 실행되는 경우 위 머신으로 하여금 동작을 수행하게 하는 명령어의 세트를 저장하는 머신 판독가능 하드웨어 저장 디바이스로서, 위 동작은,
제1 리스팅을 시드 리스팅으로서 식별하는 것(위 제1 리스팅은 네트워크 기반 마켓플레이스 상에서의 판매를 위해 제공되는 아이템을 각각 서술하는 제1 복수의 리스팅 내에 포함됨)과,
위 시드 리스팅 및 확률에 기반하여 시드 필터 콘텍스트를 식별하는 것(위 시드 필터 콘텍스트는 제1 속성-값 쌍 및 제2 속성-값 쌍을 포함하는 복수의 속성-값 쌍을 포함하고, 위 제1 속성-값 쌍은 제1 필터이고 제2 속성-값 쌍은 제2 필터이며, 위 확률은 위 네트워크 기반 마켓플레이스 상에서 이전에 거래된 아이템을 각각 서술하는 복수의 리스팅 내의 속성-값 쌍의 발생을 서술함)과,
위 시드 필터 콘텍스트에 기반하여 위 시드 리스팅으로부터 값을 추출하는 것과,
위 시드 리스팅으로부터 추출된 위 값에 기반하여 위 시드 필터 콘텍스트를 초기화하는 것과,
위 시드 필터 콘텍스트에 기반하여 검색 결과를 생성하는 것(위 검색 결과는 위 제1 복수의 리스팅으로부터 식별된 제2 복수의 리스팅을 포함함)과,
인터페이스 정보를 네트워크 상에서 클라이언트 머신으로 통신하는 것(위 인터페이스 정보는 위 제2 복수의 리스팅으로부터의 적어도 하나의 리스팅 및 위 시드 필터 콘텍스트를 포함함)을 포함함.
20. 프로세서에 의해 실행되는 경우 머신으로 하여금 예 10 내지 예 18 중 임의의 것의 방법을 수행하게 하는 명령어를 실은(carrying) 캐리어 매체(carrier medium).
21. 제19항의 머신 판독가능 하드웨어 저장 디바이스에 있어서, 위 제1 복수의 리스팅은 표제를 포함하는 리스팅을 포함하되, 위 제2 복수의 필터를 식별하는 것은 위 제1 속성-값 쌍이 위 표제 내에 무작위로 발생하는 확률에 기반하여 위 제2 복수의 필터를 정렬하는 것을 포함함.

Claims (19)

  1. 시스템으로서,
    하나 이상의 프로세서를 사용하여 구현된 시드 모듈(seed module) - 상기 시드 모듈은 제1 리스팅(listing)을 시드 리스팅으로서 식별하도록 구성되되, 상기 제1 리스팅은 네트워크 기반 마켓플레이스(network-based marketplace) 상에서의 판매를 위해 제공되는 아이템을 각각 서술하는 제1 복수의 리스팅 내에 포함됨 - 과,
    하나 이상의 프로세서를 사용하여 구현된 필터 이름 모듈(filter name module) - 상기 필터 이름 모듈은 상기 시드 리스팅의 분석에 기반하여 시드 필터 콘텍스트(seed filter context) 내의 적어도 하나의 필터를 식별하도록 구성되되, 상기 시드 필터 콘텍스트는 제1 속성-값 쌍(attribute-value pair)을 포함하는 적어도 하나의 속성-값 쌍을 포함하고, 상기 제1 속성-값 쌍은 제1 필터임 - 을 포함하되,
    상기 시드 모듈은 또한,
    상기 시드 필터 콘텍스트 내의 상기 적어도 하나의 필터의 속성에 기반하여 상기 시드 리스팅으로부터 속성에 대응하는 값을 추출하고,
    상기 시드 리스팅으로부터 추출된 상기 속성에 대응하는 값에 기반하여 상기 시드 필터 콘텍스트 내의 상기 적어도 하나의 필터를 초기화하며,
    상기 시드 필터 콘텍스트 내의 상기 적어도 하나의 필터를 초기화한 것에 기반하여 검색 결과를 생성 - 상기 검색 결과는 상기 제1 복수의 리스팅으로부터 식별된 제2 복수의 리스팅을 포함함 - 하고,
    인터페이스 정보(interface information)를 네트워크 상에서 클라이언트 머신(client machine)으로 통신 - 상기 인터페이스 정보는 상기 제2 복수의 리스팅으로부터의 적어도 하나의 리스팅 및 상기 시드 필터 콘텍스트를 포함함 - 하도록 구성된
    시스템.
  2. 제1항에 있어서,
    상기 필터 이름 모듈은 상기 네트워크 기반 마켓플레이스 상에서 계층적 카테고리 구조(hierarchical category structure)로 상기 시드 리스팅을 제시하기 위해 활용되는 상기 시드 리스팅 내에 포함된 카테고리에 기반하여 상기 시드 필터 콘텍스트를 식별하는
    시스템.
  3. 제1항에 있어서,
    상기 시드 필터 콘텍스트 내의 필터의 수는 사전결정된 파라미터에 의해 한정되는
    시스템.
  4. 제1항에 있어서,
    상기 제1 속성-값 쌍은 제1 속성 및 제1 값을 포함하는
    시스템.
  5. 제4항에 있어서,
    상기 제1 값은 상기 시드 리스팅으로부터 추출된 상기 속성에 대응하는 값으로 초기화되는
    시스템.
  6. 제1항에 있어서,
    상기 필터 이름 모듈은 적어도 하나의 제2 필터를 포함하는 시드 필터 제안(seed filter proposal)을 식별하도록 또한 구성되되, 상기 필터 이름 모듈은 상기 시드 필터 콘텍스트에 기반하여 상기 시드 필터 제안을 식별하도록 또한 구성되는
    시스템.
  7. 제6항에 있어서,
    상기 제1 복수의 리스팅은 표제(title)를 포함하는 리스팅을 포함하되, 상기 적어도 하나의 제2 필터를 포함하는 상기 시드 필터 제안을 식별하는 것은 상기 제1 속성-값 쌍이 상기 표제 내에 무작위로 발생하는 확률에 기반하여 상기 적어도 하나의 제2 필터를 정렬하는 것을 포함하는
    시스템.
  8. 제1항에 있어서,
    상기 시드 모듈은 상기 시드 필터 콘텍스트에 기반하여 후보 검색 결과를 식별하도록 또한 구성되고,
    상기 후보 검색 결과는 하나 이상의 후보 리스팅을 포함하며,
    상기 시드 모듈은 상기 시드 리스팅에 따라 아이템 유사도 순위(item similarity ranking)에 기반하여 상기 후보 검색 결과를 정렬하여 상기 검색 결과를 생성하도록 또한 구성되되, 상기 아이템 유사도 순위는 상기 시드 리스팅에 가장 유사한 것부터 상기 시드 리스팅에 가장 덜 유사한 것으로의 상기 하나 이상의 후보 리스팅의 순위인
    시스템.
  9. 제8항에 있어서,
    상기 시드 모듈은 또한,
    상기 시드 리스팅에 가장 유사한 상기 후보 검색 결과의 부분을 선택하고,
    사용자에 의해 선택된 기준에 따라 상기 후보 검색 결과의 상기 부분을 정렬하여 상기 검색 결과를 생성하도록 더 구성된
    시스템.
  10. 컴퓨터로 구현된 방법(computer implemented method)으로서,
    제1 리스팅을 시드 리스팅으로서 식별하는 단계 - 상기 제1 리스팅은 네트워크 기반 마켓플레이스 상에서의 판매를 위해 제공되는 아이템을 각각 서술하는 제1 복수의 리스팅 내에 포함되되, 상기 식별하는 단계는 적어도 하나의 프로세서에 의해 실행됨 - 와,
    상기 시드 리스팅의 분석에 기반하여 시드 필터 콘텍스트 내의 적어도 하나의 필터를 식별하는 단계 - 상기 시드 필터 콘텍스트는 제1 속성-값 쌍을 포함하는 적어도 하나의 속성-값 쌍을 포함하고, 상기 제1 속성-값 쌍은 제1 필터임 - 와,
    상기 시드 필터 콘텍스트 내의 상기 적어도 하나의 필터의 속성에 기반하여 상기 시드 리스팅으로부터 속성에 대응하는 값을 추출하는 단계와,
    상기 시드 리스팅으로부터 추출된 상기 속성에 대응하는 값에 기반하여 상기 시드 필터 콘텍스트 내의 상기 적어도 하나의 필터를 초기화하는 단계와,
    상기 시드 필터 콘텍스트 내의 상기 적어도 하나의 필터를 초기화한 것에 기반하여 검색 결과를 생성하는 단계 - 상기 검색 결과는 상기 제1 복수의 리스팅으로부터 식별된 제2 복수의 리스팅을 포함함 - 와,
    인터페이스 정보를 네트워크 상에서 클라이언트 머신으로 통신하는 단계 - 상기 인터페이스 정보는 상기 제2 복수의 리스팅으로부터의 적어도 하나의 리스팅 및 상기 시드 필터 콘텍스트를 포함함 - 를 포함하는
    방법.
  11. 제10항에 있어서,
    상기 시드 필터 콘텍스트 내의 적어도 하나의 필터를 식별하는 단계는 상기 네트워크 기반 마켓플레이스 상에서 계층적 카테고리 구조로 상기 시드 리스팅을 제시하기 위해 활용되는 상기 시드 리스팅 내에 포함된 카테고리에 기반하는
    방법.
  12. 제10항에 있어서,
    상기 시드 필터 콘텍스트 내의 필터의 수는 사전결정된 파라미터에 의해 한정되는
    방법.
  13. 제10항에 있어서,
    상기 제1 속성-값 쌍은 제1 속성 및 제1 값을 포함하는
    방법.
  14. 제13항에 있어서,
    상기 제1 값은 상기 시드 리스팅으로부터 추출된 상기 속성에 대응하는 값으로 초기화되는
    방법.
  15. 제10항에 있어서,
    적어도 하나의 제2 필터를 포함하는 시드 필터 제안을 식별하는 단계를 더 포함하되, 상기 시드 필터 제안을 식별하는 단계는 상기 시드 필터 콘텍스트에 기반하는
    방법.
  16. 제15항에 있어서,
    상기 제1 복수의 리스팅은 표제를 포함하는 리스팅을 포함하되, 상기 적어도 하나의 제2 필터를 포함하는 상기 시드 필터 제안을 식별하는 것은 상기 제1 속성-값 쌍이 상기 표제 내에 무작위로 발생하는 확률에 기반하여 상기 적어도 하나의 제2 필터를 정렬하는 것을 포함하는
    방법.
  17. 제10항에 있어서,
    상기 시드 필터 콘텍스트에 기반하여 후보 검색 결과를 식별하는 단계 - 상기 후보 검색 결과는 하나 이상의 후보 리스팅을 포함함 - 와,
    상기 시드 리스팅에 따라 아이템 유사도 순위에 기반하여 상기 후보 검색 결과를 정렬하여 상기 검색 결과를 생성하는 단계를 더 포함하되, 상기 아이템 유사도 순위는 상기 시드 리스팅에 가장 유사한 것부터 상기 시드 리스팅에 가장 덜 유사한 것으로의 상기 하나 이상의 후보 리스팅의 순위인
    방법.
  18. 제17항에 있어서,
    상기 시드 리스팅에 가장 유사한 상기 후보 검색 결과의 부분을 선택하는 단계와,
    사용자에 의해 선택된 기준에 따라 상기 후보 검색 결과의 상기 부분을 정렬하여 상기 검색 결과를 생성하는 단계를 더 포함하는
    방법.
  19. 머신(machine)의 프로세서에 의해 실행되는 경우 상기 머신으로 하여금 제10항 내지 제18항 중 어느 한 항의 방법을 수행하게 하는 명령어 세트를 저장하는 머신 판독가능 저장 매체.
KR1020197030251A 2015-08-14 2016-08-12 검색을 시드하는 시스템 및 방법 KR102151905B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/827,196 2015-08-14
US14/827,196 US10839441B2 (en) 2014-06-09 2015-08-14 Systems and methods to seed a search
PCT/US2016/046894 WO2017031002A1 (en) 2015-08-14 2016-08-12 Systems and methods to seed a search

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020187007243A Division KR102035435B1 (ko) 2015-08-14 2016-08-12 검색을 시드하는 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20190119679A KR20190119679A (ko) 2019-10-22
KR102151905B1 true KR102151905B1 (ko) 2020-09-03

Family

ID=57995527

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020187007243A KR102035435B1 (ko) 2015-08-14 2016-08-12 검색을 시드하는 시스템 및 방법
KR1020197030251A KR102151905B1 (ko) 2015-08-14 2016-08-12 검색을 시드하는 시스템 및 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020187007243A KR102035435B1 (ko) 2015-08-14 2016-08-12 검색을 시드하는 시스템 및 방법

Country Status (5)

Country Link
US (1) US10839441B2 (ko)
EP (1) EP3335132A4 (ko)
KR (2) KR102035435B1 (ko)
CN (2) CN108140212B (ko)
WO (1) WO2017031002A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220057918A (ko) 2020-10-30 2022-05-09 삼성에스디에스 주식회사 컨텐츠 필터링 및 정렬 방법 및 그 장치
WO2023229080A1 (ko) * 2022-05-23 2023-11-30 쿠팡 주식회사 아이템 정보 검색 방법 및 이를 위한 전자 장치

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10904178B1 (en) 2010-07-09 2021-01-26 Gummarus, Llc Methods, systems, and computer program products for processing a request for a resource in a communication
US10033672B1 (en) 2012-10-18 2018-07-24 Sitting Man, Llc Methods and computer program products for browsing using a communicant identifier
US10019135B1 (en) 2012-10-18 2018-07-10 Sitting Man, Llc Methods, and computer program products for constraining a communication exchange
US10210262B2 (en) 2014-06-09 2019-02-19 Ebay Inc. Systems and methods to identify a filter set in a query comprised of keywords
US10839441B2 (en) 2014-06-09 2020-11-17 Ebay Inc. Systems and methods to seed a search
US10459608B2 (en) * 2014-12-01 2019-10-29 Ebay Inc. Mobile optimized shopping comparison
US10515086B2 (en) * 2016-02-19 2019-12-24 Facebook, Inc. Intelligent agent and interface to provide enhanced search
US20180137124A1 (en) * 2016-11-15 2018-05-17 Twiggle Ltd. Translation of a search query into search operators
CN110347910A (zh) * 2019-05-28 2019-10-18 成都美美臣科技有限公司 一个电子商务网站搜索结果过滤规则
CN111488520B (zh) * 2020-03-19 2023-09-26 武汉工程大学 一种农作物种植种类推荐信息处理装置、方法及存储介质
CN111460257B (zh) * 2020-03-27 2023-10-31 北京百度网讯科技有限公司 专题生成方法、装置、电子设备和存储介质
KR102344371B1 (ko) * 2021-03-31 2021-12-29 쿠팡 주식회사 전자 장치 및 그의 정보 제공 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020138481A1 (en) 2001-03-23 2002-09-26 International Business Machines Corporation Searching product catalogs
US20040019536A1 (en) 2002-07-23 2004-01-29 Amir Ashkenazi Systems and methods for facilitating internet shopping
US20040260621A1 (en) 2002-10-21 2004-12-23 Foster Benjamin David Listing recommendation in a network-based commerce system
US8954422B2 (en) 2010-07-30 2015-02-10 Ebay Inc. Query suggestion for E-commerce sites

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010034694A1 (en) 2000-02-25 2001-10-25 Elias Brian K. System for providing an online collectibles marketplace
US20030217052A1 (en) 2000-08-24 2003-11-20 Celebros Ltd. Search engine method and apparatus
US20020065762A1 (en) 2000-11-28 2002-05-30 Lee Ho Soo Method and visual interface for evaluating multi-attribute bids in a network environment
US20050125240A9 (en) * 2002-10-21 2005-06-09 Speiser Leonard R. Product recommendation in a network-based commerce system
US7428528B1 (en) 2004-03-31 2008-09-23 Endeca Technologies, Inc. Integrated application for manipulating content in a hierarchical data-driven search and navigation system
JP2008537225A (ja) * 2005-04-11 2008-09-11 テキストディガー,インコーポレイテッド クエリについての検索システムおよび方法
US20060253423A1 (en) 2005-05-07 2006-11-09 Mclane Mark Information retrieval system and method
JP4172801B2 (ja) * 2005-12-02 2008-10-29 インターナショナル・ビジネス・マシーンズ・コーポレーション テキストからキーワードを検索する効率的なシステム、および、その方法
US7752190B2 (en) 2005-12-21 2010-07-06 Ebay Inc. Computer-implemented method and system for managing keyword bidding prices
US7627565B2 (en) 2006-01-31 2009-12-01 Northwestern University Organizing context-sensitive search results
US7831472B2 (en) * 2006-08-22 2010-11-09 Yufik Yan M Methods and system for search engine revenue maximization in internet advertising
US7996282B1 (en) * 2006-09-29 2011-08-09 Amazon Technologies, Inc. Method and system for selecting and displaying items
NO325864B1 (no) * 2006-11-07 2008-08-04 Fast Search & Transfer Asa Fremgangsmåte ved beregning av sammendragsinformasjon og en søkemotor for å støtte og implementere fremgangsmåten
US7979321B2 (en) 2007-07-25 2011-07-12 Ebay Inc. Merchandising items of topical interest
US8438069B2 (en) 2007-08-23 2013-05-07 Ebay Inc. Methods and systems to facilitate a purchase of an item on a network-based marketplace
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
US20100082410A1 (en) 2008-09-29 2010-04-01 Catherine Baudin Method and apparatus for a data processing system
US8341167B1 (en) * 2009-01-30 2012-12-25 Intuit Inc. Context based interactive search
US20100241639A1 (en) 2009-03-20 2010-09-23 Yahoo! Inc. Apparatus and methods for concept-centric information extraction
US9336299B2 (en) * 2009-04-20 2016-05-10 Microsoft Technology Licensing, Llc Acquisition of semantic class lexicons for query tagging
CN102103606A (zh) * 2009-12-18 2011-06-22 北京闻言科技有限公司 一种在手机客户端上实现高级检索商品的技术
US8874566B2 (en) 2010-09-09 2014-10-28 Disney Enterprises, Inc. Online content ranking system based on authenticity metric values for web elements
US8682740B2 (en) 2010-10-26 2014-03-25 Cbs Interactive Inc. Systems and methods using a manufacturer line, series, model hierarchy
US8898169B2 (en) 2010-11-10 2014-11-25 Google Inc. Automated product attribute selection
CN102073684B (zh) * 2010-12-22 2014-08-13 百度在线网络技术(北京)有限公司 搜索日志的挖掘方法、时效性需求识别的方法及对应装置
US8996495B2 (en) 2011-02-15 2015-03-31 Ebay Inc. Method and system for ranking search results based on category demand normalized using impressions
US20120278127A1 (en) 2011-04-28 2012-11-01 Rawllin International Inc. Generating product recommendations based on dynamic product context data and/or social activity data related to a product
US9239890B2 (en) 2011-05-31 2016-01-19 Fanhattan, Inc. System and method for carousel context switching
US20130173370A1 (en) 2011-12-30 2013-07-04 Ebay Inc. Systems and methods for providing information to consumers
US20130191365A1 (en) * 2012-01-19 2013-07-25 Mauritius H.P.M. van Putten Method to search objectively for maximal information
US20150052098A1 (en) * 2012-04-05 2015-02-19 Thomson Licensing Contextually propagating semantic knowledge over large datasets
US20130290208A1 (en) 2012-04-30 2013-10-31 Gild, Inc. Social media data filtering for electronic job recruiting
US9183239B2 (en) 2012-12-04 2015-11-10 Linkedin Corporation Optimizing a content index for target audience queries
CN103870489B (zh) * 2012-12-13 2016-12-21 北京信息科技大学 基于搜索日志的中文人名自扩展识别方法
US9542652B2 (en) 2013-02-28 2017-01-10 Microsoft Technology Licensing, Llc Posterior probability pursuit for entity disambiguation
US9104718B1 (en) 2013-03-07 2015-08-11 Vast.com, Inc. Systems, methods, and devices for measuring similarity of and generating recommendations for unique items
CN104239300B (zh) * 2013-06-06 2017-10-20 富士通株式会社 从文本中挖掘语义关键词的方法和设备
US9299098B2 (en) 2013-08-13 2016-03-29 Ebay Inc. Systems for generating a global product taxonomy
US20150066674A1 (en) 2013-08-30 2015-03-05 Michael Liu Systems and methods to identify and associate related items
CN103488787B (zh) * 2013-09-30 2017-12-19 北京奇虎科技有限公司 一种基于视频搜索的在线播放入口对象的推送方法和装置
CN103544267B (zh) * 2013-10-16 2017-05-03 北京奇虎科技有限公司 一种基于搜索建议词进行搜索的方法以及装置
US9330166B2 (en) * 2013-11-12 2016-05-03 International Business Machines Corporation User-specific search over protected contextual data
CN104679778B (zh) * 2013-11-29 2019-03-26 腾讯科技(深圳)有限公司 一种搜索结果的生成方法及装置
US20150154251A1 (en) 2013-12-03 2015-06-04 Ebay Inc. Systems and methods to adapt search results
US9507855B2 (en) * 2014-01-02 2016-11-29 Renew Data Corp. System and method for searching index content data using multiple proximity keyword searches
US10839441B2 (en) 2014-06-09 2020-11-17 Ebay Inc. Systems and methods to seed a search
US10210262B2 (en) 2014-06-09 2019-02-19 Ebay Inc. Systems and methods to identify a filter set in a query comprised of keywords

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020138481A1 (en) 2001-03-23 2002-09-26 International Business Machines Corporation Searching product catalogs
US20040019536A1 (en) 2002-07-23 2004-01-29 Amir Ashkenazi Systems and methods for facilitating internet shopping
US20040260621A1 (en) 2002-10-21 2004-12-23 Foster Benjamin David Listing recommendation in a network-based commerce system
US7831476B2 (en) 2002-10-21 2010-11-09 Ebay Inc. Listing recommendation in a network-based commerce system
US8954422B2 (en) 2010-07-30 2015-02-10 Ebay Inc. Query suggestion for E-commerce sites

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220057918A (ko) 2020-10-30 2022-05-09 삼성에스디에스 주식회사 컨텐츠 필터링 및 정렬 방법 및 그 장치
WO2023229080A1 (ko) * 2022-05-23 2023-11-30 쿠팡 주식회사 아이템 정보 검색 방법 및 이를 위한 전자 장치

Also Published As

Publication number Publication date
CN108140212B (zh) 2022-08-09
US10839441B2 (en) 2020-11-17
KR20190119679A (ko) 2019-10-22
WO2017031002A1 (en) 2017-02-23
KR102035435B1 (ko) 2019-10-22
US20170206578A9 (en) 2017-07-20
KR20180039154A (ko) 2018-04-17
EP3335132A1 (en) 2018-06-20
US20170046764A1 (en) 2017-02-16
CN115222484A (zh) 2022-10-21
CN108140212A (zh) 2018-06-08
EP3335132A4 (en) 2019-01-16

Similar Documents

Publication Publication Date Title
KR102151905B1 (ko) 검색을 시드하는 시스템 및 방법
US11308174B2 (en) Systems and methods to identify a filter set in a query comprised of keywords
US11062369B2 (en) Providing informational tags within networked systems
US11734736B2 (en) Building containers of uncategorized items
US9489461B2 (en) Search ranking diversity based on aspect affinity
US20150066674A1 (en) Systems and methods to identify and associate related items
WO2015048292A2 (en) Method for displaying and navigating internet search results
US10643142B2 (en) Search term prediction
US20140344114A1 (en) Methods and systems for segmenting queries
WO2009008985A1 (en) System and method for processing categorized product listings with associated computer-implemented information tags
US20240078583A1 (en) Custom attributes for search
US20230394549A1 (en) Complementary item recommendation system

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right