Skip to content

论文查重程序 v1.0(学号 3124004450)

Latest

Choose a tag to compare

@ZYY190 ZYY190 released this 14 Sep 16:38
· 8 commits to main since this release

论文查重程序 v1.0

学号 3124004450,《软件工程》个人作业。

运行环境

  • JDK 8 及以上(64 位)
  • 无需任何第三方依赖,下载后可直接运行

使用方法

java -jar main.jar <原文文件> <抄袭版论文文件> <答案文件>

三个参数均为绝对路径且不能包含空格,例如:

java -jar main.jar C:\tests\orig.txt C:\tests\orig_add.txt C:\tests\ans.txt

答案文件中会写入一个保留两位小数的浮点数(例如 0.88)。

算法要点

  • 文本规范化 + 两级分句 + 二元字组倒排索引
  • 稀有字组优先的候选筛选,配合严格成立的上界剪枝
  • 跨句边界补偿:单句未完全匹配时与相邻原文句合并再比
  • 重复率 = 抄袭版中被判定重复的字符数 / 抄袭版特征字符总数

课堂下发测试文本的实测结果

原文 orig.txt(约 1.05 万字),Windows 10 + JDK 1.8.0_202:

抄袭版文件 重复率 耗时
orig_0.8_add.txt 0.82 335 ms
orig_0.8_del.txt 0.97 144 ms
orig_0.8_dis_1.txt 0.97 177 ms
orig_0.8_dis_10.txt 0.85 168 ms
orig_0.8_dis_15.txt 0.71 150 ms

性能

文本规模 耗时
10 万字符 85 ms
100 万字符 1 215 ms

单元测试 53 个全部通过,行覆盖率 94.02%,分支覆盖率 87.79%。