NLP 中文拼写检测纠正论文 A Hybrid Approach to Automatic Corpus Generation 代码实现

拼写纠正系列

NLP 中文拼写检测实现思路

NLP 中文拼写检测纠正算法整理

NLP 英文拼写算法,如果提升 100W 倍的性能?

NLP 中文拼写检测纠正 Paper

java 实现中英文拼写检查和错误纠正?可我只会写 CRUD 啊!

一个提升英文单词拼写检测性能 1000 倍的算法?

单词拼写纠正-03-leetcode edit-distance 72.力扣编辑距离

NLP 开源项目

nlp-hanzi-similar 汉字相似度

word-checker 中英文拼写检测

pinyin 汉字转拼音

opencc4j 繁简体转换

sensitive-word 敏感词

前言

大家好,我是老马。

下面学习整理一些其他优秀小伙伴的设计、论文和开源实现。

感受

这是 2018 年的论文,基于混淆集的方式。

局限性比较大,但是不失为一种解决方案。

论文+实现

论文地址: https://aclanthology.org/D18-1273.pdf

源码地址:https://github.com/wdimmy/Automatic-Corpus-Generation

一种混合方法用于中文拼写检查的自动语料生成(EMNLP2018)

该仓库包含了可用于自动生成包含错误的句子的脚本,这些错误的位置和相应的修改可以在没有人工干预的情况下轻松标记。

生成的数据集 包含了271,329个句子,最短句子长度为4,最长句子长度为140,平均长度为42.5,总错误数为381,962,平均每个句子的错误数为1.4,并且提供了用于未来中文拼写检查研究的混淆集

注意: 数据集混淆集将持续更新。

主要库

基于OCR的方法

基于ASR的方法

基本模型

使用我们提出的方法生成数据集后,您可以尝试任何您想要的中文拼写检查模型。

在这里,我们实现了一个基于Pytorch的BiLSTM模型,模型中有很多细节可以进一步优化。

  • 训练:使用命令行 python main_train.py。训练过程的详细信息将显示在屏幕上。

  • 测试:使用命令行 python main_test.py

注意: 您可以微调超参数或添加更多生成的数据来提高模型的性能。

混淆集

对于给定的单词,混淆集是指与该单词在视觉或语音上相似的一组单词。

例如, 哨:宵诮梢捎俏咪尚悄少销消硝赵逍屑吵噹躺稍峭鞘肖。作为我们方法的"副产品",我们为所有涉及的正确字符构建了一个混淆集,通过收集每个正确字符的所有错误变体,这在中文拼写检查任务中被广泛使用。我们也将这个混淆集开放,供未来中文拼写检查研究使用。

测试数据集

SIGHAN Bake-off 2013: 链接

SIGHAN Bake-off 2014: 链接

SIGHAN Bake-off 2015: 链接

注意: 上述所有数据集最初是用繁体中文编写的。考虑到我们生成的数据集是简体中文,因此我们已将原始数据集翻译成简体中文版本,可以在Data文件夹中找到。

我们用来将繁体中文转换为简体中文的工具是OpenCC

引用

如果您觉得该实现有用,请引用以下论文:

《一种混合方法用于中文拼写检查的自动语料生成》

bibtex 复制代码
@InProceedings{Reimers:2018:EMNLP,
  author    = {DingminWang, Yan Song, Jing Li, Jialong Han, Haisong Zhang},
  title     = {{A Hybrid Approach to Automatic Corpus Generation for Chinese Spelling Check}},
  booktitle = {Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing (EMNLP)},
  month     = {11},
  year      = {2018},
  address   = {Brussels, Belgium},
}

联系方式

如有任何问题,请通过电子邮件联系我(Dingmin Wang):wangdimmy (AT) gmail.com

参考资料

https://github.com/wdimmy/Automatic-Corpus-Generation/blob/master/README.md

相关推荐
装不满的克莱因瓶3 小时前
【Java架构师体系课 | MySQL篇】③ Explain执行计划详解
java·数据库·mysql·架构·优化·索引·explain
王煜苏3 小时前
最新版idea2025 配置docker 打包spring-boot项目到生产服务器全流程,含期间遇到的坑
java·docker·容器
李玮豪Jimmy4 小时前
Day18:二叉树part8(669.修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树)
java·服务器·算法
后端小张4 小时前
【AI 学习】AI Agent 开发进阶:架构、规划、记忆与工具编排
java·人工智能·ai·架构·系统架构·agent·智能体
西岭千秋雪_4 小时前
Kafka客户端整合
java·spring boot·分布式·kafka·linq
leonardee4 小时前
Golang笔记——Interface类型
java·后端
我是好小孩4 小时前
【Android】RecyclerView的高度问题、VH复用概念、多子项的实现;
android·java·网络
张彦峰ZYF4 小时前
高并发优惠权益聚合接口的优雅实现(含超时控制 + 来源标识 + Fallback 降级)
java·后端·面试
4Forsee4 小时前
【Android】模板化解决复杂场景的滑动冲突问题
android·java·rpc
若水不如远方4 小时前
深入 Dubbo 服务暴露机制:从注解到网络的完整链路剖析
java·dubbo