搜索详情-毕业论文网

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回

基于TensorFlow的自然语言处理研究毕业论文

 2021-04-02 21:14:48  

摘 要

本文研究学习Google公司的开源框架TensorFlow,在此框架上利用深度学习技术研究自然语言处理相关内容。由于自然语言处理包含的范围极其广泛,目前深度学习技术在自动文摘、机器翻译、问答系统等领域已经取得比较好的应用。由于本文篇幅有限,本次设计侧重于词语、句法层面的研究,最后构建一个基于seq2seq模型的对话系统。具体实现对话系统的过程:

(1)获取数据集,数据预处理。对数据集切词处理,分为训练,测试两个数据集;

(2)词向量处理,运用tf库的word2vec函数将数据集转化为二进制词向量文件便于处理;

(3)构建模型,训练模型。使用模型为序列到序列模型,用处理好的数据集训练构建的模型。

本文设计的seq2seq会话模型,验证理论上seq2seq模型可以应用到中文问答系统,这种模型比较适合构建会话类的系统,极大提高机器的自然语言处理能力。

关键词:TensorFlow;自然语言处理;对话系统;深度学习;序列到序列模型

Abstract

This article studies Google's open source framework, TensorFlow, which uses depth learning techniques to study natural language-related content. As the natural language processing contains a very wide range, the current depth of learning technology in automatic digest, machine translation, Q amp; A system has made a better application. Due to the limited length of this paper, this design focuses on the study of words and syntactic aspects, and finally constructs a dialogue system based on seq2seq model. The process of implementing a dialogue system:

(1) to obtain data sets, data preprocessing. The data set word processing, divided into training, testing two data sets;

(2) word vector processing, the use of tf library word2vec function of the data set into a binary word vector file to facilitate processing;

(3) to build the model, training model. Using the model for the sequence to the sequence model, with a well-processed data set to build the model.

In this paper, the seq2seq session model can be applied to the Chinese question and answer system. This model is more suitable for constructing the system of conversation class, which greatly improves the natural language processing ability of the machine.

Key Words: TensorFlow; natural language processing; Qamp;A; deep learning; sequence to sequence model

目 录

第1章 绪论 1

1.1研究背景及意义 1

1.2国内外研究现状 2

1.2.1国外研究现状 2

1.2.2国内研究现状 3

1.3研究内容及论文结构 4

第2章 深度学习和自然语言处理相关原理 5

2.1神经网络模型 5

2.1.1传统神经网络模型 5

2.1.2卷积神经网络CNN 7

2.1.3循环神经网络RNN 9

2.2自然语言处理相关原理 12

2.2.1语法分析 13

2.2.2语义分析 14

第3章 自然语言处理系统的实现 16

3.1系统总体设计思想 17

3.2系统工作流程 17

3.3系统具体设计与实现 19

3.3.1数据预处理模块 19

3.3.2生成词向量模块 20

3.3.3训练模块 21

3.3.4测试模块 22

第4章 自然语言处理系统测试与结果分析 23

4.1系统功能测试 23

4.2结果分析 24

第5章 总结与展望 26

5.1总结 26

5.2展望 27

参考文献 28

致谢 29

第1章 绪论

1.1研究背景及意义

自上世纪五六十年代人工智能诞生之后,经过数十年的研究,发展出来的一门分支——机器学习,这门技术推动了现代社会许多方面的发展:从网络搜索到社交网络的内容过滤再到电子商务网站的建议,并且越来越多地在消费类产品中使用,如相机和智能手机。机器学习系统可用于图像处理,语音处理,智能搜索和自动服务系统等诸多领域。但是传统机器学习需要依靠大量的手写编码来进行相关的工作,而且在处理原始形式的自然数据的能力上受到很大的限制。几十年来,构建机器学习系统需要严密的工程设计和相当多的专业领域来设计将原始数据(例如像素值和语音信号)变换为合适的内部表示或特征向量的特征提取器(一般是分类器),然后根据已有的数据对输入进行检测和分类。但随着处理的数据越来越复杂,结果要求越来越精确,传统的机器学习方法也有很大的局限性。随后深度学习概念的出现大大改观了机器学习的发展,特别是21世纪之后,一些重要的发展使深度学习成为可能:

(1)可以训练大规模的深层神经网络;

