{'fraction_non_alphanumeric': 0.035255065053989086, 'fraction_numerical': 0.009042695257354344, 'mean_word_length': 4.833518807033163, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 1, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 5, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
MKA: A Scalable Medical Knowledge-Assisted Mechanism for Generative Models on Medical Conversation Tasks

Using natural language processing (NLP) technologies to develop medical chatbots makes the diagnosis of the patient more convenient and efficient, which is a typical application in healthcare AI. Because of its importance, lots of researches have come out. Recently, the neural generative models have shown their impressive ability as the core of chatbot, while it cannot scale well when directly applied to medical conversation due to the lack of medical-specific knowledge. To address the limitation, a scalable medical knowledge-assisted mechanism (MKA) is proposed in this paper. The mechanism is aimed at assisting general neural generative models to achieve better performance on the medical conversation task. The medical-specific knowledge graph is designed within the mechanism, which contains 6 types of medical-related information, including department, drug, check, symptom, disease, and food. Besides, the specific token concatenation policy is defined to effectively inject medical information into the input data. Evaluation of our method is carried out on two typical medical datasets, MedDG and MedDialog-CN. The evaluation results demonstrate that models combined with our mechanism outperform original methods in multiple automatic evaluation metrics. Besides, MKA-BERT-GPT achieves state-of-the-art performance.


Introduction
Difficulty in seeing a doctor, long queuing time, and inconvenience of making appointments have long been hurdles facing patients when they try to access primary care services. To solve these challenges, many advanced artificial intelligence (AI) technologies [1][2][3] have been combined with healthcare to boost the availability of medical resources, such as applying pattern recognition methods on medical images [4,5] and leveraging natural language processing (NLP) technologies to design medical chatbots [6,7]. The medical chatbot is mainly aimed to offer the medical assistants including disease identification, self-reports based medical suggestions for drugs, foods and checks, and medical front desk service guiding the patient to suitable healthcare service department, etc [8,9]. It has a significant potential to simplify the diagnostic process and relieve the cost of collecting information from patients. Besides, the preliminary diagnosis results generated by the model may assist doctors to make a diagnosis more efficiently.
As the core of the medical chatbot, different methods have been investigated recently. In general, typical methods can be divided into two types [10], including information retrieval-based methods and neural generative methods. As for the first type, the methods usually match the response from the user-built question and answer (Q&A) pool based on the dialogue context, which means it can only provide the response that occurred in the existing pool. In another word, the poor-quality pool will influence a lot on the response. The second type of methods usually takes the dialogue context history as input and generates the suitable response word by word. Compared to retrieval-based methods, neural generative methods are more intelligent and flexible, which is what we focus on in this paper.
Currently, different neural generative models are applied to medical domain, including LSTM-based models, Transformer, GPT, and BERT-GPT. However, none of them performs well on the medical domain, which is reasonable. Here is the fact that the doctor makes diagnosis not only based on their experiences but also on the medical knowledge learned from professional books, especially when they meet rarely seen symptoms or diseases. The training procedure of the models only imitates the learning procedure of the experiences but leaves out the learning procedure from books. However, few works are about how to effectively integrate the medical knowledge with the neural generative models. Besides, patients are usually asked to fill in the patient self-report before the conversation starts with the doctor in real-world scenario. There are two common questions in the patient self-report, including "which department do you want to go?" and "what kind of the disease or symptom do you have?" Previous medical neural generative models will either leave out the information or roughly concatenate the original context in the patient self-report with the conversation history. It may cause either information loss or redundancy problem for the methods.
To address the limitations, the objective of the paper is to propose a medical knowledge-assisted mechanism (MKA) to assist common neural generative models to achieve better performance for the medical conversation task. MKA is an effective and lightweight method to integrate the medical knowledge with neural generative models. The mechanism first introduces a medical knowledge generation module to generate the related medical knowledge, which generates the medical knowledge subgraph (MKG sub ) generated from the patients' self-report. The designed knowledge graphs contain related medical knowledge for each patient, including 6 types of entities (i.e., ϵ department , ϵ disease , ϵ symptom , ϵ food , ϵ check , and ϵ drug ) and 6 types of relations (i.e., γ has−disease , γ has−symptom , γ need−drug , γ need−check , γ need−food , and γ no−food ). Then, the medical knowledge information is fed into the token processor together with the dialogue contexts. Within the token processor, all the tokens will be reorganized based on the specific token concatenation policy. Finally, the processed data will be taken by selected generative models for training. In summary, we make the following contributions: (1) The paper proposes an effective and lightweight mechanism to integrate the medical knowledge into different neural generative models, MKA. Besides, the specific medical knowledge graph is designed to store the medical knowledge. To the best of our knowledge, MKA is the first scalable work that can integrate the medical knowledge into all kinds of neural generative models, especially for large-scale pretrained model, such as BERT-GPT (2) To verify our method, we implement two models based on our mechanism, MKA-Transformer and MKA-BERT-GPT. The evaluation is carried out on 2 typical medical conversation benchmarks: Med-Dialog [11] and MedDG [12].   show that the model combined with our method outperforms previous methods in multiple automatic evaluation metrics. Besides, the MKA-BERT-GPT achieves the best performance on the task The paper will be separated into 5 parts. Section 2 will present the existing works related to medical dialogue generation tasks. Section 3 will explain the details of the proposed mechanism. Section 4 shows the experiment results and the analysis of the results. Section 5 concludes the advantages and disadvantages of our work and its potential future works.

Related Works
Recent research on medical chatbots focuses on natural language understanding which leverages different advanced natural language processing (NLP) techniques. In general, the medical dialogue methods can be divided into information retrieval-based methods and neural generative methods according to the types of the applied NLP techniques. The retrieval-based methods can be further classified into different subtypes, such as the entity inference [12,13], relation prediction [14,15], symptom matching and extraction [16,17], and slot filling [18][19][20]. However, the retrieval-based methods are not so intelligent and flexible that they required a well-defined user-built question and answer (Q&A) pool, which can offer different potential response to different kinds of answer. In another word, the retrieval-based methods only predict the link between question and answers in the pool, instead of learning how to respond to different questions like the doctors. Therefore, the neural generative methods have drawn more and more attention.
Nowadays, there is merely research on developing neural generative methods on medical domain. As an emerging research direction, most of the existing researches focus on testing different neural generative models on the benchmark domain-specific datasets. To figure out well the generative tasks in NLP, Hochreiter and Schmidhuber first proposed long short-term memory (LSTM) [21], which inspires multiple LSTM-based models [22][23][24]. Later, with the proposal of Transformer [25], researchers start to leverage Transformer units into novel dialogue generation models [26,27]. Then, a more accurate and faster mechanism GPT is proposed [28]; different largescale dialogue generative models are developed based on it [29,30]. Meanwhile, some of the works also attempt to combine the different units to develop novel methods, where the state-of-the-art model is BERT-GPT model [31,32]. However, the existing generative models for medical domain only learn the experience knowledge from the training procedure; few works effectively integrate the medical knowledge with the generative models.

Methodology
In this section, we discuss the methodology of MKA, which is a scalable, effective, and lightweight mechanism to integrate the medical knowledge into neural generative models, especially for large-scale pretrained model, such as BERT-GPT.
As shown in Figure 1, our MKA consists of 3 parts, including the medical knowledge generation module, token processor, and neural generative model. The medical knowledge generation module is constituted by medical knowledge subgraph generator, topic detector, and medical knowledge extractor. It is aimed at generating related medical knowledge information tuple. The token processor is proposed to concatenate the medical knowledge information tuple with the dialogue context for each conversation turn. Besides, the neural generative model is leveraged for training and prediction. The details of each module will be illustrated in Sections 3.1, 3.2, and 3.3.

Medical Knowledge Generation
Module. The medical knowledge generation module is proposed to generate the related medical knowledge information when the doctor handles a case. Within the module, there exist three parts, including medical knowledge subgraph generator, topic detector, and medical knowledge extractor. The medical knowledge subgraph generator first takes the patient selfreport which contains the department and disease/symptom information described in Section 1 as input and generates the medical knowledge subgraph (MKG sub ) based on a global medical knowledge base (MKG base ). MKG base can be treated as a container which contains all the required medical professional books, while MKG sub stores the potential useful medical knowledge related to the specific case. Different questions will be asked in different turns for the multiturn conversation task. To reduce the redundant information, the topic detector inputs the patient question at i th turn and infers what question topic it related to. With the question topic and MKG sub , the medical knowledge Relations between ϵ department entity and ϵ disease entity γ has−symptom Relations between ϵ disease entity and ϵ symptom entity γ need−drug Relations between ϵ disease /ϵ symptom entity and ϵ drug entity γ need−check Relations between ϵ disease /ϵ symptom entity and ϵ check entity γ need−food Relations between ϵ disease /ϵ symptom entity and recommended ϵ food entity γ no−food Relations between ϵ disease /ϵ symptom entity and not recommended ϵ food entity 3 Computational and Mathematical Methods in Medicine Algorithm 1: the generation of the medical knowledge subgraph Input: Patient self-report PSR. (PSR ⟶ Department represents the blank for the patient's ideal clinical department, and PSR ⟶ Disease/Symptom represents the blank for the description of the patient's disease or symptom.) Output: Extract the Info 2 from PSR ⟶ Department/Symptom 8: ifðkp in PQ i Þ | ðdistðPQ i , kpÞ > δÞthen 5: ifkps = KPS di then 6: Append the "disease" topic in QT i 7: else ifkps = KPS s then 8: Append the "symptom" topic in QT i 9: else ifkps = KPS dr then 10: Append the "drug" topic in QT i 11: else ifkps = KPS c then 12: Append the "check" topic in QT i 13: else ifkps = KPS rf then 14: Append the "recommended food" topic in QT i 15: else ifkps = KPS nrf then 16: Append the "not recommended food" topic in QT i 17:  Computational and Mathematical Methods in Medicine extractor will extract the related medical knowledge information tuple. The details of each part will be shown as follows.
3.1.1. Medical Knowledge Subgraph Generator. Within the medical knowledge subgraph generator, the medical knowledge subbase can be generated from the medical knowledge base based on the medical-related information extracted from patient self-report. In this paper, the knowledge base is represented the knowledge graph (KG), which is constituted by entities and relations. Besides, it is formally defined as below: where E represents the set of entities (e.g., persons), R represents the considered types of relations between entities (e.g., friendship between persons), and G is a set of 3-element fact tuples where each tuple represents a factual relation between two entities. Therefore, two kinds of the medical knowledge graph (MKG) are proposed, including the medical knowledge base (MKG base ) generated based on [33] by removing the redundant information and medical knowledge subgraph (MKG sub ). Both MKG base and MKG sub contain 6 types of entities and 6 types of relations as shown in Tables 1 and 2. The entity and relation types are decided based on the working experiences of the author for the common medical conversation topics. Algorithm 3: the extraction of medical knowledge information tuple Input: Medical knowledge base MKG sub = ðE s , R s , G s Þ: Question topic tuple in i th conversation turn QT i Corresponding ϵ department and ϵ disease /ϵ symptom entities in patient self-report ϵ * 1 , ϵ * 2 ⟶ Table 3 Output: Medical knowledge information tuple in i th conversation turn MKI i Main: Append all ϵ disease entities except ϵ * 2 in MKG sub to MKI i 5: else ifQT i = " symptom " then 6: Append all ϵ symptom entities except ϵ * 2 in MKG sub to MKI i 7: else ifQT i = " drug " then 8: Append all ϵ drug entities in MKG sub to MKI i 9: else ifQT i = " check " then 10: Append all ϵ check entities in MKG sub to MKI i 11: else ifQT i = " recommended food " then 12: Append all ϵ food entities connected with γ need−food relation in MKG sub to MKI i 13: else if QT i = " not recommended food " then 14: Append all ϵ food entities connected with γ no−food relation in MKG sub to MKI i 15: end if 16: end for Algorithm 3: Pseudocode of the medical knowledge extractor.
As for MKG sub , it is specific for each case, which is generated based on Algorithm 1. Within the algorithm, two subgraphs, G 1 and G 2 , are extracted from MKG base to constitute MKG sub . G 1 is the graph with the ϵ department type entity ϵ * 1 as the root. Besides, it only contains γ has−disease and γ has−symptom two types of relations. G 2 is the graph with the ϵ disease / ϵ symptom type entity ϵ * 2 as the root. Besides, it may contain all kinds of types of relations except γ has−disease . For more details, see Algorithm 1.
Meanwhile, it is worth noting that we propose a way to calculate the distance for entity matching as shown in where α and β are two hyperparameters. The distance takes advantage of both the Hamming distance [34] and Levenshtein distance [35]. It can not only care about the meaning of the tokens like the Hamming distance but also the position of the tokens like Levenshtein distance.

Topic Detector.
The medical knowledge is related to what medical topic the patient asks. As a preparation for medical knowledge extractor, the question topic should be determined first. The content in the topic set matches with the relation set (i.e., disease, symptom, drug, check, positive food, and negative food). Besides, the six key phrase sets (KPS) are built corresponding to six topics based on the users' experiences. It consists of some specific phrases related to the question topic. Based on it, the question detector is proposed as shown in Algorithm 2.

Medical Knowledge
Extractor. The medical knowledge extractor is aimed at extracting the related medical knowledge information tuples based on question topic and medical knowledge subgraph from the previous two parts. It extracts all entities with the specific entity type and connected with specific relation type in the subgraph. Besides, ϵ * 1 , ϵ * 2 extracted from patient self-report will be directly appended into the tuple, since they are also useful medical knowledge extracted from the source. The details are shown in Algorithm 3.

Token
Processor. Compared to general neural generative models just taking dialogue contexts as inputs, our model generates the related medical knowledge information tuple which will be also fed into the models. To achieve this goal, a token processor is proposed to reorganize the tokens based on the policy shown in where X represents the sequence for neural generative models and PSR represents patient self-report. MKI i , DR i−1 , and PQ i  6 Computational and Mathematical Methods in Medicine represent the medical knowledge information tuple in i th conversation turn, the doctor response in i − 1 th conversation turn, and the patient question in i th conversation turn separately. Besides, ϵ * 1 and ϵ * 2 are corresponding ϵ department and ϵ disease /ϵ symptom entities generated in Algorithm 1.

Neural Generative Model.
In this paper, the neural generative model takes a source sequence X = ðx 1 , x 2 , x 3 , ⋯, x T Þ consisting of T tokens generated from Section 3.2 and generates the response Y = ðy 1 , y 2 , y 3 , ⋯, y T ′ Þ of length T ′ tokens. In general, the model maximizes the generation probability of Y conditioned on X : pðy 1 , y 2 , y 3 , ⋯, y T ′ | x 1 , x 2 , x 3 , ⋯, x T Þ [8], and the objective function of the sequence-tosequence generative models is defined as below. Besides, as for the multiturn conversation tasks, the doctor response at i th turn will be fed into the model as the existing dialogue context for next turn.

Experiment Settings.
Our approach is implemented in Python 3.7 and PyTorch 1.4.0. We implement two MKA-Diagen models, including MKA-Transformer and MKA- Transformer 可能是近期没有充分休息, 免疫力下降。建议早点休息。 It may be that you do not have enough rest and cause the decrease on the immunity. It is recommended to sleep early.

BERT-GPT
不要趴着睡觉, 影响伤口恢复。建议多休息。 Do not sleep on your stomach, which will affect the recovery of the wound. It is recommended to rest more.

MKA-Transformer
可以吃营养的健康食品, 比如西兰花, 鸡蛋等, 同时注重卫生清洁, 每晚可以热敷缓解疼痛。 You can eat nutritious and healthy foods, such as broccoli and eggs; meanwhile, pay attention to your hygiene and cleanliness. You can heat the area around your wound every night to relieve yourself.

MKA-BERT-GPT
不可以吃冷饮, 少吃辛辣刺激的食物, 影响伤口恢复。建议多吃蔬果类, 比如苹果。不要久坐不动, 少穿紧身裤。 Do not drink cold drinks, and eat less spicy food, which will affect the recovery of the wound. It is recommended to eat more fruits and vegetables, such as apples. Do not sit for a long time and do not wear tight pants.
Patient question 2 请问我这是附睾炎吗?或是什么?恳请大夫您为我指点!感谢。 Is this epididymitis? Or what? I hope you, the doctor, to give me some advice! Thanks! Doctor response 2 Ground truth 局部气血不畅。 The flow of the blood and qi in the local area is not that smooth.

Transformer
只是术后伤口疼痛。 It is just that the wound is painful after the operation.

BERT-GPT
常见血流不通问题。 It is the common problem about the blood.

MKA-Transformer
可能是运动过量导致提睾肌过度收缩, 导致疼痛。 Excessive exercise may cause excessive contraction of the cremaster muscle. It will make you feel painful.

MKA-BERT-GPT
血流不通, 建议过几天复查伤口恢复情况, 减轻心理负担。 The blood flow is not smooth. It is recommended to review the situation of the recovery of the wound after a few days. Besides, you need to reduce the psychological burden.

Computational and Mathematical Methods in Medicine
BERT-GPT. The neural generative models within them are trained with the default parameters in [11,25]. The hyperparameters α and β in Equation (2) are set as 0.1 and -1, and the hyperparameter δ is set as 0.7. We perform all the experiments on the Matpool server with 11 GB NVIDIA GeForce RTX 2080 Ti. Our experiments were performed on Chinese MedDialog dataset [11] and MedDG [12] with the ratio 0.8 : 0.1 : 0.1 of training set : validation set : test set.
The MKA-Transformer and MKA-BERT-GPT were compared with the baseline models (i.e., Transformer and BERT-GPT) and another typical nonsequence to sequence GPT-based model [11]. We followed the automatic evaluation metrics on the datasets to evaluate the performance of our method, including perplexity, NIST-2,4 [36], BLEU-2,4 [37], METEOR [38], Entropy-4 [39], and Dist-1,2 [40]. The perplexity shows the language quality of the generated responses. NIST-n, BLEU-n, and METEOR measure the similarity between the generated responses and ground truth and Entropy-n and Dist-n measure the lexical diversity of generated responses based on n-gram matching. The model with better performance will have the lower value of perplexity, the higher value of the other metrics.

Experiment
Results and Analysis. In this part, the experiment results are shown together with the in-depth analysis of the results. Tables 3 and 4 show the performance on the MedDialog-CN test set and MedDG test set separately. From the tables, we make the following observations.

Ablation Analysis.
Focusing on the comparison between MKA-Transformer and Transformer and the performance comparison between MKA-BERT-GPT and BERT-GPT, it is easy to extract Table 5. It is easy to observe that our mechanism improves the performance from all aspects on both two datasets. It means that our method is

Transformer
注意饮食, 多吃蔬菜水果。 Pay attention to your diet and eat more fruits and vegetables.

BERT-GPT
建议您多吃蔬菜水果。 It is recommended that you eat more fruits and vegetables.

MKA-Transformer
考虑是肠胃功能性紊乱, 建议您多吃水果蔬菜。 It is considered as a gastrointestinal dysfunction. It is recommended that you eat more fruits and vegetables, like apples.

MKA-BERT-GPT
考虑是肠胃功能问题, 建议您多吃水果蔬菜, 比如梨, 香蕉。若还是这样的话建议您做个肠镜。 It is considered as the gastrointestinal functional problem. It is recommended that you eat more fruits and vegetables, such as pears and bananas. If this is still the case, it is recommended that you have a colonoscopy. 8 Computational and Mathematical Methods in Medicine effective and scalable to be applied to different neural generative models and different datasets.

Performance Comparison Analysis.
Compared to the current state-of-the-art models, our MKA-BERT-GPT outperforms all the other methods. It achieves the lowest perplexity. It is because its baseline generative model, BERT-GPT, is pretrained on a large collection of corpora before training on the medical specific datasets. The pertaining procedure helps it to better understand the linguistic structure among words; meanwhile, the medical knowledge-assisted mechanism enables the model more learnable for medical conversation task. Meanwhile, as for the machine translation metrics (i.e., NIST-4, BLEU-2, BLEU-4, and METEOR), the performance of the MKA-BERT-GPT also is the best. It even overturns the performance comparison between BERT-GPT and Transformer. It indicates that our method highly improves the overlap between the generated response and the ground truth. Besides, although the MKA-BERT-GPT improves the value on diversity metrics (i.e., Entropy and Dist), the improvement is still minor. It indicates that our model cannot make a big breakthrough on the capability in generating diverse responses. Tables 6 and 7 represent the generated response of the models on two examples in the MedDialog-CN and MedDG test set. Since the dataset contains some Chinese medical dialogues, the translation is provided as well as the raw contents. The response generated by MKA-BERT-GPT is clinically informative and accurate. It prescribes "gastrointestinal functional problem." Meanwhile, it can offer the detailed suggestions with rich medical knowledge information such as what kind of vegetables and fruits is recommended. Besides, the language quality of all the models is great, since all the responses are readable. Besides, there are still some spaces for the further improvement. For example, the responses generated from the models are not that overlap with the ground truth. It is because the ground truth is a Chinese medical response, which contains the concept of "qi," which is not that easy for a general model to understand and provide the response. However, the responses of MKA-BERT-GPT are still relatively reasonable and also mention the conclusion of "the blood flow is not smooth."

Conclusions
In this paper, we propose a scalable medical knowledgeassisted mechanism (MKA) to assist general neural generative models, especially the large-scale pretrained model, such as BERT-GPT, to achieve better performance on the medical conversation task. The mechanism introduces a medical specific knowledge graph, which contains 6 types of medicalrelated information, including department, drug, check, symptom, disease, and food. Besides, it also leverages the specific designed token concatenation policy and neural generative models. The promising experiment results have proven our mechanism is effective and scalable to different generative models on different medical conversation data-sets. Besides, it also shows that MKA-BERT-GPT has achieved the state-of-the-art performance based on multiple automatic evaluation metrics compared to other existing models. In the future, we plan to apply the graph neural networks to extract and predict the related medical knowledge based on the medical knowledge base. Besides, it is also worthwhile to carry out the research on leveraging the advantages of both information retrieve methods and the neural generative methods to build a powerful dialogue generation system.

Data Availability
The data used to support the findings of this study are included in the article.