IP Library Granted Patent US 9,727,901
Granted Patent B2
US 9,727,901 · App. 13/916,886 · Granted Aug 8, 2017

Systems and methods for image-based recommendations

Inventors: Ralph Li (Taipei, TW); Evans Tseng (Taipei, TW); Brian Liu (Taipei, TW)
Assignee: YAHOO! INC.
G06Q30/0601G06F17/30G06Q30/02
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,727,901
App. No.
13/916,886
Granted
Aug 8, 2017
Kind
B2
Abstract

An image-based recommendation system provides a first set of selectable images to a user and receives user selections from the first set of images. If a user selects a single image from the first set of images, the product page associated with the selected image is transmitted to the user. If the user makes multiple selections from the first set of images, then the images associated with the user selections are analyzed and a second set of similar images is generated for transmission to the user. The process of receiving and analyzing user-selected images, generating image sets and transmission of generated images sets continues until the user selects a single image. The precision of identification of similar images can be improved by providing the user selections as training data to the image-based recommendation system.

Claims (66)

1. A method comprising:

providing, by a computing device, a plurality of images for selection to a client device of a user;

receiving, by the computing device from the client device, user selections from the plurality of images;

determining, by the computing device, a number of user selections from the plurality of images;

determining, by the computing device, if the number of user selections from the plurality of images is less than, equal to or greater than one, wherein when the determined number of user selections from the plurality of images is greater than one, an image selection procedure is executed by the computing device, the image selection procedure comprising:

extracting, by the computing device, features of the user selected images; retrieving, by the computing device, other images from a data store based upon the extracted features;

clustering, by the computing device, the other retrieved images and the user-selected images based on the extracted features;

identifying, by the computing device, at least one cluster comprising the other retrieved images and at least one of the user-selected images;

ranking, by the computing device, the images from the at least one cluster based on respective relevancies to the user-selected images;

transmitting, by the computing device, images from the at least one cluster comprising the other retrieved images and at least one of the user-selected images as similar images for selection to the user;

configuring, via the computing device, a display of the similar images based on the ranking;

when the determined number of user selections from the plurality of images is equal to one, a product selection procedure is executed by the computing device, the product selection procedure comprising:

providing, via the computing device, to the client device, details of a product associated with the user-selected image from the plurality of images;

facilitating purchase, via the computing device, of the product associated with the selected image; and

providing, by the computing device, the user-selected image from the plurality of images as training data for increasing precision of the identification of similar images, comprising:

receiving, by the computing device, the user-selected image from the plurality of images as a cluster;

determining, by the computing device, with a verified model that the precision of similarity identification is less than a predetermined threshold; and

increasing, by the computing device, the precision by providing more training data until the precision of similarity identification reaches the predetermined threshold; and

when the determined number of user selections from the plurality of images is equal to zero, providing, by the computing device, a second plurality of images for selection.

2. The method of claim 1 , wherein identifying other images further comprises:

identifying, by the computing device, the other images based on tags associated with the user-selected images and the other images.

3. The method of claim 1 , wherein the plurality of images is provided in response to a user request.

4. The method of claim 1 , wherein a SIFT (Scale Invariant Feature Transform) algorithm is used for extracting the features of the user-selected images.

5. The method of claim 1 , wherein a KNN (K nearest neighbor) algorithm is used for the clustering.

6. A computing system comprising:

at least one processor;

a non-transitory computer-readable storage medium for tangibly storing thereon program logic for execution by the processor, the program logic comprising:

providing, by the computing device, a plurality of images for selection to a client device of a user;

receiving, by the computing device from the client device, user selections from the plurality of images;

determining, by the computing device, a number of user selections from the plurality of images;

determining, by the computing device, if the number of user selections from the plurality of images is less than, equal to or greater than one, wherein when the determined number of user selections from the plurality of images is greater than one, an image selection procedure is executed by the computing device, the image selection procedure comprising:

extracting, by the computing device, features of the user selected images;

retrieving, by the computing device, other images from a data store based upon the extracted features;

