Page 88 - 《软件学报》2021年第11期
P. 88
3414 Journal of Software 软件学报 Vol.32, No.11, November 2021
4.1 服务满意度计算
提取所有医生的文本评价和评级.表 6 列出了用户对部分医生的各项评分,通过对所有医生的所有文本评
价进行情感分析,得出其文本评价分 sa,将其与该医生的评级得分 sr按公式(5)加权计算满意度得分.由于文本评
价更能体现患者对这次诊疗的真实情感,因此对参数α的设置采用 CRITIC 法、乘法集成法和主观评判相结合
的方式.CRITIC 依据不同属性的信息量对各自的权值进行客观赋值,最终α取值约为 0.8,则综合满意度则可由
su ij =0.8⋅sa ij +0.2⋅sr ij 计算得到.
Table 6 Comprehensive score table
表 6 综合分数表
医生 ID 平均文本评价得分 平均评级得分 综合满意度得分
3088 3.946 237 4.301 075 4.017 204
7857 4.090 909 4.545 455 4.181 818
3136 4.088 889 5.000 000 4.271 111
3086 4.034 483 5.000 000 4.227 586
7898 4.311 111 5.000 000 4.448 889
3119 4.068 182 5.000 000 4.254 545
4039 3.500 000 4.000 000 3.600 000
7855 4.409 091 5.000 000 4.527 273
1495 4.142 857 5.000 000 4.314 286
7859 4.000 000 4.444 444 4.088 889
4052 4.000 000 4.777 778 4.155 556
3091 4.112 500 5.000 000 4.290 000
3018 4.255 814 5.000 000 4.404 651
4.2 服务匹配度计算
通过文本提取的方式生成文字摘要这种特殊的概述描述文件,将每个医生的若干问诊记录进行如下处理:
只保留第一次问答,去掉“历史问诊 n:”、“患者信息:”和“问诊记录:”等这些无用信息.SnowNLP 依据 TextRank
算法提取文本摘要.我们根据病情描述的一般长度,对每个医生的文件用 SnowNLP 提取 12 句话,中间用逗号隔
开,作为该医生历史问诊的摘要.由于后续相似度计算的限制,摘要截取前 250 字,对绝大多数摘要没有影响.由
于摘要和任务的描述均为文字文本,故采用文本相似度计算.文本相似度就是对比两个输入文本之间的共性和
差异,共性越大,差异越小,则相似度就越大.近年来,关于相似度计算的研究有很多,包括基于词向量、基于字符
的、基于概率统计以及基于词嵌入模型的.目前的计算方法主要依赖于深度学习.本文的文本相似性分析方法
利用词向量技术解决关键词匹配失败的问题,可以有效得到同义词、近义词之间的相似度,泛化能力好.同时,基
于深度神经网络,对从单词语义到短文本语义的组合过程进行建模,表达效果也更好.
病情分科的处理与摘要提取基本相同,分类器的输入为文本文档,每行一条病情,分科结果为科室代码,添
加在病情的同一行,使用分隔符隔开.相似度计算时,从上述文件中逐行提取病情及科室代码,在数据库中调取
该科室所有医生的摘要,分别与病情描述成对输入相似度计算模型,提出病情的患者 ID 与医生 ID 作为键对值,
用于捕获计算结果.例如,患者王某提交了关于病情的一段文字描述如下.
女,32 岁:您好,医生,我最近半年多来总是早晨起床从喉咙里有浓痰咳出,有时候是一小块咖啡色,有时候就
是浓黄痰,也不是天天有,最近几天又有了,晨起咳完以后白天又没有了,我能察觉出来是喉咙里咳出来的,不是
肺部也没有其他什么不适,一直有单侧扁桃体肿大.请问我这是慢性咽喉炎么?可以吃点什么药么?
先将病情根据其描述分类,即判断该病情适合的科室,随后对病情与科室中的医生诊疗病例记录的摘要进
行相似度计算和排序.王某的病情被分类为耳鼻咽喉科,则该科的医生全部进入备选集,经过对这些医生诊疗摘
要和病情描述的相似度计算,得到相似度排序表(见表 7).在该表的基础上,选出相似度最高的 k 位医生(这里假
设 k=10).
医生最终得分由医生用户满意度分、医生职称和医院等级计算得出.此例中,医院等级共 10 级,医生职称等
级共有 5 级,故根据公式(6)可以分别计算出对应得分.通过对各属性在医生最终得分中发挥的作用,根据文中所
述方法,建立判断矩阵 M,见表 8.