Method and system for generating personalized recommendations based on interaction data of multiple users

The system addresses the 'user cold start' issue by analyzing interaction data to generate personalized recommendations, ensuring accurate and engaging content suggestions for individual users in shared accounts.

WO2026115561A1PCT designated stage Publication Date: 2026-06-04JIOSTAR INDIA PTE LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
JIOSTAR INDIA PTE LTD
Filing Date
2025-11-12
Publication Date
2026-06-04

AI Technical Summary

Technical Problem

Existing personalized recommendation systems struggle with the 'user cold start' problem, particularly in shared accounts where multiple users' preferences are blended, leading to inconsistent and unsuitable content suggestions.

Method used

A system that analyzes interaction data from multiple users to identify dominant attributes and generates personalized recommendations based on these attributes, ensuring tailored content suggestions for individual users.

Benefits of technology

Enhances user engagement by providing accurate and relevant recommendations that align with each user's unique preferences, improving the overall experience and reducing frustration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IN2025051776_04062026_PF_FP_ABST
    Figure IN2025051776_04062026_PF_FP_ABST
Patent Text Reader

Abstract

A method and system for generating personalized recommendations based on interaction data of multiple users are disclosed. An interaction data associated with a plurality of users is accessed. Then a set of attributes is identified based on the interaction data, where the set of attributes indicates characteristics correlating the plurality of content items. Then a first set of attributes is selected among the set of attributes, where the first set of attributes is associated with interest of at least the first user. Based on content items corresponding to the selected first set of attributes, the one or more recommendations are generated, where the one or more recommendations pertain to one or more content items of interest. The one or more recommendations are displayed on at least one of devices associated with the user.
Need to check novelty before this filing date? Find Prior Art

Description

DescriptionTitle Of Invention: METHOD AND SYSTEM FOR GENERATING PERSONALIZED RECOMMENDATIONS BASED ON INTERACTION DATA OF MULTIPLE USERSCross-reference to related applications

[0001] This application claims priority from Indian provisional patent application 202421093559, filed on 29th November 2024, which is incorporated herein in its entirety by this reference thereto.Technical Field

[0002] The present invention generally relates to the delivery of digital content to content viewers, and more particularly, to a method and system for generating personalized recommendations based on consolidated interaction data of multiple users.Background

[0003] Personalized recommendation systems have become integral to enhancing user experience across a variety of platforms, including streaming services, e-commerce sites, and social media. These systems analyze user data, such as browsing history, interaction patterns, and stated preferences, to suggest relevant content, products, or services. By aligning recommendations with individual user preferences, platforms can increase engagement, satisfaction, and retention, making the recommendation system a key feature for user-centered applications.

[0004] The concept of a user profile is implemented in digital platforms to serve as a comprehensive representation of an individual’s preferences, behaviour, and identity within a system. Profiles enable platforms to deliver personalized content, recommendations, and experiences tailored to individual users, enhancing engagement and satisfaction. From streaming services to social media, e-commerce platforms, and mobile apps, profiles play a crucial role in customizing user interactions.

[0005] A common technological challenge associated with media streaming and online content is the “user cold start” problem. When a content provider gains a new subscription they often have limited information about the user’s content preferences, as well as the number and demographics of individuals who may share the subscription. For instance, a content service provider may not know the household members using the subscription or their specific viewing habits and preferences. This lack of initial data makes it difficult to offer personalized content recommendations.

[0006] Further, multiple people - such as family members - share a single user account on a platform. For instance, in a household with one streaming account, parents, children, and siblings may all watch content using the same account. This shared usage creates a blended dataset of viewing habits, which includes the preferences and interests of all users accessing that account, representing consolidated content history. As a result, the platform’s recommendation system maygenerate mixed or unsuitable recommendations that don’t fully cater to any one individual’s preferences. For example, if one family member primarily watches documentaries and another prefers animated movies, the system may struggle to accurately recommend content that aligns with each person’s unique tastes.

[0007] The shared account within platforms dilutes the effectiveness of personalization. Each service’s recommendations are influenced by only a part of the user’s overall preferences, leading to fragmented and sometimes contradictory suggestions. This inconsistency results in a less effective user experience, as the user cannot rely on any platform for truly tailored recommendations. In this case, when a platform gathers some information about user preferences, it may lack data on which content the user has already viewed. This gap prevents the platform from delivering tailored, relevant recommendations, potentially leading to a reduction in user engagement as the service appears unable to accurately address user needs and interests.

[0008] Accordingly, there is a need to facilitate the identification of interaction data belonging to the user to enhance recommendation accuracy and ensure that users enjoy consistent and relevant suggestions across their various accounts and devices while overcoming the drawbacks of current solutions. Further, it would be advantageous to enrich the content viewing history to enhance the overall quality of experience provided to the content viewers.SUMMARY

[0009] In an embodiment of the invention, a computer-implemented method for generating personalized recommendations based on an interaction data associated with a plurality of users is disclosed. The method accesses, by a system, an interaction data associated with a plurality of users. The interaction data includes user interaction information associated with a plurality of content items. The method identifies, by the system, a set of attributes based, at least, on the interaction data, the set of attributes indicating characteristics correlating the plurality of content items. The method selects, by the system, a first set of attributes among the set of attributes, where the first set of attributes, among the set of attributes, is associated with interest of at least the first user. The method generates, by the system, one or more recommendations based, at least, on content items corresponding to the selected first set of attributes, where the one or more recommendations pertain to one or more content items of interest to the first user. The method causes, by the system, display of the one or more recommendations on at least one of devices associated with the user.

[0010] In an embodiment of the invention, a system for generating personalized recommendations based on an interaction data associated with a plurality of users is disclosed. The system includes a memory and a processor. The memory stores instructions, that when executed by the processor, cause the system to access an interaction data associated with a plurality of users. The interaction data includes user interaction information associated with a plurality of content items. The system identifies a set of attributes based, at least, on the interaction data, the set of attributes indicating characteristics correlating the plurality of content items. The system selects, by the system, a firstset of attributes among the set of attributes, where the first set of attributes, among the set of attributes, is associated with an interest of at least the first user. The system generates one or more recommendations based, at least, on content items corresponding to the selected first set of attributes, where the one or more recommendations pertain to one or more content items of interest to the first user. The system causes display of the one or more recommendations on at least one of devices associated with the user.

[0011] A non-transitory computer-readable storage medium for generating personalized recommendations based on an interaction data associated with a plurality of users is disclosed. The non-transitory computer-readable storage medium comprises computer-executable instructions that, when executed by at least a processor of a system, cause the system to perform a method. The method accesses an interaction data associated with a plurality of users. The interaction data includes user interaction information associated with a plurality of content items. The method identifies a set of attributes based, at least, on the interaction data, the set of attributes indicating characteristics correlating the plurality of content items. The method selects a first set of attributes among the set of attributes, where the first set of attributes is associated with interest of at least the first user. The method generates one or more recommendations based, at least, on content items corresponding to the selected first set of attributes, where the one or more recommendations pertain to one or more content items of interest to the first user. The method causes display of the one or more recommendations on at least one of devices associated with the user.BRIEF DESCRIPTION OF THE FIGURES

[0012] The advantages and features of the invention will become better understood with reference to the detailed description taken in conjunction with the accompanying drawings, wherein like elements are identified with like symbols, and in which:

[0013] FIG. 1 is an example representation of an environment related to at least some example embodiments of the invention;

[0014] FIG. 2 is a block diagram of a system configured to generate personalized recommendations based on an interaction data associated with a plurality of users, in accordance with an embodiment of the invention;

[0015] FIG. 3 shows a block diagram of a computation module of the system of FIG. 2 for illustrating the identification of a set of attributes based on the interaction data, in accordance with an embodiment of the invention;

[0016] FIG. 4 shows a block diagram of a recommendation module of the system of FIG. 2 for illustrating the generation of personalized recommendations, in accordance with an embodiment of the invention;

[0017] FIGs. 5A-5B show an electronic device displaying a user interface (Ul) of an application of a content provider while accessing an existing profile or creating a new profile, in accordance with an exemplary embodiment of the invention;

[0018] FIG. 6 shows the electronic device of FIG. 5A displaying a user interface (Ul) of the application of the content provider while receiving user input regarding preferences or interest of the user, in accordance with another exemplary embodiment of the invention;

[0019] FIG. 7 shows the electronic device of FIG. 5A displaying a user interface (Ul) of the application of the content provider showing personalized recommendation to the user, in accordance with another exemplary embodiment of the invention;

[0020] FIG. 8 shows a flow diagram of a method for generating recommendations for a first user and a second user together, in accordance with an embodiment of the invention; and

[0021] FIG. 9 shows a flow diagram of a method for generating personalized recommendations based on an interaction data associated with a plurality of users, in accordance with another embodiment of the invention.

[0022] The drawings referred to in this description are not to be understood as being drawn to scale except if specifically noted, and such drawings are only exemplary in nature.DETAILED DESCRIPTION

[0023] The best and other modes for carrying out the present invention are presented in terms of the embodiments, herein depicted in FIGS. 1 to 9. The embodiments are described herein for illustrative purposes and are subject to many variations. It is understood that various omissions and substitutions of equivalents are contemplated as circumstances may suggest or render expedient but are intended to cover the application or implementation without departing from the spirit or scope of the invention. Further, it is to be understood that the phraseology and terminology employed herein are for the purpose of the description and should not be regarded as limiting. Any heading utilized within this description is for convenience only and has no legal or limiting effect.

