Disease prediction method, device, equipment and storage medium

By acquiring patients' current symptoms in the medical pre-diagnosis system and combining similarity calculation and text processing models, the disease probability distribution of historical symptoms is determined, which solves the problem of low prediction accuracy of the perceptron algorithm and achieves higher disease prediction accuracy.

CN116052867BActive Publication Date: 2026-02-06TENCENT TECHNOLOGY (SHENZHEN) CO LTD +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111266005.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-10-28
Publication Date
2026-02-06
Estimated Expiration
2041-10-28

AI Technical Summary

Technical Problem

Existing medical pre-diagnosis systems, which rely on perceptron algorithms for disease prediction, have low accuracy.

Method used

By acquiring the patient's current symptoms, identifying similar historical symptoms, and combining a series of disease probability distributions with multiple similarity calculation methods and text processing models, the patient's disease can be predicted.

Benefits of technology

It improves the accuracy of disease prediction, similar to how doctors make diagnoses by combining medical records during the actual diagnosis process, significantly improving the accuracy of prediction results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116052867B_ABST
    Figure CN116052867B_ABST
Patent Text Reader

Abstract

The application provides a disease prediction method, device, equipment and storage medium, and the method comprises the steps that a current symptom of a patient is acquired; at least one first historical symptom is determined, the first historical symptom being a historical symptom similar to the current symptom; a first disease probability distribution corresponding to the current symptom is determined according to the at least one first historical symptom; and a disease obtained by the patient is predicted according to the first disease probability distribution, so that the accuracy of disease prediction can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Embodiments of the present application relate to the field of artificial intelligence (AI) technology, and in particular to a disease prediction method and device, equipment and a storage medium. BACKGROUND

[0002] A medical pre-diagnosis system aims to realize an AI doctor that can automatically ask questions and provide common medical advice and related department recommendations based on pre-diagnosis results. The pre-diagnosis system can first simulate a doctor's inquiry to obtain the patient's symptoms, and then predict the diseases that the patient may have according to the patient's symptoms and in combination with existing medical knowledge.

[0003] Currently, the medical pre-diagnosis system is based on a perception machine algorithm to predict diseases, and the perception machine algorithm learns the relationship between diseases and symptoms through a training set, that is, a model is trained, and in the disease prediction stage, the current symptoms of the patient are input into the model to predict the diseases of the patient. This approach has the problem of low accuracy of disease prediction. SUMMARY

[0004] The present application provides a disease prediction method, device, equipment and storage medium, thereby improving the accuracy of disease prediction.

[0005] In a first aspect, the present application provides a disease prediction method, comprising: obtaining the current symptoms of a patient; determining at least one first historical symptom, the first historical symptom being a historical symptom similar to the current symptom; determining a first disease probability distribution corresponding to the current symptom according to the at least one first historical symptom; and predicting the disease of the patient according to the first disease probability distribution.

[0006] In a second aspect, the present application provides a disease prediction device, comprising: an obtaining module, a first determining module, a second determining module and a prediction module, wherein the obtaining module is configured to obtain the current symptoms of a patient; the first determining module is configured to determine at least one first historical symptom, the first historical symptom being a historical symptom similar to the current symptom; the second determining module is configured to determine a first disease probability distribution corresponding to the current symptom according to the at least one first historical symptom; and the prediction module is configured to predict the disease of the patient according to the first disease probability distribution.

[0007] In a third aspect, an electronic device is provided, comprising: a processor and a memory, the memory being configured to store a computer program, and the processor being configured to invoke and run the computer program stored in the memory to execute the method in the first aspect or any of its implementation manners.

[0008] In a fourth aspect, a computer-readable storage medium is provided for storing a computer program, which causes a computer to execute the method according to the first aspect or any implementation thereof.

[0009] In a fifth aspect, a computer program product is provided, comprising computer program instructions, which cause a computer to execute the method according to the first aspect or any implementation thereof.

[0010] In a sixth aspect, a computer program is provided, which causes a computer to execute the method according to the first aspect or any implementation thereof.

[0011] By the technical solution of the present application, the server can combine the historical symptoms similar to the current symptoms of the patient to predict the disease of the patient, and the prior art does not consider the similar historical symptoms. Compared with the prior art, the technical solution provided by the present application is similar to the actual diagnosis process of a doctor, and can improve the accuracy of disease prediction. BRIEF DESCRIPTION OF DRAWINGS

[0012] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed in the embodiment description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.

[0013] Figure 1 An application scenario graph is provided for the embodiments of the present application.

[0014] Figure 2 A flowchart of a disease prediction method is provided for the embodiments of the present application.

[0015] Figure 3 A flowchart of another disease prediction method is provided for the embodiments of the present application.

[0016] Figure 4 A fusion processing schematic diagram is provided for the embodiments of the present application.

[0017] Figure 5A And Figure 5B An interface diagram of a medical pre-diagnosis system is provided for the embodiments of the present application.

[0018] Figure 6 A schematic diagram of a disease prediction device 600 is provided for the embodiments of the present application.

[0019] Figure 7 A schematic block diagram of an electronic device 700 is provided for the embodiments of the present application. DETAILED DESCRIPTION

