探讨自然语言处理技术学习与思考
探讨自然语言处理技术学习与思考



发展前景
- 自然语言处理的十个发展趋势:https://blog.csdn.net/heyc861221/article/details/80130981
- 自然语言处理产业情况:https://www.itjuzi.com/ai#map

- 自然语言处理相关工作的前景:http://www.52nlp.cn/job-prospects-for-natural-language-processing

- 2017 年中国人工智能产业数据报告:http://www.caict.ac.cn/kxyj/qwfb/qwsj/201804/P020180213603539476032.pdf

思考:如何学习自然语言处理的问题?
- 综述了解,整体技术框架掌握
- 侧重方向,多看论文和会议文章
- 知其原理,重在实际应用
- 归纳总结,提高研究效率
- 资料检索,高效学习效率
自然语言处理跨学科基础介绍
NLP与数学
线性数学
自然语言处理是以计算机科学、统计学、数学和信息论等多个领域交叉的学科。线性代数又是数学的一个重要分支,对自然语言处理有着很直接的影响。诸如:算法建模、参数设置、验证策略、识别欠拟合和过拟合等等。读者往往知道线性代数很有用,常常全书通读。造成时间不足和效率较低。归因于对线性代数在机器学习中的重点和用途不明。本章主要以简明的方式介绍最常用的线性代数知识,并使读者知道线性代数常用于哪些方面。
概率论
由于基于规则方法向基于统计方法的转型,概率就显得尤为重要,诸如一些随机事件、独立假设、条件概率、完全概率等等。然后对贝叶斯模型进行案例式介绍,旨在读者深度理解。
NLP与统计学
在数据科学中,统计地位尤为显著。其在数据分析的基础上,研究如何测定、收集、整理、归纳和分析反映数据规律,以便给出正确消息的科学。通过揭示数据背后的规律和隐藏信息,给相关角色提供参照价值,做出相应的决策。这在数据挖掘、自然语言处理、机器学习都广泛应用。
百度EChart:http://echarts.baidu.com/examples/
地图案例应用场景
适合的场景
- 某年度国家各个省州的人口情况。 分级统计地图较多的是反映呈面状但属分散分布的现象,如反映人口密度、某农作物播种面积的比、人均收入等。
不适合的场景
- 2008 年美国总统大选结果。 民主党候选人奥巴马和共和党候选人麦凯恩胜出的州分别用蓝色和红色表示。这个例子的选举可视化很容易给用户造成简介中提到的错觉:数据分布和地理区域大小的不对称。共和党比民主党获得了更多的投票,因为红色的区域所占的面积更大。但是在美国总统大选中,最后的结果是看候选人获得的选举人票数,每个州拥有的选举人票数是不一样的,在一个州获胜的选举人将得到该州所有的选举人票数。纽约州虽然面积很小,却拥有33张选举人票,而蒙大拿州虽然面积很大,却只有3票。
统计可视化

