Background
With the continuous development and progress of electronic medical systems and recommendation systems, online electronic medical service recommendations have become an indispensable part of daily life. According to the information of different users and doctors, the online medical recommendation server can find a proper doctor for each patient user. In particular, it is crucial how to efficiently match users to the appropriate doctors and how to ensure privacy of the patient and doctor information in the process that patient users submit their needs to a server, which matches the users' needs to the personal information of the doctors.
Many existing researches are struggling for the performance of a doctor recommendation system, a part of recommendation systems use credibility and a reputation score as recommendation bases, the credibility and the reputation score are a reflection of the service quality of a service provider, and a server recommends the service provider with a high reputation score to a user; some other recommendation systems recommend the user in consideration of user needs or interests, and although these recommendation systems can recommend the user, only a single factor, such as user needs, is considered as a basis for recommendation, which may have an effect on the accuracy of the recommendation. For example, in some articles, a patient matches his or her own needs with doctor's information to find a suitable doctor, but the doctor's personal information is uploaded to a server by the doctor himself or herself, and the doctor's information cannot objectively reflect the doctor's service quality, so that the matching result between the patient and the doctor may be inaccurate, and therefore, a parameter is needed to objectively evaluate the doctor's service to make the recommendation result more accurate.
In addition, with the reputation score as the basis for recommendation, we need to use the feedback of users to the service to calculate the reputation score, because different users have different backgrounds and histories, so the quality of the feedback they provide is different, and worse, some malicious users may give malicious evaluation to reduce the reputation of doctors, and for the above case, the feedback of different users should be given different weights for calculation. In view of the sensitivity of the user information, the user and doctor information should be privacy protected during the recommendation process. In recent research on recommendation systems for privacy protection, methods for privacy protection can be divided into three types, the first is a security-based multi-party computing method, which consumes a large amount of computing resources in the process of protecting privacy; the second method is to use random numbers to disturb sensitive data, so that privacy is protected, but the disturbed data can affect recommendation accuracy to some extent; a third method is to use pseudonyms to protect the user's real ID to obtain privacy protection. But none of the three privacy preserving methods in total are applicable to our medical service recommendation scenario.
In summary, the mechanism and privacy protection method of the existing recommendation system cannot meet the requirements of the medical service recommendation scene.
Disclosure of Invention
The invention aims to solve the difficult problems of recommendation accuracy and privacy in an online medical service recommendation system, and provides a privacy protection medical service recommendation method in an electronic medical system.
The core idea of the privacy protection medical service recommendation method is as follows: the recommendation mechanism is based on similarity and doctor reputation, and improves the accuracy of recommendation by considering a plurality of factors of which similarity and reputation are main; meanwhile, an algorithm of privacy protection is adopted for calculating the similarity and the doctor reputation, and the method specifically comprises the following steps: when the user demand vector is matched with the doctor information vector, adding disturbance to the vectors of the user and the doctor and processing the vectors, and adopting similarity calculation of privacy protection to ensure that the server cannot obtain the data of the user and the doctor in a plaintext; in addition, user feedback scores are aggregated under a ciphertext, a truth value discovery technology is utilized to process a large number of user feedback scores to calculate a truth value, and the credit score of a doctor is calculated by using Dirichlet distribution for the truth values fed back by users in a plurality of time periods.
The privacy protection medical service recommendation method comprises two parts of user requirement matching and doctor reputation score calculation;
the user requirement matching method comprises the following steps:
step 1: a user sends a medical service request to a server;
step 2: the server verifies the user identity and gives feedback;
and step 3: the user sends the own demand attribute vector and the similarity threshold value to the server;
wherein, the demand attribute vector of the user mainly comprises the illness state of the user, the department of the searched doctor and the like;
wherein, the similarity threshold is a threshold which is acceptable for the similarity of the user;
and 4, step 4: the server carries out similarity calculation according to the demand attribute vector in the step 3 and the personal information vector of the doctor stored in the server, and similarity calculation formulas are shown as a formula (1) and a formula (2);
where dis is the distance between two perturbed vectors, sim is the similarity between two perturbed vectors, aiAs a user demand vector, biIs a doctor information vector, ai' As the user demand vector after adding the disturbance, bi'is the perturbed doctor information vector, s' is the shared secret key between the trust authority and the user, t, r1、r2Is a random number, mod is a remainder taking operator, and is a multiplication operator;
and 5: the server screens out a part of doctors according to the threshold value of the similarity acceptable by the user;
step 6: in a part of screened doctors, the server selects the doctor with the highest credit score according to the credit score of the doctor and recommends the doctor to the user;
the recommendation basis is the credit score and the similarity of doctors;
and 7: the user performs medical service according to the doctor recommended by the server;
and 8: after the medical service is finished, the user feeds back according to the service quality of the doctor and uploads a feedback score to the server;
wherein the feedback score is a parameter of the reputation score calculation;
and step 9: the server collects feedback scores of a plurality of users for doctors and recalculates the reputation scores of the doctors based on the obtained feedback scores;
and calculating the doctor reputation, which comprises the following steps:
step A), after the user receives the medical service, feeding back according to the service quality of a doctor;
step B) processing the feedback scores of a plurality of users, and calculating a true value reflecting the service quality of a doctor;
the real value calculation process of the step B) is mainly divided into two stages of weight updating and true value updating;
wherein, the weight value updating stage dynamically updates the feedback score weight value of each user for the feedback score of each user, and the method comprises the following steps:
step I: initializing an iteration count value to be 1, and setting the maximum iteration number to be 10;
step II: the server distributes truth x to N users*Judging whether the iteration count value is 1, if so, the true value is a random initial value; otherwise, the true value of the iteration is the true value calculated by the last iteration;
step III: each user receives a true value x*And then calculates the distance Dis between the feedback and the truth value based on the formula (1)iThen the user is to DisiEncrypting the data by the following formula (3), and encrypting the encrypted data CijAnd CijUploading to a server;
wherein, CijIs the encrypted distance value, Dis, of the user i in the jth iterationiDistance between user's feedback and truth, cijThe encrypted data uploaded by the users are represented by i as the ith user, j as the jth iteration, g and h as encryption parameters, rijIs a random number, and n is an encryption parameter;
step IV: after the server receives the data of N users, the encrypted distance values are aggregated by using the following formula (4) and the encrypted parameters are aggregated by using the following formula (5), and an aggregation result is output:
step V: the server uses its own secret s2Partially decrypting the aggregation result output in the step IV by using a formula (6), and sending the decrypted data to each user;
wherein, Cj' aggregated data decrypted for server part, s2Is a secret key of the server, s1A key for the user;
step VI: when the user receives the data from the server, the user uses its own secret key s1Decrypting according to a formula (7) and a formula (8) and calculating the weight of the user;
wherein, Cj"user decrypted aggregated data, sumdDis for all usersiSum, wiIs the weight of the user;
so far, from step I to step VI, the weight updating stage is completed, namely the weights of all users are updated;
the true value updating is performed after the weight value updating stage, and specifically comprises the following steps:
step (1): the user disturbs the weight of the user according to a formula (9) and uploads the weight to the server;
wherein, Wij,1And Wij,2The weight value of the user added with the disturbance information is obtained;
step (2): the server aggregates the disturbed weights of all users according to the formula (4) and updates the truth value x according to the formula (10)*;
And C) based on the output of the step B), the server calculates the credit score of the doctor by using Dirichlet distribution according to the real values obtained by a plurality of time periods.
Advantageous effects
Compared with the conventional medical service recommendation method, the privacy protection medical service recommendation method in the electronic medical system has the following beneficial effects:
1. compared with the traditional medical service recommendation method, the method takes two factors of similarity and reputation score as the basis of recommendation, so that the recommendation result is more accurate and reasonable;
2. during similarity calculation, the server performs similarity calculation between the user requirements and personal information of doctors under the ciphertext, so that the calculation efficiency is improved, and the privacy of the user and doctor data is also guaranteed;
3. for true value calculation of a plurality of user feedback data, the efficiency of calculating true values of the user feedback data is improved.
Detailed Description
The following detailed description of the embodiments of the present invention will be made with reference to the accompanying drawings.
Example 1
The embodiment of the invention describes a system model diagram based on a privacy protection medical service recommendation method in an electronic medical system in detail, as shown in fig. 1.
As can be seen from fig. 1, when a patient user wants to apply for medical services, the user can send a medical service request to the server through a smart device such as a mobile phone, a tablet, a computer, etc., and after the server receives the request, the user sends the request of the user for a doctor and an acceptable threshold for similarity to the server.
The server calculates the similarity between the user and each doctor by using the safe similarity matching method provided by the invention according to the requirements of the user and the information of the doctors, then screens out a part of doctors with the similarity meeting the threshold condition according to the threshold value which is provided by the user and acceptable for the similarity, and finally, for the screened part of doctors, the server recommends the doctors with the highest credit score to the user. After the recommendation is completed, the user goes to a medical center to perform medical service, after the medical service is completed, the user gives feedback according to the service quality of doctors and uploads the feedback to the server, and the server comprehensively calculates the credit score of the doctors through the truth value calculation method and the credit score calculation of Dirichlet distribution for the feedback of a plurality of users to the doctors in the same time period. Thus, the entire recommendation process is completed.
Example 2
Compared with the traditional medical service recommendation method such as the medical service recommendation method in the FSSR paper of Cheng Huang et al, the FSSR recommendation method only carries out doctor recommendation according to the factor of similarity. Only one factor of similarity is considered for recommendation, and the user can be matched with the doctor meeting the basic requirement, but the quality of service of the doctor cannot be predicted. According to the recommendation method, doctor recommendation is carried out according to two factors of similarity and doctor reputation scores, a server screens out a batch of doctors meeting user requirements according to the similarity, and then the doctor with the highest reputation score is selected from the batch of doctors to recommend to the user, wherein the higher reputation score indicates that the service quality of the doctor is better. In terms of algorithm efficiency, as shown in fig. 2, when the number of doctors is 500, the time used by the recommendation method of the FSSR is 8.301s, and the time used by the recommendation method in our PPMR scheme is 8.302s, which indicates that the algorithm efficiency is not affected while the recommendation is performed by considering a plurality of factors, and the algorithm efficiency is similar to the FSSR efficiency. In the aspect of privacy protection, the scheme processes attribute vectors of users and information vectors of doctors entering disturbing information, so that calculation of vector similarity is completed under a ciphertext, and a server cannot obtain real information of the users and the doctors during calculation, so that the privacy of the users and the doctors is protected.
Example 3
For true value calculation of multiple user feedback data, the scheme adopts a Modified Paillier encryption algorithm to process the feedback scoring data of the user, and compared with a Threshold Paillier encryption algorithm used in a PPTD scheme proposed by Miao et al to process the user data, the efficiency of user feedback data aggregation and true value calculation is improved. As shown in fig. 3, when the number of users is 500, the time taken for the PPTD scheme to calculate the real value is 652.23s, while the time taken for the our PPMR scheme to calculate the real value is 14.59s, compared to that, the efficiency of the real value calculation is improved by the our scheme. Specifically, the truth discovery technique of privacy protection is divided into two stages of weight update and truth update, as shown in fig. 4 and 5, the time used by our PPMR scheme is lower than that of PPTD scheme in the weight update stage and the truth update stage, i.e. the algorithm efficiency is high.
In summary, the above description is only a preferred embodiment of the present invention, and is not intended to limit the scope of the present invention. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.