TensorFlow-similarity 学习笔记12

本文介绍了基于CNN对句子分类的研究论文,探讨了预训练词向量和CNN模型的效果。通过实现CNN模型对Yelp评论数据集进行情感分析,展示了训练过程和结果,尽管由于数据量限制,准确率未超过90%,但证明了CNN在大型数据集上的潜力。
摘要由CSDN通过智能技术生成

2021SC@SDUSC

本篇博客将针对CNN经典论文CNN for Sentence Classification做一个简单的总结并对其内容进行简单的实现

Paper review

Link to paper: http://www.aclweb.org/anthology/D14-1181
在本文中,介绍了在用于句子分类任务的,在预训练(word vector)词向量(之上训练的卷积神经网络 (CNN) 的一系列实验。 它表明具有调整参数的简单 CNN 可以获得出色的结果。 作者还建议对架构进行简单的修改,以允许使用特定于任务的向量和静态向量。
在这里插入图片描述
作者的 CNN 变体具有 2 个词向量通道,如图 1 所示。在这个变体中,一个通道在训练期间保持静态,另一个通过反向传播进行微调。 在多通道变体中,将两个通道的过滤结果相加以形成特征图。
在这里插入图片描述
对于实验设置,使用了表 1 中给定规范的 7 个数据集,其中包括电影评论/客户评论/问题主题。 作为预训练的词向量,作者使用了公开的 word2vec 向量,这些向量是在谷歌新闻的 1000 亿个词上训练的。 向量的维数为 300,并使用连续词袋架构进行训练。

作者已经尝试了多种模型变体,它们是:
CNN-rand:所有单词随机初始化并在训练时更新,
CNN-static:来自 word2vec 的预训练向量保持静态并学习其他参数,
CNN-non-static:与 CNN-static 相同,但预训练向量也经过微调,
CNN-multichannel:如前所述,具有 2 个通道的模型。

表 2 的结果表明,预训练的向量更好,进一步微调比保持静态效果更好,多通道模型不能防止过度拟合,并且 dropout 被证明是一个很好的句子分类正则化方式。

在这里插入图片描述

用于句子分类的卷积神经网络的实现

CNN通常用于计算机视觉处理,就像图像可以表示为像素值(浮点值)数组一样,我们可以将文本表示为CNN可以处理的向量数组(每个单词映射到由整个词汇表组成的向量空间中的特定向量)。当处理序列数据如文本时,使用一维卷积来了解序列中的随着每个卷积层的增加而变得复杂的模式。

根据论文所述内容,我们训练一个卷积神经网络对包含来自“Yelp”的评论的数据集执行句子分类。
流程:

  1. 使用 Pandas 将数据导入并预处理为所需的格式。
  2. 使用 GloVe 为模型获得预训练的词嵌入。
  3. 使用 Keras 在 CNN 架构上训练数据并评估在验证集上获得的准确性。
    在这里插入图片描述

数据集:

从 UCI Machine Learning Repository 的 Sentiment Labeled Sentences Data Set 下载数据集。 该数据集包括来自 IMDb、Amazon 和 Yelp 的标记评论。 每条评论都标有 0 分(表示负面情绪)或 1 分(表示正面情绪)。
把文件夹解压缩到文件夹数据集,使用 Pandas 加载数据:

import pandas as pd
path =/Users/Sidxu/Desktop/dataset/sentiment_labelled_sentences”
filepath_dict = {
   ‘yelp’: ‘sentiment labelled sentences/            
                  yelp_labelled.txt’ ,‘amazon’: ‘sentiment labelled 
                  sentences /amazon_cells_labelled.txt’,‘imdb’: 
                  ‘sentiment labelled sentences/imdb_labelled.txt’}
df_list = []
for source, filepath in filepath_dict.items():
   df = pd.read_csv(filepath, names=[‘sentence’, ‘label’],</
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值