KR20180114212A - 추천 엔진 - Google Patents

추천 엔진 Download PDF

Info

Publication number
KR20180114212A
KR20180114212A KR1020187028478A KR20187028478A KR20180114212A KR 20180114212 A KR20180114212 A KR 20180114212A KR 1020187028478 A KR1020187028478 A KR 1020187028478A KR 20187028478 A KR20187028478 A KR 20187028478A KR 20180114212 A KR20180114212 A KR 20180114212A
Authority
KR
South Korea
Prior art keywords
list
item
user
recommendation
recommendation list
Prior art date
Application number
KR1020187028478A
Other languages
English (en)
Inventor
트로이 스티븐 아코트
제시 블록
아이작 사크스
루카스 데샤저
Original Assignee
이베이 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이베이 인크. filed Critical 이베이 인크.
Publication of KR20180114212A publication Critical patent/KR20180114212A/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/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0252Targeted advertisements based on events or environment, e.g. weather or festivals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history
    • 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/0633Lists, e.g. purchase orders, compilation or processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces
    • G06Q30/0643Graphical representation of items or shoppers

Abstract

사용자는 의도된 수취인을 위한 선물을 쇼핑하는 동안 아이템 목록과 상호작용한다. 사용자 상호작용에 기초하여, 추천 엔진은 사용자에게 제시하기 위해 판매할 아이템을 설명하는 아이템 목록을 선택하는데, 아이템 목록은 의도된 수취인에 대한 관심 있는 아이템에 대한 것이다. 선택은 사용자에 의한 아이템 목록과의 상호작용(예컨대, 사용자에 의한 과거 구매), 선택된 아이템 목록의 속성, 의도된 수취인의 희망 목록 및 다른 사용자의 행동에 기초한다. 또한, 추천은 아이템이 사용자에 의해 의도된 수취인을 위한 선물로서 구매될 수 있는 행사의 날짜에 기초하여 제시될 수 있다.

Description