(2)强大的GPU和编程工具的优化使得可以利用这些大型深层神经网络;

(3)图像,视频和文本等形式的大量数据可用于训练神经网络。

深度学习也称深度神经网络,这种机器学习方法通过建立人造神经网络模拟人类大脑将光和声音处理成视觉和听觉的形式,这种方法取得显著的成效。目前,深度学习方法已经成功地应用于图像识别和语音识别等领域。不仅仅是图像识别和语音识别等技术,自然语言处理(natural language processing,NLP)也是实现人工智能的关键技术。并且要真正实现人工智能的长足发展,我们同样要将深度学习的方法成功地应用在自然语言处理上。然而就目前来看,与图像识别和语音识别相比,深度学习在自然语言处理上的应用还只是起步阶段。但显而易见,这个方面的研究一直都是处在AI领域最前沿的位置,迄今为止国内外相关研究机构在此领域的研究也取得很大的进步。譬如,深度学习的多种方法已经比较成功应用在语言建模,词性标注(POS Tagging),命名实体识别,语句分类和语义分析等NLP技术上。

自然语言处理研究的目标是希望通过图灵测验(包括言语,形式,语法,语义和语用等方面)来解决人类语言的因果关系,逻辑和推理问题。最重要的是,我们知道大数据仅代表历史的规律和预测趋势,但是如果没有因果和逻辑推理,计算机总是无法为人类提供合适的建议和决策。自然语言处理的难点主要是因为语义的复杂性,特别是在中文语言处理中,复杂的语义是广泛存在的,这些因素都给语言处理增加了相当的难度。如果我们真正了解人们如何理解语言,我们可能会使计算机系统做同样的事情,但是由于人类的这种语言理解本领隐藏很深甚至是无意识的,我们只能依靠近似和统计技术来实现机器的自然语言处理,这些又都受限于训练的数据,所以这样也不能使机器做到人类这么灵活地运用语言。

1.2国内外研究现状

近年以来,深度学习在自然语言处理上的研究不断取得新进展,由于语言难度不同和研究水平差距,国内外的自然语言处理研究进展也有很大的差别。

1.2.1国外研究现状

推动深度学习发展的一个主要因素是有关神经网络算法的发展。研究者通过研究发现人脑的功能特点是将信号通过复杂的多层网络模型后提取出有用的信息,这极大地激发了多层网络训练算法的出现,这种算法采用初始值随机法和梯度下降优化策略的反向传播(Back-propagation)神经网络,但这种结构输入和输出之间存在非线性映射关系,只能得到局部最优的结果。而深度神经网络的参数空间很大,前几层的参数的梯度比较小,这都不利于算法收敛到全局较好的解。2006年Hinton提出深度置信网络(Deep belief network, DBN)结构,对组成DBN的每一层结构采用无监督学习训练,这样应用在MNIST手写数字识别中,并且取得很不错的效果[[1]]。2009年,Bengio等提出基于自动编码器(Auto-encoders)的算法,也取得不错的结果[[2]]。这些算法相同点都在每一层局部采用无监督的训练算法,依次来完成中间层的训练目标。但直到2011年,深度神经网络(Deep neural network,DDN)应用在语音识别领域,降低了语音识别20%左右的错误率,2012年又应用在图像识别,经在ImageNet评测后,同样也极大地减小识别的错误率,但是相比于图像识别和语音识别,自然语言处理发展要稍慢一些。最先使用神经网络模型研究的自然语言处理问题是语言模型,目前应用的主流是词向量(Word embedding),这种方法是Bengio在2003年提出的,进一步又提出了n-gram方法[[3]]。2011年Collobert基于卷积神经网络(Convolutional neural network,CNN)[[4]]实现完成自然语言处理任务的SENNA(Semantic/syntactic extraction using a neural network architecture)系统,取得当时业界比较高的准确率。另外,在2010年,Mikolov等提出了一种循环神经网络模型(Recurrent neural network language model, RNN)应用于自然语言处理,这种模型使用了反向传播(Back propagation,BP)优化算法,降低训练参数的数量,取得的效果比n元语法模型中最优法更好。2013年,Mikolov等在论文中提出word2vec模型,这个模型主要运用CBOW模型(Continuous bag-of-words model)和Skip-gram模型(Skip-gram model)[[5]]。

您需要先支付 80元 才能查看全部内容!立即支付

课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。