ESA

从n-gram中文文本纠错,到依存树中文语法纠错以及同义词查找

有些话、适合烂在心里 提交于 2019-12-07 20:00:23
前记 本文简单地讲解如何使用n-gram模型结合汉字拼音来作中文错别字纠错,然后介绍最短编辑距离在中文搜索纠错方面的应用;最后从依赖树入手讲解如何作文本长距离纠错(语法纠错),并从该方法中得到一种启示,利用依赖树的特点结合ESA算法来做同义词的查找。 n-gram模型 在中文错别字查错情景中,我们判断一个句子是否合法可以通过计算它的概率来得到,假设一个句子S = {w1, w2, ..., wn},则问题可以转换成如下形式: P(S)被称为 语言模型 ,即用来计算一个句子合法概率的模型。 但是使用上式会出现很多问题,参数空间过大,信息矩阵严重稀疏,这时就有了n-gram模型,它基于 马尔科夫模型假设 ,一个词的出现概率仅依赖于该词的前1个词或前几个词,则有 (1)一个词的出现仅依赖于前1个词,即 Bigram (2-gram): (2)一个词的出现仅依赖于前2个词,即 Trigram (3-gram): 当n-gram的n值越大时,对下一个词的约束力就越强,因为提供的信息越多,但同时模型就越复杂,问题越多,所以一般采用bigram或trigram。下面举一个 简单的例子 ,说明n-gram的具体使用: n-gram模型通过计算 极大似然估计 (Maximum Likelihood Estimate)构造语言模型,这是对训练数据的最佳估计,对于Bigram其计算公式如下: