SYSTEM AND METHOD FOR EXPLAINABLE EMBEDDING-BASED RECOMMENDATION SYSTEM

A method includes obtaining, by an electronic device, an interpretation hierarchy generated based on a knowledge graph and behavioral data. The method also includes performing, by the electronic device, graph convolution operations on the interpretation hierarchy to generate one or more embeddings. The method further includes generating, by the electronic device, a recommendation based at least in part on associations between the one or more embeddings. In addition, the method includes providing, by the electronic device, an explanation corresponding to the recommendation.

TECHNICAL FIELD

This disclosure relates generally to recommendation systems. More specifically, this disclosure relates to techniques for an explainable recommendation model for more effective and transparent recommendation processes.

BACKGROUND

Recommendation systems play a pivotal role in a wide range of web applications and services, such as in terms of distributing online content to targets who are likely to be interested in it. Recommendation techniques are also applicable to many relevant fields, such as user response prediction, like click-through-rate (CTR) prediction and conversion rate (CVR) prediction, and so forth in digital advertising. Many efforts in these domains have been emphasized with respect to developing more effective models to achieve better performance. In particular, embedding techniques have been widely used to improve performance in recent years. Unfortunately, the resulting recommendation systems are generally considered as black boxes, and it is difficult to understand why certain recommendation results are generated.

SUMMARY

This disclosure provides techniques for an explainable embedding-based recommendation system.

In a first embodiment, an electronic device includes at least one memory configured to store a database. The electronic device also includes at least one processor configured to obtain an interpretation hierarchy generated based on a knowledge graph and behavioral data. The at least one processor is also configured to perform graph convolution operations on the interpretation hierarchy to generate one or more embeddings. The at least one processor is further configured to generate a recommendation based at least in part on associations between the one or more embeddings. In addition, the at least one processor is configured to provide an explanation corresponding to the recommendation.

In a second embodiment, a method includes obtaining, by an electronic device, an interpretation hierarchy generated based on a knowledge graph and behavioral data. The method also includes performing, by the electronic device, graph convolution operations on the interpretation hierarchy to generate one or more embeddings. The method further includes generating, by the electronic device, a recommendation based at least in part on associations between the one or more embeddings. In addition, the method includes providing, by the electronic device, an explanation corresponding to the recommendation.

In a third embodiment, a non-transitory machine-readable medium contains instructions that when executed cause at least one processor of an electronic device to obtain an interpretation hierarchy generated based on a knowledge graph and behavioral data. The medium also contains instructions that when executed cause the at least one processor to perform graph convolution operations on the interpretation hierarchy to generate one or more embeddings and generate a recommendation based at least in part on associations between the one or more embeddings. The medium also contains instructions that when executed cause the at least one processor to provide an explanation corresponding to the recommendation.

Examples of an “electronic device” according to embodiments of this disclosure may include at least one of a smartphone, a tablet personal computer (PC), a mobile phone, a video phone, an e-book reader, a desktop PC, a laptop computer, a netbook computer, a workstation, a personal digital assistant (PDA), a portable multimedia player (PMP), an MP3 player, a mobile medical device, a camera, or a wearable device (such as smart glasses, a head-mounted device (HMD), electronic clothes, an electronic bracelet, an electronic necklace, an electronic accessory, an electronic tattoo, a smart mirror, or a smart watch). Other examples of an electronic device include a smart home appliance. Examples of the smart home appliance may include at least one of a television, a digital video disc (DVD) player, an audio player, a refrigerator, an air conditioner, a cleaner, an oven, a microwave oven, a washer, a drier, an air cleaner, a set-top box, a home automation control panel, a security control panel, a TV box (such as Samsung HomeSync™, Apple TV™, or Google TV™), a gaming console (Xbox™ PlayStation™), such as SAMSUNG HOMESYNC, APPLETV, or GOOGLE TV), a smart speaker or speaker with an integrated digital assistant (such as SAMSUNG GALAXY HOME, APPLE HOMEPOD, or AMAZON ECHO), a gaming console (such as an XBOX, PLAYSTATION, or NINTENDO), an electronic dictionary, an electronic key, a camcorder, or an electronic picture frame.

