Next Article in Journal
Cybersecurity Risks Analysis in the Hospitality Industry: A Stakeholder Perspective on Sustainable Service Systems
Previous Article in Journal
Green Bond Issuance and the Spillover Effect of Green Technology Innovation from the Perspective of Market Attention: Evidence from China
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

TriGCN: Graph Convolution Network Based on Tripartite Graph for Personalized Medicine Recommendation System

1
School of Economics and Management, Hunan University of Technology, Zhuzhou 412007, China
2
Department of Electronic and Electrical Engineering, University College London, London WC1E 6BT, UK
*
Author to whom correspondence should be addressed.
Systems 2024, 12(10), 398; https://doi.org/10.3390/systems12100398
Submission received: 2 August 2024 / Revised: 22 September 2024 / Accepted: 24 September 2024 / Published: 26 September 2024
(This article belongs to the Section Systems Practice in Social Science)

Abstract

:
Intelligent medical systems have great potential to play an important role in people’s daily lives, as they can provide disease and medicine information immediately for both doctors and patients. Graph-structured data are attracting more and more attention in the artificial intelligence sector. Combining graph-structured data with a medical data set, a tripartite graph convolutional network named TriGCN is proposed. This model is able connect to disease and medicine or patient, disease, and medicine nodes, propagate information from layer to layer, and update node features at the same time. After this, calibrated label ranking is used to give personalized medicine recommendation lists to patients. The TriGCN approach has a great performance, outperforming other machine learning methods. Thus, this model has the potential to be applied in reality and will provide contributions to public health in the future.

1. Introduction

The application of intelligent technologies in specific areas can make people’s lives more convenient. For example, applications of artificial intelligence in finance, computer science, and law promote the professional process in these areas, while its application in computer games and music enriches people’s leisure time. In recent years, with the advancement in artificial intelligence and medicine, the intelligent medical field has attracted worldwide attention [1]. The application of intelligent technologies in the medical field has generated rich medical data resources, such as electronic medical records and electronic health records, etc. How to deeply mine these medical data has aroused the interest of many scholars. The scientific use of medication is an important tool in clinical treatment. In traditional diagnosis and treatment, doctors usually give prescriptions to patients based on their personal knowledge and experience. However, these clinical decisions may not be optimal due to knowledge gaps or unintended biases [2]. In addition, for patients with atypical symptoms, some new doctors may have difficulty in correctly diagnosing their disease and prescribing effective treatment due to a lack of diagnostic experience [3]. The demands of doctors and patients cannot be met by using the traditional method for prescription. The deep mining of medical data can obtain new medical knowledge, break through the limitations of doctors’ personal knowledge, and achieve more accurate medical diagnoses and more personalized treatment recommendations [2,3,4]. Although there are some open resources of medical data sets, the volume of medical data is usually so large that sometimes people cannot immediately search for the accurate disease and drug information in these databases [5]. Thus, it is necessary to design a medicine recommendation system that analyzes and mines these huge medical information resources to provide personalized medicine recommendations for patients. This is of great significance in assisting with clinical medication decisions and providing accurate healthcare services to those in need.
A recommendation system with simple rules may not perform well. But nowadays, machine learning algorithms are developing rapidly and have been widely used in various fields. By integrating recommendation systems with machine learning models, the effectiveness of recommendation systems can be improved well and these systems have more possibility for application in real-world scenarios [6]. In a medicine recommendation system, the connections between different diseases and medicines are crucial. In addition, in order to achieve personalized medicine recommendations, patient-related information is also needed. Therefore, the relationship among patients, diseases, and medicines is the essential point in such research. If patient-, disease-, and medicine-related information can be obtained, the problems mentioned above can be avoided to a large extent by building a machine learning model [3]. However, due to the complexity of graph-structured data, simple machine learning algorithms face certain challenges in processing such data. The emergence of Graph Neural Networks (GNNs) [7] can solve such problems well, so they are very popular in the learning of graph-structured data, such as Graph Convolutional Networks (GCNs) [8], Graph Attention Networks (GATs) [9], and GraphSAGE [10]. These methods are very suitable for data with different nodes and edges, but more research and experiments are needed on how to apply these models to actual medicine recommendations.
To address the issues above, a tripartite graph (TriGCN) with the graph convolutional networks method was proposed and a recommendation system was designed that considers patients’ allergies, medicine–disease interactions, medicine–medicine interactions, medicine–food interactions, and pregnancy and lactation conditions. The contributions of the research are summarized as follows.
Firstly, in order to effectively learn node classifications for graph-structured data, a tripartite graph with patient, disease, and medicine information was constructed. Secondly, to solve the limitation problem of unipartite GCNs, a model named TriGCN was proposed, which can make the data set adopt GCNs very well. Thirdly, to apply the model in reality, a personalized recommendation system was designed, and a label ranking method to produce medicine recommendation lists was implemented.

2. Related Works

A brief review of the basic concepts of bipartite and tripartite graphs, related research on and equations of graph convolutional networks, background knowledge on recommendation systems, and the introduction of a label ranking method are shown below.

2.1. Bipartite Graph and Tripartite Graph

A bipartite graph G = ( V ,     E ) has two types of nodes, V 1 and V 2 . The two subsets of nodes follow the rules V 1 V 2 = and V = V 1 V 2 . The edge set E has the element e v i v j , where 1 i m a x 1 and 1 j m a x 2 . m a x 1 is the number of elements in V 1 , and m a x 2 is the number of elements in V 2 . The architecture of a bipartite graph is shown in Figure 1 [11].
A tripartite graph is an extension of a bipartite graph, with its definition being presented as follows [11]. G = ( V ,     E ) is an undirected graph and the node set V is divided into three subsets, V 1 , V 2 , and V 3 [12]. These three subsets should meet the requirements V = V 1 V 2 V 3 and V 1 V 2 = ,   V 2 V 3 = ,   V 1 V 3 = . Each node in the subset is not adjacent. The edge set E contains the elements e v i v j and e v j v k ( 1 i m a x 1 , 1 j m a x 2 and 1 k m a x 3 ). m a x 3 is the number of elements in V 3 . The node sets V 1 , V 2 , and V 3 are complementary, thus, the tripartite graph also can be noted as G = ( V 1 ,     V 2 ,     V 3 ,     E ) . The general structure of a tripartite graph is shown in Figure 2.

2.2. Graph Convolutional Network (GCN)

