CN105205184A - 基于隐变量模型的用户偏好提取方法 - Google Patents
基于隐变量模型的用户偏好提取方法 Download PDFInfo
- Publication number
- CN105205184A CN105205184A CN201510719818.3A CN201510719818A CN105205184A CN 105205184 A CN105205184 A CN 105205184A CN 201510719818 A CN201510719818 A CN 201510719818A CN 105205184 A CN105205184 A CN 105205184A
- Authority
- CN
- China
- Prior art keywords
- node
- conditional probability
- historical data
- represent
- user preference
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于隐变量模型的用户偏好提取方法,首先选取N个商品相关属性构成商品属性集合,根据历史数据构建得到贝叶斯网络,对贝叶斯网络搜索得到最大半团,然后向该最大半团中插入表示用户偏好的隐变量L得到隐变量模型,L=1表示用户喜好,L=0表示用户不喜好;对隐变量模型进行参数学习,得到隐变量模型中各个节点的条件概率表;然后根据隐变量L的条件概率表,进行用户偏好提取:查找得到L=1时,条件概率最大值对应的属性组合项,该项对应用户最喜好的商品类型;查找得到L=0时,条件概率最大值对应的属性组合项,该项对应用户最不喜好的商品类型。本发明针对商品评价数据中隐含的用户偏好,通过贝叶斯网络结构来提取更客观、更符合实际的用户偏好结果。
Description
技术领域
本发明属于服务信息推送技术领域,更为具体地讲,涉及一种基于隐变量模型的用户偏好提取方法。
背景技术
随着Web2.0的不断发展和社会媒体的不断普及,电子商务应用中产生了大量的用户对商品的评价数据(简称商品评价数据),其中用户对商品是否给出评分的信息,能够很大程度上反映出用户偏好和兴趣爱好。商品评价数据中,能直接观测得到的部分包括商品本身的属性(例如商品类型、价格、好评率),以及用户对商品的评分。同时,不能直接观测得到的用户偏好,一方面决定了用户对商品的浏览、购买和评价行为;另一方面,用户的这些行为也反映了用户偏好,即用户对特定商品类型的喜好。商品本身的属性、商品评分和用户偏好之间有潜在的相互依赖关系,具有不确定性,如何描述这种依赖关系、并有效表示和计算其中存在的不确定性,是解决实际应用中给定商品本身的属性时提取用户偏好这一问题的关键,进而为商品个性化推荐、用户划分和用户定向等应用提供依据。然而,由于不确定性的存在,使得用户偏好的提取具有更大的难度和相当的挑战。除了商品评价数据外,用户自身也存在年龄、职业等诸多属性,也会对用户偏好产生影响。
贝叶斯网络(BayesianNetwork,BN)是一个带有条件概率表的有向无环图,是不确定性知识表示和推理最有效的工具之一,被广泛应用于数据分析、医疗诊断、经济预测等领域,例如,基于贝叶斯网络可以描述社交网络中用户之间的相互影响,还能描述基因片段之间的相互作用等。目前基于贝叶斯网络的用户偏好提取方法通过分析商品评价数据而建立表达用户偏好的贝叶斯网络,从而提取出用户偏好。现有基于贝叶斯网络的用户偏好提取的支撑技术,都根据商品评价数据来获得用户偏好,并且假定贝叶斯网络能表达商品评价数据中存在的所有依赖关系;但事实上,商品评价数据只包含了描述用户偏好的部分观测数据,很多隐含关系并不容易发现和表达,影响了用户偏好提取的准确性。
隐变量(LatentVariable)用来表示不能直接观测其取值的变量。含有隐变量的贝叶斯网络(简称隐变量模型),是一种能够发现和表示数据中隐含信息的概率图模型。该模型是在贝叶斯网络基础上,基于最大半团(MaximalSemi-Clique)来发现并插入隐变量。显然,可用隐变量表示用户偏好这一商品评价数据中的隐含信息,进而可利用隐变量模型的性质和计算方法来提取用户偏好。然而,公知的隐变量模型的相关研究主要从理论论证的角度出发,关注隐变量的发现与表示,和超在其论文“基于结构EM的隐变量模型学习方法”中提出了一种基于结构EM(ExpectationMaximization,期望最大)算法的隐变量模型学习方法,优化了隐变量模型结构,使其更好地表达变量之间的关系;王秀芳在其论文“具有隐变量的贝叶斯网络结构学习研究”中提出了一种隐变量模型的结构学习方法,基于最大团和因子分析的方法,快速地发现贝叶斯网络中的隐变量。但是以上方法对实际应用关注较少,未给隐变量赋予特定应用的实际含义。张富峥在其论文“基于大规模位置和消费数据的用户行为理解”中以贝叶斯网络为基础,把用户表现出来的时间序列行为表示为能够观察到的显式变量,把用户的猎奇心理特质和效用偏好表示为隐变量,通过模型的生成过程来表示用户的行为模式,但该方法未涉及以商品评价数据为基础来提取用户偏好。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于隐变量模型的用户偏好提取方法,针对商品评价数据中隐含的用户偏好,建立商品属性贝叶斯网络结构,通过计算隐变量模型中各个节点的参数,给定当前商品本身的属性时为用户偏好提取提供更客观、更符合实际的结果。
为实现上述发明目的,本发明基于隐变量模型的用户偏好提取方法,包括以下步骤:
S1:根据需要从商品相关属性中选取N个属性构成属性集合V={X1,X2,…,XN},根据这N个属性的历史数据d构建得到贝叶斯网络的有向无环图结构,并计算贝叶斯网络中每个节点的条件概率表;
S2:对贝叶斯网络搜索得到最大半团;
S3:向最大半团中插入表示用户偏好的隐变量L得到隐变量模型,L=1表示用户喜好,L=0表示用户不喜好;插入隐变量L的具体方法为:首先在最大半团中找到所有存在父亲节点的节点,将隐变量节点作为这些节点的父亲节点;然后找到最大半团中所有没有父亲节点的节点,将这些节点作为隐变量节点的父亲节点;
对隐变量模型进行参数学习,得到隐变量模型中各个节点的条件概率表;
S4:根据隐变量L的条件概率表,进行用户偏好提取:查找得到L=1时,条件概率最大值对应的属性组合项,该项对应用户最喜好的商品类型;查找得到L=0时,条件概率最大值对应的属性组合项,该项对应用户最不喜好的商品类型。
本发明基于隐变量模型的用户偏好提取方法,首先选取N个商品相关属性构成商品属性集合,根据历史数据构建得到贝叶斯网络,对贝叶斯网络搜索得到最大半团,然后向该最大半团中插入表示用户偏好的隐变量L得到隐变量模型,L=1表示用户喜好,L=0表示用户不喜好;对隐变量模型进行参数学习,得到隐变量模型中各个节点的条件概率表;然后根据隐变量L的条件概率表,进行用户偏好提取:查找得到L=1时,条件概率最大值对应的属性组合项,该项对应用户最喜好的商品类型;查找得到L=0时,条件概率最大值对应的属性组合项,该项对应用户最不喜好的商品类型。
本发明具有以下技术效果:
(1)在描述商品相关属性及用户偏好的隐变量模型中,隐变量能够汇聚能观测到其取值的显变量之间存在的依赖关系,简化模型结构,使显变量之间的依赖关系更清晰,并为模型学习、推理和应用提供重要的基础,且更符合实际情况,从而合理有效地反映商品评价数据中蕴含的用户偏好信息;
(2)隐变量的引入不仅简化了商品属性贝叶斯网络的结构,也使计算过程中算法的时间复杂度大幅降低,使整个计算过程的实用性和可行性更高。
附图说明
图1是本发明基于隐变量模型的用户偏好提取方法的流程图;
图2是本实施例中采用的贝叶斯网络流程图;
图3是采用EM算法获取隐变量模型中各节点条件概率表的流程图;
图4是本实施例得到的贝叶斯网络;
图5是隐变量模型图结构;
图6是包含条件概率表的隐变量模型。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
实施例
图1是本发明基于隐变量模型的用户偏好提取方法的流程图。如图1所示,本发明基于隐变量模型的用户偏好提取方法包括以下步骤:
S101:构建贝叶斯网络:
根据需要从商品相关属性中选取N个属性构成属性集合V={X1,X2,…,XN},根据这N个属性的历史数据d={d1,d2,…,dM}构建得到贝叶斯网络,历史数据d中的每个数据样本dm都包括N个属性的数据,m的取值范围为m=1,2,…,M。在贝叶斯网络中,各个属性也称为变量,是贝叶斯网络中的节点。本实施例中,采用传统的从数据构建贝叶斯网络的方法,分析各属性之间的条件独立关系。图2是本实施例中采用的贝叶斯网络构建方法流程图。如图2所示,贝叶斯网络构建的具体步骤包括:
S201:确定贝叶斯网络初始结构:
初始化一个以属性集合V={X1,X2,…,XN}中各属性为节点、无边的图结构G=(V,E),E表示属性之间有向边的集合,此时初始化一个空的列表H。根据需要确定节点的顺序,利用公式(1)计算每一对节点的互信息I(Xi,Xj),即Xi和Xj之间的相互依赖程度:
其中,i、j表示属性序号,取值范围为1≤i≠j≤N,P(Xi,Xj)表示表示属性Xi和Xj的取值都在历史数据d中出现的概率,P(Xi)、P(Xj)分别表示Xi、Xj取值在历史数据d中出现的概率,P(Xi,Xj)、P(Xi)、P(Xj)这几个概率值都是通过对历史数据d进行统计来得到的。
将互信息I(Xi,Xj)作为节点Xi、Xj之间边的权重。利用公式(1)计算所有节点之间边的权重,并将其中I(Xi,Xj)>ε的边按其权重由大到小排序、并放入列表H中,其中ε为给定的互信息阈值。为了尽可能多地表达节点之间的依赖关系,ε一般取值为0.01≤ε≤0.05。对于列表H中每条边对应的节点对,如果它们之间不存在开放路径(开放路径是不存在碰撞节点的路径,碰撞节点是大于1条边指向它的节点),则用一条有向边连接这一节点对,并把这条有向边添加到边集合E中,从而得到初始的有向无环图,同时从列表H中删除该节点对,将处理完之后的列表H记为H1。
S202:判断是否如果是,贝叶斯网络构建完毕,进入步骤S205,否则进入步骤S203。
S203:缺边检测:
接下来进行缺边检测,具体方法为:
首先取出列表H1中的第一个节点对,记为(Xi,Xj),在当前有向无环图G中搜索得到节点Xi和Xj的最小割集C。最小割集是找到节点Xi和Xj的所有邻接路径上的邻居节点,邻接路径是两个节点间所有边构成的路径,与Xi相邻的节点存入集合N1中,与Xj相邻的节点存入集合N2中,如果N1中的元素数量小于N2,则N1集合中的元素作为最小割集,否则N2集合中的元素作为最小割集。然后计算节点Xi和Xj在最小割集C下的条件互信息I(Xi,Xj|C),其计算公式为:
其中,P(Xi,Xj,C)表示Xi、Xj、C的取值都在历史数据d中出现的概率,P(Xi,Xj|C)表示在最小割集C下Xi和Xj的取值在历史数据d中都出现的概率,P(Xi|C)、P(Xj|C)分别表示在最小割集C下Xi、Xj取值在历史数据d中出现概率。
然后判断是否I(Xi,Xj|C)>ε,如果是,则认为该节点对在最小割集C下仍然相互依赖,用一条有向边连接这一对节点,并将相应的边添加到边集合E中。否则不添加该边,继续下一个节点对,直到遍历完H1中的所有节点对。
S204:冗余边检测:
为了简化贝叶斯网络结构,还需要进行冗余边检测,以去除冗余边。对于边集合E中的每一对节点Xi和Xj之间的有向边,如果Xi和Xj之间除了这条边之外还存在其他路径,则暂时从边集合E中删除这条边,搜索得到节点Xi和Xj的最小割集C,使用公式(2)计算Xi和Xj在最小割集C下的条件互信息I(Xi,Xj|C),如果I(Xi,Xj|C)>ε,则恢复这边条,否则永久删除这条边。如果Xi和Xj之间仅有一条路径,则不作任何操作。遍历完E中所有边后,最终得到的有向无环图即为需要构建的贝叶斯网络结构;
S205:计算节点条件概率表:
贝叶斯网络中各节点的条件概率表是一个重要组成部分,因此需要根据构建完成的贝叶斯网络来计算各节点的条件概率表。本实施例中采用极大似然估计的方法来计算,具体方法为:对于由N个属性V={X1,X2,…,XN}构建的贝叶斯网络,不失一般性,如果历史数据d中Xi共有Ri个可能取值,贝叶斯网络中Xi的父亲节点集Pa(Xi)中所有节点的可能取值组合有Qi个,那么可以用公式(3)来表示Xi的条件概率参数αiqr:
αirq=P(Xi=r|Pa(Xi)=q)(3)
其中,1≤i≤N,r表示Xi的可能取值序号,q表示Xi的父亲节点的可能取值序号,对于一个固定的节点序号i,1≤r≤Ri,1≤q≤Qi。
αirq可以采用公式(4)计算得到其最大似然估计
其中,Wirq表示N个属性的历史数据d中同时满足Xi=r和Pa(Xi)=q的样本数量,Wiq表示N个属性的历史数据d中满足Pa(Xi)=q的样本数量。
S102:搜索最大半团:
根据半团的定义,若A是模型结构中一些节点的集合,B是模型结构中任一个节点,Δ(B;A)表示在A中所包含的B的邻居节点(即B的父亲节点或孩子节点)组成的集合。如果节点集合Z是一个半团,那么对于Z中的任意一个节点B,与Z中一半以上的节点相连,即Δ(B;Z)中的元素数量大于Z中元素数量的一半。
利用步骤101构建得到的商品属性贝叶斯网络,首先搜索网络G中所有包含3个节点的完全子图,然后对该子图进行扩展,即只要引入一个节点后满足半团定义就保留此节点(即当每个节点与节点集中一半的节点相连时,就搜索得到一个半团结构),并在此结构的基础上继续添加新节点,直到不能加入新节点为止,从而搜索得到最大半团。
由于搜索起点是从所有包含3个节点的完全子图开始的,因此当贝叶斯网络中节点较多,也就是步骤S101中所选择的属性较多时,可能会搜索得到两个或以上的最大半团。当这种情况发生时,可以任意选择一个最大半团,对所选择的最大半团进行分析。假定引入的隐变量表示用户偏好,在该隐变量模型的结构中分析与隐变量相关的依赖关系,据此判断该隐变量是否能够表示用户偏好。若该隐变量表示用户偏好后,该最大半团的依赖关系符合实际情况,那么此最大半团即为合理最大半团。
S103:得到隐变量模型:
向最大半团中插入一个表示用户偏好的隐变量L得到隐变量模型,L=1表示用户喜好,L=0表示用户不喜好;插入隐变量L具体方法为:首先在最大半团中找到所有存在父亲节点的节点,将隐变量节点作为这些节点的父亲节点;然后找到最大半团中所有没有父亲节点的节点,将这些节点作为隐变量节点的父亲节点。
然后计算隐变量模型中各个节点的条件概率表。本实施例中采用EM算法来获取。图3是采用EM算法获取隐变量模型中各节点条件概率表的流程图。如图3所示,采用EM算法获取各节点条件概率表的具体步骤包括:
S301:在历史数据d的每个数据样本dm中加入隐变量项,得到重构历史数据D0={D1,D2,…,DM},显然重构历史数据D0中的每个数据样本Dm都包括N+1个属性的数据,m的取值范围为m=1,2,…,M。
S302:初始化隐变量模型中各个节点的条件概率表,得到一组初始参数数据θ0,若某节点的父亲节点和孩子节点都不包含隐变量节点,则该节点的的初始条件概率表为步骤S205中计算得到的条件概率表,否则该节点的初始条件概率表随机产生。
S303:初始化迭代次数τ=1。
S304:数据修补:
根据条件概率表的参数数据θτ-1计算得到隐变量L=1和L=0时在各个样本Dm中的碎权样本权重,对重构历史数据D0进行修补,得到重构历史数据Dτ。
对于历史数据d,其中每个数据样本的权重为1,但是由于增加了隐变量L,并且本发明中隐变量L有两个可能取值,因此每个数据样本要分成两个数据样本,两个数据样本的权重和为1,因此划分后的每个样本被称为碎权样本。重构历史数据Dτ中,包括历史数据d中各个属性的取值和用于表示用户偏好这一隐变量的取值都是完整的,因此可以很容易计算出各个节点的条件概率表。
S305:计算条件概率表的参数数据θτ:
根据修补后的重构历史数据Dτ重新计算各节点的条件概率表,得到一组参数数据θτ。根据公式(4)可知参数数据θτ中每个节点的条件概率参数的计算公式为:
其中,1≤i′≤N+1,r′表示Xi′的可能取值序号,q′表示Xi′的父亲节点的可能取值序号,对于一个固定的节点序号i′,1≤r′≤Ri′,Ri′表示Xi′的可能取值个数,1≤q′≤Qi′,Qi′表示Xi′的父亲节点集Pa(Xi′)中所有节点的可能取值组合个数;表示重构历史数据Dτ中同时满足Xi=r和Pa(Xi)=q的样本权重之和,表示重构历史数据Dτ中满足Pa(Xi)=q的样本权重之和。
S306:判断是否达到预设的迭代结束条件,一般迭代结束条件有两种,预设迭代次数阈值或相邻两次迭代结果的差值阈值。如果达到之前预设的迭代结束条件,则说明各个节点的条件概率表收敛到了稳定的值,则迭代结束,以当前参数数据θτ作为隐变量模型中各节点的条件概率表,从而得到反映商品相关属性和用户偏好的隐变量模型。否则进入步骤S307。
S307:令τ=τ+1,返回步骤S304。
S104:用户偏好提取:
在步骤S103得到的隐变量模型中,根据隐变量节点L的条件概率表提取用户偏好,具体方法为:查找得到L=1时,条件概率最大值对应的属性组合项,该项对应用户最喜好的商品类型;查找得到L=0时,条件概率最大值对应的属性组合项,该项对应用户最不喜好的商品类型。
为了更好地说明本发明的技术效果,采用一个具体实施例进行实验验证。因为商品相关属性数据获取相对容易,因此本实施例采用从某电子商务网站中获取的用户对商品的评价数据,相关属性包括商品种类(用X1表示,取值为t1和t2)、价格(用X2表示,1代表便宜,2代表昂贵,3代表价格适中)、好评率(用X3表示,T代表好评,F代表差评)和用户对商品是否进行了评分(用X4表示,1代表购买且评分,0代表未购买未评分)。表1是本实施例中采用的商品评价数据。
X1 | X2 | X3 | X4 | |
d1 | t1 | 1 | T | 0 |
d2 | t2 | 2 | F | 1 |
d3 | t2 | 3 | F | 1 |
d4 | t1 | 3 | T | 0 |
d5 | t2 | 1 | T | 0 |
d6 | t1 | 2 | F | 1 |
表1
下面构建贝叶斯网络,初始时,V={X1,X2,X3,X4},
根据公式(1),按照X1、X2、X3和X4的顺序,计算每一节点对之间的互信息。以节点X1、X2为例,其互信息I(X1,X2)为:
同理可得I(X1,X3)=0.08,I(X1,X4)=0.08,I(X2,X3)=0.67,I(X2,X4)=0.67,I(X3,X4)=1。设ε=0.01,则H={(X3,X4),(X2,X4),(X2,X3),(X1,X4),(X1,X3)}。以互信息作为边的权重,按权重从大到小的顺序将这些边添加到E中,由于每对节点之间均不存在开放路径,因此所有节点对都添加到E中,并从H中删除,也就是说E={(X3,X4),(X2,X4),(X2,X3),(X1,X4),(X1,X3)},由于完成初始贝叶斯网络的有向无环图的构建。
然后计算得到各个节点的条件概率表。表2是节点X3的条件概率表。
X1 | X2 | P(X3=T|X1,X2) | P(X3=F|X1,X2) |
t1 | 1 | 1.0 | 0 |
t1 | 2 | 1.0 | 0 |
t1 | 3 | 0 | 1.0 |
t2 | 1 | 1.0 | 0 |
t2 | 2 | 0 | 1.0 |
t2 | 3 | 0 | 1.0 |
表2
同理可得其他节点的条件概率表。图4是本实施例得到的贝叶斯网络。然后在图4所得的贝叶斯网络中搜索最大半团。如图4所示,节点个数为3的完全子图有2个,分别为{X1,X3,X4}和{X2,X3,X4}。对完全子图{X1,X3,X4}进行扩展,得到最大半团{X1,X2,X3,X4};同理对完全子图{X2,X3,X4}进行扩展,得到最大半团{X1,X2,X3,X4}。因此本实施例得到一个最大半团。
然后在最大半团{X1,X2,X3,X4}中插入用于表示用户偏好的隐变量L,由于属性X3和X4在该最大半团中有父亲节点,因此隐变量L是属性X3和X4的父亲节点;由于属性X1和X2在该最大半团中没有父亲节点,因此属性X1和X2是隐变量L的父亲节点,从而得到隐变量模型的图结构。图5是隐变量模型图结构。
然后由表1的商品评价数据和图5中的隐变量模型图结构,隐变量L的取值分别为1和0,利用EM算法估算各个节点的条件概率表。由于本实施例的贝叶斯网络中没有既不是隐变量父亲节点也不是隐变量孩子节点的节点,因此所有节点条件概率表的初始参数都随机产生,即EM算法首先选择一组初始参数数据θ0,X1、X2、L、X3和X4的初始条件概率表分别如表3、表4、表5、表6和表7所示。
X1 | t1 | t2 |
P(X1) | 0.5 | 0.5 |
表3
X2 | 1 | 2 | 3 |
P(X2) | 0.5 | 0.2 | 0.3 |
表4
X1 | X2 | P(L=1|X1,X2) | P(L=0|X1,X2) |
λ1 | 1 | 0.33 | 0.67 |
λ1 | 2 | 0.33 | 0.67 |
λ1 | 3 | 0.67 | 0.33 |
λ2 | 1 | 0.33 | 0.67 |
λ2 | 2 | 0.33 | 0.67 |
λ2 | 3 | 0.67 | 0.33 |
表5
L | P(X3=T|L) | P(X3=F|L) |
1 | 0.33 | 0.67 |
0 | 0.67 | 0.33 |
表6
L | P(X4=1|L) | P(X4=0|L) |
1 | 0.67 | 0.33 |
0 | 0.33 | 0.67 |
表7
从θ0出发,开始执行迭代。在第一次迭代中,使用初始参数数据θ0修补数据。首先计算得到隐变量L=1和L=0时在各个样本Dm中的碎权样本权重。不同的网络结构其碎权样本权重计算公式会有所区别,在此不再赘述。本实施例中样本D1中两个碎权样本权重的计算公式为:
用碎权样本D1,1=(t1,1,T,0,1)[0.11]和D1,2=(t1,1,T,0,0)[0.89]替换数据样本D1。
同理可得其他样本的碎权样本权重:
P(L=1|D2,θ0)=0.89,P(L=0|D2,θ0)=1-P(L=1|D2,θ0)=1-0.89=0.11
P(L=1|D3,θ0)=0.11,P(L=0|D3,θ0)=1-P(L=1|D3,θ0)=1-0.11=0.89
P(L=1|D4,θ0)=0.33,P(L=0|D4,θ0)=1-P(L=1|D4,θ0)=1-0.33=0.67
P(L=1|D5,θ0)=0.33,P(L=0|D5,θ0)=1-P(L=1|D5,θ0)=1-0.33=0.67
P(L=1|D6,θ0)=0.67,P(L=0|D6,θ0)=1-P(L=1|D6,θ0)=1-0.67=0.33
样本D2、D3、D4、D5和D6也被其相应的碎权样本所替换,得到修补后的商品评价数据集。表8是第一次修补后的完整商品评价数据集。
X1 | X2 | X3 | X4 | L | 样本权重 | |
D1,1 | t1 | 1 | T | 0 | 1 | 0.11 |
D1,2 | t1 | 1 | T | 0 | 0 | 0.89 |
D2,1 | t2 | 2 | F | 1 | 1 | 0.89 |
D2,2 | t2 | 2 | F | 1 | 0 | 0.11 |
D3,1 | t2 | 3 | F | 1 | 1 | 0.11 |
D3,2 | t2 | 3 | F | 1 | 0 | 0.89 |
D4,1 | t1 | 3 | T | 0 | 1 | 0.33 |
D4,2 | t1 | 3 | T | 0 | 0 | 0.67 |
D5,1 | t2 | 1 | T | 0 | 1 | 0.33 |
D5,2 | t2 | 1 | T | 0 | 0 | 0.67 |
D6,1 | t1 | 2 | F | 1 | 1 | 0.67 |
D6,2 | t1 | 2 | F | 1 | 0 | 0.33 |
表8
根据表8和公式(5)计算得到第一次迭代完成后各节点的条件概率表,即参数数据θ1。得到的X1、X2、L、X3和X4的条件概率表分别如表9、表10、表11、表12和表13所示。
X1 | t1 | t2 |
P(X1) | 0.5 | 0.5 |
表9
X2 | 1 | 2 | 3 |
P(X2) | 0.33 | 0.33 | 0.33 |
表10
X1 | X2 | P(L=1|X1,X2) | P(L=0|X1,X2) |
t1 | 1 | 0.11 | 0.89 |
t1 | 2 | 0.33 | 0.67 |
t1 | 3 | 0.67 | 0.33 |
t2 | 1 | 0.33 | 0.67 |
t2 | 2 | 0.11 | 0.89 |
t2 | 3 | 0.89 | 0.11 |
表11
L | P(X3=T|L) | P(X3=F|L) |
1 | 0.31 | 0.69 |
0 | 0.63 | 0.37 |
表12
L | P(X4=1|L) | P(X4=0|L) |
1 | 0.68 | 0.32 |
0 | 0.37 | 0.63 |
表13
重复上述步骤,X1、X2、L、X3和X4的条件概率表分别收敛到如表14、表15、表16、表17和表18所示的结果。图6是包含条件概率表的隐变量模型。
X1 | t1 | t2 |
P(X1) | 0.5 | 0.5 |
表14
X2 | 1 | 2 | 3 |
P(X2) | 0.33 | 0.33 | 0.34 |
表15
X1 | X2 | P(L=1|X1,X2) | P(L=0|X1,X2) |
t1 | 1 | 0 | 1.0 |
t1 | 2 | 0 | 1.0 |
t1 | 3 | 1.0 | 0 |
t2 | 1 | 0 | 1.0 |
t2 | 2 | 0 | 1.0 |
t2 | 3 | 1.0 | 0 |
表16
L | P(X3=T|L) | P(X3=F|L) |
1 | 0 | 1.0 |
0 | 1.0 | 0 |
表17
L | P(X4=1|L) | P(X4=0|L) |
1 | 1.0 | 0 |
0 | 0 | 1.0 |
表18
然后根据表16所示的隐变量L的条件概率表进行用户偏好提取。以商品类型为例,对于商品种类为t1(X1=t1)价格便宜(X2=1)的情形,L=0的可能性最大,即该属性组合项所代表的商品类型不是用户喜欢的商品类型。而对于商品种类为t2(X1=t2)、价格昂贵(X2=3)的情形,L=1的可能性最大,即该属性组合项所代表的商品类型是用户喜欢的商品类型。可以得出,本实施例中用户喜好的商品类型有:X1=t1&X2=3,X1=t2&X2=3,不喜好的商品类型有:X1=t1&X2=1,X1=t1&X2=2,X2=t2&X2=1,X2=t2&X2=2。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (4)
1.一种基于隐变量模型的用户偏好提取方法,其特征在于,包括以下步骤:
S1:根据需要从商品相关属性中选取N个属性构成商品属性集合V={X1,X2,…,XN},根据这N个属性的历史数据d构建得到贝叶斯网络有向无环图结构,并计算贝叶斯网络中每个节点的条件概率表;
S2:对贝叶斯网络搜索得到最大半团;
S3:向最大半团中插入表示用户偏好的隐变量L得到隐变量模型,L=1表示用户喜好,L=0表示用户不喜好;插入隐变量L的具体方法为:首先在最大半团中找到所有存在父亲节点的节点,将隐变量节点作为这些节点的父亲节点;然后找到最大半团中所有没有父亲节点的节点,将这些节点作为隐变量节点的父亲节点;
对隐变量模型进行参数学习,得到隐变量模型中各个节点的条件概率表;
S4:根据隐变量L的条件概率表,进行用户偏好提取:查找得到L=1时,条件概率最大值对应的属性组合项,该项对应用户最喜好的商品类型;查找得到L=0时,条件概率最大值对应的属性组合项,该项对应用户最不喜好的商品类型。
2.根据权利要求1所述的用户偏好提取方法,其特征在于,所述步骤S1中,贝叶斯网络的构建方法包括以下步骤:
S1.1:初始化一个以属性集合V={X1,X2,…,XN}中各属性为节点、无边的图结构G=(V,E),E表示属性之间有向边的集合,此时初始化一个空列表H;
计算每一对节点的互信息I(Xi,Xj),计算公式为:
其中,i、j表示属性序号,取值范围为1≤i≠j≤N,P(Xi,Xj)表示表示属性Xi和Xj的取值都在历史数据d中出现的概率,P(Xi)、P(Xj)分别表示Xi、Xj的取值在历史数据d中出现的概率;
将互信息I(Xi,Xj)作为节点Xi、Xj之间边的权重,将其中I(Xi,Xj)>ε的边按其权重由大到小排序,并放入列表H中,其中ε为给定的互信息阈值;对于列表H中每条边对应的节点对,如果它们之间不存在开放路径,则将对应边添加到边集合E中,从而得到初始的有向无环图G,同时从列表H中删除该节点对;将处理完之后的列表H记为H1;
S1.2:如果贝叶斯网络结构构建完毕,否则进入步骤S1.3;
S1.3:对列表H1中的每个节点对进行以下操作:
记节点对为(Xi,Xj),在当前有向无环图G中搜索得到节点Xi和Xj的最小割集C,然后计算节点Xi和Xj在最小割集C下的条件互信息I(Xi,Xj|C),其计算公式为:
其中,P(Xi,Xj,C)表示Xi、Xj、C的取值都在历史数据d中出现的概率,P(Xi,Xj|C)表示在最小割集C下Xi和Xj的取值在历史数据d中都出现的概率,P(Xi|C)、P(Xj|C)分别表示在最小割集C下Xi、Xj的取值在历史数据d中出现概率。;
如果I(Xi,Xj|C)>ε,则将对应边添加到边集合E中,否则不作任何操作;
S1.4:对于边集合E中的每一节点对Xi和Xj之间的有向边,如果Xi和Xj之间除了这条边之外还存在其他路径,则暂时从边集合E中删除这条边,搜索得到节点Xi和Xj的最小割集C,计算Xi和Xj在最小割集C下的条件互信息I(Xi,Xj|C),如果I(Xi,Xj|C)>ε,则恢复这条边,否则永久删除这条边;如果Xi和Xj之间仅有一条路径,则不作任何操作;
S1.5:采用极大似然估计方法计算得到每个节点的条件概率表,每个节点的条件概率参数的计算公式为:
其中,1≤i≤N,r表示Xi的可能取值序号,q表示Xi的父亲节点的可能取值序号,对于一个固定的节点序号i,1≤r≤Ri,Ri表示Xi的可能取值个数,1≤q≤Qi,Qi表示Xi的父亲节点集Pa(Xi)中所有节点的可能取值组合个数;Wirq表示N个属性的历史数据d中同时满足Xi=r和Pa(Xi)=q的样本数量,Wiq表示N个属性的历史数据d中满足Pa(Xi)=q的样本数量。
3.根据权利要求1所述的用户偏好提取方法,其特征在于,所述步骤S1.1中,互信息阈值ε的取值范围为0.01≤ε≤0.05。
4.根据权利要求1所述的用户偏好提取方法,其特征在于,所述步骤S3中隐变量模型中各个节点的条件概率表采用EM算法获取,具体步骤包括:
S3.1:在历史数据d的每个数据样本dm中加入隐变量项,得到重构历史数据D0={D1,D2,…,DM};
S3.2:初始化隐变量模型中各个节点的条件概率表,得到一组初始参数数据θ0,若某节点的父亲节点和孩子节点都不包含隐变量节点,则该节点的初始条件概率表为步骤S1中计算得到的条件概率表,否则该节点的初始条件概率表随机产生;
S3.3:初始化迭代次数τ=1;
S3.4:根据条件概率表的参数数据θτ-1计算得到隐变量L=1和L=0时在各个样本Dm中的碎权样本权重,对重构历史数据D0进行修补,得到重构历史数据Dτ;
S3.5:根据修补后的重构历史数据Dτ重新计算各节点的条件概率表的参数数据θτ,此时每个节点的条件概率参数的计算公式为:
其中,1≤i′≤N+1,r′表示Xi′的可能取值序号,q表示Xi′的父亲节点的可能取值序号,对于一个固定的节点序号i′,1≤r′≤Ri′,Ri′表示Xi′的可能取值个数,1≤q′≤Qi′,Qi′表示Xi′的父亲节点集Pa(Xi′)中所有节点的可能取值组合个数;表示重构历史数据Dτ中同时满足Xi=r和Pa(Xi)=q的样本权重之和,表示重构历史数据Dτ中满足Pa(Xi)=q的样本权重之和;
S3.6:如果达到预设迭代结束条件,则迭代结束,以当前参数数据θτ作为隐变量模型中各节点的条件概率表的参数数据,否则令τ=τ+1,返回步骤S3.4。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510719818.3A CN105205184A (zh) | 2015-10-30 | 2015-10-30 | 基于隐变量模型的用户偏好提取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510719818.3A CN105205184A (zh) | 2015-10-30 | 2015-10-30 | 基于隐变量模型的用户偏好提取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105205184A true CN105205184A (zh) | 2015-12-30 |
Family
ID=54952867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510719818.3A Pending CN105205184A (zh) | 2015-10-30 | 2015-10-30 | 基于隐变量模型的用户偏好提取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105205184A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933949A (zh) * | 2017-01-20 | 2017-07-07 | 浙江大学 | 一种控制社交网络中影响力爆发的规划方法 |
CN110162698A (zh) * | 2019-04-18 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 一种用户画像数据处理方法、装置及存储介质 |
CN110213070A (zh) * | 2018-04-04 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 团网络识别方法、装置、服务器及计算机可读存储介质 |
CN111105059A (zh) * | 2018-10-26 | 2020-05-05 | 百度在线网络技术(北京)有限公司 | 属性冲突发现方法和装置 |
CN111144093A (zh) * | 2019-12-26 | 2020-05-12 | 腾讯科技(深圳)有限公司 | 一种智能文本处理方法、装置、电子设备及存储介质 |
CN113378043A (zh) * | 2021-06-03 | 2021-09-10 | 北京沃东天骏信息技术有限公司 | 用户筛选的方法和装置 |
CN113421146A (zh) * | 2021-06-18 | 2021-09-21 | 广东工业大学 | 一种用户网购行为预测推荐方法及系统 |
-
2015
- 2015-10-30 CN CN201510719818.3A patent/CN105205184A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933949A (zh) * | 2017-01-20 | 2017-07-07 | 浙江大学 | 一种控制社交网络中影响力爆发的规划方法 |
CN110213070A (zh) * | 2018-04-04 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 团网络识别方法、装置、服务器及计算机可读存储介质 |
WO2019192310A1 (zh) * | 2018-04-04 | 2019-10-10 | 腾讯科技(深圳)有限公司 | 团网络识别方法、装置、计算机设备及计算机可读存储介质 |
US10958529B2 (en) | 2018-04-04 | 2021-03-23 | Tencent Technology (Shenzhen) Company Limited | Clique network identification method and apparatus, computer device, and computer-readable storage medium |
CN110213070B (zh) * | 2018-04-04 | 2021-08-17 | 腾讯科技(深圳)有限公司 | 团网络识别方法、装置、服务器及计算机可读存储介质 |
CN111105059A (zh) * | 2018-10-26 | 2020-05-05 | 百度在线网络技术(北京)有限公司 | 属性冲突发现方法和装置 |
CN110162698A (zh) * | 2019-04-18 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 一种用户画像数据处理方法、装置及存储介质 |
CN110162698B (zh) * | 2019-04-18 | 2023-10-20 | 腾讯科技(深圳)有限公司 | 一种用户画像数据处理方法、装置及存储介质 |
CN111144093A (zh) * | 2019-12-26 | 2020-05-12 | 腾讯科技(深圳)有限公司 | 一种智能文本处理方法、装置、电子设备及存储介质 |
CN111144093B (zh) * | 2019-12-26 | 2024-09-27 | 腾讯科技(深圳)有限公司 | 一种智能文本处理方法、装置、电子设备及存储介质 |
CN113378043A (zh) * | 2021-06-03 | 2021-09-10 | 北京沃东天骏信息技术有限公司 | 用户筛选的方法和装置 |
CN113421146A (zh) * | 2021-06-18 | 2021-09-21 | 广东工业大学 | 一种用户网购行为预测推荐方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105205184A (zh) | 基于隐变量模型的用户偏好提取方法 | |
Ozsoy | From word embeddings to item recommendation | |
CN105741175A (zh) | 一种对在线社交网络中账户进行关联的方法 | |
CN103793476B (zh) | 基于网络社区的协同过滤推荐方法 | |
CN103399858A (zh) | 基于信任的社会化协同过滤推荐方法 | |
CN102662956A (zh) | 一种基于用户话题链接行为的社交网络意见领袖识别方法 | |
CN102073720A (zh) | 一种对个性化推荐结果进行优化的fr方法 | |
CN103593417A (zh) | 基于关联规则预测的协同过滤推荐方法 | |
CN104008203A (zh) | 一种融入本体情境的用户兴趣挖掘方法 | |
CN110033097B (zh) | 基于多个数据域确定用户与物品的关联关系的方法及装置 | |
CN105279187A (zh) | 一种基于边聚集系数的社会网络群体划分方法 | |
CN104123279A (zh) | 关键词的聚类方法和装置 | |
Dev et al. | Recommendation system for big data applications based on set similarity of user preferences | |
CN102135999A (zh) | 用户可信度和项目最近邻相结合的互联网推荐方法 | |
CN103605793A (zh) | 基于遗传算法的异构社会网络社区检测方法 | |
Zhao et al. | Social recommendation incorporating topic mining and social trust analysis | |
CN105843799A (zh) | 一种基于多源异构信息图模型的学术论文标签推荐方法 | |
CN106327345A (zh) | 一种基于多网络模块度的社团发现方法 | |
CN104951478A (zh) | 信息处理方法和信息处理装置 | |
Doan et al. | Mining business competitiveness from user visitation data | |
CN106649731A (zh) | 一种基于大规模属性网络的节点相似性搜索方法 | |
CN115965795A (zh) | 一种基于网络表示学习的深暗网群体发现方法 | |
CN106055566A (zh) | 面向移动广告用户的手机游戏推荐方法 | |
Dom et al. | A bayesian technique for estimating the credibility of question answerers | |
CN104899283A (zh) | 一种针对单个不确定图的频繁子图挖掘与优化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151230 |
|
RJ01 | Rejection of invention patent application after publication |