Natural Language Processing 简明教程

Natural Language Processing - Introduction

语言是一种沟通方式,借助它我们能够说话、阅读和写作。例如,我们用自然语言(确切地说,用文字)思考、做决定、制定计划等等。然而,在 AI 时代,我们面临的一个重大问题是,我们是否能够以类似的方式与计算机进行沟通。换句话说,人类是否可以用自己的自然语言与计算机沟通?对于我们来说,开发 NLP 应用程序是一项挑战,因为计算机需要结构化数据,但人类语言本质上是无结构且常常歧义的。

从这个意义上讲,我们可以说自然语言处理 (NLP) 是计算机科学,特别是人工智能 (AI) 的子领域,其关注的是使计算机能够理解和处理人类语言。从技术上讲,NLP 的主要任务是对计算机进行编程,以便其分析和处理大量自然语言数据。

History of NLP

我们将 NLP 的历史划分为了四个阶段。各个阶段有不同的关注点和风格。

First Phase (Machine Translation Phase) - Late 1940s to late 1960s

该阶段所做的工作主要集中在机器翻译 (MT)。这个阶段是一个充满热情和乐观主义的时期。

现在让我们看看第一阶段有什么内容:

  1. NLP 研究起始于 1950 年代初期,在 Booth & Richens 调查以及 Weaver 于 1949 年撰写的关于机器翻译的备忘录之后。

  2. 1954 年,在乔治城-IBM 实验中演示了从俄语到英语的自动翻译小实验。

  3. 同年,创办了期刊 MT(机器翻译)。

  4. 第一次国际机器翻译 (MT) 会议于 1952 年举行,第二次于 1956 年举行。

  5. 1961 年,在泰丁顿语言机器翻译和应用语言分析国际会议上展示的工作是这一阶段的高点。

Second Phase (AI Influenced Phase) – Late 1960s to late 1970s

在这个阶段,所做的工作主要与世界知识以及它在构造和操纵意义表征中的作用有关。这就是为什么这个阶段也被称为人工智能风味阶段。

该阶段包括以下内容:

  1. 1961 年初,开始解决寻址和构建数据或知识库的问题。这项工作受人工智能的影响。

  2. 同年,还开发了棒球问答系统。该系统的输入有限,涉及的语言处理很简单。

  3. 明斯基 (1968) 描述了一个更高级的系统。与棒球问答系统相比,这一系统得到了认可,并满足了在解释和响应语言输入时对知识库推理的需求。

Third Phase (Grammatico-logical Phase) – Late 1970s to late 1980s

这个阶段可以描述为语法逻辑阶段。由于上个阶段实际系统构建失败,研究人员转向使用逻辑进行人工智能中的知识表示和推理。

第三阶段包括以下内容:

  1. 十年末期,语法逻辑方法帮助我们获得了强大的通用句子处理器,如 SRI 的核心语言引擎和话语表示理论,这提供了处理更广泛话语的方法。

  2. 在这个阶段,我们获得了一些实际资源和工具,如解析器(例如 Alvey 自然语言工具)以及更多的操作和商业系统(例如数据库查询)。

  3. 20 世纪 80 年代词典方面的工作也指向了语法逻辑方法。

Fourth Phase (Lexical & Corpus Phase) – The 1990s

我们可以将此描述为词法和语料库阶段。该阶段采用了词法化语法方法,该方法出现在 20 世纪 80 年代末并产生越来越大的影响。随着机器学习算法在语言处理方面的引入,这个十年发生了自然语言处理的革命。

Study of Human Languages

语言是人类生活的一个至关重要的组成部分,也是我们行为的最基本方面。我们主要可以以两种形式体验到它——书面和口语。在书面形式中,它是一种将我们的知识从一代传递到下一代的方式。在口语形式中,它是人类在日常行为中相互协调的主要媒介。语言在各个学术学科中都得到研究。每个学科都有自己的一套问题和解决这些问题的方案。

考虑下表来理解这一点:

Discipline

Problems

Tools

Linguists

如何用单词形成词组和句子?什么限制了句子的可能含义?

关于正确性和含义的直觉。结构的数学模型。例如,模型理论语义学、形式语言理论。

Psycholinguists

人类如何识别句子的结构?如何识别单词的含义?理解何时发生?

主要用于衡量人类表现的实验技术。观察的统计分析。

Philosophers

单词和句子如何获得含义?单词如何识别对象?什么是含义?

使用直觉的自然语言论证。数学模型,如逻辑和模型理论。

Computational Linguists

我们如何识別句子的结构?如何对知识和推理进行建模?我们如何使用语言来完成特定的任务?

算法数据结构表示和推理的形式模型。诸如搜索和表示方法之类的 AI 技术。

Ambiguity and Uncertainty in Language

模糊性通常用于自然语言处理中,可以指能够以不止一种方式被理解的能力。简单来说,我们可以说模糊性是能够以不止一种方式被理解的能力。自然语言非常模棱两可。NLP 具有以下类型的模糊性−

Lexical Ambiguity

单个单词的模糊性称为词法模糊性。例如,将单词 silver 视为名词、形容词或动词。

Syntactic Ambiguity

当句子以不同方式进行解析时,就会出现这种类型的模糊性。例如,句子“这个人用望远镜看到了那个女孩”。模糊的是,这个人看到女孩拿着望远镜,还是他通过望远镜看到了她。

Semantic Ambiguity

当单词本身的含义可能被误解时,就会出现这种类型的模糊性。换句话说,语义模糊性发生在句子包含一个模棱两可的单词或短语时。例如,句子“这辆车在行驶时撞到了电线杆”具有语义模糊性,因为解释可以是“这辆车在行驶时撞到了电线杆”和“这辆车撞到了电线杆,而电线杆正在移动”。

Anaphoric Ambiguity

这种模糊性是由于话语中使用了指代实体而产生的。例如,马沿着小路跑。它非常陡峭。它很快就累了。这里,“它”在两种情况下的指代关系造成了模糊性。

Pragmatic ambiguity

此类模糊性是指短语的上下文赋予其多重解释的情况。简单来说,我们可以说,当表述不具体时,就会出现语用模糊性。例如,句子“我也喜欢你”可以有多种解释,例如我喜欢你(就像你一样喜欢我),我喜欢你(就像其他人一样)。

NLP Phases

下图显示了自然语言处理中的阶段或逻辑步骤−

phases or logical steps

Morphological Processing

这是 NLP 的第一阶段。此阶段的目的是将语言输入块分解为对应于段落、句子和单词的标记集。例如,像 “uneasy” 这样的单词可以分解成 “un-easy” 两个子词令牌。

Syntax Analysis

这是 NLP 的第二个阶段。此阶段的目的有两个:检查句子是否构成良好,以及将其分解为反映不同单词之间句法关系的结构。例如,像 “The school goes to the boy” 这样的句子将被语法分析器或解析器拒绝。

Semantic Analysis

这是 NLP 的第三个阶段。此阶段的目的是从文本中提取确切的含义,或者可以说成是词典含义。对文本进行了含义检查。例如,语义分析器会拒绝诸如“热冰淇淋”之类的句子。

Pragmatic Analysis

这是 NLP 的第四个阶段。语用分析仅适合实际对象/事件,这些对象/事件存在于给定上下文中,并在上一阶段(语义分析)中获得了对象引用。例如,句子“把香蕉放在架子上的篮子里”可以有两种语义解释,语用分析器将在这两种可能性之间进行选择。