CN111310066B - 一种基于主题模型和关联规则算法的好友推荐方法及系统 - Google Patents
一种基于主题模型和关联规则算法的好友推荐方法及系统 Download PDFInfo
- Publication number
- CN111310066B CN111310066B CN202010124097.2A CN202010124097A CN111310066B CN 111310066 B CN111310066 B CN 111310066B CN 202010124097 A CN202010124097 A CN 202010124097A CN 111310066 B CN111310066 B CN 111310066B
- Authority
- CN
- China
- Prior art keywords
- user
- users
- friend
- attention
- tree
- 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.)
- Active
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 50
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000009826 distribution Methods 0.000 claims abstract description 42
- 238000005065 mining Methods 0.000 claims description 19
- 238000005070 sampling Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012216 screening Methods 0.000 claims description 11
- 238000007418 data mining Methods 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 14
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000009412 basement excavation Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000011524 similarity measure Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
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/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/34—Browsing; Visualisation therefor
- G06F16/345—Summarisation for human users
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Evolutionary Computation (AREA)
- Marketing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Evolutionary Biology (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Life Sciences & Earth Sciences (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于主题模型和关联规则算法的好友推荐方法及系统,其中的方法提出基于主题模型和关联规则的好友推荐模型(FP‑LDA)实现好友推荐,利用主题模型提取用户的短文本主题,然后对用户主题分布进行相似度计算聚类,再通过设定支持度阈值,利用关联规则算法挖掘出其中哪几个好友常常是同时被关注的,以此强关联模式帮助目标用户找到相似兴趣的好友。
Description
技术领域
本发明涉及计算机数据挖掘、机器学习领域,具体涉及一种基于主题模型和关联规则算法的好友推荐方法及系统。
背景技术
随着网络社区的发展,用户数量规模的急剧扩增,人们对社交的需求更加丰富,人们不仅仅想要通过社交平台跟线下的好友进行交互,还想通过网上社交活动拓展自己的朋友圈,以获取一些自己需要的资源和时兴的动态消息。好友推荐技术应运而生,根据推荐方式的不同,主流的技术分为基于内容的推荐算法和基于关系的推荐算法。
其中,基于内容的好友推荐方法是根据用户发布的文本信息,通过比对信息内容的主题相似度给目标推荐兴趣相似的好友。基于关系的好友推荐是通过研究用户和用户之间的拓扑结构问题,计算用户间关联的程度给目标用户推荐好友。
本申请发明人在实施本发明的过程中,发现现有技术的方法,至少存在如下技术问题:
基于内容的挖掘用户兴趣偏好的好友推荐方法,用户对其推荐结果接受率要低于基于社交关系的好友推荐算法。因为面对具有共同兴趣偏好的推荐结果,用户更信任和自己有共同好友、熟悉或可能认识的用户。但是基于关系的好友推荐方法推荐数量有限,不利于拓展感兴趣好友的数量。
由此可知,现有的推荐方法存在扩展性不佳的技术问题。
发明内容
针对基于关系的好友推荐没有结合用户文本以及推荐好友数量不足的问题,提出基于主题模型和关联规则的好友推荐方法,该方法可以根据用户发布文本进行主题自动生成,并且利用关联规则算法可以对用户间的相互关注关系进行深度挖掘,筛选出特定主题下的好友序列推荐给目标用户。从而解决或者至少部分解决现有的推荐方法存在的扩展性不佳的技术问题。
为了解决上述技术问题,本发明第一方面提供了一种基于主题模型和关联规则算法的好友推荐方法,包括:
S1:获取不同用户的文档;
S2:采用预设主题模型确定出不同用户的文档共同包含的主题词以及每个用户对不同主题词的感兴趣程度;
S3:根据每个用户对不同主题词的感兴趣程度,计算不同用户之间的相似度,并根据不同用户之间的相似度筛选出相似度符合预设条件的用户;
S4:根据筛选出的符合预设条件的用户、预先获取的关注关系,采用关联规则算法挖掘出用户-好友的关注关系;
S5:根据挖掘出的用户-好友关注关系进行好友推荐。
在一种实施方式中,S2具体包括:
S2.1:对获取的不同用户的文档进行预处理;
S2.2:将预处理后的文档输入预设主题模型,通过主题模型从狄利克雷分布α中取样生成文档i的主题分布θi,从文档i的主题分布θi中取样生成文档i第j个词的主题zij,从狄利克雷分布β中取样生成主题zij的词语分布再从词语分布/>中采样生成主题词wij,i和j为正整数;
S2.3:根据生成的主题词,通过主题模型生成每个用户对不同主题词的感兴趣程度。
在一种实施方式中,S3具体包括:
S3.1:根据每个用户对不同主题词的感兴趣程度,采用对称的JS距离计算不同用户之间的相似度;
S3.2:并筛选出相似度符合预设条件的用户,作为兴趣爱好相似的用户集合。
在一种实施方式中,S3.1包括通过下述公式(1)计算相似度:
其中,DJS(p,q)表示两个不同用户之间的相似度,JS距离越小,表明文本相似度越大,对应的用户兴趣越相似,p、q分别表示两个不同的用户主题分布,为两个不同用户之间的KL距离公式,DKL(p,q)表示两个不同用户之间的KL距离,pj表示第一个用户在对应的第j个主题词下的概率分布,qj表示第二个用户在对应的第j个主题词下的概率分布,T为主题总数。
在一种实施方式中,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算法进行频繁模式挖掘,得到频繁模式,频繁模式为挖掘出的频繁项,包含同时被关注的用户以及用户同时被关注的支持度,表示满足支持度阈值的不同的用户同时被关注。
在一种实施方式中,S4.4中根据FP-Tree的路径模式采用对应的挖掘模式。
基于同样的发明构思,本发明第二方面提供了一种基于主题模型和数据挖掘的好友推荐系统,包括:
用户文档获取模块,用于获取不同用户的文档;
主题分布提取模块,用于采用预设主题模型确定出不同用户的文档共同包含的主题词以及每个用户对不同主题词的感兴趣程度;
相似用户聚类模块,用于根据每个用户对不同主题词的感兴趣程度,计算不同用户之间的相似度,并根据不同用户之间的相似度筛选出相似度符合预设条件的用户;
关注关系挖掘模块,用于根据筛选出的符合预设条件的用户、预先获取的关注关系,采用关联规则算法挖掘出用户-好友的关注关系;
好友推荐模块,用于根据挖掘出的用户-好友关注关系进行好友推荐。
基于同样的发明构思,本发明第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被执行时实现第一方面所述的方法。
基于同样的发明构思,本发明第四方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的方法。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
本发明提供的一种基于主题模型和关联规则算法的好友推荐方法,首先获取不同用户的文档;然后采用预设主题模型确定出不同用户的文档共同包含的主题词以及每个用户对不同主题词的感兴趣程度;接着根据每个用户对不同主题词的感兴趣程度,计算不同用户之间的相似度,并根据不同用户之间的相似度筛选出相似度符合预设条件的用户;接下来根据筛选出的符合预设条件的用户、预先获取的关注关系,采用关联规则算法挖掘出用户-好友的关注关系;最后根据挖掘出的用户-好友关注关系进行好友推荐。
由于本发明可以通过预设主题模型对用户的文档进行主题自动生成,得到不同用户文档对应的主题词以及每个用户对不同主题词的感兴趣程度,并计算文档之间的相似度,由于文档与用户相对应,因此可以得到用户之间的相似度,从而可以对相似度符合预设条件的用户进行聚类,在此基础上,进一步利用关联规则算法对用户间的相互关注关系进行深度挖掘,挖掘出用户-好友的关注关系,即哪几个好友常常是同时被关注的,通过强关联模式帮助目标用户找到相似兴趣的好友,从而提高好友推荐的效果,解决了现有的推荐方法存在的扩展性不佳的技术问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的基于主题模型和关联规则算法的好友推荐方法的实现流程示意图;
图2为本发明实施例中的LDA模型示意图;
图3为本发明实施例中好友推荐模型框架示意图;
图4为本发明实施例中多文档主题特征矩阵示意图;
图5为本发明实施例中的好友关系数据集;
图6为本发明实施例中构建好友关系FP-Tree示意图;
图7为本发明实施例中模式后缀为T5的条件模式树示意图;
图8为本发明实施例中模式后缀为T3的条件模式树示意图;
图9为本发明实施例中好友频繁模式生成表;
图10为本发明实施例中基于主题模型和关联规则算法的好友推荐系统结构的结构框图;
图11为本发明实施例中一种计算机可读存储介质的结构框图;
图12为本发明实施例中计算机设备的结构图。
具体实施方式
本申请发明人通过大量的研究与实践发现:现有的基于关系的社交好友推荐中,利用用户间的拓扑关系进行数据挖掘,没有结合用户短文本信息,无法进一步描述新关注好友所属类别,使得推荐给目标用户的好友属性范围太过宽泛,好友推荐算法推荐的好友数量有限,不利于拓展感兴趣好友的数量(即扩展性不佳)的问题。
针对基于关系的好友推荐没有结合用户文本以及推荐好友数量不足的问题,本发明提出基于主题模型和关联规则的好友推荐方法,该方法可以根据用户发布文本进行主题自动生成,并且利用关联规则算法可以对用户间的相互关注关系进行深度挖掘,筛选出特定主题下的好友序列推荐给目标用户。
本发明的总体发明构思如下:
提供一种基于主题模型和关联规则的好友推荐方法,利用主题模型提取用户的短文本主题,然后对用户主题分布进行相似度计算聚类,再通过设定支持度阈值,利用关联规则算法挖掘出其中哪几个好友常常是同时被关注的,以此强关联模式帮助目标用户找到相似兴趣的好友。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本实施例提供了一种基于主题模型和关联规则算法的好友推荐方法,请参见图1,该方法包括:
S1:获取不同用户的文档;
具体来说,每一个用户对应一份文档,该文档中包含该用户发布的所有短文本内容。
在具体的实施过程中,以新浪微博为例,其是以内容为主导的平台,由于其内容开放性,同时也提供了相对丰富的接口,通过微博API接口可以直接获取微博语料库,即不同用户的文档。
S2:采用预设主题模型确定出不同用户的文档共同包含的主题词以及每个用户对不同主题词的感兴趣程度。
具体来说,预设主题模型是用于主题生成的模型,例如LDA(Latent DirichletAllocation)文档主题生成模型。通过该模型可以生成主题词以及每个用户对不同主题词的感兴趣程度,不用户的文档共同包含是指主题词是针对所有的用户的文档来说的。
S3:根据每个用户对不同主题词的感兴趣程度,计算不同用户之间的相似度,并根据不同用户之间的相似度筛选出相似度符合预设条件的用户。
具体来说,可以采用已有的距离计算方式来计算文本之间的相似度,例如余弦相似度、KL散度、JS散度等。由于用户与文档是一一对应的,计算出了文档之间的相似度,即得到了不同用户之间的相似度。预设条件可以根据实际情况设置,筛选出相似度符合预设条件的用户是指将相似度高的用户进行聚类,作为后续挖掘的已知条件。
S4:根据筛选出的符合预设条件的用户、预先获取的关注关系,采用关联规则算法挖掘出用户-好友的关注关系。
具体来说,将符合预设条件的用户进行聚类,则可以对相似度高的用户进行进一步分析,预先获取的关注关系是指从已有的数据库中可以得到的用户之间关注关系,例如用户A关注了用户B,用户C是用户D的好友等。关联规则算法可以是Apriori算法、FP-growth算法等。
S5:根据挖掘出的用户-好友关注关系进行好友推荐。
具体来说,用户-好友的关注关系是指不同的用户被同时关注,例如用户A与用户C被同时关注,用户D、用户E、用户F被同时关注,那么,在进行好友推荐时,如果某一用户关注了用户D,则根据挖掘出的用户-好友关注关系,则可以给其推荐用户E和用户F,即可以将好友序列推荐给目标用户,从而增加推荐的好友数量,达到拓展感兴趣好友的数量的目的。
本发明的有益效果是:本发明的基于主题模型和关联规则的好友推荐方法,引入机器学习中主题模型算法和传统数据挖掘的关联规则算法,解决基于关系的好友推荐没有结合用户文本以及推荐好友数量不足的问题,并且经过多次仿真实验证明了本发明的可用性和有效性,能够在社交网络平台中更加高可信度和高拓展性的推荐好友。
在一种实施方式中,S2具体包括:
S2.1:对获取的不同用户的文档进行预处理;
S2.2:将预处理后的文档输入预设主题模型,通过主题模型从狄利克雷分布α中取样生成文档i的主题分布θi,从文档i的主题分布θi中取样生成文档i第j个词的主题zij,从狄利克雷分布β中取样生成主题zij的词语分布再从词语分布/>中采样生成主题词wij,i和j为正整数;
S2.3:根据生成的主题词,通过主题模型生成每个用户对不同主题词的感兴趣程度。
具体来说,由于获取的用户文档是不规范的,因此需要对其进行预处理,才能被LDA模型处理,包括数据清洗、数据集成和数据变换等。
以微博,首先对微博语料库数据进行结巴分词,再通过正则表达式去除标点符号、URL、转义字符,符号等,同时通过删除停用词,提取相应特征词用空格分隔。对用户发布的短文本内容通过以上步骤的数据处理得到微博用户短文本语料库作为主题模型的输入数据。本发明的主题模型和关联规则相结合的好友推荐模型框架如图3所示,由于在微博中,用户发布的文本字数限制在140字以内,所以可以将用户发布的短文本集成到一个文本域中,每一行就是其一个用户的发言。然后通过主题模型LDA对所有用户的集成的文本进行训练,提取用户文本的主题词,通过短文本相似性计算聚类用户主题,筛选出主题相近的用户,这类主题相近的用户可以作为一个单独的用户数据模块,将该用户数据模块与好友关注关系结合,通过关联规则就可以挖掘出某类相似主题的好友组合,最终通过支持度降序推荐Top-N好友组合序列。
S2.2中,对于一个文档集合(由不同用户对应的文档构成),w表示可以观察到的已知变量,α和β表示根据经验给定的先验参数(分布),其他的变量z、
举例来说,字典中共有V个项(不可重复),这些项出现在具体的文章中就是词。语料库中共有m篇文档d1,d2...dm,对于其中一篇文档di,由N个词组成可重复;设定每篇文档有K个主题T1,T2...Tk。事先给定α和β为先验分布的参数,例如取0.1的对称Dirichlet分布使得参数学习结束后每个文档的主题具有区分度。其中,第i篇文档di的主题分布是/>是长度为k的向量。在主题分布θi下,可以确定一个具体的主题zij=k,k∈[1,k]。对于第k个主题Tk的词分布为φk=(φk1,φk2...,φkv),是长度为v的向量,φk表示第k个主题的词分布,k∈[1,k]。由zij选择φzij,由词分布φzij确定主题词wij。
对于每个主题词,每个用户具有对应的兴趣偏好系数,即用户针对生成的主题词的感兴趣程度。通过主题模型训练可以找出几个大的范围主题词,例如军事,经济,体育,然后每个用户对这些主题有个0~1的偏好系数,0就代表对这主题没兴趣,0.9就代表对应的主题偏好高,通过计算两两用户之间的兴趣偏好距离,就可以进行聚类。
由于LDA主题模型属于无监督学习,不需要给定分类属性,只需要给定文档集和主题数量。其中,主题模型LDA构建生成多文档的主题矩阵如图4所示,矩阵中每一行代表每一篇文档的主题特征概率,矩阵中的每一个元素代表用户针对生成的某一个主题词的感兴趣程度,共有n个用户,k个主题词,T11表示用户1对第1个主题词的感兴趣程度,Tnk示用户n对第k个主题词的感兴趣程度。
在一种实施方式中,S3具体包括:
S3.1:根据每个用户对不同主题词的感兴趣程度,采用对称的JS距离计算不同用户之间的相似度;
S3.2:并筛选出相似度符合预设条件的用户,作为兴趣爱好相似的用户集合。
在一种实施方式中,S3.1包括通过下述公式(1)计算相似度:
其中,DJS(p,q)表示两个不同用户之间的相似度,JS距离越小,表明文本相似度越大,对应的用户兴趣越相似,p、q分别表示两个不同的用户主题分布,为两个不同用户之间的KL距离公式,DKL(p,q)表示两个不同用户之间的KL距离,pj表示第一个用户在对应的第j个主题词下的概率分布,qj表示第二个用户在对应的第j个主题词下的概率分布,T为主题词总数。
具体来说,由于主题是词向量的混合分布,可以考虑使用KL(Kullback-Leibler)距离作为相似度度量标准,KL距离公式如下所示:
对于所有的j,当pj=qj时,DKL(p,q)=0。但是KL距离并不是对称的,即DKL(p,q)≠DKL(q,p),由于两个主题的语义是相互关联的,即具有对称性,所以采用对称的JS(Jensen-Shannon)距离来计算用户相似度,其计算公式为公式(1)。
需要说明的是,第一个用户在对应的第j个主题词下的概率分布,即第一个用户对第j个主题词的感兴趣程度。
Jensen-Shannon散度能很自然地衡量整体用户集合的统计数据所构成的随机分布之间的距离,比其他测量距离的方法更好。JS距离越小,表明文本相似度越大,其对应的用户兴趣越相似。
在一种实施方式中,S4包括:将筛选出的符合预设条件的用户、预先获取的关注关系作为已知条件,采用FP-Growth关联规则算法挖掘出用户-好友的关注关系,其中,用户-好友的关注关系为挖掘出的频繁项,表示满足支持度阈值的不同的用户同时被关注。
具体来说,FP-Growth关联规则算法即频繁模式增长算法,算法的基本思路为:
1、扫描一次事务数据库,找出频繁1-项集合,记为L,并把它们按支持度计数的降序进行排列。
2、基于L,再扫描一次事务数据库,构造表示事务数据库中项集关联的FP树。
3、在FP树上递归地找出所有频繁项集。
4、最后在所有频繁项集中产生强关联规则。
其中,事务数据库筛选出的符合预设条件的用户、预先获取的关注关系构成。
在一种实施方式中,采用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算法进行频繁模式挖掘,得到频繁模式,频繁模式为挖掘出的频繁项,包含同时被关注的用户以及用户同时被关注的支持度,表示满足支持度阈值的不同的用户同时被关注。
具体来说,本发明将某一类相似主题下的文本作为单独数据集模块,通过该类文本数据集找到对应的用户(筛选出的符合预设条件的用户)以及关注关系,通过FP-Growth算法挖掘用户-好友的关注关系实现好友推荐。如图5所示的好友关系数据集中,suid表示用户编号,tuid表示用户关注的好友,其中suid这一列表示筛选出的符合预设条件的用户对应的编号,第二列表示预先获取的关注关系,第一行表示,编号为S001的用户关注了用户T1、T2和T5。
下面介绍好友频繁模式挖掘步骤:
1、设定最小支持度为2。
2、tuid列中得到频繁项的集合和每个频繁项的支持度并降序排序{T2:7,T1:6,T3:6,T4:2,T5:2}记为L,依据L对tuid列重排序,如{T1,T2,T5}重排序后为{T2,T1,T5},以此类推。
3、构建好友关系FP-Tree,以null为根节点,将tuid重排序后的项集依次插入树中,如果项集中元素在FP-Tree中没有节点,则重新建立节点。如果节点已经存在,则在原有节点上计数加1,直到项集中所有元素插入到树中,则好友关系FP-tree树构建完成如图6所示。
4、调用FP-growth(Tree,null)开始进行频繁模式挖掘。
在一种实施方式中,S4.4中根据FP-Tree的路径模式采用对应的挖掘模式。
具体来说,在由以上构建的好友关系FP-Tree树,可以采用模式后缀挖掘频繁模式。如果条件FP-Tree是单路径的,则可以通过简单排列组合得到该后缀树的频繁模式。以模式后缀为T5的条件模式树为例如图7,它的条件模式基为(T2T1:1),(T2 T1 T3:1),通过组合变成{T2:2,T1:2,T3:1},由于{T3:1}支持度小于1舍去,则通过排列组合后可以得到模式后缀为T5并且支持度>2的频繁模式:{T2 T5:2,T1 T5:2,T2 T1 T5:2}。
单路径条件模式树可以直接采用排列组合挖掘频繁模式,但是对于多路径情况的条件模式树需要另外的考虑。以模式后缀为T3的条件模式树为例如图8,它的条件模式基为(T2 T1:2),(T2:2),(T1:2),这是一个多路径树,首先通过模式后缀T3和项头表中的每一项做组合得到一组频繁模式{T2 T3:4,T1 T3:4},然后递归调用FP-Growth,模式后缀为{T1,T3},它的条件模式基为{T2:2},它是单路径条件模式树,通过组合可得{T1 T2 T3:2}。最后还需要挖掘模式后缀为{T2,T3}的频繁模式,由于该模式后缀为空,则递归调用结束。最终得出模式后缀为T3的频繁模式为{T2 T3:4,T1 T3:4,T1 T2 T3:2}。基于FP-growth好友推荐算法,最终得到支持度>=2的好友频繁模式如图9。
从好友模式生成表中,可以挖掘出好友关系数据集中所有的频繁模式,其中{T2T5:2}表示T2,T5用户同时被关注,可以看作是一类组合,它的支持度为2。{T2 T1 T3:2}表示T2,T1,T3用户同时被关注,该组合的支持度也为2。{T2 T1:4}表示T2,T1用户同时被关注,它的支持度为4。对于满足最小支持度的组合也就是频繁模式都可以挖掘出来,如果在社交平台上需要某一类组合它的最小支持度为20,那么通过FP-Growth递归挖掘,再通过降序排序就可以推荐Top-N好友组合,这就使得社交网络复杂关注关系的好友推荐具有推荐意义。
实施例二
基于同样的发明构思,本实施例提供了一种基于主题模型和关联规则算法的好友推荐系统,请参见图10,该系统包括:
用户文档获取模块201,用于获取不同用户的文档;
主题分布提取模块202,用于采用预设主题模型确定出不同用户的文档共同包含的主题词以及每个用户对不同主题词的感兴趣程度;
相似用户聚类模块203,用于根据每个用户对不同主题词的感兴趣程度,计算不同用户之间的相似度,并根据不同用户之间的相似度筛选出相似度符合预设条件的用户;
关注关系挖掘模块204,用于根据筛选出的符合预设条件的用户、预先获取的关注关系,采用关联规则算法挖掘出用户-好友的关注关系;
好友推荐模块205,用于根据挖掘出的用户-好友关注关系进行好友推荐。
由于本发明实施例二所介绍的系统,为实施本发明实施例一中基于主题模型和关联规则算法的好友推荐方法所采用的系统,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该系统的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的系统都属于本发明所欲保护的范围。
实施例三
请参见图11,基于同一发明构思,本申请还提供了一种计算机可读存储介质300,其上存储有计算机程序311,该程序被执行时实现如实施例一中所述的方法。
由于本发明实施例三所介绍的计算机可读存储介质为实施本发明实施例一中基于主题模型和关联规则算法的好友推荐方法所采用的计算机可读存储介质,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机可读存储介质的具体结构及变形,故而在此不再赘述。凡是本发明实施例一中方法所采用的计算机可读存储介质都属于本发明所欲保护的范围。
实施例四
基于同一发明构思,本申请还提供了一种计算机设备,请参见图12,包括存储401、处理器402及存储在存储器上并可在处理器上运行的计算机程序403,处理器402执行上述程序时实现实施例一中的方法。
由于本发明实施例四所介绍的计算机设备为实施本发明实施例一中基于主题模型和关联规则算法的好友推荐所采用的计算机设备,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机设备的具体结构及变形,故而在此不再赘述。凡是本发明实施例一中方法所采用的计算机设备都属于本发明所欲保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
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:并筛选出相似度符合预设条件的用户,作为兴趣爱好相似的用户集合。
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中任一项权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010124097.2A CN111310066B (zh) | 2020-02-27 | 2020-02-27 | 一种基于主题模型和关联规则算法的好友推荐方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010124097.2A CN111310066B (zh) | 2020-02-27 | 2020-02-27 | 一种基于主题模型和关联规则算法的好友推荐方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111310066A CN111310066A (zh) | 2020-06-19 |
CN111310066B true CN111310066B (zh) | 2023-06-09 |
Family
ID=71147797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010124097.2A Active CN111310066B (zh) | 2020-02-27 | 2020-02-27 | 一种基于主题模型和关联规则算法的好友推荐方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111310066B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112989026B (zh) * | 2021-04-14 | 2023-08-01 | 华南理工大学 | 一种基于关联规则的文本推荐方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101246264B1 (ko) * | 2012-04-30 | 2013-03-22 | 조현구 | 학습 커뮤니티간의 지식 및 자료 거래 방법 |
CN106202430A (zh) * | 2016-07-13 | 2016-12-07 | 武汉斗鱼网络科技有限公司 | 基于关联规则的直播平台用户兴趣度挖掘系统及挖掘方法 |
US9888086B1 (en) * | 2013-03-15 | 2018-02-06 | Google Llc | Providing association recommendations to users |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8751427B1 (en) * | 2011-01-05 | 2014-06-10 | Google Inc. | Location-centric recommendation service for users |
CN104035972B (zh) * | 2014-05-21 | 2017-06-06 | 哈尔滨工业大学深圳研究生院 | 一种基于微博的知识推荐方法与系统 |
JP6401121B2 (ja) * | 2015-07-29 | 2018-10-03 | 富士フイルム株式会社 | リコメンド装置、リコメンド方法、プログラムおよび記録媒体 |
CN105740342A (zh) * | 2016-01-22 | 2016-07-06 | 天津中科智能识别产业技术研究院有限公司 | 一种基于社会关系主题模型的社交网络朋友推荐方法 |
US10489363B2 (en) * | 2016-10-19 | 2019-11-26 | Futurewei Technologies, Inc. | Distributed FP-growth with node table for large-scale association rule mining |
CN108460153A (zh) * | 2018-03-27 | 2018-08-28 | 广西师范大学 | 一种混合博文与用户关系的社交媒体好友推荐方法 |
-
2020
- 2020-02-27 CN CN202010124097.2A patent/CN111310066B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101246264B1 (ko) * | 2012-04-30 | 2013-03-22 | 조현구 | 학습 커뮤니티간의 지식 및 자료 거래 방법 |
US9888086B1 (en) * | 2013-03-15 | 2018-02-06 | Google Llc | Providing association recommendations to users |
CN106202430A (zh) * | 2016-07-13 | 2016-12-07 | 武汉斗鱼网络科技有限公司 | 基于关联规则的直播平台用户兴趣度挖掘系统及挖掘方法 |
Non-Patent Citations (2)
Title |
---|
基于FP-Growth的社交好友推荐方法研究;熊才权等;湖北工业大学学报;全文 * |
基于相似度和信任度的关联规则微博好友推荐;王涛等;计算机应用;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111310066A (zh) | 2020-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11017178B2 (en) | Methods, devices, and systems for constructing intelligent knowledge base | |
CN104615608B (zh) | 一种数据挖掘处理系统及方法 | |
US9146987B2 (en) | Clustering based question set generation for training and testing of a question and answer system | |
CN105320642B (zh) | 一种基于概念语义基元的文摘自动生成方法 | |
CN110569920B (zh) | 一种多任务机器学习的预测方法 | |
CN104376010B (zh) | 用户推荐方法和装置 | |
KR20160057475A (ko) | 소셜 데이터를 능동적으로 획득하기 위한 시스템 및 방법 | |
Gupta et al. | On detecting association-based clique outliers in heterogeneous information networks | |
CN113934941B (zh) | 一种基于多维度信息的用户推荐系统及方法 | |
CN108304424B (zh) | 文本关键词提取方法及文本关键词提取装置 | |
CN112989208B (zh) | 一种信息推荐方法、装置、电子设备及存储介质 | |
CN113268667B (zh) | 一种基于中文评论情感引导的序列推荐方法及系统 | |
CN104881399B (zh) | 基于概率软逻辑psl的事件识别方法和系统 | |
CN113434684B (zh) | 自监督学习的谣言检测方法、系统、设备及存储介质 | |
CN111651559B (zh) | 一种基于事件抽取的社交网络用户关系抽取方法 | |
JP2019082841A (ja) | 生成プログラム、生成方法及び生成装置 | |
KR20120087214A (ko) | 소셜 네트워킹 서비스 사용자를 위한 친구 추천 방법, 이를 위한 기록 매체 및 이를 이용하는 소셜 네트워킹 서비스 및 서버 | |
US20230214679A1 (en) | Extracting and classifying entities from digital content items | |
CN103853763B (zh) | 获取信息的方法和装置 | |
CN111310066B (zh) | 一种基于主题模型和关联规则算法的好友推荐方法及系统 | |
CN114065749A (zh) | 一种面向文本的粤语识别模型及系统的训练、识别方法 | |
Sheeba et al. | A fuzzy logic based on sentiment classification | |
CN113704623A (zh) | 一种数据推荐方法、装置、设备及存储介质 | |
CN112287218B (zh) | 一种基于知识图谱的非煤矿山文献关联推荐方法 | |
CN112527985A (zh) | 未知问题处理方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |