一种基于潜在狄利克雷分配模型的潜在特征提取方法与流程

文档序号:11387422阅读:736来源:国知局

本发明涉及一种用于推荐系统的特征提取方法。



背景技术:

随着电子商务规模的不断扩大,商品个数和种类快速增长,顾客需要花费大量的时间才能找到自己需要的商品。这种浏览大量无关信息和产品的过程,无疑会使消费者淹没在信息过载问题中,从而不断流失。为了解决这些问题,个性化推荐系统应运而生。个性化推荐是根据用户的特点和行为,向用户推荐其感兴趣的信息和商品。个性化推荐系统是建立在海量数据挖掘基础上的一种高级商务智能平台,以帮助电子商务网站为其顾客购物提供完全个性化的决策支持和信息服务。

目前,推荐系统有着非常广泛的应用,除了亚马逊,淘宝等电商网站,如今日头条的新闻推荐,云os的手机app推荐,网易云音乐的音乐推荐,以及其他很多应用场景中,都使用到了推荐系统。

个性化推荐系统中,当用户到来之后,推荐系统需要为用户生成特征,然后对每个特征找到有相似特征的物品,从而最终生成用户的推荐列表。因而,推荐系统的核心任务就被拆分成两部分,一个是如何为给定的用户生成特征,另一个是如何提取出已知商品的特征,进而实现用户与商品的特征匹配,完成推荐。



技术实现要素:

本发明提供一种用于推荐系统的特征提取方法。本发明将潜在狄利克雷分配模型运用到推荐算法中,将用户对商品所打的标签、购买记录构成商品的向量,进而运用潜在狄利克雷分配模型提取商品的潜在特征。技术方案如下:

一种基于潜在狄利克雷分配模型的隐特征提取方法,包括下列步骤:

(1)选取一段时间内用户对商品的评分,以及这些用户对这些商品的标签,用户好友关系信息和用户的自身特性作为数据集;

(2)从数据集提取出不同用户对同一商品的标签置于同一商品下,并且按商品热度由零开始将数据集重新排列,重新定义商品id;

(3)随机地为潜在狄利克雷分配模型向量θd和赋初始值,参数θd的含义为标签集合中的每个标签集合d,对应不同潜在特征的概率θd<pt1,pt2,...pti,...pt25>,其中,pti表示d对应潜在特征集t中第i个潜在特征的概率,参数的含义为对每个潜在特征集t中的潜在特征t,生成不同标签的概率其中,pwi表示t第i个标签的概率;

(4)针对一个特定商品的标签集合ds中的第i个标签wi,令该标签对应的潜在特征为tj,得到标签集合的中出现标签wi的概率;

(5)枚举t中的潜在特征,得到所有的pj(wj|ds),即在标签集合ds中出现第j个标签wj的概率;然后可以根据这些概率值结果,取令pj(wi|ds)最大的tj为ds中的第i个标签wi为其潜在特征;

(6)如果ds中的第i个标签wj此时选择了一个与原先不同的潜在特征,根据向量θd和的计算公式,会对θd和产生反馈,更新参数,迭代公式如下:

然后将θd与带入gibbssampling公式中,通过求解出主题分布和词分布的后验分布,从而成功解决主题分布和词分布这两参数未知的问题,完成一次迭代;

其中,αk与βt分别为未知的主题分布超参数和词分布超参数,gibbssampling;

(7)重复执行(4)-(6)步骤,对每个标签按照gibbssampling公式重新采样得到潜在特征,在标签库中更新,直到gibbssampling输出收敛,此收敛值即为潜在狄利克雷分配模型的最终输出值。

在推荐系统中,若直接利用商品的显性特征,存在一词多义和一义多词的问题。若采用基础的概率潜在语义分析模型,其参数个数会随着文本数的增加而线性增长,且易出现过拟合,效果较差。但将潜在狄利克雷分配模型运用到推荐系统中处理商品数据集,对数据集中的商品标签进行清洗后,潜在狄利克雷分配模型可以准确提取出商品的潜在特征,解决上述两种方法的问题,从而为用户进行准确的推荐。有益效果如下:

1.本专利提出的基于潜在狄利克雷分配模型的潜在特征提取方法,将原本用于文本隐形语义分析、提取主题的潜在狄利克雷分配模型用于推荐系统的潜在特征提取中,从而获得更加准确、维度极低的商品特征。

2.推荐系统算法的构造者在构造算法的时候,可以根据本专利提出的基于潜在狄利克雷分配模型的潜在特征提取方法来提取商品潜在特征,提升推荐性能。

附图说明

图1为本发明的程序流程图。

具体实施方式

推荐系统的目的是为用户进行有效的推荐,而决定其性能的关键之一便是准确提取出商品的特征。传统的特征向量空间模型使用精确的词匹配,即精确匹配用户特征向量空间与商品特征向量空间中存在的词。由于一词多义和一义多词的存在,使得该模型无法提供给用户语义层面的检索。而潜在语义分析,就是要找出词即特征的真正含义,也就是潜在语义,相比传统向量空间,潜在语义空间的维度更小,语义关系更明确,从而解决了传统的特征向量空间模型存在的问题。