추천 엔진
우선권 주장
본 출원은 "추천 엔진"이라는 명칭의 2016년 3월 3일자로 출원된 미국 특허출원 제 15/060,301 호에 대한 우선권을 주장하며, 이 미국 특허출원은 그 전체가 본원에 참조로서 통합된다.
기술 분야
본 명세서에 개시된 주제는 일반적으로 추천을 하는 컴퓨터 시스템에 관한 것이다. 구체적으로, 본 발명은 구매를 위한 아이템 추천과 관련된 시스템 및 방법을 다룬다.
사용자의 검색 및 구매 이력은 사용자가 관심을 가질만한 다른 아이템을 식별하기 위해 사용된다. 하나 이상의 추천 아이템이 사용자에게 제시된다.
첨부된 도면의 도면들에서 몇몇 실시예는 제한이 아닌 예로서 도시된다.
도 1은 몇몇 예시적 실시예에 따른, 추천을 생성하기에 적합한 네트워크 환경을 도시하는 네트워크 도면이다.
도 2는 몇몇 예시적 실시예에 따른, 추천을 생성하기에 적합한 추천 서버의 구성요소를 도시하는 블록도이다.
도 3은 몇몇 예시적 실시예에 따른, 아이템 목록을 디스플레이하기에 적합한 사용자 인터페이스를 도시하는 블록도이다.
도 4는 몇몇 예시적 실시예에 따른, 아이템 목록 내의 아이템의 의도된 수취인을 식별하기에 적합한 사용자 인터페이스를 도시하는 블록도이다.
도 5는 몇몇 예시적 실시예에 따른, 의도된 수취인에 대한 아이템과 연관된 행사(occasion)를 식별하기에 적합한 사용자 인터페이스를 도시하는 블록도이다.
도 6은 몇몇 예시적 실시예에 따른, 행사와 관련된 날짜를 식별하기에 적합한 사용자 인터페이스를 도시하는 블록도이다.
도 7은 몇몇 예시적 실시예에 따른, 상이한 수취인들과 연관된 추천된 아이템 목록의 세트를 디스플레이하기에 적합한 사용자 인터페이스를 도시하는 블록도이다.
도 8은 몇몇 예시적 실시예에 따른, 상이한 행사들과 연관된 추천된 아이템 목록의 세트를 디스플레이하기에 적합한 사용자 인터페이스를 도시하는 블록도이다.
도 9는 몇몇 예시적 실시예에 따른, 아이템 목록에서 아이템의 의도된 수취인을 식별하기에 적합한 사용자 인터페이스를 도시하는 블록도이다.
도 10은 몇몇 예시적 실시예에 따른, 다가오는 선물 제공 이벤트를 제시하기에 적합한 사용자 인터페이스를 도시하는 블록도이다.
도 11은 몇몇 예시적 실시예에 따른, 아이템 수취인에 관한 추가 정보를 수집하기에 적합한 사용자 인터페이스를 도시하는 블록도이다.
도 12는 몇몇 예시적 실시예에 따른, 추천을 생성하는 프로세스를 수행할 때의 서버의 동작을 도시하는 흐름도이다.
도 13은 몇몇 예시적 실시예에 따른, 추천을 생성하는 프로세스를 수행할 때의 서버의 동작을 도시하는 흐름도이다.
도 14는 몇몇 예시적 실시예에 따른, 머신 상에 설치될 수 있는 소프트웨어 아키텍처의 예를 도시하는 블록도이다.
도 15는 예시적 실시예에 따른, 머신으로 하여금 본 명세서에서 설명된 방법론 중 임의의 하나 이상을 수행하게 하는 명령어의 세트가 실행될 수 있는 컴퓨터 시스템 형태의 머신의 개략도를 도시한다.
예시적 방법 및 시스템은 아이템 목록에 대한 추천을 생성하는 것에 관한 것이다. 예들은 단순히 가능한 변동을 예시하는 것이다. 명시적으로 달리 언급하지 않는 한, 구성요소 및 기능은 선택사항이고 결합되거나 세분화될 수 있으며, 동작은 순서가 변경되거나 결합되거나 세분화될 수 있다. 이하의 설명에서는 설명의 목적으로 예시적 실시예들의 완전한 이해를 제공하기 위해 다수의 특정 세부사항이 제시된다. 그러나, 당업자에게는 본 발명이 이러한 특정 세부사항 없이 실시될 수 있음이 명백할 것이다.
추천 엔진은 사용자에게 제시할 판매용 아이템을 설명하는 아이템 목록을 선택한다. 선택은 사용자에 의한 아이템 목록과의 상호작용(예컨대, 사용자에 의한 과거 구매), 선택된 아이템 목록의 속성 및 다른 사용자의 행위에 기초한다.
추천 엔진은 사용자가 상호작용하는 목록의 아이템들 중 하나 이상에 대해 의도된 수취인을 결정한다. 몇몇 예시적 실시예에서, 의도된 수취인은 반대되는 표시가 수신되지 않는 한 사용자로 가정된다.
도 1은 몇몇 예시적 실시예에 따른, 아이템 추천을 생성하기에 적합한 네트워크 환경(100)을 도시하는 네트워크 도면이다. 네트워크 환경(100)은 전자 상거래 서버들(120 및 140), 추천 서버(130) 및 디바이스들(150A, 150B 및 150C)을 포함하는데, 이들 모두는 네트워크(170)를 통해 서로 통신 가능하게 결합된다. 디바이스들(150A, 150B 및 150C)은 집합적으로 "디바이스들(150)"로 지칭될 수 있거나 총칭적으로 "디바이스(150)"로 지칭될 수 있다. 전자 상거래 서버(120) 및 추천 서버(130)는 네트워크 기반 시스템(110)의 일부일 수 있다. 대안적으로, 디바이스(150)는 전자 상거래 서버(120 또는 140)에 접속하기 위해 사용되는 네트워크(170)와는 별개의 로컬 네트워크를 통하거나 직접 추천 서버(130)에 접속될 수 있다. 전자 상거래 서버(120 및 140), 추천 서버(130) 및 디바이스(150)는 도 13 및 도 14와 관련하여 후술되는 바와 같이 전체적으로 또는 부분적으로 컴퓨터 시스템에서 각각 구현될 수 있다.
전자 상거래 서버(120 및 140)는 네트워크(170)를 통해 다른 머신들(예컨대, 디바이스(150))에 전자 상거래 애플리케이션을 제공한다. 전자 상거래 서버(120 및 140)는 또한 추천 서버(130)에 직접 접속되거나 그와 통합될 수 있다. 몇몇 예시적 실시예에서, 하나의 전자 상거래 서버(120) 및 추천 서버(130)는 네트워크 기반 시스템(110)의 일부이며, 다른 전자 상거래 서버(예컨대, 전자 상거래 서버(140))는 네트워크 기반 시스템(110)으로부터 분리된다. 전자 상거래 애플리케이션은, 사용자들이 서로 아이템을 직접 사고 팔거나, 전자 상거래 애플리케이션 공급자로부터 사고 그에게 팔거나, 두 가지 모두를 위한 방법을 제공할 수 있다.
도 1에는 또한 사용자(160)가 도시된다. 사용자(160)는 인간 사용자(예컨대, 인간), 머신 사용자(예컨대, 디바이스(150) 및 추천 서버(130)와 상호작용하는 소프트웨어 프로그램에 의해 구성된 컴퓨터), 또는 이들의 임의의 적절한 조합(예컨대, 머신에 의해 도움받는 인간 또는 인간에 의해 감독받는 머신)일 수 있다. 사용자(160)는 네트워크 환경(100)의 일부는 아니지만 디바이스(150)와 연관되고, 디바이스(150)의 사용자일 수 있다. 예를 들어, 디바이스(150)는 사용자(160) 소유의 센서, 데스크톱 컴퓨터, 차량용 컴퓨터, 태블릿 컴퓨터, 내비게이션 디바이스, 휴대용 미디어 디바이스 또는 스마트폰일 수 있다.
몇몇 예시적 실시예에서, 추천 서버(130)는 사용자와 연관된 아이템 및 개인에 관한 데이터를 수신한다. 예를 들어, 사용자는 전자 상거래 서버(120)에 의해 호스팅되는 전자 상거래 사이트로부터 아이템을 구매할 수 있고, 그 아이템이 다른 사람을 위한 선물로서 의도된 것임을 표시할 수 있다. 따라서, 추천 서버(130)는 구매 아이템과 다른 사람과의 연관을 생성한다. 연관 또는 그러한 연관의 세트에 기초하여, 추천 서버(130)는 다른 사람을 위한 선물로서 추천하기 위한 하나 이상의 아이템 목록을 식별한다. 추천된 아이템을 선택하기 위한 추가 요소는 몇몇 예시적 실시예에서 수취인에 관한 다음 데이터, 즉, 지역(예컨대, 주, 국가 또는 우편 번호), 연령, 인구통계, 세그먼테이션 모델링, 및 소셜 네트워크, 에이전시 또는 기타 전자 상거래 사이트로부터의 제 3 자 데이터 중 하나 이상을 포함한다. 서로 다른 사람들에 대한 연관의 세트를 추적함으로써 맞춤형 선물 추천이 이루어질 수 있다. 예를 들어, 사용자 자신뿐 아니라, 사용자의 친구, 가족, 멤버 및 동료에 대해 추천이 제공될 수 있다. 다른 예는 자선 단체, 학교 또는 사용자의 비즈니스를 위해 구매할 아이템의 제안을 포함한다.
도 1에 도시된 임의의 머신, 데이터베이스, 디바이스는, 그 머신, 데이터베이스 또는 디바이스에 대해 본 명세서에서 설명된 기능을 수행하기 위한 특수 목적 컴퓨터가 되도록 소프트웨어에 의해 수정되는(예컨대, 구성되거나 프로그램되는) 범용 컴퓨터에서 구현될 수 있다. 예를 들어, 본 명세서에 설명된 방법들 중 임의의 하나 이상을 구현할 수 있는 컴퓨터 시스템은 도 13 및 도 14와 관련하여 후술된다. 본 명세서에서 사용될 때, "데이터베이스"는 데이터 저장 리소스이며, 텍스트 파일, 테이블, 스프레드시트, 관계형 데이터베이스(예컨대, 객체 관계형 데이터베이스), 트리플 스토어, 계층적 데이터 스토어, 또는 이들의 임의의 적절한 조합으로서 구축된 데이터를 저장할 수 있다. 또한, 도 1에 도시된 머신, 데이터베이스 또는 디바이스 중 임의의 2개 이상은 단일 머신으로 결합될 수 있으며, 임의의 단일 머신, 데이터베이스 또는 디바이스에 대해 본 명세서에 설명된 기능은 다수의 머신, 데이터베이스 또는 디바이스 사이에서 세분될 수 있다.
네트워크(170)는 머신, 데이터베이스 및 디바이스(예컨대, 추천 서버(130) 및 디바이스(150)) 간의 통신을 가능하게 하는 임의의 네트워크 일 수 있다. 따라서, 네트워크(170)는 유선 네트워크, 무선 네트워크(예컨대, 모바일 또는 셀룰러 네트워크), 또는 이들의 임의의 적절한 조합일 수 있다. 네트워크(170)는 사설 네트워크, 공중 네트워크(예컨대, 인터넷), 또는 이들의 임의의 적절한 조합을 구성하는 하나 이상의 부분을 포함할 수 있다.
도 2는 예시적 실시예에 따른 추천 서버(130)의 구성요소를 도시하는 블록도이다. 추천 서버(130)는 통신 모듈(210), 이벤트 추적 모듈(220), 개인 연관 모듈(230), 목록 모듈(240) 및 저장 모듈(250)을 포함하는 것으로 도시되는데, 이들 모두는 (예컨대, 버스, 공유 메모리 또는 스위치를 통해) 서로 통신하도록 구성된다. 본 명세서에서 설명된 모듈들 중 임의의 하나 이상은 하드웨어(예컨대, 머신의 프로세서)를 사용하여 구현될 수 있다. 또한, 이들 모듈 중 임의의 2개 이상은 단일 모듈로 결합될 수 있고, 단일 모듈에 대해 본 명세서에서 설명된 기능은 다수의 모듈 사이에서 세분될 수 있다. 또한, 다양한 예시적 실시예에 따르면, 단일 머신, 데이터베이스 또는 디바이스 내에서 구현되는 것으로 본 명세서에 설명된 모듈들은 다수의 머신, 데이터베이스 또는 디바이스에 걸쳐 분산될 수 있다.
통신 모듈(210)은 데이터를 송신 및 수신하도록 구성된다. 예를 들어, 통신 모듈(210)은 네트워크(170)를 통해 아이템 목록 데이터를 수신하고, 수신된 데이터를 개인 연관 모듈(230)에 송신할 수 있다. 다른 예로서, 목록 모듈(240)은 특정 사용자와 연관된 개인을 위해 아이템 목록을 선택할 수 있으며, 선택된 아이템 목록은 통신 모듈(210)에 의해 네트워크(170)를 통해 전자 상거래 서버(120 또는 140)로 전송될 수 있다.
몇몇 예시적 실시예에서, 통신 모듈(210)은 이더넷 어댑터 또는 WiFi 어댑터와 같은 네트워크 통신 하드웨어로 구현된다. 어댑터용 드라이버를 사용함으로써, 추천 서버(130)상의 애플리케이션에 의해 데이터가 송신되고 수신된다.
이벤트 추적 모듈(220)은 개인에 대한 이벤트 또는 행사를 추적하도록 구성된다. 이벤트는 특정 날짜와 연관된 구매를 위한 임의의 기회이다. 몇몇 예시적 실시예에서, 이벤트는 선물 제공 이벤트이다. 이벤트는 일회성 이벤트 또는 반복적 이벤트일 수 있다. 예시적 이벤트는 생일, 기념일, 졸업식, 공휴일, 베이비 샤워, 결혼식을 포함한다. 이 예들 중에서, 생일, 기념일, 공휴일은 반복적이며, 졸업식, 베이비 샤워 및 결혼식은 일회성 이벤트이다. 몇몇 예시적 실시예에서, 이벤트는 비즈니스, 자선 단체 또는 다른 조직을 위한 이벤트이다. 예를 들어, 소매점 비즈니스는 크리스마스 시즌 동안 재판매를 위해 제품을 사거나 공휴일 파티를 위해 음식, 음료 또는 직원 선물을 사는 것을 필요로 할 수 있다. 또 다른 예로, 자선 단체는 연례 경매를 가질 수 있으며, 자선 단체의 기부자는 경매에 기부하기 위해 관심 있는 물건을 구매하는 반복적 이벤트를 생성할 수 있다.
몇몇 예시적 실시예에서, 이벤트 추적 모듈(220)은 관계형 데이터베이스에 이벤트 및 개인과 이벤트 간의 연관에 관한 정보를 저장한다. 예를 들어, 양식의 행(날짜, 이벤트 이름, 이벤트 ID)을 포함하는 이벤트 테이블, 양식의 행(개인 이름, 개인 ID)을 포함하는 개인 테이블 및 양식의 행(제공하는 개인 ID, 수취하는 개인 ID, 이벤트 ID, 연관 ID)을 포함하는 연관 테이블이 사용될 수 있다. 이 예시적 구조에서, 각 이벤트는 이벤트 테이블에 엔트리를 가지며, 각 개인은 개인 테이블에 엔트리를 가지며, 각각의 제공 이벤트는 제공자, 수취인 및 이벤트의 각각의 고유한 조합에 대한 연관 테이블에 하나의 엔트리를 갖는다.
개인 연관 모듈(230)은 아이템 목록을 개인과 연관시키고 저장 모듈(250)에 연관을 저장하도록 구성된다. 몇몇 예시적 실시예에서, 추천 서버(130)는 저장 모듈(250)의 데이터베이스 테이블을 사용하여 개인을 위해 구매된 아이템에 대한 아이템 목록을 그 아이템이 구매된 개인과 연관시킨다. 예를 들어, 양식의 행(개인 ID, 아이템 ID, 날짜, 구매 ID)을 포함하는 구매 테이블이 사용될 수 있다. 이 예시적 구조에 의해, 각각의 구매는 구매 테이블에 엔트리를 갖는다. 양식의 행(아이템 ID, 아이템 이름, 시작 날짜, 종료 날짜)을 포함하는 아이템 테이블, 양식의 행(속성 ID, 속성 이름)을 포함하는 속성 테이블 및 양식의 행(아이템 ID, 속성 ID)을 포함하는 아이템-속성 테이블은 각 아이템 목록에 대한 추가 정보를 저장하기 위해 사용될 수 있다. 이 예시적 구조에 의해, 데이터베이스 질의는 개인 구매에 대한 정보와 개인의 구매 이력에 대한 집계된 정보에 효율적으로 액세스한다.
목록 모듈(240)은 개인에 대한 추천된 아이템 목록으로서 아이템 목록을 선택하도록 구성된다. 예를 들어, 사용자가 3개의 아이템 목록을 감시 목록에 추가하고 아이템 목록의 각 아이템이 특정 개인에 대한 선물로서 의도된 것임이 표시된 후에, 목록 모듈(240)은 3개의 아이템 목록의 속성, 및 3개의 아이템 목록 중 하나 이상과 또한 연관되거나, 특정 개인과 비슷한 인구통계를 가지거나 또는 기타 요소를 갖는 다른 사용자에 관한 정보에 기초하여 제 4 아이템 목록을 선택한다. 목록 모듈(240)은 통신 모듈(210)을 통해 사용자에게 선택을 제공한다.
몇몇 예시적 실시예에서는, 추천된 아이템 목록를 선택하기 위해 머신 학습 기술이 사용된다. 예를 들어, 데이터의 트레이닝 세트는 다수의 데이터 쌍을 포함한다. 데이터 쌍의 제 1 부분은 입력 개체(input object)이고 제 2 부분은 원하는 출력 값이다. 따라서, 선택된 날짜 이전의 개인에 대한 구매 이력은 입력 데이터 개체로서 사용될 수 있고, 선택된 날짜 이후의 구매 이력은 원하는 출력 값으로서 사용될 수 있다. 다수의 개인에 대해 이러한 다수의 관찰된 쌍을 모으는 것은 트레이닝 세트를 제공한다. 트레이닝 후에, 알고리즘은 개인이 구입할 가능성이 있는 아이템을 정확하게 식별할 특정 개연성을 갖는다.
저장 모듈(250)은 이벤트 추적 모듈(220), 개인 연관 모듈(230) 및 목록 모듈(240)에 의해 생성되고 사용되는 데이터를 저장 및 검색하도록 구성된다. 예를 들어, 목록 모듈(240)에 의해 사용되는 알고리즘은 저장 모듈(250)에 의해 저장될 수 있다. 사용자들과 그들이 아이템을 구매하는 대상인 개인들 간의 연관에 관한 정보가 또한 저장 모듈(250)에 의해 저장될 수 있다. 몇몇 예시적 실시예에서, 개인 수취인에 대한 구매자들의 다 대 다 체크목록(many-to-many checklist)이 저장 모듈(250)에 의해 저장된다. 예를 들어, 다수의 개인이 공통 친구에 대한 생일 선물을 구매하는 경우, 한 개인이 생일 쇼핑이 완료되었음을 표시할 때 각각의 나머지 개인에게 통지가 생성될 수 있다. 예를 들어, Alan, Brad, Carl이 Rich를 위한 생일 선물을 사고 있고, Alan이 구매를 완료하면, Brad와 Carl은 Alan이 완료했다는 것과 Alan이 무엇을 구매했는지를 통지받을 수 있다. 그런 다음, Brad가 다음에 구매를 하면, Carl은 Brad가 완료했다는 것과 브래드가 무엇을 구매했는지를 통지받을 수 있다. 이런 방식으로, 중복 선물을 구입할 가능성이 줄어들고 모든 참여자의 참여가 장려된다.
도 3은 몇몇 예시적 실시예에 따라 아이템 목록을 디스플레이하기에 적합한 사용자 인터페이스를 도시하는 블록도(300)이다. 블록도(300)에서 알 수 있는 바와 같이, 아이템 이미지(310), 목록 제목(320), 가격(330) 및 버튼(340-360)이 도시된다. 도 3의 화면은 사용자가 목록 뷰로부터 상호작용할 아이템 목록을 선택한 후에 제시될 수 있다. 예를 들어, 사용자는 검색 질의를 입력하여 다수의 목록이 제시되게 할 수 있다. 사용자는 목록 중 하나를 선택하여 목록 뷰보다 더 많은 정보 또는 더 큰 이미지를 포함하는 도 3의 화면이 제시되게 할 수 있다. 아이템 이미지(310)는 목록과 관련된 이미지이고 목록에 있는 아이템의 묘사일 수 있다. 목록 제목(320)은 목록의 제목이며, 목록에 있는 아이템의 간단한 설명을 포함할 수 있다. 가격(330)은 목록에 있는 아이템의 가격을 나타내며, 가격은 고정 가격, 경매 가격, 오퍼 가격 또는 다른 가격일 수 있다. 버튼(340)은 목록에 있는 아이템을 쇼핑 카트에 추가하거나 아이템을 구매하기 위해 동작 가능하다. 버튼(350)은목록을 감시 목록에 추가하기 위해 동작 가능하다. 감시 목록 상에서 사전 결정된 이벤트가 발생하면, 사용자는 통지를 수신할 것이다. 버튼(360)은 목록을 컬렉션에 추가하기 위해 동작 가능하다. 선택된 아이템 목록의 컬렉션은, 다른 사용자에 대한 탐색 및 생성하는 사용자에 의한 검토를 위해 이용될 수 있다.
도 4는 몇몇 예시적 실시예에 따른, 아이템 목록에서 아이템의 의도된 수취인을 식별하기에 적합한 사용자 인터페이스를 도시하는 블록도(400)이다. 윈도우(410)는 버튼(420) 및 텍스트 필드(430)를 포함한다. 버튼(420)은 아이템이 쇼핑중인 사용자를 위한 것임을 표시하기 위해 동작 가능하다. 텍스트 필드(430)는 아이템이 고려되거나 구매되고 있는 대상인 다른 개인을 식별하기 위해 사용자에 의한 텍스트 입력를 수용한다. 예를 들어, 아이템이 Bob 삼촌을 위한 생일 선물인 경우, 사용자는 텍스트 필드에 "Bob 삼촌"을 타이핑할 수 있다. 다른 선택 모드가 또한 사용될 수 있다. 예를 들어, 쇼핑중인 사용자와 이미 연관된 개인에 각각 대응하는 라디오 버튼 또는 체크 박스의 세트가 제공될 수 있다. 개인과 쇼핑중인 사용자 간의 연관은 소셜 네트워크, 텍스트 필드(430)의 이전 인스턴스에서 이전에 입력된 개인 이름, 또는 이들의 임의의 적절한 조합으로부터 도출될 수 있다. 몇몇 예시적 실시예에서, 윈도우(410)는 사용자가 아이템 목록(예컨대, 요소(310-360)를 포함하는 도 3의 아이템 목록)를 보고 있는 동안 디스플레이된다.
도 5는 몇몇 예시적 실시예에 따른, 의도된 수취인에 대한 아이템과 관련된 행사를 식별하기에 적합한 사용자 인터페이스를 도시하는 블록도(500)이다. 도 5의 사용자 인터페이스는, 도 4의 사용자 인터페이스를 사용하여 쇼핑중인 사용자가 아닌 다른 수취인이 아이템의 의도된 수취인인 것으로 식별된 후에 디스플레이될 수 있다. 도 5의 사용자 인터페이스는, 윈도우(510), 버튼(520-560) 및 텍스트 필드(570)를 포함한다. 버튼(520)은 아이템이 특별한 행사를 위한 것이 아님을 표시하기 위해 동작 가능하다. 버튼들(530-560)은 아이템이 사전 결정된 행사 세트 중 하나를 위한 것임을 표시하기 위해 동작 가능하다. 도 5의 예시적 실시예에서, 사전 결정된 행사 세트는 생일, 기념일, 크리스마스 및 발렌타인 데이를 포함한다. 텍스트 필드(570)는 사전 결정된 세트 내에 없는 행사를 정의하기 위해 사용자가 입력한 텍스트를 수용한다. 예를 들어, 사용자는 선물이 여행가는 사람을 위한 파티(going-away party)를 위한 것임을 표시하기 위해 "여행 잘 다녀오세요(Bon Voyage)"를 타이핑할 수 있다.
도 6은 몇몇 예시적 실시예에 따른, 행사와 연관된 날짜를 식별하기에 적합한 사용자 인터페이스를 도시하는 블록도(600)이다. 도 6의 사용자 인터페이스는 쇼핑중인 사용자가 도 5의 사용자 인터페이스를 사용하여 아이템을 제공하기 위한 행사를 선택한 후에 디스플레이될 수 있다. 도 6의 사용자 인터페이스는, 윈도우(610), 월 선택기(620), 일 선택기(630) 및 버튼(640)을 포함한다. 월 선택기(620) 및 일 선택기(630)는 행사를 위한 날짜를 선택하기 위해 함께 동작 가능하다. 버튼(640)은 선택된 날짜를 의도된 수취인과 연관시키기 위해 동작 가능하다.
도 7은 몇몇 예시적 실시예에 따른, 상이한 수취인들과 연관된 추천된 아이템 목록의 세트를 디스플레이하기에 적합한 사용자 인터페이스를 도시하는 블록도(700)이다. 도 7은 헤더(710 및 750) 및 아이템 목록(720, 730, 740, 760, 770 및 780)을 포함한다. 각 아이템 목록은 이미지, 설명 및 가격을 포함한다. 아이템 목록(720, 730 및 740)은 아이템 목록(720, 730 및 740)이 쇼핑중인 사용자를 위한 추천 목록임을 표시하는 헤더(710) 아래에 그룹화된다. 예를 들어, 아이템 목록(720, 730 및 740)은 사용자 자신을 위한 사용자의 이전 쇼핑 활동에 기초하여 선택된 것일 수 있다.
아이템 목록(760, 770, 및 780)은 아이템 목록(760, 770 및 780)이 다른 사람을 위한 선물에 대한 추천 목록임을 표시하는 헤더(750) 아래에 그룹화된다. 예를 들어, 아이템 목록(760, 770, 및 780)은 다른 사람을 위한 사용자의 이전 쇼핑 활동에 기초하여 선택될 수 있다. 각각의 아이템 목록 또는 그 일부는 도 4의 윈도우(410)의 디스플레이를 야기하도록 동작 가능하다. 예를 들어, 사용자는 아이템 목록(720)이 사용자 자신을 위한 구매 대신에 다른 사람을 위한 선물로서 관심 있는 아이템에 대한 것으로 인식할 수 있다. 따라서, 사용자는 아이템 목록(720)의 지정된 부분을 클릭하거나, 아이템 목록(720)을 우-클릭(right-click)하거나, 아이템 목록(720)을 힘으로 눌러(즉, 누른 다음에 더 세게 눌러) 윈도우(410)가 나타나게 할 수 있다. 몇몇 예시적 실시예에서, 사전 결정된 지속 시간을 초과하여 아이템 목록(720)을 누르는 것은 윈도우(410)가 나타나게 한다. 윈도우(410)를 사용하여, 사용자는 아이템 목록(720)에 표현된 아이템에 대한 의도된 수취인을 선택할 수 있다. 결과적으로, 아이템 목록(720)은 사용자 인터페이스의 "당신을 위한 추천" 부분으로부터 제거되고, 선택적으로 사용자 인터페이스의 "선물 추천" 부분에 추가된다. 또한, 아이템 목록(720)의 아이템은 의도된 수취인을 위해 관심 있는 아이템 목록에 추가될 수 있고, 존재한다면, 원래 작성된 추천의 대상인 사람(예컨대, 쇼핑중인 사용자)을 위한 관심 있는 아이템 목록으로부터 제거될 수 있다.
도 8은 몇몇 예시적 실시예에 따른, 상이한 행사들과 연관된 추천된 아이템 목록의 세트를 디스플레이하기에 적합한 사용자 인터페이스를 도시하는 블록도(800)이다. 도 8은 헤더(810 및 850) 및 아이템 목록(820, 830, 840, 860, 870 및 880)을 포함한다. 각각의 아이템 목록은 이미지, 설명, 가격 및 찬성/반대 컨트롤(825, 835, 845, 865, 875, 885)을 포함한다. 아이템 목록(820, 830, 및 840)은, 아이템 목록(820, 830 및 840)이 특정 수취인에 대한 특정 행사, 이 경우에, Bob 삼촌의 생일에 대한 추천 목록임을 표시하는 헤더(810) 아래에 그룹화된다.
아이템 목록(860, 870, 및 880)은, 아이템 목록(860, 870, 및 880)이 상이한 수취인/행사 쌍, 이 경우에는 수의 기념일에 대한 추천 목록임을 표시하는 헤더(850) 아래에 그룹화된다. 각각의 아이템 목록 또는 그 일부는 도 4의 윈도우(410)의 디스플레이를 야기하도록 동작 가능하다. 예를 들어, 사용자는 아이템 목록(860)이 Sue에 대한 구매 대신에 Bob 삼촌에 대한 선물로서 관심 있는 아이템에 대한 것으로 인식할 수 있다. 따라서, 사용자는 아이템 목록(860)의 지정된 부분을 클릭하거나, 아이템 목록(860)을 우-클릭하거나, 아이템 목록(860)을 힘으로 눌러 윈도우(410)가 나타나게 할 수 있다. 윈도우(410)를 사용하여, 사용자는 아이템 목록(860)에 표현된 아이템에 대한 의도된 수취인(예컨대, "Sue")을 선택할 수 있다. 결과적으로, 아이템 목록(820)은 사용자 인터페이스의 "Bob 삼촌의 생일에 대한 추천" 부분으로부터 제거되고, 선택적으로, 사용자 인터페이스의 "Sue의 기념일에 대한 추천" 부분에 추가된다.
찬성/반대 컨트롤(825, 835, 845, 865, 875 및 885)은 쇼핑중인 사용자가 대응하는 추천에 동의하는지 여부를 표시하도록 동작 가능하다. 도 8에 도시된 바와 같이, 찬성 컨트롤은 "+"로 표시되고 반대 컨트롤은 "-"로 표시된다. 썸 업(thumbs up)/썸 다운(thumbs down), 녹색광/적색광, 또는 이들의 임의의 적절한 조합과 같은 다른 시각 표시자가 사용될 수 있다. 몇몇 예시적 실시예에서, 사용자가 추천에 찬성한다는 표시를 수신하는 것에 응답하여, 추천된 아이템은 수취인(예컨대, 아이템 목록(820)에 대해 Bob 삼촌, 아이템 목록(860)에 대해 Sue)에 대한 관심 있는 아이템 목록에 추가된다. 몇몇 예시적 실시예에서, 사용자가 추천에 반대한다는 표시를 수신하는 것에 응답하여, 추천된 아이템은 수취인에 대한 추천하지 않는 목록에 추가된다. 장래의 추천이 이루어질 때, 추천하지 않는 목록에 존재하는 임의의 추천은 사용자에게 제시되지 않는다.
도 9는 몇몇 예시적 실시예에 따른, 아이템 목록에서 아이템의 의도된 수취인을 식별하기에 적합한 사용자 인터페이스를 도시하는 블록도이다. 도 9의 사용자 인터페이스는, 헤더(910), 목록(920-940), 윈도우(950) 및 버튼(960-995)을 포함한다. 윈도우(950)는 목록(920-940) 중 하나를 대상으로 하는 사용자 명령에 응답하여 제시될 수 있다. 예를 들어, 사용자는 터치 스크린을 탭하거나, 마우스로 클릭하거나, 음성 명령을 제공하거나, 키보드 컨트롤을 사용하여, 목록(920-940) 중 하나를 선택하고 상호작용할 수 있다. 몇몇 예시적 실시예에서, 목록(920-940) 중 하나를 좌-클릭하면 목록에 대한 추가 정보 또는 옵션을 도시하는 도 3의 사용자 인터페이스가 디스플레이되고, 동일 목록을 우-클릭하면 윈도우(950)가 디스플레이된다. 버튼(960-955)은 아이템의 의도된 수취인을 식별하도록 동작 가능하다. 예를 들어, 버튼(960)은 쇼핑중인 사용자를 의도된 수취인으로 식별하도록 동작 가능하고, 버튼(970)은 다른 연관을 생성하지 않고 쇼핑중인 사용자로부터 아이템을 연관 해제시키도록 동작 가능하고, 버튼(980)은 아이템을 수취인 "Bob 삼촌"과 연관시키도록 동작 가능하고, 버튼(990)은 아이템을 수취인 "Sue"와 연관시키도록 동작 가능하고, 버튼(995)은 사용자가 새로운 수취인을 식별할 수 있는 프롬프트의 제시를 야기하도록 동작 가능하다. 예시적 윈도우(950)에서, 버튼(980 및 990)의 레이블은 사용자에 의해 식별된 이전 수취인로부터 선택된다. 다른 예시적 실시예에서는, 사용자가 이전에 그 수취인을 선택하지 않았더라도 일반적 선택이 제시된다. 예를 들어, "엄마", "아빠", "남편", "아내", "아들" 및 "딸"이 옵션으로 제시될 수 있다.
도 10은 몇몇 예시적 실시예에 따른, 다가오는 선물 제공 이벤트를 제시하기에 적합한 사용자 인터페이스를 도시하는 블록도(1000)이다. 요소(1010-1040)는 각각 선물 제공 이벤트 및 대응하는 날짜를 나타낸다. 요소(1010, 1020 및 1040)는 대응하는 이벤트와 연관된 의도된 수취인을 나타낸다. 몇몇 예시적 실시예에서, 캘린더에 직접적으로(예컨대, 이벤트의 날짜에 대응하는 박스로) 또는 링크를 통해 포함되는 요소(1010-1040)의 정보를 갖는 캘린더 뷰가 도시된다. 예를 들어 1월 15일은 캘린더에서 강조 표시되고 "Bob 삼촌의 생일"이라는 정보의 디스플레이를 야기하도록 동작 가능하다. 요소(1010)와 상호작용함으로써, 사용자는 시스템으로 하여금 대응하는 이벤트 및 의도된 수취인에 대한 선물 추천(예컨대, 도 8의 요소(810-845))을 제시하게 할 수 있다. 추천 서버(130) 및 전자 상거래 서버(120 또는 140)는 요소(1020-1040)와의 상호작용 후에 유사한 인터페이스를 제시한다.
도 10에 도시된 이벤트는, 사용자에 의해 입력된 현재 및 이전 이벤트, 사용자와 연관된 의도된 수취인에 의해 공개된 이벤트, 추천 서버(130)에 의해 정의된 글로벌 이벤트 및 현재 날짜에 기초하여 추천 서버(130)에 의해 선택된다. 예를 들어, 도 4 내지 도 6의 사용자 인터페이스를 사용하여, 사용자는 Bob 삼촌의 생일을 선물 제공 이벤트로 식별하고, 생일의 날짜를 제공한다. 따라서, Bob 삼촌의 생일은 사용자가 그 이벤트에 대해 아이템을 구매했음을 나타낼 때까지 또는 그 이벤트에 대한 날짜가 경과할 때까지 도 10의 사용자 인터페이스에서 제시될 수 있다. 몇몇 예시적 실시예에서, 이벤트에 대한 리마인더는 날짜가 경과된 후에도 사용자에 의해 해제될 때까지 유지된다. 생일이라는 기념일이 다가옴에 따라(예컨대, 30일 이내), 이벤트는 다시 나타난다.
다른 예로서, 사용자와 다른 사용자 간에 관계가 존재한다. 예를 들어, 사용자는 전자 상거래 서버(120 또는 140) 또는 추천 서버(130)와 정보를 공유하는 소셜 네트워크 상에서 Sue와 친구일 수 있다. Sue는 자신의 결혼 기념일을 친구들과 공유하기로 선택한다. 따라서, 추천 서버(130)는 Sue의 기념일에 대한 이벤트를 사용자에게 생성한다. Bob 삼촌의 예에서와 같이, 도 10에서 Sue의 기념일에 대한 이벤트는 선물이 구입되거나 날짜가 지나거나 사용자가 그 이벤트를 해제할 때까지 사용자에게 제시된다.
또 다른 예로서, 이벤트는 발렌타인 데이와 같이 추천 서버(130)에 의해 정의된 글로벌 이벤트일 수 있다. 이 예에서, 발렌타인 데이가 2월 14일에 있음을 나타내는 요소(1030)의 제시는 사용자 또는 연관된 사용자의 임의의 이전 행동에 기초하지 않고, 단지 현재 날짜 및 다가오는 축제일에 기초한다.
도 11은 몇몇 예시적 실시예에 따른, 아이템 수취인에 관한 추가 정보를 수집하기에 적합한 사용자 인터페이스를 도시하는 블록도(1100)이다. 도 11에 도시된 바와 같이, 사용자 인터페이스는 윈도우(1110) 및 필드(1120-1150)를 포함한다. 각각의 필드(1120-1150)는 식별된 수취인에 관한 정보를 입력하도록 동작 가능하다. 윈도우(110)는 의도된 수취인에 관한 추가 정보를 추가하는 옵션에 대한 사용자의 선택에 응답하여 제시되거나, (예컨대, 도 6의 사용자 인터페이스의 제시 이후에) 추천 서버(130)에 의해 자동적으로 제시될 수 있다. 수집된 정보는 의도된 수취인에 대한 추천을 생성하는 데 사용될 수 있다.
도 12는 몇몇 예시적 실시예에 따른, 추천을 생성하는 프로세스(1200)를 수행할 때의 하나 이상의 서버의 동작을 도시하는 흐름도이다. 프로세스(1200)는 동작들(1210-1260)을 포함한다. 제한이 아닌 예로서, 프로세스(1200)의 동작들은 도 1의 시스템 및 도 2의 모듈에 의해 수행되는 것으로 설명된다.
동작 1210에서, 추천 서버(130)는 제 1 클라이언트 디바이스에서 제 1 사용자와 아이템 목록 간의 상호작용을 검출한다. 몇몇 예시적 실시예에서, 사용자와 아이템 목록 간의 상호작용은 정보를 전자 상거래 서버(120 또는 140)에 전송하는 클라이언트 디바이스(예컨대, 클라이언트 디바이스(150A))상에서 실행되는 모바일 애플리케이션 또는 웹 브라우저에서 발생하는데, 이는 추천 서버(130)에 통지된다.
다양한 예시적 실시예에서는, 상이한 상호작용들이 추천 서버(130)에 의해 검출된다. 몇몇 예시적 실시예에서, 아이템 목록과의 임의의 상호작용(예컨대, 목록 보기, 아이템 감시, 아이템에 대한 입찰, 아이템 구매 또는 아이템에 대한 제안)은 프로세스(1200)의 목적을 위한 상호작용으로서 카운트된다. 다른 예시적 실시예에서는, 사전 결정된 특정 활동만이 상호작용으로서 카운트된다. 사용자가 항상 어떤 형태의 행동을 취해야 하는 아이템 목록의 단순한 제시는 상호작용을 구성하지 않는다. 예를 들어, 목록 보기는 검색 결과를 탭하거나 클릭하여 검색 결과에서 보여주지 않은 추가 세부사항이 표시되게 함으로써 달성될 수 있다. 다른 예로서, 아이템 감시는 검색 결과에서 핫 스폿을 탭하거나 클릭함으로써 달성될 수 있거나, 또는 목록을 먼저 보고 다음에 부가적인 세부사항과 함께 도시된 사용자 인터페이스 요소와 상호작용하는 것을 필요로 할 수 있다. 아이템 감시는 아이템 목록에 이벤트가 발생할 때 감시중인 사용자에게 통지되게 한다. 예를 들어, 목록이 곧 마감될 때(예컨대, 24시간 이내, 4시간 이내 또는 다른 시간대 내) 또는 다른 사용자가 감시중인 사용자보다 입찰가를 높일 때 통지가 감시중인 사용자에게 전송될 수 있다.
동작 1220에서, 추천 서버(130)는 제 1 클라이언트 디바이스로부터 아이템 목록 내의 아이템의 의도된 수취인의 식별자를 수신한다. 몇몇 예시적 실시예에서, 식별자는 클라이언트 디바이스로부터 전자 상거래 서버(120 또는 140)로, 그리고 나서 전자 상거래 서버(120 또는 140)로부터 추천 서버(130)로 전달된다. 이 과정에서 식별자는 변형될 수 있다. 예를 들어, 사용자는 의도된 수취인의 이름을 포함하는 문자열을 웹 브라우저 또는 모바일 애플리케이션에 입력할 수 있다. 이에 응답하여, 브라우저는 네트워크(170)를 통해 전자 상거래 머신(120 또는 140)으로 문자열을 전송한다. 전자 상거래 머신(120 또는 140)은 데이터베이스에서 수취인의 이름을 검색하려고 시도한다. 검색이 성공하면, 수취인에 대한 고유 식별자(예컨대, 고유 숫자 식별자)가 추천 서버(130)로 전송된다. 검색이 실패하면 수취인에 대한 고유 식별자가 생성되고 생성된 식별자와 이름과의 대응 관계가 데이터베이스에 저장되고, 생성된 식별자는 추천 서버(130)에 전송된다.
추천 서버(130)는 동작 1230에서 의도된 수취인에 대한 관심 있는 아이템의 목록에 아이템을 추가한다. 몇몇 예시적 실시예에서, 아이템이 사용자에게 관심 있는 아이템의 목록 상에 이미 존재한다면, 아이템은 그 목록으로부터 제거된다. 따라서, 아이템과 의도된 수취인 사이의 관계가 생성되어, 의도된 수취인에 대한 관심 있는 아이템에 기초하여 의도된 수취인에 대한 제안을 허용한다. 한편, 아이템과 제공하는 사용자 사이에는 대응 관계가 생성되지 않으므로, 제공하는 사용자 자신의 소비에 대해서는 쇼핑중인 사용자에게 관심 있지 않은 아이템에 기초한 제안이 이루어질 수 있게 된다.
몇몇 예시적 실시예에서, 관심 있는 아이템의 목록은 관계형 데이터베이스의 테이블에 저장된다. 예를 들어, 양식의 행(개인 ID, 아이템 ID)을 갖는 관심 테이블이 사용될 수 있다. 이 예시적 테이블을 사용하여 각 개인/아이템 쌍에 대한 엔트리가 작성된다. 따라서, 각각의 개인은 다수의 아이템과 연관될 수 있고, 각각의 아이템은 다수의 개인과 연관될 수 있다.
의도된 수취인에 대한 관심 있는 아이템의 목록 내의 상이한 아이템들은 프로세스(1200)의 이전 반복에서 선택된 아이템 및 (예컨대, 희망 목록에서) 의도된 수취인에 의해 선택된 아이템을 포함할 수 있다. 예를 들어, 사용자는 Bob 삼촌을 위해 가능한 선물인 몇 가지 아이템을 표시했을 수 있다. 또한, Bob 삼촌이 몇 가지 아이템을 희망 목록에 두었을 수도 있다. 따라서, 두 목록은 Bob 삼촌에 대한 관심 있는 아이템의 단일 목록으로 병합될 수 있다. 대안적으로, 두 목록은 별도로 유지 관리될 수 있다. 희망 목록 상의 아이템은 구입 후 제거될 수 있다. 예를 들어, 다수의 사람이 단일 수취인을 위해 쇼핑중인 경우, 이들 중 한 명이 희망 목록에서 아이템을 구입하면 그 아이템이 희망 목록에서 제거되므로 제거된 아이템이 다른 선물 제공자에게 제시되는 것이 방지되고 동일한 선물이 두 번 구매될 가능성을 감소시킬 수 있다. 몇몇 예시적 실시예에서, 제거된 아이템은 희망 목록에서 체크 오프(check off)되므로 다른 쇼핑자가 다른 경로를 통해 아이템을 구매하는 것을 또한 방지할 수 있다.
동작 1240에서, 추천 서버(130)는 의도된 수취인이 이미 제 1 사용자와 연관되어 있는지 여부를 판정한다. 예를 들어, 제 1 사용자가 아이템이 의도된 수취인을 위한 것임을 처음으로 표시하고 제 1 사용자가 의도된 수취인과 달리 연관되어 있지 않은 경우, 추천 서버(130)는 의도된 수취인이 제 1 사용자와 아직 연관되지 않았다고 판정한다. 의도된 수취인이 제 1 사용자와 아직 연관되어 있지 않으면, 추천 서버(130)는 의도된 수취인과 제 1 사용자 사이에 연관을 생성한다. 연관은 나중에, 예를 들어 가능한 의도된 수취인의 미리 파퓰레이팅된 목록을 포함하는 사용자 인터페이스를 제공할 때 사용될 수 있다. 도 2와 관련하여 전술한 바와 같이, 양식의 행(제공하는 개인 ID, 수취하는 개인 ID, 이벤트 ID, 연관 ID)을 갖는 연관 테이블이 사용될 수 있다. 개인 테이블과 함께 이 테이블을 사용하면, 제공하는 개인과 수취하는 개인 간의 연관이 이미 존재하는지 여부의 질의는 쉽게 판정될 수 있다. 마찬가지로, 이 두 테이블에 질의하면 제공자가 이전에 아이템을 제공한 대상인 모든 개인의 이름의 목록이 제공될 수 있다.
동작 1250에서 목록 모듈(240)은 의도된 수취인에 대한 관심 있는 아이템의 목록에 기초하여 제 1 사용자에게 추천하기 위한 아이템 목록을 선택한다. 몇몇 예시적 실시예에서, 관심 있는 아이템의 목록 내의 각각의 아이템은 속성의 세트를 가지며, 추천된 아이템 목록은 관심 있는 아이템의 속성 및 아이템 목록의 속성에 기초하여 선택된다. 예를 들어, 아이템들 중 하나 이상이 Nike®라는 브랜드 속성을 갖는 경우, Nike® 이라는 브랜드 속성을 갖는 아이템에 대한 아이템 목록이 또한 선택될 수 있다. 희망 목록이 관심 있는 아이템 목록과 별도로 유지 관리되는 실시예에서, 두 목록 상의 아이템은 추천을 위해 아이템 목록을 선택하는 데 사용될 수 있다. 관심 있는 아이템은 추천으로서 직접 추가될 수도 있다. 예를 들어, 의도된 수취인의 희망 목록에 있는 하나 이상의 아이템은 의도된 수취인에 대한 구매를 위한 추천으로서 제시될 수 있다. 희망 목록 상의 아이템에 대한 목록은 (예컨대, 녹색 체크 표시와 "희망 목록!"이라는 텍스트를 포함하여) 그렇게 표시될 수 있다.
관심 있는 아이템으로 알려진 아이템에 기초한 추천을 위한 아이템을 선택하는 다른 방법은, 용어 빈도-역 문서 빈도(term frequency-inverse document frequency: tf-idf) 랭킹(즉, 알려진 관심 있는 아이템 목록에서 빈도가 높은 단어의 빈도가 높은 목록을 식별하는 것), 인구통계학적 추천(즉, 의도된 수취인과 동일한 인구통계 그룹의 사람들 사이에 인기있는 목록을 식별하는 것) 및 이벤트 추천(즉, 아이템이 구매되고 있는 목적인 이벤트와 관련하여 인기있는 목록을 식별하는 것)을 포함한다.
동작 1260에서, 추천 서버(130) 또는 전자 상거래 서버(120 또는 140)는 선택된 아이템 목록들 중 하나 이상이 제 1 사용자에게 제시되게 한다. 예를 들어, 추천 서버(130)의 통신 모듈(210)은 선택된 아이템 목록에 대한 데이터를 전자 상거래 서버(120)로 전송할 수 있다. 이 예에서, 전자 상거래 서버(120) 상에서 실행되는 HTTP 서버는, 선택된 아이템 목록에 대한 데이터를 포함하는 웹 페이지를 사용자 디바이스(150A)에 서빙한다. 이 예를 계속하면, 도 7 또는 도 8의 사용자 인터페이스는 전자 상거래 서버(120)로부터 웹 페이지를 수신한 것에 응답하여 사용자 디바이스(150A) 상에서 실행되는 웹 브라우저에 의해 렌더링될 수 있다.
도 13은 몇몇 예시적 실시예에 따른, 추천을 생성하는 프로세스(1300)를 수행할 때의 하나 이상의 서버의 동작을 도시하는 흐름도이다. 프로세스(1300)는 동작들(1310-1360)을 포함한다. 제한이 아닌 예로서, 프로세스(1300)의 동작들은 도 1의 시스템 및 도 2의 모듈에 의해 수행되는 것으로 설명된다. 동작들(1310-1330)은 도 12와 관련하여 전술한 동작들(1210-1230)에 대응한다.
동작 1340에서, 아이템의 의도된 수취인과 연관된 행사의 날짜가 이벤트 추적 모듈(220)에 의해 수신된다. 예를 들어, 날짜는 도 6에 도시된 사용자 인터페이스의 사용자에 의해 선택된 것일 수 있다. 연관된 날짜를 갖는 행사는 생일, 결혼 기념일, 고용 기념일 및 공휴일을 포함한다.
동작 1350에서 목록 모듈(240)은 의도된 수취인에 대한 관심 있는 아이템의 목록에 기초하여 제 1 사용자에게 추천하기 위한 아이템 목록을 선택한다. 동작 1360에서, 추천 서버(130) 또는 전자 상거래 서버(120 또는 140)는 행사의 날짜에 기초하여 선택된 아이템 목록들 중 하나 이상이 제 1 사용자에게 제시되게 한다. 예를 들어 2016년 2월 1일인 생일을 위해 Bob 삼촌의 생일 선물이 구매된 경우, Bob 삼촌의 다음 생일과 날짜의 근접성을 고려하여 2017년 1월 1일에 Bob 삼촌을 위한 추천된 생일 선물이 제시될 수 있다.
이러한 효과를 종합적으로 고려할 때, 여기에 설명된 방법들 중 하나 이상은 추천을 위해 아이템 목록을 선택하는 것과 관련될 특정 노력이나 리소스에 대한 필요성을 없앨 수 있다. 다른 수취인에 대한 관심 있는 아이템을 찾는 데 사용자가 소비한 노력 또한 여기에 설명된 하나 이상의 방법에 의해 감소될 수 있다. 예를 들어, 잠재적 수취인에 대한 관심 있는 아이템을 정확하게 식별하는 것은 선물로 구매할 아이템을 찾는 데 사용자가 소비하는 시간 또는 노력을 감소시킬 수 있다. (예컨대, 네트워크 환경(100) 내에서) 하나 이상의 머신, 데이터베이스 또는 디바이스에 의해 사용되는 컴퓨팅 리소스는 마찬가지로 감소될 수 있다. 이러한 컴퓨팅 리소스의 예는 프로세서 사이클, 네트워크 트래픽, 메모리 사용량, 데이터 저장 용량, 전력 소비 및 냉각 용량을 포함한다.
소프트웨어 아키텍처
도 14는 전술된 디바이스들 중 임의의 하나 이상에 설치될 수 있는 소프트웨어 아키텍처(1402)를 도시하는 블록도(1400)이다. 도 14는 단지 소프트웨어 아키텍처의 비제한적 예일 뿐이며, 여기에 설명된 기능을 가능하게 하기 위해 많은 다른 아키텍처가 구현될 수 있음이 인식될 것이다. 소프트웨어 아키텍처(1402)는, 프로세서(1510), 메모리(1530), 및 입/출력(I/O) 구성요소(1550)를 포함하는 도 15의 머신(1500)과 같은 하드웨어에 의해 구현될 수 있다. 이러한 예시적 아키텍처에서, 소프트웨어 아키텍처(1402)는 각 계층이 특정 기능을 제공할 수 있는 계층들의 스택으로서 개념화될 수 있다. 예를 들어, 소프트웨어 아키텍처(1402)는 운영 체제(1404), 라이브러리(1406), 프레임워크(1408) 및 애플리케이션(1410)과 같은 계층을 포함한다. 동작 시에, 몇몇 구현예에 따라, 애플리케이션(1410)은 소프트웨어 스택을 통해 애플리케이션 프로그래밍 인터페이스(API) 호출(1412)을 작동시키고, API 호출(1412)에 응답하는 메시지(1414)를 수신한다.
다양한 구현예에서, 운영 체제(1404)는 하드웨어 리소스를 관리하고 공통 서비스를 제공한다. 운영 체제(1404)는 예를 들어, 커널(1420), 서비스(1422) 및 드라이버(1424)를 포함한다. 커널(1420)은 몇몇 구현예에서 하드웨어와 상이한 소프트웨어 계층들 사이의 추상 계층(abstraction layer)으로서 작용한다. 예를 들어, 커널(1420)은 상이한 기능들 중에서 메모리 관리, 프로세서 관리(예컨대, 스케줄링), 구성요소 관리, 네트워킹, 보안 설정을 제공한다. 서비스(1422)는 상이한 소프트웨어 계층들을 위한 상이한 공통 서비스를 제공할 수 있다. 드라이버(1424)는 하부 하드웨어를 제어하거나 인터페이스하는 역할을 할 수 있다. 예를 들어, 드라이버(1424)는 디스플레이 드라이버, 카메라 드라이버, 블루투스(Bluetooth®) 드라이버, 플래시 메모리 드라이버, 직렬 통신 드라이버(예컨대, USB(Universal Serial Bus) 드라이버), Wi-Fi® 드라이버, 오디오 드라이버, 전력 관리 드라이버, 기타 등등을 포함한다.
몇몇 구현예에서, 라이브러리(1406)는 애플리케이션(1410)에 의해 이용될 수 있는 저레벨 공통 인프라스트럭처를 제공한다. 라이브러리(1406)는 메모리 할당 기능, 문자열 조작 기능, 수학 기능 등과 같은 기능을 제공할 수 있는 시스템 라이브러리(1430)(예컨대, C 표준 라이브러리)를 포함할 수 있다. 또한, 라이브러리(1406)는 미디어 라이브러리(예컨대, MPEG4(Moving Picture Experts Group-4), H.264 또는 AVC(Advanced Video Coding), MP3(Moving Picture Experts Group Layer-3), AAC(Advanced Audio Coding), AMR(Adaptive Multi-Rate) 오디오 코덱, JPEG 또는 JPG(Joint Photographic Experts Group), PNG(Portable Network Graphics)와 같은 다양한 미디어 포맷의 제시 및 조작을 지원하는 라이브러리), 그래픽 라이브러리(예컨대, 디스플레이 상의 그래픽 콘텐츠에서 2 차원(2D) 및 3 차원(3D) 렌더링에 사용되는 OpenGL 프레임워크), 데이터베이스 라이브러리(예컨대, 다양한 관계형 데이터베이스 기능을 제공하는 SQLite), 웹 라이브러리(예컨대, 웹 브라우징 기능을 제공하는 WebKit) 등과 같은 API 라이브러리(1432)를 포함할 수 있다. 또한, 라이브러리(1406)는 애플리케이션(1410)에 많은 다른 API를 제공하기 위해 다양한 다른 라이브러리(1434)를 포함할 수 있다.
몇몇 구현예에 따르면, 프레임워크(1408)는 애플리케이션(1410)에 의해 이용될 수 있는 고레벨 공통 인프라스트럭처를 제공한다. 예를 들어, 프레임워크(1408)는 다양한 그래픽 사용자 인터페이스(GUI) 기능, 고레벨 리소스 관리, 고 레벨 위치 서비스 등을 제공한다. 프레임워크(1408)는 애플리케이션(1410)에 의해 이용될 수 있는 광범위한 스펙트럼의 다른 API를 제공할 수 있는데, 그 중 일부는 특정 운영 시스템 또는 플랫폼에 특정될 수 있다.
예시적 실시예에서, 애플리케이션(1410)은 홈 애플리케이션(1450), 연락처 애플리케이션(1452), 브라우저 애플리케이션(1454), 북 리더 애플리케이션(1456), 위치 애플리케이션(1458), 미디어 애플리케이션(1460), 메시징 애플리케이션(1462), 게임 애플리케이션(1464), 제 3 자 애플리케이션(1466)과 같은 다양한 다른 애플리케이션을 포함한다. 몇몇 실시예에 따르면, 애플리케이션(1410)은 프로그램에 정의된 기능을 실행하는 프로그램이다. 다양한 방식으로 구조화된 애플리케이션(1410) 중 하나 이상을 생성하기 위해 객체 지향적 프로그래밍 언어(예컨대, 오브젝티브-C, 자바 또는 C++) 또는 절차형 프로그래밍 언어(예컨대, C 또는 어셈블리 언어)와 같은 다양한 프로그래밍 언어가 이용될 수 있다. 특정 예에서, 제 3 자 애플리케이션(1466)(예컨대, 특정 플랫폼의 벤더 이외의 엔티티에 의해 Android™ 또는 iOS™ 소프트웨어 개발 킷(SDK)을 사용하여 개발된 애플리케이션)은 iOS™, Android™, Windows® 폰 또는 기타 모바일 운영 체제와 같은 모바일 운영 체제 상에서 실행되는 모바일 소프트웨어일 수 있다. 이 예에서, 제 3 자 애플리케이션(1466)은 모바일 운영 체제(1404)에 의해 제공된 API 호출(1412)을 작동시켜 여기에 설명된 기능을 가능하게 할 수 있다.
예시적 머신 아키텍처 및 머신 판독가능 매체
도 15는 머신 판독가능 매체(예컨대, 머신 판독가능 저장 매체)로부터 명령어를 판독하고 여기에서 설명된 방법들 중 임의의 하나 이상을 수행할 수 있는, 몇몇 예시적 실시예에 따른 머신(1500)의 구성요소를 도시하는 블록도이다. 구체적으로, 도 15는 컴퓨터 시스템의 예시적 형태로 머신(1500)을 도식적으로 도시한 도면으로서, 머신(1500)에서는 머신(1500)으로 하여금 본 명세서에서 설명된 방법들 중 하나 이상을 수행하게 하는 명령어(예컨대, 소프트웨어, 프로그램, 애플리케이션, 애플릿, 앱, 또는 다른 실행가능한 코드)가 실행될 수 있다. 대안적 실시예에서, 머신(1500)은 독립형 디바이스로서 동작하거나 다른 머신들에 결합(예컨대, 네트워크화)될 수 있다. 네트워크형 배치에서, 머신(1500)은 서버-클라이언트 네트워크 환경에서 서버 머신 또는 클라이언트 머신의 자격으로 동작할 수 있거나 피어-투-피어(또는 분산형) 네트워크 환경에서 피어 머신으로서 동작할 수 있다. 머신(1500)은 서버 컴퓨터, 클라이언트 컴퓨터, 퍼스널 컴퓨터(PC), 태블릿 컴퓨터, 랩톱 컴퓨터, 넷북, 셋톱 박스(STB), PDA(personal digital assistant), 엔터테인먼트 미디어 시스템, 셀룰러 전화, 스마트폰, 모바일 디바이스, 웨어러블 디바이스(예컨대, 스마트 시계), 스마트 홈 디바이스(예컨대, 스마트 가전), 기타 스마트 디바이스, 웹 가전, 네트워크 라우터, 네트워크 스위치, 네트워크 브리지, 또는 머신(1500)에 의해 취해질 동작을 특정하는 명령어(1516)를 순차적으로 또는 다른 방식으로 실행할 수 있는 임의의 머신을 포함할 수 있지만 이에 제한되지 않는다. 또한, 단지 하나의 머신(1500)이 도시되어 있지만, "머신"이라는 용어는 본 명세서에서 설명된 방법들 중 임의의 하나 이상을 수행하기 위해 명령어(1516)를 개별적으로 또는 공동으로 실행하는 머신들의 집합(1500)을 포함하는 것으로 간주될 수도 있다. 실용성의 측면에서, 머신(1500)의 특정 실시예는 본 명세서에서 설명된 방법에 보다 적합할 수 있다. 예를 들어, 충분한 처리 능력을 갖는 임의의 컴퓨팅 디바이스가 추천 서버(130)로서 기능할 수 있지만, 가속도계, 카메라 및 셀룰러 네트워크 접속성은 본 명세서에서 설명된 추천 방법을 수행하기 위한 추천 서버(130)의 능력과 직접적인 관련이 없다. 따라서, 몇몇 예시적 실시예에서는, (예컨대, 직접 접속된 디스플레이 없이 그리고 웨어러블 또는 휴대용 디바이스에서만 주로 발견될 수 있는 통합 센서 없이 추천 서버(130)를 서버 머신에서 구현함으로써) 각각의 머신(1500)에 할당된 작업들의 수행에 불필요한 부가적 특징들을 배제하는 다양한 설명된 방법들을 머신(1500) 상에서 실행함으로써 비용 절감이 실현된다.
머신(1500)은 버스(1502)를 통해 서로 통신하도록 구성될 수 있는 프로세서들(1510), 메모리(1530) 및 I/O 구성요소(1550)를 포함할 수 있다. 일 예시적 실시예에서, 프로세서들(1510)(예컨대, CPU(Central Processing Unit), RISC(Reduced Instruction Set Computing) 프로세서, CISC(Complex Instruction Set Computing) 프로세서, GPU(Graphics Processing Unit), DSP(Digital Signal Processor), ASIC(Application Specific Integrated Circuit), RFIC(Radio-Frequency Integrated Circuit), 다른 프로세서, 또는 이들의 임의의 적절한 조합)은 예컨대 명령어(1516)를 실행할 수 있는 프로세서(1512) 및 프로세서(1514)를 포함할 수 있다. "프로세서"라는 용어는 명령어를 동시에 실행할 수 있는 2개 이상의 독립형 프로세서("코어"라고도 함)를 포함할 수 있는 멀티코어 프로세서를 포함하도록 의도된다. 도 15는 다수의 프로세서를 도시하지만, 머신(1500)은 단일 코어를 갖는 단일 프로세서, 다중 코어(예컨대, 멀티코어 프로세스)를 갖는 단일 프로세서, 단일 코어를 갖는 다중 프로세서, 다중 코어를 갖는 다중 프로세서, 또는 이들의 임의의 조합을 포함할 수 있다.
메모리(1530)는 버스(1502)를 통해 프로세서들(1510)에 액세스 가능한, 메인 메모리(1532), 정적 메모리(1534) 및 저장 유닛(1536)을 포함할 수 있다. 저장 유닛(1536)은 여기에 설명된 방법들 또는 기능들 중 하나 이상을 구현하는 명령어(1516)가 저장된 머신 판독가능 매체(1538)를 포함할 수 있다. 명령어(1516)는 또한 머신(1500)에 의한 실행 중에, 메인 메모리(1532) 내에, 정적 메모리(1534) 내에, 프로세서들(1510) 중 적어도 하나 내에(예컨대, 프로세서의 캐시 메모리 내에), 또는 이들의 임의의 조합 내에, 완전하게 또는 적어도 부분적으로 존재할 수 있다. 따라서, 다양한 구현예에서, 메인 메모리(1532), 정적 메모리(1534), 및 프로세서들(1510)은 머신 판독가능 매체(1538)로서 간주된다.
본 명세서에 사용될 때, "메모리"라는 용어는 데이터를 일시적으로 또는 영구적으로 저장할 수 있는 머신 판독가능 매체(1538)를 지칭하며, RAM(Random Access Memory), ROM(read-only memory), 버퍼 메모리, 플래시 메모리 및 캐시 메모리를 포함하지만 이에 제한되지는 않는다. 예시적 실시예에서, 머신 판독가능 매체(1538)는 단일 매체인 것으로 도시되지만, "머신 판독가능 매체"라는 용어는 명령어(1516)를 저장할 수 있는 단일 매체 또는 다중 매체(예컨대, 중앙 집중형 또는 분산형 데이터베이스, 또는 연관된 캐시 및 서버)를 포함하는 것으로 간주되어야 한다. "머신 판독가능 매체"라는 용어는 또한, 머신(1500)의 하나 이상의 프로세서(예컨대, 프로세서들(1510))에 의해 실행될 때 명령어가 머신(1500)으로 하여금 여기에 설명된 방법들 중 임의의 하나 이상을 수행하게 할 수 있도록, 머신(예컨대, 머신(1500))에 의한 실행을 위해 명령어(예컨대, 명령어(1516))를 저장할 수 있는 임의의 매체 또는 다중 매체의 조합을 포함하는 것으로 간주되어야 한다. 따라서, "머신 판독가능 매체"는 다수의 저장 장치 또는 디바이스를 포함하는 "클라우드 기반" 저장 시스템 또는 저장 네트워크뿐만 아니라 단일 저장 장치 또는 디바이스를 지칭한다. 따라서 "머신 판독가능 매체"라는 용어는 고체 메모리(예컨대, 플래시 메모리), 광학 매체, 자기 매체, 다른 비휘발성 메모리(예컨대, EPROM(Erasable Programmable Read-Only Memory)), 또는 이들의 임의의 적절한 조합의 형태의 하나 이상의 데이터 저장소를 포함하되 이에 제한되지는 않는 것으로 간주되어야 한다.
I/O 구성요소(1550)는 입력을 수신하고, 출력을 제공하고, 출력을 생성하고, 정보를 전송하고, 정보를 교환하고, 측정을 캡처하기 위한 다양한 구성요소를 포함한다. 일반적으로, I/O 구성요소(1550)는 도 15에 도시되지 않은 많은 다른 구성요소를 포함할 수 있다는 것이 인식될 것이다. I/O 구성요소(1550)는 단지 다음의 설명을 단순화하기 위해 기능에 따라 그룹화되며, 그룹화는 결코 제한적인 것은 아니다. 다양한 예시적 실시예에서, I/O 구성요소(1550)는 출력 구성요소(1552) 및 입력 구성요소(1554)를 포함한다. 출력 구성요소(1552)는 시각적 구성요소(예컨대, PDP(plasma display panel), LED(light emitting diode) 디스플레이, LCD(liquid crystal display), 프로젝터 또는 CRT(cathode ray tube)와 같은 디스플레이), 음향 구성요소(예컨대, 스피커), 햅틱 구성요소(예컨대, 진동 모터), 기타 신호 생성기 등을 포함한다. 입력 구성요소(1554)는 영숫자 입력 구성요소(예컨대, 키보드, 영숫자 입력을 수신하도록 구성된 터치 스크린, 포토-옵티컬 키보드 또는 다른 영숫자 입력 구성요소), 포인트 기반 입력 구성요소(예컨대, 마우스, 터치패드, 트랙볼, 조이스틱, 모션 센서 또는 다른 포인팅 기구), 촉각 입력 구성요소(예컨대, 물리적 버튼, 터치 또는 터치 제스처의 위치 및 힘을 제공하는 터치 스크린, 또는 다른 촉각 입력 구성요소), 오디오 입력 구성요소(예컨대, 마이크로폰) 등을 포함한다.
몇몇 다른 예시적 실시예에서, I/O 구성요소(1550)는, 상이한 구성요소들의 광범위한 어레이들 중에서, 생체 측정 구성요소(1556), 모션 구성요소(1558), 환경 구성요소(1560) 또는 포지션 구성요소(1562)를 포함한다. 예를 들어, 생체 측정 구성요소(1556)는, 표현(예컨대, 손 표현, 표정, 음성 표현, 몸짓 또는 눈 추적)을 검출하고, 생체 신호(예컨대, 혈압, 심박수, 체온, 땀 또는 뇌파)를 측정하고, 사람을 식별(예컨대, 음성 식별, 망막 식별, 얼굴 식별, 지문 식별 또는 뇌전도 기반 식별)하는 등을 위한 구성요소를 포함한다. 모션 구성요소(1558)는 가속도 센서 구성요소(예컨대, 가속도계), 중력 센서 구성요소, 회전 센서 구성요소(예컨대, 자이로스코프) 등을 포함한다. 환경 구성요소(1560)는, 예를 들어, 조명 센서 구성요소(예컨대, 광도계), 온도 센서 구성요소(예컨대, 주위 온도를 검출하는 하나 이상의 온도계), 습도 센서 구성요소, 압력 센서 구성요소(예컨대, 기압계), 음향 센서 구성요소(예컨대, 배경 잡음을 검출하는 하나 이상의 마이크로폰), 근접 센서 구성요소(예컨대, 근처의 물체를 검출하는 적외선 센서), 가스 센서(예컨대, 머신 후각 검출 센서, 안전을 위해 위험한 가스의 농도를 검출하거나 대기 중의 오염 물질을 측정하는 가스 검출 센서), 또는 주변 물리적 환경에 대응하는 표시, 측정 또는 신호를 제공할 수 있는 기타 구성요소를 포함한다. 포지션 구성요소(1562)는 위치 센서 구성요소(예컨대, GPS(Global Position System) 수신기 구성요소), 고도 센서 구성요소(예컨대, 고도가 유도될 수 있는 기압을 검출하는 고도계 또는 기압계), 방위 센서 구성요소(예컨대, 자력계) 등을 포함한다.
통신은 다양한 기술을 사용하여 구현될 수 있다. I/O 구성요소(1550)는 머신(1500)을 커플링(1582) 및 커플링(1572)을 통해 각각 네트워크(1580) 또는 디바이스(1570)에 결합시키도록 동작 가능한 통신 구성요소(1564)를 포함할 수 있다. 예를 들어, 통신 구성요소(1564)는 네트워크 인터페이스 구성요소 또는 네트워크(1580)와 인터페이스하기 위한 다른 적절한 디바이스를 포함한다. 다른 예에서, 통신 구성요소(1564)는 유선 통신 구성요소, 무선 통신 구성요소, 셀룰러 통신 구성요소, NFC(Near Field Communication) 구성요소, Bluetooth® 구성요소(예컨대, Bluetooth® 저 에너지), Wi-Fi® 구성요소 및 다른 양상(modalities)을 통한 통신을 제공하는 기타 통신 구성요소를 포함한다. 디바이스(1570)는 다른 머신 또는 임의의 다양한 주변 디바이스(예컨대, USB를 통해 결합된 주변 디바이스)일 수 있다.
또한, 몇몇 구현예에서, 통신 구성요소(1564)는 식별자를 검출하거나, 식별자를 검출하도록 동작 가능한 구성요소를 포함한다. 예를 들어, 통신 구성요소(1564)는 RFID(Radio Frequency Identification) 태그 판독기 구성요소, NFC 스마트 태그 검출 구성요소, 광학 판독기 구성요소(예컨대, UPC(Universal Product Code) 바 코드와 같은 1차원 바코드, QR(Quick Response) 코드, 아즈텍 코드, 데이터 매트릭스, 데이터글리프, 맥시코드, PDF417, 울트라 코드, UCC RSS(Uniform Commercial Code Reduced Space Symbology)-2D 바코드와 같은 다차원 바코드 및 기타 광학 코드), 음향 검출 구성요소(예컨대, 태그된 오디오 신호를 식별하는 마이크로폰), 또는 이들의 임의의 적절한 조합을 포함한다. 또한, 인터넷 프로토콜(IP) 지오로케이션(geo-lacation)을 통한 위치, Wi-Fi® 신호 삼각 측량을 통한 위치, 특정 위치를 나타낼 수 있는 NFC 비콘 신호 검출을 통한 위치 등과 같은 다양한 정보가 통신 구성요소(1564)를 통해 도출될 수 있다.
전송 매체
다양한 예시적 실시예에서, 네트워크(580)의 하나 이상의 부분은, 애드혹 네트워크, 인트라넷, 엑스트라넷, VPN(virtual private network), LAN(local area network), WLAN(wireless LAN), WAN(wide area network), WWAN(wireless WAN), MAN(Metropolitan Area Network), 인터넷, 인터넷의 일부, PSTN(Public Switched Telephone Network)의 일부, POTS(plain old telephone service) 네트워크, 셀룰러 전화 네트워크, 무선 네트워크, Wi-Fi® 네트워크, 다른 유형의 네트워크, 또는 2 개 이상의 그러한 네트워크들의 조합일 수 있다. 예를 들어, 네트워크(1580) 또는 네트워크(1580)의 일부는 무선 또는 셀룰러 네트워크를 포함할 수 있고, 커플링(1582)은 CDMA(Code Division Multiple Access) 접속, GSM(Global System for Mobile communications) 접속, 또는 다른 유형의 셀룰러 또는 무선 커플링일 수 있다. 이 예에서, 커플링(1582)은, IxRTT(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), 4세대 무선(4G) 네트워크, UMTS(Universal Mobile Telecommunications System), HSPA(High Speed Packet Access), WiMAX(Worldwide Interoperability for Microwave Access), LTE(Long Term Evolution) 표준, 다양한 표준 설정 기구에 의해 정의된 다른 것, 기타 장거리 프로토콜 또는 기타 데이터 전송 기술과 같은 다양한 데이터 전송 기술 중 임의의 것을 구현할 수 있다.
예시적 실시예에서, 명령어(1516)는, 네트워크 인터페이스 디바이스(예컨대, 통신 구성요소(1564)에 포함된 네트워크 인터페이스 구성요소)를 통해 전송 매체를 사용하고 다수의 공지된 전송 프로토콜들(예컨대, HTTP(Hypertext Transfer Protocol)) 중 임의의 하나를 이용하여 송신되거나 수신될 수 있다. 마찬가지로, 다른 예시적 실시예에서, 명령어(1516)는 디바이스(1570)에 대한 커플링(1572)(예컨대, 피어-투-피어 커플링)을 통해 전송 매체를 사용하여 송신되거나 수신된다. "전송 매체"라는 용어는 머신(1500)에 의한 실행을 위한 명령어(1516)를 저장, 인코딩, 또는 운반할 수 있는 임의의 무형의 매체를 포함하는 것으로 간주되어야 하고, 그러한 소프트웨어의 통신을 가능하게 하는 디지털 또는 아날로그 통신 신호 또는 다른 무형의 매체를 포함한다. 전송 매체는 머신 판독가능 매체의 일 실시예이다.
언어
본 명세서의 전반에서, 복수의 인스턴스는 단일 인스턴스로 설명된 구성요소, 동작 또는 구조를 구현할 수 있다. 하나 이상의 방법의 개별 동작들은 분리된 동작으로 도시되고 설명되지만, 개별 동작들 중 하나 이상은 동시에 수행될 수 있으며, 동작들은 도시된 순서대로 수행될 필요는 없다. 예시적 구성에서 분리된 구성요소로 제시된 구조들 및 기능들은 결합된 구조 또는 구성요소로서 구현될 수 있다. 마찬가지로, 단일 구성요소로서 제시된 구조 및 기능은 분리된 구성요소로서 구현될 수 있다. 이들 및 다른 변형, 수정, 추가 및 개선은 본 명세서의 내용의 범위 내에 속한다.
본 발명의 내용의 개요가 특정 실시예를 참조하여 설명되었지만, 본 발명의보다 넓은 범위의 실시예에서 벗어남 없이 이러한 실시예에 대한 수정 및 변경이 이루어질 수 있다. 본 발명의 내용의 이러한 실시예는, 사실상 2개 이상이 개시되더라도 본원의 범위를 임의의 단일의 개시 또는 발명의 개념으로 자발적으로 제한하려고 의도하지 않으면서 단순히 편의를 위해 본 명세서에서 "발명"이라는 용어에 의해 개별적으로 또는 집합적으로 지칭될 수 있다.
여기에 설명된 실시예는 당업자가 개시된 교시를 실시할 수 있도록 충분히 상세하게 설명된다. 상이한 실시예들은 본 발명의 범위를 벗어나지 않고 구조적 및 논리적 대체 및 변경이 이루어질 수 있도록 사용되고 도출될 수 있다. 따라서, 상세한 설명은 제한적인 의미로 간주되어서는 안되며, 다양한 실시예의 범위는 첨부된 청구 범위 및 그러한 청구 범위에 부여되는 등가물의 전체 범위에 의해서만 정의된다.
본 명세서에서 사용될 때, "또는"이라는 용어는 포괄적이거나 배타적인 의미로 해석될 수 있다. 또한, 본 명세서에서 단일 인스턴스로서 설명된 리소스, 동작 또는 구조에 대해 복수의 인스턴스가 제공될 수 있다. 또한, 다양한 리소스, 동작, 모듈, 엔진 및 데이터 스토어 사이의 경계는 다소 임의적이며, 특정 동작은 특정 예시적 구성과 관련하여 설명된다. 기능의 다른 할당이 예상되고, 본 발명의 다양한 실시예의 범위 내에 속할 수 있다. 일반적으로, 예시적 구성에서 분리된 리소스로 제시된 구조 및 기능은 결합된 구조 또는 리소스로서 구현될 수 있다. 마찬가지로, 단일 리소스로서 제시된 구조 및 기능은 분리된 리소스로 구현될 수 있다. 이들 및 다른 변형, 수정, 추가 및 개선점은 첨부된 청구 범위에 의해 표현되는 본 발명의 실시예의 범위 내에 속한다. 따라서, 명세서 및 도면은 제한적인 의미라기보다는 예시적인 것으로 간주되어야 한다.
다음 열거된 예는 본 명세서에서 설명된 방법, 머신 판독가능 매체 및 시스템(즉, 장치)의 다양한 예시적 실시예를 정의한다.
예 1. 명령어가 구현되어 있는 메모리와,
상기 명령어에 의해 동작을 수행하도록 구성된 하나 이상의 프로세서를 포함하되, 상기 동작은,
클라이언트 디바이스에서 사용자에 의한 제 1 아이템 목록과의 상호작용을 검출하는 것과,
상기 클라이언트 디바이스 상에 사용자 인터페이스가 디스플레이되게 하는 것 ― 상기 사용자 인터페이스는 아이템의 의도된 수취인을 식별하는 프롬프트를 포함하고, 상기 의도된 수취인은 상기 사용자와 상이함 ― 과,
상기 사용자 인터페이스를 통해 상기 아이템의 의도된 수취인의 식별자를 수신하는 것과,
상기 사용자에 의해 상호작용된 제 1 목록 세트에 기초하여 제 1 추천 목록을 선택하는 것 ― 상기 제 1 목록 세트는 상기 제 1 아이템 목록을 제외함 ― 과,
상기 사용자에 의해 상호작용된 제 2 목록 세트에 기초하여 제 2 추천 목록을 선택하는 것 ― 상기 제 2 목록 세트는 상기 제 1 아이템 목록을 포함함 ― 과,
상기 제 1 추천 목록이 상기 사용자에게 제시되게 하는 것과,
상기 제 2 추천 목록이 상기 사용자에게 제시되게 하는 것을 포함하는
시스템.
예 2. 예 1에 있어서,
상기 사용자 인터페이스는 상기 아이템이 상기 수취인을 위한 선물로서 의도되는 행사를 식별하는 프롬프트를 더 포함하고,
상기 동작은,
상기 사용자 인터페이스를 통해 상기 행사의 식별자를 수신하는 것과,
상기 행사의 날짜를 결정하는 것을 더 포함하고,
상기 제 2 추천 목록이 상기 사용자에게 제시되게 하는 것은 상기 행사의 날짜 및 현재 날짜에 기초하는
시스템.
예 3. 예 2에 있어서,
상기 제 2 추천 목록이 상기 사용자에게 제시되게 하는 것은 상기 행사의 날짜와 상기 현재 날짜 간의 차이가 임계치 미만인 것에 기초하는
시스템.
예 4. 예 1 내지 예 3 중 어느 한 예에 있어서,
상기 제 1 아이템 목록과의 상호작용은, 상기 제 1 아이템 목록을 보는 것, 상기 아이템에 입찰하는 것, 상기 아이템에 대한 제안을 하는 것, 및 상기 제 1 아이템 목록을 감시하는 것을 포함하는 그룹으로부터 선택되는
시스템.
예 5. 예 1 내지 예 4 중 어느 한 예에 있어서,
상기 동작은 상기 수취인에 대한 희망 목록(wish list)에 액세스하는 것을 더 포함하고,
상기 제 2 추천 목록의 생성은 상기 희망 목록에 기초하는
시스템.
예 6. 예 1 내지 예 5 중 어느 한 예에 있어서,
상기 제 2 추천 목록의 생성은 상기 제 1 아이템 목록에 표시되는 상기 아이템의 속성에 기초하는
시스템.
예 7. 예 1 내지 예 6 중 어느 한 예에 있어서,
상기 제 1 추천 목록은 제 1 복수의 추천 목록을 포함하는 제 1 디스플레이 영역에 제시되고,
상기 제 2 추천 목록은 제 2 복수의 추천 목록을 포함하는 제 2 디스플레이 영역에 제시되며,
상기 동작은,
상기 클라이언트 디바이스 상에 제 2 사용자 인터페이스가 디스플레이되게 하는 것 ― 상기 제 2 사용자 인터페이스는 상기 제 1 추천 목록의 아이템에 관심 있을 사람을 식별하는 프롬프트를 포함함 ― 과,
상기 제 2 사용자 인터페이스를 통해, 상기 수취인이 상기 제 1 추천 목록의 아이템에 관심 있을 것이라는 표시를 수신하는 것과,
상기 수취인이 상기 제 1 추천 목록의 아이템에 관심 있을 것이라는 표시의 수신에 응답하여, 상기 제 1 추천 목록을 상기 제 1 디스플레이 영역으로부터 상기 제 2 디스플레이 영역으로 이동시키는 것을 더 포함하는
시스템.
예 8. 예 1 내지 예 7 중 어느 한 예에 있어서,
상기 동작은,
제 2 사용자와 상기 수취인 간의 연관에 기초하여, 상기 제 2 추천 목록이 상기 제 2 사용자에게 제시되게 하는 것과,
상기 제 2 사용자로부터 상기 제 2 추천 목록의 아이템에 대한 구매 주문을 수신하는 것과,
상기 구매 주문의 수신 및 상기 제 2 사용자와 상기 수취인 간의 연관에 기초하여, 상기 제 2 추천 목록을 상기 제 1 사용자에게 제시하는 것을 중단하는 것을 더 포함하는
시스템.
예 9. 예 1 내지 예 8 중 어느 한 예에 있어서,
상기 동작은 상기 클라이언트 디바이스 상에 제 2 사용자 인터페이스가 디스플레이되게 하는 것을 더 포함하고, 상기 제 2 사용자 인터페이스는 상기 수취인이 상기 제 2 추천 목록의 아이템에 관심 있을 것인지 여부를 표시하는 프롬프트를 포함하는
시스템.
예 10. 예 9에 있어서,
상기 동작은,
상기 제 2 사용자 인터페이스를 통해 상기 수취인이 상기 제 2 추천 목록의 아이템에 관심 없을 것이라는 표시를 수신하는 것과,
상기 수취인이 상기 제 2 추천 목록의 아이템에 관심 없을 것이라는 표시의 수신에 응답하여, 제 2 추천 목록의 디스플레이를 중단하는 것을 더 포함하는
시스템.
예 11. 예 9 또는 예 10에 있어서,
상기 동작은,
상기 제 2 사용자 인터페이스를 통해 상기 수취인이 상기 제 2 추천 목록의 아이템에 관심 있을 것이라는 표시를 수신하는 것과,
상기 수취인이 상기 제 2 추천 목록의 아이템에 관심 있을 것이라는 표시의 수신에 응답하여, 상기 사용자에 의해 상호작용된 상기 제 2 목록 세트 및 제 2 추천 목록에 기초하여 제 3 추천 목록을 선택하는 것과,
상기 제 3 추천 목록이 상기 사용자에게 제시되게 하는 것을 더 포함하는
시스템.
예 12. 예 1 내지 예 11 중 어느 한 예에 있어서,
상기 제 1 아이템 목록은 제 1 전자 상거래 사이트로부터 유래한 것이고,
상기 제 2 추전 목록은 상기 제 1 전자 상거래 사이트와 상이한 제 2 전자 상거래 사이트로부터 유래한 것인
시스템.
예 13. 클라이언트 디바이스에서 사용자에 의한 제 1 아이템 목록과의 상호작용을 검출하는 단계와,
상기 클라이언트 디바이스 상에 사용자 인터페이스가 디스플레이되게 하는 단계 ― 상기 사용자 인터페이스는 아이템의 의도된 수취인을 식별하는 프롬프트를 포함하고, 상기 의도된 수취인은 상기 사용자와 상이함 ― 와,
상기 사용자 인터페이스를 통해 상기 아이템의 의도된 수취인의 식별자를 수신하는 단계와,
상기 사용자에 의해 상호작용된 제 1 목록 세트에 기초하여 제 1 추천 목록을 선택하는 단계 ― 상기 제 1 목록 세트는 상기 제 1 아이템 목록을 제외함 ― 와,
머신의 프로세서에 의해, 상기 사용자에 의해 상호작용된 제 2 목록 세트에 기초하여 제 2 추천 목록을 선택하는 단계 ― 상기 제 2 목록 세트는 상기 제 1 아이템 목록을 포함함 ― 와,
상기 제 1 추천 목록이 상기 사용자에게 제시되게 하는 단계와,
상기 제 2 추천 목록이 상기 사용자에게 제시되게 하는 단계를 포함하는
방법.
예 14. 예 13에 있어서,
상기 사용자 인터페이스는 상기 아이템이 상기 수취인을 위한 선물로서 의도되는 행사를 식별하는 프롬프트를 더 포함하고,
상기 방법은,
상기 사용자 인터페이스를 통해 상기 행사의 식별자를 수신하는 단계와,
상기 행사의 날짜를 결정하는 단계를 더 포함하고,
상기 제 2 추천 목록이 상기 사용자에게 제시되게 하는 단계는 상기 행사의 날짜 및 현재 날짜에 기초하는
방법.
예 15. 예 14에 있어서,
상기 제 2 추천 목록이 상기 사용자에게 제시되게 하는 단계는 상기 행사의 날짜와 상기 현재 날짜 간의 차이가 임계치 미만인 것에 기초하는
방법.
예 16. 예 13 또는 예 14에 있어서,
상기 제 1 아이템 목록과의 상호작용은, 상기 제 1 아이템 목록을 보는 것, 상기 아이템에 입찰하는 것, 상기 아이템에 대한 제안을 하는 것, 및 상기 제 1 아이템 목록을 감시하는 것을 포함하는 그룹으로부터 선택되는
방법.
예 17. 예 13 내지 예 16 중 어느 한 예에 있어서,
상기 수취인에 대한 희망 목록에 액세스하는 단계를 더 포함하되,
상기 제 2 추천 목록의 생성은 상기 희망 목록에 기초하는
방법.
예 18. 예 13 내지 예 17 중 어느 한 예에 있어서,
상기 제 2 추천 목록의 생성은 상기 제 1 아이템 목록에 표시되는 상기 아이템의 속성에 기초하는
방법.
예 19. 예 13 내지 예 18 중 어느 한 예에 있어서,
상기 제 1 추천 목록은 제 1 복수의 추천 목록을 포함하는 제 1 디스플레이 영역에 제시되고,
상기 제 2 추천 목록은 제 2 복수의 추천 목록을 포함하는 제 2 디스플레이 영역에 제시되며,
상기 방법은,
상기 클라이언트 디바이스 상에 제 2 사용자 인터페이스가 디스플레이되게 하는 단계 ― 상기 제 2 사용자 인터페이스는 상기 제 1 추천 목록의 아이템에 관심 있을 사람을 식별하는 프롬프트를 포함함 ― 와,
상기 제 2 사용자 인터페이스를 통해, 상기 수취인이 상기 제 1 추천 목록의 아이템에 관심 있을 것이라는 표시를 수신하는 단계와,
상기 수취인이 상기 제 1 추천 목록의 아이템에 관심 있을 것이라는 표시의 수신에 응답하여, 상기 제 1 추천 목록을 상기 제 1 디스플레이 영역으로부터 상기 제 2 디스플레이 영역으로 이동시키는 단계를 더 포함하는
방법.
예 20. 명령어를 운반하는 머신 판독가능 매체로서,
상기 명령어는 예 13 내지 예 19 중 어느 한 예의 방법을 수행하도록 머신의 하나 이상의 프로세서에 의해 실행가능한
머신 판독가능 매체.

