一种垃圾文本的识别方法及装置与流程

文档序号:16068454发布日期:2018-11-24 12:54阅读:169来源:国知局

本发明涉及信息处理技术领域,特别是涉及一种垃圾文本的识别方法及装置。

背景技术

随着用户使用视频网站的频率越来越高,使用时长也越来长,用户在视频网站上生成的用户原创内容(usergeneratedcontent,ugc)文本内容量也以爆炸式的速度增长。例如,视频网站中出现的弹幕、评论、直播聊天室等都是以文字为主体的产品,用户使用视频网站中的这些功能的过程中,可以产生海量的文本。

然而在海量的ugc文本中,往往还存在大量的垃圾文本,例如广告、辱骂文字、负面舆论信息、色情内容等,在传统方法中,可以通过大量的人工操作来添加关键词,通过关键词来过滤垃圾文本,然而黑产为了避开关键词经常对文本进行变更字形、变更字音等操作,导致无法精准地识别出垃圾文本。



技术实现要素:

本发明实施例的目的在于提供一种垃圾文本的识别方法及装置,用以在节省人工操作的基础上精准地识别垃圾文本。

具体技术方案如下:

第一方面,本发明实施例提供一种垃圾文本的识别方法,包括:

将待训练文本转化为词向量矩阵;

通过深度学习模型处理每个待训练文本对应的词向量矩阵,根据对每个待训练文本对应的词向量的处理结果,将所述深度学习模型训练为垃圾文本识别模型,所述深度学习模型包括卷积神经网络和双向循环神经网络;

当接收到待识别文本时,通过所述垃圾文本识别模型识别所述待识别文本是否为垃圾文本。

在一种可能的实现方式中,所述将待训练文本转化为词向量矩阵,包括:

对所述待训练文本进行分词;

从所述待训练文本中截取预设数量的词,若所述待训练文本中的词的数量小于所述预设数量,则将所述待训练文本中的词补齐至所述预设数量;

确定所述预设数量的词对应的词向量;

将所述词向量构建为所述待训练文本的词向量矩阵。

在一种可能的实现方式中,所述通过深度学习模型处理每个待训练文本对应的词向量矩阵,包括:

通过所述卷积神经网络对所述词向量矩阵进行卷积,得到所述待训练文本的特征矩阵;

通过双向循环神经网络处理所述待训练文本的特征矩阵,得到所述待训练文本的特征向量;

通过激活函数处理所述待训练文本的特征向量,确定所述待训练文本属于各文本类型的概率,所述文本类型至少包括垃圾文本和正常文本。

在一种可能的实现方式中,所述通过双向循环神经网络处理所述待训练文本的特征矩阵,得到所述待训练文本的特征向量,包括:

将所述待训练文本的特征矩阵输入双向循环神经网络;

通过正向lstm正向读取并处理输入的矩阵,得到所述待训练文本的第一特征向量;

通过反向lstm反向读取并处理输入的矩阵,得到所述待训练文本的第二特征向量;

将所述第一特征向量和所述第二特征向量进行拼接,得到所述待训练文本的特征向量。

在一种可能的实现方式中,所述当接收到待识别文本时,通过所述垃圾文本识别模型识别所述待识别文本是否为垃圾文本,包括:

将所述待识别文本转化为词向量矩阵;

通过所述垃圾文本识别模型处理所述待识别文本对应的词向量矩阵,确定所述待识别文本属于各文本类型的概率,所述文本类型至少包括正常文本和垃圾文本;

若所述待识别文本属于垃圾文本的概率大于预设值,则确定所述待识别文本为垃圾文本。

第二方面,本发明实施例提供了一种垃圾文本的识别装置,其特征在于,包括:

转化模块,用于将待训练文本转化为词向量矩阵,所述待训练文本包括正常文本和各类垃圾文本;

处理模块,用于通过深度学习模型处理每个待训练文本对应的词向量矩阵,根据对每个待训练文本对应的词向量的处理结果,将所述深度学习模型训练为垃圾文本识别模型,所述深度学习模型包括卷积神经网络和双向循环神经网络;

接收模块,用于接收待识别文本;

识别模块,用于当所述接收模块接收到待识别文本时,通过所述垃圾文本识别模型识别所述待识别文本是否为垃圾文本。

在一种可能的实现方式中,所述转化模块,具体用于对所述待训练文本进行分词;从所述待训练文本中截取预设数量的词,若所述待训练文本中的词的数量小于所述预设数量,则将所述待训练文本中的词补齐至所述预设数量;确定所述预设数量的词对应的词向量;将所述词向量构建为所述待训练文本的词向量矩阵。

