医疗信息服务应用中情境感知推荐的研究与实现

2017-01-19 14:39李清明段富
现代电子技术 2016年24期

李清明 段富

摘 要: 随着智能手机用户量的不断上升,医疗信息服务逐渐应用于客户端上,同时伴随着医疗服务信息量的日益增长,移动医疗信息服务应用中出现了信息过载和用户访问效率偏低的现象。针对这种情况,对现有医疗信息服务平台在智能手机上的应用进行研究,并根据移动应用中基于地理位置服务的特殊性和LBS推荐系统的特殊要求,提出基于情境信息的医疗信息服务推荐系统框架。通过对获取到的用户位置及当前时间、天气、环境、交通等丰富的情境信息进行分析,使用基于规则的推荐方法以降低计算量,实现在线个性化智能推荐服务。结果表明,融合了丰富情境信息的移动医疗信息服务平台中的推荐,使得推荐更加个性化,更加符合用户需求。

关键词: 基于位置服务推荐; 基于规则的推荐; 情境信息; 医疗信息服务平台

中图分类号: TN911?34; TP399 文献标识码: A 文章编号: 1004?373X(2016)24?0058?05

Study and implement of context?aware recommendation in application of

medical information service

LI Qingming, DUAN Fu

(School of Computer Science and Technology, Taiyuan University of Technology, Jinzhong 030600, China)

Abstract: With the increasing of the intelligent mobile phone users, the medical information service is gradually applied to the client, and at the same time, along with the increasing of medical service information, the phenomena of information overload and low efficiency of user access appear in application of mobile medical information service. According to the particularity of location?based services and the special requirements of LBS recommendation system in mobile applications, the medical information service recommendation system framework based on the situational information was presented. Based on the analysis of the acquired user′s location, and the current time, weather, environment, transportation and other rich situational information, rule?based recommended method is used to reduce the amount of calculation, and implement the online personalized intelligent recommendation service. The recommendation of mobile medical information service platform combined with rich situational information makes recommendation more personalized, and meet users′ requirement more.

Keywords: LBS recommendation; rule based recommendation; situational information; medical information service platform

0 引 言

在当今各行各业逐渐信息化的趋势下,医疗服务行业也趋于信息化。随着智能手机使用量的不断增加,智能手机中的移动应用需要不断地创新和发展,医疗服务的信息化也逐渐应用于智能手机上。面对大量的医疗服务信息,如何快速处理信息成为一大难题,嵌入移动应用中的推荐系统应运而生,基于位置服务(Location Based Service,LBS)的推荐系统即为其中一种。LBS推荐系统将基于位置系统与推荐系统巧妙融合起来,以便满足智能手机用户从移动应用中获取大量信息的需求[1]。在移动医疗服务信息应用中,融入LBS推荐系统,必须满足应用的新用户快速学会使用的前提下成功降低冷启动问题的影响,否则会流失大量用户[2]。同时,鉴于用户需要及时获取当前所处环境的信息,因此一款好的LBS推荐系统必须能够实时分析了解用户当前的偏好,并能够有效分析用户当前情境信息,实现向用户推荐个性化信息。目前移动医疗信息服务应用有易诊、好大夫等,这类应用已成功将位置服务推荐嵌入,但情境信息仅限于位置,使得推荐略显单一,融合多种情景信息进行推荐,可以使得推荐更加个性化。因此,本文提出融合位置、时间、天气、环境、交通等多种情境信息的医疗信息服务应用,能够使得用户获得更加个性化的服务。

在当前研究并实现的推荐系统中,普遍存在如下问题[3]:推荐类别和属性单一;用户学习成本高;缺少融合情境信息;冷启动问题仍然存在。

本文将针对这些问题,使用基于规则的LBS推荐模型,并将其应用于开发的医疗信息服务平台中,实现为用户提供实时医疗信息服务方面上的有效推荐。

1 相关研究

1.1 基于规则的推荐

传统的推荐方法有基于内容和基于协同过滤两种推荐方法。这两种推荐方法已得到了广泛的应用,但是在LBS推荐系统中,这两种推荐算法不能够有效地解决“冷启动”问题[4]。而基于规则的推荐不依赖于用户评分等历史信息,不存在“冷启动”问题,因此在本系统的开发与研究中,使用基于规则的推荐给用户提供所需信息。