Claims (21)

  1. 명령어가 구현되어 있는 메모리와,
    상기 명령어에 의해 동작을 수행하도록 구성된 하나 이상의 프로세서를 포함하되, 상기 동작은,
    클라이언트 디바이스에서 사용자에 의한 제 1 아이템 목록과의 상호작용을 검출하는 것과,
    상기 클라이언트 디바이스 상에 사용자 인터페이스가 디스플레이되게 하는 것 ― 상기 사용자 인터페이스는 아이템의 의도된 수취인을 식별하는 프롬프트를 포함하고, 상기 의도된 수취인은 상기 사용자와 상이함 ― 과,
    상기 사용자 인터페이스를 통해 상기 아이템의 의도된 수취인의 식별자를 수신하는 것과,
    상기 사용자에 의해 상호작용된 제 1 목록 세트에 기초하여 제 1 추천 목록을 선택하는 것 ― 상기 제 1 목록 세트는 상기 제 1 아이템 목록을 제외함 ― 과,
    상기 사용자에 의해 상호작용된 제 2 목록 세트에 기초하여 제 2 추천 목록을 선택하는 것 ― 상기 제 2 목록 세트는 상기 제 1 아이템 목록을 포함함 ― 과,
    상기 제 1 추천 목록이 상기 사용자에게 제시되게 하는 것과,
    상기 제 2 추천 목록이 상기 사용자에게 제시되게 하는 것을 포함하는
    시스템.
  2. 제 1 항에 있어서,
    상기 사용자 인터페이스는 상기 아이템이 상기 수취인을 위한 선물로서 의도되는 행사를 식별하는 프롬프트를 더 포함하고,
    상기 동작은,
    상기 사용자 인터페이스를 통해 상기 행사의 식별자를 수신하는 것과,
    상기 행사의 날짜를 결정하는 것을 더 포함하고,
    상기 제 2 추천 목록이 상기 사용자에게 제시되게 하는 것은 상기 행사의 날짜 및 현재 날짜에 기초하는
    시스템.
  3. 제 2 항에 있어서,
    상기 제 2 추천 목록이 상기 사용자에게 제시되게 하는 것은 상기 행사의 날짜와 상기 현재 날짜 간의 차이가 임계치 미만인 것에 기초하는
    시스템.

  4. 제 1 항에 있어서,
    상기 제 1 아이템 목록과의 상호작용은, 상기 제 1 아이템 목록을 보는 것, 상기 아이템에 입찰하는 것, 상기 아이템에 대한 제안을 하는 것, 및 상기 제 1 아이템 목록을 감시하는 것을 포함하는 그룹으로부터 선택되는
    시스템.
  5. 제 1 항에 있어서,
    상기 동작은 상기 수취인에 대한 희망 목록(wish list)에 액세스하는 것을 더 포함하고,
    상기 제 2 추천 목록의 생성은 상기 희망 목록에 기초하는
    시스템.
  6. 제 1 항에 있어서,
    상기 제 2 추천 목록의 생성은 상기 제 1 아이템 목록에 표시되는 상기 아이템의 속성에 기초하는
    시스템.
  7. 제 1 항에 있어서,
    상기 제 1 추천 목록은 제 1 복수의 추천 목록을 포함하는 제 1 디스플레이 영역에 제시되고,
    상기 제 2 추천 목록은 제 2 복수의 추천 목록을 포함하는 제 2 디스플레이 영역에 제시되며,
    상기 동작은,
    상기 클라이언트 디바이스 상에 제 2 사용자 인터페이스가 디스플레이되게 하는 것 ― 상기 제 2 사용자 인터페이스는 상기 제 1 추천 목록의 아이템에 관심 있을 사람을 식별하는 프롬프트를 포함함 ― 과,
    상기 제 2 사용자 인터페이스를 통해, 상기 수취인이 상기 제 1 추천 목록의 아이템에 관심 있을 것이라는 표시를 수신하는 것과,
    상기 수취인이 상기 제 1 추천 목록의 아이템에 관심 있을 것이라는 표시의 수신에 응답하여, 상기 제 1 추천 목록을 상기 제 1 디스플레이 영역으로부터 상기 제 2 디스플레이 영역으로 이동시키는 것을 더 포함하는
    시스템.
  8. 제 1 항에 있어서,
    상기 동작은,
    제 2 사용자와 상기 수취인 간의 연관에 기초하여, 상기 제 2 추천 목록이 상기 제 2 사용자에게 제시되게 하는 것과,
    상기 제 2 사용자로부터 상기 제 2 추천 목록의 아이템에 대한 구매 주문을 수신하는 것과,
    상기 구매 주문의 수신 및 상기 제 2 사용자와 상기 수취인 간의 연관에 기초하여, 상기 제 2 추천 목록을 상기 제 1 사용자에게 제시하는 것을 중단하는 것을 더 포함하는
    시스템.
  9. 제 1 항에 있어서,
    상기 동작은 상기 클라이언트 디바이스 상에 제 2 사용자 인터페이스가 디스플레이되게 하는 것을 더 포함하고, 상기 제 2 사용자 인터페이스는 상기 수취인이 상기 제 2 추천 목록의 아이템에 관심 있을 것인지 여부를 표시하는 프롬프트를 포함하는
    시스템.
  10. 제 9 항에 있어서,
    상기 동작은,
    상기 제 2 사용자 인터페이스를 통해 상기 수취인이 상기 제 2 추천 목록의 아이템에 관심 없을 것이라는 표시를 수신하는 것과,
    상기 수취인이 상기 제 2 추천 목록의 아이템에 관심 없을 것이라는 표시의 수신에 응답하여, 제 2 추천 목록의 디스플레이를 중단하는 것을 더 포함하는
    시스템.
  11. 제 9 항에 있어서,
    상기 동작은,
    상기 제 2 사용자 인터페이스를 통해 상기 수취인이 상기 제 2 추천 목록의 아이템에 관심 있을 것이라는 표시를 수신하는 것과,
    상기 수취인이 상기 제 2 추천 목록의 아이템에 관심 있을 것이라는 표시의 수신에 응답하여, 상기 사용자에 의해 상호작용된 상기 제 2 목록 세트 및 제 2 추천 목록에 기초하여 제 3 추천 목록을 선택하는 것과,
    상기 제 3 추천 목록이 상기 사용자에게 제시되게 하는 것을 더 포함하는
    시스템.

  12. 제 1 항에 있어서,
    상기 제 1 아이템 목록은 제 1 전자 상거래 사이트로부터 유래한 것이고,
    상기 제 2 추전 목록은 상기 제 1 전자 상거래 사이트와 상이한 제 2 전자 상거래 사이트로부터 유래한 것인
    시스템.
  13. 클라이언트 디바이스에서 사용자에 의한 제 1 아이템 목록과의 상호작용을 검출하는 단계와,
    상기 클라이언트 디바이스 상에 사용자 인터페이스가 디스플레이되게 하는 단계 ― 상기 사용자 인터페이스는 아이템의 의도된 수취인을 식별하는 프롬프트를 포함하고, 상기 의도된 수취인은 상기 사용자와 상이함 ― 와,
    상기 사용자 인터페이스를 통해 상기 아이템의 의도된 수취인의 식별자를 수신하는 단계와,
    상기 사용자에 의해 상호작용된 제 1 목록 세트에 기초하여 제 1 추천 목록을 선택하는 단계 ― 상기 제 1 목록 세트는 상기 제 1 아이템 목록을 제외함 ― 와,
    머신의 프로세서에 의해, 상기 사용자에 의해 상호작용된 제 2 목록 세트에 기초하여 제 2 추천 목록을 선택하는 단계 ― 상기 제 2 목록 세트는 상기 제 1 아이템 목록을 포함함 ― 와,
    상기 제 1 추천 목록이 상기 사용자에게 제시되게 하는 단계와,
    상기 제 2 추천 목록이 상기 사용자에게 제시되게 하는 단계를 포함하는
    방법.
  14. 제 13 항에 있어서,
    상기 사용자 인터페이스는 상기 아이템이 상기 수취인을 위한 선물로서 의도되는 행사를 식별하는 프롬프트를 더 포함하고,
    상기 방법은,
    상기 사용자 인터페이스를 통해 상기 행사의 식별자를 수신하는 단계와,
    상기 행사의 날짜를 결정하는 단계를 더 포함하고,
    상기 제 2 추천 목록이 상기 사용자에게 제시되게 하는 단계는 상기 행사의 날짜 및 현재 날짜에 기초하는
    방법.
  15. 제 14 항에 있어서,
    상기 제 2 추천 목록이 상기 사용자에게 제시되게 하는 단계는 상기 행사의 날짜와 상기 현재 날짜 간의 차이가 임계치 미만인 것에 기초하는
    방법.
  16. 제 13 항에 있어서,
    상기 제 1 아이템 목록과의 상호작용은, 상기 제 1 아이템 목록을 보는 것, 상기 아이템에 입찰하는 것, 상기 아이템에 대한 제안을 하는 것, 및 상기 제 1 아이템 목록을 감시하는 것을 포함하는 그룹으로부터 선택되는
    방법.
  17. 제 13 항에 있어서,
    상기 수취인에 대한 희망 목록에 액세스하는 단계를 더 포함하되,
    상기 제 2 추천 목록의 생성은 상기 희망 목록에 기초하는
    방법.
  18. 제 13 항에 있어서,
    상기 제 2 추천 목록의 생성은 상기 제 1 아이템 목록에 표시되는 상기 아이템의 속성에 기초하는
    방법.
  19. 제 13 항에 있어서,
    상기 제 1 추천 목록은 제 1 복수의 추천 목록을 포함하는 제 1 디스플레이 영역에 제시되고,
    상기 제 2 추천 목록은 제 2 복수의 추천 목록을 포함하는 제 2 디스플레이 영역에 제시되며,
    상기 방법은,
    상기 클라이언트 디바이스 상에 제 2 사용자 인터페이스가 디스플레이되게 하는 단계 ― 상기 제 2 사용자 인터페이스는 상기 제 1 추천 목록의 아이템에 관심 있을 사람을 식별하는 프롬프트를 포함함 ― 와,
    상기 제 2 사용자 인터페이스를 통해, 상기 수취인이 상기 제 1 추천 목록의 아이템에 관심 있을 것이라는 표시를 수신하는 단계와,
    상기 수취인이 상기 제 1 추천 목록의 아이템에 관심 있을 것이라는 표시의 수신에 응답하여, 상기 제 1 추천 목록을 상기 제 1 디스플레이 영역으로부터 상기 제 2 디스플레이 영역으로 이동시키는 단계를 더 포함하는
    방법.

  20. 명령어가 구현되어 있는 머신 판독가능 매체로서,
    상기 명령어는 동작을 수행하도록 머신의 하나 이상의 프로세서에 의해 실행가능하고, 상기 동작은,
    클라이언트 디바이스에서 사용자에 의한 제 1 아이템 목록과의 상호작용을 검출하는 것과,
    상기 클라이언트 디바이스 상에 사용자 인터페이스가 디스플레이되게 하는 것 ― 상기 사용자 인터페이스는 아이템의 의도된 수취인을 식별하는 프롬프트를 포함하고, 상기 의도된 수취인은 상기 사용자와 상이함 ― 과,
    상기 사용자 인터페이스를 통해 상기 아이템의 의도된 수취인의 식별자를 수신하는 것과,
    상기 사용자에 의해 상호작용된 제 1 목록 세트에 기초하여 제 1 추천 목록을 선택하는 것 ― 상기 제 1 목록 세트는 상기 제 1 아이템 목록을 제외함 ― 과,
    상기 사용자에 의해 상호작용된 제 2 목록 세트에 기초하여 제 2 추천 목록을 선택하는 것 ― 상기 제 2 목록 세트는 상기 제 1 아이템 목록을 포함함 ― 과,
    상기 제 1 추천 목록이 상기 사용자에게 제시되게 하는 것과,
    상기 제 2 추천 목록이 상기 사용자에게 제시되게 하는 것을 포함하는
    머신 판독가능 매체.
  21. 명령어를 운반하는 머신 판독가능 매체로서,
    상기 명령어는 제 13 항 내지 제 19 항 중 어느 한 항의 방법을 수행하도록 머신의 하나 이상의 프로세서에 의해 실행가능한
    머신 판독가능 매체.