Still other examples of an electronic device include at least one of various medical devices (such as diverse portable medical measuring devices (like a blood sugar measuring device, a heartbeat measuring device, or a body temperature measuring device), a magnetic resource angiography (MRA) device, a magnetic resource imaging (MRI) device, a computed tomography (CT) device, an imaging device, or an ultrasonic device), a navigation device, a global positioning system (GPS) receiver, an event data recorder (EDR), a flight data recorder (FDR), an automotive infotainment device, a sailing electronic device (such as a sailing navigation device or a gyro compass), avionics, security devices, vehicular head units, industrial or home robots, automatic teller machines (ATMs), point of sales (POS) devices, or Internet of Things (IoT) devices (such as a bulb, various sensors, electric or gas meter, sprinkler, fire alarm, thermostat, street light, toaster, fitness equipment, hot water tank, heater, or boiler). Other examples of an electronic device include at least one part of a piece of furniture or building/structure, an electronic board, an electronic signature receiving device, a projector, or various measurement devices (such as devices for measuring water, electricity, gas, or electromagnetic waves). Note that, according to various embodiments of this disclosure, an electronic device may be one or a combination of the above-listed devices. According to some embodiments of this disclosure, the electronic device may be a flexible electronic device. The electronic device disclosed here is not limited to the above-listed devices and may include new electronic devices depending on the development of technology.

DETAILED DESCRIPTION

FIGS. 1 through 10, discussed below, and the various embodiments of this disclosure are described with reference to the accompanying drawings. However, it should be appreciated that this disclosure is not limited to these embodiments, and all changes and/or equivalents or replacements thereto also belong to the scope of this disclosure. The same or similar reference denotations may be used to refer to the same or similar elements throughout the specification and the drawings.

As noted above, recommendation systems play a pivotal role in a wide range of web applications and services, such as in terms of distributing online content to targets who are likely to be interested in it. Recommendation techniques are also applicable to many relevant fields, such as user response prediction, like click-through-rate (CTR) prediction and conversion rate (CVR) prediction, and so forth in digital advertising. Many efforts in these domains have been emphasized with respect to developing more effective models to achieve better performance. In particular, embedding techniques have been widely used to improve performance in recent years. Unfortunately, the resulting recommendation systems are generally considered as black boxes, and it is difficult to understand why certain recommendation results are generated.

In practice, the explanation capability of a recommendation system is generally indispensable. For example, in an advertisement service, an explainability of the recommendation models will substantially benefit many stakeholders, such as (1) users (to promote the persuasiveness of the recommendation results and boost user satisfaction); (2) engineers (to help machine-learning engineers validate, diagnose, and improve recommendation algorithms); and (3) other stakeholders (to help, for example, PM/business/sales/clients understand how models work and promote model adoptions).

Recommendation systems and related techniques play a fundamental role in various applications in filtering massive amounts of information and matching user interests. While many efforts have been devoted on developing more effective models in various scenarios, the exploration of the explainability of recommendation systems is running behind. Explanation acts as the bridge between humans and models and could help improve user experience and discover system defects for developers. One possible goal here is to recommend items to users who are more likely to respond. Many advertisement services rely on recommendation techniques to recommend the items that users are most likely to click and/or install. Improving the recommendation accuracy is just one side of the problem. The other is the explainability of recommendation systems, which addresses the problem of “why”: besides providing recommendation results, they also give reasons to clarify why such results are derived. Explainability is valuable to various real businesses.

Certain recommendation algorithms are normally based on embedding techniques. By far, it is not clear how to provide explainability for embedding learning frameworks. Embodiments of the present disclosure propose an explainable recommendation model through improving the transparency of a representation learning process. Specifically, to overcome the representation entangling problem in traditional models, certain embodiments revise traditional graph convolution to discriminate information from different layers. Also, each representation vector can be factorized into several segments, where each segment relates to one semantic aspect in data. Certain embodiments use a model in which factor discovery and representation learning are simultaneously conducted. Additionally, certain embodiments are able to handle extra attribute information and knowledge. In this way, a proposed model in accordance with this disclosure can learn interpretable and meaningful representations for users and items. Unlike traditional methods that need to make a trade-off between explainability and effectiveness, the performance of the proposed explainable model according to certain embodiments may not be negatively affected after considering explainability.

Embodiments of this disclosure also provide techniques to design explainable recommendation systems, especially recommendation systems based on embedding techniques. Embodiments of the present disclosure also provide the capability of explainability for embedding-based recommendation systems. Embodiments of the present disclosure provide a series of new features that can be used to build an explainable recommendation model through promoting the transparency of latent (embedding) representations. Unlike traditional methods that need to make a trade-off between explainability and accuracy, embodiments of the present disclosure may not negatively affect accuracy after considering explainability.

Certain embodiments of the present disclosure provide an explainable recommendation model through promoting the transparency of latent representations (e.g., embeddings). To provide explainability for embedding-based recommendation techniques, three fundamental elements are summarized that help make a model more interpretable: discrete conceptualization of input data format, middle-level representations, and output attribution. Embodiments of the present disclosure provide for users, items, and attribute entities to be processed as nodes in a graph. Furthermore, the efforts on interpretable recommendation can be split into three parts: (1) the disentanglement of the interactions between latent representations in different layers; (2) the identification of multiple semantic factors automatically from data; and (3) the division of latent dimensions into segments according to their information source (i.e., node types) and affiliated factors. The first part can be achieved via graph convolution networks (GCNs). The second and third aspects can be achieved through an architecture design, where different dimensions of latent representations focus on different aspects of data. Embodiments of the present disclosure jointly conduct factor discovery and representation learning. In this way, certain embodiments are able to depict how information flows from input features through these latent states to prediction results. Embodiments of the proposed model achieve good performance in an experimental evaluation showing that effectiveness is not sacrificed for interpretability. Finally, besides visualizing explanations, embodiments have been shown where explanation accuracy can be quantitatively measured.

FIG. 1illustrates an example network configuration100in accordance with this disclosure. As shown inFIG. 1, according to embodiments of this disclosure, an electronic device101is included in the network configuration100. The electronic device101may include at least one of a bus110, a processor120, a memory130, an input/output (I/O) interface150, a display160, a communication interface170, or an event processing module180. In some embodiments, the electronic device101may exclude at least one of the components or may add another component.

The bus110may include a circuit for connecting the components120-180with one another and transferring communications (such as control messages and/or data) between the components. The processor120may include one or more of a central processing unit (CPU), an application processor (AP), or a communication processor (CP). The processor120may perform control on at least one of the other components of the electronic device101and/or perform an operation or data processing relating to communication.

The memory130may include a volatile and/or non-volatile memory. For example, the memory130may store commands or data related to at least one other component of the electronic device101. According to embodiments of this disclosure, the memory130may store software and/or a program140. The program140may include, for example, a kernel141, middleware143, an application programming interface (API)145, and/or an application program (or “application”)147. At least a portion of the kernel141, middleware143, or API145may be denoted an operating system (OS).

The kernel141may control or manage system resources (such as the bus110, processor120, or memory130) used to perform operations or functions implemented in other programs (such as the middleware143, API145, or application program147). The kernel141may provide an interface that allows the middleware143, API145, or application147to access the individual components of the electronic device101to control or manage the system resources. The middleware143may function as a relay to allow the API145or the application147to communicate data with the kernel141, for example. A plurality of applications147may be provided. The middleware143may control work requests received from the applications147, such as by allocating the priority of using the system resources of the electronic device101(such as the bus110, processor120, or memory130) to at least one of the plurality of applications147. The API145is an interface allowing the application147to control functions provided from the kernel141or the middleware143. For example, the API133may include at least one interface or function (such as a command) for file control, window control, image processing, or text control.

The input/output interface150may serve as an interface that may, for example, transfer commands or data input from a user or other external devices to other component(s) of the electronic device101. Further, the input/output interface150may output commands or data received from other component(s) of the electronic device101to the user or the other external devices.

The display160may include, for example, a liquid crystal display (LCD), a light emitting diode (LED) display, an organic light emitting diode (OLED) display, a microelectromechanical systems (MEMS) display, or an electronic paper display. The display160can also be a depth-aware display, such as a multi-focal display. The display160may display various contents (such as text, images, videos, icons, or symbols) to the user. The display160may include a touchscreen and may receive, for example, a touch, gesture, proximity, or hovering input using an electronic pen or a body portion of the user.

