Generating Recommendations Using Trust-Based Embeddings
By adopting trust embedding and GAT model methods in the recommendation system, updating user embeddings across multiple domains, the data sparseness and cold start problems are solved, and the accuracy and reliability of the recommendation system are improved.
Patent Information
- Application Number
- JP2024558163
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-03-21
- Filing Date
- 2023-03-21
- Publication Date
- 2025-04-22
AI Technical Summary
Existing recommendation systems are difficult to provide accurate or relevant recommendations when there is insufficient user data, resulting in sparse data or cold start problems.
Using a trust-based embedding method, by generating user trust embedding vectors, the Graph Attention Network (GAT) model is used to update and modify user embedding across multiple domains, thereby generating accurate recommendations.
It effectively solves the problems of data sparseness and cold start, improves the accuracy and reliability of the recommendation system, can work together between multiple domains, and provides more accurate user recommendations.
Smart Images

Figure 2025512908000001_ABST
Abstract
Description
[Technical field]
[0001] [CROSS REFERENCE TO RELATED APPLICATIONS / INCORPORATION BY REFERENCE] This application claims the benefit of priority to U.S. Provisional Patent Application Serial No. 63 / 362,218, filed March 31, 2022, which is a continuation of U.S. Provisional Patent Application Serial No. 18 / 187,210, filed in the U.S. Patent and Trademark Office on March 21, 2023, the contents of which are incorporated herein by reference in their entirety.
[0002] Various embodiments of the present disclosure relate to recommendation systems, and more particularly, to electronic devices and methods for generating recommendations using trust-based embeddings. [Background technology]
[0003] Advances in the field of recommendation systems have led to the development of different types of recommendation models that have the ability to provide personalized recommendations to users. Recommendation models can be deployed on application servers or on users' personal devices based on their size or the complexity of the operations they perform. Recommendation models can be used in diverse fields such as media and entertainment, finance, e-commerce, retail, banking, and telecommunications. Recommendation models can enhance item search and application usage experiences. For example, search experiences can be improved if recommended items are determined based on accurate predictions of user queries for items. User satisfaction can also be improved if recommended items interest users and motivate them to inquire about similar items. Furthermore, recommendation models can also improve sales of suggested items and assist businesses to determine items that users may be interested in. For example, businesses can improve sales of items because recommendation models can better understand the personal requirements and behavior of individual users. Summary of the Invention [Problem to be solved by the invention]
[0004] Typically, a recommendation model may recommend items (e.g., movies) related to a domain (e.g., movie domain of an over-the-top platform) to a user based on parameters such as the user's personal details / profile, the user's viewing history, movie consumption patterns (e.g., time spent watching each movie), viewing history of other users identified as similar to the user, and genre of movies in the viewing history. In order to recommend items (e.g., movies) based on such parameters, the recommendation model may require a significant amount of data that the user and other users can generate over a significant period of time based on consumption of items related to the domain. The recommendation system may collect data when the user and other users may be consuming items related to the domain. The accuracy or relevance of the recommendation model may depend on the amount of data collected by the recommendation model. However, there may be scenarios in which a sufficient amount of data is not available for the recommendation model to provide accurate or appropriate recommendations.
[0005] The limitations and disadvantages of the conventional approach will become apparent to one skilled in the art by comparing the described system with certain aspects of the present disclosure illustrated in the remaining portions of this application and with reference to the drawings. [Means for solving the problem]
[0006] An electronic apparatus and method for generating recommendations using trust-based embedding is provided substantially as hereinbefore illustrated and / or described in connection with at least one of the drawings and more fully as set forth in the claims.
[0007] These and other features and advantages of the present disclosure will become apparent from a consideration of the following detailed description of the disclosure when taken in conjunction with the accompanying drawings, in which like reference characters refer to like elements throughout. [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 illustrates an example network environment for generating recommendations using trust-based embedding, according to an embodiment of the present disclosure. [Diagram 2] 2 is a block diagram illustrating the example electronic device of FIG. 1 for generating recommendations using trust-based embedding, according to an embodiment of the present disclosure. [Diagram 3] FIG. 1 illustrates an example scenario of applying a recommendation model to a confidence-based embedding for generating item recommendations, according to an embodiment of the present disclosure. [Figure 4] FIG. 1 illustrates an example scenario for generating correlation information for a user set based on rating information associated with the user set for an item set related to a domain, according to an embodiment of the present disclosure. [Diagram 5] 5 is a flowchart illustrating operations of an exemplary method for generating a vector indicative of a trust embedding of a user in a target domain, according to an embodiment of the present disclosure. [Figure 6] FIG. 2 illustrates an example scenario for generating a vector indicating a user's trust embedding in an auxiliary domain based on a graph attention network (GAT) model, in accordance with an embodiment of the present disclosure. [Figure 7] FIG. 1 illustrates an example scenario for generating a trust-based embedding of a user in multiple domains based on correlations between the user and the user's neighborhood in each of the multiple domains, according to an embodiment of the present disclosure. [Figure 8] FIG. 1 illustrates an example scenario of generating a trust-based embedding of a user in a multi-domain multi-modal architecture based on correlations between the user and the user's neighborhood, according to an embodiment of the present disclosure. [Figure 9] 4 is a flowchart illustrating the operation of an exemplary method for generating recommendations using trust-based embeddings, in accordance with an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] The disclosed electronic device and method for generating recommendations using trust-based embeddings may include the following embodiments. An exemplary aspect of the present disclosure provides an electronic device (e.g., mobile phone, smartphone, desktop, laptop, personal computer, etc.) that can generate trust-based embeddings for generating recommendations and update or modify embeddings associated with users based on the generated trust-based embeddings. The electronic device can determine first correlation information (e.g., a trust score set) associated with a first set of users and further associated with a first domain (e.g., a movie domain) of a domain set. The electronic device can generate a first vector indicating a trust embedding associated with a first user of the first set of users relative to the first set of users in the first domain based on the first correlation information. The electronic device can further receive second correlation information (e.g., a trust score set) associated with a second set of users (including the first user and one or more users of the first set of users) and further associated with a second domain (e.g., a show domain) of the domain set. The electronic device may further apply a Graph Attention Network (GAT) model to the determined second correlation information. The electronic device may determine a second vector indicative of a trust embedding of the first user to a second set of users in the second domain based on the application of the GAT model. The electronic device may further recommend one or more items (e.g., items related to the first domain) to the first user based on the determined first vector and the determined second vector. In an example, the electronic device may apply a recommendation model to the determined first vector and the determined second vector. The one or more items may be recommended based on the application of the recommendation model to the determined first vector and the determined second vector. The electronic device may further render the recommended one or more items on a display device associated with the electronic device.
[0010] Typically, a recommendation system can recommend items related to a domain based on one or more parameters, such as personal details related to the target user (e.g., age, gender, and demographic information, etc.), item consumption history, item consumption patterns, similarity between the items to be recommended and items consumed by the target user, and item consumption history of other users who have similar item consumption history to the target user. In some other typical recommendation systems, user embeddings can be generated based on features extracted from one or more parameters. The recommendation system can then use the embeddings related to the target user to determine users who may be similar to the target user. The recommendation system can recommend items to the target user based on items consumed by the determined similar users. Furthermore, the recommendation system can generate embeddings related to items (e.g., movies) based on features of the domain (e.g., genre, length, cast, studio, etc.). The recommendation system can compare the embeddings of the items in the target user's item consumption history with items in the domain. The recommendation system can recommend items in the domain that are related to embeddings similar to the embeddings of the items in the item consumption history. Recommendation systems may require that target users consume a significant number of items from a domain in order to generate reliable or relevant recommendations.
[0011] However, there may be scenarios where a recommendation system may encounter issues such as "data sparsity" or "cold start" due to the lack (or unavailability) of a sufficient amount of data related to the consumption of items of the domain by the target user. For example, if a user is a new consumer of items related to the domain, sufficient data related to the consumption of the items may not be available. In such scenarios, the embeddings related to the user generated by the recommendation model may not be accurate. This may affect the reliability or relevance of the generated recommendations.
[0012] To address such issues, the disclosed electronic device can use a recommendation model that can use vectors (e.g., a first vector and a second vector) that indicate trust-based embeddings of a target user for multiple domains. These trust-based embeddings can be used to generate a user embedding for recommending items related to a domain (e.g., a first domain or a target domain) to a user (e.g., a first user or a target user). The electronic device can determine the trust-based embedding based on correlation information (e.g., a first correlation information and a second correlation) across multiple domains. The first correlation information can indicate the trust of the first user for a first set of users related to the first domain. Similarly, the second correlation can indicate the trust of the first user for a second set of users related to the second domain. The trust of the first user for the first set of users and the second set of users can be determined based on ratings of items related to items of the first domain and the second domain provided by the first set of users and the second set of users, respectively. The electronic device can update or modify the user embedding related to the first user by using the trust-based embedding.
[0013] Thus, the electronic device can determine the trust-based embeddings (i.e., the first vector and the second vector) by leveraging the trust-based embeddings of the first user for multiple users associated with the target domain (i.e., the first domain) and one or more auxiliary domains (e.g., the second domain). The electronic device can update or modify the user embeddings (e.g., the third vector) associated with the first user by leveraging the trust-based embeddings associated with the multiple domains. The recommendation model can generate accurate recommendations by using the updated user embeddings to accurately determine users that are "similar" to the first user and "trusted" by the first user across multiple domains. The recommendation model can recommend items associated with the first domain based on the consumption history or consumption patterns of items associated with "similar" or "trusted" users across the target domain and one or more auxiliary domains. The electronic device can avoid data scarcity by leveraging the trust of the target user (i.e., the first user) for the first set of users and the second set of users across multiple domains (e.g., the first domain and the second domain), thereby effectively managing the "data sparsity" or "cold start" problem.
[0014] FIG. 1 illustrates an exemplary network environment for generating recommendations using trust-based embeddings, according to an embodiment of the present disclosure. FIG. 1 illustrates a network environment 100. The network environment 100 includes an electronic device 102 and a server 104. The electronic device 102 can communicate with the server 104 through one or more networks (such as a communication network 106). The electronic device 102 can include a graph attention network (GAT) model 108 and a recommendation model 110. The server 104 can include a database 112. The database 112 can include multiple datasets, namely dataset-1 114A, dataset-2 114B, ..., and dataset-N 114N. Also illustrated is a user 116 (e.g., a first user) associated with the electronic device 102. The electronic device 102 can generate trust-based embeddings, update user embeddings associated with the user 116 based on the trust-based embeddings, generate recommendations based on the updated user embeddings, and recommend items to the user 116 based on the generated recommendations.
[0015] The N data sets shown in Figure 1 are presented as an example only. Database 112 may include only two data sets or more than N data sets without departing from the scope of the present disclosure. For simplicity, only N data sets are shown in Figure 1. However, in some embodiments, there may be more than N data sets without limiting the scope of the present disclosure.
[0016] The electronic device 102 may include suitable logic, circuitry, interfaces, and / or code that may be configured to determine first correlation information associated with a first set of users. The first correlation information and the first set of users may be associated with a first domain of the set of domains. The first set of users may include a first user (i.e., user 116). The electronic device 102 may generate a first vector indicating a trust embedding of the first user (i.e., user 116) with respect to the first set of users in the first domain based on the first correlation information. The electronic device 102 may receive second correlation information associated with a second set of users. The second set of users may include user 116 and one or more users of the first set of users. For example, the first set of users and the second set of users may include the first user and a plurality of second users, respectively. The plurality of second users may be common to both the first set of users and the second set of users. The second correlation information and the second set of users may be associated with a second domain of the set of domains. The electronic device 102 can apply the GAT model 108 to the second correlation information and generate a second vector indicative of a trust embedding of the first user (i.e., user 116) to a second set of users in a second domain based on the application of the GAT model 108. The electronic device 102 can apply a recommendation model 110 to the first vector and the second vector. The electronic device 102 can recommend one or more items to the first user based on the application of the recommendation model 110 to the determined first vector and the determined second vector. The electronic device 102 can render the recommended one or more items on a display device associated with the electronic device 102. Examples of the electronic device 102 can include, but are not limited to, a desktop, a tablet, a television (TV), a laptop, a computing device, a smartphone, a cellular telephone, a mobile phone, a recommendation system, and a consumer electronics (CE) device having a display.
[0017] The server 104 may include suitable logic, circuitry, interfaces, and / or code that may be configured to receive a request from the electronic device 102 for rating information associated with each of a set of users (e.g., a first set of users) for a set of items associated with a domain (e.g., a first domain). The server 104 may be configured to extract the requested rating information from the database 112. The server 104 may transmit the extracted rating information to the electronic device 102. In some embodiments, the server 104 may be configured to store the GAT model 108 and the recommendation model 110. In some embodiments, the server 104 may be configured to determine first and second correlation information, generate a first and second vector, and apply the recommendation model 110 to the generated first and second vectors. Additionally, the server 104 may generate a recommendation indicating one or more items based on the application and transmit the recommendation to the electronic device 102 (for rendering by the electronic device 102). Server 104 may perform operations through web applications, cloud applications, HTTP requests, repository operations, file transfers, etc. Examples of server 104 may include, but are not limited to, a database server, a file server, a web server, an application server, a mainframe server, a cloud computing server, or combinations thereof.
[0018] In at least one embodiment, the server 104 can be implemented as multiple distributed cloud-based resources using multiple techniques known to those of skill in the art. Those skilled in the art will appreciate that the scope of the present disclosure may not be limited to the implementation of the server 104 and the electronic device 102 as two independent entities. In some embodiments, the functionality of the server 104 can be incorporated in whole or at least in part into the electronic device 102 without departing from the scope of the present disclosure.
[0019] The communication network 106 may include a communication medium that allows the electronic device 102 and the server 104 to communicate with each other. The communication network 106 may be a wired or wireless communication network. Examples of the communication network 106 may include, but are not limited to, the Internet, a cloud network, a cellular or wireless mobile network (such as Long Term Evolution and Fifth Generation (5G) New Wireless (NR)), a satellite communication system (e.g., using low-earth orbit satellites), a Wireless Fidelity (Wi-Fi) network, a personal area network (PAN), a local area network (LAN), or a metropolitan area network (MAN). Various devices in the network environment 100 may be configured to connect to the communication network 106 according to various wired and wireless communication protocols. Examples of such wired and wireless communication protocols include, but are not limited to, at least one of Transmission Control Protocol and Internet Protocol (TCP / IP), User Datagram Protocol (UDP), Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), ZigBee, EDGE, IEEE802.11, Light Fidelity (Li-Fi), 802.16, IEEE802.11s, IEEE802.11g, multi-hop communication, wireless access point (AP), device-to-device communication, cellular communication protocols, and Bluetooth (BT) communication protocols.
[0020] The GAT model 108 may be based on a neural network architecture. The GAT model 108 may include one or more self-attentional layers and may operate based on graph-structured data. The GAT model 108 may include a set of nodes associated with a set of users in a domain, which may represent user embeddings associated with the set of users. For example, a node associated with a user 116 may represent a user embedding associated with the user 116. Each node may be connected to multiple nodes that may be neighbors of the corresponding node in the graph-structured data. For example, a node associated with a user 116 may be connected to nodes associated with users that may be determined as neighbors of the user 116 based on the first correlation information or the second correlation information.
[0021] The GAT model 108 may capture weights via an attention mechanism. A node may be associated with a captured weight that may be determined based on correlation information (i.e., the first correlation information and the second correlation information). Each node of the GAT model 108 may represent a node feature set. The node feature set represented by the node may correspond to features used to generate the user embedding represented by the node. The node feature set may be updated based on the attention coefficients. For example, a current node feature set of a node associated with the user 114 may undergo a first linear transformation based on the captured weights. After the first linear transformation, a second linear transformation may be performed via a self-attention mechanism to generate attention coefficients. The attention coefficients may be passed through an activation function (e.g., a leaky rectified linear unit) before normalization of the attention coefficients with respect to the current node feature set using a softmax function. An updated node feature set may then be generated based on the application of a nonlinearity. The updated node feature set may represent a trust-based embedding of the user 116. Similarly, trust-based embeddings of other users in the first user set or the second user set can be generated based on updates to node features of nodes associated with corresponding other users.
[0022] The recommendation model 110 can be based on matrix factorization and / or deep learning-based neural networks. For example, the recommendation model 110 can be a cross-domain collaborative filtering-based model. The recommendation model 110 can be trained to determine the diversity between domains (e.g., a first domain and a second domain) and the relationships between entities (e.g., users of a first user set or a second user set, and items related to the first domain or the second domain) within or across domain sets. The recommendation model 110 can receive as input a trust-based embedding of each user set. For example, the recommendation model 110 can receive a trust-based embedding of the user 116 for the first user set and the second user set (i.e., a first vector and a second vector) and a user embedding related to the user 116 (i.e., a third vector). The recommendation model 110 can update a user embedding (i.e., the third vector) associated with the user 116 based on the trust-based embedding (i.e., the first vector and the second vector). The updated user embedding associated with the user 116 can be used to recommend items related to a target domain (e.g., the first domain of the domain set) to the target user (e.g., the user 116).
[0023] Each of the GAT model 108 and the recommendation model 110 may correspond to a model that may include electronic data, for example, that may be implemented as a software component of an application executable on the electronic device 102. Each model may rely on libraries, external scripts, or other logic / instructions for execution by a processing device, such as the electronic device 102. Each model may include code and routines configured to enable a computing device, such as the electronic device 102, to perform one or more operations to recommend one or more items to a first user (i.e., the user 116). Additionally or alternatively, each model may be implemented using hardware, including a processor, a microprocessor (e.g., performing or controlling the execution of one or more operations), a field programmable gate array (FPGA), or an application specific integrated circuit (ASIC). Alternatively, in some embodiments, each model may be implemented using a combination of hardware and software.
[0024] The database 112 may include suitable logic, interfaces, and / or code that may be configured to store rating information associated with each user set (e.g., a first user set) for a set of items associated with each domain (e.g., a first domain) of the set of domains. Dataset-1 114A may include rating information associated with a first user set for a set of items associated with a first domain. Dataset-2 114B may include rating information associated with a second user set for a set of items associated with a second domain. Similarly, Dataset-N 114N may include rating information associated with an Nth user set for a set of items associated with an Nth domain. The database 112 may be derived from data from a relational or non-relational database, or a set of comma-separated values (csv) files in a conventional storage or big data storage. The database 112 may be stored or cached in a device such as the server 104. The device that stores the database 112 may be configured to query the database 112 for rating information based on receiving a request for rating information from the electronic device 102. In response, the device storing the database 112 may be configured to retrieve results (e.g., dataset-1 114A, dataset-2 114B, ..., and dataset-N 114N) from the database 112 based on the received query.
[0025] In some embodiments, database 112 may be hosted on multiple servers stored in the same or different locations. The operations of database 112 may be performed using hardware, including a processor, a microprocessor (e.g., performing or controlling the execution of one or more operations), a field programmable gate array (FPGA), or an application specific integrated circuit (ASIC). In some other cases, database 112 may be implemented using software.
[0026] In operation, the electronic device 102 can be configured to determine first correlation information associated with a first set of users and further associated with a first domain of the domain set. The domain set can correspond to at least one of a mode set or a set of application areas. The first user set can include a first user (i.e., user 116). The first correlation information can include associations between the user 116 and a plurality of second users of the first user set. The associations can be determined based on rating information. The electronic device 102 can receive rating information associated with the first user set for a set of items associated with the first domain. For example, the items can correspond to movies, and the first domain can correspond to a movie domain of an over-the-top (OTT) platform. The first user set can include 10 users, and the first domain can include 10 movies. The first user set can include the user 116 and 9 other users. The electronic device 102 may receive rating information associated with each of the ten users for one or more movies of the ten movies associated with the movie domain of the OTT platform. Determining the first correlation information is further described, for example, in FIG.
[0027] The electronic device 102 may further determine a trust score of the first user for each of the first set of users based on the rating information. For example, the electronic device 102 may determine nine trust scores indicative of the user 116's trust for the other nine users and a trust score indicative of the user 116's trust for himself. The trust score of the user 116 for another user of the first set of users may be determined based on co-positive ratings of one or more items of the item set (e.g., 10 movies) by the user 116 and the other users. The trust score of the user 116 for the other users may be further determined based on ratings of one or more items of the item set (e.g., 10 movies) by the other users. The trust score of the user 116 for himself may be 1. Similarly, the electronic device 102 may determine a trust score of each user of the first set of users (except the user 116) for each of the first set of users. Thus, the electronic device may determine 100 confidence scores (i.e., 10 confidence scores for each user in the first set of users). According to an embodiment, the electronic device 102 may determine the first correlation information based on the 100 confidence scores. Determining the confidence scores for the first users is further described, for example, in FIG. 3.
[0028] The electronic device 102 may be further configured to generate a first vector indicating a trust embedding of the first user (i.e., user 116) of the first user set to the first user set in the first domain based on the first correlation information. The electronic device 102 may generate a first vector indicating a trust embedding of the user 116 to the first user set. According to an embodiment, the electronic device 102 may determine a plurality of second users that may be associated with the user 116 based on the first correlation information. The determination may be based on a comparison of a trust score of the user 116 to each of the first user set. The comparison may indicate that the trust score of the user 116 to each of the plurality of second users is likely to be higher than a predetermined threshold. The electronic device 102 may determine first neighborhood information associated with the first user (i.e., user 116) and further associated with the first domain based on the determined first correlation information. The first neighborhood information may indicate users that are correlated with the first user (i.e., user 116) of the first user set. A user of the first user set correlated with user 116 may correspond to multiple second users because the trust score of user 116 for each of the multiple second users is likely to be higher than a predetermined threshold.
[0029] The electronic device 102 can generate a first vector based on the determined first neighborhood information. According to an embodiment, the electronic device 102 can concatenate user embeddings associated with a plurality of second users that are correlated with the user 116 to determine the first vector. For example, the plurality of second users can correspond to four users of a first user set that can be correlated with the user 116. In such a case, the electronic device 102 can concatenate four vectors that can represent user embeddings associated with these four users to generate the first vector. The generation of the first vector is further described, for example, in FIG. 3.
[0030] The electronic device 102 may be further configured to receive second correlation information related to the second user set and further related to a second domain of the domain set. The second user set may include the first user (i.e., user 116) and one or more users of the first user set. For example, each of the first user set and the second user set may include the first user and a plurality of second users. The plurality of second users may be common to both the first user set and the second user set. The second correlation information may include an association between the user 116 and a plurality of third users of the second user set. The association may be determined based on rating information related to the second user set. The electronic device 102 may receive rating information related to the second user set for a set of items related to the second domain. For example, the items may correspond to shows and the second domain may correspond to a show domain of the OTT platform. The second set of users can include ten users (including user 116 and one or more users of the first set of users), and the second domain can include ten shows. Electronic device 102 can receive rating information associated with each of the ten users for one or more of the ten shows associated with the show domain of the OTT platform.
[0031] The electronic device 102 can further determine a trust score of the first user relative to each of the second set of users based on the reputation information. Similarly, the electronic device 102 can determine a trust score of each user of the second set of users (except for user 116) relative to each of the second set of users. According to an embodiment, the electronic device 102 can determine second correlation information based on the determined trust scores.
[0032] The electronic device 102 may be further configured to determine a plurality of third users correlated with the user 116 based on the second correlation information. A trust score of the first user (i.e., the user 116) for each of the plurality of third users may be higher than a predetermined threshold. The electronic device 102 may determine second neighborhood information related to the first user (i.e., the user 116) and further related to a second domain based on the determined second correlation information. The second neighborhood information may indicate a second user set of users correlated with the first user (i.e., the user 116). The second user set of users correlated with the user 116 may correspond to a plurality of third users because the trust score of the user 116 for each of the plurality of third users is higher than a predetermined threshold.
[0033] The electronic device 102 may be configured to apply the GAT model 108 to the determined second neighborhood information. The GAT model 108 may include a node associated with the user 116 and a node associated with each of the plurality of third users. The nodes of the GAT model 108 may represent user embeddings associated with the user 116 and each of the plurality of third users. For example, a portion of the GAT model 108 (from the perspective of the node associated with the user 116) may include five nodes. These nodes may be associated with the user 116 and four users corresponding to the plurality of third users. The nodes associated with the plurality of third users may be connected to the node associated with the user 116. Each node associated with a user of the plurality of third users may further be associated with a weight. The weight associated with a node may be based on (e.g., directly proportional to) the trust score of the user 116 for the corresponding user of the plurality of third users associated with the node. The GAT model 108 may further determine a weighted vector for each node associated with a user of the plurality of third users. The determination of the second neighborhood information may be based on the weights associated with the nodes and the user embeddings represented by the nodes. For example, the GAT model 108 may determine four weighted vectors associated with four nodes (associated with multiple third users). In such a case, the second neighborhood information may be determined based on the determined four weighted vectors associated with the four nodes.
[0034] The electronic device 102 may be further configured to generate a second vector indicative of a trust embedding of the first user (i.e., user 116) relative to a second set of users in a second domain based on application of the GAT model 108. According to an embodiment, the electronic device 102 may concatenate weighted vectors associated with multiple third users correlated with the user 116 to determine the second vector. According to an embodiment, the electronic device 102 may calculate an average of weighted vectors associated with multiple third users correlated with the user 116 to determine the second vector. For example, the electronic device 102 may concatenate four weighted vectors or calculate an average of four weighted vectors to generate the second vector. Determining the second vector is further described, for example, in FIG. 3.
[0035] The electronic device 102 may be further configured to apply the recommendation model 110 to the first vector and the second vector. In some embodiments, the recommendation model 110 may be further applied to a third vector representing a user embedding associated with the user 116. The third vector may represent an initial user embedding associated with the user 116. The third vector may be generated when the user 116 begins consuming a set of items related to the first domain. The third vector may indicate collaborative filtering information associated with the first user (i.e., the user 116), preference information associated with the user 116, demographic information associated with the user 116, or purchase history associated with the user 116. The electronic device 102 may generate an updated user embedding associated with the user 116 based on the application of the recommendation model 110 to the first vector, the second vector, and the third vector.
[0036] It should be noted that the first and second vectors may be generated based on consumption of items associated with the first domain and second items by user 116 and other users in the first and second user sets, and thus the first and second vectors may be updated based on further updates of data related to consumption of items associated with the first domain and second items by the first and second user sets, as well as the inclusion of new users in the first and second user sets.
[0037] The electronic device 102 may be further configured to recommend one or more items to the first user (i.e., user 116) based on application of the recommendation model 110 to the first vector and the second vector. The recommendation model 110 may generate a recommendation that may include one or more items. The recommended one or more items may be related to the first domain (i.e., the target domain). Determining the recommendation of one or more items is further described, for example, in FIG. 3.
[0038] The electronic device 102 may be further configured to render the recommended item or items on a display device associated with the electronic device 102. According to an embodiment, the electronic device 102 may further render a user interface element on the display device. The electronic device 102 may receive user input from the user 116 via the user interface element. The user input may indicate a rating associated with the relevance of the generated recommendation.
[0039] FIG. 2 is a block diagram illustrating an example electronic device of FIG. 1 for generating recommendations using trust-based embedding, according to an embodiment of the present disclosure. The description of FIG. 2 is provided with reference to the elements of FIG. 1. FIG. 2 illustrates a block diagram 200 of an electronic device 102. The electronic device 102 can include a circuit 202, a memory 204, an input / output (I / O) device 206, a network interface 208, a GAT model 108, and a recommendation model 110. In at least one embodiment, the I / O device 206 can also include a display device 210. In at least one embodiment, the memory 204 can include a dataset-1 114A, a dataset-2 114B, ..., and a dataset-N 114N. The circuit 202 can be communicatively coupled to the memory 204, the I / O device 206, the network interface 208, the GAT model 108, and the recommendation model 110 through wired or wireless communication of the electronic device 102.
[0040] The circuit 202 may include suitable logic, circuits, and interfaces that may be configured to execute program instructions associated with different operations performed by the electronic device 102. These operations may include determining first correlation information associated with a first set of users and further associated with a first domain of the domain set. The operations may further include generating a first vector indicative of a trust embedding of the first user (i.e., user 116) with respect to the first set of users in the first domain based on the first correlation information. The operations may further include receiving second correlation information associated with a second set of users and further associated with a second domain of the domain set. The operations may further include applying the GAT model 108 to the determined second correlation information. The operations may further include generating a second vector indicative of a trust embedding of the first user (i.e., user 116) with respect to the second set of users in the second domain based on the application of the GAT model 108. The operations may further include applying the recommendation model 110 to the first vector and the second vector. The operations may further include recommending one or more items to the first user (i.e., user 116) based on application of the recommendation model 110 to the first and second vectors. The operations may further include rendering the recommended one or more items on a display device 210 associated with the electronic device 102. The circuit 202 may include one or more specialized processing units, which may be implemented as an integrated processor or a group of processors that collectively perform the functions of the one or more specialized processing units. The circuit 202 may be implemented based on multiple processor technologies known in the art. Example implementations of the circuit 202 may be an X86-based processor, a graphic processing unit (GPU), a reduced instruction set computing (RISC) processor, an application specific integrated circuit (ASIC) processor, a complex instruction set computing (CISC) processor, a microcontroller, a central processing unit (CPU), and / or other computing circuitry.
[0041] The memory 204 may include suitable logic, circuits, interfaces, and / or code that may be configured to store program instructions executed by the circuit 202. The program instructions stored in the memory 204 may enable the circuit 202 to perform the operations of the circuit 202 (and / or the electronic device 102). In at least one embodiment, the memory 204 may store a dataset-1 114A, a dataset-2 114B, ..., and a dataset-N 114N that may be retrieved from the database 112. The memory 204 may further store a first user-item matrix generated based on rating information associated with a first set of users for an item set related to a first domain. Similarly, the memory 204 may store a second or Nth user-item matrix generated based on rating information associated with a second or Nth set of users for an item set related to a second or Nth domain, respectively. The memory 204 may further store the determined first correlation information and the determined second correlation information. In some embodiments, the memory 204 may further store the GAT model 108 and / or the recommendation model 110. Example implementations of the memory 204 may include, but are not limited to, a random access memory (RAM), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a hard disk drive (HDD), a solid-state drive (SSD), a CPU cache, and / or a secure digital (SD) card.
[0042] The I / O device 206 may include suitable logic, circuitry, interfaces, and / or code that may be configured to receive input and provide output based on the received input. For example, the I / O device 206 may receive user input from the user 116. The user input may indicate a rating provided by the user 116 for one or more items (e.g., movie / video content) that the user 116 has consumed (or viewed). In some embodiments, the I / O device 206 may receive user input from the user 116 indicating a relevance rating associated with a rendered recommendation. The relevance rating may indicate whether the recommendation is relevant to the user 116 or whether the user 116 is interested in one or more items included in the recommendation. Examples of the I / O device 206 may include, but are not limited to, a touch screen, a keyboard, a mouse, a joystick, a microphone, a display device 212, and a speaker. Examples of the I / O device 206 may further include a Braille I / O device, such as a Braille keyboard and a Braille reader.
[0043] The I / O devices 206 may include a display device 210. The display device 210 may include suitable logic, circuitry, and interfaces that may be configured to receive input from the circuit 202 for rendering on a display screen one or more items associated with a domain (e.g., a first domain) recommended to the user 116 (i.e., a first user). In at least one embodiment, the display screen may be at least one of a resistive touch screen, a capacitive touch screen, or a thermal touch screen. The display device 210 or display screen may be implemented through a number of known technologies, such as, but not limited to, at least one of a liquid crystal display (LCD) display, a light emitting diode (LED) display, a plasma display, or an organic LED (OLED) display technology, or other display device.
[0044] The network interface 208 may include suitable logic, circuits, and interfaces that may be configured to facilitate communications between the circuitry 202 and the server 104 over the communications network 106. The network interface 208 may be implemented to support wired or wireless communications between the electronic device 102 and the communications network 106 using a variety of known technologies. The network interface 208 may include, but is not limited to, an antenna, a radio frequency (RF) transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a coder-decoder (CODEC) chipset, a subscriber identity module (SIM) card, or a local buffer circuit.
[0045] The network interface 208 may be configured to communicate via wireless communication with a network such as the Internet, an intranet, or a wireless network such as a cellular telephone network, a wireless local area network (LAN), a local area network, a metropolitan area network (MAN), or the like. The wireless communication may use one or more of a number of communication standards, protocols, and technologies, such as Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), Wideband Code Division Multiple Access (W-CDMA), Long Term Evolution (LTE), Fifth Generation (5G) New Radio (NR), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Bluetooth, Wireless Fidelity (WiFi) (such as IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, or IEEE 802.11n), Voice over Internet Protocol (VoIP), Light Fidelity (Li-Fi), Worldwide Interoperability for Microwave Access (Wi-MAX), short range communications protocols, and wireless peer-to-peer protocols.
[0046] The functions or operations performed by electronic device 102 as described in Figure 1 may be performed by circuitry 202. Operations performed by circuitry 202 are described in detail, for example, in Figures 3, 4, 5, 6 and 7.
[0047] FIG. 3 illustrates an exemplary scenario of applying a recommendation model to a trust-based embedding for generating item recommendations according to an embodiment of the present disclosure. The description of FIG. 3 is provided in conjunction with the elements of FIG. 1 and FIG. 2. FIG. 3 illustrates an exemplary scenario 300. The exemplary scenario 300 illustrates a trust generator 302 that can generate a user-user trust matrix based on a user-item matrix. The trust generator 302 can be software that can include program instructions that the circuit 202 can execute on the electronic device 102 to determine the trust score of a user relative to other users. Additionally or alternatively, the trust generator 302 can be implemented using hardware including a processor, a microprocessor, an FPGA, or an ASIC. Additionally, the GAT model 108 of FIG. 1 and the recommendation model 110 of FIG. 1 are also illustrated. The recommendation model 110 can recommend items related to a target domain (i.e., a first domain of a domain set, which can correspond to at least one of a mode set or an application set) to a target user (e.g., user 116) based on the trust-based embeddings of the target user for the first and second user sets and the user embeddings related to the target user. An example scenario for cross-domain (i.e., cross-domain or cross-application set) item recommendation is shown, for example, in FIG. 7. An example scenario for cross-modal (i.e., multi-modal) item recommendation is shown, for example, in FIG. 8.
[0048] According to an embodiment, the circuit 202 can be configured to receive rating information associated with a first set of users for a set of items related to a first domain. The first domain can be referred to as a target domain. The circuit 202 can be configured to recommend items related to the target domain. The first set of users can be referred to as “U1”, “U2”, ..., and “U3”. N The user "U1" may correspond to the first user (i.e., user 116) or the target user. The circuit 202 may be configured to render (recommended) items related to the target domain on the display device 210 that are viewable by the target user (i.e., user 116 or "U1"). The set of items related to the first domain may include "I1", "I2", ..., and "I3". M The circuit 202 may receive rating information from each user of the first user set for one or more items of the item set associated with the first domain. The circuit 202 may be configured to generate a user-item matrix 304 for the first domain based on the received rating information. Each row of the user-item matrix 304 may correspond to rating information associated with a user of the first user set for the item set associated with the first domain. Further, each column of the user-item matrix 304 may correspond to rating information associated with the first user set for the items of the item set associated with the first domain. For example, the first row of the user-item matrix 304 may include items “I1”, “I2”, ..., and “I M Similarly, the first column of the user-item matrix 304 may represent rating information associated with a first set of users, U1, U2, ..., and U3, for item I1. N " can show evaluation information related to the item.
[0049] The trust generator 302 can receive as input a user-item matrix 304 and generate as output a user-user trust matrix 306 for a first domain. The user-user trust matrix 306 is based on a first set of users (i.e., users “U1”, “U2”, ..., and “U N The circuit 202, via the confidence generator 302, may determine a confidence score for each user (of the first set of users) relative to (each of) the other users of the first set of users based on the reputation information. For example, the confidence generator 302 may determine a confidence score for each user (of the first set of users) relative to (each of) the other users of the first set of users based on the reputation information. N A trust score for user "U1" for each of user "U1", ... "U N ". Similarly, the second row of the user-user trust matrix 306 may include the trust scores of user "U1" for each of users "U1", ... "U N , ..., the Nth row of the user-user trust matrix 306 may include the trust scores of user “U2” for each of users “U1”, ..., “U N For each of the Nth users (i.e., "U N "). In some embodiments, the trust scores of users for the same user may be set as "1". Thus, the diagonal elements of the user-user trust matrix 306 may all be "1".
[0050] According to an embodiment, a trust score of a user of the first user set relative to another user of the first user set can be determined based on a common positive rating of one or more items of the item set by the user and the other user. A trust score of a user relative to the other user can further be determined based on the ratings of one or more items of the item set by the other user. For example, a trust score of user "U1" relative to user "U2" can be determined based on the common positive ratings of one or more items of the item set by users "U1" and "U2". M" and the common positive evaluation of one or more items in "I1"..."I M The common positive ratings of one or more items in the itemset by users “U1” and “U2” can be obtained from the first and second rows of the user-item matrix 304, respectively. Furthermore, the ratings of one or more items in the itemset by user “U2” can be obtained from the second row of the user-item matrix 304.
[0051] Note that the evaluation information related to each of users "U1" and "U2" is the item set "I1", ... "I M If a set of items is available for all items in the item set, then the trust score of user "U1" with respect to user "U2" can be determined based on the common positive ratings of all items in the item set.
[0052] According to an embodiment, the circuit 202 can be configured to determine first neighborhood information 308 associated with the user “U1” (i.e., user 116) based on the first correlation information (i.e., the user-user trust matrix 306). The determined first neighborhood information 308 can include a first set of users (i.e., users “U1”, ..., and “U N The circuit 202 may display users that may be correlated with the user "U1", such as users "U2", ... "U N The circuit 202 may determine whether or not a trust score for user "U1" for each of users "U2", ... "U NA trust score of user "U1" for each of the users correlated with user "U1" may be obtained based on the first row of the user-user trust matrix 306. The comparison may indicate that the trust score of user "U1" for each user correlated with user "U1" is greater than a predetermined threshold. The users of the first user set that may be correlated with user "U1" (i.e., the first user or user 116) may correspond to a plurality of second users of the first user set in the first domain, or a neighborhood of user "U1". Thus, the first correlation information (i.e., the user-user trust matrix 306) may include the first neighborhood information 308 and information regarding the association between the first user (i.e., user "U1") and the plurality of second users. Similarly, the circuit 202 may determine neighborhood information associated with each of the remaining users of the first user set associated with the first domain based on the first correlation information (i.e., the user-user trust matrix 306).
[0053] The circuit 202 may be further configured to generate a first vector 310 based on the first neighborhood information 308. The first vector 310 may be a vector of a first set of users “U1”, ... “U N " may represent a trust embedding of user "U1" (i.e., the first user or user 116) relative to user "U1". According to an embodiment, the circuit 202 may be configured to obtain user embeddings associated with users correlated with user "U1" (i.e., a neighborhood of "U1"). The circuit 202 may concatenate user embeddings associated with users correlated with user "U1" (i.e., a plurality of second users) to generate a first vector 310.
[0054] According to an embodiment, the circuit 202 can be configured to receive rating information associated with a second set of users for a set of items associated with a second domain. The second domain can be referred to as an auxiliary domain. The second set of users can include users “U1”, “V2”, ..., and “V N". The second user set may include a user "U1" (i.e., the target user) and one or more users of the first user set. The one or more users of the first user set included in the second user set may be referred to as common users (or users common to the first user set and the second user set). For example, each of the first user set and the second user set may include a first user and multiple second users. The multiple second users may be common to both the first user set and the second user set. For example, if one or more users of the first user set included in the second user set are "U2", "U3", and "U4", then the users "U2", "U3", and "U4" may correspond to users "V2", "V3", and "V4", respectively. The item set related to the first domain may include items "J1", "J2", ..., and "J3". N The circuit 202 may include the item sets "J1", "J2", ..., and "J N A user-item matrix 312 for the second domain may be configured to be generated based on rating information associated with each user of the second set of users for the second domain. Each row of the user-item matrix 312 may be configured to include items “J1”, “J2”, ..., and “J N Further, each column of the user-item matrix 304 may correspond to rating information associated with a user of the second user set for items “J1”, “J2”, ..., and “J N " may correspond to rating information associated with a second set of users for items in ".
[0055] The trust generator 302 can receive the user-item matrix 312 as input and generate a user-user trust matrix 314 for the second domain as output. The user-user trust matrix 314 is generated based on the user-item matrix 312 for the second domain. N The circuit 202, via the confidence generator 302, may correspond to second correlation information related to users “V1”, ... “V2”, ... “V3”, ... “V4”, ... “V5”, ... “V6”, ... “V7”, ... “V8”, ... “V9”, ... “V10”, ... “V11”, ... “V12”, ... “V13”, ... “V14”, ... “V15”, ... “V16”, ... “V17”, ... “V18”, ... “V19”, ... “V20”, ... “V21”, ... “V22”, ... “V33”, ... “V34”, ... “V35”, ... “V46”, ... “V47”, ... “V58”, ... “V59”, ... “V60”, ... “V61”, ... “V72”, ... “V73”, ... “V84”, ... “V95”, ... “V106”, ... “V117”, ... “V128”, ... “V139”, ... “N A trust score for user "U1" for each of the users "U1", ... "V N For example, the confidence score of user U1 for user V2 may include the confidence scores of user U1 for each of the itemsets J1, ...J2 by users U1 and V2. N The common positive ratings of one or more items of an itemset by users "U1" and "V2" can be obtained from the first and second rows of the user-item matrix 312, respectively. The confidence score of user "U1" for user "V2" can be determined based on the common positive ratings of one or more items of itemsets "J1", ... "J2" by user "V2". N The ratings of one or more items of the itemset by V2 may be obtained from the second row of the user-item matrix 312.
[0056] According to an embodiment, the circuit 202 can be configured to determine second neighborhood information 316 associated with the user “U1” (i.e., user 116) based on the second correlation information (i.e., the user-user trust matrix 314). The determined second neighborhood information 316 can indicate users of a second set of users that are correlated with the user “U1”. The circuit 202 can classify the users that are correlated with the user “U1” as (users “V2”, ... “V N ") to a predetermined threshold. NA trust score of user "U1" for each of the users correlated with user "U1" may be obtained based on the first row of the user-user trust matrix 314. The comparison may indicate that the trust score of user "U1" for each user correlated with user "U1" is greater than a predetermined threshold. The users of the second user set correlated with user "U1" (i.e., the first user or user 116) may correspond to a plurality of third users of the second user set in the second domain, or users in the vicinity of "U1". Thus, the second correlation information (i.e., the user-user trust matrix 314) may include the second vicinity information 316 and associations between the first user (i.e., user "U1") and the plurality of third users.
[0057] The circuit 202 may be further configured to generate a second vector 318 based on application of the GAT model 108 to the second neighborhood information 316. The second vector 318 may be generated based on a second set of users “U1”, “V2”, ..., and “V NThe GAT model 108 may include nodes associated with the user "U1" and users of a second set of users that are correlated with the user "U1" (i.e., the neighborhood of the user "U1" in the second domain). For example, users "V2", "V3", "V4", and "V5" may be correlated with the user "U1". Thus, the GAT model 108 may include five nodes associated with the users "U1", "V2", "V3", "V4", and "V5". The nodes of the GAT model 108 may represent the user embeddings associated with the user "U1" and the user embeddings associated with the neighborhood of the user "U1" in the second domain (i.e., users "V2", "V3", "V4", and "V5"). The user embeddings associated with the user "U1" (i.e., the first user) may correspond to the third vector 320. The user embeddings associated with users (i.e., users “V2”, “V3”, “V4”, and “V5”) who are proximate to the first user “U1” in the second domain may include details about the users (e.g., age and gender), demographic information associated with the users, the users’ (e.g., items “J1”, ..., and “J N ") item consumption history, or related to the user (e.g., items "J1", ..., and "J N " can be generated based on characteristics such as item consumption patterns.
[0058] The circuit 202 can associate a first weight with each of the five nodes of the GAT model 108 via the GAT model 108. The GAT model 108 can associate a first weight with each of the nodes associated with users "V2", "V3", "V4", and "V5" via an attention mechanism. The first weight associated with a node can be based on a degree of correlation between user "U1" and a corresponding user associated with the node (e.g., "V2", "V3", "V4", or "V5"). The degree of correlation can be based on (e.g., directly proportional to) a trust score of user "U1" for each of users "V2", "V3", "V4", and "V5". The circuit 202 can further determine a weighted vector for each of the nodes associated with users "V2", "V3", "V4", and "V5" via the GAT model 108. The weighted vector for a node can be based on a first weight associated with the node and a user embedding represented by the node. For example, the weighted vector for a node associated with user "V2" may be based on a first weight associated with the node and a user embedding associated with user "V2" (represented by the node). Similarly, the circuit 202 may determine, via the GAT model 108, a weighted vector for each of the nodes associated with users "V3", "V4", and "V5". Thus, four weighted vectors may be determined that correspond to the nodes associated with users "V2", "V3", "V4", and "V5".
[0059] According to one embodiment, the circuitry 202 can concatenate the weighted vectors of the nodes associated with users "V2", "V3", "V4", and "V5" to generate the second vector 318. According to another embodiment, the circuitry 202 can calculate an average of the weighted vectors of the nodes associated with users "V2", "V3", "V4", and "V5" to generate the second vector 318.
[0060] The circuit 202 may be further configured to generate recommendations based on the first vector 310, the second vector 318, and the third vector 320 by using the recommendation model 110. According to an embodiment, the circuit 202 may be configured to determine a second weight associated with the second vector 318 via the recommendation model 110. The second weight may be a weight associated with a first set of users ("U1", ... "U2"), which may be a weight associated with a second set of users ("U3", ... "U4", ... "U5", ... "U6", ... "U7", ... "U8", ... "U9", ... "U10", ... "U11", ... "U12", ... "U13", ... "U14", ... "U15", ... "U16", ... "U17", ... "U18", ... "U19", ... "U20", ... "U21", ... "U22", ... "U23", ... "U24", ... "U25", ... "U36", ... "U37", ... "U38", ... "U39", ... "U41", ... "U42", ... "U43", ... "U44", ... "U45", ... "U46", ... "U47", ... "U48", ... "U49", ... "U51", ... "U52", ... "U53", ... "U54", ... "U55", ... "U56", ... "U57", ... "U58", ... "U59", ... "U69", ... "U69", ... "U70", ... "U71", ... "U72", ... "U73", ... "U74", ... "U75", ... "U85", ... "U96", ... "U97", ... "U98", ... "U99", ... "U109", ... "U11", ... "U12", ... "U13", ... "U14", ... "U15", ... "U15", ... "U1 N "), the first total number of users ("U1", ... "V N ") and a third total number of users common to the first set of users and the second set of users. The second weight may indicate a degree of relevance of the auxiliary domain (i.e., the second domain) to the target domain (i.e., the first domain). The circuit 202 may be configured to generate a second weighted vector based on the second vector 318 and the determined second weight.
[0061] The third vector 320 may represent a user embedding associated with a first user "U1" in the first domain. In some embodiments, the third vector 320 may be generated based on personal details of the first user (i.e., user "U1"), such as the age of the first user, the gender of the first user, or demographic information associated with the first user. In some other embodiments, the recommendation model 110 may generate the third vector 320 based on the personal details of the first user, demographic information associated with the first user, the first user's (e.g., items "I1", ..., and "I M "), or the item consumption history associated with the first user (e.g., items "I1", ..., and "I M A third vector 320 may be generated based on the item consumption pattern of the first user (e.g., items “I1”, ..., and “I M ") may be generated prior to or during the commencement of consumption.
[0062] The circuit 202 may generate an updated user embedding associated with a first user (i.e., user “U1”) in the first domain based on application of the recommendation model 110 to the first vector 310, the second weighted vector, and the third vector 320. According to one embodiment, the recommendation model 110 may generate an updated user embedding based on an aggregation of the first vector 310, the second weighted vector, and the third vector 320. According to another embodiment, the recommendation model 110 may generate an updated user embedding based on a concatenation of the first vector 310, the second weighted vector, and the third vector 320. The recommendation model 110 may generate an updated user embedding associated with a first user (i.e., user “U1”) in the first domain based on application of the recommendation model 110 to the first vector 310, the second weighted vector, and the third vector 320. According to another embodiment, the recommendation model 110 may generate an updated user embedding based on a concatenation of the first vector 310, the second weighted vector, and the third vector 320. Based on the updated user embedding associated with the first user, the recommendation model 110 may generate an updated user embedding associated with a set of items (e.g., items “I1”, ..., and “I M ") may generate recommendations that include one or more items 322.
[0063] The circuitry 202 may be further configured to render one or more recommended items 322 included in the generated recommendation via the display device 210. In an embodiment, the trust-based embeddings may be periodically updated over a predetermined period of time specified by the user 116. Thus, the circuitry 202 may periodically update the recommendations based on the periodic updates of the trust-based embeddings. The updated recommendations may be rendered via the display device 210.
[0064] The electronic device 102 can generate a trust-based embedding (e.g., the first vector 310 and the second weighted vector) based on the determined correlation between users across the target domain (e.g., the first domain) and one or more auxiliary domains (e.g., the second domain). The trust-based embedding can be used to update or modify existing user embeddings to generate information-rich user embeddings. The recommendation model 110 can generate modified user embeddings associated with the target user to determine users that may be related to the target user and items in the target domain that may be similar to items (in the target domain) previously consumed by the target user. The relevance of the user to the target user can be determined based on a common positive rating of items across multiple domains by the user and the target user. Based on this determination, the recommendation model 110 can recommend items consumed by related users. Furthermore, the recommended items related to the target domain can be similar to items consumed by the target user in the target domain. Thus, the relevance of the recommendations can be increased based on the use of modified user embeddings.
[0065] The recommendation model 110 can overcome issues such as "data sparsity" or "cold start" by leveraging trust between users across multiple domains. The recommendation model 110 can overcome "data sparsity" or "cold start" in the target domain by using a trust-based embedding of the target user to a set of users in one or more auxiliary domains. The recommendation model 110 can be used in applications such as OTT platforms (including domains such as movies, shows, sports, etc.), e-commerce platforms (including domains such as music, books, groceries, electronics, etc.), machine learning platforms (including domains such as artificial intelligence, natural language processing, etc.), or red-flagging users in social media (e.g., a user may be red-flagged in a first social media platform based on being deemed misbehaving in a second social media platform),
[0066] It should be noted that scenario 300 in FIG. 3 is for illustrative purposes and should not be construed as limiting the scope of the present disclosure.
[0067] FIG. 4 illustrates an exemplary scenario for generating correlation information for a user set based on rating information associated with the user set for an item set related to a domain, according to an embodiment of the present disclosure. FIG. 4 is described in conjunction with elements of FIG. 1, FIG. 2, and FIG. 3. FIG. 4 illustrates an exemplary scenario 400. The exemplary scenario 400 illustrates the confidence generator 302, the user-item matrix 402, the graph 404, the confidence score set 406, and the user-user confidence matrix 408 of FIG. 3. The circuit 202 can receive the user-item matrix 402 and generate the graph 404 based on the user-item matrix 402. The circuit 202 can further determine, via the confidence generator 302, a confidence score set 406 for each user of the user set relative to each of the other users of the user set. The circuit 202 can further generate the user-user confidence matrix 408 based on the determined confidence scores 406.
[0068] According to one embodiment, the circuit 202 generates a set of items associated with the domain (e.g., items “I1”, ..., and “I M The circuit 202 may be configured to receive rating information associated with a set of users (e.g., user “A”, user “B”, user “C”) for a set of users (e.g., user “A”, user “B”, user “C”). The circuit 202 may be configured to generate a user-item matrix 402 based on the received rating information. A first row of the user-item matrix 402 includes item sets “I1”, ..., and “I M The second row of the user-item matrix 402 may correspond to rating information associated with user "A" for itemsets "I1", ..., and "I M Similarly, the third row of the user-item matrix 402 may correspond to rating information associated with user "B" for itemsets "I1", ..., and "I M " may correspond to evaluation information related to user "C" regarding ".
[0069] The circuit 202 may be further configured to generate a graph 404 based on the user-item matrix 402. The graph 404 may include three nodes representing sets of users. Edges connecting the nodes of the graph may represent the itemsets "I1", ..., and "I2" by the users represented by the nodes connected by the edges. M " indicates the total number of common positive ratings of the itemset. For example, the circuitry 202 may determine based on the first row of the user-item matrix 402 that user "A" has rated 10 items of the itemset. Similarly, the circuitry 202 may determine based on the second row of the user-item matrix 402 that user "B" has rated 16 items of the itemset, and based on the third row of the user-item matrix 402 that user "C" has rated 25 items of the itemset.
[0070] Circuit 202 may be further configured to determine that user "B" rated two items out of the ten items rated by user "A" and that user "A" rated two items out of the sixteen items rated by user "B" based on a comparison of the first and second rows of user-item matrix 402. Thus, item sets "I1", ..., "I2", by users "A" and "B" (indicated by the edges connecting the nodes representing users A and B) are M " may be two. Similarly, circuitry 202 may determine, based on a comparison of the first and third rows of user-item matrix 402, that user "C" rated seven items out of the ten items rated by user "A", and that user "A" rated seven items out of the twenty-five items rated by user "C". Thus, item sets "I1", ..., "I2", by users "A" and "C" (as indicated by the edges connecting the nodes representing users "A" and "C") may be M" may be seven. Further, circuitry 202 may determine, based on a comparison of the second and third rows of user-item matrix 402, that user "C" rated 12 of the 16 items rated by user "B," and that user "B" rated 12 of the 25 items rated by user "C." Thus, item sets "I1," ..., "I2," by users "B" and "C" (indicated by the edges connecting the nodes representing users "B" and "C") may be M " The total number of common positive ratings can be 12.
[0071] The circuit 202 may be further configured to determine a confidence score set 406 based on the user-item matrix 402 and the graph 404. The confidence score of user “A” for user “A” (i.e., “T AA " ), user "B's" trust score for user "B" (i.e., "T BB " ), and the trust score of user "C" for user "C" (i.e., "T CC ") can be 1. That is, the trust score of a user for the same user can be 1. The trust score of user "A" for user "B" (i.e., "T AB ") is the set of items "I1", ..., and "I M ” and item sets “I1”, ..., and “I M " and the ratings received from user "B" for one or more items in "T". Similarly, the trust score of user "B" for user "A" (i.e., "T BA ") is the set of items "I1", ..., and "I M ” and item sets “I1”, ..., and “I M " and ratings received from user "A" for one or more items in "A.
[0072] For example, user “A” and user “B” have itemsets “I1”, ..., “I M ” (item sets “I1”, ..., “I M (The total number of common positive ratings for "A" is 2.) In this case, the trust score of user "A" with respect to user "B" can be determined based on the following equation (1): TIFF2025512908000002.tif20150(1)
[0073] Similarly, the trust score of user "B" relative to user "A" may be determined based on equation (2) below. TIFF2025512908000003.tif20150(2)
[0074] where r Ai is the set of items "I1", ..., "I M , and denote the rating information related to user “A” for the i-th item in “r Bi " may represent rating information associated with user "B" for the i-th item of itemset "I1", ..., "IN". The circuit 202 may extract "r Ai The circuit 202 can determine "r Bi User "B" can determine items "I1", ..., "I M Since we are evaluating 16 items in the AB The denominator of "I" can contain 16 ratings. User "A" can rate items "I1", ..., "I M Since we are evaluating 10 items in the BA " The denominator can include 10 ratings.
[0075] The circuit 202 selects the itemsets "I1", ..., and "IM ” and item sets “I1”, ..., and “I M ” and the ratings received from user “C” on one or more items of “T AC Similarly, the trust score of user "C" with respect to user "A" (i.e., "T CA ") is the set of items "I1", ..., and "I M ” and item sets “I1”, ..., and “I M " and ratings received from user "A" for one or more items in "A.
[0076] The trust score of user “A” towards user “C” (i.e., “T AC ") can be determined based on the following equation (3): TIFF2025512908000004.tif20150(3)
[0077] Similarly, the trust score of user “C” for user “A” (i.e., “T CA ") can be determined based on the following equation (4): TIFF2025512908000005.tif20150(4)
[0078] The circuit 202 extracts "r Ai The circuit 202 can determine "r Ci " can be determined. The itemsets "I1", ..., "I M The total number of common positive ratings for " is 7, so the fraction "T AC " and "T CAThe numerator of "I" can contain seven terms. User "C" has items "I1", ..., "I M Since we are evaluating 25 items in the AC The denominator of "" can contain 25 terms. User "A" can select items "I1", ..., and "I M Since we are evaluating 10 items in the CA The denominator of " can contain 10 terms.
[0079] The circuit 202 selects the itemsets "I1", ..., and "I M ” and item sets “I1”, ..., and “I M ” and the ratings received from user “C” on one or more items of “T BC Similarly, the trust score of user "C" with respect to user "B" (i.e., "T CB ") is the set of items "I1", ..., and "I M ” and item sets “I1”, ..., and “I M " and the ratings received from user "B" for one or more items in "User "B."
[0080] The trust score of user “B” towards user “C” (i.e., “T BC ") can be determined based on the following equation (5): TIFF2025512908000006.tif20150(5)
[0081] Similarly, the trust score of user “C” for user “B” (i.e., “T CB ") can be determined based on the following equation (6): TIFF2025512908000007.tif20150(6)
[0082] The circuit 202 extracts "r Bi The circuit 202 can determine "r Ci " can be determined. The itemsets "I1", ..., "I M The total number of common positive ratings for " is 12, so the fraction "T BC " and "T CB The numerator and denominator of "I" can contain 12 terms. User "C" can select items "I1", ..., "I M Since we are evaluating 25 items in the BC The denominator of "" can contain 25 terms. User "B" can select items "I1", ..., and "I M Since we are evaluating 16 items in the CB The denominator of " can contain 16 terms.
[0083] The circuit 202 may be further configured to generate a user-user trust matrix 408 based on the trust score set 406. The user-user trust matrix 408 may correspond to correlation information related to a set of users (i.e., user “A”, user “B”, and user “C”). A first row of the user-user trust matrix 408 may represent the trust scores (i.e., “T AA ","T AB " and "T AC The second row of the user-user trust matrix 408 may include the trust scores of user "B" with respect to each of user "A", user "B", and user "C" (i.e., "T BA ","T BB " and "T BC The third row of the user-user trust matrix 408 may include the trust scores of user "C" with respect to each of user "A", user "B", and user "C" (i.e., "TCA ","T CB " and "T CC ").
[0084] It should be noted that scenario 400 in FIG. 4 is for illustrative purposes and should not be construed as limiting the scope of the present disclosure.
[0085] Figure 5 is a flowchart illustrating operations of an exemplary method for generating a vector indicative of a trust embedding of a user in a target domain, according to an embodiment of the present disclosure. Figure 5 is described with reference to elements of Figures 1, 2, 3, and 4. Figure 5 illustrates a flowchart 500. Operations 502-512 may be performed by any computer system, such as electronic device 102 of Figure 1. Operations may begin at 502 and proceed to 504.
[0086] At 504, rating information associated with a first set of users for a set of items associated with a first domain may be received. In at least one embodiment, the circuit 202 may be configured to receive rating information associated with a first set of users (e.g., users “U1”, ... “U5”) for a set of items (e.g., “I1”, ... “I6”) associated with a first domain (e.g., a target domain). For example, the received rating information may include a first rating associated with user “U1” (for items such as “I1”, “I3”, “I4”, and “I6”), a second rating associated with user “U2” (for items such as “I2”, “I4”, and “I5”), and a third rating associated with user “U3” (for items such as “I2”, “I3”, “I5”, and “I6”). The received rating information may further include a fourth rating associated with user “U4” (for items such as “I1”, “I2”, “I5”, and “I6”) and a fifth rating associated with user “U5” (for items such as “I1”, “I4”, and “I5”). Each user of the first set of items may positively rate one or more items.
[0087] At 506, a trust score of the first user for each user of the first set of users can be determined based on the received reputation information. In at least one embodiment, the circuit 202 can be configured to determine a trust score of the first user (i.e., user 116 or user “U1”) for each user of the first set of users (i.e., users “U1”, ..., and “U5”) based on the received reputation information. A trust score of a certain user (e.g., user “U1”) for the same user (i.e., user “U1”) can be 1. Thus, “T 11 " can be 1. According to an embodiment, the circuit 202 can determine a confidence score of the first user "U1" with respect to other users of the first set of users based on a common positive rating of one or more items of the item set (i.e., "I1", ..., and "I6") by the first user "U1" and the corresponding other users of the first set of users (i.e., "U2", "U3", "U4", or "U5"). A confidence score of the user "U1" with respect to each of the users "U2", "U3", "U4", or "U5" can be determined further based on a rating of one or more items of the item set by each of the users "U2", "U3", "U4", or "U5".
[0088] For example, the trust score of user “U1” with respect to user “U2” (i.e., “T 12 ") can be determined based on the ratings associated with users "U1" and "U2" for item "I4" (i.e., a commonly rated item) and the ratings associated with user "U2" for items "I2", "I4", and "I5" (i.e., items rated only by user "U2" and not by user "U1"). Similarly, the trust score of user "U1" with respect to user "U3" (i.e., "T 13") can be determined based on ratings associated with users "U1" and "U3" for commonly rated items "I3" and "I6," and ratings associated with user "U3" for items "I2," "I3," "I5," and "I6" (i.e., items that user "U1" rated but user "U1" did not rate), and so forth.
[0089] At 508, first correlation information may be determined based on the determined confidence scores of the first user for each of the first set of users. In at least one embodiment, the circuit 202 may be configured to transmit a confidence score to each user of the first set of users (i.e., “U1”, ... “U2”). N The first correlation information may be configured to determine the first correlation information based on a determined confidence score of the first user (i.e., user 116 or user “U1”) for the confidence score set “T 11 ","T 12 ","T 13 ","T 14 " and "T 15 The first correlation information may correspond to "T im ", where (T 22 =T 33 =T 44 =T 55 = 1), "i" ∈ (2, 3, 4, 5} and "i" ≠ "m".
[0090] At 510, first neighborhood information associated with the first user and further associated with the first domain may be determined based on the determined first correlation information. In at least one embodiment, the circuit 202 may be configured to determine first neighborhood information associated with the first user (i.e., user 116 or U1) and further associated with the first domain (i.e., the target domain) based on the determined first correlation information. In at least one embodiment, the circuit 202 may be configured to determine first neighborhood information associated with the first user (i.e., user 116 or user “U1”) and further associated with the first domain (i.e., the target domain) based on the determined first correlation information. 12 ","T13 ","T 14 " or "T 15 ") to a predetermined threshold. The circuit 202 can be configured to determine the first neighborhood information based on the comparison.
[0091] For example, the determined confidence score (i.e., “T 12 ","T 13 ","T 14 " or "T 15 Each of the trust scores of the first user "U1" with respect to the user "U2" (i.e., "T 12 ") and the trust score of the first user "U1" with respect to user "U4" (i.e., "T 14 ") may be greater than a predetermined threshold. According to an embodiment, the first neighborhood information may indicate users of a first set of users that may be correlated with the first user (i.e., user 116 or user "U1"). For example, the circuit 202 may determine, based on the comparison, that users "U2" and "U4" may be correlated with the first user (i.e., user "U1") in the first domain. In such a case, users "U2" and "U4" may correspond to a neighborhood of a plurality of second users of the first set of users (i.e., "U1", ... "U5") or the first user "U1" in the first domain.
[0092] At 512, a first vector indicating a trust embedding of the first user for a first set of users in the first domain can be generated based on the determined first neighborhood information. In at least one embodiment, the circuit 202 is configured to generate a first vector indicating a trust embedding of the first user for a first set of users (i.e., “U1”, ... “U2”) in the first domain (i.e., target domain) based on the determined first neighborhood information. NThe circuit 202 may be configured to generate a first vector indicative of a trust embedding of the first user (i.e., user 116 or user “U1”) relative to a first domain (i.e., a first domain indicative of a trust embedding of the first user relative to a first domain indicative of a second domain indicative of a third domain indicative of a fourth domain indicative of a fourth domain indicative of a fourth domain indicative of a fifth ...
[0093] In some embodiments, the circuit 202 may be configured to select a predetermined number of users in the first set of users as neighbors of the first user "U1" based on the first correlation information. The confidence score of "U1" for each of the predetermined number of users may be greater than a predetermined threshold. The circuit 202 may generate the first vector based on a concatenation of a predetermined number of vectors representing user embeddings associated with the predetermined number of users. For example, the predetermined number of users may correspond to two users, namely, users "U2" and "U4", because the confidence score of user "U1" for each of users "U2" and "U4" may be greater than a predetermined threshold. The circuit 202 may concatenate the user embeddings (i.e., corresponding vectors) associated with users "U2" and "U4" to determine the first vector. However, there may also be scenarios in which the confidence scores of the first user "U1" for two or more users of the first set of users are equal. Furthermore, the total number of users for which the confidence score of the first user "U1" is greater than the predetermined threshold may be greater than the predetermined number of users. For example, the trust score of the first user "U1" for each of users such as "U2", "U4" and "U5" (if the predetermined number of users selected as the neighboring users of the first user "U1" is 2) may be greater than a predetermined threshold. Furthermore, the trust score of the first user "U1" for user "U4" may be equal to the trust score of the first user "U1" for user "U5". In this scenario, the circuit 202 may select one of the two users (i.e., user "U4" or "U5") such that the two users are selected as neighbors. The selection of one of the two users may be based on similarities between the user and the first user "U1" regarding various factors such as age, demographic information and gender. For example, if the age of the user "U4" is closer to the age of the first user "U1" compared to the age of the user "U5", the circuit 202 may select the user "U4". If users "U4" and "U5" are the same age, the selection of one of the two users may be based on other factors such as demographic information and gender. Control may proceed to end.
[0094] Although flowchart 500 is depicted as discrete operations, such as 504, 506, 508, 510, and 512, the disclosure is not so limited and, therefore, in some embodiments, such discrete operations may be further divided into additional operations, combined into fewer operations, or eliminated, depending on the implementation, without departing from the essence of the disclosed embodiments.
[0095] FIG. 6 illustrates an exemplary scenario for generating a vector indicating a trust embedding of a user in an auxiliary domain based on a graph attention network (GAT) model, according to an embodiment of the present disclosure. The description of FIG. 6 is provided in conjunction with elements of FIG. 1, FIG. 2, FIG. 3, FIG. 4, and FIG. 5. FIG. 6 illustrates an exemplary scenario 600. The exemplary scenario 600 illustrates the user-user trust matrix 314 (for the second domain) of FIG. 3, the second neighborhood information 316 of FIG. 3, the user embedding set 602, the third vector 320 of FIG. 3, the GAT model 604, and the second vector 318 of FIG. 3. The GAT model 604 can be an exemplary implementation of the GAT model 108 of FIG. 1. The circuit 202 can be configured to determine the second vector 318 based on application of the GAT model 604 to the user embedding set 602 (which can be represented by the nodes of the GAT model 604).
[0096] According to an embodiment, the circuit 202 can be configured to generate a user-user trust matrix 314 based on the user-item matrix 312. The user-user trust matrix 314 is generated based on a second set of users ("U1", "V2", ..., and "V NThe second correlation information 316 may correspond to a second correlation information related to the first user (i.e., user 116 or user “U1”) and further related to the second domain. The circuit 202 may be configured to determine second neighborhood information 316 related to the first user (i.e., user 116 or user “U1”) and further related to the second domain based on the second correlation information. The determined second neighborhood information 316 may indicate users of a second set of users that are correlated with the first user (i.e., user 116 or user “U1”). For example, users “V2”, “V3”, “V4” and “V5” may be correlated with the first user “U1”. The users that are correlated with the first user “U1” in the second domain may correspond to a plurality of third users of the second set of users or a neighborhood of the first user “U1” in the second domain.
[0097] The circuit 202 may be further configured to obtain a user embedding set 602. The user embedding set 602 may include user embeddings associated with a neighborhood of the first user (i.e., user 116 or user “U1”) in the second domain or multiple third users in the second domain. The circuit 202 may obtain the user embedding set 602 based on the second neighborhood information 316. The circuit 202 may obtain user embeddings associated with users “V2”, “V3”, “V4”, and “V5” (i.e., neighborhood of the first user “U1” in the second domain). The obtained user embeddings may be represented as user embeddings “E2”, “E3”, “E4”, and “E5”. The user embedding associated with the first user “U1” (i.e., the third vector 320) may be represented as user embedding “E1”. The GAT model 604 can receive as input the user embedding "E1" (ie, the third vector 320), and the user embeddings "E2", "E3", "E4" and "E5".
[0098] The GAT model 108 may include nodes that may represent user embeddings "E1", "E2", "E3", "E4", and "E5". According to an embodiment, the circuit 202 may be configured to determine a first weight associated with each of a plurality of vectors (i.e., user embeddings) for each corresponding user of a plurality of third users (i.e., users "V2", "V3", "V4", or "V5") based on the determined second correlation information (i.e., user-user trust matrix 314) via application of the GAT model 604. The plurality of vectors may correspond to the plurality of user embeddings "E2", "E3", "E4", and "E5". The first weight associated with the user embedding (associated with a user that correlates with the first user "U1" in the second domain) may be based on (e.g., directly proportional to) the trust score of the first user "U1" for the user associated with the user embedding. For example, a first weight associated with user embedding "E2" (associated with user "V2") may be based on (e.g., directly proportional to) the trust score of the first user "U1" for user "V2". Similarly, a first weight associated with user embedding "E3" (associated with user "V3") may be directly proportional to the trust score of the first user "U1" for user "V3". The trust score of the first user "U1" for each of users "V2", "V3", "V4", or "V5" may be obtained from the first row of the user-user trust matrix 314. Thus, the circuit 202 may associate a first weight with each of the user embeddings "E2", "E3", "E4", and "E5".
[0099] The circuit 202 may be further configured to determine a plurality of weighted vectors based on the determined first weights and corresponding vectors (i.e., user embeddings) of the plurality of vectors (i.e., “E2”, “E3”, “E4”, and “E5”). For example, the circuit 202 may determine four weighted vectors. The four weighted vectors may be associated with nodes representing user embeddings “E2”, “E3”, “E4”, and “E5”, respectively. For example, the weighted vector associated with the node representing user embedding “E2” may be determined based on the first weight associated with the user embedding “E2” and a vector representation of the user embedding “E2” itself. The weighted vector associated with the node representing user embedding “E3” may be determined based on the first weight associated with the user embedding “E3” and a vector representation of the user embedding “E3” itself.
[0100] The circuit 202 may be further configured to generate a second vector 318 (i.e., "E'1") based on the determined weighted vectors. According to an embodiment, the circuit 202 may generate the second vector 318 via a concatenation of multiple weighted vectors (associated with the nodes representing the user embeddings "E2", "E3", "E4" and "E5") or through calculation of an average of multiple weighted vectors.
[0101] It should be noted that scenario 600 in FIG. 6 is for illustrative purposes and should not be construed as limiting the scope of the present disclosure.
[0102] FIG. 7 illustrates an exemplary scenario for generating trust-based embeddings of a user in multiple domains based on correlations between the user and the user's neighborhood in each of the multiple domains, according to an embodiment of the present disclosure. FIG. 7 is described with reference to elements of FIG. 1, FIG. 2, FIG. 3, FIG. 4, FIG. 5, and FIG. 6. FIG. 7 illustrates an exemplary scenario 700. The exemplary scenario 700 illustrates multiple domains associated with an over-the-top (OTT) platform, namely, a movie domain 702, a show domain 704, and a sports domain 706. The scenario 700 illustrates cross-domain (i.e., cross-domain or cross-application set) item recommendation. For example, in the scenario 700, content from multiple domains or applications is available on the OTT platform. The multiple domains or applications can correspond to the movie domain 702, the show domain 704, and the sports domain 706.
[0103] The user 116 (or user “U1”) can be a consumer of items associated with each of the multiple domains. Also shown are trust-based embeddings of the user 116 in each of the multiple domains (e.g., “U1-D1”, “U1-A1”, “U1-D2”, “U1-A2”, “U1-D3”, and “U1-A3”). The circuit 202 can generate updated user embeddings associated with the user 116 for each of the multiple domains (e.g., “U1-E1-D1”, “U1-E1-D2”, and “U1-E1-D3”) based on the trust-based embeddings. The user 116 can be referred to as a target user who can receive recommendations of items associated with the target domain based on the revised user embeddings associated with the target domain.
[0104] According to an embodiment, the circuitry 202 can be configured to determine proximity information associated with the user 116 in each of the multiple domains based on correlation information associated with the user in each of the multiple domains. For example, the circuitry 202 can determine first proximity information 708 associated with the user 116 based on correlation information associated with the user in the movie domain 702. Similarly, the circuitry 202 can determine second proximity information 710 associated with the user 116 in the show domain 704 and third proximity information 712 associated with the user 116 in the sports domain 706.
[0105] The circuit 202 may be further configured to generate a first trust-based embedding, such as “U1-D1” of the user 116, and a second trust-based embedding, such as “U1-A1” of the user 116, for a first set of users in the movie domain 702. The first trust-based embedding and the second trust-based embedding may be generated based on the first neighborhood information 708. The second trust-based embedding may be generated based on application of the GAT model 108 to the first neighborhood information 708. If the movie domain 702 is the target domain, the circuit 202 may modify the user embedding “U1-E1” associated with the user 116 (i.e., the third vector 320) based on the first trust-based embedding (i.e., “U1-D1”). If the movie domain 702 is an auxiliary domain to another target domain (e.g., the show domain 704 or the sports domain 706), the circuit 202 can modify the user embedding “U1-E1” (i.e., the third vector 320) based on the second trust-based embedding (i.e., “U1-A1”).
[0106] The circuit 202 may be further configured to generate a third trust-based embedding, such as “U1-D2” of the user 116, and a fourth trust-based embedding, such as “U1-A2” of the user 116, for a second set of users in the show domain 704. The third trust-based embedding and the fourth trust-based embedding may be generated based on the second neighborhood information 710. The fourth trust-based embedding may be generated based on application of the GAT model 108 to the second neighborhood information 710. If the show domain 704 is the target domain, the circuit 202 may modify the user embedding “U1-E1” (i.e., the third vector 320) based on the third trust-based embedding (i.e., “U1-D2”). If the show domain 704 is an auxiliary domain to another target domain (i.e., the movie domain 702 or the sports domain 706), the circuit 202 can modify the user embedding “U1-E1” (i.e., the third vector 320) based on the fourth trust-based embedding (i.e., “U1-A2”).
[0107] The circuit 202 may be further configured to generate a fifth trust-based embedding of the user 116 for a third set of users in the sports domain 706, i.e., “U1-D3”, and a sixth trust-based embedding of the user 116, i.e., “U1-A3”. The fifth trust-based embedding and the sixth trust-based embedding may be generated based on the third neighborhood information 712. The sixth trust-based embedding may be generated based on application of the GAT model 108 to the third neighborhood information 712. If the sports domain 706 is the target domain, the circuit 202 may modify the user embedding “U1-E1” (i.e., the third vector 320) based on the fifth trust-based embedding (i.e., “U1-D3”). If the sports domain 706 is an auxiliary domain to another target domain (i.e., the movie domain 702 or the show domain 704), the circuit 202 can modify the user embedding “U1-E1” (i.e., the third vector 320) based on the sixth trust-based embedding (i.e., “U1-A3”).
[0108] According to an embodiment, the circuit 202 may be configured to determine a weight associated with each auxiliary domain based on a total number of users in the target domain and a total number of users common to the target domain and the corresponding auxiliary domain. The determined weight associated with the auxiliary domain may indicate the relevance of the auxiliary domain to the target domain. For example, if the target domain is a movie domain 702 and the auxiliary domains include a show domain 704 and a sports domain 706, a first cross-domain weight (i.e., "W movie-show ") can be determined. TIFF2025512908000008.tif13150(7)
[0109] Also, a second cross-domain weight (W) associated with the sports domain 706 based on the movie domain 702 as the target domain is calculated based on the following equation (8): movie-sports ) can be determined. TIFF2025512908000009.tif13150(8)
[0110] The cross-domain weights can be determined based on the following pseudocode: TIFF2025512908000010.tif89150
[0111] In this pseudocode, W target-aux "W movie-show " or "W movie-sports The return value corresponds to weights=[“W movie-show ", "W movie-sports "] can be.
[0112] The function "getweights(targetdomain, auxdomain)" can calculate the weights based on equations (7) and (8). For example, the weights "W movie-show ” can correspond to the ratio of the total number of users common to the movie domain and the show domain (as shown in equation (7)) to the total number of users in the movie domain. Similarly, the weight “W movie-sports " may correspond to the ratio of the total number of users common to the movie and sports domains to the total number of users in the movie domain (as shown in equation (8)).
[0113] Also, because the target domain is the movie domain 702, the user embedding "U1-E1" can be modified based on a function that includes the first trust-based embedding (i.e., "U1-D1"), the fourth trust-based embedding (i.e., "U1-A2"), and the sixth trust-based embedding (i.e., "U1-A3") as independent variables. movie-show A fourth weighted belief-based embedding (i.e., W movie-show s* Similarly, the circuit 202 can be configured to generate "W movie-sports Based on “U1-A3” and “U1-A3”, a sixth weighted belief-based embedding (i.e., “W movie-sports * U1-A3").
[0114] The circuit 202, via the recommended model 110, movie-show s * U1-A2" and "W movie-sports * Based on application of the recommendation model 110 to “U1-A3”, “U1-E1-D1”, “U1-D2”, “U1-E3”, “U1-D4”, “U1-A5”, “U1-A6”, “U1-A7”, “U1-B1”, “U1-B2”, “U1-B3”, “U1-B4”, “U1-B5”, “U1-B6”, “U1-B7”, “U1-B8”, “U1-B9”, “U1-C10”, “U1-C20”, “U1-C30”, “U1-C40”, “U1-C50”, “U1-C60”, “U1-C70”, “U1-C80”, “U1-C90”, “U1-D1”, “U1-D2”, “U1-C11”, “U1-C12”, “U1-C13”, “U1-C14”, “U1 movie-show s * U1-A2" and "W movie-sports According to an embodiment, "U1-E1-D1" can be generated based on the concatenation of "U1-E1", "U1-D1", "W movie-show s * U1-A2" and "W movie-sports * It can be generated based on the aggregation of "U1-A3".
[0115] The generation of the modified user embeddings described above can be done based on the following pseudo code: TIFF2025512908000011.tif153150
[0116] In pseudo code, TIFF2025512908000012.tif13150 can correspond to "U1-E1", and "w2" can correspond to "W movie-show " and "w3" corresponds to "W movie-sports " and User_final Target can correspond to "U1-E1-D1". Furthermore, "w1(T target1)" is "W movie-show * U1-A2, and "w3(T aux3 )" is "W movie-sports * U1-A3". In addition, "w1" is "1". Therefore, "T target1 " can correspond to "U1-D1".
[0117] In pseudocode, "FU N "Func auxillary_embed(UI interaction matrix, trust-matrix)" can return embeddings of all users in the auxiliary domain using GAT (i.e., "U1-A2" and "U1-A3"), and "Func target_embed(UI interaction matrix, trust-matrix)" can return target-1 domain embeddings of all users in the target domain (i.e., "U1-D1").
[0118] The above pseudocode can be for a function to calculate intra-domain and inter-domain trust vectors for multiple domains. For example, auxiliary trust embeddings can be calculated for each auxiliary domain with respect to the target domain. Such auxiliary trust embeddings are called inter-domain trust vectors. Furthermore, a user trust embedding can be calculated using the recommendation model 110. An intra-domain trust embedding can also be calculated for the target domain. A final embedding vector can then be calculated based on the sum of the user trust embedding, the intra-domain trust embedding, and the inter-domain trust embedding (i.e., the auxiliary trust embedding).
[0119] The circuit 202, via the recommended model 110,shows-movie * U1-A1" and "W shows-sports * Based on the application of the recommendation model 110 to “U1-A3”, a modified user embedding “U1-E1-D2” associated with the show domain 704 (i.e., another target domain) can be generated. shows-movie " and "W shows-sports " can be determined based on the following equations (9) and (10), respectively. TIFF2025512908000013.tif13150(9) TIFF2025512908000014.tif13150(10)
[0120] Similarly, the circuit 202, via the recommended model 110, sports-movie * U1-A1" and "W sports-show * Based on the application of the recommendation model 110 to “U1-A2”, a modified user embedding “U1-E1-D3” associated with the sports domain 706 (i.e., another target domain) can be generated. shows-movie " and "W shows-sports " can be determined based on the following equations (11) and (12), respectively. TIFF2025512908000015.tif13150(11) TIFF2025512908000016.tif13150(12)
[0121] The circuit 202 may be further configured to recommend items related to the target domain (e.g., the movie domain 702, the show domain 704, or the sports domain 706) to the target user (i.e., the user 116) based on the corresponding generated modified user embedding (e.g., “U1-E1-D1”, “U1-E1-D2”, or “U1-E1-D3”) via the recommendation model 110.
[0122] It should be noted that scenario 700 in FIG. 7 is for illustrative purposes and should not be construed as limiting the scope of the present disclosure.
[0123] FIG. 8 illustrates an exemplary scenario for generating a trust-based embedding of a user in a multi-modal architecture including multiple domains based on correlations between the user and the user's neighborhood, according to an embodiment of the present disclosure. FIG. 8 is described with reference to elements of FIG. 1, FIG. 2, FIG. 3, FIG. 4, FIG. 5, FIG. 6, and FIG. 7. FIG. 8 illustrates an exemplary scenario 800. The exemplary scenario 800 illustrates multiple domains that may correspond to multiple modes (e.g., an e-commerce mode 802, a multimedia entertainment mode 804, and an audio musical entertainment mode 806). However, these multiple modes may relate to a single architecture. Additionally, the trust-based embedding of the user 116 (i.e., the target user) in each of the multiple modes (e.g., "U1-D1", "U1-A1", "U1-D2", "U1-A2", "U1-D3", and "U1-A3") is also illustrated. The circuit 202 can generate updated user embeddings (e.g., "U1-E1-D1", "U1-E1-D2" and "U1-E1-D3") associated with the user 116 for each of the multiple modes based on the trust-based embeddings. Scenario 800 illustrates cross-modal (i.e., multi-modal) item recommendations. For example, in scenario 800, the multiple modes correspond to an e-commerce mode 802, a multimedia entertainment mode 804, and an audio musical entertainment mode 806.
[0124] The circuit 202 can determine first proximity information 808 associated with the user 116 based on the correlation information associated with the user in the e-commerce mode 802. Similarly, the circuit 202 can determine second proximity information 810 associated with the user 116 in the multimedia entertainment mode 804 and third proximity information 812 associated with the user 116 in the audio musical entertainment mode 806. The circuit 202 can generate "U1-D1" and "U1-A1" for the first set of users in the e-commerce mode 802 based on the first proximity information 808. Specifically, "U1-A1" can be generated based on application of the GAT model 108 to the first proximity information 808. If the e-commerce mode 802 is the target domain, the circuit 202 can modify "U1-E1" based on "U1-D1". On the other hand, if the e-commerce mode 802 is an auxiliary domain to a target domain (such as the multimedia entertainment mode 804 and the audio musical entertainment mode 806), then "U1-E1" can be modified based on "U1-A1".
[0125] The circuit 202 can generate "U1-D2" and "U1-A2" for a second set of users in the multimedia entertainment mode 804 based on the second neighborhood information 810. Specifically, "U1-A2" can be generated based on application of the GAT model 108 to the second neighborhood information 810. If the multimedia entertainment mode 804 is a target domain, the circuit 202 can modify "U1-E1" based on "U1-D2". On the other hand, if the multimedia entertainment mode 804 is an auxiliary domain to the target domain (such as the e-commerce mode 802 and the audio musical entertainment mode 806), the circuit 202 can modify "U1-E1" based on "U1-A2". The circuit 202 can generate "U1-D3" and "U1-A3" for a third set of users in the audio musical entertainment mode 806 based on the third neighborhood information 812. Specifically, "U1-A3" may be generated based on application of the GAT model 108 to the third neighborhood information 812. If the multimedia entertainment mode 804 is the target domain, the circuit 202 may modify "U1-E1" based on "U1-D3". On the other hand, if the audio musical entertainment mode 806 is an auxiliary domain to the target domain (such as the e-commerce mode 802 and the multimedia entertainment mode 804), then "U1-E1" may be modified based on "U1-A2".
[0126] According to an embodiment, the circuitry 202 may be configured to determine a weight associated with each auxiliary domain based on the total number of users in the target domain and the total number of users common to the target domain and the corresponding auxiliary domain. If the electronic commerce mode 802 is the target domain, the cross-domain weight "W" associated with the multimedia entertainment mode 804 may be determined as the ratio of the total number of users common to the electronic commerce mode 802 and the multimedia entertainment mode 804 to the total number of users in the electronic commerce mode 802. e_commerce-multIMedia_entertainment Similarly, a cross-domain weight "W" associated with the audio musical entertainment mode 806 can be determined as the ratio of the total number of users common to the electronic commerce mode 802 and the audio musical entertainment mode 806 to the total number of users of the electronic commerce mode 802. e_commerce-audio_musicalent_entertainment The circuit 202 can determine the embedded "W e_commerce-multIMedia_entertainment * U1-A2" and embedded "We_commerce-audio_musical_entertainment * U1-A3" can be further generated.
[0127] The circuit 202, via the recommended model 110, e_commerce-multIMedia_entertainment * U1-A2" and "W e_commerce-audio_musical_entertainment * Based on application of the recommendation model 110 to “U1-A3”, the recommendation model 110 may be further configured to generate a modified user embedding “U1-E1-D1” associated with the e-commerce mode 802. According to an embodiment, the recommendation model 110 may be further configured to generate a modified user embedding “U1-E1-D1” associated with the e-commerce mode 802 based on application of the recommendation model 110 to “U1-E1”, “U1-D1”, “W e_commerce-multIMedia_entertainment * U1-A2" and "W e_commerce-audio_musical_entertainment * According to an embodiment, "U1-E1", "U1-D1", "W e_commerce-multIMedia_entertainment * U1-A2" and "W e_commerce-audio_musical_entertainment* "U1-E1-D1" can be generated based on the aggregation of "U1-A3".
[0128] Similarly, the circuit 202, via the recommended model 110, multIMedia_entertainment-e_commerce- * U1-A1" and "W multIMedia_entertainment-audio_musical_entertainment * The circuit 202 may be further configured to generate a modified user embedding “U1-E1-D2” associated with the multimedia entertainment mode 804 based on application of the recommendation model 110 to “U1-E1”, “U1-D3”, “W1-A3”, “W2-A4”, “W3-A5”, “W4-B1”, “W5-C1”, “W6-D2”, “W7-D3”, “W8-D4”, “W9-D5”, “W10-D6”, “W11-D7”, “W12-D8”, “W13-D9”, “W14-D15”, “W15-D16”, “W16-D17”, “W17-D18”, “W18-D29”, “W21-D30”, “W22-D31”, “W22-D32”, “W22-D33”, “W22-D34”, “W22-D35”, “W22-D36”, “W22-D37”, “W22-D38”, “W22-D39”, “W22-D41”, “W22-D42”, “W22-D43”, “W22-D44”, “W22-D45”, “W22-D46”, “W22-D47”, “W22-D48”, “W22-D59”, “W22-D61”, “W22-D71”, “W22-D82”, “W22-D93”, “W22-D44”, “W22-D45”, “W22-D46”, “W22-D54”, “W22-D65”, “W22-D75”, “W22-D86”, “W22-D97”, “W22-D98”, “W22-D19”, “W22-D119”, audio_musical_entertainment-e_commerce * U1-A1" and "W audio_musical_entertainmentmultIMedia_entertainment * The recommendation model 110 may be further configured to generate a modified user embedding “U1-E1-D3” associated with the audio musical entertainment mode 806 based on application of the recommendation model 110 to “U1-A3”.
[0129] In addition, "W multIMedia_entertainment-e_commerce " can be determined as the ratio of the total number of users common to the e-commerce mode 802 and the multimedia entertainment mode 804 to the total number of users of the multimedia entertainment mode 804. Similarly, "W multIMedia_entertainment-audio_musical_entertainment " may be determined as the ratio of the total number of users common to the multimedia entertainment mode 804 and the audio musical entertainment mode 806 to the total number of users of the multimedia entertainment mode 804. audio_musical_entertainment-e_commerce " can be determined as the ratio of the total number of users common to the electronic commerce mode 802 and the audio musical entertainment mode 806 to the total number of users of the audio musical entertainment mode 806. audio_musical_entertainment_multIMedia_entertainment" may be determined as the ratio of the total number of users common to the multimedia entertainment mode 804 and the audio musical entertainment mode 806 to the total number of users of the audio musical entertainment mode 806.
[0130] It should be noted that scenario 800 in FIG. 8 is for illustrative purposes and should not be construed as limiting the scope of the present disclosure.
[0131] The embodiments provide a generic model (e.g., recommendation model 110) that can support utilizing additional neighborhood information via a multimodal architecture and utilizing additional domains via cross-domain modeling. Additionally, the embodiments (i.e., recommendation model 110) utilize neighborhood information related to multiple domains. The domains can correspond to modes including items such as audio, video, images, and transaction history. Since the embodiments generate intra-domain and inter-domain embeddings alone, i.e., without any interaction between modes, the recommendation model 110 can be efficiently applied to multi-modal settings.
[0132] Figure 9 is a flowchart illustrating operations of an exemplary method for generating recommendations using trust-based embeddings, according to an embodiment of the present disclosure. The description of Figure 8 is provided with reference to elements of Figures 1, 2, 3, 4, 5, 6, 7, and 8. Figure 9 illustrates a flowchart 900. Operations 902-916 may be performed by any computer system, such as electronic device 102 of Figure 1. Operations may begin at 902 and proceed to 904.
[0133] At 904, first correlation information associated with the first set of users and further associated with the first domain of the domain set may be determined. In at least one embodiment, the circuit 202 may be configured to determine first correlation information associated with the first set of users and further associated with the first domain of the domain set. The first set of users may include a first user (i.e., user 116) and a plurality of second users. The first correlation information may include associations between the first user (i.e., user 116) and the plurality of second users. In some embodiments, the circuit 202 may be configured to receive rating information associated with the first set of users for a set of items associated with the first domain. The circuit 202 may be further configured to determine a confidence score of the first user (i.e., user 116) for each of the first set of users based on the received rating information. The confidence score of the first user (i.e., user 116) for each user of the first set of users may correspond to a common positive rating of one or more items of the item set by the first user (i.e., user 116) and the corresponding user of the first set of users. The circuit 202 may be further configured to determine first correlation information based on the determined confidence score of the first user (i.e., user 116) for each of the first set of users. Details of the determination of the first correlation information are described, for example, in Figures 1, 3 (with respect to user-user confidence matrix 306), 4 (with respect to user-user confidence matrix 408), and 5 (508).
[0134] At 906, a first vector may be generated based on the first correlation information to indicate a trust embedding of the first user (i.e., user 116) of the first user set relative to the first user set in the first domain. In at least one embodiment, the circuit 202 may be configured to generate a first vector based on the first correlation information to indicate a trust embedding of the first user (i.e., user 116) of the first user set relative to the first user set in the first domain. The circuit 202 may be further configured to determine first neighborhood information related to the first user (i.e., user 116) and further related to the first domain based on the determined first correlation information. The first neighborhood information may indicate users (i.e., a plurality of second users) of the first user set that are correlated with the first user (i.e., user 116). In some embodiments, the circuit 202 may be configured to compare the determined trust score of the first user (i.e., user 116) to a predefined threshold. The circuit 202 may be further configured to determine, based on the comparison, first neighborhood information associated with the first user (i.e., user 116) and further associated with the first domain. The generation of the first vector may be further based on the determined first neighborhood information. Details of the generation of the first vector are described, for example, in Figures 1, 3 (with respect to the first vector 310) and 5 (512).
[0135] At 908, second correlation information can be received that is related to the second set of users and further related to the second domain of the domain set. In at least one embodiment, the circuit 202 can be configured to receive second correlation information that is related to the second set of users and further related to the second domain of the domain set. The second set of users includes the first user (i.e., user 116) and a plurality of third users. The second correlation information can include associations between the first user (i.e., user 116) and the plurality of third users. Details of receiving the second correlation information are described, for example, in FIG. 1, FIG. 3 (with respect to the user-user trust matrix 306), and FIG. 6 (with respect to the second neighborhood information 316).
[0136] At 910, the GAT model 108 may be applied to the determined second correlation information. In at least one embodiment, the circuit 202 may be configured to apply the GAT model 108 to the determined second correlation information. The circuit 202 may be further configured to determine second neighborhood information related to the first user (i.e., the user 116) and further related to a second domain based on the received second correlation information. The GAT model 108 may be further applied to the determined second neighborhood information. The second neighborhood information may indicate a second set of users (i.e., a plurality of third users) that are correlated with the first user (i.e., the user 116). Details of the application of the GAT model 108 are described, for example, in FIG. 1, FIG. 3, and FIG. 6.
[0137] At 912, a second vector indicative of a trust embedding of the first user (i.e., user 116) to a second set of users in a second domain may be generated based on application of the GAT model 108. In at least one embodiment, the circuit 202 may be configured to generate a second vector indicative of a trust embedding of the first user (i.e., user 116) to a second set of users in a second domain based on application of the GAT model 108. The generation of the second vector may be further based on application of the GAT model 108 to the determined second neighborhood information. In some embodiments, the circuit 202 may be configured to determine, by the GAT model 108, a first weight associated with each of the plurality of vectors for each corresponding user of the plurality of third users based on the determined second correlation information. The circuit 202 may be further configured to determine a plurality of weighted vectors based on the determined first weights and each corresponding vector of the plurality of vectors. The circuit 202 may be further configured to generate a second vector based on the determined plurality of weighted vectors. Details of the generation of the second vector are described, for example, in FIGS. 1, 3 (with respect to second vector 318), and 6.
[0138] At 914, one or more items may be recommended to the first user based on the first vector and the second vector. In at least one embodiment, the circuit 202 may be configured to recommend one or more items to the first user based on the first vector and the second vector. The circuit 202 may be further configured to determine a second weight associated with the second vector based on a first total number of the first user set, a second total number of the second user set, and a third total number of users common to the first user set and the second user set. The circuit 202 may be further configured to generate a second weighted vector based on the second vector and the determined second weight. The circuit 202 may be further configured to apply the recommendation model 110 to the second weighted vector. The circuit 202 may be further configured to apply the recommendation model 110 to a third vector indicative of at least one of collaborative filtering information associated with the first user (i.e., user 116), preference information associated with the first user (i.e., user 116), demographic information associated with the first user (i.e., user 116), or purchase history associated with the first user (i.e., user 116). One or more items may be recommended to the user 116 based on application of the recommendation model 110 to the first vector, the second weighted vector, and the third vector. Details of recommending one or more items to the first user are described, for example, in FIG. 1, FIG. 3, and FIG. 7.
[0139] At 916, the recommended item or items may be rendered on a display device 210 associated with the electronic device 102. In at least one embodiment, the circuitry 202 may be configured to render the recommended item or items on a display device 210 associated with the electronic device 102. In an embodiment, the trust-based embeddings may be periodically updated over a predetermined period of time specified by the user 116. Thus, the circuitry 202 may periodically update the recommendations based on the periodic updates of the trust-based embeddings. The updated recommendations may be rendered via the display device 210. Control may proceed to an end.
[0140] Although flowchart 900 is depicted as discrete operations, such as 904, 906, 908, 910, 912, 914, and 916, the disclosure is not so limited and, therefore, in some embodiments, such discrete operations may be further divided into additional operations, combined into fewer operations, or eliminated, depending on the implementation, without departing from the essence of the disclosed embodiments.
[0141] Various embodiments of the present disclosure may provide a non-transitory computer-readable medium and / or storage medium having computer-executable instructions stored thereon executable by a machine and / or computer to operate an electronic device (such as electronic device 102). The computer-executable instructions may cause the machine and / or computer to perform operations including determining first correlation information associated with a first set of users and further associated with a first domain of the domain set. The operations may further include generating a first vector indicative of a trust embedding of the first user (i.e., user 116) with respect to the first set of users in the first domain based on the first correlation information. The operations may further include receiving second correlation information associated with a second set of users and further associated with a second domain of the domain set. The operations may further include applying a graph attention network (GAT) model (e.g., GAT model 108) to the received second correlation information. The operations may further include generating a second vector indicative of a trust embedding of the first user (i.e., user 116) with respect to a second set of users in a second domain based on application of the GAT model 108. The operations may further include recommending one or more items to the first user (i.e., user 116) based on the first vector and the second vector. The operations may further include rendering the recommended one or more items on a display device (e.g., display device 210) associated with the electronic device 102.
[0142] An exemplary aspect of the present disclosure may include an electronic device (such as the electronic device 102 of FIG. 1) that may include a circuit (such as the circuit 202) that may be communicatively coupled to the electronic device (such as the electronic device 102 of FIG. 1). The electronic device 102 may further include a memory (such as the memory 204 of FIG. 2). The circuit 202 may be configured to determine first correlation information associated with a first set of users and further associated with a first domain of a domain set. The domain set may correspond to at least one of a mode set or an application set. The first set of users may include a first user (i.e., the user 116) and a plurality of second users. The first correlation information may include associations between the first user (i.e., the user 116) and the plurality of second users. The circuit 202 may be further configured to generate a first vector indicative of a trust embedding of the first user (i.e., the user 116) with respect to the first set of users in the first domain based on the first correlation information. The circuit 202 may be further configured to receive second correlation information related to a second set of users and further related to a second domain of the domain set. The second set of users may include a first user (i.e., user 116) and a plurality of third users. The second correlation information may include associations between the first user (i.e., user 116) and the plurality of third users. The circuit 202 may be further configured to apply a graph attention network (GAT) model (e.g., GAT model 108) to the received second correlation information. The circuit 202 may be further configured to generate a second vector indicating a trust embedding of the first user (i.e., user 116) to the second set of users in the second domain based on the application of the GAT model 108. The circuit 202 may be further configured to recommend one or more items to the first user (i.e., user 116) based on the first vector and the second vector. The circuitry 202 may be further configured to render the recommended item or items on a display device (eg, display device 210 ) associated with the electronic device 102 .
[0143] According to an embodiment, the circuit 202 can be further configured to determine, based on the determined first correlation information, first neighborhood information related to the first user (i.e., user 116) and further related to the first domain. The generation of the first vector can be further based on the first neighborhood information. The first neighborhood information can indicate users of a first user set that are correlated with the first user (i.e., user 116).
[0144] According to an embodiment, the circuit 202 can be further configured to determine, based on the received second correlation information, second neighborhood information related to the first user (i.e., user 116) and further related to a second domain. The GAT model 108 can be further applied to the determined second neighborhood information. The generation of the second vector can be further based on the further application of the GAT model 108 to the determined second neighborhood information. The second neighborhood information can indicate users of a second user set that are correlated with the first user (i.e., user 116).
[0145] According to an embodiment, the circuit 202 can be further configured to receive rating information related to the first set of users for the item set related to the first domain. The circuit 202 can be further configured to determine a confidence score of the first user (i.e., user 116) for each of the first set of users based on the received rating information. The confidence score of the first user (i.e., user 116) for each of the first set of users can correspond to a common positive rating of one or more items of the item set by the first user (i.e., user 116) and the corresponding user of the first set of users. The circuit 202 can be further configured to determine first correlation information based on the determined confidence score of the first user (i.e., user 116) for each of the first set of users. In an embodiment, the determined confidence score of the first user for each of the first set of users can correspond to a common positive rating of one or more items of the item set provided by the first user and the corresponding user of the first set of users.
[0146] According to an embodiment, the circuit 202 can be further configured to compare the determined confidence score of the first user (i.e., user 116) with a predefined threshold. The circuit 202 can be further configured to determine, based on the comparison, first neighborhood information associated with the first user (i.e., user 116) and further associated with the first domain.
[0147] According to an embodiment, the circuit 202 may be further configured to determine, by the GAT model 108, a first weight associated with each of the plurality of vectors for each corresponding user of the plurality of third users based on the second correlation information. Each of the plurality of vectors may indicate a trust embedding associated with the corresponding user of the plurality of third users. The circuit 202 may be further configured to determine a plurality of weighted vectors based on the determined first weights and each corresponding vector of the plurality of vectors. The circuit 202 may be further configured to generate a second vector based on the determined plurality of weighted vectors.
[0148] According to an embodiment, the circuit 202 may be further configured to determine a second weight associated with the second vector based on a first total number of the first user set, a second total number of the second user set, and a third total number of users common to the first user set and the second user set. The circuit 202 may be further configured to generate a second weighted vector based on the second vector and the determined second weight. The circuit 202 may be further configured to apply a recommendation model (e.g., recommendation model 110) to the determined first vector and the determined second weighted vector. One or more items may be recommended to the first user (e.g., user 116) further based on the application of the recommendation model 110. The recommendation model 110 may further be applied to a third vector indicative of at least one of collaborative filtering information associated with the first user (i.e., user 116), preference information associated with the first user (i.e., user 116), demographic information associated with the first user (i.e., user 116), or purchasing history associated with the first user (i.e., user 116).
[0149] The present disclosure can be realized in hardware or in a combination of hardware and software. The present disclosure can be realized in a centralized manner in at least one computer system, or in a distributed manner where different elements can be distributed across several interconnected computer systems. Any computer system or other device adapted to perform the methods described herein can be suitable. The combination of hardware and software can be a general-purpose computer system that includes a computer program that, when loaded and executed, can control a computer system to perform the methods described herein. The present disclosure can be realized in hardware, including parts of an integrated circuit that also perform other functions.
[0150] The present disclosure may also be embodied in a computer program product, which includes all features enabling the implementation of the methods described herein and which is capable of executing these methods when loaded into a computer system. A computer program in this context means any expression, in any language, code or notation, of a set of instructions intended to cause a system capable of processing information to execute a particular function, either directly, or after a) conversion into another language, code or notation, b) reproduction in a different content form, or both.
[0151] While the present disclosure has been described with reference to several embodiments, those skilled in the art will recognize that various modifications can be made and equivalents substituted without departing from the scope of the present disclosure. Many modifications can also be made to adapt a particular situation or material to the teachings of the present disclosure without departing from the scope of the present disclosure. Therefore, it is not intended that the present disclosure be limited to the particular embodiments disclosed, but rather, it is intended to include all embodiments falling within the scope of the appended claims. [Explanation of symbols]
[0152] 902 start 904 determines first correlation information related to the first set of users and further related to a first domain of the set of domains. 906. Generate a first vector indicating a trust embedding of the first user of the first user set relative to the first user set in the first domain based on the first correlation information. 908 receiving second correlation information related to a second set of users and further related to a second domain of the set of domains; 910 Apply the Graph Attention Network (GAT) model to the received second correlation information 912 Generate a second vector indicating a trust embedding of the first user with respect to a second set of users in a second domain based on application of the GAT model 108. 914 Recommend one or more items to a first user based on a first vector and a second vector 916 Rendering one or more recommended items on a display device associated with an electronic device
Claims
1. 1. An electronic device comprising: determining first correlation information associated with the first set of users and further associated with a first domain of the domain set; generating a first vector indicative of a trust embedding of a first user of the first set of users relative to the first set of users in the first domain based on the first correlation information; receiving second correlation information associated with a second set of users and further associated with a second domain of the domain set; applying a graph attention network (GAT) model to the received second correlation information; generating a second vector indicative of the trust embedding of the first user relative to the second set of users in the second domain based on application of the GAT model; recommending one or more items to the first user based on the first vector and the second vector; rendering the recommended item or items on a display device associated with the electronic device. The circuit is configured to 1. An electronic device comprising:
2. the first user set includes the first user and a plurality of second users, and the second user set includes the first user and a plurality of third users; The first correlation information indicates an association between the first user and the plurality of second users, and the second correlation information indicates an association between the first user and the plurality of third users.
2. The electronic device of claim 1.
3. The circuit comprises: determining, based on the received second correlation information, a first weight associated with each of a plurality of vectors for each corresponding one of a plurality of third users by the GAT model; each of the plurality of vectors indicating an embedding associated with a corresponding one of the plurality of third users; determining a plurality of weighted vectors based on the determined first weights and each corresponding one of the plurality of vectors; generating the second vector based on the determined plurality of weighted vectors; The electronic device of claim 1 , further configured to:
4. The circuit comprises: further configured to determine first neighborhood information associated with the first user and further associated with the first domain based on the determined first correlation information; generating the first vector further based on the determined first neighborhood information; the first neighborhood information indicating users of the first user set that are correlated with the first user; 2. The electronic device of claim 1.
5. The circuit comprises: further configured to determine second neighborhood information associated with the first user and further associated with the second domain based on the received second correlation information; The GAT model is further applied to the determined second neighborhood information; generating the second vector is further based on applying the GAT model to the determined second neighborhood information; the second neighborhood information indicating users of the second user set that are correlated with the first user.
2. The electronic device of claim 1.
6. The circuit comprises: receiving rating information associated with the first set of users for a set of items related to the first domain; determining a confidence score for the first user for each of the first set of users based on the received reputation information; determining the first correlation information based on the determined confidence scores of the first user for each of the first set of users. The electronic device of claim 1 , further configured to:
7. the determined confidence score of the first user for each user of the first set of users corresponds to a common positive rating of one or more items of the item set provided by the first user and the corresponding user of the first set of users.
7. The electronic device of claim 6.
8. The circuit comprises: comparing the determined confidence score of the first user to a predetermined threshold; determining first proximity information associated with the first user and further associated with the first domain based on the comparison; The electronic device of claim 6 further configured to:
9. The circuit comprises: determining second weights associated with the second vector based on a first total number of the first set of users, a second total number of the second set of users, and a third total number of users common to the first set of users and the second set of users; generating a second weighted vector based on the determined second vector and the determined second weights; applying a recommendation model to the first vector and the second weighted vector; The method further comprises: the one or more items are recommended to the first user further based on application of the recommendation model.
2. The electronic device of claim 1.
10. The recommendation model is further applied to a third vector indicative of at least one of collaborative filtering information associated with the first user, preference information associated with the first user, demographic information associated with the first user, or a purchase history associated with the first user.
10. The electronic device of claim 9.
11. The domain set corresponds to at least one of a mode set or an application set.
2. The electronic device of claim 1.
12. In an electronic device, determining first correlation information associated with a first set of users and further associated with a first domain of the domain set; generating a first vector indicative of a trust embedding of a first user of the first set of users relative to the first set of users in the first domain based on the first correlation information; receiving second correlation information associated with a second set of users and further associated with a second domain of the set of domains; applying a graph attention network (GAT) model to the received second correlation information; and generating a second vector indicative of the trust embedding of the first user relative to the second set of users in the second domain based on application of the GAT model; recommending one or more items to the first user based on the first vector and the second vector; and rendering the recommended item or items on a display device associated with the electronic device; The method according to claim 1, further comprising:
13. determining first neighborhood information associated with the first user and further associated with the first domain based on the determined first correlation information; generating the first vector further based on the determined first neighborhood information; the first neighborhood information indicating users of the first user set that are correlated with the first user; The method of claim 12.
14. the GAT model determining a first weight associated with each of a plurality of vectors for each corresponding one of the plurality of second users based on the received second correlation information; each of the plurality of vectors indicating an embedding associated with a corresponding one of the plurality of second users; and determining a plurality of weighted vectors based on the determined first weights and each corresponding one of the plurality of vectors; generating a second vector based on the determined plurality of weighted vectors; The method of claim 12 further comprising:
15. determining second neighborhood information associated with the first user and further associated with the second domain based on the received second correlation information; The GAT model is further applied to the determined second neighborhood information; generating the second vector is further based on applying the GAT model to the determined second neighborhood information; the second neighborhood information indicating users of the second user set that are correlated with the first user. The method of claim 12.
16. receiving rating information associated with the first set of users for a set of items related to the first domain; determining a confidence score for the first user for each of the first set of users based on the received reputation information; determining the first correlation information based on the determined confidence scores of the first user for each of the first set of users; The method of claim 12 further comprising:
17. the determined confidence score of the first user for each user of the first set of users corresponds to a common positive rating of one or more items of the item set provided by the first user and a corresponding user of the first set of users.
17. The method of claim 16.
18. comparing the determined confidence score of the first user with a predefined threshold; determining first neighborhood information associated with the first user and further associated with the first domain based on the comparison; 20. The method of claim 16, further comprising:
19. determining a second weight associated with the second vector based on a first total number of the first set of users, a second total number of the second set of users, and a third total number of users common to the first set of users and the second set of users; generating a second weighted vector based on the determined second vector and the determined second weights; applying a recommendation model to the first vector and the second weighted vector; Further comprising: the one or more items are recommended to the first user further based on application of the recommendation model. The method of claim 12.
20. A non-transitory computer-readable medium having computer-executable instructions stored thereon, the computer-executable instructions, when executed by an electronic device, determining first correlation information associated with a first set of users and further associated with a first domain of the domain set; generating a first vector indicative of a trust embedding of a first user of the first set of users relative to the first set of users in the first domain based on the first correlation information; receiving second correlation information associated with a second set of users and further associated with a second domain of the set of domains; applying a graph attention network (GAT) model to the received second correlation information; and generating a second vector indicative of the trust embedding of the first user relative to the second set of users in the second domain based on application of the GAT model; recommending one or more items to the first user based on the first vector and the second vector; and rendering the recommended item or items on a display device associated with the electronic device; 23. A non-transitory computer-readable medium for causing the electronic device to perform operations including:
Citation Information
Patent Citations
Interest point recommendation method based on cross-domain association
CN110990717A
Cross-domain recommendation method applying FM
CN111046280A
Task cross-domain recommendation method for crowdsourcing software testing
CN112417288A
Learning device, learning method, information-processing device, data-selecting method, data-accumulating method, data-converting method, and program
JP2010176327A
System and method for generating aspect-enhanced explainable description-based recommendations
US20190392330A1