基于语义的医疗资源均衡推荐算法

2015-01-02 07:38徐守坤吴伟伟
计算机工程 2015年9期
关键词:病患本体医生

徐守坤,吴伟伟

(常州大学信息科学与工程学院,江苏常州213164)

1 概述

中国是一个人口大国,拥有13亿多的人口,占世界人口的22%,医疗资源仅占世界资源的2%,因此,医疗资源的稀缺性不言而喻,而且在中国30%的城市人口占有80%的医疗资源,大部分集中在沿海发达城市,可以看出医疗资源的分配也不合理。众多疑难病患者要想看病,尤其是看专家、名医,就都涌入一线城市求医。在这种情况下,各种针对医疗领域的网络信息平台应运而生,以便使普通民众能够及时获取医学知识和医疗领域信息。

在传统的医疗信息系统中,获取医疗知识的主要手段是基于关键词的查询方法[1-3]。但是随着医疗资源信息的快速增长,此种方法已经很难找到符合患者需求的信息。最近研究得到的一些系统中已经开始使用自动推荐[4-5]的技术来获取医疗资源信息。文献[6]提出了一种基于用户属性的协同过滤推荐方法,对于有特定疾病的患者,这种推荐方法的效率较高。文献[7]提出了一种基于协作的医学知识推荐方法,此种方法主要依据对临床医学的历史评级来产生一个信任因子,进而把这种信任因素融入到协同过滤的推荐算法中,从而为患者推荐出符合自身需求的医生,这种方法既解决了医生信息过载问题,又提高了推荐质量。文献[8]通过对用户兴趣偏好的行为进行分析,对现有的用户文档进行信息抽取,形成了用户本体,并根据医疗信息建立了一个本体知识库,然后依据协同过滤推荐方法,实现了符合用户需求的医疗资源推荐。

考虑到在现有的推荐系统平台中,所运用的推荐算法大都是一种最佳的个性化推荐算法,推荐效果是最好的,因此,会造成最佳资源的过度集中。另一方面,一般的个性化推荐算法没有考虑大规模应用的情况,在大规模应用时,会出现资源瓶颈问题。例如:在医疗信息系统中,医院和医生的资源是有限的。因此,为了合理利用医疗资源,使得病患能够通过网络信息载体获取咨询诊疗的机会,本文运用一种稳定匹配算法,并把这种算法与语义本体技术相结合,使得每一个病患都能找到替其看病的医生,并且符合推荐的结果。

2 稳定匹配算法

稳定匹配算法算法是由2012年诺贝尔经济学奖的得主 Alvin E.Roth和 Lloyd Shaley最先提出的,主要应用在计算经济学领域[9]。该算法首先要有一个匹配市场,涉及2个不相交的个体集,并且个体集中有偏好对应。

该算法的具体设计思想如下:一个市场具有两方,一方按照自身偏好的先后次序对另一方的个体做出提议,那些获得比他们能接受数目更多提议的个体,会拒绝那些他们最不喜欢的个体的提议,但他们不立即接受他们拒绝的个体;相反,他们在不作出任何决定的情况下留住这些建议,直到算法结束,然后作出接受的决定[10]。

3 语义建模

3.1 医疗资源建模

本文中医疗资源是推荐的内容,其中最主要的推荐资源是医生资源,为此,引入语义网中的关键技术——本体[11-13]来描述医疗资源。本体是一种共享概念的形式化规范化说明,它能有效地表达概念的层次结构和语义,并且提供了良好的数据整合与互操作性。它的目标是获取相关领域的知识,提供对该领域的知识理解,确定对该领域共同认证的术语,并定义出这些术语间的关系。医疗资源内容丰富,而依据本文的研究目的,建立本体的着重点在医生资源,因此在建立过程中会考虑加入一些有利于医生资源推荐的概念。如此,本体的主要概念会有医生的科室、职称、擅长、信誉等级等。目前,较为成熟的是一体化医学语言系统(Unified Medical Language System,UMLS),它是由美国国立医学图书馆(NLM)研究和开发的,主要包括4个部分:超级叙词表(metathesaurus),语义网络(semantic network),情报源图谱(information sources map)和专家词典(SPECIALIST Lexicon),其中超级叙词表是由术语、生物医学概念、词汇及其等级范畴、含义集成的。本文是以UMLS中的标准化概念为基础而建立的本体,在构建阶段采用斯坦福大学医学院开发本体时所用的七步法,并借助了Protege本体建模工具,如图1所示。