[0020] With reference to the drawings of the embodiments of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by a person of ordinary skill in the art without creative effort belong to the scope of the present application.

[0021] It should be noted that the terms "first", "second" and the like in the description and claims of the present application and the above drawings are used to distinguish similar objects, and do not necessarily indicate a specific order or sequence. It should be understood that the data thus used can be interchanged under appropriate circumstances, so that the embodiments of the application described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, for example, a process, method, system, product or server including a series of steps or units does not necessarily have to include those steps or units clearly listed, but can include other steps or units not clearly listed or inherent to the process, method, product or device.

[0022] Before introducing the technical solutions of the present application, the related knowledge involved in the technical solutions of the present application will be described first:

[0023] Multi-Layer Perceptron (MLP) algorithm: a feedforward artificial neural network model that maps multiple input data sets to a distribution of labels, each layer consisting of a linear layer and an activation layer, commonly used for classification problems.

[0024] one-hot encoding: a way to encode structured information into a vector, for example, assuming that the symptoms to be encoded are

headache, abdominal pain, tinnitus, diarrhea, cough

[0025] Bidirectional Encoder Representations from Transformers (BERT) model: a model pre-trained on large-scale natural language text for extracting text features. The input is a sentence, and the output is a text feature vector of the sentence, which can be used for downstream tasks such as text classification, sequence labeling, etc.

[0026] The inventive concept of the technical solutions of the present application will be described below:

[0027] As described above, the current medical pre-diagnosis system is based on a perception machine algorithm to predict diseases, and the perception machine algorithm learns the relationship between diseases and symptoms through a training set, that is, a model is trained, and in the disease prediction stage, the current symptoms of the patient are input into the model to predict the disease of the patient. This way has the problem of low disease prediction accuracy.

[0028] Considering that doctors generally combine similar medical records of previous diagnoses to predict the disease of the current patient in the actual diagnosis process, therefore, the present application will predict the disease of the current patient according to similar medical records of the current symptoms of the patient.

[0029] It should be understood that the technical solutions of the present application can be applied to the following scenarios, but are not limited to:

[0030] For example, Figure 1 An application scenario provided by the embodiments of the present application is shown in FIG. 1. Figure 1 As shown in FIG. 1, the terminal device 110 can communicate with the server 120.

[0031] In the embodiments of the present application, the terminal device 110 can be a desktop computer, a notebook computer, a mobile phone, a wearable device, etc. The terminal device 110 can install a medical pre-diagnosis application (Application, APP), and the data transmission between the terminal device 110 and the server 120 can be realized through the APP, or the terminal device 110 can access the medical pre-diagnosis system through a browser to realize the data transmission between the terminal device 110 and the server 120, which is not limited in the present application.

[0032] In the embodiments of the present application, Figure 1 The server 120 in the above embodiment can be a stand-alone physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud computing services, which is not limited in the present application.

[0033] It should be understood that Figure 1 Only one terminal device and one server are shown, and in fact, there can be multiple terminal devices and multiple servers, which is not limited in the present application.

[0034] As stated above, the technical solution of this application relates to the field of AI technology. AI is the theory, method, technology, and application system that uses digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use that knowledge to obtain optimal results. In other words, artificial intelligence is a comprehensive technology within computer science that attempts to understand the essence of intelligence and produce a new type of intelligent machine capable of reacting in a manner similar to human intelligence. Artificial intelligence also studies the design principles and implementation methods of various intelligent machines, enabling them to possess the functions of perception, reasoning, and decision-making.

[0035] Artificial intelligence (AI) is a comprehensive discipline encompassing a wide range of fields, including both hardware and software technologies. Fundamental AI technologies generally include sensors, dedicated AI chips, cloud computing, distributed storage, big data processing, operating / interactive systems, and mechatronics. AI software technologies primarily include computer vision, speech processing, natural language processing, and machine learning / deep learning.

[0036] With the research and advancement of artificial intelligence (AI) technology, AI is being studied and applied in various fields, such as smart homes, smart wearable devices, virtual assistants, smart speakers, smart marketing, autonomous driving, drones, robots, smart healthcare, and smart customer service. It is believed that with the development of technology, AI will be applied in more fields and play an increasingly important role.

[0037] Specifically, the solutions provided in this application relate to technologies such as intelligent healthcare using artificial intelligence, and are illustrated in the following embodiments:

[0038] Figure 2 This is a flowchart illustrating a disease prediction method provided in an embodiment of this application. The method can be... Figure 1 The method is executed on server 120, but is not limited to this. The following explanation uses this server as an example to illustrate the disease prediction method. Figure 2 As shown, the method includes the following steps:

[0039] S210: The server retrieves the patient's current symptoms;

[0040] S220: The server determines at least one first historical symptom, which is a historical symptom similar to the current symptom;

[0041] S230: The server determines the probability distribution of the first disease corresponding to the current symptom based on at least one first historical symptom;

[0042] S240: The server predicts the patient's disease based on the first disease probability distribution.

[0043] In some possible implementation manners, the patient can input the current symptoms on the medical pre-consultation App or the medical pre-consultation webpage by voice or text, and the server can obtain the current symptoms of the patient. In general, the application does not limit the input method and input channel of the current symptoms.

[0044] In some possible implementation manners, the current symptoms include one or more symptoms, and the application does not limit the same. For example, the current symptoms are headache. For another example, the current symptoms are

headache, abdominal pain, tinnitus, diarrhea, cough

[0045] In some possible implementation manners, the server can store a plurality of historical medical records on the local or other devices, and the application does not limit the same.

[0046] It should be understood that each historical medical record includes historical symptoms and a disease finally diagnosed according to the historical symptoms, wherein the historical symptoms include one or more symptoms, and the application does not limit the same. For example, a historical medical record includes historical symptoms

constipation, crying, fart

[0047] It should be understood that each of the N similarity calculation methods can obtain at least one first historical symptom, wherein N is a positive integer, and the number of the first disease probability distributions is N.

[0048] In some possible implementation manners, the N similarity calculation methods can be any N similarity calculation methods, and the application does not limit the same. For example, the N similarity calculation methods include at least one of the following, but are not limited thereto: the first similarity calculation method, the cosine similarity calculation method and the Jaccard distance similarity calculation method. For example, the server can also perform one-hot coding on the historical symptoms, and similarly, one-hot coding is performed on the current symptoms. After obtaining the coding vectors of the two, the distance between the two coding vectors can be calculated. If the distance is less than a preset distance, it is considered that the historical symptoms are similar to the current symptoms, that is, the historical symptoms are the first historical symptoms, otherwise, the historical symptoms are not the first historical symptoms.

[0049] In some possible implementation manners, the distance between the two coding vectors can be a distance based on L1 norm or L2 norm, but is not limited thereto.

[0050] The following describes a manner of determining the at least one first historical symptom based on the first similarity calculation method:

[0051] In an implementation, the server determines the at least one first historical symptom for the first similarity calculation method, including: for any historical symptom, determining whether the historical symptom completely includes the current symptom; if the historical symptom completely includes the current symptom, determining that the historical symptom is the first historical symptom; if the historical symptom does not completely include the current symptom, determining that the historical symptom is not the first historical symptom.

[0052] For example, assuming that the current symptom is

abdominal pain, headache

abdominal pain, headache, diarrhea

abdominal pain, diarrhea

[0053] In another implementation, the server determines the at least one first historical symptom for the first similarity calculation method, including: for any historical symptom, determining whether the historical symptom includes at least a preset percentage of the current symptom; if the historical symptom includes at least the preset percentage of the current symptom, determining that the historical symptom is the first historical symptom; if the historical symptom does not include at least the preset percentage of the current symptom, determining that the historical symptom is not the first historical symptom.

[0054] In some implementations, the preset percentage can be obtained by experiments, for example, the preset percentage is 50%, 60%, 80%, etc., which is not limited in the present application.

[0055] For example, assuming that the preset percentage is 50%, the current symptom is

abdominal pain, headache

abdominal pain, headache, diarrhea

abdominal pain, diarrhea

[0056] In some implementations, the server can maintain a dictionary dict1 with diseases as keys and the number of times of searching for diseases as values, and the initial value of the number of times of searching for each disease is 0. The server can traverse all historical symptoms, for each historical symptom, if it completely includes the current symptom, i.e., the historical symptom is the first historical symptom, the number of times of searching for the disease corresponding to the historical symptom is increased by one, and finally the number of times of searching for each disease can be obtained, and the number of times of searching for these diseases is normalized to obtain the probability of each disease, i.e., the first disease probability distribution corresponding to the current symptom is obtained.

[0057] It should be noted that the present application does not limit how to normalize the number of times of searching for diseases.

[0058] It should be understood that, among all the historical symptoms, the server finally only uses the number of times the disease corresponding to the first historical symptom is searched, and therefore it should be understood that the server actually normalizes the number of times the disease corresponding to each of the at least one first historical symptom is searched to obtain the first disease probability distribution.

[0059] The following describes a manner of determining the at least one first historical symptom based on the cosine similarity calculation method:

[0060] In an implementable manner, for any historical symptom, the server can perform one-hot encoding on the historical symptom to obtain an encoding vector A corresponding to the historical symptom, and the server can also perform one-hot encoding on the current symptom to obtain an encoding vector B corresponding to the current symptom. Further, the server can calculate the cosine similarity between the encoding vector A and the encoding vector B through the following formula (1):

[0061]

[0062] wherein similarity represents the cosine similarity between the encoding vector A and the encoding vector B, θ represents the included angle between the encoding vector A and the encoding vector B, A i represents the i-th element in the encoding vector A, B i represents the i-th element in the encoding vector B, and n represents the length of the encoding vector A and the encoding vector B.

[0063] Further, if the cosine similarity between the encoding vector A and the encoding vector B is greater than a preset threshold, it is determined that the historical symptom corresponding to the encoding vector A is the first historical symptom, and if the cosine similarity between the encoding vector A and the encoding vector B is less than or equal to the preset threshold, it is determined that the historical symptom corresponding to the encoding vector A is not the first historical symptom.

