The present application claims priority to Russian Patent Application No. 2015141108, filed Sep. 28, 2015, entitled “METHOD AND APPARATUS FOR GENERATING A RECOMMENDED SET OF ITEMS FOR A USER”, the entirety of all of which is incorporated herein by reference.
The present technology relates to search engines in general and specifically to a method and apparatus for generating a recommended content list.
Various global or local communication networks (the Internet, the World Wide Web, local area networks and the like) offer a user a vast amount of information. The information includes a multitude of contextual topics, such as but not limited to, news and current affairs, maps, company information, financial information and resources, traffic information, games and entertainment related information. Users use a variety of client devices (desktop, laptop, notebook, smartphone, tablets and the like) to have access to rich content (like images, audio, video, animation, and other multimedia content from such networks).
The volume of available information through various Internet resources has grown exponentially in the past couple of years. Several solutions have been developed in order to allow a typical user to find the information that the user is looking for. One example of such a solution is a search engine. Examples of the search engines include GOOGLE™ search engine, YANDEX™ search engine, YAHOO™ search engine and the like. The user can access the search engine interface and submit a search query associated with the information that the user is desirous of locating on the Internet. In response to the search query, the search engine provides a ranked list of search results. The ranked list of search results is generated based on various ranking algorithms employed by the particular search engine that is being used by the user performing the search. The overall goal of such ranking algorithms is to present the most relevant search results at the top of the ranked list, while less relevant search results would be positioned on less prominent positions of the ranked list of search results (with the least relevant search results being located towards the bottom of the tanked list of search results).
The search engines typically provide a good search tool for a search query that the user knows a priori that she/he wants to search. In other words, if the user is interested in obtaining information about the most popular destinations in Italy (i.e. a known search topic), the user could submit a search query: “The most popular destinations in Italy?” The search engine will then present a ranked list of Internet resources that are potentially relevant to the search query. The user can then browse the ranked list of search results in order to obtain information she/he is interested in as it related to places to visit in Italy. If the user, for whatever reason, is not satisfied with the uncovered search results, the user can re-run the search, for example, with a more focused search query, such as “The most popular destinations in Italy in the summer?”, “The most popular destinations in the South of Italy?”, “The most popular destinations for a romantic getaway in Italy?”.
There is another approach that has been proposed for allowing the user to discover content and, more precisely, to allow for discovering and/or recommending content that the user may not be expressly interested in searching for. In a sense, such systems recommend content to the user without an express search request based on explicit or implicit interests of the user.
An example of such a system is a FLIPBOARD recommending system, which system aggregates and recommends content from various social networks. The FLIPBOARD recommending system presents the uncovered content in a “magazine style” format, where the user can “flip” through the pages with the recommended/aggregated content. The recommending system collects content from social media and other websites, presents it in magazine format, and allows users to “flip” through their social-networking feeds and feeds from websites that have partnered with the company, effectively “recommending” content to the user even though the user may not have expressly expressed her/his desire in the particular content.
In order to generate the ranked search results in a search engine system or a list of recommended resources in a typical recommending system, the respective system utilizes a machine learning algorithm to select search results and/or recommended content. There are several machine learning algorithms known in the art and utilized by search engines and/or recommendation systems. As is known, a typical machine learning algorithm is first “trained” using a training set (whether marked or unmarked) to generate a machine learning algorithm formula, which is then applied to determine at run time for generating an output based on the system inputs.
Developers of the present technology have appreciated certain technical drawbacks associated with the existing recommendation systems. Some conventional recommendation systems usually require a considerate amount of time to produce relevant content recommendations. Other recommendation systems may furnish content recommendations in an acceptable amount of time but the content recommendations may not be very relevant to a particular user. It is an object of the present technology to ameliorate at least some of the inconveniences present in the prior art.
According to one aspect of the present technology, there is provided a method of generating a recommended subset of items for a user of an electronic device, wherein the method is executed at a server. The method comprises: identifying, by the server, a first subset of items within a set of potentially recommendable items based on item features of items within the set of potentially recommendable items; acquiring, by the server, a request for the recommended subset of items; identifying, by the server, a second subset of items within the set of potentially recommendable items based on user events associated with the user, wherein each item within the second subset of items is different from any item within the first subset of items; and generating, by the server, the recommended subset of items, wherein the recommended subset of items comprises at least some items from the first subset of items and at least some items from the second subset of items.
In some implementations of the method, the method further comprises ranking, by the server, the items within the recommended subset of items.
In some implementations of the method, the method further comprises sending, by the server, instructions for displaying to the user the recommended subset of items.
In some implementations of the method, the method further comprises, prior to the acquiring the request, storing, by the server, the first subset of items in a database.
In some implementations of the method, the identifying and the storing the first subset of items is executed, by the server, in an off-line mode.
In some implementations of the method, the identifying the second subset of items comprises: identifying, by the server, a user-specific interacted subset of items from the user events associated with the user, wherein the user has interacted with each item within the user-specific interacted subset of items; identifying, by the server, a potential second subset of items within the set of potentially recommendable items, wherein each item within the potential second subset of items is similar to at least one item within the user-specific interacted subset of items; and excluding, by the server, items from the potential second subset of items that are included within the first subset of items.
In some implementations of the method, the identifying the potential second subset of items comprises comparing, by the server, each item within the user-specific interacted subset of items with each item within the set of potentially recommendable items.
In some implementations of the method, the excluding the items from the potential second subset of items that are included within the first subset of items comprises comparing, by the server, each item within the potential second subset of items with each item within the first subset of items.
In some implementations of the method, the recommended subset of items comprises only a most highly ranked item.
In some implementations of the method, the recommended subset of items comprises a predetermined number of most highly ranked items.
According to another aspect of the present technology, there is provided a server comprising a processing module and a database for generating a recommended subset of items for a user of an electronic device. The server is configured to: identify a first subset of items within a set of potentially recommendable items based on item features of items within the set of potentially recommendable items; acquire a request for the recommended subset of items; identify a second subset of items within the set of potentially recommendable items based on user events associated with the user, wherein each item within the second subset of items is different from any item within the first subset of items; and generate the recommended subset of items, wherein the recommended subset of items comprises at least some items from the first subset of items and at least some items from the second subset of items.
In some implementations of the server, the server is further configured to rank the items within the recommended subset of items.
In some implementations of the server, the server is further configured to send instructions for displaying to the user the recommended subset of items.
In some implementations of the server, the server is further configured to, prior to acquire the request, store the first subset of items in the database.
In some implementations of the server, wherein the server is configured to identify and to store the first subset of items in an off-line mode.
In some implementations of the server, to identify the second subset of items the server is configured to: identify a user-specific interacted subset of items from the user events associated with the user, wherein the user has interacted with each item within the user-specific interacted subset of items; identify a potential second subset of items within the set of potentially recommendable items, wherein each item within the potential second subset of items is similar to at least one item within the user-specific interacted subset of items; and exclude items from the potential second subset of items that are included within the first subset of items.
In some implementations of the server, to identify the potential second subset of items the server is configured to compare each item within the user-specific interacted subset of items with each item within the set of potentially recommendable items.
In some implementations of the server, to exclude the items from the potential second subset of items that are included within the first subset of items the server is configured to compare each item within the potential second subset of items with each item within the first subset of items.
In some implementations of the server, the recommended subset of items comprises only a most highly ranked item.
In some implementations of the server, the recommended subset of items comprises a predetermined number of most highly ranked items.
In the context of the present specification, a “server” is a computer program that is running on appropriate hardware and is capable of receiving requests (e.g., from client devices) over a network, and carrying out those requests, or causing those requests to be carried out. The hardware may be one physical computer or one physical computer system, but neither is required to be the case with respect to the present technology. In the present context, the use of the expression a “server” is not intended to mean that every task (e.g., received instructions or requests) or any particular task will have been received, carried out, or caused to be carried out, by the same server (i.e., the same software and/or hardware); it is intended to mean that any number of software elements or hardware devices may be involved in receiving/sending, carrying out or causing to be carried out any task or request, or the consequences of any task or request; and all of this software and hardware may be one server or multiple servers, both of which are included within the expression “at least one server”.
In the context of the present specification, “client device” is any computer hardware that is capable of running software appropriate to the relevant task at hand. Thus, some (non-limiting) examples of client devices include personal computers (desktops, laptops, netbooks, etc.), smartphones, and tablets, as well as network equipment such as routers, switches, and gateways. It should be noted that a device acting as a client device in the present context is not precluded from acting as a server to other client devices. The use of the expression “a client device” does not preclude multiple client devices being used in receiving/sending, carrying out or causing to be carried out any task or request, or the consequences of any task or request, or steps of any method described herein.
In the context of the present specification, a “database” is any structured collection of data, irrespective of its particular structure, the database management software, or the computer hardware on which the data is stored, implemented or otherwise rendered available for use. A database may reside on the same hardware as the process that stores or makes use of the information stored in the database or it may reside on separate hardware, such as a dedicated server or plurality of servers.
In the context of the present specification, the expression “information” includes information of any nature or kind whatsoever capable of being stored in a database. Thus information includes, but is not limited to audiovisual works (images, movies, sound records, presentations etc.), data (location data, numerical data, etc.), text (opinions, comments, questions, messages, etc.), documents, spreadsheets, lists of words, etc.
In the context of the present specification, the expression “component” is meant to include software (appropriate to a particular hardware context) that is both necessary and sufficient to achieve the specific function(s) being referenced.
In the context of the present specification, the expression “computer usable information storage medium” is intended to include media of any nature and kind whatsoever, including RAM, ROM, disks (CD-ROMs, DVDs, floppy disks, hard drivers, etc.), USB keys, solid state-drives, tape drives, etc.
In the context of the present specification, the words “first”, “second”, “third”, etc. have been used as adjectives only for the purpose of allowing for distinction between the nouns that they modify from one another, and not for the purpose of describing any particular relationship between those nouns. Thus, for example, it should be understood that, the use of the terms “first server” and “third server” is not intended to imply any particular order, type, chronology, hierarchy or ranking (for example) of/between the server, nor is their use (by itself) intended imply that any “second server” must necessarily exist in any given situation. Further, as is discussed herein in other contexts, reference to a “first” element and a “second” element does not preclude the two elements from being the same actual real-world element. Thus, for example, in some instances, a “first” server and a “second” server may be the same software and/or hardware, in other cases they may be different software and/or hardware.
Implementations of the present technology each have at least one of the above-mentioned object and/or aspects, but do not necessarily have all of them. It should be understood that some aspects of the present technology that have resulted from attempting to attain the above-mentioned object may not satisfy this object and/or may satisfy other objects not specifically recited herein.
Additional and/or alternative features, aspects and advantages of implementations of the present technology will become apparent from the following description, the accompanying drawings and the appended claims.
For a better understanding of the present technology, as well as other aspects and further features thereof, reference is made to the following description which is to be used in conjunction with the accompanying drawings, where:
Referring to
Generally speaking, the system 100 is configured to provide content recommendations to a user 102 of the system 100. The user 102 may be a subscriber to a recommendation service provided by the system 100. However, the subscription does not need to be express or paid for. For example, the user 102 can become a subscriber by virtue of downloading a recommendation application from the system 100, by registering and provisioning a log-in/password combination, by registering and provisioning user preferences and the like. As such, any system variation configured to generate content recommendations for the given user can be adapted to execute embodiments of the present technology, once teachings presented herein are appreciated. Furthermore, the system 100 will be described using an example of the system 100 being a recommendation system (therefore, the system 100 can be referred to herein below as a “recommendation system 100” or a “prediction system 100”). However, embodiments of the present technology can be equally applied to other types of the systems 100, as will be described in greater detail herein below.
The system 100 comprises an electronic device 104, the electronic device 104 being associated with the user 102. As such, the electronic device 104 can sometimes be referred to as a “client device”, “end user device” or “client electronic device”. It should be noted that the fact that the electronic device 104 is associated with the user 102 does not need to suggest or imply any mode of operation—such as a need to log in, a need to be registered, or the like.
The implementation of the electronic device 104 is not particularly limited, but as an example, the electronic device 104 may be implemented as a personal computer (desktops, laptops, netbooks, etc.), a wireless communication device (such as a smartphone, a cell phone, a tablet and the like), as well as network equipment (such as routers, switches, and gateways). The electronic device 104 comprises hardware and/or software and/or firmware (or a combination thereof), as is known in the art, to execute a recommendation application 106. Generally speaking, the purpose of the recommendation application 106 is to enable the user to receive (or otherwise access) content recommendations provided by the system 100, as will be described in greater detail herein below.
How the recommendation application 106 is implemented is not particularly limited. One example of the recommendation application 106 may include a user accessing a web site associated with a recommendation service to access the recommendation application 106. For example, the recommendation application 106 can be accessed by typing in (or otherwise copy-pasting or selecting a link) an URL associated with the recommendation service. Alternatively, the recommendation application 106 can be an app downloaded from a so-called app store, such as APPSTORE™ or GOOGLEPLAY™ and installed/executed on the electronic device 104. It should be expressly understood that the recommendation application 106 can be accessed using any other suitable means.
Generally speaking, the recommendation application 106 comprises a recommendation interface 108, the recommendation interface 108 being displayed on a screen (not separately numbered) of the electronic device 104. With reference to
The recommendation interface 108 includes a search interface 450. The search interface 450 includes a search query interface 452. The search query interface 452 can be implemented as an “omnibox” which allows entry of a search query for executing a search or a network address (such as a Universal Remote Locator) for identifying a network resource (such as a web site) to be accessed.
The recommendation interface 108 further includes a links interface 454. The links interface 454 includes a plurality of actuators 456, each of the plurality of actuators 456 having a link to either (i) a web site marked as “favourite” or otherwise marked by the user 102, (ii) a previously visited web site or (iii) the like. The plurality of actuators 456, in the depicted embodiment, is visually presented to the user 102 as square buttons with a logo and/or a name of the resource depicted therein, the logo and the name for enabling the user 102 to identify which resource the particular one of the plurality of actuators 456 is linked to. However, it should be expressly understood that the visual representation of some or all of the plurality of actuators 456 can be different. As such, some or all of the plurality of actuators 456 can be implemented as differently shaped buttons, as hyperlinks presented in a list or the like.
As an example, the plurality of actuators 456 includes inter alia a first actuator 458 and a second actuator 460. The first actuator 458 can be associated with a link to Yandex™ search engine and, to that end, the first actuator 458 has the Yandex search engine logo depicted therein and may be associated with a hyperlink to www.yandex.ru, for example. The second actuator 460 can be associated with a link to Youtube™ video sharing service and, to that end, the first actuator 458 has YoutTube video sharing logo depicted therein and may be associated with a hyperlink to www.youtube.com, for example. Needless to say, the number and content of the individual ones of the plurality of actuators 456 is not particularly limited.
The recommendation interface 108 further includes a recommended subset 152 of items. The recommended subset 152 of items includes one or more recommended items, such as a first recommended item 464 and a second recommended item 466. Naturally, the recommended subset 152 of items can have more (or fewer) than the two items (the first recommended item 464 and the second recommended item 466). Within the embodiment depicted in
How the content for the recommended subset 152 of items is generated will be described in greater detail herein below.
The recommendation interface 108 of
With reference to
As one will appreciate, the recommendation interface 108 of
Finally, with reference to
It is noted that the transition between the views of the recommendation interface 108 between that illustrated in
Returning to the description of
The server 112 can be implemented as a conventional computer server. In an example of an embodiment of the present technology, the server 112 can be implemented as a Dell™ PowerEdge™ Server running the Microsoft™ Windows Server™ operating system. Needless to say, the server 112 can be implemented in any other suitable hardware, software, and/or firmware, or a combination thereof. In the depicted non-limiting embodiments of the present technology, the server 112 is a single server. In alternative non-limiting embodiments of the present technology, the functionality of the server 112 may be distributed and may be implemented via multiple servers.
The server 112 comprises the processing module 114. The processing module 114 is operatively coupled to a first module 116 and a second module 118. The processing module 114 has access to a first database 120, a second database 122, a third database 124 and a fourth database 126. In the depicted embodiment, the processing module 114 has access to the first database 120, the second database 122, the third database 124 and the fourth database 126 via either one of the first module 116 and the second module 118. However, in alternative embodiments, the processing module 114 can have direct access to some or all of the first database 120, the second database 122, the third database 124 and the fourth database 126.
Furthermore, in the depicted illustration the first database 120, the second database 122, the third database 124 and the fourth database 126 are depicted as separate physical entities. This does not need to be so in each and every embodiment of the present technology. As such, some or all of the first database 120, the second database 122, the third database 124 and the fourth database 126 may be implemented in a single database. Furthermore, any one of the first database 120, the second database 122, the third database 124 and the fourth database 126 may, in itself, be split into several distributed storages.
By the same token, the processing module 114, the first module 116 and the second module 118 are depicted as separate physical entities. This does not need to be so in each and every embodiments of the present technology. As such, some or all of the processing module 114, the first module 116 and the second module 118 may be implemented in a single hardware apparatus. Furthermore, any one of the processing module 114, the first module 116 and the second module 118 may, in itself, be split into several distributed hardware apparatuses.
By the same token, all (or any combination of) the processing module 114, the first module 116, the second module 118, the first database 120, the second database 122, the third database 124 and the fourth database 126 may be implemented in a single hardware apparatus.
The functions of various components of the server 112 will be described in greater details.
The processing module 114 is configured to (i) receive from the electronic device 104 a request 150 for the recommended subset 152 of items and (ii) responsive to the request 150, to generate the recommended subset 152 of items specifically customized for the user 102 associated with the electronic device 104. The processing module 114 may further coordinate execution of various routines described herein as performed by the first module 116, the second module 118, as well as the first database 120, the second database 122, the third database 124 and the fourth database 126.
In some embodiments of the present technology, the request 150 may be generated in response to the user 102 providing an explicit indication of the user desire to receive the recommended subset 152 of items. For example, the aforementioned recommendation interface 108 can provide a button (or another actuatable element) to enable the user 102 to indicate her/his desire to receive a new or an updated recommended subset of items. As a non-limiting example, the recommendation interface 108 can provide an actuatable button that reads “Request a content recommendation”. Within these embodiments, the request 150 for the recommended subset 152 of items can be thought of as “an explicit request” in a sense of the user 102 expressly providing a request for the recommended subset 152 of items.
In other embodiments, the request 150 can be generated in response to the user 102 providing an implicit indication of the user desire to receive the recommended subset 152 of items. In some embodiments of the present technology, the request 150 can be generated in response to the user 102 starting the recommendation application 106.
In yet further embodiments of the present technology, the request 150 can be generated even without the user 102 providing either explicit or implicit indication of the user desire to receive the recommended subset 152 of items. For example, in those embodiments of the present technology where the recommendation application 106 is implemented as a browser (for example, a GOOGLE™ browser, a YANDEX™ browser, a YAHOO™ browser or any other proprietary or commercially available browser application), the request 150 can be generated in response to the user 102 opening the browser application and can be generated, for example, without the user 102 executing any additional actions other than activating the browser application. As another example, the request 150 can be generated in response to the user 102 opening a new tab of the already-opened browser application and can be generated, for example, without the user 102 executing any additional actions other than activating the new browser tab. In other words, the request 150 can be generated even without the user 102 knowing that the user 102 may be interested in obtaining the recommended subset 152 of items.
As another example, the request 150 may be generated in response to the user 102 selecting a particular element of the browser application and can be generated, for example, without the user 102 executing any additional actions other than selecting/activating the particular element of the browser application.
Examples of the particular element of the browser application include but are not limited to:
The first database 120 is configured to store module information. The module information may comprise information stored thereon by the processing module 114, the first module 116 and the second module 118.
The second database 122 is configured to store information related to item features associated with, for example, items with which at least one user has interacted. Examples of such items can include but are not limited to: a web site, a song to be streamed or downloaded from a network resource, a document downloaded from a network resource, a Search Engine Result Page (SERP) and the like.
Examples of the item features include but are not limited to:
The third database 124 is configured to store information related to a set 200 of potentially recommendable items, depicted in
The fourth database 126 is configured to store information related to user events (associated with the user 102, as well as other users potentially present in the system 100). Naturally, the user events can be stored in an encrypted form. Examples of the user events include but are not limited to:
It should be expressly understood that the user events and the item features may take many forms and are not specifically limited. As such, above presented lists of non-limiting examples of the way that the user events and the item features may be implemented are just examples thereof. As such, it should be expressly understood that many other alternative implementations of the user events and the item features may be contemplated in different implementations of the present technology.
How information is obtained and stored in the first database 120, the second database 122, the third database 124 and the fourth database 126 is not particular limited. Some example implementations will be outlined herein below.
For example, the information related to the item features may be obtained from a particular service that maintains information about various items available therefrom and the like; and stored in the second database 122. The information related to the item features may be divided into various categories representative of various types of items.
For example, the information related to the set of potentially recommendable items can be obtained from the particular service that maintains a list of existing and/or newly available items (for example, on-line media streaming resources, on-line media downloading resources, etc), from social media networks that the user 102 (and other users) subscribe to, news resources and the like; and stored in the third database 124.
For example, the information related to the user events may be obtained from the particular service that maintains information about various items available therefrom and user interactions with the various items, user search logs, user logs associated with user interactions with the particular service, user browser logs and the like; and stored in the fourth database 126. The information related to the user events may be stored in an encrypted form.
In some embodiments of the present technology, the processing module 114, the first module 116 and the second module 118 may be configured to perform various routines described herein below for executing different functionalities of the present technology.
In some embodiments, with reference to
For example, the first module 116 may rank the items within the set 200 of potentially recommendable items by their respective popularity, number of likes, number of downloads, price and the like. Further, the first module 116 may be configured to identify the first subset 202 of items as most highly ranked items within the set 200 of potentially recommendable items. For instance, the first module 116 may identify the first subset 202 of items as 100 most highly ranked items within the set 200 of potentially recommendable items. It should be noted that a number of the most highly ranked items within the set 200 of potentially recommendable items that may be identified as the first subset 202 of items by the first module 116 is not a limiting aspect of the present technology.
In other embodiments, the first module 116 may store the first subset 202 of items within the first database 120. In other words, the first module 116 may store the items within the first subset 202 of items within the first database 120 as part of the module information.
In alternative embodiments, the first module 116 may identify and store of the first subset 202 of items in an off-line mode. In other words, the first module 116 may identify and store of the first subset 202 of items prior to the electronic device 104 sending the request 150. In some implementations of the present technology, identifying and storing the first subset 202 of items in the off-line mode allows decreasing an amount of time required for the server 112 to respond to the request 150 (i.e. during the “run time” or, in other words, the use of the present technology).
In some embodiments, the second module 118 may retrieve from the fourth database 126 the user events associated with the user 102. As mentioned above, the user events associated with the user 102 may comprise the user events related to the items with which specifically the user 102 has interacted. Therefore, the second module 118 may identify a user-specific interacted subset of items, wherein specifically the user 102 has interacted with each item within the user-specific interacted subset of items, from the user events associated with the user 102. In additional embodiments, the set 200 of potentially recommendable items may comprise the items within the user-specific interacted subset of items.
The second module 118 may be configured to identify a potential second subset 204 of items within the set 200 of potentially recommendable items. In other words, the second module 118 may identify the potential second subset 204 of items within the set 200 of potentially recommendable items based on the user-specific interacted subset of items. In some embodiments, the second module 118 may retrieve the set 200 of potentially recommendable items from the third database 124, the item features associated with the items within the set 200 of potentially recommendable items and the item features associated with the items within the user-specific interacted subset of items from the second database 122. As a result, the second module 118 may be configured to compare each item within the user-specific interacted subset of items with each item within the set 200 of potentially recommendable items based on the item features associated with each respective item within the user-specific interacted subset of items and the set 200 of potentially recommendable items. The second module 118 may be configured to compare each item within the user-specific interacted subset of items with each item within the set 200 of potentially recommendable items to determine which items within the set 200 of potentially recommendable items are similar to at least one item within the user-specific interacted subset of items.
The second module 118 may determine that two items are similar based on their respective item features. For example, the second module 118 may determine that the two items are similar if they have at least some similar or analogous item-inherent characteristics. Let's say that a specific item within the user-specific interacted subset of items is a music track associated with the item-inherent characteristics of: Title “Lose yourself”, Artist “Eminem”, Album “8 mile”, Year “2002”, etc. In this case, the second module 118 may determine that a particular item within the set 200 of recommendable items is similar to the specific item within the user-specific interacted subset of items if, for example, the particular item is another music track associated with the item-inherent characteristics of: Title “Run Rabbit Run”, Artist “Eminem”, Album “8 mile”, Year “2002”.
In another embodiment, the second module 118 may determine that the two items are similar based on a comparison table 300 depicted in
In further embodiments, the comparison table 300 may be created based on item features other than the item-inherent characteristics. For example, each item in the item column 302 may be associated with at least one similar item within the similar items column 304 based on similar or analogous general popularities, number of likes, downloads, purchases and the like.
Therefore, with reference to
In some embodiments, the processing module 114 may be configured to identify a second subset 206 of items within the potential second subset 204 of items. To this end, the processing module 114 may be configured to retrieve the first subset 202 of items and the potential second subset 204 of items from the first module 116 and the second module 118, respectively. The processing module 114 may identify the second subset 206 of items within the potential second subset 204 of items by excluding the items from the potential second subset 204 of items that are included within the first subset 202 of items.
In some implementations of the present technology, identifying the second subset 206 of items may enable the server 112 to include items that may be relevant to the user 102 within the recommended subset 152 of items.
For example, the processing module 114 may compare each item within the potential second subset 204 of items with each item within the first subset 202 of items. The processing module 114 may determine that an item 208 and an item 210 are included in the first subset 202 of items and the potential second subset 204 of items. In this case, the processing module 114 may identify the second subset 206 of items by excluding the item 208 and 210 from the potential second subset 204 of items.
In alternative embodiments, the processing module may rank the items within the second subset 206 of items based on their respective item features. Based on the ranked items within the second subset 206 of items, the processing module 114 may further exclude low-ranked items from the ranked second subset 206 of items.
In some embodiments, the processing module 114 may be configured to generate the recommended subset 152 of items. To that end, the processing module 114 may be configured to merge the first subset 202 of items and the second subset 206 of items. Therefore, the recommended subset 152 of items may comprise at least some items from the first subset 202 of items and at least some items from the second subset 206 of items.
In other embodiments, the processing module 114 may be configured to rank the items within the recommended subset 152 of items. To that end, the processing module 114 may retrieve from the second database 122 the item features associated with the items within the recommended subset 152 of items. The processing module 114 may rank the items within the recommended subset 152 of items based on the item features associated with the respective items within the recommended subset 152 of items. For example, with reference to
In some embodiments, the processing module 114 may be configured to select the most highly ranked item within the recommended subset 152 of items as the recommended subset 152 of items. In other words, the processing module 114 may exclude all the items from the recommended subset 152 of items except the most highly ranked item. The processing module 114 may be configured to generate the recommended subset 152 of items that comprises the most highly ranked item amongst the first subset 202 of items and the potential second subset 204 of items. Therefore, the recommended subset 152 of items may comprise only the most highly ranked item.
In another embodiment, the processing module 114 may limit the recommended subset 152 of items to a certain pre-determined number of most highly ranked items, such as for example 20 (twenty) most highly ranked items within the recommended subset 152 of items or any other suitable number. In other words, the processing module 114 may exclude all the items from the recommended subset 152 of items except the 20 most highly ranked items (or any other suitable number of most highly ranked items). Therefore, the recommended subset 152 of items may comprise only a predetermined number of highly ranked items. The predetermined number may be predetermined by the human assessor, for example. Alternatively, the predetermined number can be selected by analyzing specific user past interactions with the recommendation system.
In further embodiments, the processing module 114 may send a data packet 153 to the electronic device 104 comprising instructions for displaying to the user 102 the recommended subset 152 of items.
With reference to
STEP 702: Identifying the first subset of items
The method 700 begins at step 702 with the server 112 identifying the first subset 202 of items within the set 200 of potentially recommendable items based on the item features associated with the items within the set 200 of potentially recommendable items.
In some embodiments, the first module 116 may rank the items within the set 200 of potentially recommendable items based on the item features associated with each item within the set 200 of potentially recommendable items. For example, the items within the set 200 of potentially recommendable items may be ranked by their respective general popularity, number of likes, number of downloads, price and the like. As a result, the first module 116 may identify the first subset 202 of items as the most highly ranked items within the set 200 of potentially recommendable items. For example, the first module 116 may identify the 100 most highly ranked items within the set 200 of potentially recommendable items as the items of the first subset 202 of items.
In other embodiments, the first module 116 may store the first subset 202 of items within the first database 120.
In alternative embodiments, the first module 116 may identify and store the first subset of items in an off-line mode. In other words, the first module 116 may identify and store of the first subset 202 of items prior to the request 150 being sent by the electronic device 104.
STEP 704: Acquiring the request for the recommended subset of items
The method 700 continues to step 704 with the server 112 acquiring the request 150 for the recommended subset 152 of items.
In some embodiments, the request 150 may be generated in response to the user 102 providing the explicit indication of the user desire to receive the recommended subset 152 of items. In other embodiments, the request 150 may be generated in response to the user 102 providing the implicit indication of the user desire to receive the recommended subset 152 of items.
In further embodiments, the request 150 may be generated even without the user 102 providing either the explicit or the implicit indication of the user desire to receive the recommended subset 152 of items. For example, the request 150 may be generated in response to the user 102 opening the recommendation application 106.
In alternative embodiments, the request 150 may be generated in response to the user 102 selecting the particular element of the browser application and may be generated, for example, without the user 102 executing any additional actions other than selecting/activating the particular element of the browser application.
STEP 706: Identifying the second subset of items
The method 700 continues to step 706 with the server 112 identifying the second subset 206 of items within the set 200 of potentially recommendable items based on the user events associated with the user 102, wherein each item within the second subset 206 of items being different from any item within the first subset 202 of items.
In some embodiments, the identifying the second subset 206 of items may comprise identifying, by the server 112, the user-specific interacted subset of items from the user events associated with the user 102, wherein specifically the user 102 has interacted with each item within the user-specific interacted subset of items.
In other embodiments, the identifying the second subset 206 of items may comprise identifying the potential second subset 204 of items within the set 200 of potentially recommendable items, wherein each item within the potential second subset 204 of items is similar to the at least one item within the user-specific interacted subset of items. To that end, the server 112 may compare each item within the user-specific interacted subset of items with each item within the set 200 of potentially recommendable items.
In alternative embodiments, the identifying the second subset 206 of items may comprise excluding, by the server 112, the items from the potential second subset 204 of items that are included within the first subset 202 of items. To that end, the server 112 may compare each item within the potential second subset 204 of items with each item within the first subset 202 of items.
STEP 708: Generating the recommended subset of items
The method 700 end at step 708 with the server 112 generating the recommended subset 152 of items, wherein the recommended subset 152 of items comprises the at least some items from the first subset 202 of items and the at least some items from the second subset 206 of items.
In some embodiments, the server 112 may rank the items within the recommended subset 152 of items. For example, the processing module 114 may rank the items within the recommended subset 152 of items based on their respective item features.
In some embodiments, the server 112 may send the instructions for displaying to the user 102 the recommended subset 152 of items. For example the processing module 114 may generate and send to the electronic device 104 the data packet 153 comprising the instructions for displaying to the user 102 the recommended subset 152 of items.
The method 700 ends at step 708.
In some embodiments of the present technology, the server 112 executing the method 700 may reduce an amount of time required for furnishing the instructions for displaying to the user 102 the recommended subset 152 of items. In other words, execution of the method 700 by the server 112 may reduce the amount of time between the appreciation of the request 150 by the server 112 and the generation of the data packet 153 comprising the instructions for displaying to the user 102 the recommended subset 152 of items. For instance, identifying and storing the first subset 202 of items in the off-line mode may allow the server 112 to reduce the amount of time required for furnishing the instructions to the electronic device 104 for displaying to the user 102 the recommended subset 152 of items.
It should be expressly understood that not all technical effects mentioned herein need to be enjoyed in each and every embodiment of the present technology. For example, embodiments of the present technology may be implemented without the user enjoying some of these technical effects, while other embodiments may be implemented with the user enjoying other technical effects or none at all.
Modifications and improvements to the above-described implementations of the present technology may become apparent to those skilled in the art. The foregoing description is intended to be exemplary rather than limiting. The scope of the present technology is therefore intended to be limited solely by the scope of the appended claims.
Embodiments of the present technology can be summarized as follows, expressed in numbered clauses.
CLAUSE 1. A method (700) of generating a recommended subset (152) of items for a user (102) of an electronic device (104), the method (700) being executed at a server (112), the method (700) comprises:
CLAUSE 2. The method (700) of clause 1, the method (700) further comprises ranking, by the server (112), the items within the recommended subset (152) of items.
CLAUSE 3. The method (700) of clause 1, the method (700) further comprises sending, by the server (112), instructions for displaying to the user (102) the recommended subset (152) of items.
CLAUSE 4. The method (700) of clause 1, the method (700) further comprises, prior to the acquiring (704) the request, storing, by the server (112), the first subset (202) of items in a database (120).
CLAUSE 5. The method (700) of clause 4, wherein the identifying (702) and the storing the first subset (202) of items are executed in an off-line mode.
CLAUSE 6. The method (700) of clause 1, the identifying (706) the second subset (206) of items comprises:
CLAUSE 7. The method (700) of clause 6, the identifying the potential second subset (204) of items comprises comparing, by the server (112), each item within the user-specific interacted subset of items with each item within the set (200) of potentially recommendable items.
CLAUSE 8. The method of clause 6, the excluding the items from the potential second subset (204) of items that are included within the first subset (202) of items comprises comparing, by the server (112), each item within the potential second subset (204) of items with each item within the first subset (202) of items.
CLAUSE 9. The method (700) of clause 2, wherein the recommended subset (152) of items comprises only a most highly ranked item (570).
CLAUSE 10. The method (700) of clause 2, wherein the recommended subset (152) of items comprises a predetermined number of most highly ranked items.
CLAUSE 11. A server (112) comprising a processing module (114) and a database (120) for generating a recommended subset (152) of items for a user (102) of an electronic device (104), the server (112) being configured to execute the method steps within clauses 1 to 10.
Number | Date | Country | Kind |
---|---|---|---|
2015141108 | Sep 2015 | RU | national |
Number | Name | Date | Kind |
---|---|---|---|
7007242 | Suomela et al. | Feb 2006 | B2 |
7328216 | Hofmann et al. | Feb 2008 | B2 |
7502789 | Yao et al. | Mar 2009 | B2 |
7540051 | Gundersen et al. | Jun 2009 | B2 |
D613300 | Chaudhri | Apr 2010 | S |
7849076 | Zheng et al. | Dec 2010 | B2 |
8010527 | Denoue et al. | Aug 2011 | B2 |
8244740 | Gruenhagen et al. | Aug 2012 | B2 |
8271898 | Mattos et al. | Sep 2012 | B1 |
8285602 | Yi et al. | Oct 2012 | B1 |
8290818 | Levitan et al. | Oct 2012 | B1 |
8301623 | Chakrabarti et al. | Oct 2012 | B2 |
8386955 | Weber et al. | Feb 2013 | B1 |
8412726 | Yan et al. | Apr 2013 | B2 |
8429184 | Ismalon | Apr 2013 | B2 |
8478664 | Xavier et al. | Jul 2013 | B1 |
8510252 | Gargi et al. | Aug 2013 | B1 |
D693833 | Inose et al. | Nov 2013 | S |
8600968 | Holenstein et al. | Dec 2013 | B2 |
8606792 | Jackson et al. | Dec 2013 | B1 |
8676736 | Pilaszy et al. | Mar 2014 | B2 |
8683374 | Vaughan et al. | Mar 2014 | B2 |
8712937 | Bacus et al. | Apr 2014 | B1 |
8751507 | Kim et al. | Jun 2014 | B2 |
8869042 | Kast | Oct 2014 | B2 |
8886797 | Gannu et al. | Nov 2014 | B2 |
8893042 | Laurie et al. | Nov 2014 | B2 |
8893043 | Dodson et al. | Nov 2014 | B2 |
8903834 | Ciancutti et al. | Dec 2014 | B2 |
8910070 | Goodger et al. | Dec 2014 | B2 |
8914399 | Paleja et al. | Dec 2014 | B1 |
8972865 | Hansen et al. | Mar 2015 | B2 |
8983888 | Nice et al. | Mar 2015 | B2 |
8996530 | Luvogt et al. | Mar 2015 | B2 |
9053416 | De Leo et al. | Jun 2015 | B1 |
9098248 | Suzuki et al. | Aug 2015 | B2 |
9122989 | Morris et al. | Sep 2015 | B1 |
9348898 | Nice et al. | May 2016 | B2 |
9405741 | Schaaf et al. | Aug 2016 | B1 |
9473803 | Wang | Oct 2016 | B2 |
9569785 | Alon et al. | Feb 2017 | B2 |
9660947 | Hart | May 2017 | B1 |
9785883 | Luvogt et al. | Oct 2017 | B2 |
9836533 | Levi et al. | Dec 2017 | B1 |
9836765 | Hariri et al. | Dec 2017 | B2 |
9900659 | Norum et al. | Feb 2018 | B1 |
20020054164 | Uemura | May 2002 | A1 |
20020198882 | Linden et al. | Dec 2002 | A1 |
20040158497 | Brand | Aug 2004 | A1 |
20040260621 | Foster et al. | Dec 2004 | A1 |
20050076365 | Popov et al. | Apr 2005 | A1 |
20050097190 | Abdelhak | May 2005 | A1 |
20060031114 | Zommers | Feb 2006 | A1 |
20060041548 | Parsons et al. | Feb 2006 | A1 |
20060293065 | Chew et al. | Dec 2006 | A1 |
20080222132 | Pan et al. | Sep 2008 | A1 |
20080250039 | Franks et al. | Oct 2008 | A1 |
20080256017 | Murakami | Oct 2008 | A1 |
20080266289 | Park | Oct 2008 | A1 |
20080294617 | Chakrabarti | Nov 2008 | A1 |
20090006371 | Denoue | Jan 2009 | A1 |
20090006373 | Chakrabarti et al. | Jan 2009 | A1 |
20090055385 | Jeon et al. | Feb 2009 | A1 |
20090150935 | Peters et al. | Jun 2009 | A1 |
20090163183 | O'Donoghue et al. | Jun 2009 | A1 |
20090249217 | Narayanaswami | Oct 2009 | A1 |
20090276368 | Martin et al. | Nov 2009 | A1 |
20090327941 | Fong et al. | Dec 2009 | A1 |
20100050067 | Curwen et al. | Feb 2010 | A1 |
20100070454 | Masuda et al. | Mar 2010 | A1 |
20100070928 | Goodger et al. | Mar 2010 | A1 |
20100131844 | Wohlert | May 2010 | A1 |
20100175018 | Petschnigg et al. | Jul 2010 | A1 |
20100205542 | Walman | Aug 2010 | A1 |
20100251304 | Donoghue et al. | Sep 2010 | A1 |
20100312650 | Pinckney et al. | Dec 2010 | A1 |
20100312724 | Pinckney et al. | Dec 2010 | A1 |
20110029636 | Smyth et al. | Feb 2011 | A1 |
20110035388 | Im et al. | Feb 2011 | A1 |
20110047136 | Dehn | Feb 2011 | A1 |
20110047491 | Hwang et al. | Feb 2011 | A1 |
20110066497 | Gopinath et al. | Mar 2011 | A1 |
20110072011 | Qiao | Mar 2011 | A1 |
20110107223 | Tilton et al. | May 2011 | A1 |
20110112981 | Park et al. | May 2011 | A1 |
20110179081 | Ovsjanikov et al. | Jul 2011 | A1 |
20110208732 | Melton et al. | Aug 2011 | A1 |
20110213761 | Song et al. | Sep 2011 | A1 |
20110246406 | Lahav et al. | Oct 2011 | A1 |
20110252050 | Palleti et al. | Oct 2011 | A1 |
20110258185 | Acharya et al. | Oct 2011 | A1 |
20110302117 | Pinckney et al. | Dec 2011 | A1 |
20110302158 | Sanders | Dec 2011 | A1 |
20110320450 | Liu et al. | Dec 2011 | A1 |
20120030159 | Pilaszy et al. | Feb 2012 | A1 |
20120054794 | Kim et al. | Mar 2012 | A1 |
20120059707 | Goenka et al. | Mar 2012 | A1 |
20120143871 | Liebald et al. | Jun 2012 | A1 |
20120158685 | White et al. | Jun 2012 | A1 |
20120191776 | Ruffner et al. | Jul 2012 | A1 |
20120209907 | Andrews et al. | Aug 2012 | A1 |
20120254097 | Flinn et al. | Oct 2012 | A1 |
20120304073 | Mandic et al. | Nov 2012 | A1 |
20120317104 | Radlinski et al. | Dec 2012 | A1 |
20130009990 | Hsu et al. | Jan 2013 | A1 |
20130024471 | Mitrovic | Jan 2013 | A1 |
20130031090 | Posse et al. | Jan 2013 | A1 |
20130041896 | Ghani et al. | Feb 2013 | A1 |
20130046772 | Gu et al. | Feb 2013 | A1 |
20130047112 | Waeller | Feb 2013 | A1 |
20130073988 | Groten et al. | Mar 2013 | A1 |
20130111395 | Ying et al. | May 2013 | A1 |
20130132515 | Mostafa et al. | May 2013 | A1 |
20130158693 | Beckmann et al. | Jun 2013 | A1 |
20130159243 | Wei et al. | Jun 2013 | A1 |
20130194308 | Privault et al. | Aug 2013 | A1 |
20130204737 | Agarwal et al. | Aug 2013 | A1 |
20130227054 | Zhang et al. | Aug 2013 | A1 |
20130262478 | Kemp et al. | Oct 2013 | A1 |
20130290110 | Luvogt et al. | Oct 2013 | A1 |
20130290905 | Luvogt et al. | Oct 2013 | A1 |
20130297698 | Odero et al. | Nov 2013 | A1 |
20130311408 | Bagga et al. | Nov 2013 | A1 |
20130346182 | Cheng et al. | Dec 2013 | A1 |
20130346234 | Hendrick | Dec 2013 | A1 |
20140006399 | Vasudevan et al. | Jan 2014 | A1 |
20140025532 | Huang | Jan 2014 | A1 |
20140025609 | Coster et al. | Jan 2014 | A1 |
20140032678 | Koukoumidis et al. | Jan 2014 | A1 |
20140040776 | Dann et al. | Feb 2014 | A1 |
20140074856 | Rao et al. | Mar 2014 | A1 |
20140095967 | Cheng et al. | Apr 2014 | A1 |
20140101142 | Gomez et al. | Apr 2014 | A1 |
20140122605 | Merom et al. | May 2014 | A1 |
20140129500 | Nice et al. | May 2014 | A1 |
20140136528 | Anima et al. | May 2014 | A1 |
20140137013 | Matas | May 2014 | A1 |
20140143012 | Alon et al. | May 2014 | A1 |
20140143738 | Underwood et al. | May 2014 | A1 |
20140156681 | Lee et al. | Jun 2014 | A1 |
20140164365 | Graham | Jun 2014 | A1 |
20140172544 | Rabkin | Jun 2014 | A1 |
20140172545 | Rabkin | Jun 2014 | A1 |
20140181121 | Nice et al. | Jun 2014 | A1 |
20140189014 | Dolan et al. | Jul 2014 | A1 |
20140195890 | Taylor et al. | Jul 2014 | A1 |
20140201675 | Joo et al. | Jul 2014 | A1 |
20140250390 | Holmes et al. | Sep 2014 | A1 |
20140278786 | Liu-Qiu-Yan | Sep 2014 | A1 |
20140280080 | Solheim et al. | Sep 2014 | A1 |
20140280221 | Chuang et al. | Sep 2014 | A1 |
20140280565 | Grewal | Sep 2014 | A1 |
20140298263 | Maeda et al. | Oct 2014 | A1 |
20140316930 | Jain et al. | Oct 2014 | A1 |
20140317105 | Jain et al. | Oct 2014 | A1 |
20140358916 | Anand et al. | Dec 2014 | A1 |
20140359489 | Zhao et al. | Dec 2014 | A1 |
20140365853 | Kleinhout et al. | Dec 2014 | A1 |
20140365854 | Karunamuni et al. | Dec 2014 | A1 |
20140379893 | Kannan et al. | Dec 2014 | A1 |
20150006286 | Liu et al. | Jan 2015 | A1 |
20150052003 | Tang et al. | Feb 2015 | A1 |
20150066643 | Choi et al. | Mar 2015 | A1 |
20150088921 | Somaiya et al. | Mar 2015 | A1 |
20150100587 | Walkingshaw et al. | Apr 2015 | A1 |
20150112801 | Nice et al. | Apr 2015 | A1 |
20150120712 | Yi | Apr 2015 | A1 |
20150120722 | Martin et al. | Apr 2015 | A1 |
20150154197 | Lightner et al. | Jun 2015 | A1 |
20150161256 | Jeh | Jun 2015 | A1 |
20150161672 | Jung et al. | Jun 2015 | A1 |
20150178282 | Gorur et al. | Jun 2015 | A1 |
20150189070 | Baker | Jul 2015 | A1 |
20150242492 | Bhatt et al. | Aug 2015 | A1 |
20150269370 | Phillips | Sep 2015 | A1 |
20150269488 | Galai et al. | Sep 2015 | A1 |
20150278706 | Shivashankar et al. | Oct 2015 | A1 |
20150312348 | Lustgarten | Oct 2015 | A1 |
20150325094 | Cheng et al. | Nov 2015 | A1 |
20150330805 | Cho et al. | Nov 2015 | A1 |
20150331859 | Raichelgauz et al. | Nov 2015 | A1 |
20150331951 | Wang et al. | Nov 2015 | A1 |
20150347358 | Shultz et al. | Dec 2015 | A1 |
20150370798 | Ju et al. | Dec 2015 | A1 |
20150378707 | Park et al. | Dec 2015 | A1 |
20150379146 | Tonse et al. | Dec 2015 | A1 |
20160004394 | Macadaan et al. | Jan 2016 | A1 |
20160055242 | Bradic et al. | Feb 2016 | A1 |
20160063065 | Khatri et al. | Mar 2016 | A1 |
20160070803 | Nuckolls | Mar 2016 | A1 |
20160110363 | Tkach et al. | Apr 2016 | A1 |
20160112760 | Kosseifi et al. | Apr 2016 | A1 |
20160147753 | Dimson et al. | May 2016 | A1 |
20160154887 | Zhao | Jun 2016 | A1 |
20160170982 | Djuric et al. | Jun 2016 | A1 |
20160196244 | Greenberg et al. | Jul 2016 | A1 |
20160275804 | Koppel et al. | Sep 2016 | A1 |
20160299992 | Cetintas et al. | Oct 2016 | A1 |
20160328480 | Owens et al. | Nov 2016 | A1 |
20160350812 | Priness et al. | Dec 2016 | A1 |
20160371274 | Ng et al. | Dec 2016 | A1 |
20170011112 | Jing et al. | Jan 2017 | A1 |
20170017369 | Kanter et al. | Jan 2017 | A1 |
20170024391 | Steck | Jan 2017 | A1 |
20170024657 | Sahu et al. | Jan 2017 | A1 |
20170060870 | Checkley | Mar 2017 | A1 |
20170060872 | Sacheti et al. | Mar 2017 | A1 |
20170061014 | Heiler et al. | Mar 2017 | A1 |
20170061286 | Kumar et al. | Mar 2017 | A1 |
20170068992 | Chen et al. | Mar 2017 | A1 |
20170076318 | Goswami et al. | Mar 2017 | A1 |
20170083965 | Sun | Mar 2017 | A1 |
20170091194 | Spiegel | Mar 2017 | A1 |
20170103343 | Yee et al. | Apr 2017 | A1 |
20170132230 | Muralidhar et al. | May 2017 | A1 |
20170293865 | Sandler | Oct 2017 | A1 |
20170337612 | Galron et al. | Nov 2017 | A1 |
20180011937 | Tikhonov | Jan 2018 | A1 |
20180014038 | Lamburt et al. | Jan 2018 | A1 |
20180075137 | Lifar | Mar 2018 | A1 |
Number | Date | Country |
---|---|---|
103077220 | May 2013 | CN |
103167330 | Jun 2013 | CN |
103473354 | Dec 2013 | CN |
103559262 | Feb 2014 | CN |
103678672 | Mar 2014 | CN |
103838842 | Jun 2014 | CN |
103942288 | Jul 2014 | CN |
104102696 | Oct 2014 | CN |
104317835 | Jan 2015 | CN |
104503973 | Apr 2015 | CN |
104636371 | May 2015 | CN |
303532062 | Dec 2015 | CN |
105893398 | Aug 2016 | CN |
106446195 | Feb 2017 | CN |
106777229 | May 2017 | CN |
106802915 | Jun 2017 | CN |
106815297 | Jun 2017 | CN |
106874374 | Jun 2017 | CN |
107491813 | Dec 2017 | CN |
3032780 | Jun 2016 | EP |
2009015834 | Jan 2009 | JP |
2015079395 | Apr 2015 | JP |
20160064447 | Jun 2016 | KR |
2368006 | Sep 2009 | RU |
2419858 | May 2011 | RU |
2451986 | Nov 2011 | RU |
2509341 | Mar 2014 | RU |
2523930 | Jul 2014 | RU |
2013101601 | Jul 2014 | RU |
2543315 | Feb 2015 | RU |
2577193 | Mar 2016 | RU |
2002052374 | Jul 2002 | WO |
2009087414 | Jul 2009 | WO |
2013010698 | Jan 2013 | WO |
13189738 | Dec 2013 | WO |
14141078 | Sep 2014 | WO |
Entry |
---|
European Search Report dated Dec. 11, 2017 with regard to the counterpart patent application EP 17 18 9557. |
Xiao et al., “Research and Implementation of Hybrid Recommendation Algorithm Based on Collaborative Filtering and Word2Vec”, 8th International Symposium on Computational Intelligence and Design, 2015, pp. 172-175. |
Koren et al., “Matrix Factorization Techniques for Recommender Systems”, IEEE Computer Society, Computer, vol. 42, No. 8, 2009, pp. 42-49. |
Russian Search Report from Russian patent application No. 2015141108 dated Sep. 7, 2016. |
European Search Report dated Sep. 14, 2017 with regard to the counterpart patent application EP 17 18 0212. |
European Search Report dated Sep. 18, 2017 with regard to the counterpart patent application EP 17 18 0214. |
RU Search Report (completion date: May 25, 2017) with regard to the counterpart patent application RU 2016127446. |
English Abstract for RU2013101601 retrieved on Espacenet on Nov. 2, 2017. |
English abstract of CN 103838842 retrieved from Espacenet on Feb. 3, 2017. |
Brunner, Don't panic: Mozilla will be incorporating ads into Firefox, http://www.extremetech.com/internet/176521-dont-panic-mozilla-will-be-incorporating-ads-into-firefox, Feb. 12, 2014, retrieved on Nov. 11, 2016. |
Mozilla / newnewtab, https://github.com/mozilla/newnewtab, retrieved on Nov. 11, 2016, 2 pages. |
Brinkmann, Mozilla adds Suggested Sites feature to New Tab Page, May 15, 2015, http://www.ghacks.net/2015/05/15/mozilla-adds-suggested-sites-feature-to-new-tab-page/, retrieved on Nov. 11, 2016, 14 pages. |
Lee, Mozilla Labs, New Tab Site Suggestions, https://blog.mozilla.org/labs/2012/11/new-tab-site-suggestions/, Nov. 2, 2012, retrieved on Nov. 11, 2016, 5 pages. |
Opera Help, Speed Dial, http://help.opera.com/Windows/12.10/en/speeddial.html, retrieved on Nov. 11, 2016, 2 pages. |
Sams, Windows 10 build 10120: Microsoft introduces a ‘new tab’ page for Edge, https://www.neowin.net/news/windows-10-build-10120-microsoft-introduces-a-039new-tab039-page-for-edge, May 18, 2015, retrieved on Nov. 11, 2016, 4 pages. |
Russian Search Report from RU patent application No. 2015141291 dated Nov. 2, 2016. |
Extended European Search Report from EP16190997, dated Feb. 16, 2017, Herry, Tzvetanka. |
European Search report from EP 16185747, Siodmok, Wojciech, dated Jan. 18, 2017. |
English abstract of CN103678672 retrieved from Espacenet on Jan. 20, 2017. |
English abstract of CN103077220 retrieved from Espacenet on Jan. 20, 2017. |
Russian Search Report dated Nov. 9, 2016 from Russian Patent Application No. 2015136684. |
Amatriain et al., System Architectures for Personalization and Recommendation, http://techblog.netflix.com/2013/03/system-architectures-for.html, retrieved on May 30, 2015. |
English Abstract of CN303532062 retrieved on Google Translate on Apr. 4, 2017. |
Kumar et al., “Knowledge Retrieval from Web Server Logs Using Web Usage Mining”, International Journal of Science and Research (IJSR), 2015, vol. 4, Issue 3, pp. 2173-2176. |
Kim et al., “Ranking Web Documents with Dynamic Evaluation by Expert Groups”, J. Eder and M. Missikoff (Eds.), CAISE, 2003, pp. 437-448. |
Russian Search Report from RU patent application No. 2016127447 dated Feb. 7, 2017. |
Pilaszy et al., “Fast ALS-based Matrix Factorization for Explicit and Implicit Feedback Datasets”, RECSYS'10, 2010, pp. 71-78. |
U.S. Appl. No. 15/236,538, filed Aug. 15, 2016. |
U.S. Appl. No. 15/263,493, filed Sep. 13, 2016. |
U.S. Appl. No. 15/607,555, filed May 29, 2017. |
U.S. Appl. No. 15/262,332, filed Sep. 12, 2016. |
U.S. Appl. No. 29/590,781, filed Jan. 13, 2017. |
U.S. Appl. No. 15/592,745, filed May 11, 2017. |
U.S. Appl. No. 15/606,326, filed May 26, 2017. |
U.S. Appl. No. 15/606,658, filed May 26, 2017. |
Notice of Allowance with regard to the counterpart U.S. Appl. No. 15/592,745 dated Oct. 11, 2018. |
Disclosed Anonymously, “System, Method and Computer Program Product for Generating a Relationship-Based Recommendation”, Apr. 28, 2006, 21 pages (in the Notice of Allowance with regard to the counterpart U.S. Appl. No. 15/592,745 dated Oct. 11, 2018). |
Jim Bainbridge et al., “IBM DB2 Web Query for I Tutorials”, Apr. 13, 2017, 570 pages (in the Notice of Allowance with regard to the counterpart U.S. Appl. No. 15/592,745 dated Oct. 11, 2018). |
Office Action with regard to the counterpart U.S. Appl. No. 15/263,493 dated Nov. 29, 2018. |
Office Action with regard to the counterpart U.S. Appl. No. 15/263,493 dated Sep. 20, 2018. |
Office Action with regard to the counterpart U.S. Appl. No. 15/236,538 dated Sep. 28, 2018. |
English Abstract for CN104317835 retrieved on Espacenet on May 7, 2018. |
English Abstract for CN105893398 retrieved on Espacenet on May 7, 2018. |
English Abstract for CN106446195 retrieved on Espacenet on May 7, 2018. |
English Abstract for KR20160064447 retrieved on Espacenet on May 7, 2018. |
English Abstract for CN104102696 retrieved on Espacenet on May 8, 2018. |
English Abstract for JP2015079395 retrieved on Espacenet on May 8, 2018. |
English Abstract for CN106777229 retrieved on Espacenet on May 8, 2018. |
English Abstract for CN103942288 retrieved on Espacenet on May 8, 2018. |
English Abstract for CN103559262 retrieved on Espacenet on May 8, 2018. |
English Abstract for CN106815297 retrieved on Espacenet on May 8, 2018. |
English Abstract for CN106802915 retrieved on Espacenet on May 8, 2018. |
English Abstract for CN107491813 retrieved on Espacenet on May 8, 2018. |
English Abstract for CN104503973 retrieved on Espacenet on May 8, 2018. |
English Abstract for CN106874374 retrieved on Espacenet on May 8, 2018. |
English Abstract for CN104636371 retrieved on Espacenet on May 8, 2018. |
Beemanapalli et al., “Incorporating Usage Information into Average-Clicks Algorithm”, Lecture Notes in Computer Science, vol. 4811, 2007, pp. 21-35, https://link.springer.com/chapter/10.1007%2F978-3-540-77485-3_2. |
English Abstract for CN103167330 retrieved on Espacenet on May 9, 2018. |
Youtube Account: RnStore, “Zmags Demo”, (May 19, 2011 ), times stamp 1:54/3:56, 2:20/3:56, PDF Attached, URL: https://www.youtube.com/watch?v=AsBrLdoEJgA, with regard to the U.S. Appl. No. 15/263,493. |
Youtube Account: iappletech128, “Close Tabs in Safari by Swiping”, (Oct. 20, 2013), time stamp 0:20-0:35/1 :18, PDF Attached, URL: https://www.youtube.com/watch?v=V8TTbYrFSmg, with regard to the U.S. Appl. No. 15/263,493. |
Youtube Account: macmostvideo, “Viewing Photos With the Finder (MacMost Now 612)”, (Sep. 30, 2011 ), time stamp 2:05-2:25, PDF Attached, URL: https://www.youtube.com/watch?v=tYoJI6G7Hkg, with regard to the U.S. Appl. No. 15/263,493. |
European Examination Report with regard to the counterpart patent application No. EP 16190999.9 dated Jun. 29, 2018. |
Notice of Allowance with regard to the counterpart U.S. Appl. No. 15/262,332 dated Mar. 18, 2019. |
English Abstract for JP2009015834 retrieved on Espacenet on Mar. 21, 2019. |
Office Action with regard to the counterpart U.S. Appl. No. 15/262,332 dated Dec. 27, 2018. |
English Abstract for CN103473354 retrieved on Espacenet on Jan. 4, 2019. |
Office Action with regard to the counterpart U.S. Appl. No. 15/606,326 dated Dec. 19, 2018. |
Office Action with regard to the counterpart U.S. Appl. No. 15/592,745 dated Mar. 8, 2019. |
Office Action with regard to the counterpart U.S. Appl. No. 15/263,493 dated May 9, 2019. |
Martin Beck, “Facebook Now Asks Why You're Hiding That Ad, to Better Target Them & Block Offensive Ones” (Sep. 11, 2014), Marketing Land, Social Media Marketing, Retrieved May 4, 2019, PDF Attached, https://marketingland.com/facebook-adjusts-news-feed-mix-suppress-ads-users-hide-99727 (Year: 2014). |
Notice of Allowance received with regard to the counterpart U.S. Appl. No. 15/606,658 dated Jun. 26, 2019. |
Number | Date | Country | |
---|---|---|---|
20170091336 A1 | Mar 2017 | US |