图1 医疗资源本体

在图1中的数据词典可以根据本体中定义的概念,来映射日常生活中使用的一些意义相同或相似但表达不一样的的概念。例如:“Credit Rating”可以表达医生的信誉等级,相对应于日常生活中所使用的“信誉度”、“评级”等概念,为了把用户的查询需求转变为可以利用的推荐信息,当用户表达的需求比较模糊和相近时,可以使用数据词典来识别用户的需求。

3.2 用户建模

患者是推荐的对象,本文采用一种新的匹配方法——稳定匹配算法来处理推荐过程中的个性化匹配问题。这种方式需要建立筛选规则,这些规则需要有效的数据源来进行筛选匹配。因此,需要建立一个患者资料本体。建立的患者本体应该有利于使用筛选规则,因此,在设计的过程中,患者对于自身疾病的描述尤为重要,所以,需要考虑到医疗本体中与之相关联的概念。用户首先要将这些基本信息映射到本体中,即要进行信息注册,因此,需要用到的建模概念有患者、联系方式、病情描述等。建好用户本体是应用规则的前提,它可以对用户进行统一描述,并把需要的用户属性应用到推荐中。用户本体的建模工具与医疗本体相同,一个患者实例的基本信息描述如下:

3.3 规则集建立

本体一般描述一件事物,但是它提供了一组描述逻辑推理的服务[14],因此,可以通过建立推理规则,使得本体中概念与概念之间的关系清晰的表达出来,并返回与用户需求真正语义相关的结果。规则集针对用户本体建立,取出用户本体中表示用户偏好的属性,再依据属性建立具体的规则,推理得到的结果就是医生的特性[15]。例如,一个病患P经过多次测量血压值,测得结果是舒张压大于等于90 mmHg且小于等于99 mmHg,则推断这个患者P是一名轻度的高血压患者。在这个规则中,要描述出P是一个患者,还要描述出所测患者的舒张压,以及舒张压的范围,最后得出推断结果。这个规则描述如下:

4 推荐算法

4.1 算法描述

本文的推荐算法首先是对病患的需求进行处理,获取病患的偏好信息,然后筛选规则将这些信息转换成对应的医生资源特性,作为一种匹配条件。从而对医生与病患作出一种稳定的匹配,最后经过匹配获取既满足病患的需求,又能充分考虑医生承载能力的推荐结果。

对于病患来说,每个人都想选择专业素质强、信誉度好的医生看病。可以把此种行为看做是一种用户的自私行为。那么所寻求的推荐结果应是满足以下要求的:每一个病患都能找到替其看病的医生,并且不存在某一个病患比起被现有的医生治疗,更愿意被其他医生诊疗的情况;而对于医生来说,在自己的专业领域内,尽可能多地为病患诊治,但是不会使寻求自己治疗的病患出现拥堵现象,即需要诊治的病患能够及时就医。具体的算法如下:

(1)提取用户偏好的需求元素qei,i∈N,获取病患的偏好需求。

(2)偏好需求分类,将qei与概念中的内容进行匹配,找到qei所对应的类别class,获取过滤条件。在类别classi对应的概念中找到与qei相同的全部概念 ci,j,i,j∈N+,表示为(classi,ci,j)的形式;若病患的需求描述比较模糊,则需要在数据词典中进行查找分类,然后进行检索过滤。

(3)检索符合条件的医生特性。首先按照集合(classi,ci,j)得到一个医生特性的集合 DP=(dp1,dp2,…,dpn)。