在一种可能的实现方式中,所述处理模块,具体用于通过所述卷积神经网络对所述词向量矩阵进行卷积,得到所述待训练文本的特征矩阵;通过双向循环神经网络处理所述待训练文本的特征矩阵,得到所述待训练文本的特征向量;通过激活函数处理所述待训练文本的特征向量,确定所述待训练文本的属于各文本类型的概率,所述文本类型至少包括垃圾文本和正常文本。

在一种可能的实现方式中,所述处理模块,具体还用于将所述待训练文本的特征矩阵输入双向循环神经网络;通过正向lstm正向读取并处理输入的矩阵,得到所述待训练文本的第一特征向量;通过反向lstm反向读取并处理输入的矩阵,得到所述待训练文本的第二特征向量;将所述第一特征向量和所述第二特征向量进行拼接,得到所述待训练文本的特征向量。

在一种可能的实现方式中,所述识别模块,具体用于将所述接收模块接收的待识别文本转化为词向量矩阵;通过所述垃圾文本识别模型处理所述待识别文本对应的词向量矩阵,确定所述待识别文本属于各文本类型的概率,所述文本类型至少包括正常文本和垃圾文本;若所述待识别文本属于垃圾文本的概率大于预设值,则确定所述待识别文本为垃圾文本。

第三方面,本发明实施例还提供一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述第一方面所述的方法步骤。

第四方面,本发明实施还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的步骤。

第五方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。

本发明实施例提供的方法及装置,可通过深度学习模型对待训练文本进行处理,根据处理结果将深度学习模型训练为垃圾文本识别模型,进而使用垃圾文本识别模型模型识别接收到的文本是否为垃圾文本,由于采用卷积神经网络和双向循环神经网络对文本进行处理时,能够更好地获取待训练文本的句子表征,由此训练出的垃圾文本识别模型也能够更加精确的识别待识别文本的句子表征,进而更精准地对待识别文本进行分类,相比于现有技术提高了对垃圾文本识别的准确性,且采用该方法无需人工抽取大量的关键词及句子特征,可以减少人工操作的工作量。

当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明实施例提供的一种垃圾文本的识别方法的流程图;

图2为本发明实施例提供的一种垃圾文本的识别方法的示例性示意图;

图3为本发明实施例提供的一种垃圾文本的识别装置的结构示意图;

图4为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。

为了在节省人工操作的基础上更加精准地识别垃圾文本,本发明实施例中,可以将待训练文本转化为词向量矩阵,然后通过深度学习模型对待训练文本进行处理,根据处理结果将深度学习模型训练为垃圾文本识别模型,进而可通过该垃圾文本识别模型识别用户输入的文本是否为垃圾文本。本发明实施例通过将卷积神经网络和双向循环神经网络结合使用,更好地获得待训练文本的句子表征,进而使得训练出的深度学习模型的分类性能更好,相比于通过匹配关键词识别垃圾文本的方法,大大提高了垃圾文本识别的准确性。

如图1所示,本发明实施例提供了一种垃圾文本的识别方法,该方法可以由能够与视频网站后台通信的服务器执行,也可以由视频网站的后台执行,该方法包括:

s101、将待训练文本转化为词向量矩阵。

其中,待训练文本可以包括正常文本和垃圾文本,可选地,还可以区分垃圾文本的类型,例如将垃圾文本分为广告类文本、负面舆论类文本等。

可选地,用于训练垃圾文本识别模型的待训练文本的数量可以为百万级的,例如可输入100万条垃圾文本以及100万条正常文本。

将待训练文本转化为词向量矩阵的过程相当于对待训练文本进行预处理的过程,可以理解的是,本发明实施例可分别对每条待训练文本进行预处理,对每条待训练文本进行预处理的过程如下:

第一步,对待训练文本进行分词,分词后各个词之间可用空格隔开,将每个词看做一个单元。

例如,待训练文本为“买会员加我微信”,分词后的结果为“买会员加我微信”。

第二步,从待训练文本中截取第一预设数量的词,若待训练文本中的词的数量小于第一预设数量,则将待训练文本中的词补齐至第一预设数量。

其中,若对待训练文本进行分词后,待训练文本的词的数量超出了第一预设数量,则可截取文本中的前第一预设数量的词,例如截取前50个词。可选地,若待训练文本的数量过长,为了提高训练的准确度,也可以截取文本中的前第一预设数量的词和后第一预设数量的词,例如截取待训练文本的前50个词和后50个词,将其余的词丢弃,后续分别对前50个词和后50个词进行处理。

若对待训练文本进行分词后,待训练文本的词的数量小于第一预设数量,则可将该待训练文本中词的数量补齐至第一预设数量。例如,若待训练文本中词的数量为45,则可在待训练文本后补5个0,从而补齐50个词。

第三步,确定预设数量的词中的每个词对应的词向量,具体是指分别将待训练文本中的每个词随机初始化为一个词向量,例如,可以分别将每个词均初始化为256维的词向量。

上述三步为对待训练文本进行预处理的过程,在完成预处理后,还需通过输入层执行下面的第四步。

第四步,将第三步得到的词向量构建为待训练文本的词向量矩阵。

例如,若将待训练文本中的前50个词中的每个词分别转化为了一个256维词向量,则利用这些待训练文本构建一个50×256维的词向量矩阵。

s102、通过深度学习模型处理每个待训练文本对应的词向量矩阵,根据对每个待训练文本对应的词向量的处理结果,将深度学习模型训练为垃圾文本识别模型。

其中,深度学习模型包括卷积申请网络和双向循环神经网络。

具体的,可参考图2,首先可通过卷积神经网络对词向量矩阵进行卷积,得到待训练文本的特征矩阵。

其中,通过卷积神经网络对词向量矩阵进行卷积具体可以实现为,使用卷积模板对词向量矩阵中各指定组的词向量组成的矩阵,例如词向量矩阵中的第一个、第二个、第三个词向量为第一组,第二个、第三个、第四个词向量为第二组,按照这种方式可以将50个词向量分为48组,即得到48个词向量矩阵。

然后可使用3×256维的一维卷积模板依次对48个词向量进行卷积,得到一个包含48个元素的列向量,分别使用64个3×256维的一维卷积模板进行上述卷积操作,即可得到64个列向量,可组合成一个48×64维的矩阵,然后使用修正线性单元(rectifiedlinearunit,relu)激活函数抽取3-gram(三元)特征,得到一个48×64维的特征矩阵,由于矩阵中的每一列都是按照待训练文本中的词向量从前到后的顺序卷积得到的,所以该特征矩阵在纵轴方向上具有时序性,该特征矩阵将被输入到下一层的双向循环神经网络。其中,通过卷积神经网络对待训练文本对应的词向量矩阵进行处理,得到的特征矩阵能够更好地反映待训练文本的局部特征,即更能够反映待训练文本中词语的语义。

然后,可通过双向循环神经网络处理所述待训练文本的特征矩阵,得到待训练文本的特征向量。

其中,本发明实施例中的双向循环神经网络可采用长短时记忆神经网络(longshort-termmemory,lstm),可以解决传统循环神经网络的梯度爆炸或者消失问题。具体的,可将待训练文本的特征矩阵输入双向循环神经网络,然后正向lstm可正向读取待训练文本的特征序列,即按照从前到后的顺序,依次读取并处理特征矩阵中的每一行,得到一个长度为128维的句子特征向量,该特征向量相比于序列头部更能够表示读取的序列尾部的语义,反向lstm可反向读取待训练文本的特征序列,即按照从后到前的顺序依次读取并处理特征矩阵中的每一行,得到一个长度为128维的句子特征向量,该特征向量相比与序列尾部更能表示读取的序列头部的语义。然后将正向lstm输出的128维的句子特征向量的尾部和反向lstm输出的128维的句子特征向量的头部进行拼接,得到一个256维的特征向量,用于表示待训练文本的语义。通过双向循环神经网络处理得到的句子特征向量能够更好的反映待训练文本的长距离特征,即更能够反映待训练文本的句子的语义。

之后,为了防止过拟合,还可通过dropout层对256维的特征向量进行处理,以删除隐藏的神经单元,例如,可采用0.5的dropout方案对256维的特征向量进行处理,随机将特征向量中50%的维度的参数设置为0,即将其中的128维的参数设置为0。

然后,再通过具有分类功能的激活函数处理所述待训练文本的特征向量,确定所述待训练文本的分类。

可选地,可以将s型(sigmoid)函数作为激活函数将待训练文本进行二分类,即将待训练文本分为正常文本和垃圾文本两类,也可将softmax函数作为激活函数将待训练文本分为多类,例如将待训练文本分为正常文本、广告文本、负面舆论文本等。需要说明的是,采用softmax函数可以输出待训练文本属于各类文本的概率。