The communication interface170may set up communication between the electronic device101and an external electronic device (such as a first electronic device102, a second electronic device104, or a server106). For example, the communication interface170may be connected with a network162or164through wireless or wired communication to communicate with the external electronic device.

The first external electronic device102or the second external electronic device104may be a wearable device or an electronic device101-mountable wearable device (such as a head mounted display (HMD)). When the electronic device101is mounted in an HMD (such as the electronic device102), the electronic device101may detect the mounting in the HMD and operate in a virtual reality mode. When the electronic device101is mounted in the electronic device102(such as the HMD), the electronic device101may communicate with the electronic device102through the communication interface170. The electronic device101may be directly connected with the electronic device102to communicate with the electronic device102without involving with a separate network.

The first and second external electronic devices102and104each may be a device of the same type or a different type from the electronic device101. According to embodiments of this disclosure, the server106may include a group of one or more servers. Also, according to embodiments of this disclosure, all or some of the operations executed on the electronic device101may be executed on another or multiple other electronic devices (such as the electronic devices102and104or server106). Further, according to embodiments of this disclosure, when the electronic device101should perform some function or service automatically or at a request, the electronic device101, instead of executing the function or service on its own or additionally, may request another device (such as electronic devices102and104or server106) to perform at least some functions associated therewith. The other electronic device (such as electronic devices102and104or server106) may execute the requested functions or additional functions and transfer a result of the execution to the electronic device101. The electronic device101may provide a requested function or service by processing the received result as it is or additionally. To that end, a cloud computing, distributed computing, or client-server computing technique may be used, for example.

WhileFIG. 1shows that the electronic device101includes the communication interface170to communicate with the external electronic device102or104or server106via the network(s)162and164, the electronic device101may be independently operated without a separate communication function, according to embodiments of this disclosure. Also, note that the electronic device102or104or the server106could be implemented using a bus, a processor, a memory, an I/O interface, a display, a communication interface, and an event processing module (or any suitable subset thereof) in the same or similar manner as shown for the electronic device101.

The server106may operate to drive the electronic device101by performing at least one of the operations (or functions) implemented on the electronic device101. For example, the server106may include an event processing server module (not shown) that may support the event processing module180implemented in the electronic device101. The event processing server module may include at least one of the components of the event processing module180and perform (or instead perform) at least one of the operations (or functions) conducted by the event processing module180. The event processing module180may process at least part of the information obtained from other elements (such as the processor120, memory130, input/output interface150, or communication interface170) and may provide the same to the user in various manners.

While the event processing module180is shown to be a module separate from the processor120inFIG. 1, at least a portion of the event processing module180may be included or implemented in the processor120or at least one other module, or the overall function of the event processing module180may be included or implemented in the processor120shown or another processor. The event processing module180may perform operations according to embodiments of this disclosure in interoperation with at least one program140stored in the memory130.

In order to increase understanding of the embedding-based recommendation techniques, systems, and methods disclosed here, three input-data/output-attribution/middle-level (IOM) elements are provided to make a recommendation model more interpretable: discrete conceptualization of input data format, middle-level representations, and output attribution. Certain embodiments of the present disclosure are designed based on these three IOM elements. To address the input data format requirement, certain embodiments of the present disclosure provide an interpretation hierarchy with users, items, and knowledge graph (KG) entities so that the recommendation results provided to users can be explained by KG entities and interacted items. For middle-level representations, an embedding is disentangled into different segments based on information sources and semantic factors. Information sources can include users, items, and KG entities. Additionally, semantic factors can include articles such as clothes, electronics, and daily necessities. Additionally, in certain embodiments, the information flow is confined to the same information source and the same semantic factor. Certain embodiments also provide for an output attribution in which an explainable model is displayed, instead of developing post-hoc methods, to provide human comprehensible rationales for recommendations.

FIG. 2Aillustrates a basic embedding-based recommender system in accordance with this disclosure. The basic embedding-based recommender system shown inFIG. 2Ais for illustration only, and other embodiments could be used without departing from the scope of the present disclosure.

