如何利用Python实现一个论文降重工具


Posted in Python onJuly 09, 2021

前言

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

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

如何利用Python实现一个论文降重工具

去重原理

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

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

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

开放平台的使用

语句的翻译我采用了百度翻译开放平台的接口,简单地申请之后就可以获取每个月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 q
    return txt['trans_result'][0]['dst']

总结

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

到此这篇关于如何利用Python实现一个论文降重工具的文章就介绍到这了,更多相关Python论文降重工具内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python单链表简单实现代码
Apr 27 Python
python处理xml文件的方法小结
May 02 Python
Python实现七彩蟒蛇绘制实例代码
Jan 16 Python
Python cookbook(数据结构与算法)通过公共键对字典列表排序算法示例
Mar 15 Python
Python实现输出某区间范围内全部素数的方法
May 02 Python
Centos 升级到python3后pip 无法使用的解决方法
Jun 12 Python
Python Flask框架扩展操作示例
May 03 Python
Python字符串、列表、元组、字典、集合的补充实例详解
Dec 20 Python
python不使用for计算两组、多个矩形两两间的iou方式
Jan 18 Python
Python要求O(n)复杂度求无序列表中第K的大元素实例
Apr 02 Python
jupyter notebook 调用环境中的Keras或者pytorch教程
Apr 14 Python
解决keras,val_categorical_accuracy:,0.0000e+00问题
Jul 02 Python
python实现MD5进行文件去重的示例代码
深入浅析python3 依赖倒置原则(示例代码)
Jul 09 #Python
Python中Selenium对Cookie的操作方法
Python常用配置文件ini、json、yaml读写总结
图文详解matlab原始处理图像几何变换
Django中session进行权限管理的使用
python利用pandas分析学生期末成绩实例代码
You might like
PHP 出现乱码和Sessions验证问题的解决方法!
2008/12/06 PHP
php图像处理函数大全(推荐收藏)
2013/07/11 PHP
PHP 魔术变量和魔术函数详解
2015/02/25 PHP
php实现仿写CodeIgniter的购物车类
2015/07/29 PHP
教你在header中隐藏php的版本信息
2016/08/10 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
2017/09/16 PHP
use jscript with List Proxy Server Information
2007/06/11 Javascript
解析ScrollPic在ie8下只滚动一遍,然后变为空白 ie6,ie7,chrome,firefox正常
2013/06/26 Javascript
jQuery操作select下拉框的text值和value值的方法
2014/05/31 Javascript
JavaScript设计模式之单例模式实例
2014/09/24 Javascript
轻松学习Javascript闭包函数
2015/12/15 Javascript
js实现按钮控制带有停顿效果的图片滚动
2016/08/30 Javascript
angularjs2中父子组件的数据传递的实例代码
2017/07/05 Javascript
原生JS实现自定义滚动条效果
2020/10/27 Javascript
全面解析vue router 基本使用(动态路由,嵌套路由)
2018/09/02 Javascript
浅谈vux之x-input使用以及源码解读
2018/11/04 Javascript
详解Vue中的scoped及穿透方法
2019/04/18 Javascript
在Angular中实现一个级联效果的下拉框的示例代码
2020/05/20 Javascript
搭建vscode+vue环境的详细教程
2020/08/31 Javascript
[01:03]悬念揭晓 11月26日DOTA2完美盛典不见不散
2017/11/23 DOTA
python快速排序代码实例
2013/11/21 Python
python连接mysql并提交mysql事务示例
2014/03/05 Python
Python连接MySQL并使用fetchall()方法过滤特殊字符
2016/03/13 Python
python使用MQTT给硬件传输图片的实现方法
2019/05/05 Python
Python os模块常用方法和属性总结
2020/02/20 Python
基于Python爬取爱奇艺资源过程解析
2020/03/02 Python
Python根据指定文件生成XML的方法
2020/06/29 Python
关于 HTML5 的七个传说小结
2012/04/12 HTML / CSS
美国最大的城市服装和运动鞋零售商:Jimmy Jazz
2016/11/19 全球购物
百联网上商城:i百联
2017/01/28 全球购物
微软台湾官方网站:Microsoft台湾
2018/08/15 全球购物
英国在线泳装店:Simply Swim
2019/05/05 全球购物
高中班主任评语大全
2014/04/25 职场文书
优秀员工演讲稿
2014/05/19 职场文书
目标责任书格式范文
2015/05/11 职场文书
Docker容器harbor私有仓库部署和管理
2022/08/05 Servers