部分补充
平滑方法
由于并没有足够的数据,很多事件 x 并没有在训练数据中出现,也就是 c(x)=0,这是有问题的,没有在训练数据中出现的数据,并不代表不会在测试数据中出现,如果没有考虑到数据稀疏性,你的模型就太简单了!
- 平滑方法
- Additive smoothing
- Good-Turing estimate
- Katz smoothing (backoff)
- Absolute discounting
- Kneser-Ney smoothing
1.Additive smoothing
Add-one smoothing
也叫 Laplace smoothing,假设 we saw each word one more time than we did,下面以 bigram model 为例给出加 1 平滑的模型
MLE estimate:
[Math Processing Error]
Add-1 estimate:
[Math Processing Error]
通常情况下,V={w:c(w)[Math Processing Error]0}[Math Processing Error]{UNK}
2.Good-Turing smoothing
基本思想: 用观察计数较高的 N-gram 数量来重新估计概率量大小,并把它指派给那些具有零计数或较低计数的 N-gram
3.Katz smoothing
回退式算法。和 Good-Turing 一样,对计数进行调整,以 bigram 为例,非 0 计数的 bigram 都根据打折比率 [Math Processing Error] 进行打折,比率约为 [Math Processing Error],这个比率是由 Good-Turing 计算得到的,然后根据下一个低阶分布(如 unigram),对没有出现过的 bigram 重新分配从非零计数中减去的值。
4.Absolute discounting
Absolute discounting 包括了对高阶和低阶模型的差值,然而它并不是用高阶模型的 [Math Processing Error] 乘以一个 lambda,而是从每个非零计数里减掉一个固定的 discount [Math Processing Error]
5.Kneser-Ney smoothing
是 Absolute discounting 的一个扩展,对回退部分做了一个修正。
Idea: 只有在高阶模型的计数很小或者为 0 时,低阶模型才显得重要,(换种说法,只有在 bigram 没有出现过时,unigram 才有用),因此应针对该目的进行优化
语料库
语料库建设中涉及的主要问题
设计和规划 : 主要考虑语料库的用途、类型、规模、实现手段、质量保证、可扩展
语料的采集: 语料的采集:主要靠路语料获取数据格式、字符编码、语料分类、文本描述,以及各类语料的比例以保持平衡等。
语料的加工: 包括标注项目(词语单位、词性、句法、语义、语体、篇章结构等)标记集、标注规范和加工方式。
预料管理系统的建设: 包括数据维护(语料录入、校对、存储、修改、删除及语料 描述信息项目管理)、语料自动加工(分词、标注、文本分割、合并、标记处理等)、用户功能(查询、检索、统计、打印等)。
语料库的应用: 针对语言学理论和应用领域中的各种问题,研究和开发处理预料的算法和软件工具。