1.一种基于主题模型和关联规则算法的好友推荐方法,其特征在于,包括:S1:获取不同用户的文档;
S2:采用预设主题模型确定出不同用户的文档共同包含的主题词以及每个用户对不同主题词的感兴趣程度;
S3:根据每个用户对不同主题词的感兴趣程度,计算不同用户之间的相似度,并根据不同用户之间的相似度筛选出相似度符合预设条件的用户;
S4:根据筛选出的符合预设条件的用户、预先获取的关注关系,采用关联规则算法挖掘出用户‑好友的关注关系;
S5:根据挖掘出的用户‑好友关注关系进行好友推荐;
其中,S4包括:将筛选出的符合预设条件的用户、预先获取的关注关系作为已知条件,采用FP‑Growth关联规则算法挖掘出用户‑好友的关注关系,其中,用户‑好友的关注关系为挖掘出的频繁项,表示满足支持度阈值的不同的用户同时被关注;采用FP‑Growth关联规则算法挖掘出用户‑好友的关注关系,具体包括:S4.1:根据筛选出的符合预设条件的用户、预先获取的关注关系构建数据库;
S4.2:扫描数据库一次,找出频繁1‑项集,并按关注的次数递减顺序进行排序,频繁1‑项集包含筛选出的用户以及每个用户被关注的次数;
S4.3:再次扫描数据库,将递减排序后的项集依次插入以null为根节点的FP‑Tree中,如果项集中元素在FP‑Tree中没有节点,则重新建立节点,如果节点已经存在,则在原有节点上计数加1,直到项集中所有元素插入到树中,得到最终的FP‑Tree,其中,FP‑Tree中包含的每一条路径表示一种用户‑好友的关注关系;
S4.4:对构建的FP‑Tree调用FP‑growth算法进行频繁模式挖掘,得到频繁模式,频繁模式为挖掘出的频繁项,包含同时被关注的用户以及用户同时被关注的支持度,表示满足支持度阈值的不同的用户同时被关注。
2.如权利要求1所述的方法,其特征在于,S2具体包括:
S2.1:对获取的不同用户的文档进行预处理;
S2.2:将预处理后的文档输入预设主题模型,通过主题模型从狄利克雷分布α中取样生成文档i的主题分布θi,从文档i的主题分布θi中取样生成文档i第j个词的主题zij,从狄利克雷分布β中取样生成主题zij的词语分布φzij,再从词语分布φzij中采样生成主题词wij,i和j为正整数;
S2.3:根据生成的主题词,通过主题模型生成每个用户对不同主题词的感兴趣程度。
3.如权利要求1所述的方法,其特征在于,S3具体包括:
S3.1:根据每个用户对不同主题词的感兴趣程度,采用对称的JS距离计算不同用户之间的相似度;
S3.2:并筛选出相似度符合预设条件的用户,作为兴趣爱好相似的用户集合。
4.如权利要求3所述的方法,其特征在于,S3.1包括通过下述公式(1)计算相似度:其中,DJS(p,q)表示两个不同用户之间的相似度,JS距离越小,表明文本相似度越大,对应的用户兴趣越相似,p、q分别表示两个不同的用户主题分布, 为两个不同用户之间的KL距离公式,DKL(p,q)表示两个不同用户之间的KL距离,pj表示第一个用户在对应的第j个主题词下的概率分布,qj表示第二个用户在对应的第j个主题词下的概率分布,T为主题总数。
5.如权利要求1所述的方法,其特征在于,S4.4中根据FP‑Tree的路径模式采用对应的挖掘模式。
6.一种基于主题模型和数据挖掘的好友推荐系统,其特征在于,包括:
用户文档获取模块,用于获取不同用户的文档;
主题分布提取模块,用于采用预设主题模型确定出不同用户的文档共同包含的主题词以及每个用户对不同主题词的感兴趣程度;
相似用户聚类模块,用于根据每个用户对不同主题词的感兴趣程度,计算不同用户之间的相似度,并根据不同用户之间的相似度筛选出相似度符合预设条件的用户;
关注关系挖掘模块,用于根据筛选出的符合预设条件的用户、预先获取的关注关系,采用关联规则算法挖掘出用户‑好友的关注关系;
好友推荐模块,用于根据挖掘出的用户‑好友关注关系进行好友推荐;
其中,关注关系挖掘模块具体用于:将筛选出的符合预设条件的用户、预先获取的关注关系作为已知条件,采用FP‑Growth关联规则算法挖掘出用户‑好友的关注关系,其中,用户‑好友的关注关系为挖掘出的频繁项,表示满足支持度阈值的不同的用户同时被关注;采用FP‑Growth关联规则算法挖掘出用户‑好友的关注关系,具体包括:根据筛选出的符合预设条件的用户、预先获取的关注关系构建数据库;
扫描数据库一次,找出频繁1‑项集,并按关注的次数递减顺序进行排序,频繁1‑项集包含筛选出的用户以及每个用户被关注的次数;
再次扫描数据库,将递减排序后的项集依次插入以null为根节点的FP‑Tree中,如果项集中元素在FP‑Tree中没有节点,则重新建立节点,如果节点已经存在,则在原有节点上计数加1,直到项集中所有元素插入到树中,得到最终的FP‑Tree,其中,FP‑Tree中包含的每一条路径表示一种用户‑好友的关注关系;
对构建的FP‑Tree调用FP‑growth算法进行频繁模式挖掘,得到频繁模式,频繁模式为挖掘出的频繁项,包含同时被关注的用户以及用户同时被关注的支持度,表示满足支持度阈值的不同的用户同时被关注。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被执行时实现如权利要求1至5中任一项权利要求所述的方法。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5中任一项权利要求所述的方法。