A graph is a complex data structure that represents the dependency relationships among multiple entities or activities. In real life, graph-structured data are ubiquitous, and traditional convolutional neural networks (CNNs) are unable to deal with these kinds of data. GCNs extend CNNs to the graph domain and solve the limitation of traditional CNNs in processing graph-structured data [8]. A GCN is a neural network architecture that can utilize the graph structure and node features for graph analysis, consisting of an input layer, multiple propagation (hidden) layers, and a final perceptual layer [13]. Given a graph G (X, A), the feature matrix X and the adjacency matrix A of the nodes are input into the model and then propagated layer by layer, and the layer-wise propagation rule of GCN models is shown in Equation (1):
H ( l + 1 ) = σ ( D ~ 1 2 A ~ D ~ 1 2 H ( l ) W ( l ) ) ,
where A ~ = A + I N is the adjacent matrix of the graph G that adds an identity matrix I N , D ~ is the degree matrix of A ~ , and D ~ 1 2 A ~ D ~ 1 2 is the normalized Laplacian matrix. W ( l ) is a layer-specific trainable weight matrix. σ ( · ) is the activation function, which is commonly the sigmoid function or the ReLU function. H ( l ) is the input matrix in the l t h layer, H l + 1 is the output matrix in the l t h layer after the activation function, and H ( 0 ) = X . In the propagation process of each layer, through graph convolution operations, each node aggregates information about itself and its neighboring nodes to update the nodes’ features. Then, after the activation function, the new feature matrix is obtained.
Then, a two-layer GCN for semi-supervised node classification with an adjacent matrix A should be considered. A ^ = D ~ 1 2 A ~ D ~ 1 2 is calculated in the previous process, and the simplified form of the forward model is shown in Equation (2):
Z = f X ,     A = s o f t m a x   ( A ^   R e L U A ^ X W 0 W 1 ) ,
where W 0 is an input-to-hidden layer weight matrix and W 1 is a hidden-to-output layer weight matrix. The softmax function is s o f t m a x x i = e x p ( x i ) i e x p ( x i ) .
In recent years, researchers have used graph convolutional networks in recommendation tasks and achieved good recommendation results. Ying et al. developed a data-efficient Graph Convolutional Network algorithm, PinSage, for Web-Scale Recommender Systems, which combines efficient random walks and graph convolutions to generate embeddings of nodes that incorporate both graph structure and node feature information [14]. However, the original GCN model is for unipartite graphs, and it does not work well for two-part graphs containing two node types, so Jin et al. constructed a bipartite graph convolutional network model for emergency medical service (EMS) demand forecasting that separates the convolutional operations of the two node sets [15]. In order to enhance the expressive power of GCN models, Jiang et al. built a node–feature bipartite graph and exploited the bipartite graph convolutional network to model node–feature relations [16]. Yang et al. proposed a prediction model combining a graph convolution neural network and a node bipartite graph, which can effectively predict the sales of goods under constraint conditions [17]. Graph Convolutional Matrix Completion is a bipartite-graph-based graph autoencoder that completes the empty elements of partial scoring matrices and can be applied to recommendation systems [18]. Based on graph convolutional matrix completion, Fan et al. proposed a novel pre-diction method, GCRFLDA, which integrates a conditional random field (CRF) and an attention mechanism into the encoder layer to learn the embeddings of nodes for scoring potential lncRNA–disease associations [19].
Although some researchers have applied GCNs to reality, most of them focus on unipartite graphs and bipartite graphs. Further research is needed on how to apply GCNs to graph data containing the three following node types: patient, disease, and drug. Therefore, the GCN model has great potential to be optimized, and the application of GCNs also has a huge market.

2.3. Recommendation System

The concept of recommendation systems was proposed by Resnick and Varian in 1997 [20]. It is an information-processing system that collects information about users and various items, and through information aggregation and intelligent matching, achieves a good match between the recommended content and the user, so as to provide suggestions for items that are most likely to be of interest to a particular user [6]. The general recommendation model is shown in Figure 3. Recommendation systems need to collect information from an original database, then, through data preprocessing to conduct a preference analysis, feature extraction, interesting mining, and so on, sometimes also need to draw the persona, then pass a model to train, test, and validate the whole system, lastly returning back to the raw database.
Recommendation systems can effectively filter information, help users to retrieve information that meets their personalized needs, alleviate the problem of information overload, and are very popular on e-shopping websites and movie recommendation websites. Recommendation algorithms are the core of recommendation systems, and since both users and operating platforms are eager to achieve better services, the in-depth improvement and optimization of recommendation algorithms and technologies are indispensable. Generally, based on the construction method of a user model, the prediction method of usage, and item classifications of recommendation, recommendation system algorithms can normally be divided into four types as follows: content-based recommendations, collaborative filtering recommendations, network-based recommendations, and hybrid recommendations [21].
Content-based recommendation algorithms extract representative features by analyzing product information, then compare features with users’ interests, obtain the matching score between each product and each user, rank the results, and recommend the top N matching score products to users [22]. This class of algorithms was first applied to e-commerce websites by recommending items to users that are similar to their interest preferences based on their purchase behavior records or reviews [23]. It has since been applied in the medical field. For example, Kumar et al. proposed a K-mean clustering algorithm (KMC-CBD) that can recommend highly rated doctors with similar medical profiles who have successfully treated patients based on their own needs, conditions, and desired treatments [24]. The principle of a collaborative filtering recommendation algorithm is finding several similar users to the user that seeks recommendations, then recommending the products of these several similar users to the user that seeks recommendations according to priority ranking [25]. This method only needs the data of user item rating and the features of users, and items are not necessary, so the complexity of the algorithm is very low. Traditional collaborative filtering recommendations are often made by collecting explicit user ratings of items [26]. However, in reality, such explicit feedback is difficult to collect, hence the emergence of implicit feedback collaborative filtering recommendation, also known as One-Class Collaborative Filtering Recommendation (OCCF), which only requires the collection of user’s daily behavioral data without relying on rating data [27]. Hybrid recommendation technology combines multiple recommendation algorithms together, which can compensate for the disadvantages in a single recommendation algorithm, but also will increase the budget of the system [28]. Pu Q et al. combined the Content-Based Recommendation algorithm and Collaborative Filtering algorithm to design an intelligent film recommendation system, reducing the user’s time taken to retrieve information and improving the retrieval efficiency [29]. Network-based recommendation introduces graph-structured data [30]. Taking a classical bipartite network as example, users and items are two types of nodes in the network, links between the nodes represent selective relations, values are determined by these selective relations, and finally, the system recommends items according to the items’ values [31]. Network-based recommendation not only has a higher accuracy than the classical collaborative-filtering recommendation and content-based recommendation, but also lowers the complexity of the algorithm [32]. However, network-based recommendation confronts many problems like cold starts and the speed of recommendation. Therefore, improving the traditional recommendation algorithm, solving the problems above, promoting the user experience, and decreasing the complexity of the system are very important in the research on recommendation methods.
The concept of combining graph-structured data and recommendation systems is very novel, but there are some important studies in this area. Graph neural networks have a large advantage in the learning of graph-structured data and have been widely used in recommendation systems [33], including graph attention networks, graph convolutional networks, and so on. GraphRec, a graph neural network that can model graph data coherently, was proposed and applied to social recommendation systems [31]. Zhang et al. proposed Personalized Graph Neural Networks with Attention Mechanism (A-PGNNs) for a session-aware recommendation scenario, which are able to capture the complex item transitions in each user behavior [34]. The Collaborative Knowledge-aware Graph Attention Network (CKGAT) is a recommendation method proposed by Xu et al. It employs a knowledge-aware graph attention network and an attention aggregator to generate accurate user embeddings and item embeddings, so as to accurately capture a user’s potential interest in an item to realize recommendations [35]. Based on graph convolutional networks, Liu et al. proposed multi-perspective social recommendation (MPSR), which assigns the influences of friends with different trust levels from different perspectives and can model user preferences from multiple aspects [36]. In general, the attributes of users and items are not isolated but interconnected, which forms a knowledge graph. Based on this, H.W. Wang et al. proposed the Knowledge Graph Convolutional Network (KGCN), which can capture the higher-order personalized interests of users by mining the related attributes on the knowledge graph to obtain the relativities between items [37].

2.4. Calibrated Label Ranking

Calibrated label ranking is a multilabel classification method that can rank labels by their ratings, and this method can solve both the multilabel classification problem and label ranking issue [38]. The main idea of the method is to separate a multilabel classification problem into a label ranking problem. The final labels are those with the highest ratings. This label ranking method introduces a calibrated label as a split point to divide the label set into relevant and irrelevant labels. The definition of the ranking method is as follows. A complete label set { λ 1 ,     λ 2 ,   ,     λ c } is in a nonempty input space X , the original label set should add an extra calibration label λ 0 as a split point, the relevant label set is denoted as P x , the irrelevant label set is denoted as N x , and all the relevant labels are preferred to λ 0 . A calibrated ranking is shown in Equation (3):
λ i 1 > > λ i j > λ 0 > λ i j + 1 > > λ i k ,
and a bipartite partition is split into P x = { λ i 1 ,   ,     λ i j } and N x = { λ i j + 1 ,   ,     λ i k } . In this way, the method considers the pairs of labels, giving it a great generalization ability. For a recommendation system that needs ranking, this method is very effective [38].

