《数学之美》四五六章阅读笔记
《数学之美》四五六章阅读笔记
第4章 谈谈分词
1 中文分词方法
词是表达语义的最小单位,对于一些亚洲语言,词之间没有明确的分界符,因此需要先对句子进行分词处理,才能做进一步的自然语言处理。
·分词方法
<查字典>
查字典:把一个句子从左向右扫一遍,遇到字典里有的词就标识出来,遇到复合词就找最长的词匹配,遇到不认识的字串就分割成单字词。
特点:这是最简单的方法,适用于复杂性不高的句子。
发展成最少词数的分词理论,即一句话应该分成数量最小的词串。不足之处是无法处理分词二义性。
<统计语言模型>
统计语言模型:假设一个句子可以有多种分词方法,每种分词方法结果产生不同数量的词串,利用统计语言模型计算出每种分词后句子出现的概率,其中概率最大的就是最好的分词方法。
穷举所有可能的分词方法不太可行,可以利用维特比算法(后续介绍)快速找到最佳分词。词语定义出现不同时,在分词的同时找到复合词的嵌套结构,先作为复合词处理,再进一步找出细分词。
不同的应用,分词的颗粒度大小应该不同。
针对亚洲语言的分词技术可以应用到英语的手写体识别中,帮助判别英语单词的边界。
2 分词结果衡量
针对不同的应用,分词颗粒度大小不同,但是构造不同的分词器没有必要,可以让一个分词器同时支持不同层次的词的切分,即可以分为复合词,也可以分为更小的词。
首先需要一个基本词表和一个复合词表,然后根据基本词表和复合词表各建立一个语言模型,再分别根据词表和语言模型对句子进行分词。
分词的不一致性:错误——越界型错误、覆盖型错误;颗粒度不一致。
第5章 隐含马尔可夫模型
1 通信模型
·典型的通信系统:
几乎所有的自然语言处理问题都可以等价成通信的解码问题。
在通信中,从所有的源信息中找到最可能产生出观测信号的信息,就能根据接收到的观测信号 来推测信号源发送的信息 。
·概率论描述
在已知 的情况下,求得令条件概率 达到最大值的信息串 ,即
其中Arg表示能获得最大值的那个信息串。
根据贝叶斯公式,上式等价变换成
一旦信息产生就不会改变,因此 是一个可以忽略的常数。因此,公式最终简化为
这个公式可以用隐含马尔可夫模型来估计。
2 隐含马尔可夫模型
·背景
发明者:美国数学家鲍姆等人(20世纪六七十年代)
马尔可夫链:随机过程中各个状态 的概率分布,只与它前一个状态 有关,即
符合这个假设的随机过程就是马尔可夫过程,即马尔可夫链。
在马尔可夫链中,每个状态可能转移到其他状态,存在转移概率。随机选择一个状态作为初始状态,运行一段时间 之后产生一个状态序列: 。统计某个状态 出现的次数 和 转换到 的次数 ,从而估计出从 到 的转移概率 。
·隐含马尔可夫模型
隐含马尔可夫模型是马尔可夫链的一个扩展。任一时刻 的状态 是不可见的,无法通过状态序列 来推测转移概率等参数,但是在每个时刻 会输出一个仅跟 相关的符号 。其中隐含的状态 是一个典型的马尔可夫链。
某个特定的状态序列 产生出输出符号 的概率
上式和通信解码问题的公式(5.3)相似,通信的解码问题可以用隐含马尔可夫模型来解决。利用维特比算法可以找出上式最大值,进而找出 。
在公式(5.3)中, 是语言模型。 在语音识别中叫“声学模型”,在机器翻译中是“翻译模型”,在拼写校正中是“纠错模型”。
·应用
最早成功:语音识别
其他应用:机器翻译、纠错拼写、手写体识别、图像处理、基因序列分析、股票预测和投资。
3 隐含马尔可夫模型的训练
关于隐含马尔可夫模型的三个基本问题:
①给定一个模型,计算某个特定的输出序列的概率;
解决:Forward-Backward算法
②给定一个模型和某个特定的输出序列,找出最可能产生该输出的状态序列;
解决:维特比算法
③给定足够量的观测数据,估计隐含马尔可夫模型的参数,即模型训练。
·隐含马尔可夫模型的参数:
转移概率:前一状态 进入当前状态 的概率
生成概率:每个状态 产生相应输出符号 的概率
·计算或估计参数
<有监督的训练方法>
状态输出概率:
转移概率:
前提:需要大量人工标注的数据
<无监督的训练方法>
通过大量观测到的信号 就能推算模型参数的 和 方法,主要使用鲍姆-韦尔奇算法。
鲍姆-韦尔奇算法思想:找到一组能够产生输出序列 的模型参数,构成初始模型 。需要在此基础上找到一个更好的模型。算出这个模型产生 的概率 ,找出该模型产生 的所有可能路径以及这些路径的概率。根据公式(5.6)和(5.7)计算出一组新的模型参数 ,从 到 的过程称为一次迭代。
接下来,从 出发,找到一个更好的模型 ,并且不断地进行迭代,直到模型的质量不再有明显的提高。
鲍姆-韦尔奇算法的每一次迭代都是不断地估计新的模型参数,使得输出的概率(目标函数)达到最大化,这个过程被称为期望值最大化,简称EM过程。
隐含马尔可夫模型是机器学习的主要工具之一,需要一个训练算法(鲍姆-韦尔奇算法)和解码算法(维特比算法)。
第6章 信息的度量和作用
1 信息熵
提出:1948年,香农
对于任意一个随机变量 ,熵的定义如下:
其中, 表示信息 出现的概率。熵用 表示,单位为比特。
信息量等于不确定性的多少,变量的不确定性越大,熵也就越大,所需信息量也就越大。
2 信息的作用
一个事物内部存在随机性,即不确定性,假定为 ,从外部消除不确定性唯一的办法是引入信息 ,需要 。当 时,这些信息可以消除一部分不确定性,剩余不确定性: 。如果没有信息,任何公式或者数字的游戏都无法排除不确定性。
·条件熵
假定 和 是两个随机变量, 是需要了解的。假定已知 的随机分布 ,那么也就知道 的熵: ,不确定性就为熵。
假定已知 和 一起出现的概率,即联合概率分布,还已知在 取不同值得前提下 的概率分布,即条件概率分布。
定义在 的条件下的条件熵为:
定义有两个条件的条件熵为:
信息的作用在于消除不确定性,自然语言处理的问题就是寻找相关的信息。
3 互信息
互信息:两个随机事件“相关性”的量化度量
假定 和 是两个随机事件,互信息定义如下:
等价于
所谓两个事件相关性的量化度量,就是在了解其中一个 的前提下,对消除另一个 不确定性所提供的信息量。
互信息是一个取值在0到 之间的函数,当 和 完全相关时,取值为 ,同时 ;完全无关时,取值为0。
应用:机器翻译中的词义的二义性
4 相对熵
相对熵:即交叉熵,用来衡量两个取值为正数的函数的相似性。
定义如下:
相对熵是不对称的,即 。
改进的相对熵计算方法:
·结论:
①对于两个完全相同的函数,相对熵等于0;
②相对熵越大,两个函数的差异越大;反之,相对熵越小,差异越小;
③对于概率分布或概率密度函数,如果取值均大于0,相对熵可以度量两个随机分布的差异性。
应用:信号处理、自然语言处理