数学之美

第一章 文字和语言 vs 数字和信息

  • 消岐:上下文

  • 翻译这件事之所以能达成,仅仅是因为不同的文字系统在记录信息的能力上是等价的。

  • 信息的冗余是信息安全的保障。

    • 罗塞塔石碑的同一内容重复三次,只要有一份完好保留,则原有信息不会丢失。

    • 这对信道编码有指导意义。

  • 语言的数据,我们称之为语料,尤其是双语或多语的对照语料对翻译至关重要。

  • 计数系统和进制

    • 今天使用十进制的原因:早起祖先的计数系统是掰指头。

    • 玛雅文明使用二十进制,相比十进制复杂很多(如乘法表需要背19*19的棋盘),这可能也是玛雅文明发展缓慢的原因

  • 对于不同位数数字的表示,中国人用个十百千万,罗马人用I II III IV等;这不自觉地引入了朴素的编码概念

    • 用不同的符号代表不同的数字概念

    • 制定了解码规则。

      • 中国:乘法,即 两百万 = 2 100 10000

      • 罗马:加减法,即 IV = 5 - 1 = 4,复杂很多。

      • 最有效的是古印度人 -> 阿拉伯数字。叫阿拉伯数字的原因是,这套表示方法是阿拉伯人传入欧洲的。

  • 罗马文字中,常用字段、生僻字长,符合信息论中的最短编码原理。

  • 古时,中文的口语移动且较长,但书写的文字却难懂且较短:书写材料稀少、书写成本大(刻字时间长)

    • 符合信息科学的原理:通信时,若信道较宽,信息不必压缩就可以直接传递;若信道很窄,信息在传递前要尽可能地压缩,然后在接收端进行解压缩。

  • 犹太人抄写《圣经》时,为了避免抄写错误,使用类似校验码的方法。

    • 每个字母对应一个数字,校验码 = 该行所有数字之和;每一列同理。这样即可使用行列校验码定位出错位置

  • 从字母到词的构词法是词的编码规则,语法则是语言的编码和解码规则。词是有限而封闭的集合,语言是无限而开放的集合。

    第二章 自然语言处理 - 从规则到统计

  • 早期对自然语言处理的误解:要让机器完成翻译或语音识别等只有人类才能做的事情,就必须先让计算机理解自然语言,而做到这一点就必须让计算机拥有类似人类的智能。

  • 自然语言处理:分析语句获取语义

  • 自然语言理解:句法分析语义分析

  • 语法分析:任何线性的语句都可用二维的语法分析树(Parse Tree)来表示。

  • 基于规则的语义分析

    • 瓶颈:词的多义性很难用规则来描述。

    • 主要是基于语义文法规则来进行语义分析

  • 基于统计的语义分析

    • 20世纪70年代,基于统计的方法的核心模型是通信系统+隐含马尔科夫模型

    • 运用统计模型解决语义分析

第三章 统计语言模型

  • 自然语言逐渐演变成一种上下文相关的信息表达和传递方式,所以处理自然语言,一个基本的问题是,为其建立数学模型,即统计语言模型(Statistical Language Model) -> 用于判断文字序列是否合乎文法、语义是否正确。

  • 语言模型的数学表达

    • 文字序列是否合理的指标定义

      • 看它的可能性大小 -> 概率

      • 假设句子为S,每个单词为wi(i = 1, 2, ..., n),则P(S) = P(w1, w2, ..., wn)

      • P(w1, w2, ..., wn) = P(w1) P(w2 | w1) P(w3 | w1, w2) ... P(wn | w1, w2, ..., wn-1)

      • 马尔科夫假设:假设任意一个词wi只与它前一个词wi-1有关

        • P(w1, w2, ..., wn) = P(w1) P(w2 | w1) P(w3 | w2) ... P(wn | wn-1)

        • 二元模型(Bigram Model)。当一个词由前面n个词决定时,为n-gram model

        • 求解每项概率

P(wiwi1)=P(wi1,wi)P(wi1)P(w_i | w_{i-1}) = \frac{P(w_{i-1}, w_i)}{P(w_{i-1})}
  • 联合概率P(wi-1, wi)和边缘概率P(wi-1)可用语料库估计

    • 即统计wi-1, wi这两个词在语料库中出现的次数,分别除以语料库大小,可得到它们的相对频度。根据大数定理,相对频度约等于概率。再拿二者概率相除即可得到结果

P(wiwi1)=f(wi1,wi)f(wi1)P(w_i | w_{i-1}) = \frac{f(w_{i-1}, w_i)}{f(w_{i-1})}
  • 高阶语言模型

    • 假设句子中的每个词语前N-1个词有关 -> N-1阶马尔科夫假设 / N-Gram Model

    • 一般N = 1、2、3,再大开销会变得格外大,且带来的性能提升并不显著,这就是马尔科夫假设的局限性。原因:

      • 空间复杂度:O(V^N)

      • 时间复杂度:O(V^(N-1))

      • 需要采用一些长程的依赖性(Long Distance Dependency)来解决

  • 模型训练

    • 参数:模型中所有的条件概率

    • 模型的训练:通过对语料的统计,得到这些条件概率的过程

  • 零概率问题

    • 分子为0时,即两个词无贡献次数时,会导致某一项概率为零,而整体概率是每个条件概率的乘积,会导致整体概率为零;若两个单词都只出现一次,会导致P(wi | wi-1) = 1的情况。

    • 在实际应用中,统计语言模型的零概率问题是无法回避的。

    • Solutions

      • 增加数据量,但并不总是奏效

      • 古德 - 图灵估计

        • 对于没有看见的事件,我们不能认为它发生的概率就是零,因此我们从概率的总量(Probabilities Mass)中分配一个很小的比例给没有看见的事件。

        • 估计公式

第四章 谈谈分词

  • 词是表达语义的最小单位

  • 中文分词的发展

    • 查字典法:把句子从左到右扫描,遇到字典里有的就标识出来;遇到复合词找最长的词匹配,遇到未知词就分割成单个单词。

    • 查字典法优化 - 最少词数的分词理论:一句话应该分割成数量最少的词串。但对具有二义性的分割无能为力;且并非所有的最长匹配都是正确的。

Last updated