Product recommendation based on detected trends
AssigneeAmazon Technologies, Inc.
InventorsMani Bhar, Amy Ruschak, Akshit Mehta, Deep Sharma
Life of this patent
Estimating the term…
Abstract
Systems and methods are provided for determining trends and products that match those trends. Trends can be identified from product information by determining product types and product attribute groupings and using time series data from a time series data service. Products can be mapped to trends by performing a textual and visual similarity matching between trends and products. A score for each product may be calculated by how many trends a product maps to in addition to user activity regarding that product. The scored products may be presented to users for purchase by trend categories or based on a general trend category.
Claims20
A system comprising:
- a memory configured to store specific computer-executable instructions;
- and
- a processor in communication with the memory and configured to execute the specific computer-executable instructions to at least:
- receive a product title or description of a product;
- determine, via an unsupervised language model, a product type of the product based at least in part on similarity between words within the product title or description and the product type;
- group, via the unsupervised language model, product attribute groupings from the product title by clustering certain words of the product title or description that are determined to be associated with a feature of the determined product type, wherein clustering words of the product title or description is based at least in part on representations of words of the product title or description in a learned embedding space;
- generate trend candidates by at least combining, for an individual trend candidate of the trend candidates, a product attribute grouping of the product attribute groupings with the determined product type as a phrase for the individual trend candidate;
- determine, using a search popularity service, one or more trends, wherein the one or more trends are determined by the specific computer-executable instructions being configured to at least:
- submit the trend candidates to the search popularity service;
- receive time series data for each of the trend candidates in response to submitting the trend candidates, wherein time series data for an individual trend candidate comprises information regarding search popularity, over a period of time, of at least one of (a) the individual trend candidate or (b) a phrase that has been associated with the individual trend candidate by the search popularity service;
- classify a trend candidate as a trend by determining that the trend candidate increased in popularity over the period of time;
- perform token level attention matching between the one or more trends and a plurality of products, wherein the token level attention matching identifies, based on a first token, a second token that scores above a threshold in probability of matching with the first token;
- identify one or more products that match the one or more trends by at least identifying textual similarity between one or more words of a title of each of the one or more products and words within at least one of the one or more trends using the token level attention matching;
- calculate, for each product of the identified one or more products, a score representing a combination of (1) relevance of the product to words within the trend and (2) user activity, wherein the user activity comprises of information regarding (i) sales over a period of time, (ii) customer ratings, or (iii) number of views over a period of time of the product;
- and
- present information regarding at least one product of the identified one or more products to a computing device based at least in part on the score of each of the identified one or more products.
A computer-implemented method comprising:
- receiving product information, wherein the product information comprises at least one of text or an image associated with a product;
- determining a product type of the product based on the product information;
- grouping product attribute groupings from the product information by clustering certain words of the product information that are determined to be associated with a feature of the determined product type, wherein clustering words of the product information is based at least in part on representations of words of the product information in a learned embedding space;
- generating trend candidates by at least combining the determined product type with product attribute groupings, wherein the product attribute groupings are grouped by clustering certain words within the product information that are determined to be associated with a feature of the determined product type;
- determining one or more trends, wherein the one or more trends are determined by:
- submitting the trend candidates to a time series data service;
- receiving, from the time series data service, time series data indicating popularity of each of the trend candidates as search criteria;
- and
- classifying a trend candidate as a trend by determining that the trend candidate has increased in popularity based on the time series data;
- performing token level attention matching between the one or more trends and a plurality of products, wherein the token level attention matching identifies, based on a first token, a second token that scores above a threshold in probability of matching with the first token;
- identifying one or more products that match the one or more trends by analyzing at least textual similarity between one or more words of a title of each of the one or more products and words within a trend based at least in part on the token level attention matching;
- calculating, for each product of the identified one or more products, a score representing a combination of (i) relevance of the product to words within the trend and (ii) user activity with respect to the product;
- and
- presenting information regarding at least one of the identified one or more products to a computing device based at least in part on the score of each of the identified one or more products.
A non-transitory computer-readable medium storing specific computer-executable instructions that, when executed by a processor, cause the processor to at least:
- receive product information, wherein the product information comprises at least one of text or an image associated with a product;
- determine a product type of the product based on the product information;
- group product attribute groupings from the product information by clustering certain words of the product information that are determined to be associated with a feature of the determined product type, wherein clustering words of the product information is based at least in part on representations of words of the product information in a learned embedding space;
- generate trend candidates by at least combining the determined product type with product attribute groupings, wherein the product attribute groupings are grouped by clustering certain words within the product information that are determined to be associated with a feature of the determined product type;
- determine one or more trends, wherein the one or more trends are determined by:
- submitting the trend candidates to a time series data service;
- receiving, from the time series data service, time series data indicating popularity of each of the trend candidates as search criteria;
- and
- classifying a trend candidate as a trend by determining that the trend candidate has increased in popularity based on the time series data;
- perform token level attention matching between the one or more trends and a plurality of products, wherein the token level attention matching identifies, based on a first token, a second token that scores above a threshold in probability of matching with the first token;
- identify one or more products that match the one or more trends by analyzing at least textual similarity between one or more words of a title of each of the one or more products and words within a trend based at least in part on the token level attention matching;
- calculate, for each product of the identified one or more products, a score representing relevance of the product to words within the trend;
- and
- present information regarding at least one of the identified one or more products to a computing device based at least in part on the score of each of the identified one or more products.
Dependencies are inferred from the claim text.