3. The Proposed Model

This section contains data preprocessing content and the overall TriGCN model. The medical data are transferred into a tripartite graph, then combined with a graph convolutional neural network.

3.1. Preprocessing of Data

For a medication recommendation system, the raw data should be reliable, because the results of the system firmly connect to patients’ health. Also, the method of data preprocessing is important because the quality of the processed data largely determines the performance of the proposed model. The data used in this research were collected from drugs.com (accessed on 9 March 2024) [39], a drug information website. This website includes various medical information like medication options for disease, medicine interaction data, pregnancy and lactation warnings, medicine side effects, and patient reviews on medicines collected from the AHFS and Drug Information and Food and Drug Administration (FDA), which are very professional and credible institutes. In this research, two main types of data were used. One category was the raw data needed for the TriGCN model. The other category was the data that needed to be supplemented in the recommendation system, including drug interaction data, drug–disease interaction data, drug–food interaction data, and pregnancy and lactation data. The preprocessing of the two types of data was performed as follows.

3.1.1. Model Data Preprocessing

The model data included patient–disease–medicine data and patient score data for medications. There were 71,349 patients, 47 popular diseases, and 345 medicines in the patient–disease–medicine data. The raw data included the medicines’ brand names and off-label medicine, so these data were replaced by the corresponding drugs’ generic names. After preprocessing the data, each patient, each disease, and each drug was given a unique number ID. The structure of the processed patient–disease–medicine data is shown in Table 1.
In addition, in order to construct a tripartite graph with patient, disease, and medicine information, the connections between disease and medicine had to be considered. Patient rating data of medicines were used to construct the disease-to-medicine rating matrix. Each patient gave a rating to a medicine based on their user experience, and if the rating was below 5.0 (full score is 10), the record was deleted. The rating matrix R is displayed in Figure 4. The number in the matrix grids means the rating of the disease to the medicine. If the number was larger than 5.0, the medicine was able to cure the disease. If the number was zero, the medicine had no treatment effect on the disease, or even an interaction.

3.1.2. Recommendation System Data Preprocessing

The recommendation system collects medicine interaction data, medicine–disease interaction data, and medicine–food interaction data from websites [40], pregnancy and breastfeeding data from [41], and the selected medicines from [42] in the popular drug searches bar. The structures of the medicine interaction data, medicine–disease interaction data, medicine–food interaction data, breastfeeding data, and pregnancy data are as follows.
Table 2, Table 3 and Table 4 have two columns of data which contain the original medicine name and the medicine, disease, or food that have interactions. If patients use the medicine in the first column in Table 2 and Table 4, the corresponding medicine and food cannot be used. If patients have a disease in the second column in Table 3, the corresponding medicines are forbidden. Table 5 and Table 6 have only one column of medicine data that cannot be used in certain situations.

3.2. TriGCN

In this part, graph-structured data are constructed by using the data set in Section 3.1, then detailed information like the aggregation method and propagation route of TriGCN is introduced.

3.2.1. Construction of Tripartite Graph

In the tripartite graph of the research, there are three types of nodes, p i , d j , and m k ( 1 i   m a x 1 , 1 j m a x 2 , and 1 k m a x 3 ), and two types of edges, e 1 i j and e 2 j k . G = ( P ,     D ,     M ,     E ) is the tripartite graph, where P is the set of patient nodes, D is the set of disease nodes, M is the set of medicine nodes, and E is the set of edge nodes, which contains edge e 1 i j between node p i and d j and e 2 j k between node d j and m k . The weight ω i j between node p i and node d j is defined in Equation (4):
ω . j = c · c o u n t ( d j ) m a x 1 ,
where c o u n t ( · ) is the total times an element (like node d j in the formula above) appears in a specific data set and c is a constant. ω . j reflects the epidemic condition of disease d j in the data set. Then, the weight matrix of edge e 1 i j is Ω 1 = { ω i j | 1 i m a x 1 ,   1 j m a x 2 } . The weight ω j k between node d j and node m k is defined in Equation (5):
ω j k = r j k ,
where r j k is the rating between disease node d j and medicine node m k , and the rating matrix R is shown in Figure 4. ω j k records the evaluation of patients who suffered from disease d j of medicine m k . Then, the weight matrix of edge e 2 j k is Ω 2 = { ω j k | 1 j m a x 2 ,   1 k m a x 3 } .
The feature matrixes X p , X d , and X m in this experiment are in one-hot representations, and they can be constructed according to the unique feature ID. Taking the feature matrix X p of the patient node as an example, the rows of the matrix represent the total number of patients and the columns represent the number of patient features (the number of unique identity ID), so the number of rows and columns are equal.
The adjacency matrixes A p , A d , and A m are also generated since there are e 1 i j edges between patient nodes and disease nodes and e 2 j k between disease nodes and medicine nodes. Each type of node has an adjacency matrix, which represents the adjacency information of this type of node. The elements in the three adjacency matrices are 0 or 1. For example, in the adjacency matrix A p of patient nodes, the number of rows is the number of patient nodes, and the number of columns is the number of disease nodes adjacent to the patient nodes. If the patient node p i has a connection with the disease node d j , the element value in the corresponding position in the matrix is 1, otherwise it is 0. The degree matrixes D p , D d , and D m represent the degrees of node p i , d j , and m k , as shown in Equations (6)–(8):
D p = D i a g ( i = 1 m a x 1 A p 1 , i ,   i = 1 m a x 1 A p 2 , i ,   ,   i = 1 m a x 1 A p m a x 1 , i ) ,
D d = D i a g ( j = 1 m a x 2 A d 1 , j ,   j = 1 m a x 2 A d 2 , j ,   ,   j = 1 m a x 2 A d m a x 2 , j ) ,
D m = D i a g ( k = 1 m a x 3 A m 1 , k ,   k = 1 m a x 3 A m 2 , k ,   ,   k = 1 m a x 3 A m m a x 3 , k ) , ,
where D i a g ( · ) means that all the elements in the function are along the main diagonal of the matrix, while other elements are zero.
Figure 5 shows the tripartite-graph-structured network, where the node sets will be separately convoluted in the TriGCN model and the edge information is contained in feature matrices and adjacency matrices.

3.2.2. Propagation, Aggregation, and Update Operation of TriGCN Model