[0024] The terms “a” and “an” herein do not denote a limitation of quantity, but rather denote the presence of at least one of the referenced items.

[0025] The term “digital content”, unless the context suggests otherwise, refers to any type of digital material distributed electronically for consumption by users. Digital content encompasses various forms, including but not limited to, audio content such as music, podcasts, or audiobooks; video content such as films, television programs, live broadcasts, or pre-recorded segments; and other online materials, including articles, e-books, or multimedia posts. Such content may be delivered via streaming, downloads, or static hosting and can be accessed on-demand or in real-time through internet-connected devices or platforms.

[0026] FIG. 1 is an example representation 100 of an environment related to at least some example embodiments of the invention. The example representation 100 depicts a user 102 controlling an electronic device 104 for viewing / accessing content offered by a content provider.

[0027] The term ‘content provider’ as used herein refers to an enterprise that manages digital content libraries or product inventories, delivering digital video content, products, or services through online platforms. For digital video content, a content provider may operate on a subscription basis, streaming video over the Internet via over-the-top (OTT) media services to subscribers’ electronic devices. In the context of e-commerce, a content provider may also represent an enterprise offering physical or digital products for purchase on an online marketplace, using recommendation algorithms to suggest relevant items based on user preferences and history. The term ‘content provider’ encompasses a digital platform to deliver targeted content or product recommendations to users. Although a specific content provider is not shown in FIG. 1 , an associated digital platform server and content library are represented in the example representation 100 and will be discussed in further detail later in this document.

[0028] The content offered by the content provider may include streaming video content such as livestreaming content or on-demand video streaming content or products or services. Individuals interested in accessing streaming content may subscribe to one or more subscription levels, such as a regular subscription or a premium subscription, offered by the content provider. In some embodiments, users may also engage with the platform through purchasing products, subscribing to product-based memberships, or participating in loyalty programs.

[0029] Accordingly, the terms ‘subscriber,’ ‘viewer,’ ‘content viewer,’ and ‘user’ are used interchangeably herein and may refer to individuals who have subscribed to or engaged with content or products offered by the content provider. These users may access digital media through a subscription or browse and purchase items available on the e-commerce platform, depending on the type of content provided.

[0030] It may be noted that the user 102 depicted in the environment is controlling the electronic device 104 for viewing / accessing the content items from the content provider. The user 102 may have downloaded a software application 106 (hereinafter referred to as an ‘application 106’ or an ‘app 106’) corresponding to at least one content provider on the electronic device 104. It is noted that the user 102 may use one or more electronic devices, such as a smartphone, a laptop, a desktop, a television, a personal computer, or any spatial computing device to view the content items provided by the content provider. In one illustrative example, the user 102 may access a Web interface associated with the application 106 associated with a content provider on the electronic device 104. It is understood that the electronic device 104 may be in operative communication with a communication network 110, such as the Internet, enabled by a network provider, also known as an Internet Service Provider (ISP). The electronic device 104 may connect to the communication network 1 10 using a wired network, a wireless network, or a combination of wired and wireless networks. Some non-limiting examples of wired networks may include the Ethernet, the Local AreaNetwork (LAN), a fiber-optic network, and the like. Some non-limiting examples of wireless networks may include Wireless LAN (WLAN), Wireless Fidelity (Wi-Fi), Light Fidelity (Li-Fi), cellular networks, Bluetooth or ZigBee networks, and the like.

[0031] The electronic device 104 may fetch the Web interface associated with the application 106 over the communication network 110 and cause the display of the Web interface on a display screen (not shown) of the electronic device 104. In an illustrative example, the Web interface may display a plurality of content items corresponding to the content offered by the content provider to its users. The content may include livestreaming content (e.g., live concerts, professional sports games, live sale events, etc.) and non-livestreaming content (e.g., video-on-demand, vlogs, product videos, user reviews, etc.).

[0032] In an illustrative example, the user 102 may select a content item related to a live event (e.g., a sports match or a musical concert) from among the plurality of recommended content items displayed on the display screen of the electronic device 104. The selection of the content item may trigger a request for a playback Uniform Resource Locator (URL). The request for the playback URL is sent from the electronic device 104 via the communication network 110 to a digital platform server 120 associated with the content provider. The digital platform server 120 is configured to facilitate the streaming of the digital content to a plurality of users, such as the user 102.

[0033] In at least some embodiments, the digital platform server 120 includes at least one of a Content Management System (CMS) and a User Management System (UMS) for authenticating the user 102 and determining if the user 102 is entitled to view the requested content item. To this effect, the digital platform server 120 may be in operative communication with one or more remote servers, such as an authentication server and an entitlement server. The authentication server and the entitlement server are not shown in FIG. 1. The authentication server may facilitate the authentication of user account credentials using standard authentication mechanisms, which are not explained herein. The entitlement server may facilitate the determination of the user’s subscription type (i.e. whether the user 102 has subscribed to regular or premium content) and status (i.e. whether the subscription is still active or is expired), which in turn may enable the determination of whether the user 102 is entitled to view / access the requested content item or not. It is noted that the requested content item may have been retrieved or cached from the content library 130 of the content provider.

[0034] The digital platform server 120 then identifies at least one Content Delivery Network (CDN) Point of Presence (PoP) which is in the proximity of the location of the user 102. As an illustrative example, three CDN PoPs such as a CDN PoP 108a, a CDN PoP 108b and a CDN PoP 108c, are depicted to be identified as CDN PoPs in the proximity of the location of the user 102 in FIG. 1. It is noted that the requested content may have been cached from the content library 130 of the content provider to the CDN PoPs 108a, 108b, and 108c (collectively, represented as CDN PoPs 108). Further, the digital platform server 120 identifies an optimal CDN PoP from among the CDN PoPs 108 for serving the user 102 with the requested content. The digital platform server 120 isconfigured to take into account, the location of the viewer, a content ID, performance metrics associated with the plurality of CDN PoPs 108a, 108b, and 108c, and one or more routing policies for determining the most optimal CDN for serving the requested content to the user 102.

[0035] In one illustrative example (not in accordance with example embodiments of the present disclosure), multiple viewers - such as family members - share a single user account on a platform to view or access content on the electronic device. For instance, in a household with one streaming account, parents, children, and siblings may all watch content using the same profile. This shared usage creates a blended dataset of viewing habits, which includes the preferences and interests of all users accessing that account, representing consolidated content history. As a result, the system associated with the platform may generate mixed or unsuitable recommendations that don’t fully cater to any one individual’s preferences. For example, if one family member primarily watches documentaries and another prefers animated movies, the system may struggle to accurately recommend content that aligns with each person’s unique tastes.

[0036] To overcome the aforementioned drawbacks and provide additional advantages, a system 150 is disclosed for generating personalized recommendations based on interaction data of multiple users. The system 150 is configured to access interaction data associated with a plurality of users. The interaction data includes user interaction information associated with a plurality of content items. For example, the interaction data indicates all the content items that were selected or viewed by the plurality of users in the past, such as user watch history, etc. In order to generate personalized recommendations, the system 150 is configured to analyze the interaction data based on various parameters such as genre, location, and demographic information associated with the content items. In particular, the system 150 initially analyzes the information associated with the content items that a plurality of users have engaged with in the past, to identify the set of attributes i.e. dominating parameters, and identify the interaction data (e.g., content history) associated with user 102 accordingly. By identifying interaction data associated with the user 102 according to the dominating factors i.e. more influential parameters, system 150 can better understand the types of content that reside within the interaction data of the user 102.

[0037] The system 150 is configured to select a first set of attributes among the set of attributes, where the first set of attributes is associated with interest of the user. The system 150 is also configured to generate one or more recommendations based on content items corresponding to the selected first set of attributes, where the one or more recommendations pertain to content items of interest to the user 102. The system 150 causes display of the one or more recommendations on at least one of devices associated with the user 102. This attribute-based analysis and identification of the content items relevant to the user 102 helps the system 150 offer more targeted suggestions, improving the user experience by delivering content that aligns with users’ preferences. The system 150 is explained in further detail with reference to FIG. 2.

[0038] FIG. 2 is a block diagram of the system 150 configured for generating personalized recommendations based on an interaction data associated with a plurality of users, in accordancewith an embodiment of the invention. The system 150 may be implemented in a server accessible over the communication network 1 10 (shown in FIG. 1). For example, the system 150 may be implemented in one or more computing devices as a part of a server entity and may be in operative communication with the digital platform server 120 (shown in FIG. 1). Alternatively, in at least some embodiments, the system 150 may be implemented within the digital platform server 120.

[0039] The system 150 includes at least one processing unit, such as a processing unit 152 and a memory 154. It is noted that although the system 150 is depicted to include only one processor, the system 150 may include multiple processors therein. In an embodiment, the memory 154 is capable of storing machine-executable instructions, referred to herein as platform instructions 155. Further, the processing unit 152 is capable of executing the platform instructions 155. In an embodiment, the processing unit 152 may be embodied as a multi-core processor, a single-core processor, or a combination of one or more multi-core processors and one or more single-core processors. For example, the processing unit 152 may be embodied as one or more of various processing devices, such as a coprocessor, a microprocessor, a controller, a digital signal processor (DSP), a processing circuitry with or without an accompanying DSP, or various other processing devices including integrated circuits for example, an application-specific integrated circuit (ASIC), a field- programmable gate array (FPGA), a microcontroller unit (MCU), a hardware accelerator, a specialpurpose computer chip, or the like. In an embodiment, the processing unit 152 may be configured to execute hard-coded functionality. In an embodiment, the processing unit 152 is embodied as an executor of software instructions, wherein the instructions may specifically configure the processing unit 152 to perform the algorithms and / or operations described herein when the instructions are executed.

