Need help with paper_checking_system?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

tianlian0
148 Stars 54 Forks GNU General Public License v2.0 33 Commits 0 Opened issues

Description

基于C#和C++开发的文本查重/论文查重系统,一亿字次级论文库秒级查重。关联:查重算法、数据去重、文本去重、标书查重、防串标

Services available

!
?

Need anything else?

Contributors list

No Data

简体中文论文查重系统

写在前面

本项目于在2017年完成了第一版并投入使用,后经一年多的稳定运行和维护升级,于2018年开源。由于项目架构较老,目前本项目以维护为主进行常规更新和BUG修复,不再进行大的功能性更新。

相关SDK

目前团队开发了一套新的查重SDK(JAVA版)
项目链接:https://dreamspark.com.cn/blog/?id=16
使用示例:https://github.com/tianlian0/duplicate-check-sample
SDK相较于本项目更新频率较高也拥有一些更新更高级的特性。目前已有多个商用查重系统和查重网站基于此SDK开发上线。欢迎大家试用、反馈,希望它能帮助大家开发出自己应用场景下的查重系统。另,C++、C#版在计划开发中。

安装使用教程

1、clone源代码
2、使用vs打开、编译(vs需安装.NET开发组件)
3、运行paperchecking.exe文件即可
兼容性要求:
windows 7及以上,vs2017及以上,需安装vc2015运行库和.NET Framework4.6。其它版本需自行测试。
报错排除:
1、如果运行时报pdfbox相关错误可将引用中的pdfbox-app.dll删掉重新添加,然后尝试重新编译。
2、如果IKVM或Spire报错,可能是因为项目刚拉下来相关第三方包还未下载完毕,可等待vs自动下载或打开NuGet手动下载缺少的包。
3、32位版本操作系统请将paper
check32.dll文件重命名为papercheck.dll来替换原文件,否则会报papercheck.dll相关错误。
4、如果程序执行到一半闪退,一般是由于比对库中的文件,文件名中包含特殊字符(不可见字符、特殊的空格、奇怪符号等),请检查文件名。
5、为什么查重的结果永远是0?两个原因①这个系统是使用本地比对库进行查重的,查重之前需要先添加本地比对库,不添加比对库就查重,结果肯定是0。各位正在写论文或者作业的同学们,想给自己的论文或者作业查重请自行去各大查重平台购买,这个系统不适用没有本地比对库的用户。②添加比对库的时候必须使用比对库管理选项卡下的“添加到比对库”按钮进行添加,不要自己向比对库文件夹里拷文件,自己拷进去的是不生效的,必须通过程序提供的功能来添加。

项目介绍与功能说明

该系统目前支持对简体中文的文件进行横向查重和纵向查重。
两个核心功能点说明如下:
1、纵向查重
选择一批待查文件后,将该批文件和比对库中的文件比对。通常用以检查该批文件有没有复制比对库中的文本。
2、横向查重
选择一批待查文件后,在该批次文件之间进行比对,用以检查该批次文件有没有互相复制的情况。这个功能是目前主流查重平台(万方、CNKI等)支持度较差的。

软件中涉及的其它功能点及名词说明如下:
1、添加到比对库
将文件添加到比对库中。这个功能是服务于纵向查重的,将文件通过这个功能添加到比对库中,在使用纵向查重功能的就可与比对库中的文件进行比对。需要选中存放文件的文件夹,然后点击“添加到比对库”按钮,按钮会变灰,等待按钮恢复正常即添加完毕。该过程需要耗费一定时间。
2、查重阈值的设置
该值的设置决定了待查文件连续多少个字与其它文件相同即判定为抄袭。推荐值为10至16,用户亦可根据实际情况自行设定为1至99之间的任意整数值。
3、保存查重报告的文件夹
选择一个文件夹,待查重完毕后查重报告将会输出到这个文件夹中。
4、生成统计表
查重结束后是否生成csv格式的统计表。
5、中断恢复
选中复选框,软件将不会清除上一次查重的结果继续查重。该复选框适用于应用程序中途意外退出,想从退出时的进度继续查重。
6、关键词过滤
将一些可能影响重复率的关键词添加到关键词过滤功能中,在查重时会将待查文本中出现的关键词全部删除,以避免它们对重复率的影响。这类关键词通常可能为学校名、机构名等。
7、查重进程数
该值的设置影响查重速度,默认为当前机器CPU逻辑核心数减2。
8、格式转换线程数
文件在查重前会进行格式转换,该值的设置影响文件格式转换的速度,默认为当前机器CPU逻辑核心数减2。