As shown in Equations (1) and (2), the GCN model contains a node feature matrix, adjacency matrix, degree matrix, and weight matrix. This information needs to be entered into the model and then propagated, aggregated, and updated. In the initial layer, H p ( 0 ) = X p , H d ( 0 ) = X d , and H m ( 0 ) = X m . The main concept of the proposed method is from the GCN, while the aggregating and updating processes are referenced from the BiGCN method [15], and we defined the tripartite graph convolutional layers in Equations (9)–(11):
H p ( l + 1 ) = σ ( D p 1 A p H d ( l ) W p ( l ) X p Ω 1 ) ,
H d ( l + 1 ) = σ ( D d 1 A d H m ( l ) W d ( l ) X d Ω 2 ) ,
H m ( l + 1 ) = σ ( D m 1 A m H d ( l ) W m ( l ) X m Ω 2 T ) ,
where W p , W d , and W m are the weight matrices of the patient node, disease node, and medicine node and H p ( l ) , H d ( l ) , and H m ( l ) are the feature matrixes at the l-th layer. | | is the concatenating operation, which can combine the information from both sides. Before | | is the aggregation of the features of the neighbor nodes, and after the symbol is the preservation of the features of the nodes themselves, which overcomes the drawbacks of simply adding the features from different sources The dimension of each symbol in the formula is explained in Equations (12)–(18):
X p R m a x 1 × m a x 1 , X d R m a x 2 × m a x 2 , X m R m a x 3 × m a x 3 ,
A p R m a x 1 × m a x 2 , A d R m a x 2 × m a x 3 , A m R m a x 3 × m a x 2 ,
D p R m a x 1 × m a x 1 , D d R m a x 2 × m a x 2 , D m R m a x 3 × m a x 3 ,
Ω 1 R m a x 1 × m a x 2 , Ω 2 R m a x 2 × m a x 3 ,
W p ( 0 ) R m a x 2 × m a x 1 , W d ( 0 ) R m a x 3 × m a x 2 , W m ( 0 ) R m a x 2 × m a x 3 ,
W p ( l ) R ( m a x 2 + m a x 3 ) × m a x 1 , W d ( l ) R ( m a x 2 + m a x 3 ) × m a x 2 , W m ( l ) R ( m a x 2 + m a x 3 ) × m a x 3 ,   for   l 1 ,
H p ( l ) R m a x 1 × ( m a x 1 + m a x 2 ) , H d ( l ) R m a x 2 × ( m a x 2 + m a x 3 ) , H m ( l ) R m a x 3 × ( m a x 2 + m a x 3 ) ,   for   l 1 ,
In this model, different nodes can aggregate their information from both themselves and their neighbor nodes, instead of only summing themselves for the unipartite graph in the GCN. The specific operation of the convolutional layer is shown in Figure 6. Since patient nodes and medicine nodes directly connect with disease nodes, the neighbor nodes of the two former types are disease nodes. Disease nodes are influenced more by medicine nodes, so disease nodes aggregate the medicine node features. The concatenating operation combines the features of different node types. After this, a suitable activation function should be selected, such as ReLU, passing the message to the next layer. Then, after the layer propagation, the learnable nodes will be updated. During this process, input layer information will pass into hidden layers and update these hidden layers, while output information will be obtained by the hidden layers. After outputting the updated node information, a suitable activation function needs to be chosen to implement the node classification problem. However, in this method, with tripartite-graph-structured data, the number of patients is much greater than the disease number and the disease number is smaller than the medicine number. The problem of medicine recommendation can be regarded as a hybrid classification problem which contains both single-label classification and multi-label classification, so the softmax activation function is not suitable and the sigmoid activation function is used to implement the step, as shown in Equation (19):
σ x = 1 1 + e x ,
where x is the input to the sigmoid function, e is the base of the natural logarithm, and σ x is the output of the sigmoid function, which has a value range of (0, 1).

4. Personalized Recommendation System

Unlike the task of predicting the ratings between users and movies or predicting the citations of papers, the purpose of this model is to give a list of medicines for patients based on their disease information, where the correctness and safety of medicines are critical. However, in the TriGCN model, the data do not contain information on medicine–medicine interactions, disease–medicine interactions, and food–medicine interactions. To provide a more comprehensive medicine recommendation service, the TriGCN output needs to be further filtered by supplementing the corresponding data. Therefore, a personalized medicine recommendation system is proposed in this section, where the data set to be supplemented is presented in Section 4.1 and the training process of the model and the operational flow of the whole system are described in Section 4.2.

4.1. Supplementary Data

The output in Section 3 contains most of the correct medicine information, but doctors may omit Adverse Drug Reaction (ADR) information, disease–medicine interactions, food–medicine interactions, and pregnancy and lactation condition information (shown in Table 2, Table 3, Table 4, Table 5 and Table 6). Thus, to make a useful and safe personalized recommendation system, supplementary records are also very important. According to the graph convolutional matrix completion model, the blank grids should be filled with numbers in a rating matrix [18]. The vacant grids of the matrix in Figure 4 have the two following possibilities: the medicine has no effect on treating the disease, or there is side effect between the medicine and the disease. If there is no record between a given medicine and a given disease in the supplementary data set, the empty grid turns into 1 in Figure 4. If there is an ADR record between a given medicine and a given disease in the supplementary data set, the empty element turns into −10 in Figure 4. Thus, the recommendation system directly divides the effective medicine and the ineffective medicine with the renewed rating matrix.
The supplementary data set is defined as S = { S 1 , S 2 , S 3 , S 4 , S 5 } , where S 1 to S 5 are the subsets which record the information from Table 2, Table 3, Table 4, Table 5 and Table 6. S 1 to S 3 are the node pair sets which are shown in Equations (20)–(22):
S 1 = ( s 1 1,1 , s 1 1,2 , , ( s 1 m , 1 , s 1 n , 2 ) } ,
S 2 = ( s 2 1,1 , s 2 1,2 , , ( s 2 p , 1 , s 2 q , 2 ) } ,
S 3 = ( s 3 1,1 , s 3 1,2 , , ( s 3 x , 1 , s 3 y , 2 ) } ,
where s 1 m , 1 , s 1 n , 2 , s 2 p , 1 , s 2 q , 2 , s 3 x , 1 , and s 3 y , 2 are the nodes in Table 2, Table 3 and Table 4.
S 4 and S 5 are the node sets, which are shown in Equations (23) and (24):
S 4 = { s 4 1 , s 4 r } ,
S 5 = { s 5 1 , s 5 s } ,
where s 4 r and s 5 s are the nodes in Table 5 and Table 6.
Combining the original data and supplementary data, the recommendation system will provide a ranking list in the end by using the calibrated label ranking method [38]. For the medicine label set M a = { m 0 ,   m 1 ,   m 2 , ,   m k } , m 0 is the calibrated label and a specific disease d j has the calibrated ranking, as shown in Equation (25):
m a 1 > > m a b > m 0 > m a b + 1 > > m a k ,
where m a 1 > m a b means label m a 1 is preferred to label m a b . Under this condition, m 0 can be valued as number 1 (meaning that medicine m k has no treatment effect on disease d j ), the labels before m 0 represent that the rating between the disease and the medicine is larger than 5.0, and the labels after m 0 represent a rating smaller than 0. Therefore, the labels after m 0 should be directly eliminated because the disease and the medicine have an interaction.

4.2. Model Training and System Architecture

In the TriGCN model, the input features are updated at each layer as the layers propagate, and then the updated results are output. Because of the multi-label classification task in the recommendation system, the sigmoid function is used as the activation function of Z and the loss function is the cross-entropy loss, which is suitable for multi-classification tasks.
The operation process of the recommendation system is as follows. All the graph-structured data from TriGCN are passed to the recommendation system, and after the training of the TriGCN model, the output data set is Z = { Z p ,   Z d ,   Z m } , which includes three subsets, Z p , Z d , and Z m , from different nodes. Then, the output results are compared with the supplementary data set in Section 4.1. The system compares the medicine information in S 1 , S 4 ,   a n d   S 5 with the medicine nodes in Z m . If medicine m k in Z m has a medicine interaction with the medicine in S 1 , medicine m k is deleted and it does not appear in the final recommendation list. If medicine m k has an interaction with the food in S 3 , food suggestions are given in the recommendation list. If m k is in the list of S 4   a n d   S 5 , this medicine is not included in the recommendation list. If the medicine m k in Z m and the disease d j in Z d have a medicine-to-disease interaction in S 2 , the medicine is removed from the candidate list. These operations ensure that patients will not receive medicine that produces side effects or is unsuitable for their personal condition.
After the whole process, the medicine recommendation list is generated. Users should input their disease, then the medicine name, ranking, and additional suggestions appear. They are three types of recommendation list based on the medicine number, top 3, top 5, and top 10. Users can choose any type of list, as long as the system can provide enough medicines for their disease. The medicine number in one record may be larger than 1, meaning the patient should take the medicines together, or that two or more medicines can be produced in one pill. If the ratings of two or more records are the same, the record will be ranked by the initial letter of the medicine name. The medicines in the recommendation list are presented in descending order, from the highest rating to the lowest, according to Equation (16). Examples of the three types of medicine recommendation list are shown below.
Table 7 shows a result list with three recommendations. The disease name appears at the beginning. The first medicine record has the highest score, which includes two types of medicine, so patients should take the two together. The food suggestion means that people cannot drink wine during the time that they take these medicines. The second food suggestion tells patients that they should not drink alcohol and grape juice while they take the medicine repaglinide.
Table 8 and Table 9 display recommendation lists with five and ten recommendations, and the contents are also very clear for patients to read. They should take the drug or drugs in the medicine name column based on their ranking, and follow the food advice in the food suggestion column. If the grid shows not specified, the patients have no eating restrictions.
The overall program framework is summarized in Algorithm 1. The processes of the three node sets P ,   D ,   a n d   M are very similar, with all of them passing the feature messages and concatenating their own features with the neighbor features with the layer propagation. When the layer reaches L, the loop will end. Then, the outputs convey a supplementary data set, and through the label ranking and deleting operation, the final recommendation list will be produced.
Algorithm 1 TriGCN and recommendation system
Input: Tripartite graph G = ( P ,   D ,   M ,   E ) , feature matrix X p , X d and X m , rating matrix R , supplementary data
     set S = { S 1 , S 2 , S 3 , S 4 , S 5 }
