AI - 自然语言处理

自然语言处理 (NLP) 是指使用英语等自然语言与智能系统进行通信的 AI 方法。

当您希望机器人等智能系统按照您的指令执行时,当您想要听取基于对话的临床专家系统的决策时,就需要进行自然语言处理。

NLP 领域涉及让计算机使用人类使用的自然语言执行有用的任务。 NLP 系统的输入和输出可以是 −

  • 语音
  • 书面文本

NLP 的组成部分

NLP 有两个组成部分 −

自然语言理解 (NLU)

理解涉及以下任务 −

  • 将给定的自然语言输入映射到有用的表示形式中。
  • 分析语言的不同方面。

自然语言生成 (NLG)

它是从某些内部表示形式以自然语言形式生成有意义的短语和句子的过程。

它涉及 −

  • 文本规划 − 包括从知识库中检索相关内容。

  • 句子规划 − 包括选择所需的单词,形成有意义的短语,设置句子的基调。

  • 文本实现 − 它将句子规划映射到句子结构中。

NLU 比 NLG 更难。

NLU 的难点

NL 具有极其丰富的形式和结构。

它非常模糊。可以有不同程度的歧义 −

  • 词汇歧义 − 它处于非常原始的级别,例如单词级别。

  • 例如,将单词"board"视为名词还是动词?

  • 语法级歧义 − 一个句子可以用不同的方式解析。

  • 例如,"他举起了戴着红帽子的甲虫。" −他是用帽子举起甲虫的,还是举起的是一只戴着红帽子的甲虫?

  • 指称歧义 − 使用代词指代某事。例如,Rima 去了 Gauri。她说:"我累了。" − 到底是谁累了?

  • 一个输入可能意味着不同的含义。

  • 许多输入可能意味着同一件事。

NLP 术语

  • 音系学 − 它是系统地组织声音的研究。

  • 形态学 − 它是从原始有意义的单位构造单词的研究。

  • 词素 −它是语言中意义的原始单位。

  • 句法 − 它指的是排列单词来组成句子。它还涉及确定单词在句子和短语中的结构作用。

  • 语义学 − 它涉及单词的意义以及如何将单词组合成有意义的短语和句子。

  • 语用学 − 它涉及在不同情况下使用和理解句子,以及句子的解释如何受到影响。

  • 话语 − 它涉及紧接在前的句子如何影响下一个句子的解释。

  • 世界知识 − 它包括有关世界的一般知识。

NLP 中的步骤

一般有五个步骤 −

  • 词汇分析 − 它涉及识别和分析单词的结构。语言的词汇是指语言中单词和短语的集合。词汇分析是将整个文本块划分为段落、句子和单词。

  • 句法分析(解析) − 它涉及分析句子中的单词的语法,并以显示单词之间关系的方式排列单词。诸如"The school goes to boy"这样的句子被英语句法分析器拒绝。

NLP Steps
  • 语义分析 − 它从文本中提取确切含义或字典含义。检查文本是否有意义。这是通过在任务域中映射句法结构和对象来完成的。语义分析器忽略诸如"hot ice-cream"这样的句子。

  • 话语整合 − 任何句子的含义都取决于它之前的句子的含义。此外,它还会带来紧随其后的句子的含义。

  • 语用分析 − 在此过程中,所说的内容被重新解释为其实际含义。它涉及推导语言中需要现实世界知识的那些方面。

句法分析的实现方面

研究人员已经开发了许多用于句法分析的算法,但我们仅考虑以下简单方法 −

  • 上下文无关语法
  • 自上而下的解析器

让我们详细了解它们 −

上下文无关语法

它是由重写规则左侧带有单个符号的规则组成的语法。让我们创建语法来解析一个句子 −

"鸟啄谷物"

冠词 (DET) − a | an | the

名词 − bird | birds | rice | rice

名词短语 (NP) − 冠词 + 名词 | 冠词 + 形容词 + 名词

= DET N | DET ADJ N

动词 − pecks | pecking | pecked

动词短语 (VP) − NP V | V NP

形容词 (ADJ) − beautiful | small | chirping

解析树将句子分解为结构化的部分,以便计算机可以轻松理解和处理它。为了让解析算法构建这棵解析树,需要构建一组重写规则,这些规则描述了哪些树结构是合法的。

这些规则规定,某个符号可以在树中通过一系列其他符号进行扩展。根据一阶逻辑规则,如果有两个字符串名词短语 (NP) 和动词短语 (VP),那么由 NP 和 VP 组合而成的字符串就是一个句子。该句子的重写规则如下 −

S → NP VP

NP → DET N | DET ADJ N

VP → V NP

Lexocon −

DET → a | the

ADJ → beautiful | perching

N → bird | birds | rice | rices

V → peck | pecks | pecking

可以按如下所示创建解析树 −

NLP Steps

现在考虑上述重写规则。由于 V 可以被"peck"或"pecks"替换,因此"The bird peck the rices"这样的句子可能会被错误地允许。即主谓一致错误被认可为正确的。

优点 − 最简单的语法风格,因此被广泛使用。

缺点 −

  • 它们不是高度精确的。例如,"The rices peck the bird"根据解析器在语法上是正确的,但即使它没有意义,解析器也会将其视为正确的句子。

  • 为了实现高精度,需要准备多套语法。它可能需要一套完全不同的规则来解析单数和复数变体、被动句等,这可能导致创建大量难以管理的规则。

自上而下的解析器

在这里,解析器从 S 符号开始,并尝试将其重写为一系列 终端符号,该序列与输入句子中的单词类别相匹配,直到它完全由终端符号组成。

然后用输入句子检查它​​们是否匹配。如果不匹配,则使用另一组规则重新开始该过程。重复此过程,直到找到描述句子结构的特定规则。

优点 −实现起来很简单。

缺点 −

  • 效率低下,因为如果发生错误,必须重复搜索过程。
  • 工作速度慢。