用于通讯的自然语言
通讯 是一种通过 产生和感知信号 而形成的, 有目的的信息交换. 在一个 部分可观察 的世界中, 通讯有助于 Agent
达成它的目的, 因为 Agent
能够通过通讯获得 由其他 Agent
观察到或推断出的信息.
如果我们希望我们构造的 Agent
能够对人类有所帮助的话, 它们就需要具备学习和使用语言的能力. 本章我们考虑用于通讯的语言模型.
1. 短语结构语法
我们在上一章中提到过 $n$ 元语言模型, 它基于单词序列, 但其最大的问题在于 数据稀疏, 即使语料库中由上万亿个单词, 也无法提供可靠的评估.
我们下面介绍一个 基于短语结构思想 的语言模型: 概率上下文无关语法 (Probabilistic Context-Free Grammar
, PCFG
).
语法 (Grammar
) 是 一系列规则组成的集合, 它将语言定义为一个被允许的词串集合, 而 概率 意味着这个语法给每个字符串都分配了一个概率. 下面是一个 PCFG
规则:
其中, $\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
)进行分类:
每个以 $\cdots$ 结尾的范畴说明在该范畴内还有其他词语. 对 名词, 动词, 形容词, 副词 和 名字 而言, 由于我们不可能将它们全部列出, 因此称这五个范畴为 开放类 (Open Class
).
而对于 代词, 关系代词, 介词, 冠词 和 连词, 它们是可以被全部列举出的, 因此称这些范畴为 封闭类 (Closed Class
).
$\epsilon_0$ 的语法
在定义了 $\epsilon_0$ 的词典后, 下一步就需要给出该语言的, 用来描述如何合法地将单词组合成短语/句子的 语法:
需要注意的是, 这一给定的语法是可能 生成不符合语法的语句 (即 “过生成”) 的, 也可能 欠生成 (认为很多实际上在英语中合法的语句为不合法的).
我们先考虑, 运用现有语法我们可以做些什么.
2. 句法分析
句法分析 (Parsing
) 是 按照语法规则分析单词串 (句子) 从而 得到它的短语结构 的过程.
可见, 我们既可以从符号 $S$ 出发, 自顶向下 地搜索并构造 以单词作为叶子结点 的树, 也可从单词出发, 自底向上地 搜索并构造树, 直到顶端 $S$.
(后面的部分你校的Slides里就没怎么介绍了, 鸽掉)