基于领域本体的个性化推荐在健康系统中的研究

2010-03-26 01:47佘名高张照亮胡锦红
电子设计工程 2010年11期
关键词:相似性本体个性化

佘名高,张照亮,胡锦红

(武汉理工大学 计算机科学技术学院,湖北 武汉 430070)

随着互联网的发展和网络信息的增加,为用户提供个性化的服务以便获取更准确的信息已成为焦点。在网络环境下,个性化服务[1-2]是一种网络信息服务的方式,这种服务方式的实现主要是根据用户设定,借助于计算机及网络技术,对信息资源进行收集、整理和分类,向用户提供和推荐相关信息,以满足用户对信息的需求。在个性化推荐中,协同过滤是当前应用最成功的技术。

在基于项目的协同过滤推荐中,为了产生对目标用户的推荐,需要搜索最近邻居,此时项目之间相似性的计算成为关键。系统开始时,由于参与的用户和用户评分项目很少导致用户评分项的交集很小,传统的相似性计算方式在这种情况下很难找到最近邻进行推荐,随着时间的推移,还容易产生数据稀疏问题和“冷启动”现象,推荐质量大大下降。

随着网络的发展,计算机辅助诊断成为越来越重要的应用技术,对于一种疾病,可以在互联网上找到包括运动疗法、中医理疗、营养配餐等数以千计的治疗方法,为用户提供个性化的服务在健康系统中也有所应用。随着医学的发展,传统相似性度量不足和新项目的冷启动问题也可能发生,因此引入了本体,构建用户兴趣本体,将项目的语义相似性和用户相似性结合,这种基于领域本体的个性化推荐算法在一定程度上缓解了数据稀疏问题和冷启动问题,将这种算法应用到某健康系统中进行分析,已取得较好的推荐效果。

1 本 体

“Ontology”是指哲学领域的本体论。在哲学中“Ontology”是一个存在的系统化解释,用于描述事物的本质。而在计算机领域是用于知识表示、知识共享和重用,“ontology”表示,翻译为本体。直观地讲,本体是一个实体,是对某一领域应用本体论的方法分析、建模的结果,即把现实世界中的某一领域抽象为一组概念及概念之间的关系。

为了澄清在知识工程领域中本体的概念,美国学者Tom Gruber给出了一个被广泛接受的定义:本体是一个可共享概念化(Conceptualization)的显式(Explicit)的规格说明[3]。 这里包含4层含义:

1)“共享”指出本体的主要作用就是领域知识交互,而非为个人所用;

2)“概念化”指出知识的形式化表示的基础是概念化,领域知识内的对象、概念和其他实体,以及它们之间的关系;

3)“显式”则表示概念的类型和约束必须直接、无二义地给出,同时是机器可理解的;

4)“规格说明”则要求概念化体系用具体形式进行表达。本体的目的就是建立统一的概念和语义结构,进行相关领域知识的交换。

文献[4]对本体的作用进行概括,本体作用如下:

1)本体的分析澄清了领域知识的结构,从而为知识表示下基础。本体可以重用,从而避免重的领域知识分析;

2)统一的术语和概念使知识共享成为可能。本体可将某个或多个特定领域的概念和术语规范化,为该领域或领域之间实际应用提供便利。

2 基于领域本体的个性化推荐

2.1 个性化推荐的一般组成

1)行为记录模块 负责记录能够体现用户喜好以及需求的行为,比如购买、下载、评分等。下载和评分这两种行为表达潜在的喜好程度就不尽相同,完善的行为记录需要能够综合多种不同的用户行为,处理不同行为的累加;

2)模型分析模块 实现对用户行为记录的分析,采用不同算法建立起模型描述用户的喜好信息;

3)推荐模块 通过推荐模块,实时地从内容集筛选出目标用户可能会感兴趣的内容推荐给用户。

由上可见,建立一个真正能体现用户兴趣的模型是至关重要的,它对个性化推荐的质量起着非常重要的作用。建立兴趣模型所需要的数据一般有2种获取方式:

1)系统一般使用打分方式,最著名的例如 Movie Lens,这种方式称为“显式评分”方法[4],但其收集数据比较困难,用户通常并不愿意提供这种数据。

2)被认为更有效的方法是“隐式评分”方法,这种方法不需要用户直接输入评价数据,而是根据用户的行为特征由系统代替用户完成评价。无论采用哪种方式,抽取到的都是一组能表示用户兴趣和需求的关键词,这就涉及到这些词的组织问题。

在传统推荐系统中, 用户兴趣描述为:U={(Ci,Wi)|Ci:关键词,Wi:权重(表征用户兴趣高低)},可以看出这种表示方法,用户兴趣用一组罗列的关键词表示,而没有考虑词之间内在的联系,没有从语义上对信息进行理解,造成了推荐质量的下降。这里根据用户行为记录模块来记录用户行为,通过模型分析模块得到用户的兴趣信息,将用户的兴趣信息与领域本体中的概念进行映射,构建用户兴趣本体,然后进行用户模式识别,通过推荐模块产生推荐。由于考虑了词之间的内在联系,系统的推荐质量大大提高。

2.2 基于领域本体的领域知识建模

个性化推荐的实现是建立在领域本体上的,在领域本体的构建上,本文借鉴了国外本体工程中七步法的思想,参考了国内外基于叙词表构建本体的有关思路和方法。领域本体构建步骤如下[5]:

1)确定本体的领域和范围;2)本体概念体系的构建,包括定义类及类的等级体系、定义类的属性和创建实例;3)概念的规范化处理;4)利用现有的本体开发工具辅助本体构建,并可直接转化成相应的本体表示语言的文件格式存储;5)本体评价和应用。

2.3 基于用户兴趣本体构建的用户兴趣建模

利用领域本体构建用户兴趣本体,通过将用户的兴趣信息与领域本体中的概念进行映射,将用户的兴趣内容转化为本体概念的形式,并利用这些本体概念构建用户兴趣本体。最后利用构建的用户兴趣本体,进行用户模式识别。用户兴趣建模过程如图1所示。

图1 用户兴趣建模Fig.1 User interests modeling

2.3.1 利用领域本体构建用户兴趣本体

用户本体是用户信息的概念化的规格说明[6],它定义了有关用户概念的各种术语、关系并给出术语的语义。用户兴趣本体主要对用户兴趣进行描述,展示用户兴趣的不同属性及属性之间的关系。将用户兴趣信息与领域本体库进行映射,得到用户感兴趣的领域本体概念集合,进而将用户兴趣用领域本体概念来表述,生成用户兴趣本体。

2.3.2 利用用户兴趣本体发掘用户兴趣模式

利用用户兴趣本体的概念集合,通过概念间的语义关系(主要是上下位类关系和类-实例关系)和邻接径度,将用户兴趣划分为若干个子兴趣,从而实现用户兴趣建模。在知识本体的支持下,这种划分可以迭代进行,理论上可以实现任意详细程度的用户兴趣描述。

用户兴趣通过本体概念集进行了概念化的、语义层面的描述,然后基于本体中概念邻接关系,将用户感兴趣的主题概念按邻接程度进行聚集,最后得到若干个聚集后的向量形成用户兴趣模式。在系统与用户的交互过程中,用户的兴趣会发生变化和调整,即原有的兴趣本体节点权重将逐步衰减,同时新的兴趣本体节点不断增加,因此必须进行用户兴趣的增量更新。

2.4 个性化推荐算法

个性化推荐算法是在收集和分析用户信息的基础上,学习用户的兴趣爱好和行为习惯,从而将用户需要的、感兴趣的信息主动推荐给用户。

利用领域本体的个性化推荐算法:利用Web站点的领域知识计算用户评价项目之间的相似度,这种相似度更适合人们直观上的感觉;通过项集合的相似性计算用户之间的相似性,得到最近邻进行推荐。

2.4.1 用户兴趣本体相似度计算

在计算用户兴趣本体相似度时,可以与领域本体相联系,通过计算用户兴趣本体包含的领域本体中的概念之间的相似度,来进一步计算用户兴趣本体相似度。

利用基于网络距离的方法,计算本体中概念相似度。通过概念相对应的节点之间的距离表示,路径越短,它们之间越相似,使用这种简单的边计数方法是在假定边距离统一的情况下(例如每条边的路径距离为1),Wu和Palmer[6]提出了计算节点c1和c2之间相似度方法:

其中,N1和N2为从c1和c2到它们最近公共祖先节点c3的路径长度,N3为c3到根节点的路径长度。

例如,对于用户兴趣本体A和C,如果要计算A中的概念A1与C中的概念c1的相似度,只需确定它们分别所处的节点位置,再利用式 (1)即可算出。

比如,计算表1中,A中apple和C中apple的相似度,N1=N2=1,N3=1,

对于用户兴趣本体 A与B,计算出B中m个概念分别与A中n个概念的相似度值后,求其均值,即是用户兴趣本体B与A的相似度。

用上例中的方法,计算出A与C中各项的相似度,从而得出:

2.4.2 评分项目之间的相似性

设对项i和项j共同评分过的项集合用Uij表示,Ui和Uj表示对项i和项j评分过的用户集,则评分项目之间的相似性为:

有了评分项目之间相似度的计算方式,可根据用户评分项的集合计算用户的相似度。集合之间相似度的计算需要考虑相似的对称性性质和集合元素个数对相似计算结果的影响。另外,用户之间的相似度应该满足以下基本条件:

1)用户和自身的相似度为1,即满足自反性;

2)用户A与 B的相似度应等于B与A的相似度,即满足对称性;

3)假设用户评分项目集合都有n个元素,其中m(m〈n)个项目相同,又假设2个项目的相似度只能是0(不同)或1(相同),那么这两个用户的相似度应该是 m/n。

通过在集合的元素之间建立对应的关系来消除集合元素数目的影响并保证计算结果满足以上的条件。具体方法为:1)首先计算两个用户评分项集合的所有项目两两间相似度;2)从所有的相似度值中选择最大的一个,将这个相似度值对应的两个项目对应起来,并累加该最大值。3)从所有的相似度值中删去那些已经建立对应关系的项目的相似度值。4)重复上述第2)步和第3)步,直到所有的相似度值都被删除;5)没有建立起对应关系的项目与空元素对应;6)求平均相似度(累加和除以对应项目个数),返回。

首先按照相似度建立起两个集合中项目的一一对应关系,然后计算用户评分项目集合的相似度:用户评分项目集合的相似度等于其元素对的相似度的加权平均。因为评分项目集合的元素之间都是平等的,所以所有的权值取相同,那么项目集合的相似度等于其项目对的相似度的算术平均。

2.4.3 产生推荐集

基于领域本体的个性化推荐算法,综合考虑用户评分项目之间的语义相似性和用户的相似性:

式中,simij为混合相似度,sim(i,j)为评分项目的语义相似度,ω为语义相似度的贡献权值,sim(u,v)为用户的相似度,1-ω为用户相似度的贡献权值。

用户u对目标项i的预测评分pui可以通过目标项i的最近邻居集合V对j的评分得到:

3 试验与分析

个性化推荐系统为用户提供个性化的服务,应用于医疗领域,在健康系统中也有很大的用途,为临床诊断、选择治疗方案提供参考。以为用户提供合理的营养配餐为例进行分析。

3.1 领域本体及用户兴趣本体的构建

手工构建本体的工作量是很大的,通过下面的技术构建领域本体,具体做法是:首先对训练文本进行预处理,然后构建术语、文本矩阵并对其进行SVD分解得到一组概念和描述每一个概念的一组术语,这些概念之间的关系通过聚类得到。这里以健康系统食物查询模块中部分食物的分类为依据,构建其本体形式,如图2所示。

将用户兴趣信息与领域本体概念进行映射后,得到用户A、B、C具有相同的兴趣模式,其用户兴趣本体信息如表1所示。

图2 营养配餐食物领域本体模型Fig.2 Domain ontology model of food nutrition catering

表1 用户兴趣本体信息Tab.1 User interest ontology information

3.2 相似性的计算以及推荐结果的产生

抽取几个用户和评分项目的信息做简单的数据举例,若以B、C为相似用户向A推荐食物,由式(1)和式(2)计算出用户兴趣本体B与A的相似度为0.125,C与A的相似度为0.125,再由式(3)计算出兴趣本体中评分项之间的相似度,由此再计算用户之间的相似性,B与A的相似度为0.678,C与 A的相似度为 0.769,可以得到推荐概念集合为{apple,rice,hairtail}。

3.3 结果与分析

设计一个基于食物领域本体的个性化推荐系统,依据上述的思路,在健康系统中做初步的实验性应用,并采用系统数据来进行测试。该系统已有200个用户对500个食物项目评分,评分值为从1到5的整数,数值越高表明用户对该食品的兴趣度越高。

采用平均绝对误差MAE作为评测的标准。MAE是常用的评价推荐算法质量的标准,它通过计算用户实际评分与预测评分之间的偏差衡量预测的准确性,MAE的值越小,推荐的质量越高。

考虑到混合相似度计算中的ω权重参数对MAE[7]的影响,在使用混合相似度算法预测时,找出最优ω值的范围,权重参数ω从0到1,间隔为0.1。实验结果如图3所示,由此得出结论,ω的取值在0.5附近时最优的。

图3 权重参数ω对推荐精度的影响Fig.3 Weight parameter ω effect on the accuracy of recommended

为了检验基于领域本体的个性化推荐算法的性能,本文将传统的基于内容的协同过滤推荐算法与本本文的算法进行比较,权重参数ω选为0.5,最近邻居N从20增加到120,间隔为20,实验结果如图4所示。

图4 推荐算法精度-MAE比较Fig.4 Recommendation algorithm precision-comparison of MAE

从实验结果分析,通过项目语义相似性与用户相似性的融合,挖掘出项目之间的语义关系,抽取出项目之间的一样信息,不仅能很好的解决传统的基于项目的协同过滤的新项目的冷问题以及提高推荐精度,还能进一步说明用户对特定领域的项目是否感兴趣。随着用户的增加,特别是具有较高评分项目数用户的增加,这两种算法的推荐质量都有明显的提高。

4 结束语

以领域本体为中介,通过抽取领域本体中概念的语义关系,构建用户兴趣本体并进行用户兴趣建模,通过融合评分项目相似性和用户相似性,产生用户的最近邻居并且得到项目的推荐集合。将本文的方法应用到健康系统中进行初步的实验分析,实验结果表明利用领域知识计算相似度可以解决用户评分项很少数据极端稀疏情况下的系统冷启动现象,提高系统的推荐质量和精度。

[1] 韩燕.数据挖掘方法和知识发现[J].人工智能及识别技术,2007, 17(1):10-25.HAN Yan.Data mining and knowledge discovery[J].Artificial Intelligence and Identification Technology,2007,17(1):10-25.

[2] 李庆祝,佘玲玲,单光先.数据挖掘及应用[J].现代电子技术,2010(12):28-30.LI Qing-zhu,SHE Ling-ling,SHAN guang-xian.Data mining and its application [J].Modern Electronic Technique,2010(12):28-31.

[3] Chandrasekaran B,Josephson J R,Benjamins V R.What are ontologies,and why do we need them [J].IEEE Intelligent Systems Archive, 1999, 14(1):20-25.

[4] LI Wang,LI Ying-jie.The semantic matching of semantic web services[C].In:IEEE/ACM/KGGI O4, 2004.

[5] 曾子明.电子商务推荐系统与智能谈判技术[M].武汉:武汉大学出版社,2008.

[6] 颜端武.面向知识服务的智能推荐系统研究[D].南京:南京理工大学,2007.

[7] 陈健,印鉴.基于影响集的协作过滤推荐算法[J].软件学报,2007,18(7):1685-1694.CHEN Jian.YIN Jian.A collaborative filtering recommendation algorithm based on influence sets[J].Journal of Software,2007,18(17):1685-1694.

猜你喜欢
相似性本体个性化
一类上三角算子矩阵的相似性与酉相似性
浅析当代中西方绘画的相似性
坚持个性化的写作
新闻的个性化写作
基于本体的机械产品工艺知识表示
上汽大通:C2B个性化定制未来
低渗透黏土中氯离子弥散作用离心模拟相似性
《我应该感到自豪才对》的本体性教学内容及启示
满足群众的个性化需求
专题