(4)再次检索。在不作出任何承诺的情况下保留上述的检索结果,按照规则集R进行二次筛选。直到把集合DP中的所有特性筛选一遍,将DP换成一个新的医生个体集合 D=(D1,D2,…,DN)。

(5)此时,医生可以从自己的病人集合P=(P1,P2,…,Pn),n∈N+∩n≤25(这里的25 是规定医生每天可以诊治的病患人数阈值)中,选出最符合自己的专业擅长领域并且最需要救治的一个病人,并且拒绝其他的病患,但是,这个医生并不立刻接收当下的病患的问诊需求,而是将其作为保留人选,给下一轮病患(又可能存在需要急诊的病患)更好的问诊机会;然后,进入第2个阶段,在第1轮看病中被拒绝的病人,可以向自己医生集合中的第2个选择问诊,收到诊治要求的医生,从新的病患和保留的病患中,选出符合自己的专业擅长领域并且最需要救治的一个病人,同样再次拒绝其他的病患;接下来,以同样地方式继续,在第2个阶段中被拒绝的病患,向自己的再次一个问诊,医生仍然只从保留的病患和新的病患中选出最符合自己的专业擅长领域并且最需要救治的病人,把其加入自己的候补名单中,拒绝掉其他人;最终,当医生的候补名单中出现25个病患时,问诊咨询就结束了。这里规定:每一个病患不能够对同一个医生提出超过一次问诊。这样可以确保每个病患至少能够获得一个匹配的结果。

4.2 结果排序算法

结果排序算法的具体步骤如下:

(1)获取推荐结果集Result Sets中的医生实例D以及医疗本体中医生的特性dpj以及该医生的权威级别authorityj。

(2)利用式(1)计算医生的被选择度:

其中,权重wij表示用户考虑选择医生时,其偏好需求对于医生特性和医生权威级别的契合度,初始值为1。

(3)通过计算结果集中每个医生的被选择度,将结果集中的医生实例按照权重值递减排列。

(4)作出最终推荐。

推荐流程如图2所示。

图2 过滤推荐流程

5 实验验证

5.1 评价方法

为了验证本文提出的推荐方法是否具有令人满意的表现,本文进行2组实验,实验方案如下:第一组实验是把本文的推荐算法与文献[16]中所采用的基于约束的推荐算法做出对比,分别对应用本文提出的方法与基于约束的推荐算法所推荐的结果做出统计,即统计出推荐医生被用户所选择的次数。然后进行对比分析。并且对第1次测试中应用本文系统的用户(包括病患和医生)做出基于网络的反馈调查,得到用户对推荐结果的认同程度。第2组实验是对比本文提出的推荐算法与Item_based的协同过滤推荐算法,对他们的推荐性能做出测评,本文所采用的评价推荐算法的性能指标为查准率(precision)、查全率(recall)和F1值(F1),定义如下:

其中,CorrectDoctorFound表示符合用户需求的医生数量;TotalDoctorFound表示算法搜索到的医生数量;TotalDoctor表示医生数目。

5.2 实验及结果分析

实验1实验数据源选取300个在校身体不适的学生来选择合适的医生,这些学生被分为3组,每组100人,身体不适的原因分别是胃肠不适、骨科以及口腔牙齿疼痛。医生样本选取中国江苏省常州市的5个医院的15名医生,来自的科室分别是胃肠外科5位、骨科5位、口腔科5位。这些医院的医生信息来自目前比较流行的医药信息网站“寻医问药网”。

第1次测试应用本文所提到的推荐方法,以病患的选择为标准,在所得到的最终结果中,病患选择被推荐医生次数统计如图3所示。

图3 本文算法中病患选择医生次数

从此次测试结果来看,15个被推荐医生被病患选择的次数均分布在17次~23次之间,其中,被选择推荐医生次数多集中在19次~21次。从图中可以看出,这一段曲线相对平滑,波荡不大。也就是说,每个医生看病的人数大致处在一个均衡的水平,不会出现某个医生诊治特别多病人的情况。

