融合Word2Vec 和层次分析法的医生推荐研究

2022-11-18 03:56王妞妞熊回香
中华医学图书情报杂志 2022年1期
关键词:分析法向量咨询

王妞妞,熊回香,刘 樱

在线问诊是互联网医疗的一种常见服务模式。近年来,国内外涌现出一大批在线问诊平台,如国内的“好大夫在线”“春雨医生”“快速问医生”等平台,国外的Health Tap、American well 和Doctor demand 等平台。这些在线问诊平台减少了患者线下就诊带来的时间和空间的不便,一定程度上承担起公共卫生安全知识的宣传普及和常见疾病的预防、科普、诊断等职能。随着智慧医疗行业人工智能、物联网等技术的持续融合发展,在线问诊平台在满足患者日常健康需求方面将发挥越来越重要的作用。在线问诊平台提供了医患交互接口,并展示了多项医生信息供患者决策,有在线健康咨询需求的患者可以通过问答形式在平台上向医生描述自身疾病情况,医生上线后针对患者咨询问题给出相应诊断和建议,同时患者也可以通过浏览与自身疾病相似的患者的问诊过程为个人健康问题寻找答案。然而,随着在线问诊平台中医生和患者规模的不断扩大,平台产生了海量的相关信息,患者难以从中识别并选择符合自身需求的医生。与此同时,多数在线问诊平台往往通过医生的专业职称或临床经验等单一显性指标向患者推荐问诊医生,未充分挖掘利用在线问诊平台数据,不能充分评估医生的专业程度和在线活跃程度[1],患者的问诊需求难以得到精确满足,很多患者的咨询也不能得到及时回复,降低了患者问诊满意度,因此,为了向有健康咨询需求的患者推荐高专业度和高活跃度的医生,本文提出了融合Word2Vec 和层次分析法的医生推荐模型,以期满足患者需求并为完善在线问诊平台的功能提供有益探索。

1 相关研究

目前,已有学者根据患者和医生特征将推荐技术应用于医生推荐研究。如有学者通过计算患者咨询文本与医生特征的相似度,为患者推荐医生[2];有学者利用潜在狄利克雷分配(latent Dirichlet allocation,LDA)主题模型和K-means 算法对医生专业背景进行聚类,通过将患者咨询内容和医生专业背景信息进行相似度比较,向患者推荐专业匹配较高的医生类别和医生对象[3];有学者基于医患交互数据和医生积累的临床经验,利用Word2Vec模型和余弦相似度,生成融合相似患者和相似医生的医生推荐集[4];有学者通过计算疾病相似性和医生专业相似性,寻找隐含的相似疾病和相似医生,并提出一种改进的矩阵分解方法以提升医生推荐的有效性[5];有学者运用labeled-LDA 模型得到概率分布,计算患者健康问题信息与医生专长信息的相似度,为患者推荐匹配度高的医生[6];有学者根据患者信息和医生在社交网络中的权威度进行医生推荐[7];有学者通过挖掘海量咨询文本,设计了基于聚类的协同过滤算法,并考虑了医生的活跃度,根据相似病例向患者推荐适合解决这类病例且在线活跃度高的医生[8];有学者运用层次分析法(analytic hierarchy process,AHP)建立医生患者特征模型,通过将患者模型与医生模型进行匹配,从而实现医生推荐[9];有学者使用层次分析法,以预约绩效和出诊绩效为指标建立了医生绩效模型,结合协同过滤的思想,提出了一种基于组合模型的医生推荐算法,该算法能够较好满足患者预约需求[10];有学者结合相似患者、相似医生及医生绩效3 种条件,深入挖掘医患特征,构建医生推荐模型,并通过试验证明了该模型具有良好的推荐效果[11]。

