CN111400617A - 基于主动学习的社交机器人检测数据集扩展方法及系统 - Google Patents
基于主动学习的社交机器人检测数据集扩展方法及系统 Download PDFInfo
- Publication number
- CN111400617A CN111400617A CN202010488609.3A CN202010488609A CN111400617A CN 111400617 A CN111400617 A CN 111400617A CN 202010488609 A CN202010488609 A CN 202010488609A CN 111400617 A CN111400617 A CN 111400617A
- Authority
- CN
- China
- Prior art keywords
- data
- data set
- user
- microblog
- social
- 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
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000001514 detection method Methods 0.000 title claims abstract description 36
- 238000002372 labelling Methods 0.000 claims abstract description 33
- 238000012549 training Methods 0.000 claims description 25
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 230000009193 crawling Effects 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 11
- 238000005070 sampling Methods 0.000 claims description 9
- 238000012163 sequencing technique Methods 0.000 claims description 7
- 238000004140 cleaning Methods 0.000 claims description 6
- 238000003066 decision tree Methods 0.000 claims description 6
- 238000012216 screening Methods 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 5
- 238000013480 data collection Methods 0.000 claims description 4
- 238000011156 evaluation Methods 0.000 claims description 4
- 238000005457 optimization Methods 0.000 claims description 3
- 238000011160 research Methods 0.000 abstract description 13
- 244000097202 Rathbunia alamosensis Species 0.000 description 17
- 235000009776 Rathbunia alamosensis Nutrition 0.000 description 17
- 238000011161 development Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000007637 random forest analysis Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000008595 infiltration Effects 0.000 description 1
- 238000001764 infiltration Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 239000000843 powder Substances 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000005406 washing 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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于主动学习的社交机器人检测数据集扩展方法及系统,该拓展方法包括采集微博用户数据,提取部分数据样本进行人工标注,构建初始标记数据集,采用主动学习方法训练分类器后对剩余未标记数据集进行标注,根据标记结果扩展数据集。本发明解决了微博中的社交机器人检测研究中缺乏可靠的大样本数据集的问题,实现了全自动化的数据标注与分类,极大程度上减少了不必要的人力资源的消耗,很大程度上提高了数据标注的效率。
Description
技术领域
本发明涉及微博数据集采集技术领域,具体涉及一种基于主动学习的社交机器人检测数据集扩展方法及系统。
背景技术
近年来,互联网技术的快速发展加速了在线社交网络(Online Social Networks,OSNs)的广泛普及。在线社交网络是一种被人们广泛应用的互联媒体,它作为当代社会中人们交流传播信息过程中的媒介,产生的影响已经深入人们日常生活的方方面面。通过注册账号,并提供相应的个人信息,使用者能够便捷且快速地获取实时资讯,与家人、朋友随时随地进行互动。在线社交网络,已经成为当代社会中信息传递的重要载体。
随着在线社交网络的不断发展,在线社交网络中出现了一类特殊的用户群体——社交机器人,即一类由程序控制的账户。起初,这些社交机器人是被设计为用于服务人类、提高人类生活质量的。然而,随着社交机器人技术的不断发展,逐渐兴起的恶意社交机器人对在线社交网络平台造成了极大的消极影响。恶意社交机器人是由程序控制、人为操控并用于实现涨粉、刷赞,恶意评论与转发等目的一些账户。
随着恶意社交机器人的不断泛滥,其行为已经对社会经济发展乃至国家和平稳定构成了巨大的危害,包括操纵和引导网络舆论、恶意评论和诋毁他人、开展意识形态渗透等。随着新浪微博的不断发展,它也成为了恶意社交机器人最为活跃的在线社交网络平台之一。
目前针对社交机器人检测技术的研究主要围绕机器学习、深度学习以及图论等方法展开。无论是基于机器学习、深度学习或者图论的社交机器人检测的研究,都需要大量的带有正常用户以及社交机器人标记的数据集的支撑。然而,由于现目前已有的针对新浪微博中的社交机器人检测的研究普遍缺乏可靠的带有标签的数据集,使其成为了限制社交机器人检测技术发展的重大瓶颈。
然而构建大规模的带有正常用户以及社交机器人标记的数据集目前面临着获取难度大、标记成本高等问题。
发明内容
针对现有微博数据集采集技术在全面性、规模等方面存在的局限性,为了获得大规模的微博用户数据集,本发明提出了一种基于主动学习的社交机器人检测数据集扩展方法及系统,实现高效地获得包含大量带标签的正常用户与社交机器人的数据集,解决了微博中的社交机器人检测缺乏可靠的大样本数据集的问题。
为了达到上述发明目的,本发明采用的技术方案为:
一种基于主动学习的社交机器人检测数据集扩展方法,包括以下步骤:
S1、分别采集微博中的潜在正常用户数据和潜在社交机器人数据,并加入到用户池中保存;
S2、提取用户池中保存的设定数量潜在正常用户和潜在社交机器人进行人工标注,构建初始标记数据集;
S3、采用主动学习方法,利用初始标记数据集和查询策略筛选的优化标记数据集优化训练分类器后对剩余未标记数据集进行标注,根据标记结果扩展数据集。
进一步地,所述步骤S1中采集微博中的数据的方法为:
提取Proxy IP Pool中存储的有效代理IP地址,将每一个向微博发起的HTTP请求添加代理;
利用网络爬虫通过多并发采集线程对目标站点进行并发爬取,采集目标站点URL;
对网络爬虫爬取的数据进行清洗;
对清洗后的数据进行结构化的存储。
进一步地,所述步骤S1中分别采集微博中的潜在正常用户数据和潜在社交机器人数据具体为:
将微博中同城推荐的用户作为潜在正常用户,对其数据进行采集;
首先选取预设数量的粉丝与关注列表中包含高于设定数量社交机器人的用户作为种子用户,然后爬取种子用户的粉丝列表与关注列表中的用户的数据,作为潜在的社交机器人数据。
进一步地,所述步骤S2中进行人工标注的评判标准为:
判断微博中的用户信息完整性、用户社交关系合理性、用户互动情况、用户博文的原创性、发布微博时间是否规律、发布原创微博博文的质量中是否存在任一条件不满足设定要求,若是则将该用户标注为社交机器人,否则标注为正常用户。
进一步地,所述步骤S3具体包括以下分步骤:
S31、利用决策树模型构建分类器,对步骤S2构建的初始标记数据集进行训练,得到初始分类器;
S32、采用基于熵的不确定性抽样算法作为查询策略,从用户池中筛选熵值最大的若干个未标记数据样本进行人工标注,构建优化标记数据集;
S33、利用步骤S31得到的初始分类器对步骤S32构建的优化标记数据集进行训练,得到优化分类器;
S34、利用步骤S33得到的优化分类器对用户池中剩余的未标记数据集进行标注,根据标记结果扩展数据集。
进一步地,所述步骤S32具体包括以下分步骤:
S321、提取用户池中的未标记数据样本的特征;
S322、利用初始分类器对用户池中所有未标记数据样本进行预测,得到未标记数据样本为社交机器人的概率值;
S323、根据步骤S322得到的概率值计算所有未标记数据样本的熵值;
S324、对步骤S323得到的所有未标记数据样本的熵值进行排序,选取熵值最大的前设定数量的未标记数据样本进行人工标注,构建优化标记数据集。
基于上述数据集扩展方法,本发明还提出了一种基于主动学习的社交机器人检测数据集扩展系统,包括:
数据采集模块,用于分别采集微博中的潜在正常用户数据和潜在社交机器人数据,并加入到用户池中保存;
数据标注模块,用于提取用户池中保存的部分潜在正常用户和潜在社交机器人进行人工标注,构建初始标记数据集;
主动学习扩展数据集模块,用于采用主动学习方法,利用初始标记数据集和查询策略筛选的优化标记数据集优化训练分类器后对剩余未标记数据集进行标注,根据标记结果扩展数据集。
进一步地,所述数据采集模块具体包括代理中间件子模块、下载器子模块、页面解析器子模块以及数据库子模块;
所述代理中间件子模块用于提取Proxy IP Pool中存储的有效代理IP地址,将每一个向微博发起的HTTP请求添加代理;
所述下载器子模块用于利用网络爬虫通过多并发采集线程对目标站点进行并发爬取,采集目标站点URL;
所述页面解析器子模块用于对网络爬虫爬取的数据进行清洗;
所述数据库子模块用于对清洗后的数据进行结构化的存储。
进一步地,所述主动学习扩展数据集模块具体用于:
利用决策树模型构建分类器,对数据标注模块构建的初始标记数据集进行训练,得到初始分类器;
采用基于熵的不确定性抽样算法作为查询策略,从用户池中筛选熵值最大的若干个未标记数据样本进行人工标注,构建优化标记数据集;
利用初始分类器对构建的优化标记数据集进行训练,得到优化分类器;
利用优化分类器对用户池中剩余的未标记数据集进行标注,根据标记结果扩展数据集。
进一步地,所述主动学习扩展数据集模块采用基于熵的不确定性抽样算法作为查询策略,从用户池中筛选熵值最大的若干个未标记数据样本进行人工标注具体包括:
提取用户池中的未标记数据样本的特征;
利用初始分类器对用户池中所有未标记数据样本进行预测,得到未标记数据样本为社交机器人的概率值;
根据得到的概率值计算所有未标记数据样本的熵值;
对得到的所有未标记数据样本的熵值进行排序,选取熵值最大的前设定数量的未标记数据样本进行人工标注。
本发明具有以下有益效果:
本发明通过网络爬虫获取海量的微博用户数据,然后对其中的少部分用户进行人工标记,构建初始的包含正常用户与社交机器人的数据集,最后利用主动学习方法对基于原始小样本数据集进行数据集扩展,高效地获得了包含大量带标签的正常用户与社交机器人的数据集,解决了微博中的社交机器人检测研究中缺乏可靠的大样本数据集的问题,实现了全自动化的数据标注与分类,极大程度上减少了不必要的人力资源的消耗,很大程度上提高了数据标注的效率。
附图说明
图1为本发明基于主动学习的社交机器人检测数据集扩展方法流程图;
图2为本发明中数据集扩展过程示意图;
图3为本发明中两个数据集下不同模型的准确率对比示意图;
图4为本发明中基于主动学习的社交机器人检测数据集扩展系统示意图;
图5为本发明中数据采集模块结构示意图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
本发明实施例提供了一种基于主动学习的社交机器人检测数据集扩展方法,通过网络爬虫获取海量的微博用户数据,然后对其中的少部分用户进行人工标记,构建初始的包含正常用户与社交机器人的数据集。最后,在此基础上,利用了主动学习的方法对基于原始小样本数据集进行数据集扩展,高效地获得了包含大量带标签的正常用户与社交机器人的数据集,解决了微博中的社交机器人检测研究中缺乏可靠的大样本数据集的问题。
如图1所示,本发明的基于主动学习的社交机器人检测数据集扩展方法包括以下步骤S1至S3:
S1、分别采集微博中的潜在正常用户数据和潜在社交机器人数据,并加入到用户池中保存;
在本实施例中,由于目前关于新浪微博中的社交机器人检测的相关研究工作较少,且缺少可靠的新浪微博社交机器人与正常用户数据集。因此,为广泛获取全面的微博用户数据,本发明通过使用开源的爬虫框架——Scrapy,构建相应爬虫程序,实现了对新浪微博中公开的用户数据的采集。
本发明基于Scrapy框架,构建一个多线程的新浪微博爬虫,同时使用MySQL数据库,将采集到的用户数据进行存储。Scrapy框架是一个由纯Python语言实现的为爬取目标网站中的结构性数据而编写的开源异步非阻塞爬虫框架。通过使用Scrapy框架,本发明针对新浪微博的数据结构,实现了一个高性能、多并发的网络爬虫,完成了对新浪微博的用户数据的高效爬取。
本发明采集新浪微博中的数据的方法为:
提取Proxy IP Pool中存储的有效代理IP地址,将每一个向新浪微博发起的HTTP请求添加代理,规避新浪微博的反爬虫策略并提高爬虫的数据采集速率和稳定性;
利用网络爬虫通过多并发采集线程对目标站点进行并发爬取,采集目标站点URL;该过程通过接收程序初始化运行时用户传递的参数,生成目标URL,再将目标站点URL以优先队列的形式存储,同时对队列中的URL进行去重处理,从而以多线程的形式实现对目标站点进行并发爬取;
对网络爬虫爬取的数据进行清洗,处理用户信息与博文;
使用MySQL数据库对清洗后的数据进行结构化的存储。
当下广泛流行的在线社交网络(OSNs)通常都同时支持用户通过个人主机或者移动设备访问。对于新浪微博而言,用户同样可以通过电脑端(weibo.com)或者移动端(m.weibo.cn)访问。本发明通过分析新浪微博电脑端与移动端数据采集的难易程度与采集数据完整性,选择新浪微博移动端进行数据采集。并且,本发明通过对新浪微博移动端的网页结构分析后发现,新浪微博使用Ajax技术来加载用户数据。本发明通过分析新浪微博移动端的数据请求方式,获取新浪微博的数据请求API,并通过该API进行数据采集。
本发明首先分析微博中的正常用户与社交机器人用户的分布规律,然后根据分析的结果,建立一个用户池,用于保存爬取到的潜在正常用户与潜在社交机器人的数据。
本发明采集新浪微博中的潜在正常用户数据具体为:
利用新浪微博的同城功能进行潜在正常用户的数据采集。新浪微博的同城功能能为用户推送同一个城市中较活跃的用户,这些用户是新浪微博通过其掌握的后台数据,筛选出的发布原创博文较多且与其他用户互动较为频繁的活跃用户。由新浪微博筛选出的这一部分活跃用户中,社交机器人的数量较少。因此本发明将这些用户视为潜在的正常用户,对其数据进行采集,并加入到用户池中。
本发明采集新浪微博中的潜在社交机器人数据具体为:
首先根据新浪微博中的社交机器人分布规律,人工选取预设数量的粉丝与关注列表中包含较多社交机器人的用户作为种子用户,然后爬取种子用户的粉丝列表与关注列表中的用户的数据,作为潜在的社交机器人加入到用户池中。
S2、提取用户池中保存的设定数量潜在正常用户和潜在社交机器人进行人工标注,构建初始标记数据集;
在本实施例中,本发明通过对新浪微博中正常用户与社交机器人进行分析,并结合对Twitter等其他社交平台中社交机器人的研究,结合正常用户与社交机器人的异同点,提出了区分社交机器人与正常用户的人工评判标准;并根据提出的人工评判标准,提取部分保存在用户池中的潜在正常用户与潜在社交机器人数据样本进行人工标注,构建包含正常用户与社交机器人的人工标记数据集。
本发明进行人工标注的评判标准具体包括:
a) 用户信息完整性:新浪微博中正常用户通常会修改账户资料,用户信息较为完整,而社交机器人用户信息缺失较多;
b) 用户社交关系合理性:由于社交机器人会被广泛地应用于为他人增加粉丝数量的行为,所以造成其关注用户的数量远超正常用户,使得其社交关系相对正常用户较不合理;
c) 用户互动情况:正常用户发布的博文的点赞、评论、转发数较多,而社交机器人的较少;
d) 用户博文的原创性:在微博社交平台中,社交机器人时常被用于恶意大量转发他人发布的博文来达到引导舆论变化的目的,因此通常社交机器人中的转发博文数量占总的微博博文的数量的比例远大于正常用户;
e) 发布微博时间是否规律:为达到短时间内引导舆论变化的目的,社交机器人会在极短时间大量转发他人的微博,而正常用户却不会;
f) 发布原创微博博文的质量:正常用户发布的博文逻辑性较强,语义表达较为完整,而社交机器人发布的博文存在着较多的标点符号混乱,语义不通,上下文逻辑混乱等特点。
本发明通过判断新浪微博中的用户信息完整性、用户社交关系合理性、用户互动情况、用户博文的原创性、发布微博时间是否规律、发布原创微博博文的质量中是否存在任一条件不满足设定要求,若是则将该用户标注为社交机器人,否则标注为正常用户。
根据上述社交机器人判别标准,本发明提取用户池中部分潜在正常用户与潜在社交机器人数据样本进行人工标注;完成标注后,提取特征并构建数据集,形成了包含正常用户与社交机器人的标记数据集。
S3、采用主动学习方法,利用初始标记数据集和查询策略筛选的优化标记数据集优化训练分类器后对剩余未标记数据集进行标注,根据标记结果扩展数据集。
在本实施例中,由于在使用机器学习或深度学习的方法时,为了使模型达到更好的性能,往往需要大量的数据。但由于有效数据获取的难度较大,标记数据的代价过高等原因,难以获取大量的训练样本。因此,本发明选择通过主动学习扩展数据集的方法,基于前期人工标注的数据集进行数据集扩展。
本发明通过使用主动学习的方法,利用随机森林模型构建分类器,采用基于池的熵相关的不确定性算法作为查询策略,首先通过初始数据集训练初始分类器,再根据该模型与选定的查询策略,从用户池中提取一批最具价值的未标记数据样本交由人工标注后加入到训练集中,反复迭代训练,最终获得了一个用于数据标注的优化分类器,最后利用优化分类器对用户池中剩余没有标记的用户进行标注,最终获得了包含正常用户与社交机器人的大规模数据集。
如图2所示,上述步骤S3具体包括以下分步骤:
S31、利用决策树模型构建分类器,对步骤S2构建的初始标记数据集进行训练,得到初始分类器;
本发明选取步骤S2构建的初始标记数据集作为已标记数据,同时提取用户池中剩余的所有未标记用户作为未标记数据,并设置了迭代训练模型的停止条件为连续迭代5次训练后模型的准确率都没有增长;
S32、采用基于熵的不确定性抽样算法作为查询策略,从用户池中筛选熵值最大的若干个未标记数据样本进行人工标注,并将人工标注后的数据样本加入到初始标记数据集中,构建优化标记数据集,具体包括以下分步骤:
S321、提取用户池中的未标记数据样本的特征;
S322、利用初始分类器对用户池中所有未标记数据样本中的用户数据X={x 1,x 2,...,x n }进行预测分类,其中x i (i∈{i|1≤i≤n})为一条用户数据,得到未标记数据样本为社交机器人的概率值P(y 1|x i );
S323、根据步骤S322得到的概率值P(y 1|x i )计算未标记数据样本为正常用户的概率值P(y 0|x i )=1- P(y 1|x i ),再计算所有未标记数据样本的熵值;其中未标记数据样本的熵值计算方法为:
其中,e i 为第i个未标记数据样本的熵值,P(y 0|x i )为未标记数据样本为正常用户的概率,P(y 1|x i )表示未标记数据样本为社交机器人的概率;
S324、对步骤S323得到的所有未标记数据样本的熵值进行排序,得到所有用户的交叉熵从大到小排序的序列E={e 1,e 2,...,e n },选取熵值最大的前设定数量m的未标记数据样本集合S进行人工标注,构建优化标记数据集。
S33、利用步骤S31得到的初始分类器对步骤S32构建的优化标记数据集进行训练,得到优化分类器;在训练过程中,对训练后的分类器的准确率或召回率等各项性能指标进行测试,通过反复迭代,直至分类器达到设定阈值时停止,输出最终的优化分类器;
S34、利用步骤S33得到的优化分类器对用户池中剩余的未标记数据集进行标注,根据标记结果扩展数据集。
本发明根据分类器对每个用户预测的概率,将预测概率值大于0.75的正常用户与社交机器人分别标注。
下面本发明将通过实验分析数据集的规模和平衡程度对不同方法性能的影响,从而进一步验证主动学习扩展数据集的有效性和数据集平衡的重要性。
本发明的实验模型使用选取的机器学习和神经网络模型进行,同时选取准确率作为模型性能的评估指标,每种方法的实验重复10次,取平均值作为最终结果。
实验环境为一台CPU型号为Intel(R) Xeon(R) CPU E5-2618L v3 @ 2.30GHz,内存大小为32GB,并搭载一块NVIDIA GeForce RTX 2080TI GPU的服务器。
本发明选取在新浪微博社交机器人检测的相关研究中表现较好的模型,将这些模型作为分类器,如下所示:
LR(logisticsregression):逻辑回归是一种简单且强大的解决线性二元分类问题的算法,被广泛应用于新浪微博的社交机器人检测的研究。
SVM(supportvectormachine):支持向量机是另一种强大而广泛使用的机器学习算法,在新浪微博的社交机器人检测研究中被证明有效。
RF(randomforest):随机森林由于其良好的分类性能、可拓展性和易用性,对社交机器人的检测有较为出色的性能。
ELM(extreme learning machine):极限学习机作为一种社交机器人检测的方法,被认为在学习速率和泛化能力方面具有一定的优势。
BP(back propagation):BP神经网络是一种按照误差逆向传播算法训练的前馈神经网络。
本发明部署的微博爬虫的网络环境为校园网,带宽为100Mbps,所有的微博数据采集时间为2019年10月25日起至2020年1月24日止,获取到的所有微博数据采集结果如表1所示。
表1 微博数据采集结果
本发明通过人工标注,形成了包含10,000个正常用户与10,000个社交机器人的标记数据集,命名为SWLD-20K(Sina Weibo Labeled Dataset includes 20K users)。构建SWLD-20K数据集的用户数据详细信息如表2所示。
表2 SWLD-20K数据集
本发明总共进行343次迭代训练,人工标注了3430个用户,最终输出了一个预测准确率为98.0%的分类器。最终,通过该分类器,本发明标注出了150,000正常用户与150,000社交机器人,并对这些用户进行特征提取,构建了SWLD-300K(Sina Weibo Labeled Datasetincludes 300K users)。构建数据集SWLD-300K的用户数据信息如表3所示。
表3SWLD-300K数据集
为了验证主动学习扩展数据集的有效性,本发明展示了模型在数据集SWLD-20K和数据集SWLD-300K上性能的对比,如图3所示。
观察两个数据集下不同模型的表现情况,明显的是,在使用主动学习的方法将数据集从2万扩展到30万时,所有方法的表现均有所提升,而提升的幅度则有明显的差异。总体上来说,提升数据集的规模,可以在一定程度上提升分类的效果。同时,可以看到,SVM模型的提升最大,而LR和BP模型的提升不大。因此,通过主动学习扩展数据集的样本量,能在一定程度上使模型有更加出色的表现。
基于上述数据集扩展方法,本发明还提出了一种基于主动学习的社交机器人检测数据集扩展系统,如图4所示,包括:
数据采集模块,用于分别采集新浪微博中的潜在正常用户数据和潜在社交机器人数据,并加入到用户池中保存;
数据标注模块,用于提取用户池中保存的部分潜在正常用户和潜在社交机器人进行人工标注,构建初始标记数据集;
主动学习扩展数据集模块,用于采用主动学习方法,利用初始标记数据集和查询策略筛选的优化标记数据集优化训练分类器后对剩余未标记数据集进行标注,根据标记结果扩展数据集。
在本实施例中,如图5所示,数据采集模块具体包括代理中间件子模块、下载器子模块、页面解析器子模块以及数据库子模块。
代理中间件子模块用于提取Proxy IP Pool中存储的有效代理IP地址,将每一个向新浪微博发起的HTTP请求添加代理,规避新浪微博的反爬虫策略并提高爬虫的数据采集速率和稳定性。
下载器子模块用于利用网络爬虫通过多并发采集线程对目标站点进行并发爬取,采集目标站点URL;其具体包括引擎、URL 生成器、请求队列与多并发下载器。
引擎子模块:引擎主要负责下载器中的各个子模块的通信与数据传输,同时还具有调度采集线程,控制爬虫并发线程数量、单个请求时间间隔等功能,是整个下载器的核心。
URL生成器子模块:URL生成器通过接收程序初始化运行时用户传递的参数,生成目标URL,并将目标URL传递至引擎。
请求队列子模块:请求队列的主要功能为接收由URL 生成器生成,由引擎传递的目标站点URL。然后以优先队列的形式将URL存储,同时对队列中的URL进行去重处理。
多并发下载器子模块:多并发下载器的主要功能为接收由引擎传递的目标URL,能够以多线程的形式实现对目标站点进行并发爬取。
页面解析器子模块用于接收下载器传递的数据并对其进行清洗。页面解析器包括用户信息解析器与博文解析器,分别用于处理用户信息与博文。
数据库子模块用于使用MySQL数据库对由页面解析器清洗得到的数据进行结构化的存储。
在本实施例中,主动学习扩展数据集模块具体用于:
利用决策树模型构建分类器,对数据标注模块构建的初始标记数据集进行训练,得到初始分类器;
采用基于熵的不确定性抽样算法作为查询策略,从用户池中筛选熵值最大的若干个未标记数据样本进行人工标注,构建优化标记数据集;
利用初始分类器对构建的优化标记数据集进行训练,得到优化分类器;
利用优化分类器对用户池中剩余的未标记数据集进行标注,根据标记结果扩展数据集。
其中主动学习扩展数据集模块采用基于熵的不确定性抽样算法作为查询策略,从用户池中筛选熵值最大的若干个未标记数据样本进行人工标注具体包括:
提取用户池中的未标记数据样本的特征;
利用初始分类器对用户池中所有未标记数据样本进行预测,得到未标记数据样本为社交机器人的概率值;
根据得到的概率值计算所有未标记数据样本的熵值;
对得到的所有未标记数据样本的熵值进行排序,选取熵值最大的前设定数量的未标记数据样本进行人工标注。
本发明避免了通过传统的以纯人工的方式进行样本标记来获取包含大量带标签的数据样本,而是采用主动学习方法,仅通过人工标注数量较少的微博用户,通过主动学习训练得到的微博中的正常用户与社交机器人用户的分类器进行自动化标注,极大程度上减少了不必要的人力资源的消耗,很大程度上提高了数据标注的效率。且在传统的基于人工标记的数据集获取中,数据标记的准确率取决于标注者自身的知识水平以及判断力,使得在人工标记样本的数据量过大的情况下,可能会造成人工标记错误的样本较多的问题,而本发明使用了由主动学习方法的得到的分类器进行全自动化的数据标注与分类,虽然也存在着标记错误的情况,但也极大程度地减小了错误标记出现的可能。
总的来说,对比现有的技术,本发明能够以更小的代价与更快的速度来对新浪微博中的正常用户与社交机器人进行分类与标记,形成包含海量用户数据的大数据集,为新浪微博中的社交机器人检测技术的研究与提升提供了坚实的数据支撑。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (10)
1.一种基于主动学习的社交机器人检测数据集扩展方法,其特征在于,包括以下步骤:
S1、分别采集微博中的潜在正常用户数据和潜在社交机器人数据,并加入到用户池中保存;
S2、提取用户池中保存的设定数量潜在正常用户和潜在社交机器人进行人工标注,构建初始标记数据集;
S3、采用主动学习方法,利用初始标记数据集和查询策略筛选的优化标记数据集优化训练分类器后对剩余未标记数据集进行标注,根据标记结果扩展数据集。
2.根据权利要求1所述的基于主动学习的社交机器人检测数据集扩展方法,其特征在于,所述步骤S1中采集微博中的数据的方法为:
提取Proxy IP Pool中存储的有效代理IP地址,将每一个向微博发起的HTTP请求添加代理;
利用网络爬虫通过多并发采集线程对目标站点进行并发爬取,采集目标站点URL;
对网络爬虫爬取的数据进行清洗;
对清洗后的数据进行结构化的存储。
3.根据权利要求1或2所述的基于主动学习的社交机器人检测数据集扩展方法,其特征在于,所述步骤S1中分别采集微博中的潜在正常用户数据和潜在社交机器人数据具体为:
将微博中同城推荐的用户作为潜在正常用户,对其数据进行采集;
首先选取预设数量的粉丝与关注列表中包含高于设定数量社交机器人的用户作为种子用户,然后爬取种子用户的粉丝列表与关注列表中的用户的数据,作为潜在的社交机器人数据。
4.根据权利要求1所述的基于主动学习的社交机器人检测数据集扩展方法,其特征在于,所述步骤S2中进行人工标注的评判标准为:
判断微博中的用户信息完整性、用户社交关系合理性、用户互动情况、用户博文的原创性、发布微博时间是否规律、发布原创微博博文的质量中是否存在任一条件不满足设定要求,若是则将该用户标注为社交机器人,否则标注为正常用户。
5.根据权利要求1所述的基于主动学习的社交机器人检测数据集扩展方法,其特征在于,所述步骤S3具体包括以下分步骤:
S31、利用决策树模型构建分类器,对步骤S2构建的初始标记数据集进行训练,得到初始分类器;
S32、采用基于熵的不确定性抽样算法作为查询策略,从用户池中筛选熵值最大的若干个未标记数据样本进行人工标注,构建优化标记数据集;
S33、利用步骤S31得到的初始分类器对步骤S32构建的优化标记数据集进行训练,得到优化分类器;
S34、利用步骤S33得到的优化分类器对用户池中剩余的未标记数据集进行标注,根据标记结果扩展数据集。
6.根据权利要求5所述的基于主动学习的社交机器人检测数据集扩展方法,其特征在于,所述步骤S32具体包括以下分步骤:
S321、提取用户池中的未标记数据样本的特征;
S322、利用初始分类器对用户池中所有未标记数据样本进行预测,得到未标记数据样本为社交机器人的概率值;
S323、根据步骤S322得到的概率值计算所有未标记数据样本的熵值;
S324、对步骤S323得到的所有未标记数据样本的熵值进行排序,选取熵值最大的前设定数量的未标记数据样本进行人工标注,构建优化标记数据集。
7.一种基于主动学习的社交机器人检测数据集扩展系统,其特征在于,包括:
数据采集模块,用于分别采集微博中的潜在正常用户数据和潜在社交机器人数据,并加入到用户池中保存;
数据标注模块,用于提取用户池中保存的部分潜在正常用户和潜在社交机器人进行人工标注,构建初始标记数据集;
主动学习扩展数据集模块,用于采用主动学习方法,利用初始标记数据集和查询策略筛选的优化标记数据集优化训练分类器后对剩余未标记数据集进行标注,根据标记结果扩展数据集。
8.根据权利要求7所述的基于主动学习的社交机器人检测数据集扩展系统,其特征在于,所述数据采集模块具体包括代理中间件子模块、下载器子模块、页面解析器子模块以及数据库子模块;
所述代理中间件子模块用于提取Proxy IP Pool中存储的有效代理IP地址,将每一个向新浪微博发起的HTTP请求添加代理;
所述下载器子模块用于利用网络爬虫通过多并发采集线程对目标站点进行并发爬取,采集目标站点URL;
所述页面解析器子模块用于对网络爬虫爬取的数据进行清洗;
所述数据库子模块用于对清洗后的数据进行结构化的存储。
9.根据权利要求8所述的基于主动学习的社交机器人检测数据集扩展系统,其特征在于,所述主动学习扩展数据集模块具体用于:
利用决策树模型构建分类器,对数据标注模块构建的初始标记数据集进行训练,得到初始分类器;
采用基于熵的不确定性抽样算法作为查询策略,从用户池中筛选熵值最大的若干个未标记数据样本进行人工标注,构建优化标记数据集;
利用初始分类器对构建的优化标记数据集进行训练,得到优化分类器;
利用优化分类器对用户池中剩余的未标记数据集进行标注,根据标记结果扩展数据集。
10.根据权利要求9所述的基于主动学习的社交机器人检测数据集扩展系统,其特征在于,所述主动学习扩展数据集模块采用基于熵的不确定性抽样算法作为查询策略,从用户池中筛选熵值最大的若干个未标记数据样本进行人工标注具体包括:
提取用户池中的未标记数据样本的特征;
利用初始分类器对用户池中所有未标记数据样本进行预测,得到未标记数据样本为社交机器人的概率值;
根据得到的概率值计算所有未标记数据样本的熵值;
对得到的所有未标记数据样本的熵值进行排序,选取熵值最大的前设定数量的未标记数据样本进行人工标注。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010488609.3A CN111400617B (zh) | 2020-06-02 | 2020-06-02 | 基于主动学习的社交机器人检测数据集扩展方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010488609.3A CN111400617B (zh) | 2020-06-02 | 2020-06-02 | 基于主动学习的社交机器人检测数据集扩展方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111400617A true CN111400617A (zh) | 2020-07-10 |
CN111400617B CN111400617B (zh) | 2020-09-08 |
Family
ID=71431864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010488609.3A Active CN111400617B (zh) | 2020-06-02 | 2020-06-02 | 基于主动学习的社交机器人检测数据集扩展方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111400617B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113037365A (zh) * | 2021-03-02 | 2021-06-25 | 烽火通信科技股份有限公司 | 一种识别光通道生命周期运维状态的方法与装置 |
CN114519406A (zh) * | 2022-04-21 | 2022-05-20 | 天津卓朗科技发展有限公司 | 工业数据的分类方法及其模型训练方法、装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015043075A1 (zh) * | 2013-09-29 | 2015-04-02 | 广东工业大学 | 面向微博的情感实体搜索系统 |
CN107169001A (zh) * | 2017-03-31 | 2017-09-15 | 华东师范大学 | 一种基于众包反馈和主动学习的文本分类模型优化方法 |
CN108710947A (zh) * | 2018-04-10 | 2018-10-26 | 杭州善居科技有限公司 | 一种基于lstm的智能家居机器学习系统设计方法 |
CN109241518A (zh) * | 2017-07-11 | 2019-01-18 | 北京交通大学 | 一种基于情感分析的检测网络水军方法 |
CN109376796A (zh) * | 2018-11-19 | 2019-02-22 | 中山大学 | 基于主动半监督学习的图像分类方法 |
CN109656808A (zh) * | 2018-11-07 | 2019-04-19 | 江苏工程职业技术学院 | 一种基于混合式主动学习策略的软件缺陷预测方法 |
CN109784368A (zh) * | 2018-12-11 | 2019-05-21 | 同盾控股有限公司 | 一种应用程序分类的确定方法和装置 |
CN110032651A (zh) * | 2019-04-18 | 2019-07-19 | 江苏师范大学 | 一种基于知识图谱的个性化学习特征模型的建构方法 |
CN110297990A (zh) * | 2019-05-23 | 2019-10-01 | 东南大学 | 众包营销微博与水军的联合检测方法及系统 |
US20200011885A1 (en) * | 2017-03-03 | 2020-01-09 | Centre For Addiction And Mental Health | A cell-based assay and kits for assessing serum anticholinergic activity |
-
2020
- 2020-06-02 CN CN202010488609.3A patent/CN111400617B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015043075A1 (zh) * | 2013-09-29 | 2015-04-02 | 广东工业大学 | 面向微博的情感实体搜索系统 |
US20200011885A1 (en) * | 2017-03-03 | 2020-01-09 | Centre For Addiction And Mental Health | A cell-based assay and kits for assessing serum anticholinergic activity |
CN107169001A (zh) * | 2017-03-31 | 2017-09-15 | 华东师范大学 | 一种基于众包反馈和主动学习的文本分类模型优化方法 |
CN109241518A (zh) * | 2017-07-11 | 2019-01-18 | 北京交通大学 | 一种基于情感分析的检测网络水军方法 |
CN108710947A (zh) * | 2018-04-10 | 2018-10-26 | 杭州善居科技有限公司 | 一种基于lstm的智能家居机器学习系统设计方法 |
CN109656808A (zh) * | 2018-11-07 | 2019-04-19 | 江苏工程职业技术学院 | 一种基于混合式主动学习策略的软件缺陷预测方法 |
CN109376796A (zh) * | 2018-11-19 | 2019-02-22 | 中山大学 | 基于主动半监督学习的图像分类方法 |
CN109784368A (zh) * | 2018-12-11 | 2019-05-21 | 同盾控股有限公司 | 一种应用程序分类的确定方法和装置 |
CN110032651A (zh) * | 2019-04-18 | 2019-07-19 | 江苏师范大学 | 一种基于知识图谱的个性化学习特征模型的建构方法 |
CN110297990A (zh) * | 2019-05-23 | 2019-10-01 | 东南大学 | 众包营销微博与水军的联合检测方法及系统 |
Non-Patent Citations (1)
Title |
---|
曲豫宾 等: ""基于信息熵抽样估计的统计学习查询策略"", 《通化师范学院学报(自然科学)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113037365A (zh) * | 2021-03-02 | 2021-06-25 | 烽火通信科技股份有限公司 | 一种识别光通道生命周期运维状态的方法与装置 |
CN113037365B (zh) * | 2021-03-02 | 2022-06-24 | 烽火通信科技股份有限公司 | 一种识别光通道生命周期运维状态的方法与装置 |
CN114519406A (zh) * | 2022-04-21 | 2022-05-20 | 天津卓朗科技发展有限公司 | 工业数据的分类方法及其模型训练方法、装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111400617B (zh) | 2020-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Buntain et al. | Identifying social roles in reddit using network structure | |
CN106980692B (zh) | 一种基于微博特定事件的影响力计算方法 | |
WO2020108430A1 (zh) | 一种微博情感分析方法及系统 | |
CN103336766B (zh) | 短文本垃圾识别以及建模方法和装置 | |
CN112199606B (zh) | 一种基于层次用户表示的面向社交媒体的谣言检测系统 | |
CN111400617B (zh) | 基于主动学习的社交机器人检测数据集扩展方法及系统 | |
CN113962293B (zh) | 一种基于LightGBM分类与表示学习的姓名消歧方法和系统 | |
US20180032907A1 (en) | Detecting abusive language using character n-gram features | |
CN110990683A (zh) | 一种基于地域与情感特征的微博谣言集成识别方法及装置 | |
CN103886020A (zh) | 一种房地产信息快速搜索方法 | |
CN115438274A (zh) | 基于异质图卷积网络的虚假新闻识别方法 | |
CN115952343A (zh) | 一种基于多关系图卷积网络的社交机器人检测方法 | |
CN110069686A (zh) | 用户行为分析方法、装置、计算机装置及存储介质 | |
CN108875060B (zh) | 一种网站识别方法及识别系统 | |
CN116720009A (zh) | 一种社交机器人检测方法、装置、设备及存储介质 | |
CN109871889A (zh) | 突发事件下大众心理评估方法 | |
Liu et al. | Community structure enhanced cascade prediction | |
CN111753151B (zh) | 一种基于互联网用户行为的服务推荐方法 | |
CN114429244A (zh) | 一种基于图神经网络的舆情流行度预测方法及系统 | |
Che et al. | A microblog popularity prediction model based on temporal sequence features and text features | |
CN115438629A (zh) | 数据处理方法、装置、存储介质及电子设备 | |
CN112257073A (zh) | 一种基于改进的dbscan算法的网页去重方法 | |
Foysal et al. | Classification of AI powered social bots on Twitter by sentiment analysis and data mining through SVM | |
CN116260668B (zh) | 面向聊天群组的关键人物提取方法及装置 | |
JP2014038392A (ja) | スパムアカウントスコア算出装置、スパムアカウントスコア算出方法、及びプログラム |
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 |