如何利用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函数的参数的默认值所引发的问题的原因
Mar 30 Python
Python判断字符串与大小写转换
Jun 08 Python
实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250
Jan 20 Python
Python实现的径向基(RBF)神经网络示例
Feb 06 Python
python使用mysql的两种使用方式
Mar 07 Python
在python中利用KNN实现对iris进行分类的方法
Dec 11 Python
python实现求特征选择的信息增益
Dec 18 Python
如何定义TensorFlow输入节点
Jan 23 Python
python字符串下标与切片及使用方法
Feb 13 Python
python程序输出无内容的解决方式
Apr 09 Python
Tensorflow中的降维函数tf.reduce_*使用总结
Apr 20 Python
opencv-python图像配准(匹配和叠加)的实现
Jun 23 Python
python实现MD5进行文件去重的示例代码
深入浅析python3 依赖倒置原则(示例代码)
Jul 09 #Python
Python中Selenium对Cookie的操作方法
Python常用配置文件ini、json、yaml读写总结
图文详解matlab原始处理图像几何变换
Django中session进行权限管理的使用
python利用pandas分析学生期末成绩实例代码
You might like
三国漫画《火凤燎原》宣布动画化PV放出 预计2020年播出
2020/03/08 国漫
PHP 批量删除 sql语句
2009/06/05 PHP
php与php MySQL 之间的关系
2009/07/17 PHP
php Imagick获取图片RGB颜色值
2014/07/28 PHP
PHP图片添加水印功能示例小结
2016/10/03 PHP
简单JS代码压缩器
2006/10/12 Javascript
js+css使DIV始终居于屏幕中间 左下 左上 右上 右下的代码集合
2011/03/10 Javascript
使用indexOf等在JavaScript的数组中进行元素查找和替换
2013/09/18 Javascript
Javascript selection的兼容性写法介绍
2013/12/20 Javascript
用js替换除数字与逗号以外的所有字符的代码
2014/06/07 Javascript
基于jQuery实现的扇形定时器附源码下载
2015/10/20 Javascript
JS通过Cookie判断页面是否为首次打开
2016/02/05 Javascript
理解javascript封装
2016/02/23 Javascript
使用Bootstrap + Vue.js实现添加删除数据示例
2017/02/27 Javascript
Vue 2.x教程之基础API
2017/03/06 Javascript
详解关于vue-area-linkage走过的坑
2018/06/27 Javascript
vue实现在一个方法执行完后执行另一个方法的示例
2018/08/25 Javascript
移动端(微信等使用vConsole调试console的方法
2019/03/05 Javascript
使用Jenkins部署React项目的方法步骤
2019/03/11 Javascript
vue-preview动态获取图片宽高并增加旋转功能的实现
2020/07/29 Javascript
黑科技 Python脚本帮你找出微信上删除你好友的人
2016/01/07 Python
Python列表删除的三种方法代码分享
2017/10/31 Python
如何在python中使用selenium的示例
2017/12/26 Python
详解Tensorflow数据读取有三种方式(next_batch)
2018/02/01 Python
python 多个参数不为空校验方法
2019/02/14 Python
Python动态语言与鸭子类型详解
2019/07/01 Python
tensorflow ckpt模型和pb模型获取节点名称,及ckpt转pb模型实例
2020/01/21 Python
matplotlib自定义鼠标光标坐标格式的实现
2021/01/08 Python
html5 canvas绘制放射性渐变色效果
2018/01/04 HTML / CSS
英国家电直销:Appliances Direct
2016/09/22 全球购物
德国滑雪和户外用品网上商店:XSPO
2019/10/30 全球购物
初三开学计划书
2014/04/27 职场文书
财务总监岗位职责范本
2015/04/03 职场文书
学术研讨会主持词
2015/07/04 职场文书
婚宴领导致辞
2015/07/28 职场文书
小学主题班会教案
2015/08/17 职场文书