CN112148947A - 一种批量挖掘刷评用户的方法及系统 - Google Patents
一种批量挖掘刷评用户的方法及系统 Download PDFInfo
- Publication number
- CN112148947A CN112148947A CN202011038235.1A CN202011038235A CN112148947A CN 112148947 A CN112148947 A CN 112148947A CN 202011038235 A CN202011038235 A CN 202011038235A CN 112148947 A CN112148947 A CN 112148947A
- Authority
- CN
- China
- Prior art keywords
- comment
- comment content
- data set
- elastic data
- contents
- 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.)
- Granted
Links
- 238000005065 mining Methods 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000002159 abnormal effect Effects 0.000 claims abstract description 41
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 22
- 238000004364 calculation method Methods 0.000 claims abstract description 14
- 230000001680 brushing effect Effects 0.000 claims description 16
- 238000012552 review Methods 0.000 claims description 16
- 238000003491 array Methods 0.000 claims description 15
- 238000001914 filtration Methods 0.000 claims description 10
- 230000010354 integration Effects 0.000 claims description 10
- 238000012905 input function Methods 0.000 claims description 5
- 238000012163 sequencing technique Methods 0.000 claims description 5
- 238000013501 data transformation Methods 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 5
- 101000932776 Homo sapiens Uncharacterized protein C1orf115 Proteins 0.000 description 3
- 102100025480 Uncharacterized protein C1orf115 Human genes 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 230000009286 beneficial effect Effects 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
- 230000003287 optical effect Effects 0.000 description 2
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000010801 machine learning 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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种批量挖掘刷评用户的方法及系统,包括:周期性获取前一周期内的各评论内容和相应的评论内容编号并形成第一弹性数据集;以第一弹性数据集内的评论内容编号作为排列基准形成第二弹性数据集;根据第二弹性数据集,计算每组排列数组中两评论内容之间的编辑距离,将各编辑距离形成第三弹性数据集;对第三弹性数据集内的各编辑距离进行聚类计算,根据各编辑距离得到以评论内容为统计标准的聚类结果;根据聚类结果判断前一周期内的各评论内容是否异常,根据前一周期内的各评论内容是否异常的判断结果挖掘刷评用户。通过聚类算法计算不同评论内容之间的编辑距离,容易的看出异常评论,使得对评论内容的鉴别的准确率更高。
Description
技术领域
本发明涉及计算机领域,具体涉及一种批量挖掘刷评用户的方法及系统。
背景技术
在现代的社交媒体的互联网社交平台中,用户账户是一种无形但是重要的资产。于是出现大量不法分子利用脚本批量的注册账户,或者批量的盗取正常用户的账户,这一批由不法分子控制的一部分异常账户会使用脚本来在一些内容下批量发表评论。这些评论几乎内容都一样,也对用户和平台都造成了较大的困扰。所以需要把这样一批在不同地点登录并评论相同或相近内容账号批量找出来。
在实现本发明过程中,申请人发现现有技术中至少存在如下问题:
在实际操作中,同一账号能通过略微修改评论内容来规避挖掘这批不良用户,但是容易漏挖或者将正常用户误认为不良用户,造成对正常用户的伤害。
发明内容
本发明实施例提供一种批量挖掘刷评用户的方法及系统,通过聚类算法计算不同评论内容之间的编辑距离,容易能够发现评论内容之间的相似和差异、容易的看出异常评论,使得对评论内容的鉴别的准确率更高,并且能找出更多的刷评论用户。
为达上述目的,一方面,本发明实施例提供一种批量挖掘刷评用户的方法,包括:
周期性自数据库获取前一周期内的各评论内容和相应的评论内容编号,将各评论内容和相应的评论内容编号形成第一弹性数据集;以第一弹性数据集内的评论内容编号作为排列基准,将评论内容编号对应的评论内容进行两两排列,形成包含两个评论内容的排列数组,将排列得到的多组排列数组形成第二弹性数据集;
根据第二弹性数据集,计算每组排列数组中两评论内容之间的编辑距离,将各编辑距离形成第三弹性数据集;
对第三弹性数据集内的各编辑距离进行聚类计算,根据各编辑距离得到以评论内容为统计标准的聚类结果;
根据聚类结果判断前一周期内的各评论内容是否异常,根据前一周期内的各评论内容是否异常的判断结果挖掘刷评用户。
另一方面,本发明实施例提供一种批量挖掘刷评用户的系统,所述系统包括:数据库和计算引擎Spark,其中,所述计算引擎Spark包括:数据获取整合单元、编辑距离计算单元、聚类单元和判断单元;
数据库,用于收集并存储评论内容和相应的评论内容编号;
数据获取整合单元,用于周期性自数据库获取前一周期内的各评论内容和相应的评论内容编号,将各评论内容和相应的评论内容编号形成第一弹性数据集;以第一弹性数据集内的评论内容编号作为排列基准,将评论内容编号对应的评论内容进行两两排列,形成包含两个评论内容的排列数组,将排列得到的多组排列数组形成第二弹性数据集;
编辑距离计算单元,用于根据第二弹性数据集,计算每组排列数组中两评论内容之间的编辑距离,将各编辑距离形成第三弹性数据集;
聚类单元,用于对第三弹性数据集内的各编辑距离进行聚类计算,根据各编辑距离得到以评论内容为统计标准的聚类结果;
判断单元,用于根据聚类结果判断前一周期内的各评论内容是否异常,根据前一周期内的各评论内容是否异常的判断结果挖掘刷评用户。
上述技术方案具有如下有益效果:通过聚类算法计算不同评论内容之间的编辑距离,容易能够发现评论内容之间的相似和差异、容易的看出异常评论,使得对评论内容的鉴别的准确率更高,并且能找出更多的刷评论用户。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种批量挖掘刷评用户的方法的流程图;
图2是本发明实施例的一种批量挖掘刷评用户的系统的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,结合本发明的实施例,提供一种批量挖掘刷评用户的方法,包括:
S101:周期性自数据库获取前一周期内的各评论内容和相应的评论内容编号,将各评论内容和相应的评论内容编号形成第一弹性数据集;以第一弹性数据集内的评论内容编号作为排列基准,将评论内容编号对应的评论内容进行两两排列,形成包含两个评论内容的排列数组,将排列得到的多组排列数组形成第二弹性数据集;
S102:根据第二弹性数据集,计算每组排列数组中两评论内容之间的编辑距离,将各编辑距离形成第三弹性数据集;
S103:对第三弹性数据集内的各编辑距离进行聚类计算,根据各编辑距离得到以评论内容为统计标准的聚类结果;
S104:根据聚类结果判断前一周期内的各评论内容是否异常,根据前一周期内的各评论内容是否异常的判断结果挖掘刷评用户。
优选地,步骤101具体包括:
S1011:周期性自数据库获取前一周期内的评论内容和相应的评论内容编号,将获取的每一条评论内容和相应的评论内容编号形成二元组,所述二元组包括:评论内容编号mid、相应的评论内容;并将所有二元组以列表形式进行排列形成第一弹性数据集。
优选地,步骤101具体包括:
S1012:对第一弹性数据集内的每两个二元组进行排列形成一组排列数组;其中,每组排列数组包括根据两个二元组得到的两个二元数组,前二元数组包括两个评论内容编号,后二元数组包括与前二元数组内的评论内容编号相对应、且顺序一致的评论内容;
S1013:将前二元数组中具有两个相同评论内容编号的排列数组过滤掉,将过滤之后剩余的排列数组进行排序形成第二弹性数据集。
优选地,步骤102具体包括:
S1021:采用输入函数将第二弹性数据集内的每组排列数组输入到mapToPair函数内,根据输入的后二元数组,mapToPair函数对后二元数组内的评论内容进行计算,得到每组排列数组中的两评论内容之间的编辑距离,形成相应的编辑距离数组,将编辑距离数组依次排序形成第三弹性数据集;其中,所述编辑距离数组包括:两个评论内容编号、两评论内容之间的编辑距离。
优选地,步骤103具体包括:
S1022:将第三弹性数据输入到预设的聚类算法内,通过聚类算法对第三弹性数据内的所有编辑距离进行计算形成多个聚簇,根据所形成的聚簇,转化为以每个评论内容为统计标准的形式,每个评论内容对应一个聚类结果,每个聚类结果包括:评论内容编号、该评论内容所属聚簇编号、所述聚簇内评论内容的平均编辑距离、所述聚簇内评论内容数量。
优选地,步骤104具体包括:
S1041:针对任一聚类结果,当聚簇内评论内容数量大于预设第一数量阈值、且该聚簇内评论内容的平均编辑距离小于预设编辑距离阈值时,则判定该聚类结果中评论内容编号所对应的评论内容异常;否则,判定该聚类结果中评论内容编号所对应的评论内容正常;
S1042:当某用户所对应的异常评论内容数量大于预设第二数量阈值时,判定该用户为刷评用户,否则为正常用户。
如图2所示,结合本发明的实施例,提供一种批量挖掘刷评用户的系统,所述系统包括:数据库和计算引擎Spark,其中,所述计算引擎Spark包括:数据获取整合单元21、编辑距离计算单元22、聚类单元23和判断单元24;
数据库,用于收集并存储评论内容和相应的评论内容编号;
数据获取整合单元21,用于周期性自数据库获取前一周期内的各评论内容和相应的评论内容编号,将各评论内容和相应的评论内容编号形成第一弹性数据集;以第一弹性数据集内的评论内容编号作为排列基准,将评论内容编号对应的评论内容进行两两排列,形成包含两个评论内容的排列数组,将排列得到的多组排列数组形成第二弹性数据集;
编辑距离计算单元22,用于根据第二弹性数据集,计算每组排列数组中两评论内容之间的编辑距离,将各编辑距离形成第三弹性数据集;
聚类单元23,用于对第三弹性数据集内的各编辑距离进行聚类计算,根据各编辑距离得到以评论内容为统计标准的聚类结果;
判断单元24,用于根据聚类结果判断前一周期内的各评论内容是否异常,根据前一周期内的各评论内容是否异常的判断结果挖掘刷评用户。
优选地,所述数据获取整合单元21包括:
第一数据转化子单元211,用于周期性自数据库获取前一周期内的评论内容和相应的评论内容编号,将获取的每一条评论内容和相应的评论内容编号形成二元组,所述二元组包括:评论内容编号mid、相应的评论内容;并将所有二元组以列表形式进行排列形成第一弹性数据集。
优选地,所述数据获取整合单元21还包括:
第二数据转化子单元212,用于对第一弹性数据集内的每两个二元组进行排列形成一组排列数组;其中,每组排列数组包括根据两个二元组得到的两个二元数组,前二元数组包括两个评论内容编号,后二元数组包括与前二元数组内的评论内容编号相对应、且顺序一致的评论内容;将前二元数组中具有两个相同评论内容编号的排列数组过滤掉,将过滤之后剩余的排列数组进行排序形成第二弹性数据集。
优选地,所述编辑距离计算单元22,具体用于:
采用输入函数将第二弹性数据集内的每组排列数组输入到mapToPair函数内,根据输入的后二元数组,mapToPair函数对后二元数组内的评论内容进行计算,得到每组排列数组中的两评论内容之间的编辑距离,形成相应的编辑距离数组,将编辑距离数组依次排序形成第三弹性数据集;其中,所述编辑距离数组包括:两个评论内容编号、两评论内容之间的编辑距离。
优选地,所述聚类单元23包括:
聚簇子单元231,用于将第三弹性数据输入到预设的聚类算法内,通过聚类算法对第三弹性数据内的所有编辑距离进行计算形成多个聚簇;
聚类结果构造子单元232,用于根据所形成的聚簇,转化为以每个评论内容为统计标准的形式,每个评论内容对应一个聚类结果,每个聚类结果包括:评论内容编号、该评论内容所属聚簇编号、所述聚簇内评论内容的平均编辑距离、所述聚簇内评论内容数量。
优选地,所述判断单元24包括:
异常评论判断子单元241,用于针对任一聚类结果,当聚簇内评论内容数量大于预设第一数量阈值、且该聚簇内评论内容的平均编辑距离小于预设编辑距离阈值时,则判定该聚类结果中评论内容编号所对应的评论内容异常;否则,判定该聚类结果中评论内容编号所对应的评论内容正常;
刷评用户判断子单元242,用于当某用户所对应的异常评论内容数量大于预设第二数量阈值时,判定该用户为刷评用户,否则为正常用户。
本发明实施例取得的有益效果为:
基于Spark和聚类算法对机器刷评用户的批量挖掘,Spark是具有大规模数据处理能力的快速通用的计算引擎,可以处理具有非常大数量级的评论内容,实现对评论内容的挖掘和分析,避免单个机器处理不过来的问题。因为普通用户的评论大都区别很大,而刷评论用户的评论的区别比较小。那么通过聚类算法计算不同评论内容之间的编辑距离,容易能够发现评论内容之间的相似和差异、容易的看出异常评论,使得对评论内容的鉴别的准确率更高,并且能找出更多的刷评论用户。
下面结合具体的应用实例对本发明实施例上述技术方案进行详细说明,实施过程中没有介绍到的技术细节,可以参考前文的相关描述。
本发明涉及的缩略语和关键术语定义如下:
机器刷评用户:在现代的社交媒体的互联网社交平台中,用户账户是一种无形但是重要的资产。于是出现大量不法分子利用脚本批量的注册账户,或者批量的盗取正常用户的账户,这一批由不法分子控制的一部分异常账户会使用脚本来在一些内容下批量发表评论。这些评论几乎内容都一样,也对用户和平台都造成了较大的困扰。
Spark:Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎。Spark是一个通用引擎,可用它来完成各种各样的运算,包括SQL查询、文本处理、机器学习等,功能强大。
聚类算法:在自然科学和社会科学中,存在着大量的分类问题。所谓类,通俗地说,就是指相似元素的集合。
本发明为一种基于Spark和聚类算法的机器刷评用户的批量挖掘流程的方法及系统,Spark是具有大规模数据处理能力的快速通用的计算引擎,所以如果想对一个大型互联网平台一段时间内所有的评论进行数据分析的话,通过spark可以处理具有非常大数量级的评论内容,实现对评论内容的挖掘和分析,避免单个机器处理不过来的问题。因为普通用户的评论大都区别很大,而刷评论用户的评论的区别比较小。那么通过聚类算法计算不同评论内容之间的编辑距离,能够发现评论内容之间的相似和差异,使得对评论内容的鉴别的准确率更高,并且能找出更多的刷评论用户。
本发明的技术方案为:
1.每小时(周期)执行一次:使用spark-hive查询最近1小时的所有评论内容及其相应的编号(评论内容编号)。
2.根据前一步骤中的获取到的所有评论内容及其相应的编号,在spark中形成第一弹性数据集RDD1,格式为二元组的列表[(评论编号mid1,相应的评论内容C1,(评论编号mid2,评论内容C2),…(评论编号midn,评论内容Cn)]。
3.使用spark的cartesian函数,将RDD1形成第二弹性数据集RDD2:
对第一弹性数据集内的每两个二元组进行排列形成一组排列数组;其中,每组排列数组包括根据两个二元组得到的两个二元数组,前二元数组包括两个评论内容编号,后二元数组包括与前二元数组内的评论内容编号相对应、且顺序一致的评论内容。RDD2的具体形式为:[[评论编号mid1,评论编号mid1],[C1,C1]],[评论编号mid1,评论编号mid2],[C1,C2]],[评论编号mid1,评论编号mid1],[C1,C3]]…[评论编号mid2,评论编号mid1],[C2,C1]]…[评论编号midn,评论编号midn],[Cn,Cn]]]。
4.使用spark的filter函数,将前二元数组中具有两个相同评论内容编号的排列数组过滤掉,将过滤之后剩余的排列数组进行排序形成第二弹性数据集,即:过滤掉两个mid一样的数据。
5.采用输入函数将第二弹性数据集内的每组排列数组输入到mapToPair函数内,使用spark的mapToPair函数,根据输入的后二元数组,mapToPair函数对后二元数组内的评论内容进行计算,得到每组排列数组中的两评论内容之间的编辑距离,形成相应的编辑距离数组,将编辑距离数组依次排序形成第三弹性数据集;其中,所述编辑距离数组包括:两个评论内容编号、两评论内容之间的编辑距离。也就是让每个[评论编号mid,评论编号mid2],[C1,C2]]这样的数据变成[(评论编号mid1,评论编号mid2),L1-2],其中,L1-2是评论内容1和评论内容2之间的编辑距离。那么在spark里就形成了第三弹性数据集RDD3,RDD3内的数据为包含两两评论内容之间的编辑距离的存在形式了:[(评论编号mid1,评论编号mid2),L1-2]。
6.使用spark的聚类算法,任意聚类算法都可以,以Kmeans为例,在Kmeans内输入上一步的RDD3,通过聚类算法Kmeans对所有第三弹性数据内的所有编辑距离进行计算形成多个聚簇,根据所形成的聚簇,转化为以每个评论内容为统计标准的形式,每个评论内容对应一个聚类结果,每个聚类结果包括:评论内容编号、该评论内容所属聚簇编号、所述聚簇内评论内容的平均编辑距离、所述聚簇内评论内容数量。返回的聚类结果:[(评论编号mid1,所属聚簇编号c1,聚簇数据个数m1,聚簇平均两两距离d1),(评论编号mid2,所属聚簇编号c2,聚簇数据个数m2,聚簇平均两两距离d2),…]。
7.使用spark的filter和collect函数,形成最后异常mid的列表。Filter函数需要提供一个f,如果f判断是异常评论内容,则会把结果传入下一步,否则不会进入异常列表。也就是针对任一聚类结果,当聚簇内评论内容数量大于预设第一数量阈值(m>m0)、且该聚簇内评论内容的平均编辑距离小于预设编辑距离阈值(d<d0)时,则判定该聚类结果中评论内容编号所对应的评论内容异常;否则,判定该聚类结果中评论内容编号所对应的评论内容正常;
当某用户所对应的异常评论内容数量大于预设第二数量阈值时,判定该用户为刷评用户,否则为正常用户。
8.接下来根据前一步骤中已知mid查用户uid,若某一用户的异常mid(也就是异常内容数量)的个数大于预设阈值A则认为该用户是异常用户(刷评用户),否则为正常用户。
具体实例如下:
1.每小时一次查询所有用户的评论,若查到的结果是这样的:格式:评论编号mid,相应的评论内容。示例如下:
133某明星更漂亮11
134某明星更漂亮22
12今天买了东西
72我觉得还行
2.形成RDD1:
(133,某明星更漂亮11)
(134,某明星更漂亮22)
(12,今天买了东西)
(72,我觉得还行)
3.使用spark的cartesian之后:
Cartesian是数据两两之间的关系,比如ABCD四个元素则会出AA,AB,AC,AD,BA,BB,BC,BD,CA,CB,CC,CD,DA,DB,DC,DD一共16个元素。
[[133,133][“某明星更漂亮11”,“某明星更漂亮11”]]
[[133,134][“某明星更漂亮11”,“某明星更漂亮22”]]
[[133,12][“某明星更漂亮11”,“今天买了东西”]]
…
4.使用spark的filter函数之后剩12元素,AA BB CC DD被过滤了
Maptopair之后形成两两之间的距离:
[[133,134],2]
[[133,12],5]
[[133,72],6]
[[134,133],2]
[[134,12],6]
[[134,72],5]
…
5.使用spark的mapToPair函数,得到每组排列数组自身的两评论内容之间的编辑距离,其中字符串编辑距离的计算:“某明星更漂亮11”与“某明星更漂亮22”这两个字符串的编辑距离为2;
聚类之后得到133,134是一个聚簇的,而12,72各为一个聚簇。
这里的经验是,普通用户的评论都是各个之间互不相似的,也就是编辑距离比较大,于是倾向于用户聚簇的点数量都很少,平均距离也特别大。而刷评论用户聚簇一般很大,而且平均距离很小。实际情况中一般有清晰的界限,能够方便的取到m0,d0和A值
本发明取得的有益效果为:
基于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 (12)
1.一种批量挖掘刷评用户的方法,其特征在于,包括:
周期性自数据库获取前一周期内的各评论内容和相应的评论内容编号,将各评论内容和相应的评论内容编号形成第一弹性数据集;以第一弹性数据集内的评论内容编号作为排列基准,将评论内容编号对应的评论内容进行两两排列,形成包含两个评论内容的排列数组,将排列得到的多组排列数组形成第二弹性数据集;
根据第二弹性数据集,计算每组排列数组中两评论内容之间的编辑距离,将各编辑距离形成第三弹性数据集;
对第三弹性数据集内的各编辑距离进行聚类计算,根据各编辑距离得到以评论内容为统计标准的聚类结果;
根据聚类结果判断前一周期内的各评论内容是否异常,根据前一周期内的各评论内容是否异常的判断结果挖掘刷评用户。
2.根据权利要求1所述的批量挖掘刷评用户的方法,其特征在于,所述周期性自数据库获取前一周期内的评论内容和相应的评论内容编号,将评论内容和相应的评论内容编号形成第一弹性数据集,具体包括:
周期性自数据库获取前一周期内的评论内容和相应的评论内容编号,将获取的每一条评论内容和相应的评论内容编号形成二元组,所述二元组包括:评论内容编号mid、相应的评论内容;并将所有二元组以列表形式进行排列形成第一弹性数据集。
3.根据权利要求2所述的批量挖掘刷评用户的方法,其特征在于,所述以第一弹性数据集内的评论内容编号作为排列基准,将评论内容编号对应的评论内容进行两两排列,形成包含两个评论内容的排列数组,将排列得到的多组排列数组形成第二弹性数据集,具体包括:
对第一弹性数据集内的每两个二元组进行排列形成一组排列数组;其中,每组排列数组包括根据两个二元组得到的两个二元数组,前二元数组包括两个评论内容编号,后二元数组包括与前二元数组内的评论内容编号相对应、且顺序一致的评论内容;
将前二元数组中具有两个相同评论内容编号的排列数组过滤掉,将过滤之后剩余的排列数组进行排序形成第二弹性数据集。
4.根据权利要求3所述的批量挖掘刷评用户的方法,其特征在于,所述根据第二弹性数据集,计算每组排列数组中两评论内容之间的编辑距离,将各编辑距离形成第三弹性数据集,具体包括:
采用输入函数将第二弹性数据集内的每组排列数组输入到mapToPair函数内,根据输入的后二元数组,mapToPair函数对后二元数组内的评论内容进行计算,得到每组排列数组中的两评论内容之间的编辑距离,形成相应的编辑距离数组,将编辑距离数组依次排序形成第三弹性数据集;其中,所述编辑距离数组包括:两个评论内容编号、两评论内容之间的编辑距离。
5.根据权利要求4所述的批量挖掘刷评用户的方法,其特征在于,所述对第三弹性数据集内的各编辑距离进行聚类计算,根据各编辑距离得到以评论内容为统计标准的聚类结果,具体包括:
将第三弹性数据输入到预设的聚类算法内,通过聚类算法对第三弹性数据内的所有编辑距离进行计算形成多个聚簇,根据所形成的聚簇,转化为以每个评论内容为统计标准的形式,每个评论内容对应一个聚类结果,每个聚类结果包括:评论内容编号、该评论内容所属聚簇编号、所述聚簇内评论内容的平均编辑距离、所述聚簇内评论内容数量。
6.根据权利要求5所述的批量挖掘刷评用户的方法,其特征在于,根据聚类结果判断前一周期内的评论内容是否异常,根据前一周期内的各评论内容是否异常的判断结果挖掘刷评用户,具体包括:
针对任一聚类结果,当聚簇内评论内容数量大于预设第一数量阈值、且该聚簇内评论内容的平均编辑距离小于预设编辑距离阈值时,则判定该聚类结果中评论内容编号所对应的评论内容异常;否则,判定该聚类结果中评论内容编号所对应的评论内容正常;
当某用户所对应的异常评论内容数量大于预设第二数量阈值时,判定该用户为刷评用户,否则为正常用户。
7.一种批量挖掘刷评用户的系统,其特征在于,所述系统包括:数据库和计算引擎Spark,其中,所述计算引擎Spark包括:数据获取整合单元、编辑距离计算单元、聚类单元和判断单元;
数据库,用于收集并存储评论内容和相应的评论内容编号;
数据获取整合单元,用于周期性自数据库获取前一周期内的各评论内容和相应的评论内容编号,将各评论内容和相应的评论内容编号形成第一弹性数据集;以第一弹性数据集内的评论内容编号作为排列基准,将评论内容编号对应的评论内容进行两两排列,形成包含两个评论内容的排列数组,将排列得到的多组排列数组形成第二弹性数据集;
编辑距离计算单元,用于根据第二弹性数据集,计算每组排列数组中两评论内容之间的编辑距离,将各编辑距离形成第三弹性数据集;
聚类单元,用于对第三弹性数据集内的各编辑距离进行聚类计算,根据各编辑距离得到以评论内容为统计标准的聚类结果;
判断单元,用于根据聚类结果判断前一周期内的各评论内容是否异常,根据前一周期内的各评论内容是否异常的判断结果挖掘刷评用户。
8.根据权利要求7所述的批量挖掘刷评用户的系统,其特征在于,所述数据获取整合单元包括:
第一数据转化子单元,用于周期性自数据库获取前一周期内的评论内容和相应的评论内容编号,将获取的每一条评论内容和相应的评论内容编号形成二元组,所述二元组包括:评论内容编号mid、相应的评论内容;并将所有二元组以列表形式进行排列形成第一弹性数据集。
9.根据权利要求8所述的批量挖掘刷评用户的系统,其特征在于,所述数据获取整合单元还包括:
第二数据转化子单元,用于对第一弹性数据集内的每两个二元组进行排列形成一组排列数组;其中,每组排列数组包括根据两个二元组得到的两个二元数组,前二元数组包括两个评论内容编号,后二元数组包括与前二元数组内的评论内容编号相对应、且顺序一致的评论内容;将前二元数组中具有两个相同评论内容编号的排列数组过滤掉,将过滤之后剩余的排列数组进行排序形成第二弹性数据集。
10.根据权利要求9所述的批量挖掘刷评用户的系统,其特征在于,所述编辑距离计算单元,具体用于:
采用输入函数将第二弹性数据集内的每组排列数组输入到mapToPair函数内,根据输入的后二元数组,mapToPair函数对后二元数组内的评论内容进行计算,得到每组排列数组中的两评论内容之间的编辑距离,形成相应的编辑距离数组,将编辑距离数组依次排序形成第三弹性数据集;其中,所述编辑距离数组包括:两个评论内容编号、两评论内容之间的编辑距离。
11.根据权利要求10所述的批量挖掘刷评用户的系统,其特征在于,所述聚类单元包括:
聚簇子单元,用于将第三弹性数据输入到预设的聚类算法内,通过聚类算法对第三弹性数据内的所有编辑距离进行计算形成多个聚簇;
聚类结果构造子单元,用于根据所形成的聚簇,转化为以每个评论内容为统计标准的形式,每个评论内容对应一个聚类结果,每个聚类结果包括:评论内容编号、该评论内容所属聚簇编号、所述聚簇内评论内容的平均编辑距离、所述聚簇内评论内容数量。
12.根据权利要求11所述的批量挖掘刷评用户的系统,其特征在于,所述判断单元包括:
异常评论判断子单元,用于针对任一聚类结果,当聚簇内评论内容数量大于预设第一数量阈值、且该聚簇内评论内容的平均编辑距离小于预设编辑距离阈值时,则判定该聚类结果中评论内容编号所对应的评论内容异常;否则,判定该聚类结果中评论内容编号所对应的评论内容正常;
刷评用户判断子单元,用于当某用户所对应的异常评论内容数量大于预设第二数量阈值时,判定该用户为刷评用户,否则为正常用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011038235.1A CN112148947B (zh) | 2020-09-28 | 2020-09-28 | 一种批量挖掘刷评用户的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011038235.1A CN112148947B (zh) | 2020-09-28 | 2020-09-28 | 一种批量挖掘刷评用户的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112148947A true CN112148947A (zh) | 2020-12-29 |
CN112148947B CN112148947B (zh) | 2024-03-22 |
Family
ID=73895549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011038235.1A Active CN112148947B (zh) | 2020-09-28 | 2020-09-28 | 一种批量挖掘刷评用户的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112148947B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112861128A (zh) * | 2021-01-21 | 2021-05-28 | 微梦创科网络科技(中国)有限公司 | 一种批量识别机器账号的方法及系统 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002080649A2 (en) * | 2001-04-09 | 2002-10-17 | Mds Proteomics, Inc. | Methods and systems for searching genomic databases |
US20100306808A1 (en) * | 2009-05-29 | 2010-12-02 | Zeev Neumeier | Methods for identifying video segments and displaying contextually targeted content on a connected television |
CN102622405A (zh) * | 2012-01-16 | 2012-08-01 | 北京工业大学 | 基于语言实义单元数估计的短文本间文本距离的计算方法 |
CN103995859A (zh) * | 2014-05-15 | 2014-08-20 | 北京航空航天大学 | 一种应用于lbsn网络的基于地理标签的热点区域事件探测系统 |
CN104778209A (zh) * | 2015-03-13 | 2015-07-15 | 国家计算机网络与信息安全管理中心 | 一种针对千万级规模新闻评论的观点挖掘方法 |
CN106970938A (zh) * | 2017-02-13 | 2017-07-21 | 上海大学 | 面向聚焦的Web网页获取和信息抽取方法 |
CN107506480A (zh) * | 2017-09-13 | 2017-12-22 | 浙江工业大学 | 一种基于评论挖掘与密度聚类的双层图结构推荐方法 |
CN107679069A (zh) * | 2017-08-18 | 2018-02-09 | 国家计算机网络与信息安全管理中心 | 基于新闻数据及相关评论信息的一种特定群体发现方法 |
CN108052543A (zh) * | 2017-11-23 | 2018-05-18 | 北京工业大学 | 一种基于图分析聚类的微博相似账号检测方法 |
CN108062304A (zh) * | 2017-12-19 | 2018-05-22 | 北京工业大学 | 一种基于机器学习的商品评论数据的情感分析方法 |
CN108596737A (zh) * | 2018-05-07 | 2018-09-28 | 山东师范大学 | 基于电子商务评论数据的非聚类中心节点分配方法及装置 |
CN108647297A (zh) * | 2018-05-08 | 2018-10-12 | 山东师范大学 | 一种共享近邻优化的密度峰值聚类中心选取方法和系统 |
CN109461037A (zh) * | 2018-12-17 | 2019-03-12 | 北京百度网讯科技有限公司 | 评论观点聚类方法、装置和终端 |
CN109597924A (zh) * | 2018-09-14 | 2019-04-09 | 湖北大学 | 一种基于人工免疫网络的微博社交圈挖掘方法及系统 |
CN110070410A (zh) * | 2019-03-07 | 2019-07-30 | 特斯联(北京)科技有限公司 | 一种基于大数据的人口社交分析方法及系统 |
CN110490667A (zh) * | 2019-08-26 | 2019-11-22 | 联想(北京)有限公司 | 一种数据处理方法、装置及电子设备 |
CN110706026A (zh) * | 2019-09-25 | 2020-01-17 | 精硕科技(北京)股份有限公司 | 一种异常用户的识别方法、识别装置及可读存储介质 |
-
2020
- 2020-09-28 CN CN202011038235.1A patent/CN112148947B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002080649A2 (en) * | 2001-04-09 | 2002-10-17 | Mds Proteomics, Inc. | Methods and systems for searching genomic databases |
US20100306808A1 (en) * | 2009-05-29 | 2010-12-02 | Zeev Neumeier | Methods for identifying video segments and displaying contextually targeted content on a connected television |
CN102622405A (zh) * | 2012-01-16 | 2012-08-01 | 北京工业大学 | 基于语言实义单元数估计的短文本间文本距离的计算方法 |
CN103995859A (zh) * | 2014-05-15 | 2014-08-20 | 北京航空航天大学 | 一种应用于lbsn网络的基于地理标签的热点区域事件探测系统 |
CN104778209A (zh) * | 2015-03-13 | 2015-07-15 | 国家计算机网络与信息安全管理中心 | 一种针对千万级规模新闻评论的观点挖掘方法 |
CN106970938A (zh) * | 2017-02-13 | 2017-07-21 | 上海大学 | 面向聚焦的Web网页获取和信息抽取方法 |
CN107679069A (zh) * | 2017-08-18 | 2018-02-09 | 国家计算机网络与信息安全管理中心 | 基于新闻数据及相关评论信息的一种特定群体发现方法 |
CN107506480A (zh) * | 2017-09-13 | 2017-12-22 | 浙江工业大学 | 一种基于评论挖掘与密度聚类的双层图结构推荐方法 |
CN108052543A (zh) * | 2017-11-23 | 2018-05-18 | 北京工业大学 | 一种基于图分析聚类的微博相似账号检测方法 |
CN108062304A (zh) * | 2017-12-19 | 2018-05-22 | 北京工业大学 | 一种基于机器学习的商品评论数据的情感分析方法 |
CN108596737A (zh) * | 2018-05-07 | 2018-09-28 | 山东师范大学 | 基于电子商务评论数据的非聚类中心节点分配方法及装置 |
CN108647297A (zh) * | 2018-05-08 | 2018-10-12 | 山东师范大学 | 一种共享近邻优化的密度峰值聚类中心选取方法和系统 |
CN109597924A (zh) * | 2018-09-14 | 2019-04-09 | 湖北大学 | 一种基于人工免疫网络的微博社交圈挖掘方法及系统 |
CN109461037A (zh) * | 2018-12-17 | 2019-03-12 | 北京百度网讯科技有限公司 | 评论观点聚类方法、装置和终端 |
CN110070410A (zh) * | 2019-03-07 | 2019-07-30 | 特斯联(北京)科技有限公司 | 一种基于大数据的人口社交分析方法及系统 |
CN110490667A (zh) * | 2019-08-26 | 2019-11-22 | 联想(北京)有限公司 | 一种数据处理方法、装置及电子设备 |
CN110706026A (zh) * | 2019-09-25 | 2020-01-17 | 精硕科技(北京)股份有限公司 | 一种异常用户的识别方法、识别装置及可读存储介质 |
Non-Patent Citations (2)
Title |
---|
杨帅等: "基于堆栈降噪自编码器改进的混合推荐算法", 《计算机应用》, 27 March 2018 (2018-03-27), pages 1866 - 1871 * |
陈燕方: "基于DDAG-SVM的在线商品评论可信度分类模型", 《情报理论与实践 》, 11 July 2017 (2017-07-11), pages 132 - 137 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112861128A (zh) * | 2021-01-21 | 2021-05-28 | 微梦创科网络科技(中国)有限公司 | 一种批量识别机器账号的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112148947B (zh) | 2024-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108108426A (zh) | 自然语言提问的理解方法、装置及电子设备 | |
CN113760891B (zh) | 一种数据表的生成方法、装置、设备和存储介质 | |
JP2007506191A5 (zh) | ||
WO2018218788A1 (zh) | 一种基于全局种子打分优选的三代测序序列比对方法 | |
CN105005600A (zh) | 一种访问日志中url的预处理方法 | |
CN107301210A (zh) | 一种数据处理方法 | |
CN107729375B (zh) | 一种日志数据排序的方法及装置 | |
CN103714086A (zh) | 用于生成非关系数据库的模式的方法和设备 | |
CN111143359A (zh) | 查询语句生成方法及装置 | |
CN111930615A (zh) | 代码质量评估方法及装置 | |
CN110858219A (zh) | 物流对象信息处理方法、装置及计算机系统 | |
CN111506595B (zh) | 一种数据查询方法、系统及相关设备 | |
CN112148947A (zh) | 一种批量挖掘刷评用户的方法及系统 | |
CN111126629B (zh) | 模型的生成方法、刷单行为识别方法、系统、设备和介质 | |
CN115357625A (zh) | 结构化数据比对方法、装置、电子设备及存储介质 | |
CN115952800A (zh) | 命名实体识别方法、装置、计算机设备及可读存储介质 | |
CN100357952C (zh) | 一种二进制数据的访问方法 | |
CN113190623A (zh) | 数据处理方法、装置、服务器和存储介质 | |
CN117454188A (zh) | 基于标准数据元的多策略数据治理规则适配方法及系统 | |
CN111611267A (zh) | 一种将数据库数据转换为json对象配置可视化图表的方法 | |
CN112000711A (zh) | 一种基于Spark确定刷评用户的方法及系统 | |
CN103034719B (zh) | Cpu型号识别方法、设备及硬件检测系统 | |
CN114266243A (zh) | 一种基于词频的专利信息处理服务系统及其服务方法 | |
CN113094424A (zh) | 通过构建多级指标体系进行图表模式识别的方法和系统 | |
CN103838765B (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 |