[0064] In some implementable manners, the server can maintain a dictionary dict2 with diseases as keys and the number of times the diseases are searched as values, and the initial value of the number of times each disease is searched is 0. The server can traverse all the historical symptoms, and for each historical symptom, if it is determined that the historical symptom is the first historical symptom according to the above cosine similarity calculation method, the number of times the disease corresponding to the historical symptom is searched is incremented by one, and finally the number of times each disease is searched can be obtained. The number of times each disease is searched is normalized to obtain the probability of each disease, that is, the first disease probability distribution corresponding to the current symptom is obtained.

[0065] It should be noted that the present application does not limit how to normalize the number of times the disease is searched.

[0066] It should be understood that, among all the historical symptoms, the server only uses the number of times the disease corresponding to the first historical symptom is searched, and therefore it should be understood that the server actually normalizes the number of times the disease corresponding to each of the at least one first historical symptom is searched to obtain the first disease probability distribution.

[0067] The manner of determining the at least one first historical symptom based on the Jaccard distance similarity calculation method is described below.

[0068] As described above, any historical symptom can include one or more symptoms, and similarly, the current symptom can also include one or more symptoms, and therefore any historical symptom can be regarded as a symptom set, and the current symptom can also be regarded as a symptom set.

[0069] In an implementable manner, for any historical symptom, the server can record the symptom set corresponding to the historical symptom as A, and similarly, the server can record the symptom set corresponding to the current symptom as B, and further, the server can calculate the Jaccard distance similarity of the symptom set A and the symptom set B by the following formula (2):

[0070]

[0071] wherein J(A, B) represents the Jaccard distance similarity of the symptom set A and the symptom set B, |A∩B| represents the length of the intersection of the symptom set A and the symptom set B, and |A∪B| represents the length of the union of the symptom set A and the symptom set B.

[0072] Further, if the Jaccard distance similarity of the symptom set A and the symptom set B is greater than a preset threshold, it is determined that the historical symptom corresponding to the symptom set A is the first historical symptom, and if the Jaccard distance similarity of the symptom set A and the symptom set B is less than or equal to the preset threshold, it is determined that the historical symptom corresponding to the symptom set A is not the first historical symptom.

[0073] In some implementable manners, the server can maintain a dictionary dict3 with diseases as keys and the number of times the disease is searched as values, and the initial value of the number of times each disease is searched is 0. The server can traverse all the historical symptoms, and for each historical symptom, if it is determined that the historical symptom is the first historical symptom according to the above Jaccard distance similarity, the number of times the disease corresponding to the historical symptom is searched is incremented by one, and finally the number of times each disease is searched can be obtained, and the number of times each disease is searched is normalized to obtain the probability of each disease, i.e., the first disease probability distribution corresponding to the current symptom is obtained.

[0074] It should be noted that the present application does not limit how to normalize the number of times of searching for diseases.

[0075] It should be understood that among all the historical symptoms, the server finally only uses the number of times of searching for diseases corresponding to the first historical symptom, and therefore it should be understood that the server actually normalizes the number of times of searching for diseases corresponding to each of the at least one first historical symptom to obtain the first disease probability distribution.

[0076] In some implementable manners, after the server obtains the first disease probability distribution corresponding to the current symptom, the server can select a disease with the maximum disease probability from the first disease probability distribution as the disease of the patient, but the present application is not limited thereto.

[0077] In summary, in the embodiments of the present application, the server can predict the disease of the patient in combination with the historical symptoms similar to the current symptom of the patient, while the prior art does not consider similar historical symptoms, and compared with the prior art, the technical solution provided by the present application is similar to the actual diagnosis process of a doctor, and can improve the accuracy of disease prediction.

[0078] In order to further improve the accuracy of disease prediction, the present application can also predict the disease of the patient in combination with at least one of the following manners, which are as follows:

[0079] Figure 3 A flowchart of another disease prediction method provided by the embodiments of the present application, which can be executed by the server 120 in Figure 1 but the present application is not limited thereto, and the following takes the server as an example to describe the disease prediction method, which, as shown in Figure 3 includes the following steps:

[0080] S310: The server obtains the current symptom of the patient;

[0081] S320: The server determines at least one first historical symptom, which is a historical symptom similar to the current symptom;

[0082] S330: The server determines the first disease probability distribution corresponding to the current symptom according to the at least one first historical symptom;

[0083] S340: The current symptom is subjected to text normalization processing to obtain the current text corresponding to the current symptom, and the second disease probability distribution corresponding to the current symptom is obtained according to the current text, and / or the third disease probability distribution corresponding to the current symptom is obtained according to the current symptom;

[0084] S350: The server predicts the disease of the patient according to at least one of the second disease probability distribution and the third disease probability distribution, and the first disease probability distribution.

[0085] It should be understood that S310 to S330 are the same as S210 to S230 in Figure 2 Therefore, the explanation of S310 to S330 can refer to the above, and the present application will not repeat it here.

[0086] It should be understood that the current symptoms obtained by the server are structured data, for example, the structured data is {“headache”: yes, “diarrhea”: no}, and the server can normalize it into a standard text expression, that is, “patient” + “has” + “headache” + “no” + “diarrhea” + “.”. Through this text normalization method, any structured data input can be converted into a standard sentence form, that is, text.

