软工个人项目作业
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience/homework/13477 |
| 这个作业的目标 | 制作论文查重工具 |
一、PSP表格(预估与实际耗时)
| PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
|---|---|---|---|
| Planning | 计划 | 15 | 20 |
| · Estimate | · 估计任务所需时间 | 15 | 20 |
| Development | 开发 | 380 | 410 |
| · Analysis | · 需求分析(含学习新技术) | 60 | 50 |
| · Design Spec | · 生成设计文档 | 30 | 40 |
| · Design Review | · 设计复审 | 15 | 15 |
| · Coding Standard | · 代码规范制定 | 10 | 10 |
| · Design | · 具体设计 | 45 | 55 |
| · Coding | · 具体编码 | 150 | 160 |
| · Code Review | · 代码复审 | 20 | 20 |
| · Test | · 测试(自我测试+修改提交) | 50 | 55 |
| Reporting | 报告 | 190 | 180 |
| · Test Report | · 测试报告 | 40 | 35 |
| · Size Measurement | · 计算工作量 | 10 | 8 |
| · Postmortem & Process Improvement Plan | · 事后总结与改进计划 | 140 | 140 |
| · 合计 | 585 | 608 |
论文查重工具项目文档
项目概述
本项目是一个基于Python的论文查重工具,通过文本相似度计算来检测论文中的重复内容。
技术选型
- Python 3.8+
- jieba (中文分词)
- scikit-learn (文本向量化)
- Flask (Web框架)
- Bootstrap (前端框架)
功能特性
- 支持多种文档格式上传 (txt, docx, pdf)
- 中文文本智能分词
- TF-IDF向量化文本特征
- 余弦相似度计算
- 直观的相似度结果展示
- Web界面操作
项目结构
paper_checker/
├── app.py # Flask主应用
├── checker.py # 核心查重算法
├── templates/ # HTML模板
│ ├── index.html # 主页面
│ └── result.html # 结果页面
├── static/ # 静态资源
│ └── style.css # 样式文件
├── uploads/ # 上传文件目录
└── requirements.txt # 依赖包列表
安装部署
- 克隆项目到本地
- 创建虚拟环境:
python -m venv venv - 激活虚拟环境:
source venv/bin/activate - 安装依赖:
pip install -r requirements.txt - 运行应用:
python app.py
使用说明
- 访问Web界面
- 上传待检测文档
- 选择对比文档库
- 点击开始检测
- 查看相似度结果
核心算法
查重算法基于以下步骤:
- 文档预处理和分词
- TF-IDF特征提取
- 文档向量化
- 余弦相似度计算
- 相似度阈值判定
测试结果
经过多轮测试,系统能够有效识别:
- 文本直接复制 (相似度>90%)
- 句式改写 (相似度60-80%)
- 同义词替换 (相似度40-60%)
未来改进
- 增加更多文档格式支持
- 优化算法精度
- 添加批量检测功能
- 集成更多相似度算法
总结与反思
本项目通过实际开发加深了对文本处理和机器学习算法的理解,同时提升了Web开发和项目管理能力。
github连接::https://github.com/IrErV123/PlagiarismDetection/blob/main

浙公网安备 33010602011771号