为了考察用户对推荐解决方案的认同程度,推荐结束后,采取网络问卷调查的形式,获取用户的评价。表1给出了病患评价的6个问题的因素。对于医生,其评价标准主要是就诊病患是否是该医生职业领域所擅长诊治。

表1 评价因素

调查结束,对结果进行统计分析。经计算有71.2%的病患对系统推荐的医生诊疗水平感到满意,认为符合自己的需求;78.9%的医生认为系统分配的病患集合符合执业领域。这是因为一般的门户网站对用户需求进行检索时,由于用户的专业术语以及用词习惯等问题,其存在匹配不全面、不准确的问题。本文中系统采取一种基于本体论的语义建模,能够为用户需求信息的表示、处理提供一个较为合理的标准,使机器理解用户需求信息中的语义,较好的处理需求信息中的概念和逻辑关系造成的误解。

第2次测试应用文献[16]提出的算法,此种算法要求收集当前用户的需求以便做出推荐,主要是利用领域知识为用户找到合适的推荐结果。具体是先显示地定义约束,把推荐任务看做是一个约束满足问题的过程,满足约束的候选项就推荐给用户。此处规定每个用户选择其推荐列表中的第1个医生,即被推荐次数最高的医生。实验结果统计如图4所示。

图4 对比算法中病患选择医生次数

从此次测试结果来看,3种疾病的患者的推荐列表中第1位的分别是doc4,doc8,doc14,也就是说,大部分的患者选择的都是最优的结果。相比较第1次测试来看,应用此种算法推荐的是最佳资源,但推荐的结果相对集中,若是大规模应用,就会显现弊端。

综合上述2次测试可以看出,本文中的方法推荐效果较好,而且在不影响推荐效果的基础上,能够使医疗资源分配平衡,得到合理的运用。

实验2本组实验是与Item_based推荐方法做出测试比较。Item-based的协同过滤推荐算法首先计算项目及相关项目之间的相似性,再通过用户评分相关项目,预测出未给分项目的分值,最后再作出推荐。

具体的实验方法是,选取5名学生病患和10个医生加入到实验样本中,其中,P表示病患集、D表示医生集;RP表示重新加入学生病患的病患集,RD表示重新加入医生后的医生集,它们被用作参考样本预测评分。表2是一个示例,表示了应用对比算法通过病患rp1与实验病患p1对于医生rd1和rd2的评分,评分的最高分值不超过5分,来计算他们之间的相似性,从而预测出实验病患p1对实验医生d1的评分。

在表2 中,rpi,i∈[1,5]是 RP 中的学生病患实例;rdi,i∈[1,10]是 RD 中的医生实例;pi,i∈[1,300]是 P 中的学生病患实例;di,i∈[1,15]是 D中的医生实例,“?”是预测值,代表P中的实验学生病患p1对D中医生d1的评分。计算预测值的公式如下:

其中,sim(u,n)是用户u与用户n之间的相似性;Rn,i表示用户n对项目 i的评分;表示用户u对项目的平均评分;表示用户n对项目的平均评分;sim(u,n)的计算公式如下:

经计算,表 2 中“?”的值为3.5。

表2 应用item-based的协同过滤推荐算法示例

对表1扩充,加入学生病患参考集RP与医生集RD中全部实例,预测出实验学生病患集P中每一个学生病患对医生集D中的1 500个评分,按分值递减排列,每一组中取前2个推荐给pi。计算precision,recall和F1,选取第1组实验中病患选择的医生作为式(2)和式(3)中的CorrectDoctorsFound,并与应用本文的推荐算法所得出的结果做出比较。由图5的比较结果可以看出,在presicion,recall和F1方面,本文方法优于Item-based的协同过滤推荐算法。使用Itembased的协同过滤推荐算法效果不理想的原因可能是:Item-based推荐算法的一个关键问题是如何计算病患之间的相似性。当病患的历史数据不包含对于医生的评分时,就会造成数据稀疏,从而影响预测评分值。

图5 对比实验结果数据

6 结束语