基于规则的推荐,是基于知识推荐中的一种,在本系统中,通过将带推荐医院与医生的属性与用户的属性进行匹配来推荐,抑或是通过自定义或关联计算得到的规则来推荐[5]。基于知识的推荐需要解决的问题[6]:

(1) 知识的统一表示及有效获取。该系统中的所有要素,需使用规范的方式来描述,包括用户信息(姓名、性别、邮箱、手机号码、QQ号码、家庭住址、病史等)、用户的情境信息(所处地理位置、所处位置交通情况、天气、温度等)、医院信息(所处地理位置、科室分布、医生信息等)等系统要素,以及所有要素之间的关系。除此之外,还需要统一描述推荐方法以及在推荐方法中上述所有系统要素之间的交互。

(2) 合适的推理机制的生成,推理出结果。在该医疗服务信息推荐系统中,由用户信息、情景信息及医院信息,结合规则库中的规则进行推理并产生推荐列表。由此所得的推荐列表可能含有多条信息,亦可能为空,需结合各种情况,综合考虑使用适当的推荐方法。

(3) 知识的规范聚合。在该系统中,用户属性、医院属性等处于持续动态变化中,因此,需要使用有效的手段对所有知识进行管理来控制知识的信息量爆炸。

1.2 位置的获取及计算

本文设计开发的医疗信息服务应用使用百度地图Android定位SDK对该应用用户所处位置进行定位,使用百度地图定位SDK能够进行精确、实时定位。

1.2.1 获取位置

基本定位功能,返回用户当前位置,包含GPS和网络定位(WiFi和基站定位)功能,同时还支持定位结果的反地理编码、离线定位、位置提醒功能和地理围栏功能。

LocationClient类是百度地图定位SDK的核心,具体方法为LocationClient(Context);使用getLongitude( )方法获取经度坐标,返回结果为长整型数据;使用getLatitude( )获取纬度坐标,返回结果为长整型数据;使用hasRadius( )方法获取定位的精度,并判断是否有定位经度半径,返回结果为布尔型;使用getRadius( )方法获取定位精度半径,返回结果为浮点数类型,单位是m;使用getAddrStr( )方法获取文字描述的地址,返回结果为字符串类型数据。

在百度地图SDK中,分为三种定位模式,分别为:高精度定位模式(Hight_Accuracy),低功耗定位模式(Battery_Saving)和仅用设备定位模式(Device_Sensors),本文开发的系统使用高精度定位模式。

1.2.2 位置距离计算

设A点的经度为LonA,纬度为LatA;B点的经度为LonB,纬度为LatB,以零度经线为0,东经为正数,西经为负数,以零度纬线为0,北纬为90-Latitude,南纬为90+Latitude,则经过上述处理过后的两点被记为(MLonA,MLatA)和(MLonB,MLatB)。根据式(1)、式(2)计算A点与B点之间的距离[7]:

[C=sin(MLatA)?sin(MLatB)?cos(MLonA-MLonB)+ cos(MLonA)?cos(MLonB)]

[D=R?csc(C)?π180] (2)

式中,R为地球半径,值为6 378.137 km。

1.3 融合情境信息的推荐系统

在传统的推荐系统中,没有融入情境信息,其推荐过程如图1所示。

在图1中,使用函数描述该过程,其输入为用户属性,输出为使用推荐方法得到的个性化用户推荐列表[8]。

本文所研究开发的医疗服务信息推荐系统应用中,融入了位置、天气等情景信息,因此需将各种情境信息融入到图1中。如图2所示,所有研究过的推荐中,以情景信息放入推荐系统中的位置为依据,分为前置情境过滤、后置情境过滤以及情境过滤三种范式[9]。

传统的推荐系统采用的模型为三维范式,其表述形式为<用户,项目,评分>,在此模型中,对于同一个用户,其对同一个项目的评分保持稳定。而在移动平台中,需要考虑到各种情境信息,融入了情境信息的推荐系统,对于同一个用户,其对同一个项目的评分需要随着情景信息的不同而发生变化,因此需要将上述模型修改为四维范式,在其中加入情境信息这一项。在本文所研究开发的系统中,不涉及到用户对项目的评分,使用的是用户对于医院属性偏好规则,并且使用上述三种范式中的前置情境规律方法。首先根据用户当前位置判断与其距离在一定范围内的医院,对备选项进行过滤,删除距离大于用户考虑范围的医院,再根据当前时间删除此时不营业的医院;接着根据规则库中的规则判断用户偏好的医院类别、医院科室以及科室医生。

