当前位置: 首页 > 编程日记 > 正文

对网络骚扰和霸凌说不!神经网络可以做得更好

导语:无论在论坛、评论区还是游戏聊天界面,网络骚扰和网络霸凌都是一件让人烦恼的事。怎样避免这些烦人的问题?也许本文介绍的神经网络模型,可以对于使用AI技术手段解决这些问题有所启示。

译者 | Rachel

头图 | 下载于东方 IC

出品 | AI科技大本营(ID:rgznai100)

这次我们介绍的神经网络模型,让读者能够在对话发生的初始阶段,就可以自动检测出用户的不当言论。和简单的过滤词汇列表相比,神经网络的表现更佳,但模型具体的计算过程往往是一个黑箱。因此,本文对神经网络每一层的作用都进行了分析,尝试帮助读者理解网络的每一层是如何辅助模型决策的。

根据一份2016年发布的报告,47%的网络用户有过被网络骚扰或霸凌的经历,27%的美国网络用户因为担心骚扰,会特别注意自己在网络发表的言论。来自维基媒体基金会(维基百科的所在机构)的一份调查也发现了类似的现象,调查显示,38%的编辑经历过网络骚扰,且其中超过半数的编辑认为,经历骚扰会导致其未来对社区作出贡献的动机降低。2018年在美国进行的一项研究也指出,81%的受访者希望公司能够解决网络骚扰问题。因此,如果我们希望拥有更加安全多元的网络环境,必须采取措施解决网络骚扰问题。

一种可能的解决方案是进行人工审查,并在用户行为不当时对其采取措施。但考虑到审查者的经历,这个方案实际上并不可行。另外,热门在线游戏的游戏人数往往非常庞大,数十万的对话可能同时发生,这给人工检测造成了困难。游戏社区的用户往往非常多样,一些特定的在线游戏甚至因为其糟糕的社区氛围臭名远扬。根据英雄联盟玩家 Celianna 在2020年进行的一项调查显示,98%的英雄联盟玩家都曾在游戏中经历人身攻击,79%的玩家在游戏结束后仍然被骚扰。

因此,本文使用了英雄联盟对话的相关数据集进行实验,并介绍了多个能够区分不良用户和普通用户的方法。为简化实验,本文选取了10个玩家间的10个真实对话,该对话包含约200个发言 (utterance):其中,“发言1”表示游戏中的第一条聊天消息,“发言200”表示该局游戏的最后一条消息。在实际数据集中,大部分对话的长度都超过了200,本文仅截取了前200个发言,以便于进行实验。在选取的10个对话中,都有且仅有1名玩家言语不当。本文的目标即建立一个能够自动尽早发现该玩家的系统。

能否直接使用过滤词汇列表?

为检测不当言论,最简单的方法是构建一个包含所有谩骂词汇的列表,并在用户使用列表中的词汇次数超过阈值时,将其标记不良玩家。下图中,绿色表情代表普通玩家,红色表情代表不良玩家。若系统标记玩家为不良玩家,则表情右下角会使用黄色图案标记。图片中展示了所有的检测可能性:

在阈值较低时,该方法能够在游戏初始阶段快速找到不良玩家,但会产生很多虚假警告(假阳性)。在阈值较高时,假阳性结果减少,但难以找到所有不良玩家(假阴性)。尽管任何方法都需要在假阳性和假阴性间进行权衡,但我们仍希望找到一个最优方案。

让机器学会语言

一个更好的解决方案是使用机器学习模型,即使用数千个包含不良用户的对话作为训练数据,对算法进行训练,以识别不良用户。除了识别不良用户之外,该模型实际还可以找到更温和的不当词汇,并发现其他相关现象。例如,如果仔细查看数据集,我们会发现不良用户的发言次数往往远多于普通用户。

我们使用了另外5000个对话对神经网络进行训练,该模型包含一个嵌入层(300个神经元),两个双向GRU层(16个神经元),一个池化层和两个全连接层(256个神经元)。输出层则使用sigmoid函数,对用户类别进行二分类判断。

嵌入层是神经网络中最浅的网络层,该层包含了单个词语的语境信息,并能够发现哪些词语往往在相似的语境出现。其基本思想为,含义相似的词语往往出现在相似的语境里,因此在模型中会具有相似的权重。因此,如果我们在3D空间中使用T-SNE算法对权重进行可视化,含义相似的词语间距离会更近。如下图所示:

我们可以发现很多包含实际含义的词语聚类,包括时间、数值、形容词,以及侮辱性的词汇。但是仅仅了解词语的大致含义不足以完成本任务——我们需要知道何时行动。嵌入层之后的网络层可以完成更加抽象的任务,例如监控对话的整体状况。下图展示了一个网络层的示例,我们可以看到不同网络层的部分神经元对词语赋予的权重和标记情况。