Output: Medicine recommendation list (Top 3, Top 5 or Top 10)
H p ( 0 ) X p , H d ( 0 ) X d , H m ( 0 ) X m
for l = 0, 1, …, L do
    H p l + 1 T r i G C N ( H d l X p ) ,
    H d ( l + 1 ) T r i G C N ( H m l X d ) ,
    H m ( l + 1 ) T r i G C N ( H d l X m )
end
Z p H p ( L ) , Z d H d ( L ) , Z m H m ( L )
compare  S with Z d and Z m
if  m k not equal to s 1 n , 2 , s 2 q , 2 , s 4 r or s 5 s , then
   return recommendation list
else delete m k in recommendation list
if  m k not equal to s 3 y , 2 , then
   return recommendation list
else return recommendation list and food suggestion
Figure 7 below displays the overall work of this paper. In general, our task is to recommend suitable medicines for patients with specific diseases and give corresponding dietary contraindications. Firstly, based on patients’ diseases and the medicines used, the three nodes of patients, diseases, and medicines and the edge information between them are organized, constructing the tripartite network. Then, the tripartite network is input into the GCN, and the information is propagated and updated through convolution operations to generate initial medicine recommendation results. Finally, the above results are compared with the supplementary data set, the medicines with interactions are deleted, and the final medicine recommendation list and additional dietary contraindications are output by calibrating the label.

5. Experiment

This section introduces the experimental content in the TriGCN model. The program and computer setting, compared methods, evaluation methods, and main factors of the results are deliberately described.

5.1. Experimental Setup

The experiment is processed with Python 3.6 on Jupyter notebook and Python 3.9 on Spyder and PyCharm, and the computer processor is an Intel® Core™ i7-10750H CPU @ 2.60 GHz with a 64-bit operation system. Partitioning the data set is an indispensable step in the process of model training. The original data set includes 71,349 patients, 47 diseases, and 345 medicines. In order to alleviate the problem of data set imbalance, the original data set is divided into 47 categories based on disease classification. The data in each category are then randomly divided into 10 pieces, each containing 10 percent of the sample in that category. Finally, in the 47 categories of data, one piece of data is extracted from each category and combined into a subset, and 10 subsets are obtained after no repeated extraction 10 times to form a new data set. Each of these subsets contains 10 percent of the original data set and covers 47 diseases. The sets for training and testing are separated. The maximum training iteration is 200. The activation function in the layer propagation is ReLU, and the classifier activation function is sigmoid.

5.2. Comparison and Discussion

Computational techniques like machine learning methods used to predict drug–target pairs show effective performances with graph-structured data [43]. Therefore, several machine learning methods were applied to compare the performance of the medicine recommendation system. Support vector machine (SVM) and random forest (RF) are the traditional machine learning methods. SVM is a classification algorithm, and it mainly contains a generalized linear classifier for binary classification and a non-linear classifier for multi-class classification [44]. To solve the medicine recommendation problem, the RBF kernel function (also known as the Gaussian kernel) was applied [45]. RF is a classifier that includes multiple decision trees, and each tree can vote for the final result [46]. Random forest uses a bagging method which is able to generate many training and testing subsets, and each subset can produce a single decision tree [47]. GNN and GCN are the basic graph neural network approaches for graph-structured data, and these two methods were deliberately introduced in Section 2. BGGCN is a model proposed in the research that used disease and medicine data to build a bipartite graph, which was then combined with a graph convolutional network to train the data. The method aggregates node information, propagates layers, and regenerates the layer information. TriGCN is one of the methods proposed in this article.
In the experiment, the data set is partitioned into different parts for learning, and each time, subsets are randomly selected from the new data set according to the proportion, so as to form the training and the test sets (The ratio of the training and test sets ranges from 1:1 to 9:1.). Table 10 records the accuracy of six different methods with the same data set. The traditional machine learning algorithms perform with a relatively low average accuracy, although the related parameters are optimized. For the random forest method, it has a great classification ability for unipartite structure data, but for the tripartite graph data, its advantage is not obvious. Also, the internal operation of random forest cannot be controlled by people, and we can only change the parameters to help it achieve its best performance. For the support vector machine method, it is normally used as a binary classifier. Though SVM has a kernel function to enlarge its application to encompass nonlinear mapping, when the category number is very large, the kernel function is not effective enough, and the performance of SVM is not satisfying.
The graph neural network performed great on the unipartite graph data with a small quantity of nodes [48]. For tripartite data with a great number of nodes, the GNN’s ability is not reflected, with an accuracy of only 73.41% when the training to test set ratio is 1:1. In the conventional GCN model, the author not only used a unipartite graph data set, but also used a bipartite data set, NELL, to evaluate the model, but NELL’s accuracy was the lowest among all the data sets. Thus, the result can be interpretated as the GCN model being suitable for unipartite data sets, but not fitting bipartite graph data so well. With the drugs.com (accessed on 9 March 2024) data set, the GCN’s performance is average, demonstrating 82.94% when the training to test set ratio is 1:1.
BGGCN is a bipartite graph convolutional model that uses drugs.com (accessed on 9 March 2024) data records. The bipartite network is a disease–medicine structure, with 47 diseases and 345 medicines. This method propagates layers and updates the node features separately, with other details being very similar to the GCN model. This method performed better than the models before, because it considered the suitability of the bipartite graph and did not confuse the disease nodes with medicine nodes. TriGCN outperformed all the other machine learning methods. To finish the recommendation task, a patient node is added. Patients connect with diseases and give ratings to the medicines, so the whole chain can connect all the information together, which is very helpful for providing personalized medical services for people. The accuracy of TriGCN is 88.17% (train: test = 9:1), which shows the best performance among all the methods in the research, with its average accuracy being greater than that of BGGCN. This result shows the great importance of patient–disease–medicine node information connections and the effectiveness of tripartite graphs compared to bipartite graphs and unipartite graphs.
In Figure 8, the influence of the training to test set ratio on the accuracy and the accuracy tendency is very obvious. With an increasing ratio of the training to test data set (from 1:1 to 9:1), the accuracies mostly increased, except with the random forest method. Although the model could obtain the best accuracy when the training to test set ratio was 9:1, this model may have the problem of over-fitting. Thus, many researchers are willing to choose a training to test set ratio in the range from 2:1 to 4:1, which can produce a relatively great performance and have a great fitness ability. The random forest method has the opposite tendency compared to other methods when considering the influence of the training to test set ratio. The reason behind this is that more training of the tree structure model will cause similarity between different diseases and medicines, which will confuse decision making.
Under a certain training to test ratio, the accuracy changing rule is different. When the ratios are 1:1, 2:1, and 3:1, GNN has the worst performance and TriGCN produces the best result. This may be related to the model mechanism, as GNN processes the nodes separately, so this will omit the whole graph structure and the relationship among patients, diseases, and medicines may not be included, while TriGCN considers this problem. When the training to test ratios are 4:1 and 9:1, random forest has the lowest accuracy. Because training samples are chosen arbitrarily in the RF method, some of the sample nodes may not be selected, even if the training set is quite large. For example, a particular disease is not trained in RF, so the output medicine will not be generated correctly in this way.