注意事项:
如果待查文件在比对库中存在,文件名相同会自动跳过比对,若文件名不相同,则会导致查重重复率高于90%的情况(相当于是两篇相同的文本进行比对,至于为什么不是100%后续有说明)。

查重原理说明

查重的原理:
每两篇文件之间比对连续相同的字符串,超过查重阈值即认为这些字是重复的。但是,如果单篇文本重复率在0.25%以下或重复字数在30字以下,将不判定为重复。同时,如果一篇文本从其它文本复制了某句话很多次,只认为其中的一次为重复。
文件格式转换使用了pdfbox和spire word free。
文本格式化时去掉文本中的摘要、目录、参考文献及非中文字符。
生成的查重报告为rtf格式。

引用的库

1、IKVM
2、Spire.Doc Free
3、pdfbox

开源合规

IKVM使用了GPLv2协议,受限于GPLv2的传染性,本项目源代码采用GPLv2协议。
Spire.Doc Free为免费软件不涉及开源问题,但格式转换能力差于商业版。如您对word文档的转换效果不满意,可通过[商业合作]与我联系进行定制。
pdfbox使用了apache2.0协议,本项目中以动态链接库的形式调用pdfbox,未修改其源代码。
如您需将本项目或其中部分代码进行商用同时的规避GPL协议带来的合规成本,可通过[商业合作]与我联系,针对您的需求为您重新授权,规避开源合规风险。

已知bug

极少量正常的pdf、word文件转换失败,如您发现此类文件,希望您通过issuse进行反馈并提供下载链接,十分感谢。

其它说明

1、2018年本项目的web版开发完成(地址:https://gitee.com/markliuadmin/PaperCheckSys ),后该版本放弃维护,已不提供任何技术支持,感兴趣的小伙伴可以自行研究我们之前的代码。
2、现在我们已经开发了一套全新的支持多语言的web版查重系统,不过暂未开源,如有相关需求可以通过[商业合作]联系进行试用/定制开发。该系统中使用的核心查重模块已以SDK的形式开放使用(https://dreamspark.com.cn/blog/?id=16 )。
3、该开源版本为一个简化版本,拥有查重所需的所有核心功能并输出一个较为简易的查重报告,有其它定制需求见[商业合作]。

项目截图

image
image
项目运行演示视频:链接:https://pan.baidu.com/s/1VM9g4CT4nAwlZXOHePkoXQ 提取码:t059
PS:①截图部分内容涉及隐私,已马赛克处理。②截图、视频和本项目略有不同,一是因为视频和截图使用的不是最新版,二是因为[其它说明]第3条。

欢迎打赏

image

商业合作

本项目遵守AGPL3.0协议,同时本项目已申请三项软件著作权(证书号:3846389,4486326等)
本项目可以提供c#/java/c++版本的定制开发或技术支持,也可定制web版或客户端版系统。欢迎各企业、高校、机构合作。商业合作专用微信/QQ:654062779,添加好友烦请备注公司名称,不备注不通过;个人项目合作可备注您的姓氏。非商业合作勿扰。
可合作应用场景:高校论文查重、标书查重、项目申报书查重、企业内部文档查重、数据去重、学生作业查重等

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.