图5-9 iphone销量地图
NLP与机器学习
什么是机器学习
机器学习就是指“计算机利用经验自动改善系统自身性能的行为”。简言之,机器学习是指通过计算机学习数据中的内在规律性信息,获得新的经验和知识,以提高计算机的智能性,使计算机能够像人那样去决策。
机器学习已经有了十分广泛的应用,例如:数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人运用。
机器学习发展简史
- 1943年, Warren McCulloch 和 Walter Pitts 提出了神经网络层次结构模型 , 确立为神经网络的计算模型理论, 从而为机器学习的发展奠定了基础。
- 1950年, “人工智能之父”图灵发提出了著名的“图灵测试”,使人工智能成为了计算机科学领域一个重要的研究课题。
- 1957年, 康内尔大学教授 Frank Rosenblatt 提出感知器概念,并且设计出了第一个计算机神经网络,这个机器学习算法成为神经网络模型的开山鼻祖。
- 1959年, 美国 IBM 公司的 A. M. Samuel设计了一个具有学习能力的跳棋程序,曾经战胜了美国一个保持 8 年不败的冠军。这个程序向人们初步展示了机器学习的能力。
- 1962年, Hubel 和 Wiesel 发现猫脑皮层中独特的神经网络结构可以有效降低学习的复杂性,从而提出著名的 Hubel-Wiesel 生物视觉模型,以后提出的神经网络模型均受此启迪。
- 1969 年,人工智能研究的先驱者 Marvin Minsky和 Seymour Papert 出版了对机器学习研究具有深远影响的著作《Perceptron》, 此后的十几年基于神经网络的人工智能研究进入低潮。
- 1980 年, 在美国卡内基·梅隆大学举行了第一届机器学习国际研讨会, 标志着机器学习研究在世界范围内兴起。
- 1986 年,Rumelhart、Hinton 和 Williams 联合在《自然》杂志发表了著名的反向传播算法(BP) , 首次阐述了 BP 算法在浅层前向型神经网络模型的应用,从此,神经网络的研究与应用开始复苏。
- 1989 年, 美国贝尔实验室学者 Yann LeCun 教授提出了目前最为流行的卷积神经网络( CNN) 计算模型,推导出基于 BP 算法的高效训练方法, 并成功地应用于英文手写体识别。CNN 是第一个被成功训练的人工神经网络,也是后来深度学习最成功、应用最广泛的模型之一。
- 90 年代后, 多种浅层机器学习模型相继问世,诸如逻辑回归、支持向量机等.基于统计规律的浅层学习方法比起传统的基于规则的方法具备很多优越性, 取得了不少成功的商业应用的同时, 浅层学习的问题逐渐暴露出来,由于有限的样本和计算单元导致对数据间复杂函数的表示能力有限,学习能力不强,只能提取初级特征。
- 2006 年, 在学界及业界巨大需求刺激下, 特别是计算机硬件技术的迅速发展提供了强大的计算能力。机器学习领域的泰斗 Geoffrey Hinton 和 Ruslan Salakhutdinov 发表文章 ,提出了深度学习模型, 主要论点包括:多个隐层的人工神经网络具有良好的特征学习能力;通过逐层初始化来克服训练的难度,实现网络整体调优。这个模型的提出, 开启了深度神经网络机器学习的新时代。
-
2012 年, Hinton 研究团队采用深度学习模型赢得计算机视觉领域最具影响力的 ImageNet 比赛冠军,从而标志着深度学习进入第二个阶段。
-
至今, 在云计算、大数据、计算机硬件技术发展的支撑下,深度学习近年来在多个领域取得了令人赞叹的进展,推出一批成功的商业应用,诸如谷歌翻译,苹果语音工具 Siri, 微软的 Cortana 个人语音助手,蚂蚁金服的扫脸技术,特别是谷歌 AlphaGo 人机大战获胜的奇迹等, 使机器学习成为计算机科学的一个新的领域。
自然语言处理和机器学习的联系
语言是人类区别其他动物的本质特性。在所有生物中,只有人类才具有语言能力。人类的多种智能都与语言有着密切的关系。人类的逻辑思维以语言为形式,人类的绝大部分知识也是以语言文字的形式记载和流传下来的。因而,它也是人工智能(机器学习和深度学习为代表的人工智能)的一个重要,甚至核心部分。
用自然语言与计算机进行通信,这是人们长期以来所追求的。因为它既有明显的实际意义和理论意义。实现人机间自然语言通信意味着要使计算机既能理解自然语言文本的意义,也能以自然语言文本来表达给定的意图、思想等。前者称为自然语言理解,后者称为自然语言生成。因此,自然语言处理大体包括了自然语言理解和自然语言生成两个部分。无论实现自然语言理解,还是自然语言生成,都远不如人们原来想象的那么简单,而是十分困难的。从现有的理论和技术现状看,通用的、高质量的自然语言处理系统,仍然是较长期的努力目标,但是针对一定应用,具有相当自然语言处理能力的实用系统已经出现,有些已商品化,甚至开始产业化。典型的例子有:多语种数据库和专家系统的自然语言接口、各种机器翻译系统、全文信息检索系统、自动文摘系统等。
现代NLP算法是基于机器学习,特别是统计机器学习。机器学习范式是不同于一般之前的尝试语言处理。语言处理任务的实现,通常涉及直接用手的大套规则编码。许多不同类的机器学习算法已应用于自然语言处理任务。
知识扩展推荐
【自然语言处理理论与实战】由清华大学教授、博士生导师王道顺;电子科技大学教授、博士生导师周世杰;中国科学院研究员、博士生导师崔喆;百度企业智能平台,大数据高级工程师 潘耀峰;美团点评,大数据研发工程师陆志君;英国哈德斯菲尔德大学,人工智能博士张朝龙联合推荐。
寄语
机器学习比较偏底层和理论,机器学习本身不够炫酷,结合了具体的自然语言处理以及数据挖掘的问题才能炫酷。机器学习好像内力一样,是一个武者的基础,而自然语言和数据挖掘的东西都是招式。如果你内功足够深厚,招式对你来说都是小意思。但机器学习同时也要求很高的数学基础,现在如果我们只讲工程实现,有很多开源工具可以使用,你所需要的只是知道这些工具都是干嘛用的就好,很多人对机器学习特别特别特别的狂热,但对矩阵,概率论又有着老子早不想念这门课了,终于过了的思想。我一直觉得,如果你真的矩阵,概率,微积分学的不好,早日勤动手,多编程,对日后找工作很有利!!!一定不要舍本逐末的放弃了程序员最基础的编程功夫。