基于Seq2Seq的机器人聊天应用实践

来源 :客联 | 被引量 : 0次 | 上传用户:zxc00663340
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:自然语言处理(NLP)中的语言对话一直是机器学习的“圣杯”,也是机器学习挑战图灵测试的主力。从人工智能的概念被提出开始,语言对话任务一直是业界研究的热点,本文通过NLP基础理论知识、Seq2Seq模型来介绍中文聊天机器人的原理,并使用TensorFlow 2.0的高阶API完成编程。
  关键词:深度学习;Seq2Seq模型;机器人聊天;Tensorflow2.0
   目前机器学习,尤其是深度学习,已经成功的解决了图像识别的问题。从IMAGENET大赛的近几年成绩看,识别类问题准确度已经接近100%。与此同时,机器学习在解决“语音到文字”(Speech to Text)以及“文字到语音” (Text to Speech)方面也有了飞跃。聊天机器人的研究可以追溯到上个世纪五十年代,阿兰图灵提出了一个图灵测试来回答“机器能思考吗”的问题,随后掀起了人工智能研究的热潮。聊天机器人可应用于多个人机交互场景,比如问答系统、谈判、电子商务、辅导等。最近,随着移动终端数量的急剧增加,它也可以用于手机终端的虚拟助理,如Apple的Siri、微软的Cortana、Facebook的Messenger,Google助手等,让用户更容易地从终端上获取信息和服务。
  一、机器人聊天基础理论知识简介
   (一)语言模型
  语言模型其实是一个打分模型,通过对一句话进行打分来判断这句话是否符合人类的自然语言习惯。语言模型的发展历史久远,经历了统计语言模型、n-gram语言模型和神经网络语言模型三个阶段。
   统计语言模型是统计每个词出现的频次来形成词频字典,然后根据输入计算下一个输出词的概率,最后形成输出语句的。统计语言模型输出语句的概率是依据贝叶斯公式进行链式分解计算得到的,计算公式如下:p(w1,w2,w3,…,wn)=p(w1)p(w2|w1)p(w3|w1w2)…p(wn|w1w2w3…wn),这样的计算求解方法虽然直观、明了,但存在着致命的缺陷。我们细想一下就会发现,如果字典中有1000个词,当处理一个句子长度为3的语句时,则需要计算输出语句概率P的数量是10003;当句子长度为10时,需要计算输出语句概率P的数量是100010。在计算完输出语句的概率之后,需要选择P值输出语句作为最终的生成语句。以上计算过程在通用算力下几乎是不可能完成的。
   由上我们发现,利用统计语言模型计算输出语句概率的数量大到无法计算,是由依据贝叶斯公式通过链式法则进行展开后全量连乘所引起的,那么解决这个问题的方法只有一个,就是缩短连乘的长度,其理论依据是马尔可夫假设。简单来说,所谓的马尔可夫假设就是指当前的状态只与过去有限时间内的状态有关。基于马尔可夫假设的语言模型称为n-gram,这里的n表示马尔可夫链的长度,表示当前状态与前n-1个时间点事件有关。当n=1时,表示一个词出现的概率与其周围的词出现的概率是相互独立的,称为unigram。在unigram中,假设字典大小为1000,我们所需计算的输出语句概率P的数量为1000。依此类推,当n=2时,表示一个词出现的概率只与其前一个词出现的概率有关,称为bigram。在bigram中,假设字典大小为1000,我们所需计算的输出语句概率P的数量为1000×1000。当n=3时,表示一个词出现的概率只与其前两个词出现的概率有关,称为trigram。在trigram中,假设字典大小为1000,我们所需计算的输出语句概率P的数量为1000×1000×1000。一般我们选择 trigram,因为如果n过大的话,则同样会出现统计语言模型遇到的问题。
   神经网络语言模型是Begio等人在2003年发表的A Neural Probabilistic Language Model论文中提出的方法,其在n-gram语言模型的基础上进行了改进。神经网络语言模型采用one-hot(独热编码)表示每个词的分布情况,将输入语句进行编码转换后输入神经网 络,经过tanh非线性变换和softmax归一化后得到一个总和为1的向量,在向量中最大元素的下标作为输出词的字典编码,通过字典编码查询字典得到最终的输出词。
   (二)循环神经网络
   循环神经网络(Recurrent Neural Network,RNN)是神经网络专家Jordan、Pineda.Williams、Elman等人于20世纪80年代末提出的一种神经网络结构模型,这种网络的特征是在神经元之间既有内部的反馈连接又有前馈连接。当前主流的NLP应用都集中在RNN领域。
   RNN的提出是神经网络语言模型领域一次非常大的突破,但人们在应用的过程中发现RNN存在两个致命的缺陷:梯度消失和梯度爆炸。
  二、Seq2Seq模型介绍
   Seq2Seq的全称是Sequence to Sequence,它是基于Encoder- Decoder框架的RNN的变种。Seq2Seq引入了Encoder-Decoder框架,提高了神經网络对长文本信息的提取能力,取得了比单纯使用LSTM 更好的效果。目前Seq2Seq在各种自然语言处理的任务中得到大量的应用,最常用的是语言翻译和语言生成。Seq2Seq中有两个非常重要的概念需要我们掌握,其中一个是Encoder-Decoder框架;另一个是 Attention机制。
   (一)Encoder-Decoder框架
   Encoder-Decoder是处理输入、输出长短不一的多对多文本预测问题的框架,其提供了有效的文本特征提取、输出预测的机制。Encoder-Decoder框架包含两部分内容,分别是Encoder(编码器)和Decoder(解码器)。
   (1)编码器
   编码器的作用是对输入的文本信息进行有效的编码后将其作为解 码器的输入数据。编码器的目标是对输入的文本信息进行特征提取,尽量准确高效地表征该文本的特征信息。    (2)解碼器
   解码器的作用是从上下文的文本信息中获取尽可能多的特征,然后输出预测文本。根据对文本信息的获取方式不同,解码器一般分为4种结构,分别是直译式解码、循环式解码、增强循环式解码和注意力机制解码。
   (二)Attention机制
   Attention机制有效地解决了输入长序列信息时真实含义获取难的问题,在进行长序列处理的任务中,影响当前时刻状态的信息可能隐藏在前面的时刻里,根据马尔可夫假设这些信息有可能就会被忽略掉。神经网络模型没有办法很好地准确获取倒装时序的语言信息,要解决这个问题就需要经过训练自动建立起句子间的关联关系,这就是Attention机制。
  三、基于seq2seq项目工程结构设计
   整个项目工程结构分为两部分:文件夹和代码文件,在编程实践中建议采用文件夹和代码文件的方式来设计项目工程结构。所谓的文件夹和代码文件的方式是指把所有的Python代码文件放在根目录下,其他需要存放的静态文件、训练数据文件和模型文件等都放在文件夹中。本项目分为5个部分:配置工具(getConfig.py)、数据预处理器(data_util.py)、神经网络模型(seq2seqModel.py)、执行器(execute.py)和应用程序(app.py)。配置工具提供了通过配置文件来全局配置神经网络超参数的功能;数据预处理器提供了数据加载功能;神经网络模型实现了Seq2Seq神经网络;执行器提供了训练模型保存、模型预测等功能;应用程序是一个基于Flask用于人机交互的简单Web应用程序。在文件夹中,model_data存放训练导出的模型文件;train_data存放训练数据;templates存放HTML渲染模板;static存放JS等静态文件。具体功能如下所述。
   (一)工具类实现
   在实际的编程中,往往需要对参数进行频繁的调整,因此我们定义一个工具类来读取配置文件中的配置参数,这样当需要调参时,只需对配置文件中的参数进行调整即可。
   (二)data_util实现
   data_util对原始语料数据根据其格式特点进行初步处理,比如将问句和答句分开、对语料进行分词等。
   (三)seq2seqModel实现
   seq2seqModel是本文的核心内容,我们按照Encoder-Decoder框架构建一个完整的Seq2Seq模型。
   (四)执行器实现
   执行器提供创建模型、保存训练模型、加载模型和预测的功能,在编程实践中分别定义了create_model函数、train函数和预测函数用于实现以上功能。
   (五)Web应用实现
   Web应用的主要功能包括完成页面交互、图片格式判断、图片上传以及预测结果的返回展示。这里我们使用Flask这个轻量级Web应用框架来实现简单的页面交互和预测结果展示功能。
  四、结论
   本文介绍了seq2seq的结构、应用及基本实现。seq2seq属于encoder-decoder结构的一种,其基本思想就是利用两个RNN,一个RNN作为encoder,另一个RNN作为decoder。encoder负责将输入序列压缩成指定长度的向量,这个向量就可以看成是这个序列的语义,这个过程称为编码,而decoder则负责根据语义向量生成指定的序列,这个过程也称为解码。本文为应用seq2seq框架的技术人员提供了一个较为详细的使用价值。
  
  【参考文献】
  [1] 张鹤凝等.基于seq2seq模型的心理咨询对话系统的研究[J],信息记录材料,2021(3).
  [2] 张宇等.融入注意力机制的深度学习动作识别方法[J],电讯技术,2021(4).
  [3] 闫涛. 深度学习算法实践 [M]. 电子工业出版社出版社,2020.
  [4] 王宇石等.一种基于卷积神经网络的违禁品探测系统及部署方法[J],科技创新与应用,2020(7).
其他文献
摘 要:马铃薯这一食材在我国有着深远历史,并且在人们的日常生活中深受人们的喜爱,马铃薯属于一种本草植物,并且相对种植的难度并不大,在国内的各大小市场中都能够经常见到的一种食材。马铃薯也是我国种植的主要粮食作物,其本质中富含大量的淀粉,还能够通过加工技术制作“土豆粉”。马铃薯本身也有着一定的药用价值,它的根茎入药能够起到消肿的作用,还有止痛的功效。几年来随着市场需求不断增加,也在不断的调整着农业产业
期刊
摘 要:俗话说的好“民以食为天”,粮食为老百姓生活所系。作为广大百姓生活的基础与重要保证,水稻种植不仅关系到我国百姓的日常生活,更关系到水稻种植人员的经济效益。当前,在大量科研人员的不断研究以及科学技术的快速发展下,水稻已在我国大部分地区范围内得到广泛普及与种植,并实现了大批量生产;给我国乃至全世界人民的温饱带去了重大保障。  关键词:水稻;种植技术;病虫害防治   现代化社会生活背景下,在日常
期刊
摘 要:2019年9月2日,国务院办公厅印发《体育强国建设纲要》,根据纲要内容,我们要在科学发展观的指导下,以人为本、统筹兼顾,更加有效地为人民群众提供体育公共服务,实现体育强国战略。  关键词:健康管理;体质健康  一、软件功能设计设想   用户在平台可以通过学号工号和第三方登录,例如QQ,微信。身体健康数据支持手动录入、设备录入或者与校医院的数据系统进行对接,获得用户的体征数据档案;平台根据
期刊
摘 要:牙齿健康问题是目前最主要的口腔问题之一,牙齿疾病具有发病率高覆盖面广的特点,影响国民生活质量。传统的检测方法包括视诊、探诊、X线片等。对牙齿甚至身体伤害大。将现今热门的机器视觉技术应用于口腔疾病诊断,创新设计基于机器视觉模式识别的口腔诊断算法。为了精确的诊断口腔疾病,设计了一种基于卷积神经网络的口腔牙齿疾病诊断系统。该系统利用传感器摄像头采集口腔图像,并使用GoogLeNet网络模型对图像
期刊
摘 要:本文对基于遗传算法的智能组卷考试系统进行研究。遗传算法具有根据用户的具体需求能够自动修正的特殊优势,适合应用在智能组卷考试系统中。本文旨在研究开发一个功能相对完善的考试系统,系统使用的是一种改进型的遗传算法。该考试系统具有良好的功能优势和应用优势,系统维护成本低,具有较高的使用价值和应用价值。  关键词:遗传算法;智能组卷;考试系统      在计算机广泛普及及人工智能飞速发展的时代
期刊
摘 要:在新时代的发展条件下,社会对于人才的要求越来越高,高校也越来越重视思想政治工作的开展。希望能够培养德才兼备的高素质人才,在未来工作的过程中能够为个人成长打下良好的基础,同时也能够为社会做出更多的贡献。本文在研究的过程中,首先探索了新时代高校思想政治工作的三全育人机制,对于三全育人模式的基本要求以及重要意义进行了深入探索。同时提出了完善三全育人管理措施以及全方位的育人培养方案,希望能够为新时
期刊
摘 要:违约解除后会产生恢复原状、采取补救措施以及赔偿损失的后果,对于赔偿损失的请求权性质,学理上存在争议,主要是债务不履行说和违约责任说。而实务中最高人民法院在前后的公报案例中也作出不同认定,这不利于统一裁判适用。对此,需要从现行法、域外法比较、学理分析、《中华人民共和国民法典》规则的变化等角度对其进行阐述,以支持违约责任说为目标。  关键词:违约解除;损害赔偿请求权;违约责任说;债务不履行说 
期刊
摘 要:社会持续进步致使电子信息技术快速发展,导致当前的经济状况产生显著的变更,网络经济变为当前时代的重要经济形式。对比于经典经济模式而言,网络经济具备更多长处,交易空间、交易形式等要素对其造成的干扰较小,对于世界一体化的国际经济贸易进步贡献了一定的力量。文章从网络经济概况起始,研究其意义和特点,研究这一模式对国际经济贸易造成的影响,重点从积极影响和消极影响两部分展开研究分析,并给出了具有指向性的
期刊
摘 要:本文介绍了一种便携式水环境水质采集装置,它解决了现有的便捷式水质环境监测装置存在的缺陷,采样人员可以快速抽取河道内的水,操作方便快捷,通过在滑动座上固定安装有与收集瓶对应的出水头,能够方便导入多组收集瓶内进行收集,方便进行分类,提高了工作效率。  关键词:水环境;水质;采集装置  Abstract: This paper introduces a portable water enviro
期刊
摘 要:随着互联网时代的发展,现代媒介融合趋势加强,新媒体语境下的受众主体逐渐开始发生转变。本文从受众主体性的变化探析新媒体语境下“受众”到“用户”的角色特点及转变,对新媒体时代下受众心理作出简要分析,并对新媒体的发展提出相应建议。  关键词:新媒体;受众观;演变  一、媒介受众观及新媒体时代受众特征   媒介与受众之间存在着一种互相依存的关系,媒介的属性决定了其必须要面对受众,而受众又在一定程
期刊