本文提出一种将稳定匹配方法与单独的个性化推荐方法相融合的算法,既兼顾了用户的需求,又合理分配了医疗资源,使得医疗资源不会相对集中,从理论上解决了某些医疗资源的“瓶颈”问题。实验结果验证了本文推荐算法的有效性,表明其能满足用户对于稀缺医疗资源的需求。下一步将扩大该算法的应用范围,使其能够针对更多的医疗资源,为用户提供服务。

[1] 朱凡微,吴明晖,金苍宏,等.基于关键字的数据库搜索研究综述[J].计算机应用研究,2008,25(11):3238-3242.

[2] 林子雨,杨东青,王腾蛟,等.基于关系数据库的关键字查询[J].软件学报,2010,21(10):2454-2476.

[3] Liu Fang,Yu C,Meng Weiyi.Effective Keyword Search in Relational Databases[C]//Proceedings of 2006 ACM SIGMOD International Conference on Management of Data.New York,USA:ACM Press,2006:563-574.

[4] Aciar S V,Serarols-Tarres C,Royo-Vela M,et al.Increaing Effeactiveness in E-commerce:Recommendations Applying Intelligent Agents[J].International Journal of Busniness and Systems Research,2007,1(1):81-97.

[5] Lenar M,Sobecki J.Using Recommendation to Improve Negotiations in Agent Based Systems[J].Journal of Universal Computer Science,2007,13(2):267-286.

[6] Lopez-Nores M,Blanco-Fernandez Y.Property-based Collaborative Filtering for Health-aware Recommender Systems[J].Expert Systems with Applications,2012,39(1):7451-7457.

[7] Huang Zhengxing,Lu Xudong,Duan Huilong,et al.Collsboration-based MedicalKnowledge Recommendation[J].Artificial Intelligence in Medicine,2012,55(10):13-24.

[8] Bhatt M,Rahayu W,Sonl S P,et al.Ontology Driven Semantic Profiling and Retrieval in Medical Information Systems[J].Web Semantics:Services and Agents on the World Wide Web,2009,7(5):317-331.

[9] Roth A E,Peranson E.The Redesin of the Matching Market for American Physicias:Some Engineering Aspects of Economic Design[J].American Economic Review,1999,89(4):748-780.

[10] 陈 宁,李梦玲.稳定匹配算法的研究和演变[J].中国计算机学会通讯,2013,9(10):15-17.

[11] Gruber T R.A Translation Approach to Portable Ontology Specification[J].Knowledge Acquisition,1993,5(2):199-220.

[12] Vesin B,Ivanovic M,Klasnja-Milicevic A,et al.Protus 2.0:Ontology-based Semantic Recommendation in Progra-mmig Tutoring System[J].Expert Systems with Applications,2012,39(4):12229-12246.

[13] Ochoa J L,Valencia-Garcia R,Perez-Soltero A,et al.Asemantic Role Labeling-based Framewok for Learning Ontologies from Spanish Documents[J].Expert Systems with Applications,2013,40(10):2058-2068.

[14] Horrocks I,Patel-Schneider P F,Boley H,et al.SWRL:A Semantic Web Rule Language Combining OWL and RuleML[EB/OL].(2004-05-21).http://www.w3.org/TR/owl-features.

[15] Eiter T,Ianni G,Krennwallner T,et al.Rules and Ontoligies for the Semantic Web[C]//Proceedings of Conference on Reasoning Web.Heidelberg,Germany:Springer,2008:1-53.

[16] Felfernig A,Burke R D.Constraint-based Recommender Systems:Technologies and Research Issues[C]//Proceedings of ACM International Conference on Electronic Commerce.New York,USA:ACM Press,2008:1-10.

猜你喜欢
病患本体医生
最美医生
老年冠心病无痛性心肌缺血患者的临床护理效果观察
氨磺必利与喹硫平对老年精神分裂症的诊疗效果比较
分析严重创伤患者并发精神障碍的心理疏导及护理体会
医生
望着路,不想走
基于本体的机械产品工艺知识表示
制度变迁与明代官员病患叙事的演变
《我应该感到自豪才对》的本体性教学内容及启示
专题