[go: up one dir, main page]

HK1179000A - Adaptive recommendation system - Google Patents

Adaptive recommendation system Download PDF

Info

Publication number
HK1179000A
HK1179000A HK13105821.9A HK13105821A HK1179000A HK 1179000 A HK1179000 A HK 1179000A HK 13105821 A HK13105821 A HK 13105821A HK 1179000 A HK1179000 A HK 1179000A
Authority
HK
Hong Kong
Prior art keywords
list
user
recommendation
items
item
Prior art date
Application number
HK13105821.9A
Other languages
Chinese (zh)
Inventor
N.奈斯
D.克雷默
D.西顿
M.费尔德曼
S.施莱维赫
O.福尔格
Original Assignee
微软公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 微软公司 filed Critical 微软公司
Publication of HK1179000A publication Critical patent/HK1179000A/en

Links

Description

Adaptive recommendation system
Technical Field
The invention relates to content recommendation optimization.
Background
Content recommendations provide an efficient mechanism for introducing new content to potential customers. Generally, recommended content is selected based on a purchase history of a customer. The format and manner of presenting the recommended content is often similar for all customers.
Disclosure of Invention
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure.
A content recommendation system is presented. The system dynamically tracks a list interaction history for a user, the history detailing user interactions with a plurality of different lists that present different recommendations to the user. The system automatically correlates one or more list preferences with the user based on the list interaction history and builds a recommendation list with multiple candidates having different recommendation confidence levels. The recommendation list is constructed such that each candidate item having a higher recommendation confidence is prioritized over each candidate item having a lower recommendation confidence in accordance with one or more list preferences related to the user.
Drawings
FIG. 1 schematically illustrates a recommendation system according to an embodiment of the invention.
FIG. 2 is a flow diagram illustrating a method of building a recommendation list using a recommendation system in accordance with an embodiment of the present invention.
3-5 illustrate various embodiments of example recommendation lists in accordance with the present invention.
6A-6C illustrate example recommendation lists according to embodiments of the invention.
FIG. 7 schematically shows a computing system in accordance with embodiments of the present invention.
Detailed Description
Current recommendation systems typically attempt to use various filters to predict the tastes of users based on characteristics of content that the user has previously selected (e.g., gender, author, director, actors, etc.) and/or similar selections previously made by the user, such as in the case of collaborative filtering based recommendations. However, the behavior of a user when interacting with a list of recommended items cannot generally be considered separately from the actual content of the recommended items. As described below, the manner in which a user previously interacted with a particular presentation of a recommended item, separate from the actual content of the recommended item, may form the basis of how the user-specific content recommendations following presentation to the user. In other words, the presentation of the set of candidate recommended items to the user may be customized based on the manner in which the user has interacted with the various presentations of recommended items in the past.
Turning to fig. 1, an example recommendation system 100 is shown. The recommendation system 100 can build a user-specific recommendation list to present to the user. The recommendation system includes a recommender 102, which recommender 102 may use various inputs and filters to determine candidate content items to be recommended to a user. Additionally, the recommendation system 100 includes one or more view adapters 104 (e.g., view adapter 1, view adapter 2, … view adapter N) to determine the manner in which content is presented to the user. A simplified example recommendation list is shown and described in more detail with reference to fig. 3-5 and 6A-6C.
A recommendation may be selected from the content directory 106. The content catalog 106 may be a non-user-specific database of content items for purchase or viewing by a user. Items contained within the content directory 106 may be tagged with various characteristics including content type, content category, user rating of the items, and the like. Although the embodiment shown in fig. 1 depicts a single content directory 106, multiple content directories may be used. For example, in some embodiments, different content directories may contain different types of content.
The content catalog 106 may track all users' purchases and ratings of content items. The content directory 106 may use the tracked information to order content items according to popularity. Thus, the content directory 106 provides a list of content items that are tagged by various characteristics, including popularity. As will be described in more detail below, the recommender 102 may use the content list and the feature tags when compiling a user-specific recommendation list.
The recommender 102 may also receive user-specific input from the social graph database 108. The social graph database 108 may include a history of purchases and ratings of friends of the user. These histories can be used by the recommender 102 when compiling a user-specific recommendation list. In addition, the recommender 102 may receive auxiliary information 110 (such as the type of device on which the recommendation list is to be viewed) and use this information in compiling the recommendation list.
The user history 112 may also provide user-specific input to the recommender 102. The user history 112 may track and compile various details regarding the user's participation in the content item. For example, the user history 112 may track user activities 114. The user activities 114 may include a user's purchase of content, a user's rating of content, a user's viewing of content, and so forth. Additionally, the user history 112 may include user preferences 116. The user preferences 116 may detail content-specific factors preferred by the user, such as preferred categories. The user preferences 116 may also detail content independent factors preferred by the user. These content-independent factors may include various attributes of how the recommendation list is presented to the user, such as the length of the list, the font of the items within the list, the amount of text displayed with the items, and so forth.
The user preferences 116 may be automatically determined by the user's participation in the plurality of recommendation lists provided thereto. Each time the recommender 102 and view adapter 104 build a recommendation list, the recommendation list is presented to the user and the user's interactions with the list are tracked. Based on this tracking, user list preferences may be automatically determined without the user explicitly declaring any particular preferences. In other words, user preferences are inferred from the user's actions. Additional details regarding determining user preferences will be described below with reference to FIG. 2.
The recommender 102 may take input from the content directory 106, the social graph database 108, the auxiliary information 110, and the user history 112 to determine a list of candidate recommended items.
The candidate recommendations may include a "recommended for you" subgroup based on input from the user history 112. To determine candidate recommended items from the user history 112, the recommender 102 may use a feature filter in which candidates tagged with features similar to those of items that the user has previously consumed are recommended. In another embodiment, recommendations may be determined by a collaborative filter, where candidates consumed by other users who are similar to the user (e.g., have similar purchasing and/or rating histories) are recommended. Any suitable filter or algorithm may be used to determine the recommended items.
Additionally, the recommended items may include "social" subgroups based on input from the social graph database 108, or "popular" subgroups based on popularity tracking in the content directory 106. For example, the item that is highest rated or consumed by all friends of the user may be included in the social subgroup. In other embodiments, the items that are most rated or consumed by a particular friend preferred by the user may be part of a social subgroup.
The recommender 102 builds a list of candidate recommendations 118. The list of candidate recommended items 118 may include items from one or more of the above-described or other subgroups.
The recommender 102 provides candidate recommendations 118 to one or more view adapters 104. As described in more detail below with reference to FIG. 2, the view adapter 104 is configured to format the content and layout of the candidate recommended items 118 or a subset thereof based on feedback from the user history 112. Different view adapters, such as view adapter 1, view adapter 2, and view adapter N, may be used with different users because they may each apply different user-specific logic to determine the format of different recommendation lists. Different view adapters may also be used for the same user viewing the recommendation list on different devices so that the recommendation items may be presented to the particular user on the particular device in a desired manner. Once the view adapter 104 has distributed the recommendation items into the desired formatted list, the recommendation list is presented to the user.
The recommendation system 100 also includes a real-time event handler 120 that provides real-time feedback to the recommender 102 to update the recommendation list based on the user activities 114, the user preferences 116, the user history 116, and any additional ancillary information 110.
FIG. 2 illustrates a method 200 for optimizing a recommendation list. The method 200 may be performed by the recommendation system 100. The method 200 includes, at 202, building a recommendation list. The recommendation list may include candidates recommended for the user. The candidates on the recommendation list may be selected based on any suitable mechanism. By way of non-limiting example, the recommended items may be determined by input from the content catalog 106, the social graph database 108, and/or the user history 112, for example, as explained above with reference to FIG. 1.
At 204, each candidate may be assigned a recommendation confidence. The recommendation confidence may be an indication of a likelihood that the user viewed or purchased an item. These recommendation confidence levels may be based on user history 112, social graph database 108, content directory 106, and/or any other suitable factors. The computing system may use any suitable filter or algorithm to determine the recommendation confidence.
At 206, candidates are distributed within the recommendation list based on the recommendation confidence and/or user list preferences. When a recommendation list is first built, candidates may be presented based solely on recommendation confidence. In some embodiments, there is a default layout for the recommendation list, and items may be placed in the layout according to recommendation confidence. For example, a default layout may include a ten item list with one column and the candidate items are distributed in descending order such that the ten items with the highest recommendation confidence are presented and the item with the higher recommendation confidence is at the top of the list. In other embodiments, when a recommendation list is first built, the candidates may be randomly distributed within the list.
However, if one or more recommendation lists have been previously presented to the user, the candidates may be distributed within the list based on user list preferences determined by the user's interaction with the previous list. Distributing the candidates based on user list preferences will be discussed in more detail below.
Method 200 proceeds to 208 to present the recommendation list to the user. Subsequently, at 210, method 200 includes determining user list preferences. Once the list has been presented to the user, the recommendation system is configured to track all of the user's participation in the recommendation list.
At 212, a user list interaction history for the recommendation list is tracked. The user list interaction history details the total interactions of the user with the list. The user's interaction with the list may include purchases made by the user for the items in the list. Further, the user interaction may include actions taken by the user other than purchasing. For example, the list may be presented on a display device of the computing system, and the computing system may include a user input device, such as a mouse. The user interaction history may detail all instances of the item on the list that the user mouse-clicks on, or all instances that the user hovers over and navigates around the item using the mouse. Any actions taken by the user indicating relevant interactions with the item may be detailed in the list history.
At 214, list properties of the recommendation list may be detailed based on user interactions with the recommendation list. Importantly, various aspects of user interaction are detailed, except for the actual item with which the user is interacting. That is, content-independent attributes of items with which the user interacts are tracked. For example, the list properties may include content-independent properties that define the layout, format, etc. of recommended items on the recommendation list. Example list attributes include size, font, and color of items on the user interface, where the number of columns and subtitles on the list of items are presented, whether the items include pictures and/or animations, the amount of textual information displayed with the items on the user interface items, where the length of the list of items is presented, where the relative position of the item within the list of items is presented, whether the item is from a "recommend for you" subgroup, from a "social" subgroup, from a "popular" subgroup, or the like.
At 216, user preferences for attributes are determined based on the list interaction history. For example, if the user selects an item at the bottom of the list, the user's preference to select the item at the bottom of the list may be indicated. Also, it is noted that the manner in which a user interacts with a list may be considered independent of the content of the list. In this way, it may be determined how to specifically tailor the presentation of recommended items for a particular user on a particular device.
Determining user preferences for attributes based on history may be performed by applying any suitable algorithm or filter (referred to herein as "preference determination logic"). In one embodiment, the preference determination logic may include each type of user interaction with the list given a different weight, such that attributes of items purchased are given a higher preference than attributes of items that are hovered over, for example. In another embodiment, each type of user interaction may be given the same weight. In other embodiments, different list attributes may be given different weights. Additionally, the type of device on which the user views the list may be included in the preference determination logic. For example, if a user is viewing a recommendation list on a mobile device, attributes (such as pictures and animations) that may be difficult to view on the device may be given lower weight.
In some embodiments, the preference decision logic may be user-specific, where the recommendation system applies different logic to different users, and may know which logic is most effective for each user based on the following list interaction history. The preference determination logic may be operative to automatically correlate one or more list preferences with a particular user based on a list interaction history for the particular user.
The method 200 is iterative and may take into account the user preferences determined at 210 when building the next recommendation list at 202. As explained above, the next list may include candidate recommendations that have been given recommendation confidence at 204. These candidate recommendations may be distributed within the list based on the recommendation confidence and also based on the user list preferences at 206. In other words, each candidate item with a higher recommendation confidence is prioritized over each candidate item with a lower recommendation confidence according to one or more list preferences related to a particular user. A candidate with a relatively higher recommendation confidence than another candidate may be given a list attribute for which the interaction history indicates that the user has previously presented a relatively higher interaction. For example, if it is determined at 216 that the user has a preference to select an item at the bottom of the list, the recommended item with the highest confidence in recommendation may be placed at the bottom of the recommendation list. In this manner, at 208, the user may be presented with a recommendation list that is customized not only for the user-specific content, but also for the user-specific attributes of the recommendation list itself.
Based on the new recommendation list presented to the user, new or updated user list preferences may be determined and used at 210 to build a next recommendation list. The building of the list, the presenting to the user, and the determining of the list preferences may be iteratively repeated to continually optimize the list of recommendations presented to the user.
Fig. 3-5 illustrate highly simplified example recommendation lists in accordance with various embodiments of the present invention. FIG. 3 shows a recommendation list 300 containing six items (A-F) arranged into two columns, column 302 and column 304. Each term has a recommendation confidence associated with it indicated as a percentage in the lower right corner, with 100% indicating the highest confidence and 0% indicating the lowest confidence. The recommendation confidence is displayed for purposes of example only and may not be visible to the user. Further, the confidence may be expressed in any suitable manner, such as from 0 to 10, from 0 to 1, or in any other suitable manner. The recommendation list 300 may be compiled based on the recommendation confidence such that the highest confidence item is displayed at the top of the list. FIG. 3 shows an ellipse 306 around item F at the bottom of column 304 indicating that the user is interacting with item F (e.g., clicking, hovering, etc.).
Fig. 4 shows another recommendation list 400 presented to the user. The recommendation list 400 contains six items G-L arranged into two columns 402 and 404. Similar to FIG. 3, the recommendation items may be placed according to their recommendation confidence. Oval 406 indicates that the user is interacting with item L, which is also at the bottom of column 404.
FIG. 5 illustrates another recommendation list 500 constructed based on the recommendation confidence and user preferences learned from user selection of the recommendation lists 300 and 400 shown in FIGS. 3 and 4. The recommendation list 500 contains six items arranged into two columns 502 and 504. Based on lists 300 and 400, user preferences for right hand rail bottom position have been indicated. The preference is independent of the content of items F and L and, instead, is based on the location of those items within the user interface. Thus, the highest value-confidence term (term A) has been placed in a location where the user has previously exhibited a propensity to interact. In addition, other high confidence terms (such as terms B and H) have been placed in the vicinity. Thus, recommendation list 500 has been arranged based on user interactions with lists 300 and 400.
6A-6C illustrate a simplified user interface 600 including three different recommendation regions 602, 604, and 606. Each region includes a different subset of recommendations. Region 602 includes a "recommend for you" subgroup, region 604 includes a social subgroup "friends like", and region 606 includes a "most popular" subgroup. 6A-6C, the number of items included in each region may change over time based on user interaction with the list. For example, in FIG. 6A, the "recommend for you" subgroup includes three items, while in FIGS. 6B and 6C, the subgroup has been expanded to include four items based on the increased interaction of the user with the subgroup. Likewise, the "most popular" subgroup includes three items in FIGS. 6A and 6B, but expands to four items in FIG. 6C. Since the "friend likes" subgroup has less user interaction than the other subgroups, in fig. 6C it is reduced to include only two items.
While these examples show that the number of items in a group may change over time based on user interaction, it should be understood that other changes may additionally or alternatively be made. As another example, if the user continuously selects items recommended by a particular friend, the items recommended by that friend may be promoted to a more prominent position in the group. As another example, if the user continuously selects an item located near the bottom of the display, a high confidence item may be located at the bottom of the display.
It should be appreciated that the above numbers are simplified and more complex adaptations may be applied to the list and layout. In fact, each time a list is presented to a user, an experiment is performed to determine what facilitates the added interaction, and changes may be made to the next list based on such interactions. Various aspects of the list and layout may be changed depending on the preferences and tendencies exhibited by the user. Such changes may be made gradually from one list to the next to avoid exposing the user to potentially confusing mutations.
In some embodiments, the methods and processes described above may be bundled into a computing system comprising one or more computers. In particular, the methods and processes described herein may be implemented as a computer application, computer service, computer API, computer library, and/or other computer program product.
FIG. 7 schematically illustrates a non-limiting computing system 700 that can perform one or more of the above-described methods and processes, or portions thereof. For example, the recommender 102, the view adapter 104, the event handler 120, and/or the user history 112 of FIG. 1 may take the form of a computing system 700. Computing system 700 is shown in simplified form. It should be understood that substantially any computer architecture may be used without departing from the scope of this disclosure. In different embodiments, the computing system 700 may take the form of a mainframe computer, server computer, desktop computer, laptop computer, tablet computer, home entertainment computer, network computing device, mobile communication device, gaming device, or the like.
Computing system 700 includes a logic subsystem 702 and a data-holding subsystem 704. Computing system 700 may optionally include a display subsystem 706, a communication subsystem 710, and/or other components not shown in fig. 7. Computing system 700 may also optionally include a user input subsystem 708 that includes devices such as: such as a keyboard, mouse, game controller, camera, microphone, and/or touch screen, etc. As described above, the input subsystem 708 may provide the user with various ways to interact with the recommendation.
Logic subsystem 702 may include one or more physical devices configured to execute one or more instructions. For example, the logic subsystem may be configured to execute one or more instructions that are part of one or more applications, services, programs, routines, libraries, objects, components, data structures, or other logical constructs. Such instructions may be implemented to perform a task, implement a data type, transform the state of one or more devices, or otherwise arrive at a desired result.
The logic subsystem may include one or more processors configured to execute software instructions. Additionally or alternatively, the logic subsystem may include one or more hardware or firmware logic machines configured to execute hardware or firmware instructions. The processors of the logic subsystem may be single-core or multi-core, and the programs executing thereon may be configured for parallel or distributed processing. The logic subsystem may optionally include individual components that are distributed throughout two or more devices, which may be remotely located and/or configured for coordinated processing. One or more aspects of the logic subsystem may be virtualized and executed by remotely accessible networked computing devices configured in a cloud computing configuration.
Data-holding subsystem 704 may include one or more physical, non-transitory devices configured to hold data and/or instructions executable by the logic subsystem to implement the herein described methods and processes. In implementing such methods and processes, the state of data-holding subsystem 704 may be transformed (e.g., to hold different data).
Data-holding subsystem 704 may include removable media and/or built-in devices. Data-holding subsystem 704 may include optical memory devices (e.g., CD, DVD, HD-DVD, Blu-ray disc, etc.), semiconductor memory devices (e.g., RAM, EPROM, EEPROM, etc.) and/or magnetic memory devices (e.g., hard disk drive, floppy disk drive, tape drive, MRAM, etc.), among others. Data-holding subsystem 704 may include devices with one or more of the following characteristics: volatile, nonvolatile, dynamic, static, read/write, read-only, random access, sequential access, location addressable, file addressable, and content addressable. In some embodiments, logic subsystem 702 and data-holding subsystem 704 may be integrated into one or more common devices, such as an application specific integrated circuit or a system on a chip.
FIG. 7 also illustrates an aspect of the data-holding subsystem in the form of removable computer-readable storage media 712, which may be used to store and/or transfer data and/or instructions executable to implement the herein described methods and processes. Removable computer-readable storage medium 712 may take the form of, inter alia, a CD, DVD, HD-DVD, blu-ray disc, EEPROM, and/or floppy disk.
It will be appreciated that data-holding subsystem 704 includes one or more physical, non-transitory devices. Rather, in some embodiments, aspects of the instructions described herein may propagate in a transient manner through a pure signal (e.g., an electromagnetic signal, an optical signal, etc.) that is not held by the physical device for at least a finite duration. In addition, data and/or other forms of information pertaining to the present invention may propagate through a pure signal.
The terms "module," "program," and "engine" may be used to describe an aspect of computing system 700 that is implemented to perform one or more particular functions. In some cases, such a module, program, or engine may be instantiated via logic subsystem 702 executing instructions held by data-holding subsystem 704. It should be appreciated that different modules, programs, and/or engines may be instantiated from the same application, service, code block, object, library, routine, API, function, etc. Likewise, the same module, program, and/or engine may be instantiated by different applications, services, code blocks, objects, routines, APIs, functions, etc. The terms "module," "program," and "engine" are intended to encompass a single or group of executable files, data files, libraries, drivers, scripts, database records, and the like.
It should be appreciated that a "service," as used herein, may be an application that is executable across multiple user sessions and is available to one or more system components, programs, and/or other services. In some implementations, a service may run on a server in response to a request from a client.
When included, display subsystem 706 may be used to present a visual representation of data held by data-holding subsystem 704. As the herein described methods and processes change the data held by the data-holding subsystem, and thus transform the state of the data-holding subsystem, the state of display subsystem 706 may likewise be transformed to visually represent changes in the underlying data. The display subsystem 706 may include one or more display devices using virtually any type of technology. Such display devices may be combined in a shared enclosure with logic subsystem 702 and/or data-holding subsystem 704, or such display devices may be peripheral display devices.
When included, the communication subsystem 710 may be configured to communicatively couple the computing system 700 with one or more other computing devices. Communication subsystem 710 may include wired and/or wireless communication devices compatible with one or more different communication protocols. By way of non-limiting example, the communication subsystem may be configured to communicate via a wireless telephone network, a wireless local area network, a wired local area network, a wireless wide area network, a wired wide area network, and/or the like. In some embodiments, the communication subsystem may allow computing system 700 to send and/or receive messages to/from other devices via a network (such as the internet).
It will be appreciated that the configurations and/or approaches described herein are exemplary in nature, and that these specific embodiments or examples are not to be considered in a limiting sense, because numerous variations are possible. The specific routines or methods described herein may represent one or more of any number of processing strategies. As such, various acts illustrated may be performed in the sequence illustrated, in other sequences, in parallel, or in some cases omitted. Also, the order of the above-described processes may be changed.
The subject matter of the present disclosure includes all novel and nonobvious combinations and subcombinations of the various processes, systems and configurations, and other features, functions, acts, and/or properties disclosed herein, as well as any and all equivalents thereof.

