logo好方法网

一种基于CNN和RCNN模型的文本识别方法及装置


技术摘要:
本发明提供一种基于CNN和RCNN模型的文本识别方法及装置,所述方法包括:抓取待识别网页文本,识别待识别网页文本中的字符及词汇;构建基于CNN和RCNN的融合模型,所述融合模型包括第一CNN网络模型、第一RCNN模型、第二CNN网络模型、第二RCNN模型、融合层、及一个Softmax  全部
背景技术:
在互联网日益发展的现在,网络信息越来越多,内容也越来越杂。一些网站中涉及 非法内容更是层出不穷,网络语言污染呈现蔓延之势,在各种网络论坛、微博、微信中,常见 满屏满窗的污言秽语,把涉黄涉暴语言当个性和时尚者大有人在。一些公众人物、知名人士 等,对这股风气也推波助澜、乐此不疲。这种不良话语风气不仅侵害汉语的纯洁性,更严重 搅乱了网络交流和讨论的善意和诚意。网络虚拟世界与现实社会生活有着千丝万缕的关 系,网络话语“病毒”泛滥,反过来会刺激和助长现实社会中的戾气和低俗之风。因此为了遏 制这种不良、违法风气等蔓延,网络的净网需求也就日益增高。对于网络上敏感、涉暴涉黄 等文本文字的识别需求也就越来越重要。因此,对于网络上的文本的识别能力的要求就越 来越高了。 但现有技术中对网络涉黄涉暴的文本识别,正确率和识别效率都不够高。
技术实现要素:
为解决上述技术问题,本发明提出了一种基于CNN和RCNN模型的文本识别方法及 装置,所述方法及装置,用以解决现有技术中对网络涉黄涉暴的文本识别,正确率和识别效 率都不够高的技术问题。 根据本发明的第一方面,提供一种基于CNN和RCNN模型的文本识别方法,所述方法 包括以下步骤: 步骤S101:抓取待识别网页文本,识别待识别网页文本中的字符及对网页文本进行分 词,获得待识别网页文本的词汇;基于识别到的字符对待识别网页文本进行字符级文本编 码,基于分词获得的词汇对待识别网页文本进行词汇级文本编码; 步骤S102:构建基于CNN和RCNN的融合模型,包括: 步骤S1021:构建第一CNN网络模型,所述CNN网络模型包括卷积层、池化层、全连接层, 且所述CNN网络模型为三层并联式CNN网络,即具有三个并联连接的卷积层,且每个卷积层 后面都连接一个池化层,所述并联式CNN网络的三层中的每个卷积层的输入都是字符级文 本编码,对字符级文本编码进行卷积处理后分别输入对应的池化层;三个池化处理结果共 同输入全连接层,在全连接层进行降维处理,得到第一处理结果logits_1; 步骤S1022:构建第一RCNN模型,所述第一RCNN模型复用第一CNN网络模型,并在复用的 第一CNN网络模型的输入端增加一个循环神经网络(RNN),所述循环神经网络为LSTM模型, 即LSTM模型的输入端接收字符级文本编码;LSTM模型的输出端连接到复用的第一CNN网络 模型的输入端,第一RCNN网络模型的输出为第二处理结果logits_2; 步骤S1023:构建第二CNN网络模型,所述CNN网络模型包括卷积层、池化层、全连接层, 7 CN 111738226 A 说 明 书 2/13 页 且所述CNN网络模型为三层并联式CNN网络,即具有三个并联连接的卷积层,且每个卷积层 后面都连接一个池化层,所述并联式CNN网络的三层中的每个卷积层的输入都是词汇级文 本编码,对词汇级文本编码进行卷积处理后分别输入对应的池化层;三个池化处理结果共 同输入全连接层,在全连接层进行降维处理,得到第三处理结果logits_3; 步骤S1024:构建第二RCNN模型,所述第二RCNN模型复用第二CNN网络模型,并在复用的 第二CNN网络模型的输入端增加一个循环神经网络(RNN),所述循环神经网络为LSTM模型, 即LSTM模型的输入端接收词汇级文本编码;LSTM模型的输出端连接到复用的第二CNN网络 模型的输入端,第二RCNN网络模型的输出为第四处理结果logits_4; 步骤S1025:构建基于CNN和RCNN的融合模型,所述融合模型包括第一CNN网络模型、第 一RCNN模型、第二CNN网络模型、第二RCNN模型、融合层及一个Softmax层;所述融合模型的 输入为字符级文本编码与词汇级文本编码;所述第一CNN网络模型、第一RCNN模型接收所述 字符级文本编码,所述第二CNN网络模型、第二RCNN模型接收所述词汇级文本编码,所述第 一CNN网络模型、第一RCNN模型、所述第二CNN网络模型、第二RCNN模型同步、并行进行计算; 所述融合层接收第一CNN网络模型、第一RCNN模型、第二CNN网络模型、第二RCNN模型的输出 数据,对第一CNN网络模型、第一RCNN模型、第二CNN网络模型、第二RCNN模型的输出数据确 定融合比例,再将按融合比例计算得到的结果传送到Softmax层,进行Softmax处理; 步骤S103:输入字符级文本编码样本数据、词汇级文本编码样本数据,对所述基于CNN 和RCNN的融合模型进行训练,得到训练好的融合模型; 步骤S104:将基于待识别网页文本获得的字符级文本编码、词汇级文本编码输入训练 好的融合模型,得到识别结果。 进一步地,所述步骤S101中的基于识别到的字符对待识别网页文本进行字符级文 本编码,具体方式为: x1’=One_Hot(x)  ; 基于分词获得的词汇对待识别网页文本进行词汇级文本编码,具体方式为: x2’=word2vector(x)  ; word2vector是通过批量文本数据提前训练得到的,为分词后获得的每个词汇对应生 成编码向量。 进一步地,所述步骤S1021:所述并联式CNN网络的三层中的每个卷积层的输入都 是字符级文本编码,对字符级文本编码进行卷积处理后分别输入对应的池化层,包括: 利用所述并联式CNN网络的三层中的每个卷积层对字符级文本编码进行卷积处理,得 到的处理结果分别输入对应的池化层进行池化处理,具体方式为: y1=pool[conv(x ’1 )] y2=pool[conv(x ’1 )] y3=pool[conv(x ’1 )] 其中,x ’1 为字符级文本编码结果,conv为卷积处理,将数据处理成128维的数据,pool 为池化处理,y1、y2、y3分别为三个并联的层的处理结果; y=dense(y1 y2 y3) 即针对得到的并联输出的三个128维的数据,将其输入全连接层网络中,由全连接层对 其进行降维,y值即为第一处理结果logits_1。 8 CN 111738226 A 说 明 书 3/13 页 进一步地,LSTM模型的单元模块的算法为: ft=σ(wf·[ht-1,x ’t ] bf) it=σ(wi·[h ,x ’t-1 t ] bi) O ’t=σ(wf·[ht-1,xt ] bf) ht=  Ot·tanh(Ct) 其中,ht为LSTM模型的输出,将ht作为得用的第一CNN网络模型的输入,X’t是总的输入 端;Wf,  Wi,  Wc均为权重;bf,  bi  bc为偏置;tanh为激励函数,σ为sigmod函数运算;ht-1为上 一个细胞的输出,it为输入门, 为输入门中决定需要保留,并用于更新细胞状态的信息, Ct-1为旧的信息;Ot为输出门,用于产生当前时刻的输出; Y=CNN(ht) y值即为第二处理结果logits_2。 进一步地,所述步骤S1025中,所述融合层接收第一CNN网络模型、第一RCNN模型、 第二CNN网络模型、第二RCNN模型的输出数据,对第一CNN网络模型、第一RCNN模型、第二CNN 网络模型、第二RCNN模型的输出数据确定融合比例,包括: 融合层对第一CNN网络模型、第一RCNN模型、第二CNN网络模型、第二RCNN模型的输出数 据进行训练,以确定融合比例,再将融合层的计算结果输入Softmax层,进行以下计算: 其中,W为调节四个模型的权重系数,θ1、θ2、……、θk∈Ren 1,均是模型的调节参数,亦为 代价函数的参数,k为网页文本的待识别数; 为调节代价函数的调节因子、z (i)为 softmax输入。 根据本发明第二方面,提供一种基于CNN和RCNN模型的文本识别装置,所述装置包 括: 信息提取模块:抓取待识别网页文本,识别待识别网页文本中的字符及对网页文本进 行分词,获得待识别网页文本的词汇;基于识别到的字符对待识别网页文本进行字符级文 本编码,基于分词获得的词汇对待识别网页文本进行词汇级文本编码; 融合模块:构建基于CNN和RCNN的融合模型,包括: 9 CN 111738226 A 说 明 书 4/13 页 第一训练模块:构建第一CNN网络模型,所述CNN网络模型包括卷积层、池化层、全连接 层,且所述CNN网络模型为三层并联式CNN网络,即具有三个并联连接的卷积层,且每个卷积 层后面都连接一个池化层,所述并联式CNN网络的三层中的每个卷积层的输入都是字符级 文本编码,对字符级文本编码进行卷积处理后分别输入对应的池化层;三个池化处理结果 共同输入全连接层,在全连接层进行降维处理,得到第一处理结果logits_1; 第二训练模块:构建第一RCNN模型,所述第一RCNN模型复用第一CNN网络模型,并在复 用的第一CNN网络模型的输入端增加一个循环神经网络(RNN),所述循环神经网络为LSTM模 型,即LSTM模型的输入端接收字符级文本编码;LSTM模型的输出端连接到复用的第一CNN网 络模型的输入端,第一RCNN网络模型的输出为第二处理结果logits_2; 第三训练模块:构建第二CNN网络模型,所述CNN网络模型包括卷积层、池化层、全连接 层,且所述CNN网络模型为三层并联式CNN网络,即具有三个并联连接的卷积层,且每个卷积 层后面都连接一个池化层,所述并联式CNN网络的三层中的每个卷积层的输入都是词汇级 文本编码,对词汇级文本编码进行卷积处理后分别输入对应的池化层;三个池化处理结果 共同输入全连接层,在全连接层进行降维处理,得到第三处理结果logits_3; 第四训练模块:构建第二RCNN模型,所述第二RCNN模型复用第二CNN网络模型,并在复 用的第二CNN网络模型的输入端增加一个循环神经网络(RNN),所述循环神经网络为LSTM模 型,即LSTM模型的输入端接收词汇级文本编码;LSTM模型的输出端连接到复用的第二CNN网 络模型的输入端,第二RCNN网络模型的输出为第四处理结果logits_4; 融合训练模块:构建基于CNN和RCNN的融合模型,所述融合模型包括第一CNN网络模型、 第一RCNN模型、第二CNN网络模型、第二RCNN模型、融合层及一个Softmax层;所述融合模型 的输入为字符级文本编码与词汇级文本编码;所述第一CNN网络模型、第一RCNN模型接收所 述字符级文本编码,所述第二CNN网络模型、第二RCNN模型接收所述词汇级文本编码,所述 第一CNN网络模型、第一RCNN模型、所述第二CNN网络模型、第二RCNN模型同步、并行进行计 算;所述融合层接收第一CNN网络模型、第一RCNN模型、第二CNN网络模型、第二RCNN模型的 输出数据,对第一CNN网络模型、第一RCNN模型、第二CNN网络模型、第二RCNN模型的输出数 据确定融合比例,再将按融合比例计算得到的结果传送到Softmax层,进行Softmax处理; 训练模块:输入字符级文本编码样本数据、词汇级文本编码样本数据,对所述基于CNN 和RCNN的融合模型进行训练,得到训练好的融合模型; 识别模块:将基于待识别网页文本获得的字符级文本编码、词汇级文本编码输入训练 好的融合模型,得到识别结果。 进一步地,所述信息提取模块,基于识别到的字符对待识别网页文本进行字符级 文本编码,具体方式为: x1’=One_Hot(x)  ; 基于分词获得的词汇对待识别网页文本进行词汇级文本编码,具体方式为: x2’=word2vector(x)  ; word2vector是通过批量文本数据提前训练得到的,为分词后获得的每个词汇对应生 成编码向量。 进一步地,所述第一训练模块,包括: 处理子模块:  利用所述并联式CNN网络的三层中的每个卷积层对字符级文本编码进行 10 CN 111738226 A 说 明 书 5/13 页 卷积处理,得到的处理结果分别输入对应的池化层进行池化处理,具体方式为: y1=pool[conv(x ’1 )] y2=pool[conv(x ’1 )] y3=pool[conv(x ’1 )] 其中,x ’1 为字符级文本编码结果,conv为卷积处理,将数据处理成128维的数据,pool 为池化处理,y1、y2、y3分别为三个并联的层的处理结果; y=dense(y1 y2 y3) 即针对得到的并联输出的三个128维的数据,将其输入全连接层网络中,由全连接层对 其进行降维,y值即为第一处理结果logits_1。 进一步地,LSTM模型的单元模块的算法为: ft=σ(wf·[h ’t-1,xt ] bf) it=σ(wi·[ht-1,x ’t ] bi) Ot=σ(wf·[ht-1,x ’t ] bf) ht=  Ot·tanh(Ct) 其中,h ’t为LSTM模型的输出,将ht作为得用的第一CNN网络模型的输入,X t是总的输入 端;Wf,  Wi,  Wc均为权重;bf,  bi  bc为偏置;tanh为激励函数,σ为sigmod函数运算;ht-1为上 一个细胞的输出,it为输入门, 为输入门中决定需要保留,并用于更新细胞状态的信息, Ct-1为旧的信息;Ot为输出门,用于产生当前时刻的输出; Y=CNN(ht) y值即为第二处理结果logits_2。 进一步地,所述融合训练模块,所述融合层接收第一CNN网络模型、第一RCNN模型、 第二CNN网络模型、第二RCNN模型的输出数据,对第一CNN网络模型、第一RCNN模型、第二CNN 网络模型、第二RCNN模型的输出数据确定融合比例,包括: 融合层对第一CNN网络模型、第一RCNN模型、第二CNN网络模型、第二RCNN模型的输出数 据进行训练,以确定融合比例,再将融合层的计算结果输入Softmax层,进行以下计算: 其中,W为调节四个模型的权重系数,θ、θ、……、θ∈Ren 11 2 k ,均是模型的调节参数,亦为 11 CN 111738226 A 说 明 书 6/13 页 代价函数的参数,k为网页文本的待识别数; 为调节代价函数的调节因子、z (i)为 softmax输入。 根据本发明第三方面,提供一种基于CNN和RCNN模型的文本识别系统,包括: 处理器,用于执行多条指令; 存储器,用于存储多条指令; 其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如前所述的 基于CNN和RCNN模型的文本识别方法。 根据本发明第四方面,提供一种计算机可读存储介质,所述存储介质中存储有多 条指令;所述多条指令,用于由处理器加载并执行如前所述的基于CNN和RCNN模型的文本识 别方法。 根据本发明的上述方案,在数据编码过程中,字符级别编码更能体现数据的细节 特征,词汇级编码更能体现网页文本整体内容,将模型有效的结合,并对字符级、词汇级编 码均使用CNN和RCNN模型,再构建融合模块,对中间结果进行融合,有效提高了非法字符、文 字的识别效率和识别正确率。 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段, 并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。 附图说明 构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明提供如下附 图进行说明。在附图中: 图1为本发明一个实施方式的基于CNN和RCNN模型的文本识别方法流程图; 图2为本发明一个实施方式的实现基于CNN和RCNN模型的文本识别的系统架构图; 图3为本发明一个实施方式的CNN模型结构示意图; 图4为本发明一个实施方式的RCNN模型结构示意图; 图5为本发明一个实施方式的LSTM模型结构示意图; 图6(a)为本发明一个实施方式的基于Char的CNN模型示意图; 图6(b)为本发明一个实施方式的基于Word的CNN模型示意图; 图6(c)为本发明一个实施方式的基于Char的RCNN模型示意图; 图6(d)为本发明一个实施方式的基于Word的RCNN模型示意图; 图7为本发明一个实施方式的基于CNN和RCNN模型的文本识别装置结构框图。
分享到:
收藏