论文查重原理及实现

论文查重原理及实现

  • 原理:
    • 在知网上的论文检测为整篇的进行上传但是本人却是提交自己的正式论文部分上去的(paperpass), 上传的文章格式对检测结果可能会造成影响(在paperpass上存在两种类型(分别为.doc, .docx), 但有的还可以是.txt文件), 此影响为几十个字的小段可能检测不出.
    • 但为什么不可以是pdf或者其他的文档文本格式了?(页面的前端业务逻辑判断就会进行处理).
      • 首先来解释一下pdf格式文本与doc/txt/docx等可以直接查重的文本文档进行比较的结果.
        • pdf : pdf是由Adobe公司开发的. 一般情况下pdf是不支持修改的.
        • doc : doc是由微软公司开发的. 一般情况下doc都是支持修改的.
    • 对于数据量过于繁琐的论文比如5万字以上的论文文章, 以上问题造成的影响就可以忽略不计的.

  • 对比数据的来源:

    • 对比数据库的存在:

      • 中国学术期刊网络出版总库, 中国博士学位论文全文数据库/中国优秀硕士学位论文全文数据库, 国内重要论文全文数据库, 中国重要报纸全文数据库, 中国专利全文数据库, 个人对比库, 其他对比库. 部分书籍不在知网知网数据库里, 所以检测不到.

      • 上传论文之后发生的事:

        • 上传论文后, 系统会自动检测文章的目录结构也就是章节信息, 如果有自动生成的目录信息, 那么系统会将文章按章节分段检测, 否则会自动分段检测
package Test;import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;/*** Created by JackDan9 on 2017/5/23.*/
public class GetParagraph {public static void main(String[] args) throws IOException {ArrayList<String> res = new ArrayList<String>(); //段落的切分StringBuilder sb = new StringBuilder(); // 拼接读取的内容String temp1 = null; // 临时变量, 存储sb没有去除标点符号的内容(只是去除空格)String temp = null; // 临时变量, 存储sb去除空格的内容并且取出标点符号的内容BufferedReader reader = new BufferedReader(new FileReader(new File("C:\\Users\\JackDan9\\Desktop\\检测\\PaperPass-专业版-检测报告\\使用帮助.txt")));int ch = 0;while ((ch = reader.read()) != -1) {temp1 = sb.toString().trim().replaceAll("\\s*", "");temp = temp1.replaceAll("[\\pP\\p{Punct}]", "");if((char) ch == '\r') {// 判断是否存在空格if(!"".equals(temp)) {// 说明到了段落的结尾, 将其加入到链表, 并清空sbres.add(temp);}sb.delete(0, sb.length()); // 清空sb} else {// 说明没有能够到达段落结尾, 将结果暂存.sb.append((char) ch);}}if(reader.read() == -1) {System.out.println("paragraphEnd");}// 最后一段如果非空, 那就把最后一段加上, 否则不处理if(!"".equals(temp)) {res.add(temp);}Iterator<String> iterator = res.iterator();while(iterator.hasNext()) {String next = iterator.next();System.out.println("paragraphStart");System.out.println(next);}System.out.println("paragraphNumber" + res.size());}
} 
  • 如果是.pdf文档格式文件就会存在如下图所示的一堆乱码:
    pdfError