2 系统设计

2.1 系统推荐流程

由于向用户推荐的结果需要在命中率、多样性、实时性等评价指标间达到平衡,在向用户推送的结果集中,应包含各种类型的医院,除了与用户病史相关的医院信息,按时间片推送的医生信息以外,还可加入可网上挂号的医院信息以改善结果的质量。本推荐系统综合了用户属性及用户的各种情境信息,并与医院的类别、科室及医生进行匹配,确定出在某一时间某一地点适合用户的医院信息,实现对于用户的个性化推荐。图3为本推荐系统的流程。流程说明:

第一步:强制筛选。根据强制筛选规则集,删除不匹配医院。表1中,举例说明了本推荐系统中的部分强制筛选规则。

第二步:结合偏好规则集1、偏好规则集2和偏好规则集3,并行确定三种概率值。

(1) 根据用户属性,计算用户对于各类医院的偏好概率;

(2) 根据用户属性和科室属性,定义用户对于医院各个科室的偏好权重;

(3) 根据用户属性和医院科室医生的属性,计算用户对于医生的偏好概率。

第三步:由第二步得到的三种概率,结合偏好规则集4确定用户对医院列表中每个医院的偏好概率,得出给用户所推荐的医院列表。

2.2 偏好建模

在分析与设计规则集和推荐算法前,需要完成对用户的偏好建模这一过程。根据移动应用与基于位置服务推荐综合的特点,本文的推荐系统在融合了情境信息的基础上将用户的偏好分为两类,分别为短期偏好和长期偏好。其中短期偏好有更新周期短,并且对情境信息比较敏感的特点;长期偏好有更新周期长,用户习惯偏好比较稳定之特点。医院的属性信息包括有无停车位、环境氛围、科室名称、科室医生性别、可否在线挂号等离散属性,就医费用区间、科室医生就医年龄区间、与用户位置距离属性等区间属性,用如下矩阵表示:

[a11…a1m???an1…anm] (3)

式中,区间属性[an1]的取值范围为:

[[min(a*l),max(a*l)], 1≤l≤r] (4)

离散属性[an1]的取值范围为:

[a*l(r+1≤l≤r+s)] (5)

对医院属性进行建模后,可以用一组向量来表示用户的偏好模型,可以表示为[<,…,,g1,…,cs>],比如某用户的兴趣模型为<[0~200],[0,2 000],有免费WiFi,有停车位,内科,医生就医3年以上>,表示该用户偏好的价格区间为0~200元,可接受的距离为2 000 m以内,能够提供免费WiFi,有停车位,要看内科并且该科室医生的就医年龄在3年以上。

2.3 情境信息建模

为了方便情境信息模型的创建,需要做以下工作:首先须定义情景信息,即确定在本推荐系统中需要获取哪些情境信息;然后确认如何采集这些情境信息。本文中,本推荐系统需要的情境信息包括:用户当前位置、当前时间、当前天气情况、周围交通情况等。

3 规则库的分析与设计

本文所涉及的规则库中规则的形式均为:[A→B(P)],即若A则B同时伴有一个概率值P,其中A为用户的属性或者情境信息,B为医院的属性,P表示医院匹配用户需求的程度及用户与当前情境对某个医院属性的偏好概率。如规则库中的某条规则:若60则[0~2 000](0.64)。该规则表示,如果用户年龄为60,那么为其推荐距离在2 000 m以内的医院概率为0.64。

3.1 获得个性化用户短期偏好

根据用户当前的时间、天气、位置、环境属性,确定用户短期偏好矩阵,并根据用户偏好,由偏好规则集1作用后,对该矩阵进行修正,得到如下矩阵:

[T1T2T3…W1W2W3…L1L2L3…E1E2E3…] (6)

式中,[Ti],[Wi],[Li]和[Ei]分别表示在当前时间、当前天气、用户当前位置和当前所处环境下,用户对于i类医院的偏好概率。

用户对于所有医院的推荐概率排序根据下式:

[Ki=14(Ti+Wi+Li+Ei)] (7)

得到医院类别的推荐排序表。

3.2 获得用户长期偏好

根据偏好规则集2,将用户属性与规则库中的规则进行匹配,以得到对某医院科室的偏好概率为:

[Q11…Q1n???Qm1…QmnQij] (8)

式中:m行表示用户的m个属性;n列表示n个医院的科室;[Qij]表示用户的属性i对医院的科室j的偏好程度。由式(9)可计算出用户对于医院科室的偏好权重:

