随着最近这几年人工智能的快速发展,自然语言处理技术的应用已经比较普及。但是自然语言处理的学习路径依然没有一个系统的认识。
下面,人邮君分别从自然语言处理介绍、入门基础及研究方向、工作原理、技术现状、实际应用等角度出发,概要地介绍自然语言处理及相关的机器学习技术。
自然语言处理介绍——什么是自然语言处理?
自然语言处理是一门与语言学、计算机科学、数学、心理学、信息论、声学相联系的交叉性学科,是计算机通过可计算的方法对自然语言(所谓“自然”乃是寓意自然进化形成,是为了区分一些人造语言,类似C 、Java 等人为设计的语言)的各级语言单位进行转换、传输、存储、分析等加工处理的科学。
此领域探讨如何处理及运用自然语言,自然语言处理包括多方面和步骤,基本有认知、理解、生成等部分。
- 自然语言认知和理解是让电脑把输入的语言变成有意思的符号和关系,然后根据目的再处理。
- 自然语言生成系统则是把计算机数据转化为自然语言,从而可以代替人类做一些文书类的工作,例如咨询、售后、海量数据处理以及公文阅读与处理等。
自然语言处理入门基础
数学基础:
线性代数:向量、 矩阵、距离计算(余弦距离、欧式距离、曼哈顿距离、明可夫斯基距离、切比雪夫距离、杰卡德距离、汉明距离、标准欧式距离、皮尔逊相关系数)
概率论:随机试验、条件概率、全概率、贝叶斯定理、信息论
统计学:
图形可视化(饼图、条形图、热力图、折线图、箱线图、散点图、雷达图、仪表盘)
数据度量标准(平均数、中位数、众数、期望、方差、标准差)
概率分布(几何分布、二项分布、正态分布、泊松分布)
统计假设检验
语言学基础:语音、词汇、语法
Python基础
机器学习基础
深度学习基础:CNN、RNN、LSTM
自然语言处理的理论基础
自然语言处理研究方向
自然语言处理热门的研究方向包括:语言学方向、数据处理方向、语言工程方向、人工智能和认知科学这四大方向。
在此基础上又细分为:口语输入、书面语输入、语言分析理解、语言资源、语言生成、口语输入技术、话语分析与对话、文献自动处理、多语问题的计算机处理、信息传输和信息存储、自然语言处理中的数学方法、 多模态的计算机处理、自然语言处理系统的评测这十三个方面。
自然语言处理工作原理
自然语言处理通过机器学习(ML)进行。机器学习系统像其他任何形式的数据一样存储单词及其组合方式。将短语、句子,有时甚至整本书的内容都输入机器学习引擎,并根据语法规则和人们的现实语言习惯(或两者兼而有之)进行处理。然后,计算机使用这些数据来查找模式并推断出下一步的工作。
具象的流程我们可以理解为:形式化描述(将要研究的问题在语言上建立出一个形式化模型,用数学形式展现出来)➡️数学模型算法化(把建立的数学模型表示为算法)➡️程序化(计算机根据算法进行了实现,建立语言系统)➡️应用化(对系统改进满足实用需求))
自然语言实际应用
自然语言处理无数不在,它是如此普遍。
各种类型的NLP应用(图源:《自然语言处理实战》)
如果在索引网页或文档库时考虑了自然语言文本的含义,那么搜索引擎可以提供更有意义的结果。自动补全(autocomplete)功能使用 NLP 技术来完成所想语句的输入,这在搜索引擎和手机键盘中十分常见。许多文字处理器、浏览器插件和文本编辑器都有拼写校正、语法检查、索引生成等功能,特别是近年来,还出现了写作风格指导的功能。一些对话引擎(聊天机器人)使用自然语言搜索来为对话消息查找相应的回复。
在《自然语言处理实战》中谈到,在聊天机器人和虚拟助手中,生成(撰写)文本的 NLP 流水线不仅可以用来撰写简短的回复,还可以编写长得多的文本段落。
美联社使用 NLP“机器人记者”撰写完整的金融新闻和体育赛事等报道。也许是因为人类气象学家使用了带有 NLP 功能的文字处理器来起草天气预报的脚本,机器人编写的天气预报听起来和家乡天气预报员的播报并没有什么两样。
早期电子邮件系统中的 NLP 垃圾邮件过滤器助力电子邮件,使其在 20 世纪 90 年代超越了电话和传真这两个传统通信渠道。在垃圾邮件过滤器和垃圾邮件制造者之间的这场“猫鼠游戏”中,前者保持了优势地位,但是在像社交网络这类场景下并非如此。据估计,有关 2016 年美国总统大选的推文中有 20% 由聊天机器人自动撰写而成。这些机器人放大了它们的所有者或开发者的观点,而这些“傀儡”的操纵者往往是政府或大公司,他们具备影响主流观点的资源和动机。
NLP系统不仅可以产生简短的社交网络帖子,还可以用来在亚马逊和其他网站撰写很长的电影和产品评论。许多评论都是 NLP 流水线自动产生的,尽管它从未踏入过电影院或购买过它们正在评论的产品。
Slack、IRC 甚至客服网站上都有聊天机器人——在这些场景中聊天机器人必须处理带有歧义的指令或问题。配备语音识别和生成系统的聊天机器人甚至可以进行长篇的对话,这些对话可以不限定目标或者针对特定目标而进行,一个特定目标的例子就是在本地餐馆订餐。NLP 系统可以帮一些公司进行电话回复,这些公司希望系统比层层进入的电话树更好用,并且不希望给帮助客户的客服人员付费。
NLP系统可以作为企业的电子邮件“接待员”或管理人员的行政助理,这些助理通过电子Rolodex(一种名片簿的品牌)或者CRM(客户关系管理系统)安排会议,记录概要细节,并代表他们的老板通过电子邮件与他人互动。公司将他们的品牌和形象交由 NLP 系统管理,允许机器人执行营销和消息发布活动。更有甚者,一些缺乏经验、胆大包天的 NLP 教科书作者竞然让机器人在他们的书中撰写若干语句。关于这一点我们稍后再详细讨论。
节选自《自然语言处理实战》,人民邮电出版社出版
自然语言处理的发展现状
根据 Stafford 教授 Dan Jurafsky 的介绍:
有些问题得到了基本解决,如:词性标注、命名实体识别、垃圾邮件识别。
有些问题取得长足进展,如:情感分析、共指消解、词义消歧、句法分析、机器翻译、信息抽取。
有些问题依然充满挑战,如:自动问答、复述、文摘提取、会话机器人等。
自然语言处理学习——书籍推荐
《自然语言处理实战》
[美]霍布森·莱恩,科尔·霍华德,汉纳斯·马克斯·哈普克 著 小米AI实验室NLP团队 译
本书是介绍自然语言处理(NLP)和深度学习的实战书。NLP已成为深度学习的核心应用领域,而深度学习是 NLP 研究和应用中的必要工具。本书分为 3 部分:第一部分介绍 NLP 基础,包括分词、TF-IDF向量化以及从词频向量到语义向量的转换;第二部分讲述深度学习,包含神经网络、词向量、卷积神经网络(CNN)、循环神经网络(RNN)、长短期记忆(LSTM)网络、序列到序列建模和注意力机制等基本的深度学习模型和方法;第三部分介绍实战方面的内容,包括信息提取、问答系统、人机对话等真实世界系统的模型构建、性能挑战以及应对方法。
本书面向中高级 Python 开发人员,兼具基础理论与编程实战,是现代NLP领域从业者的实用参考书。
《Python自然语言处理》
《Python自然语言处理》是自然语言处理领域的一本实用入门指南,旨在帮助读者学习如何编写程序来分析书面语言。
《Python自然语言处理》基于Python编程语言以及一个名为NLTK的自然语言工具包的开源库,但并不要求读者有Python编程的经验。全书共11章,按照难易程度顺序编排。第1章到第3章介绍了语言处理的基础,讲述如何使用小的Python程序分析感兴趣的文本信息。第4章讨论结构化程序设计,以巩固前面几章中介绍的编程要点。第5章到第7章介绍语言处理的基本原理,包括标注、分类和信息提取等。第8章到第10章介绍了句子解析、句法结构识别和句意表达方法。第11章介绍了如何有效管理语言数据。后记部分简要讨论了NLP领域的过去和未来。
本书实践性很强,包括上百个实际可用的例子和分级练习。《Python自然语言处理》可供读者用于自学,也可以作为自然语言处理或计算语言学课程的教科书,还可以作为人工智能、文本挖掘、语料库语言学等课程的补充读物。
《精通Python自然语言处理》
[印度] Deepti Chopra, Nisheeth Joshi, Iti Mathur 著
本书是学习自然语言处理的一本综合学习指南,介绍了如何用Python实现各种NLP任务,以帮助读者创建基于真实生活应用的项目。全书共10章,分别涉及字符串操作、统计语言建模、形态学、词性标注、语法解析、语义分析、情感分析、信息检索、语篇分析和NLP系统评估等主题。 本书适合熟悉Python语言并对自然语言处理开发有一定了解和兴趣的读者阅读参考。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。