[0040] The processing unit 152 is depicted to include a computation module 156 and a generation module 158. The computation module 156 and the generation module 158 may be implemented as hardware, software, firmware, or combinations thereof. The computation module 156 and the generation module 158 are explained further in detail.

[0041] The memory 154 may be embodied as one or more volatile memory devices, one or more nonvolatile memory devices, and / or a combination of one or more volatile memory devices and nonvolatile memory devices. For example, the memory 154 may be embodied as semiconductor memories (such as mask ROM, PROM (programmable ROM), EPROM (erasable PROM), flash memory, RAM (random access memory), etc.), digital storage solutions such as SSDs (solid-state drives), and memory-on-chip configurations (such as embedded DRAM or SRAM), magnetic storage devices (such as hard disk drives, floppy disks, magnetic tapes, etc.), optical magnetic storage devices (e.g., magneto-optical disks), CD-ROM (compact disc read-only memory), CD-R (compact disc recordable), CD-R / W (compact disc rewritable), DVD (Digital Versatile Disc) and BD (BLU-RAY® Disc).

[0042] In at least some embodiments, the memory 154 stores logic and / or instructions, which may be used by modules of the processing unit 152, such as the computation module 156 and thegeneration module 158. For example, the memory 154 includes logic and / or instructions for: (1) accessing an interaction data associated with a plurality of users, where the interaction data comprises user interaction information associated with a plurality of content items, (2) identifying a set of attributes based, at least, on the interaction data, where the set of attributes indicates characteristics correlating the plurality of content items, (3) selecting a first set of attributes among the set of attributes, where the first set of attributes is associated with interest of at least one user, (4) generating one or more recommendations based on content items corresponding to the selected first set of attributes, where the one or more recommendations pertain to content items of interest to the user, and (5) causing display of the one or more recommendations on at least one of devices associated with the user 102.

[0043] A user profile (interchangeably referred to as “viewer profile”) is a structural representation of an individual’s preferences, behaviour, and identity in digital platforms. The implementation of user profiles enables platforms to deliver personalized content, recommendations, and experiences tailored to individual users, enhancing engagement and satisfaction. From streaming services to social media, e-commerce platforms, and mobile apps, profiles play a crucial role in customizing user interactions. In the generation of the user profile, user interaction information indicating user interaction with the content items in the past plays a significant role. Based on the user interaction information, the personalized recommendations can be generated and provided to the user 102 to improve the quality of experience provided to viewers by making the digital content more interesting and more engaging for the viewers.

[0044] When a user 102 first registers with a digital platform, the user 102 is typically required to create a profile, providing a unique identifier within the system 150. Profile creation usually involves a registration process where users input their information, such as a username, email address, and password. This profile becomes the user’s primary identity on the platform, distinguishing their interactions from other users. In some embodiments, the user 102 can create multiple profiles under one account, e.g., in streaming services that offer family plans. Each profile under such an arrangement can receive individualized recommendations, making it possible for multiple users on one account to enjoy a customized experience.

[0045] Once a profile is created, the system 150 can start collecting data based on the user interaction information such as user’s actions, preferences, and interactions. This process involves tracking the user’s activity on the system 150, including the items they view, interact with, or purchase. The system 150 may collect interaction data including but not limited to search history, watch history, and the amount of time spent on specific content. These actions are monitored using cookies, in- app events, or server logs, which collectively provide insight into the user’s unique preferences. For instance, a streaming service can track the movies or shows a user watches, while an e-commerce site can track browsing behaviour, click-through rates, and purchasing patterns. Overtime, this data builds a profile-specific history that enables the system 150 to cater to each user’s interests.

[0046] The profile concept serves as a powerful foundation for creating customized digital experiences, combining user data with advanced algorithms to deliver tailored recommendations and content. Profiles allow system 150 to understand users at an individual level, driving engagement through relevant interactions. However, as personalization becomes more data-driven, privacy and data portability remain areas that need ongoing attention. By giving users control over their data and ensuring secure, transparent data practices, system 150 can continue to leverage profiles to create seamless, personalized experiences while respecting user privacy. For instance, if a user 102 frequently watches science fiction movies, the system 150 can recommend similar movies that align with the user’s interest. Similarly, an e-commerce site might highlight products related to the user’s previous purchases or browsing history. By tailoring content and recommendations in this way, the system 150 enhances user experience, ensuring that the interactions are meaningful and relevant.

[0047] When a content provider gains a new subscriber, they often have limited information about the user’s content preferences, as well as the number and demographics of individuals who may share the subscription. In order to have a system / platform with sufficient data, the present invention provides a mechanism to select the content items, from the consolidated user interactions belonging to multiple users, associated with the user. The selected content items are specific to the user and indicate the interests or preferences of the user. The selected content items, either directly or when combined with the existing user interaction data from the user profile, can help predict preferences and generate recommendations corresponding to relevant content or products. When the selected content items are merged with the user’s existing profile or watch history, the accuracy of the recommendations is significantly enhanced. Generation of the recommendation based on the selection of the content items relevant to the user enhances user engagement with the platform. In particular, the generated recommendations accurately reflect a user’s interests, preferences, and behaviours, and accordingly, users are more likely to explore the suggested content, leading to increased platform usage and deeper engagement. Such a personalized experience can foster loyalty, as users are more likely to trust and enjoy a platform that consistently delivers recommendations that match their preferences. Thus, the system 150 enhances the overall user experience and reduces the likelihood of users becoming frustrated or disengaged due to irrelevant or overwhelming options.

[0048] The system 150 further includes an input / output module 160 (hereinafter referred to as an ‘I / O module 160’) and at least one communication module such as a communication module 162. In an embodiment, the I / O module 160 may include mechanisms configured to receive inputs from and provide outputs to the operator(s) ofthe system 150. To that effect, the I / O module 160 may include at least one input interface and / or at least one output interface. Examples ofthe input interface may include, but are not limited to, a keyboard, a mouse, a joystick, a keypad, a touch screen, soft keys, a microphone, and the like. Examples of the output interface may include, but are not limited to, a display such as a light-emitting diode display, a thin-film transistor (TFT) display, a liquid crystal display, an active-matrix organic light-emitting diode (AMOLED) display, a microphone, a speaker, a ringer, a vibrator, and the like. In an example embodiment, the processing unit 152 may includeI / O circuitry configured to control at least some functions of one or more elements of the I / O module 160, such as, for example, a speaker, a microphone, a display, and / or the like. The processing unit 152 and / or the I / O circuitry may be configured to control one or more functions of the one or more elements of the I / O module 160 through computer program instructions, for example, software and / or firmware, stored on a memory, for example, the memory 154, and / or the like, accessible to the processing unit 152.

[0049] The communication module 162 may include communication circuitry such as a transceiver circuitry including an antenna and other communication media interfaces to connect to a communication network, such as the communication network 110 shown in FIG. 1. The communication circuitry may, in at least some example embodiments enable reception of: (1) an interaction data from remote entities, such as the content library 130 (shown in FIG. 1) or from the event venues, (2) recommended content items from the content library 130. The communication circuitry may further be configured to enable transmission of the recommended digital content to the CDN PoPs 108 or directly to the subscribers (e.g., the user 102).

[0050] The system 150 is further depicted to include a storage module 164. The storage module 164 is any computer-operated hardware suitable for storing and / or retrieving data. In one embodiment, the storage module 164 includes a metadata database 320, as shown in FIGs. 3 and 4, configured to store metadata associated with one or more content items that were interacted with the users in the past as content profiles. In an embodiment, the metadata database 320 may be configured to store a plurality of content profiles associated with content items that interacted in the past. In one illustrative example, the content profile may include various details about the content item, such as timestamps, key actions, title of the content, a brief synopsis or description, and genre classification, such as action, drama, comedy, or documentary. Additionally, the content profile associated with the content item can include information about the cast and crew, the actors, directors, producers, and other key contributors associated with the corresponding content item. The stored content profile allows the system 150 to quickly reference past content items and retrieve specific segments or details as needed for analysis, replay, or recommendation. This enables the system 150 to efficiently retrieve the relevant content and information, about the content items in order to generate the recommendation for the users.

[0051] In one embodiment, the metadata database 320 may be configured to store content profiles regarding a plurality of content items related to the product or services. In some embodiments, the content profile can include product titles, descriptions, and categories such as electronics, apparel, or home goods to help identify the type of product. Additionally, the content profile may include product-specific attributes such as price, brand, size, color, and material to facilitate personalized recommendations based on users’ past selections. This rich metadata enables the recommendation system to tailor suggestions that align closely with user interests, past behaviours, and browsing patterns, enhancing the relevance of product recommendations and encouraging increased engagement with the e-commerce platform.

[0052] The creation of content profiles may be performed manually by an operator of the system 150 using the I / O module 160, or, learned using a machine learning algorithm stored in the memory 154 of the system 150. The storage module 164 may include multiple storage units such as hard drives and / or solid-state drives in a redundant array of inexpensive disks (RAID) configuration. In some embodiments, the storage module 164 may include a storage area network (SAN) and / or a network- attached storage (NAS) system. In one embodiment, the storage module 164 may correspond to a distributed storage system, wherein individual databases are configured to store custom information, such as user logs for various digital content.

