深度学习技术应用课件:自定义神经网络对电影评论文本分类_第1页
深度学习技术应用课件:自定义神经网络对电影评论文本分类_第2页
深度学习技术应用课件:自定义神经网络对电影评论文本分类_第3页
深度学习技术应用课件:自定义神经网络对电影评论文本分类_第4页
深度学习技术应用课件:自定义神经网络对电影评论文本分类_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

TensorFlow实现文本分类深度学习应用技术项目引导案例

情感分析是种有趣的自然语言处理应用,对文本数据中包含的情绪进行解析和分类,衡量人们的观点倾向。

例如被用来分析观众对电影的评论或由该电影引起的情绪状态,又例如将在线客户对产品或服务的反馈按照正面或负面的体验进行分类。项目引导案例自定义神经网络对电影评论文本分类01使用评论文本将影评分为积极(positive)或消极(nagetive)两类,也就是文本的情感分析使用Kears和TensorflowHub对电影评论进行文本分类02使用Keras构建模型进行文本分类,TensorFlowHub模型训练过程,用评估模型准确率的方法并进行预测思考一下,大家知道自然语言处理还应用在哪些方面吗?项目引导案例自定义神经网络对电影评论文本分类职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08

自定义神经网络对电影评论文本分类了解自然语言处理发展史,技术,应用研究;理解文本分类概念、分类输入数据、文本分类过程相关知识;理解情感分析概念、层次及方法。能够导入IMDB数据集并浏览数据能够对文本进行数据预处理能够使用嵌入(Embedding)方法构建简单的文本分类模型能够对进行文本分类模型训练并对模型进行评估职业能力目标01知识目标技能目标职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08

自定义神经网络对电影评论文本分类

了解自然语言处理的相关知识,构建神经网络模型,利用下载的IMDB数据集进行模型训练和模型评估。任务描述任务要求下载IMDB数据集并对其进行预处理;构建神经网络模型;完成模型训练;绘制损失值图表和准确率图表。任务描述与要求02职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08

自定义神经网络对电影评论文本分类任务分析自然语言处理技术是怎么做情感分析?想一想如何自定义神经网络?任务分析与计划03任务计划表通过上面的思考,你是否对本任务要完成的工作有所了解?让我们一起来制订完成本次任务的实施计划吧!任务分析与计划03项目名称TensorFlow实现文本分类任务名称自定义神经网络对电影评论文本分类计划方式自主设计计划要求请用8个计划步骤来完整描述出如何完成本次任务序号任务计划1

2

3

4

5

6

78职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08

