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):选择与用户需求服务最相似的一组服务提供者.根据分类器得出新病
   85   86   87   88   89   90   91   92   93   94   95