[Xj=i=1nQijn] (9)

根据偏好规则集3,将用户属性与规则库中的规则进行匹配,得到用户对医院科室医生的偏好概率,得到如下矩阵:

[q11…q1n???qm1…qmn] (10)

将由规则集2及各种属性计算所得的用户对医院科室的偏好权重与由规则集3及各种属性计算所得的用户对医院科室医生的偏好概率相乘,获得用户对医生属性的偏好概率。将此偏好概率进行排序,最高偏好概率对应的医生即为用户的长期偏好。

3.3 确定每个医院的推荐概率

根据规则集4,将推荐列表中的各个医院与规则进行匹配,其各个属性的偏好概率加权平均,由此得到用户对医院的偏好概率,将此值与对于医院类别的偏好概率相乘,得到的结果即为对用户推荐某医院的概率值。

医院用户的兴趣不断发生改变,则会出现新的关联规则。新规则产生遵循以下三个原则:旧规则不再出现;有新的规则;规则在一定的时间内重复。

当用户搜索某一医院时,算法会提供关于该医院所具有的关联规则,并将推荐概率高的n个医生推荐给用户,用户从这n个医生中选择适合自己病情的医生,此时就会导致所用规则的推荐概率发生改变。如此循环,系统会有针对性地向用户推荐医生,提高医院与医生的知名度,并且提高推荐的准确率。

4 系统实现与应用

本应用由配置在Windows操作系统上的Tomcat服务器提供Web服务,客户端应用使用HTTP协议进行访问获取信息。客户端应用采用Eclipse为Android客户端开发工具,Myeclipse 10为服务端开发工具,具有应用显示与后台程序和服务端程序相分离,使得整个应用框架清晰、易于维护、扩展性强。数据存储在SQL Server 2008数据库中,使用存储过程处理应用中的业务流程,避免了写在服务器代码中而出现的频繁编译与部署等弊端,提高其维护性。本系统录入了山西省晋中市榆次区的各个医院信息,推荐结果界面如图4和图5所示。图4为该应用的首页展示,其中医院专区的结果为根据用户属性信息推荐的两个医院;图5为在医院类别中搜索诊所得出的推荐列表。

5 结 语

目前医疗信息服务中的信息化进程相对落后,基于位置针对医院及其科室的推荐系统还比较少见,不论是用户的访问记录还是评价反馈都较难获取,因此如何应对应用的“冷启动”问题对于LBS医疗信息服务推荐系统来说是一个重大挑战。本文提出了基于规则的医疗推荐,不仅会降低用户学习成本,还不存在“冷启动”问题。本文给出所提出推荐系统的流程图,并对用户的偏好进行建模,基于此建立相应的规则库,并对新产生的规则进行定义。推荐系统的优劣评价实质上是很复杂的,依赖于应用的使用程度及商业效果,系统最终会通过在实践应用中进行不断的优化。

参考文献

[1] 李迎辰.基于社交网络的移动应用推荐系统研究及应用[D].重庆:重庆大学,2014.

[2] RICCI F. Mobile recommender systems [J]. Information technology & tourism, 2010, 12(6): 205?231.

[3] TIWARI S, KAUSHIK S, TIWARI S. Location based recommender systems: architecture, trends and research areas [C]// Proceedings of IET International Conference on Wireless Communications and Applications (ICWCA 2012). Huangshan, China: IET Digital Library, 2012: 71?77.

[4] SHABIB N, KROGSTIE J. The use of data mining techniques in location?based recommender system [C]// Proceedings of the International Conference on Web Intelligence. Nanjing: Mining and Semantics ACM, 2011: 71?81.

[5] GE M, DELGADO?BATTENFELD C, JANNACH D. Beyond accuracy: evaluating recommender systems by coverage and serendipity [C]// Proceedings of the Fourth ACM Conference on Recommender systems. Barcelona: ACM, 2010: 257?260.

[6] 刘平峰,陈冬林.基于知识的电子商务智能推荐系统平台设计[J].计算机工程与应用,2007(19):199?201.

[7] 韩忠民.知经纬度计算两点精确距离[J].科技传播,2011(11):211.

[8] 王伟.基于LBS的个性化推荐系统研究[D].北京:北京邮电大学,2012.

[9] 张文莹.移动应用中基于规则的LBS推荐系统研究[D].哈尔滨:哈尔滨工业大学,2013.