中文文字校对和文档对比合并开源工具调研
中文文字校对和文档对比合并开源工具调研
针对中文文字错别字校对和word,ppt等文档对比合并需求,调研现存的一些开源工具。
一. 中文文字纠错:
- pycorrector (开源 python3.6)
中文文本纠错工具。
音似、形似错字(或变体字)纠正,可用于中文拼音、笔画输入法的错误纠正。依据语言模型检测错别字位置,通过拼音音似特征、笔画五笔编辑距离特征及语言模型困惑度特征纠正错别字。
语言模型:
Kenlm(统计语言模型工具)
RNNLM(TensorFlow、PaddlePaddle均有实现栈式双向LSTM的语言模型)
可扩展性:
词典可扩展,可使用自己的语料进行训练,该repo使用的是人民日报数据。扩展性强。
pycorrector纠错流程:
加载字典
统一编码
长句切分为短句,对每一个短句进行检错纠错
首先,检测句子中的疑似错误信息,返回的疑似错误信息包括[错误词、错误词位置、错误类型],具体的做法是:①将句子切分成一个个的词语,如果词语不是过滤词也没有出现在词、频数字典中,就认为这个词可能是一个错误词,把它加入疑似错误信息;②根据语言模型检测疑似错误字,加入疑似错误信息。
针对上一步得到的错误信息,逐个对错误进行纠正:如果困惑集中有这个词,直接将错误词替换即可;否则,取得所有可能正确的词作为候选词,然后对候选词通过语言模型进行打分,找出最有可能的正确词,并对错误词进行改正。
纠正后的短句拼接成长句输出
- FASPell(开源 Python)
2019-SOTA简繁中文拼写检查工具:FASPell Chinese Spell Checker (Chinese Spell Check / 中文拼写检错 / 中文拼写纠错 / 中文拼写检查)
FASPell是中文拼写检查器,可让您轻松完成对任何一种中文文本(简体中文文本;
繁体中文文本; 人类论文; OCR结果等)的拼写检查,且拥有最先进的性能。
- Correction(开源 C++)
中文文本纠错工具。
- 使用语言模型计算句子或序列的合理性
-bigram, trigram, 4-gram 结合,并对每个字的分数求平均以平滑每个字的得分 - 根据Median Absolute Deviation算出outlier分数,并结合jieba分词结果确定需要修改的范围
- 根据形近字、音近字构成的混淆集合列出候选字,并对需要修改的范围逐字改正
- 句子中的错误会使分词结果更加细碎,结合替换字之后的分词结果确定需要改正的字
- 探测句末语气词,如有错误直接改正
- Cn_Speck_Checker(开源 Python)
针对医学数据训练出来的,基于编辑距离,可自行训练–效果一般,统计词频和共现信息,不太完善,返回大量candidates。
- 人们通常越往后字打错的可能越大,因而可以考虑每个字在单词中的位置给予一定权重,这中方法有助于改进上面的第一种“传然”- "虽然"的情况;
- 考虑拼音的重要性,对汉语来讲,通常人们打错时拼音是拼对的,只是选择时候选择错了,因而对候选词也可以优先选择同拼音的字。
- proofreadv1(开源 Python)
中文文本自动纠错。效果一般,主要用于搜索引擎中的搜索关键词的别字纠错。
词频字典+bi-gram
- chinese_correct_wsd(开源 Python)
简易的中文纠错和消歧。京东客服机器人语料做的中文纠错,主要解决同音自动纠错问题。代码多年未更新,目前跑不起来。
- Autochecker4Chinese(开源 Jupyter Notebook)
中文文本错别字检测以及自动纠错。可扩展性:词典可扩展,不使用自己的语料进行训练。扩展性一般。
- Xmnlp(开源 Python)
小明 NLP — 轻量级中文自然语言处理工具。
nlp工具包,包含分词、情感分析,没有专注于错别字纠正,效果较差。
黑马文字校对 (效果最好)
方正金山中文校对
无错字中文校对软件
字根JCJC 错别字检测
人工智能校对通
啄木鸟
飞鹰智能校对系统
百分点公司的智能媒体校对系统
方寸智能校对系统
三欧
文捷
二. 文档对比合并:
- WinMerge(开源 C++)
文件比较/合并工具。不但能对比word、excel等常见的办公文件,还能对比文件夹、图片等。对比word、excel文件,只支持显示文本内容,某些格式会丢失。对PDF文件支持较差。
相比同类的商业软件Beyond
Compare与UltraCompare等,WinMerge或许在很多方面都不如前两者,但凭借着小巧便携且免费开源等特性。
比较多个文档内容甚至是文件夹与文件夹,局限是主要对比文档内容,文本格式会丢失。
支持word,Excel,PPT,pdf(支持较差)的对比,目前配置成功的可以运行Microsoft office插件的只有2.8.6版本,所以需要考虑Microsoft office的兼容问题
实现算法:Diff algorithm:关键就在于如何找到text1与text2所有相同文本(即找到标记的文本),然后再分别标记出剩下的删除或新增文本即可。
Beyond Compare(收费)
UltraCompare(收费)
Meld(开源 Python)
一个面向开发人员的可视化差异和合并工具。Meld帮助您比较文件、目录和版本控制的项目。
- DiffMerge(免费)
一个在Windows、OS X和Linux上可视化地比较和合并文件的应用程序。
- Windiff(免费)
进行Windows的文件比较工具软件。
- KDiff3(开源 C++)
比较并合并两个或三个输入文件或目录,逐行和逐字显示差异,提供自动合并工具。
- Wizard(开源 PHP)
仅支持Markdown/Swagger/Table类型的文档。开源免费的开发文档/API文档管理工具。
- PDFlux(收费)
PDF对比
Diffuse
TextDiff
Diffinity
中文文字校对和文档对比合并开源工具调研相关推荐
- Microsoft Word for Mac 文字处理和文档创建工具
Microsoft Word for Mac 作为一款专业的文字处理和文档创建工具,可让您快速轻松地与他人创建,编辑,查看和共享文件.它还允许您查看和编辑附加到电子邮件的Office文档.使用Word ...
- Tencent APIJSON-自动化接口和文档 ORM 库开源啦
APIJSON是一种专为API而生的JSON网络传输协议以及基于这套协议实现的ORM库. 为简单的增删改查.复杂的查询.简单的事务操作提供了完全自动化的API. 能大幅降低开发和沟通成本,简化开发流程 ...
- Thinkphp开发的卡密商城平台,带数据库和文档,全开源方便二次开发
这个用途就不多说了.想找卡密商城的拿去研究吧.压缩包里有文档. 亲测了一下,可以搭建运行.由于本人对卡密商城没有需求,再加上系统功能太多,比较庞杂,就简单过了一下,其他的功能需要使用者自己研究熟悉. ...
- 推荐两个搜索本地文件和文档内容的小工具
everything Everything是速度最快的文件搜索软件.其速度之快令人震惊,百G硬盘几十万个文件,可以在几秒钟之内完成索引:文件名搜索瞬间呈现结果.它小巧免费,支持中文,支持正则表达式,可 ...
- [内附完整源码和文档] 基于Jsp的百货中心供应链管理系统
摘要 近年来,随着计算机技术的发展,以及信息化时代下企业对效率的需求,计算机技术与通信技术已经被越来越多地应用到各行各业中去.百货中心作为物流产业链中重要的一环,为了应对新兴消费方式的冲击,从供货到销 ...
- 一个在线ER模型设计工具:支持数据库设计、生成、反向工程、优化和文档生成等操作
ER模型介绍 ER模型,即实体关系模型,是数据库建模的一种重要方法.它可以帮助开发人员更好地理解数据库结构,并确定数据库的概念模型.在本文中,我们将详细介绍ER模型设计的基本概念和过程. 首先,我们需 ...
- WPS文字如何将多个文档快速合并成一个WPS文档?
有些时候我们需要将多个WPS文档合并成一个文档,如我们写系列文章的时候是一篇一个文档保存,最后写完之后想将他们合并成一个WPS文档便于转换PDF格式输出.除了一个个文档打开然后复制粘贴到新文档外,我们 ...
- 记录一下 Java 代码实现文件夹、文件的对比,主要包含 word、pdf、文本、图片等相关文件的对比计算,以及计算文本的相似率(重复率)、筛选出差异的文件、方便文件和文档的去重,并封装为jar包
记录一下 Java 代码实现文件夹.文件的对比,主要包含 word.pdf.文本.图片等相关文件的对比计算,以及计算文本的相似率(重复率).筛选出差异的文件.方便文件和文档的去重,并把所有的源码封装为 ...
- Abbyy Finereader 15:文档对比功能不支持中文的处理方法
问题:Abbyy 15文档对比功能中,只支持部分语言,其中就不支持中文 解决: 1.按win+R键打开运行,输入"regedit",打开注册表编辑器 2.找到目录树:计算机/HKE ...
- 开源项目介绍 |APIJSON- 后端零代码接口和文档ORM 库
2021腾讯犀牛鸟开源人才培养计划 开源项目介绍 滑至文末报名参与开源人才培养计划 提交项目Proposal APIJSON项目介绍 标签:后端, ORM 库 技术栈:java APIJSON- 后端 ...
最新文章
- 用Apache Ignite实现可扩展的数据网格
- C#将运算字符串直接转换成表达式且计算结果
- java web 颜色灰色_网站动态变灰解决方案(java web项目网站)
- 在windows上使用go编译dll文件,供C++调用
- (20)FPGA多路选择器设计(第4天)
- bootstrap 垂直居中 布局_网页布局都有哪种?一般都用什么布局?
- android studio中的适配器,如何在Android Studio中测试回收器视图适配器
- 芯原创始人戴伟民:嵌入式人工智能与芯粒的历史机遇
- 如何从Mac桌面隐藏各种标准图标?
- php砸金蛋程序,简单的几句PHP生成美团3周年砸金蛋抽奖代码
- python小球弹跳_python实现小球弹跳效果
- 收集最全的工业软件大集合
- Vue实现Word文档在线预览功能(内网、外网)!!!
- 2019年大龄程序员书单
- Kubernetes上基于longhorn和statefulsets的pv空间扩展
- matlab支持 编程语言,用于数学的10个优秀编程语言
- crf graph matlab_如何评价 Vicarious 在 Science 上提出基于概率图模型(PGM)的 RCN 模型?...
- jquery系列之-ajaxSubmit()提交表单示例
- == 和 equals 的区别
- c语言-是不是太胖了
热门文章
- jy-12-SPRINGMYBATIS02——学子商城-@成恒
- 线性反馈移位寄存器的输出(未解出)
- SecureCRT的下载、安装( 过程非常详细!!值得查看)
- 网吧版XP系统制作与优化终极版(转)
- 2021年卡信乐卡盟源码程序
- Unity+Android GET和POST方式的简单实现API请求(人像动漫化)
- VOS2009_2.1.2.0的安装教程
- 利用oc门或od门实现线与_OC与OD门.doc
- 蜗牛学院:程序员最值得看的12部电影
- Python:第六次全国人口普查数据分析及可视化(pandas、matplotlib)