KR1020187028478A 2016-03-03 2017-02-27 추천 엔진 KR20180114212A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/060,301 US20170255985A1 (en) 2016-03-03 2016-03-03 Recommendation engine
US15/060,301 2016-03-03
PCT/US2017/019597 WO2017151465A1 (en) 2016-03-03 2017-02-27 Recommendation engine

Publications (1)

Publication Number Publication Date
KR20180114212A true KR20180114212A (ko) 2018-10-17

Family

ID=59723630

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187028478A KR20180114212A (ko) 2016-03-03 2017-02-27 추천 엔진

Country Status (5)

Country Link
US (1) US20170255985A1 (ko)
EP (1) EP3424006A4 (ko)
KR (1) KR20180114212A (ko)
CN (1) CN108885751A (ko)
WO (1) WO2017151465A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11636475B1 (en) * 2018-10-01 2023-04-25 Wells Fargo Bank, N.A. Predicting and making payments via preferred payment methods
US11004449B2 (en) * 2018-11-29 2021-05-11 International Business Machines Corporation Vocal utterance based item inventory actions

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6785671B1 (en) * 1999-12-08 2004-08-31 Amazon.Com, Inc. System and method for locating web-based product offerings
US7580861B1 (en) * 2000-03-17 2009-08-25 Amazon Technologies, Inc. Providing automated gift registry functionality to assist a user in purchasing an item for a recipient
US6865546B1 (en) * 2000-04-19 2005-03-08 Amazon.Com, Inc. Methods and systems of assisting users in purchasing items
CN1510612A (zh) * 2002-12-20 2004-07-07 林清吉 礼品推荐方法与系统
CN1300972C (zh) * 2003-07-14 2007-02-14 松下电器产业株式会社 时钟信号切换装置、时钟信号切换方法、数据总线切换装置及数据总线切换方法
US7647247B2 (en) * 2004-12-06 2010-01-12 International Business Machines Corporation Method and system to enhance web-based shopping collaborations
JP4650552B2 (ja) * 2008-10-14 2011-03-16 ソニー株式会社 電子機器、コンテンツ推薦方法及びプログラム
EP2224683B1 (en) * 2009-02-27 2014-02-19 BlackBerry Limited Communications system providing mobile device notification based upon personal interest information and calendar events
US20130268391A1 (en) * 2012-04-04 2013-10-10 Ebay, Inc. Smart gift list
EP2858022A4 (en) * 2012-05-28 2016-01-13 Nikon Corp ELECTRONIC DEVICE
US9299100B2 (en) * 2012-08-31 2016-03-29 Wal-Mart Stores, Inc. Determining giftability of a product based on recipient interests
CN103714472A (zh) * 2012-09-28 2014-04-09 英属盖曼群岛商博得网路科技股份有限公司 具推荐人显示及广告发布的社群购物平台及购物方法
CN105117930A (zh) * 2015-07-29 2015-12-02 百度在线网络技术(北京)有限公司 一种基于电子商务平台的推荐方法和推荐装置

