APP下载

一种基于本体的推荐系统模型

2014-06-07乔冬春刘晓燕付晓东曹存根

计算机工程 2014年11期
关键词:相似性本体语义

乔冬春,刘晓燕,付晓东,曹存根

(1.昆明理工大学信息工程与自动化学院,昆明650500;

2.中国科学院计算技术研究所智能信息处理重点实验室,北京100190)

一种基于本体的推荐系统模型

乔冬春1,刘晓燕1,付晓东1,曹存根2

(1.昆明理工大学信息工程与自动化学院,昆明650500;

2.中国科学院计算技术研究所智能信息处理重点实验室,北京100190)

经典推荐系统主要根据用户对项目的评价或者用户与项目之间的关键字相似度进行推荐,存在信息结构化程度低、语义缺乏、信息利用不充分等问题。为此,提出一种基于本体的推荐系统模型。将本体引入到推荐系统中,使用OWL语言对用户和项目信息进行描述,使用户和项目具有语义信息的同时,提高信息的结构化描述水平。在推荐过程中,通过规则分析用户行为信息并综合考虑以提高模型的推荐质量。实验结果证明,与传统推荐模型相比,该模型在信息结构化水平、语义描述等方面具有优势。采用该模型为用户推荐项目能够有效提高推荐的召回率和准确率。

本体;协同过滤;基于内容推荐;混合推荐;Web本体语言;推荐系统

1 概述

随着网络的发展,互联网上的信息每天以指数级别在增长,如何个性化地为每个用户服务是Web信息处理技术的主要发展趋势之一[1]。当前,主要有基于协同过滤的系统、内容的推荐系统和混合推荐算法等[2-3],这些推荐系统在工业界得到了较好的应用和推广。同时,也存在一些缺点:

(1)推荐内容多以关键字为计算项,不能够表达出项目项和用户项之间的语义信息[4];

(2)难以区分资源内容的品质和风格,质量难以保证,而且不能动态更新[5];

(3)资源内容结构化程度低,在资源利用和共享方面存在限制。

当前,本体已经成为知识工程中一个重要的工具,在知识获取、表示、分析和应用等方面具有重要的意义:(1)本体研究促进知识工程中对本质知识的获取;(2)本体研究促使显式地表示出领域知识和领域假设;(3)本体研究使知识共享和知识重用成为可能[6]。为解决推荐系统中的语义缺乏、结构化程度低等问题,本文提出一种基于本体的推荐系统模型,该模型将本体引入到推荐系统中,将用户和项目等资源信息采用本体的方式进行表示。

2 相关工作

2.1 本体

本体论一词早在l7世纪就已诞生,其派生于希腊语的onto(存在)和logia(箴言录),是一个哲学术语。从哲学意义上看,本体论关注的是存在,即世界在本质上有什么样的东西存在,或者世界存在哪些类别的实体[7]。在计算机界,尤其是知识工程界,人们对本体的认识和定义经历了一个不断深化的过程。不同于哲学中的本体论概念,计算机科学中的本体有自己特定的含义[6]。目前被大部分人公认的定义是1994年提出的本体概念:“本体是关于共享概念的一致约定。共享概念包括用来对领域知识进行建模的概念框架、需要互操作的主体之间用于交互的与内容相关的协议,以及用于表示特定领域理论的共同约定。在知识共享的情况下,本体的形式特化为具有代表性的词汇的定义。一种最简单的形式是一种层次结构,用来详细描述类和它们之间的包含关系。关系数据库的框架也是一种本体,它用来描述能共享的数据库之间的关系和集成这些数据库需遵循的约束”[8]。

本体论在Web上的应用导致了语义Web的诞生,其目的是解决Web上信息共享时的语义问题。语义Web被看作是当前本体论从学术研究走向实际应用的最重要的构想和研究计划[7,9]。在推荐系统中引入本体的概念,可以有效解决结构化程度低、语义缺乏等诸多问题。

2.2 常用推荐模型

目前,常用的推荐方法有3种基本的推荐方法:协同过滤算法,基于内容的推荐算法和混合推荐算法[10]。每种推荐系统中均有其优缺点,下面介绍各个推荐算法的基本原理。

2.2.1 协同过滤

协同过滤是目前最为流行的推荐方法,协同过滤分为基于用户的协同过滤和基于项目的协同过滤[2],基于用户的协同过滤原理是目标用户会对与目标用户相似的邻居用户喜欢的项目也感兴趣。即存在用户集合 User=(u1,u2,…,un)和项目集合Pro=(p1,p2,…,pn),在User集合中存在相似用户大于阈值的用户集,用函数Sim(ui,uj)表示ui和uj(1≤i,j≤n)具有的相似度。当ui对项目pk感兴趣时,uj也会对pk感兴趣。基于项目的协同过滤原理是用户对一个项目感兴趣也会对该项目的邻居项目感兴趣,用函数Sim(pi,pj)表示项目pi和pj的相似度。当相似度大于阈值时,用户访问了项目pi对项目pj也会产生兴趣。

目前,计算用户、项目之间相似性的数据是M个用户对N个项目访问形成的M×N评价矩阵,Rik表示用户i对于项目k的评分,用户i和用户j之间的相似度可以通过多种公式进行计算,下面介绍目前采用的主要公式:

余弦相似性[11]公式为:

其中,Iij是用户I,j共同评分的项目集合(数量>1); Ri,k,Rj,k分别表示用户i和用户j对项目k的评分; Ii,Ij分别表示用户 i和用户 j各自评过分的项目集合。

由于在余弦相似性度量方法中没有考虑不同用户的评分尺度问题,修正的余弦相似性度量方法通过减去用户对项目的平均评分来改善上述缺陷。则用户i和用户j之间的相似性为:

修正的余弦相似性方法在余弦相似性基础上,减去了用户对项目的平均评分,然而该方法更多体现的是用户之间的相关性而非相似性。相关性和相似性是2个不同的概念,相似性反映的是聚合特点,而相关性反映的是组合特点。为了更好地得到用户间的相似性,使用用户对共同评分项目的评分进行计算,则用户i和用户j之间的相似性Sim(i,j)通过Pearson相关系数来度量的公式转换为:

Pearson相关系数的取值范围为:[-1,1]。在相似性计算中,为正值表示相似,正值越大越相似。

2.2.2 基于内容的推荐

基于内容的推荐模型主要通过计算用户偏好项和项目描述项之间的相似性为用户推荐候选项。在基于内容的推荐系统中,用户偏好信息一般可以通过机器学习和用户配置2种方法生成[3]。该模型可以通过公式描述为用户配置集合Configure={c1, c2,…,cn}与项目属性集合 Attribute={a1,a2,…, am}之间的相似性。当前,非常有名的计算方法是通过TF-IDF计算用户偏好项和项目相似性的相似性计算。TF-IDF是计算词在一组文档中重要性的统计方法[5],用以评估一个字词对于一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。

基于内容的推荐多采用关键字进行用户配置与项目相似度的计算,与协同推荐一样,都存在语义缺乏的问题,制约着推荐准确率的提高。为了解决这一问题,提出了基于本体的推荐算法。

2.2.3 混合推荐算法

混合推荐算法是指采用一种以上的基本推荐方法联合推荐的方法。由于协同过滤、基于内容的推荐等推荐算法均具有各自的优缺点,因此混合推荐算法可以采用各种推荐算法的优点进行项目推荐。同时,由于混合推荐算法采用了多种推荐方法同时进行推荐,存在效率不高,各种推荐算法的权值难以优化等问题。

3 基于本体的推荐算法

基于本体的推荐算法将本体引入到推荐系统中,资源采用本体的方法进行描述,使资源结构化表示的同时具有了语义信息。推荐模型采用协同过滤与基于内容推荐模型中的基本思想,用户聚类信息由采用用户评分矩阵改为用户偏好信息进行聚类,用户偏好信息与项目信息的相似性采用属性语义相似的计算方法。该推荐模型的整体结构如图1所示,主要分为资源的本体描述、原始数据分析、项目推荐等功能模块。通过各个功能模块的协同工作,为用户推荐用户喜欢的项目。

图1 基于本体的推荐系统模型

3.1 资源的本体描述

本体描述语言起源于历史上人工智能领域对知识表示的研究,有多种语言和环境可以进行本体的描述等[7]。随着Web网络的发展,也有多种Web本体语言出现,从应用范围和标准出发。采用W3C推荐的Web本体语言(Ontology Web Language,OWL0语言进行描述,OWL通过类、属性、个体、限制等内容描述资源信息。其存储模式通过 <Subject, Predicate,Object>三元组进行存储,通过上述相关元素,可以将资源进行结构化和语义的表示。

在该模型中,资源主要分为原始数据和分析数据2种资源信息。原始数据主要包括项目信息、用户信息、用户行为信息等不需要加工的信息。分析数据包括用户行为分析规则、用户偏好、用户相似度、用户与项目相似度等信息。各种数据的具体描述方法如下:

3.1.1 原始数据

原始数据不需要经过任何处理,通过本体的类、属性、个体进行描述。即分为项目信息类、用户信息类、用户行为信息类。各个类下面具有相应的属性信息和个体信息。

以新闻本体为例,描述本体描述的介绍:

上述内容为OWL文件中关于新闻本体类的定义,该内容定义了具有IRI地址为“http://www.reco.com/mf#新闻”的新闻本体类,该新闻本体类为项目本体的子类,并具有项目类的所有属性。在OWL文件中,关于新闻本体的属性描述如下所示:

上述OWL内容主要描述的是新闻本体具有新闻介绍和新闻时间等基本类型属性和新闻事件、新闻人物、新闻事件等对象类型属性。基本类型属性是指本体的属性取值范围是整数、字符串等类型,对象类型属性指本体的取值是其他类型的个体。

3.1.2 用户偏好信息

在基于内容的推荐系统中,用户偏好信息可以通过模式学习和用户配置2种方法生成,在当前模型中,采用2种方法相结合的方式进行方法管理。即用户首次配置,随着用户访问记录而动态更新的方式进行用户偏好信息的管理。为了达到用户项可以进行语义描述的目标,用户偏好信息通过属性、属性值、权重三元组集Profile={<p1,v1,w1>,<p1, v2,w2>,…<pm,vn,wx>}来定义用户的偏好信息。偏好信息随着用户访问记录的增多而更新。其具体更新方法由原始数据分析模块进行处理。

3.1.3 用户相似度信息

用户相似度信息用于存储用户之间的相似性,系统中采用<用户,相似用户,相似度>三元组进行表示。3.1.4 用户与项目相似度

用户与项目相似度采用<用户,项目,相似度>三元组进行表示。

3.2 原始数据分析

原始数据分析主要功能是在本体描述的基础数据上进行分析处理。主要通过用户的历史访问信息进行偏好度更新、用户间相似度计算、用户与项目相似度计算等功能。

3.2.1 偏好度更新

偏好度更新功能主要是通过分析用户对项目的访问历史来更新用户的偏好配置信息,偏好信息将按照下述步骤进行更新:

3.2.2 用户间相似度计算

用户间相似度的计算是根据用户的偏好信息进行用户聚类,该相似度是以基于用户的协同过滤为基础,采用用户偏好信息为聚类数据,使系统可以根据该数据进行协同推荐。在根据爱好的用户聚类中,将偏好信息看作项目信息,以基于用户的余弦相似性进行用户的聚类,在相同用户访问一个项目时,同时向同组用户推荐该用户的访问项。用户间相似度计算的主要过程如下:

3.2.3 用户与项目相似度

由于用户配置信息采用了具有语义信息的属性作为偏好配置,在计算用户配置信息和项目相似度计算时,采用基于属性相似性的计算方法,该计算过程如下:

原始数据分析为项目推荐提供基础数据支持,计算出的数据信息存入到本体中,并为项目推荐使用。

3.3 项目推荐

项目推荐功能根据用户分析的数据,为用户推荐用户感兴趣的项目,该功能主要由项目评分、项目过滤、项目推荐与展示等过程组成,下面详细介绍各个功能过程。

项目评分:项目评分根据用户相似信息和用户与项目相似性的值进行该项目的评分。该评分为项目推荐的主要依据,该项目的评分算法如下:

项目过滤主要是将用户访问过的、根据法规等不适合推荐的项目过滤掉。该过程具体过程如下:

项目推荐与展示主要根据项目的依据项目评分和项目过滤后的推荐项进行选择的推荐和展示,具体过程如下:

推荐模型根据上述描述的过程获取推荐项,并根据推荐项为用户提供个性服务,提高了用户使用的体验度,节省了用户的查询时间。

4 实验和评价

推荐系统的性能指标一般有推荐的精确度和推荐的效率,使用的指标有平均绝对误差(Mean Absolute Error,MAE),均方根误差(Root Mean Squared Error,RMSE)和相关性correlation。由于不同的研究工作针对不同的问题,使用不同的数据集,因此具体评测方法变化很大[12]。当前常用的数据有MovieLens,EachMovie,BookCrossing等数据集。

为了对推荐模型进行指标分析,以比较本体的推荐方法较传统的推荐算法有哪些优点,进行了相应的数据准备。采用具有悠久历史的MovieLens进行实验,分别采用1 000,10 000,100 000的数据量进行模型的测试。并分别从准确率、召回率、执行时间等指标进行计算。如表1所示,虽然基于本体的推荐方法在执行效率方面稍微低于传统的推荐算法,但是其在召回率和准确率方面均较传统的方法有较好的提高。

表1 准确率、召回率和执行效率对比

5 结束语

本文将知识的本体表示方法引入到了传统的推荐算法中,采用协同过滤和内容过滤两者的基本思想,提出一种基于本体的推荐系统模型,解决了传统推荐算法中存在的结构化程度低、语义缺乏等问题。该模型在准确率和召回率方面都优于传统的推荐系统。下一步工作主要是改进推荐模型的计算公式,以达到更高的准确率和召回率。

[1] 吴泓辰,王新军,成 勇,等.基于协同过滤与划分聚类的改进推荐算法[J].计算机研究与发展,2011,48(s3): 205-212.

[2] Schafer J B,Frankowski D,Herlocker J,et al.Evaluating Collaborative Filtering Recommender Systems[J].ACM Transactions on Information Systems,1999,22(1):5-53.

[3] Pazzani M J,Billsus D.Content-based Recommendation Systems[EB/OL].(2001-12-10).http://www.researchgate.net/publication/200121026_Content-Based_ Recommendation_Systems.

[4] Jntema W I,Goossen F.Ontology-Based News Recommendation[C]//Proceedings of EDBT Workshops.[S.l.]: ACM Press,2010.

[5] 曾 春,邢春晓,周立柱.个性化服务技术综述[J].软件学报,2002,13(10):1592-1601.

[6] 顾 芳.多学科领域本体的设计方法研究[D].北京:中国科学院计算技术研究所,2004.

[7] 李善平,尹 奇,胡玉杰,等.本体论研究综述[J].计算机研究与发展,2004,41(7):1041-1052.

[8] Gruber T.Principles for the Design of Ontologies Used for KnowledgeSharing[EB/OL].(1994-02-20).http://ksl-web.stanford.edu/people/gruber/.

[9] Lee T B,Hendler J,Lassila O.The Semantic Web[J].Scientific American,2001,284(5):34-43.

[10] Goossen F,Jntema W I,Frasincar F.News Personalization Using the CF-IDF Semantic Recommender[EB/OL].(2011-07-26).http://repub.eur.nl/pub/31385/.

[11] Sarwar B,KarypisG,Konstan J,etal.Item-based Collaborative Filtering Recommendation Algorithms[C]// Proceedings of the 10th International Conference on World Wide Web.New York,USA:ACM Press,2001:285-295.

[12] 许海玲,吴 潇,李晓东,等.互联网推荐系统比较研究[J].软件学报,2009,20(2):350-362.

编辑 顾逸斐

An Ontology-based Recommendation System Model

QIAO Dongchun1,LIU Xiaoyan1,FU Xiaodong1,CAO Cungen2
(1.Faculty of Information Engineering and Automation,Kunming University of Science and Technology, Kunming 650500,China;2.Key Laboratory of Intelligent Information Processing, Institute of Computing Technology,Chinese Academy of Sciences,Beijing 100190,China)

The classic recommendation system is mainly based on the users for the project evaluation or the keywords similarity between the user and the item for recommendation,there is a low degree of information structure,lack of semantic and other issues.To solve these problems,this paper proposes an ontology-based recommender system model.This model uses OWL language describe the user and project information by introducing ontology to bear more semantic information and improve the degree of information structure.In the recommendation process,the results of analyzing user behavior information by rules is considered for improve the quality of recommendation.Experimental results show that the model has better effect in degree of information structure and semantics.It can effectively improve the recall and precision rates by using this model for recommendation.

ontology;collaborative filtering;content-based recommendation;hybrid recommendation;Ontology Web Language(OWL);recommendation system

1000-3428(2014)11-0282-06

A

TP39

10.3969/j.issn.1000-3428.2014.11.056

国家自然科学基金资助项目(61173063,10AYY003,71161015)。

乔冬春(1984-),男,硕士研究生,主研方向:软件工程,知识处理;刘晓燕,副教授;付晓东,教授、博士;曹存根,研究员。

2013-10-28

2013-12-20E-mail:103242266@qq.com

中文引用格式:乔冬春,刘晓燕,付晓东,等.一种基于本体的推荐系统模型[J].计算机工程,2014,40(11): 282-287.

英文引用格式:Qiao Dongchun,Liu Xiaoyan,Fu Xiaodong,et al.An Ontology-based Recommendation System Model[J].Computer Engineering,2014,40(11):282-287.

猜你喜欢

相似性本体语义
一类上三角算子矩阵的相似性与酉相似性
浅析当代中西方绘画的相似性
语言与语义
基于本体的机械产品工艺知识表示
低渗透黏土中氯离子弥散作用离心模拟相似性
“上”与“下”语义的不对称性及其认知阐释
《我应该感到自豪才对》的本体性教学内容及启示
认知范畴模糊与语义模糊
专题
Care about the virtue moral education