In the example illustrated inFIG. 2A, information propagation for a GCN205is depicted. One or more knowledge graph embeddings (en)210are fed into respective item embeddings (tn)215, whose outputs then feed into a user embedding (un)220. An embedding of node v is denoted as zv. Under the conventional GCN205and according to Equation 1 below:

in which zjis an embedding of node νj, Njdenotes the neighbors of νj, σ is the activation function, ai,jis the attention score, and Wziis a bilinear mapping matrix; the embeddings of user u and item t on the final GCN layer are computed as:

where Nudenotes the set of items with which the user has interacted, T denotes the entire item set, Ntdenotes the knowledge graph entities connected to item t, and E denotes the entire entity set.

It is noted that the information flow direction is restricted. An item embedding ztreceives information from knowledge graph entities, as well as its own embedding on the lower GCN layer. Similarly, a user embedding zureceives information from itself on the lower layer, the items with which there has been an interaction, and knowledge graph entities as second-order connections. Finally, top-layer zuand ztengage in computing a recommendation prediction Ŷu,t. Common COMBINE( ) operations include summation or concatenation followed by transformation, while common AGGREGATE( ) operations include summation and mean operation. In accordance with this disclosure, in the recommendation model, traditional COMBINE( ) and AGGREGATE( ) operations are modified to resolve information propagation between representations.

FIG. 2Billustrates an explainable embedding-based recommender model in accordance with this disclosure. The explainable embedding-based recommender model shown inFIG. 2Bis for illustration only, and other embodiments could be used without departing from the scope of the present disclosure. The explainable embedding-based recommender model can be incorporated in or executed by one or more processors in a computing system, such as in the electronic device101or server106.

In certain embodiments, instead of merging information from lower-level representations, the process maintains zvand AGGREGATE({zv′:v′∈Nv}) separate if v and v′ are different types of nodes. Specifically, the item embedding is defined as:

Similarly, for each user embedding zu, the user embedding receives information from both item embeddings and knowledge graph entity embeddings that describe those items. Therefore, the user embedding zuis defined as:

Here, zuitmdescribes the user through the historical items with which the user has interacted, while zuentdescribes the user through knowledge graph entities.

In the example illustrated inFIG. 2B, an explainable embedding-based GCN225after resolving information sources and factors is depicted. In contrast to the GCN205, the explainable embedding-based GCN255segments embeddings by node types, semantic factors of items and semantic factors of KG entities. Instead of directly aggregating information from items or entities without distinguishing their natures or semantics, the process first assigns low-level embeddings into different factors and then sends information accordingly. Specifically, an item-side aggregation is defined as:

Here p(e, c) ∈ [0, 1] denotes the affiliation degree between entity e and factor c. Additionally, p(e, c) ∈ [0, 1] is calculated as the contribution of a connected entity e on factor c (1≤c≤C1). The term N is the set of entities connected to the item t, and g is a non-linear mapping module. Also, the user-side aggregation is defined as:

Here, the term Nuis the set of items with which the user has interacted, p(t, c) ∈ [0, 1] denotes the affiliation degree between item t and factor c. Also, g is a nonlinear mapping module. The item-based and entity-based embeddings can have different numbers of factors (C2vs. C1). Each of zuslf, ztslf, zeslf, p(e, c), and p(t, c) are learnable parameters.

This design is based on the principle that: (1) zvslfwill first be assigned to some factors c according to p(v, c) scores and then contribute to the corresponding higher-level embeddings after nonlinear mapping; and (2) for those embeddings that are already factorized (i.e., ztent,c), those embeddings will directly contribute to higher-level counterparts (i.e., zuent,c) within the same factor c. It is worth noting that two index sets {c|1≤c≤C1} and {c|1≤c≤C2} are included because these index different factors. Also, if there are more layers of entity nodes, the embeddings from the additional layers could be learned via normal GCN, because entity nodes in different layers are still in the same type.

FIG. 3illustrates an example process300for generating an explainable recommendation model in accordance with this disclosure. WhileFIG. 3depicts a series of sequential steps, unless explicitly stated, no inference should be drawn from that sequence regarding specific order of performance, performance of steps or portions thereof serially rather than concurrently or in an overlapping manner, or performance of the steps depicted exclusively without the occurrence of intervening or intermediate steps. The process300depicted can be implemented by one or more processors in a recommendation system, such as by one or more processors120of an electronic device101or server106. In certain embodiments, one or more steps of the process300are performed by one or more processors in an electronic device or server performing a machine learning (i.e., an artificial intelligence) process.