[0087] In some implementable manners, the server can perform text normalization on the current symptoms in a preset order to obtain the current text corresponding to the current symptoms. That is, the server performs text normalization on the current symptoms in a fixed order. This is because if a fixed order is not adopted, different forms of text may be obtained after text normalization for the same structured data, for example: the structured data is {“headache”: yes, “diarrhea”: no}, if the server does not adopt a fixed order for text normalization, the following two texts may be obtained: “patient has headache and no diarrhea.” or “patient has no diarrhea and headache.”

[0088] In some implementable manners, the above-mentioned preset order can be the order of each data in the structured data from front to back, but is not limited thereto.

[0089] In some implementable manners, the server can perform text feature extraction on the current text to obtain the text features of the current text; and obtain the second disease probability distribution according to the text features.

[0090] In some implementable manners, the server can input the current text into a text processing model to obtain the text features of the current text.

[0091] In some implementable manners, the text processing model can be a BERT model, an xlnet model, or a k-bert model, etc., and the present application does not limit it.

[0092] Exemplarily, assuming that the server inputs the current text into the BERT model, the output can be a matrix of L*D, that is, the text features can be represented by the matrix, where L is the length of the current text, and D is the embedding length of the BERT model. Assuming that the current text is represented by X, and the text features of the current text are represented by M, the text features M can be obtained by the following formula (3):

[0093] M = BERT(X) (3)

[0094] In some implementable manners, the server can obtain semantic information of the text feature; and input the semantic information into a perception machine model to obtain a second disease probability distribution. The perception machine model can be an MLP algorithm, but is not limited thereto.

[0095] For example, as described above, the text feature can be represented by the matrix, the server can take the mean of the first dimension of the matrix to obtain a 1 * D vector, and then obtain the second disease probability distribution through the perception machine model. The second disease probability distribution can be obtained through the following formula (4):

[0096] Pd_4 = MLP(Mean(M)) (4)

[0097] Wherein, Pd_4 represents the second disease probability distribution, MLP() represents a perception machine function corresponding to the perception machine model, and Mean() represents taking the mean of the first dimension of the text feature M.

[0098] In some implementable manners, the server can one-hot encode the current symptom to obtain an encoding vector corresponding to the current symptom; and obtain a third disease probability distribution according to the encoding vector.

[0099] For example, as described above, the current symptom is structured data, for example: assuming that the structured data is {“headache”: yes, “diarrhea”: no}, the server can hash the current symptom into an array, that is, “yes” corresponds to +1, “no” corresponds to -1, and the symptom not mentioned corresponds to 0. Based on this, the server can encode the current symptom into an encoding vector composed of 0, -1 and +1.

[0100] In some implementable manners, the server can input the encoding vector into a data mining model to obtain the third disease probability distribution.

[0101] In some implementable manners, the data mining model can be an xgboost model, a random forest model or a Transformer model, and the present application does not make any limitation thereto.

[0102] For example, the server can obtain the third disease probability distribution through the following formula (5):

[0103] Pd_5 = XGBOOST(V) (5)

[0104] Wherein, Pd_5 represents the third disease probability distribution, XGBOOST() represents an xgboost function corresponding to the xgboost model, and V represents the encoding vector corresponding to the current symptom.

[0105] In some implementations, after obtaining at least one of the second and third disease probability distributions, the server can fuse at least one of the second and third disease probability distributions with the first disease probability distribution to obtain a fusion result, and then predict the patient's disease based on this fusion result. For example: Figure 4 This is a schematic diagram of the fusion process provided in an embodiment of this application, such as... Figure 4 As shown, the server fuses the first disease probability distribution, the second disease probability distribution, and the third disease probability distribution together. It should be noted that the server can fuse one or more first disease probability distributions simultaneously. For example, as mentioned above, the server can obtain a first disease probability distribution based on the first similarity calculation method, the cosine similarity calculation method, and the Jaccard distance similarity calculation method respectively. Then, the server can fuse these three first disease probability distributions together with the aforementioned second and third disease probability distributions. Specifically, these disease probability distributions can be fused using the following formula (6):

[0106] PD=(Pd_1+Pd_2+Pd_3+Pd_4+Pd_5) (6)

[0107] Wherein, PD represents the fusion processing result, Pd_1 represents the first disease probability distribution obtained based on the first similarity calculation method, Pd_2 represents the first disease probability distribution obtained based on the cosine similarity calculation method, Pd_3 represents the first disease probability distribution obtained based on the Jaccard distance similarity calculation method, Pd_4 represents the second disease probability distribution, and Pd_5 represents the third disease probability distribution.

[0108] In some feasible implementations, the server can use a voting-based fusion approach to fuse multiple disease probability distributions, but is not limited to this.

[0109] In some feasible implementations, after the server obtains the fusion processing results, it can predict the patient's disease using the following formula (7):

[0110] Disease = argmax(PD) (7)

[0111] Wherein, Disease represents the disease ultimately predicted for the patient, argmax() represents finding the parameter with the highest score, and PD represents the fusion processing result.

[0112] In summary, most of the existing technologies are based on one-hot encoded features to predict the diseases of the patient, and one-hot encoding ignores the information contained in the current text corresponding to the current symptoms. Therefore, the present application can convert the structured data of the current symptoms into text, then extract the text features of the text, and determine the second disease probability distribution corresponding to the current symptoms based on this. The second disease probability distribution can be used to predict the diseases of the patient. In addition, the server can extract the one-hot encoded numerical features corresponding to the current symptoms, and determine the third disease probability distribution corresponding to the current symptoms based on this. The third disease probability distribution can also be used to predict the diseases of the patient. Further, the server can combine the first disease probability distribution and the second disease probability distribution, or combine the first disease probability distribution and the third disease probability distribution, or combine the first disease probability distribution, the second disease probability distribution and the third disease probability distribution to predict the diseases of the patient, which can improve the accuracy of disease prediction.

[0113] The technical effects of the technical solutions of the present application are illustrated by experimental data as follows:

[0114] As shown in Table 1, the accuracy of the disease prediction results obtained by the technical solutions of the present application is as high as 66.04, while the accuracy of the disease prediction results obtained by the current end-to-end multi-round medical dialogue (Deep Q Network (DQN) + knowledge) is 65.29, and the accuracy of the disease prediction results obtained by the symptom self-attention mechanism disease diagnosis model is 63.03.

[0115] Table 1

[0116]

[0117] Obviously, the accuracy of the disease prediction results obtained by the technical solutions of the present application is higher.

[0118] The technical solutions of the present application are described from the application perspective as follows:

[0119] Exemplarily, Figure 5A and Figure 5B The interface diagram of the medical pre-consultation system provided by the embodiments of the present application, wherein the interface can be an interface of a medical pre-consultation App or an interface on a medical pre-consultation webpage, such as Figure 5A and Figure 5BAs shown, the patient can input the symptoms in text on the interface, and the symptoms input here are stomachache and diarrhea. Among them, the medical pre-consultation system can inquire whether there are other symptoms according to the symptoms input by the patient. These symptoms constitute the current symptoms of the patient, and the medical pre-consultation system can use the technical solutions of the present application to predict the disease of the patient, and the prediction result is a preliminary diagnosis result. Further, the medical pre-consultation system can recommend the corresponding department and doctor to the patient according to the preliminary diagnosis result, such as Figure 5A and 5B As shown, the department recommended to the patient here is the Department of Gastroenterology.

[0120] Figure 6 A schematic diagram of a disease prediction device 600 provided by an embodiment of the present application is shown in Figure 6 The device can include an acquisition module 610, a first determination module 620, a second determination module 630, and a prediction module 640. The acquisition module 610 is configured to acquire the current symptoms of the patient. The first determination module 620 is configured to determine at least one first historical symptom, which is a historical symptom similar to the current symptom. The second determination module 630 is configured to determine a first disease probability distribution corresponding to the current symptom according to the at least one first historical symptom. The prediction module 640 is configured to predict the disease of the patient according to the first disease probability distribution.

[0121] In some implementable manners, the first determination module 620 is specifically configured to determine at least one first historical symptom for each of N similarity calculation methods, where N is a positive integer, and the number of first disease probability distributions is N.

[0122] In some implementable manners, the N similarity calculation methods include at least one of the following: a first similarity calculation method, a cosine similarity calculation method, and a Jaccard distance similarity calculation method.

[0123] In some implementable manners, the first determination module 620 is specifically configured to determine, for any historical symptom, whether the historical symptom completely includes the current symptom. If the historical symptom completely includes the current symptom, the historical symptom is determined to be the first historical symptom. If the historical symptom does not completely include the current symptom, the historical symptom is determined not to be the first historical symptom.

[0124] In some implementable manners, the first determination module 620 is further configured to, for any first historical symptom of the at least one first historical symptom, add one to the number of times the disease corresponding to the first historical symptom is searched when the first historical symptom is determined. Correspondingly, the second determination module 630 is specifically configured to normalize the number of times the diseases corresponding to the at least one first historical symptom are searched to obtain the first disease probability distribution.

[0125] In some implementable manners, the disease prediction apparatus 600 further comprises a first processing module 650 and a second processing module 660, wherein the first processing module 650 is configured to perform text normalization on the current symptom to obtain a current text corresponding to the current symptom, and obtain a second disease probability distribution corresponding to the current symptom according to the current text; the second processing module 660 is configured to obtain a third disease probability distribution corresponding to the current symptom according to the current symptom; and the prediction module 640 is specifically configured to predict the disease of the patient according to at least one of the second disease probability distribution and the third disease probability distribution, and the first disease probability distribution.

[0126] In some implementable manners, the first processing module 650 is specifically configured to perform text normalization on the current symptom in a preset order to obtain the current text corresponding to the current symptom.

[0127] In some implementable manners, the first processing module 650 is specifically configured to perform text feature extraction on the current text to obtain a text feature of the current text, and obtain the second disease probability distribution according to the text feature.

[0128] In some implementable manners, the first processing module 650 is specifically configured to input the current text into a text processing model to obtain the text feature of the current text.

[0129] In some implementable manners, the first processing module 650 is specifically configured to obtain semantic information of the text feature, and input the semantic information into a perception machine model to obtain the second disease probability distribution.

[0130] In some implementable manners, the second processing module 660 is specifically configured to perform one-hot encoding on the current symptom to obtain an encoding vector corresponding to the current symptom, and obtain the third disease probability distribution according to the encoding vector.

[0131] In some implementable manners, the second processing module 660 is specifically configured to input the encoding vector into a data mining model to obtain the third disease probability distribution.

[0132] In some implementable manners, the prediction module 640 is specifically configured to perform fusion processing on at least one of the second disease probability distribution and the third disease probability distribution, and the first disease probability distribution to obtain a fusion processing result, and predict the disease of the patient according to the fusion processing result.

[0133] It should be understood that the apparatus embodiments and the method embodiments can correspond to each other, and similar descriptions can be referred to the method embodiments. To avoid repetition, details are not described here. Specifically, Figure 6The apparatus 600 shown can perform the method embodiments described above, and the foregoing and other operations and / or functions of the various modules in the apparatus 600 are respectively for implementing the corresponding flows in the various methods described above, and for brevity, will not be repeated here.

[0134] The apparatus 600 of the embodiments of the present application is described above in connection with the functional modules. It should be understood that the functional modules can be implemented in the form of hardware, or in the form of instructions of software, or in the form of a combination of hardware and software modules. Specifically, the steps of the method embodiments in the embodiments of the present application can be completed by the integrated logic circuit of hardware in the processor and / or instructions in the form of software, and the steps of the method disclosed in the embodiments of the present application can be directly embodied as hardware code processing for execution by the processor, or executed by a combination of hardware and software modules in the code processing. Alternatively, the software module can be located in a mature storage medium in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, register, etc. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps in the above method embodiments in combination with the hardware thereof.

[0135] Figure 7 is a schematic block diagram of an electronic device 700 provided by the embodiments of the present application.

[0136] As shown in Figure 7 The electronic device 700 can include:

[0137] The memory 710 is used to store computer programs and transmit the program codes to the processor 720. In other words, the processor 720 can call and run the computer programs from the memory 710 to implement the methods in the embodiments of the present application.

[0138] For example, the processor 720 can be used to execute the method embodiments described above according to the instructions in the computer program.

[0139] In some embodiments of the present application, the processor 720 can include but is not limited to:

