US20120078747A1 - Recommendation system capable of adapting to user feedback - Google Patents

Recommendation system capable of adapting to user feedback Download PDF

Info

Publication number
US20120078747A1
US20120078747A1 US13/311,261 US201113311261A US2012078747A1 US 20120078747 A1 US20120078747 A1 US 20120078747A1 US 201113311261 A US201113311261 A US 201113311261A US 2012078747 A1 US2012078747 A1 US 2012078747A1
Authority
US
United States
Prior art keywords
recommendation
item
user
rule
feedback
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US13/311,261
Inventor
Kushal Chakrabarti
Brent R. Smith
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to US13/311,261 priority Critical patent/US20120078747A1/en
Publication of US20120078747A1 publication Critical patent/US20120078747A1/en
Abandoned legal-status Critical Current

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]
    • 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
    • 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/0201Market modelling; Market analysis; Collecting market data
    • 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
    • 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

Definitions

  • the present disclosure relates to recommendation systems, including recommendation systems that use recommendation rules to select items to recommend to users.
  • Some web sites and other types of interactive systems implement recommendation services for generating personalized recommendations of items stored or represented in a data repository.
  • One common application for recommendation services involves recommending products for purchase, rental, subscription, viewing or some other form of consumption.
  • some e-commerce web sites provide services for recommending products to users based on their respective purchase histories, rental histories, product viewing histories, or item ratings.
  • Recommendation services are also used to recommend web sites, news articles, users, music and video files, and other types of items.
  • Some recommendation systems operate by using collected event histories of users to generate recommendation rules that associate particular items with other items. These rules are then used to generate personalized recommendations for users. As one example, if a relatively large number of users who purchase item A also purchase item B, a recommendation rule may be generated that associates item A with item B. This rule may then be used as a basis for recommending item B to users who purchase, view, favorably rate, or otherwise express an interest in item A.
  • the recommendation system may also generate and use recommendation rules that are based on more complex associations (e.g., “users who search for X tend to view Y,” or “users who purchase A and B tend to purchase C.”).
  • low-quality recommendation rules may, for example, result from aberrational user activity over a period of time, or from limitations in the mining algorithms used to generate the recommendation rules.
  • a system for using feedback from users on specific recommendations to assess the quality of the recommendation rules used to generate such recommendations.
  • the feedback may be explicit (e.g., a user rates a particular recommended item), implicit (e.g., a user purchases a recommended item), or both.
  • the system may use these assessments to modify the degree to which particular recommendation rules are used to generate recommendations. For instance, if a particular recommendation rule leads to negative feedback relatively frequently, the system may reduce or terminate its reliance on the rule. In some embodiments, the system may also increase its reliance on recommendation rules that tend to produce positive feedback.
  • FIG. 1 illustrates a recommendation system according to one embodiment.
  • FIG. 2 illustrates a web page that enables users to provide feedback on particular item recommendations.
  • FIG. 3 illustrates a process that may be implemented by the rule assessor of FIG. 1 to evaluate the quality or performance of specific rules.
  • FIG. 4 illustrates one example of how the system of FIG. 1 may be implemented in the context of a web-based electronic catalog system.
  • FIG. 1 illustrates a recommendation system according to certain embodiments.
  • the recommendation system may, for example, be part of an interactive system, such as a web site, that enables users to browse an electronic catalog or other repository of items.
  • the items may, for example, be products available for purchase or rental, digital works (e.g., music and/or video files) available for download, news and magazine articles available for viewing, blog postings, television shows, podcasts, authors, and/or any other type of item that can be stored or represented in a database.
  • digital works e.g., music and/or video files
  • the recommendation system will be described primarily in the context of a web site that provides functionality for users to browse and make purchases from an electronic catalog; however, as will be recognized, the disclosed recommendation system and methods may also be used in numerous other environments.
  • the recommendation system includes a recommendation service 30 that generates personalized item recommendations for users using a database of recommendation rules 32 .
  • the recommendations are generated using a recommendation engine 34 .
  • the recommendation engine may, but need not, operate as described in U.S. Pat. No. 6,853,982, the disclosure of which is hereby incorporated by reference. In a large scale system, many millions of recommendation rules may be used.
  • the recommendation engine 34 applies the recommendation rules to an appropriate event history of the target user, and/or to user data derived from the user's event history.
  • the recommendations may be generated based on the target user's purchase history, explicit item ratings, rental history, wish list, rental queue, search history, browse history, geographic location, and/or any other type of data reflective of the target user's interests.
  • the item recommendations are presented to the target user via a recommendation user interface 36 that provides an option to rate each recommended item.
  • a recommendation user interface 36 One example of such a user interface is shown in FIG. 2 and is discussed below.
  • the system logs the recommendation event in a data repository 40 .
  • the logged recommendation event data may specify the recommended item, the recommendation rule or rules used to generate the recommendation, the target user, and the time/date of the recommendation.
  • each time a user rates an item via the recommendations user interface 36 the system logs the rating event in a data repository of feedback data 42 .
  • the logged event data may specify the item and user involved, the user's rating of the item, and the date/time of the feedback event. These rating events are referred to herein as explicit feedback events, as they reflect an explicit intent by the user to provide feedback.
  • a feedback event may be logged even if the user does not rate a recommended item via the recommendations user interface 36 .
  • These feedback events are referred to herein as implicit feedback events.
  • implicit feedback events For example, if a user purchases a recommended item within a defined time period after the item is recommended, the system may treat the purchase event as an implicit positive feedback event.
  • Other types of post-recommendation user actions that may be treated as positive implicit feedback events include, but are not limited to, the following: adding a recommended item to a shopping cart, wish list or rental queue; clicking through from the recommendations page to an item's detail page; submitting a textual review of a recommended item.
  • the only type of implicit feedback event recognized by the system is a positive feedback event.
  • the disclosed system and methods can be implemented using explicit feedback only, implicit feedback only, or both explicit and implicit feedback.
  • a rule assessor 50 associates the recorded feedback events with the respective recommendation events to which they correspond. This enables the system to treat a particular feedback event as a vote on the quality of the recommendation rule or rules used to generate the recommendation. As discussed below, the aggregated feedback or vote data collected over time for a given recommendation rule may be used to refine the system's reliance on that rule, so that the quality of the system's recommendations adaptively improve over time.
  • recommendation events and feedback events are shown in FIG. 1 as being logged separately from each other, this need not be the case.
  • the system may alternatively log each feedback event together with an indication of the recommendation rule or rules used to generate the corresponding recommendation.
  • appropriate logic may optionally be used to assess whether a given feedback event is likely the result of, and should thus be associated with, a particular recommendation rule. For instance, when a user provides feedback on a recommendation that is based on multiple rules, the system may, in some embodiments, refrain from associating the feedback event with one or more of these rules. To reduce ambiguity in this situation, the system may alternatively display each “reason” for the recommendation (where each reason corresponds to a particular recommendation rule, as discussed below with reference to FIG. 2 ), and may ask the user to indicate whether each such reason is good. The feedback event may then be associated only with those recommendation rules corresponding to reasons designated as “good.”
  • FIG. 2 illustrates one example of a web page of a recommendations user interface 36 that may be used to display and collect feedback on item recommendations.
  • Four item recommendations are shown, although a greater number of recommendations (e.g., 15) may be displayed on each recommendations page.
  • the first three items are displayed with a particular reason for the recommendation, and the fourth is displayed with two reasons. Each reason corresponds to a particular recommendation rule.
  • the reasons for the recommendations may alternatively be omitted (not presented to the user).
  • the user can provide explicit feedback on each recommendation by checking a “not interested” check box or an “I own it” check box, or by clicking on star to rate the item on a scale of one to five stars.
  • a rating of one star, two stars or “not interested” is treated as a negative vote on the corresponding recommendation rule(s), and a rating of “I own it,” four stars, or five stars is treated as a positive vote. Ratings of three stars may be ignored, or may be treated as positive votes.
  • While viewing the recommendations page of FIG. 2 the user can click on an item's title to view the item's detail page, and can select buttons for adding the item to a personal shopping cart or wish list. As mentioned above, some or all of these types of selection actions may be treated as (implicit) positive feedback events or votes. User actions performed after viewing the recommendations page may also be treated as implicit positive feedback, such as when a user subsequently purchases a recommended item.
  • the particular item rating options shown in FIG. 2 are merely illustrative, and numerous alternatives are possible.
  • the user may alternatively be asked whether the recommendation is useful, and given the option to respond “yes” or “no.”
  • the “yes” responses may be treated as positive votes on the corresponding recommendation rules, and the “no” responses as negative votes.
  • a “not interested” checkbox can be provided without any other explicit rating or feedback options; with this approach, selection of “not interested” may be treated as a negative vote, and a favorable action performed on the recommended item (e.g., purchasing the item) may be treated as a positive vote.
  • the feedback provided by the user may also be used to update the user's profile with information useful for generating recommendations for this user. For example, if the user rates an item favorably or indicates ownership of the item, the system may add the item to a personal “item collection” used to generate recommendations for this user.
  • item collections and recommendation rules to generate personalized recommendations is described below in the section titled “Generation and Use of Recommendation rules.”
  • the system may use the user feedback to refine the recommendation service's reliance on particular recommendation rules in any of a number of ways.
  • One particular example is depicted in FIG. 1 by the vote statistics table 52 and the block labeled “feedback-based adjuster” 54 .
  • the rule assessor 50 maintains statistics regarding the feedback on particular recommendation rules, and these statistics are used to refine the output of the recommendation engine 34 .
  • the total number of votes and the total number of positive votes may be determined for each recommendation rule for a particular window of time, such as the last day, week or month. If the ratio of positive votes to total votes for a particular recommendation rule falls below some threshold, such as 0.4, the adjuster 54 may filter out, or decrease the display rank of, any recommendations that are based on (or based solely on) that rule.
  • the display rank is the position or rank of the item in an overall recommendation set returned by the recommendation engine 34 , and may dictate whether the recommendation is seen by the user and/or how far the user must browse or scroll through the recommendation set before seeing the item.
  • the adjuster 54 may increase the display rank of the item.
  • the actual threshold or thresholds used may be based on probability distributions of the vote ratios for all rules.
  • the adjuster 54 may apply a significance test to a rule's vote data before relying on the vote ratio to refine recommendations. For example, the adjuster may disregard a recommendation rule's vote ratio unless the total number of votes for the rule exceeds some minimum, such as ten or twenty.
  • Table 1 illustrates an example dataset of recommendation and feedback events.
  • each recommendation rule is an item-to-item mapping, and each recommendation is based on a single recommendation rule.
  • the characters A, B, X and Y represent respective items.
  • the recommendation system may automatically decrease its reliance on this rule to generate recommendations. For example, the system may filter out, or lower the display rank of, recommendations that are based on this rule.
  • the feedback-based adjuster 54 may filter out recommendations, or lower the display ranks, using a probabilistic or other algorithm that ensures that particular recommendation rules will not be permanently “blacklisted.” For example, suppose a particular recommendation rule has a low positive-to-total vote ratio, such as 2/10. If the system merely filters out all recommendations that are based on this rule (or otherwise discontinues use of the rule to recommend items), no additional feedback will be collected for the rule; thus, the recommendation rule will remain blacklisted, even if the low vote ratio is the result of aberrational user activity. To avoid this scenario, the adjuster may only filter out the recommendations some percentage of the time (e.g., 90%), such that the rule's vote ratio has an opportunity to recover. A similar approach may be used for lowering the display ranks of recommended items.
  • a probabilistic or other algorithm that ensures that particular recommendation rules will not be permanently “blacklisted.” For example, suppose a particular recommendation rule has a low positive-to-total vote ratio, such as 2/10. If the system merely filters out all recommendations that are
  • the adjuster 54 may also occasionally increase the display ranks of items in the recommendation set using an algorithm that seeks to collect a statistically significant sample of feedback data for each recommendation rule. For example, in the example of Tables 1 and 2, the system may temporarily boost the display rank of recommendations based on Y ⁇ A to increase the likelihood of obtaining a statistically significant quantity of vote data for this rule.
  • more weight can be given to votes from certain types users, such as frequent users or “top 100 reviewers.” More weight can also be given, for example, to a five-star rating than to a four-star rating.
  • the feedback vote may be apportioned between these rules; for instance, if negative feedback is given on a recommendation that is based on two recommendation rules, one half of a negative vote may be counted for each recommendation rule.
  • the rule assessor 50 may periodically generate a score for each recommendation rule, and these scores may be used in place of the vote counts to determine whether/how to adjust the recommendations.
  • Another variation is to move the task of taking the aggregated feedback into consideration to the recommendation engine 34 itself. For instance, if a given recommendation rule has a significantly lower than average positive-to-total vote count ratio or score, the recommendation engine 34 may give proportionally less weight to that recommendation rule when generating personalized recommendations. This tends to reduce the frequency with which the rule is used to generate recommendations that are seen by users. With this approach, the adjuster 54 shown in FIG. 1 may be eliminated. As depicted by the dashed line in FIG. 1 , this approach may be implemented by periodically updating the rules database 32 , or some other data repository accessed by the recommendation engine 34 , with rule-specific vote statistics and/or scores.
  • the recommendation system may use any of a variety of different types of recommendation rules to generate the personalized recommendations.
  • each recommendation rule partially or fully specifies a condition to be checked, and specifies an item (or possibly a group of items) to be recommended or nominated for recommendation to users who satisfy the condition.
  • the condition may, for example, be that a particular item, set of items, event, or set of events must be present in an event history or item collection of the target user.
  • a recommendation rule may also include an optional weight value that specifies a strength of the association between the condition and the item.
  • the recommendation rules can include or consist of rules of the following form: item A ⁇ item B (0.8).
  • This rule represents an association between items A and B with a strength or weight of 0.8 on a scale of zero to one.
  • This rule may, for example, be used to select or nominate item B to recommend to a user who has purchased, indicated ownership of, or otherwise indicated an affinity for, item B.
  • the recommendation rules may be generated automatically by a recommendation rule mining component 60 that periodically analyzes aggregated event history data 62 of a large population of users (typically millions of users). These event histories may, for example, include purchase histories, item viewing histories, rental histories, item download histories, search histories, item tagging activities, or some combination thereof. For instance, if purchase histories are used, the rule item A ⁇ item B (0.8) may be generated based on an observation that a relatively large number of users who purchase item A also purchase item B. If item viewing histories are used, the rule may be generated based on an observation that a relatively large number of users who select item A for viewing also select item B for viewing during the same browsing session. Although a single mining component 60 is shown, different software modules and algorithms may be used to detect different types of associations and generate different types of rules.
  • the particular type of user behavior used to generate a recommendation rule may govern how that rule is used to generate recommendations. For example, a rule that specifies a purchase-based association between two items may be used to generate recommendations that are based on items the target user has purchased or owns. On the other hand, a rule that specifies an item-viewing based association between two items may be used to generate session-specific recommendations that are based on the items viewed by the user during the current browsing session.
  • U.S. Pat. No. 6,853,982, referenced above includes examples of algorithms that may be used to generate and use purchase-based and item-viewing-based recommendation rules in the form of item-to-item mappings.
  • Recommendation rules may also be generated based partly or wholly on content-based associations between items. For example, a content analysis component may compare the text, attributes, and/or other types of content of particular items, and create rules that associate items having similar or related content.
  • recommendation rules can be generated that are based on a combination of content-based and behavior-based associations, as described in U.S. application Ser. No. 11/424,730, filed Jun. 16, 2006, the disclosure of which is hereby incorporated by reference.
  • the recommendation engine 34 may, in some embodiments, generate recommendations based on the event history of the target user, or based on some collection of items identified from the user's event history. For example, if the recommendation rules are of the form item A ⁇ item B (w) and are derived from user purchase histories, the recommendation engine 34 may generate the recommendations based on the following collection of items, or a selected subset of these items: (a) items the target user has purchased, (b) items for which the user has indicated ownership, (c) items the user has rated, or has rated favorably.
  • the recommendations may be generated and displayed in real time based on some action of the target user, such as selection of a “view your recommendations” link.
  • multiple recommendation rules may be used in combination to generate a particular recommendation of an item. For instance, suppose the following purchase-based recommendation rules exist:
  • the adjuster 54 may adjust these scores based on the user feedback data (e.g., positive-to-total vote ratio) for the corresponding recommendation rules.
  • the weight values of particular recommendation rules may be adjusted upward or downward based on the received feedback on those rules, so that the recommendation scores will reflect the user feedback.
  • FIG. 3 illustrates one example of a process that may be used by the rule assessor 50 to compile statistical data or scores for particular recommendation rules. This process may be executed periodically (e.g., hourly, daily or weekly) to analyze the recommendation feedback data collected since the most recent iteration. The statistical data may additionally or alternatively be updated in real time as feedback events occur.
  • step 80 the logged recommendation and feedback events for the most recent time period are retrieved.
  • the length of the time period, and thus the frequency with which new feedback data is analyzed, may depend on the nature of the items involved. For instance, for products such as books and DVDs, the collected feedback data may be analyzed on a relatively infrequent basis, such as daily or weekly. For items such as news articles that are popular for much shorter periods of time, the feedback data may be analyzed more frequently, such as hourly or in real time.
  • the recommendation rules may, but need not, be re-assessed more frequently than they are regenerated by the rule mining component 60 .
  • step 82 of FIG. 3 a join operation is performed to identify those recommendation events that resulted in feedback. This step enables each feedback event to be associated with a particular recommendation rule or set of recommendation rules. As explained above, the identities of the invoked recommendation rules may alternatively be captured when the feedback events are recorded.
  • step 84 the process cycles through each joined recommendation/feedback event pair and counts the total number of votes, and the total number of positive votes, for each recommendation rule.
  • all rating events including “not interested” ratings
  • ratings of three to five stars may be treated as positive votes.
  • numerous other options are available for compiling the recorded feedback events into meaningful statistical information or scores.
  • a given feedback event need not be counted as a single vote for each of the recommendation rules involved.
  • the vote may be apportioned among the invoked recommendation rules.
  • the vote amount may be varied based on the type of the feedback event and/or based on information known about the user.
  • another option is to disregard feedback on recommendations that resulted from multiple recommendation rules; with this approach, a feedback event is counted only if it can be uniquely tied to a single recommendation rule.
  • the results (vote counts for the current time period) for each recommendation rule are persistently stored.
  • these results are combined with the results from the last N time periods to generate cumulative vote counts that are used to adjust the recommendation process. For instance, if the time period is one day, the vote totals for the most recent day's worth of feedback data may be combined with the results from the immediately preceding nineteen days to generate cumulative vote statistics for a 20-day “moving window.”
  • more weight may optionally be given to more recent results. For instance, a linear or non-linear time-based decay function may be used to weight the constituent sets of results. Rather than disregarding old data, an exponential time-based decay function may be applied to collected data from all time periods, with this approach, all of the collected feedback data is considered, but progressively older feedback data is given progressively less weight.
  • the cumulative vote totals are represented in FIG. 1 by the vote statistics table 52 . If time periods of one day are used, this table 52 may be re-generated on a daily based.
  • the various components shown in FIG. 1 can be implemented using software modules executed by one or more general purpose computers (physical machines) or servers.
  • the recommendation rule mining component 60 and the rule assessor 50 may be implemented as respective programs that are executed periodically in an off-line processing mode.
  • the recommendation service 30 may be implemented using service code that generates recommendations in real time in response to requests from other entities.
  • the recommendation user interface 36 may be implemented in a combination of executable code and web page templates.
  • the executable code of the foregoing components 30 , 36 , 50 and 60 may be stored on any type of computer storage device or medium.
  • the data repositories 32 , 40 , 42 and 62 shown in FIG. 1 may be implemented using any type or types of computer storage, and may be implemented using databases, flat files, or any other type of computer storage architecture.
  • the statistics table 52 may be cached in the volatile RAM of one or more machines of the recommendation service 30 to provide a high degree of real time performance, or may be stored on a separate machine or service.
  • FIG. 4 illustrates one particular example of how the system of FIG. 1 may be incorporated into a web-based electronic catalog system 100 that provides functionality for users to browse and make purchases from an electronic catalog of items.
  • the system shown in FIG. 4 includes one or more web server machines 104 (collectively “web server”) that generate and serve pages of a host web site in response to page requests from user computing devices 102 .
  • the web server 104 dynamically generates the requested pages using a repository of templates 110 .
  • the templates directly or indirectly specify the service calls that are made to various services to, e.g., request data needed to generate the requested page.
  • the web server 104 provides user access to a catalog of items represented in a database 108 or collection of databases.
  • the items may include or consist of items that may be purchased via the web site (e.g., book, music, and video titles in physical or downloadable form; consumer electronics products; household appliances; apparel items, magazine and other subscriptions, etc.).
  • the database 108 may also store data regarding how the items are arranged within a hierarchical browse structure. Data regarding the catalog items and the browse structure is accessible via a catalog service 106 , which may be implemented as a web service.
  • the system records various types of user-generated events, such as detail page views, shopping card adds, wish list adds, item rating events, tagging events, purchases, and/or search query submissions.
  • the event histories, and data derived from such event histories are stored in a data repository 62 (e.g., one or more databases or data services).
  • the data repository 62 may store users' purchase histories, item viewing histories, search histories, item ratings, item tags, wish lists, etc.
  • the purchase histories and item viewing histories may be stored as lists of item identifiers together with associated event timestamps.
  • the various types of user data may be accessible to other components of the system via a data service (not shown), which may be implemented as a web service.
  • the recommendation service 30 responds to requests from the web server 104 by generating and returning ranked lists of recommended items together.
  • the recommendation service 30 may identify many hundreds or thousands recommended items in response to a single request, the ranked list it returns in one embodiment contains only a selected subset of these items (i.e., the top 15 items, or the next 15 items when the user selects “more results”).
  • the web server uses these lists, together with item descriptions obtained from the catalog service 106 , to build recommendation pages of the type shown in FIG. 2 .
  • the recommendation service may also return one or more reasons for each recommendation, and the web server 104 may incorporate these reasons into the web page (as in FIG. 2 ).
  • the system logs a set of recommendation events identifying the recommended items listed on the page and the recommendation rule(s) that led to each such recommendation. This task may be performed by the recommendation service 30 , or, as depicted in FIG. 4 , by the web servers 104 .
  • the web server 104 logs a feedback event.
  • the recommendation events and feedback events may be recorded in a log file, in a relational database, or in any other type of data repository.
  • the system may detect some types of implicit feedback events by analyzing user clickstreams or event histories. For example, the event history of a particular user session may be analyzed to determine whether the user purchased a recommended item at some point after viewing a recommendation of that item. This may be accomplished using well known log analysis techniques.
  • the recorded recommendation events and feedback events are analyzed by a rule assessment component 50 .
  • the rule assessment component 50 may also take other types of data into consideration in assessing a recommendation rule, such as how frequently the rule is invoked, how frequently it is invoked in combination with another rule to make a recommendation, how long the rule has been in existence, etc.
  • the rule assessment component 50 passes rule assessment data (e.g., statistics and/or scores) to the recommendation service 30 .
  • Rule assessment data e.g., statistics and/or scores
  • the recommendation service 30 uses the rule assessment data to refine its reliance on particular recommendation rules using one or more of the methods described above.
  • the recommendation service 30 only uses the rule assessment data to filter out, or to lower the display positions of, particular recommendations.
  • the recommendation service 30 also uses the data to boost the rankings of items, and/or to cause items that would otherwise be filtered out (due to their low recommendation scores) to be presented to the user.

