中文文字校对和文档对比合并开源工具调研

针对中文文字错别字校对和word,ppt等文档对比合并需求,调研现存的一些开源工具。
一. 中文文字纠错:

  1. pycorrector (开源 python3.6)

中文文本纠错工具。

音似、形似错字(或变体字)纠正,可用于中文拼音、笔画输入法的错误纠正。依据语言模型检测错别字位置,通过拼音音似特征、笔画五笔编辑距离特征及语言模型困惑度特征纠正错别字。

语言模型:

Kenlm(统计语言模型工具)

RNNLM(TensorFlow、PaddlePaddle均有实现栈式双向LSTM的语言模型)

可扩展性:

词典可扩展,可使用自己的语料进行训练,该repo使用的是人民日报数据。扩展性强。
pycorrector纠错流程:

  • 加载字典

  • 统一编码

  • 长句切分为短句,对每一个短句进行检错纠错

    • 首先,检测句子中的疑似错误信息,返回的疑似错误信息包括[错误词、错误词位置、错误类型],具体的做法是:①将句子切分成一个个的词语,如果词语不是过滤词也没有出现在词、频数字典中,就认为这个词可能是一个错误词,把它加入疑似错误信息;②根据语言模型检测疑似错误字,加入疑似错误信息。

    • 针对上一步得到的错误信息,逐个对错误进行纠正:如果困惑集中有这个词,直接将错误词替换即可;否则,取得所有可能正确的词作为候选词,然后对候选词通过语言模型进行打分,找出最有可能的正确词,并对错误词进行改正。

    • 纠正后的短句拼接成长句输出

  1. FASPell(开源 Python)

2019-SOTA简繁中文拼写检查工具:FASPell Chinese Spell Checker (Chinese Spell Check / 中文拼写检错 / 中文拼写纠错 / 中文拼写检查)

FASPell是中文拼写检查器,可让您轻松完成对任何一种中文文本(简体中文文本;
繁体中文文本; 人类论文; OCR结果等)的拼写检查,且拥有最先进的性能。

  1. Correction(开源 C++)

中文文本纠错工具。

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

针对医学数据训练出来的,基于编辑距离,可自行训练–效果一般,统计词频和共现信息,不太完善,返回大量candidates。

  • 人们通常越往后字打错的可能越大,因而可以考虑每个字在单词中的位置给予一定权重,这中方法有助于改进上面的第一种“传然”- "虽然"的情况;
  • 考虑拼音的重要性,对汉语来讲,通常人们打错时拼音是拼对的,只是选择时候选择错了,因而对候选词也可以优先选择同拼音的字。
  1. proofreadv1(开源 Python)

中文文本自动纠错。效果一般,主要用于搜索引擎中的搜索关键词的别字纠错。

词频字典+bi-gram

  1. chinese_correct_wsd(开源 Python)

简易的中文纠错和消歧。京东客服机器人语料做的中文纠错,主要解决同音自动纠错问题。代码多年未更新,目前跑不起来。

  1. Autochecker4Chinese(开源 Jupyter Notebook)

中文文本错别字检测以及自动纠错。可扩展性:词典可扩展,不使用自己的语料进行训练。扩展性一般。

  1. Xmnlp(开源 Python)

小明 NLP — 轻量级中文自然语言处理工具。

nlp工具包,包含分词、情感分析,没有专注于错别字纠正,效果较差。

  1. 黑马文字校对 (效果最好)

  2. 方正金山中文校对

  3. 无错字中文校对软件

  4. 字根JCJC 错别字检测

  5. 人工智能校对通

  6. 啄木鸟

  7. 飞鹰智能校对系统

  8. 百分点公司的智能媒体校对系统

  9. 方寸智能校对系统

  10. 三欧

  11. 文捷

二. 文档对比合并:

  1. 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所有相同文本(即找到标记的文本),然后再分别标记出剩下的删除或新增文本即可。

  1. Beyond Compare(收费)

  2. UltraCompare(收费)

  3. Meld(开源 Python)

一个面向开发人员的可视化差异和合并工具。Meld帮助您比较文件、目录和版本控制的项目。

  1. DiffMerge(免费)

一个在Windows、OS X和Linux上可视化地比较和合并文件的应用程序。

  1. Windiff(免费)

进行Windows的文件比较工具软件。

  1. KDiff3(开源 C++)

比较并合并两个或三个输入文件或目录,逐行和逐字显示差异,提供自动合并工具。

  1. Wizard(开源 PHP)

仅支持Markdown/Swagger/Table类型的文档。开源免费的开发文档/API文档管理工具。

  1. PDFlux(收费)

PDF对比

  1. Diffuse

  2. TextDiff

  3. Diffinity

中文文字校对和文档对比合并开源工具调研相关推荐

  1. Microsoft Word for Mac 文字处理和文档创建工具

    Microsoft Word for Mac 作为一款专业的文字处理和文档创建工具,可让您快速轻松地与他人创建,编辑,查看和共享文件.它还允许您查看和编辑附加到电子邮件的Office文档.使用Word ...

  2. Tencent APIJSON-自动化接口和文档 ORM 库开源啦

    APIJSON是一种专为API而生的JSON网络传输协议以及基于这套协议实现的ORM库. 为简单的增删改查.复杂的查询.简单的事务操作提供了完全自动化的API. 能大幅降低开发和沟通成本,简化开发流程 ...

  3. Thinkphp开发的卡密商城平台,带数据库和文档,全开源方便二次开发

    这个用途就不多说了.想找卡密商城的拿去研究吧.压缩包里有文档. 亲测了一下,可以搭建运行.由于本人对卡密商城没有需求,再加上系统功能太多,比较庞杂,就简单过了一下,其他的功能需要使用者自己研究熟悉. ...

  4. 推荐两个搜索本地文件和文档内容的小工具

    everything Everything是速度最快的文件搜索软件.其速度之快令人震惊,百G硬盘几十万个文件,可以在几秒钟之内完成索引:文件名搜索瞬间呈现结果.它小巧免费,支持中文,支持正则表达式,可 ...

  5. [内附完整源码和文档] 基于Jsp的百货中心供应链管理系统

    摘要 近年来,随着计算机技术的发展,以及信息化时代下企业对效率的需求,计算机技术与通信技术已经被越来越多地应用到各行各业中去.百货中心作为物流产业链中重要的一环,为了应对新兴消费方式的冲击,从供货到销 ...

  6. 一个在线ER模型设计工具:支持数据库设计、生成、反向工程、优化和文档生成等操作

    ER模型介绍 ER模型,即实体关系模型,是数据库建模的一种重要方法.它可以帮助开发人员更好地理解数据库结构,并确定数据库的概念模型.在本文中,我们将详细介绍ER模型设计的基本概念和过程. 首先,我们需 ...

  7. WPS文字如何将多个文档快速合并成一个WPS文档?

    有些时候我们需要将多个WPS文档合并成一个文档,如我们写系列文章的时候是一篇一个文档保存,最后写完之后想将他们合并成一个WPS文档便于转换PDF格式输出.除了一个个文档打开然后复制粘贴到新文档外,我们 ...

  8. 记录一下 Java 代码实现文件夹、文件的对比,主要包含 word、pdf、文本、图片等相关文件的对比计算,以及计算文本的相似率(重复率)、筛选出差异的文件、方便文件和文档的去重,并封装为jar包

    记录一下 Java 代码实现文件夹.文件的对比,主要包含 word.pdf.文本.图片等相关文件的对比计算,以及计算文本的相似率(重复率).筛选出差异的文件.方便文件和文档的去重,并把所有的源码封装为 ...

  9. Abbyy Finereader 15:文档对比功能不支持中文的处理方法

    问题:Abbyy 15文档对比功能中,只支持部分语言,其中就不支持中文 解决: 1.按win+R键打开运行,输入"regedit",打开注册表编辑器 2.找到目录树:计算机/HKE ...

  10. 开源项目介绍 |APIJSON- 后端零代码接口和文档ORM 库

    2021腾讯犀牛鸟开源人才培养计划 开源项目介绍 滑至文末报名参与开源人才培养计划 提交项目Proposal APIJSON项目介绍 标签:后端, ORM 库 技术栈:java APIJSON- 后端 ...

最新文章

  1. 用Apache Ignite实现可扩展的数据网格
  2. C#将运算字符串直接转换成表达式且计算结果
  3. java web 颜色灰色_网站动态变灰解决方案(java web项目网站)
  4. 在windows上使用go编译dll文件,供C++调用
  5. (20)FPGA多路选择器设计(第4天)
  6. bootstrap 垂直居中 布局_网页布局都有哪种?一般都用什么布局?
  7. android studio中的适配器,如何在Android Studio中测试回收器视图适配器
  8. 芯原创始人戴伟民:嵌入式人工智能与芯粒的历史机遇
  9. 如何从Mac桌面隐藏各种标准图标?
  10. php砸金蛋程序,简单的几句PHP生成美团3周年砸金蛋抽奖代码
  11. python小球弹跳_python实现小球弹跳效果
  12. 收集最全的工业软件大集合
  13. Vue实现Word文档在线预览功能(内网、外网)!!!
  14. 2019年大龄程序员书单
  15. Kubernetes上基于longhorn和statefulsets的pv空间扩展
  16. matlab支持 编程语言,用于数学的10个优秀编程语言
  17. crf graph matlab_如何评价 Vicarious 在 Science 上提出基于概率图模型(PGM)的 RCN 模型?...
  18. jquery系列之-ajaxSubmit()提交表单示例
  19. == 和 equals 的区别
  20. c语言-是不是太胖了

热门文章

  1. jy-12-SPRINGMYBATIS02——学子商城-@成恒
  2. 线性反馈移位寄存器的输出(未解出)
  3. SecureCRT的下载、安装( 过程非常详细!!值得查看)
  4. 网吧版XP系统制作与优化终极版(转)
  5. 2021年卡信乐卡盟源码程序
  6. Unity+Android GET和POST方式的简单实现API请求(人像动漫化)
  7. VOS2009_2.1.2.0的安装教程
  8. 利用oc门或od门实现线与_OC与OD门.doc
  9. 蜗牛学院:程序员最值得看的12部电影
  10. Python:第六次全国人口普查数据分析及可视化(pandas、matplotlib)