system: [SYSTEM]

user: 4. 实验与分析 本文所有实验都基于NVIDIA tesla V100 gpu与深度学习框架PaddelPaddel来实现，所使用的语言为python，并开启gpu加速，加速版本为CUDA9.0、cudnn7.3。 4.1. 实验数据集 本文使用来自网络的梨视频视频标题数据集、网易网络新闻数据集、京东商品评论数据集。三个数据集包含网络中常见文本类型，都由本文使用爬虫程序从网络获取。数据集具体情况如下所示： a) 梨视频视频标题数据集：该数据集由本文收集整理，数据由爬虫软件从短视频网站获取，包含音乐、二次元、搞笑等共9个分区的共2万条文本数据。 b) 网易网络新闻数据集：该数据集也是由本文收集整理，数据来源自网易新闻频道，包含娱乐、体育、健康等8个频道的共1万5千条文本数据。 c) 京东商品评论数据集：该数据集由本文收集整理，数据来源于京东手机、笔记本电脑、图书、食品、家居5个分类下的商品评论信息，按好评、中评、差评三个评价等级收集，共7万7千条文本数据。 4.2. 本文模型参数介绍 该模型的部分参数如表2所示： Table 2 Model parameters and super parameter 名称 含义 取值 hidden_size 模型向量维度 768 num_attention_heads 模型注意力头数 12 batch_size (预训练) 模型每批处理大小 4096 learning_rate (预训练) 学习速率 1e−4 batch_size (微调) 模型每批处理大小 24 learning_rate (微调) 学习速率 5e−5 表2. 模型参数与超参 在预训练阶段，训练将最多进行3万个step，每10个step输出一次训练结果，每100个step在验证集上进行一次验证，每1万个step保存一次模型。 在模型微调阶段，为了取得更好的训练效果，将学习速率减为5e−5，同时为了减少计算资源压力，将模型每批处理大小减少为24。在该阶段，训练最大进行10个epoch，每10个step将输出一次训练结果，每100个step在验证集与测试集上进行一次验证，每1000个step保存一次模型。为了保证模型训练时每个epoch的模型保持不变，固定模型的随机种子(random_seed)。模型最后分类标签数(num_labels)，与模型输入的数据集相关。 4.3. 评价指标 在衡量不同方法的词向量表达能力的实验中，本文采用文本置信度(Perplexity，ppl)来衡量好坏，在语言模型中ppl值可以认为是平均分支系数(Average branch factor)，即预测下一个词时可以有多少种选择，如ppl值为60，可以直观地理解为，在模型生成一句话时下一个词有60个合理选择，可选词数越少，一般认为模型越准确。所以ppl值越小，词向量模型越好。其中ppl值的计算方法如公式1所示： p p l = 10 − 1 N log p ( S ) (1) 在衡量文本分类准确率的对比试验中，本文采用文本分类的准确率(accuracy)来衡量好坏，准确率是所有样本中分类正确样本所占的比例。 而在衡量文本预测效果的好坏方面，由于缺少相关评价标准，所以本文直接列出原始文本与预测文本，通过对比文本流畅度与预测词的准确性来衡量预测的效果。 最后在对比处理速度时，采用更为直观的每秒处理step数来表示，单位为step/s。 4.4. 评实验结果对比 4.4.1. 文本词向量表达能力对比实验 本章将从文本ppl值、真实数据的预测效果，和模型处理速度，三个方面来进行文本词向量表达能力的对比实验。在文本ppl值的对比实验中，为了使ppl值的对比更为明显，本文使用文本长度较长的网易网络新闻数据集作为实验数据集。同时为了充分对比本文方法的有效性，分别实现了以下4种BERT模型，如表3所示： Table 3 Experimental mode 名称 介绍 char_BERT 原始BERT模型，未加入中文词位置嵌入 word_char_BERT 原始BERT模型，加入中文词位置嵌入 word_random_BERT 使用子词级随机遮蔽方法的BERT模型，并加入中文词位置嵌入 word_allmask_BERT 使用了子词级遵从词首方法的BERT模型，并加入中文词位置嵌入 表3. 实验模型 每个模型将在预训练阶段对大小为10，000与1500的数据进行训练，每个数据集训练三次，共9万个step，结果取训练完成后ppl的平均值。实验结果如表4所示： Table 4 Comparison of ppl value 遮蔽方法 10，000条数据 1500条数据 char_BERT 10.124173 16.399334 word_char_BERT 8.989015 15.476432 word_random_BERT 3.518629 13.895789 word_allmask_BERT 2.152880 12.000850 表4. ppl值对比实验结果 由上表结果可以看出，在加入中文单词位置后，word_char_BERT的ppl值较未使用的char_BERT有了明显的下降。而使用了本文提出的子词级遮蔽方法的word_random_BERT和word_allmask_BERT的ppl值相较于未使用该方法的word_char_BERT有大幅的下降。最后在两种子词级遮蔽方法中，使用子词级遵从词首的遮蔽方法的word_allmask_BERT的ppl值，相较于使用子词级随机遮蔽方法的word_random_BERT更低。由上述结果可以得到，子词级遮蔽方法和中文单词位置嵌入都能有效降低文本ppl，提高词向量表达。 但是单独对比ppl值无法体现本文提出方法在具体任务中的具体提升效果，所以本文在ppl值对比实验的基础上进行了真实数据上的遮蔽预测效果的对比实验，在该实验中使用word_char_BERT、word_random_BERT、word_allmask_BERT三个模型，在京东评论和网易新闻两个数据集中分别随机提取一句话，作为实验的预测文本。实验的方法为先遮蔽预测文本中的部分单词，然后观察遮蔽词的预测效果。实验数据与结果如图12和表5所示： 图12. BERT模型输入处理 Table 5 Experimental dat 遮蔽方法 预测结果 预测词 word_char_BERT 1.太成欢迎你 太成是天府之国 也是美食之都 1.成都：太成 2.不差：太太 2.算了吧 我觉得这电脑太太 word_random_BERT 1.成都欢迎你 成都是天府之国 也是美食之都 1.成都：成都 2.不差：太错 2.算了吧 我觉得这电脑太错 word_allmask_BERT 1.成都欢迎你 成都是天府之国 也是美食之都 1.成都：成都 2.不差：不错 2.算了吧 我觉得这电脑不错 表5. 实验数据 由表4可以看到，没使用子词级遮蔽方法的word_char_BERT模型的预测效果较差，不仅没有正确预测成都这个地名，同时也未正确预测评论文本。在使用子词级随机遮蔽方法的word_random_BERT中，对地名成都的预测准确，但在对评论文本的预测中，预测词与原词语义相反，由此构建的词向量在情感分析任务中会产生一定的不良影响。最后在使用了子词级遵从词首遮蔽方法的word_allmask_BERT中，不仅地名成都准确预测，同时对评论遮蔽词的预测结果也与原语义相同，在三种遮蔽方法中拥有最好的预测结果。 而在处理速度方面，由于本文提出的方法修改了BERT模型处理中文的粒度，同时额外添加了中文单词的位置信息，所以必然会对处理速度造成一定的影响。为了验证对速度的影响，本文将对比使用额外单词位置和子词级遮蔽方法前后的模型处理速度，使用的实验模型为char_BERT、word_char_BERT和word_allmask_BERT，使用的评价标准为章节4.3中提到的每秒处理step数，实验结果如图13所示。 由图13可以看出，虽然使用子词级遮蔽方法和中文单词位置后模型处理速度有略微的下降，但是综合前面两个词向量对比实验可以看到，加入了单词位置嵌入的模型拥有更好的词向量表达能力，使用子词级遮蔽方法后模型拥有更好的词向量表达能力与预测能力，相较于使用这两种方法带来的词向量表达效果提升，处理速度的略微下降在可以接受的范围内。而在两种子词级遮蔽方法的比较中，子词级遵从词首的方法拥有更好的词向量表达与预测的能力，所以在后续分类效果的对比中，本文将使用该方法。 图13. 处理速度对比 4.4.2. 文本分类效果对比实验 本文主要的研究目标是中文网络文本的分类，所以为了验证本文提出的文本分类方法在文本分类任务中的有效性，将上文中拥有最好实验结果的BERT模型word_allmask_BERT，同基础BERT模型、CNN模型、RNN模型、Fasttest模型以及Inception-CharFcn [ 19 ] 模型，在梨视频视频标题数据集、网易网络新闻数据集、京东商品评论数据集，三个数据集上进行分类效果的对比实验，评价指标选用章节4.3中提到的准确率，结果将按百分比(%)表示。实验结果如表6所示： Table 6 Classification accuracy compariso 模型方法 梨视频视频标题数据集 网易网络新闻数据集 京东商品评论数据集 Cnn 83.33 92.36 79.43 Rnn 82.27 89.26 80.16 Fasttest 81.25 92.51 79.70 Inception-CharFcn 87.98 95.36 83.34 BERT 92.62 95.96 87.50 word_allmask_BERT 93.75 96.46 89.52 表6. 分类准确率对比 由上列实验结果可以看到，使用了中文单词位置嵌入和子词级遮蔽方法的word_allmask_BERT模型在三个数据集上都拥有最高的分类准确率，并且分类效果明显优于原始BERT模型，证明了本文提出的子词级文本分类方法对BERT模型中文文本分类准确率的提升效果。