Abstract

A recommendation system uses feedback from users on specific item recommendations to assess the quality of the recommendation rules used to generate such recommendations. The feedback may be explicit (e.g., a user rates a particular recommended item), implicit (e.g., a user purchases a recommended item), or both. The system may use these assessments to modify the degree to which particular recommendation rules are used to generate recommendations. For instance, if a particular recommendation rule leads to negative feedback relatively frequently, the system reduce or terminate its reliance on the rule. In some embodiments, the system may also increase its reliance on recommendation rules that tend to produce positive feedback.

Description

    PRIORITY CLAIM
  • This application is a continuation of U.S. application Ser. No. 11/769,586, filed Jun. 27, 2007, the disclosure of which is hereby incorporated by reference.
  • TECHNICAL FIELD
  • The present disclosure relates to recommendation systems, including recommendation systems that use recommendation rules to select items to recommend to users.
  • BACKGROUND
  • Some web sites and other types of interactive systems implement recommendation services for generating personalized recommendations of items stored or represented in a data repository. One common application for recommendation services involves recommending products for purchase, rental, subscription, viewing or some other form of consumption. For example, some e-commerce web sites provide services for recommending products to users based on their respective purchase histories, rental histories, product viewing histories, or item ratings. Recommendation services are also used to recommend web sites, news articles, users, music and video files, and other types of items.
  • Some recommendation systems operate by using collected event histories of users to generate recommendation rules that associate particular items with other items. These rules are then used to generate personalized recommendations for users. As one example, if a relatively large number of users who purchase item A also purchase item B, a recommendation rule may be generated that associates item A with item B. This rule may then be used as a basis for recommending item B to users who purchase, view, favorably rate, or otherwise express an interest in item A. The recommendation system may also generate and use recommendation rules that are based on more complex associations (e.g., “users who search for X tend to view Y,” or “users who purchase A and B tend to purchase C.”).
  • SUMMARY OF THE DISCLOSURE
  • One problem with existing recommendation systems of the type described above is that they are susceptible to generating poor recommendations as the result of “low-quality” recommendation rules. Such low-quality recommendation rules may, for example, result from aberrational user activity over a period of time, or from limitations in the mining algorithms used to generate the recommendation rules.
  • To address this and other limitations, a system is provided for using feedback from users on specific recommendations to assess the quality of the recommendation rules used to generate such recommendations. The feedback may be explicit (e.g., a user rates a particular recommended item), implicit (e.g., a user purchases a recommended item), or both. The system may use these assessments to modify the degree to which particular recommendation rules are used to generate recommendations. For instance, if a particular recommendation rule leads to negative feedback relatively frequently, the system may reduce or terminate its reliance on the rule. In some embodiments, the system may also increase its reliance on recommendation rules that tend to produce positive feedback.
  • Neither this summary nor the following detailed description purports to define the invention. The invention is defined by the claims.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Specific embodiments will now be described with reference to the drawings, which are intended to illustrate and not limit the various features of the invention.
  • FIG. 1 illustrates a recommendation system according to one embodiment.
  • FIG. 2 illustrates a web page that enables users to provide feedback on particular item recommendations.
  • FIG. 3 illustrates a process that may be implemented by the rule assessor of FIG. 1 to evaluate the quality or performance of specific rules.
  • FIG. 4 illustrates one example of how the system of FIG. 1 may be implemented in the context of a web-based electronic catalog system.
  • DETAILED DESCRIPTION OF SPECIFIC EMBODIMENTS I. Overview (FIGS. 1 and 2)
  • FIG. 1 illustrates a recommendation system according to certain embodiments. The recommendation system, may, for example, be part of an interactive system, such as a web site, that enables users to browse an electronic catalog or other repository of items. The items may, for example, be products available for purchase or rental, digital works (e.g., music and/or video files) available for download, news and magazine articles available for viewing, blog postings, television shows, podcasts, authors, and/or any other type of item that can be stored or represented in a database. For purposes of illustration, the recommendation system will be described primarily in the context of a web site that provides functionality for users to browse and make purchases from an electronic catalog; however, as will be recognized, the disclosed recommendation system and methods may also be used in numerous other environments.
  • As illustrated in FIG. 1, the recommendation system includes a recommendation service 30 that generates personalized item recommendations for users using a database of recommendation rules 32. The recommendations are generated using a recommendation engine 34. The recommendation engine may, but need not, operate as described in U.S. Pat. No. 6,853,982, the disclosure of which is hereby incorporated by reference. In a large scale system, many millions of recommendation rules may be used.
  • To generate personalized recommendations, the recommendation engine 34 applies the recommendation rules to an appropriate event history of the target user, and/or to user data derived from the user's event history. For example, the recommendations may be generated based on the target user's purchase history, explicit item ratings, rental history, wish list, rental queue, search history, browse history, geographic location, and/or any other type of data reflective of the target user's interests. In one embodiment, the item recommendations are presented to the target user via a recommendation user interface 36 that provides an option to rate each recommended item. One example of such a user interface is shown in FIG. 2 and is discussed below.
  • Each time the recommendation service 30 recommends an item to a user, the system logs the recommendation event in a data repository 40. The logged recommendation event data may specify the recommended item, the recommendation rule or rules used to generate the recommendation, the target user, and the time/date of the recommendation. In addition, each time a user rates an item via the recommendations user interface 36, the system logs the rating event in a data repository of feedback data 42. The logged event data may specify the item and user involved, the user's rating of the item, and the date/time of the feedback event. These rating events are referred to herein as explicit feedback events, as they reflect an explicit intent by the user to provide feedback.
  • In some cases, a feedback event may be logged even if the user does not rate a recommended item via the recommendations user interface 36. These feedback events are referred to herein as implicit feedback events. For example, if a user purchases a recommended item within a defined time period after the item is recommended, the system may treat the purchase event as an implicit positive feedback event. Other types of post-recommendation user actions that may be treated as positive implicit feedback events include, but are not limited to, the following: adding a recommended item to a shopping cart, wish list or rental queue; clicking through from the recommendations page to an item's detail page; submitting a textual review of a recommended item. In one embodiment, the only type of implicit feedback event recognized by the system is a positive feedback event. As will be recognized, the disclosed system and methods can be implemented using explicit feedback only, implicit feedback only, or both explicit and implicit feedback.
  • With further reference to FIG. 1, a rule assessor 50 associates the recorded feedback events with the respective recommendation events to which they correspond. This enables the system to treat a particular feedback event as a vote on the quality of the recommendation rule or rules used to generate the recommendation. As discussed below, the aggregated feedback or vote data collected over time for a given recommendation rule may be used to refine the system's reliance on that rule, so that the quality of the system's recommendations adaptively improve over time.
  • Although the recommendation events and feedback events are shown in FIG. 1 as being logged separately from each other, this need not be the case. For example, the system may alternatively log each feedback event together with an indication of the recommendation rule or rules used to generate the corresponding recommendation.
  • Regardless of how the recommendation and feedback events are recorded, appropriate logic may optionally be used to assess whether a given feedback event is likely the result of, and should thus be associated with, a particular recommendation rule. For instance, when a user provides feedback on a recommendation that is based on multiple rules, the system may, in some embodiments, refrain from associating the feedback event with one or more of these rules. To reduce ambiguity in this situation, the system may alternatively display each “reason” for the recommendation (where each reason corresponds to a particular recommendation rule, as discussed below with reference to FIG. 2), and may ask the user to indicate whether each such reason is good. The feedback event may then be associated only with those recommendation rules corresponding to reasons designated as “good.”
  • FIG. 2 illustrates one example of a web page of a recommendations user interface 36 that may be used to display and collect feedback on item recommendations. Four item recommendations are shown, although a greater number of recommendations (e.g., 15) may be displayed on each recommendations page. The first three items are displayed with a particular reason for the recommendation, and the fourth is displayed with two reasons. Each reason corresponds to a particular recommendation rule. The reasons for the recommendations may alternatively be omitted (not presented to the user).
  • In this particular example of FIG. 2, the user can provide explicit feedback on each recommendation by checking a “not interested” check box or an “I own it” check box, or by clicking on star to rate the item on a scale of one to five stars. In one embodiment, a rating of one star, two stars or “not interested” is treated as a negative vote on the corresponding recommendation rule(s), and a rating of “I own it,” four stars, or five stars is treated as a positive vote. Ratings of three stars may be ignored, or may be treated as positive votes.
  • While viewing the recommendations page of FIG. 2, the user can click on an item's title to view the item's detail page, and can select buttons for adding the item to a personal shopping cart or wish list. As mentioned above, some or all of these types of selection actions may be treated as (implicit) positive feedback events or votes. User actions performed after viewing the recommendations page may also be treated as implicit positive feedback, such as when a user subsequently purchases a recommended item.
  • The particular item rating options shown in FIG. 2 are merely illustrative, and numerous alternatives are possible. As one example, the user may alternatively be asked whether the recommendation is useful, and given the option to respond “yes” or “no.” The “yes” responses may be treated as positive votes on the corresponding recommendation rules, and the “no” responses as negative votes. As another example, a “not interested” checkbox can be provided without any other explicit rating or feedback options; with this approach, selection of “not interested” may be treated as a negative vote, and a favorable action performed on the recommended item (e.g., purchasing the item) may be treated as a positive vote.
  • The feedback provided by the user may also be used to update the user's profile with information useful for generating recommendations for this user. For example, if the user rates an item favorably or indicates ownership of the item, the system may add the item to a personal “item collection” used to generate recommendations for this user. The use of item collections and recommendation rules to generate personalized recommendations is described below in the section titled “Generation and Use of Recommendation rules.”
  • The system may use the user feedback to refine the recommendation service's reliance on particular recommendation rules in any of a number of ways. One particular example is depicted in FIG. 1 by the vote statistics table 52 and the block labeled “feedback-based adjuster” 54. With this approach, the rule assessor 50 maintains statistics regarding the feedback on particular recommendation rules, and these statistics are used to refine the output of the recommendation engine 34.
  • As one example, the total number of votes and the total number of positive votes may be determined for each recommendation rule for a particular window of time, such as the last day, week or month. If the ratio of positive votes to total votes for a particular recommendation rule falls below some threshold, such as 0.4, the adjuster 54 may filter out, or decrease the display rank of, any recommendations that are based on (or based solely on) that rule. (The display rank is the position or rank of the item in an overall recommendation set returned by the recommendation engine 34, and may dictate whether the recommendation is seen by the user and/or how far the user must browse or scroll through the recommendation set before seeing the item.) On the other hand, if the ratio is unusually high (e.g., greater than 0.8), the adjuster 54 may increase the display rank of the item. The actual threshold or thresholds used may be based on probability distributions of the vote ratios for all rules.
  • The adjuster 54 may apply a significance test to a rule's vote data before relying on the vote ratio to refine recommendations. For example, the adjuster may disregard a recommendation rule's vote ratio unless the total number of votes for the rule exceeds some minimum, such as ten or twenty.
  • Table 1 illustrates an example dataset of recommendation and feedback events. In this basic example, each recommendation rule is an item-to-item mapping, and each recommendation is based on a single recommendation rule. The characters A, B, X and Y represent respective items.
  • TABLE 1
    Recommendation rule
    User (reason for recommendation) Feedback
    1 X → A Positive
    1 X → B (none)
    2 Y → A Negative
    3 Y → A (none)
    4 X → A Negative
    5 X → A Negative
  • Applying the vote-tallying approach described above produces the vote totals shown in Table 2. No entry appears in Table 2 for X→B because this recommendation rule did not receive any feedback.
  • TABLE 2
    Recommendation Positive Negative
    Rule Votes Votes
    X → A 1 2
    Y → A 0 1
  • In this example, it is assumed that a total vote count of three is required before the system relies on the vote/feedback data for a given rule. Because the total vote count for Y→A does not meet this threshold, the system does not use the rule's vote data to adjust the system's reliance on the rule.
  • For X→A, the total vote count meets the minimum threshold of three. Because the ratio of positive votes to total votes for this rule is relatively low (0.333), the recommendation system may automatically decrease its reliance on this rule to generate recommendations. For example, the system may filter out, or lower the display rank of, recommendations that are based on this rule.
  • The feedback-based adjuster 54 may filter out recommendations, or lower the display ranks, using a probabilistic or other algorithm that ensures that particular recommendation rules will not be permanently “blacklisted.” For example, suppose a particular recommendation rule has a low positive-to-total vote ratio, such as 2/10. If the system merely filters out all recommendations that are based on this rule (or otherwise discontinues use of the rule to recommend items), no additional feedback will be collected for the rule; thus, the recommendation rule will remain blacklisted, even if the low vote ratio is the result of aberrational user activity. To avoid this scenario, the adjuster may only filter out the recommendations some percentage of the time (e.g., 90%), such that the rule's vote ratio has an opportunity to recover. A similar approach may be used for lowering the display ranks of recommended items.
  • The adjuster 54 may also occasionally increase the display ranks of items in the recommendation set using an algorithm that seeks to collect a statistically significant sample of feedback data for each recommendation rule. For example, in the example of Tables 1 and 2, the system may temporarily boost the display rank of recommendations based on Y→A to increase the likelihood of obtaining a statistically significant quantity of vote data for this rule.
  • Numerous variations to the particular implementation shown in FIG. 1 are possible. For instance, rather than counting all votes equally, more weight can be given to votes from certain types users, such as frequent users or “top 100 reviewers.” More weight can also be given, for example, to a five-star rating than to a four-star rating. As another example, when a given recommendation is based on multiple recommendation rules, the feedback vote may be apportioned between these rules; for instance, if negative feedback is given on a recommendation that is based on two recommendation rules, one half of a negative vote may be counted for each recommendation rule. As yet another example, the rule assessor 50 may periodically generate a score for each recommendation rule, and these scores may be used in place of the vote counts to determine whether/how to adjust the recommendations.
  • Another variation is to move the task of taking the aggregated feedback into consideration to the recommendation engine 34 itself. For instance, if a given recommendation rule has a significantly lower than average positive-to-total vote count ratio or score, the recommendation engine 34 may give proportionally less weight to that recommendation rule when generating personalized recommendations. This tends to reduce the frequency with which the rule is used to generate recommendations that are seen by users. With this approach, the adjuster 54 shown in FIG. 1 may be eliminated. As depicted by the dashed line in FIG. 1, this approach may be implemented by periodically updating the rules database 32, or some other data repository accessed by the recommendation engine 34, with rule-specific vote statistics and/or scores.
  • II. Generation and Use of Recommendation Rules
  • The recommendation system may use any of a variety of different types of recommendation rules to generate the personalized recommendations. Typically, each recommendation rule partially or fully specifies a condition to be checked, and specifies an item (or possibly a group of items) to be recommended or nominated for recommendation to users who satisfy the condition. The condition may, for example, be that a particular item, set of items, event, or set of events must be present in an event history or item collection of the target user. A recommendation rule may also include an optional weight value that specifies a strength of the association between the condition and the item.
  • As one example, the recommendation rules can include or consist of rules of the following form: item A→item B (0.8). This rule represents an association between items A and B with a strength or weight of 0.8 on a scale of zero to one. (Rules of this type are sometimes referred to as “item-to-item mappings,” “item similarities,” or “item-to-item similarity mappings.”) This rule may, for example, be used to select or nominate item B to recommend to a user who has purchased, indicated ownership of, or otherwise indicated an affinity for, item B. Methods for generating and using this type of recommendation rule are described in U.S. Pat. Nos. 6,266,649 and 6,853,982.
  • As depicted in FIG. 1, the recommendation rules may be generated automatically by a recommendation rule mining component 60 that periodically analyzes aggregated event history data 62 of a large population of users (typically millions of users). These event histories may, for example, include purchase histories, item viewing histories, rental histories, item download histories, search histories, item tagging activities, or some combination thereof. For instance, if purchase histories are used, the rule item A→item B (0.8) may be generated based on an observation that a relatively large number of users who purchase item A also purchase item B. If item viewing histories are used, the rule may be generated based on an observation that a relatively large number of users who select item A for viewing also select item B for viewing during the same browsing session. Although a single mining component 60 is shown, different software modules and algorithms may be used to detect different types of associations and generate different types of rules.
  • The particular type of user behavior used to generate a recommendation rule may govern how that rule is used to generate recommendations. For example, a rule that specifies a purchase-based association between two items may be used to generate recommendations that are based on items the target user has purchased or owns. On the other hand, a rule that specifies an item-viewing based association between two items may be used to generate session-specific recommendations that are based on the items viewed by the user during the current browsing session. U.S. Pat. No. 6,853,982, referenced above, includes examples of algorithms that may be used to generate and use purchase-based and item-viewing-based recommendation rules in the form of item-to-item mappings.
  • The following are examples of other types of recommendation rules that may be mined from collected behavioral data and used to generate recommendations.
      • {A and B}→C. This type of rule associates a pair of items with a target item. If the rule is derived from user purchase histories (meaning that users who purchase both A and B also tend to purchase C), it may be used to nominate C for recommendation to a user who has purchased both A and B. Recommendation rules of this type may be generated using various known methods, including but not limited to those described in U.S. Pat. Pub. 2006/0106665.
      • Time-ordered purchases with delay. This type of rule specifies that users who purchase a first item tend to purchase a second item after a designated amount of time. For example, the rule mining component 60 may detect that a relatively large number of users who purchase a particular printer also purchase a particular replacement ink cartridge three to five months later. Based on this observation, a recommendation rule may be generated that causes the ink cartridge to be recommended (or nominated for recommendation) to any user who both (a) has purchased the printer three to five months ago and (b) has not yet purchased the ink cartridge. This type of rule is also useful for recommending books and videos that are sequels. Examples of data mining methods that may be used to generate this type of recommendation rule are described in application Ser. No. 10/945,547, filed Sep. 20, 2004, the disclosure of which is hereby incorporated by reference.
      • Search-based rules. This type of recommendation rule associates a particular search query with a particular item. Such a rule may be generated based on an observed tendency of users who submit the search query to select the item for viewing, purchase, rental, or some other purpose. This type of rule may be used to generate personalized recommendations that are based on the target user's search history. Examples of data mining methods that may be used to generate associations between particular search queries and particular items are described in U.S. application Ser. No. 10/966,827, filed Oct. 15, 2004, the disclosure of which is hereby incorporated by reference.
      • Source event type, item A→target event type, item B. This type of rule associates two items based on two different types of item-related events. As one example, the rule “view item A→purchase item B” may be generated to reflect that a large percentage of those who view item A thereafter purchase item B. Examples of event types that may be used as source and target events include, but are not limited to, the following: purchase, view, rent, review, rate, rate favorably, add to cart, add to wish list, add to rental queue, save to library, tag, forward, print. This type of rule may be used to recommend item B for purposes of event type B to a user who has performed event type A on item A. Examples of data mining methods that may be used to generate this type of recommendation rule are described in U.S. application Ser. No. 10/864,288, filed Jun. 9, 2004, the disclosure of which is hereby incorporated by reference.
      • Email domain based rule. This type of recommendation rule associates a particular email address domain with a particular item or set of items. These rules may be generated by analyzing user purchase histories, or another type of item-related event history, to identify items that are unusually or uniquely popular among users having particular domain names in their email addresses. For example, if a particular book is significantly more popular among users with “microsoft.com” in their email addresses than in a more general user population, a recommendation rule may be created that links the “microsoft.com” domain to this particular book. (In this example, the association reveals that the book is likely unusually popular among Microsoft employees.) The rule may then be used to recommend the book to users who have this domain name in their email addresses. Examples of statistical methods that may be used to create these types of rules are described in U.S. Pat. No. 6,963,850, the disclosure of which is hereby incorporated by reference.
      • Geography-based rules. This type of recommendation rule is similar to an email domain based recommendation rule, but associates a particular zip code, city, or other geographic identifier with a particular item. This type of rule may be generated by analyzing user event histories (e.g., purchase histories) in conjunction with users' shipping addresses to identify items that are unusually popular in specific geographic regions. Such a rule may be used to select items to recommend to users having mailing addresses falling in these geographic regions. Examples of statistical methods that may be used to create these types of rules are described in U.S. Pat. No. 6,963,850, referenced above.
  • Recommendation rules may also be generated based partly or wholly on content-based associations between items. For example, a content analysis component may compare the text, attributes, and/or other types of content of particular items, and create rules that associate items having similar or related content. In addition, recommendation rules can be generated that are based on a combination of content-based and behavior-based associations, as described in U.S. application Ser. No. 11/424,730, filed Jun. 16, 2006, the disclosure of which is hereby incorporated by reference.
  • The foregoing are merely examples. Numerous other types of recommendation rules can be used, and can be assessed using the feedback methods described above.
  • As depicted in FIG. 1, the recommendation engine 34 may, in some embodiments, generate recommendations based on the event history of the target user, or based on some collection of items identified from the user's event history. For example, if the recommendation rules are of the form item A→item B (w) and are derived from user purchase histories, the recommendation engine 34 may generate the recommendations based on the following collection of items, or a selected subset of these items: (a) items the target user has purchased, (b) items for which the user has indicated ownership, (c) items the user has rated, or has rated favorably. The recommendations may be generated and displayed in real time based on some action of the target user, such as selection of a “view your recommendations” link.
  • As mentioned above, multiple recommendation rules may be used in combination to generate a particular recommendation of an item. For instance, suppose the following purchase-based recommendation rules exist:
      • item 1234→item 5678 (0.3)
      • item 2345→item 5678 (0.6)
        If the target user has purchased both item 1234 and item 2345, both of these rules may be invoked in combination to nominate or select item 5678 for recommendation. In this situation, the weights associated with these two rules may be appropriately combined (e.g., added) to generate a recommendation score for the recommendation of item 5678. (The weights themselves may be used as the recommendation scores where only one rule is invoked.) The recommendation scores may be used to rank all of the nominated items relative to one another for purposes of display, and/or to filter out (inhibit recommendations of) items having low recommendation scores.
  • Where recommendation scores are generated as described above, the adjuster 54 may adjust these scores based on the user feedback data (e.g., positive-to-total vote ratio) for the corresponding recommendation rules. Alternatively, the weight values of particular recommendation rules may be adjusted upward or downward based on the received feedback on those rules, so that the recommendation scores will reflect the user feedback.
  • III. Assessment of Recommendation Rules (FIG. 3)
  • FIG. 3 illustrates one example of a process that may be used by the rule assessor 50 to compile statistical data or scores for particular recommendation rules. This process may be executed periodically (e.g., hourly, daily or weekly) to analyze the recommendation feedback data collected since the most recent iteration. The statistical data may additionally or alternatively be updated in real time as feedback events occur.
  • In step 80, the logged recommendation and feedback events for the most recent time period are retrieved. The length of the time period, and thus the frequency with which new feedback data is analyzed, may depend on the nature of the items involved. For instance, for products such as books and DVDs, the collected feedback data may be analyzed on a relatively infrequent basis, such as daily or weekly. For items such as news articles that are popular for much shorter periods of time, the feedback data may be analyzed more frequently, such as hourly or in real time. The recommendation rules may, but need not, be re-assessed more frequently than they are regenerated by the rule mining component 60.
  • In step 82 of FIG. 3, a join operation is performed to identify those recommendation events that resulted in feedback. This step enables each feedback event to be associated with a particular recommendation rule or set of recommendation rules. As explained above, the identities of the invoked recommendation rules may alternatively be captured when the feedback events are recorded.
  • In step 84, the process cycles through each joined recommendation/feedback event pair and counts the total number of votes, and the total number of positive votes, for each recommendation rule. As explained above, if the recommendation interface of FIG. 2 is used, all rating events (including “not interested” ratings) may be treated as votes, and ratings of three to five stars may be treated as positive votes. As will be apparent, numerous other options are available for compiling the recorded feedback events into meaningful statistical information or scores.
  • As further explained above, a given feedback event need not be counted as a single vote for each of the recommendation rules involved. For example, the vote may be apportioned among the invoked recommendation rules. As another example, the vote amount may be varied based on the type of the feedback event and/or based on information known about the user. As mentioned above, another option is to disregard feedback on recommendations that resulted from multiple recommendation rules; with this approach, a feedback event is counted only if it can be uniquely tied to a single recommendation rule.
  • In step 86, the results (vote counts for the current time period) for each recommendation rule are persistently stored. In addition, these results are combined with the results from the last N time periods to generate cumulative vote counts that are used to adjust the recommendation process. For instance, if the time period is one day, the vote totals for the most recent day's worth of feedback data may be combined with the results from the immediately preceding nineteen days to generate cumulative vote statistics for a 20-day “moving window.” In combining the results for multiple consecutive time periods, more weight may optionally be given to more recent results. For instance, a linear or non-linear time-based decay function may be used to weight the constituent sets of results. Rather than disregarding old data, an exponential time-based decay function may be applied to collected data from all time periods, with this approach, all of the collected feedback data is considered, but progressively older feedback data is given progressively less weight.
  • The cumulative vote totals are represented in FIG. 1 by the vote statistics table 52. If time periods of one day are used, this table 52 may be re-generated on a daily based.
  • IV. Example System Architecture (FIGS. 1 and 4)
  • The various components shown in FIG. 1 can be implemented using software modules executed by one or more general purpose computers (physical machines) or servers. The recommendation rule mining component 60 and the rule assessor 50 may be implemented as respective programs that are executed periodically in an off-line processing mode. The recommendation service 30 may be implemented using service code that generates recommendations in real time in response to requests from other entities. The recommendation user interface 36 may be implemented in a combination of executable code and web page templates. The executable code of the foregoing components 30, 36, 50 and 60 may be stored on any type of computer storage device or medium.
  • The data repositories 32, 40, 42 and 62 shown in FIG. 1 may be implemented using any type or types of computer storage, and may be implemented using databases, flat files, or any other type of computer storage architecture. The statistics table 52 may be cached in the volatile RAM of one or more machines of the recommendation service 30 to provide a high degree of real time performance, or may be stored on a separate machine or service.
  • FIG. 4 illustrates one particular example of how the system of FIG. 1 may be incorporated into a web-based electronic catalog system 100 that provides functionality for users to browse and make purchases from an electronic catalog of items. The system shown in FIG. 4 includes one or more web server machines 104 (collectively “web server”) that generate and serve pages of a host web site in response to page requests from user computing devices 102. The web server 104 dynamically generates the requested pages using a repository of templates 110. The templates directly or indirectly specify the service calls that are made to various services to, e.g., request data needed to generate the requested page.
  • The web server 104 provides user access to a catalog of items represented in a database 108 or collection of databases. The items may include or consist of items that may be purchased via the web site (e.g., book, music, and video titles in physical or downloadable form; consumer electronics products; household appliances; apparel items, magazine and other subscriptions, etc.). The database 108 may also store data regarding how the items are arranged within a hierarchical browse structure. Data regarding the catalog items and the browse structure is accessible via a catalog service 106, which may be implemented as a web service.
  • As users browse and make purchases from the electronic catalog, the system records various types of user-generated events, such as detail page views, shopping card adds, wish list adds, item rating events, tagging events, purchases, and/or search query submissions. As illustrated in FIG. 4, the event histories, and data derived from such event histories, are stored in a data repository 62 (e.g., one or more databases or data services). For example, the data repository 62 may store users' purchase histories, item viewing histories, search histories, item ratings, item tags, wish lists, etc. The purchase histories and item viewing histories may be stored as lists of item identifiers together with associated event timestamps. The various types of user data may be accessible to other components of the system via a data service (not shown), which may be implemented as a web service.
  • With further reference to FIG. 4, the recommendation service 30 responds to requests from the web server 104 by generating and returning ranked lists of recommended items together. Although the recommendation service 30 may identify many hundreds or thousands recommended items in response to a single request, the ranked list it returns in one embodiment contains only a selected subset of these items (i.e., the top 15 items, or the next 15 items when the user selects “more results”). The web server uses these lists, together with item descriptions obtained from the catalog service 106, to build recommendation pages of the type shown in FIG. 2. In some embodiments, the recommendation service may also return one or more reasons for each recommendation, and the web server 104 may incorporate these reasons into the web page (as in FIG. 2).
  • Each time a recommendation page is generated and returned, the system logs a set of recommendation events identifying the recommended items listed on the page and the recommendation rule(s) that led to each such recommendation. This task may be performed by the recommendation service 30, or, as depicted in FIG. 4, by the web servers 104. In addition, each time a user provides feedback on a recommendation, the web server 104 logs a feedback event. The recommendation events and feedback events may be recorded in a log file, in a relational database, or in any other type of data repository.
  • In embodiments that take implicit feedback into consideration, the system may detect some types of implicit feedback events by analyzing user clickstreams or event histories. For example, the event history of a particular user session may be analyzed to determine whether the user purchased a recommended item at some point after viewing a recommendation of that item. This may be accomplished using well known log analysis techniques.
  • As illustrated in FIG. 4, the recorded recommendation events and feedback events are analyzed by a rule assessment component 50. In some embodiments, the rule assessment component 50 may also take other types of data into consideration in assessing a recommendation rule, such as how frequently the rule is invoked, how frequently it is invoked in combination with another rule to make a recommendation, how long the rule has been in existence, etc.
  • The rule assessment component 50 passes rule assessment data (e.g., statistics and/or scores) to the recommendation service 30. The recommendation service 30 uses the rule assessment data to refine its reliance on particular recommendation rules using one or more of the methods described above. In one embodiment, the recommendation service 30 only uses the rule assessment data to filter out, or to lower the display positions of, particular recommendations. In another embodiment, the recommendation service 30 also uses the data to boost the rankings of items, and/or to cause items that would otherwise be filtered out (due to their low recommendation scores) to be presented to the user.
  • V. Conclusion
  • Each of the processes and algorithms described in the preceding sections may be embodied in, and fully automated by, code modules executed by one or more computers or computer processors. The code modules may be stored on any type of computer-readable medium or computer storage device. The processes and algorithms may also be implemented partially or wholly in application-specific circuitry. The results of the disclosed processes and process steps may be stored, persistently or otherwise, in any type of computer storage.
  • The foregoing description is intended to illustrate specific embodiments of the invention, and not to define or limit the invention. Thus, nothing in the foregoing description should be construed to imply that any particular feature or component is essential to the invention. The invention is defined by the claims, which are intended to be construed without reference to any definitions that may be explicitly or implicitly included in any incorporated-by-reference materials.