[0053] In some embodiments, the processing unit 152 and / or other components of the processing unit 152 may access the storage module 164 using a storage interface (not shown in FIG. 2). The storage interface may include, for example, an Advanced Technology Attachment (ATA) adapter, a Serial ATA (SATA) adapter, a Small Computer System Interface (SCSI) adapter, a RAID controller, a SAN adapter, a network adapter, and / or any component providing the processing unit 152 and / or the modules of the processing unit 152 with access to the storage module 164.

[0054] The various components of the system 150, such as the processing unit 152, the memory 154, the I / O module 160, the communication module 162, and the storage module 164 are configured to communicate with each other via or through a centralized circuit system 166. The centralized circuit system 166 may be various devices configured to, among other things, provide or enable communication between the components of the system 150. In certain embodiments, the centralized circuit system 166 may be a central printed circuit board (PCB) such as a motherboard, a mainboard, a system board, or a logic board. The centralized circuit system 166 may also, or alternatively, include other printed circuit assemblies (PCAs) or communication channel media.

[0055] In at least one example embodiment, the communication module 162 is configured to receive an interaction data associated with a plurality of users, which can include user interaction information associated with a plurality of content items that the plurality of users have interacted with. The interaction data associated with a plurality of users can include a range of interaction types. The interaction data can include a history involving viewing or click-through data, where the system 150 logs each time a user clicks on, views, or browses a content item. For media platforms, interaction data may further include watch duration or time spent on each content item, providing a deeper understanding of the level of engagement with specific content.

[0056] For e-commerce platforms, user interaction data can also include actions like adding items to the cart or wishlist, completing a purchase, and writing reviews or ratings. These actions signal different levels of interest and intent, where a completed purchase indicates high intent and likely satisfaction, while adding to a wishlist may indicate future interest. The interaction data can include search history and filter usage - such as filtering products by price, brand, or rating. Furthermore, the interaction data can also include user engagement metrics, such as likes, shares, comments, or recommendation clicks when a user selects an item. In some embodiments, the interaction datacan include a frequency of interaction indicating how often a user returns to interact with similar content.

[0057] The interaction data for the users are captured through a series of coordinated tracking mechanisms that log each action a user takes on the platform. These interactions are typically monitored in real-time using event tracking systems and data pipelines that record and process actions as they occur. By implementing various tracking scripts and application programming interface (API) calls, the system 150 can capture detailed interaction data, which then feeds into databases or analytics systems for further processing.

[0058] When a user interacts with the system 150 - whether by clicking on an item, scrolling through a page, watching a video, or making a purchase - a tracking event is triggered. This event is generally configured to collect key information, including the type of action (e.g., click, view, purchase), timestamp, user ID or session ID, and the ID of the content item the user interacted with. These events are often sent to the backend via Hypertext Transfer Protocol (HTTP) requests or API calls, which are designed to log each interaction securely and efficiently.

[0059] Once the interaction data are captured, it is usually stored in a database or data warehouse, often in structured formats optimized for querying and analysis. This storage allows for further processing, such as aggregation or categorization, which is critical for generating personalized recommendations. For instance, user views or clicks on specific content categories can be grouped over time to develop a behavioural profile for each use.

[0060] When multiple users share a single account on a platform associated with the system 150, the interaction data from each individual is consolidated into a unified history. The interaction data associated with a plurality of users are collective recorded and maintained within the same account profile. Interaction data encompasses various forms of user activity, such as browsing behavior, search queries, or content preferences, etc. This results in a blend of preferences and behaviours that may not reflect each member’s unique tastes, potentially leading to less relevant or personalized recommendations. This scenario is particularly common on streaming services, e- commerce platforms, and other personalized content platforms where shared accounts are the norm due to convenience or lack of multi-profile support.

[0061] For example, in a streaming service, a family of four - parents, and two children - use the same account to access content. The parents may prefer watching drama or news programs, while the children might be more interested in cartoons or animated movies. As a result, the interaction data from all family members is merged, leading to a consolidated watch history that includes a mix of content genres. The system, when relying solely on this consolidated data, may recommend content that blends genres - such as family-friendly films that are a mix of both adult and children’s content - but it would lack the precision needed to cater to each family member’s specific tastes. For example, a parent may see recommendations for cartoons they have no interest in, while a child might be shown news programs or documentaries that are too complex for their age group. This happens because the recommendations are based on the shared viewing history.

[0062] In another example, on an e-commerce platform, consider the same family account is used for shopping. One family member primarily buys clothing, another purchases home improvement tools, and a third focuses on groceries and household items. All these interactions are recorded under one account. The purchase history would include a wide variety of products across different categories, which can result in consolidated interaction data that fails to effectively represent any one member’s true preferences. As a result, the system 150 can recommend products that are a mix of clothing, tools, and groceries, which may not be relevant to the person browsing at any given time. For example, the system 150 can suggest home improvement tools to a family member shopping for groceries, which could be frustrating and irrelevant, thereby negatively impacting the user experience.

[0063] Thus, when all family members use a single account, the consolidated interaction data results in generalized recommendations that fail to capture each person’s individual preferences. The system 150 is configured to identify relevant content items associated with at least one member, which can allow the service to track the individual preferences of each family member separately, generating personalized recommendations for each user based on their unique interaction data.

[0064] The communication module 162 may be configured to forward the interaction data from the content library 130 to the processing unit 152. The modules of the processing unit 152 in conjunction with the instructions stored in the memory 154 may be configured to process such inputs to generate the recommendations specific to the user in response to the selection of the relevant content items in the interaction data. The processing of inputs by the computation module 156 of the processing unit 152 is explained next with reference to FIG. 3.

[0065] FIG. 3 shows a block diagram 300 of the computation module 156 for illustrating the identification of a set of attributes based on the interaction data, in accordance with an embodiment of the invention. As explained with reference to FIG. 3, the computation module 156 is configured to receive interaction data 250 and analyze it to identify a set of attributes.

[0066] The computation module 156 is depicted to include an accessing module 302 and an identification module 304. In at least one embodiment, the accessing module 302 is configured to receive or access the interaction data 250 associated with a plurality of users. In an embodiment, the interaction data 250, once generated, is stored in the content library 130. The accessing module 302 can retrieve the interaction data 250 from the content library 130 through the communication module 162. The interaction data 250 includes user interaction information associated with a plurality of content items. The interaction data 250 can include consolidated interaction information between the plurality of users and a plurality of content items i.e. information indicating the interactions of the plurality of users with the plurality of content items. The interaction data 250 associated with a plurality of users can include a range of interaction types. The interaction data 250 can include a history involving viewing or click-through data, where the system logs each time a user clicks on, views, or browses a content item. This information helps determine which items attract initial user interest. For media platforms, the interaction data 250 may further include watchduration or time spent on each content item, providing a deeper understanding of the user’s level of engagement with specific content. For example, if a user watches a video from start to finish, it signals a high level of interest, while short view times may suggest less engagement.

[0067] For e-commerce platforms, interaction data 250 can also include actions like adding items to the cart or wishlist, completing a purchase, and writing reviews or ratings. These actions signal different levels of interest and intent, where a completed purchase indicates high intent and likely satisfaction, while adding to a wishlist may indicate future interest. The interaction data 250 can also include search history and filter usage - such as filtering products by price, brand, or rating, thereby revealing combined user preferences associated with the plurality of users.

[0068] Upon accessing the consolidated interaction data 250 corresponding to the plurality of users, the accessing module 302 may send the interaction data 250 to the identification module 304. The identification module 304 is configured to receive the interaction data and based on its analysis, identify a set of attributes. The set of attributes indicates characteristics correlating the plurality of content items. Each attribute may contain one or more parameters combinedly to represent common characteristics for a group of content items. In other words, the identification module 304 may identify the attributes or dominating factors that can be used to categorize or segregate the plurality of content items. Each attribute can be used to form a corresponding group of content items having the common characteristics among the content items within the group. The attribute can include one or more parameters based on the correlation among the group of content items. For example, within the plurality of content items, the content items that are exclusively related to “action” or solely related to ‘English Language’ are almost the same, therefore, the dominating factor can correspond to the attribute that can include parameters ‘action’ and ‘English Language’. In this case, the content items associated with this attribute can include movies or TV shows with fast-paced scenes, thrilling moments, or intense sequences (e.g., superhero movies, action-adventure films, or action-packed TV shows, etc.), which are available in English Language.

[0069] The identification module 304 may employ one or more machine learning algorithms to determine the similarity between content items, thereby identifying a set of attributes.

[0070] In an embodiment, the identification module 304 is configured to extract a set of parameters for each of the plurality of content items based on the user interaction information associated with the plurality of content items according to step 304a. Specifically, it extracts a set of parameters for each content item by leveraging user interaction information. These parameters can include features such as but not limited to genre, duration, language, release year, or any other characteristic derived from how the user engages with the content. This interaction information - such as the items accessed, viewed, or otherwise engaged with - provides a basis for understanding user preferences. To extract these parameters, the identification module 304 is configured to retrieve metadata associated with the content items the user has interacted with, from the metadata database 320. The metadata includes detailed information about each content item, such as its title, description, categories, and technical details. By combining this metadata with interaction data 250,the module effectively identifies a set of parameters associated with each of the plurality of content items. For example, the extracted parameters associated with movie A can include information about movie A such as duration of movie A, actors or director of movie A, the time spent on the movie A by at least one of the plurality of users, and so on.

[0071] After extracting the set of parameters for each content item, the identification module 304 proceeds to determine a count of content items associated with each possible combination of these parameters according to step 304b. Each combination can include one or more parameters of the extracted set of parameters, where each combination of the parameters represents a unique set of characteristics that describe a particular group of content items. For example, a combination can include parameters like “action genre,” “English language,” and “high user rating.” These combinations are created to explore the relationships between different parameters and how they align with user interactions. For each selected combination of parameters, the identification module 304 determines the count of content items that are associated with that combination. This indicates that the identification module 304 checks how many of the content items from the entire set meet the criteria defined by the specific combination. For instance, if the combination is “action genre” and “English language”, the identification module 304 may count how many content items are categorized as both “action” and “English.” These selections help identify how the different parameters interact and which combinations are most significant in the context of user engagement.

[0072] The described process is repeated for each individual parameter as well as for each possible group of parameters within the set. For instance, in a scenario where the set of parameters consists of four distinct parameters, the combinations are as follows:• For individual parameters: 4 combinations• For groups containing two parameters: 6 combinations• For groups containing three parameters: 4 combinations• For a group containing all four parameters: 1 combinationAccordingly, the total number of parameter combinations within the set amounts to 15. The identification module 304 is configured to determine the count of content items associated with each of these combinations. This process ensures a comprehensive evaluation of content items against all potential subsets of the parameters.

[0073] The resulting counts help in evaluating the popularity or relevance of each combination, thereby identifying more influencing parameters or dominating parameters. By analyzing these counts, the identification module 304 can identify trends or patterns in user interactions, which can be used to refine user experience or generate insights about content preferences. This approach allows the system 150 to categorize the interaction data 250 based on the most frequent or relevant combinations of parameters that align with user behaviour.

[0074] Once the count of the content items is determined for each subset of parameters, the identification module 304 proceeds to determine whetherthe count of content items associated with each subset of the set of parameters exceeds a predefined threshold according to step 304c. This step enables the system 150 to quantify and assess content relevance by examining how many content items fit the selected parameters. This information can be used to provide more accurate and tailored recommendations. For instance, if the number of content items associated with the genre “comedy” exceeds a predefined threshold e.g., 50, the genre “comedy” can constitute an attribute. The threshold may vary depending on whether it applies to a single parameter or a combination of multiple parameters. Alternatively, instead of applying a threshold, the identification module 304 may identify the top-ranking categories by selecting those with the highest content item counts across all parameter combinations. This approach prioritizes categories that are most represented or popular. This method dynamically adapts to the data distribution without relying on fixed thresholds.

[0075] The identification module 304 proceeds to select each subset, of the extracted set of parameters, having the count of content items exceeding a predefined threshold as an attribute to determine a set of attributes according to the step 304d. In other words, if the count of content items in a subset exceeds a predefined threshold, the identification module 304 selects that subset of parameters as an attribute. These selected subsets are then compiled to form a set of attributes that meet the threshold criteria, as part of step 304d. This approach helps the identification module 304 to filter and identify only those attributes that have significant relevance i.e., those associated with a substantial number of content items (interchangeably referred to as “dominating factors”), which can then be used for further analysis or recommendations.Examples of attributes (contextual representation of the attributes):• “Action” and “Short duration”• “Comedy”• Actor “A”• “Long duration” and Action “B”• “Horror” and “Short Duration”

[0076] In an embodiment, the identification module 304 may classify the interaction data 250 into a plurality of content clusters based on the identified set of attributes. Thus, the identification module 304 can organize a large number of content items into smaller, distinct groups called content clusters. This clustering is performed using a set of attributes that represent specific characteristics or criteria derived from the content items. The number of clusters is the same as the number of attributes. This method helps to group similar content items together, making it easier to manage, analyze, or recommend content. By associating each cluster with a particular attribute, the system150 ensures that the content within a cluster is relevant to the attribute, simplifying processes like targeted recommendations or user preference analysis.

[0077] Upon identification of the set of attributes, the identification module 304 may provide information related to the set of attributes to the generation module 158. The information to the attributes is hereinafter referred to as ‘attribute data 310’. This data 310 may encompass information associated with each attribute such as parameters included in the attribute, the content items associated with the attribute, etc. Thus, the computation module 156 may access the combined user interaction of multiple users and identify a set of attributes, which establish the correlations among the plurality of content items. The processing of the attribute data 310 by the generation module 158 is explained next with reference to FIG. 4.

[0078] FIG. 4 shows a block diagram 400 of the generation module 158 for illustrating the generation of personalized recommendations 450, in accordance with an embodiment of the invention. The generation module 158 is depicted to include a selection module 402 and a recommendation module 404. As explained with reference to FIG. 4, the computation module 156 is configured to provide the attribute data 310 to the generation module 158.

[0079] The selection module 402 may obtain the attribute data 310 from the computation module 156 and may select a first set of attributes among the set of attributes. The first set of attributes is associated with interest of at least one user. The selection process begins after the set of attributes are identified. Each attribute indicates specific characteristics, such as genre, language, or other parameters. The selection module 402 is responsible for identifying which attributes are most relevant for the user 102.

[0080] The selection module 402 may select a first set of attributes from the larger group of attributes. These selected attributes are chosen based on their relevance as the attributes of interest for at least one user. The attributes of interest refer to the specific content characteristics that the user prefers, which can include parameters such as but not limited to “action genre,” “comedy,” or “English language.” The selection module 402 identifies which attributes align with these preferences and selects those attributes for further analysis or recommendation. This process ensures that the content presented to the user is tailored to their interests.

[0081] Thus, the selection module 402 filters through the created content attributes and picks the ones that correspond to the user’s specific interests, based on their interaction history or preferences. By focusing on attributes that the user finds most relevant, the selection process ensures that the user is shown content that matches their interests, optimizing their experience with the platform.

[0082] In an embodiment, in order to select the first set of attributes, the selection module 402 may obtain the information about the user preferences. This step is crucial to ensure that the selected attributes align with the user’s interests, enhancing the relevance of the content recommendations. The selection module 402 may connect with the content library and obtain the profile information associated with the user preferences.

[0083] In an embodiment, the selection module 402 may leverage a user profile stored in the content library to aid in selecting the first set of attributes. The user profile is created at the time the user registers or generates their profile on the platform. This profile acts as a repository of key information about the user, such as their identity (e.g., username or ID), age, and preferences or interests. The preferences stored in the user profile may include explicit information provided by the user during registration, such as favorite genres, languages, or categories of content. This comprehensive profile enables the selection module 402 to make informed choices about which attributes are most likely to align with the user’s interests. By accessing the user profile directly from the content library, the selection module 402 can efficiently determine the user’s preferences without requiring additional input from the user at every instance, thus selecting the first set of attributes corresponding to the interest of the user. This stored profile serves as a convenient and reliable source for understanding user behaviour, enhancing the accuracy of the selection process for personalized content recommendations.

[0084] In another embodiment, the selection module 402 may actively engage the user to determine their preferences. This can involve requesting the user to provide inputs about their likes and dislikes, which may include genres, languages, or specific types of content. For instance, the selection module 402 may present the user with a set of questions through a user interface. These questions are aligned with the set of attributes i.e. the questions are consistent with the set of attributes. Thus, the questions reflect the attributes associated with the set of attributes in order to select the first set of attributes based on the answers to those questions.

[0085] These questions can be generated based on the set of attributes, with or without using machine learning algorithms. The machine learning algorithms can tailor the questions based on the identified set of attributes to the user’s behaviour or demographic information, enabling a more personalized and adaptive approach to understand their preferences.

[0086] In an embodiment, the selection module 402 is designed to present all available attributes to the user, allowing them to select one or more attributes that align with their interests. The attributes are displayed in a manner that is intuitive and user-friendly, with each attribute being associated with corresponding contextual information, such as genre, language, or other relevant parameters. By organizing the attributes according to the corresponding contextual information, the selection module 402 makes it easier for the user to identify and choose the attributes that match their preferences. For example, if an attribute belongs to “Action” (genre) and “Short Duration” (length of content). The selection module 402 presents this attribute to the user, indicating that it contains content that is both in the action genre and has a shorter runtime (e.g., 30 minutes or less). This allows the user to quickly assess whether this type of content aligns with their current preferences or needs, such as when they are looking for a quick action movie or show to watch during a short break. By presenting these attributes in a straightforward, attribute-based format, the selection module 402 makes it easier for the user to make an informed selection. Thus, the selection module 402 ensures that the first set of attributes is accurately aligned with the user’s interests.

[0087] The selected module 402 may transmit the content items 412 associated with the selected first set of attributes to the recommendation module 404. Once the recommendation module 404 receives the content items 412 associated with the selected first set of attributes, the recommendation module 404 uses this data to understand and analyze the preferences or interests of the user to generate one or more recommendations 450. The content items 412 represent the content items, that align with the user’s previously expressed interests, based on their interaction history or specified preferences. By examining these content items 412, the recommendation module 404 can identify user behaviour data i.e. patterns or trends that reveal the user’s likes and dislikes. For example, if the content items 412 are associated with contextual information such as “action genre,” “English language,” or “short duration,” the recommendation module 404 may infer that the user prefers fast-paced, action-packed content in English that is relatively short. These insights allow the recommendation module 404 to tailor future recommendations 450 to match the user’s interests more accurately. This step essentially bridges the gap between analyzing content items 412 and understanding user behaviour, enabling the recommendation module 404 to personalize content suggestions. By using the content items 412 as a reference, the recommendation module 404 can continuously refine its understanding of the user’s preferences, ensuring the recommendations 450 remain relevant and engaging over time.

[0088] In an embodiment, the recommendation module 404 may perform a lookup on the metadata of different content items to identify content items, which may serve as content recommendations 450 to the user 102. In particular, the recommendation module 404 determines the plurality of recommended content items to be served to the user 102 from the content library based, at least in part, on the content items 412 associated with the first set of attributes indicating preferences or interests of the user 102. More specifically, the recommendation module 404 may compare the metadata associated with the content items 412 with the metadata of content items stored in the content library to identify content items that may interest the user 102. In one illustrative example, the content items 412 associated with the first set of attributes may indicate that the user 102 prefers action thrillers and the user 102 usually watches all movies performed by a specific actor, for example, Johnny Depp. In such cases, the recommendation module 404 may identify content items 412 with the same genre and / or cast, such as generic content with Johnny Depp in a lead role, action thriller content with Johnny Depp as one of the lead cast, and action thriller content popular among most users. Such identified content items may be selected as content recommendations 450 for the user 102.

[0089] The plurality of recommended content items may be scored based on different parameters / factors, such as click-through rates, number of views, watch time, relevancy, similarity, and the like. Thereafter, the plurality of recommended content items is ranked based on their scores, for example from a maximum score to a minimum score to determine a sequence of thumbnails corresponding to the plurality of recommended content items to be displayed (in the order of rank) on the electronic device 104.

[0090] In an embodiment, interaction data associated with the user i.e. user interaction information regarding content items 412 may be transferred to a data repository associated with the user profile of the user 102. Transferring the interaction data associated with the user to the corresponding profile enriches the content viewing history by creating a detailed, dynamic record of the user’s preferences, behaviors, and interactions within the user profile.

[0091] When this interaction data is incorporated into the user’s profile, it allows for a more personalized content experience. The system 150 can analyze these patterns and generate recommendations accordingly, presenting content that is more closely aligned with the user’s evolving preferences. By continuously updating the user profile with this interaction data, the system 150 ensures that recommendations are relevant, timely, and tailored to the viewer’s current desires.

[0092] Upon transferring the interaction data to a new profile, the main profile associated with the combined interaction data forthe plurality of users may experience reduced or no recommendations associated with the content items that were part of the interaction history transferred to the new profile. Over time, the recommendation module 404 gradually de-learns these interactions from the main profile and removes its influence on recommendations. The recommendation module 404 then adjusts the recommendations to focus on content that has been recently and frequently accessed under the main profile. This ensures that the recommendations for the main profile prioritize content that is actively and recently accessed, enhancing user engagement.

[0093] For the newly created profile, the recommendation module 404 initially incorporates interaction data transferred from the main profile. However, as users engage with new content beyond the initially recommended items, the recommendation module 404 dynamically incorporates new interactions to update and refine recommendations. This allows the recommendation module 404 to adjust recommendations for the new profile.

[0094] Referring to FIGs. 5A-5B, an electronic device 500 displaying an exemplary Ul 502 of an application of a content provider (such as the application 106 shown in FIG. 1) while accessing an existing profile or creating a new profile, in accordance with an embodiment of the invention.

[0095] As illustrated in FIG. 5A, the Ul 502 depicts a page presenting the user 102 with an option to either use an existing profile 512 or create a new profile 514 to offer users a seamless and intuitive experience when accessing their profiles. This Ul 502 ensures flexibility by catering to different types of users, such as those who prefer shared access and those seeking a more personalized experience. This page is displayed when the user 102 enters the login credentials on the platform to access the content. This page acts as an entry point for the user 102 to engage with the system 150 and ensures flexibility in how recommendations are generated. An existing profile 512 often represents a combined profile used by multiple users. Since these profiles accumulate interaction data from several users, the recommendations generated are based on the collective behaviour of all users associated with that profile. For instance, if one user watches action movies and another prefers romantic dramas, the recommendations can include both genres. Consequently, such recommendations are not personalized to the preferences of any single individual but rather reflecta generalized output based on the aggregated interaction data. When the user selects the option of the ‘existing profile’ 512, the next page shows the recommendation based on the collective behaviour of all users associated with that profile.

[0096] On the other hand, the Ul 502 provides a create new profile 514 feature for users who desire a tailored experience. This option is typically designed with an easy setup flow, allowing users to input basic details like their name, age, or preferences. This dual-choice design within the Ul underscores its versatility and user-centric approach, accommodating both shared and individual use cases effectively. When the user selects the option of the ‘new profile’ 514, the system 150 creates a new profile and a subsequent page is displayed on the Ul 502 requesting user input as shown in FIG. 5B.

[0097] As illustrated in FIG. 5B, the Ul 502 presents a page requesting user input to decide whether their existing watch history should be linked to the newly created profile when the user selects the option to create a new profile. The page offers two clear options: ‘Yes, I want to keep’ and ‘No, forget watch history.’ This step is crucial for tailoring the user experience, as it directly influences how recommendations will be generated for the new profile 514.

[0098] If the user 102 selects ‘Yes, I want to keep,’ the system 150 identifies the watch history associated with the user 102 as detailed in reference to FIGs. 1 -4 and merges it with the new profile 514. This integration allows the system 150 to leverage prior viewing habits to generate personalized recommendations that align with the user’s established preferences. For example, if the user frequently watched content in specific genres or languages, these preferences would carry over to the new profile 514, ensuring continuity and relevance in the recommendations provided. In an embodiment, the system 150 may automatically identify the watch history associated with the user 102 among the collective watch history based on personal information and previously stored information in the content library. In another embodiment, the system 150 may display content pages, as illustrated in FIG. 6, to request user inputs indicating their preferences and interests in order to determine watch history or interaction data 250 associated with the user 102.

[0099] On the other hand, if the user 102 selects ‘No, forget watch history,’ the system 150 generates recommendations 450 either based on the bibliographic information provided by the user 102, such as age, gender, or stated preferences, or generated as standard recommendations designed to appeal to a broad audience. This approach is particularly useful for users who wish to explore new content without being influenced by past interactions. By offering these two options, the Ul ensures flexibility and control, empowering users to decide how their content preferences should be shaped.

[0100] Referring to FIG. 6, the Ul 602 is designed to guide the user 102 to gather inputs regarding their preferences and interests. The Ul 602 provides a list of options corresponding to the set of attributes, with each option representing a contextual representation of an attribute. The user can select their choice by clicking on one of the displayed options, indicating user preference. This selection process is straightforward, requiring the user 102 to click on one or more preferred content categories directly on the Ul. Each option may correspond to an attribute among the set of attributes.The system 150 then records this input as an indicator of the user’s preferences. This information helps the system 150 to select the first set of attributes featuring the user’s preferred content items. This interaction allows the system 150 to record the user’s input seamlessly and ensures that the process is straightforward and user-friendly.

[0101] The Ul 602 employs a visually intuitive and user-friendly design to make it easy for users to provide accurate inputs, ensuring a seamless experience on the platform. These inputs allow the system 150 to gain a deeper understanding of the user’s preferences, which in turn enables the selection of the first set of attributes. This efficient approach strengthens the connection between user preferences and the recommendations provided, enhancing the relevance of suggested content.

[0102] It will be appreciated that FIG. 6 provides merely an exemplary representation and is not intended to limit the scope of the embodiments disclosed herein. While FIG. 6 has been described in the context of streaming services, it will be understood by those skilled in the art that the principles and techniques depicted therein are equally applicable to other digital platforms such as news services, music streaming applications, e-commerce websites, and more.

[0103] Referring back to FIG. 4, when the information pertaining to the user’ preferences or interests is obtained, the selecting module 402 may identify patterns / characteristics pertaining to the user’s preferences and based on the user preferences can select a first set of content attributes among the set of attributes and generate recommendations 450 for the user 102.

[0104] As illustrated in FIG. 7, the Ul 702 depicts a page displaying a set of recommendations or recommended content items 450 to the user 102. The recommended content items may be displayed to the user 102 as a list on the widget bar 716 as shown in FIG. 7. As shown in FIG. 7, thumbnails of recommended content items like thumbnail 718 (shown as ‘CONTENT T), thumbnail 720 (shown as ‘CONTENT 2’), and thumbnail 722 (shown as ‘CONTENT 3’) may be displayed to the user 102. The user 102 may select any of the content items to watch from the three content items 718, 720, and 722 displayed on the Ul 702.

[0105] The Ul 702 is structured to display content recommendations 450 in a visually organized and user-friendly manner. The primary function of this interface is to present a set of recommended content items 450 that align with the user’s preferences, which have been determined through interaction data 250. The recommendations 450 are curated to be relevant and engaging, making the selection process intuitive for the user 102.

[0106] The Ul 702 is provided with a layout that allows accessibility and ease of navigation. Content items may be displayed in categories or sections based on genres, user preferences, or trending themes. Each content item is represented by a thumbnail or descriptive label, providing users with clear and concise information to facilitate decision-making. The design ensures that the user 102 can quickly identify content of interest without overwhelming them with excessive options.

[0107] By using an interactive and responsive design, the Ul 702 enhances the user experience by prioritizing personalization and simplicity. This approach not only improves user engagement but also encourages continued interaction with the platform, as users are more likely to find content that resonates with their interests. The Ul 702 serves as a crucial step in connecting users with tailored recommendations, ensuring a seamless and satisfying content discovery process.

[0108] FIG. 8 shows a flow diagram of a method for generating recommendations for a first user and a second user together, in accordance with an embodiment of the invention. The various steps and / or operations of the flow diagram, and combinations of steps / operations in the flow diagram, may be implemented by, for example, hardware, firmware, a processor, circuitry, and / or by a system such as the system 150 explained with reference to FIGs. 1 to 7 and / or by a different device associated with the execution of software that includes one or more computer program instructions. The method 800 starts at 802.

