issues
search
li-aolong
/
li-aolong.github.io
李傲龍的博客
https://aolong.me
81
stars
16
forks
source link
7.31——开源项目Cn_Speck_Checker分析
#15
Open
li-aolong
opened
5 years ago
li-aolong
commented
5 years ago
该项目使用于中文词组的纠正
给定一待纠错词w,需要从一系列候选词中选出一最可能的。也就是:argmax(p(c|w)), c in 候选词表。根据贝叶斯原理,p(c|w) = p(w|c)
p(c) / p(w)。又对任意可能的c,p(w)一样,故也就是求使argmax(p(w|c)
p(c))成立的c
初始化所有潜在中文词的先验概率,使用文本集:50篇医学文章分词后,统计各个中文词的出现频率即为其先验概率
为了弥补可能出现的新词,做了平滑处理,对新词默认其出现频率为1
当给定一待纠错单词时,根据字符距离来找出可能的正确单词列表
如果一个单词转变为另一个单词需要编辑n下,如删掉一个字符,替换一个字符,交换两个字符位置,增减一个字符,那么这两个单词间的字符距离为n
由于中文字有5000多个,因而由字符距离1来构造出来的可能候选单词列表将会很大,因而对构造出来的单词做了一次验证后再将其加入候选集合中,即判断了下该词是否为有效单词
如果只考虑单词距离为1的单词数量不够用,可以继续加入与待检查单词距离为2的单词