在第一层中,我们可以发现神经元1对一些简写赋予了较高的权重,例如“gj”(good job), “gw”(good work), "ty"(thank you),“kk”(okay,在韩语社区中也表示笑声), 以及“brb”(be right back)。神经元12则更关注一些不友好的词汇,例如“stupid”, "dumb", "faggot",“piece of shit”,以及“dirty cunt”。但在神经元12中,不良词汇的标记和神经元1中的标记方式相反,不良词汇被标注为了绿色,而正常词汇被标注为了红色;该问题将在后续的神经层中被修正。神经元16则对词语“mia”(missing in action)进行了识别,该词语一般用于告知队友潜在的危险,因此往往意味着玩家在尝试和队友合作。

神经网络的第二层则对对话进行了更高层次的抽象和监控。不同于网络第一层,第二层的权重变化更加平滑。例如,在神经元17中,对话在最初被标注为绿色,之后逐渐从黄色渐变为橘色, 最后再次变回绿色。第二层中的一些其他的神经元,例如神经元6,在多次重复中都激活了和词语“go”相关的权重,这意味着词语"go"的重复使用可能意味着不良对话。

该方法是否有效?

另一个重要问题是,神经网络模型是否能够比过滤词汇列表更有效地发现网络欺凌行为。对神经网络模型而言,阈值不再是负面词的数量,而是网络的置信度,置信度的值域为0到1,代表模型对于“该玩家为不良玩家”这一结论的确信程度。下图展示了不同的网络欺凌检测模型的表现,其中,蓝色为过滤词汇列表检测器,其余三个代表使用了不同置信度的神经网络检测器(绿色为0.01, 紫色为0.1, 棕色为0.5)。

和过滤词汇列表方法相同的是,随着阈值逐渐升高,假阳性检测更少,但真阳性也更少。但同时我们也可以发现,其中两个神经网络检测模型在发现更多不良玩家的同时,也大幅降低了假阳性的数量。因此,相比于过滤词汇列表,这两个模型的表现更佳。

不当行为检测的社会图景与未来展望

我们探讨了通过自动对话监控系统检测不良玩家的一些技术问题,但除了这些技术挑战之外,我们实际也面临着伦理挑战:我们是希望这项技术仅限于某一社区的不良成员检测,还是其实希望对所有对话进行实时监控?如果是进行实时监控,这对于一个社区又意味着什么?进一步地,如果这项技术不仅仅用于发现不良成员,而是被用于检测其他社会现象呢?

另外,假设系统在在线对话中发现了一个不良用户,下一步应该如何采取行动?这个用户是否应当接受到通知、警告,被屏蔽、禁言,甚至被上报给权威机构?我们又该在何时采取这些行动,即,什么程度的行为会被判定为“不当”?拳头游戏公司用户行为部的前任理事认为,不良用户就是那些“当天心情不太好的用户”;不区分用户行为,而是把用户本身直接判断为是否不良,这样做是合理的吗?

无论上述这些问题的答案是什么,我们都不可以束手旁观。反诽谤联盟和很多研究仇恨言论的学者都指出,网络欺凌会导致更多现实生活中由仇恨引起的犯罪行为。对于在线社区而言,自动检测至少是解决该问题的一个比较好的开端。

原文链接:

https://thegradient.pub/catching-cyberbullies-with-neural-networks/

直播间地址:

https://live.csdn.net/room/csdnnews/B3423dYF

更多精彩推荐
☞Python 玩出花儿,把罗小黑养在自己桌面☞315 曝光人脸识别摄像头,进店瞬间偷走你的“脸”,自动分析心情☞玩转3D全息图像!AI即刻生成☞Python 动态可视化,看看比特币这几年
点分享点收藏点点赞点在看

相关文章:

主机入侵防御系统(HIPS)分析

主机入侵防御系统(Host Intrusion Prevent System,HIPS)是近几年出现并迅速发展的新兴产物,与传统意义的防火墙和杀毒软件不同,它并不具备特征码扫描和主动杀毒等功能,所以想用它来替换传统杀毒软件然后安枕…

Centos 7 让docker飞一会儿

