issues
search
li-aolong
/
li-aolong.github.io
李傲龍的博客
https://aolong.me
81
stars
16
forks
source link
8.1——中文文本纠错相关
#16
Open
li-aolong
opened
5 years ago
li-aolong
commented
5 years ago
1 问题分析
1.1 类型
谐音字词纠错,如:配副眼睛-配副眼镜
混淆音字词纠错,如:流浪织女-牛郎织女
字词顺序颠倒纠错,如:伍迪艾伦-艾伦伍迪
字词补全,如:爱有天意-假如爱有天意
形似字纠错,如:高梁-高粱
中文拼音推导,如:xingfu-幸福
中文拼音缩写推导,如:sz-深圳
语法错误,如:想象难以-难以想象
1.2 特征
边界词:中文没有边界词,所以纠错时必须考虑上下文
字符集:中文常用字符集约7000
session信息:领域、候选词表、热度词表等
1.3 评估
评测数据:主要包括SIGHAN Bake-off 2013/2014/2015。其中,只有 SIGHAN Bake-off 2013 是针对母语使用者的,而另外两个是针对非母语使用者
评价指标:查准率,查全率,F值
2 相关方法
一般分三步:错误识别 -> 生成纠正候选 -> 评价纠正候选
可以省略第一步,将所有文本都视为纠正对象
2.1 错误识别方法
最大熵分类
基于
字符级别
的词向量
使用双向字符级
N-gram LM
,对句子里的字符打分,得分低的地方视为待纠错位置
2.2 生成纠正候选方法
使用
困惑集
,用于存储每个字词可能被混淆的错别字词的可能
错误形式:发音混淆;形状混淆
利用困惑集直接替换
利用困惑集和规则进行有选择替换
利用困惑集和词表或语言模型进行有选择替换
利用模型生成
2.3 评价纠正候选方法
使用
语言模型
使用
分类器
2.4 其他
自动机
统计信息
2.5 总结
影响纠错效果的主要因素:
困惑集:主要影响召回率
语言模型:基于字符级别;基于词级别
词表:主要用于判断替换字符之后是否可以成词
语料:可以利用大规模的互联网语料估计错误拼写
3 实践思路
3.1 收集先验知识
词表
领域类别词表
意图类别词表
领域内实体词表
语言模型
利用领域内和通用语料,生成N-gram语料
困惑集
收集字符、词级别的困惑集
根据词表生成困惑集
纠错对照表
常用易错字词-正确字词对照表,该表优先级较高
热词信息
用日志信息,生成关键词的热度信息
训练数据
利用领域内和通用语料,随机产生错误(同音字、谐音字、字词乱序、字词增删等),构造训练样本
3.2 算法流程
错误识别
基于字向量构建每个字符的二分类判别器
基于字符的双 N-gramLM
分词后,针对单字词,认为有错;针对多字词,若该词不在词表中,认为有错
对于出现在纠错对照表中的认为有错
利用字典信息
生成纠正候选
对于认为有错的字词利用困惑集进行逐一替换,生成纠正候选
基于拼音利用编辑距离自动机生成候选
利用 HMM、图模型、Seq2Seq 生成
评价纠正候选
利用多类统计特征,训练判别模型
热词具有较高优先级
根据分数进行输出
1 问题分析
1.1 类型
1.2 特征
1.3 评估
2 相关方法
2.1 错误识别方法
2.2 生成纠正候选方法
2.3 评价纠正候选方法
2.4 其他
2.5 总结
3 实践思路
3.1 收集先验知识
3.2 算法流程