网络上存在海量的文本信息,处理这些非结构化的数据需要应用自然语言处理技术(NLP)。
本文将介绍NLP的基本概念、两大核心任务、四个典型应用以及六个实际步骤。
为什么NLP如此重要?
“语言理解是人工智能领域的一颗明珠。”
——比尔·盖茨
在人工智能出现之前,机器主要处理结构化的数据,比如Excel中的数据。然而,网络上的大部分数据都是非结构化的,包括文章、图片、音频和视频等。
在这些非结构化的数据中,文本信息最为丰富。尽管文本所占用的空间不及图片和视频,但它承载的信息量却是最大的。为了能够分析和利用这些文本信息,我们有必要借助NLP技术,使机器能够理解和应用这些文本内容。
什么是自然语言处理(NLP)?
每一种动物都有自己的语言,机器也不例外!
NLP是连接机器语言和人类语言的桥梁,旨在实现人机交流的目标。
人类通过语言进行交流,而狗则是通过叫声交流。同样地,机器也有自己的交流方式,那就是数字信息。
不同的语言之间是无法直接沟通的,例如人类无法理解狗的叫声,即使是不同语言的人类之间也需要翻译才能交流。计算机也是如此,为了实现计算机之间的有效交流,人们制定了统一的规则,这些规则构成了计算机的语言。
既然不同语言之间可以通过翻译实现沟通,那么人类与机器之间是否也能通过某种“翻译”的方式实现直接交流呢?
NLP正是人类与机器沟通的桥梁!
为何称为“自然语言”处理?
自然语言是指我们在日常生活中常用的表达方式,即所谓的“说人话”。
自然语言的例子包括:“我的背有点驼”(非自然语言:“我的背部呈弯曲状”);“宝宝的经纪人睡了宝宝的宝宝”(这种类型的段子在网络上十分常见)。
NLP的两大核心任务
NLP有两个核心任务:自然语言理解和自然语言生成。
自然语言理解(NLU/NLI)
自然语言理解的目标是让机器具备像人类一样的语言理解能力。然而,由于自然语言的理解存在诸多难点(详见下文),因此NLU的表现至今仍远逊于人类。
自然语言理解的五大难点包括: 1. 语言的多样性 2. 语言的歧义性 3. 语言的鲁棒性 4. 语言的知识依赖 5. 语言的上下文关联
深入了解NLU,可以参考《一文看懂自然语言理解-NLU(基本概念+实践运用+3种完成方式)》这篇文章。
自然语言生成(NLG)
NLG是为了弥合人类与机器之间的沟通鸿沟,将非语言形式的数据转化为人类可以理解的语言形式,如文章、报告等。
NLG的六个步骤如下: 1. 内容确定 2. 文本结构 3. 句子聚合 4. 语法化 5. 参考表达式生成 6. 语言完成
深入了解NLG,可以参考《一文看懂自然语言生成 - NLG(6个完成步骤+3个典型运用)》这篇文章。
NLP的五大难点
NLP的四大典型应用
情感分析
互联网上有大量的文本信息,这些信息包含各种各样的内容,但它们传达的情感可以分为正面/积极或负面/消极。
通过情感分析,可以快速了解公众的情绪状态。
聊天机器人
过去,人们使用Siri、小冰等聊天机器人主要是作为一种娱乐手段。然而,近年来智能音箱的快速发展让人们意识到聊天机器人的价值。
未来,随着智能家居和智能汽车的发展,聊天机器人将会有更大的应用空间。
语音识别
语音识别已经成为一项普及的技术,微信支持语音转文字功能,汽车导航系统可以语音输入目的地,老年人也可以通过语音输入法进行操作,而不必学习拼音。
机器翻译
目前,机器翻译的准确率已经相当高,使用Google翻译可以轻松读懂文章的大意。未来,人工翻译可能会逐渐被机器翻译取代。
NLP的两种处理方式和三个核心步骤
NLP可以采用传统的机器学习方法,也可以采用深度学习的方法。这两种不同的方法对应着不同的处理步骤。
传统机器学习的NLP流程
语料预处理
特征工程
分类器选择
深度学习的NLP流程
语料预处理
模型设计
模型训练
英文NLP语料预处理的六个步骤
中文NLP语料预处理的四个步骤
总结
自然语言处理(NLP)是在机器语言和人类语言之间搭建桥梁,以实现人机交流的目标。
NLP的两个核心任务: 1. 自然语言理解(NLU) 2. 自然语言生成(NLG)
NLP的五个难点: 1. 语言缺乏规律,或者规律非常复杂。 2. 语言可以自由组合,形成复杂的表达方式。 3. 语言是一个开放的集合,可以随意创造出新的表达方式。 4. 语言依赖于实际知识,具有一定的知识依赖性。 5. 语言的使用需要基于特定的环境和上下文。
NLP的四个典型应用: 1. 情感分析 2. 聊天机器人 3. 语音识别 4. 机器翻译
NLP的六个处理步骤: 1. 分词(Tokenization) 2. 词干提取(Stemming) 3. 词形还原(Lemmatization) 4. 词性标注(POS Tags) 5. 命名实体识别(NER) 6. 分块(Chunking)