温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
一种
融合
标签
患者
咨询
文本
医生
推荐
算法
周鑫
一种融合标签和患者咨询文本的医生推荐算法周鑫,熊回香,肖兵(华中师范大学 信息管理学院,湖北 武汉 430079)摘要:【目的/意义】针对在线医疗信息结构松散,医疗平台医生推荐精度不足的现状,设计了一种基于标签和患者咨询文本的医生推荐算法,提升医生推荐效果。【方法/过程】利用Word2vec模型训练患者咨询文本得到特征向量,改进余弦相似度算法计算医生推荐集A;利用LDA模型训练医生标签得到医生在主题上投影的概率分布,改进KL距离算法计算医生推荐集B;基于社会网络分析理论设计相关算法重构医生网络链接,选择中心性指标得到最终医生推荐集C。【结果/结论】以“丁香医生”数据进行实证,面向UGC数据丰富了算法的可用程度,弥补了单一推荐方法的不足,提高了推荐的精度。本文所提方法有效提升了医生推荐精度。【创新/局限】通过融合标签和患者咨询文本,采用社会网络分析实现了医生混合推荐。虽然通过中心性指标进行重要医生挖掘,但挖掘效果有提升空间。关键词:医生推荐;标签;Word2vec;LDA;社会网络分析中图分类号:G254DOI:10.13833/j.issn.1007-7634.2023.03.017收稿日期:2021-09-16基金项目:国家社会科学基金重点项目“数智驱动的在线健康资源挖掘与智慧服务研究”(22ATQ004);2022年度华中师范大学基本科研业务费(人文社科类)交叉科学研究项目“基于量化自我技术的个体健康管理研究”(CCNU22JC033)。作者简介:周鑫(1995-),男,江西吉安人,硕士研究生,主要从事网络信息组织和数据挖掘研究;熊回香(1966-),女,湖北鄂州人,教授,博士,主要从事网络信息组织和数据挖掘研究;肖兵(1993-),男,四川资阳人,博士研究生,主要从事网络信息组织和用户行为研究,通讯作者:。1 引言近年来在政策的扶持下,为了满足健康医疗信息用户交流、分享、合作、协调一致行动的本能需求,互联网在线医疗社区快速兴起,代表社区如“丁香园”“微博医疗”“好医生”等。医生和患者在平台中浏览诊疗信息、参与病情讨论、寻求潜在的合作和诊疗机会【1】,生成了海量却分散的健康医疗信息。这些指数式增长的信息呈现出大规模、异质多元、组织结构松散等特点,这给患者有效的信息获取和利用带来了诸多困难,因此需要对患者进行精准的医生推荐。当前大部分在线医疗社区(典型为丁香园、好医生)医生推荐的主要依据是医生“星级”“在线情况”“问诊价格”等网站指标,功能较为粗泛,推荐效果欠佳;进一步地,目前学界在线医生推荐研究方法上多基于传统的内容推荐【2】、协同过滤推荐【3】,内容上多基于传统的医疗文本如病例。因此,利用混合推荐方法弥补单一推荐手段的不足【4】,对用户生成的更具分析价值的标签、患者咨询文本等信息进行挖掘,无疑可以提高推荐的质量。本文提出了一种融合标签和患者咨询文本的医生推荐算法,选取患者咨询文本、医生擅长领域标签等数据进行推荐算法研究。首先,构建患者病症集合与医生集合,通过Word2vec模型对预处理后的患者咨询文本进行词向量训练以表征病症特征和医生特征,进而改进相似度算法计算病症与医生之间的相似度得到医生推荐集A;其次以医生推荐集A作为输入数据,利用LDA主题模型对医生标签进行医疗主题训练,将各医生的标签关系映射到潜在的医疗主题上,根据改进的KL算法计算概率之间的分布距离以表示医生之间的相似度进而得到医生推荐集B;最后结合医生推荐集A和B的推荐结果构建医生社会网络,利用社会网络分析方法设计网络链接值并计算中心性指标,得到最终的医生推荐集C。2 研究现状国内外一些学者对医生推荐方法进行了相关研究,主要集中在近五年的医学和计算机科学领域,多为探讨推荐算法与模型的设计与实现。Huang Y等人提出了一种基于医生绩效模型和患者偏好模型的医生推荐算法,旨在解决医生信息过载和预约不平衡的问题【5】;Makowski等人利用层次分析法提出了一种基于医患偏好模型的医生决策算法,辅助临床并提供治疗建议【6】;杨晓夫等人为解决传统推荐方法在医疗领域推荐质量不佳的问题,提出了一种基于矩阵乘法构建的医生推荐模型【7】;陈亚明对病历信息和处方信息进行挖掘,提出了一种基于 DBSCAN 聚类和 KNN 算法的疾病预测方法,进行医生处方推荐【8】。而在情报学领域中,医生推荐是个较新的课题,一些学者将传统的个性化推荐方法移植到了医生推荐课题中,取得了一定的进展。Waqar等人结合内容情报科学20232023年第年第3 3期期(第第4141卷卷)业务研究-145库、协同过滤和人口学过滤方法,提出了一种医生推荐系统【9】;李勇等人基于推荐过程中语义相关度的考量缺陷,提出了一种协同过滤推荐算法【10】。目前推荐方法多基于病历处方等传统医疗文本进行单一方法的推荐,混合推荐的研究较少,对海量的医疗UGC利用不足,对较新算法和模型的运用也有所欠缺,这使得在信息日益增长环境下丰富资源的利用程度、检索结果的可用程度、医生推荐的精确程度差强人意。因此,本文基于患者咨询文本和医生标签,融合机器学习领域、社会学领域相关方法和模型,设计了一种混合推荐算法。相关研究成果能够从独特视角丰富个性化推荐的理论与方法体系,促进情报学领域融合交叉学科发展;也可以帮助患者治疗和康复,节省医疗成本,节约社会资源,具有理论与现实意义。3 推荐模型构建本文构建的医生推荐模型是一种针对患者咨询病症,挖掘在线医疗社区中相关患者咨询文本和医生标签的语义关联,完成对症推荐的模型,完整架构如图1。该模型主要分为数据来源与预处理、基于患者咨询文本的推荐模型、基于医生标签的推荐模型及基于社会网络分析的推荐模型四个子模型。由图1可知,该模型实时从在线医疗社区收集更新每一位医生的患者咨询文本数据和标签数据,对不同推荐子模型需要的数据提供预处理和组织。首先将患者咨询的病症作为参数输入基于患者咨询文本的推荐模型中,输出与该病症最匹配的医生集合A。然后将集合A输入基于医生标签的推荐模型,召回部分医生,扩展医生推荐集合B;最终将两个子模型推荐的医生集合(A+B)输入基于社会网络分析的推荐模型,得到最终的医生推荐集C。3 3.1 1 基于患者咨询文本的医生推荐模型基于患者咨询文本的医生推荐模型患者咨询文本可以给予相似用户直观的建议,相关推荐能够起到改善推荐结果,扩大推荐覆盖面的作用。本节引入Word2vec词向量模型,将咨询文本内容映射成词语的向量形式进行相似度计算,使数据矩阵更为稠密,提高文本之间相关的可信度。3.1.1 文本训练与评估Word2vec是Google在2012年提出的一系列基于深度学习的用以产生词向量的模型,本质上是一种降维模型,利用上下词推测可能出现的词【11】。Word2vec分为词向量计算结构(Skip-gram)和连续的词袋模型(Continue bag-of-wordCBOW)。其中,CBOW擅长处理300M以下的小型语料。因此,采用CBOW模型对文本进行训练。为证明训练结果有效,可以作为下一步推荐过程的语料而不影响推荐精度,需要对训练结果进行可信度评估。为了不失一般性,选取代表性的词语作为训练测试集,计算词间的余弦相似度,找到与训练测试词语最相似的其他训练词语,进行训练效果评价。通过相似词的排序,判断得到的训练结果是否有效。有效的模型训练结果应当符合相似度预期,从而作为后续研究的基础。3.1.2 医生与病症特征表示(1)医生特征表示将医生对应的患者咨询文本数量记为n。选取k(knmin)个具有代表性的文本,这些文本是点赞数最高、查阅数最高、时间最近等最能表征该医生特征的文本。对k个预处理后的文本进行词向量表征,每个文本都被分解为m个特征词,每一个特征词都拥有一个词向量。整合该文本中所有保留下的训练词向量,并计算该向量集合的均值以表示该文本的文本句向量,以表征该文本对应医生的特征。那么,对于医生j的序号为k的文本,记其第i个训练词的向量为vki,其句向量则表示为(vk1+vk2+vk3+vkm)/m。(2)病症特征表示患者输入的病症词包含在患者咨询文本中,经词向量训练后即拥有词向量。与医生特征表示同理,一个或多个病症可用词向量进行表征。当患者咨询的症状词数量为1时,该症状词的词向量即表征当前病症;当咨询的症状为组合症状,即病症词数量大于1时,由各病症向量取均值,构造病症图1 医生推荐模型架构Figure 1 The framework of physician recommendation modelInformation ScienceInformation ScienceVol.41,No.3 2023-146句向量,以表征病症特征。对于疾病训练测试集W1,W2,W3,Wm,m为训练集的词语数量,计算病症句向量为(vW1+vW2+vW3+vWm)/m。3.1.3 医生推荐特征表示后,采用余弦相似度方法,通过计算表征后的医生和病症之间的相似度排序进行医生推荐。对于每位医生,选取表征文本k个,通过病症句向量和文本句向量计算得到的余弦相似度也有k个。那么,需要对这k个相似度进行整合,以表征医生和病症之间的关联,得到医生和病症之间的相似度,计算方法如公式(1)。sim()Dn,Um=sim()On1,Om+sim()Onk,Omk(1)式中Dn表示医生n,Um表示相关病症集合m,Oni(ik)表示医生n的第i个文本句向量,Om表示相关病症集合句向量。那么sim(Dn,Um)为医生n和病症集合m之间的相似度,sim(Oni,Om)为医生特征文本i的句向量和病症句向量的余弦相似度。根据医生与病症相似度的排序,选择相似度最高的n个医生,作为最终的基于患者咨询文本的医生推荐结果,记为医生推荐集A。3 3.2 2 基于医生标签的医生推荐模型基于医生标签的医生推荐模型上节所述方法考虑到了UGC中的关联信息,但是单一的基于内容的推荐方法存在一定局限。除了医生与患者之间的关联值得挖掘,医生之间的关联同样具备提供推荐的可行性。因此,可通过召回医生推荐集A的相似医生达到协同过滤推荐的效果。医生标签为协同过滤推荐提供了直接可靠的数据源。本节引入LDA主题模型量化相关相似度。隐含狄里克雷分配(Latenet Dirichlet Allocation LDA)模型本质上是基于概率分布,对文本中可能存在的不同主题出现的概率进行建模的方法【12-14】。某一文档资源可能存在不同概率分布下的文档主题,而这些主题依靠与之相关的词语来表达,不同的词语表达同一主题的概率也会随之不同。模型引入语词概率的度量方式,展现文档语义层面的关系。3.2.1 主题训练计算医生主题联合概率分布的目的是利用潜在的主题量化医生和医生之间、医生和标签之间的联系。传统的标签关系挖掘单纯从共现角度进行相似度计算,在Web2.0环境下会造成系统误差。医生在定义标签时没有特定规则,对于擅长同一疾病的医生集合,不同医生会用不同的标签进行表征,如“感冒”“咳嗽”“呼吸道感染”等,这些标签各自不同但含义接近。因此,LDA主题概率分布可以从语义角度弥补标签存在的不限定规则问题,提高标签表征相似医生的精度。3.2.2 主题矩阵构建本节通过挖掘不同医生基于标签的语义关系进行相似推荐。而构建主题矩阵,可以将医生之间的相似程度以主题概率分布的形式进行量化,进而计算医生之间的相似度。(1)医生标签矩阵构建LDA三层结构中,主题层是隐性的,医生集和标签是显性的,因此可以根据显性的标签链接关系,构建医生标签矩阵。那么有医生集合U=u1,u2,,un(n为医生总数),标签集合T=t1,t2,tm(m为标签总数),医生标签矩阵表示为公式(2),其中,tij(in,jm)为第i位医生的第j个标签。为阐述方便,该矩阵是一个m*n维矩阵;但LDA模型实际允许输入不规则的矩阵进行主题概率分布训练。X=|u1u2 un=|t11t12 t1mt21t22 t2m tn1tn2 tnm(2)(2)医生主题矩阵构建将显性的矩阵X作为模型训练的输入数据,设定潜在主题维度k,运用吉布斯迭代采样方法进行主题