如何利用Python實現(xiàn)一個論文降重工具
前言
時值畢業(yè)季,有不少小伙伴深受論文查重的困擾。因此我便想到做一個簡單的自動去重的工具,先看看效果,我們再對原理或是代碼實現(xiàn)做進一步的分析。
首先需要輸入appid以及key,這些可以在百度翻譯開放平臺申請一個賬號,可以免費申請一個賬號。接著將需要進行降重的文本內(nèi)容復(fù)制到相應(yīng)的輸入框內(nèi),點擊開始按鈕,即可輸出不同但意思相近的語句,即達到降重去重的作用。點擊復(fù)制按鈕便可以將得到的新文本復(fù)制到剪貼板上,點擊清楚按鈕可以重新輸入需要降重的文本,并且循環(huán)往復(fù)地進行。

去重原理
論文查重的粒度是句子,兩個句子的相似度主要取決于句子包含哪些詞,以及詞在句子中的位置。句子相似度只是文字上的對比,不考慮語義上的相近。
正因如此,我們可以采取的措施便是變換句子結(jié)構(gòu),使用近似詞替換。
為了完成這些句子的自動替換,從而達到降重的目的,這里很容易便想到利用不同語種之間的互相轉(zhuǎn)換來生成新文本。比如在本工具中,我采用了中文→英文→韓文→中文的策略,你也可以采取更長的轉(zhuǎn)換路徑,但那樣似乎會在很大程度上降低文本的可讀性。
開放平臺的使用
語句的翻譯我采用了百度翻譯開放平臺的接口,簡單地申請之后就可以獲取每個月200萬的免費字符翻譯權(quán)限。
此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']
總結(jié)
在弄清楚原理以及API的調(diào)用方法之后,我們可以輕松地寫出一個GUI界面,也就是這個降重工具。當然這個工具非常初級,大家可以進行更加全面的擴展。
到此這篇關(guān)于如何利用Python實現(xiàn)一個論文降重工具的文章就介紹到這了,更多相關(guān)Python論文降重工具內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Django?ORM?事務(wù)和查詢優(yōu)化的操作方法
這篇文章主要介紹了Django?ORM?事務(wù)和查詢優(yōu)化,包括事務(wù)操作、ORM 惰性查詢及only與defer相關(guān)知識,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09
詳解python OpenCV學(xué)習(xí)筆記之直方圖均衡化
本篇文章主要介紹了詳解python OpenCV學(xué)習(xí)筆記之直方圖均衡化,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-02
利用Python代碼實現(xiàn)數(shù)據(jù)可視化的5種方法詳解
在數(shù)據(jù)科學(xué)中,有多種工具可以進行可視化。下面這篇文章主要給大家介紹了關(guān)于利用Python代碼實現(xiàn)數(shù)據(jù)可視化的5種方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2018-03-03
使用Python實現(xiàn)在Word文檔中進行郵件合并
郵件合并是現(xiàn)代辦公中一項顯著提升效率的技術(shù),它巧妙地將大量個體數(shù)據(jù)與預(yù)設(shè)的文檔模板相結(jié)合,實現(xiàn)了一次性批量生成定制化文檔,下面我們就來看看如何使用Python實現(xiàn)在Word文檔中進行郵件合并吧2024-04-04
Python中線程的MQ消息隊列實現(xiàn)以及消息隊列的優(yōu)點解析
消息隊列(MQ,Message Queue)在消息數(shù)據(jù)傳輸中的保存作用為數(shù)據(jù)通信提供了保障和實時處理上的便利,這里我們就來看一下Python中線程的MQ消息隊列實現(xiàn)以及消息隊列的優(yōu)點解析2016-06-06