当前的研究结果显示,基于深度学习的文本特征提取是充分表达用户偏好的关键,Word2Vec 模型将文本用词以向量的方式表示,通过向量空间的相似度衡量文本相似度,克服了词袋表示的不足,能够挖掘词与词之间的关联属性,从而使语义信息更丰富,可用于医患问诊文本的挖掘[12]。而基于相似患者及医生绩效评价体系的医生推荐虽具备良好的推荐效果,但多数关于在线医生推荐的研究未充分评估在线医生的专业度和活跃度,仅依赖医生的专业水平或权威程度进行推荐,忽略了医生的其他专业度指标及在线响应度,往往容易导致最终推荐结果不能满足患者咨询的及时性需求。因此,在建立医生推荐体系时,有必要从患者决策偏好出发,深入挖掘相似医生及医生的专业度指标和活跃度指标。目前尚未有融合Word2Vec 模型和层次分析法的医生推荐研究。基于此,本文拟通过Word2Vec 模型深入挖掘患者咨询文本及已有医患就诊映射关系,得到相似患者的医生推荐序列;然后根据医生的专业度指标和活跃度指标构建层次分析法模型,充分表征患者决策多维属性,实现更符合患者偏好的医生推荐,从而向有健康咨询需求的患者推荐高专业度和高活跃度的在线医生,提高在线问诊平台服务质量。

2 数据来源及推荐框架描述

2.1 数据收集与预处理

“好大夫在线”平台创立于2006 年,是国内领先的在线问诊平台之一。截至2021 年7 月,“好大夫在线”平台已累计服务超过7 200 万名患者[13]。该平台于2020 年10 月份在患者咨询界面加入“相关文章”和“相关问诊”推荐模块,后改为“相关推荐”模块,便于用户找到相似患者,也起到了医生推荐的作用,但仍然存在相关问诊文本相似度不高、相关医生擅长科目不同、推荐医生活跃度不高和推荐结果中含有无诊疗经验医生的问题。因此,基于该平台服务水平,本着为该网站的进一步优化提供可行建议的目的,本文选择“好大夫在线”平台作为实证对象,验证本文提出的模型的适用性和可靠性。

从“好大夫在线”平台上的“按疾病”查找导航模块采集数据,选择“神经内科常见疾病”中的“头晕”作为实证研究对象。为了保证在线医生的活跃度,本文利用Python 网络爬虫获取“推荐医生”界面的医生自2020 年9 月1 日至11 月7 日的全部问诊数据记录[14],共采集到249 名医生的基本信息数据和37 276 条患者相关数据(表1、表2),这部分数据是对海量医患信息的初步筛选,有利于精确定位符合用户偏好的高活跃度医生。其中与医生相关的数据项包括医生姓名、医生职称、综合推荐热度、在线服务满意度、在线问诊量、科普文章数量、感谢信数量、心意礼物数及上次在线时间;患者相关的数据包括在线咨询文本(包括患者疾病描述、疾病、医患对话数、问诊日期)和患者其他特征(患病时长、怀孕情况、过敏史)。需要说明的是,患者在“好大夫在线”平台咨询时,需提供其疾病描述和疾病名称,如果不确定疾病名称,则需要提供2~20 字以内的主要疾病症状,实际上是一种短文本类型的疾病描述。本文按照该网站规定,将疾病名称和主要疾病症状统称为“疾病”。此外,为了保障医生、患者的隐私及权益,本文在推荐过程中用医生编号和患者编号代替姓名数据项。

表1 部分医生基本信息数据集

表2 部分患者咨询文本及基本信息数据集

为便于数据分析,提高医生推荐质量,需进行必要的数据预处理工作。因此,本文在将表1 数据中的重复值剔除后,将医患对话数少于2、医生被咨询文本少于5、无法获取临床经验、上次在线时间为1 个月之前的医生全部剔除,并清理无实际意义的咨询文本数据记录,如“今天己复诊”“今天去您那看病”“因我打字太慢,我把病情概述和检查结果及目前用药都拍照上传给您了……不好意思给您添麻烦了”等文本。预处理后筛选得到141条医生记录,以及21 291 条患者咨询文本。

为构建医生诊断能力层次分析法模型,需要对医生基本数据进行标准化处理。首先,按照公式(1)对综合推荐度、在线满意度、总患者数、总文章数、感谢信数、心意礼物数等做归一化处理,将上述数据映射为(0,1)区间的小数,避免不同数量级对最终结果的影响;其次,将医生职称从高到低排序,转化为数字表示,将主任医师标记为1,副主任医师标记为0.5,主治医生标记为0.35;最后,标识医生最后在线时间,按照上次上线时间从近到远活跃度水平依次递减的顺序,将在线时间为今天标记为1、1 天前标记为0.8、2 天前标记为0.6、3 天前标记为0.4、4 天前标记为0.2,其他时间均标记为0.1。最终处理后的医生基本数据如表3 所示,患者基本数据如表4 所示。

表3 预处理后医生基本数据表示

表4 预处理后患者基本数据表示

续表4

2.2 医生推荐框架

本文融合Word2Vec 和层次分析法构建医生推荐模型,主要分为基于Word2Vec 的医生推荐、基于层次分析法的医生推荐、融合Word2Vec 和层次分析法的医生推荐3 部分。具体模型如图1所示。

图1 融合Word2Vec 和层次分析法的医生推荐框架

基于Word2Vec 的医生推荐。对从在线问诊平台上获取到的患者咨询文本数据(包括疾病描述和疾病2 个数据项)进行筛选剔除、分词、去停用词等预处理操作,借助Word2Vec 模型将咨询文本转化为词向量,通过计算词向量之间的余弦相似度,得到与目标患者咨询文本相似度较高的患者集合A。然后根据患者的患病、是否怀孕等特征,筛除集合A 中的部分患者,得到相似患者集合B。依据患者和医生的实际问诊关系,得到医生候选集C。

基于层次分析法的医生推荐。将从在线问诊平台上获取的医生基本数据项分为专业度指标和活跃度指标,构建层次分析法评价模型,得到每位医生的诊断水平评分,按照评分从高至低排序,输出医生推荐序列D。

融合Word2Vec 和层次分析法的医生推荐序列,综合上述2 项医生排名,得到最终医生推荐集合E,供目标患者参考。

3 基于Word2Vec 的医生推荐

Word2Vec 是Tomas Mikolov 团队在2013 年提出的用于快速有效地训练词向量的模型[15]。Word2Vec 能够从海量的文档数据中学习出高质量的词向量,该词向量在语义和句法上都有很好的表现,因此该模型已被广泛应用于自然语言处理的各种任务中。本文基于Word2Vec 进行患者咨询文本相似度计算,将患者咨询文本转化为向量形式,通过计算空间中向量的相似度来表示文本语义上的相似度。当前主要有Continuous Bag-of-Word(CBOW)和Skip-gram 2 种训练模型,其中CBOW 模型根据中心词周围的词来预测中心词,Skip-gram 模型则根据中心词来预测周围词。在Skip-gram 模型中,每个词均受到周围词的影响,每个词作为中心词时都需要进行多次的预测、调整,这种多次调整会使词向量更加准确。因此,本文选择以Skip-gram 模型作为训练模型,将初始患者咨询文本集合(37 276条患者咨询文本记录)作为训练语料,预处理后的咨询文本集合(21 291 条患者咨询文本记录)作为测试语料。用户在“好大夫在线”平台问诊时,需提供其疾病名称及疾病描述,本文将这2 类数据统称为“患者咨询文本”。为更精确地衡量患者相似水平,本文综合考虑疾病描述和疾病2 类数据相似度,并赋予相应权重得到最终相似度。根据2 类数据的实际文本长度,设置疾病描述词向量维数为100,疾病词向量维数为10,得到患者疾病描述向量表示和疾病向量表示(表5、表6)。

表5 患者疾病描述向量表示

表6 患者疾病向量表示

根据表5 和表6 中的向量表示,计算向量之间的余弦相似度,得到患者咨询文本的相似度。本文认为患者会将更多的患病信息表述在疾病描述中,同时根据实际测试,当为疾病描述相似度和疾病相似度分别赋予0.7 和0.3 的权值时,得到的患者病情相似度更为精确,其结果如表7 所示。

表7 患者病情相似度

为直观显示本模型的推荐过程,又不失一般性,本文随机选择第5609 号患者作为目标患者,该患者的疾病描述为“近半个月来总是感觉头晕,早上起来好点,越到后面感觉越明显,头晕的感觉不是天旋地转的那种晕,就是走路不稳、老想摔倒的感觉。”其疾病应为“双侧额叶及左侧顶叶缺血灶、头晕、手麻”。现根据前文所述的患者疾病相似度计算方法,寻找与该患者相似的其他患者,根据已有的医患问诊关系,向该患者推荐可接诊医生。多次试验测试发现,当设置相似度阈值μ=0.76时,既确保了患者之间较高的相似性又保证了相似患者的数量在可接受范围内。依据设定阈值得到相似患者集合A,总计3 723 名患者(表8)。