根据对每个待训练文本的分类结果,调整深度学习模型中的参数,以得到能够更加准确地识别垃圾文本的垃圾文本识别模型。

s103、当接收到待识别文本时,通过垃圾文本识别待识别文本是否为垃圾文本。

具体的,视频网站的后台接收到用户输入的文本后,可将用户输入的文本作为待识别文本发送给用于训练垃圾文本识别模型的服务器,在服务器接收到待识别文本后,可先将待识别文本转化为词向量矩阵,转化方法与上文中描述的将待训练文本转化为词向量矩阵的方法相同,可参考上文中的相关描述。

然后通过垃圾文本识别模型处理待识别文本对应的词向量矩阵,确定待识别文本属于各类型的概率,换言之,将待识别文本对应的特征矩阵输入垃圾文本识别模型,垃圾文本识别模型即可输出待识别文本属于各类型的概率。之后,若待识别文本属于垃圾文本的概率大于预设值,则可确定待识别文本为垃圾文本。

示例性地,若垃圾文本识别模型输出的结果为待识别文本属于广告文本的概率为90%,则可确定该待识别文本为垃圾文本,进而可过滤掉该文本,不显示在待视频网站的显示界面上。

可见,通过本发明实施例提供的方法,可通过深度学习模型对待训练文本进行处理,根据处理结果将深度学习模型训练为垃圾文本识别模型,进而使用垃圾文本识别模型识别接收到的文本是否为垃圾文本,由于采用卷积神经网络和双向循环神经网络对文本进行处理时,能够更好地获取待训练文本的句子表征,由此训练出的垃圾文本识别模型也能够更加精确的识别待识别文本的句子表征,进而更精准地对待识别文本进行分类,相比于现有技术提高了对垃圾文本识别的准确性。

此外,直接采用垃圾文本识别模型识别垃圾文本,无需人工进行添加关键词,减少了人工操作的工作量,且维护成本较低。

对应于上述方法实施例,本发明实施例还提供一种垃圾文本的识别装置,如图3所示,该装置包括:转化模块301、处理模块302、接收模块303和识别模块304。

其中,转化模块301,用于将待训练文本转化为词向量矩阵,待训练文本包括正常文本和各类垃圾文本;

处理模块302,用于通过深度学习模型处理每个待训练文本对应的词向量矩阵,根据对每个待训练文本对应的词向量的处理结果,将深度学习模型训练为垃圾文本识别模型,深度学习模型包括卷积神经网络和双向循环神经网络;

接收模块303,用于接收待识别文本;

识别模块304,用于当接收模块303接收到待识别文本时,通过垃圾文本识别模型识别待识别文本是否为垃圾文本。

可选地,转化模块301,具体用于对待训练文本进行分词;从待训练文本中截取预设数量的词,若待训练文本中的词的数量小于预设数量,则将待训练文本中的词补齐至预设数量;确定预设数量的词对应的词向量;将词向量构建为待训练文本的词向量矩阵。

可选地,处理模块302,具体用于通过卷积神经网络对词向量矩阵进行卷积,得到待训练文本的特征矩阵;通过双向循环神经网络处理待训练文本的特征矩阵,得到待训练文本的特征向量;通过激活函数处理待训练文本的特征向量,确定待训练文本的属于各文本类型的概率,文本类型至少包括垃圾文本和正常文本。

可选地,处理模块302,具体还用于将待训练文本的特征矩阵输入双向循环神经网络;通过正向lstm正向读取并处理输入的矩阵,得到待训练文本的第一特征向量;通过反向lstm反向读取并处理输入的矩阵,得到待训练文本的第二特征向量;将第一特征向量和第二特征向量进行拼接,得到待训练文本的特征向量。

可选地,识别模块304,具体用于将接收模块303接收的待识别文本转化为词向量矩阵;通过垃圾文本识别模型处理待识别文本对应的词向量矩阵,确定待识别文本属于各文本类型的概率,文本类型至少包括正常文本和垃圾文本;若待识别文本属于垃圾文本的概率大于预设值,则确定待识别文本为垃圾文本。

本发明实施例还提供了一种电子设备,如图4所示,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信,

存储器403,用于存放计算机程序;

处理器401,用于执行存储器403上所存放的程序时,实现上述方法实施例描述的步骤。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一垃圾文本识别方法的步骤。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一垃圾文本的识别方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1