[0140] General processor, digital signal processor (Digital Signal Processor, DSP), application specific integrated circuit (Application Specific Integrated Circuit, ASIC), field programmable gate array (Field Programmable Gate Array, FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, etc.

[0141] In some embodiments of the present application, the memory 710 includes, but is not limited to:

[0142] volatile memory and / or non-volatile memory. The non-volatile memory can be a Read-Only Memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically EPROM (EEPROM), or a flash memory. The volatile memory can be a Random Access Memory (RAM) used as an external cache. By way of example, and not limitation, many forms of RAM are available, such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced SDRAM (ESDRAM), Synch link DRAM (SLDRAM), and Direct Rambus RAM (DR RAM).

[0143] In some embodiments of the present application, the computer program can be divided into one or more modules, which are stored in the memory 710 and executed by the processor 720 to complete the method provided by the present application. The one or more modules can be a series of computer program instruction segments capable of completing a specific function, which are used to describe the execution process of the computer program in the electronic device.

[0144] As shown in Figure 7 The electronic device can further include:

[0145] a transceiver 730, which can be connected to the processor 720 or the memory 710.

[0146] The processor 720 can control the transceiver 730 to communicate with other devices, specifically, can send information or data to other devices, or receive information or data sent by other devices. The transceiver 730 can include a transmitter and a receiver. The transceiver 730 can further include an antenna, and the number of antennas can be one or more.

[0147] It should be understood that the various components within the electronic device are connected by a bus system, which includes, in addition to a data bus, a power bus, a control bus, and a state signal bus.

[0148] The application also provides a computer storage medium, which stores a computer program, and the computer program enables a computer to execute the method of the method embodiment when executed by the computer. Alternatively, the application embodiment also provides a computer program product containing instructions, and the instructions enable the computer to execute the method of the method embodiment when executed by the computer.

[0149] When implemented by using software, the computer program product can be implemented in the form of a computer program product in whole or in part. The computer program product includes one or more computer instructions. When loaded and executed by a computer, the computer program instructions produce the flow or function of the embodiment of the application in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions can be transferred from one website, computer, server or data center to another website, computer, server or data center through a wired (for example, coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (for example, infrared, wireless, microwave, etc.) manner. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. integrated with one or more available media. The available medium can be a magnetic medium (for example, floppy disk, hard disk, magnetic tape), an optical medium (for example, digital video disc (DVD)), or a semiconductor medium (for example, solid state disk (SSD)), etc.

[0150] Those skilled in the art can realize that the modules and algorithm steps of the examples described in combination with the embodiments disclosed herein can be realized by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are realized by hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to realize the described functions for each specific application, but such implementation should not be considered beyond the scope of the application.

[0151] In several embodiments provided in the present application, it should be understood that the disclosed system, device and method can be implemented in other manners. For example, the division of the above-described device embodiments is only a logical function division, and there can be another division manner for the actual implementation, for example, multiple devices or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections between different parts can be indirect couplings or communication connections through some interfaces, devices or modules, and can be electrical, mechanical or in other forms.

[0152] The modules explained as separated components can or can not be physically separated, and the components shown as modules can or can not be physical modules, i.e., can be located in one place, or can be distributed to multiple network units. Part or all of the modules can be selected according to actual needs to achieve the purpose of the embodiments. For example, the functional modules in the embodiments of the present application can be integrated into a processing module, or each module can be physically present separately, or two or more modules can be integrated into one module.

[0153] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto, and any person skilled in the art can easily think of changes or replacements within the technical scope disclosed in the present application, which should be covered within the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A disease prediction method, characterized by, The method comprises: obtaining a current symptom of a patient; determining at least one first historical symptom, the first historical symptom being a historical symptom similar to the current symptom; for any one of the at least one first historical symptom, incrementing a search frequency of a disease corresponding to the first historical symptom when the first historical symptom is determined, and normalizing the search frequency of the disease corresponding to each of the at least one first historical symptom to obtain a first disease probability distribution; performing at least one of the following: performing text normalization on the current symptom to obtain a current text corresponding to the current symptom, and obtaining a second disease probability distribution corresponding to the current symptom according to the current text; performing one-hot coding on the current symptom to obtain an encoding vector corresponding to the current symptom, and obtaining a third disease probability distribution corresponding to the current symptom according to the encoding vector; predicting a disease of the patient according to at least one of the second disease probability distribution and the third disease probability distribution, and the first disease probability distribution.

2. The method of claim 1, wherein, The determining of the at least one first historical symptom comprises: determining the at least one first historical symptom by using a similarity calculation method.

3. The method of claim 2, wherein, The similarity calculation method comprises at least one of the following: a first similarity calculation method, a cosine similarity calculation method, and a Jaccard distance similarity calculation method.

4. The method of claim 3, wherein, For the first similarity calculation method, the determining of the at least one first historical symptom comprises: for any one historical symptom, judging whether the historical symptom completely includes the current symptom; if the historical symptom completely includes the current symptom, determining that the historical symptom is the first historical symptom; if the historical symptom does not completely include the current symptom, determining that the historical symptom is not the first historical symptom.

5. The method according to any one of claims 1 to 4, characterized in that, The text normalization on the current symptom to obtain the current text corresponding to the current symptom comprises: performing text normalization on the current symptom in a preset order to obtain the current text corresponding to the current symptom.

6. The method according to any one of claims 1 to 4, characterized in that, The obtaining of the second disease probability distribution corresponding to the current symptom according to the current text comprises: performing text feature extraction on the current text to obtain a text feature of the current text; obtaining the second disease probability distribution according to the text feature.

7. The method of claim 6, wherein, The text feature extraction on the current text to obtain the text feature of the current text comprises: inputting the current text into a text processing model to obtain the text feature of the current text.

8. The method of claim 6, wherein, The obtaining of the second disease probability distribution according to the text feature comprises: obtaining semantic information of the text feature; inputting the semantic information into a perception machine model to obtain the second disease probability distribution.

9. The method according to any one of claims 1 to 4, characterized in that, The obtaining of the third disease probability distribution corresponding to the current symptom according to the encoding vector comprises: inputting the encoding vector into a data mining model to obtain the third disease probability distribution.

10. The method according to any one of claims 1 to 4, characterized in that, The disease predicted by the second disease probability distribution and the third disease probability distribution, and the first disease probability distribution, comprises: At least one of the second disease probability distribution and the third disease probability distribution, and the first disease probability distribution is fused to obtain a fusion processing result; The disease of the patient is predicted according to the fusion processing result.

11. A disease prediction device characterized by comprising: Comprise: An acquisition module is configured to acquire a current symptom of a patient; A first determination module is configured to determine at least one first historical symptom, the first historical symptom being a historical symptom similar to the current symptom; A second determination module is configured to, for any first historical symptom in the at least one first historical symptom, increase the number of times a disease corresponding to the first historical symptom is searched by one when the first historical symptom is determined, and normalize the number of times the disease corresponding to each of the at least one first historical symptom is searched to obtain a first disease probability distribution; At least one of a first processing module and a second processing module, wherein the first processing module is configured to perform text normalization processing on the current symptom to obtain a current text corresponding to the current symptom, and obtain a second disease probability distribution corresponding to the current symptom according to the current text; and the second processing module is configured to perform one-hot encoding on the current symptom to obtain an encoding vector corresponding to the current symptom, and obtain a third disease probability distribution corresponding to the current symptom according to the encoding vector; A prediction module is configured to predict a disease of the patient according to at least one of the second disease probability distribution and the third disease probability distribution, and the first disease probability distribution.

12. An electronic device, comprising: Comprise: A processor and a memory, the memory is used to store a computer program, the processor is used to call and run the computer program stored in the memory, to execute the method of any one of claims 1-10.

13. A computer-readable storage medium, characterized in that, A computer program for storing, the computer program enables a computer to execute the method of any one of claims 1-10.

14. A computer program product comprising computer programs / instructions, characterized in that, The computer program / instruction is executed by the processor to realize the method of any one of claims 1-10.

Citation Information

Patent Citations

  • Medical diagnostic method and medical diagnostic device

    CN109545384A