Claims (10)

1. A recommendation system (100) comprising:
a logic subsystem (702); and
a data-holding subsystem (704) holding instructions executable by the logic subsystem (702) to:
dynamically tracking (212) a list interaction history of a user, the list interaction history detailing user interactions with a plurality of different lists that present different recommendations to the user;
automatically correlating (216) one or more list preferences with the user based on the list interaction history; and
constructing a recommendation list (202) with a plurality of candidate items having different recommendation confidence levels such that each candidate item having a higher recommendation confidence level takes precedence over each candidate item having a lower recommendation confidence level in accordance with the one or more list preferences associated with the user.
2. The system of claim 1, wherein the instructions are further executable to correlate the list preferences with the user by tracking list attributes of recommended items with which the user interacts.
3. The system of claim 2, wherein the instructions are further executable to track a list property of recommended items with which the user interacts by tracking one or more of a user clicking on the recommended items, a user hovering over the recommended items, and a user purchasing the recommended items.
4. The system of claim 1, in which the recommendation confidence is determined by collaboration and/or feature filters.
5. The system of claim 1, wherein the list preferences are independent of content attributes.
6. The system of claim 1, wherein the list preferences include content attributes.
7. A recommendation method, comprising:
dynamically tracking (212) a list interaction history of a user, the list interaction history detailing list attributes of recommended items with which the user interacts, the list attributes being independent of content attributes of the recommended items; and
constructing a recommendation list (202) with a plurality of candidate terms having different recommendation confidence levels such that a candidate term having a relatively higher recommendation confidence level than another candidate term is given a list attribute for which the interaction history indicates that the user has previously exhibited a relatively higher interaction.
8. The method of claim 7, wherein the list attributes for each recommended item include one or more of: a size of the item on a user interface, a color of the item on the user interface, and a font of the item on the user interface.
9. The method of claim 7, wherein the list attribute of each recommended item includes a number of columns in which the list of items is presented.
10. The method of claim 7, wherein the list attribute of each recommended item includes a number of subtitles on the list in which the item is presented.
HK13105821.9A 2011-09-09 2013-05-16 Adaptive recommendation system HK1179000A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/229,482 2011-09-09

Publications (1)

Publication Number Publication Date
HK1179000A true HK1179000A (en) 2013-09-19

Family

ID=

Similar Documents

Publication Publication Date Title
US9208155B2 (en) Adaptive recommendation system
US10434417B1 (en) Changing user experience using application events and selected actions
US11367111B2 (en) Method and system for deploying arrangements of payloads based upon engagement of website visitors
CN112313697B (en) System and method for generating explainable description-based recommendations enhanced with description perspective
US9256886B2 (en) Content recommendation system and method
US9319745B2 (en) Media player system for product placements
JP2020099725A (en) Systems and methods for ranking of cloud-executed mini-games based on tag content and social network content
US10481760B2 (en) Interactive dynamic push notifications
US20120209586A1 (en) Contextual Demonstration of Applications Hosted on Multi-Tenant Database Systems
US9817846B1 (en) Content selection algorithms
WO2014144356A2 (en) Subscription-based mobile reading platform
CN102150175A (en) System and method for oral advertising
KR102887568B1 (en) Method and system for providing contents
WO2013137983A1 (en) Instant electronic book club
US10491967B1 (en) Integrating a live streaming video service with external computing systems
JP2016522486A (en) A social network that improves the quality of content items that respond to search queries
US20160005098A1 (en) Product recommendation engine based on remaining balance in a stored-value scenario
CN113806567B (en) Recommendation method and device for search terms
US12244898B2 (en) Automated content recommendation using a metadata based content map
US9985999B1 (en) Changing an application between a single-user session and a multi-user session
US10275808B1 (en) Item review system that provides comparative information to reviewer
US20240095785A1 (en) Intelligent Content-Item Recommendations
HK1179000A (en) Adaptive recommendation system
US11928658B2 (en) System and method for monitoring and updating content for an e-commerce platform
KR20190044440A (en) Multi-layered multi-dimensional analysis based advertisements recommendation apparatus and method