为什么80%的码农都做不了架构师?>>> 安装shadowsocks yum install -y epel-release python-pip pip install shadowsocks vim /etc/shadowsocks.json {"server": "your.vpn.com","server_port": 8388,"password&quo…

.net应用程序如何批上XP的外衣?

.net framework 所提供的开发控件也太少了,也太难看了,自已画又费时费力也不见得会得出个什么好的效果。如果能够上我们的程序运行在XP环境中能自动应用XP的主题样式那就省时多了,让MICROSOFT给我们去画控件!以下是我所所试验过的解决办法: …

AppCan 学习

2019独角兽企业重金招聘Python工程师标准>>> AppCan 学习 AppCan是以web前端开发方式来开发移动app的解决方案。下面是一些记录: 1.注意 uexWindow.open和uexWindow.openPopover的不同,后者是pop,pop里不能在打开window了。 2.…

在 5G 速度上,iPhone 12 只是个弟弟

作者 | 郑丽媛头图 | 下载自东方 IC出品 | CSDN(ID:CSDNnews)如果不考虑价格因素,让你选择一部手机,你是选 iPhone 还是安卓手机?目前,移动操作系统市场被 iOS 和安卓系统瓜分,体现在…

hadoop install start-dfs.sh 失败

linux:ubuntu 16.04 LTS hadoop version: 2.7.3 JDK: java-9-open-jdk issue: start-dfs.sh start-dfs.sh:command not found 在hadoop sbin目录下可以找到这个文件。但是run不起来。 解决方法: 1. 打开 $HOME/.bashrc 加入下面一行。 PATH$PATH:/usr/l…

用.net中的socket实现文件传输

socket是网络套接字,使用它我们可以很方便的实现网络的数据传输。在.net中提供了socket类来帮助开 发者调用socket的使用,从而避免了调用socket的动态库来实现socket的麻烦。下面我们就来看一个简单的例子,从这个简单的例子来看看.net中的so…

ARP协议学习

Dolphin,ChinaBJ,20131122本文档是检验自己学习TCP/IP协议卷1:协议中关于ARP协议的学习情况。本文档包含以下四部分:1、简述ARP协议;2、ARP的分组格式;3、ARP Spoofing 实验 4、应用及防御方法。1.简述ARP协…

数学,对人工智能开发者意味着什么

21世纪以来,全球化的加速和互联网的蓬勃发展,带来全球范围内电子数据的爆炸性增长,人类迈入了大数据时代。与此同时,计算机芯片的计算能力也持续高速增长。在数据和计算能力指数式增长的支持下,人工智能算法在应用中取…

检查网站是否可以正常访问

# -*- coding: utf-8 -*-import urllib.request import time opener urllib.request.build_opener() opener.addheaders [(User-agent, Mozilla/49.0.2)] #文件格式http://www.baidu.comfile open(E:/auto/url.txt) lines file.readlines() aa[] for line in lines: templ…

使用.NET自带的类实现DataGrid报表的打印。

using System;using System.Windows.Forms;using System.Drawing;using System.Drawing.Printing;using System.Data;using System.Collections;using DataLibrary; namespace ControlLibrary{ /// <summary> /// DataGrid打印 /// </summary> public class DataG…

各种 AI 数据增强方法,都在这儿了

来源 | 算法进阶责编 | 寇雪芹头图 | 下载于视觉中国数据、算法、算力是人工智能发展的三要素。数据决定了Ai模型学习的上限&#xff0c;数据规模越大、质量越高&#xff0c;模型就能够拥有更好的泛化能力。然而在实际工程中&#xff0c;经常有数据量太少(相对模型而言)、样本不…

ORACLE11g 前期安装环境配置

Linux系统可以拿来直接用的脚本哦#!/bin/bashservice iptables stop &> /dev/nulliptables -F service iptables save &> /dev/nullsed -i s/enforcing/disabled/ /etc/selinux/configsetenforce 0sed /tmpfs/d /etc/fstab &> /dev/nullecho tmpfs …

linux mysql 卸载,安装,測试全过程

Mysql卸载yum remove mysql mysql-server mysql-libs compat-mysql51rm -rf /var/lib/mysqlrm /etc/my.cnf查看是否还有mysql软件&#xff1a;rpm -qa|grep mysql有的话继续删除Mysql安装1>若本地没有安装包 能够考虑使用yum命令进行下载# yum -y install mysql-server# yum…

C#中获取程序当前路径的集中方法

string str1 Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的exe的文件名。 string str2Environment.CurrentDirectory;//获取和设置当前目录&#xff08;即该进程从中启动的目录&#xff09;的完全限定路径。//备注 按照定义&#xff0c;如果该进程在本…

如何开启远程(win7win8)

如何开启远程连接点击我的电脑-属性-高级系统设置-远程-选中“允许远程连接到此计算机”-应用-确定。在局域网内&#xff0c;拥有固定IP的话&#xff0c;就很容易远程处理事情了。若经过此步骤还不能远程的话&#xff0c;则需要查看系统是否开启了远程服务。“我的电脑”--管理…

微软推出“ Group Transcribe”应用,多人多语言会议实时高准确度文字转录并翻译

近期&#xff0c;微软针对面对面对话和会议推出了免费实时语音到文字转录和翻译应用程序——Group Transcribe。一方面&#xff0c;Group Transcribe可以通过手机把会议的语音内容实时转录为文本&#xff0c;供与会者阅读和浏览。 另一方面&#xff0c;在实时交流过程中&#x…

STM32单片机外部中断配置讲解

2019独角兽企业重金招聘Python工程师标准>>> 单片机外部中断简介 所谓外部中断&#xff0c;就是通过外部信号所引起的中断&#xff0c;如单片机引脚上的电平变化(高电平、低电平)、边沿变化(上升沿、下降沿)等。51单片机有5个中断源&#xff0c;其中有两个是外部中断…

Android语音信号波形显示

简单地介绍了AudioRecord和AudioTrack的使用&#xff0c;这次就结合SurfaceView实现一个Android版的手机模拟信号示波器(PS&#xff1a;以前也讲过J2ME版的手机示波器)。最近物联网炒得很火&#xff0c;作为手机软件开发者&#xff0c;如何在不修改手机硬件电路的前提下实现与第…

科研费4年翻3倍,全球科研队伍突破8000人,滴滴致力打造出行领域核心技术

日前&#xff0c;十三届全国人大四次会议表决通过了《国民经济和社会发展第十四个五年规划和2035年远景目标纲要》&#xff08;下称《规划》&#xff09;。《规划》强调要坚持创新在我国现代化建设全局中的核心地位&#xff0c;把科技自立自强作为国家发展的战略支撑。 《规划…

c++ 继承访问控制初步

访问控制方式这里有篇很好的文章,其实内容也是总结cprimer上的内容 现在就按照这篇的文章举例进行学习. 思路 不同继承方式的影响主要体现在&#xff1a; 1、派生类成员对基类成员的访问控制。 2、派生类对象对基类成员的访问控制 三种继承方式 公有继承(public) 所有public和p…

Excel在.Net 环境下Web方式下驻留内存问题的解决

这段时间在VS 2003 的WebForm 方式下对Excel 进行操作&#xff0c;遇到一个最为头疼的问题就是对Excel操作完毕后Excel不能够正常关闭&#xff0c;系统退出后&#xff0c;Excel总是驻留在内存中。但是这段代码放到WinForm的程序中又没有问题。在网上进行了查找也没有找到有效可…

2.8 FSM之Moore和Mealy part3

来看看我们的Mealy机的设计吧~~。Mealy机的想法起源于&#xff1a;这里我们有输入&#xff0c;并且根据相应的输入我们的字符识别机能做出相应的应答也就是输出。所以我们为何不把输入和输出同时表达出来呢&#xff1f;这样我们就能把输出和抽象的状态分离出来。好处第一就是我…

​对标GPT-3、AlphaFold,智源研究院发布超大规模智能模型系统“悟道1.0”

出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;3月20日&#xff0c;北京智源人工智能研究院发布我国首个超大规模智能模型系统“悟道1.0”。“悟道1.0”由智源研究院学术副院长、清华大学唐杰教授领衔&#xff0c;带领来自北京大学、清华大学、中国人民大学、中国科…

TCP Cluster for mqtt 技术实施方案

最前沿的网络技术&#xff0c;为你的网站带来国际化的用户体验和易用性&#xff0c;这一切只有Witmart.com能做到。

两台SQL Server数据同步解决方案

复制的概念复制是将一组数据从一个数据源拷贝到多个数据源的技术&#xff0c;是将一份数据发布到多个存储站点上的有效方式。使用复制技术&#xff0c;用户可以将一份数据发布到多台服务器上&#xff0c;从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。复制技…

一个用微软官方的OpenXml读写Excel 目前网上不太普及的方法。

新版本的xlsx是使用新的存储格式&#xff0c;貌似是处理过的XML。 传统的excel处理方法&#xff0c;我真的感觉像屎。用Oldeb不方便&#xff0c;用com组件要实际调用excel打开关闭&#xff0c;很容易出现死。 对于OpenXML我网上搜了一下&#xff0c;很多人没有介绍。所以我就这…

分析6千万条GitHub帖子,发现你的工作状态与表情符号强相关

作者 | 凌霄出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;新冠疫情使得远程办公的人数大幅度增加&#xff0c;然而&#xff0c;当越来越多的人远程工作时&#xff0c;人们的情绪和心理健康状态也难以通过日常面对面的交流来观察&#xff0c;雇主们也就无法获得员工…

软件定义网络 对我们有多重要?

软件定义网络(简称SDN)属于网络流量控制的下一个步骤。Tech Pro Research发布的调查报告正是以此为中心&#xff0c;旨在为我们展示企业如何使用SDN方案。 过去几年以来&#xff0c;以更为高效方式管理环境的需求正快速普及&#xff0c;这也使得网络领域的更高灵活性与控制手段…