软工个人项目作业

这个作业属于哪个课程 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   # 依赖包列表

安装部署

  1. 克隆项目到本地
  2. 创建虚拟环境: python -m venv venv
  3. 激活虚拟环境: source venv/bin/activate
  4. 安装依赖: pip install -r requirements.txt
  5. 运行应用: python app.py

使用说明

  1. 访问Web界面
  2. 上传待检测文档
  3. 选择对比文档库
  4. 点击开始检测
  5. 查看相似度结果

核心算法

查重算法基于以下步骤:

  1. 文档预处理和分词
  2. TF-IDF特征提取
  3. 文档向量化
  4. 余弦相似度计算
  5. 相似度阈值判定

测试结果

经过多轮测试,系统能够有效识别:

  • 文本直接复制 (相似度>90%)
  • 句式改写 (相似度60-80%)
  • 同义词替换 (相似度40-60%)

未来改进

  • 增加更多文档格式支持
  • 优化算法精度
  • 添加批量检测功能
  • 集成更多相似度算法

总结与反思

本项目通过实际开发加深了对文本处理和机器学习算法的理解,同时提升了Web开发和项目管理能力。

github连接:https://github.com/IrErV123/PlagiarismDetection/blob/main

posted @ 2025-09-16 18:26  IrErV  阅读(76)  评论(0)    收藏  举报