引言
作者出该系列教程的目的是让大家能够掌握深度学习算法在自然语言处理中应用,同时也希望能够加深自己对自然语言处理的理解。
本文概要
1
什么是自然语言处理?
2
自然语言处理的应用。
3
人类自然语言的特殊之处。
4
ML vs DL在自然语言处理中的应用。
5
为什么深度学习能够得到好的结果?
6
总结本系列课程主要内容?
7
参考文献
正文开始
1
什么是自然语言处理?
自然语言处理是一门交叉学科,它主要涉及计算机科学、人工智能以及人类语言学。该学科的目的是为了让计算机去处理或者“理解”人类的自然语言然后并对此作出一定的反馈。未来,它可以涉及生活中的所有场景(约会、购物、回答问题等)。当下最常见的就是与智能设备的对话如:
问:“今天天气怎么样?”
答:“今天天气是小到中雨,请记得带伞”
自然语言理解的终极目标就是实现AI-Complete[1],它的意思就是能够完全理解和语言代表符号的含义。但是不管以什么标准进行衡量这都是很难达到的,即使拥有最强大脑的人类也很难能达到这一点。
当前自然语言处理的基本流程图如下所示,自然语言理解主要分析的两块分别是句法分析和语义理解。
2
自然语言处理的应用
从简单到复杂,自然语言处理的应用大致可以分为6个部分。
1、拼写的检查、关键词查询、同义词的查询。
2、提取文档或者网站上的关键信息,例如:产品的价格、时间、地点、人名、公司的名字等。
3、做分类。判断网民对于某个事件评价是积极还是消极的,有利于监控舆论导向,做出正确的判断。判断一个客户的情绪状态,并依次给出相应的回答。
4、语言翻译。例如中文翻译成英文,翻译之后能够尽可能的还原另外一种语言索要表达的意思。
5、构建口语对话系统。根据你的输入可以自动识别你的意图,并给出合适的答案。例如:自动化客户支持---聊天助手、
6、复杂问题答案的构建。根据问题自动的检索信息库,并将检索的信息整合返回答案。
3
人类自然语言的特殊之处
人类自然语言系统的目的就是构建并传递说话者/书写者的意图。它不仅仅是一个环境信号,而且是一个有意图的沟通。它可以通过一种“编码”能让小孩子快速的学会并实现人类之间的沟通。
人类的语言系统是离散的、符号化、多种类的信号系统。例如:当我们看到“太阳”两个字,我们就会联想到天上的太阳,看到“月亮”两个字就会联想到月亮;对于汉语来说,它都是使用一个个的汉字(“符号”)组成的,而对于英语来说,它都是使用一个个的字母(“符号”)组成的;人类的语言不仅仅只有汉语、英语,它还包括很多其他的语言例如:法语、日语、俄语等。
一种语言的不同种类的符号可以被以不同的方式编码成一种可以交流的信号,例如:语音(声波)、手势(哑语)、图像(手写体)。
4
ML vs DL在自然语言处理中的应用
在自然语言处理中,当前也有很多机器学习方法具有较好的结果,但是他们都是以人工设计的特征表达作为输入,然后机器通过人工设计好的特征优化参数权重,最后得到比较好的预测。传统的机器学习主要是基于决策树、逻辑回归、朴素贝叶斯、支持向量积等这类概念。
不同于传统机器学习,深度学习[2]是机器学习中的一个重要的子领域。它不需要人工的教授、手写代码而是可以实现自动的学习多层特征表达。
相比机器学习,深度学习的主要优势:
1、机器学习手动设计的特征过于具体、不完整以及会花费很长的时间来设计验证,且效果一般。而深度学习可以自动学习特征表达,会大大节省人力和时间。
2、深度学习学习特征表达速度快、适应性强并且可以不断的学习提升性能,并且比人类之前设计的要好。
3、深度学习能够提供一种非常灵活、通用的学习框架来表征世界、视觉以及语言信息。
4、它可以用于监督学习和非监督学习。
5
为什么深度学习能够得到好的结果?
从2010年开始,深度学习技术开始优于其它机器学习算法。这是因为:
1、当今是个数据“爆炸”的时代,我们永远大量的数据来支持深度学习。
2、当今有更快的计算机以及多核CPU/GPU的支持。
3、新的算法模型的出现
· 更好的灵活学习中间特征表示
· 有效的端到端的系统学习
· 更有效的学习方法在上下文之间以及事物之间的信息传递
6
总结本系列课程主要内容
本篇文章是本次系列课程的一个开端,主要介绍了人类自然语言系统、深度学习以及当今时代的背景。从下一篇文章开始,将会在技术层面介绍自然语言处理。通过本次系列教程你将学到:
1、理解并且能够使用有效的模型方法实现深度学习,其中包含所有的基础知识,并且专门针对NLP进行使用。例如:词向量表示、循环神经网络、注意力模型、等
2、对人类语言有一个大体的了解以及人们在理解和产生语言中所遇到的困难。
3、对于NLP中一些主要问题能够理解并能够创建系统。例如:单词的相似、句法分析、机器翻译、问题回答等等。
7
参考文献
[1]https://en.wikipedia.org/wiki/AI-complete
[2]Schmidhuber, Jürgen. Deep learning in neural networks: An overview[J]. Neural Networks, 2015, 61:85-117.
越努力,越幸运,彼此加油!