5.3. Result Analysis

The results can be analyzed in different dimensions, from the model adaption of data sets to the meaning of applications.
The two traditional machine learning methods have a great suitability for different data sets, but this may be limited with non-graph-structured data and unipartite graph data. Conventional GNNs and GCNs also face such problems. BGGCN is suitable for bipartite graph disease–medicine data, so it has a higher accuracy, but it does not consider patient node information and cannot complete recommendation tasks very well. The TriGCN model is used for the medicine recommendation system, and the details of the algorithm are suitable for drugs.com (accessed on 9 March 2024) data sets but may not perform well with other data sets like user–movie–label or doctor–clinical department–patient. Therefore, for specific data, researchers should change the details of an existing model, as the testing would be better in this way.
Some people may think most patients are willing to go to hospital and receive professional medical advice, however, the medicine recommendation system has application meanings. Considering this case, a pregnant patient suffered from Disease 1 before receiving a prescription from a doctor for Medicine 1 with a 6.7 rating, but she later found that Medicine 2 had a 9.0 rating and can also treat Disease 1. After the medication cycle of using Medicine 1, she wanted to change to taking Medicine 2, but she was not sure about the side effects of Medicine 2 and could not ensure whether it was a safe medicine for pregnant women. If she could use the medicine recommendation system to input her disease and physical condition, she would be able to decide which medicine was better for her. Therefore, the recommendation system can cover the shortage that some doctors do not know patient feedback regarding medicines.

6. Conclusions

Considering the potential demand for intelligent medical systems in the future, we constructed a tripartite graph to store patient–disease–medicine data, then passed the feature information in the graph through different layers, and finally used a label ranking method to produce a medicine recommendation system. We evaluated the system with accuracy and compared the BGGCN and TriGCN models with other popular machine learning methods. The result showed that our approach had a greater performance than other methods. However, there are also some perspectives that need to be improved. Firstly, the graph is not dynamic, and if there are new patients rating medicines and citing their diseases, these data should be added to the existing data set [49]. Secondly, although real electronic medical data were used in this model, a case study was not conducted in the research. If this can be achieved in the future, the recommendation system will have more possibility to provide convenient services to both doctors and patients. Thirdly, the supplementary data set can also collect patients’ allergy information, dosages of medicines, and so on to provide more accurate medical services. Since the data from drugs.com (accessed on 9 March 2024) do not include such information, other medical data sets should also be considered, like the ICU electrical medicine record (EMS) data set MIMIC III. The diversification of data can aggregate more special needs of users, which may improve the accuracy of the model.

Author Contributions

Conceptualization, H.Z. and F.G.; methodology, S.L. and F.G.; software, F.G.; validation, S.L.; formal analysis, H.Z., S.L. and F.G.; investigation, F.G.; resources, S.L.; data curation, H.Z. and F.G.; writing—original draft preparation, H.Z., S.L. and F.G.; writing—review and editing, H.Z., S.L. and F.G.; visualization, F.G.; supervision, H.Z.; project administration, H.Z., S.L. and F.G.; funding acquisition, H.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Natural Science Foundation of China (grant No. 71801090), the National Natural Science Foundation of China (grant No. 62106074), the Scientific Research Program of Hunan Provincial Department of Education of China (grant No. 23A0440), Hunan Provincial Natural Science Foundation of China (grant No. 2023JJ30220), and Hunan Provincial Natural Science Foundation of China (grant No. 2024J15222).

Data Availability Statement

The raw data supporting the conclusions of this article will be made available by the authors on request.

Conflicts of Interest

The authors declare that they have no conflicts of interest.