In operation305, user behavioral data is collected over time. The user behavioral data includes user interaction events, such as when a user interacted with an item at a particular timestamp, and optionally context data associated with the event, user feedback, (such as click, install, or in-app purchase), and the like. The server106, in the recommendation system, logs a user's various behavior events. For example, the server106logs when a user is browsing in a video database, such as NETFLIX, clicking a movie, watching a movie, rating a movie, and the like, and stores such data for later processing. Also collected are the items' metadata, such as the attributes of items. In addition, the server106can clean, preprocess, and aggregate all data so that effective feature engineering can be performed. User behavior logs are normally collected on a user device, such as via the electronic device101, in real time and transferred to the server106in real time or every few hours. Data cleaning, preprocessing, and user-item interaction aggregation are normally done on a daily basis. As a result, the server106can create new user-item interactions and update existing user-item interactions after a daily processing. In certain embodiments, the recommendation system may include a data retention policy. For example, the server106may only use the logs from the last two months for recommendation. In this case, the user-item interactions that happened two months ago will be removed during daily processing.

In operation310, the server106constructs a knowledge graph (KG) for all items based on the items' metadata so that they are interconnected via various relations. The server106cleans and preprocesses the stored raw logs and then aggregates the preprocessed data by grouping the preprocessed data into user-item interaction pairs. In this case, the server106can obtain all user-item interactions that occurred in a previous time period. For example, depending upon the application domain, the server106creates the KG to create semantic linkages between items via different attributes. The application domain can include a restaurant recommendation, a movie recommendation, a product recommendation, a service recommendation, or the like. The server106can create different types of attributes according to the underlying domain. For example,FIG. 4illustrates an example domain knowledge graph400in accordance with this disclosure, namely a simple knowledge graph for movie recommendation.

The server106creates a domain knowledge graph when a request or instruction to launch the recommendation system has been received or occurs. After that, the knowledge graph is relatively static. The server106updates the knowledge graph when new items appear or when new attributes appear. Similarly, when some items are no longer available in the market or some attributes are no longer applicable, the server106deletes the respective items or attributes from the knowledge graph. The entire knowledge graph will not be deleted because the server106still requires the knowledge graph to provide the explainable recommendation service.

In operation315, an interpretation hierarchy is constructed. With the constructed knowledge graph, the recommendation system builds an interpretation hierarchy with users, items, and KG entities being in different layers. This interpretation hierarchy will be input to the recommendation model. The interpretation hierarchy contains all users and all items in the processed user-item interactions as nodes.FIG. 5illustrates an example interpretation hierarchy500in accordance with this disclosure. If an interaction exists between a user and an item, there is an edge connecting a user node505and an item node510. All item nodes in the hierarchy are also connected to all knowledge graph entities515, e.g., attributes, in the constructed knowledge graph. Additionally, since the user-item interactions are updated on a daily basis, the input interpretation hierarchy will also be updated daily and contain user-item interactions that happened in, for example, the past two months.

In certain embodiments, the server106can save the interpretation hierarchy in two files. The first file605stores all (user, item) pairs and the second file610stores all (item, entity) pairs.FIGS. 6A and 6Billustrate example interpretation hierarchy files605and619in accordance with this disclosure.

In certain embodiments, the server106obtains the interpretation hierarchy from an external source. For example, the knowledge graph, behavioral data, and item data can all exist in different devices or systems. The server106can obtain the interpretation hierarchy that was generated based on a knowledge graph and behavioral data, which may have been generated based on a user's activities via the electronic device101.

In operation320, a recommendation model is trained. The recommendation system trains the recommendation model by using graph convolution operations to generate user and item embeddings and the proposed prediction function to make predictions. For example, the server106can use a variational autoencoder to perform graph convolution operations as depicted in the example illustrated inFIG. 7.

FIG. 7illustrates an example variational autoencoder700in accordance with this disclosure. The embodiment of the variational autoencoder700shown inFIG. 7is for illustration only. Other embodiments could be used without departing from the present disclosure.

