自然语言处理 - 简介
语言是一种借助于言语、阅读和书写进行沟通的方法。例如,我们思考、决策、计划等等,都是用自然语言,准确地说,是用文字来完成的。然而,在这个人工智能时代,摆在我们面前的一个重大问题是:我们能否以类似的方式与计算机沟通?换句话说,人类能否用他们的自然语言与计算机沟通?开发 NLP 应用对我们来说是一个挑战,因为计算机需要结构化数据,而人类语言是非结构化的,往往具有歧义性。
从这个意义上说,我们可以说自然语言处理 (NLP) 是计算机科学,特别是人工智能 (AI) 的一个子领域,它关注的是使计算机能够理解和处理人类语言。从技术上讲,NLP 的主要任务是为计算机编写程序,用于分析和处理大量的自然语言数据。
NLP 历史
我们将 NLP 的历史划分为四个阶段。这些阶段具有不同的关注点和风格。
第一阶段(机器翻译阶段) - 20 世纪 40 年代后期至 60 年代后期
这一阶段的工作主要集中在机器翻译 (MT) 上。这个阶段是一个充满热情和乐观主义的时期。
现在让我们看看第一阶段包含的内容:
在 Booth & Richens 于 1949 年对机器翻译的研究和 Weaver 的备忘录之后,NLP 的研究始于 20 世纪 50 年代初。
1954 年,乔治城-IBM 实验展示了从俄语到英语的有限自动翻译实验。
同年,《机器翻译》(MT) 期刊开始出版。
第一次国际机器翻译 (MT) 会议于 1952 年举行,第二次于 1956 年举行。
1961 年,在特丁顿国际机器翻译语言和应用语言分析会议上提出的工作是这一阶段的顶峰。
第二阶段(人工智能影响阶段)– 20 世纪 60 年代后期至 70 年代后期
在这个阶段,完成的工作主要与世界知识及其在构建和操纵意义表示中的作用有关。这就是为什么这个阶段也被称为人工智能风格阶段。
这一阶段包含以下内容:
1961 年初,开始研究解决和构建数据或知识库的问题。这项工作受到了人工智能的影响。
同年,还开发了一个棒球问答系统。该系统的输入受到限制,所涉及的语言处理很简单。
Minsky (1968) 描述了一个更先进的系统。与棒球问答系统相比,该系统得到了认可,并为在解释和响应语言输入时对知识库进行推理的需求提供了支持。
第三阶段(语法逻辑阶段)– 20 世纪 70 年代后期至 80 年代后期
这个阶段可以描述为语法逻辑阶段。由于上一阶段实际系统构建的失败,研究人员转向使用逻辑进行人工智能中的知识表示和推理。
第三阶段包含以下内容:
在十年结束时,语法逻辑方法帮助我们获得了功能强大的通用句法处理器,例如 SRI 的核心语言引擎和语篇表示理论,这些提供了处理更长语篇的方法。
在这个阶段,我们获得了一些实用的资源和工具,例如解析器,例如 Alvey 自然语言工具以及更多可操作的和商业系统,例如用于数据库查询的系统。
20 世纪 80 年代对词典的研究也指向了语法逻辑方法的方向。
第四阶段(词汇语料库阶段)– 20 世纪 90 年代
我们可以将其描述为词汇语料库阶段。该阶段具有在 20 世纪 80 年代后期出现的词汇化语法方法,并日益产生影响。随着用于语言处理的机器学习算法的引入,这个十年自然语言处理领域发生了革命。
人类语言的研究
语言是人类生活中至关重要的组成部分,也是我们行为中最基本的一个方面。我们主要可以通过两种形式体验它——书写和口语。在书写形式中,它是将我们的知识一代一代传承下去的一种方式。在口语形式中,它是人类协调日常行为的主要媒介。语言在各个学术学科中都有研究。每个学科都有自己的一套问题和解决这些问题的一套解决方案。
请考虑下表以了解这一点:
学科 | 问题 | 工具 |
---|---|---|
语言学家 |
如何用词构成短语和句子? 什么限制了句子的可能含义? |
关于形式和意义的直觉。 结构的数学模型。例如,模型论语义学、形式语言理论。 |
心理语言学家 |
人类如何识别句子的结构? 如何识别单词的含义? 理解发生在什么时候? |
主要用于测量人类绩效的实验技术。 观察结果的统计分析。 |
哲学家 |
单词和句子如何获得意义? 单词如何识别对象? 什么是意义? |
使用直觉进行自然语言论证。 逻辑和模型论等数学模型。 |
计算语言学家 |
我们如何识别句子的结构? 如何对知识和推理进行建模? 我们如何使用语言来完成特定任务? |
算法 数据结构 表示和推理的形式模型。 人工智能技术,如搜索和表示方法。 |
语言中的歧义和不确定性
歧义通常用于自然语言处理,可以指能够以多种方式理解的能力。简单来说,我们可以说歧义是能够以多种方式理解的能力。自然语言非常含糊不清。NLP 具有以下类型的歧义:
词汇歧义
单个词的歧义称为词汇歧义。例如,将单词silver视为名词、形容词或动词。
句法歧义
当一个句子以不同的方式解析时,就会发生这种歧义。例如,句子“The man saw the girl with the telescope”。它含糊不清的是男人看到拿着望远镜的女孩,还是他通过望远镜看到她。
语义歧义
当词语本身的含义可能被误解时,就会发生这种歧义。换句话说,当句子包含一个含糊不清的词或短语时,就会发生语义歧义。例如,句子“The car hit the pole while it was moving”具有语义歧义,因为解释可以是“正在移动的汽车撞上了电线杆”和“汽车撞上了正在移动的电线杆”。
回指歧义
这种歧义是由于在语篇中使用回指实体造成的。例如,马跑上山。山很陡峭。它很快累了。这里,两次“它”的回指造成了歧义。
语用歧义
这种歧义指的是短语的上下文赋予其多种解释的情况。简单来说,我们可以说,当陈述不明确时,就会出现语用歧义。例如,句子“我也喜欢你”可以有多种解释,例如我喜欢你(就像你喜欢我一样),我喜欢你(就像其他人一样)。
NLP 阶段
下图显示了自然语言处理中的阶段或逻辑步骤:
形态分析
这是 NLP 的第一阶段。这一阶段的目的是将语言输入块分解成对应于段落、句子和单词的标记集。例如,像“uneasy”这样的词可以分解成两个子词标记,如“un-easy”。
句法分析
这是 NLP 的第二阶段。这一阶段的目的是双重的:检查句子是否结构良好,并将其分解成一个结构,该结构显示不同单词之间的句法关系。例如,像“The school goes to the boy”这样的句子会被句法分析器或解析器拒绝。
语义分析
这是 NLP 的第三阶段。这一阶段的目的是从文本中提取确切的含义,或者可以说从字典中提取含义。对文本进行有意义性检查。例如,语义分析器会拒绝像“热的冰淇淋”这样的句子。
语用分析
这是 NLP 的第四阶段。语用分析只是将存在于给定上下文中的实际对象/事件与在上一阶段(语义分析)中获得的对象引用相匹配。例如,句子“把香蕉放在架子上的篮子里”可以有两种语义解释,语用分析器将在这两种可能性之间进行选择。