  • 中国知网的查重为该系统的灵敏度设置了一个阀值(阈的意思是界限, 故阈值又叫临界值, 是指一个效应能够产生的最低值或最高值.),
    该阀值为5%, 以段落计, 低于这个阀值的抄袭和引用是检测不出来的.
  • 至于查重阀值的实现因为需要借助数据库进行检测, 本地的检测权威性相比于数据库的比较实在太Low.
package Test;import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.FileNotFoundException;
import java.io.IOException;
/*** Created by JackDan9 on 2017/5/23.*/
public class AutoCheckTest {
//    private static final String filePath = "文件路径";private static final String filePath = "C:\\Users\\JackDan9\\Desktop\\test\\test1.txt";private static final String secFilePath = "C:\\Users\\JackDan9\\Desktop\\test\\test2.txt";private static final String resFilePath = "C:\\Users\\JackDan9\\Desktop\\test\\result.txt";public static void main(String[] args) {long startTime = System.currentTimeMillis();// 阅读第一个文集那File file = new File(filePath);File secFile = new File(secFilePath);BufferedReader reader = null;BufferedReader secReader = null;
//        BufferedReader resReader = null;BufferedWriter resWriter = null;try {reader = new BufferedReader(new FileReader(file));secReader = new BufferedReader((new FileReader(secFile)));secReader.mark(90000000);resWriter = new BufferedWriter(new FileWriter(resFilePath));String lineText = null;while((lineText = reader.readLine()) != null) {String searchText = lineText.trim();searchAndSignProcess.searchAndSignProcess(searchText, secReader, resWriter);}long endTime = System.currentTimeMillis();System.out.println("======Process Over!======");System.out.println("Time Speeding: " + ((endTime - startTime) / 1000D) + "s");} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {if(reader != null) {try {reader.close();} catch (IOException e) {e.printStackTrace();} finally {if (secReader != null && resWriter != null) {try {secReader.close();resWriter.close();} catch (IOException e) {e.printStackTrace();}}}}}}
}

package Test;import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;/*** Created by JackDan9 on 2017/5/24.*/
public class searchAndSignProcess {public static void searchAndSignProcess(String searchText, BufferedReader secReader, BufferedWriter resWriter) throws IOException{String lineStr = "-\n";if (searchText == null) {return;}if("".equals(searchText)) {resWriter.write(lineStr);}String lineText = null;int lineNum = 1;while ((lineText = secReader.readLine()) != null) {String secLine = lineText.trim();if (searchText.equals(secLine)) {lineStr = "###=Equal:" + lineNum + "=###" + "\n";break;}lineNum ++;}resWriter.write(lineStr);secReader.reset();}
}

JackDan9 Thinking.
论文查重原理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/8834.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT 新应用时代来临!CSDN AIGC 与大模型技术应用峰会全日程公布

我们正处在一个什么样的时代节点&#xff1f; 比尔盖茨直指人工智能时代已经开启&#xff0c;并这样表示&#xff1a;在我有生之年&#xff0c;见证了两次革命性的技术展示。一次是 1980 年看到图形用户界面&#xff1b;一次就是 OpenAI 带来的 ChatGPT 与 GPT-4。 英伟达的黄教…

【可乐荐书】Python自动化办公应用大全(ChatGPT版):从零开始教编程小白一键搞定烦琐工作

本栏目将推荐一些经典的、有趣的、有启发性的书籍&#xff0c;这些书籍涵盖了各个领域&#xff0c;包括文学、历史、哲学、科学、技术等等。相信这些书籍不仅可以让你获得知识&#xff0c;还可以让你感受到阅读的乐趣和魅力。 今天给大家推荐的书籍是&#xff1a;《Python自动…

ChatGPT 速通手册——开源社区的进展

开源社区的进展 在 ChatGPT 以外&#xff0c;谷歌、脸书等互联网巨头&#xff0c;也都发布过千亿级参数的大语言模型&#xff0c;但在交谈问答方面表现相对 ChatGPT 来说都显得一般。根据科学人员推测&#xff0c;很重要的一部分原因是缺失了RLHF(Reinforcement Learning with…

2023最新ChatGPT网站源码+支持ChatGPT4.0+支持Midjourney绘画+用户会员套餐+用户每日签到领取+后台管理+一键更新版本

2023最新ChatGPT网站源码支持ChatGPT4.0支持Midjourney绘画用户会员套餐用户每日签到领取后台管理一键更新版本&#xff0c;支持手机电脑不同布局页面自适应。 一、系统安装教程 一台VPS服务器&#xff08;CentOS 7 64 &#xff09; 搭建宝塔面板 解析绑定域名 上传程序至根目录…

ChatGPT帮我编程自动演奏手机钢琴一曲《故乡的亲人》

我是如何紧跟新技术革命&#xff0c;玩转ChatGPT&#xff0c;帮我电脑Windows&#xff0c;树莓派Linux和手机Android三者数码硬件控制和软件开发编程技术突飞猛进的&#xff01;首先确立一个学习目标&#xff0c;就是数码和音乐控制编程结合&#xff0c;紧紧抓住最新出现的科技…

类ChatGPT的各种语言大模型LLM开源Github模型集合​

作为开发人员&#xff0c;面对堪称科技奇点爆发的ChatGPT&#xff0c;我们如何应对。当然是努力跟进&#xff0c;虽然ChatGPT不开源&#xff0c;但是有诸多不输ChatGPT的各类语言大模型LLM有分享。我们筛选出其中影响力较大的各个开源Github仓库&#xff0c;收录到 类ChatGPT的…

如何在DOS上,和ChatGPT聊天?(暴露年龄了吗?

MixGPT MS-DOS是一种早期操作系统&#xff0c;全称为Microsoft Disk Operating System。在上个世纪80年代被广泛使用&#xff0c;成为IBM PC的标准操作系统。作为一个基于命令行的操作系统&#xff0c;用户需要通过键盘输入命令来完成操作。正是因为MS-DOS的成功&#xff0c;为…

ChatGPT报错:Sorry, you have been blocked解决方法

今天打开ChatGPT&#xff0c;发现再一次报错了&#xff01; 又一次出问题了。。。。。。。无语&#xff01; 原因分析 1、内容过滤&#xff1a;某些平台或网站可能使用内容过滤系统&#xff0c;该系统可能将AlI语言模型视为潜在的风险&#xff0c;从而对其进行封锁或限制。这…

2023数字化转型十大趋势(限时领取)

点亮智库&中信联团队基于多年来对数字化转型的研究和对十万家企业服务实践&#xff0c;形成了《数字化转型十大趋势》。 趋势一&#xff1a; 数据要素催化传统要素连锁化学反应的聚合效应显现 数据要素价值开发&#xff0c;包括激活传统要素价值潜能和开发数据要素自身新价…

ChatGPT爆火出圈,高质量文本标注数据成关键

“2022年11月30日&#xff0c;OpenAI发布了ChatGPT——一个对话式AI&#xff0c;上线仅五天&#xff0c;注册用户数突破100万&#xff0c;爆火出圈&#xff0c;成为社会热议话题。截止今年1月末&#xff0c;ChatGPT的月活用户数量破亿&#xff0c;成为史上用户数增长最快的消费…

“ChatGPT爆火后,NLP技术不存在了”

允中 发自 凹非寺量子位 | 公众号 QbitAI 从2012年到2022年&#xff0c;机器学习引发的新一轮人工智能热潮已经十年。 巧合的是&#xff0c;2022年的Diffusion和ChatGPT&#xff0c;以大众可感知、可体验的方式&#xff0c;让大模型涌现的超能力成功破圈。 从学术界到工业界&am…

ChatGPT可怕吗?还有更可怕的

你是否想过&#xff0c; 类似ChatGPT人工智能的应用&#xff0c; 将来会极其火爆&#xff1f; 工作停摆咋整&#xff1f;不能恰饭咋整&#xff1f; 社恐发作咋整…… 试试彼时的网络人工智能&#xff0c; 把知识图谱和神经网络结合起来用&#xff0c; 答案会自己往外蹦。…

互联网晚报 | 李彦宏回应:如何看待AI代替人类工作;广汽三菱回应退出中国传闻;HM回应女子试衣用新衣垫脚...

阿里巴巴设立六大业务集团&#xff0c;张勇兼任阿里云智能集团CEO 3月28日&#xff0c;阿里巴巴集团董事会主席兼首席执行官张勇发布全员信&#xff0c;宣布启动“16N”组织变革。在阿里巴巴集团之下&#xff0c;将设立阿里云智能、淘宝天猫商业、本地生活、菜鸟、国际数字商业…

中国算力的想象力有多大?|产业特稿

巨头入场和“东数西算”的助推&#xff0c;让中国离这个万亿级算力蓝海更近了一步。 作者|思杭 编辑|皮爷 出品|产业家 2023年初&#xff0c;在青岛、济南、日照等12座城市&#xff0c;一座座崭新的大型数据中心拔地而起。 其中&#xff0c;最引人瞩目的属2月23日&#xff…

深度解析国产AI芯片发展历程与厂商

原文链接&#xff1a;深度 | 国产AI芯片&#xff0c;玩家几何 (qq.com) 从2022.11.30的ChatGPT&#xff0c;到2023.6.13的360智脑大模型2.0&#xff0c;全球AI界已为大模型持续疯狂了七个多月。ChatGPT们正如雨后春笋般涌现&#xff0c;向AI市场投放一个个“炸弹”&#xff1a;…

吴军 | ChatGPT七问七答

苇草智酷 作者 | 吴军 谷歌中日韩搜索算法主要设计师、知名人工智能、自然语言处理专家 转自 | 响铃说 从野蛮社会到人工智能&#xff0c;计算机科学家吴军为你讲解ChatGDP的来龙去脉。 4月3日晚上&#xff0c;吴军就人工智能和ChatGPT等当下热议的话题展开了一次直播。 Q1&a…

我实测了国内外GPT,问了10个问题,差点把电脑砸了...

观点| Mr.K 主笔| Wendy.L 编辑| Emma 来源| AI新猿人(ID&#xff1a;aixyr2023) 虽然ChatGPT早就火出圈好几个月&#xff0c;但是我敢保证有好多人还是不知道GPT三个字母代表什么。 G代表的是generative&#xff0c;表示有生产力的&#xff1b; P代表的是pre-trained 的意…

文心一言 VS chatgpt (6)-- 算法导论2.3 1~2题

一、使用图 2-4作为模型&#xff0c;说明归并排序在数组 A(3&#xff0c;41&#xff0c;52&#xff0c;26&#xff0c;38&#xff0c;57&#xff0c;9&#xff0c;49)上的操作。 文心一言&#xff1a; 使用图 2-4作为模型&#xff0c;说明归并排序在数组 A(3&#xff0c;41&a…

文心一言 VS chatgpt (14)-- 算法导论3.2 2~3题

二、证明等式&#xff08;3.16&#xff09;&#xff1a;a ^ {\log_b c} c ^ {\log_b a}。 文心一言&#xff1a; chatgpt&#xff1a; 我们需要证明的等式为&#xff1a; a log ⁡ b c c log ⁡ b a a^{\log_b c} c^{\log_b a} alogb​cclogb​a。 首先&#xff0c;将 l…

文心一言 VS chatgpt (3)-- 算法导论2.1

一、以图 2-2 为模型&#xff0c;说明INSERTION-SORT 在数组 A(31&#xff0c;41&#xff0c;59&#xff0c;26&#xff0c;41&#xff0c;58)上的执行过程。 文心一言&#xff1a; 以图 2-2 为模型&#xff0c;说明INSERTION-SORT 在数组 A(31&#xff0c;41&#xff0c;59&…