潜在狄利克雷分配模型原本用于对文本进行隐形语义分析,从中提取潜在主题,其本质是将一篇文章看做一个由单词组成的很长的向量,进而压缩这一长向量,提取真正能代表这篇文章的潜在主题。

方案整体示意图如图(1),具体步骤如下:

1定义一些字母的含义

(1)d:全部用户对某一个商品所打标签的集合,数据集中表现为一组单词的集合。

(2)d:数据集中,全部d集合构成的商品标签集合。

(3)wi:集合d中,将每个商品的标签集合d看作一个单词序列<w1,w2,...wi,...,wn>,wi表示第i个单词,即第i个标签,设d有n个标签单词。在潜在狄利克雷分配模型中,将d称之为wordbag,每个单词出现的位置对潜在狄利克雷分配模型无影响。

(4)t:潜在特征的集合,本专利中将t的维度设置为25,即每个商品的显性特征经潜在狄利克雷分配模型处理后,输出25个隐性特征。

(5)voc:集合d中涉及到的所有不同的标签组成一个大集合vocabulary(简称voc)。

2数据集预处理

本专利选取一段时间内用户对商品的评分,以及这些用户对这些商品的评分,用户好友关系信息和用户的自身特性作为数据集,进行潜在特征提取。数据集中,用户对商品所打标签用词极不规范,如将两词连写为一词,词性不同但词根相同,无意义的乱码等,因此首先要遍历标签单词,对不规范单词进行相应的切词、取词干、停用等。同时,不同用户对同一商品所打标签是互相独立放置的,因此还要将数据库按用户遍历一次,提取出不同用户对同一商品的标签置于该商品下。此外,按商品热度由零开始将数据集重新排列,重新定义商品id。

3潜在狄利克雷分配模型向量θd和赋初始值

潜在狄利克雷分配模型开始时,先随机地给向量θd和赋值。参数θd和的含义如下:

(1)参数θd:d中的每个标签集合d,对应不同潜在特征的概率θd<pt1,pt2,...pti,...pt25>,其中,pti表示d对应t中第i个潜在特征的概率。计算方法很直观,pti=nti/n,其中nti表示d中对应第i个潜在特征的数目,n是d中标签总数。

(2)参数对每个t中的潜在特征t,生成不同标签的概率其中,pwi表示t生成voc中第i个标签的概率。计算方法同样很直观,pwi=nwi/n,其中nwi表示对应到潜在特征t的voc中第i个标签的数目,n表示所有对应到潜在特征t的单词总数。

4计算标签集合d中出现标签w的概率

针对一个特定商品的标签集合ds中的第i个标签wi,如果令该标签对应的潜在特征为tj,则可得到公式如下:

pj(wi|ds)=p(wi|tj)*p(wj|ds)

如公式所示,以潜在特征作为中间层,通过当前的θd和给出标签集合ds中出现标签wi的概率。其中p(wj|ds)利用θd计算得到,p(wi|tj)利用计算得到。换言之,利用当前的θd和可以为一个商品的标签集合d中的一个标签计算它对应任意一个潜在特征时的pj(wi|ds),然后根据这些结果来更新这个标签应该对应的潜在特征。

5计算标签集合ds中标签wi对应的潜在特征

经过以上计算后,可以枚举出t中的潜在特征,得到所有的pj(wj|ds)。然后可以根据这些概率值结果,取令pj(wi|ds)最大的tj为ds中的第i个标签wi为其潜在特征。

6更新参数θd与并根据gibbssampling公式采样

如果ds中的第i个标签wj此时选择了一个与原先不同的潜在特征,根据向量θd和的计算公式可知,就会对θd和产生反馈,更新参数。迭代公式如下:

其中,α与β分别为未知的主题分布超参数和词分布超参数,可通过后续的gibbssampling采样公式求得。

然后将θd与带入gibbssampling公式中,可得:

仔细观察上述结果,可以发现,式子的右半部分便是5.4节中的p(wi|tj)*p(wj|ds),这个概率的值对应着从标签集到潜在特征再到标签的路径概率。如此,k个潜在特征对应着k条路径,gibbssampling便在这k条路径中进行采样。

这样,gibbssampling通过求解出主题分布和词分布的后验分布,从而成功解决主题分布和词分布这两参数未知的问题,完成一次迭代。

7得到商品潜在特征

重复执行4到.6的步骤,对每个标签按照gibbssampling公式重新采样它的潜在特征,在标签库中更新,知道gibbssampling收敛,此收敛值即为潜在狄利克雷分配模型的最终输出值。

利用潜在狄利克雷分配模型提取对象的潜在特征时,应该根据推荐系统应用场景的变换,以及所采用的不同数据集的特点,对数据集进行适当的预处理,降低潜在狄利克雷分配模型的输入噪声,有利于获得准确的输出。除技术方案中的操作之外,应当根据实际应用场景,适当限制潜在狄利克雷分配模型的迭代次数,保证有效性的同时,适当降低模型的复杂度,从而获得更好的推荐效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1