项目5 趣味文本1_第1页
项目5 趣味文本1_第2页
项目5 趣味文本1_第3页
项目5 趣味文本1_第4页
项目5 趣味文本1_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

《趣味文本》教学设计1课题:词向量的训练与应用授课对象:中职课型:新授课课时:3~4课时教材分析:结构内容:本节课选自《人工智能通识》的项目七。本节课的主要内容体验自然语言处理的应用,了解自然语言处理技术发展趋势和应用场景,熟悉词的向量表示,掌握一种词向量的调用方法,通过中文词的词向量来找到同类词,通过中文词的词向量来判断两词的相似度。地位作用:如今人工智能已经逐步让人们的生活智能化,让企业服务智能化,那么无论为了工作还是为了跟上时代步伐,有必要去了解人工智能是如何运作的。本节课的学习将带领学生感知自然语言处理技术应用,需要学习关于词向量基本操作,为后面的学习打好基础。学情分析学习心理特征:本节课的授课对象为中职一年级学生该阶段的学生学习自制力较差,上课注意力易被分散,因此在上课过程中,应该采用讲练结合的方式,让学生能够在实践中学习和巩固课程内容。同时该阶段的学生有很多自己的想法和创意,因此在设计任务时,需要给学生一定的自由发挥的空间,让学生自主地学习和实践。另外由于中职一年级的学生水平各不相同,因此教师在学生操作过程中应该实时观察,引导并鼓励基础较差的学生完成练习。知识基础:学生在之前的学习中已经感知到了部分人工智能技术的应用,对代码的实操和概念的理解会有一些基础。教学目标知识与技能目标:了解自然语言处理技术发展趋势和应用场景了解文本表示熟悉gensim工具的使用完成词向量模型的训练掌握一种词向量的调用方法通过中文词的词向量来找到同类词、判断两次的相似度、找异类词、实现词汇加减法过程与方法:使用搜索引擎搜索信息,小组合作讨论自然语言处理中词向量的概念和应用应用。根据教师发布的实训任务书,自主进行通过中文词的词向量来找到同类词、判断两词的相似度。根据教师发布的实训任务书,自主通过中文词的词向量来找到一组词中的异类词、实现词汇加减法。情感态度与价值观:能够体会到自然语言处理技术的奇妙和给生活带来的乐趣。通过小组合作的方式,培养学生的主动参与的意识,强化自身的责任感,以及增强自己的合作能力。教学重难点教学重点:1、什么是文本表示?2、什么是gensim工具?3、完成词向量模型的训练4、熟悉词的向量表示5、掌握一种词向量的调用方法教学难点:通过中文词的词向量来找到同类词通过中文词的词向量来判断两词的相似度通过中文词的词向量来找到一组词中的异类词通过中文词的词向量实现词汇加减法教学方法教法:任务驱动法、理实一体法学法:自主学习法、小组合作学习法教学准备教学环境:人工智能实训室教学资源:派LabAI云课堂,PPT课件,教案,实训源代码,相关素材教学过程教学内容及过程时间分配设计意图一、创设情景【教师活动】现在市场上智能学习机器人特别火,小派的妹妹刚上幼儿园,于是他想要自己动手做一款简易的机器人,作为生日礼物送给妹妹。其中有一个功能是关于汉语词语的,比如人指定一个词,找到它的同类词;人指定多个词,找到其中的异类词等。于是,小派从词向量开始了研究。2分钟该环节通过创设一个生活中真实存在的情景,让学生了解人工智能的应用。二、任务分析【教师活动】 本案例我们主要需要学习词向量的相关原理和操作,为后面的学习打好基础。首先我们需要对如何开展该任务进行分析(该过程可以让学生进行小组讨论回答)预设:首先需要熟悉词的向量表示,接着.掌握一种词向量的调用方法,然后通过中文词的词向量来找到同类词,最后通过中文词的词向量来找到同类词、异类词、实现词汇加减法。【学生活动】小组展开讨论各小组发表自己的任务分析结果【教师活动】对各小组的讨论结果进行评价,最后进行小结,得出最后的任务分析结果:子任务一:熟悉词的向量表示子任务二:训练词向量模型子任务三:通过中文词的词向量来找到同类词、异类词、实现词汇加减法3分钟该环节主要是对本节课的任务的一个讨论分析,在该过程中,让每个学生对接下来要完成的任务进行分析和讨论,让学生成为课堂的主体,提高学生的参与感,提升学生的自主思考能力。三、新知学习任务一:熟悉词的向量表示【教师活动】本节需要掌握以下几个知识点:词的向量化概念、离散表示、分布式表示、gensim词向量工具。【学生活动】根据提出的要点进行理解和感知。【教师活动】1、词的向量化概念  词与向量间的转换过程就叫作词的向量化。自然语言理解的问题要转化为机器学习的问题,第一步肯定是要找一种方法把这些符号数学化。词向量是自然语言处理中常见的一个操作,是搜索引擎、广告系统、推荐系统等互联网服务背后常见的基础技术。关于一个词的编码表示,自然语言处理有一个特点,就是一段话中,一个词的表示是和上下文相关的。问题来了  一个文本,经过分词之后,送入某一个自然语言处理模型之前该如何表示?  例如,“人/如果/没用/梦想/,/跟/咸鱼/还有/什么/差别”,向机器学习模型直接输入字符串显然是不明智的,不便于模型进行计算和文本之间的比较。那么,我们需要一种方式来表示一个文本,这种文本表示方式要能够便于进行文本之间的比较、计算等。  在自然语言处理任务中,词在计算机中的表示方法通常有两种:离散表示(One-hotRepresentation)和分布式表示(DistributionRepresentation)。离散表示  One-hotRepresentation把每个词表示为一个长向量。这个向量的维度是词表大小,向量中只有一个维度的值为1,其余维度为0,这个维度就代表了当前的词。  这种方式相当于给每个词分配一个id,导致不能展示词与词之间的关系。另外,还可能导致特征空间非常大。词袋模型是把文本看成是由一袋一袋的词构成的。有这样两个文本:1.“人/如果/没有/梦想/,/跟/咸鱼/还有/什么/差别”2.“人生/短短/几十/年/,差别/不大/,/开心/最/重要”这两个文本,可以构成这样一个词典:{“人”,“如果”,“没有”,“梦想”,“,”,“跟”,“咸鱼”,“还有”,“什么”,“差别”,“人生”,“短短”,“几十”,“年”,“不大”,“开心”,“最”,“重要”}字典的长度为18,每个词对应有一个索引,所以每个词可以用一个18维的向量表示。“人”表示为:{1,0,0,0,····,0},“如果”表示为:{0,1,0,0,····,0},“重要”表示为:{0,0,0,0,····,1},那么,文本该怎么表示呢?词袋模型把文本当成一个由词组成的袋子,记录句子中包含各个词的个数。文本1:{1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0}文本2:{0,0,0,0,2,0,0,0,0,1,1,1,1,1,1,1,1,1}以文本2为例,用词袋模型可以这么描述:文本2里有0个“人”,0个“如果”,2个“,”,1个“差别”等。词袋模型有以下特点:文本向量化之后的维度与词典的大小相关;词袋模型没有考虑词语之间的顺序关系。词袋模型有以下难点:当语料库很大时,词典的大小可以是几千甚至几万,高维度的向量让计算机很难去计算。其次,词袋模型会造成语义鸿沟现象,即两个表达意思很接近的文本,可能其文本向量差距很大。最后,词袋模型忽略了词序信息,对语义理解来讲是一个极大的信息浪费。【学生活动】小组讨论探究,各组分享探究结果【教师活动】进行总结这里先简单的说一下词的向量化概念然后再总结词袋模型,同学们需要根据每一步骤,学习一个知识点,每个函数的使用方法和参数。最后进行同学答疑。15分钟在该环节中,通过对几个重要概念的介绍和讲解,能够让学生对自然语言处理技术有一定的认知。后续再增加课堂的实践性,让学生对项目的目标成果有个整体理解。【教师活动】请同学们思考,jieba库如何使用呢?预设:jieba库是优秀的中文分词第三方库,中文文本需要通过分词获得单个的词语。  jieba库的分词原理:利用一个中文词库,确定汉字之间的关联概率,汉字间概率大的组成词组,形成分词结果。除了分词,用户还可以添加自定义的词组。jieba库分词有3种模式:精确模式、全模式、搜索引擎模式。【学生活动】思考并回答问题:各模式如何选择【教师活动】精确模式:就是把一段文本精确地切分成若干个中文单词,若干个中文单词之间经过组合,就精确地还原为之前的文本。其中不存在冗余单词。全模式:将一段文本中所有可能的词语都扫描出来,可能有一段文本它可以切分成不同的模式,或者有不同的角度来切分变成不同的词语,在全模式下,Jieba库会将各种不同的组合都挖掘出来。分词后的信息再组合起来会有冗余,不再是原来的文本。搜索引擎模式:在精确模式基础上,对发现的那些长的词语,我们会对它再次切分,进而适合搜索引擎对短词语的索引和搜索。(同学们先动手实践,然后讨论)【学生活动】思考并回答问题30分钟在该环节中,通过提问的方式引出接下来要操作的内容,同时让学生在动手操作之前能够思考为什么要做这个事.另外,让学生动手安装之后再抛出一个问题,让学生讨论发现问题的答案,而不是直接给出,增加学生之间的互动与交流。任务二:训练词向量模型【教师活动】下面我们使用中文文本数据训练词向量模型:步骤1:解压资源文件步骤2:导入包步骤3:文本分词预处理步骤4:词向量训练步骤5:获取模型中的词及其词向量步骤6:查看某个词的词向量首先点击左侧文件夹图标,进入“data-sets”目录,可以看到压缩文件‘wordvec.zip’,其中的reviews_train_101058.txt是我们用来训练词向量的文本数据集。接着导入包,Gensim是本项目使用的一个关键包,它是一款开源的Python工具包,对文本向量的变换是Gensim的核心。代码如下:fromgensim.modelsimportword2vecimportjieba#调用多进程管理包importmultiprocessing接着进行文本分词预处理; 本项目使用的数据是某平台商品的评价记录,在训练词向量之前需要对中文句子进行分词,本项目使用jieba来分词。代码如下:#打开文本,读取数据file=open("./reviews_train_101058.txt")#创建一个空列表,用于存储分词后的数据sentences=[]forlineinfile:temp=line.replace('\n','').split(',,')sentences.append(jieba.lcut(temp[0]))#jieba.lcut()生成分词后的列表file.close()【学生活动】参考实训任务书或派Lab平台上的实训指南,完成词向量训练的实操【教师活动】在学生练习时进行巡视,对一些动手能力较弱的学生进行相关的指导,引导学生完成4-6步骤练习。进行词向量训练时,要将分词结果输入Gensim内建的word2vec对象进行训练。和算法有关的参数都在gensim.models.word2vec.Word2Vec类中,主要参数介绍如下:sentences:分词后的句子列表。min_count:最小词频,默认是5,少于min_count次数的词会被丢弃,能去掉一些很生僻的低频词。window:窗口大小,即词向量上下文最大距离,默认是5。workers:用于训练的线程数。sg:训练的核心算法,0代表skip-gram,1代表CBOW。iter:训练的迭代轮数获取模型中的词和词向量代码如下:#获取模型中的词words=model.wv.index2word#输出前10个词print(words[1:10])#获取模型中对应的词向量vectors=model.wv.vectors#输出前10个词对应的词向量print(vectors[1:10])最后查看某个词的词向量:model.wv['评价']【教师活动】对学生的练习进行简单小结,指出学生常见的错误。30分钟在该环节中,主要介绍词向量相关,当然,这部分要考虑实现难度与学生的能力。给出一批代码样例,有条件的学生可以在此基础上进行改进。这里需要老师带着学生一起去理解代码之间的结构以及代码内部的核心部分。重点了解词向量的训练和应用。让学生对词向量的使用有所认知。任务二:应用词向量进行词汇计算【教师活动】步骤1:解压资源文件步骤2:加载词向量模型步骤3:输出两个词的相似度步骤4:输出词汇的同类词步骤5:输出异类词步骤6:词汇加减法下面我们使用中文文本数据训练词向量模型,然后使用训练出的词向量找同类词、相似度、异类词。首先解压资源文件:'data-sets/wordvec.zip'中包含了预训练好的词向量模型。然后加载词向量模型,使用load函数加载模型。代码如下:fromgensim.modelsimportWord2Vec#导入Word2Vec包用于处理词向量model=Word2Vec.load('./Word60.model')#加载已经训练好的词向量模型接着输出两个词的相似度,调用similarity函数,函数原型即similarity(self,w1,w2),该函数计算给定的两个词w1,w2对应的词向量的余弦相似度。代码如下:text='不错满意'#定义一组词rslt=model.wv.similarity(text.split()[0],text.split()[1])#调用相似度函数计算并输出上面这组词的相似度大小print(rslt)输出词汇的同类词将调用similar_by_word函数,该函数计算给定的词汇与模型中其他所有词对应的词向量之间的相似度,并按从大到小排序,默认输出前10个词,也可以配置函数中的参数topn,输出相似度最高的topn个词。输出异类词是调用doesnt_match函数,函数原型即doesnt_match(self,words),找到给定词列表words中的异常词。该函数核心调用了另一个方法即rank_by_centrality,主要功能是计算给定所有词对应的词向量的均值向量(中心),然后分别计算给定每个词与该中心的余弦相似度,并按从大到小排序。doesnt_match函数直接输出rank_by_centrality函数的返回结果中与中心相似度最小的那个词(余弦距离最大即最远)。最后要进行的词汇加减法,将 调用most_similar函数,并配置参数positive和negative时,能够实现词汇的加减法。该函数实现的是将positive对应的

温馨提示

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

评论

0/150

提交评论