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

embedded/2024/12/29 7:19:47/

拼写纠正系列

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,并且提供了用于未来中文拼写检查研究的混淆集

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

主要库

  • pytesseract
  • OpenCV
  • Kaldi
  • Python 3.5
  • Pytorch 0.4
  • numpy
  • BeautifulSoup

基于OCR的方法

ocr

基于ASR的方法

ocr

基本模型

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

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

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

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

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

混淆集

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

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

测试数据集

SIGHAN Bake-off 2013: 链接

SIGHAN Bake-off 2014: 链接

SIGHAN Bake-off 2015: 链接

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

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

引用

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

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

@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


http://www.ppmy.cn/embedded/149673.html

相关文章

【每日学点鸿蒙知识】userAgent识别问题、StatusBar颜色、taskpool中操作同一个对象、scroll组件

1、HarmonyOS window.navigator.userAgent.toLowerCase()方法获取的值都有哪些? h5暂无法通过window.navigator.userAgent识别,只能通过原生注入固定字段识别, 可以参考这篇文档:https://developer.huawei.com/consumer/cn/forum…

Linux RTC 驱动框架

目录 一、实时时钟(RTC)介绍1.1 概述1.2 功能1.3 应用场景1.4 工作原理1.5 对外接口1.6 常见 RTC 芯片1.7 在 Linux 系统中的应用1.8 注意事项 二、Linux 内核 RTC 驱动框架2.1 相关源码文件介绍2.2 核心数据结构2.2.1 struct rtc_device2.2.2 rtc_class…

JS中for循环里的ajax请求不数据

问题:在for循环里调接口,调接口的请求方式用ajax的写法,发现每次循环都会跳过ajax,导致获取不到接口数据 问题解决:for循环是单线程的,是同步的。ajax是异步的。把ajax变成同步的就可以了: …

CBSD管理QEMU仿真虚拟机

CBSD管理QEMU仿真虚拟机 first QEMU VM 使用 cbsd qconstruct-tui创建 cbsd qconstruct-tuino such qemu-system-x86_64, please install qemu and re-run: cbsd initenv Please follow https://www.bsdstore.ru/en/cbsd_qemu_quickstart.html instruction to setup FreeBSD …

jmeter混合场景测试,设置多业务并发比例(吞吐量控制器)

jmeter混合场景测试,设置多业务并发比例(吞吐量控制器) 测试目的 为了验证需求提出的性能要求,结合实际可能的高压力场景,较全面的检测系统的性能表现。 测试方法 根据需求调研的业务模型和交易占比,设置不…

webrtc音频模块(三) windows Core Audio API及声音的播放

在前面介绍了ADM(Audio Device Module),它用于抽象音频设备管理和音频数据采集/播放接口。windows的实现是AudioDeviceWinowCode,它封装了Core Audio APIs实现了对音频设备的操作。 Core Audio APIs windows提供了多种音频操作API,比如最常…

鸿蒙HarmonyOS学习笔记(7)

ArkTS中有类似java中的System.arraycopy数组复制的方法吗? 可以通过buffer.concat()方法,将数组中的内容复制指定字节长度到新的Buffer对象中并返回 buffer.concat concat(list: Buffer[] | Uint8Array[], totalLength?: number): Buffer 将数组中的…

【Seata】分布式事务问题和理论基础

目录 1.分布式事务问题 1.1本地事务 1.2分布式事务 2.理论基础 2.1CAP定理 2.1.1一致性 2.1.2可用性 2.1.3分区容错 2.1.4矛盾 2.2BASE理论 2.3解决分布式事务的思路 1.分布式事务问题 1.1本地事务 本地事务,也就是传统的单机事务。在传统数据库事务中…