自定义神经网络对电影评论文本分类文本分类204知识储备自然语言处理1情感分析3自然语言处理04自然语言处理(NaturalLanguageProcessing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理主要应用于机器翻译、舆情监测、自动摘要、观点提取、文本分类、问题回答、文本语义对比、语音识别、中文OCR等方面。自然语言处理发展史04第一阶段第二阶段第三阶段③统计自然语言处理(90年代开始):基于统计的机器学习开始流行,很多NLP开始用基于统计的方法来做。①早期自然语言处理(60~80年代):基于规则来建立词汇、句法语义分析、问答、聊天和机器翻译系统。②神经网络自然语言处理(2008年之后):深度学习开始在语音和图像发挥威力。基于传统机器学习的自然语言处理技术04

自然语言处理可将处理任务进行分类,形成多个子任务,传统的机械学习方法可利用SVM(支持向量机模型)、Markov(马尔科夫模型)、CRF(条件随机场模型)等方法对自然语言中多个子任务进行处理,进一步提高处理结果的精度基于传统机器学习的自然语言处理技术04模型的性能过于依赖训练集的质量,需要人工标注训练集,降低了训练效率不足1传统机器学习模型中的训练集在不同领域应用会出现差异较大的应用效果,削弱了训练的适用性,暴露出学习方法单一的弊端不足2无法人工标注出更抽象、更高阶的自然语言特征,使得传统机器学习只能学习预先制定的规则,而不能学规则之外的复杂语言特征不足3基于深度学习的自然语言处理技术04

深度学习是机器学习的一大分支,在自然语言处理中需应用深度学习模型,如卷积神经网络、循环神经网络等,通过对生成的词向量进行学习,以完成自然语言分类、理解的过程。04能够以词或句子的向量化为前提,不断学习语言特征,掌握更高层次、更加抽象的语言特征,满足大量特征工程的自然语言处理要求优势1深度学习无需专家人工定义训练集,可通过神经网络自动学习高层次特征。优势2基于深度学习的自然语言处理技术词法分析基于大数据和用户行为的分词后,对词性进行标注、命名实体识别,消除歧义。应用场景:各大手机厂商语音助手。文本分类对文章按照内容类型(体育、教育、财经、社会、军事等等)进行自动分类,为文章聚类、文本内容分析等应用提供基础支持。应用场景:垃圾过滤,新闻分类,词性标注等。文本纠错识别文本中有错误的片段,进行错误提示并给出正确的建议文本内容。应用场景:写作类平台。

情感分析能够对文本信息进行“情感”上的正向、负向及中性进行评价。应用场景:评论分析与决策。应用研究0404知识储备文本分类2自然语言处理112情感分析3文本分类(textclassification),指的是将一个文档归类到一个或多个类别中的自然语言处理任务。应用场景非常广泛,涵盖垃圾邮件过滤、垃圾评论过滤、自动标签、情感分析等任何需要自动归档文本的场合。文本的类别有时又称作标签,所有类别组成了标注集,文本分类输出结果一定属于标注集。文本分类是一个典型的监督学习任务,其流程离不开人工指导:人工标注文档的类别,利用语料训练模型,利用模型预测文档的类别。文本分类04分类输入数据0401

02分类数据通过稀疏张量(sparsetensors)表示最有效,稀疏张量是具有非常少的非零元素的张量。分类数据是指表示来自有限选择集的一个或多个离散项的输入特征。例如,它可以是用户观看的电影集,文档中的单词集或人的职业。分类输入数据04构建电影推荐模型,可以为每个可能的电影分配一个唯一的ID,通过用户观看过的电影的稀疏张量来表示每个用户。矩阵的每一行是捕获用户的电影观看历史的示例,被表示为稀疏张量,因为每个用户仅观看所有可能电影的一小部分。最后一行对应于稀疏张量[1,3,999999],使用电影图标上方显示的词索引。04文本分类过程特征抽取语料预处理索引词频统计分类器训练测试结果评价04知识储备文本分类2自然语言处理112情感分析3情感分析04文本情感分析又称意见挖掘、倾向性分析等。简单而言,是对带有情感色彩的主观性文本进行分析、处理、归纳和推理的过程。文本情感分析指的是提取文本中的主观信息的一种NLP任务,目标通常是找出文本对应的正负情感态度。情感分析可以在实体、句子、段落乃至文档上进行。情感分析04

文本情感分析的基本流程如下图所示,包括从原始文本爬取,文本预处理,语料库和情感词库构建,以及情感分析结果等全流程。04情感分析层次A篇章级别的情感分类是指定一个整体的情绪方向/极性,即确定该文章是否传达总体正面或负面的意见。04情感分析层次B句子级。由于句子的情感分析离不开构成句子的词语的情感,其方法划分为三大类:其一,基于知识库的分析方法;其二,基于网络的分析方法;其三,基于语料库的分析方法。04情感分析层次C词语级的情感是句子或篇章级情感分析的基础。其方法主要可归纳为三类其一,基于词典的分析方法;其二,基于网络的分析方法;其三,基于语料库的分析方法。情感分析方法04(1)基于情感词典的方法先对文本进行分词和停用词处理等预处理,再利用先构建好的情感词典,对文本进行字符串匹配,从而挖掘正面和负面信息。该方法依赖于情感词典的构建和判断规则质量,而这两者都需要耗费很多人力,包括人工设计和先验知识。情感分析方法04(2)基于机器学习的方法其流程如下:首先人工标注文本倾向性作为训练集,提取文本情感特征,通过机器学习的方法构造情感分类器,通过分类器进行倾向性分类。该方法的模型训练依赖于标注数据集的质量,高质量的数据集需要投入大量人工成本。需要高质量的特征构造和选取。情感分析方法04(3)基于深度学习的方法该方法避免人工提取特征的工作,通过Word2Vec模拟词语之间联系,有局部特征抽象画以及记忆功能,在情感分类中具有极大优势。主要分为两个步骤:评论语料表达为语义词向量;通过不同语义合成方法用词向量,得到对应句子或文档的特征表达式,最后通过深度神经网络进行分类。三种情感分析方法对比04职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08

自定义神经网络对电影评论文本分类数据集准备204环境配置1模型构建3模型评估5任务实施模型训练4环境配置05导入并导入Tensorflow1.安装并导入安装包Windows系统安装:pipinstallLinux系统安装:sudopipinstall数据集准备204环境配置1模型构建3模型评估5任务实施模型训练4数据集准备05数据下载1.IMDB数据集下载IMDB数据集打包在Tensorflow中。已经过预处理,评论(单词序列)已经被转换为整数序列,其中每个整数表示字典中的特定单词。参数num_words=10000保留了训练数据中最常出现的10,000个单词。为了保持数据规模的可管理性,低频词将被丢弃。数据集准备05数据格式了解2.数据格式了解该数据集中每个样本都是一个表示影评中词汇的整数数组。每个标签都是一个值为0或1的整数值,其中0代表消极评论,1代表积极评论。数据集准备05整数转换回单词3.整数转换回单词下载映射单词到整数索引的词典。使用decode_review函数来转换单词数据集准备05整数数组必须在输入神经网络之前转换为张量。这种转换可以通过以下两种方式来完成:4.数据处理(1)将数组转换为表示单词出现与否的由0和1组成的向量,类似于one-hot编码。(2)填充数组来保证输入数据具有相同的长度,然后创建一个大小为max_length*num_reviews的整型张量。数据集准备05用pad_sequences函数来使长度标准化keras.preprocessing.sequence.pad_sequences(sequences,maxlen=None,padding='pre',value=0):•sequences:浮点数或整数构成的两层嵌套列表。•maxlen:None或整数,为序列的最大长度。大于此长度的序列将被截短,小于此长度的序列将在后部填0。•padding:pre或post,确定当需要补0时,在序列的起始还是结尾补(默认为pre)。•value:浮点数,此值将在填充时代替默认的填充值0。数据集准备204环境配置1模型构建3模型评估5任务实施模型训练4模型构建05神经网络由堆叠的层来构建,这需要从两个主要方面来进行体系结构决策:1.构建分类器•模型里有多少层•每个层里有多少隐层单元(hiddenunits)模型构建05层按顺序堆叠以构建分类器:第一层是嵌入层,该层采用整数编码的词汇表,并查找每个词索引的嵌入向量。向量输出数组增加了一个维度,得到的维度为:(batch,sequence,embedding)。接下来,全局池化层1D将通过对序列维度求平均值,来为每个样本返回一个定长输出向量。这允许模型以尽可能最简单的方式处理变长输入。该定长输出向量通过一个有16个隐层单元的全连接层传输。最后一层与单个输出结点密集连接,使用Sigmoid激活函数,其函数值为介于0与1之间的浮点数,表示概率或置信度。模型构建05一个模型需要损失函数和优化器来进行训练2.配置优化器和损失函数二分类问题且模型输出概率值(一个使用sigmoid激活函数的单一单元层),使用binary_crossentropy损失函数。这不是损失函数的唯一选择,例如,可以选择mean_squared_error。但通常binary_crossentropy更适合处理概率,它能够度量概率分布之间的“距离”。数据集准备05tf.keras.Mpile(optimizer,loss,metrics)optimizer:模型训练使用的优化器,可以从tf.keras.optimizers中选择。loss:模型优化时使用的损失值类型,可以从tf.keras.losses中选择。metrics:训练过程中返回的矩阵评估指标,可以从tf.keras.metrics中选择。数据集准备204环境配置1模型构建3模型评估5任务实施模型训练4模型训练05在训练时,检查模型在未见过的数据上的准确率(accuracy)1.创建验证集通过从原始训练数据中分离10,000个样本来创建一个验证集。为什么现在不使用测试集?我们的目标是只使用训练数据来开发和调整模型,然后只使用一次测试数据来评估准确率(accuracy))模型训练05以512个样本的mini-batch大小迭代40个epoch来训练模型2.训练模型对partial_x_trai和partial_y_trainn张量中所有样本的的40次迭代。在训练过程中,监测来自验证集的10,000个样本上的损失值(loss)和准确率(accuracy)数据集准备05tf.keras.Model.fit(x,y,batch_size,epochs,validation_data)•x:训练集数组。•y:训练集标签数组。•batch_size:批处理数量。•epochs:迭代次数。•validation_data:验证集数组。数据集准备204环境配置1模型搭建3模型评估5任务实施模型训练4模型评估05计算准确率1.计算准确率model.fit()返回一个History对象,该对象包含一个字典,其中包含训练阶段所发生的一切事件:模型评估05绘制损失值图标2.绘制损失值图标数据集准备05tf.keras.Mpile(optimizer,loss,metrics)•plt.plot(x,y,style,label):根据数据画图。

x:横坐标对应数值。

y:纵坐标对应数值。

style:绘图风格。

label:标签名。•plt.xlabel:给横坐标命名。•plt.ylabel:给纵坐标命名。•plt.legend:新增图例。•plt.show():展示图表。模型评估05准确率图表绘制3.绘制准确率图表职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08

自定义神经网络对电影评论文本分类任务检查与评价061、请参照评价标准完成自评和对其他小组的互评。2、各组请代表分析本组任务实施经验。项目名称TensorFlow实现文本分类任务名称自定义神经网络对电影评论文本分类评价方式可采用自评、互评、老师评价等方式说明主要评价学生在项目学习过程中的操作技能、理论知识、学习态度、课堂表现、学习能力等

评价内容与评价标准序号评价内容评价标准分值得分1理论知识(15%)了解自然语言处理的基本概念、分类的基本概念。(15分)15分

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论