一文看懂自然言语处理-NLP(4个典型运用+5个难点+6个完成步骤)

图灵汇官网

网络上存在海量的文本信息,处理这些非结构化的数据需要应用自然语言处理技术(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的五大难点

  1. 语言本身缺乏规律,或者规律非常复杂。
  2. 语言可以自由组合,形成复杂的表达方式。
  3. 语言是一个开放的集合,我们可以随意创造出新的表达方式。
  4. 语言依赖于实际知识,具有一定的知识依赖性。
  5. 语言的使用需要基于特定的环境和上下文。

NLP的四大典型应用

情感分析

互联网上有大量的文本信息,这些信息包含各种各样的内容,但它们传达的情感可以分为正面/积极或负面/消极。

通过情感分析,可以快速了解公众的情绪状态。

聊天机器人

过去,人们使用Siri、小冰等聊天机器人主要是作为一种娱乐手段。然而,近年来智能音箱的快速发展让人们意识到聊天机器人的价值。

未来,随着智能家居和智能汽车的发展,聊天机器人将会有更大的应用空间。

语音识别

语音识别已经成为一项普及的技术,微信支持语音转文字功能,汽车导航系统可以语音输入目的地,老年人也可以通过语音输入法进行操作,而不必学习拼音。

机器翻译

目前,机器翻译的准确率已经相当高,使用Google翻译可以轻松读懂文章的大意。未来,人工翻译可能会逐渐被机器翻译取代。


NLP的两种处理方式和三个核心步骤

NLP可以采用传统的机器学习方法,也可以采用深度学习的方法。这两种不同的方法对应着不同的处理步骤。

传统机器学习的NLP流程

  1. 语料预处理

    • 中文语料预处理的四个步骤(详见下文)
    • 英文语料预处理的六个步骤(详见下文)
  2. 特征工程

    • 特征提取
    • 特征选择
  3. 分类器选择

深度学习的NLP流程

  1. 语料预处理

    • 中文语料预处理的四个步骤(详见下文)
    • 英文语料预处理的六个步骤(详见下文)
  2. 模型设计

  3. 模型训练


英文NLP语料预处理的六个步骤

  1. 分词(Tokenization)
  2. 词干提取(Stemming)
  3. 词形还原(Lemmatization)
  4. 词性标注(POS Tags)
  5. 命名实体识别(NER)
  6. 分块(Chunking)

中文NLP语料预处理的四个步骤

  1. 中文分词(Chinese Word Segmentation)
  2. 词性标注(POS Tags)
  3. 命名实体识别(NER)
  4. 去除停用词

总结

自然语言处理(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)

本文来源: 图灵汇 文章作者: 51CTO