dede网站制作教程,seo课程心得体会,自己画户型图的app,网站建设合同不给版权清华大学驭风计划课程链接
学堂在线 - 精品在线课程学习平台 (xuetangx.com)
代码和报告均为本人自己实现#xff08;实验满分#xff09;#xff0c;只展示主要任务实验结果#xff0c;如果需要详细的实验报告或者代码可以私聊博主
有任何疑问或者问题#xff0c;也欢…清华大学驭风计划课程链接
学堂在线 - 精品在线课程学习平台 (xuetangx.com)
代码和报告均为本人自己实现实验满分只展示主要任务实验结果如果需要详细的实验报告或者代码可以私聊博主
有任何疑问或者问题也欢迎私信博主大家可以相互讨论交流哟~~
案例简介 情感分析旨在挖掘文本中的主观信息它是自然语言处理中的经典任务。在本次任务中我们将在影评 文本数据集Rotten Tomato上进行情感分析通过实现课堂讲授的模型方法深刻体会自然语言处 理技术在生活中的应用。 同学们需要实现自己的情感分析器包括特征提取器可以选择词袋模型、词向量模型和预训练模 型、简单的线性分类器以及梯度下降函数。随后在数据集上进行训练和验证。我们提供了代码框架 同学们只需补全 model.py 中的两个函数。
数据说明
我们使用来自Rotten Tomato的影评文本数据。其中训练集 data_rt.train 和测试集 data_rt.test 均 包含了3554条影评每条影评包含了文本和情感标签。示例如下 其中 1 表示这条影评蕴涵了正面感情后面是影评的具体内容。
文本特征提取 TODO补全 featureExtractor 函数 在这个步骤中同学们需要读取给定的训练和测试数据集并提取出文本中的特征输出特征向量。同学们需要实现词袋模型、词向量模型和预训练模型选做来生成句子表示并对比不同方法的表现有何差异。
Bag of Words得到句子的0-1向量选做用TFIDF计算句子向量
Word2Vec词向量求和/取平均选做实现Doc2Vec[1]
使用BERT得到[CLS]向量/词的隐状态取平均选做
训练分类器
TODO补全 learnPredictor 函数 我们提供的训练数据集中每句话的标签在文本之前其中 1 表示这句话蕴涵了正面感情 -1 表示这 句话蕴涵了负面感情。因此情感分析问题就成为一个分类问题。 同学们需要实现一个简单的线性分类器并推导出相应的梯度下降函数。
实验与结果分析
在训练集上完成训练后同学们需要在测试集上测试分类器性能。本小节要求同学们画出训练集上的损 失函数下降曲线和测试集的最终结果损失函数、准确率并对结果进行分析。
评分要求
同学们需要提交源代码和实验报告。实验报告中应包含以下内容 对hinge loss反向传播的理论推导请写出参数的更新公式。 对实验结果的分析请描述采用的模型结构、模型在训练集上的损失函数下降曲线和测试集的最终 结果并对结果进行分析。分析可以从模型的泛化能力、参数对模型性能的影响以及不同特征的影 响等方面进行。
[1] Distributed Representations of Sentences and Documents. https://arxiv.org/pdf/1405.4053.pdf 实验结果
1反向传播推导 2文本特征提取
2.1 使用 BOW 作为特征 从 loss 图来看训练的 loss 下降比测试的 loss 快很多但是相同点就是都在下降虽然中间测试的 loss 随着周期增大突然有个小的升高但是最终仍然总体趋势是下降的。然后再从训练准确率来看 train 的训练最终几乎饱满了测试的正确率也是最终达到最高所以开始我前面对于最佳学习率和迭代次数的精准把控做的很好才能得出最优结果最终测试错误值来到了 0.263 。 2.2 使用 N-gram 作为特征 从图中可以看出 loss 曲线不管是训练还是训练的 loss 都在下降跟前面的情况类似也是训练的 loss 下降很快而测试的 loss 下降较为平缓。从准确率图来看训练的也几乎饱满测试也是随着周期变大达到最高最终 test 的错误值为 0.238达到新低。可以看出我们调参的方法非常有效通过对多个学习率的运行找出了对于每个级别的最佳超参数并且精准把控训练轮数达到最优结果。
2.3 使用 BERT 得到[CLS]向量作为特征 首先从 loss 图可以看出训练和测试的 loss 的曲线非常接近没有出现前两个特征提取方法中差别较大的情况总体趋势也是训练的 loss 下降更快测试的 loss 紧跟其后。从准确率图来看训练和测试的准确率曲线几乎是同趋势变化特别已经很平稳说明训练基本已经充分了。最终测试的错误率来到了新底达到了约为 0.197 这个相比于前 面两种方法更好的结果。 3总结三种方法对比差异
这三种方法使用了不同的特征提取方式,导致最终结果的差异。让我详细解释一下可能的区别和影响。 词袋特征提取第一个方法 这个方法简单地对文本进行词级别的计数每个单词作为一个特征记录其出现的次数。缺点忽略了单词之间的顺序和上下文信息。如果两个句子有相似的单词分布但是顺序不同这种方法就不能捕捉到它们的相似性。 N-Gram 特征提取第二个方法 这个方法根据指定的 N 值可以是单词级别或字符级别提取 N-Gram 特征可以是词级别的 N-Gram 或字符级别的 N-Gram 还可以是混合级别的 N-Gram。 优点 能够更全面地考虑到文本中的不同信息从而提高了对文本特征的表示能力。词级别的 N-Gram 能够捕捉单词之间的关系而字符级别的 N-Gram 则能够捕捉到更细小的特征和局部模式这样结合起来可以在一定程度上弥补彼此的不足提高特征提取的效果。因此混合级别的 N-Gram 特征提取方法可能比单一级别的 N-Gram 提取更有效能够更全面地表示文本特征 缺点 对于大量的文本数据特征空间可能会变得非常大导致稀疏性增加同时可能引入一些噪音特征。 BERT 特征提取第三个方法 使用预训练的 BERT 模型提取文本的特征向量提取 [CLS] token 对应的隐藏状态作为整个句子的表示。 优点 BERT 模型在训练中学习到了大量语言表示能够捕捉更高级别、更全局的语义和句子系。 缺点 计算成本较高即使是对于轻量化版本的 BERT 模型也需要更多的计算资源比如在我的实验里运行 20 轮即使使用 GPU 也需要 40 分钟才能跑完相对于其他两种方法非常耗时。 当综合考虑时 BERT 特征提取方法表现更出色因为它能够捕捉更加丰富和高级别的语义信息。相比之下传统的词袋模型和 N-Gram 方法有时可能忽视句子的语义和上下文信息在表现上稍显不足。然而混合级别的 N-Gram 方法则能够在一定程度上弥补这些传统方法的缺陷。结合了词级别和字符级别的信息这种方法更全面地考虑了文本的局部模式和全局特征使得其能够更有效地提取特征。至于为什么 BERT 特征提取方法更为优越我认为原因在于 BERT 模型经过大规模训练具备了对语言表示更全面的学习能力。它能够理解和捕捉到文本中更深层次、更复杂的语义关系因此在处理这次情感分析实验时具有更好的表现。