NLP 中文拼写检测纠正论文SOTA FASPell github 源码介绍
cac55 2025-01-13 11:14 14 浏览 0 评论
NLP 开源项目
[1] nlp-hanzi-similar 汉字相似度: https://github.com/houbb/nlp-hanzi-similar
[2] word-checker 中英文拼写检测: https://github.com/houbb/word-checker
[3] pinyin 汉字转拼音: https://github.com/houbb/pinyin
[4] opencc4j 繁简体转换: https://github.com/houbb/opencc4j
[5] sensitive-word 敏感词: https://github.com/houbb/sensitive-word
前言
大家好,我是老马。
下面学习整理一些其他优秀小伙伴的设计和开源实现。
FASPell
https://github.com/iqiyi/FASPell
FASPell
该仓库(根据GNU通用公共许可证v3.0许可) 包含构建当前最佳(到2019年初)中文拼写检查器所需的所有数据和代码,可以以此复现我们的同名论文中的全部实验:
FASPell: A Fast, Adaptable, Simple, Powerful Chinese Spell Checker Based On DAE-Decoder Paradigm LINK[7]
此论文发表于 the Proceedings of the 2019 EMNLP Workshop W-NUT: The 5th Workshop on Noisy User-generated Text。
使用本代码与数据时,请按如下信息引用我们的论文:
@inproceedings{hong2019faspell,
title = "{FASP}ell: A Fast, Adaptable, Simple, Powerful {C}hinese Spell Checker Based On {DAE}-Decoder Paradigm",
author = "Hong, Yuzhong and
Yu, Xianguo and
He, Neng and
Liu, Nan and
Liu, Junhui",
booktitle = "Proceedings of the 5th Workshop on Noisy User-generated Text (W-NUT 2019)",
month = nov,
year = "2019",
address = "Hong Kong, China",
publisher = "Association for Computational Linguistics",
url = "https://www.aclweb.org/anthology/D19-5522",
pages = "160--169",
}
概述
中文拼写检查(CSC)的任务通常仅考虑对中文文本中的替换错误进行检测和纠正。
其他类型的错误(例如删除/插入错误)相对较少。
FASPell是中文拼写检查器,可让您轻松完成对任何一种中文文本(简体中文文本;
繁体中文文本; 人类论文; OCR结果等)的拼写检查,且拥有最先进的性能。
性能
下述表格描述了FASPell在SIGHAN15测试集上的性能。
句子级性能为:
精确率 | 召回率 | |
检错 | 67.6% | 60.0% |
纠错 | 66.6% | 59.1% |
字符级性能为:
精确率 | 召回率 | |
检错 | 76.2% | 67.1% |
纠错 | 73.5% | 64.8% |
这意味着10个错误检测/纠正中大约7个是正确的,并且可以成功检测/纠正10个错误中的6个。
使用方法
以下是能够指导您构建中文拼写检查器的步骤指南。
依赖
python == 3.6
tensorflow >= 1.7
matplotlib
tqdm
java (仅在使用树编辑距离时需要)
apted.jar (同上,仅在使用树编辑距离时需要)
数据准备
在此步骤中,您将在此处[8]下载所有数据。
数据包括拼写检查数据(用于训练和测试)以及用于计算字符相似度的字符特征。
由于FASPell中使用的大多数数据来自其他提供商,所以请注意下载的数据应转换为我们所需的格式。
在仓库中,我们提供了一些示例数据来占位。下载好全部数据后请用相同的文件名覆盖它们。
完成此步骤后,如果您有兴趣,则可以使用以下脚本来计算字符相似度:
$ python char_sim.py 午 牛 年 千
请注意,FASPell仅采用字符串编辑距离进行计算 相似。 如果您对使用树编辑距离计算相似度感兴趣 ,您需要下载(从 这里[9])并编译一个 树编辑距离可执行文件“ apted.jar”到主目录,然后运行:
$ python char_sim.py 午 牛 年 千 -t
训练
我们强烈建议您在实施此步骤之前阅读我们的论文。
共有三个训练步骤(按顺序)。 点击链接
获得他们的详细信息:
1.预训练掩码语言模型:请参阅此处[10]
2.微调训练掩码语言模型:请参阅此处[11]
3.训练CSD过滤器:请参见此处[12]
运行拼写检查器
检查您的目录结构是否如下:
FASPell/
- bert_modified/
- create_data.py
- create_tf_record.py
- modeling.py
- tokenization.py
- data/
- char_meta.txt
- model/
- fine-tuned/
- model.ckpt-10000.data-00000-of-00001
- model.ckpt-10000.index
- model.ckpt-10000.meta
- pre-trained/
- bert_config.json
- bert_model.ckpt.data-00000-of-00001
- bert_model.ckpt.index
- bert_model.ckpt.meta
- vocab.txt
- plots/
...
- char_sim.py
- faspell.py
- faspell_configs.json
- masked_lm.py
- plot.py
现在,您应该可以使用以下命令对中文句子进行拼写检查:
$ python faspell.py 扫吗关注么众号 受奇艺全网首播
您还可以检查文件中的句子(每行一个句子):
$ python faspell.py -m f -f /path/to/your/file
如要在测试集上测试拼写检查器,请将faspell_configs.json中的"testing_set"设置为测试集的路径并运行:
$ python faspell.py -m e
您可以将faspell_configs.json中的"round"设置为不同的值,并运行上述命令以找到最佳的回合数。
数据
中文拼写检查数据
1.人类生成的数据:
?SIGHAN-2013 shared task on CSC: LINK[13]?SIGHAN-2014 shared task on CSC: LINK[14]?SIGHAN-2015 shared task on CSC: LINK[15]
2.机器生成的数据:
?我们论文中使用的OCR结果:
?Tst_ocr: LINK[16]?Trn_ocr: LINK[17]
要使用我们的代码,拼写检查数据的格式应按照以下例子:
错误字数 错误句子 正确句子
0 你好!我是張愛文。 你好!我是張愛文。
1 下個星期,我跟我朋唷打算去法國玩兒。 下個星期,我跟我朋友打算去法國玩兒。
0 我聽說,你找到新工作,我很高興。 我聽說,你找到新工作,我很高興。
1 對不氣,最近我很忙,所以我不會去妳的。 對不起,最近我很忙,所以我不會去妳的。
1 真麻煩你了。希望你們好好的跳無。 真麻煩你了。希望你們好好的跳舞。
3 我以前想要高訴你,可是我忘了。我真戶禿。 我以前想要告訴你,可是我忘了。我真糊塗。
中文字符特征
我们使用来自两个开放数据库提供的特征。 使用前请检查其许可证。
数据库名 | 数据链接 | 使用的文件 | |
字形特征※ | 漢字データベースプロジェクト(汉字数据库项目)[18] | LINK[19] | ids.txt |
字音特征 | Unihan Database[20] | LINK[21] | Unihan_Readings.txt |
※ 请注意,原始 ids.txt 本身不提供笔划级别的IDS(出于压缩目的)。 但是,您可以使用树递归(从具有笔画级IDS的简单字符的IDS开始)来为所有字符自己生成笔画级IDS。
可以与我们的代码一起使用的特征文件(char_meta.txt)应该具有格式如下:
unicode编码 字符 CJKV各语言发音 笔划级别的IDS
U+4EBA 人 ren2;jan4;IN;JIN,NIN;nhan ?丿?
U+571F 土 du4,tu3,cha3,tu2;tou2;TWU,THO;DO,TO;th? ??一丨一
U+7531 由 you2,yao1;jau4;YU;YUU,YUI,YU;do ??丨??一丨一
U+9A6C 马 ma3;maa5;null;null;null ???一
U+99AC 馬 ma3;maa5;MA;MA,BA,ME;m? ????一?一一丨?灬
其中:
?CJKV各语言发音的字符串遵循格式:MC;CC;K;JO;V;?当一个语言中的字符是多音字时,可能的发音用,分隔;?当一个字符不存在某个语言的发音时,用null来做占位符。
小结
希望本文对你有所帮助,如果喜欢,欢迎点赞收藏转发一波。
我是老马,期待与你的下次相遇。
相关推荐
- MIRIX重塑AI记忆:超Gemini 410%,节省99.9%内存,APP同步上线
-
MIRIX,一个由UCSD和NYU团队主导的新系统,正在重新定义AI的记忆格局。在过去的十年里,我们见证了大型语言模型席卷全球,从写作助手到代码生成器,无所不能。然而,即使最强大的模型依...
- 硬盘坏了怎么把数据弄出来对比10种硬盘数据恢复软件
-
机械硬盘或固态硬盘损坏导致数据丢失时,应立即停止对硬盘的读写操作,并根据损坏类型选择逻辑层恢复工具或专业物理恢复服务。紧急处置措施立即停止通电使用:发现硬盘异响、无法识别或数据异常时,需立即断开连接,...
- 蓝宝石B850A WIFI主板新玩法:内存小参调节体验
-
蓝宝石前段时间发布了一款性价比极高的主板:NITRO氮动B850AWIFI主板。这款主板的售价只要1349元,相比普遍1500元以上的B850主板,确实极具竞争力。虽然价格实惠,蓝宝石NITR...
- 内存卡损坏读不出怎么修复?这5个数据恢复工具汇总,3秒挽回!
-
在数字化生活的浪潮中,内存卡凭借小巧便携与大容量存储的特性,成为相机、手机、行车记录仪等设备存储数据的得力助手,承载着无数珍贵回忆与重要文件。然而,当内存卡突然损坏无法读取,无论是误删、格式化、病毒入...
- 内存卡修复不再难,2025年必学的6款软件工具
-
内存卡出现问题时,通常是因为文件系统损坏、物理损坏或病毒感染。通过专业的修复工具,我们可以尝试恢复数据并修复内存卡。内存卡修复利器:万兴恢复专家万兴恢复专家是一款功能强大的数据恢复软件,支持多种设备和...
- 有5款内存卡修复工具汇总,内存卡数据轻松找回!
-
在如今的数字时代,内存卡作为不可或缺的存储介质,广泛应用于相机、手机、行车记录仪等各类设备中,承载着我们珍贵的照片、视频以及重要文件。然而,数据丢失的风险却如影随形,误删、格式化、病毒入侵、硬件故障等...
- 揭秘:如何通过多种方式精准查询内存条型号及规避风险?
-
以下是内存条型号查询的常用方法及注意事项,综合了物理查看、软件检测、编码解析等多种方式:一、物理标签查看法1.拆机查看标签打开电脑主机/笔记本后盖找到内存条,观察标签上的型号标识。例如内存标签通常标...
- 内存卡数据恢复5个工具汇总推荐,轻松找回珍贵记忆!
-
在这个数字化时代,内存卡作为我们存储珍贵照片、重要文件的常用载体,广泛应用于手机、相机、平板电脑等设备。但数据丢失的意外却常常不期而至,误删除、格式化、病毒攻击,甚至内存卡的物理损坏,都可能让辛苦保存...
- 电脑内存智能监控清理,优化性能的实用软件
-
软件介绍Memorycleaner是一款内存清理软件。功能很强,效果很不错。Memorycleaner会在内存用量超出80%时,自动执行“裁剪进程工作集”“清理系统缓存”以及“用全部可能的方法清理...
- TechPowerUp MemTest64:内存稳定性测试利器
-
TechPowerUpMemTest64:内存稳定性测试利器一、软件简介TechPowerUpMemTest64,由知名硬件信息工具GPU-Z的出品公司TechPowerUp发布,是一款专为64位...
- 微软推出AI恶意软件检测智能体Project Ire,精确度高达98%
-
IT之家8月6日消息,当地时间周二,微软宣布推出可自主分析恶意软件的AI检测系统原型——ProjectIre。该项目由微软研究院、Defender研究团队及Discovery&a...
- 农村老木匠常用的20种老工具,手艺人靠它养活一家人,你认识几种
-
生活中的手艺老匠人是非常受到尊敬和崇拜的,特别是在农村曾经的老匠人都是家里的“座上宾”。对于民间传统的手艺人,有一种说法就是传统的八大匠:木匠、泥匠、篾匠、铁匠、船匠、石匠、油匠和剃头匠。木匠的祖始爷...
- 恶意木马新变种伪装成聊天工具诱人点击
-
国家计算机病毒应急处理中心通过对互联网监测发现,近期出现一种恶意木马程序变种Trojan_FakeQQ.CTU。该变种通过伪装成即时聊天工具,诱使计算机用户点击运行。该变种运行后,将其自身复制到受感染...
- 学习网络安全 这些工具你知道吗?
-
工欲善其事必先利其器,在新入门网络安全的小伙伴而言。这些工具你必须要有所了解。本文我们简单说说这些网络安全工具吧!Web安全类web类工具主要是通过各种扫描工具,发现web站点存在的各种漏洞...
- 5分钟盗走你的隐私照片,这个全球性漏洞到底有多可怕?
-
这个时代,大家对电脑出现漏洞,可能已经习以为常。但如果机哥告诉大家,这个漏洞能够在5分钟内,破解并盗取你所有加密文件,而且还无法通过软件和补丁修复...这可就有点吓人啦。事情是酱婶的。来自荷兰埃因...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 如何绘制折线图 (52)
- javaabstract (48)
- 新浪微博头像 (53)
- grub4dos (66)
- s扫描器 (51)
- httpfile dll (48)
- ps实例教程 (55)
- taskmgr (51)
- s spline (61)
- vnc远程控制 (47)
- 数据丢失 (47)
- wbem (57)
- flac文件 (72)
- 网页制作基础教程 (53)
- 镜像文件刻录 (61)
- ug5 0软件免费下载 (78)
- debian下载 (53)
- ubuntu10 04 (60)
- web qq登录 (59)
- 笔记本变成无线路由 (52)
- flash player 11 4 (50)
- 右键菜单清理 (78)
- cuteftp 注册码 (57)
- ospf协议 (53)
- ms17 010 下载 (60)