Claims (22)

1. A recommendation system, comprising:
a first computer data repository of recommendation rules;
a recommendation engine configured to use the recommendation rules, in combination with data regarding item selections of users, to select items to recommend to the users;
a server configured to provide a recommendation user interface for the users to view item recommendations generated with the recommendation engine, said recommendation user interface including functionality for users to provide explicit feedback on particular item recommendations;
a second computer data repository that records the explicit feedback in association with the recommendation rules to which such feedback corresponds; and
a feedback-based adjuster that adjusts personalized recommendation sets generated by the recommendation engine based on the recorded feedback.
2. The recommendation system of claim 1, wherein the second computer data repository stores, for a first recommendation rule, statistical data regarding the feedback provided by users on item recommendations generated with the first recommendation rule.
3. The recommendation system of claim 2, wherein the feedback-based adjuster is configured to use the statistical data to determine whether to modify a ranking of an item recommendation generated with the first recommendation rule.
4. A method for adaptively using recommendation rules to generate recommendations of items, the method comprising:
identifying a first item selected by a user;
selecting, by a recommendation service, a second item to recommend to the user based at least partly on (a) the user's selection of the first item, and (b) a recommendation rule that associates the first item with the second item;
outputting a recommendation of the second item to the user via a user interface that provides an option for the user to provide explicit feedback on the recommendation;
recording, in association with the recommendation rule, the user's explicit feedback on the recommendation of the second item;
generating a score that represents a level at which the recommendation rule has performed, said score based on the explicit feedback provided by the user, and based additionally explicit feedback provided by other users on other recommendations generated using the recommendation rule; and
based at least partly on the score, modifying the recommendation service's use of the recommendation rule to provide recommendations to users;
said method performed by a computing system that comprises one or more computing devices.
5. The method of claim 4, wherein the user interface is a personalized recommendations page that displays a plurality of items selected by the recommendation service to recommend to the user, said personalized recommendations page providing an option for the user to explicitly rate each of the plurality of items.
6. The method of claim 4, wherein the explicit feedback is a rating assigned to the second item by the user via a personalized recommendations page.
7. The method of claim 4, wherein outputting the recommendation of the second item comprises outputting to the user an indication that the recommendation of the second item is based on the user's selection of the first item.
8. The method of claim 4, wherein modifying the recommendation service's use of the recommendation rule comprises, based on the score, adjusting a display rank of the second item within a set of personalized item recommendations generated for the user.
9. The method of claim 4, wherein modifying the recommendation service's use of the recommendation rule comprises inhibiting the recommendation rule from being used to recommend the second item to users.
10. The method of claim 4, wherein the score is based additionally on implicit feedback provided by users on recommendations generated by the recommendations service with the recommendation rule.
11. The method of claim 4, wherein the recommendation rule includes a weight value representing a strength of an association between the first and second items, said weight value being distinct from the score.
12. The method of claim 4, wherein the recommendation is based additionally on a second recommendation rule that associates a third item with the second item, and the method further comprises recording the user's explicit feedback on the recommendation in association with the second recommendation rule.
13. The method of claim 4, wherein recording the explicit feedback in association with the recommendation rule comprises generating a record specifying that the explicit feedback resulted from an item recommendation generated with the recommendation rule.
14. Non-transitory computer storage that stores executable program instructions that direct a computing system to perform a process that comprises:
identifying a first item selected by a user;
selecting a second item to recommend to the user based at least partly on (a) the user's selection of the first item, and (b) a recommendation rule that associates the first item with the second item;
outputting a recommendation of the second item to the user via a user interface that provides an option for the user to provide explicit feedback on the recommendation;
recording, in association with the recommendation rule, the user's explicit feedback on the recommendation of the second item;
generating a score that represents a level at which the recommendation rule has performed, said score based on the explicit feedback provided by the user, and based additionally on explicit feedback provided by other users on other recommendations generated using the recommendation rule; and
based at least partly on the score, modifying use of the recommendation rule to provide recommendations to users.
15. The non-transitory computer storage of claim 14, wherein modifying use of the recommendation rule comprises adjusting, based on the score, a rank of the second item within a set of personalized item recommendations.
16. The non-transitory computer storage of claim 14, in combination with the computing system, wherein the computing system is programmed with the executable program instructions to perform the process.
17. A method of providing item recommendations that depend on collective user feedback, the method comprising:
receiving a personalized recommendation set from a recommendation engine, said personalized recommendation set specifying a plurality of items selected to recommend to a user, and specifying a ranking of said items, said recommendation set generated by the recommendation engine based on item preference information of the user and based additionally on recommendation rules;
identifying, in connection with the personalized recommendation set, a recommendation rule used by the recommendation engine to select a first item of said plurality of items;
determining a score for the recommendation rule, said score representing a level at which the recommendation rule has performed as determined based on feedback provided by users on item recommendations generated with the recommendation rule; and
adjusting a ranking of the first item in the personalized recommendation set based at least partly on the score;
said method performed by a computing system that comprises one or more computing devices.
18. The method of claim 17, wherein the feedback comprises ratings explicitly assigned by users to particular recommended items via a recommendation interface.
19. The method of claim 17, wherein the recommendation rule comprises an item-to-item association mapping.
20. Non-transitory computer storage that stores executable program instructions that direct a computing system to perform a process that comprises:
receiving a personalized recommendation set from a recommendation engine, said personalized recommendation set specifying a plurality of items selected to recommend to a user, and specifying a ranking of said items, said recommendation set generated by the recommendation engine based, at least in part, on item preference information of the user and recommendation rules that specify associations between particular items;
identifying a recommendation rule used by the recommendation engine to select a first item of said plurality of items;
determining a score for the recommendation rule, said score representing a performance level of the recommendation rule based on feedback provided by users on item recommendations generated with the recommendation rule; and
adjusting a ranking of the first item in the personalized recommendation set based at least partly on the score.
21. The non-transitory computer storage of claim 20, wherein the feedback comprises ratings explicitly assigned by the users to particular recommended items via a recommendation interface.
22. The non-transitory computer storage of claim 20, in combination with the computing system, wherein the computing system is programmed with the executable program instructions to perform the process.
US13/311,261 2007-06-27 2011-12-05 Recommendation system capable of adapting to user feedback Abandoned US20120078747A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/311,261 US20120078747A1 (en) 2007-06-27 2011-12-05 Recommendation system capable of adapting to user feedback

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/769,586 US8090621B1 (en) 2007-06-27 2007-06-27 Method and system for associating feedback with recommendation rules
US13/311,261 US20120078747A1 (en) 2007-06-27 2011-12-05 Recommendation system capable of adapting to user feedback

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/769,586 Continuation US8090621B1 (en) 2007-06-27 2007-06-27 Method and system for associating feedback with recommendation rules