For the interpretation hierarchy, note that the recommendation system treats user nodes, item nodes, and KG entity nodes as concepts. Different concepts are assigned to different levels of the interpretation hierarchy500. In this example, the topmost level includes user nodes705, the second level includes item nodes710, and the bottom level includes KG entity nodes715. There is a link between a user node and an item node if there is an observed interaction between them, a link between an item node and an entity node if the item's quality or attribute is described by the entity, and a link between an entity node and an entity node if there is a relation between them in the knowledge graph. The embedding of a concept can be interpreted by the embeddings of its connected concepts in lower levels. Low-level concepts tend to be simple, while high-level concepts are complex and composite. Lower-level concepts can be regarded as the basis to represent higher-level ones. The server106uses the interpretation hierarchy500as the input to the variational autoencoder700.

InFIG. 7, the server106performs interpretable graph convolution operations720to generate user and item embeddings from the interpretation hierarchy500. In certain embodiments, the server106performs two or more convolutions in which (1) a first convolution operation is performed to generate item entity embeddings and user embeddings via separating information from different types of nodes and (2) a second convolution operation is performed to aggregate item embeddings and user embeddings by introducing fine-granular item and knowledge graph entity factors. The explainability comes from the design of disentangling embeddings by information sources (e.g., users, items, or KG entities) and semantic factors automatically extracted from data. The server106performs two basic operations: AGGREGATE( ) and COMBINE( ). In the COMBINE operation, the embedding of an item ztis defined as the concatenation of its item-based embedding ztslfand its entity-based embedding ztent. The term ztentrepresents the item as an aggregation of the embeddings of all entities connected to the item. The embedding of a user zuis defined as the concatenation of its user-based embedding zuslf, item-based embedding zuitm, and the entity-based embedding zuent. The term zuitmrepresents a user through the historical items with which he or she has interacted, and zuentdescribes a user using knowledge graph entities. The server106generates ztent, zuitm, and zuentin the AGGREGATE operation. For example, the server106calculates zuentusing Equation (7) above.

Here, ztentis formulated as the concatenation of embeddings from different semantic factors. The server106calculates zuitmand zuentusing Equations (8) and (9) above.

Returning toFIG. 3, in operation325, a prediction is provided. Using the trained model, the recommendation system can predict a probability that a given user is interested in a given item and provide an explanation of the recommendation result, such as in a visual or textual form. For example, the server106can execute a prediction function725that considers item-based and entity-based information separately and factor-wise similarity. The prediction function725can be given by Equation (10) below.

is an item based term, and:

is an entity based term. The expression·,·is an inner product. In particular, unlike previous methods, the server106does not usezuslf, ztslfto generate the prediction results because use of these terms may negatively impact the explainability of the model. Instead, in some embodiments, the server106first computes the user-item similarity using the prediction function725. The similarity between a user and an item is determined by two aspects corresponding to the two terms in the prediction function shown in Equation (10). The first aspect is the similarity between the current item and the historical items interacted by the user. The second aspect is the similarity between the properties (i.e., knowledge entity attributes) of the current item and the properties of the historical items.

In certain embodiments, the server106can provide one or more of the recommendation, the prediction, or the explanation in a visual format. That is, the server106can communicate with the electronic device101to cause the electronic device101to display a visual image corresponding to the recommendation to the user. For example, the electronic device101can display an image of a recommended movie, an image of a recommended restaurant, or the like. Additionally, the server106can cause an attached or external display to display an image, via color, numbers, graphics, charts, and the like, to illustrate a probability that the user will accept the recommendation. Additionally, the server106can cause the display to display one or more images, icons, or the like corresponding to the entities and items that formed the basis for the recommendation. The server106can provide graphic associations of the items and entities and graphic weightiness, such as a heat map or the like, to further illustrate the explanation for the recommendation. In certain embodiments, one or more of the recommendation, prediction, or explanation is provided via a plain text. In certain embodiments, one or more of the recommendation, predication, or explanation is provided via a combination of plain text and graphic images or icons.

FIG. 8illustrates an example process800for information collection and embedding calculation in accordance with this disclosure. The embodiment of the process800shown inFIG. 8is for illustration only, and other embodiments could be used without departing from the scope of the present disclosure. In certain embodiments, the process800shown inFIG. 8can correspond to the training of the recommendation model in operation320.