clustering, by the computing device, the other retrieved images and the user-selected images based on the extracted features;

identifying, by the computing device, at least one cluster comprising the other retrieved images and at least one of the user-selected images;

ranking, by the computing device, the images from the at least one cluster based on respective relevancies to the user-selected images;

transmitting, by the computing device, images from the at least one cluster comprising the other retrieved images and at least one of the user-selected images as similar images for selection to the user;

configuring, via the computing device, a display of the similar images based on the ranking;

when the determined number of user selections from the plurality of images is equal to one, a product selection procedure is executed by the computing device, the product selection procedure comprising:

providing, via the computing device, to the client device, details of a product associated with the user-selected image from the plurality of images;

facilitating purchase, via the computing device, of the product associated with the selected image; and

providing, by the computing device, the user-selected image from the plurality of images as training data for increasing precision of the identification of similar images, comprising:

receiving, by the computing device, the user-selected image from the plurality of images as a cluster;

determining, by the computing device, with a verified model that the precision of similarity identification is less than a predetermined threshold; and

increasing, by the computing device, the precision by providing more training data until the precision of similarity identification reaches the predetermined threshold; and

when the determined number of user selections from the plurality of images is equal to zero, providing, by the computing device, a second plurality of images for selection.

7. A non-transitory computer readable storage medium tangibly encoded with computer-executable instructions, that when executed by a computing device, perform a method comprising:

providing, by the computing device, a plurality of images for selection to a client device of a user;

receiving, by the computing device from the client device, user selections from the plurality of images;

determining, by the computing device, a number of user selections from the plurality of images;

determining, by the computing device, if the number of user selections from the plurality of images is less than, equal to or greater than one, wherein when the determined number of user selections from the plurality of images is greater than one, an image selection procedure is executed by the computing device, the image selection procedure comprising:

extracting, by the computing device, features of the user selected images;

retrieving, by the computing device, other images from a data store based upon the extracted features;

clustering, by the computing device, the other retrieved images and the user-selected images based on the extracted features;

identifying, by the computing device, at least one cluster comprising the other retrieved images and at least one of the user-selected images;

ranking, by the computing device, the images from the at least one cluster based on respective relevancies to the user-selected images;

transmitting, by the computing device, images from the at least one cluster

comprising the other retrieved images and at least one of the user-selected images as similar images for selection to the user; configuring, via the computing device, a display of the similar images based on the ranking;

when the determined number of user selections from the plurality of images is equal to one, a product selection procedure is executed by the computing device, the product selection procedure comprising:

providing, via the computing device, to the client device, details of a product associated with the user-selected image from the plurality of images;

facilitating purchase, via the computing device, of the product associated with the selected image; and

providing, by the computing device, the user-selected image from the plurality of images as training data for increasing precision of the identification of similar images, comprising:

receiving, by the computing device, the user-selected image from the plurality of images as a cluster;

determining, by the computing device, with a verified model that the precision of similarity identification is less than a predetermined threshold; and

increasing, by the computing device, the precision by providing more training data until the precision of similarity identification reaches the predetermined threshold; and

when the determined number of user selections from the plurality of images is equal to zero, providing, by the computing device, a second plurality of images for selection.

Assignments (6)
PATENT SECURITY AGREEMENT (FIRST LIEN) Recorded Sep 29, 2022
From: YAHOO ASSETS LLC
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 061571/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2021
From: YAHOO AD TECH LLC (FORMERLY VERIZON MEDIA INC.)
To: YAHOO ASSETS LLC
Reel/Frame 058982/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2018
From: YAHOO HOLDINGS, INC.
To: OATH INC.
Reel/Frame 045240/0310 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2017
From: YAHOO! INC.
To: YAHOO HOLDINGS, INC.
Reel/Frame 042963/0211 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2013
From: LI, RALPH; TSENG, EVANS; LIU, BRIAN
To: YAHOO! INC.
Reel/Frame 030606/0244 →
Continuity (1)
Related Publication 20140372951A1 · Dec 18, 2014