Publications (1)

Publication Number Publication Date
US20120078747A1 true US20120078747A1 (en) 2012-03-29

Family

ID=45374646

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/769,586 Expired - Fee Related US8090621B1 (en) 2007-06-27 2007-06-27 Method and system for associating feedback with recommendation rules
US13/311,261 Abandoned US20120078747A1 (en) 2007-06-27 2011-12-05 Recommendation system capable of adapting to user feedback

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/769,586 Expired - Fee Related US8090621B1 (en) 2007-06-27 2007-06-27 Method and system for associating feedback with recommendation rules

Country Status (1)

Country Link
US (2) US8090621B1 (en)

Cited By (134)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090006374A1 (en) * 2007-06-29 2009-01-01 Kim Sung H Recommendation system with multiple integrated recommenders
US20120030228A1 (en) * 2010-02-03 2012-02-02 Glomantra Inc. Method and system for need fulfillment
US20120036137A1 (en) * 2010-02-03 2012-02-09 Glomantra Inc. Method and system for providing actionable relevant recommendations
US20130041774A1 (en) * 2010-03-30 2013-02-14 Rakuten, Inc. Product recommendation device, product recommendation method, program, and recording medium
US20130198007A1 (en) * 2008-05-06 2013-08-01 Richrelevance, Inc. System and process for improving product recommendations for use in providing personalized advertisements to retail customers
US20140067578A1 (en) * 2012-08-30 2014-03-06 International Business Machines Corporation Listing a candidate service in a service catalog
US20140188866A1 (en) * 2012-12-31 2014-07-03 Microsoft Corporation Recommendation engine based on conditioned profiles
US20150046479A1 (en) * 2013-08-08 2015-02-12 Vidmind Ltd. Collaborative filtering recommendations using implicit user actions
US20150120722A1 (en) * 2013-10-31 2015-04-30 Telefonica Digital Espana, S.L.U. Method and system for providing multimedia content recommendations
US20150193789A1 (en) * 2014-01-03 2015-07-09 Mastercard International Incorporated Method and system for personalized news recommendations based on purchase behavior
JP2015166932A (en) * 2014-03-03 2015-09-24 東芝テック株式会社 shopping support device and program
US20150269647A1 (en) * 2014-03-24 2015-09-24 Salesforce.Com, Inc. Bulk contact recommendations based on attribute purchase history
US20160125501A1 (en) * 2014-11-04 2016-05-05 Philippe Nemery Preference-elicitation framework for real-time personalized recommendation
US20170185375A1 (en) * 2015-12-23 2017-06-29 Apple Inc. Proactive assistance based on dialog communication between devices
US20170256265A1 (en) * 2012-04-16 2017-09-07 Htc Corporation Method for offering suggestion during conversation, electronic device using the same, and non-transitory storage medium
JP2017191614A (en) * 2017-06-21 2017-10-19 東芝テック株式会社 Information processing apparatus and program
CN109658296A (en) * 2018-08-31 2019-04-19 北京沃达新创国际教育科技有限公司 A kind of intelligence service for studying abroad platform
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US10354652B2 (en) 2015-12-02 2019-07-16 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10390213B2 (en) 2014-09-30 2019-08-20 Apple Inc. Social reminders
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
US10403283B1 (en) 2018-06-01 2019-09-03 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US10417344B2 (en) 2014-05-30 2019-09-17 Apple Inc. Exemplar-based natural language processing
US10417405B2 (en) 2011-03-21 2019-09-17 Apple Inc. Device access using voice authentication
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
CN110309417A (en) * 2018-04-13 2019-10-08 腾讯科技(深圳)有限公司 The Weight Determination and device of evaluation points
US10438595B2 (en) 2014-09-30 2019-10-08 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10453443B2 (en) 2014-09-30 2019-10-22 Apple Inc. Providing an indication of the suitability of speech recognition
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10496705B1 (en) 2018-06-03 2019-12-03 Apple Inc. Accelerated task performance
US10497365B2 (en) 2014-05-30 2019-12-03 Apple Inc. Multi-command single utterance input method
US10509827B1 (en) * 2012-02-15 2019-12-17 Google Llc Allowing users to categorize and visualize content recommendations
US10529332B2 (en) 2015-03-08 2020-01-07 Apple Inc. Virtual assistant activation
US10553215B2 (en) 2016-09-23 2020-02-04 Apple Inc. Intelligent automated assistant
US10580409B2 (en) 2016-06-11 2020-03-03 Apple Inc. Application integration with a digital assistant
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10657966B2 (en) 2014-05-30 2020-05-19 Apple Inc. Better resolution when referencing to concepts
US10657580B2 (en) * 2017-01-27 2020-05-19 Walmart Apollo, Llc System for improving in-store picking performance and experience by optimizing tote-fill and order batching of items in retail store and method of using same
US10657961B2 (en) 2013-06-08 2020-05-19 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10681212B2 (en) 2015-06-05 2020-06-09 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10684703B2 (en) 2018-06-01 2020-06-16 Apple Inc. Attention aware virtual assistant dismissal
US10692504B2 (en) 2010-02-25 2020-06-23 Apple Inc. User profiling for voice input processing
US10699717B2 (en) 2014-05-30 2020-06-30 Apple Inc. Intelligent assistant for home automation
US10714117B2 (en) 2013-02-07 2020-07-14 Apple Inc. Voice trigger for a digital assistant
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
US10733993B2 (en) 2016-06-10 2020-08-04 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10741185B2 (en) 2010-01-18 2020-08-11 Apple Inc. Intelligent automated assistant
US10741181B2 (en) 2017-05-09 2020-08-11 Apple Inc. User interface for correcting recognition errors
US10748546B2 (en) 2017-05-16 2020-08-18 Apple Inc. Digital assistant services based on device capabilities
US10769385B2 (en) 2013-06-09 2020-09-08 Apple Inc. System and method for inferring user intent from speech inputs
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10795952B2 (en) 2017-01-05 2020-10-06 Microsoft Technology Licensing, Llc Identification of documents based on location, usage patterns and content
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
JP2020181278A (en) * 2019-04-24 2020-11-05 株式会社Zozoテクノロジーズ Fashion recommendation server, fashion recommendation system, fashion recommendation method, and fashion recommendation program
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US10909171B2 (en) 2017-05-16 2021-02-02 Apple Inc. Intelligent automated assistant for media exploration
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US10930282B2 (en) 2015-03-08 2021-02-23 Apple Inc. Competing devices responding to voice triggers
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10942702B2 (en) 2016-06-11 2021-03-09 Apple Inc. Intelligent device arbitration and control
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
US11010127B2 (en) 2015-06-29 2021-05-18 Apple Inc. Virtual assistant for media playback
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11048473B2 (en) 2013-06-09 2021-06-29 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US11069347B2 (en) 2016-06-08 2021-07-20 Apple Inc. Intelligent automated assistant for media exploration
US11069336B2 (en) 2012-03-02 2021-07-20 Apple Inc. Systems and methods for name pronunciation
US11070949B2 (en) 2015-05-27 2021-07-20 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on an electronic device with a touch-sensitive display
US11120372B2 (en) 2011-06-03 2021-09-14 Apple Inc. Performing actions associated with task items that represent tasks to perform
US11127397B2 (en) 2015-05-27 2021-09-21 Apple Inc. Device voice control
US11126400B2 (en) 2015-09-08 2021-09-21 Apple Inc. Zero latency digital assistant
US11133008B2 (en) 2014-05-30 2021-09-28 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11181988B1 (en) 2020-08-31 2021-11-23 Apple Inc. Incorporating user feedback into text prediction models via joint reward planning
US11217251B2 (en) 2019-05-06 2022-01-04 Apple Inc. Spoken notifications
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US11231904B2 (en) 2015-03-06 2022-01-25 Apple Inc. Reducing response latency of intelligent automated assistants
US11237797B2 (en) 2019-05-31 2022-02-01 Apple Inc. User activity shortcut suggestions
US11269678B2 (en) 2012-05-15 2022-03-08 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11314370B2 (en) 2013-12-06 2022-04-26 Apple Inc. Method for extracting salient dialog usage from live data
US11348582B2 (en) 2008-10-02 2022-05-31 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US11350253B2 (en) 2011-06-03 2022-05-31 Apple Inc. Active transport based notifications
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11354584B2 (en) * 2010-03-23 2022-06-07 Ebay Inc. Systems and methods for trend aware self-correcting entity relationship extraction
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11380310B2 (en) 2017-05-12 2022-07-05 Apple Inc. Low-latency intelligent automated assistant
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
US11388291B2 (en) 2013-03-14 2022-07-12 Apple Inc. System and method for processing voicemail
US11405466B2 (en) 2017-05-12 2022-08-02 Apple Inc. Synchronization and task delegation of a digital assistant
US11423886B2 (en) 2010-01-18 2022-08-23 Apple Inc. Task flow identification based on user intent
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11461831B2 (en) 2017-04-17 2022-10-04 Walmart Apollo, Llc Systems to fulfill a picked sales order and related methods therefor
US11467802B2 (en) 2017-05-11 2022-10-11 Apple Inc. Maintaining privacy of personal information
US11468282B2 (en) 2015-05-15 2022-10-11 Apple Inc. Virtual assistant in a communication session
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
US11495218B2 (en) 2018-06-01 2022-11-08 Apple Inc. Virtual assistant operation in multi-device environments
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
US11500672B2 (en) 2015-09-08 2022-11-15 Apple Inc. Distributed personal assistant
US11516537B2 (en) 2014-06-30 2022-11-29 Apple Inc. Intelligent automated assistant for TV user interactions
US11520841B2 (en) * 2017-08-31 2022-12-06 Shenzhen Heytap Technology Corp., Ltd. Information recommendation method, terminal device, and server
US11526368B2 (en) 2015-11-06 2022-12-13 Apple Inc. Intelligent automated assistant in a messaging environment
US11532306B2 (en) 2017-05-16 2022-12-20 Apple Inc. Detecting a trigger of a digital assistant
US11580990B2 (en) 2017-05-12 2023-02-14 Apple Inc. User-specific acoustic models
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11656884B2 (en) 2017-01-09 2023-05-23 Apple Inc. Application integration with a digital assistant
US11657813B2 (en) 2019-05-31 2023-05-23 Apple Inc. Voice identification in digital assistant systems
US11657347B2 (en) 2020-01-31 2023-05-23 Walmart Apollo, Llc Systems and methods for optimization of pick walks
US11669886B2 (en) 2017-07-13 2023-06-06 Walmart Apollo, Llc Systems and methods for determining an order collection start time
US11671920B2 (en) 2007-04-03 2023-06-06 Apple Inc. Method and system for operating a multifunction portable electronic device using voice-activation
US11696060B2 (en) 2020-07-21 2023-07-04 Apple Inc. User identification using headphones
US20230252048A1 (en) * 2012-10-26 2023-08-10 Tivo Corporation Feedback loop content recommendation
US11734642B2 (en) 2017-06-14 2023-08-22 Walmart Apollo, Llc Systems and methods for automatically invoking a delivery request for an in-progress order
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11765209B2 (en) 2020-05-11 2023-09-19 Apple Inc. Digital assistant hardware abstraction
US11790914B2 (en) 2019-06-01 2023-10-17 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11798547B2 (en) 2013-03-15 2023-10-24 Apple Inc. Voice activated device for use with a voice-based digital assistant
US11809483B2 (en) 2015-09-08 2023-11-07 Apple Inc. Intelligent automated assistant for media search and playback
US11838734B2 (en) 2020-07-20 2023-12-05 Apple Inc. Multi-device audio adjustment coordination
US11853536B2 (en) 2015-09-08 2023-12-26 Apple Inc. Intelligent automated assistant in a media environment
US11868958B2 (en) 2020-01-31 2024-01-09 Walmart Apollo, Llc Systems and methods for optimization of pick walks
US11914848B2 (en) 2020-05-11 2024-02-27 Apple Inc. Providing relevant data items based on context
US11928604B2 (en) 2005-09-08 2024-03-12 Apple Inc. Method and apparatus for building an intelligent automated assistant
US11941577B2 (en) 2017-06-28 2024-03-26 Walmart Apollo, Llc Systems and methods for automatically requesting delivery drivers for online orders

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080091441A1 (en) * 2006-10-02 2008-04-17 Michelle Flammer Employee management
US9576001B2 (en) 2007-10-31 2017-02-21 Yahoo! Inc. Content optimization system and method
US8612572B2 (en) * 2008-05-30 2013-12-17 Microsoft Corporation Rule-based system for client-side quality-of-service tracking and reporting
FR2945882A1 (en) * 2009-05-19 2010-11-26 France Telecom DEVICE AND METHOD FOR PREDICTING COMMENTS ASSOCIATED WITH A PRODUCT.
EP2481018A4 (en) * 2009-09-21 2013-06-12 Ericsson Telefon Ab L M Method and apparatus for executing a recommendation
US8533134B1 (en) * 2009-11-17 2013-09-10 Google Inc. Graph-based fusion for video classification
US8452778B1 (en) 2009-11-19 2013-05-28 Google Inc. Training of adapted classifiers for video categorization
US20110153663A1 (en) * 2009-12-21 2011-06-23 At&T Intellectual Property I, L.P. Recommendation engine using implicit feedback observations
WO2011152420A1 (en) 2010-05-31 2011-12-08 楽天株式会社 Information providing apparatus, information providing method, information providing program, and computer-readable recording medium having information providing program recorded therein
US20120143718A1 (en) * 2010-12-03 2012-06-07 Choicestream, Inc. Optimization of a web-based recommendation system
US9087297B1 (en) 2010-12-17 2015-07-21 Google Inc. Accurate video concept recognition via classifier combination
US20140095317A1 (en) * 2011-04-07 2014-04-03 1Spire, Inc. System for automated media delivery to mobile devices and mobile device lockscreens
US8856051B1 (en) 2011-04-08 2014-10-07 Google Inc. Augmenting metadata of digital objects
CN103703460A (en) * 2011-05-27 2014-04-02 诺基亚公司 Method and apparatus for collaborative filtering for real-time recommendation
US10719541B2 (en) * 2011-09-13 2020-07-21 Stefano Foresti Method and system to capture and find information and relationships
US9679061B2 (en) * 2011-12-08 2017-06-13 Google Technology Holdings LLC Method and apparatus that collect and uploads implicit analytic data
US8484099B1 (en) 2012-02-06 2013-07-09 Amazon Technologies, Inc. Method, medium, and system for behavior-based recommendations of product upgrades
US9224118B2 (en) * 2012-03-12 2015-12-29 Google Inc. Dynamic display of content consumption by geographic location
US9152714B1 (en) 2012-10-01 2015-10-06 Google Inc. Selecting score improvements
US20140297414A1 (en) * 2013-03-29 2014-10-02 Lucy Ma Zhao Routine suggestion system
US20140316930A1 (en) * 2013-04-23 2014-10-23 Google, Inc. Explanations for personalized recommendations
US9547698B2 (en) 2013-04-23 2017-01-17 Google Inc. Determining media consumption preferences
US9348815B1 (en) * 2013-06-28 2016-05-24 Digital Reasoning Systems, Inc. Systems and methods for construction, maintenance, and improvement of knowledge representations
US9959563B1 (en) 2013-12-19 2018-05-01 Amazon Technologies, Inc. Recommendation generation for infrequently accessed items
US9754306B2 (en) * 2014-03-03 2017-09-05 Invent.ly LLC Recommendation engine with profile analysis
US20150248720A1 (en) * 2014-03-03 2015-09-03 Invent.ly LLC Recommendation engine
US11710554B2 (en) * 2014-03-26 2023-07-25 Steward Health Care System Llc Method for diagnosis and documentation of healthcare information
CN105446972B (en) * 2014-06-17 2022-06-10 阿里巴巴集团控股有限公司 Searching method, device and system based on and fused with user relationship data
US20160124959A1 (en) 2014-10-31 2016-05-05 Google Inc. System and method to recommend a bundle of items based on item/user tagging and co-install graph
US10275808B1 (en) 2014-11-19 2019-04-30 Amazon Technologies, Inc. Item review system that provides comparative information to reviewer
US10410125B1 (en) 2014-12-05 2019-09-10 Amazon Technologies, Inc. Artificial intelligence based identification of negative user sentiment in event data
US10410273B1 (en) 2014-12-05 2019-09-10 Amazon Technologies, Inc. Artificial intelligence based identification of item attributes associated with negative user sentiment
TWI606349B (en) 2016-12-21 2017-11-21 財團法人工業技術研究院 Online cloud-based service processing system, online evaluation method and computer program product thereof
JP6851894B2 (en) * 2017-04-24 2021-03-31 株式会社東芝 Dialogue system, dialogue method and dialogue program
US11651333B2 (en) * 2017-05-05 2023-05-16 Microsoft Technology Licensing, Llc Specialized user interfaces and processes for increasing user interactions with job postings in a social network/top jobs
CN109983458B (en) * 2017-09-18 2024-02-09 华为技术有限公司 Recommendation method and terminal
US11392751B1 (en) 2017-12-04 2022-07-19 Amazon Technologies, Inc. Artificial intelligence system for optimizing informational content presentation
US10977711B1 (en) 2018-01-03 2021-04-13 Amazon Technologies, Inc. Artificial intelligence system with hierarchical machine learning for interaction session optimization
US10909604B1 (en) 2018-03-07 2021-02-02 Amazon Technologies, Inc. Artificial intelligence system for automated selection and presentation of informational content
US11386301B2 (en) 2019-09-06 2022-07-12 The Yes Platform Cluster and image-based feedback system
US11468489B2 (en) 2019-10-31 2022-10-11 Walmart Apollo, Llc System, non-transitory computer readable medium, and method for self-attention with functional time representation learning
US11907232B2 (en) * 2021-01-12 2024-02-20 Adobe Inc. Facilitating efficient identification of relevant data
CN112926941B (en) * 2021-03-04 2023-07-11 远光软件股份有限公司 Management method and device of financial auditing rules, storage medium and server
US11928719B2 (en) * 2021-12-06 2024-03-12 International Business Machines Corporation Facilitating user selection using trend-based joint embeddings

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070250390A1 (en) * 2006-04-24 2007-10-25 Advanced Commerce Strategies, Inc. Internet advertising method and system
US7720720B1 (en) * 2004-08-05 2010-05-18 Versata Development Group, Inc. System and method for generating effective recommendations

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4996642A (en) * 1987-10-01 1991-02-26 Neonics, Inc. System and method for recommending items
US6314420B1 (en) * 1996-04-04 2001-11-06 Lycos, Inc. Collaborative/adaptive search engine
US5974412A (en) * 1997-09-24 1999-10-26 Sapient Health Network Intelligent query system for automatically indexing information in a database and automatically categorizing users
US6317722B1 (en) * 1998-09-18 2001-11-13 Amazon.Com, Inc. Use of electronic shopping carts to generate personal recommendations
US6963850B1 (en) * 1999-04-09 2005-11-08 Amazon.Com, Inc. Computer services for assisting users in locating and evaluating items in an electronic catalog based on actions performed by members of specific user communities
AU2262601A (en) * 1999-12-21 2001-07-03 Tivo, Inc. Intelligent system and methods of recommending media content items based on userpreferences
CA2424588A1 (en) * 2000-10-18 2002-04-25 Steve Shaya Intelligent performance-based product recommendation system
US7295995B1 (en) * 2001-10-30 2007-11-13 A9.Com, Inc. Computer processes and systems for adaptively controlling the display of items
US20040083232A1 (en) * 2002-10-25 2004-04-29 Christopher Ronnewinkel Association learning for automated recommendations
EP1484692B1 (en) * 2003-06-04 2013-07-24 Intel Corporation Content recommendation device with user feedback
US7310612B2 (en) * 2003-08-13 2007-12-18 Amazon.Com, Inc. Personalized selection and display of user-supplied content to enhance browsing of electronic catalogs
US7885902B1 (en) * 2006-04-07 2011-02-08 Soulsearch.Com, Inc. Learning-based recommendation system incorporating collaborative filtering and feedback
US20080270398A1 (en) * 2007-04-30 2008-10-30 Landau Matthew J Product affinity engine and method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7720720B1 (en) * 2004-08-05 2010-05-18 Versata Development Group, Inc. System and method for generating effective recommendations
US20070250390A1 (en) * 2006-04-24 2007-10-25 Advanced Commerce Strategies, Inc. Internet advertising method and system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Aug. 2003 - Amazon Hacks - Fine-Tune Your Recommendations, O'Reilly *

