基于隐变量模型的用户偏好提取方法
【技术领域】
[0001] 本发明属于服务信息推送技术领域,更为具体地讲,涉及一种基于隐变量模型的 用户偏好提取方法。
【背景技术】
[0002] 随着Web2. 0的不断发展和社会媒体的不断普及,电子商务应用中产生了大量的 用户对商品的评价数据(简称商品评价数据),其中用户对商品是否给出评分的信息,能够 很大程度上反映出用户偏好和兴趣爱好。商品评价数据中,能直接观测得到的部分包括商 品本身的属性(例如商品类型、价格、好评率),以及用户对商品的评分。同时,不能直接观 测得到的用户偏好,一方面决定了用户对商品的浏览、购买和评价行为;另一方面,用户的 这些行为也反映了用户偏好,即用户对特定商品类型的喜好。商品本身的属性、商品评分和 用户偏好之间有潜在的相互依赖关系,具有不确定性,如何描述这种依赖关系、并有效表示 和计算其中存在的不确定性,是解决实际应用中给定商品本身的属性时提取用户偏好这一 问题的关键,进而为商品个性化推荐、用户划分和用户定向等应用提供依据。然而,由于不 确定性的存在,使得用户偏好的提取具有更大的难度和相当的挑战。除了商品评价数据外, 用户自身也存在年龄、职业等诸多属性,也会对用户偏好产生影响。
[0003] 贝叶斯网络(BayesianNetwork,BN)是一个带有条件概率表的有向无环图,是不 确定性知识表示和推理最有效的工具之一,被广泛应用于数据分析、医疗诊断、经济预测等 领域,例如,基于贝叶斯网络可以描述社交网络中用户之间的相互影响,还能描述基因片段 之间的相互作用等。目前基于贝叶斯网络的用户偏好提取方法通过分析商品评价数据而建 立表达用户偏好的贝叶斯网络,从而提取出用户偏好。现有基于贝叶斯网络的用户偏好提 取的支撑技术,都根据商品评价数据来获得用户偏好,并且假定贝叶斯网络能表达商品评 价数据中存在的所有依赖关系;但事实上,商品评价数据只包含了描述用户偏好的部分观 测数据,很多隐含关系并不容易发现和表达,影响了用户偏好提取的准确性。
[0004] 隐变量(LatentVariable)用来表示不能直接观测其取值的变量。含有隐变量 的贝叶斯网络(简称隐变量模型),是一种能够发现和表示数据中隐含信息的概率图模型。 该模型是在贝叶斯网络基础上,基于最大半团(MaximalSemi-Clique)来发现并插入隐变 量。显然,可用隐变量表示用户偏好这一商品评价数据中的隐含信息,进而可利用隐变量 模型的性质和计算方法来提取用户偏好。然而,公知的隐变量模型的相关研究主要从理论 论证的角度出发,关注隐变量的发现与表示,和超在其论文"基于结构EM的隐变量模型学 习方法"中提出了一种基于结构EM(ExpectationMaximization,期望最大)算法的隐变量 模型学习方法,优化了隐变量模型结构,使其更好地表达变量之间的关系;王秀芳在其论文 "具有隐变量的贝叶斯网络结构学习研究"中提出了一种隐变量模型的结构学习方法,基于 最大团和因子分析的方法,快速地发现贝叶斯网络中的隐变量。但是以上方法对实际应用 关注较少,未给隐变量赋予特定应用的实际含义。张富峥在其论文"基于大规模位置和消费 数据的用户行为理解"中以贝叶斯网络为基础,把用户表现出来的时间序列行为表示为能 够观察到的显式变量,把用户的猎奇心理特质和效用偏好表示为隐变量,通过模型的生成 过程来表示用户的行为模式,但该方法未涉及以商品评价数据为基础来提取用户偏好。
【发明内容】
[0005] 本发明的目的在于克服现有技术的不足,提供一种基于隐变量模型的用户偏好提 取方法,针对商品评价数据中隐含的用户偏好,建立商品属性贝叶斯网络结构,通过计算隐 变量模型中各个节点的参数,给定当前商品本身的属性时为用户偏好提取提供更客观、更 符合实际的结果。
[0006] 为实现上述发明目的,本发明基于隐变量模型的用户偏好提取方法,包括以下步 骤:
[0007]S1 :根据需要从商品相关属性中选取N个属性构成属性集合V=H,…,XN}, 根据这N个属性的历史数据d构建得到贝叶斯网络的有向无环图结构,并计算贝叶斯网络 中每个节点的条件概率表;
[0008]S2 :对贝叶斯网络搜索得到最大半团;
[0009]S3 :向最大半团中插入表示用户偏好的隐变量L得到隐变量模型,L= 1表示用户 喜好,L= 0表示用户不喜好;插入隐变量L的具体方法为:首先在最大半团中找到所有存 在父亲节点的节点,将隐变量节点作为这些节点的父亲节点;然后找到最大半团中所有没 有父亲节点的节点,将这些节点作为隐变量节点的父亲节点;
[0010] 对隐变量模型进行参数学习,得到隐变量模型中各个节点的条件概率表;
[0011] S4 :根据隐变量L的条件概率表,进行用户偏好提取:查找得到L= 1时,条件概率 最大值对应的属性组合项,该项对应用户最喜好的商品类型;查找得到L= 0时,条件概率 最大值对应的属性组合项,该项对应用户最不喜好的商品类型。
[0012] 本发明基于隐变量模型的用户偏好提取方法,首先选取N个商品相关属性构成商 品属性集合,根据历史数据构建得到贝叶斯网络,对贝叶斯网络搜索得到最大半团,然后向 该最大半团中插入表示用户偏好的隐变量L得到隐变量模型,L= 1表示用户喜好,L= 0 表示用户不喜好;对隐变量模型进行参数学习,得到隐变量模型中各个节点的条件概率表; 然后根据隐变量L的条件概率表,进行用户偏好提取:查找得到L= 1时,条件概率最大值 对应的属性组合项,该项对应用户最喜好的商品类型;查找得到L= 0时,条件概率最大值 对应的属性组合项,该项对应用户最不喜好的商品类型。
[0013] 本发明具有以下技术效果:
[0014] (1)在描述商品相关属性及用户偏好的隐变量模型中,隐变量能够汇聚能观测到 其取值的显变量之间存在的依赖关系,简化模型结构,使显变量之间的依赖关系更清晰,并 为模型学习、推理和应用提供重要的基础,且更符合实际情况,从而合理有效地反映商品评 价数据中蕴含的用户偏好信息;
[0015] (2)隐变量的引入不仅简化了商品属性贝叶斯网络的结构,也使计算过程中算法 的时间复杂度大幅降低,使整个计算过程的实用性和可行性更高。
【附图说明】
[0016] 图1是本发明基于隐变量模型的用户偏好提取方法的流程图;
[0017] 图2是本实施例中采用的贝叶斯网络流程图;
[0018] 图3是采用EM算法获取隐变量模型中各节点条件概率表的流程图;
[0019] 图4是本实施例得到的贝叶斯网络;
[0020] 图5是隐变量模型图结构;
[0021 ] 图6是包含条件概率表的隐变量模型。
【具体实施方式】
[0022] 下面结合附图对本发明的【具体实施方式】进行描述,以便本领域的技术人员更好地 理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许 会淡化本发明的主要内容时,这些描述在这里将被忽略。
[0023] 实施例
[0024]图1是本发明基于隐变量模型的用户偏好提取方法的流程图。如图1所示,本发 明基于隐变量模型的用户偏好提取方法包括以下步骤:
[0025] S101 :构建贝叶斯网络:
[0026] 根据需要从商品相关属性中选取N个属性构成属性集合V=仏,X2,…,XJ,根据 这N个属性的历史数据d= {山,d2,…,dM}构建得到贝叶斯网络,历史数据d中的每个数据 样本4都包括N个属性的数据,m的取值范围为m= 1,2,…,M。在贝叶斯网络中,各个属 性也称为变量,是贝叶斯网络中的节点。本实施例中,采用传统的从数据构建贝叶斯网络的 方法,分析各属性之间的条件独立关系。图2是本实施例中采用的贝叶斯网络构建方法流 程图。如图2所示,贝叶斯网络构