您好,登錄后才能下訂單哦!
這篇文章主要介紹“怎么利用Python實現一個論文降重工具”,在日常操作中,相信很多人在怎么利用Python實現一個論文降重工具問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么利用Python實現一個論文降重工具”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
時值畢業季,有不少小伙伴深受論文查重的困擾。因此我便想到做一個簡單的自動去重的工具,先看看效果,我們再對原理或是代碼實現做進一步的分析。
首先需要輸入appid以及key,這些可以在百度翻譯開放平臺申請一個賬號,可以免費申請一個賬號。接著將需要進行降重的文本內容復制到相應的輸入框內,點擊開始按鈕,即可輸出不同但意思相近的語句,即達到降重去重的作用。點擊復制按鈕便可以將得到的新文本復制到剪貼板上,點擊清楚按鈕可以重新輸入需要降重的文本,并且循環往復地進行。
論文查重的粒度是句子,兩個句子的相似度主要取決于句子包含哪些詞,以及詞在句子中的位置。句子相似度只是文字上的對比,不考慮語義上的相近。
正因如此,我們可以采取的措施便是變換句子結構,使用近似詞替換。
為了完成這些句子的自動替換,從而達到降重的目的,這里很容易便想到利用不同語種之間的互相轉換來生成新文本。比如在本工具中,我采用了中文→英文→韓文→中文的策略,你也可以采取更長的轉換路徑,但那樣似乎會在很大程度上降低文本的可讀性。
語句的翻譯我采用了百度翻譯開放平臺的接口,簡單地申請之后就可以獲取每個月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實現一個論文降重工具”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。