用户数据的处理方法和装置
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种用户数据的处理方法、以及一种实现该方法的装置。
背景技术
目前,获取用户的兴趣数据的第一种方法为:基于用户主动输入的信息获取用户的兴趣数据,比如,根据用户在新浪微博或百度知道中主动输入的信息挖掘出用户的兴趣数据。
上述现有技术中的获取用户的兴趣数据的方法的缺点为:依赖于用户的主动输入信息的行为,在用户不主动输入信息时,该方法无法获取用户的兴趣数据。
获取用户的兴趣数据的第二种方法为:基于用户在单一产品中的行为数据获取用户的兴趣数据。例如Google搜索引擎中,通过记录分析特定用户在本应用中使用行为,例如检索的搜索词、点击的查询结果来挖掘用户的兴趣数据;在百度知道中通过分析用户提出、回答问题的类别来挖掘用户的兴趣数据。
上述现有技术中的获取用户的兴趣数据的方法的缺点为:该方法只是分析用户在单一产品中的行为数据,会造成获取的用户兴趣数据有产品偏向性。
发明内容
本发明的实施例提供了一种用户数据的处理方法和装置,以实现有效地获取用户的综合的无偏向的兴趣数据。
一种用户数据的处理方法,包括:
根据用户在某种产品中的行为数据,计算出所述用户在所述产品上的有偏向的兴趣类别分布信息;
计算出所述有偏向的兴趣类别分布信息与所述产品的用户兴趣背景分布信息之间的差异值,根据所述差异值得到所述用户在所述产品上的无偏向的兴趣类别分布信息;
将所述用户在多种产品上的无偏向的兴趣类别分布信息进行综合,获取所述用户的综合的兴趣类别分布信息。
一种用户数据的处理装置,包括:
有偏向兴趣类别分布信息获取模块,用于根据用户在某种产品中的行为数据,计算出所述用户在所述产品上的有偏向的兴趣类别分布信息;
无偏向兴趣类别分布信息获取模块,用于计算出所述有偏向兴趣类别分布信息获取模块所获取的有偏向的兴趣类别分布信息与所述产品的用户兴趣背景分布信息之间的差异值,根据所述差异值得到所述用户在所述产品上的无偏向的兴趣类别分布信息;
兴趣类别分布信息综合模块,用于将所述用户在多种产品上的无偏向的兴趣类别分布信息进行综合,获取所述用户的综合的兴趣类别分布信息。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例通过计算用户在某种产品上的有偏向的兴趣类别分布信息与所述产品的用户兴趣背景分布信息之间的差异值,得到所述用户在所述产品上的无偏向的兴趣类别分布信息,再将所述用户在多种产品上的无偏向的兴趣类别分布信息进行综合,从而可以有效地获取用户的综合的没有产品偏向性的兴趣类别分布信息。
附图说明
图1为本发明实施例一提供的一种用户数据的处理方法的流程示意图;
图2为本发明实施例二提供的一种用户数据的处理方法的原理示意图
图3为本发明实施例二提供的一种用户数据的处理方法的流程示意图;
图4为本发明实施例三提供的一种用户数据的处理装置的具体结构图;
图5为本发明实施例三提供的另一种用户数据的处理装置的具体结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图,以对本发明实施例进行清楚、完整地描述人员。
实施例一
该实施例提供的一种用户数据的处理方法的处理流程如图1所示,具体包括以下步骤11~13。
步骤11、根据用户在某种产品中的行为数据,计算出所述用户在所述产品上的有偏向的兴趣类别分布信息。
预先设定包括多种兴趣类别的兴趣类别体系,获取用户在某种产品中的行为数据,通过设定的映射方法得到所述行为数据所对应的所述兴趣类别体系中的多种兴趣类别和每种兴趣类别的权重值。
根据所述多种兴趣类别和每种兴趣类别的权重值,构造出所述用户在所述产品中的有偏向的兴趣类别分布信息。
步骤12、计算出所述有偏向的兴趣类别分布信息与所述产品的用户兴趣背景分布信息之间的差异值,根据所述差异值得到所述用户在所述产品上的无偏向的兴趣类别分布信息。
根据某种产品上设定数量的用户的行为数据对应的有偏向的兴趣类别分布信息,以及该产品包含的用户兴趣影响特性,确定该产品的用户兴趣背景分布信息。
通过相对熵散度衡量方法计算出上述用户在某种产品上的有偏向的兴趣类别分布信息与上述某种产品的用户兴趣背景分布信息之间的差异值,将所述差异值作为所述用户在所述产品上的无偏向的兴趣类别分布信息。
分别计算出用户在多种产品上的无偏向的兴趣类别分布信息。
步骤13、将所述用户在多种产品上的无偏向的兴趣类别分布信息进行综合,获取所述用户的综合的兴趣类别分布信息。
根据经验值设定用户在每种产品上的无偏向的兴趣类别分布信息对应的线性组合参数;或者,基于支持向量机方法学习得到用户在每种产品上的无偏向的兴趣类别分布信息对应的线性组合参数;
根据每种兴趣类别分布信息对应的线性组合参数,使用线性组合方式将用户在每种产品上的兴趣类别分布信息叠加在一起,得到所述用户的综合的兴趣类别分布信息。
实施例二
该实施例提供的一种用户数据的处理方法的原理示意图如图2所示,具体处理流程如图3所示,具体包括以下步骤31~34。
步骤31、计算出用户在某种产品中的行为数据所对应的多种兴趣类别和每种兴趣类别的权重值。
该实施例采用传统分类方法设定用户行为数据的兴趣类别体系,该兴趣类别体系主要包括:体育、娱乐、财经、科技、汽车、旅行、房产、女性、健康、游戏、教育、动漫、图书、星座、视频和儿童共16个兴趣类别。
在获取了用户在某种产品中的行为数据后,根据上述设定的兴趣类别体系,通过设定的映射方法得到上述行为数据所对应的多种兴趣类别和每种兴趣类别的权重值。上述映射方法可以包括:tag(标签)集合映射方法或者贝叶斯分类器映射方法。
比如,分别获取了用户Q在下列5种产品中的行为数据:
1、QQ印象分类兴趣数据;
2、Qzone个人档数据;
3、腾讯微博用户填写的兴趣tag;
4、SoSo查询日志数据;
5、问问中参与的问题数据等。
对于用户Q在上述1、2或3种产品中的行为数据,用户Q和一个封闭tag集合对应,该tag集合中包括多种类别的tag。可以预先设定一个完整的tag集合中的每种类别的tag和上述兴趣类别体系中的各个兴趣类别的对应关系,然后,根据用户Q对应的tag集合查询上述对应关系,得到用户Q对应的tag集合所对应的各种兴趣类别,将每种兴趣类别的权重设为一个统一的数值。
对于上述用户Q在上述4或5种产品中的行为数据,该行为数据通常为文本数据,比如,用户Q最近一段时间内查询的信息,提出或回答的问问中的问题内容。可以将上述行为数据输入到贝叶斯分类器中,该贝叶斯分类器经过映射处理后,输出上述行为数据对应的各个兴趣类别和每个兴趣类别对应的后验概率,该后验概率即为兴趣类别的权重。
上述贝叶斯分类器是基于贝叶斯公式:
将具有特征F的用户对于兴趣类别C的后验概率计算转化为类别C下各特征F的条件概率密度函数与类别C的先验概率的乘积,而后两者都可以在有类别标注的训练数据上利用最大似然估计获得。
步骤32、根据用户在某种产品中的行为数据所对应的多种兴趣类别和每种兴趣类别的权重值,构造出用户在某种产品中的有偏向的兴趣类别分布信息。
比如,如图2所示,根据用户Q在产品S中的行为数据构造出用户Q在产品S中的无偏向的兴趣类别分布信息。
进一步地,对于用户Q在上述1、2或3种产品中的行为数据,根据上述用户Q对应的tag集合所对应的各种兴趣类别,以及每种兴趣类别的权重,构成出用户Q在上述1、2或3种产品中的有偏向的兴趣类别分布信息。上述兴趣类别分布信息的每个维度反映一个兴趣类别,而每个维度的权重则反映相应兴趣类别上的兴趣强度。
对于用户Q在上述4或5种产品中的行为数据,根据上述贝叶斯分类器输出的各个兴趣类别和每个兴趣类别对应的后验概率,构成出用户Q在上述4或5种产品中的兴趣类别分布信息。
在实际应用中,上述兴趣类别分布信息可以为兴趣类别分布向量。
步骤33、根据某种产品中设定数量的用户的行为数据对应的兴趣类别分布信息和该产品包含的用户兴趣影响特性,确定该产品的用户兴趣背景分布信息。
在实际应用中,上述设定数量的用户可以为全体用户。比如,如图2所示,根据全体用户在产品S中的行为数据确定该产品S的用户兴趣背景分布信息。
一个用户在使用不同互联网产品时反映的兴趣可能与该产品的特性、使用该产品时候的状态有关。例如用户在使用“问问”这样的社会化问答系统时,更倾向于参与(提问或回答)“健康”相关的问题,而不是“娱乐”相关的问题。这种产品本身对用户兴趣的影响在很多产品的用户行为数据中都有反映,因此,上述兴趣类别分布信息为用户在某种产品上的有偏向的兴趣类别分布信息,如果要得到用户在某种产品上的精确的兴趣类别分布信息,有必要去除上述某种产品的背景兴趣对用户的影响。
在本发明实施例中,根据某种产品上的设定数量的用户的行为数据对应的兴趣类别分布信息,以及该某种产品包含的用户兴趣影响特性,确定该某种产品的用户兴趣背景分布信息。
在实际应用中,上述用户兴趣背景分布信息可以为用户兴趣背景分布向量。示例性的,计算设定数量(比如为10000个)用户在某种产品上的兴趣类别分布向量的平均值,得到某种产品的用户兴趣背景分布向量。进一步地,再根据某种产品中包含的用户兴趣影响特性,对上述某种产品的用户兴趣背景分布向量中相应兴趣类别的权重值进行调整。
步骤34、计算出用户在某种产品中的有偏向的兴趣类别分布信息与该产品的用户兴趣背景分布信息之间的差异值,得到用户在某种产品中的无偏向的兴趣类别分布信息。
比如,如图2所示,在用户Q在产品S中的有偏向的兴趣类别分布信息中去除产品S的用户兴趣背景分布信息,得到用户Q在产品S中的有偏向的兴趣类别分布信息。
通过相对熵散度衡量方法,计算出用户在某种产品中的行为数据所对应的有偏向的兴趣类别分布信息,与该产品的用户兴趣背景分布信息之间的差异值,该差异值即为用户在该某种产品上的无偏向的兴趣类别分布信息。
对于概率分布P、Q,其间的相对熵散度的计算公式为
上述公式中的C表示上述兴趣类别体系,i表示C中的任一兴趣种类。
示例性的,可以将用户在某种产品上的有偏向的兴趣类别分布向量和上述某种产品的用户兴趣背景分布向量直接相减,将相减后得到的向量作为上述差异值。
例如,产品P的用户兴趣背景分布向量:
P_background=(c1=0.013,c2=0.356,c3=0.436,c4=0.154,c5=0.040),
用户U在产品P上的有偏向的兴趣类别分布向量为:
P_U=(c1=0.017,c2=0.332,c3=0.285,c4=0.342,c5=0.023)。
通过计算相对熵散度来去除背景兴趣分布后,利用P_background与P_U的相对熵散度在各兴趣维度上的贡献值,对P_U进行加权得到用户U在产品P上的无偏兴趣分布P_U':
P_U'(i)∝P_U(i)*P_U(i)log(P_U(i)/P_background(i))
P_U'=(c1=0.227,c2=0.165,c3=0.116,c4=0.392,c5=0.100)。
按照上述步骤31~34的处理过程,可以计算得到用户在多种产品上的无偏向的兴趣类别分布信息。
步骤35、将用户在多种产品上的无偏向的兴趣类别分布信息进行综合,获取用户的综合的无偏向的兴趣类别分布信息。
为了最终获取一个用户的综合的无偏向的兴趣类别分布信息,需要将用户在多种产品中的无偏向的兴趣类别分布信息综合在一起。本发明实施例提供了两种方法来对上述兴趣类别分布信息进行综合:
第一种方法:将用户在每种产品上的无偏向的兴趣类别分布信息设置对应的线性组合参数,该线性组合系数可以根据经验值来确定。
第二种方法:利用一批有用户兴趣标注的数据,比如,根据用户在SOSO个人中心提交的兴趣标签,使用基于SVM(support vector machine,支持向量机)的方法,自动学习一个用户对不同产品的使用度,并依此来决定用户在每种产品中的无偏向的兴趣类别分布信息设置对应的线性组合参数。
SVM是一个有监督的机器学习方法,它的输入是一组有类别标注的训练数据,利用VC(Vapnik-Chervonenkis Dimension)维理论和结构风险最小原理,SVM获得一个对训练数据区分度最大的超平面,并利用这个结果对无标注数据进行分类或回归计算。
在该实施例中,SVM的训练数据是一组有兴趣类别标注的用户行为数据,通过SVM回归学习得到每个产品在该用户兴趣中所占比重,并以此比重对来自该产品的兴趣分布进行加权,最终得到该用户综合的兴趣分布。
然后,根据每种兴趣类别分布信息对应的线性组合参数,使用线性组合方式将用户在每种产品上的兴趣类别分布信息叠加在一起,得到用户的综合的无偏向的兴趣类别分布信息。
之后,根据上述用户的综合的无偏向的兴趣类别分布信息,可以选择与用户最相关的一个或多个兴趣类别,作为后续个性化内容推荐的基础。
实施例三
本实施例提供了一种用户数据的处理装置,其具体结构如图4所述,包括如下模块:
有偏向兴趣类别分布信息获取模块41,用于根据用户在某种产品中的行为数据,计算出所述用户在所述产品上的有偏向的兴趣类别分布信息;
无偏向兴趣类别分布信息获取模块42,用于计算出所述有偏向兴趣类别分布信息获取模块所获取的有偏向的兴趣类别分布信息与所述产品的用户兴趣背景分布信息之间的差异值,根据所述差异值得到所述用户在所述产品上的无偏向的兴趣类别分布信息;
兴趣类别分布信息综合模块43,用于将所述用户在多种产品上的无偏向的兴趣类别分布信息进行综合,获取所述用户的综合的兴趣类别分布信息。
本实施例提供了一种用户数据的处理装置,其具体结构如图5所述,包括如下模块:
有偏向兴趣类别分布信息获取模块51,用于根据用户在某种产品中的行为数据,计算出所述用户在所述产品上的有偏向的兴趣类别分布信息,在实际应用中,上述兴趣类别分布信息可以为兴趣类别分布向量;
无偏向兴趣类别分布信息获取模块52,用于计算出所述有偏向兴趣类别分布信息获取模块所获取的有偏向的兴趣类别分布信息与所述产品的用户兴趣背景分布信息之间的差异值,根据所述差异值得到所述用户在所述产品上的无偏向的兴趣类别分布信息;
兴趣类别分布信息综合模块53,用于将所述用户在多种产品上的无偏向的兴趣类别分布信息进行综合,获取所述用户的综合的兴趣类别分布信息。
用户兴趣背景分布信息确定模块54,用于根据某种产品中设定数量的用户的行为数据对应的有偏向的兴趣类别分布信息,以及该产品包含的用户兴趣影响特性,确定该产品的用户兴趣背景分布信息。
在实际应用中,上述用户兴趣背景分布信息可以为用户兴趣背景分布信息向量,示例性的,计算设定数量(比如为10000个)用户在某种产品上的兴趣类别分布向量的平均值,得到某种产品的用户兴趣背景分布向量。进一步地,再根据某种产品中包含的用户兴趣影响特性,对上述某种产品的用户兴趣背景分布向量中相应兴趣类别的权重值进行调整。
具体的,所述的有偏向兴趣类别分布信息获取模块51可以包括:
映射处理模块511,用于预先设定包括多种兴趣类别的兴趣类别体系,通过设定的映射方法得到所述用户在某种产品中的行为数据所对应的所述兴趣类别体系中的多种兴趣类别和每种兴趣类别的权重值,上述映射方法可以包括:tag(标签)集合映射方法或者贝叶斯分类器映射方法。
兴趣类别分布信息构造模块512,用于根据所述映射处理模块所得到的多种兴趣类别和每种兴趣类别的权重值,构造出所述用户在所述产品上的有偏向的兴趣类别分布信息。上述兴趣类别分布信息的每个维度反映一个兴趣类别,而每个维度的权重则反映相应兴趣类别上的兴趣强度。
具体的,所述的无偏向兴趣类别分布信息获取模块,还用于通过相对熵散度衡量方法计算出用户在某种产品中的行为数据所对应的有偏向的兴趣类别分布信息,与该某种产品的用户兴趣背景分布信息之间的差异值,将所述差异值作为所述用户在所述产品上的无偏向的兴趣类别分布信息;并且,分别计算出用户在多种产品上的无偏向的兴趣类别分布信息。
具体的,所述的兴趣类别分布信息综合模块53可以包括:
线性组合参数获取模块531,用于根据经验值设定用户在每种产品上的无偏向的兴趣类别分布信息对应的线性组合参数;或者,基于SVM方法学习得到用户在每种产品上的无偏向的兴趣类别分布信息对应的线性组合参数;
叠加处理模块532,用于根据所述线性组合参数获取模块所获取的每种兴趣类别分布信息对应的线性组合参数,使用线性组合方式将用户在每种产品上的无偏向的兴趣类别分布信息叠加在一起,得到所述用户的综合的无偏向的兴趣类别分布信息。
应用本发明实施例的装置对用户数据的具体处理过程与前述方法实施例类似,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
综上所述,本发明实施例通过计算用户在某种产品上的有偏向的兴趣类别分布信息与所述产品的用户兴趣背景分布信息之间的差异值,得到所述用户在所述产品上的无偏向的兴趣类别分布信息。再将所述用户在多种产品上的无偏向的兴趣类别分布信息进行综合,从而可以有效地获取用户的综合的没有产品偏向性的兴趣类别分布信息。
本发明实施例可以在不需要用户主动输入信息的情况下,获取用户的综合的没有产品偏向性的兴趣类别分布信息。
由于利用了多维用户数据进行用户兴趣挖掘,较之使用单一维度产品数据的兴趣挖掘,在已获取兴趣的用户数量上从7000万提升至2.9亿;使用该兴趣数据的个性化推荐服务的点击率由12%提高至20%,提升约65%。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。