CN112000711A - 一种基于Spark确定刷评用户的方法及系统 - Google Patents
一种基于Spark确定刷评用户的方法及系统 Download PDFInfo
- Publication number
- CN112000711A CN112000711A CN202010705134.9A CN202010705134A CN112000711A CN 112000711 A CN112000711 A CN 112000711A CN 202010705134 A CN202010705134 A CN 202010705134A CN 112000711 A CN112000711 A CN 112000711A
- Authority
- CN
- China
- Prior art keywords
- account
- comment
- user
- data set
- issued
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000011156 evaluation Methods 0.000 title claims description 7
- 238000012552 review Methods 0.000 claims abstract description 34
- 238000012905 input function Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000003491 array Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 15
- 230000002159 abnormal effect Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000001680 brushing effect Effects 0.000 description 6
- 101000932776 Homo sapiens Uncharacterized protein C1orf115 Proteins 0.000 description 3
- 102100025480 Uncharacterized protein C1orf115 Human genes 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000005065 mining Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer 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/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/2462—Approximate or statistical queries
-
- 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/2471—Distributed queries
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供一种基于Spark确定刷评用户的方法及系统,包括;计算引擎Spark周期性自数据库获取前一周期内的评论内容和发表评论的账号,将账号和评论内容形成第一弹性数据集;以账号为单位,将第一弹性数据集内的同一账号在前一周期内发表的所有评论内容进行整合,将每一个账号与其发表的所有评论内容形成第二弹性数据集;根据第二弹性数据集,计算得到该账号的评论内容之间的平均编辑距离;针对任一账号,根据该账号在前一周期内发表的评论总数、以及评论内容之间的平均编辑距离判断该账号所对应的用户是否为刷评用户。通过基于Spark对机器刷评用户进行确认,使得同一账号不能通过略微修改评论内容来规避。
Description
技术领域
本发明涉及数据分析领域,具体涉及一种基于Spark确定刷评用户的系统。
背景技术
在现代的社交媒体的互联网社交平台中,用户账户是一种无形但是重要的资产。于是出现大量不法分子利用脚本批量的注册账户,或者批量的盗取正常用户的账户,这一批由不法分子控制的一部分异常账户会使用脚本来在一些内容下批量发表评论。这些评论几乎内容都一样,也对用户和平台都造成了较大的困扰。现有技术是通过统计同一用户在一定时间内发送同样评论的次数,若超过一定次数则认为是问题账号。
在实现本发明过程中,申请人发现现有技术中至少存在如下问题:
在实际操作中,同一账号能通过略微修改评论内容来规避挖掘,而且单一机器只能接受少量典型账号的数据统计分析任务。
发明内容
本发明实施例提供一种基于Spark确定刷评用户的方法及系统,通过基于Spark对机器刷评用户进行确认,使得同一账号不能通过略微修改评论内容来规避。
为达上述目的,一方面,本发明实施例提供一种基于Spark确定刷评用户的方法,包括:
计算引擎Spark周期性自数据库获取前一周期内的评论内容和发表评论的账号,将账号和评论内容形成第一弹性数据集;
以账号为单位,将第一弹性数据集内的同一账号在前一周期内发表的所有评论内容进行整合,建立该账号与其发表的所有评论内容的对应关系,将每一个账号与其发表的所有评论内容形成第二弹性数据集;其中,同一账号具有相同的用户唯一标识号User Id;
根据第二弹性数据集,统计每一个账号在前一周期内发表的评论总数,以及根据每一个账号在前一周期内发表的所有评论内容计算得到该账号的评论内容之间的平均编辑距离;
针对任一账号,根据该账号在前一周期内发表的评论总数、以及评论内容之间的平均编辑距离判断该账号所对应的用户是否为刷评用户。
另一方面,本发明实施例提供一种基于Spark确定刷评用户的系统,包括:
数据库,用于收集并存储评论内容和发表评论的账号;
计算引擎Spark,用于周期性自数据库获取前一周期内的评论内容和发表评论的账号,将账号和评论内容形成第一弹性数据集;以账号为单位,将第一弹性数据集内的同一账号在前一周期内发表的所有评论内容进行整合,建立该账号与其发表的所有评论内容的对应关系,将每一个账号与其发表的所有评论内容形成第二弹性数据集;其中,同一账号具有相同的用户唯一标识号User Id;根据第二弹性数据集,统计每一个账号在前一周期内发表的评论总数,以及根据每一个账号在前一周期内发表的所有评论内容计算得到该账号的评论内容之间的平均编辑距离;针对任一账号,根据该账号在前一周期内发表的评论总数、以及评论内容之间的平均编辑距离判断该账号所对应的用户是否为刷评用户。
上述技术方案具有如下有益效果:通过基于Spark对机器刷评用户进行确认,使得同一账号不能通过略微修改评论内容来规避。而且通过使用Spark周期性处理评论内容,现在能够在同一时间内在所有用户范围内快速批量的寻找刷评用户,大大提高了查找刷评用户的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种基于Spark确定刷评用户的方法的流程图;
图2是本发明实施例的一种基于Spark确定刷评用户的系统的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,结合本发明的实施例,提供一种基于Spark确定刷评用户的方法,包括:
S101:计算引擎Spark周期性自数据库获取前一周期内的评论内容和发表评论的账号,将账号和评论内容形成第一弹性数据集;
S102:以账号为单位,将第一弹性数据集内的同一账号在前一周期内发表的所有评论内容进行整合,建立该账号与其发表的所有评论内容的对应关系,将每一个账号与其发表的所有评论内容形成第二弹性数据集;其中,同一账号具有相同的用户唯一标识号User Id;
S103:根据第二弹性数据集,统计每一个账号在前一周期内发表的评论总数,以及根据每一个账号在前一周期内发表的所有评论内容计算得到该账号的评论内容之间的平均编辑距离;
S104:针对任一账号,根据该账号在前一周期内发表的评论总数、以及评论内容之间的平均编辑距离判断该账号所对应的用户是否为刷评用户。
优选地,步骤101具体包括:
周期性自数据库获取前一周期内的评论内容和发表评论的账号,将获取的每一条评论内容和发表该条评论的账号形成二元组,所述二元组包括:用户唯一标识号User Id、该账号发表的当前条评论内容;并将所有二元组以列表形式进行排列形成第一弹性数据集。
优选地,步骤102具体包括:
通过groupByKey函数将第一弹性数据集内的所有二元组进行转化,将同一账号所发表的评论内容进行整合,得到以账号、以及该账号发表的所有评论内容组成的多元数组,排列所有账号对应的多元数组形成第二弹性数据集。
优选地,步骤103,具体包括:
采用输入函数将第二弹性数据集内的每一个账号的多元数组输入到map函数内,map函数根据输入的多元数组进行计算得到对应的账号在前一周期内发表的评论总数、以及评论内容之间的平均编辑距离。
优选地,步骤104具体包括:
如果该账号在前一周期内发表的评论总数大于预设数量阈值、且评论内容之间的平均编辑距离小于预设距离阈值时,则判定该账号所对应的用户为刷评用户;否则,判定该账号所对应的用户为正常用户。
如图2所示,结合本发明的实施例,提供一种基于Spark确定刷评用户的系统,包括:
数据库21,用于收集并存储评论内容和发表评论的账号;
计算引擎Spark22,用于周期性自数据库获取前一周期内的评论内容和发表评论的账号,将账号和评论内容形成第一弹性数据集;以账号为单位,将第一弹性数据集内的同一账号在前一周期内发表的所有评论内容进行整合,建立该账号与其发表的所有评论内容的对应关系,将每一个账号与其发表的所有评论内容形成第二弹性数据集;其中,同一账号具有相同的用户唯一标识号User Id;根据第二弹性数据集,统计每一个账号在前一周期内发表的评论总数,以及根据每一个账号在前一周期内发表的所有评论内容计算得到该账号的评论内容之间的平均编辑距离;针对任一账号,根据该账号在前一周期内发表的评论总数、以及评论内容之间的平均编辑距离判断该账号所对应的用户是否为刷评用户。
优选地,所述计算引擎Spark22包括:
第一数据转化单元221,用于周期性自数据库获取前一周期内的评论内容和发表评论的账号,将获取的每一条评论内容和发表该条评论的账号形成二元组,所述二元组包括:用户唯一标识号User Id、该账号发表的当前条评论内容;并将所有二元组以列表形式进行排列形成第一弹性数据集。
优选地,所述计算引擎Spark22还包括:
第二数据转化单元222,用于通过groupByKey函数将第一弹性数据集内的所有二元组进行转化,将同一账号所发表的评论内容进行整合,得到以账号、以及该账号发表的所有评论内容组成的多元数组,排列所有账号对应的多元数组形成第二弹性数据集。
优选地,所述计算引擎Spark22还包括:
平均编辑距离计算单元223,用于采用输入函数将第二弹性数据集内的每一个账号的多元数组输入到map函数内,map函数根据输入的多元数组进行计算得到对应的账号在前一周期内发表的评论总数、以及评论内容之间的平均编辑距离。
优选地,所述计算引擎Spark22还包括:
刷评用户判断单元224,用于如果该账号在前一周期内发表的评论总数大于预设数量阈值、且评论内容之间的平均编辑距离小于预设距离阈值时,则判定该账号所对应的用户为刷评用户;否则,判定该账号所对应的用户为正常用户。
本发明所取得的有益效果为:通过基于Spark对机器刷评用户进行确认,使得同一账号不能通过略微修改评论内容来规避。而且通过使用Spark周期性处理评论内容,现在能够在同一时间内在所有用户范围内快速批量的寻找刷评用户,大大提高了查找刷评用户的效率。
下面结合具体的应用实例对本发明实施例上述技术方案进行详细说明,实施过程中没有介绍到的技术细节,可以参考前文的相关描述。
本发明涉及的缩略语和关键术语定义为:
机器刷评用户:在现代的社交媒体的互联网社交平台中,用户账户是一种无形但是重要的资产。于是出现大量不法分子利用脚本批量的注册账户,或者批量的盗取正常用户的账户,这一批由不法分子控制的一部分异常账户会使用脚本来在一些内容下批量发表评论。这些评论几乎内容都一样,也对用户和平台都造成了较大的困扰。
Spark:Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎。Spark是一个通用引擎,可用它来完成各种各样的运算,包括SQL查询、文本处理、机器学习等,功能强大。
RDD:resilient distributed datase。是Spark的标准数据格式,中文叫做弹性分布式数据集。这个数据集实际上是分布在Spark集群的许多计算机上的,但是Spark可以简单统一方便的操作它们。
本发明为一种基于Spark的机器刷评用户的批量挖掘方法,通过采用数据分析和数据挖掘,把一批在不同地点登录并评论相同或相近内容账号批量找出。即:如何寻找刷的评论稍微有差异的这一类不法分子的账号,还有在同一时间内在所有用户范围内快速批量的寻找刷评用户。
Spark是专为大规模数据处理而设计的快速通用的计算引擎.如果想对一个大型互联网平台一段时间内所有的评论进行数据分析的话,Spark是必不可少的,因为总评论的数量级一般很大,通过单个机器处理非常困难。
本发明的方案为:
1.每小时执行一次:使用Spark-hive查询最近1小时hive内的所有评论内容及其账号;Spark为计算引擎,为分布式集群设置;hive是数据库。
2.在Spark中形成弹性数据集RDD1(第一弹性数据集,也是分布式布置),格式为二元组的列表[(账号Uid,评论内容C),(账号Uid,评论内容C)…],其中Uid是指用户唯一标识号User Id,C指某次发表的评论内容。
3.使用Spark的groupByKey的函数,将RDD1形成这样的数据集RDD2(第二弹性数据集,分布式布置于集群内):[(账号Uid,[C1,C2]),(账号Uid,评论内容C1,C2,C3))…],C1,C2,C3分别指各次发表的评论内容。
4.使用Spark的map函数,将RDD2形成数据集RDD3(第三弹性数据集,分布式布置于集群内):[(Uid,(N,A))],具体为:此处需要一个输入函数f:输入函数f输入RDD2中的一个Uid的评论列表,则返回该Uid在该段时间内的总评论次数N和各评论内容的简化的平均编辑距离A。其中,编辑距离为是指两个字符串(词)之间,由一个转成另一个所需要的最少编辑操作次数,允许的编辑操作包括:将一个字符替换成另一个字符(substitution,s),插入一个字符(insert,i)或者删除一个字符(delete,d)。
5.关于简化的平均编辑距离A的计算:对于RDD2中的一个Uid的评论列表[C1,C2…Cm],计算每相邻两条评论Ci到Ci+1的编辑距离,再把这些所有的编辑距离求平均得到简化的平均编辑距离A。
6.使用Spark的filter和collect函数,形成最后异常uid的列表。Filter函数需要提供一个过滤函数f(filter),如果采用f判断某账号是异常账号,则会把结果传入下一步,有后续的存库,封禁之类的操作;否则不会进入异常列表。
这里的f(Filter)判断为:如果N>预设的数量N0,且A<预设的距离A0,则返回异常账号。这一步其实是对每个账号,如果评论数大于N0,且评论之间互相都非常相似,简化的平均编辑距离小于A0则认为是异常账号。接下来,Collect的作用是收集Spark集群内符合过滤调条件(N>预设的数量N0,且A<预设的距离A0)的异常账号列表返回。
下面,举具体的实例来详述本发明的技术方案:
1.Spark输入查询条件,每小时一次查询数据库hive内的所有用户的评论,若查到的结果是这样的格式:uid,评论内容,比如:
133某明星更漂亮11
133某明星更漂亮22
133某明星更漂亮33
133某明星更漂亮44
133某明星更漂亮55
12今天买了东西
12昨日没去超市
72我觉得还行
2.将自数据库hive里查到的结果形成第一数据集RDD1:
(133,某明星更漂亮11)
(133,某明星更漂亮22)
(133,某明星更漂亮33)
(133,某明星更漂亮44)
(133,某明星更漂亮55)
(12,今天买了东西)
(12,昨日没去超市)
(72,我觉得还行)
其中,133、12、72为Uid,明星更漂亮11等文字性的为评论内容。
3.使用Spark的groupByKey之后,以Uid为单位,统计其发表的所有评论;并将所有Uid和相应的评论形成数据集RDD2:
(133,[某明星更漂亮11,某明星更漂亮22,某明星更漂亮33,某明星更漂亮44,某明星更漂亮55])
(12,(今天买了东西,昨日没去超市))
(72,(我觉得还行))
4.使用Spark的Map之后,形成第三数据集:
(133,(5,2)),Uid为133的账号,相邻评论内容之间的编剧距离为5、2;
(12,(2,6))
(72,(1,0))
针对(133,(5,2)),Uid为133的账号,共发表5条评论,评论内容之间的平均编剧距离为2;具体为:
其中字符串“某明星更漂亮11”和“某明星更漂亮22”编辑距离通过计算得到这两个字符串的编辑距离为2;133号用户一共发出了5评论,N=5,又评论的距离都为2,所以简化的平均编辑距离A=2.则这里可以得出(133,(5,2))
5.使用Spark的Filter之后得到:
[133]
具体地:这里的f取若N>N0(N0=4),A<A0(A0=3)则返回133是异常用户。这一步之后可知,这3个用户里只有133用户是异常用户。
本发明所取得的有益效果为:通过基于Spark对机器刷评用户进行确认,使得同一账号不能通过略微修改评论内容来规避。而且通过使用Spark周期性处理评论内容,现在能够在同一时间内在所有用户范围内快速批量的寻找刷评用户,大大提高了查找刷评用户的效率。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于Spark确定刷评用户的方法,其特征在于,包括:
计算引擎Spark周期性自数据库获取前一周期内的评论内容和发表评论的账号,将账号和评论内容形成第一弹性数据集;
以账号为单位,将第一弹性数据集内的同一账号在前一周期内发表的所有评论内容进行整合,建立该账号与其发表的所有评论内容的对应关系,将每一个账号与其发表的所有评论内容形成第二弹性数据集;其中,同一账号具有相同的用户唯一标识号UserId;
根据第二弹性数据集,统计每一个账号在前一周期内发表的评论总数,以及根据每一个账号在前一周期内发表的所有评论内容计算得到该账号的评论内容之间的平均编辑距离;
针对任一账号,根据该账号在前一周期内发表的评论总数、以及评论内容之间的平均编辑距离判断该账号所对应的用户是否为刷评用户。
2.根据权利要求1所述的基于Spark确定刷评用户的方法,其特征在于,所述计算引擎Spark周期性自数据库获取前一周期内的评论内容和发表评论的账号,将账号和评论内容形成第一弹性数据集,具体包括:
周期性自数据库获取前一周期内的评论内容和发表评论的账号,将获取的每一条评论内容和发表该条评论的账号形成二元组,所述二元组包括:用户唯一标识号UserId、该账号发表的当前条评论内容;并将所有二元组以列表形式进行排列形成第一弹性数据集。
3.根据权利要求2所述的基于Spark确定刷评用户的方法,其特征在于,所述以账号为单位,将第一弹性数据集内的同一账号在前一周期内发表的所有评论内容进行整合,建立该账号与其发表的所有评论内容的对应关系,将每一个账号与其发表的所有评论内容形成第二弹性数据集,具体包括:
通过groupByKey函数将第一弹性数据集内的所有二元组进行转化,将同一账号所发表的评论内容进行整合,得到以账号、以及该账号发表的所有评论内容组成的多元数组,排列所有账号对应的多元数组形成第二弹性数据集。
4.根据权利要求3所述的基于Spark确定刷评用户的方法,其特征在于,所述根据第二弹性数据集,统计每一个账号在前一周期发表的评论总数,以及根据每一个账号在前一周期内发表的所有评论内容计算得到该账号的评论内容之间的平均编辑距离,具体包括:
采用输入函数将第二弹性数据集内的每一个账号的多元数组输入到map函数内,map函数根据输入的多元数组进行计算得到对应的账号在前一周期内发表的评论总数、以及评论内容之间的平均编辑距离。
5.根据权利要求4所述的基于Spark确定刷评用户的方法,其特征在于,所述根据该账号在前一周期内发表的评论总数、以及评论内容之间的平均编辑距离判断该账号所对应的用户是否为刷评用户,具体包括:
如果该账号在前一周期内发表的评论总数大于预设数量阈值、且评论内容之间的平均编辑距离小于预设距离阈值时,则判定该账号所对应的用户为刷评用户;否则,判定该账号所对应的用户为正常用户。
6.一种基于Spark确定刷评用户的系统,其特征在于,包括:
数据库,用于收集并存储评论内容和发表评论的账号;
计算引擎Spark,用于周期性自数据库获取前一周期内的评论内容和发表评论的账号,将账号和评论内容形成第一弹性数据集;以账号为单位,将第一弹性数据集内的同一账号在前一周期内发表的所有评论内容进行整合,建立该账号与其发表的所有评论内容的对应关系,将每一个账号与其发表的所有评论内容形成第二弹性数据集;其中,同一账号具有相同的用户唯一标识号UserId;根据第二弹性数据集,统计每一个账号在前一周期内发表的评论总数,以及根据每一个账号在前一周期内发表的所有评论内容计算得到该账号的评论内容之间的平均编辑距离;针对任一账号,根据该账号在前一周期内发表的评论总数、以及评论内容之间的平均编辑距离判断该账号所对应的用户是否为刷评用户。
7.根据权利要求6所述的基于Spark确定刷评用户的系统,其特征在于,所述计算引擎Spark包括:
第一数据转化单元,用于周期性自数据库获取前一周期内的评论内容和发表评论的账号,将获取的每一条评论内容和发表该条评论的账号形成二元组,所述二元组包括:用户唯一标识号User Id、该账号发表的当前条评论内容;并将所有二元组以列表形式进行排列形成第一弹性数据集。
8.根据权利要求7所述的基于Spark确定刷评用户的系统,其特征在于,所述计算引擎Spark还包括:
第二数据转化单元,用于通过groupByKey函数将第一弹性数据集内的所有二元组进行转化,将同一账号所发表的评论内容进行整合,得到以账号、以及该账号发表的所有评论内容组成的多元数组,排列所有账号对应的多元数组形成第二弹性数据集。
9.根据权利要求8所述的基于Spark确定刷评用户的系统,其特征在于,所述计算引擎Spark还包括:
平均编辑距离计算单元,用于采用输入函数将第二弹性数据集内的每一个账号的多元数组输入到map函数内,map函数根据输入的多元数组进行计算得到对应的账号在前一周期内发表的评论总数、以及评论内容之间的平均编辑距离。
10.根据权利要求9所述的基于Spark确定刷评用户的系统,其特征在于,所述计算引擎Spark还包括:
刷评用户判断单元,用于如果该账号在前一周期内发表的评论总数大于预设数量阈值、且评论内容之间的平均编辑距离小于预设距离阈值时,则判定该账号所对应的用户为刷评用户;否则,判定该账号所对应的用户为正常用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010705134.9A CN112000711A (zh) | 2020-07-21 | 2020-07-21 | 一种基于Spark确定刷评用户的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010705134.9A CN112000711A (zh) | 2020-07-21 | 2020-07-21 | 一种基于Spark确定刷评用户的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112000711A true CN112000711A (zh) | 2020-11-27 |
Family
ID=73467060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010705134.9A Pending CN112000711A (zh) | 2020-07-21 | 2020-07-21 | 一种基于Spark确定刷评用户的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112000711A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112861128A (zh) * | 2021-01-21 | 2021-05-28 | 微梦创科网络科技(中国)有限公司 | 一种批量识别机器账号的方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015032318A1 (zh) * | 2013-09-03 | 2015-03-12 | 腾讯科技(深圳)有限公司 | 异常账号确定方法及装置 |
CN106682213A (zh) * | 2016-12-30 | 2017-05-17 | Tcl集团股份有限公司 | 基于Hadoop平台的物联网任务订制方法及系统 |
CN108009220A (zh) * | 2017-11-22 | 2018-05-08 | 中国电子科技集团公司第二十八研究所 | 一种网络热点舆情事件中检测和定位异常用户的方法 |
CN109086422A (zh) * | 2018-08-08 | 2018-12-25 | 武汉斗鱼网络科技有限公司 | 一种机器弹幕用户的识别方法、装置、服务器和存储介质 |
CN110620770A (zh) * | 2019-09-19 | 2019-12-27 | 微梦创科网络科技(中国)有限公司 | 一种分析网络黑产账号的方法及装置 |
CN110706026A (zh) * | 2019-09-25 | 2020-01-17 | 精硕科技(北京)股份有限公司 | 一种异常用户的识别方法、识别装置及可读存储介质 |
CN110876072A (zh) * | 2018-08-31 | 2020-03-10 | 武汉斗鱼网络科技有限公司 | 一种批量注册用户识别方法、存储介质、电子设备及系统 |
CN111310064A (zh) * | 2020-02-18 | 2020-06-19 | 重庆锐云科技有限公司 | 一种消除商家刷评单评论的计算方法、装置及存储介质 |
-
2020
- 2020-07-21 CN CN202010705134.9A patent/CN112000711A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015032318A1 (zh) * | 2013-09-03 | 2015-03-12 | 腾讯科技(深圳)有限公司 | 异常账号确定方法及装置 |
CN106682213A (zh) * | 2016-12-30 | 2017-05-17 | Tcl集团股份有限公司 | 基于Hadoop平台的物联网任务订制方法及系统 |
CN108009220A (zh) * | 2017-11-22 | 2018-05-08 | 中国电子科技集团公司第二十八研究所 | 一种网络热点舆情事件中检测和定位异常用户的方法 |
CN109086422A (zh) * | 2018-08-08 | 2018-12-25 | 武汉斗鱼网络科技有限公司 | 一种机器弹幕用户的识别方法、装置、服务器和存储介质 |
CN110876072A (zh) * | 2018-08-31 | 2020-03-10 | 武汉斗鱼网络科技有限公司 | 一种批量注册用户识别方法、存储介质、电子设备及系统 |
CN110620770A (zh) * | 2019-09-19 | 2019-12-27 | 微梦创科网络科技(中国)有限公司 | 一种分析网络黑产账号的方法及装置 |
CN110706026A (zh) * | 2019-09-25 | 2020-01-17 | 精硕科技(北京)股份有限公司 | 一种异常用户的识别方法、识别装置及可读存储介质 |
CN111310064A (zh) * | 2020-02-18 | 2020-06-19 | 重庆锐云科技有限公司 | 一种消除商家刷评单评论的计算方法、装置及存储介质 |
Non-Patent Citations (2)
Title |
---|
于静 等: "大规模图数据匹配技术综述", 计算机研究与发展, no. 02, pages 391 - 409 * |
张瑞 等: "一种情感分析与质量控制的异常评论识别方法", 哈尔滨工业大学学报, no. 09, pages 164 - 170 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112861128A (zh) * | 2021-01-21 | 2021-05-28 | 微梦创科网络科技(中国)有限公司 | 一种批量识别机器账号的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11372851B2 (en) | Systems and methods for rapid data analysis | |
CN107229662B (zh) | 数据清洗方法和装置 | |
KR101276602B1 (ko) | 표의문자적 내용을 가지는 데이터를 서치하고 매칭하기위한 시스템 및 방법 | |
CN113760891B (zh) | 一种数据表的生成方法、装置、设备和存储介质 | |
CN111327514B (zh) | 微信图文消息群发方法、系统、服务器及存储介质 | |
CN116561134B (zh) | 业务规则处理方法、装置、设备及存储介质 | |
CN110858219A (zh) | 物流对象信息处理方法、装置及计算机系统 | |
CN113626571A (zh) | 答句生成方法、装置、计算机设备和存储介质 | |
CN111652661A (zh) | 一种手机客户端用户流失预警处理方法 | |
CN112000711A (zh) | 一种基于Spark确定刷评用户的方法及系统 | |
CN110598126A (zh) | 基于行为习惯的跨社交网络用户身份识别方法 | |
CN112148947B (zh) | 一种批量挖掘刷评用户的方法及系统 | |
CN114706841B (zh) | 查询内容库构建方法、装置、电子设备及可读存储介质 | |
CN116303983A (zh) | 一种关键词推荐方法、装置及电子设备 | |
CN114708051A (zh) | 基于用户信息进行车辆推荐的方法和装置 | |
CN113901046A (zh) | 虚拟维度表构建方法及装置 | |
CN113420219A (zh) | 用于查询信息纠错的方法、装置、电子设备及可读存储介质 | |
CN111626887A (zh) | 一种社交关系评估方法及装置 | |
CN111476011A (zh) | 文章生成方法、装置及存储介质 | |
CN112149037B (zh) | 基于逻辑回归的实时识别异常关注的方法及系统 | |
CN107918672B (zh) | 信息处理方法、装置、计算机设备和存储介质 | |
CN118710312A (zh) | 一种对象评估方法、系统、设备及介质 | |
CN116012049A (zh) | 商品价格预测方法、装置、电子设备及存储介质 | |
CN117493684A (zh) | 房源类型标签的确定方法、装置、计算机设备及存储介质 | |
CN116501955A (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 |