References

  1. Avanzo, M.; Porzio, M.; Lorenzon, L.; Milan, L.; Sghedoni, R.; Russo, G.; Massafra, R.; Fanizzi, A.; Barucci, A.; Ardu, V.; et al. Artificial Intelligence Applications in Medical Imaging: A Review of the Medical Physics Research in Italy. Phys. Med. 2021, 83, 221–241. [Google Scholar] [CrossRef]
  2. Mao, C.; Yao, L.; Luo, Y. MedGCN: Medication Recommendation and Lab Test Imputation via Graph Convolutional Networks. J. Biomed. Inform. 2022, 127, 104000. [Google Scholar] [CrossRef] [PubMed]
  3. Chen, J.; Li, K.; Rong, H.; Bilal, K.; Yang, N.; Li, K. A Disease Diagnosis and Treatment Recommendation System Based on Big Data Mining and Cloud Computing. Inf. Sci. 2018, 435, 124–149. [Google Scholar] [CrossRef]
  4. Su, Y.; Shi, Y.; Lee, W.; Cheng, L.; Guo, H. TAHDNet: Time-Aware Hierarchical Dependency Network for Medication Recommendation. J. Biomed. Inform. 2022, 129, 104069. [Google Scholar] [CrossRef] [PubMed]
  5. Sebaa, A.; Chikh, F.; Nouicer, A.; Tari, A. Medical Big Data Warehouse: Architecture and System Design, a Case Study: Improving Healthcare Resources Distribution. J. Med. Syst. 2018, 42, 59. [Google Scholar] [CrossRef]
  6. Ricci, F.; Rokach, L.; Shapira, B. Recommender Systems: Introduction and Challenges. In Recommender Systems Handbook; Ricci, F., Rokach, L., Shapira, B., Eds.; Springer: Boston, MA, USA, 2015; pp. 1–34. [Google Scholar]
  7. Gupta, A.; Matta, P.; Pant, B. Graph Neural Network: Current State of Art, Challenges and Applications. Mater. Today Proc. 2021, 46, 10927–10932. [Google Scholar] [CrossRef]
  8. Ullah, I.; Manzo, M.; Shah, M.; Madden, M.G. Graph Convolutional Networks: Analysis, Improvements and Results. Appl. Intell. 2022, 52, 9033–9044. [Google Scholar] [CrossRef]
  9. He, L.; Bai, L.; Yang, X.; Du, H.; Liang, J. High-Order Graph Attention Network. Inf. Sci. 2023, 630, 222–234. [Google Scholar] [CrossRef]
  10. Cui, Y.; Shao, C.; Luo, L.; Wang, L.; Gao, S.; Chen, L. Center Weighted Convolution and GraphSAGE Cooperative Network for Hyperspectral Image Classification. IEEE Trans. Geosci. Remote Sens. 2023, 61, 5508216. [Google Scholar] [CrossRef]
  11. Azhir, E.; Jafari Navimipour, N.; Hosseinzadeh, M.; Sharifi, A.; Darwesh, A. An Automatic Clustering Technique for Query Plan Recommendation. Inf. Sci. 2021, 545, 620–632. [Google Scholar] [CrossRef]
  12. Wang, X.; Han, L.; Li, J.; Yan, H. A Conditional Random Field Recommendation Method Based on Tripartite Graph. Expert. Syst. Appl. 2024, 238, 121804. [Google Scholar] [CrossRef]
  13. Jia, N.; Tian, X.; Zhang, Y.; Wang, F. Semi-Supervised Node Classification with Discriminable Squeeze Excitation Graph Convolutional Networks. IEEE Access 2020, 8, 148226–148236. [Google Scholar] [CrossRef]
  14. Ying, R.; He, R.; Chen, K.; Eksombatchai, P.; Hamilton, W.L.; Leskovec, J. Graph Convolutional Neural Networks for Web-Scale Recommender Systems. In Proceedings of the KDD ‘18: The 24th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, London, UK, 19–23 August 2018. [Google Scholar]
  15. Jin, R.; Xia, T.; Liu, X.; Murata, T.; Kim, K.-S. Predicting Emergency Medical Service Demand with Bipartite Graph Convolutional Networks. IEEE Access 2021, 9, 9903–9915. [Google Scholar] [CrossRef]
  16. Jiang, Y.; Lin, H.; Li, Y.; Rong, Y.; Cheng, H.; Huang, X. Exploiting Node-Feature Bipartite Graph in Graph Convolutional Networks. Inf. Sci. 2023, 628, 409–423. [Google Scholar] [CrossRef]
  17. Yang, Z.; Zhihan, Z.; Haiying, L.; Weiyi, Z.; Qian, D.; Mingjie, T. Research on Commodities Constraint Optimization Based on Graph Neural Network Prediction. IEEE Access 2023, 11, 90131–90142. [Google Scholar] [CrossRef]
  18. van den Berg, R.; Kipf, T.N.; Welling, M. Graph Convolutional Matrix Completion. arXiv 2017, arXiv:1706.02263. [Google Scholar]
  19. Fan, Y.; Chen, M.; Pan, X. GCRFLDA: Scoring lncRNA-Disease Associations Using Graph Convolution Matrix Completion with Conditional Random Field. Brief. Bioinform. 2022, 23, bbab361. [Google Scholar] [CrossRef]
  20. Resnick, P.; Varian, H.R. Recommender Systems. Commun. ACM 1997, 40, 56–58. [Google Scholar] [CrossRef]
  21. Davoodi, E.; Kianmehr, K.; Afsharchi, M. A Semantic Social Network-Based Expert Recommender System. Appl. Intell. 2013, 39, 1–13. [Google Scholar] [CrossRef]
  22. Mooney, R.J.; Roy, L. Content-Based Book Recommending Using Learning for Text Categorization. arXiv 1999, arXiv:9902011. [Google Scholar]
  23. Liu, L.; Lecue, F.; Mehandjiev, N. Semantic Content-Based Recommendation of Software Services Using Context. ACM Trans. Web 2013, 7, 1–10. [Google Scholar] [CrossRef]
  24. kumar, R.; Ganapathy, G.; Kang, J.-J. K-Means Clustering with Content Based Doctor Recommendation for Cancer. Int. J. Adv. Cult. Technol. 2020, 8, 167–176. [Google Scholar]
  25. Breese, J.S.; Heckerman, D.; Kadie, C. Empirical Analysis of Predictive Algorithms for Collaborative Filtering. arXiv 2013, arXiv:abs/1301.7363. [Google Scholar]
  26. Wang, H.; Shao, N.; Lian, D. Adversarial Binary Collaborative Filtering for Implicit Feedback. Proc. AAAI Conf. Artif. Intell. 2019, 33, 5248–5255. [Google Scholar] [CrossRef]
  27. Li, G.; Ou, W. Pairwise Probabilistic Matrix Factorization for Implicit Feedback Collaborative Filtering. Neurocomputing 2016, 204, 17–25. [Google Scholar] [CrossRef]
  28. Pan, W.; Xia, S.; Liu, Z.; Peng, X.; Ming, Z. Mixed Factorization for Collaborative Recommendation with Heterogeneous Explicit Feedbacks. Inf. Sci. 2016, 332, 84–93. [Google Scholar] [CrossRef]
  29. Pu, Q.; Hu, B. Intelligent Movie Recommendation System Based on Hybrid Recommendation Algorithms. In Proceedings of the 2023 International Conference on Ambient Intelligence, Knowledge Informatics and Industrial Electronics (AIKIIE), Ballari, India, 2–3 November 2023. [Google Scholar]
  30. Yu, F.; Zeng, A.; Gillard, S.; Medo, M. Network-Based Recommendation Algorithms: A Review. Phys. A Stat. Mech. Its Appl. 2016, 452, 192–208. [Google Scholar] [CrossRef]
  31. Fan, W.; Ma, Y.; Li, Q.; He, Y.; Zhao, E.; Tang, J.; Yin, D. Graph Neural Networks for Social Recommendation. arXiv 2019, arXiv:1902.07243. [Google Scholar]
  32. Zhao, Z.; Zhang, X.; Zhou, H.; Li, C.; Gong, M.; Wang, Y. HetNERec: Heterogeneous Network Embedding Based Recommendation. Knowl. Based Syst. 2020, 204, 106218. [Google Scholar] [CrossRef]
  33. Wu, S.; Sun, F.; Zhang, W.; Xie, X.; Cui, B. Graph Neural Networks in Recommender Systems: A Survey. arXiv 2022, arXiv:2011.02260. [Google Scholar] [CrossRef]
  34. Zhang, M.; Wu, S.; Gao, M.; Jiang, X.; Xu, K.; Wang, L. Personalized Graph Neural Networks with Attention Mechanism for Session-Aware Recommendation. IEEE Trans. Knowl. Data Eng. 2022, 34, 3946–3957. [Google Scholar] [CrossRef]
  35. Xu, Z.; Liu, H.; Li, J.; Zhang, Q.; Tang, Y. CKGAT: Collaborative Knowledge-Aware Graph Attention Network for Top-N Recommendation. Appl. Sci. 2022, 12, 1669. [Google Scholar] [CrossRef]
  36. Liu, H.; Zheng, C.; Li, D.; Zhang, Z.; Lin, K.; Shen, X.; Xiong, N.N.; Wang, J. Multi-Perspective Social Recommendation Method with Graph Representation Learning. Neurocomputing 2022, 468, 469–481. [Google Scholar] [CrossRef]
  37. Wang, H.; Zhao, M.; Xie, X.; Li, W.; Guo, M. Knowledge Graph Convolutional Networks for Recommender Systems. In Proceedings of the 2019 World Wide Web Conference (WWW ’19), San Francisco, CA, USA, 13–17 May 2019; pp. 3307–3313. [Google Scholar]
  38. Fürnkranz, J.; Hüllermeier, E.; Loza Mencía, E.; Brinker, K. Multilabel Classification via Calibrated Label Ranking. Mach. Learn. 2008, 73, 133–153. [Google Scholar] [CrossRef]
  39. Drugs.com—Prescription Drug Information. Available online: https://www.drugs.com/ (accessed on 9 March 2024).
  40. Drug Interaction Checker: Quickly Check Your Meds. Available online: https://www.drugs.com/drug_interactions.html (accessed on 9 March 2024).
  41. Pregnancy and Breastfeeding Warnings from Drugs.com. Available online: https://www.drugs.com/pregnancy/ (accessed on 9 March 2024).
  42. Drugs & Medications A to Z—Drugs.com. Available online: https://www.drugs.com/drug_information.html (accessed on 9 March 2024).
  43. Kaushik, A.C.; Mehmood, A.; Dai, X.; Wei, D.-Q. A Comparative Chemogenic Analysis for Predicting Drug-Target Pair via Machine Learning Approaches. Sci. Rep. 2020, 10, 6870. [Google Scholar] [CrossRef]
  44. Chang, C.-C.; Lin, C.-J. LIBSVM: A Library for Support Vector Machines. ACM Trans. Intell. Syst. Technol. 2011, 2, 1–27. [Google Scholar] [CrossRef]
  45. Osuna, E.; Freund, R.; Girosi, F. An Improved Training Algorithm for Support Vector Machines. In Neural Networks for Signal Processing VII, Proceedings of the 1997 IEEE Signal Processing Society Workshop, Amelia Island, FL, USA, 24–26 September 1997; IEEE: Amelia Island, FL, USA, 1997; pp. 276–285. [Google Scholar]
  46. Liaw, A.; Wiener, M. Classification and Regression by randomForest. R News 2002, 2, 18–22. [Google Scholar]
  47. Breiman, L. Random Forests. Mach. Learn. 2001, 45, 5–32. [Google Scholar] [CrossRef]
  48. Temoshok, L.; Diclemente, R.J.; Sweet, D.M.; Blois, M.S.; Sagebiel, R.W. Factors Related to Patient Delay in Seeking Medical Attention for Cutaneous Malignant Melanoma. Cancer 1984, 54, 3048–3053. [Google Scholar] [CrossRef]
  49. Xue, R.; Liao, J.; Shao, X.; Han, K.; Long, J.; Shao, L.; Ai, N.; Fan, X. Prediction of Adverse Drug Reactions by Combining Biomedical Tripartite Network and Graph Representation Model. Chem. Res. Toxicol. 2020, 33, 202–210. [Google Scholar] [CrossRef]
Figure 1. Diagram of bipartite graph.
Figure 1. Diagram of bipartite graph.
Systems 12 00398 g001
Figure 2. Diagram of tripartite graph.
Figure 2. Diagram of tripartite graph.
Systems 12 00398 g002
Figure 3. General diagram of recommendation system.
Figure 3. General diagram of recommendation system.
Systems 12 00398 g003
Figure 4. Example of rating matrix R .
Figure 4. Example of rating matrix R .
Systems 12 00398 g004
Figure 5. Tripartite graph in TriGCN method.
Figure 5. Tripartite graph in TriGCN method.
Systems 12 00398 g005
Figure 6. The structure of TriGCN model.
Figure 6. The structure of TriGCN model.
Systems 12 00398 g006
Figure 7. Overview of the TriGCN structure and recommendation system.
Figure 7. Overview of the TriGCN structure and recommendation system.
Systems 12 00398 g007
Figure 8. Accuracy comparison of different methods.
Figure 8. Accuracy comparison of different methods.
Systems 12 00398 g008
Table 1. Examples of patient–disease–medicine data.
Table 1. Examples of patient–disease–medicine data.
PATIENT_IDDISEASE_IDDISEASE_NAMEMEDICINE_IDMEDICINE_NAME
11ASTHMA38BENRALIZUMAB
311ASTHMA83DEXAMETHASONE
5092DIABETES_TYPE_252CANAGLIFLOZIN
39093ANXIETY15ALPRAZOLAM
10,9995ANGINA253RANOLAZINE
Table 2. Example of medicine interaction data.
Table 2. Example of medicine interaction data.
MEDICINE_NAMEINTERACTION_MEDICINE
ACETAMINOPHENAMOBARBITAL
AMPHETAMINECOBICISTAT
AMITRIPTYLINEABIRATERONE
HYDROXYCHLOROQUINEPROPOXYPHENE
IBUPROFENMIFEPRISTONE
Table 3. Example of medicine–disease interaction data.
Table 3. Example of medicine–disease interaction data.
MEDICINE_NAMEINTERACTION_DISEASE
ACETAMINOPHENALCOHOLISM
AMPHETAMINEGLAUCOMA
CEPHALEXINLIVER DISEASE
FENTANYLFEVER
HYDROXYCHLOROQUINEBONE MARROW SUPPRESSION
Table 4. Example of medicine–food interaction data.
Table 4. Example of medicine–food interaction data.
MEDICINE_NAMEINTERACTION_FOOD
ACETAMINOPHENALCOHOL
CIPROFLOXACINCAFFEINE
AMLODIPINEGRAPEFRUIT JUICE
DOXYCYCLINEMULTIVITAMINS WITH MINERALS
DULOZETINESNRI ANTIDEPRESSANTS
Table 5. Example of breastfeeding data.
Table 5. Example of breastfeeding data.
MEDICINE_AVOID_BREASTFEEDING_NAME
AMIODARONE
CHLORAMPHENICOL
ERGOTAMINE
PHENINDIONE
RETINOIDS
Table 6. Example of pregnancy data.
Table 6. Example of pregnancy data.
MEDICINE_AVOID_PREGNANCY_NAME
LEVOTHYROXINE
LIOTHYRONINE
AMOXICILLIN
AMLODIPINE
SIMVASTATIN
Table 7. Example results of the top 3 medicine recommendations.
Table 7. Example results of the top 3 medicine recommendations.
DISEASE_NAMEMEDICINE_NAMERANKFOOD_SUGGESTION
DIABETES_TYPE_2DAPAGLIFLOZIN AND METFORMIN1NO ALCOHOL
REPAGLINIDE2NO ALCOHOL AND NO GRAPE JUICE
LIRAGLUTIDE3NO ALCOHOL
Table 8. Example results of the top 5 medicine recommendations.
Table 8. Example results of the top 5 medicine recommendations.
DISEASE_NAMEMEDICINE_NAMERANKFOOD_SUGGESTION
HYPERTENSIONAMLODIPINE AND OLMESARTAN1NO MULTIVITAMINS
BISOPROLOL2NO ALCOHOL AND NO MULTIVITAMINS
ALISKIREN3NOT SPECIFIED
ATENOLOL4NO ALCOHOL AND NO MULTIVITAMINS
OLMESARTAN5NOT SPECIFIED
Table 9. Example results of the top 10 medicine recommendations.
Table 9. Example results of the top 10 medicine recommendations.
DISEASE_NAMEMEDICINE_NAMERANKFOOD_SUGGESTION
INSOMNIAESTAZOLAM1NO ALCOHOL
FLURAZEPAM2NOT SPECIFIED
TRIAZOLAM3NOT SPECIFIED
LORAZEPAM4NOT SPECIFIED
ZOLPIDEM5NOT SPECIFIED
AMITRIPTYLINE6NO ALCOHOL
TEMAZEPAM7NO ALCOHOL
DOXYLAMINE8NOT SPECIFIED
ACETAMINOPHEN AND DIPHENHYDRAMINE9NO ALCOHOL
DOXEPIN10NO ALCOHOL
Table 10. Accuracy comparison of different methods.
Table 10. Accuracy comparison of different methods.
MethodAccuracy
Training:Test
1:12:13:14:19:1
SVM81.9582.8884.3285.6787.30
Random Forest82.4982.0381.9180.7678.11
GNN73.4177.6581.8584.3787.58
GCN82.9480.1482.7782.6785.57
BGGCN83.8983.9786.0687.9787.40
TriGCN84.7884.8786.8187.5088.17
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Zhou, H.; Liao, S.; Guo, F. TriGCN: Graph Convolution Network Based on Tripartite Graph for Personalized Medicine Recommendation System. Systems 2024, 12, 398. https://doi.org/10.3390/systems12100398

AMA Style

Zhou H, Liao S, Guo F. TriGCN: Graph Convolution Network Based on Tripartite Graph for Personalized Medicine Recommendation System. Systems. 2024; 12(10):398. https://doi.org/10.3390/systems12100398

Chicago/Turabian Style

Zhou, Huan, Sisi Liao, and Fanying Guo. 2024. "TriGCN: Graph Convolution Network Based on Tripartite Graph for Personalized Medicine Recommendation System" Systems 12, no. 10: 398. https://doi.org/10.3390/systems12100398

APA Style

Zhou, H., Liao, S., & Guo, F. (2024). TriGCN: Graph Convolution Network Based on Tripartite Graph for Personalized Medicine Recommendation System. Systems, 12(10), 398. https://doi.org/10.3390/systems12100398

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop