用户相似度确定方法及系统的制作方法

文档序号:9432547阅读:530来源:国知局
用户相似度确定方法及系统的制作方法
【技术领域】
[0001] 本发明涉及信息处理技术领域,特别涉及一种用户相似度确定方法、一种用户相 似度确定系统。
【背景技术】
[0002] 随着信息技术的日益发展,通过确定用户之间的相似度并进而执行相应的应用, 例如信息推荐,已经成为信息技术领域中的一项重要内容。W信息推荐为例,在目前进行信 息推荐的方案中,通常是采用推荐系统算法来计算出需要向用户进行推荐的信息,常用的 推荐系统算法包括基于用户的协同过滤算法、基于物品的协同过滤算法、基于内容的推荐 算法、基于模型的推荐算法(如矩阵分解、随机游走等)等。其中基于用户的协同过滤算 法首先计算与被推荐用户行为最相近的用户,然后将送些用户喜欢的物品推荐给被推荐用 户。由于该算法实现简单、解释性强,因此在推荐系统中被广泛采用。该算法的核必是计算 用户之间的相似度。然而,由于信息推荐有着很高的实时性要求在,而在真实的推荐系统 中,用户量大、用户的特征维度高,从而导致送种计算相似度的方式效率低下,不能满足实 时进行信息推荐的实际需求。

【发明内容】

[0003] 基于此,针对上述现有技术中存在的问题,本发明的其中一个目的在于提供一种 用户相似度确定方法,本发明的另一目的在于提供一种用户相似度确定系统,其可W提高 用户相似度确定过程的效率,进而提高信息推荐的实时性。
[0004] 为达到上述目的,本发明实施例采用W下技术方案:
[0005] -种用户相似度确定方法,包括步骤:
[0006] 获取用户信息,并将各用户信息分别设置为维度为预设第一数目的线性空间的一 个向量,并将该向量映射到维度为第二预设数目的线性子空间;
[0007] 计算所述线性子空间的各维度的前第二预设数目的特征函数和特征值;
[0008] 采用预定阔值对最小的前第二预设数目个特征值对应的特征函数进行二值化处 理,得到各用户信息对应的二进制编码;
[0009] 根据各用户信息的二进制编码确定与该用户信息相对应的用户之间的相似度。
[0010] -种用户相似度确定系统,包括:
[0011] 向量映射模块,用于获取用户信息,并将各用户信息分别设置为维度为预设第一 数目的线性空间的一个向量,并将该向量映射到维度为第二预设数目的线性子空间;
[0012] 特征计算模块,用于计算所述线性子空间的各维度的前第二预设数目的特征函数 和特征值;
[0013] 二值化模块,用于采用预定阔值对最小的前第二预设数目个特征值对应的特征函 数进行二值化处理,得到各用户信息对应的二进制编码;
[0014] 相似度确定模块,用于根据各用户信息的二进制编码确定与该用户信息相对应的 用户之间的相似度。
[0015] 根据上述本发明实施例的方案,其是将各用户信息设置为维度为预设第一数目的 线性空间的一个向量后,将其压缩为二进制编码,并直接基于二进制编码确定相似度,由于 将原来的用户信息压缩为二进制编码后,数据量大大减小,而基于二进制编码确定相似度 的方式相对比较简单,所耗费的时间很短,因而大大提高了确定相似度的效率,并进而进一 步提高了信息推荐的实时性。
【附图说明】
[0016] 图1为本发明的用户相似度确定方法实施例的流程示意图;
[0017] 图2为本发明的一个具体示例中基于本发明方案确定相似度的示意图;
[001引图3是本发明的用户相似度确定系统实施例的结构示意图;
[0019] 图4是基于本发明提供的终端的部分框图。
【具体实施方式】
[0020] 为使本发明的目的、技术方案及优点更加清楚明白,W下结合附图及实施例,对本 发明进行进一步的详细说明。应当理解,此处所描述的【具体实施方式】仅仅用W解释本发明, 并不限定本发明的保护范围。
[0021] 步骤S101 ;获取用户信息,并将各用户信息分别设置为维度为第一预设数目的线 性空间的一个向量,并将该向量映射到维度为第二预设数目的线性子空间;
[0022] 步骤S102 ;计算所述线性子空间的各维度的前第二预设数目的特征函数和特征 值;
[0023] 步骤S103;采用预定阔值对最小的前第二预设数目个特征值对应的特征函数进 行二值化处理,得到各用户信息对应的二进制编码;
[0024] 步骤S104;根据各用户信息的二进制编码确定与该用户信息相对应的用户之间 的相似度。
[0025] 根据上述本发明实施例的方法,其是将各用户信息设置为维度为预设第一数目的 线性空间的一个向量后,将其压缩为二进制编码,并直接基于二进制编码确定相似度,由于 将原来的用户信息压缩为二进制编码后,数据量大大减小,而基于二进制编码确定相似度 的方式相对比较简单,所耗费的时间很短,因而大大提高了确定相似度的效率,并进而进一 步提高了信息推荐的实时性。
[0026] 基于上述本发明实施例中的方法,W下结合其中一个具体示例进行详细说明。
[0027] 首先获取用户信息,并将每个待推荐的用户表示为在d(上述第一预设数目)维线 性空间Rd的一个向量。
[0028] 然后将每一个用户对应的向量由维度为d的线性空间Rd映射到维度为k(上述第 二预设数目)的线性子空间Rk,其中,k的值可W根据实际应用需要进行设定。具体映射时, 可W采用采用主成分(PrincipleComponentAnalysis)分析方式进行映射,采用主成分分 析方式进行映射的具体过程,可W与目前已有的W及W后可能的改进后的方式相同,在此 不予详加赏述。
[0029]然后,对于线性子空间Rk中的每一个维度i= 1,…,k,计算对应于该维度的前k 个特征函数和特征。在其中一个具体示例中,可w采用公式
计 算特征函数,采用公5^
计算特征值。
[0030] 其中,在送两个公式中,〇1似表示第i维对应的特征函数,A1表示第i维对应 的特征值,X表示用户对应向量在子空间Rk中第i维对应的值,k表示所述第二预设数目, b表示所有用户对应向量在该维度的最大值,a表示所有用户对应向量在该维度的最小值。
[0031] 通过上述计算,可W得到kXk个特征值。然后对送kXk个特征值进行排序,并选 择前k个最小的特征值所对应的特征函数,对其进行二值化。在进行二值化时,由于特征 函数的形式是正弦函数,为奇函数,因此可W选择0为上述预定阔值对该特征值函数进行 二值化,具体二值化函数可W为:
[0032] Yi(x) =sign(〇i(x))
[0033] 即当〇i(x)为正时,该位对应的二值化后的值为1,反之则为0。
[0034] 根据W上步骤,可W将数据从原始空间压缩为长度为k的二进制编码。
[0035] 在计算两个用户间的相似度时,基于上述二进制编码,可W直接计算与该用户相 对应的二进制编码之间的海明距离(HammingDistance)即可,即比较两串二进制编码中相 同比特位、且该比特位的值也相同的数目。
[0036] 图2中示出了基于本发明方案的一个具体示例中的示意图。如图2所示,假设每 个用户包含有H个特征,即包含3中用户信息,例如图2中所示的特征1、特征2、特征3。经 过上述本发明方案的处理后,用户1对应的二值化编码表示为01010101,用户2对应的二值 化编码表示为01100110,对送两个二值化编码进行比较,共有四个比特位对应的值相同,因 此他们之间的距离为4。
[0037] 在得到各用户之间的相似度之后,即可根据该相似度进行后续的各种应用,例如 根据各用户之间的相似来确定需要向该用户进行推荐的信息的待推荐列表,在此不予展开 和详细叙述。
[0038] 根据与上述本发明的用户相似度确定方法相同的思想,本发明实施例还提供一种 用户相似度确定系统。图3中示出了本发明的用户相似度确定系统实施例的结构示意图。
[0039] 如图3所示,本实施例中的用户相似度确定系统包括有:
[0040] 向量映射模块301,用于获取用户信息,并将各用户信息分别设置为维度为第一预 设数目的线性空间的一个向量,并将该向量映射到维度为第二预设数目的线性子空间;
[0041] 特征计算模块302,用于计算所述线性子空间的各维度的前第二预设数目的特征 函数和特征值;
[0042] 二值化模块303,用于采用预定阔值对最小的前第二预设数目个特征值对应的特 征函数进行二值化处理,得到各用户信息对应的二进制编码;
[0043] 相似度确定模块304,用于根据各用户信息的二进制编码确定与该用户信息相对 应的用户之间的相似度。
[0044] 根据上述本发明实施例的系统,其是将各用户信息设置为维度为预设第一数目的 线性空间的一个向量后,将其压缩为二进制编码,并直接基于二进制编码确定相似度,由于 将原来的用户信息压缩为二进制编码后,数据量大大减小,而基于二进制编码确定相似度 的方式相对比较简单,所耗费的时间很短,因而大大提高了确定相似度的效率,并进而进一 步提高了信息推荐的实时性。
[0045]其中,向量映射模块301在将所述向量映射到维度为第二预设数目的线性子空间 时,可W采用主成分分析方式进行映射。采用主成分分析方式进行映射的具体方式可W采 用目前已有的W及W后可能出现的任何方式进行,在此不予详加赏述。
[004引此外,特征计算模块302在计算特征函数和特征值时,可W采用
计算特征函数,采用
计算特征值。
[0047]其中,〇i(x)表示第i维对应的特征函数,A1表示第i维对应的特征值,X表示用 户对应向量在子空间Rk中第i维对应的值,k表示所述第二预设数目,b表示所有用户对应 向量在该维度的最大值,a表示所有用户对应向量在该维度的最小值。
[0048] 由于该特征函数的形式是正弦函数,为奇函数,因此上述二值化模块303可W选 择
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1