时值毕业季,有不少小伙伴深受论文查重的困扰。因此我便想到做一个简单的自动去重的工具,先看看效果,我们再对原理或是代码实现做进一步的分析。

首先需要输入appid以及key,这些可以在百度翻译开放平台申请一个账号,可以免费申请一个账号。接着将需要进行降重的文本内容复制到相应的输入框内,点击开始按钮,即可输出不同但意思相近的语句,即达到降重去重的作用。点击复制按钮便可以将得到的新文本复制到剪贴板上,点击清楚按钮可以重新输入需要降重的文本,并且循环往复地进行。

去重原理

论文查重的粒度是句子,两个句子的相似度主要取决于句子包含哪些词,以及词在句子中的位置。句子相似度只是文字上的对比,不考虑语义上的相近。

正因如此,我们可以采取的措施便是变换句子结构,使用近似词替换。

为了完成这些句子的自动替换,从而达到降重的目的,这里很容易便想到利用不同语种之间的互相转换来生成新文本。比如在本工具中,我采用了中文→英文→韩文→中文的策略,你也可以采取更长的转换路径,但那样似乎会在很大程度上降低文本的可读性。

开放平台的使用

语句的翻译我采用了百度翻译开放平台的接口,简单地申请之后就可以获取每个月200万的免费字符翻译权限。

此API的接入方式略微有些麻烦,需要生成签名sign并且拼接完整的url。

def translate(q,lan_from,lan_to):url = 'http://api.fanyi.baidu.com/api/trans/vip/translate'salt = random.randint(1, 65536)sign = hashlib.md5((str(appid)+str(q)+str(salt)+str(key)).encode('utf-8')).hexdigest()params = {'from' :lan_from,'to' :lan_to,'salt' : salt,'sign' : sign,'appid' : appid,'q': q}r = requests.get(url,params=params)txt = r.json()if txt.get('trans_result', -1) == -1:print('ERROR Code:{}'.format(txt))return qreturn txt['trans_result'][0]['dst']

总结

在弄清楚原理以及API的调用方法之后,我们可以轻松地写出一个GUI界面,也就是这个降重工具。当然这个工具非常初级,大家可以进行更加全面的扩展。

推荐阅读

我用Python在网上复制文字的几种实用方法

十分钟掌握Pandas基本操作(下)

一次免费代理ip的爬取实战

我用Python写了一个论文降重工具相关推荐

  1. 开源免费,electron+python制作图形化论文降重PC端工具

    小程序 为了更方便用户使用,也制作了免费"永久论文降重"微信小程序,具备更多的降重功能,欢迎体验. PC端论文降重工具 开源项目地址 https://github.com/imok ...

  2. 临近毕业季,您不需要一款论文降重工具保驾护航吗?

    临近毕业季,相信论文查重又一次成为一年一度的毕业生难题.有时候即便是自己一个一个码上去的,但还是和已发表的文献资料有极高的相似性.那么有没有什么好的办法可以高效辅助论文降重呢?答案是肯定的.今天就给大 ...

  3. ChatGPT论文降重:从97%到5%

    ChatGPT在学术论文方面的功能非常强大,能够一键辅助你完成各种复杂的学术任务和课题,然而ChatGPT在论文降重上的表现就像一个"傻子". 当你用ChatGPT给论文降重的时候 ...

  4. python写机器人程序_用Python写的一个多线程机器人聊天程序

    本人是从事php开发的, 近来想通过php实现即时通讯(兼容windows).后来发现实现起来特别麻烦, 就想到python.听说这家伙在什么地方都能发挥作用.所以想用python来做通讯模块...所 ...

  5. 用 python 写了一个日记本

    写一个随机任务抽取器 一.前言 二.逻辑构思 2.1 目标实现 2.2 搭建开发环境 2.3 Pyinstaller 打包 三.效果展示 3.1 初始化和添加日记 3.2 查看日记 3.3 删除日记 ...

  6. python卖水果_小姨开水果店的,所以今天用Python写了一个水果店小系统!

    原标题:小姨开水果店的,所以今天用Python写了一个水果店小系统! 前言 今天晚上才刚下班,小姨就提了我最爱吃的榴莲过来,说不吃就坏了. 我一眼就看破了她的用意,哈哈哈 我这个小姨也是一起长大的,她 ...

  7. 用python写的一个简易的云音乐播放器

    本人最近在学习python,在看了一些教程后,用python写了一个简单的云音乐播放器,下面把主要代码贴上来,其中用到了github上他人写的一个汉字转拼音的库,大家可以在github上找到. #co ...

  8. 用python写了一个简易的记账软件,后期有可能更新!

    记账程序由来 曾经在iOS14的快截指令中写了一个快捷指令用来记账,但是由于快捷指令的限制,只能把数据记录到备忘录或者numbers,数据的迁移性很差.所以最后干脆用python写了一个程序 程序介绍 ...

  9. 用Python写了一个电子考勤系统!

    今天给大家分享一个比较有意思的Python应用,用 Python 写了一个电子考勤系统,源码已在文章全部给出,记得点赞收藏哦- 项目简介 学校现在需要实现一个电子考勤系统,考虑到你们班已经学过大数据应 ...

  10. 耗时半年,用 Python 写了一个电子考勤系统

    今天给大家分享一个比较有意思的 Python 应用,用 Python 写了一个电子考勤系统,源码获取在下方文章中给出,记得点赞收藏哦- 文章目录 电子考勤完整代码 项目简介 答题要求 附加功能 导入模 ...

最新文章

  1. 博客园----你真的没有没落.感恩博客园。。。
  2. k8s Service之LoadBalancer和ExternalName
  3. IBM软件OEM概览
  4. 为什么计算机专业被称为宇宙机,量子计算机为何被称为宇宙中最强大的计算机...
  5. 那些年我们追过的网络库(PartI)
  6. [转载]C#多线程学习(一) 多线程的相关概念
  7. 显示纯服务器_BBT三行代码搭建服务器,让Dynamo跳出IronPython的封锁
  8. 腾讯实习网申到面试--小记
  9. 记一篇IT培训日记050-嗯嗯,差距不大
  10. Linux运维——Vim编辑器
  11. 【Linux分组权限】linux下创建用户分组及设置分组权限
  12. Qgis教程11:三维效果
  13. 关于图片锯齿产生的原因和如何消除
  14. KVM 自定义存储与磁盘挂载
  15. AutoCAD Electrical 2022—源箭头和目标箭头
  16. 红米note4出厂系统版本_红米Note4官方出厂rom系统刷机包_升级包降级包回退包下载...
  17. Unicode编码表到GB2312编码表映射表
  18. POJ 1753 翻棋子 (dfs+递归)。
  19. 基于PHP+MySQL图书管理系统的设计与实现——计算机毕业设计
  20. Revit翻模软件:管件二维注释比例改变和【管道翻模】

热门文章

  1. luma3ds7.1按start键开机无法启动payload解决
  2. rufus linux 教程,图文回复rufus使用教程【操作步骤】
  3. SSM框架整合总结—案例
  4. 生物统计学(biostatistics)学习笔记(三)
  5. PowerBuilder2017
  6. netperf测试内网网络性能
  7. 智慧环境应急平台建设方案
  8. mapminmax 用法
  9. w7 internet信息服务器,Win7安装IIS Internet信息服务步骤
  10. 计算机网络常用端口号大全