如何利用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中的Queue与多进程
Aug 25 Python
Python实现将不规范的英文名字首字母大写
Nov 15 Python
python 用lambda函数替换for循环的方法
Jun 09 Python
对python 操作solr索引数据的实例详解
Dec 07 Python
Python实现的简单线性回归算法实例分析
Dec 26 Python
利用python实现汉字转拼音的2种方法
Aug 12 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
Aug 30 Python
Python项目跨域问题解决方案
Jun 22 Python
tensorflow 动态获取 BatchSzie 的大小实例
Jun 30 Python
python正则表达式的懒惰匹配和贪婪匹配说明
Jul 13 Python
matplotlib教程——强大的python作图工具库
Oct 15 Python
python正则表达式re.match()匹配多个字符方法的实现
Jan 27 Python
python实现MD5进行文件去重的示例代码
深入浅析python3 依赖倒置原则(示例代码)
Jul 09 #Python
Python中Selenium对Cookie的操作方法
Python常用配置文件ini、json、yaml读写总结
图文详解matlab原始处理图像几何变换
Django中session进行权限管理的使用
python利用pandas分析学生期末成绩实例代码
You might like
php中文繁体和简体相互转换的方法
2015/03/21 PHP
PHP定时执行任务的3种方法详解
2015/12/21 PHP
PHP+swoole实现简单多人在线聊天群发
2016/01/19 PHP
Symfony2针对输入时间进行查询的方法分析
2017/06/28 PHP
PHP函数积累总结
2019/03/19 PHP
解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题
2019/10/15 PHP
utf8的编码算法 转载
2006/12/27 Javascript
jquery属性过滤选择器使用示例
2013/06/18 Javascript
Nodejs实现的一个简单udp广播服务器、客户端
2014/09/25 NodeJs
node.js中的fs.mkdir方法使用说明
2014/12/17 Javascript
Javascript基础教程之函数对象和属性
2015/01/18 Javascript
JavaScript三种绑定事件方式及相互之间的区别分析
2017/01/10 Javascript
MvcPager分页控件 适用于Bootstrap
2017/06/03 Javascript
JavaScript面向对象的程序设计(犯迷糊的小羊)
2018/05/27 Javascript
vue树形结构获取键值的方法示例
2018/06/21 Javascript
js中时间格式化的几种方法
2018/07/22 Javascript
Nodejs核心模块之net和http的使用详解
2019/04/02 NodeJs
微信h5静默和非静默授权获取用户openId的方法和步骤
2020/06/08 Javascript
VUE中V-IF条件判断改变元素的样式操作
2020/08/09 Javascript
深入理解Python变量与常量
2016/06/02 Python
教你使用python画一朵花送女朋友
2018/03/29 Python
使用python实现快速搭建简易的FTP服务器
2018/09/12 Python
python实现动态数组的示例代码
2019/07/15 Python
Python生成个性签名图片获取GUI过程解析
2019/12/16 Python
django之从html页面表单获取输入的数据实例
2020/03/16 Python
详解python中GPU版本的opencv常用方法介绍
2020/07/24 Python
详解用python -m http.server搭一个简易的本地局域网
2020/09/24 Python
HTML5实现音频和视频嵌入的方法
2018/08/22 HTML / CSS
ProBikeKit英国:在线公路自行车之家
2017/02/10 全球购物
黄金酒广告词
2014/03/21 职场文书
学生安全责任书模板
2014/07/25 职场文书
教师节感谢信
2015/01/22 职场文书
辩论赛开场白大全(主持人+辩手)
2015/05/29 职场文书
浅谈Python项目的服务器部署
2021/04/25 Python
CentOS7安装GlusterFS集群以及相关配置
2022/04/12 Servers
Django数据库(SQlite)基本入门使用教程
2022/07/07 Python