Cited By (203)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11928604B2 (en) 2005-09-08 2024-03-12 Apple Inc. Method and apparatus for building an intelligent automated assistant
US11671920B2 (en) 2007-04-03 2023-06-06 Apple Inc. Method and system for operating a multifunction portable electronic device using voice-activation
US20090006374A1 (en) * 2007-06-29 2009-01-01 Kim Sung H Recommendation system with multiple integrated recommenders
US8751507B2 (en) * 2007-06-29 2014-06-10 Amazon Technologies, Inc. Recommendation system with multiple integrated recommenders
US8924265B2 (en) * 2008-05-06 2014-12-30 Richrelevance, Inc. System and process for improving product recommendations for use in providing personalized advertisements to retail customers
US20130198007A1 (en) * 2008-05-06 2013-08-01 Richrelevance, Inc. System and process for improving product recommendations for use in providing personalized advertisements to retail customers
US11348582B2 (en) 2008-10-02 2022-05-31 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US11900936B2 (en) 2008-10-02 2024-02-13 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US11423886B2 (en) 2010-01-18 2022-08-23 Apple Inc. Task flow identification based on user intent
US10741185B2 (en) 2010-01-18 2020-08-11 Apple Inc. Intelligent automated assistant
US20120036137A1 (en) * 2010-02-03 2012-02-09 Glomantra Inc. Method and system for providing actionable relevant recommendations
US20120030228A1 (en) * 2010-02-03 2012-02-02 Glomantra Inc. Method and system for need fulfillment
US10692504B2 (en) 2010-02-25 2020-06-23 Apple Inc. User profiling for voice input processing
US11354584B2 (en) * 2010-03-23 2022-06-07 Ebay Inc. Systems and methods for trend aware self-correcting entity relationship extraction
US20130041774A1 (en) * 2010-03-30 2013-02-14 Rakuten, Inc. Product recommendation device, product recommendation method, program, and recording medium
US10417405B2 (en) 2011-03-21 2019-09-17 Apple Inc. Device access using voice authentication
US11350253B2 (en) 2011-06-03 2022-05-31 Apple Inc. Active transport based notifications
US11120372B2 (en) 2011-06-03 2021-09-14 Apple Inc. Performing actions associated with task items that represent tasks to perform
US10509827B1 (en) * 2012-02-15 2019-12-17 Google Llc Allowing users to categorize and visualize content recommendations
US11069336B2 (en) 2012-03-02 2021-07-20 Apple Inc. Systems and methods for name pronunciation
US20170256265A1 (en) * 2012-04-16 2017-09-07 Htc Corporation Method for offering suggestion during conversation, electronic device using the same, and non-transitory storage medium
US10083694B2 (en) * 2012-04-16 2018-09-25 Htc Corporation Method for offering suggestion during conversation, electronic device using the same, and non-transitory storage medium
US11321116B2 (en) 2012-05-15 2022-05-03 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US11269678B2 (en) 2012-05-15 2022-03-08 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US20140067578A1 (en) * 2012-08-30 2014-03-06 International Business Machines Corporation Listing a candidate service in a service catalog
US20140067579A1 (en) * 2012-08-30 2014-03-06 International Business Machines Corporation Listing a candidate service in a service catalog
US20150356577A1 (en) * 2012-08-30 2015-12-10 International Business Machines Corporation Listing a candidate service in a service catalog
US20230252048A1 (en) * 2012-10-26 2023-08-10 Tivo Corporation Feedback loop content recommendation
US11960509B2 (en) * 2012-10-26 2024-04-16 Tivo Corporation Feedback loop content recommendation
US20140188866A1 (en) * 2012-12-31 2014-07-03 Microsoft Corporation Recommendation engine based on conditioned profiles
US10978090B2 (en) 2013-02-07 2021-04-13 Apple Inc. Voice trigger for a digital assistant
US11557310B2 (en) 2013-02-07 2023-01-17 Apple Inc. Voice trigger for a digital assistant
US10714117B2 (en) 2013-02-07 2020-07-14 Apple Inc. Voice trigger for a digital assistant
US11862186B2 (en) 2013-02-07 2024-01-02 Apple Inc. Voice trigger for a digital assistant
US11636869B2 (en) 2013-02-07 2023-04-25 Apple Inc. Voice trigger for a digital assistant
US11388291B2 (en) 2013-03-14 2022-07-12 Apple Inc. System and method for processing voicemail
US11798547B2 (en) 2013-03-15 2023-10-24 Apple Inc. Voice activated device for use with a voice-based digital assistant
US10657961B2 (en) 2013-06-08 2020-05-19 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US11727219B2 (en) 2013-06-09 2023-08-15 Apple Inc. System and method for inferring user intent from speech inputs
US11048473B2 (en) 2013-06-09 2021-06-29 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US10769385B2 (en) 2013-06-09 2020-09-08 Apple Inc. System and method for inferring user intent from speech inputs
US20150046479A1 (en) * 2013-08-08 2015-02-12 Vidmind Ltd. Collaborative filtering recommendations using implicit user actions
US20150120722A1 (en) * 2013-10-31 2015-04-30 Telefonica Digital Espana, S.L.U. Method and system for providing multimedia content recommendations
US11314370B2 (en) 2013-12-06 2022-04-26 Apple Inc. Method for extracting salient dialog usage from live data
US20150193789A1 (en) * 2014-01-03 2015-07-09 Mastercard International Incorporated Method and system for personalized news recommendations based on purchase behavior
JP2015166932A (en) * 2014-03-03 2015-09-24 東芝テック株式会社 shopping support device and program
US10354264B2 (en) 2014-03-24 2019-07-16 Salesforce.Com, Inc. Contact recommendations based on purchase history
US10592955B2 (en) * 2014-03-24 2020-03-17 Salesforce.Com, Inc. Bulk contact recommendations based on attribute purchase history
US20150269647A1 (en) * 2014-03-24 2015-09-24 Salesforce.Com, Inc. Bulk contact recommendations based on attribute purchase history
US11257504B2 (en) 2014-05-30 2022-02-22 Apple Inc. Intelligent assistant for home automation
US10657966B2 (en) 2014-05-30 2020-05-19 Apple Inc. Better resolution when referencing to concepts
US11670289B2 (en) 2014-05-30 2023-06-06 Apple Inc. Multi-command single utterance input method
US10699717B2 (en) 2014-05-30 2020-06-30 Apple Inc. Intelligent assistant for home automation
US10714095B2 (en) 2014-05-30 2020-07-14 Apple Inc. Intelligent assistant for home automation
US11133008B2 (en) 2014-05-30 2021-09-28 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US11699448B2 (en) 2014-05-30 2023-07-11 Apple Inc. Intelligent assistant for home automation
US10497365B2 (en) 2014-05-30 2019-12-03 Apple Inc. Multi-command single utterance input method
US11810562B2 (en) 2014-05-30 2023-11-07 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10417344B2 (en) 2014-05-30 2019-09-17 Apple Inc. Exemplar-based natural language processing
US10878809B2 (en) 2014-05-30 2020-12-29 Apple Inc. Multi-command single utterance input method
US11516537B2 (en) 2014-06-30 2022-11-29 Apple Inc. Intelligent automated assistant for TV user interactions
US11838579B2 (en) 2014-06-30 2023-12-05 Apple Inc. Intelligent automated assistant for TV user interactions
US10453443B2 (en) 2014-09-30 2019-10-22 Apple Inc. Providing an indication of the suitability of speech recognition
US10438595B2 (en) 2014-09-30 2019-10-08 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10390213B2 (en) 2014-09-30 2019-08-20 Apple Inc. Social reminders
US20160125501A1 (en) * 2014-11-04 2016-05-05 Philippe Nemery Preference-elicitation framework for real-time personalized recommendation
US11231904B2 (en) 2015-03-06 2022-01-25 Apple Inc. Reducing response latency of intelligent automated assistants
US11842734B2 (en) 2015-03-08 2023-12-12 Apple Inc. Virtual assistant activation
US11087759B2 (en) 2015-03-08 2021-08-10 Apple Inc. Virtual assistant activation
US10529332B2 (en) 2015-03-08 2020-01-07 Apple Inc. Virtual assistant activation
US10930282B2 (en) 2015-03-08 2021-02-23 Apple Inc. Competing devices responding to voice triggers
US11468282B2 (en) 2015-05-15 2022-10-11 Apple Inc. Virtual assistant in a communication session
US11127397B2 (en) 2015-05-27 2021-09-21 Apple Inc. Device voice control
US11070949B2 (en) 2015-05-27 2021-07-20 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on an electronic device with a touch-sensitive display
US10681212B2 (en) 2015-06-05 2020-06-09 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US11947873B2 (en) 2015-06-29 2024-04-02 Apple Inc. Virtual assistant for media playback
US11010127B2 (en) 2015-06-29 2021-05-18 Apple Inc. Virtual assistant for media playback
US11954405B2 (en) 2015-09-08 2024-04-09 Apple Inc. Zero latency digital assistant
US11550542B2 (en) 2015-09-08 2023-01-10 Apple Inc. Zero latency digital assistant
US11853536B2 (en) 2015-09-08 2023-12-26 Apple Inc. Intelligent automated assistant in a media environment
US11126400B2 (en) 2015-09-08 2021-09-21 Apple Inc. Zero latency digital assistant
US11809483B2 (en) 2015-09-08 2023-11-07 Apple Inc. Intelligent automated assistant for media search and playback
US11500672B2 (en) 2015-09-08 2022-11-15 Apple Inc. Distributed personal assistant
US11809886B2 (en) 2015-11-06 2023-11-07 Apple Inc. Intelligent automated assistant in a messaging environment
US11526368B2 (en) 2015-11-06 2022-12-13 Apple Inc. Intelligent automated assistant in a messaging environment
US11886805B2 (en) 2015-11-09 2024-01-30 Apple Inc. Unconventional virtual assistant interactions
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10354652B2 (en) 2015-12-02 2019-07-16 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US11853647B2 (en) 2015-12-23 2023-12-26 Apple Inc. Proactive assistance based on dialog communication between devices
US20170185375A1 (en) * 2015-12-23 2017-06-29 Apple Inc. Proactive assistance based on dialog communication between devices
US10223066B2 (en) * 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10942703B2 (en) 2015-12-23 2021-03-09 Apple Inc. Proactive assistance based on dialog communication between devices
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US11069347B2 (en) 2016-06-08 2021-07-20 Apple Inc. Intelligent automated assistant for media exploration
US11657820B2 (en) 2016-06-10 2023-05-23 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10733993B2 (en) 2016-06-10 2020-08-04 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US11037565B2 (en) 2016-06-10 2021-06-15 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US11152002B2 (en) 2016-06-11 2021-10-19 Apple Inc. Application integration with a digital assistant
US10942702B2 (en) 2016-06-11 2021-03-09 Apple Inc. Intelligent device arbitration and control
US10580409B2 (en) 2016-06-11 2020-03-03 Apple Inc. Application integration with a digital assistant
US11749275B2 (en) 2016-06-11 2023-09-05 Apple Inc. Application integration with a digital assistant
US11809783B2 (en) 2016-06-11 2023-11-07 Apple Inc. Intelligent device arbitration and control
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10553215B2 (en) 2016-09-23 2020-02-04 Apple Inc. Intelligent automated assistant
US10795952B2 (en) 2017-01-05 2020-10-06 Microsoft Technology Licensing, Llc Identification of documents based on location, usage patterns and content
US11656884B2 (en) 2017-01-09 2023-05-23 Apple Inc. Application integration with a digital assistant
US20220188909A1 (en) * 2017-01-27 2022-06-16 Walmart Apollo, Llc System for improving in-store picking performance and experience by optimizing tote-fill and order batching of items in retail store and method of using same
US11270372B2 (en) 2017-01-27 2022-03-08 Walmart Apollo, Llc System for improving in-store picking performance and experience by optimizing tote-fill and order batching of items in retail store and method of using same
US10657580B2 (en) * 2017-01-27 2020-05-19 Walmart Apollo, Llc System for improving in-store picking performance and experience by optimizing tote-fill and order batching of items in retail store and method of using same
US11461831B2 (en) 2017-04-17 2022-10-04 Walmart Apollo, Llc Systems to fulfill a picked sales order and related methods therefor
US11494829B2 (en) 2017-04-17 2022-11-08 Walmart Apollo, Llc Systems to fulfill a picked sales order and related methods therefor
US11508000B2 (en) 2017-04-17 2022-11-22 Walmart Apollo, Llc Systems to fulfill a picked sales order and related methods therefor
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
US10741181B2 (en) 2017-05-09 2020-08-11 Apple Inc. User interface for correcting recognition errors
US11467802B2 (en) 2017-05-11 2022-10-11 Apple Inc. Maintaining privacy of personal information
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
US11599331B2 (en) 2017-05-11 2023-03-07 Apple Inc. Maintaining privacy of personal information
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
US10847142B2 (en) 2017-05-11 2020-11-24 Apple Inc. Maintaining privacy of personal information
US11580990B2 (en) 2017-05-12 2023-02-14 Apple Inc. User-specific acoustic models
US11538469B2 (en) 2017-05-12 2022-12-27 Apple Inc. Low-latency intelligent automated assistant
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
US11380310B2 (en) 2017-05-12 2022-07-05 Apple Inc. Low-latency intelligent automated assistant
US11862151B2 (en) 2017-05-12 2024-01-02 Apple Inc. Low-latency intelligent automated assistant
US11405466B2 (en) 2017-05-12 2022-08-02 Apple Inc. Synchronization and task delegation of a digital assistant
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US10748546B2 (en) 2017-05-16 2020-08-18 Apple Inc. Digital assistant services based on device capabilities
US11675829B2 (en) 2017-05-16 2023-06-13 Apple Inc. Intelligent automated assistant for media exploration
US10909171B2 (en) 2017-05-16 2021-02-02 Apple Inc. Intelligent automated assistant for media exploration
US11532306B2 (en) 2017-05-16 2022-12-20 Apple Inc. Detecting a trigger of a digital assistant
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US11734642B2 (en) 2017-06-14 2023-08-22 Walmart Apollo, Llc Systems and methods for automatically invoking a delivery request for an in-progress order
JP2017191614A (en) * 2017-06-21 2017-10-19 東芝テック株式会社 Information processing apparatus and program
US11941577B2 (en) 2017-06-28 2024-03-26 Walmart Apollo, Llc Systems and methods for automatically requesting delivery drivers for online orders
US11669886B2 (en) 2017-07-13 2023-06-06 Walmart Apollo, Llc Systems and methods for determining an order collection start time
US11520841B2 (en) * 2017-08-31 2022-12-06 Shenzhen Heytap Technology Corp., Ltd. Information recommendation method, terminal device, and server
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US11710482B2 (en) 2018-03-26 2023-07-25 Apple Inc. Natural assistant interaction
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
CN110309417A (en) * 2018-04-13 2019-10-08 腾讯科技(深圳)有限公司 The Weight Determination and device of evaluation points
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11900923B2 (en) 2018-05-07 2024-02-13 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11854539B2 (en) 2018-05-07 2023-12-26 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11487364B2 (en) 2018-05-07 2022-11-01 Apple Inc. Raise to speak
US11907436B2 (en) 2018-05-07 2024-02-20 Apple Inc. Raise to speak
US11169616B2 (en) 2018-05-07 2021-11-09 Apple Inc. Raise to speak
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
US11630525B2 (en) 2018-06-01 2023-04-18 Apple Inc. Attention aware virtual assistant dismissal
US10684703B2 (en) 2018-06-01 2020-06-16 Apple Inc. Attention aware virtual assistant dismissal
US10984798B2 (en) 2018-06-01 2021-04-20 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10403283B1 (en) 2018-06-01 2019-09-03 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11431642B2 (en) 2018-06-01 2022-08-30 Apple Inc. Variable latency device coordination
US11495218B2 (en) 2018-06-01 2022-11-08 Apple Inc. Virtual assistant operation in multi-device environments
US10720160B2 (en) 2018-06-01 2020-07-21 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US11009970B2 (en) 2018-06-01 2021-05-18 Apple Inc. Attention aware virtual assistant dismissal
US11360577B2 (en) 2018-06-01 2022-06-14 Apple Inc. Attention aware virtual assistant dismissal
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
US10504518B1 (en) 2018-06-03 2019-12-10 Apple Inc. Accelerated task performance
US10496705B1 (en) 2018-06-03 2019-12-03 Apple Inc. Accelerated task performance
US10944859B2 (en) 2018-06-03 2021-03-09 Apple Inc. Accelerated task performance
CN109658296A (en) * 2018-08-31 2019-04-19 北京沃达新创国际教育科技有限公司 A kind of intelligence service for studying abroad platform
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11893992B2 (en) 2018-09-28 2024-02-06 Apple Inc. Multi-modal inputs for voice commands
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11783815B2 (en) 2019-03-18 2023-10-10 Apple Inc. Multimodality in digital assistant systems
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
JP2020181278A (en) * 2019-04-24 2020-11-05 株式会社Zozoテクノロジーズ Fashion recommendation server, fashion recommendation system, fashion recommendation method, and fashion recommendation program
JP7451093B2 (en) 2019-04-24 2024-03-18 株式会社Zozo Fashion recommendation server, fashion recommendation system, fashion recommendation method, and fashion recommendation program
US11705130B2 (en) 2019-05-06 2023-07-18 Apple Inc. Spoken notifications
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11217251B2 (en) 2019-05-06 2022-01-04 Apple Inc. Spoken notifications
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11675491B2 (en) 2019-05-06 2023-06-13 Apple Inc. User configurable task triggers
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11888791B2 (en) 2019-05-21 2024-01-30 Apple Inc. Providing message response suggestions
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
US11657813B2 (en) 2019-05-31 2023-05-23 Apple Inc. Voice identification in digital assistant systems
US11237797B2 (en) 2019-05-31 2022-02-01 Apple Inc. User activity shortcut suggestions
US11360739B2 (en) 2019-05-31 2022-06-14 Apple Inc. User activity shortcut suggestions
US11790914B2 (en) 2019-06-01 2023-10-17 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
US11868958B2 (en) 2020-01-31 2024-01-09 Walmart Apollo, Llc Systems and methods for optimization of pick walks
US11657347B2 (en) 2020-01-31 2023-05-23 Walmart Apollo, Llc Systems and methods for optimization of pick walks
US11914848B2 (en) 2020-05-11 2024-02-27 Apple Inc. Providing relevant data items based on context
US11924254B2 (en) 2020-05-11 2024-03-05 Apple Inc. Digital assistant hardware abstraction
US11765209B2 (en) 2020-05-11 2023-09-19 Apple Inc. Digital assistant hardware abstraction
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11838734B2 (en) 2020-07-20 2023-12-05 Apple Inc. Multi-device audio adjustment coordination
US11696060B2 (en) 2020-07-21 2023-07-04 Apple Inc. User identification using headphones
US11750962B2 (en) 2020-07-21 2023-09-05 Apple Inc. User identification using headphones
US11181988B1 (en) 2020-08-31 2021-11-23 Apple Inc. Incorporating user feedback into text prediction models via joint reward planning

Also Published As

Publication number Publication date
US8090621B1 (en) 2012-01-03

Similar Documents

Publication Publication Date Title
US8090621B1 (en) Method and system for associating feedback with recommendation rules
US9792332B2 (en) Mining of user event data to identify users with common interests
US8301623B2 (en) Probabilistic recommendation system
KR101639773B1 (en) Identifying inadequate search content
US8140388B2 (en) Method for implementing online advertising
US7966342B2 (en) Method for monitoring link & content changes in web pages
US7890363B2 (en) System and method of identifying trendsetters
US8438052B1 (en) Automated selection of three of more items to recommend as a bundle
US8103540B2 (en) System and method for influencing recommender system
US7574426B1 (en) Efficiently identifying the items most relevant to a current query based on items selected in connection with similar queries
US20090319365A1 (en) System and method for assessing marketing data
US20040260600A1 (en) System & method for predicting demand for items
US20100299360A1 (en) Extrapolation of item attributes based on detected associations between the items
US8239287B1 (en) System for detecting probabilistic associations between items
JP2008511057A (en) Method and apparatus for responding to end-user information requests
WO2008134707A2 (en) Product affinity engine and method

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION