本发明涉及数据挖掘推荐算法中文本推荐算法领域,更具体地,涉及一种基于概率图模型的个性化旅游游记推荐方法。
背景技术:
当前随着社会的发展,人们生活水平的提高,越来越多的人有时间和金钱出门旅游,甚至走出国门到国外旅游。同时,随着互联网的发展,与旅游相关的互联网社交平台也在有着很大的发展,旅游用户在这些平台上用文字记录自己的旅游经历,用照片记录旅游的点点滴滴,并且爱好旅行的人们观看自己喜爱的游记,评论这些游记。在国内比较大的游记网站,例如百度和马蜂窝,据统计,有1/10的人是有自己写游记的习惯,而剩下的用户并没有留下自己的游记,我们不知道这些剩下的9/10的人是否在真实的现实生活中去到某地旅游参观,但这些人都喜欢阅读他人留下的游记,并且对游记进行评论。
一篇游记包含的内容有(1)文字内容,介绍自己在旅游过程的具体行程,景点特色,交通,住宿,美食等等;(2)地点,游记作者旅游的具体城市,因为用户居住地到旅游城市的距离是影响到该城市旅游的重要因素;(3)时间,游记作者去到该城市旅游的通常有具体的时间安排与旅游计划。我们发现,游记一般写的很随意,甚至没留下文字,只是几张照片。这就造成了游记质量的参差不齐,不能给读者带来很好的信息。而且,在旅游平台上,对喜欢看用户游记的用户并没有在游记内容上进行推荐,不能给用户一个很好的帮助。本论文研究的目的在于,基于游记内容及地点,给游记爱好者进行个性化推荐。
在传统的推荐系统中,通常使用协同过滤,或者svd矩阵分解的方法来进行,但要克服cold-start(“冷启动”)等问题。而在文本内容处理方面,如文本分类等,常见的方法为概率模型(如朴素贝叶斯,lda),但这些模型可能遇到数据稀疏,数据分布不均等情况,并且没有涉及到旅游地点的相关信息。在基于地点的算法推荐,通常是采用旅游者居住地到旅游景点的距离作为重要参考信息。此外,一些隐变量模型采用矩阵分解的形式找出地点的隐特征。这些都或多或少忽视一些重要信息,比如用户的隐特征,地点隐特征,还有丰富的文字信息。所以,我们将结合已有的信息,采用泊松分解方法,利用伽马分布找出这些潜在的隐特征。
技术实现要素:
本发明提供一种较高准确率的基于概率图模型的个性化旅游游记推荐方法。
为了达到上述技术效果,本发明的技术方案如下:
一种基于概率图模型的个性化旅游游记推荐方法,包括以下步骤:
s1:游记主题初始化:对游记文章进行分词,采用标准的文章主题模型,通过吉布斯采样,得到每篇游记的主题分布,以及每个词的主题分布,用计算出的主题分布对游记和词伽马分布的相关参数进行赋值,此外对用户偏好,地点隐特征的相关参数用随机数进赋初值;
s2:对每篇游记中的每个词,通过词主题与文章主题的分布,计算词频关系的对数值,并更新每篇游记及该游记中词的伽马分布参数中的形状参数;
s3:针对每个用户评论的每篇游记,根据用户偏好分布,游记主题分布与地点隐特征,计算用户参与游记评论的对数值,并更新用户,游记,地点伽马分布参数中的形状参数
s4:更新所有伽马分布的尺度参数;
s5:通过训练集训练出来的用户偏好,地点隐特征,从验证数据集中进行预测。
进一步地,所述步骤s2的具体过程如下:
s21:计算词频关系的期望值,公式如下:
其中ψ(.)表示伽玛函数的对数的导数,也称为digamma函数,
s22:为了能够使数据平滑,避免出现异常值,将s21的结果进行归一化处理,公式如下:
s23:借助s22的计算结果,更新游记中词主题伽马分布的形状参数,公式如下:
其中
s24:借助步骤s22计算的结果,更新游记主题伽马分布的形状参数,公式如下:
进一步地,所述步骤s3中,根据每个用户参与的游记评论事件,计算用户评论的期望值,由于各参数之间是相互独立的,将其分别开来,具体过程如下:
s31:计算用户与游记主题之间的期望值,公式如下:
其中
s32:计算用户与地点隐特征之间的期望值,公式如下:
其中
s33:借助s32的结果,更新用户偏好伽马分的形状参数,公式如下:
其中ω(l=le)表示用户点评游每个记事件中游记涉及的旅游地为le。
s34:借助s32的结果,更新地点隐特征伽马分的形状参数,公式如下:
s35:借助s33的结果,我们将再次更新游记主题伽马分布的形状参数,公式如下:
进一步地,所述步骤s4的具体过程如下:
s41:更新词伽马主题分布的尺度参数,公式如下:
s42:更新词伽马主题分布的尺度参数,公式如下:
s43:更新用户伽马主题分布的尺度参数,公式如下:
s44:更新地点隐特征伽马主题分布的尺度参数,公式如下:
进一步地,所述步骤s5的具体过程如下:
s51:对于一篇新游记,将固定用户偏好,地点隐特征伽马分布,更新新游记的主题分布,词主题分布情况;
s52:借助s51中的结果,计算未评论该游记的用户评论该游记的的概率,公式如下:
与现有技术相比,本发明技术方案的有益效果是:
本发明采用伽马分布,泊松分解算法,对未知的用户偏好,地点特征进行很好的估算,能够利用文本信息及地点,是否点评游记等三个信息挖掘出这些隐特征,不用考虑读者的地理位置,景点的位置等一些无法获取的信息,能够提高推荐的准确率;采用联合的概率图模型,对于推荐系统中常见的“冷启动”问题,以及对于多图少字的游记能够很好的解决。
附图说明
图1为本发明流程图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
如图1所示,一种基于概率图模型的个性化旅游游记推荐方法,包括以下步骤:
s1:游记主题初始化:对游记文章进行分词,采用标准的文章主题模型,通过吉布斯采样,得到每篇游记的主题分布,以及每个词的主题分布,用计算出的主题分布对游记和词伽马分布的相关参数进行赋值,此外对用户偏好,地点隐特征的相关参数用随机数进赋初值;
s2:对每篇游记中的每个词,通过词主题与文章主题的分布,计算词频关系的对数值,并更新每篇游记及该游记中词的伽马分布参数中的形状参数;
s3:针对每个用户评论的每篇游记,根据用户偏好分布,游记主题分布与地点隐特征,计算用户参与游记评论的对数值,并更新用户,游记,地点伽马分布参数中的形状参数
s4:更新所有伽马分布的尺度参数;
s5:通过训练集训练出来的用户偏好,地点隐特征,从验证数据集中进行预测。
进一步地,所述步骤s2的具体过程如下:
s21:计算词频关系的期望值,公式如下:
其中ψ(.)表示伽玛函数的对数的导数,也称为digamma函数,
s22:为了能够使数据平滑,避免出现异常值,将s21的结果进行归一化处理,公式如下:
s23:借助s22的计算结果,更新游记中词主题伽马分布的形状参数,公式如下:
其中
s24:借助步骤s22计算的结果,更新游记主题伽马分布的形状参数,公式如下:
进一步地,所述步骤s3中,根据每个用户参与的游记评论事件,计算用户评论的期望值,由于各参数之间是相互独立的,将其分别开来,具体过程如下:
s31:计算用户与游记主题之间的期望值,公式如下:
其中
s32:计算用户与地点隐特征之间的期望值,公式如下:
其中
s33:借助s32的结果,更新用户偏好伽马分的形状参数,公式如下:
其中ω(l=le)表示用户点评游每个记事件中游记涉及的旅游地为le。
s34:借助s32的结果,更新地点隐特征伽马分的形状参数,公式如下:
s35:借助s33的结果,我们将再次更新游记主题伽马分布的形状参数,公式如下:
进一步地,所述步骤s4的具体过程如下:
s41:更新词伽马主题分布的尺度参数,公式如下:
s42:更新词伽马主题分布的尺度参数,公式如下:
s43:更新用户伽马主题分布的尺度参数,公式如下:
s44:更新地点隐特征伽马主题分布的尺度参数,公式如下:
进一步地,所述步骤s5的具体过程如下:
s51:对于一篇新游记,将固定用户偏好,地点隐特征伽马分布,更新新游记的主题分布,词主题分布情况;
s52:借助s51中的结果,计算未评论该游记的用户评论该游记的的概率,公式如下:
本发明采用伽马分布,泊松分解算法,对未知的用户偏好,地点特征进行很好的估算,能够利用文本信息及地点,是否点评游记等三个信息挖掘出这些隐特征,不用考虑读者的地理位置,景点的位置等一些无法获取的信息,能够提高推荐的准确率;采用联合的概率图模型,对于推荐系统中常见的“冷启动”问题,以及对于多图少字的游记能够很好的解决。
相同或相似的标号对应相同或相似的部件;
附图中描述位置关系的用于仅用于示例性说明,不能理解为对本专利的限制;
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。