如何利用Python實(shí)現(xiàn)一個論文降重工具
前言
時值畢業(yè)季,有不少小伙伴深受論文查重的困擾。因此我便想到做一個簡單的自動去重的工具,先看看效果,我們再對原理或是代碼實(shí)現(xiàn)做進(jìn)一步的分析。
首先需要輸入appid以及key,這些可以在百度翻譯開放平臺申請一個賬號,可以免費(fèi)申請一個賬號。接著將需要進(jìn)行降重的文本內(nèi)容復(fù)制到相應(yīng)的輸入框內(nèi),點(diǎn)擊開始按鈕,即可輸出不同但意思相近的語句,即達(dá)到降重去重的作用。點(diǎn)擊復(fù)制按鈕便可以將得到的新文本復(fù)制到剪貼板上,點(diǎn)擊清楚按鈕可以重新輸入需要降重的文本,并且循環(huán)往復(fù)地進(jìn)行。
去重原理
論文查重的粒度是句子,兩個句子的相似度主要取決于句子包含哪些詞,以及詞在句子中的位置。句子相似度只是文字上的對比,不考慮語義上的相近。
正因如此,我們可以采取的措施便是變換句子結(jié)構(gòu),使用近似詞替換。
為了完成這些句子的自動替換,從而達(dá)到降重的目的,這里很容易便想到利用不同語種之間的互相轉(zhuǎn)換來生成新文本。比如在本工具中,我采用了中文→英文→韓文→中文的策略,你也可以采取更長的轉(zhuǎn)換路徑,但那樣似乎會在很大程度上降低文本的可讀性。
開放平臺的使用
語句的翻譯我采用了百度翻譯開放平臺的接口,簡單地申請之后就可以獲取每個月200萬的免費(fèi)字符翻譯權(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界面,也就是這個降重工具。當(dāng)然這個工具非常初級,大家可以進(jìn)行更加全面的擴(kuò)展。
到此這篇關(guān)于如何利用Python實(shí)現(xiàn)一個論文降重工具的文章就介紹到這了,更多相關(guān)Python論文降重工具內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python學(xué)習(xí)基礎(chǔ)之循環(huán)import及import過程
python中的import語句是用來導(dǎo)入模塊的,下面這篇文章主要給大家介紹了關(guān)于python學(xué)習(xí)基礎(chǔ)之循環(huán)import及import過程的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-04-04OpenCV特征提取與檢測之Harris角點(diǎn)檢測
這篇文章主要給大家介紹了關(guān)于OpenCV特征提取與檢測之Harris角點(diǎn)檢測的相關(guān)資料,Harris角點(diǎn)檢測的目的是去分辨出圖像中的平面、邊界以及角點(diǎn),文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-08-08python學(xué)生信息管理系統(tǒng)實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了python學(xué)生信息管理系統(tǒng)的實(shí)現(xiàn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-06-06python簡單幾步獲取各種DOS命令顯示的內(nèi)容詳解流程
你會用python獲取各種DOS命令顯示的內(nèi)容核心嗎?說的可不是返回值,是用system()函數(shù)調(diào)用windows操作系統(tǒng)的DOS命令來做點(diǎn)事情,需要的朋友可以參考下2021-10-10解決keras,val_categorical_accuracy:,0.0000e+00問題
這篇文章主要介紹了解決keras,val_categorical_accuracy:,0.0000e+00問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07python輸出100以內(nèi)的質(zhì)數(shù)與合數(shù)實(shí)例代碼
本文通過實(shí)例代碼給大家介紹了python輸出100以內(nèi)的質(zhì)數(shù)與合數(shù)的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧2018-07-07