KR20210099168A - 제품 타이틀 선택 기법 - Google Patents
제품 타이틀 선택 기법 Download PDFInfo
- Publication number
- KR20210099168A KR20210099168A KR1020217024036A KR20217024036A KR20210099168A KR 20210099168 A KR20210099168 A KR 20210099168A KR 1020217024036 A KR1020217024036 A KR 1020217024036A KR 20217024036 A KR20217024036 A KR 20217024036A KR 20210099168 A KR20210099168 A KR 20210099168A
- Authority
- KR
- South Korea
- Prior art keywords
- item
- product
- title
- product title
- machine
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0641—Shopping interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
제품 타이틀을 선택하는 시스템 및 방법을 설명한다. 시스템은 네트워크 기반의 시장에서 판매를 위해 제공되는 아이템들을 제각기 설명하는 아이템 목록들의 세트를 식별한다. 각각의 아이템 목록은, 네트워크 기반의 시장에서 제품 타이틀과 연계되어 있지 않는 제품 식별자로서 아이템 목록과 매칭되는 제품 식별자를 포함한다. 각각의 아이템 목록은 또한, 아이템 타이틀을 포함한다. 시스템은 아이템 목록들로부터 특징 값들을 추출하고 해당 특징 값들을 처리한다. 시스템은 특징 값들을 평가해서 아이템 타이틀들의 세트에 포함되는 아이템 타이틀로부터 제품 타이틀을 채택한다. 시스템은 제품 타이틀을 포함하는 제품 사용자 인터페이스를 생성한다. 마지막으로, 시스템은 클라이언트 머신 상에 디스플레이하기 위해 네트워크를 통해 제품 사용자 인터페이스와 통신한다. 제품 사용자 인터페이스는 제품 타이틀을 포함한다.
Description
본 특허 문헌의 개시내용의 일부는 저작권 보호의 대상이 되는 자료를 포함한다. 저작권자는, 특허상표청의 특허 파일 또는 기록에서 보여지듯이, 특허 문헌 또는 특허 개시물의 누군가에 의한 복제에는 이의가 없지만, 그 이외의 경우는 모든 저작권을 보유한다. 이하의 통지는, 후술되는 바와 같은, 또한 이 문헌의 일부를 구성하는 도면에서 설명되는 바와 같은 소프트웨어 및 데이터에 적용된다: 저작권(Copyright) 이베이 인크.(eBay, Inc.) 2014, 판권소유(All Rights Reserved).
[관련 출원]
본 국제 출원은, 그 전부가 본 명세서에 참조로 포함되는 "SYSTEMS AND METHODS TO SELECT A PRODUCT TITLE"이라는 명칭으로 2016년 10월 11일자로 출원된 미국 특허 출원 제15/290,648호에 대한 우선권의 이익을 주장한다.
[기술분야]
예시적인 실시형태들은 일반적으로 정보 검색을 위한 데이터를 준비하는 기술 분야에 관한 것이고, 하나의 특정 실시예에 있어서는, 제품 타이틀의 선택을 가능하게 하도록 제품 타이틀 모델을 구성하는 것에 관한 것이다.
네트워크 기반의 시장에서 판매를 위해 제공되는 아이템은 특정 제품을 예시할 수 있다. 또한, 해당 아이템은 제품명을 포함하는 제품 웹페이지와 함께 전자 커뮤니티에 제시될 수도 있다.
첨부 도면의 다양한 도면들은 단지 본 개시물의 예시적인 실시형태를 예시하며 그 범위를 제한하는 것으로 간주될 수 없다.
도 1a는, 일 실시형태에 따른, 제품 타이틀을 선택하는 시스템을 예시하고;
도 1b는, 일 실시형태에 따른, 제품 타이틀을 선택하는 방법을 예시하고;
도 2a는, 일 실시형태에 따른, 제품 타이틀 디렉토리를 예시하고;
도 2b는, 일 실시형태에 따른, 제품 타이틀 요소를 예시하고;
도 3a는, 일 실시형태에 따른, 제품 타이틀 모델을 예시하고;
도 3b는, 일 실시형태에 따른, 특징(feature) 요소를 예시하고;
도 4a는, 일 실시형태에 따른, 아이템 목록을 예시하고;
도 4b는, 일 실시형태에 따른, 카테고리 정보를 예시하고;
도 4c는, 일 실시형태에 따른, 카테고리 요소를 예시하고;
도 5는, 일 실시형태에 따른, 카테고리 정보를 예시하고;
도 6은, 일 실시형태에 따른, 제품 타이틀을 선택하는 방법을 예시하고;
도 7a는, 일 실시형태에 따른, 제품 타이틀을 채택하는 방법을 예시하고;
도 7b는, 일 실시형태에 따른, 특징 값을 평가하는 방법을 예시하고;
도 8은 특징 값을 추출 및 처리하는 방법을 예시하고;
도 9는, 일 실시형태에 따른, 제품 타이틀 모델을 트레이닝하는 방법을 예시하고;
도 10은, 일 실시형태에 따른, 제품 타이틀 모델을 업데이트하는 방법을 예시하고;
도 11은 상위 레벨의 클라이언트-서버 기반의 네트워크 아키텍처의 예시적인 실시형태를 예시하는 블럭도이고;
도 12는 게재(publication) 시스템의 예시적인 실시형태를 예시하는 블럭도이고;
도 13은, 일 실시형태에 따른, 게재 시스템에 의해 이용되는 테이블들을 예시하는 블럭도이고;
도 14는, 일 실시형태에 따른, 소프트웨어 아키텍처를 예시하는 블럭도이고;
도 15는 머신으로 하여금 본 명세서에서 논의되는 방법론들 중 어느 하나 이상을 수행하게 하기 위한 일련의 명령어가 실행될 수 있는 컴퓨팅 시스템의 예시적인 형태의 머신의 블럭도이다.
도 1a는, 일 실시형태에 따른, 제품 타이틀을 선택하는 시스템을 예시하고;
도 1b는, 일 실시형태에 따른, 제품 타이틀을 선택하는 방법을 예시하고;
도 2a는, 일 실시형태에 따른, 제품 타이틀 디렉토리를 예시하고;
도 2b는, 일 실시형태에 따른, 제품 타이틀 요소를 예시하고;
도 3a는, 일 실시형태에 따른, 제품 타이틀 모델을 예시하고;
도 3b는, 일 실시형태에 따른, 특징(feature) 요소를 예시하고;
도 4a는, 일 실시형태에 따른, 아이템 목록을 예시하고;
도 4b는, 일 실시형태에 따른, 카테고리 정보를 예시하고;
도 4c는, 일 실시형태에 따른, 카테고리 요소를 예시하고;
도 5는, 일 실시형태에 따른, 카테고리 정보를 예시하고;
도 6은, 일 실시형태에 따른, 제품 타이틀을 선택하는 방법을 예시하고;
도 7a는, 일 실시형태에 따른, 제품 타이틀을 채택하는 방법을 예시하고;
도 7b는, 일 실시형태에 따른, 특징 값을 평가하는 방법을 예시하고;
도 8은 특징 값을 추출 및 처리하는 방법을 예시하고;
도 9는, 일 실시형태에 따른, 제품 타이틀 모델을 트레이닝하는 방법을 예시하고;
도 10은, 일 실시형태에 따른, 제품 타이틀 모델을 업데이트하는 방법을 예시하고;
도 11은 상위 레벨의 클라이언트-서버 기반의 네트워크 아키텍처의 예시적인 실시형태를 예시하는 블럭도이고;
도 12는 게재(publication) 시스템의 예시적인 실시형태를 예시하는 블럭도이고;
도 13은, 일 실시형태에 따른, 게재 시스템에 의해 이용되는 테이블들을 예시하는 블럭도이고;
도 14는, 일 실시형태에 따른, 소프트웨어 아키텍처를 예시하는 블럭도이고;
도 15는 머신으로 하여금 본 명세서에서 논의되는 방법론들 중 어느 하나 이상을 수행하게 하기 위한 일련의 명령어가 실행될 수 있는 컴퓨팅 시스템의 예시적인 형태의 머신의 블럭도이다.
이하의 설명은 본 개시물의 예시적인 실시형태들을 구체화하는 시스템, 방법, 기술, 명령어 시퀀스, 및 계산기 프로그램 제품을 포함한다. 이하의 설명에서는, 본 발명의 청구 대상의 실시형태의 이해를 제공하기 위해, 설명을 목적으로, 다수의 특정 세부내용이 제시된다. 그러나, 본 발명의 청구 대상의 실시형태들이 이들 특정 세부내용 없이도 실시될 수 있다는 점은 당업자에게 자명할 것이다. 일반적으로, 잘 알려져 있는 명령어 인스턴스, 프로토콜, 구조, 및 기술은 상세하게 도시되지 않는다.
도 1a는, 일 실시형태에 따른, 제품 타이틀을 선택하는 시스템(100)을 예시한다. 시스템(100)은, 아이템들과 제각기 연계되는 아이템 타이틀들의 세트로부터, 동일 제품을 나타내지만 이전에 시스템(100)에 의해 제품 타이틀과 연관된 적이 없는 제품 타이틀을 선택할 수 있다. 즉, 제품의 제조업체의 타이틀은 이용 가능하더라도 사용되지는 않는다. 오히려, 시스템(100)은 인터넷 상의 전자 커뮤니티의 사용자들에 의해 제출된 아이템 타이틀들의 세트에서 제품 타이틀을 선택한다. 이를 위해, 제품 타이틀 모델을 이용하는 머신 러닝 알고리즘을 포함하는 제품 타이틀 머신이 제품 타이틀을 선택하는 데 이용되고 있다. 머신 러닝 알고리즘은 "양호(good)" 또는 "불량(bad)"으로서 태깅된 아이템 타이틀들을 제각기 포함하는 복수 세트의 아이템 목록들로 제품 타이틀 모델을 반복적으로 트레이닝함으로써 소위 "양호" 아이템 타이틀과 "불량" 아이템 타이틀을 구별하도록 교육될 수 있다. 또한, 제품 타이틀 모델은 처리 및 분석을 위해 아이템 목록들로부터 복수의 다양한 아이템 특징 및 제품 특징을 추출하라고 제품 타이틀 머신에게 지시하도록 고유하게 구성될 수 있고, 그에 따라 보다 효율적인 제품 타이틀 선택이 가능해진다. 제품 타이틀 모델을 본 개시물에 제시된 바와 같이 구성하면, 제품 타이틀 모델에서 정의된 바와 같은 아이템 특징 및 제품 특징의 관련성 있는 핵심적인 선택이 "양호" 제품 타이틀을 선택하기 위한 컴퓨팅 자원의 이용을 감소시킨다는 이유로, 제품 타이틀 머신의 기능이 향상된다. 따라서, 본 개시물에 의해 제시되며 해결되는 한 가지 문제점은 제품 타이틀 모델을 이용하는 제품 타이틀 머신이 제품에 대한 "양호" 제품 타이틀을 효율적으로 선택할 수 있게 제품 타이틀 모델을 어떻게 구성하느냐이며, 이 경우 "양호" 제품 타이틀의 선택은 인터넷 상에서 거래 및 소통하는 전자 사용자 커뮤니티에서의 인간 대화의 주기적이고 반복적인 변화(the ebbs and flows)를 인식하고 있다.
본 실시예에 있어서, 시스템(100)은 네트워크 기반의 시장을 포함할 수 있으며, 해당 네트워크 기반의 시장은 동일 제품을 제각기 예시하되 사전에 네트워크 기반의 시장에 의해 제품 타이틀과 연계되어 있지 않은 아이템들의 세트와 연계되는 아이템 타이틀들의 세트로부터 제품 타이틀을 선택할 수 있다. 이를 위해, 네트워크 기반의 시장은 아이템 타이틀들의 세트로부터 제품 타이틀을 선택하기 위해 온라인 모드에서 머신 러닝 알고리즘을 실행하는 제품 타이틀 머신을 포함한다. 머신 러닝 알고리즘은, 일부 실시형태들에 따라, 오프라인 모드에서 트레이닝된 제품 타이틀 모델을 이용한다. 제품 타이틀 모델은 아이템 타이틀들 중 하나를 제품 타이틀로서 채택하기 위해 제품 타이틀 머신에 의해 분석된 아이템 특징 및 제품 특징을 정의한다. 아이템 특징은 아이템 목록으로부터의 데이터 추출 및 머신 러닝 알고리즘에 의해 분석되기 전에 추출된 데이터의 초기 처리를 정의할 수 있다. 예를 들어, 아이템 특징인, "타이틀 길이(title length)"는 아이템 목록으로부터 아이템 타이틀의 추출 및 아이템 타이틀의 문자 수의 계수를 포함하는 초기 처리를 정의할 수 있다. 제품 특징은 아이템들의 세트 내의 각각의 아이템으로부터 추출된 데이터 및 머신 러닝 알고리즘에 의해 처리되기 전에 추출된 데이터의 초기 처리를 정의할 수 있다. 예를 들어, 제품 특징인, "평균 타이틀 길이(average title length)"는 아이템들의 세트 내의 각각의 아이템 목록으로부터 아이템 타이틀의 추출과, 추출된 아이템 타이틀들 각각의 문자 수의 계수 및 아이템 목록들의 세트 내의 아이템 목록들의 수에 의한 나누기를 포함하는 초기 처리를 정의할 수 있다. 네트워크 기반의 시장은 제품 타이틀을 선택해서, 네트워크 기반의 시장에서 판매를 위해 제공되며 동일 제품을 예시하는 아이템들을 포함하는 제품 페이지에 제품 타이틀의 제시를 가능하게 할 수 있다.
이제, 시스템(100)을 보다 상세하게 설명한다. 시스템(100)은 네트워크(103)를 통해 클라이언트 머신(105)과 통신하는 네트워크 기반의 시장(102)을 포함한다. 네트워크 기반의 시장(102)은 상품 및 서비스의 구매를 위한 전자 시장 및 판매자와 구매자가 서로 소통할 수 있는 전자 포럼을 제공한다. 이를 위해, 구매자와 판매자는 클라이언트 머신(105)과 같은 클라이언트 머신을 동작시켜서 네트워크 기반의 시장(102)과 통신하고 상품 및 서비스(예컨대, 아이템)의 전달을 위한 거래를 실행할 수 있다. 네트워크 기반의 시장(102)은 제품 타이틀 애플리케이션(104), 제품 타이틀 정보(109), 및 아이템 테이블(112)을 포함한다. 제품 타이틀 애플리케이션(104)은 제품 타이틀 모듈(106) 및 제품 타이틀 머신(108)을 포함할 수 있다. 제품 타이틀 모듈(106)은 아이템 테이블(112) 내의 아이템 목록(114)들을 연계된 제품 타이틀 없이 식별하고, 아이템 목록(114)으로부터 특징 값을 추출하고, 추출된 특징 값을 처리하고, 제품 타이틀 머신(108)을 호출해서 추출 및 전처리된 특징 값에 기초하여 제품 타이틀을 채택하고, 제품 타이틀을 심화하고, 제품 타이틀을 포함하는 제품 페이지를 생성하고, 제품 페이지를 디스플레이할 수 있다. 제품 타이틀 머신(108)은 아이템 목록들의 세트에 대응하는 아이템 타이틀들의 세트로부터 제품 타이틀을 채택하는 데 이용될 수 있다. 제품 타이틀 정보(109)는 제품 타이틀 모델(110) 및 제품 타이틀 디렉토리(111)를 포함한다. 제품 타이틀 머신(108)은 제품 타이틀 모델(110) 및 추출 및 전처리된 특징 값을 이용해서 제품 타이틀을 채택한다. 제품 타이틀 머신(108)은 제품 타이틀 모델(110)에 저장된 학습을 이용해서 제품 타이틀을 채택한다. 제품 타이틀 머신(108)은 오프라인 트레이닝 모드에서 동작하면서 학습을 저장한다. 제품 타이틀 디렉토리(111)는 제품 식별자를 제품 타이틀과 연계시킨다. 아이템 테이블(112)은 네트워크 기반의 시장(102)에서 판매를 위해 제공되는 아이템들을 설명하는 아이템 목록(114)들을 저장한다.
네트워크 기반의 시장(102)은 또한, 데이터베이스(116) 및 제3자 머신(118)에 통신 가능하게 결합되는 것으로 도시된다. 데이터베이스(116)는 제품 타이틀 정보(109), 아이템 테이블(112), 및 그 밖의 데이터 구조를 지속적으로 저장하기 위해 네트워크 기반의 시장(102)에 의해 이용될 수 있다. 제3자 머신(118)은, 다른 실시형태에 따르면, 제품 타이틀을 선택하기 위한 아이템 목록(114)들의 대체 소스로서 네트워크 기반의 시장(102)에 의해 이용될 수 있다. 또한, 제3자 머신(118)은, 다른 실시형태에 따르면, 제품 타이틀 애플리케이션(104)을 실행해서 제품 타이틀을 선택할 수 있다.
제품 페이지(120)는 특정 제품을 예시하는 제품 타이틀(122), 제품 디스크립터(124), 및 아이템(126)을 포함한다. 제품 타이틀 애플리케이션(104)은 제품 식별자(예컨대, ISBN(International Standard Book Number))와 연계하여 제품 타이틀(122)을 생성하는 데 이용될 수 있다. 예를 들어, 제품 페이지(120)는 제품 타이틀(122), 즉 "APPLE IPOD TOUCH 3RD GENERATION"과, 제품 디스크립터, 즉 제품 변화를 설명하는 "PRODUCT VARIATIONS", 경매, 구매 등과 같은 구매 옵션을 제공하는 "BUYING OPTIONS", 및 제품에 대하여 이용 가능한 최상의 거래를 설명하는 "BEST DEAL"을 포함한다.
도 1b는, 일 실시형태에 따른, 제품 타이틀을 선택하는 방법(130)을 예시한다. 제품 타이틀을 선택하는 방법(130)을 더 상세하게 설명한다. 동작(132)에서, 제품 타이틀 모듈(106)은 아이템 테이블(112) 내의 아이템 목록(114)들의 세트를 식별할 수 있다. 제품 타이틀 모듈(106)은 네트워크 기반의 시장(102)에서 제품 타이틀(122)과 연계되어 있지 않은 특정 제품 식별자를 포함하는 것으로서 각각의 아이템 목록을 식별한다. 동작(134)에서, 제품 타이틀 모듈(106)은 아이템 목록들의 세트로부터 아이템 특징 값 및 제품 특징 값을 추출하고, 추출된 특징 값들을 전처리한다. 동작(136)에서, 제품 타이틀 머신(108)은 머신 러닝 알고리즘을 이용해서, 추출 및 전처리된 특징 값들을 분석하여 아이템 목록(114)들의 세트 내의 아이템 타이틀들로부터 제품 타이틀(122)을 채택한다. 머신 러닝 알고리즘은, 머신 러닝 알고리즘이 "양호" 제품 타이틀을 채택할 수 있게 하기 위해 사전에 오프라인 모드에서 트레이닝된 제품 타이틀 모델(110)을 이용한다. 제품 타이틀 모델(110)은 제품 타이틀(122)을 선택하는 데 이용된 아이템 특징 및 제품 특징을 정의하고 가중한다. 동작(138)에서, 제품 타이틀 모듈(106)은 선택된 제품 타이틀(122)을 심화할 수 있다. 예를 들어, 제품 타이틀 모듈(106)은 제품 타이틀의 특정 단어에서 글자의 외형을 소문자에서 대문자로 변경(예컨대, "ebay" = "eBay")해서 제품 타이틀을 심화할 수 있다. 다른 심화방법이 수행될 수도 있다. 동작(140)에서, 제품 타이틀 모듈(106)은 제품 타이틀(122)을 포함하는 제품 페이지(120)를 생성할 수 있다. 동작(142)에서, 제품 타이틀 모듈(106)은 클라이언트 머신(105)의 모니터에 디스플레이하기 위해 네트워크를 통해 제품 페이지(120)와 통신할 수 있다.
도 2a는, 일 실시형태에 따른, 제품 타이틀 디렉토리(111)를 예시한다. 제품 타이틀 디렉토리(111)는 제품 타이틀(122)이 채택되었는지의 여부를 식별하기 위해 제품 타이틀 애플리케이션(104)에 의해 이용되는 제품 타이틀 요소(200)들을 포함할 수 있다.
도 2b는, 일 실시형태에 따른, 제품 타이틀 요소(200)를 예시한다. 제품 타이틀 요소(200)는 제품 타이틀(122) 및 제품 식별자(202)를 포함할 수 있다. 제품 타이틀(122)은, 제품 타이틀(122)을 형성하는 글자, 숫자, 또는 특수 문자로 이루어진 문자열을 포함할 수 있다. 예를 들어, 제품 타이틀(122)은 아이템 목록(114)의 아이템 타이틀로부터 추출될 수 있으며, 선택적으로, 도 1a에 도시된 바와 같이, 제품 페이지(120) 상에서의 디스플레이를 위해 심화될 수 있다. 일부 사례들에 있어서는, 제품 타이틀(122)이 초기화되지 않을 수 있으며, 그에 따라 연계된 제품 식별자(202)에 대하여 제품 타이틀(122)이 선택되지 않았음을 의미한다. 예를 들어, 제품 타이틀(122)은, 연계된 제품 식별자(202)에 대하여 제품 타이틀(122)이 채택되지 않았음을 나타내는, 널(null) 값("0")을 포함할 수 있다.
제품 식별자(202)는 제품 식별자 타입 및 제품 식별자 값을 포함할 수 있다. 제품 식별자 타입은 제품 식별자의 특정 스킴을 특정한다. 예를 들어, 제품 식별자 타입은 UPC(Universal Product Code), EAN(European article number), JAN(Japanese Article Number), ISBN, MPN(manufacturer part number) 등을 포함할 수 있다. 제품 식별자 값은 제품 식별자 타입에 대하여 제품을 고유하게 식별한다. 예를 들어, 제품 식별자 값 "123456"은 UPC 제품을 고유하게 식별할 수 있다.
도 3a는, 일 실시형태에 따른, 제품 타이틀 모델(110)을 예시한다. 제품 타이틀 모델(110)은 제품 타이틀을 채택하기 위해 제품 타이틀 머신(108)에 의해 이용될 수 있다. 제품 타이틀 모델(110)은, 일부 실시형태들에 따라, 트레이닝 모드에서 획득되는 학습을 더 저장할 수 있다. 제품 타이틀 모델(110)은 제품 타이틀 머신(108)에 의해 분석된 특징들을 정의하는 다수의 특징 요소(300)를 포함할 수 있다.
도 3b는, 일 실시형태에 따른, 특징 요소(300)를 예시한다. 특징 요소(300)는 특징 식별자(302), 특징 타입 정보(304), 값 타입 정보(306), 특징 목록 정보(308), 특징 가중 정보(310), 및 특징 상태 정보(312)를 포함할 수 있다. 특징 식별자(302)는 제품 타이틀 모델(110) 내의 특징 요소(300)를 고유하게 식별한다. 특징 타입 정보(304)는 특징이 "아이템 특징"인지 또는 "제품 특징"인지의 여부를 나타낸다. "아이템 특징"은 특정 아이템 목록(114)을 특정하는 특징 값을 정의한다. 제품 특징은 아이템 목록들의 세트(예컨대, 제품)에 관하여 특정 아이템 목록(114)을 특정하는 특징 값을 정의한다. 값 타입 정보(306)는 특징 요소가 불(Boolean)형, 카테고리형, 또는 연속형인지의 여부를 저장한다. 불형은 TRUE 또는 FALSE, PASS 또는 FAIL 등의 값을 갖는 특징 요소(300)를 나타낸다. 카테고리형은 소정의 값의 형태의 특징 요소(300)를 나타낸다. 예를 들어, 소정의 특징 "color"는 소정의 값 "적색", "녹색", "청색" 등과 연계될 수 있다. 연속형은 수치 형태의 특징 요소(300)를 나타낸다. 예를 들어, 특징, 즉 "평균 문자 수(average number of characters)"는 숫자 "33"으로 표현될 수 있다.
특징 목록 정보(308)는 불형, 카테고리형, 또는 연속형의 특징 값을 생성하기 위해 아이템 목록(114)으로부터의 데이터의 추출 및 추출된 데이터의 전처리를 정의한다. 특징 값은 제품 타이틀을 선택하기 위해 머신 러닝 알고리즘에 의해 이용될 수 있다.
예시적인 특징 목록 정보(308)의 비-포괄적 리스트가 아래에 제공된다. 표 1-4는 아이템 특징의 실시예들을 설명하고, 표 5는 제품 특징의 실시예들을 제공한다.
표 1은 불형을 생성하기 위해 아이템 목록(114)으로부터 아이템 타이틀(400)의 추출 및 아이템 타이틀(400)의 전처리를 정의하는 아이템 특징을 설명한다. 불형은 후속하여 제품 타이틀(122)을 채택하기 위해 제품 타이틀 머신(108)에 의해 이용될 수 있다.
표 1 ― 아이템 특징(Item Feature) ― 타이틀 추출, 불형
특징 "1"(예컨대, 특징 ID "1")은 아이템 타이틀(400) 내의 모든 문자가 대문자 또는 소문자이면 PASS가 된다. 따라서, 해당 실시예에서의 모든 문자, 즉 "g debr g debrekht kodiak family ornament"가 소문자이기 때문에, 해당 실시예에 대해서는 PASS가 생성된다.
특징 "2"는 아이템 타이틀(400)에 수량 토큰이 없으면 PASS가 된다. 따라서, 해당 실시예, 즉 "Set of 3 Saks"가 수량 토큰(예컨대, "Set of 3")을 포함하기 때문에, FAIL이 생성된다.
특징 "3"은 아이템 타이틀(400)에 조건 토큰(들)이 없으면 PASS가 된다. 따라서, 예시적인 아이템 타이틀(400), 즉 "Very Volatile Clyde Womens Size 6 Black Fashion Knee-High Boots New/Display"이 조건 토큰 "New/Display"를 포함하기 때문에 FAIL이 생성된다.
특징 "4"는 아이템 타이틀(400)에 중복 토큰이 없으면 PASS가 된다. 따라서, 예시적인 아이템 타이틀(400), 즉 "G. Loomis NativeRun GLX Fly and Spey Rods FR1147 4 GLX"가 중복 토큰, 즉 "GLX" 및 "GLX"를 포함하기 때문에, FAIL이 생성된다.
특징 "5"는 아이템 타이틀(400)에 번들링을 나타내는 토큰이 없으면 PASS가 된다. 따라서, 예시적인 아이템 타이틀(400), 즉 "Essentials Bundle for Fuji X-A1 X-E1 X-E2 X-M1 X-T1 with 16-50mm or 18-55mm Lens"가 번들링을 나타내는 토큰("Essentials Bundle")을 포함하기 때문에, FAIL이 생성된다. 일 실시형태에 따르면, 토큰이 번들링을 나타내는지의 여부가 토큰 번들링 리스트에 기초하여 식별될 수 있다. 예를 들어, 특징 "5"는 아이템 타이틀(400) 내의 토큰이 토큰 번들링 리스트 내의 토큰과 매칭되지 않으면 PASS가 된다.
특징 "6"은 아이템 타이틀(400)에 키워드 채우기가 없으면 PASS가 된다. 따라서, 예시적인 아이템 타이틀(400), 즉 "Fuel Shut Off For Massey Ferguson Tractor 3140 360 3645 364s 3655 396"이 키워드 "3140", "360", "3645", "364s", "3655", 및 "396"을 포함하기 때문에, FAIL이 생성된다. 일 실시예에 따르면, 토큰이 채우기를 나타내는지의 여부가 키워드 채움 리스트에 기초하여 식별될 수 있다. 예를 들어, 특징 "6"은 아이템 타이틀(400) 내의 토큰이 키워드 채움 리스트의 토큰과 매칭되지 않으면 PASS가 된다.
표 2는 불형을 생성하기 위해 아이템 목록(114)으로부터 아이템 타이틀(114)의 추출 및 아이템 타이틀의 전처리를 정의하는 아이템 특징을 설명한다. 불형은 후속하여 제품 타이틀(122)을 채택하기 위해 제품 타이틀 머신(108)에 의해 이용될 수 있다.
표 2 ― 아이템 특징(Item Feature) ― 타이틀 추출, 불형(계속)
특징 "7"은 타이틀에 배송 토큰이 없으면 PASS가 된다. 예시적인 아이템 타이틀(400), 즉 "10' x 10' Rap Mansion and Car Combo Hip Hop Background Backdrop FREE SHIPPING to ..."가 배송 토큰, 즉 "FREE SHIPPING"을 포함하기 때문에, FAIL이 생성된다.
특징 "8"은 아이템 타이틀(400)에 "결락 데이터"가 없으면 PASS가 된다. 일 실시형태에 따르면, 아이템 타이틀(400)이 "결락 데이터"를 나타내는지의 여부가 필요 데이터 리스트에 기초하여 정의될 수 있다. 예를 들어, 특징 "8"은 아이템 타이틀(400) 내의 토큰이 필요 데이터 리스트 내의 토큰과 매칭되면 PASS가 된다. 실시예에 있어서, 예시적인 아이템 타이틀(400), 즉 "Taylor Three Light Pendant Holder in Merlot Bronze"가 필요 브랜드 데이터 리스트 내의 적어도 하나의 토큰과 매칭되는 토큰을 포함하지 않기 때문에, 결과는 FAIL이다.
특징 "9"는 타이틀에 특수 문자가 없으면 PASS가 된다. 예시적인 아이템 타이틀(400), 즉 "8'x8' MANSION AND CAR COMBO URBAN RAP CLUB HIP HOP BACKDROP® BACKGROUND"가 특수 문자 "®"를 가진 토큰을 포함하기 때문에, FAIL이 생성된다.
특징 "10"은 타이틀에 가격이 없으면 PASS가 된다. 예시적인 아이템 타이틀(400), 즉 "Standard Horizon GX1300B Eclipse Ultra Compact Fixed Mount VHF Black $30 Rebate"이 토큰 "$10.00"을 포함하기 때문에, FAIL이 생성된다.
특징 "11"은 아이템 타이틀(400)에 설명 문구가 없으면 PASS가 된다. 예시적인 아이템 타이틀(400), 즉 "Best Of Harry Belafonte ― Harry Belafonte 743217894825 (CD Used Very Good)"이 토큰 "Best of"를 포함하기 때문에, FAIL이 반환된다. 아이템 타이틀(400)에 토큰 "Very Good"이 있기 때문에도 FAIL이 생성될 수 있다. 예를 들어, 설명 문구는 "설명적(descriptive)"으로 특정되는 문구를 포함하는 리스트에 기초하여 식별될 수 있다.
표 3은 적어도 아이템 목록(114)으로부터 데이터의 추출을 정의하는 아이템 특징을 설명한다. 특징 "12", "13", 및 "14"는 아이템 목록(114)으로부터 추출되는 상이한 데이터 타입들을 정의한다. 또한, 아이템 특징 "12" 및 "13"은 전처리와 연계되어 있지 않고, 카테고리형의 제품 타이틀 머신(108)에 의한 단순한 추출로서 이용된다. 특징 "14"는 카테고리형의 특징 값도 생성하기 위해 추출된 데이터의 추가적인 전처리를 정의한다. 각각의 카테고리형은 후속하여 제품 타이틀(122)을 채택하기 위해 제품 타이틀 머신(108)에 의해 이용될 수 있다.
표 3 ― 아이템 특징, 카테고리 추출 ― 카테고리형
특징 "12"는 메타-카테고리를 추출하는 것이 된다. 메타-카테고리는 아이템 목록(114)에서 카테고리 정보(420)의 메타 카테고리 위치로부터 추출된다. 예시적인 메타 카테고리, 즉 "ebay"는 도 5에 예시된 카테고리 정보(420)(예컨대, "ebay/electronics/car electronics/car audio")로부터의 추출이다.
특징 "13"은 리프-카테고리를 추출하는 것이 된다. 리프-카테고리는 아이템 목록(114)에서 카테고리 정보(420)의 리프 카테고리 위치로부터 추출된다. 예시적인 리프 카테고리, 즉 "car audio"는 도 5에 예시된 카테고리 정보(420)(예컨대, "ebay/electronics/car electronics/car audio")로부터의 추출이다.
특징 "14"는 버킷 식별자를 식별하는 것이 된다. 특징 14는 아이템 목록(114)으로부터 아이템 타이틀(400)의 추출과, 아이템 타이틀(400) 내의 문자 수를 계수하는 것, 특정 버킷을 식별하기 위해 해당 문자 수를 소정의 값(예컨대, "A", "B", "C", "D", 또는 "E")으로 지정되는 버킷들과 제각기 연계되는 일련의 문자 범위(예컨대, 01-10 문자)와 비교하는 것, 및 매칭되는 버킷을 식별하는 것을 포함하는 예비 처리를 정의한다. 타이틀 "Samsung Galaxy Note Edge SM-N915A"이 33 문자를 갖고 33 문자는 버킷 "D"와 연계되는 길이이기 때문에, 버킷 "D"는 매칭되는 버킷으로서 정의된다.
표 4는 아이템 목록(114)으로부터 아이템 타이틀(400)의 추출 및 수치 형태의 특징 값을 생성하기 위한 전처리를 정의하는 아이템 특징을 설명한다. 수치는 후속하여 제품 타이틀(122)을 채택하기 위해 제품 타이틀 머신(108)에 의해 이용될 수 있다.
표 4 ― 아이템 특징 ― 타이틀 추출, 수치
특징 "15"는 타이틀 사이즈를 생성하는 것이 된다. 특징 15는 아이템 목록(114)으로부터 아이템 타이틀(400)의 추출 및 타이틀 내의 문자 수의 계수를 포함하는 예비 처리를 정의한다. 예시적인 아이템 타이틀(400), 즉 "Samsung Galaxy Note Edge SM-N915A"에 대해서는 33의 타이틀 사이즈가 계수된다.
표 5는 제품을 포함하는 아이템 목록(114)들의 세트와 특정 아이템 목록의 비교를 설명하는 수치 형태의 연속적인 특징 값을 생성하는 제품 특징을 설명한다.
표 5 ― 제품 특징(Product Feature) ― 타이틀 ― 연속형
특징 "16"은 아이템 타이틀(400)의 사이즈를 제품과 연계되는 평균 사이즈로 나눔으로써 계산된 비율을 생성한다. 특징 16은 제품을 포함하는 아이템 목록(114)들의 세트로부터 아이템 타이틀(400)(예컨대, "Samsung Galaxy Note Edge SM-N915A", "Samsung Note Edge SM-N915A", "Samsung Galaxy Note SM-N915A")의 추출, 및 아이템 타이틀(400)들 각각에서의 문자 수를 계수하는 것, 해당 문자 수에 기초하여 제품 평균 타이틀 사이즈를 계산하는 것, 및 특정 아이템 목록(114)과 연계되는 아이템 타이틀(400)의 사이즈를 제품 타이틀 평균 사이즈로 나누는 것을 포함하는 예비 처리를 정의한다. 예를 들어, 아이템 타이틀(400), 즉 "Samsung Galaxy Note Edge SM-N915A"에서 33 문자가 계수되고, 아이템 타이틀(400), 즉, "Samsung Note Edge SM-N915A"에서 26 문자가 계수되고, 또한, 아이템 타이틀(400), 즉 "Samsung Galaxy Note SM-N915A"에서 28 문자가 계수된다. 평균 제품 타이틀 사이즈는 29 문자(예컨대, 33+26+28 = 29)로 계산된다. 제2 아이템 타이틀(400), 즉 "Samsung Note Edge SM-N915A"는 시험적으로 선택될 수 있다. 제2 아이템 타이틀(400)은 26 문자를 갖고, 29 문자의 제품 타이틀 평균 사이즈로 나눠진다. 따라서, 제2 아이템 타이틀(400)에 대한 머신 러닝 알고리즘에 의해 이용되는 제품 특징 값이 계산된다(26/29 = 0.896).
특징 "17"은 아이템 목록(114)으로부터의 가격(예컨대, "아이템 가격")(180)을 제품과 연계되는 평균 가격(예컨대, "제품 평균 가격")으로 나누어서 계산된 비율을 생성한다. 특징 17은 아이템 목록(114)들의 세트(예컨대, 제품) 중 3개의 아이템 목록(114)으로부터 가격(408)(예컨대, $1.00, $2.00, $3.00)의 추출과, 추출된 3개의 가격(408)에 기초하여 제품 평균 가격을 계산하는 것 및 특정 아이템 목록(114)과 연계되는 가격(408)을 제품 타이틀 평균 가격으로 나누는 것을 포함하는 예비 처리를 정의한다. 예를 들어, 제공된 예시적인 가격들에 대한 평균 제품 가격은 $2.00로 계산된다(($1.00 + $2.00 + $3.00)/3 = $2.00). 제1 가격(408)인 $1.00는 시험적으로 선택될 수 있다. 따라서, 가격(408) $1.00에 대한 머신 러닝 알고리즘에 의해 이용되는 제품 특징 값이 계산된다($1.00/$2.00 = 0.50).
표 6은 불형 특징 값을 생성하는 제품 특징을 설명한다.
표 6 ― 제품 특징 ― 타이틀 ― 불형
특징 "18"은 제1의 가장 빈번한 토큰을 포함하는 아이템 타이틀에 대하여 PASS를 생성한다. 특징 18은 제품을 포함하는 아이템 목록(114)들로부터 아이템 타이틀(400)들(예컨대, "Dog brown", "Cat brown", "Parrot red")의 추출과, 토큰 빈도 매트릭스를 생성하는 것, 및 특정 아이템 타이틀(400)을 가장 빈번하게 사용된 토큰을 포함하는 토큰을 포함하는 것으로 식별하는 것에 응답하여 PASS를 반환하는 것을 포함하는 예비 처리를 정의한다. 예를 들어, 표 6의 예시적인 아이템 타이틀(400)로부터 생성되는 이하의 토큰/빈도 매트릭스를 고려한다.
표 7 ― 토큰/빈도 매트릭스
따라서, "Brown"이 가장 높은 토큰 빈도와 연계되기 때문에, 아이템 타이틀(400) "Dog Brown", 및 아이템 타이틀 "Cat Brown"에 대한 머신 러닝 알고리즘에 의해 이용되는 제품 특징 값은 PASS이지만, "Parrot"이나 "Red"는 가장 높은 토큰 빈도와 연계되는 것이 아니기 때문에, 아이템 타이틀(400) "Parrot Red"는 FAIL이다.
특징 "19"는 아이템 타이틀(400)이 제2의 가장 빈번하게 사용되는 토큰을 포함하면 PASS를 생성한다. 특징 19는 특징 18과 유사한 추출 및 처리를 정의하지만, 제2의 가장 빈번하게 사용되는 토큰의 식별에 응답하여 PASS를 반환한다. 따라서, 3개의 아이템 타이틀(400) 각각이 제2의 가장 빈번하게 사용되는 토큰(예컨대, "Red", "Dog", "Cat", "Parrot")으로서 식별되는 토큰을 포함하기 때문에, 아이템 타이틀(400) "Dog Brown", 아이템 타이틀(400) "Cat Brown", 또는 아이템 타이틀(400) "Parrot Red"에 대한 머신 러닝 알고리즘에 의해 이용되는 제품 특징 값은 PASS이다.
특징 가중 정보(310)는 아이템 목록(114) 내의 아이템 타이틀(400)에 대한 아이템 타이틀 스코어를 계산하는 데 사용되는 가중치를 저장한다. 제품 타이틀 머신(108)은 학습에 응하여 가중치를 증가 또는 감소시킬 수 있다. 예를 들어, 제품 타이틀 머신(108)은 아이템 타이틀 스코어를 계산함에 있어서 상응하는 특징 요소(300)의 중요도를 증가시키기 위해 가중치를 "10"에서 "20"으로 증가시킬 수 있다. 또한, 예를 들어, 제품 타이틀 머신(108)은 아이템 타이틀 스코어를 계산함에 있어서 특징 요소(300)의 중요도를 감소시키기 위해 가중치를 "30"에서 "10"으로 감소시킬 수 있다. 다른 실시예로서, 제품 타이틀 머신(108)은 특징 요소(300)에 대한 특징 가중 정보(310)에 "0"을 저장함으로써 특징 요소(300)가 제품 타이틀(122)의 선택과 관련이 없음을 나타낼 수 있다.
특징 상태 정보(312)는 특징 요소(300)의 상태를 나타낸다. 예를 들어, 상태는 특징 요소(300)가 추가됨(예컨대, NEW), 존재함(EXISTING), 또는 제거됨(REMOVED)을 나타낼 수 있다.
도 4a는, 일 실시형태에 따른, 아이템 목록(114)을 예시한다. 아이템 목록(114)은 네트워크 기반의 시장(102)에서 판매를 위해 제공되고 있는 아이템을 설명한다. 아이템 목록(114)은 아이템을 판매하고 있는 판매자에 의해 입력될 수 있다. 아이템 목록(114)은 아이템 타이틀(400), 아이템 본문 정보(401), 및 아이템 특정 정보(423)를 포함할 수 있다. 아이템 타이틀(400), 아이템 본문 정보(401), 및 아이템 특정 정보(423)는 제품 타이틀(122)을 채택하기 위해 제품 타이틀 머신(108)에 의해 이용되는 제품 타이틀 요소(200)에 의해 식별될 수 있다. 예를 들어, 제품 타이틀 요소(200)는 아이템 타이틀(400), 아이템 본문 정보(401), 및/또는 아이템 특정 정보(423)로부터 데이터의 특정 추출, 및 선택적으로, 제품 타이틀(122)을 채택하기 위한 전처리를 식별할 수 있다.
아이템 타이틀(400)은 아이템의 타이틀이다. 아이템 본문 정보는 모든 타입의 아이템에 대하여 공통이며, 아이템 설명(402), 구조화 정보(404), 아이템의 이미지(406), 아이템을 구매하기 위한 가격(408), 아이템에 대한 현재의 최고 입찰을 포함하는 입찰(410), 내비게이트 가능한 카테고리들의 계층에서 아이템 목록(114)을 찾을 수 있는 하나 이상의 카테고리를 나타내는 카테고리 정보(420), 및 제품 식별자(202)를 포함한다. 아이템 타이틀(400)은 아이템 목록(114)의 타이틀이며, 심화할 수 있도록 제품 타이틀 머신(108)에 의해 제품 타이틀(122)로서 채택될 수 있다. 아이템 설명(402)은 아이템을 설명하는 문자숫자 텍스트를 포함할 수 있다. 구조화 정보(404)는 하나 이상의 속성값 쌍을 포함할 수 있다. 예를 들어, 아이템 목록(114)에 의해 기술되며 네트워크 기반의 시장(102)에서 판매를 위해 제공되는 아이템의 컬러를 식별하는 구조화 정보 "COLOR=BLUE"가 판매자로부터 수신될 수 있다. 또한, 예를 들어, 아이템 목록(114) 내의 아이템 타이틀(400)이 아이템 목록(114) 내의 제품 식별자(202)에 대하여 "GOOD" 또는 "BAD" 아이템 타이틀(400)이라고 머신 러닝 알고리즘을 트레이닝하기 위해, 구조화 정보(404) "ITEM TITLE=GOOD" 또는 "ITEM TITLE=BAD"가 트레이닝 태그(424)(예컨대, 레이블) 형태로 운용자로부터 수신될 수 있다. 유사한 방식으로, 다른 구조화 정보(404)가 네트워크 기반의 시장(102)에 의해 자동으로 생성되거나 또는 사용자(예컨대, 판매자)로부터 수신될 수 있다. 제품 식별자(202)는 앞서 설명되었다. 아이템 특정 정보(423)는 아이템의 타입에 대하여 고유한 정보를 저장한다. 예를 들어, 전자 장치는 전자 장치에 대하여 특정되는 아이템 특정 정보(423)를 포함한다. 예를 들어, 아이템 특정 정보(423)는 메모리의 양, 타입 마이크로프로세서 등을 포함할 수 있다. 대조적으로, 자동차는 타이어, 엔진 사이즈, 가속 측정 등을 포함하는, 자동차에 대하여 특정되는 아이템 특정 정보(423)를 갖는다.
도 4b는, 일 실시형태에 따른, 카테고리 정보(420)를 예시한다. 카테고리 정보(420)는 하나 이상의 카테고리 요소(422)를 포함할 수 있다. 하나 이상의 카테고리 요소는 제각기 카테고리들의 계층을 포함하는 경로 내의 도메인에 대응할 수 있다. 예를 들어, 경로 "eBay/electronics/car electronics/car audio"는 제각기 도메인 "eBay", "electronics", "car electronics", 및 "car audio"에 대응하는 4개의 카테고리 요소를 포함한다.
도 4c는, 일 실시형태에 따른, 카테고리 요소(422)를 예시한다. 카테고리 요소(422)는 카테고리 타입 식별자(424), 카테고리 식별자(426), 및 카테고리 이름(428)을 포함할 수 있다. 카테고리 타입 식별자(424)는 카테고리들의 계층 내의 카테고리 요소(422)의 위치를 식별할 수 있다. 예를 들어, 카테고리 요소(422) "SITE CATEGORY"는 사이트 도메인(예컨대, eBay)을 나타내고, 카테고리 요소(422) "META CATEGORY"는 "SITE CATEGORY" 바로 아래의 도메인을 나타내고, 카테고리 요소(422) "SUB-META CATEGORY"는 "META CATEGORY"와 "LEAF CATEGORY" 사이의 카테고리를 나타내고, 카테고리 요소(422) "LEAF CATEGORY"는 "META CATEGORY" 아래의, 가능하게는 아이템 목록(114)을 포함하는 카테고리를 나타낸다. 카테고리 이름(428)은 카테고리의 이름(예컨대, "eBay")을 포함한다.
도 5는, 일 실시형태에 따른, 카테고리들의 계층(500)을 예시한다. 카테고리들의 계층(500)은 경로 "eBay/electronics/car electronics/car audio"를 예시한다. 카테고리 "eBay"는 웹사이트를 식별하기 때문에 사이트 카테고리이다. 카테고리 "electronics"는 메타 카테고리이다. 카테고리 "car electronics"는 서브-메타 카테고리이다. 카테고리 "car audio"는 아이템 목록(114)을 포함할 수 있기 때문에 리프 카테고리이다.
도 6은, 일 실시형태에 따른, 제품 타이틀을 선택하는 방법(600)을 예시한다. 방법(600)은 제품 타이틀 모듈(106)이 제품 타이틀(122)을 선택하기 위한 아이템 목록(114)들의 세트를 식별하는 동작(602)에서 시작한다. 예를 들어, 제품 타이틀 모듈(106)은 제품 타이틀(122)과 연계되어 있지 않는 제품 식별자(202)를 식별하기 위해 제품 타이틀 디렉토리(111)를 스캔할 수 있다. 또한, 제품 타이틀 모듈(106)은 식별된 제품 식별자(202)와 매칭되는 아이템 목록(114)들의 세트를 식별하기 위해 아이템 테이블(112)을 스캔할 수 있다. 단지 예를 들어, 제품 타이틀 모듈(106)은 제품 타이틀(122)과 연계되어 있지 않는 것으로 식별된 제품 식별자(202)로 500개의 아이템 목록(114) 세트를 식별할 수 있다.
동작(604)에서, 제품 타이틀 모듈(106)은 아이템 목록(114)으로부터 특징 값을 추출하고, 선택적으로, 추출된 특징 값을 전처리한다. 특징 값은 아이템 특징 값 및 제품 특징 값을 포함한다. 동작(604)은 도 8에 예시된 방법(800)에 의해 더 설명된다.
동작(608)에서, 제품 타이틀 모듈(106)은 제품 타이틀 머신(108)을 호출해서 제품 타이틀(122)을 채택한다. 예를 들어, 제품 타이틀 모듈(106)은 추출된 전처리된 아이템 특징 값, 추출된 전처리된 제품 특징 값, 및 제품 타이틀 모델(110)로 제품 타이틀 머신(108)을 호출할 수 있다. 동작(608)은 도 7a에 예시된 방법(700)에 의해 더 설명된다.
동작(610)에서, 제품 타이틀 모듈(106)은 선택된 제품 타이틀(122)을 심화한다. 심화는 제품 타이틀(122) 내의 글자에 대문자 또는 소문자를 적용하는 것을 포함할 수 있다. 예를 들어, 제품 타이틀 모듈(106)은 제품 타이틀(122), 즉 "ipod music player for sale"을 "iPod music player for sale"로 심화할 수 있다. 다른 실시예에 있어서, 제품 타이틀 모듈(106)은 제품 타이틀(122), 즉 "IPOD music player for sale"을 "iPod music player for sale"로 심화할 수 있다. 제품 타이틀 모듈(106)은 특정 토큰 내의 글자들에 대한 모든 가능한 외형을 식별하기 위해 아이템 테이블(112) 내의 아이템 목록(114)들을 스캔하고 토큰 내의 각각의 글자에 대한 가장 빈번한 외형을 선택함으로써 토큰 내의 글자에 대한 실제 외형을 식별하는 것이 가능해질 수 있다. 또한, 제품 타이틀 모듈(106)은 특정 토큰 내의 국가 고유의 글자 외형을 식별하기 위해 국가 식별자(예컨대, 미국, 독일, 프랑스, 이탈리아 등)를 이용할 수 있다. 예를 들어, 국가 식별자는 독일에서의 도메인을 식별하는 카테고리 요소(422) "SITE CATEGORY"(예컨대, eBayGermany)에 기초하여 식별될 수 있다. 또한, 예를 들어, 독일의 국가 식별자는 제품 타이틀(122)을 "Deutsche Bank ag"에서 "Deutsche Bank AG"로 개선하는 데 이용될 수 있으며, 여기서 글자 "AG"는 독일 관습에 따라 회사 법인을 나타낸다. 따라서, 제품 타이틀 모듈(106)은 국가 고유의 심화를 수행할 수 있다. 또한, 제품 타이틀 모듈(106)은 브랜드를 추가함으로써 제품 타이틀(122)을 개선할 수 있다. 예를 들어, 제품 타이틀 모듈(106)은 제품 타이틀(122), 즉 "iPod music player for sale"을 "Apple iPod music player for sale"로 심화할 수 있고, 여기서는 브랜드 이름 "Apple"이 제품 타이틀(122)에 추가되고 있다. 또한, 제품 타이틀 모듈(106)은 모델을 추가함으로써 제품 타이틀(122)을 개선할 수 있다. 예를 들어, 제품 타이틀 모듈(106)은 제품 타이틀(122), 즉 "Apple iPod music player for sale"을 "Apple iPod music player for sale ― 7th Generation"으로 심화할 수 있고, 여기서는 모델 "7th Generation"이 제품 타이틀(122)에 추가되고 있다.
동작(612)에서, 제품 타이틀 모듈(106)은 제품 타이틀(122)을 포함하는 제품 페이지(120)를 생성할 수 있다. 예를 들어, 도 1a에 도시되는 제품 페이지(120)가 생성될 수 있다.
동작(614)에서, 제품 타이틀 모듈(106)은 클라이언트 머신(105)의 모니터에 디스플레이하기 위해 네트워크를 통해 제품 페이지(120)와 통신할 수 있다. 예를 들어, 도 1a에 도시되는 제품 페이지(120)가 통신될 수 있다.
도 7a는, 일 실시형태에 따른, 제품 타이틀(122)을 채택하는 방법(700)을 예시한다. 방법(700)은, 제품 타이틀 머신(108)이 아이템 특징 값, 제품 특징 값, 아이템 목록(114)들의 세트, 및 제품 타이틀 모델(110)을 수신하는, 동작(702)에서 시작한다. 예를 들어, 제품 타이틀 머신(108)은 아이템 특징 값 및 제품 특징 값과, 해당 특징 값들을 생성하는 데 이용된 500개의 아이템 목록(114) 세트, 및 사전에 트레이닝된 제품 타이틀 모델(110)을 수신할 수 있다.
동작(704)에서, 제품 타이틀 머신(108)은 머신 러닝 알고리즘을 선택할 수 있다. 예를 들어, 제품 타이틀 머신(108)은 관리자에 의해 선택되는 구성 파라미터에 기초하여 머신 러닝 알고리즘을 선택할 수 있다. 머신 러닝 알고리즘은 서포트 벡터 머신(SVM) 분류기, 선형 프로그래밍 알고리즘, 회귀 알고리즘, 신경망 알고리즘, 랜덤 포레스트 알고리즘, 의사결정 트리 알고리즘 등을 포함할 수 있다.
동작(706)에서, 제품 타이틀 머신(108)은 제품 타이틀 모델(110)을 이용해서, 추출된, 또한 선택적으로 전처리된 아이템 특징 값과 추출 및 전처리된 제품 특징 값을 분석하여 아이템 목록(114)들 각각에 대한 아이템 타이틀 스코어를 생성한다. 본 실시예에 있어서, 제품 타이틀 머신(108)은 500개의 아이템 목록(114) 각각에 대한 아이템 타이틀 스코어를 생성할 수 있다. 예를 들어, 제품 타이틀 머신(108)은 도 7b에 예시된 바와 같은 방법(720)에 따라 아이템 목록(114)들의 세트 내의 아이템 타이틀(400)들 각각과 연계되는 아이템 특징 값 및 제품 특징 값을 평가함으로써 아이템 타이틀 스코어를 생성할 수 있다. 또한, 제품 타이틀 모델(110)의 트레이닝은 도 9에 예시된 바와 같은 방법(900)에서 설명된다.
도 7a에로 돌아가서, 동작(708)에서, 제품 타이틀 머신(108)은 최고 아이템 타이틀 스코어를 갖는 아이템 타이틀(400)을 제품 타이틀(122)로서 식별하고, 해당 제품 타이틀(122)을 제품 타이틀 디렉토리(111) 내의 제품 식별자(202)와 연계하여 저장한다. 예를 들어, 제품 타이틀 머신(108)은 최고 아이템 타이틀 스코어와 연계되는 125번째 아이템 목록(114)에서 아이템 타이틀(400), 즉 "Apple iPod Touch 3rd Generation"을 식별하고, 해당 아이템 타이틀(400)을 제품 타이틀 디렉토리(111) 내의 제품 식별자(202)(예컨대, UPC 123456)와 연계하여 제품 타이틀(122)로서 저장할 수 있다.
도 7b는 특징 값을 평가하는 방법(720)을 예시한다. 방법(720)은 제품 타이틀 모듈(106)이 다음 특징 요소(300)로 인크리먼트하는 동작(722)에서 시작한다. 본 실시예에 있어서, 제품 타이틀 모듈(106)은 제품 타이틀 모델(110) 내의 제1 특징 요소(300)로 인크리먼트한다. 따라서, 특징 요소(300)는 현재의 특징 요소(300)로서 등록된다.
동작(724)에서, 제품 타이틀 모듈(106)은 아이템 목록(114)들의 세트 내의 다음 아이템 목록(114)으로 인크리먼트한다. 본 실시예에 있어서, 제품 타이틀 모듈(106)은 제품 타이틀(122)을 식별하는 데 이용되는 500개의 아이템 목록(114) 세트 내의 제1 아이템 목록(114)으로 인크리먼트한다. 따라서, 제1 아이템 목록(114)은 현재의 아이템 목록(114)으로서 등록된다.
동작(726)에서, 제품 타이틀 모듈(106)은 아이템 목록(114)에 대하여 사전에 생성된 특징 값을 검색한다. 예를 들어, 도 6에서의 동작(604)은 특징 목록 정보(308)에 기초하여 아이템 목록(114)에 대한 추출 및 예비 처리를 수행했을 수 있다. 일부 사례들에 있어서는, 아이템 특징 값을 생성하기 위해 전처리가 더 수행되었다. 제품 특징의 경우, 전처리는 그 제품에 대한 모든 아이템 목록(114)에 기초하여 생성된 값에 기초할 수 있다. 도 7b로 돌아간다.
동작(728)에서, 제품 타이틀 모듈(106)은 현재의 아이템 목록(114)에 대한 아이템 타이틀(400)과 연계되는 아이템 타이틀 스코어를 업데이트한다. 제품 타이틀 머신(108)은 제품 타이틀 모델(110)에 보존되어 있는 학습을 이용해서 아이템 타이틀 스코어를 업데이트할 수 있다. 예를 들어, 제품 타이틀 머신(108)은 제품 타이틀 모델(110)을 트레이닝함에 있어서 보존된 특징 가중 정보(310) 형태의 학습을 이용할 수 있다.
의사결정 동작(730)에서, 제품 타이틀 모듈(106)은 더 많은 아이템 목록(114)이 존재하는지의 여부를 식별한다. 더 많은 아이템 목록(114)이 존재하면, 제품 타이틀 모듈(106)은 동작(724)으로 분기한다. 그렇지 않으면, 제품 타이틀 모듈(106)은 의사결정 동작(732)으로 분기한다.
의사결정 동작(732)에서, 제품 타이틀 모듈(106)은 더 많은 특징 요소(300)가 존재하는지의 여부를 식별한다. 더 많은 특징 요소(300)가 존재하면, 제품 타이틀 모듈(106)은 동작(722)으로 분기한다. 그렇지 않으면, 도 7a의 동작(706)에서 처리를 계속한다.
도 8은 특징 값을 추출 및 처리하는 방법(800)을 예시한다. 방법(800)은 제품 타이틀 모듈(106)이 다음 특징 요소(300)로 인크리먼트하는 동작(802)에서 시작한다. 본 실시예에 있어서, 제품 타이틀 모듈(106)은 제품 타이틀 모델(110) 내의 제1 특징 요소(300)로 인크리먼트한다. 따라서, 제1 특징 요소(300)는 현재의 특징 요소(300)로서 등록된다.
동작(804)에서, 제품 타이틀 모듈(106)은 아이템 목록(114)들의 세트 내의 다음 아이템 목록(114)으로 인크리먼트한다. 본 실시예에 있어서, 제품 타이틀 모듈(106)은 제품 타이틀(122)을 식별하는 데 이용되는 500개의 아이템 목록(114) 세트(예컨대, 제품) 내의 제1 아이템 목록(114)으로 인크리먼트한다. 따라서, 제1 아이템 목록(114)은 현재의 아이템 목록(114)으로서 등록된다.
동작(806)에서, 제품 타이틀 모듈(106)은 식별된 특징 요소(300)에 따라 아이템 목록으로부터 데이터를 추출한다. 예를 들어, 제품 타이틀 모듈(106)은, 전술한 바와 같이, 특징 목록 정보(308)에 기초하여 아이템 목록(114)으로부터 데이터를 추출할 수 있다.
동작(808)에서, 제품 타이틀 모듈(106)은 추출된 데이터에 기초하여 예비 처리를 수행할 수 있다. 예를 들어, 제품 타이틀 모듈(106)은, 전술한 바와 같이, 특징 목록 정보(308)에 기초하여 예비 처리를 선택적으로 수행할 수 있다.
의사결정 동작(810)에서, 제품 타이틀 모듈(106)은 더 많은 아이템 목록(114)이 존재하는지의 여부를 식별한다. 더 많은 아이템 목록(114)이 존재하면, 제품 타이틀 모듈(106)은 동작(804)으로 분기한다. 그렇지 않으면, 제품 타이틀 모듈(106)은 의사결정 동작(811)으로 분기한다.
의사결정 동작(811)에서, 제품 타이틀 모듈(106)은 현재의 특징 요소(300)가 제품 특징 또는 아이템 특징의 어느 쪽으로 지향되는지의 여부를 식별한다. 예를 들어, 제품 타이틀 모듈(106)은 현재의 특징 요소(300)에 대하여 저장된 특징 타입 정보(304)에 기초하여 현재의 특징 요소(300)가 제품 특징으로 지향된다는 것을 식별할 수 있다. 현재의 특징 요소(300)가 제품 특징으로 지향되면, 제품 타이틀 모듈(106)은 동작(813)으로 분기한다. 그렇지 않으면, 제품 타이틀 모듈(106)은 의사결정 동작(812)으로 분기한다.
동작(813)에서, 제품 타이틀 모듈(106)은 500개의 아이템 목록(114) 세트(예컨대, 제품) 내의 아이템 목록(114)들 각각에 대한 제품 특징 값을 생성하기 위해 예비 처리를 수행한다.
의사결정 동작(812)에서, 제품 타이틀 모듈(106)은 더 많은 특징 요소(300)가 존재하는지의 여부를 식별한다. 더 많은 특징 요소(300)가 존재하면, 제품 타이틀 모듈(106)은 동작(802)으로 분기한다. 그렇지 않으면, 도 6의 동작(604) 또는 도 9의 동작(906)에서 처리를 계속한다.
아이템 특징(Item Feature)의 실시예
방법(800)에서, 제품 타이틀 모듈(106)은 아이템 목록(114)에서 아이템 특징 값을 추출하고, 추출된 값을 전처리해서 추출 및 전처리된 아이템 특징 값을 생성한다. 처리된 아이템 특징 값은 불(Boolean) 값, 카테고리 값, 또는 연속 값을 포함할 수 있다.
예를 들어, 제품 타이틀 모듈(106)은 아이템 타이틀(400)에 존재하는 "조건(condition)"에 기초하여 아이템 특징 불 값을 생성할 수 있다. 실시예를 계속하면, 제품 타이틀 모듈(106)은, 동작(806)에서, 아이템 목록(114)들의 세트(예컨대, 제품을 포함하는 500개의 아이템 목록(114))에서 현재의 아이템 목록(114)으로부터 아이템 타이틀(400)을 추출할 수 있다. 또한, 제품 타이틀 모듈(106)은, 동작(808)에서, 토큰 표현 조건(예컨대, "OLD", "new", "used" 등)이 아이템 타이틀(400) 내에 존재하는지의 여부를 식별하기 위해 현재의 아이템 타이틀(400)을 파싱하고, 식별된 조건(예컨대, "IS CONDITION" 또는 "IS NOT CONDITION")에 따라 불 값("PASS", "FAIL")을 표명할 수 있다.
제품 타이틀 머신(108)은, 후속하여, 현재의 아이템 타이틀(400)에 "조건"이 존재하는지의 여부(예컨대, 도 7b에 예시된 방법(720)을 참조)를 나타내기 위해 아이템 특징 불 값을 평가해서, 연계된 아이템 목록(114)에 대한 아이템 타이틀 스코어를 생성/업데이트한다.
제품 특징(Product Feature)의 실시예
방법(800)에서, 제품 타이틀 모듈(106)은 아이템 목록(114)으로부터 제품 특징 값을 추출하고 추출된 제품 특징 값을 전처리해서, 추출된 전처리된 제품 특징 값(들)을 생성할 수 있다. 처리된 제품 특징 값은 불형, 카테고리형, 또는 연속형 제품 특징 값을 포함할 수 있다.
예를 들어, 제품 타이틀 모듈(106)은 제품에 대한 "평균 문자 수"(예컨대, "제품 타이틀 평균 사이즈")에 대하여 아이템 타이틀(400)에 대한 문자 수(예컨대, "타이틀 사이즈")를 측정하는 비율 형태의 처리된 제품 특징 값을 생성할 수 있다. 특정 실시예를 계속하면, 제품 타이틀 모듈(106)은, 동작(806)에서, 현재의 아이템 목록(114)으로부터 아이템 타이틀(400)을 추출할 수 있다. 또한, 제품 타이틀 모듈(106)은, 동작(808)에서, 현재의 아이템 타이틀(400)을 파싱해서 해당 아이템 타이틀(400) 내의 문자의 수를 식별할 수 있다. 또한, 제품 타이틀 모듈(106)은, 동작(813)에서, 각각의 아이템 타이틀(400)(예컨대, 제품을 포함하는 500개의 아이템 목록(114)의 아이템 타이틀(400))에 대한 문자의 수를 합해서 아이템 목록(114)들의 세트(에컨대, 제품)에 대한 총 문자 수를 생성하고, 해당 총 문자 수를 아이템 목록(114)의 수로 나누어서 제품에 대한 "평균 문자 수"를 계산하고, 각각의 아이템 타이틀(400) 내의 문자의 수를 "평균 문자 수"로 나누어서 아이템 목록(114)들의 세트 내의 각각의 아이템 타이틀(400)에 대한 비율을 계산한다.
제품 타이틀 머신(108)은, 후속하여, 제품에 대한 "평균 문자 수"에 대하여 아이템 타이틀(400)에 대한 문자 수를 측정하는 비율을 나타내는 비율 형태의 제품 특징 값을 평가해서(예컨대, 도 7b에 예시된 방법(720)을 참조), 아이템 목록(114)과 연계되게 아이템 타이틀 스코어를 생성/업데이트한다.
도 9는, 일 실시형태에 따른, 제품 타이틀 모델(110)을 트레이닝하는 방법(900)을 예시한다. 방법(900)은 제품 타이틀 모듈(106)이 제품 타이틀(122)을 선택하기 위한 아이템 목록(114)들의 세트 및 트레이닝을 위한 제품 타이틀 모델(110)을 수신하는 동작(902)에서 시작한다. 예를 들어, 관리자는 아이템 목록(114)들의 세트를 식별하고, 아이템 목록들 각각을 트레이닝 태그(425)(예컨대, 트레이닝 레이블)로 태깅할 수 있다. 트레이닝 태그(425)는 특정 아이템 목록(114) 내의 아이템 타이틀(400)이 "양호"인지 또는 "불량"인지의 여부를 나타낸다. 예를 들어, 관리자는, 관리자가 제품(예컨대, 아이템 목록들의 세트)을 명명하기 위해 "양호" 아이템 타이틀(400)을 예시한다고 여기는 아이템 타이틀(400)을 포함하는 아이템 목록(114)의 구조화 정보(404)에 트레이닝 태그(425), TRAIN=GOOD을 저장할 수 있다. 또한, 예를 들어, 관리자는, 관리자가 제품(예컨대, 아이템 목록들의 세트)을 명명하기 위해 "불량" 아이템 타이틀(400)을 예시한다고 여기는 아이템 타이틀(400)을 포함하는 아이템 목록(114)의 구조화 정보(404)에 트레이닝 태그(425), TRAIN=BAD를 저장할 수 있다.
동작(904)에서, 제품 타이틀 모듈(106)은 아이템 목록(114)으로부터 특징 값을 추출하고, 선택적으로, 추출된 특징 값을 전처리한다. 특징 값은 아이템 특징 값 및 제품 특징 값을 포함한다. 동작(904)은, 일 실시형태에 따라, 도 8에 예시된 바와 같은 방법(800)에 의해 더 설명된다.
동작(906)에서, 제품 타이틀 모듈(106)은 제품 타이틀 머신(108)을 호출해서 제품 타이틀(122)을 채택한다. 예를 들어, 제품 타이틀 모듈(106)은 추출된 전처리된 아이템 특징 값, 추출된 전처리된 제품 특징 값, 및 제품 타이틀 모델(110)로 제품 타이틀 머신(108)을 호출할 수 있다. 동작(608)은, 일 실시형태에 따라, 도 7a에 예시된 바와 같은 방법(700)에 의해 더 설명된다.
동작(908)에서, 제품 타이틀 모듈(106)은 선택된 제품 타이틀(122)에 따라 제품 타이틀 모델(110)을 업데이트한다. 예를 들어, 제품 타이틀 모듈(106)은 "양호" 또는 "불량" 제품 타이틀(122)의 선택을 가능하게 하는 그 능력에 따라 특징 요소(300)에 대한 특징 가중 정보(310)를 업데이트할 수 있다. 동작(908)은 도 10에 예시된 바와 같은 방법(1000)에 의해 더 설명된다. 방법(900)은 제품 타이틀 모델(110)을 트레이닝하기 위해 상이한 아이템 목록(114)들의 세트(예컨대, 제품)들로 몇 차례 반복될 수 있다.
도 10은, 일 실시형태에 따른, 제품 타이틀 모델(110)을 업데이트하는 방법(1000)을 예시한다. 방법(1000)은 제품 타이틀 모듈(106)이 다음 특징 요소(300)로 인크리먼트하는 동작(1002)에서 시작한다. 본 실시예에 있어서, 제품 타이틀 모듈(106)은 제품 타이틀 모델(110) 내의 제1 특징 요소(300)로 인크리먼트한다. 따라서, 제1 특징 요소(300)는 현재의 특징 요소(300)로서 등록된다.
동작(1004)에서, 제품 타이틀 모듈(106)은 제품 타이틀 모델(110)을 업데이트한다. 예를 들어, 제품 타이틀 모듈(106)은 특징 가중 정보(310)를 저장할 수 있다. 특징 가중 정보(310)를 증가시키면, 특징 요소(300)는 값이 더 큰 아이템 타이틀 스코어의 생성에 기여하게 된다. 특징 가중 정보(310)를 감소시키면, 특징 요소(300)는 값이 더 작은 아이템 타이틀 스코어의 생성에 기여하게 된다.
동작(1006)에서, 제품 타이틀 모듈(106)은 제품 타이틀 모델(110)에 더 많은 특징 요소(300)가 존재하는지의 여부를 식별한다. 더 많은 특징 요소(300)가 존재하면, 제품 타이틀 모듈(106)은 동작(1002)으로 분기한다. 그렇지 않으면, 도 9의 동작(908)에서 처리를 계속한다.
도 11은, 일 실시형태에 따른, 네트워크 아키텍처(1100)를 예시한다. 네트워크-서버-측 기능의 예시적인 형태의 네트워크화된 시스템(1102)은 통신 네트워크(1104)(예컨대, 인터넷, 무선 네트워크, 셀룰러 네트워크, 또는 WAN(Wide Area Network))를 통해 하나 이상의 클라이언트 장치(1110 및 1112)에 결합된다. 네트워크화된 시스템(1102)은 도 1a의 시스템(100)에 대응하고, 통신 네트워크(1104)는 도 1a의 네트워크(103)에 대응하고, 클라이언트 장치(1110 및 1112)는 도 6의 클라이언트 머신(105)에 대응하며, 그에 따라, 달리 지시되지 않는 한, 동일한 또는 유사한 참조번호가 동일한 또는 유사한 특징을 지칭하는 데 사용되었다. 도 11은, 예를 들어, 브라우저(예컨대, 워싱턴주 레드몬드 소재의 Microsoft® Corporation에 의해 개발된 INTERNET EXPLORER® 브라우저)를 통해 동작하는 웹 클라이언트(1106) 및 각각의 클라이언트 장치(1110 및 1112) 상에서 실행되는 프로그램 클라이언트(1108)를 예시한다.
네트워크 아키텍처(1100)는 본 문헌에서 설명된 방법들 중 어느 하나를 실행하는 데 이용될 수 있다. 클라이언트 장치(1110 및 1112)는 사용자가 네트워크화된 시스템(1102)에 액세스하는 데 이용할 수 있는 모바일 폰, 데스크톱 컴퓨터, 랩톱, 또는 임의의 다른 통신 장치를 포함할 수 있다. 일부 실시형태들에 있어서, 클라이언트 장치(1110)는 정보를 (예컨대, 사용자 인터페이스 형태로) 디스플레이하기 위한 디스플레이 모듈(도시되지 않음)을 포함할 수 있다. 추가적인 실시형태들에 있어서, 클라이언트 장치(1110)는 터치 스크린, 가속도계, 카메라, 마이크로폰, 및 GPS(global positioning system) 장치 중 하나 이상을 포함할 수 있다. 클라이언트 장치(1110 및 1112)는 네트워크화된 시스템(1102) 내에서 디지털 상품을 포함하는 거래를 수행하는 데 사용되는 사용자의 장치일 수 있다. 일 실시형태에 있어서, 네트워크화된 시스템(1102)은 네트워크 기반의 시장이며, 이는 디지털 상품을 관리하고, 네트워크 기반의 시장에서 이용 가능한 제품의 아이템 목록을 포함하는 게재물을 게재하고, 또한 이들 시장 거래에 대한 지불을 관리한다. 부가적으로, 외부 사이트(1128, 1128')는 네트워크화된 시스템(1102)에 네트워크(1104)를 통해 결합되는 사이트일 수 있다. 외부 사이트는 전자상거래 시스템을 포함하는 임의의 원하는 시스템일 수 있다.
API(Application Program Interface) 서버(1114) 및 웹 서버(1116)는 하나 이상의 애플리케이션 서버(1118)에 결합되는 한편, 제각기 프로그램 인터페이스 및 웹 인터페이스를 제공한다. 애플리케이션 서버(들)(1118)는 게재 시스템(1200) 및 지불 시스템(1122)을 호스팅하고, 이들은 각각 하나 이상의 모듈, 애플리케이션, 또는 엔진을 포함할 수 있으며, 또한 이들은 각각 하드웨어, 소프트웨어, 펌웨어, 또는 그 임의의 조합으로 구체화될 수 있다. 애플리케이션 서버(1118)는, 결국, 하나 이상의 정보 저장 리포지토리 또는 데이터베이스(들)(1126)에의 액세스를 가능하게 하는 하나 이상의 데이터베이스 서버(1124)에 결합된다. 일 실시형태에 있어서, 데이터베이스(1126)는 게재 시스템(1200)에 포스팅될 정보(예컨대, 게재물 또는 목록)를 저장하는 스토리지 장치이다. 데이터베이스(1126)는 또한, 예시적인 실시형태들에 따라 디지털 상품 정보를 저장할 수 있다.
예시적인 실시형태들에 있어서, 게재 시스템(1200)은 네트워크(예컨대, 인터넷) 상에 콘텐츠를 게재한다. 이렇게, 게재 시스템(1200)은 네트워크화된 시스템(1102)에 액세스하는 사용자에게 다수의 게재 및 시장 기능과 서비스를 제공한다. 게재 시스템(1200)은 도 12와 관련하여 더 상세하게 논의된다. 예시적인 실시형태들에 있어서, 게재 시스템(1200)은 온라인 시장 환경에 관하여 논의된다. 그러나, 게재 시스템(1200)이 정보(예컨대, 검색 엔진) 또는 소셜 네트워킹 환경과 같은 비-시장 환경과 연계될 수 있다는 점에 유의해야 한다.
지불 시스템(1122)은 다수의 지불 서비스 및 기능을 사용자에게 제공한다. 지불 시스템(1122)은 사용자들이 그들의 계정에 가치(예컨대, U.S. 달러와 같은 상용 통화, 또는 민간 기업에 의해 제공되는 포인트, 마일, 또는 그 밖의 형태의 통화와 같은 사설 통화)를 축적할 수 있게 하고, 차후에 게재 시스템(1200) 또는 네트워크(1104) 상의 다른 어느 곳을 통해 이용 가능해진 제품(예컨대, 상품 또는 서비스)에 대하여 축적된 가치를 현금화할 수 있게 한다. 지불 시스템(1122)은 또한, 임의의 타입 및 형태의 네트워크 기반의 시장을 통한 아이템의 구매에 대하여 지불 메커니즘(예컨대, 은행 계좌, PayPal™, 또는 신용 카드)으로부터의 지불을 가능하게 한다.
도 11에서는, 게재 시스템(1200) 및 지불 시스템(1122)이 모두 네트워크화된 시스템(1102)의 일부를 형성하는 것으로 도시되어 있지만, 대안적인 실시형태들에 있어서는, 지불 시스템(1122)이 네트워크화된 시스템(1102)과는 별개로 분리되어 있는 지불 서비스의 일부를 형성할 수 있다는 점을 이해해야 한다. 부가적으로, 도 11의 예시적인 네트워크 아키텍처(1100)가 클라이언트-서버 아키텍처를 채용하고 있지만, 당업자라면, 본 개시물이 이러한 아키텍처에 한정되지 않는다는 점을 인식할 것이다. 예시적인 네트워크 아키텍처(1100)는, 예를 들어, 분산형 또는 피어-투-피어 아키텍처 시스템에서와 마찬가지로 애플리케이션을 확인할 수 있다. 게재 시스템(1200) 및 지불 시스템(1122)은 또한, 네트워킹 기능을 필수적으로 갖지는 않는 별도의 하드웨어 플랫폼 하에서 동작하는 독립형 시스템 또는 독립형 소프트웨어 프로그램으로서 구현될 수도 있다.
이제, 도 12를 참조하면, 일 실시형태에 있어서, 네트워크화된 시스템(1102)의 게재 시스템(1200) 내에 제공되는 다수의 컴포넌트를 예시하는 예시적인 블럭도가 도시된다. 이 실시형태에 있어서, 게재 시스템(1200)은, 아이템(예컨대, 상품 또는 서비스)이 판매를 위해 제공될 수 있고 상호적인 질의 생성 및 개량을 위해 본 명세서에서 설명되는 특징들을 더 구현하는 시장 시스템이다. 아이템은 디지털 상품(예컨대, 통화, 라이센스 권리)을 포함할 수 있다. 게재 시스템(1200)은 서버 머신들 사이의 통신이 가능하도록 통신 가능하게 결합되는 전용 또는 공유 서버 머신(도시되지 않음) 상에 호스팅될 수 있다. 다수의 컴포넌트들 자체는, 서로에 대하여, 그리고 다양한 데이터 소스에 대하여 직접적으로 또는 간접적으로 (예컨대, 적절한 인터페이스를 통해) 통신 가능하게 결합되어서, 해당 컴포넌트들 사이에서 정보가 전달될 수 있게 하거나, 또는 해당 컴포넌트들이 공통의 데이터를 공유 및 액세스할 수 있게 한다. 또한, 컴포넌트들은, 도 11에 도시된 바와 같이, 하나 이상의 데이터베이스 서버(1124)를 통해 하나 이상의 데이터베이스(1126)에 액세스할 수 있다.
도 12로 돌아가서, 게재 시스템(1200)은, 구매자가 판매용 상품 또는 서비스를 열거(또는 그에 관한 정보를 게재)할 수 있게 하고, 구매자가 이러한 상품 또는 서비스의 구매에 대하여 관심을 표현하거나 구매 의사를 나타낼 수 있게 하고, 또한 해당 상품 또는 서비스와 관련되는 거래에 대하여 가격이 설정될 수 있게 하는, 다수의 게재, 열거, 및 가격 설정 메커니즘을 제공한다. 이를 위해, 게재 시스템(1200)은 적어도 하나의 게재 엔진(1202) 및 경매-포맷 열거 및 가격 설정 메커니즘(예컨대, 영국식 경매, 네덜란드식 경매, 중국식 경매, 이중 경매, 역 경매 등)을 지원하는 하나 이상의 경매 엔진(1204)을 포함할 수 있다.
가격 책정 엔진(1206)은 다양한 가격 열거 포맷을 지원한다. 이러한 포맷의 하나는 고정-가격 열거 포맷(예컨대, 전통적인 분류 방식의 광고-타입 목록 또는 카탈로그 목록)이다. 다른 포맷은 매수-타입 목록을 포함한다. 매수-타입 목록(예컨대, 캘리포니아 산 호세 소재의 eBay Inc.에 의해 개발된 BIN(Buy-It-Now) 기술)은 경매-포맷 목록과 함께 제공될 수 있으며, 구매자가 통상 아이템의 경매 시작 가격보다 높은 고정 가격으로 마찬가지로 판매용으로 제공되고 있는 상품 또는 서비스를 경매를 통해 구매할 수 있게 한다.
스토어 엔진(1208)은, 구매자에 의해 그리고 구매자를 위해 브랜드화될 수 있고, 그렇지 않으면 개인화될 수 있는 "가상(virtual)" 스토어 내의 목록들을 구매자가 그룹화할 수 있게 한다. 이러한 가상 스토어는 또한, 구매자에 대하여 특정 및 개인화된 프로모션, 인센티브, 및 특징을 제공할 수도 있다. 일 실시예에 있어서, 판매자는 가상 스토어에서 복수의 아이템을 바로 구매하기(Buy-It-Now) 아이템으로서 제공할 수 있거나, 복수의 경매용 아이템으로서 제공할 수 있거나, 또는 이들의 조합을 제공할 수 있다.
평판 엔진(1210)은 네트워크화된 시스템(1102)을 이용해서 거래하는 사용자들이 평판을 수립, 구축, 및 유지할 수 있게 한다. 이러한 평판은 잠재적인 거래 파트너가 이용 가능하게 게재될 수 있다. 일 실시형태에 따르면, 게재 시스템(1200)은 미지의 엔티티들 사이에서의 개인간 거래를 지원하므로, 그렇지 않으면, 사용자들이 이력 또는 그 밖의 참조 정보를 갖지 못할 수도 있고, 그에 따라 잠재적인 거래 파트너들의 신뢰성 및 신용도가 평가될 수 있다. 평판 엔진(1210)은 사용자가, 예를 들어 하나 이상의 다른 거래 파트너에 의해 제공되는 피드백을 통해, 시간의 경과에 따라 네트워크 기반의 시장(102) 내에서의 평판을 수립할 수 있게 한다. 이후, 다른 잠재적인 거래 파트너들은 신용도 및 신뢰성을 평가할 목적으로 평판을 참조할 수 있다.
네트워크 기반의 시장(102)의 내비게이션은 내비게이션 엔진(1212)에 의해 가능해질 수 있다. 예를 들어, 내비게이션 엔진(1212)의 브라우즈 모듈(도시되지 않음)은, 게재 시스템(1200) 내에서 목록들을 분류할 수 있는 다양한 카테고리 구조, 카탈로그 구조, 또는 재고 데이터 구조를 사용자들이 열람할 수 있게 한다. 내비게이션 엔진(1212) 내의 다양한 다른 내비게이션 애플리케이션이 브라우징 애플리케이션을 보조하기 위해 제공될 수 있다.
네트워크화된 시스템(1102)을 통해 이용 가능한 목록들을 가능한 한 시각적으로 통지하는 매력적인 것으로 만들기 위해, 게재 시스템(1200)은 사용자들이 게재물 내에 포함하기 위한 이미지들을 업로드하고 열람된 목록들 내에 이미지들을 통합할 수 있게 하는 이미징 엔진(1214)을 포함할 수 있다. 이미징 엔진(1214)은 또한, 검색 질의로서 이미지 데이터를 사용자로부터 수신하고, 해당 이미지 데이터를 이용해서 이미지 데이터에 의해 묘사 또는 설명되는 아이템을 식별할 수도 있다.
목록 생성 엔진(1216)은 사용자들(예컨대, 판매자들)이 아이템 목록을 편리하게 작성할 수 있게 한다. 일 실시형태에 있어서, 목록은 사용자(예컨대, 판매자)가 게재 시스템(1200)을 통해 거래하고자 하는 상품 또는 서비스와 관련된다. 다른 실시형태들에 있어서, 사용자는 광고 또는 다른 게재 형태의 목록을 생성할 수 있다.
목록 관리 엔진(1218)은 사용자들이 이러한 목록을 관리할 수 있게 한다. 구체적으로, 특정 사용자가 다수의 목록을 작성 또는 게재했을 경우, 이러한 목록을 관리하는 데는 어려움이 있을 수 있다. 목록 관리 엔진(1218)은 사용자가 이러한 목록을 관리하는 것을 돕기 위한 다수의 특징(예컨대, 자동-재열거, 재고 상황 모니터링 등)을 제공한다.
사후-목록 관리 엔진(1220)은 통상적으로 사후-목록을 발생하는 다수의 활동을 사용자에게 지원한다. 예를 들어, 하나 이상의 경매 엔진(1204)에 의해 촉진되는 거래의 완료시에, 구매자는 특정 판매자에 관하여 피드백을 남기고 싶어할 수 있다. 이를 위해, 사후-목록 관리 엔진(1220)은 구매자가 평판 엔진(1210)에 다수의 판매자에 관한 피드백을 편리하게 제공할 수 있게 하는 인터페이스를 평판 엔진(1210)에 제공한다. 다른 사후-목록 행위는 판매된 아이템의 배송일 수 있으며, 이로써 사후-목록 관리 엔진(1220)이 배송 레이블의 인쇄, 배송 비용의 추산, 및 배송 운송자의 제안을 보조할 수 있게 된다.
검색 엔진(1222)은 네트워크화된 시스템(1102)에서 질의와 매칭되는 게재물에 대한 검색을 수행한다. 예시적인 실시형태들에 있어서, 검색 엔진(1222)은 게재 시스템(1200)을 통해 게재된 게재물들의 키워드 검색을 가능하게 하는 검색 모듈(도시되지 않음)을 포함한다. 또한, 예를 들어, 검색 엔진(1222)은 검색 엔진(1222)을 참조하여 전술된 기능들을 수행할 수 있다. 추가적인 실시형태에 있어서, 검색 엔진(1222)은 이미징 엔진(1214)에 의해 수신되는 이미지를 검색을 수행하기 위한 입력으로서 취할 수 있다. 검색 엔진(1222)은 질의 입력을 취하고, 네트워크화된 시스템(1102)으로부터 복수의 매칭(예컨대, 데이터베이스(1126)에 저장된 게재물)을 결정한다. 검색 엔진(1222)의 기능이 내비게이션 엔진(1212)과 조합될 수 있다는 점에 유의한다. 게재 시스템(1200)에서, 검색 엔진(1222)은 검색 엔진(1222)에 관하여 전술된 기능을 수행할 수 있다.
도 12의 사용자 활동 검출 엔진(1224)은 사용자 세션 동안의 사용자 활동을 모니터링하고, 이하에서 더 상세하게 논의되는 바와 같이, 사용자가 구매할 것 같다고 예측할 수 있는 사용자 활동 수준의 변화를 검출할 수 있다. 사용자 활동 수준에 대한 정확한 변화량은 달라질 수 있다. 일반적인 지침은 다수의 세션들을 모니터링하고 시간의 경과에 따른 임의의 현저한 증가(예를 들어, 짧은 기간에 활동 수준이 2배 또는 3배로 됨)를 검출하는 것이다. 일 실시형태에 있어서, 사용자 활동 검출 엔진(1224)이 이러한 조건을 검출하면, 전자상거래 시스템은 사용자의 구매 확률을 높이기 위한 노력으로, 및/또는 사용자가 더 나은 구매를 찾아서 경쟁 사이트로 이동하는 대신에 해당 전자상거래 시스템 사이트에서 구매하도록 동기부여하기 위한 노력으로 디스플레이용 콘텐츠를 사용자에게 제공하도록 개입할 수 있다. 달리 말하면, 구매 행위 이전의 상이한 시간들에서의 시간의 경과에 따른 활동은 위에서 논의된 바와 같은 개입에 의해, 시간에 기초하여, 사용자에게 마케팅을 개인화할 기회를 제공한다. 해당 마케팅 개인화에서 시간 프레임을 포함하는 부가적인 실시예들이 아래에서 논의된다. 게재 시스템(1200)은 전술한 바와 같은 제품 타이틀 애플리케이션(104)을 더 포함할 수 있다.
게재 시스템(1200)의 다양한 컴포넌트가 다양한 개별 모듈 및 엔진에 관하여 정의되었지만, 당업자라면, 많은 아이템들이 다른 방식으로 조합 또는 편성될 수 있다는 점 및 모든 모듈 또는 엔진이 예시적인 실시형태들에 따라 존재 또는 구현될 필요는 없다는 점을 인식할 것이다. 또한, 게재 시스템(1200)의 모든 컴포넌트가 도 12에 포함되어 있는 것은 아니다. 일반적으로, 예시적인 실시형태들의 기능과 직접적인 관련이 없는 컴포넌트, 프로토콜, 구조, 및 기술(예컨대, 분쟁 해결 엔진, 로얄티 프로모션 엔진, 개인화 엔진)은 상세하게 도시 또는 논의되지 않았다. 본 명세서에 주어진 설명은 단순히 본 명세서에서 사용된 시스템 및 방법에 관한 독자의 이해를 돕기 위해 다양한 예시적인 실시형태들을 제공한다.
데이터 구조(Data Structures)
도 13은, 도 11의 데이터베이스(1126) 내에 유지될 수 있고, 도 11의 게재 시스템(1200) 및 지불 시스템(1122)에 의해 이용되며 이들을 지원하는 다양한 테이블(1250)을 예시하는 상위 레벨의 엔티티 관계도이다. 사용자 테이블(1252)은 도 11 및 도 1a의 네트워크화된 시스템(1102)(예컨대, 네트워크 기반의 시장(102))의 등록된 사용자들 각각에 대한 기록을 포함할 수 있다. 사용자는 네트워크 기반의 시장(102)(예컨대, 도 11 및 도 1a) 내의 판매자, 구매자, 또는 둘 모두로서 동작할 수 있다. 예시적인 일 실시형태에 있어서, 구매자는 축적된 가치(예컨대, 상용 또는 사설 통화)를 갖는 사용자일 수 있으며, 그에 따라, 네트워크 기반의 시장(102)에 의해 판매를 위해 제공되는 아이템들에 대한 축적된 가치를 교환할 수 있다.
테이블(1250)은 또한, 네트워크 기반의 시장(102)을 통해 거래되도록 이용 가능한, 또는 거래된, 상품 및 서비스(예컨대, 아이템)에 대하여 아이템 기록(예컨대, 목록)이 유지되는 아이템 테이블(1254)을 포함할 수 있다. 아이템 테이블(1254) 내의 아이템 기록(예컨대, 목록)은 또한, 사용자 테이블(1252) 내의 하나 이상의 사용자 기록에 연결되어서, 판매자 및 하나 이상의 실제 또는 잠재적 구매자를 아이템 기록(예컨대, 목록)과 연계시킬 수 있다. 거래 테이블(1256)은 아이템 테이블(1254) 내에 기록이 존재하는 아이템과 관련되는 각각의 거래(예컨대, 구매 또는 판매 거래 또는 경매)에 대한 기록을 포함할 수 있다. 주문 테이블(1258)은 주문 기록들로 채워질 수 있으며, 각각의 주문 기록은 주문과 연계된다. 각각의 주문은, 결국, 거래 테이블(1256) 내에 기록이 존재하는 하나 이상의 거래와 연계될 수 있다. 입찰 테이블(1260) 내의 입찰 기록은 도 12의 경매 엔진(들)(1204)에 의해 지원되는 경매-포맷 목록과 관련하여 네트워크 기반의 시장(102)에서 수신된 입찰과 관련될 수 있다. 피드백 테이블(1262)은, 예시적인 일 실시형태에 있어서, 사용자에 관한 평판 정보를 피드백 스코어의 형태로 구성 및 유지하기 위해 도 12의 하나 이상의 평판 엔진(1210)에 의해 이용될 수 있다. 이력 테이블(1264)은 사용자가 관여한 거래의 이력을 유지할 수 있다. 하나 이상의 속성 테이블(1266)은 아이템 테이블(1254) 내에 기록이 존재하는 아이템과 관련되는 속성 정보를 기록할 수 있다. 이러한 속성에 관한 단일의 실시예만을 고려하면, 속성 테이블(1266)은 특정 아이템과 연계되는 통화 속성을 나타낼 수 있으며, 해당 통화 속성은 판매자에 의해 특정되는 관련 아이템에 대한 가격의 통화를 식별한다. 검색 테이블(1268)은 특정 타입의 목록을 찾고 있는 사용자(예컨대, 구매자)에 의해 입력된 검색 정보를 저장할 수 있다. 테이블(1250)은 전술한 바와 같은 제품 타이틀 정보(109)를 포함할 수 있다.
모듈, 컴포넌트 및 로직(MODULES, COMPONENTS AND LOGIC)
특정 실시형태들은 로직 또는 다수의 컴포넌트, 모듈, 또는 메커니즘을 포함하는 것으로 본 명세서에서 설명된다. 모듈은 소프트웨어 모듈(예컨대, 머신-판독 가능 매체 상에 구체화된 코드) 또는 하드웨어 모듈의 어느 하나를 구성할 수 있다. "하드웨어 모듈"은 특정 동작들을 수행할 수 있는 유형(tangible)의 유닛이며 특정한 물리적인 방식으로 구성 또는 배치될 수 있다. 다양한 예시적인 실시형태들에 있어서, 하나 이상의 컴퓨터 시스템(예컨대, 독립형 컴퓨터 시스템, 클라이언트 컴퓨터 시스템, 또는 서버 컴퓨터 시스템) 또는 컴퓨터 시스템의 하나 이상의 하드웨어 모듈(예컨대, 프로세서 또는 프로세서들의 그룹)은 본 명세서에서 설명되는 특정 동작들을 수행하도록 동작하는 하드웨어 모듈로서 소프트웨어(예컨대, 애플리케이션 또는 애플리케이션부)에 의해 구성될 수 있다.
일부 실시형태들에 있어서, 하드웨어 모듈은 기계적으로, 전자적으로, 또는 이들의 임의의 적절한 조합으로 구현될 수 있다. 예를 들어, 하드웨어 모듈은 특정 동작들을 수행하도록 영구적으로 구성되는 전용 회로 또는 로직을 포함할 수 있다. 예를 들어, 하드웨어 모듈은 FPGA(field programmable gate array) 또는 ASIC(application-specific integrated circuit)와 같은 특수-목적 프로세서일 수 있다. 하드웨어 모듈은 또한, 특정 동작들을 수행하도록 소프트웨어에 의해 일시적으로 구성되는 프로그램 가능 로직 또는 회로를 포함할 수 있다. 예를 들어, 하드웨어 모듈은 범용 프로세서 또는 그 밖의 프로그램 가능 프로세서에 의해 실행되는 소프트웨어를 포함할 수 있다. 이러한 소프트웨어로 구성되면, 하드웨어 모듈은 구성된 기능을 수행하도록 고유하게 조정되는 특정 머신(또는 머신의 특정 컴포넌트)가 되며, 더 이상 범용 프로세서가 아니다. 하드웨어 모듈을, 기계적으로, 전용의 영구적으로 구성되는 회로로, 또는 일시적으로 구성되는 회로(예컨대, 소프트웨어로 구성됨)로 구현할지는 비용 및 시간을 고려해서 결정될 수 있음을 이해할 것이다.
따라서, "하드웨어 모듈(hardware module)"이라는 구절은, 본 명세서에서 설명된 특정 동작들을 수행하도록 또는 특정 방식으로 동작시키도록 물리적으로 구축되거나, 영구적으로 구성되거나(예컨대, 고정 배선식(hardwired)), 또는 일시적으로 구성(예컨대, 프로그래밍)되는 엔티티일 수 있는 유형의 엔티티를 포함하는 것으로 이해되어야 한다. 본 명세서에서 사용되는, "하드웨어-구현 모듈(hardware-implemented module)"은 하드웨어 모듈을 의미한다. 하드웨어 모듈이 일시적으로 구성(예컨대, 프로그래밍)되는 실시형태들을 고려하면, 하드웨어 모듈들 각각은 어느 하나의 시간 인스턴스로 구성되거나 또는 인스턴스화될 필요가 없다. 예를 들어, 하드웨어 모듈이 특수-목적 프로세서가 되도록 소프트웨어로 구성되는 범용 프로세서를 포함하는 경우, 범용 프로세서는 상이한 시간들에 제각기 상이한 특수-목적 프로세서(예컨대, 상이한 하드웨어 모듈을 포함함)로서 구성될 수 있다. 따라서, 소프트웨어는, 예를 들어 하나의 시간 인스턴스에서 특정 하드웨어 모듈을 구성하고 상이한 시간 인스턴스에서 상이한 하드웨어 모듈을 구성하도록 특정 프로세서 또는 프로세서들을 구성한다.
하드웨어 모듈은 다른 하드웨어 모듈과의 사이에서 정보를 송신 및 수신할 수 있다. 따라서, 설명된 하드웨어 모듈들은 통신 가능하게 결합되는 것으로 간주될 수 있다. 다수의 하드웨어 모듈이 동시에 존재하는 경우, 2개 이상의 하드웨어 모듈 사이에서의 통신은 신호 전송(예컨대, 적절한 회로 및 버스를 경유)을 통해 달성될 수 있다. 다수의 하드웨어 모듈이 상이한 시간들에 구성 또는 인스턴스화되는 실시형태들에 있어서, 이러한 하드웨어 모듈들 사이의 통신은, 예를 들어, 다수의 하드웨어 모듈이 액세스한 메모리 구조들에서의 정보의 저장 및 검색을 통해 달성될 수 있다. 예를 들어, 하나의 하드웨어 모듈은 동작을 수행하고, 해당 동작의 출력을, 해당 모듈이 통신 가능하게 결합되는 메모리 디바이스에 저장할 수 있다. 추가적인 하드웨어 모듈은, 나중에, 메모리 디바이스에 액세스해서, 저장된 출력을 검색 및 처리할 수 있다. 하드웨어 모듈은 또한, 입력 또는 출력 디바이스와의 통신을 개시할 수 있으며, 리소스에 대하여 동작할 수 있다(예컨대, 정보의 수집).
본 명세서에서 설명된 예시적인 방법들의 다양한 동작들은, 적어도 부분적으로, 관련 동작들을 수행하도록 (예컨대, 소프트웨어에 의해) 일시적으로 구성되거나 또는 영구적으로 구성되는 하나 이상의 프로세서에 의해 수행될 수 있다. 일시적으로든 또는 영구적으로든 구성되면, 이러한 프로세서는 본 명세서에서 설명되는 하나 이상의 동작 또는 기능을 수행하도록 동작하는 프로세서-구현 모듈을 구성할 수 있다. 본 명세서에서 사용되는 "프로세서-구현 모듈(processor-implemented module)"은 하나 이상의 프로세서를 사용해서 구현되는 하드웨어 모듈을 의미한다.
유사하게, 본 명세서에서 설명되는 방법들은 적어도 부분적으로 프로세서-구현 방법일 수 있으며, 특정 프로세서 또는 프로세서들이 하드웨어의 실시예이다. 예를 들어, 방법의 동작들 중 적어도 일부는 하나 이상의 프로세서 또는 프로세서-구현 모듈에 의해 수행될 수 있다. 또한, 하나 이상의 프로세서는 "클라우드 컴퓨팅(cloud computing)" 환경에서 또는 "서비스형 소프트웨어(software as a service)"(SaaS)로서 관련 동작들의 수행을 지원하도록 동작할 수 있다. 예를 들어, 동작들 중 적어도 일부는 컴퓨터들(프로세서를 포함하는 머신들의 실시예)의 그룹에 의해 수행될 수 있으며, 이들 동작은 네트워크(예컨대, 인터넷)를 통해, 그리고 하나 이상의 적절한 인터페이스(예컨대, API)를 통해 액세스 가능하다.
특정 동작들의 성능은, 단일의 머신 내에 귀속되는 것뿐만 아니라, 다수의 머신에 걸쳐 배치되는 것에 이르기까지, 프로세서들 사이에 분포될 수 있다. 일부 예시적인 실시형태들에 있어서, 프로세서들 또는 프로세서-구현 모듈들은 단일의 지리적 장소(예컨대, 가정 환경 내, 사무실 환경내, 또는 서버 팜 내)에 위치될 수 있다. 다른 예시적인 실시형태들에 있어서는, 프로세서들 또는 프로세서-구현 모듈들이 다수의 지리적 장소에 걸쳐 분포될 수 있다.
머신 및 소프트웨어 아키텍처(MACHINE AND SOFTWARE ARCHITECTURE)
본원에서 설명되는 모듈, 방법, 애플리케이션 등은, 일부 실시형태들에 있어서, 머신 및 연관 소프트웨어 아키텍처와 관련하여 구현된다. 이하의 섹션들은 개시된 실시형태들과 함께 사용하기에 적합한 대표적인 소프트웨어 아키텍처(들) 및 머신(예컨대, 하드웨어) 아키텍처를 설명한다.
소프트웨어 아키텍처는 장치 및 머신을 특정한 목적에 맞게 생성하기 위해 하드웨어 아키텍처와 함께 사용된다. 예를 들어, 특정 소프트웨어 아키텍처와 결합되는 특정 하드웨어 아키텍처는 모바일 폰, 태블릿 장치 등과 같은 모바일 장치를 생성하게 된다. 약간 상이한 하드웨어 및 소프트웨어 아키텍처는 "사물 인터넷(Internet of things)"에서 사용하기 위한 스마트 기기를 산출할 수 있고, 한편 또 다른 조합은 클라우드 컴퓨팅 아키텍처 내에서 사용하기 위한 서버 컴퓨터를 만들어 낸다. 당업자는 본 개시물의 청구대상을 본 명세서에 포함되는 개시 내용과는 다른 맥락에서 어떻게 구현할지를 용이하게 이해할 수 있기 때문에, 이러한 소프트웨어 아키텍처 및 하드웨어 아키텍처의 모든 조합이 본원에 제시되어 있는 것은 아니다.
소프트웨어 아키텍처(SOFTWARE ARCHITECTURE)
도 14는 본 명세서에서 설명된 다양한 하드웨어 아키텍처와 함께 사용될 수 있는 대표적인 소프트웨어 아키텍처(2002)를 예시하는 블럭도(2000)이다. 도 14는 소프트웨어 아키텍처의 비제한적인 실시예일 뿐이며, 많은 다른 아키첵처들이 본 명세서에서 설명된 기능을 가능하게 하도록 구현될 수 있음을 이해할 것이다. 소프트웨어 아키텍처(2002)는, 다른 무엇보다도, 프로세서(2110), 메모리/스토리지(2130), 및 입력/출력(I/O) 컴포넌트(2150)를 포함하는 도15의 머신(2100)과 같은 하드웨어 상에서 실행되는 것일 수 있다. 대표적인 하드웨어 계층(2004)이 예시되며, 예를 들어, 도 15의 머신(2100)을 나타낼 수 있다. 대표적인 하드웨어 계층(2004)은 연관된 실행 가능한 명령어(2008)를 갖는 하나 이상의 처리 유닛(2006)을 포함한다. 실행 가능한 명령어(2008)는 본원에서의 방법 및 모듈의 구현을 포함하는 소프트웨어 아키텍처(2002)의 실행 가능한 명령어(2008)를 나타낸다. 하드웨어 계층(2004)은 또한, 실행 가능한 명령어(2008)를 마찬가지로 갖는 메모리 및/또는 스토리지 모듈(2010)을 포함한다. 하드웨어 계층(2004)은 또한, 하드웨어 계층(2004)의 임의의 다른 하드웨어를 나타내는 기타 하드웨어(2012), 예컨대 머신(2100)의 일부로서 예시되는 기타 하드웨어를 포함할 수 있다.
도 14의 예시적인 아키텍처에 있어서, 소프트웨어 아키텍처(2002)는 계층들의 스택(stack)으로서 개념화될 수 있으며, 여기서 각 계층은 특정 기능을 제공한다. 예를 들어, 소프트웨어 아키텍처(2002)는 운영 체제(2014), 라이브러리(2016), 프레임워크/미들웨어(2018), 애플리케이션(2020), 및 프리젠테이션 계층(2044)과 같은 계층들을 포함할 수 있다. 동작상, 계층들 내의 애플리케이션(2020) 및/또는 그 밖의 컴포넌트는 소프트웨어 스택을 통해 API 호(call)(2024)를 호출할 수 있으며, API 호(2024)에 응답하여 메시지(2026)로서 예시되는 응답, 반환 값 등을 수신할 수 있다. 예시되는 계층들은 사실상 대표적인 것이며, 모든 소프트웨어 아키텍처가 모든 계층을 갖는 것은 아니다. 예를 들어, 일부 모바일 또는 특수 목적 운영 체제들은 프레임워크/미들웨어 계층(2018)을 제공하지 않을 수도 있지만, 그 밖의 것들은 이러한 계층을 제공할 수 있다. 다른 소프트웨어 아키텍처들은 추가적인 또는 상이한 계층들을 포함할 수 있다.
운영 체제(2014)는 하드웨어 리소스를 관리하고 공통 서비스를 제공할 수 있다. 운영 체제(2014)는, 예를 들어, 커널(2028), 서비스(2030), 및 드라이버(2032)를 포함할 수 있다. 커널(2028)은 하드웨어와 다른 소프트웨어 계층들과의 사이의 추상화(abstraction) 계층으로서 작용할 수 있다. 예를 들어, 커널(2028)은 메모리 관리, 프로세서 관리(예컨대, 스케줄링), 컴포넌트 관리, 네트워킹, 보안 설정 등을 담당할 수 있다. 서비스(2030)는 다른 소프트웨어 계층들에 대하여 다른 공통 서비스들을 제공할 수 있다. 드라이버(2032)는 기반 하드웨어를 제어하거나 또는 기반 하드웨어와 연결하는 역할을 한다. 예를 들면, 드라이버(2032)는, 하드웨어 구성에 따라, 디스플레이 드라이버, 카메라 드라이버, 블루투스(Bluetooth®) 드라이버, 플래시 메모리 드라이버, 직렬 통신 드라이버(예컨대, USB(Universal Serial Bus) 드라이버), 와이파이(Wi-Fi®) 드라이버, 오디오 드라이버, 전원 관리 드라이버 등을 포함할 수 있다.
라이브러리(2016)는 애플리케이션(2020)에 의해, 및/또는 그 밖의 컴포넌트 및/또는 계층에 의해 이용될 수 있는 공통 인프라를 제공할 수 있다. 라이브러리(2016)는 통상, 다른 소프트웨어 모듈들이 기반 운영 체제(2014) 기능(예컨대, 커널(2028), 서비스(2030), 및/또는 드라이버(2032))과 직접적으로 연결하는 것보다 손쉬운 방식으로 태스크를 수행할 수 있게 하는 기능을 제공한다. 라이브러리(2016)는 메모리 할당 기능, 문자열 조작 기능, 수학 기능 등과 같은 기능을 제공할 수 있는 시스템 라이브러리(2034)(예컨대, C 표준 라이브러리)를 포함할 수 있다. 또한, 라이브러리(2016)는, 미디어 라이브러리(예컨대, MPEG4, H.264, MP3, AAC, AMR, JPG, PNG와 같은 다양한 미디어 포맷의 제시 및 조작을 지원하는 라이브러리), 그래픽 라이브러리(예컨대, 디스플레이 상의 그래픽 콘텐츠에서 2D 및 3D를 렌더링하는 데 사용될 수 있는 OpenGL 프레임워크), 데이터베이스 라이브러리(예컨대, 다양한 관련 데이터베이스 기능을 제공할 수 있는 SQLite), 웹 라이브러리(예컨대, 웹 브라우징 기능을 제공할 수 있는 WebKit) 등과 같은 API 라이브러리(2036)를 포함할 수 있다. 라이브러리(2016)는 또한, 본 명세서에서 설명된 바와 같이, 다수의 다른 API를 애플리케이션(2020) 및 그 밖의 소프트웨어 컴포넌트/모듈에 제공하는 매우 다양한 기타 라이브러리(2038)를 포함할 수 있다.
프레임워크(2018)(때때로, 미들웨어라고도 함)는 애플리케이션(2020) 및/또는 그 밖의 소프트웨어 컴포넌트/모듈에 의해 이용될 수 있는 상위 레벨의 공통 인프라를 제공할 수 있다. 예를 들어, 프레임워크(2018)는 다양한 그래픽 사용자 인터페이스(GUI) 기능, 상위 레벨의 리소스 관리, 상위 레벨의 위치 서비스 등을 제공할 수 있다. 프레임워크(2018)는 애플리케이션(2020)에 의해 이용될 수 있는 광범위한 다른 API들을 제공할 수 있으며, 그중 일부는 특정 운영 체제(2014) 또는 플랫폼에 특정될 수 있다.
애플리케이션(2020)은 내장 애플리케이션(2042) 및/또는 제3자 애플리케이션(2042) 및/또는 제품 타이틀 애플리케이션(104) 등을 포함한다. 대표적인 내장 애플리케이션(2040)의 실시예는 연락처 애플리케이션, 브라우저 애플리케이션, 북 리더(book reader) 애플리케이션, 위치 애플리케이션, 미디어 애플리케이션, 메시징 애플리케이션, 및/또는 게임 애플리케이션을 포함할 수 있지만, 이들에 한정되는 것은 아니다. 제3자 애플리케이션(2042)은 내장 애플리케이션(2040) 중 어느 하나 뿐만 아니라, 광범위한 다른 애플리케이션들의 모음을 포함할 수 있다. 특정 실시예에 있어서, 제3자 애플리케이션(2042)(예컨대, 특정 플랫폼의 벤더 이외의 엔티티에 의해 안드로이드(Android™) 또는 아이오에스(iOS™) 소프트웨어 개발 키트(SDK)를 사용해서 개발된 애플리케이션)은 아이오에스(iOS™), 안드로이드(Android™), 윈도우즈 폰(Windows® Phone), 또는 그 밖의 모바일 운영 체제와 같은 모바일 운영 체제 상에서 실행되는 모바일 소프트웨어일 수 있다. 이 실시예에 있어서, 제3자 애플리케이션(2042)은 본 명세서에서 설명된 기능을 가능하게 하기 위해 운영 체제(2014)와 같은 모바일 운영 체제에 의해 제공되는 API 호(2024)를 호출할 수 있다.
애플리케이션(2020)은 내장 운영 체제 기능(예컨대, 커널(2028), 서비스(2030) 및/또는 드라이버(2032)), 라이브러리(예컨대, 시스템 라이브러리(2034), API 라이브러리(2036), 및 그 밖의 라이브러리(2038)), 프레임워크/미들웨어(2018)를 이용해서 시스템의 사용자와 상호작용하는 사용자 인터페이스를 생성할 수 있다. 대안으로서, 또는 부가적으로, 일부 시스템들에 있어서는 사용자와의 상호작용이 프리젠테이션 계층(2044)과 같은 프리젠테이션 계층을 통해 발생할 수 있다. 이러한 시스템에서, 애플리케이션/모듈 "로직"은 사용자와 상호작용하는 애플리케이션/모듈의 양태와 구별될 수 있다.
일부 소프트웨어 아키텍처들은 가상 머신을 이용한다. 도 14의 실시예에 있어서는, 이것이 가상 머신(2048)에 의해 예시된다. 가상 머신(2048)은 애플리케이션(2020)/모듈이 하드웨어 머신(예를 들어, 도 15의 머신(2100)) 상에서 실행되고 있는 것처럼 실행할 수 있는 소프트웨어 환경을 생성한다. 가상 머신(2048)은 호스트 운영 체제(도 14의 운영 체제(2014))에 의해 호스팅되고, 항상 그러한 것은 아니지만, 통상적으로 호스트 운영 체제(즉, 운영 체제(2014))와의 인터페이스 뿐만 아니라 가상 머신(2048)의 동작을 관리하는 가상 머신 모니터(2046)를 갖는다. 소프트웨어 아키텍처는 가상 머신(2048) 내에서 운영 체제(2050), 라이브러리(2052), 프레임워크/미들웨어(2054), 애플리케이션(2056) 및/또는 프리젠테이션 계층(2058)과 같은 계층들을 실행한다. 가상 머신(2048) 내에서 실행되는 소프트웨어 아키텍처의 이들 계층은 전술한 상응하는 계층들과 동일한 것일 수 있거나, 또는 상이한 것일 수 있다.
예시적인 머신 아키텍처 및 머신-판독 가능 매체(EXAMPLE MACHINE ARCHITECTURE AND MACHINE-READABLE MEDIUM)
도 15는, 일부 예시적인 실시형태들에 따른, 머신-판독 가능 매체(예컨대, 머신-판독 가능 스토리지 매체)로부터 명령어(2116)를 판독하고 본 명세서에서 논의된 방법론들 중 어느 하나 이상을 수행할 수 있는 머신(2100)의 컴포넌트들을 예시하는 블럭도이다. 구체적으로, 도 15는, 머신(2100)으로 하여금 본 명세서에서 논의된 방법론들 중 어느 하나 이상을 수행하게 하는 명령어(2116)(예컨대, 소프트웨어, 프로그램, 애플리케이션(2020), 애플릿(applet), 앱(app), 또는 그 밖의 실행 가능한 코드)가 내부에서 실행될 수 있는 예시적인 형태의 컴퓨터 시스템에 있어서의 머신(2100)의 개요도를 도시한다. 예를 들어, 명령어(2116)는 머신(2100)으로 하여금 도 6 내지 도 10의 흐름도를 실행하게 할 수 있다. 부가적으로, 또는 대안으로서, 명령어(2116)는 도 1a의 시스템(100), 도 11의 아키텍처(1100) 등을 구현할 수 있다. 명령어(2116)는 일반적인 프로그래밍되지 않은 머신(2100)을 프로그래밍된 특정 머신(2100)으로 변환해서 설명 및 예시된 기능들을 전술한 방식으로 수행한다. 대안적인 실시형태들에 있어서, 머신(2100)은 독립형 장치로서 동작하거나 또는 다른 머신들에 결합(예컨대, 네트워크화됨)될 수 있다. 네트워크화된 배치에 있어서, 머신(2100)은 서버-클라이언트 네트워크 환경에서 서버 머신으로서 또는 클라이언트 머신으로서 동작하거나, 또는 피어-투-피어(또는 분산형) 네트워크 환경에서 피어 머신으로서 동작할 수 있다. 머신(2100)은, 해당 머신(2100)에 의해 취해지는 동작들을 지정하는 명령어(2116)를 순차적으로 실행 또는 달리 실행할 수 있는 서버 컴퓨터, 클라이언트 컴퓨터, 개인용 컴퓨터(PC), 태블릿 컴퓨터, 랩톱 컴퓨터, 노트북, 셋톱 박스(STB), 개인용 정보 단말(PDA), 엔터테인먼트 미디어 시스템, 셀룰러 전화기, 스마트폰, 모바일 디바이스, 웨어러블 디바이스(예컨대, 스마트 워치), 스마트 홈 디바이스(예컨대, 스마트 가전), 그 밖의 스마트 디바이스들, 웹 기기, 네트워크 라우터, 네트워크 스위치, 네트워크 브리지, 또는 임의의 머신을 포함할 수 있지만, 이들에 한정되는 것은 아니다. 또한, 단일의 머신(2100)만이 예시되어 있지만, "머신(machine)"이라는 용어는, 본 명세서에서 논의된 방법론들 중 어느 하나 이상을 수행하기 위해 명령어(2116)를 개별적으로 또는 함께 실행하는 머신(2100)들의 집합을 포함하는 것으로 취해지기도 한다.
머신(2100)은 프로세서(2110), 메모리/스토리지(2130), 및 I/O 컴포넌트(2150)를 포함할 수 있으며, 이들은 예컨대, 버스(2102)를 통해 서로 통신하도록 구성될 수 있다. 예시적인 실시형태에 있어서, 프로세서(2110)(예컨대, CPU(Central Processing Unit), RISC(Reduced Instruction Set Computing) 프로세서, CISC(Complex Instruction Set Computing) 프로세서, GPU(Graphics Processing Unit), DSP(Digital Signal Processor), ASIC, RFIC(Radio-Frequency Integrated Circuit), 다른 프로세서, 또는 이들의 임의의 적절한 조합)는, 예를 들어, 명령어(2116)를 실행할 수 있는 프로세서(2112) 및 프로세서(2114)를 포함할 수 있다. "프로세서(processor)"라는 용어는 명령어(2116)들을 동시에 실행할 수 있는 2개 이상의 독립적인 프로세서(2112, 2114)("코어(core)"라고도 함)를 포함할 수 있는 멀티-코어 프로세서(2110)를 포함하는 것으로 의도된다. 도 15가 다수의 프로세서(2112, 2114)를 도시하고 있지만, 머신(2100)은 단일의 코어를 갖는 단일의 프로세서(2112), 다수의 코어를 갖는 단일의 프로세서(2112)(예컨대, 멀티-코어 프로세서), 단일의 코어를 갖는 다수의 프로세서들(2112, 2114), 다수의 코어를 갖는 다수의 프로세서들(2112, 2114), 또는 이들의 임의의 조합을 포함할 수 있다.
메모리/스토리지(2130)는 메인 메모리와 같은 메모리(2132), 또는 그 밖의 메모리 스토리지, 및 스토리지 유닛(2136)을 포함할 수 있으며, 이들 모두에는 프로세서(2110)가 버스(2102)를 통해 액세스 가능하다. 스토리지 유닛(2136) 및 메모리(2132)는 본 명세서에서 설명된 방법론들 또는 기능들 중 어느 하나 이상을 구체화하는 명령어(2116)를 저장한다. 명령어(2116)는 또한, 머신(2100)에 의한 그 실행 동안, 메모리(2132) 내에, 스토리지 유닛(2136) 내에, 적어도 하나의 프로세서(2110) 내에(예컨대, 프로세서의 캐시 메모리 내에), 또는 이들의 임의의 적절한 조합 내에, 완전히 또는 부분적으로 존재할 수도 있다. 따라서, 메모리(2132), 스토리지 유닛(2136), 및 프로세서(2110)의 메모리는 머신-판독 가능 매체의 예이다.
본 명세서에서 사용되는 "머신-판독 가능 스토리지 매체(machine-readable storage medium)"는 명령어(2116) 및 데이터를 일시적으로 또는 영구적으로 저장할 수 있는 장치를 의미하며, 랜덤-액세스 메모리(RAM), 리드-온리 메모리(ROM), 버퍼 메모리, 플래시 메모리, 광학 매체, 자기 매체, 캐시 메모리, 그 밖의 타입의 스토리지(예컨대, EEPROM(erasable programmable read-only memory)) 및/또는 이들의 임의의 적절한 조합을 포함할 수 있지만, 이들에 한정되는 것은 아니다. "머신-판독 가능 스토리지 매체"라는 용어는 명령어(2116)를 저장할 수 있는 단일의 매체 또는 다수의 매체(예컨대, 집중형 또는 분산형 데이터베이스, 또는 연관 캐시 및 서버)를 포함하는 것으로 취해져야 한다. "머신-판독 가능 스토리지 매체"라는 용어는 또한, 머신(2100)의 하나 이상의 프로세서(예컨대, 프로세서(2110))에 의한 실행시에, 명령어(2116)가 머신(2100)으로 하여금 본 명세서에서 설명된 방법론들 중 어느 하나 이상을 수행하게 하도록, 머신(예컨대, 머신(2100))에 의한 실행을 위해 명령어(예컨대, 명령어(2116))를 저장할 수 있는 임의의 매체, 또는 다수의 매체의 조합을 포함하는 것으로 취해질 수 있다. 따라서, "머신-판독 가능 스토리지 매체"는 단일의 스토리지 장치 또는 디바이스 뿐만 아니라, 다수의 스토리지 장치 또는 디바이스를 포함하는 "클라우드-기반의(cloud-based)" 스토리지 시스템 또는 스토리지 네트워크를 의미한다. "머신-판독 가능 매체(machine-readable medium)"라는 용어는 머신 판독 가능 스토리지 매체 및 전송 매체 또는 신호를 포함한다.
I/O 컴포넌트(2150)는 입력을 수신하고, 출력을 제공하고, 출력을 생성하고, 정보를 전송하고, 정보를 교환하고, 측정을 포착하는 등을 하기 위한 매우 다양한 컴포넌트를 포함할 수 있다. 특정 머신(2100)에 포함된 특정 I/O 컴포넌트(2150)는 머신(2100)의 타입에 의존하게 된다. 예를 들어, 모바일 폰과 같은 휴대용 머신은 터치 입력 장치 또는 그와 같은 기타 입력 메커니즘을 포함할 가능성이 있지만, 헤드리스(headless) 서버 머신은 그러한 터치 입력 장치를 포함하지 않을 가능성이 있다. I/O 컴포넌트(2150)는 도 19에 도시되지 않은 다수의 다른 컴포넌트를 포함할 수 있음을 이해할 것이다. I/O 컴포넌트(2150)는 단지 다음의 설명을 간략하게 하기 위해 기능에 따라 그룹화되며, 그룹화는 결코 제한적인 것이 아니다. 다양한 예시적인 실시형태들에 있어서, I/O 컴포넌트(2150)는 출력 컴포넌트(2152) 및 입력 컴포넌트(2154)를 포함할 수 있다. 출력 컴포넌트(2152)는 시각적 컴포넌트(예컨대, 플라스마 디스플레이 패널(PDP), 발광 다이오드(LED) 디스플레이, 액정 디스플레이(LCD), 프로젝터, 또는 음극선관(CRT)과 같은 디스플레이), 음향 컴포넌트(예컨대, 스피커), 햅틱 컴포넌트(예컨대, 진동 모터, 저항 메커니즘), 그 밖의 신호 발생기 등을 포함할 수 있다. 입력 컴포넌트(2154)는 문자숫자 입력 컴포넌트(예컨대, 키보드, 문자숫자 입력을 수신하도록 구성된 터치 스크린, 사진-광학 키보드, 또는 그 밖의 문자숫자 입력 컴포넌트), 포인트-기반의 입력 컴포넌트(예컨대, 마우스, 터치패드, 트랙볼, 조이스틱, 모션 센서, 또는 그 밖의 포인팅 기구), 촉각 입력 컴포넌트(예컨대, 물리 버튼, 터치의 위치 및/또는 힘 또는 터치 제스처를 제공하는 터치 스크린, 또는 그 밖의 촉각 입력 컴포넌트), 음성 입력 컴포넌트(예컨대, 마이크로폰) 등을 포함할 수 있다.
예시적인 추가 실시형태들에 있어서, I/O 컴포넌트(2150)는, 다양한 종류의 다른 컴포넌트들 중에서도, 생체 컴포넌트(2156), 모션 컴포넌트(2158), 환경 컴포넌트(2160), 또는 위치 컴포넌트(2162)를 포함할 수 있다. 예를 들어, 생체 컴포넌트(2156)는 표현(예컨대, 손 표현, 안면 표면, 음성 표현, 신체 제스처, 또는 안구 추적)을 검출하는 컴포넌트, 생체신호(예컨대, 혈압, 심박수, 체온, 땀, 또는 뇌파)를 측정하는 컴포넌트, 사람(예컨대, 음성 인식, 망막 인식, 안면 인식, 지문 인식, 또는 뇌파 기반의 인식)을 식별하는 컴포넌트 등을 포함할 수 있다. 모션 컴포넌트(2158)는 가속도 센서 컴포넌트(예컨대, 가속도계), 중력 센서 컴포넌트, 회전 센서 컴포넌트(예컨대, 자이로스코프) 등을 포함할 수 있다. 환경 컴포넌트(2160)는, 예를 들어, 조명 센서 컴포넌트(예컨대, 광도계), 온도 센서 컴포넌트(예컨대, 주위 온도를 검출하는 하나 이상의 온도계), 습도 센서 컴포넌트, 압력 센서 컴포넌트(예컨대, 바로미터), 음향 센서 컴포넌트(예컨대, 배경 소음을 검출하는 하나 이상의 마이크로폰), 근접도 센서 컴포넌트(예컨대, 근처의 물체를 검출하는 적외선 센서), 가스 센서(예컨대, 안전을 위해 유해 가스의 농도를 검출하거나 대기 중의 오염물을 측정하는 가스 검출 센서), 또는 주변의 물리적 환경에 대응하는 지시, 측정, 또는 신호를 제공할 수 있는 그 밖의 컴포넌트를 포함할 수 있다. 위치 컴포넌트(2162)는 위치 센서 컴포넌트(예컨대, GPS 수신기 컴포넌트), 고도 센서 컴포넌트(예컨대, 고도가 도출될 수 있는 기압을 검출하는 고도계 또는 바로미터), 방위 센서 컴포넌트(예컨대, 자기력계) 등을 포함할 수 있다.
매우 다양한 기술을 사용해서 통신을 구현할 수 있다. I/O 컴포넌트(2150)는 머신(2100)을 제각기 커플링(2182) 및 커플링(2172)을 통해 네트워크(2180) 또는 디바이스(2170)에 결합하도록 동작 가능한 통신 컴포넌트(2164)를 포함할 수 있다. 예를 들어, 통신 컴포넌트(2164)는 네트워크(2180)와 연결하기 위한 네트워크 인터페이스 컴포넌트 또는 다른 적절한 디바이스를 포함할 수 있다. 추가적인 실시예들에 있어서, 통신 컴포넌트(2164)는 유선 통신 컴포넌트, 무선 통신 컴포넌트, 셀룰러 통신 컴포넌트, NFC(near field communication) 컴포넌트, 블루투스(Bluetooth®) 컴포넌트(예컨대, Bluetooth® Low Energy), 와이파이(Wi-Fi®) 컴포넌트, 및 다른 양상들을 통해 통신을 제공하는 그 밖의 통신 컴포넌트를 포함할 수 있다. 디바이스(2170)는 다른 머신 또는 매우 다양한 주변 디바이스 중 어느 하나(예컨대, USB를 통해 결합되는 주변 디바이스)일 수 있다.
또한, 통신 컴포넌트(2164)는 식별자를 검출할 수 있거나, 또는 식별자를 검출하도록 동작 가능한 컴포넌트를 포함할 수 있다. 예를 들어, 통신 컴포넌트(2164)는 RFID(radio frequency identification) 태그 판독기 컴포넌트, NFC 스마트 태그 검출 컴포넌트, 광학 판독기 컴포넌트(예컨대, UPC 바코드와 같은 일차원 바코드, QR(Quick Response) 코드와 같은 다차원 바코드, 아즈텍(Aztec) 코드, 데이터 매트릭스(Data Matrix), 데이터글리프(Dataglyph), 맥시코드(MaxiCode), PDF417, 울트라 코드(Ultra Code), UCC RSS-2D 바코드, 및 그 밖의 광학 코드를 검출하는 광학 센서), 또는 음향 검출 컴포넌트(예컨대, 태깅된 오디오 신호를 식별하는 마이크로폰)를 포함할 수 있다. 또한, IP(Internet Protocol) 지리위치를 통한 위치, 와이파이(Wi-Fi®) 신호 삼각측량을 통한 위치, 특정 위치를 나타낼 수 있는 NFC 비콘 신호 검출을 통한 위치 등과 같이, 다양한 정보가 통신 컴포넌트(2164)를 통해 도출될 수 있다.
전송 매체(TRANSMISSION MEDIUM)
다양한 예시적인 실시형태들에 있어서, 네트워크(2180)의 하나 이상의 부분들은 애드혹(ad hoc) 네트워크, 인트라넷, 엑스트라넷, VPN(virtual private network), LAN(local area network), WLAN(wireless LAN), WAN(wide area network), WWAN(wireless WAN), MAN(metropolitan area network), 인터넷(Internet), 인터넷의 일부분, PSTN(Public Switched Telephone Network)의 일부분, POTS(plain old telephone service) 네트워크, 셀룰러폰 네트워크(cellular telephone network), 무선 네트워크, 와이파이(Wi-Fi®) 네트워크, 다른 유형의 네트워크, 또는 2가지 이상의 상기 네트워크의 조합일 수 있다. 예를 들어, 네트워크(2180) 또는 네트워크(2180)의 일부분은 무선 또는 셀룰러 네트워크를 포함할 수 있으며, 커플링(2182)은 CDMA(Code Division Multiple Access) 접속, GSM(Global System for Mobile communications) 접속, 또는 다른 유형의 셀룰러 또는 무선 결합을 포함할 수 있다. 본 실시예에 있어서, 커플링(2182)은 1xRTT(Single Carrier Radio Transmission Technology), EVDO(Evolution-Data Optimized) 기술, GPRS(General Packet Radio Service) 기술, EDGE(Enhanced Data rates for GSM Evolution) 기술, 3G를 포함하는 3GPP(third Generation Partnership Project), 4G(fourth generation wireless) 네트워크, UMTS(Universal Mobile Telecommunications System), HSPA(High Speed Packet Access), WiMAX(Worldwide Interoperability for Microwave Access), LTE(Long Term Evolution) 표준, 다양한 표준화 기구에 의해 규정된 표준들, 그 밖의 장거리 프로토콜, 또는 그 밖의 데이터 전송 기술과 같이, 다양한 유형의 데이터 전송 기술 중 어느 하나를 구현할 수 있다.
명령어(2116)는 네트워크 인터페이스 디바이스(예컨대, 통신 컴포넌트(2164)에 포함되는 네트워크 인터페이스 컴포넌트)를 통해 전송 매체를 사용하고, 또한 공지되어 있는 다수의 전송 프로토콜 중 어느 하나(예컨대, HTTP(hypertext transfer protocol))를 이용해서 네트워크(2180)를 경유하여 송신 또는 수신될 수 있다. 유사하게, 명령어(2116)는 커플링(2172)(예컨대, 피어-투-피어 커플링)을 통해 전송 매체를 사용해서 디바이스(2170)에 대하여 송신 또는 수신될 수 있다. "전송 매체(transmission medium)"라는 용어는 머신(2100)에 의한 실행을 위해 명령어(2116)를 저장, 부호화, 또는 반송할 수 있는 임의의 무형 매체를 포함하도록 취해지며, 상기와 같은 소프트웨어의 통신을 가능하게 하는 디지털 또는 아날로그 통신 신호 또는 그 밖의 무형 매체를 포함한다. 전송 매체는 머신 판독 가능 매체의 실시형태이다.
하기의 번호를 매긴 실시예들이 실시형태들이다.
1.
시스템은:
적어도 하나의 프로세서 및 컴퓨터 판독 가능 매체 상에서 액세스 가능한 명령어를 포함하고, 해당 명령어는, 실행시에, 적어도 하나의 프로세서로 하여금 동작들을 수행하게 하며, 해당 동작들은:
네트워크 기반의 시장에서 판매를 위해 제공되는 아이템들을 제각기 설명하는 제1의 복수의 아이템 목록을 식별하는 동작 ― 해당 식별하는 동작은 각각의 아이템 목록이, 상기 네트워크 기반의 시장에서 제품 타이틀과 연계되어 있지 않는 제품 식별자로서 상기 아이템 목록과 매칭되는 제품 식별자를 포함하는 것에 기초하며, 제1의 복수의 아이템 목록은 제1의 복수의 아이템 타이틀 및 제1 아이템 목록을 포함함 ― ;
특징 값들을 추출 및 처리하는 동작 ― 해당 추출 및 처리하는 동작은
제1의 복수의 아이템 목록으로부터 제1의 복수의 아이템 특징 값을 추출하하고, 제1의 복수의 아이템 특징 값을 처리해서 제2의 복수의 아이템 특징 값을 생성하는 동작, 및
제1의 복수의 아이템 목록으로부터 제1의 복수의 제품 특징 값을 추출하고, 제1의 복수의 제품 특징 값을 처리해서 제1 아이템 목록과 제1의 복수의 아이템 목록 사이의 비교를 설명하는 제1 제품 특징 값을 포함하는 제2의 복수의 제품 특징 값을 생성하는 동작을 포함함 ― ;
제1의 복수의 아이템 타이틀로부터 제품 타이틀을 채택하는 동작 ― 해당 채택하는 동작은
제품 타이틀 모델을 이용하는 머신 러닝 알고리즘으로 제2의 복수의 아이템 특징 값 및 제2의 복수의 제품 특징 값을 분석해서 복수의 아이템 타이틀 스코어를 생성하는 동작, 및
제품에 대한 제품 타이틀을 식별하는 동작을 포함하되,
해당 식별하는 동작은 복수의 아이템 타이틀 스코어에 기초하여 복수의 아이템 타이틀로부터 제품 타이틀을 식별하는 동작을 포함함 ― ;
제품 타이틀을 포함하는 제품 사용자 인터페이스를 생성하는 동작; 및
클라이언트 머신 상에 디스플레이하기 위해 네트워크를 통해 제품 사용자 인터페이스 ― 제품 사용자 인터페이스는 제품 타이틀을 포함함 ― 와 통신하는 동작을 포함한다.
2.
실시예 1의 시스템에 있어서, 동작들은 제품 타이틀을 심화하는 동작을 더 포함하고, 심화하는 동작은 제품 타이틀 내의 글자를 재구성(reformat)하는 동작을 포함한다.
3.
실시예 2의 시스템에 있어서, 글자를 재구성하는 동작은 글자를 대문자로서 구성하는 동작을 포함한다.
4.
실시예 3의 시스템에 있어서, 재구성하는 동작은 국가를 식별하는 국가 식별자에 기초하는 동작이다.
5.
실시예 1 내지 4 중 어느 한 실시예의 시스템에 있어서, 동작들은 제2의 복수의 아이템에 기초하여 제품 타이틀 모델을 트레이닝하는 동작을 더 포함한다.
6.
실시예 1 내지 5 중 어느 한 실시예의 시스템에 있어서, 제품 식별자는 GTIN(global trade item number), MPN(manufacturer part number), UPC(Universal Product Code), EAN(European article number), JAN(Japanese Article Number), 및 ISBN(international standard book number)을 포함하는 제품 식별자들의 그룹으로부터 선택된다.
7.
실시예 1 내지 6 중 어느 한 실시예의 시스템에 있어서, 제품에 대한 제품 타이틀을 채택하는 동작은 분석에 기초하여 복수의 타이틀 스코어를 생성하는 동작을 포함하고, 복수의 타이틀 스코어는 제1의 복수의 아이템 타이틀에 포함되는 아이템 타이틀들과 제각기 연계된 타이틀 스코어들을 포함한다.
8.
실시예 1 내지 7 중 어느 한 실시예의 시스템에 있어서, 제2의 복수의 제품 값은 가장 빈번하게 사용되는 토큰이 제1 아이템 타이틀에 포함되는지의 여부를 설명하는 불(Boolean) 값을 포함하는 제2 제품 값을 포함한다.
9.
실시예 1 내지 8 중 어느 한 실시예의 시스템에 있어서, 제1의 복수의 아이템 값은 타이틀 사이즈들의 범위를 설명하는 제1 아이템 값을 포함한다.
10.
방법은
네트워크 기반의 시장에서 판매를 위해 제공되는 아이템들을 제각기 설명하는 제1의 복수의 아이템 목록을 식별하는 단계 ― 해당 식별하는 단계는 각각의 아이템 목록이, 상기 네트워크 기반의 시장에서 제품 타이틀과 연계되어 있지 않는 제품 식별자로서 상기 아이템 목록과 매칭되는 제품 식별자를 포함하는 것에 기초하며, 제1의 복수의 아이템 목록은 제1의 복수의 아이템 타이틀 및 제1 아이템 목록을 포함함 ― ;
특징 값들을 추출 및 처리하는 단계 ― 해당 추출 및 처리하는 단계는
제1의 복수의 아이템 목록으로부터 제1의 복수의 아이템 특징 값을 추출하고, 제1의 복수의 아이템 특징 값을 처리해서 제2의 복수의 아이템 특징 값을 생성하는 단계, 및
제1의 복수의 아이템 목록으로부터 제1의 복수의 제품 특징 값을 추출하고, 제1의 복수의 제품 특징 값을 처리해서 제1 아이템 목록과 제1의 복수의 아이템 목록 사이의 비교를 설명하는 제1 제품 특징 값을 포함하는 제2의 복수의 제품 특징 값을 생성하는 단계를 포함함 ― ;
제1의 복수의 아이템 타이틀로부터 제품 타이틀을 채택하는 단계 ― 해당 채택하는 단계는
제품 타이틀 모델을 이용하는 머신 러닝 알고리즘으로 제2의 복수의 아이템 특징 값 및 제2의 복수의 제품 특징 값을 분석해서 복수의 아이템 타이틀 스코어를 생성하는 단계, 및
제품에 대한 제품 타이틀을 식별하는 단계를 포함하되,
해당 식별하는 단계는 복수의 아이템 타이틀 스코어에 기초하여 복수의 아이템 타이틀로부터 제품 타이틀을 식별하는 단계를 포함함 ― ;
제품 타이틀을 포함하는 제품 사용자 인터페이스를 생성하는 단계; 및
클라이언트 머신 상에 디스플레이하기 위해 네트워크를 통해 제품 사용자 인터페이스 ― 제품 사용자 인터페이스는 제품 타이틀을 포함함 ― 와 통신하는 단계를 포함한다.
11.
실시예 10의 방법에 있어서, 해당 방법은 제품 타이틀을 심화하는 단계를 더 포함하고, 심화하는 단계는 제품 타이틀 내의 글자를 재구성하는 단계를 포함한다.
12.
실시예 11의 방법에 있어서, 글자를 재구성하는 단계는 글자를 대문자로서 구성하는 단계를 포함한다.
13.
실시예 12의 방법에 있어서, 재구성하는 단계는 국가를 식별하는 국가 식별자에 기초하는 단계이다.
14.
실시예 10 내지 13 중 어느 한 실시예의 방법에 있어서, 해당 방법은 제2의 복수의 아이템에 기초하여 제품 타이틀 모델을 트레이닝하는 단계를 더 포함한다.
15.
실시예 10 내지 14 중 어느 한 실시예의 방법에 있어서, 제품 식별자는 GTIN(global trade item number), MPN(manufacturer part number), UPC(Universal Product Code), EAN(European article number), JAN(Japanese Article Number), 및 ISBN(international standard book number)을 포함하는 제품 식별자들의 그룹으로부터 선택된다.
16.
실시예 10 내지 15 중 어느 한 실시예의 방법에 있어서, 제품에 대한 제품 타이틀을 채택하는 단계는 분석에 기초하여 복수의 타이틀 스코어를 생성하는 단계를 포함하고, 복수의 타이틀 스코어는 제1의 복수의 아이템 타이틀에 포함되는 아이템 타이틀들과 제각기 연계된 타이틀 스코어들을 포함한다.
17.
실시예 10 내지 16 중 어느 한 실시예의 방법에 있어서, 제2의 복수의 제품 값은 가장 빈번하게 사용되는 토큰이 제1 아이템 타이틀에 포함되는지의 여부를 설명하는 불 값을 포함하는 제2 제품 값을 포함한다.
18.
실시예 10 내지 17 중 어느 한 실시예의 방법에 있어서, 제1의 복수의 아이템 값은 타이틀 사이즈들의 범위를 설명하는 제1 아이템 값을 포함한다.
19.
머신의 프로세서에 의한 실행시에, 머신으로 하여금 동작들을 수행하게 하는 일련의 명령어를 저장하는 머신 판독 가능 하드웨어 스토리지 장치로서, 해당 동작들은
네트워크 기반의 시장에서 판매를 위해 제공되는 아이템들을 제각기 설명하는 제1의 복수의 아이템 목록을 식별하는 동작 ― 해당 식별하는 동작은 각각의 아이템 목록이, 상기 네트워크 기반의 시장에서 제품 타이틀과 연계되어 있지 않는 제품 식별자로서 상기 아이템 목록과 매칭되는 제품 식별자를 포함하는 것에 기초하며, 제1의 복수의 아이템 목록은 제1의 복수의 아이템 타이틀 및 제1 아이템 목록을 포함함 ― ;
특징 값들을 추출 및 처리하는 동작 ― 해당 추출 및 처리하는 동작은
제1의 복수의 아이템 목록으로부터 제1의 복수의 아이템 특징 값을 추출하고, 제1의 복수의 아이템 특징 값을 처리해서 제2의 복수의 아이템 특징 값을 생성하는 동작, 및
제1의 복수의 아이템 목록으로부터 제1의 복수의 제품 특징 값을 추출하고, 제1의 복수의 제품 특징 값을 처리해서 제1 아이템 목록과 제1의 복수의 아이템 목록 사이의 비교를 설명하는 제1 제품 특징 값을 포함하는 제2의 복수의 제품 특징 값을 생성하는 동작을 포함함 ― ;
제1의 복수의 아이템 타이틀로부터 제품 타이틀을 채택하는 동작 ― 해당 채택하는 동작은
제품 타이틀 모델을 이용하는 머신 러닝 알고리즘으로 제2의 복수의 아이템 특징 값 및 제2의 복수의 제품 특징 값을 분석해서 복수의 아이템 타이틀 스코어를 생성하는 동작, 및
제품에 대한 제품 타이틀을 식별하는 동작을 포함하되,
해당 식별하는 동작은 복수의 아이템 타이틀 스코어에 기초하여 복수의 아이템 타이틀로부터 제품 타이틀을 식별하는 동작을 포함함 ― ;
제품 타이틀을 포함하는 제품 사용자 인터페이스를 생성하는 동작; 및
클라이언트 머신 상에 디스플레이하기 위해 네트워크를 통해 제품 사용자 인터페이스 ― 제품 사용자 인터페이스는 제품 타이틀을 포함함 ― 와 통신하는 동작을 포함한다.
21.
머신의 프로세서에 의한 구현시에, 머신으로 하여금 실시예 10 내지 18 중 어느 한 실시예의 방법을 수행하게 하는 머신 판독 가능 명령어를 반송하는 머신 판독 가능 매체.
언어(LANGUAGE)
본 명세서 전반에 걸쳐, 단일의 인스턴스로서 설명된 컴포넌트, 동작, 또는 구조를 복수의 인스턴스가 구현할 수 있다. 하나 이상의 방법의 개별적인 동작들이 별도의 동작들로서 예시 및 설명되어 있지만, 하나 이상의 개별적인 동작들이 동시에 수행될 수 있고, 해당 동작들을 예시된 순서로 수행할 필요는 없다. 예시적인 구성들에서 개별 컴포넌트로서 제시된 구조 및 기능은 조합된 구조 또는 컴포넌트로서 구현될 수 있다. 유사하게, 단일의 컴포넌트로서 제시된 구조 및 기능은 개별 컴포넌트로서 구현될 수 있다. 이들 및 다른 변경, 수정, 추가, 및 개량은 본 명세서의 청구대상의 범위 내이다.
본 발명의 청구대상의 개요가 특정한 예시적인 실시형태들을 참조하여 설명되어 있지만, 이들 실시형태에 대해서는 본 개시물의 보다 넓은 범위의 실시형태들로부터 일탈함이 없이 다양한 수정 및 변경이 이루어질 수 있다. 본 발명의 청구대상의 상기와 같은 실시형태들은, 본 명세서에서는, 사실상 하나 이상의 발명이 개시되는 경우에, 본원의 범위를 자발적으로 임의의 단일의 개시물 또는 발명적 개념에 한정하려는 의도 없이, 개별적으로 또는 총괄하여, 단순히 편의상 "발명"이라는 용어로 인용될 수 있다.
본 명세서에서 예시된 예시적인 실시형태들은 개시된 기술내용을 당업자가 실시할 수 있을 만큼 충분히 상세하게 설명된다. 본 개시물의 범위로부터 일탈함이 없이 구조적 및 논리적 대체 및 변경이 이루어질 수 있도록, 그것으로부터 다른 예시적인 실시형태들이 사용 및 도출될 수 있다. 따라서, 발명의 상세한 설명은 한정의 의미로 받아들여지면 안 되고, 다양한 예시적인 실시형태들의 범주는 첨부된 청구항들에 부여되는 등가물의 전체 범위와 함께, 해당 청구항들에 의해서만 규정된다.
본 명세서에서 사용되는 "또는"이라는 용어는 포괄적 의미로 또는 배타적 의미로 해석될 수 있다. 또한, 본 명세서에서 단일의 인스턴스로서 설명된 리소스, 동작, 또는 구조에 대해서는 복수의 인스턴스가 제공될 수 있다. 부가적으로, 다양한 리소스들, 동작들, 모듈들, 엔진들, 및 데이터 저장소들간의 경계는 다소 임의적이고, 특정한 동작들은 구체적인 예시적 구성의 맥락에서 나타내진다. 기능에 대한 다른 할당이 구상되어서, 본 개시물의 다양한 예시적인 실시형태들의 범위 내로 될 수 있다. 일반적으로, 예시적인 구성에서 별도의 리소스로서 제시된 구조 및 기능은 조합된 구조 또는 리소스로서 구현될 수 있다. 마찬가지로, 단일의 리소스로서 제시된 구조 및 기능은 별도의 리소스로서 구현될 수 있다. 이들 및 다른 변경, 수정, 추가, 및 개량은 첨부된 청구항들에 의해 표현된 바와 같은 본 개시물의 예시적인 실시형태들의 범위 내이다. 그에 따라, 명세서 및 도면은 제한적인 의미가 아니라 설명적인 의미로 간주되어야 한다.
Claims (10)
- 제품 타이틀 모델을 트레이닝하는 방법으로서,
제품 타이틀을 선택하기 위한 아이템 목록들의 세트 및 트레이닝을 위한 제품 타이틀 모델을 수신하는 단계 - 상기 아이템 목록들의 세트 내의 아이템 목록들 각각은 트레이닝 태그로 태깅됨 - 와,
상기 아이템 목록들의 세트로부터 특징 값을 추출하는 단계 - 상기 특징 값은 아이템 특징 값 및 제품 특징 값을 포함함 - 와,
상기 아이템 특징 값 및 상기 제품 특징 값을 이용하여 제품 타이틀 머신을 호출해서 상기 제품 타이틀을 채택하는 단계와,
상기 제품 타이틀에 따라 상기 제품 타이틀 모델을 업데이트하는 단계
를 포함하는 방법.
- 제1항에 있어서,
상기 제품 타이틀 모델을 이용하는 머신 러닝 알고리즘으로 복수의 아이템 특징 값 및 복수의 제품 특징 값을 분석해서 복수의 아이템 타이틀 스코어를 생성하는 단계
를 더 포함하는 방법.
- 제2항에 있어서,
제품에 대한 상기 제품 타이틀을 식별하는 단계 - 상기 식별하는 단계는 상기 복수의 아이템 타이틀 스코어에 기초하여 복수의 아이템 타이틀로부터 상기 제품 타이틀을 식별하는 단계를 포함함 -
를 더 포함하는 방법.
- 제1항에 있어서,
상기 제품 타이틀을 심화하는(enriching) 단계 - 상기 심화하는 단계는 상기 제품 타이틀 내의 글자를 재구성(reformat)하는 단계를 포함함 -
를 더 포함하는 방법.
- 제4항에 있어서,
상기 글자를 재구성하는 단계는 상기 글자를 대문자로서 구성하는 단계를 포함하는
방법.
- 제5항에 있어서,
상기 재구성하는 단계는 국가를 식별하는 국가 식별자에 기초하는
방법.
- 제1항에 있어서,
제2의 아이템 목록들의 세트에 기초하여 상기 제품 타이틀 모델을 트레이닝하는 단계
를 더 포함하는 방법.
- 제1항에 있어서,
상기 트레이닝 태그는 특정 아이템 목록 내의 아이템 타이틀이 양호인지 또는 불량인지의 여부를 나타내는
방법.
- 머신의 프로세서에 의한 실행시에, 상기 머신으로 하여금 제1항 내지 제8항 중 어느 한 항의 방법을 수행하게 하는 일련의 명령어를 저장하는
머신 판독 가능 하드웨어 스토리지 장치.
- 시스템으로서,
적어도 하나의 프로세서 및 컴퓨터 판독 가능 매체 상에서 액세스 가능한 명령어를 포함하고, 상기 명령어는, 실행시에, 상기 적어도 하나의 프로세서로 하여금 제1항 내지 제8항 중 어느 한 항의 방법을 수행하게 하는
시스템.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/290,648 US11580589B2 (en) | 2016-10-11 | 2016-10-11 | System, method, and medium to select a product title |
US15/290,648 | 2016-10-11 | ||
KR1020197013388A KR102285263B1 (ko) | 2016-10-11 | 2017-10-11 | 제품 타이틀 선택 기법 |
PCT/US2017/056143 WO2018071545A1 (en) | 2016-10-11 | 2017-10-11 | Selecting a product title |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197013388A Division KR102285263B1 (ko) | 2016-10-11 | 2017-10-11 | 제품 타이틀 선택 기법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210099168A true KR20210099168A (ko) | 2021-08-11 |
Family
ID=61828962
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217024036A KR20210099168A (ko) | 2016-10-11 | 2017-10-11 | 제품 타이틀 선택 기법 |
KR1020197013388A KR102285263B1 (ko) | 2016-10-11 | 2017-10-11 | 제품 타이틀 선택 기법 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197013388A KR102285263B1 (ko) | 2016-10-11 | 2017-10-11 | 제품 타이틀 선택 기법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11580589B2 (ko) |
JP (1) | JP6802370B2 (ko) |
KR (2) | KR20210099168A (ko) |
CN (1) | CN110023982B (ko) |
WO (1) | WO2018071545A1 (ko) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11580589B2 (en) | 2016-10-11 | 2023-02-14 | Ebay Inc. | System, method, and medium to select a product title |
US10841257B1 (en) * | 2016-10-25 | 2020-11-17 | Twitter, Inc. | Determining engagement scores for sub-categories in a digital domain by a computing system |
US10860803B2 (en) * | 2017-05-07 | 2020-12-08 | 8X8, Inc. | System for semantic determination of job titles |
US11307880B2 (en) | 2018-04-20 | 2022-04-19 | Meta Platforms, Inc. | Assisting users with personalized and contextual communication content |
US11715042B1 (en) | 2018-04-20 | 2023-08-01 | Meta Platforms Technologies, Llc | Interpretability of deep reinforcement learning models in assistant systems |
US11886473B2 (en) | 2018-04-20 | 2024-01-30 | Meta Platforms, Inc. | Intent identification for agent matching by assistant systems |
US10782986B2 (en) | 2018-04-20 | 2020-09-22 | Facebook, Inc. | Assisting users with personalized and contextual communication content |
US11676220B2 (en) | 2018-04-20 | 2023-06-13 | Meta Platforms, Inc. | Processing multimodal user input for assistant systems |
CN110580335B (zh) * | 2018-06-07 | 2023-05-26 | 阿里巴巴集团控股有限公司 | 用户意图的确定方法及装置 |
US11568466B2 (en) * | 2018-12-19 | 2023-01-31 | Yahoo Ad Tech Llc | Systems and methods for recommendation generation |
US11176324B2 (en) * | 2019-09-26 | 2021-11-16 | Sap Se | Creating line item information from free-form tabular data |
US20210142376A1 (en) * | 2019-11-07 | 2021-05-13 | Ebay Inc. | Compatible model determination for efficient listing creation |
US11568425B2 (en) * | 2020-02-24 | 2023-01-31 | Coupang Corp. | Computerized systems and methods for detecting product title inaccuracies |
CN111460801B (zh) * | 2020-03-30 | 2023-08-18 | 北京百度网讯科技有限公司 | 标题生成方法、装置及电子设备 |
US20210390267A1 (en) * | 2020-06-12 | 2021-12-16 | Ebay Inc. | Smart item title rewriter |
CN111915262B (zh) * | 2020-08-14 | 2024-03-12 | 杭州网易再顾科技有限公司 | 任务处理方法、装置、电子设备及计算机可读存储介质 |
US11164232B1 (en) * | 2021-01-15 | 2021-11-02 | Coupang Corp. | Systems and methods for intelligent extraction of attributes from product titles |
US11200612B1 (en) | 2021-02-12 | 2021-12-14 | Coupang Corp. | Systems and methods for intelligent extraction of quantities from product titles |
CN114065750A (zh) * | 2021-11-15 | 2022-02-18 | 广州华多网络科技有限公司 | 商品信息匹配、发布方法及其装置、设备、介质、产品 |
CN116521906B (zh) * | 2023-04-28 | 2023-10-24 | 广州商研网络科技有限公司 | 元描述生成方法及其装置、设备、介质 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7082426B2 (en) * | 1993-06-18 | 2006-07-25 | Cnet Networks, Inc. | Content aggregation method and apparatus for an on-line product catalog |
JP2000148741A (ja) | 1998-11-18 | 2000-05-30 | Omron Corp | 文書データ作成装置、文書データ作成方法、文書データ作成プログラムを記録した記録媒体、文書環境設定プログラムを記録した記録媒体および環境設定情報を記録した記録媒体 |
TW515971B (en) | 1999-02-10 | 2003-01-01 | Ibm | Network-based product information server |
US20070100666A1 (en) * | 2002-08-22 | 2007-05-03 | Stivoric John M | Devices and systems for contextual and physiological-based detection, monitoring, reporting, entertainment, and control of other devices |
KR20090058722A (ko) | 2007-12-05 | 2009-06-10 | 주민성 | 사용자가 제작한 상품 평가 정보 제공 시스템 및 방법 |
US20110047163A1 (en) | 2009-08-24 | 2011-02-24 | Google Inc. | Relevance-Based Image Selection |
US8504567B2 (en) | 2010-08-23 | 2013-08-06 | Yahoo! Inc. | Automatically constructing titles |
CN102737057B (zh) | 2011-04-14 | 2015-04-01 | 阿里巴巴集团控股有限公司 | 一种商品类目信息的确定方法及装置 |
US8700494B2 (en) * | 2011-09-06 | 2014-04-15 | Google Inc. | Identifying product variants |
US9348811B2 (en) | 2012-04-20 | 2016-05-24 | Sap Se | Obtaining data from electronic documents |
CN103577989B (zh) | 2012-07-30 | 2017-11-14 | 阿里巴巴集团控股有限公司 | 一种基于产品识别的信息分类方法及信息分类系统 |
US10528907B2 (en) | 2012-12-19 | 2020-01-07 | Oath Inc. | Automated categorization of products in a merchant catalog |
JP2014146136A (ja) | 2013-01-28 | 2014-08-14 | Nippon Telegr & Teleph Corp <Ntt> | アイテム情報検索装置、モデル作成装置、アイテム情報検索方法、モデル作成方法、及びプログラム |
US9613371B2 (en) | 2014-09-02 | 2017-04-04 | Wal-Mart Stores, Inc. | Dynamic taxonomy generation with demand-based product groups |
US10217147B2 (en) | 2014-09-12 | 2019-02-26 | Ebay Inc. | Mapping products between different taxonomies |
JP5963328B2 (ja) * | 2014-10-30 | 2016-08-03 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 生成装置、生成方法、およびプログラム |
JP5887031B1 (ja) | 2015-05-29 | 2016-03-16 | 楽天株式会社 | 商品特定装置、商品特定方法及び商品特定プログラム |
US10614500B2 (en) * | 2015-08-13 | 2020-04-07 | BloomReach, Inc. | Identifying search friendly web pages |
CN105740380B (zh) | 2016-01-27 | 2019-03-12 | 北京邮电大学 | 数据融合方法及系统 |
US11580589B2 (en) | 2016-10-11 | 2023-02-14 | Ebay Inc. | System, method, and medium to select a product title |
-
2016
- 2016-10-11 US US15/290,648 patent/US11580589B2/en active Active
-
2017
- 2017-10-11 KR KR1020217024036A patent/KR20210099168A/ko not_active IP Right Cessation
- 2017-10-11 JP JP2019517846A patent/JP6802370B2/ja not_active Expired - Fee Related
- 2017-10-11 WO PCT/US2017/056143 patent/WO2018071545A1/en active Application Filing
- 2017-10-11 CN CN201780062475.5A patent/CN110023982B/zh active Active
- 2017-10-11 KR KR1020197013388A patent/KR102285263B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
US11580589B2 (en) | 2023-02-14 |
KR20190067214A (ko) | 2019-06-14 |
US20180101893A1 (en) | 2018-04-12 |
CN110023982B (zh) | 2022-02-25 |
JP6802370B2 (ja) | 2020-12-16 |
JP2019533246A (ja) | 2019-11-14 |
WO2018071545A1 (en) | 2018-04-19 |
CN110023982A (zh) | 2019-07-16 |
KR102285263B1 (ko) | 2021-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102285263B1 (ko) | 제품 타이틀 선택 기법 | |
US10936632B2 (en) | Enhanced search query suggestions | |
US10783565B2 (en) | Method, manufacture, and system of transferring authenticated sessions and states between electronic devices | |
US11769192B2 (en) | Dynamically adjusted results for search interface | |
US11687991B2 (en) | Structured item organizing mechanism in e-commerce | |
KR20190013954A (ko) | 애스펙트를 이용한 쿼리의 라벨링 | |
US10366144B2 (en) | Analyzing and linking a set of images by identifying objects in each image to determine a primary image and a secondary image | |
KR102246823B1 (ko) | 상이한 사이트들에 걸쳐 데이터를 채택하는 방법 | |
CN112334904B (zh) | 处理交易反馈 | |
US11126628B2 (en) | System, method and computer-readable medium for enhancing search queries using user implicit data | |
KR20180039695A (ko) | 상호적 제품 리뷰 인터페이스 | |
US20160328765A1 (en) | Enhanced supply and demand tool | |
KR102292545B1 (ko) | 콘텐트 생성을 위한 콘텍스트 식별 | |
US20160364753A1 (en) | Retargeting based on user item interactions | |
US11416916B2 (en) | Managing products at a physical marketplace | |
WO2017139645A1 (en) | Management of an advertising exchange using email data | |
US20210142376A1 (en) | Compatible model determination for efficient listing creation | |
US20190318400A1 (en) | Systems and methods for multi-directional electronic transaction arrangements | |
US20220391961A1 (en) | Bundled listing generation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X601 | Decision of rejection after re-examination |