The server106performs information collection805, which involves finding lower-level embeddings in operation810, assigning embeddings to different factors in operation815, and averaging embeddings for each factor in operation820. Information collection805here includes information collection for entity nodes825, information collection for item nodes830, and information collection for user nodes835.

An entity-based item embedding850ztenthas C1segments, where each segment corresponds to one factor in knowledge graph entities. To obtain an entity-based item embedding850, the server106in operation815assigns its connected entity nodes Ntin the input interpretation hierarchy500into relevant factors. For each factor, an embedding segment is obtained by averaging entity embeddings zeslfin a weighted manner in operation820. The entity-based item embedding850is obtained by concatenating embedding segments of all factors.

Item embeddings zt840are obtained using Equation (7) in the information collection for item nodes830. Additionally, user embeddings zu845are obtained from the information collection for user nodes835. The user embeddings zuinclude three parts: (1) user-based embeddings855, zuslf; (2) item-based embeddings860, zuitm; and (3) entity-based embeddings865, zuent. The item-based embeddings860and entity-based embeddings865are obtained in the similar way as ztent, where item-based embeddings860aggregate embeddings from item nodes connected to the user and entity-based embeddings865aggregate embeddings from entity nodes connected to the user's connected item nodes.

FIG. 9illustrates an example visual explanation900in accordance with this disclosure. The embodiment of the visual explanation900shown inFIG. 9is for illustration only, and other embodiments could be used without departing from the scope of the present disclosure.

In a real-world service, recommendations are normally generated when a user lands on a web page or app page with some slots to display recommendation results. For example, when a user lands on the homepage of NETFLIX, the recommendation system may compute recommended movies for the user in real time. Normally, the recommendation system recommends the most relevant items (e.g., movies) from all available items in the system with which a target user has not interacted with. For each candidate item, the recommendation system computes its similarity with a target user. The recommendation system then sorts all candidate items based on the similarities and recommends the ones with the largest similarities.

Due to the careful segmentation of and disentangled information propagation among different types of concepts (e.g., items and knowledge graph entities), the server106is able to use the items previously interacted with by a user and their associated knowledge graph entities (e.g., attributes) to explain the recommendations made to the user in embedding-based recommendation systems, where embeddings are normally very difficult to interpret. In the example shown inFIG. 9, the restaurant Kyoto Scottsdale905is recommended to user u1523910because of (1) the similar restaurants915he previously visited, which provide explanations based on items and (2) important attributes920learned from knowledge graph entities (i.e., he is interested in restaurants that are in AZ state and that accept credit cards), which provide explanations based on knowledge graph entities.

FIG. 10illustrates an example multi-level knowledge graph (KG)1000in accordance with this disclosure. The embodiment of the multi-level KG1000shown inFIG. 10is for illustration only, and other embodiments could be used without departing from the scope of the present disclosure.

In certain embodiments, the server106creates a multi-level KG1000having multi-level KG entities. That is, the multi-level KG1000includes a first entity level1005and a second entity level1010. In certain embodiments, the multi-level KG1000can include more than two entity levels. In this case, the interpretation hierarchy can have more than three levels. Similarly, in certain embodiments, the server106creates an interpretation hierarchy500without KG entities. When the server106creates an interpretation hierarchy500without KG entities, the server106only uses the items interacted with by a user to interpret recommendation results.

In certain embodiments, the server106uses a mixture of the proposed graph convolution operations and normal graph convolution operations to handle an interpretation hierarchy with multi-level knowledge graph entities. In this case, the embeddings of entity nodes could be learned just via normal GCNs without applying the proposed graph convolution operations because entity nodes in different layers are still of the same type.

While the above detailed diagrams have shown, described, and pointed out novel features of the invention as applied to various embodiments, it will be understood that various omissions, substitutions, and changes in the form and details of the device or process illustrated may be made by those skilled in the art without departing from the invention. This description is in no way meant to be limiting, but rather should be taken as illustrative of the general principles of the invention.

Though embodiments have been described with reference to certain versions thereof; however, other versions are possible. Therefore, the spirit and scope of the embodiments should not be limited to the description of the preferred versions contained herein.