[0109] At operation 802 of method 800, the system 150 obtains the interaction data associated with the first user and the second user. The interaction data associated with the first user can include user interaction information associated with a first group of content items and the interaction data associated with the second user can include user interaction information associated with a second group of content items.

[0110] At operation 804 of method 800, the system 150 combines the interaction data of the first user with the interaction data of the second user to generate a combined interaction data associated with the first user and the second user. The combined interaction data includes user interaction information associated with a plurality of content items, where the plurality of content items includes the first group of content items and the second group of content items.

[0111] At operation 806 of method 800, the system 150 identifies a set of attributes based on the interaction data 250, the set of attributes indicating characteristics correlating the plurality of content items. In an embodiment, the step of identifying includes extracting a set of parameters for each of the plurality of content items based on the user interaction information associated with the plurality of content items and determining a count of content items associated with each subset of the set of parameters, wherein each subset includes one or more of the set of parameters. The step of identifying further includes, based on the determination of the count of content items, determining whether the count of content items associated with each subset of the set of parameters exceeds a predefined threshold. The step of identifying further includes selecting, a subset of the set of parameters, where each subset of parameters has the count of content items exceeding a predefined threshold as an attribute to determine a set of attributes.

[0112] At operation 808 of method 800, the system 150 selects a first set of attributes among the set of attributes. The first set of attributes is associated with interest to the first user and the second user. These attributes represent common areas of interest or preferences exhibited by both users. For example, if both users show interaction with content related to “action” movies or “short duration” videos, these attributes can be part of the first set of attributes.

[0113] This shared association implies that the system 150 recognize overlapping preferences among users and use this information to refine recommendations. By analyzing the shared attributes, the system 150 can suggest content that aligns with the mutual interests of these users, thereby enhancing the relevance and personalization of the recommendations.

[0114] In an embodiment, selecting the first set of attributes comprises obtaining user information associated with the first user and the second user. The user information indicates common likes and / or dislikes of the first user and the second user. The step of selecting further comprises selecting the first set of attributes based on the user information.

[0115] In another embodiment, selecting the first set of attributes comprises providing a contextual representation for each of the set of attributes, and receiving a user input from the first user and / or the second user for selecting the first set of attributes. The selecting further comprises selecting the first set of attributes based on the user input.

[0116] At operation 810 of method 800, the system 150 generates one or more recommendations based on content items corresponding to the selected first set of attributes. The one or more recommendations pertain to content items of interest to the first user. For example, in the context of news and music, recommendations can include technology news or articles related to the user’s interests, or music tracks and playlists that align with their listening habits. The recommendations can adapt dynamically to include trending content or newly added items in the content library that match the user’s preferences. The system 150 may present these recommendations across various devices associated with the user. This personalized approach not only enhances user satisfaction but also improves engagement with the platform by offering relevant and appealing content options.

[0117] The recommendations can also include targeted advertisements alongside content suggestions, further personalizing the user experience. For example, in the context of news and music platforms, not only would users receive content based on their interests, but users can also be shown advertisements that are relevant to their preferences determined based on the content items corresponding to the selected first set of attributes.

[0118] At operation 812 of method 800, the system 150 causes display of the one or more recommendations on at least one of devices associated with the user 102. For example, in a news platform, the user 102 may receive recommended articles on their smartphone based on topics they’ve previously read. When the user 102 logins through login credentials, the same articles or related news suggestions may be displayed, ensuring the user 102 continues to receive personalized content across devices. Similarly, for a music streaming service, a user may be recommended songs or playlists based on their listening history. It enhances the user experience by making it easy to access and engage with the content items of users’ interest, whether it’s reading news articles or listening to music, while also providing the flexibility to switch between devices without losing continuity.

[0119] FIG. 9 shows a flow diagram of a method for generating personalized recommendations based on an interaction data associated with a plurality of users, in accordance with another embodiment of the invention. The various steps and / or operations of the flow diagram, and combinations of steps / operations in the flow diagram, may be implemented by, for example, hardware, firmware, a processor, circuitry, and / or by a system such as the system 150 explained with reference to FIGs. 1 to 7 and / or by a different device associated with the execution of software that includes one or more computer program instructions. The method 900 starts at operation 902.

[0120] At operation 902 of the method 900, an interaction data associated with a plurality of users is accessed. In an embodiment, the interaction data 250 associated with the plurality of users can be accessed through the content library 130. The interaction data 250 includes user interaction information associated with a plurality of content items. The interaction data 250 and the user profile of the first user may be associated with one or more content providers.

[0121] At operation 904 of the method 900, a set of attributes is identified based, at least, on the interaction data 250. The set of attributes indicates characteristics correlating the plurality of content items. In an embodiment, the step of identifying comprises extracting a set of parameters for each of the plurality of content items based on the user interaction information associated with the plurality of content items and determining a count of content items associated with each subset of the set of parameters, wherein each subset includes one or more of the set of parameters. The step of identifying further includes, based on the determination of the count of content items, determining whether the count of content items associated with each subset of the set of parameters exceeds a predefined threshold. The step of identifying further includes selecting each subset, of the set of parameters, having the count of content items exceeding a predefined threshold as an attribute to determine a set of attributes.

[0122] At operation 906 of the method 900, a first set of attributes is selected among the set of attributes, where the first set of attributes is associated with interest of at least the first user.

[0123] In an embodiment, selecting the first set of attributes includes obtaining user information associated with the first user, where the user information indicates likes and / or dislikes of the first user. The step of selecting further includes selecting the first set of attributes based on the user information.

[0124] In another embodiment, selecting the first set of attributes includes providing a contextual representation for each of the set of attributes, and receiving a user input from the first user for selecting the first set of attributes. The selecting further includes selecting the first set of attributes based on the user input.

[0125] At operation 908 of the method 900, one or more recommendations are generated based on content items corresponding to the selected first set of attributes. The one or more recommendations pertain to content items of interest to the first user. For instance, these recommendations can correspond to content items that align with the preferences, interests, orattributes identified by the first user. The recommendations are curated to enhance the user’s content discovery experience, providing personalized suggestions that cater to their unique tastes and consumption patterns. The recommendations may include content items belonging to specific genres, languages, or themes, as indicated by the content items corresponding to the selected attributes. For instance, if the content items corresponding to the selected attributes belong to “Action” and “Short Duration,” the recommendations may feature action-packed short films or TV episodes. Similarly, for an attribute associated with “Comedy,” the recommendations may consist of popular comedy shows, movies, or stand-up specials. These suggestions aim to reflect the attributes associated with the user’s chosen attributes.

[0126] The recommendations can also include targeted advertisements alongside content suggestions, further personalizing the user experience. For instance, if a user frequently watches action movies or listens to a particular genre of music, the system 150 can recommend similar content, such as new action films or playlists. Alongside these recommendations, the user might also encounter targeted advertisements tailored to their viewing or listening habits.

[0127] In another example, in an e-commerce context, if the content items corresponding to the selected attributes belong to “Electronics” and “Budget-Friendly,” the recommendations may feature affordable gadgets or electronic accessories. Similarly, for an attribute associated with “Fitness,” the recommendations can include product related to workout gear, health supplements, or fitness gadgets. This ensures that the user receives suggestions relevant to their interests, whether they are shopping for products or browsing digital content such as but not limited to movies, books, news, or music.

[0128] Additionally, the recommendations can adapt dynamically to include trending content or newly added items in the content library that match the user’s preferences. The system may present these recommendations across various devices associated with the user. This personalized approach not only enhances user satisfaction but also improves engagement with the platform by offering relevant and appealing content options.

[0129] At operation 910 of the method 900, the one or more recommendations are displayed on at least one of devices associated with the user 102. For example, when a user logs into their streaming platform account on one of a smartphone and a smart TV, the system 150 may display personalized movie recommendations on corresponding devices. The system 150 ensures seamless access to these recommendations regardless of the device being used.

[0130] In an embodiment, the method 900 also includes transferring user interaction information associated with the content items corresponding to the first set of attributes to a data repository linked to a user profile associated with the first user to update the user profile. The updating the user profile can include incorporating user interaction information associated with content items corresponding to the first set of attributes within the user profile.

[0131] In an embodiment, the method 900 also includes prior to transferring the content items corresponding to the first set of attributes with the user profile, verifying that the user profile is associated with the first user.

[0132] Various embodiments disclosed herein provide numerous advantages. More specifically, the embodiments disclosed herein suggest techniques for generating personalized recommendations based on the interaction data associated with multiple users. One key advantage lies in the ability to manage and interpret interaction data associated with a large user base, enabling systems to deliver tailored recommendations even in complex environments where multiple users share profiles or interact with similar content. This ensures that the personalization process remains robust and user-specific, enhancing the relevance and quality of recommendations.

[0133] A significant benefit of the disclosed approach is the segregation of interaction data based on distinct attributes. By identifying attributes having subsets of parameters, the system 150 can more effectively analyze patterns and associations specific to individual users or subsets of users. This identification process simplifies the identification of user preferences and interests, allowing the system 150 to pinpoint the unique behaviours and preferences of a target user with greater accuracy. This structured analysis eliminates ambiguity and ensures that recommendations are grounded in actual user behaviour.