表8 与第5609 号患者相似的患者集合A

同时考虑第5609 号患者患病时长为“半年内”,“未怀孕”且无“过敏”和他病史,针对上述特征,筛除患病时长“大于半年”,“怀孕”及有过敏史患者,得到相似患者集合B,总计1 601名相似患者(表9)。

表9 与第5609 号患者相似的患者集合B

根据相似患者集合B 与医生的实际问诊关系,找到集合B 中患者问诊过的医生,然后将患者按照为其问诊过的医生姓名分类,计算出每位医生类别下诊断过的相似患者的相似度均值,作为这些患者与第5609 号患者的病情相似度,按照相似度递减顺序排列生成共含有111 名医生的医生推荐序列C(表10)。如随机抽取相似患者集合B 中第17704 号患者,该患者实际咨询过的是编号为84的医生(即“医生84”),同时编号集合{17708、17710、17716、17720、17724、17725}中的患者也咨询过“医生84”,则将{17704、17708、17710、17716、17720、17724、17725}集合的患者以医生姓名划分,归为一类,将这些患者与第5609 号患者的咨询文本相似度均值0.873 作为该类患者与5609 号患者的相似度。

表10 第5609 号患者的医生推荐序列C

4 基于层次分析法的医生推荐

层次分析法是由美国运筹学家 Thomas L.Saaty 于20 世纪70 年代初应用网络系统理论和多目标综合评价方法提出的一种定性与定量相结合的、系统化、层次化的分析方法[16]。该方法将与决策有关的元素分解成目标、准则、方案等层次,在此基础上进行定性和定量分析,具有系统、灵活、简洁的优点,适用于具有分层交错评价指标的目标系统[17],现已在资源分配、选优排序、绩效考核等领域广泛应用。本文借助层次分析法建立医生诊断能力评分体系,旨在综合考量医生的专业指标和活跃程度,为患者提供更可靠的推荐服务。具体步骤如下。

步骤1:建立递阶层次结构模型。建立评价体系前,需将全部指标条理化、层次化,构造出一个有层次的结构模型(图2),这些层次可以分为最高层(目标层)、中间层(准则层)、底层(方案层)。本文将医生诊断能力评分体系构建作为目标层,以专业度指标和活跃度指标2 项准则为中间层。本文在专业度指标下设置了医生职称、患者数、心意礼物数、感谢信数、综合推荐热度和满意度6 个指标,在活跃度指标下设置了综合推荐热度、满意度、科普文章数量和上次在线时间4 个指标,符合基本认知。

图2 医生诊断能力评分体系递阶层次结构模型

步骤2:构建各层次中的所有判断矩阵。根据步骤1 中构建的递阶层次结构,将同一层内各个指标进行两两重要性对比,得到准则层的判断矩阵Z,以及方案层的判断矩阵F1、F2,F1代表专业度指标这一准则下6 个方案的重要程度判断矩阵,F2代表活跃度指标这一准则下4 个方案的重要程度判断矩阵。判断矩阵中第i行j列的元素aij代表第i行表示的指标重要程度与第j列表示的指标重要程度的比值。通常情况下我们选择表11 所示的标度进行度量。为保证判断矩阵的可信度,本文前期调研了一定数量的“好大夫在线”平台用户,收集了用这些用户构建的3 个判断矩阵,并对各分量求均值,得到最终的判断矩阵Z、F1、F2。其中,矩阵Z中数值1.433 代表调研用户认为在选择在线医生时,专业度指标的重要程度是活跃度指标重要程度的1.433 倍,其他元素同理。

表11 判断矩阵标度定义

表12 平均随机一致性指标

步骤4:各指标权重计算。层次分析法中权重的计算有几何平均法、算术平均法、特征向量法和最小二乘法4 种。在本步骤中利用算术平均法依次计算出各指标的权重(表13 至表16)。

表13 目标层医生诊断能力评价体系判断矩阵及各指标的权重

表14 准则层专业度指标判断矩阵及各指标的权重

表15 准则层活跃度指标判断矩阵及各指标的权重

表16 方案层各指标的最终权重

利用方案层各指标对医生诊断能力的权重(表16)对表3 中的各项数据进行赋权,得到医生诊断能力评分结果及排序(表17),即“医生推荐序列D”。