Also Published As

Publication number Publication date
CN108885751A (zh) 2018-11-23
US20170255985A1 (en) 2017-09-07
EP3424006A1 (en) 2019-01-09
WO2017151465A1 (en) 2017-09-08
EP3424006A4 (en) 2019-09-11

Similar Documents

Publication Publication Date Title
US20180322552A1 (en) Lead recommendations
US20150149298A1 (en) Dynamic list creation
US20170337612A1 (en) Real-time recommendation of entities by projection and comparison in vector spaces
US20180129747A1 (en) Location-based and alter-ego queries
US20240061563A1 (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) 상이한 사이트들에 걸쳐 데이터를 채택하는 방법
KR102460293B1 (ko) 거래 피드백의 처리
US20210264507A1 (en) Interactive product review interface
KR20230029904A (ko) 제품들에 대한 비디오 콘텐츠의 생성 및 액세스
US20190354216A1 (en) Messaging system for providing multi-zone messages
US11137870B2 (en) Adjusting an interface based on a cognitive mode
US20160343049A1 (en) Smart publication listings engine
KR20180114212A (ko) 추천 엔진
US11222376B2 (en) Instant offer distribution system
US11928727B2 (en) Managing products at a physical marketplace
US20160189262A1 (en) System and method for buy through transactions
KR20230076848A (ko) 증강 현실 콘텐츠 아이템들을 생성하기 위한 템플릿들
US20160364741A1 (en) Rewarding trusted persons based on a product purchase
US20190318400A1 (en) Systems and methods for multi-directional electronic transaction arrangements

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application