CN110489652B - 基于用户行为检测的新闻推荐方法、系统及计算机设备 - Google Patents
基于用户行为检测的新闻推荐方法、系统及计算机设备 Download PDFInfo
- Publication number
- CN110489652B CN110489652B CN201910784984.XA CN201910784984A CN110489652B CN 110489652 B CN110489652 B CN 110489652B CN 201910784984 A CN201910784984 A CN 201910784984A CN 110489652 B CN110489652 B CN 110489652B
- Authority
- CN
- China
- Prior art keywords
- frequent item
- item set
- user
- sub
- relative
- 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
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/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/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/9535—Search customisation based on user profiles and personalisation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (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
本发明涉及一种基于用户行为数据检测的新闻推荐方法、系统及计算机设备,所述方法包括:对用户新闻点击行为数据进行转换,生成可处理的用户行为数据集,过滤掉用户行为数据集中的非频繁行为,使用频繁项集串行挖掘算法获取相对频繁项集,构建由用户行为中的相对频繁项集形成的相对频繁项集树,找出最优频繁项集,计算用户行为中最优频繁项集的完整支持度,根据完整支持度,生成用户行为频繁项集相关的关联规则,根据关联规则向用户推荐新闻,本发明能够充分考虑真实生产环境,高效地处理海量用户行为数据集,属于数据分析技术领域。
Description
技术领域
本发明涉及数据分析技术领域,具体而言,涉及一种基于用户行为数据检测的新闻推荐方法、系统及计算机设备。
背景技术
新闻推荐算法是目前新媒体研究中的一个热点,在互联网发展的初期,信息的热门推荐方法得到发展并在雅虎等网站被大量使用。目前所处的大数据时代,则是个性化算法推荐和信息流展现为主流。随着通信技术和移动物联网的发展,数据的规模变得越来越大。数据挖掘可以从大规模数据中提取重要的信息,其被广泛应用于各种领域,比如用户行为分析、空间预测和网络安全检测等。然而经典算法对海量数据需要大量的计算量,其已经不能有效地处理那些数据。
关联规则挖掘是数据挖掘的一个分支,其主要是为了从数据中发现潜在的关系。一般的关联规则挖掘算法由两个主要步骤组成:1)从数据集中提取频繁项集;2)根据所提取的频繁项集生成关联规则。针对第一步,大部分研究者主要通过候选集剪枝或者加快检索速度(如位图排序)改进两种经典算法:Apriori和FP-Growth。但这些算法依然存在运行时间过长的问题以至于它们在海量数据上面的表现并不好,在运行时间上由于支持度阈值MinSup的设置而具有一定的局限性。对于第二步,研究者们主要从许多规则评判标准出发提高关联规则的质量。比如将这个关联规则质量问题转化为一个多目标优化问题或者从生成的频繁项集的数量方面来评价自己的算法。但传统的关联规则方法在提升度方面的优化能力不足。另外,许多研究者忽略了真实的生产环境,比如针对增长式数据的数据挖掘任务。
发明内容
本发明为解决上述问题,提出了一种基于用户行为数据检测的新闻推荐方法、系统及计算机设备,能够充分考虑真实生产环境,高效地处理海量用户新闻点击行为数据集。
根据本发明的一个方面,提供一种基于用户行为数据检测的新闻推荐方法,包括以下步骤:
步骤1,对用户新闻点击行为数据进行转换,生成可处理的用户新闻点击行为数据集;
步骤2,过滤掉用户新闻点击行为数据集中的非频繁行为,使用频繁项集串行挖掘算法获取相对频繁项集,构建由用户新闻点击行为中的相对频繁项集形成的相对频繁项集树,找出最优频繁项集,计算用户新闻点击行为中最优频繁项集的完整支持度;
步骤3,对最优频繁项集进行遍历,根据完整支持度,生成用户新闻点击行为频繁项集相关的关联规则;
步骤4,根据关联规则向用户推荐与新闻点击历史行为具有强关联度的新闻。
根据本发明的另一个方面,提供了一种基于用户行为数据检测的新闻推荐系统,包括以下模块:
用户行为预处理模块,用于对用户新闻点击行为数据进行转换,生成可处理的用户新闻点击行为数据集;
用户行为频繁项集提取模块,用于过滤掉用户新闻点击行为数据集中的非频繁行为,使用频繁项集串行挖掘算法获取相对频繁项集,构建由用户新闻点击行为中的相对频繁项集形成的相对频繁项集树,找出最优频繁项集,计算用户新闻点击行为中最优频繁项集的完整支持度;
用户行为关联规则生成模块,用于对最优频繁项集进行遍历,根据完整支持度,生成用户新闻点击行为频繁项集相关的关联规则;
新闻推荐模块,用于根据关联规则向用户推荐与新闻点击历史行为具有强关联度的新闻。
根据本发明的另一个方面,提供一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的基于用户行为数据检测的新闻推荐方法。
本发明的频繁项集将在计算完整支持度之前就被缩减,而且周到地考虑了真实生产环境。作为一种并行计算方案,本方案采用MapReduce框架高效地处理海量数据集以加快挖掘速度。另外,对整合后的相对频繁项集的使用避免了对冗余频繁项集的支持度的无用计算并进一步地减少了运行时间,从而可以高效准确的向用户推荐新闻资讯。
附图说明
图1是本发明实施例提供的一种基于用户行为数据检测的新闻推荐方法流程图;
图2是本发明实施例提供的用户行为频繁项集提取方法流程图;
图3是本发明实施例形成的相对频繁项集挖掘树示意图;
图4是本发明实施例提供的一种基于用户行为数据检测的新闻推荐系统结构图;
图5是本发明实施例提供的一种计算机设备的结构图示意图;
图6是本发明实施提供的OFI-AR方法和现有PFP-Grwoth方法运行时间的对比图。
具体实施方式
下面本发明具体的实施方式进行阐述,来进一步说明本发明的出发点以及相应的技术方案。
图1是本发明实施例提供的一种基于用户行为数据检测的新闻推荐方法流程图,所述包括以下步骤:
步骤101,对用户行为数据进行转换,生成可处理的用户行为数据集;
所述用户行为可以是一种用户浏览新闻时点击行为产生的用户行为,即用户新闻点击行为,也可以是用户搜索新闻关键词时产生的用户行为,还可以是用户关注或者收藏新闻、网址、事件或人物时产生的用户行为。
优选的,对用户行为数据进行转换,按照在数据集中出现的顺序,转换为从1开始到N的整型数据;将用户点击数据按照用户分组整合在一起形成行存储数据,每个用户代表数据集中的一行;对所有用户的行为数据进行处理生成可处理的用户行为数据集T;其中所述用户行为数据为用户点击网页行为形成的点击流数据,N为用户点击数据中不同的点击数据的数量。
步骤102,过滤掉用户行为数据集中的非频繁行为,使用频繁项集串行挖掘算法获取相对频繁项集,构建由用户行为中的相对频繁项集形成的相对频繁项集树,找出最优频繁项集OFI,计算用户行为中最优频繁项集OFI的完整支持度;
步骤103,对最优频繁项集OFI进行遍历,根据完整支持度,生成用户行为频繁项集相关的关联规则。
具体而言,基于所有的最优频繁项集OFI都是用户行为中非冗余的项集,用户行为频繁项集相关的关联规则的提取只需要从最优频繁项集OFI中提取即可。根据步骤102中获取的完整支持度,得到的关联规则即是最终的关联规则。
步骤104,根据关联规则向用户推荐与历史点击行为具有强关联度的新闻;
具体而言,根据用户历史的新闻点击,在步骤103生成的关联规则中搜索与该新闻点击相关的关联度强的新闻,向用户推荐搜索到的新闻。在推荐新闻时,可以全部推荐关联度强的新闻,也可以部分推荐关联度强的新闻,同时少量地推荐关联度极弱的新闻,以丰富用户的阅读视野。
另一种可实施的方式,根据用户历史新闻点击集合,在步骤103中生成的关联规则中搜索所有与集合中新闻点击行为有关的新闻,然后对搜索到的新闻的提升度进行排序,最后将一定数量的新闻按提升度从大到小的顺序推荐给用户。这里的一定数量根据具体的业务情况和搜索到的关联规则数量决定。
图2是本发明实施例提供的用户行为频繁项集提取方法流程图。本实施例在图1实施例的基础上,对步骤102进行详细说明。步骤102具体包括:
步骤201,过滤掉用户行为数据集中的非频繁行为;
具体地,包括:用MapReduce编程模型中的Map操作将用户行为数据集转换为为由单个项和计数量1构成的键值对;用Reduce操作将各个键值对整合在一起,得到每一个行为的支持度;根据经验设置最小支持度阈值,找出行为数据中支持度小于最小支持度阈值的非频繁行为,将所述非频繁行为删除。
步骤202,使用频繁项集串行挖掘算法获取相对频繁项集;
具体地,包括:根据经验设置分区数,将过滤后的用户行为数据集分为相应分区数的子数据集;在每一个子数据集上面运行频繁项集串行挖掘算法,找出针对每个子数据集的相对频繁项集;将所有相对频繁项集聚集在一起,相同的相对频繁项集的支持度相加在一起,形成聚合后的估计支持度。
其中,所述使用频繁项集串行挖掘算法获取相对频繁项集,具体包括:
对于不同项数的频繁项集,设置运行分割值将频繁项集挖掘过程分割为两个挖掘过程;对于项数小于等于运行分割值的频繁项集,采用MapReduce编程模型操作来挖掘出相对频繁项集;对于项数小于等于运行分割值的频繁项集,采用Apriori关联分析算法并结合位图排序挖掘出相对频繁项集。
步骤203,构建由用户行为中的相对频繁项集形成的相对频繁项集树,找出最优频繁项集;
具体地,包括:从具有最大项集长度的相对频繁项集开始,由其组成树的最高层,然后根据项数往下搜索该层项集的项数只相差一个的子集,由这些子集组成下一层,直至遍历完所有相对频繁项集,构建出相对频繁项集树,如图3所示,最高层的abcd项集为最大频繁项集,其向下一层包含abc等相对频繁项集;基于相对频繁项集树,从相对频繁项集的最高层开始,比对项集与其子集之间的价值;若子集的价值大于该项集,则将子集视为最优频繁项集,继续搜索该子集的子集中是否有价值更高的子集,迭代向下搜索,直到找到最优频繁项集;
其中,所述构建由用户行为中的相对频繁项集形成的相对频繁项集树,找出最优频繁项集,具体包括:
将相对频繁项集RFIs按照项集的长度划分为不同的层,项集的长度越长,层次越高;从最高层的最大频繁项集开始,对每一层进行扫描,找出上层的子集,以此构建相对频繁项集树RFIs-tree;从最大频繁项集开始,过滤掉冗余的频繁项集,扫描每一个上层频繁项集X来计算其价值RFIV(X)和它最近的子集X_sub的价值RFIVsub(X_sub);将价值RFIV(X)和RFIVsub(X_sub)中距离数字1的距离更远的频繁项集确定为当前的更优频繁项集;如果上层频繁项集X为更优频繁项集,则与项集X的其他子集进行比较,如果下层的子集X_sub为更优频繁项集,则子集X_sub与其子集进行比较,迭代向下搜索,直到找到最优频繁项集;
其中频繁项集X的RFIV(X)与不同的RFIVsub相关,RFIV(X)的计算公式为:
子集X_sub的价值RFIVsub(X_sub)的计算公式为:
S={x|x=RFIV(X_subn),n∈{1,...,len(X_sub)}},
其中,eSup()指的是某一项集的估计支持度,即已获得的不完整的支持度,其中diff(X,X_sub)表示X和X_sub之间的差集,len(X_sub)表示X_sub的长度,RFIV(X_subn)为X_sub相对于其第n子集的RFIV,S为RFIV(X_subn)值的集合,avg()表示计算平均值。
步骤204,计算用户行为中最优频繁项集的完整支持度;
具体地,包括:在每个用户行为数据上搜索最优频繁项集,由搜索到的最优频繁项集构成项集和计数量1的键值对,将所有键值对聚合在一起,计算得到最优频繁项集的完整支持度。
根据本发明的另一实施例,一种基于用户行为数据检测的新闻推荐方法,包括以下步骤:
S1、对用户点击行为数据进行转换,按照在数据集中出现的顺序,转换为从1开始到N的整型数据,N为用户点击数据中不同的点击数据的数量。之后将用户点击数据按照用户分组整合在一起形成行存储数据,每个用户代表数据集中的一行。按此方式即可形成可处理的用户点击数据集T。
S2、找出用户点击行为最优频繁项集,计算完整支持度,具体包括:
S21、根据经验确定最小支持阈值MinSup和分区数nPart。nPart的设置是为了将T划分为nPart个子用户行为数据集以对T进行并行处理。首先通过Map操作将T中的每一项转化为<key1,value1>对,其中key1表示单个项,value1设置为1。然后,利用MapReduce中的Reduce操作可以有效地按项聚合这些对,并计算项的支持度。之后,过滤掉支持度大于MinSup的频繁项freq_1-item,用于过滤用户行为数据集中的不频繁项,生成过滤后的用户行为数据集Tf,其通过减少项的总量加快了后续的挖掘操作。
S22、将Tf划分为nPart个子用户行为集,并在每个子用户行为数据集中运行所提出的串行算法来挖掘相对频繁项集,该项集在被挖掘的子用户行为数据集中是频繁的,但在整个用户行为数据集中可能不是频繁。
设置运行分割值ε将频繁项集挖掘过程分割为两个挖掘过程,挖掘有n1个项的项集RFIsn1(1<n1≤ε)和挖掘有n2个项的RFIsn2(n2>ε)。顺便一提,在S21中,当计算单个项的支持度时,已经挖掘了只包含单个用户行为项的项集。对于挖掘RFIsn1,将用户行为数据集映射成<key2,value2>对,其中key2是有n1个项的项集,value2被设置为1。那些项集由在每个用户行为数据集上计算子集来生成。然后,这些对通过key2整合在一起,以计算项集的支持度,就像S11中的MapReduce操作一样。为了挖掘RFIsn2(n2>3),将生成候选集然后使用位图排序来计算项集的出现频率。挖掘RFIsn1和RFIsn2的区别在于用户行为数据集可以有效地生成包含n1个项的子集,并将它们映射成<key2,value2>对,这可以充分利用MapReduce策略进行计数。但是当用户行为数据集生成包含n2项的项集时,由于搜索空间的扩大,性能会急剧下降。生成子集的成本时间将大于MapReduce策略所节省的时间。
在每个子用户行为数据集上挖掘RFIsn后,将结果聚合在一起作为RFIs然后映射成<key2,value2>对,其中key2为项集,value2=(partition_id,count),其中partition_ids是项集根源子用户行为数据集的标识的集合,count是项集的估计支持度eSup(定义4)。对于每个RFIs中的每个项集,eSup低于真正的支持度,因为RFIs在有些子用户行为数据集中可能不是频繁的,而在不频繁的子用户行为数据集中RFIs的支持度将被计算为零。对于这个特性,“错误”通常都会很小,因为只有低于MinSup的支持度才会被忽略。
S23、构造了一个由RFIs组成的树。首先,将RFIs按照项集的长度划分为不同的层。项集的长度越长,层次越高。然后,从最高层开始,对每一层进行扫描,找出上层的子集,以此构建RFIs-tree。之后,从最大相对频繁项集开始,采用深度优先搜索(DFS)策略过滤掉冗余的相对频繁项集,每一个搜索到的相对频繁项集将被扫描来计算其价值RFIV和它最近的子集的价值RFIVsub。子集的长度与超集之间相差一项。在这里,我们假定X是RFIs中的一个搜索到的项集,X_sub是X的一个子集。X的RFIV与不同的子集相关,RFIV(X)可以计算根据以下进行计算:
其中eSup表示项集的估计支持度,即已获得的不完整的支持度,diff(X,X_sub)表示X和X_sub之间的差集,它总是只有一个项。RFIVsub也有两种不同的值,小于1或者大于1。根据以下两个公式来计算RFIVsub(X_sub):
S={x|x=RFIV(X_subn),n∈{1,...,len(X_sub)}}
其中len(X_sub)表示X_sub的长度,等于X_sub的子集数。RFIV(X_subn)为X_sub相对于其第n子集的RFIV。RFIV(X)和RFVsub(X_sub)的价值对比是由与1的距离决定的。距离1越远,值的价值越好。例如,0.1比0.2更好,3比2更好。当RFIV(X)更好时,将抛弃所比较的X_sub,否则将X_sub保留下来,记为最优频繁项集OFI。然后搜索X_sub的有价值的子集。
S24、计算OFI的完整支持度,因为从步骤S23获得的项集的支持度是不完整的。用户行为数据集将被分配到每个节点,并映射到<key3,value3>对,其中key3是一个OFI项集,而value3被设置为1。这些对将按key3进行分组,然后获得OFI的完整支持度。
S3、基于所有的OFI都是用户行为中非冗余的项集,关联规则的提取只需要从OFI中提取即可。RFIV(X)的计算公式中的支持度是不完整的,计算关联规则时,只需要将RFIV(X)的计算公式中的支持度替换为从S24中获取的完整支持度,得到的关联规则即是最终的关联规则。
S4、根据关联规则向用户推荐与历史点击行为具有强关联度的新闻。
具体而言,根据用户历史的点击行为,在步骤S3生成的关联规则中搜索与该新闻点击相关的关联度强的新闻,向用户推荐搜索到的新闻。
图4是本发明实施例提供的一种基于用户行为数据检测的新闻推荐系统结构图;所述系统包括以下模块:
用户行为预处理模块401,用于对用户行为数据进行转换,生成可处理的用户行为数据集;
具体而言,用于对用户行为数据进行转换,按照在数据集中出现的顺序,转换为从1开始到N的整型数据;将用户点击数据按照用户分组整合在一起形成行存储数据,每个用户代表数据集中的一行;对所有用户的行为数据进行处理生成可处理的用户行为数据集T;其中所述用户行为数据为用户点击网页行为形成的点击流数据,N为用户点击数据中不同的点击数据的数量。
用户行为频繁项集提取模块402,用于过滤掉用户行为数据集中的非频繁行为,使用频繁项集串行挖掘算法获取相对频繁项集,构建由用户行为中的相对频繁项集形成的相对频繁项集树,找出最优频繁项集,计算用户行为中最优频繁项集的完整支持度;
优选的,用户行为频繁项集提取模块402具体用于:
用MapReduce编程模型中的Map操作将用户行为数据集转换为为由单个项和计数量1构成的键值对;用Reduce操作将各个键值对整合在一起,得到每一个行为的支持度;根据经验设置最小支持度阈值,找出行为数据中支持度小于最小支持度阈值的非频繁行为,将所述非频繁行为删除;
根据经验设置分区数,将过滤后的用户行为数据集分为相应分区数的子数据集;在每一个子数据集上面运行频繁项集串行挖掘算法,找出针对每个子数据集的相对频繁项集;将所有相对频繁项集聚集在一起,相同的相对频繁项集的支持度相加在一起,形成聚合后的估计支持度;
从具有最大项集长度的相对频繁项集开始,由其组成树的最高层,然后根据项数往下搜索该层项集的项数只相差一个的子集,由这些子集组成下一层,直至遍历完所有相对频繁项集,构建出相对频繁项集树;基于相对频繁项集树,从相对频繁项集的最高层开始,比对项集与其子集之间的价值;若子集的价值大于该项集,则将子集视为最优频繁项集,继续搜索该子集的子集中是否有价值更高的子集,迭代向下搜索,直到找到最优频繁项集;
在每个用户行为数据上搜索最优频繁项集,由搜索到的最优频繁项集构成项集和计数量1的键值对,将所有键值对聚合在一起,计算得到最优频繁项集的完整支持度。
优选的,用户行为频繁项集提取模块402使用频繁项集串行挖掘算法获取相对频繁项集包括:
对于不同项数的频繁项集,设置运行分割值将频繁项集挖掘过程分割为两个挖掘过程;对于项数小于等于运行分割值的频繁项集,采用MapReduce编程模型操作来挖掘出相对频繁项集;对于项数小于等于运行分割值的频繁项集,采用Apriori关联分析算法并结合位图排序挖掘出相对频繁项集。
优选的,用户行为频繁项集提取模块402构建由用户行为中的相对频繁项集形成的相对频繁项集树,找出最优频繁项集包括:
将相对频繁项集RFIs按照项集的长度划分为不同的层,项集的长度越长,层次越高;从最高层的最大频繁项集开始,对每一层进行扫描,找出上层的子集,以此构建相对频繁项集树RFIs-tree;从最大频繁项集开始,过滤掉冗余的频繁项集,扫描每一个上层频繁项集X来计算其价值RFIV(X)和它最近的子集X_sub的价值RFIVsub(X_sub);将价值RFIV(X)和RFIVsub(X_sub)中距离数字1的距离更远的频繁项集确定为当前的更优频繁项集;如果上层频繁项集X为更优频繁项集,则与项集X的其他子集进行比较,如果下层的子集X_sub为更优频繁项集,则子集X_sub与其子集进行比较,迭代向下搜索,直到找到最优频繁项集;
其中频繁项集X的RFIV(X)与不同的RFIVsub相关,RFIV(X)的计算公式为:
子集X_sub的价值RFIVsub(X_sub)的计算公式为:
S={x|x=RFIV(X_subn),n∈{1,...,len(X_sub)}},
其中,eSup()指的是某一项集的估计支持度,即已获得的不完整的支持度,其中diff(X,X_sub)表示X和X_sub之间的差集,len(X_sub)表示X_sub的长度,RFIV(X_subn)为X_sub相对于其第n子集的RFIV,S为RFIV(X_subn)值的集合,avg()表示计算平均值。
用户行为关联规则生成模块403,用于对最优频繁项集进行遍历,根据完整支持度,生成用户行为频繁项集相关的关联规则。
具体而言,基于所有的最优频繁项集OFI都是用户行为中非冗余的项集,用户行为频繁项集相关的关联规则的提取只需要从最优频繁项集OFI中提取即可。根据用户行为频繁项集提取模块402中获取的完整支持度,得到的关联规则即是最终的关联规则。
新闻推荐模块404,用于根据关联规则向用户推荐与历史点击行为具有强关联度的新闻。
具体而言,根据用户历史的点击行为,在用户行为关联规则生成模块403生成的关联规则中搜索与该新闻点击相关的关联度强的新闻,向用户推荐搜索到的新闻。
图5是本发明实施例提供的一种计算机设备结构图。如图5所示,该计算机设备包括通过系统总线520连接的处理器510、非易失性存储介质530、内存储器550及网络接口540。其中,计算机设备的非易失性存储介质530存储有操作系统531及计算机可执行指令532,该计算机可执行指令532用于实现本发明实施例中提供的基于用户行为数据检测的新闻推荐方法。该处理器510用于提供计算和控制能力,支撑整个计算机设备的运行。计算机设备中的内存储器550为非易失性存储介质530中的操作系统531及计算机可执行指令532的运行提供环境,网络接口540用于与其它的计算机设备进行网络通信。该计算机设备可以是手机、平板电脑、PC(personal computer)等终端,也可以是服务器等。本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体地计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
如图6和表1所示,为本发明所采用的方法OFI-AR与现有方法PFP-Growth的运行结果对比情况。由图6可看出,在运行速度方面,本发明所采用的方法
OFI-AR比现有方法PFP-Growth运行更快,其中MinSup为最小支持度阈值,MinSup越小时,挖掘难度越大,本方法相对于PFP-Growth的效率更好。由表1可看出,在关联规则质量方面,本方法在生成的频繁项集的数量和特殊关联规则的数量方面一直比PFP-Growth更好,且在大部分的平均提升度方面比PFP-Growth更优。其中MinConf为最小置信度,本方法不需要设置最小置信度,故在表1中本方法相关的MinConf栏全为空。提升度是评判关联规则的关联强度的标准,提升度可由完整支持度计算得到,该值离1越远说明其独立性越高,平均提升度是对生成的所有关联规则中大于1的提升度求平均值,值越大越好。特殊关联规则为算法所发现的提升度小于1的关联规则,其数量越多说明发现的互相排斥的关联规则越多,说明方法越好。
表1.关联规则质量对比
以上的所述乃是本发明的具体实施例及所运用的技术原理,若依本发明的构想所作的改变,其所产生的功能作用仍未超出说明书及附图所涵盖的精神时,仍应属本发明的保护范围。
Claims (8)
1.一种基于用户行为数据检测的新闻推荐方法,其特征在于,包括:
步骤1,对用户新闻点击行为数据进行转换,生成可处理的用户新闻点击行为数据集;
步骤2,过滤掉用户新闻点击行为数据集中的非频繁行为,使用频繁项集串行挖掘算法获取相对频繁项集,构建由用户新闻点击行为中的相对频繁项集形成的相对频繁项集树,找出最优频繁项集,计算用户新闻点击行为中最优频繁项集的完整支持度;
步骤3,对最优频繁项集进行遍历,根据完整支持度,生成用户新闻点击行为频繁项集相关的关联规则;
步骤4,根据关联规则向用户推荐与新闻点击历史行为具有强关联度的新闻;
其中,所述找出最优频繁项集,计算用户新闻点击行为中最优频繁项集的完整支持度,具体包括:基于相对频繁项集树,从相对频繁项集的最高层开始,比对项集与其子集之间的价值;若子集的价值大于该项集,则将子集视为最优频繁项集,继续搜索该子集的子集中是否有价值更高的子集,迭代向下搜索,直到找到最优频繁项集;在每个用户新闻点击行为数据上搜索最优频繁项集,由搜索到的最优频繁项集构成项集和计数量1的键值对,将所有键值对聚合在一起,计算得到最优频繁项集的完整支持度;
其中,步骤2中所述构建由用户新闻点击行为中的相对频繁项集形成的相对频繁项集树,找出最优频繁项集包括:
将相对频繁项集RFIs按照项集的长度划分为不同的层,项集的长度越长,层次越高;从最高层的最大频繁项集开始,对每一层进行扫描,找出上层的子集,以此构建相对频繁项集树RFIs-tree;从最大频繁项集开始,过滤掉冗余的频繁项集,扫描每一个上层频繁项集X来计算其价值RFIV(X)和它最近的子集X_sub的价值RFIVsub(X_sub);将价值RFIV(X)和RFIVsub(X_sub)中距离数字1的距离更远的频繁项集确定为当前的更优频繁项集;如果上层频繁项集X为更优频繁项集,则与项集X的其他子集进行比较,如果下层的子集X_sub为更优频繁项集,则子集X_sub与其子集进行比较,迭代向下搜索,直到找到最优频繁项集;
其中频繁项集X的RFIV(X)与不同的RFIVsub相关,RFIV(X)的计算公式为:
子集X_sub的价值RFIVsub(X_sub)的计算公式为:
其中,eSup()指的是某一项集的估计支持度,即已获得的不完整的支持度,其中diff(X, X_sub)表示X和X_sub之间的差集,len(X_sub)表示X_sub的长度,RFIV(X_subn)为X_sub相对于其第n子集的RFIV,S为RFIV(X_subn)值的集合,avg()表示计算平均值。
2.根据权利要求 1 所述的方法,其特征在于,步骤1包括:
对用户新闻点击行为数据进行转换,按照在数据集中出现的顺序,转换为从1开始到N的整型数据;将用户点击数据按照用户分组整合在一起形成行存储数据,每个用户代表数据集中的一行;对所有用户的新闻点击行为数据进行处理生成可处理的用户新闻点击行为数据集T;其中所述用户新闻点击行为数据为用户点击网页行为形成的点击流数据,N为用户点击数据中不同的点击数据的数量。
3.根据权利要求 1 所述的方法,其特征在于,步骤2包括:
步骤201,用MapReduce编程模型中的Map操作将用户新闻点击行为数据集转换为为由单个项和计数量1构成的键值对;用Reduce操作将各个键值对整合在一起,得到每一个行为的支持度;根据经验设置最小支持度阈值,找出行为数据中支持度小于最小支持度阈值的非频繁行为,将所述非频繁行为删除;
步骤202,根据经验设置分区数,将过滤后的用户新闻点击行为数据集分为相应分区数的子数据集;在每一个子数据集上面运行频繁项集串行挖掘算法,找出针对每个子数据集的相对频繁项集;将所有相对频繁项集聚集在一起,相同的相对频繁项集的支持度相加在一起,形成聚合后的估计支持度;
步骤203,从具有最大项集长度的相对频繁项集开始,由其组成树的最高层,然后根据项数往下搜索该层项集的项数只相差一个的子集,由这些子集组成下一层,直至遍历完所有相对频繁项集,构建出相对频繁项集树;基于相对频繁项集树,从相对频繁项集的最高层开始,比对项集与其子集之间的价值;若子集的价值大于该项集,则将子集视为最优频繁项集,继续搜索该子集的子集中是否有价值更高的子集,迭代向下搜索,直到找到最优频繁项集;
步骤204,在每个用户新闻点击行为数据上搜索最优频繁项集,由搜索到的最优频繁项集构成项集和计数量1的键值对,将所有键值对聚合在一起,计算得到最优频繁项集的完整支持度。
4.根据权利要求 1 所述的方法,其特征在于,步骤2中所述使用频繁项集串行挖掘算法获取相对频繁项集包括:
对于不同项数的频繁项集,设置运行分割值将频繁项集挖掘过程分割为两个挖掘过程;对于项数小于等于运行分割值的频繁项集,采用MapReduce编程模型操作来挖掘出相对频繁项集;对于项数小于等于运行分割值的频繁项集,采用Apriori关联分析算法并结合位图排序挖掘出相对频繁项集。
5.一种基于用户行为数据检测的新闻推荐系统,其特征在于,包括:
用户行为预处理模块,用于对用户新闻点击行为数据进行转换,生成可处理的用户新闻点击行为数据集;
用户行为频繁项集提取模块,用于过滤掉用户新闻点击行为数据集中的非频繁行为,使用频繁项集串行挖掘算法获取相对频繁项集,构建由用户新闻点击行为中的相对频繁项集形成的相对频繁项集树,找出最优频繁项集,计算用户行为中最优频繁项集的完整支持度;
用户行为关联规则生成模块,用于对最优频繁项集进行遍历,根据完整支持度,生成用户新闻点击行为频繁项集相关的关联规则;
新闻推荐模块,用于根据关联规则向用户推荐与新闻点击历史行为具有强关联度的新闻;
其中,用户行为频繁项集提取模块构建由用户新闻点击行为中的相对频繁项集形成的相对频繁项集树,找出最优频繁项集包括:
将相对频繁项集RFIs按照项集的长度划分为不同的层,项集的长度越长,层次越高;从最高层的最大频繁项集开始,对每一层进行扫描,找出上层的子集,以此构建相对频繁项集树RFIs-tree;从最大频繁项集开始,过滤掉冗余的频繁项集,扫描每一个上层频繁项集X来计算其价值RFIV(X)和它最近的子集X_sub的价值RFIVsub(X_sub);将价值RFIV(X)和RFIVsub(X_sub)中距离数字1的距离更远的频繁项集确定为当前的更优频繁项集;如果上层频繁项集X为更优频繁项集,则与项集X的其他子集进行比较,如果下层的子集X_sub为更优频繁项集,则子集X_sub与其子集进行比较,迭代向下搜索,直到找到最优频繁项集;
其中频繁项集X的RFIV(X)与不同的RFIVsub相关,RFIV(X)的计算公式为:
子集X_sub的价值RFIVsub(X_sub)的计算公式为:
其中,eSup()指的是某一项集的估计支持度,即已获得的不完整的支持度,其中diff(X, X_sub)表示X和X_sub之间的差集,len(X_sub)表示X_sub的长度,RFIV(X_subn)为X_sub相对于其第n子集的RFIV,S为RFIV(X_subn)值的集合,avg()表示计算平均值。
6.根据权利要求5所述的系统,其特征在于,用户行为频繁项集提取模块具体用于:
用MapReduce编程模型中的Map操作将用户新闻点击行为数据集转换为为由单个项和计数量1构成的键值对;用Reduce操作将各个键值对整合在一起,得到每一个行为的支持度;根据经验设置最小支持度阈值,找出行为数据中支持度小于最小支持度阈值的非频繁行为,将所述非频繁行为删除;
根据经验设置分区数,将过滤后的用户新闻点击行为数据集分为相应分区数的子数据集;在每一个子数据集上面运行频繁项集串行挖掘算法,找出针对每个子数据集的相对频繁项集;将所有相对频繁项集聚集在一起,相同的相对频繁项集的支持度相加在一起,形成聚合后的估计支持度;
从具有最大项集长度的相对频繁项集开始,由其组成树的最高层,然后根据项数往下搜索该层项集的项数只相差一个的子集,由这些子集组成下一层,直至遍历完所有相对频繁项集,构建出相对频繁项集树;基于相对频繁项集树,从相对频繁项集的最高层开始,比对项集与其子集之间的价值;若子集的价值大于该项集,则将子集视为最优频繁项集,继续搜索该子集的子集中是否有价值更高的子集,迭代向下搜索,直到找到最优频繁项集;
在每个用户新闻点击行为数据上搜索最优频繁项集,由搜索到的最优频繁项集构成项集和计数量1的键值对,将所有键值对聚合在一起,计算得到最优频繁项集的完整支持度。
7.根据权利要求5 所述的系统,其特征在于,用户行为频繁项集提取模块使用频繁项集串行挖掘算法获取相对频繁项集包括:
对于不同项数的频繁项集,设置运行分割值将频繁项集挖掘过程分割为两个挖掘过程;对于项数小于等于运行分割值的频繁项集,采用MapReduce编程模型操作来挖掘出相对频繁项集;对于项数小于等于运行分割值的频繁项集,采用Apriori关联分析算法并结合位图排序挖掘出相对频繁项集。
8.一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至4任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910784984.XA CN110489652B (zh) | 2019-08-23 | 2019-08-23 | 基于用户行为检测的新闻推荐方法、系统及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910784984.XA CN110489652B (zh) | 2019-08-23 | 2019-08-23 | 基于用户行为检测的新闻推荐方法、系统及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110489652A CN110489652A (zh) | 2019-11-22 |
CN110489652B true CN110489652B (zh) | 2022-06-03 |
Family
ID=68553349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910784984.XA Active CN110489652B (zh) | 2019-08-23 | 2019-08-23 | 基于用户行为检测的新闻推荐方法、系统及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110489652B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111782705A (zh) * | 2020-05-28 | 2020-10-16 | 平安医疗健康管理股份有限公司 | 频繁数据的挖掘方法、装置、设备及计算机可读存储介质 |
CN111800409B (zh) * | 2020-06-30 | 2023-04-25 | 杭州数梦工场科技有限公司 | 接口攻击检测方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286150B (zh) * | 2007-04-10 | 2010-09-15 | 阿里巴巴集团控股有限公司 | 生成更新参数的方法和装置、展示相关关键词的方法和装置 |
CN101419627B (zh) * | 2008-12-03 | 2010-06-30 | 山东中烟工业公司 | 基于关联规则的卷烟配方维护行为挖掘系统及其方法 |
CN102214248A (zh) * | 2011-07-22 | 2011-10-12 | 浙江工商大学 | 一种挖掘海量数据的高空间可伸性和高时间效率的多层频繁模式发现算法 |
CN102799666B (zh) * | 2012-07-13 | 2015-01-21 | 北京航空航天大学 | 一种基于频繁词集的网络新闻自动文本分类的方法 |
CN103700005B (zh) * | 2013-12-17 | 2016-08-31 | 南京信息工程大学 | 一种基于自适应多最小支持度的关联规则推荐方法 |
CN107451290B (zh) * | 2017-08-15 | 2020-03-10 | 电子科技大学 | 一种并行化的数据流频繁项集挖掘方法 |
CN108874952B (zh) * | 2018-05-31 | 2021-07-27 | 福建师范大学 | 一种基于分布式日志的最大频繁序列模式挖掘方法 |
CN108805755B (zh) * | 2018-07-04 | 2021-11-23 | 浪潮卓数大数据产业发展有限公司 | 一种旅游套餐生成方法及装置 |
-
2019
- 2019-08-23 CN CN201910784984.XA patent/CN110489652B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110489652A (zh) | 2019-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chu et al. | Triangle listing in massive networks | |
JP5092165B2 (ja) | データ構築方法とシステム | |
Lin et al. | Website reorganization using an ant colony system | |
Hung et al. | Mining trajectory profiles for discovering user communities | |
CN110719106B (zh) | 一种基于节点分类排序的社交网络图压缩方法及系统 | |
CN105760443A (zh) | 项目推荐系统、项目推荐装置以及项目推荐方法 | |
CN110489652B (zh) | 基于用户行为检测的新闻推荐方法、系统及计算机设备 | |
CN109582714B (zh) | 一种基于时间衰减关联的政务事项数据处理方法 | |
CN104778237A (zh) | 一种基于关键用户的个性化推荐方法和系统 | |
Kumar et al. | Distance based pattern driven mining for outlier detection in high dimensional big dataset | |
Jiang et al. | Web page recommendation based on bitwise frequent pattern mining | |
Gao et al. | On efficiently finding reverse k-nearest neighbors over uncertain graphs | |
Li et al. | Cache-based gnn system for dynamic graphs | |
Lonlac et al. | A novel algorithm for searching frequent gradual patterns from an ordered data set | |
CN102254025B (zh) | 信息回忆检索方法 | |
Li et al. | Efficient continual cohesive subgraph search in large temporal graphs | |
Tseng et al. | A scalable complex event analytical system with incremental episode mining over data streams | |
Hassan et al. | Computing graph descriptors on edge streams | |
Li et al. | Incomplete mixed data-driven outlier detection based on local–global neighborhood information | |
Mallick et al. | Incremental mining of sequential patterns: Progress and challenges | |
CN112287118B (zh) | 事件模式频繁子图挖掘与预测方法 | |
Xu et al. | Attributed network community detection based on network embedding and parameter-free clustering | |
Wang et al. | Preference-aware sequence matching for location-based services | |
Kim et al. | IDAR: Fast supergraph search using DAG integration | |
Oo | Pattern discovery using association rule mining on clustered data |
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 |