人工智能导论 用于通讯的自然语言

Communication

Posted by R1NG on December 31, 2021 Viewed Times

用于通讯的自然语言

通讯 是一种通过 产生和感知信号 而形成的, 有目的的信息交换. 在一个 部分可观察 的世界中, 通讯有助于 Agent 达成它的目的, 因为 Agent 能够通过通讯获得 由其他 Agent 观察到或推断出的信息.

如果我们希望我们构造的 Agent 能够对人类有所帮助的话, 它们就需要具备学习和使用语言的能力. 本章我们考虑用于通讯的语言模型.

1. 短语结构语法

我们在上一章中提到过 $n$ 元语言模型, 它基于单词序列, 但其最大的问题在于 数据稀疏, 即使语料库中由上万亿个单词, 也无法提供可靠的评估.

我们下面介绍一个 基于短语结构思想 的语言模型: 概率上下文无关语法 (Probabilistic Context-Free Grammar, PCFG).

语法 (Grammar) 是 一系列规则组成的集合, 它将语言定义为一个被允许的词串集合, 而 概率 意味着这个语法给每个字符串都分配了一个概率. 下面是一个 PCFG 规则:

\[\begin{aligned} VP \rightarrow & ~~ \text{Verb}[0.70] \\ \vert & ~~\text{VP} ~ \text{NP} [0.30]\end{aligned}\]

其中, $\text{VP}$ (Verb Phrase, 动词短语) 和 $\text{NP}$ (Noun Phrase, 名词短语) 是 非终结符 (Non-terminal Symbols), 语法也会用到真正的单词, 也就是 终结符 (Terminal Symbols).

这条规则表示: 动词短语 单独由动词组成 的概率为 $0.70$, 而由一个 $\text{VP}$ 再连上一个 $\text{NP}$ 组成的概率为 $0.30$.

下面我们针对一小部分英文定义语法, 我们称其为 $\epsilon_0$ 语言:

$\epsilon_0$ 的词典

首先定义一个 词典合法的词语列表 (Lexicon): 这些词语按照一种字典使用者熟悉的 词法范畴 (Lexical Categories)进行分类:

20220105143135

每个以 $\cdots$ 结尾的范畴说明在该范畴内还有其他词语. 对 名词, 动词, 形容词, 副词名字 而言, 由于我们不可能将它们全部列出, 因此称这五个范畴为 开放类 (Open Class).

而对于 代词, 关系代词, 介词, 冠词连词, 它们是可以被全部列举出的, 因此称这些范畴为 封闭类 (Closed Class).

$\epsilon_0$ 的语法

在定义了 $\epsilon_0$ 的词典后, 下一步就需要给出该语言的, 用来描述如何合法地将单词组合成短语/句子的 语法:

20220105143625

需要注意的是, 这一给定的语法是可能 生成不符合语法的语句 (即 “过生成”) 的, 也可能 欠生成 (认为很多实际上在英语中合法的语句为不合法的).

我们先考虑, 运用现有语法我们可以做些什么.

2. 句法分析

句法分析 (Parsing) 是 按照语法规则分析单词串 (句子) 从而 得到它的短语结构 的过程.

20220105143922

可见, 我们既可以从符号 $S$ 出发, 自顶向下 地搜索并构造 以单词作为叶子结点 的树, 也可从单词出发, 自底向上地 搜索并构造树, 直到顶端 $S$.

(后面的部分你校的Slides里就没怎么介绍了, 鸽掉)