表17 医生诊断能力评分结果及医生推荐序列D

5 融合Word2Vec 和层次分析法的医生推荐

利用Word2Vec 计算出患者相似度,生成医生推荐序列C;通过层次分析法,综合考虑医生的专业度指标和活跃度指标,得到医生推荐序列D。对医生推荐序列C 和医生推荐序列D 中同一医生的排名进行相加,按照排名之和输出医生推荐序列E(表18),按照最终排名输出前10 名医生作为向第5609 号患者推荐的医生集合。

表18 医生推荐序列E

6 推荐结果分析

假定第5609 号患者尚未就诊,根据咨询文本和医生诊断能力评分体系向该患者推荐的医生集合为{118,29,131,18,78,108,81,129,117,104}。医患实际问诊结果显示,为其接诊的是编号为78 的医生,在推荐集合内,说明该推荐结果可以很好地满足患者需求。本文将疾病名称作为医生的特征表示,计算医生之间的临床相似度,再抽取上述集合中医生之间的相似度(表19)。结果显示,该推荐集中的医生普遍具备较高的专业水平相似度,能够较好地满足患者的诊断需要,并且所推荐医生的活跃程度都很高,能够及时响应患者的咨询需求。

表19 推荐医生的临床经验相似度

续表19

为证明该推荐模型的普适性,本文随机生成20 位患者编号集合{14801,10598,1742,10618,15363,10557,13266,7083,12578,2644,6952,16041,3054,5776,17403,1846,4819,2854,5900,2165}作为测试集。将测试集分成2 组进行试验。第一组,根据相似患者的疾病描述和疾病相似度,得到相似度较高的前10 名医生,若该患者实际就诊的医生F 在推荐列表里,并满足其他推荐医生与实际就诊医生F 的临床经验相似度高于0.9 这一条件,且保证推荐医生最近在线时间为今天,则说明推荐成功,满足上述条件的医生数量记做实际有效推荐数量;若不满足上述条件,则说明推荐失败。第二组,按照本文所提融合Word2Vec和层次分析法的医生推荐模型,依次完成推荐,最终推荐结果若满足第一组试验中推荐成功的标准,则代表推荐成功,反之则代表推荐失败。计算出每组试验的有效推荐比例,记为本次试验准确率(图3)。从图3 可以看出,融合Word2Vec和层次分析法的医生推荐模型优于只考虑相似度的推荐方式。

图3 两组试验的准确率测试结果

7 结语

近年来,我国积极推进的“健康中国”战略及医疗服务供给侧改革已取得一定成效,但仍存在医患交流时效低下、医疗资源分配不均和就医流程繁琐等问题,在线问诊平台的出现为解决上述困境开辟了一种新思路[18]。对用户来说,从在线问诊平台寻求合适的医生是他们最关注的问题,医生的专业度和活跃度通过影响用户的“感知成本”和“感知信任”成为导致用户发表负面评论的关键因素[19]。本文从当前“好大夫在线”平台相关问诊推荐模块存在的“推荐问诊文本相似度较低”“推荐医生活跃度不高”等问题入手,提出了融合Word2Vec 和层次分析法的医生推荐模型。利用网络爬虫技术抓取医生、患者的多重特征,综合考虑文本、数值类型,进行实证研究,结果显示该模型综合考虑了医生的专业程度和活跃程度,可以更加有效地评估医生能力,具备较好的推荐效果,可以作为该网站下一步优化完善的可行思路。此外,融合Word2Vec 和层次分析法的医生推荐模型也可进一步适用于其他如“春雨医生”等在线问诊平台,这些问诊平台都包含医患问诊文本及医生专业度和活跃度信息,同样适用于该模型的推荐体系。但本文也存在一定不足,在构建层次分析法模型时,调研用户量不够大,今后可考虑进一步扩大调研范围,完善优化判断矩阵构建过程,优化推荐模型。

猜你喜欢
分析法向量咨询
向量的分解
基于DEA分析法的全国公路运输效率分析
聚焦“向量与三角”创新题
基于层次分析法的智慧城市得分比较
基于层次分析法的智慧城市得分比较
电化学发光分析法测定糖尿病相关二肽
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
服务与咨询
健康咨询