Page 90 - 《软件学报》2021年第11期
P. 90
3416 Journal of Software 软件学报 Vol.32, No.11, November 2021
处理多批数据,提高了计算的速度和效率.
5.1 数据集概述
本实验使用的数据集为某在线医生诊疗平台的历史诊疗数据,使用爬虫从该平台上获取了共 11 个科室的
18 000 条原始数据,包含患者病情描述、医生 ID、医生专长、用户评论、医生所在医院以及医生职称.将原始
数据的每个科室分别选取各 800、600、400、200 条病情作为训练集训练分类器.通过比较 4 个数据集训练出
模型的分科室准确率,最终选择各科室 600 条病情的数据集训练分类器.按训练集比例,每科室 177 条共 1 947
条问诊记录作为测试集,将测试集的医生作为标准分派结果进行标注,用于评估本文方法的分派效果.
5.2 评价指标
本文旨在根据用户提交的任务描述,分配擅长执行该任务的业务员.在本文的病患分诊实验中,需要评价分
派的医生和测试集标注的医生的差异.文中数据集由爬虫获取,没有类似数据的属性,实验中采用他们的诊疗病
例记录摘要的相似性和专长相似性来刻画,这里的相似度计算与前文的病情和诊疗摘要相似度计算类似.实验
选取的 3 个评价指标是:
(1) 平均用户满意度 Mean (∑ ||U su ) ;
i i
^
(2) 平均摘要相似度 Mean (∑ ||U asim (, )v v ) ;
i i i
^
(, )
(3) 平均专长相似度 Mean (∑ ||U ssim v v ) ,
i i i
^
其中, v 表示各种方法为第 i 个病情推荐的医生,v i 表示测试集标注的医生,asim 是两个医生间的摘要相似度,
i
ssim 是两个医生之间的专长相似度.
5.3 实验集设置
通过对用户文本评价的情感分析和用户评级结合,预测用户的满意值,将物理世界固有属性经过分级,并与
预测的用户满意值相结合,通过层次分析法确定权重,得到综合分数.通过历史任务的记录生成医生诊疗病例记
录的摘要,对摘要和任务进行相似度计算并排序,选取前 k 位医生再根据综合分数排序,生成推荐列表.因此需要
确定 k 值以进行后续实验,选取结果较好时的 k 值继续实验.实验步骤如下.
(1) 设置 k 值从 10 以步长为 5~50 不断变化,问诊患者数目 N 分别设置为测试集的 20%,40%,60%,80%和
100%,使后续实验的 k 值能在用户综合评价和任务业务员匹配度上表现较好.
(2) 依据历史患者的文本评价和评级计算得出医生的综合得分,预测患者对医生的满意度.
(3) 寻找与病患匹配度高的医生.依据病患与医生诊疗摘要的相似度排序,选择相似度较高的 k 位医生.
(4) 将步骤(3)中得到的医生的职称和所在医院的等级映射为现实空间的特征得分,并与步骤(2)中得到的
综合得分加权相加,最终得分是对医生的多个角度综合评估,以此排序最终生成容量为 3 的推荐列表.
(5) 为了验证患者数目发生变化时本文方法是否有相同的效果,将患者数目设置为从测试集病情数目的
10%以步长为 10%增加到 100%(同时,为了确保与训练集的病情记录分布一致,这里指各科室病情数
目的 10%).
5.4 对比方法
为了评价文中方法的有效性,通过对比本文方法的 3 个阶段,并选取两种现有的主流服务推荐方法作为基
准进行比较.为了保护患者隐私,本文实验在收集在线诊疗数据时已将患者个人信息排除,文中不再详细对比类
似文献[4]中兼顾考虑用户和项目两方面的服务推荐方法.一方面,这些工作因为对人机物交互带来的各方面人
为因素的影响考虑不足,会降低服务分派的准确率和用户体验;另一方面,也说明了本文方法属于第三方评测方
式,独立于服务请求者和提供者双方,具有更好的适用性和公平性.因此,文中选择基于用户和基于项目的两种
服务推荐方法作为基准方法进行对比.
(1) 考虑服务匹配度的方法(C-M):选择与用户需求服务最相似的一组服务提供者.根据分类器得出新病