[0134] Moreover, the use of attributes to represent user preferences ensures that the system 150 can adapt to dynamic and evolving user behaviours. The targeted selection of one or more attributes associated with a specific user represents another advantage of the disclosed embodiments. By filtering these attributes, the system can focus on the most pertinent aspects of a user’s preferences while ignoring irrelevant or less significant data. This selective approach optimizes the recommendation process, reducing computational overhead while improving the precision of the results. Users benefit from a streamlined content discovery experience, where recommendations align closely with their preferences.

[0135] Further, the overall framework of the proposed invention enables a highly scalable solution for generating personalized recommendations. By efficiently managing and processing large volumes of interaction data, the system 150 can accommodate a growing user base without compromising the quality of personalization. This scalability is particularly valuable in modern content delivery systems, where user engagement and satisfaction hinge on the ability to provide relevant and appealing recommendations across diverse demographics and preferences. The disclosed embodiments thus offer a comprehensive technical solution for enhancing user experiences in content-driven platforms.

[0136] Additionally, generating personalized recommendations, as described herein, represents a computer-based solution to a technical problem inherently rooted in computer technology. More specifically, managing and analyzing interaction data from multiple users to extract meaningful preferences and generate accurate recommendations is a significant technical challenge, particularly in environments with limited computational resources and complex multi-user dynamics.The disclosed embodiments address this issue by employing advanced techniques such as analyzing combined interaction data and identifying attributes to derive preferences. Furthermore, the disclosed approach offers a robust and scalable solution by optimizing data processing workflows, enabling real-time or near-real-time recommendation generation, even in systems handling high volumes of simultaneous user interactions.

[0137] Although the present invention has been described with reference to specific exemplary embodiments, it is noted that various modifications and changes may be made to these embodiments without departing from the broad spirit and scope of the present invention. For example, the various operations, blocks, etc., described herein may be enabled and operated using hardware circuitry (for example, complementary metal oxide semiconductor (CMOS) based logic circuitry), firmware, software and / or any combination of hardware, firmware, and / or software (for example, embodied in a machine-readable medium). For example, the apparatuses and methods may be embodied using transistors, logic gates, and electrical circuits (for example, application specific integrated circuit (ASIC) circuitry and / or in Digital Signal Processor (DSP) circuitry).

[0138] Particularly, the system 150 and its various components such as the processing unit 152, the memory 154, the I / O module 160, and the communication module 162 may be enabled using software and / or using transistors, logic gates, and electrical circuits (for example, integrated circuit circuitry such as ASIC circuitry). Various embodiments of the present invention may include one or more computer programs stored or otherwise embodied on a computer-readable medium, wherein the computer programs are configured to cause a processor to perform one or more operations (for example, operations explained herein with reference to FIGS. 8 or 9). A computer-readable medium storing, embodying, or encoded with a computer program, or similar language, may be embodied as a tangible data storage device storing one or more software programs that are configured to cause a processor or computer to perform one or more operations. Such operations may be, for example, any of the steps or operations described herein. In some embodiments, the computer programs may be stored and provided to a computer using any type of non-transitory computer- readable media. Non-transitory computer-readable media include any type of tangible storage media. Examples of non-transitory computer-readable media include magnetic storage media (such as floppy disks, magnetic tapes, hard disk drives, etc.), optical magnetic storage media (e.g., magneto-optical disks), CD-ROM (compact disc read only memory), CD-R (compact disc recordable), CD-R / W (compact disc rewritable), DVD (Digital Versatile Disc), BD (Blu-ray (registered trademark) Disc), and semiconductor memories (such as mask ROM, PROM (programmable ROM), EPROM (erasable PROM), flash ROM, RAM (random access memory), etc.). Additionally, a tangible data storage device may be embodied as one or more volatile memory devices, one or more non-volatile memory devices, and / or a combination of one or more volatile memory devices and non-volatile memory devices. In some embodiments, the computer programs may be provided to a computer using any type of transitory computer-readable media. Examples of transitory computer-readable media include electric signals, optical signals, and electromagneticwaves. Transitory computer readable media can provide the program to a computer via a wired communication line (e.g., electric wires, and optical fibers) or a wireless communication line.

[0139] Various embodiments of the present invention, as discussed above, may be practiced with steps and / or operations in a different order, and / or with hardware elements in configurations, which are different than those which are disclosed. Therefore, although the invention has been described based upon these exemplary embodiments, it is noted that certain modifications, variations, and alternative constructions may be apparent and well within the scope of the invention.

[0140] Although various exemplary embodiments of the present invention are described herein in a language specific to structural features and / or methodological acts, the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as exemplary forms of implementing the claims.

Claims

Claims

1. A computer-implemented method for generating personalized recommendations based on an interaction data associated with a plurality of users, the method comprising: accessing, by a system, an interaction data associated with a plurality of users, the interaction data comprising user interaction information associated with a plurality of content items; identifying, by the system, a set of attributes based, at least, on the interaction data, the set of attributes indicating characteristics correlating the plurality of content items; selecting, by the system, a first set of attributes among the set of attributes, the first set of attributes, among the set of attributes, associated with interest of at least the first user; generating, by the system, one or more recommendations based, at least, on content items corresponding to the selected first set of attributes, the one or more recommendations pertaining to one or more content items of interest to the first user; and causing, by the system, display of the one or more recommendations on at least one of devices associated with the user.

2. The computer-implemented method as claimed in claim 1 , further comprising transferring, by the system, user interaction information associated with the content items corresponding to the selected first set of attributes to a data repository linked to a user profile associated with the first user to update the user profile.

3. The computer-implemented method as claimed in claim 1 , wherein selecting the first set of attributes comprises: obtaining user information associated with the first user, the user information indicating likes and / or dislikes of the first user;selecting the first set of attributes based on the user information.

4. The computer-implemented method as claimed in claim 1 , wherein selecting the first set of attributes comprises: providing a contextual representation for each of the set of attributes; receiving a user input from the first user for selecting the first set of attributes, selecting the first set of attributes based on the user input.

5. The computer-implemented method as claimed in claim 2, wherein the interaction data and the user profile of the first users are associated with one or more content providers.

6. The computer-implemented method as claimed in claim 1 , wherein obtaining the interaction data comprises merging an interaction data of the first user and interaction data of a second user, and wherein the selected first set of attributes is of interest to the first and second users.

7. The computer-implemented method as claimed in claim 1 , wherein the interaction data associated with a plurality of users are collective recorded and maintained within the same user account profile.

8. The computer-implemented method as claimed in claim 1 , wherein identifying a set of attributes comprises: extracting a set of parameters for each of the plurality of content items based on the user interaction information associated with the plurality of content items; determining a count of content items associated with each subset of the set of parameters, wherein each subset includes one or more of the set of parameters; based on the determination of the count of content items, determining whether the count of content items associated with each subset of the set of parameters exceeds a predefined threshold; andselecting each subset, of the set of parameters, having the count of content items exceeding a predefined threshold as an attribute to determine a set of attributes.

9. A system for generating personalized recommendations based on an interaction data associated with a plurality of users, the system comprising: a memory for storing instructions; and a processor configured to execute the instructions and thereby cause the system to at least: access an interaction data associated with a plurality of users, the interaction data comprising user interaction information associated with a plurality of content items; identify a set of attributes based on the interaction data, the set of attributes indicating characteristics correlating the plurality of content items; select a first set of attributes among the set of attributes, the first set of attributes associated with interest of at least the first user; generate one or more recommendations based on content items corresponding to the selected first set of attributes, the one or more recommendations pertaining to one or more content items of interest to the first user; and cause display of the one or more recommendations on at least one of devices associated with the user.

10. The system as claimed in claim 9, wherein the system is further caused to transfer user interaction information associated with the content items corresponding to the selected first set of attributes to a data repository linked to a user profile associated with the first user to update the user profile.

11. The system as claimed in claim 9, wherein, to select the first set of attributes, the system is caused to: obtain user information associated with the first user, the user information indicating likes and / or dislikes of the first user; andselect the first set of attributes based on the user information.

12. The system as claimed in claim 9, wherein, to select the first set of attributes, the system is caused to: receive a user input from the first user for selecting the first set of attributes; and select the first set of attributes based on the user input.

13. The system as claimed in claim 10, wherein the interaction data and the user profile of the first users are associated with one or more content providers.

14. The system as claimed in claim 9, wherein to obtain the interaction data, the system is caused to merge an interaction data of the first user and interaction data of a second user, and wherein the selected first set of attributes is of interest to the first and second users

15. The system as claimed in claim 9, wherein to identify a set of attributes, the system is caused to: extract a set of parameters for each of the plurality of content items based on the user interaction information associated with the plurality of content items; determine a count of content items associated with each subset of the set of parameters, wherein each subset includes one or more of the set of parameters; based on the determination of the count of content items, determine whether the count of content items associated with each subset of the set of parameters exceeds a predefined threshold; and select each subset, of the set of parameters, having the count of content items exceeding a predefined threshold as an attribute to determine a set of attributes.

16. The system as claimed in claim 9, wherein the interaction data associated with a plurality of users are collective recorded and maintained within the same account profile.

17. A non-transitory computer-readable storage medium comprising computer-executable instructions that, when executed by at least a processor of a system, cause the system to perform a method comprising: accessing an interaction data associated with a plurality of users, the interaction data comprising user interaction information associated with a plurality of content items; identifying a set of attributes based on the interaction data, the set of attributes indicating characteristics correlating the plurality of content items; selecting a first set of attributes among the set of attributes, the first set of attributes associated with interest of at least the first user; generating one or more recommendations based on content items corresponding to the selected first set of attributes, the one or more recommendations pertaining to one or more content items of interest to the first user; and causing display of the one or more recommendations on at least one of devices associated with the user.