Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

7.25——中文文本纠错开源项目整理 #12

Open
li-aolong opened this issue Jul 25, 2019 · 2 comments
Open

7.25——中文文本纠错开源项目整理 #12

li-aolong opened this issue Jul 25, 2019 · 2 comments
Labels
GEC 语法错误纠正(Grammatical Error Correction) NLP 自然语言处理(Natural Language Processing) 开源项目 开源的项目

Comments

@li-aolong
Copy link
Owner

pycorrector

  • github地址:https://github.com/shibing624/pycorrector
  • 采用的方案
    1. 基于规则
      • 中文纠错分为两步走,第一步是错误检测,第二步是错误纠正;
      • 错误检测部分先通过结巴中文分词器切词,由于句子中含有错别字,所以切词结果往往会有切分错误的情况,这样从字粒度和词粒度两方面检测错误, 整合这两种粒度的疑似错误结果,形成疑似错误位置候选集;
      • 错误纠正部分,是遍历所有的疑似错误位置,并使用音似、形似词典替换错误位置的词,然后通过语言模型计算句子困惑度,对所有候选集结果比较并排序,得到最优纠正词
    2. 基于深度模型
      • 端到端的深度模型可以避免人工提取特征,减少人工工作量,RNN序列模型对文本任务拟合能力强,rnn_attention在英文文本纠错比赛中取得第一名成绩,证明应用效果不错;
      • CRF会计算全局最优输出节点的条件概率,对句子中特定错误类型的检测,会根据整句话判定该错误,阿里参赛2016中文语法纠错任务并取得第一名,证明应用效果不错;
      • seq2seq模型是使用encoder-decoder结构解决序列转换问题,目前在序列转换任务中(如机器翻译、对话生成、文本摘要、图像描述)使用最广泛、效果最好的模型之一。
      • 包括:kenlm,rnn_lm,rnn_attention,rnn_crf,seq2seq,seq2seq_attention,transformer,bert

correction

  • github地址:https://github.com/ccheng16/correction
  • 大致思路:
    • 使用语言模型计算句子或序列的合理性
    • bigram, trigram, 4-gram 结合,并对每个字的分数求平均以平滑每个字的得分
    • 根据Median Absolute Deviation算出outlier分数,并结合jieba分词结果确定需要修改的范围
    • 根据形近字、音近字构成的混淆集合列出候选字,并对需要修改的范围逐字改正
    • 句子中的错误会使分词结果更加细碎,结合替换字之后的分词结果确定需要改正的字
    • 探测句末语气词,如有错误直接改正

Cn_Speck_Checker

  • github地址:https://github.com/PengheLiu/Cn_Speck_Checker
  • 程序原理:
    • 使用了贝叶斯定理
    • 初始化所有潜在中文词的先验概率,将文本集(50篇医学文章)分词后,统计各个中文词的出现频率即为其先验概率
    • 当给定一待纠错单词时,需要找出可能的正确单词列表,这里根据字符距离来找出可能的正确单词列表
    • 对构造出来的单词做了一次验证后再将其加入候选集合中,即判断了下该词是否为有效单词,根据其是否在单词模型中

chinese_correct_wsd

Autochecker4Chinese

  • github地址:https://github.com/beyondacm/Autochecker4Chinese
  • 方法:
    • 构造一个词典来检测中文短语的拼写错误,key是中文短语,值是在语料库中的频率
    • 对于该字典中未出现的任何短语,检测器会将其检测为拼写错误的短语
    • 使用编辑距离为错误拼写的短语制作正确的候选列表
    • 对于给定的句子,使用jieba做分割
    • 在分段完成后获取分段列表,检查其中是否存在保留短语,如果不存在,那么它是拼写错误的短语

xmnlp

  • GitHub地址:https://github.com/SeanLee97/xmnlp
  • 功能概览:
    • 中文分词 & 词性标注
      • 支持繁體
      • 支持自定义词典
    • 中文拼写检查
    • 文本摘要 & 关键词提取
    • 情感分析
    • 文本转拼音
    • 获取汉字偏旁部首
@li-aolong li-aolong added GEC 语法错误纠正(Grammatical Error Correction) NLP 自然语言处理(Natural Language Processing) 开源项目 开源的项目 labels Jul 25, 2019
@aaa1999
Copy link

aaa1999 commented Apr 28, 2021

有无深度学习的模型相关的。。。。

@wangwang110
Copy link

有无深度学习的模型相关的。。。。

https://github.com/ACL2020SpellGCN/SpellGCN

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
GEC 语法错误纠正(Grammatical Error Correction) NLP 自然语言处理(Natural Language Processing) 开源项目 开源的项目
Projects
None yet
Development

No branches or pull requests

3 participants