徐小桐 王法勝



摘要:在當下大數據的時代,引用和抄襲現象越來越嚴重,為了維護原創作業的權益,也為了培養學生獨立思考的能力,該文設計了文檔查重系統。該系統采用MVC模式,基于B/S架構,將MD5算法和SimHash算法結合,用于高校學生作業文檔查重。系統共建有學生、老師、管理員三個端口。學生將作業文檔上傳,老師對作業進行查重評分,管理員統籌管理學生、老師和課程信息。該系統有效解決了目前因為查重平臺收費而無法實現高校學生平時作業查重的現狀。
關鍵詞:查重;MD5算法;SimHash算法;MVC設計模式;B/S架構
中圖分類號:TP311? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)11-0074-03
Research and Implementation of Document Duplicate Checking System
XU Xiao-tong, WANG Fa-sheng
(School of Information and Communication Engineering, Dalian 116600, China)
Abstract: In the era of big data, the phenomenon of citation and plagiarism is becoming more and more serious. In order to maintain the rights of original assignments, as well as to cultivate students' ability of independent thinking, this paper designs a document duplicate checking system. The system uses MVC mode, based on B/S architecture, combines MD5 algorithm and SimHash algorithm, and is used for duplicate checking of college students' homework documents. The system has three ports: students, teachers and administrators. The students upload the homework documents, the teachers check and grade the homework, and the administrators manage the students, teachers and course information as a whole. The system can effectively solve the current situation that college students can't check their homework because of the platform charge.
Key words: duplicate checking; MD5 algorithm; SimHash algorithm; MVC design pattern; B/S architecture
1 背景
如今我們生活在互聯網時代,各種各樣的信息撲面而來,為我們的生活和學習提供了海量的資源和巨大的方便,但是這也帶來了弊端。學術文章、新聞類的文章甚至高校的作業與畢設項目都存在著抄襲現象,這不僅無法提高學生的創新思想與能力,還給原創的作者帶來了不必要的麻煩和傷害[1]。所以,杜絕抄襲、維護原創是至關重要的。
我國一直重視教育的發展,培育具有獨立思考、創新能力的新一代非常重要。高校應該在平時的作業中注意這方面能力的教育與培養,培養更優秀的新一代,所以查重工作變得非常重要,不僅要防止學生之間互相抄襲,也要防止網絡資源的抄襲現象發生[2]。目前,學術論文的查重在我國制定了大量的規范,正規的查重平臺比如中國知網等都需要收取額外的費用,這就給平時高校作業的查重帶來了不方便性,難以用于查重平時作業。
鑒于查重工作的重要性,本文設計了一種基于MD5算法[3]和SimHash算法[4-5]結合的文檔查重系統。該系統不僅可以對學生之間提交的文檔作業進行查重,還更深入地針對特定網絡資源來查重學生的文檔作業,不僅培養學生的獨立思考與創新能力,而且還為高校老師查重作業省去不必要的工作量,對于我國培養新一代的思考與創新能力至關重要。
2 系統分析
本系統主要是為實現學生作業文檔的查重而設計,有學生,教師和管理員三個端口。教師在系統中發布作業要求,學生查看作業要求,并且提交相應的作業文檔。當文檔提交完畢,教師可以對指定文檔進行查重,包括同門課程下學生文檔之間的查重和與網絡資源對比的查重,并根據查重結果進行評分。學生在教師評判完之后可以查看自己得分。管理員統籌對教師,學生和課程信息進行增刪改查。系統用例圖如圖1所示。
3 系統設計
3.1 系統體系結構
對系統開發來說,選擇一個合適的框架至關重要,這會減少很多不必要的時間和空間浪費,因此針對不同的系統需求我們要選擇合適的系統框架。
本系統搭建過程中使用Eclipse開發環境和MySQL數據庫,采用MVC模式,前端頁面設計使用HTML、JavaScript和CSS完成,同時基于B/S結構。系統開發還包括了計算機安全領域中的MD5算法和自然語言處理領域中的SimHash算法,完成查重部分的功能。
MVC模式可以將程序結構分層,有利于開發者編程時邏輯清晰。MySQL是一種開源的關系型數據庫,它可以處理大量的數據,滿足用戶需求,非常簡單便捷。系統結構圖如圖2所示。
3.2 系統總體設計
系統根據用戶需求和功能,分為四個模塊:學生模塊,教師模塊,查重模塊和管理員模塊。學生模塊具有查詢課程功能,查看作業要求功能,上傳作業文檔功能,查看分數功能。教師模塊具有添加自己課程信息功能,上傳作業要求功能,查重作業功能和評判作業工作功能。查重模塊里,系統會自動將學生文檔轉文本格式,再根據MD5算法[6]和SimHash算法[7]對文檔進行粗查和精查,并將結果顯示出來。管理員模塊具有增刪改查學生,教師,課程信息功能。系統模塊層次圖如圖3所示。
系統總體流程:教師將作業要求發布到系統的對應課程下,學生查看課程作業要求,并根據要求上傳作業。當學生上傳完作業,教師進行作業查重。首先粗查,系統會自動根據文檔MD5值來實現同門課程下該作業文檔的查重,并將結果顯示出來。如若有抄襲,教師直接給予通知,不必再精查。如若沒有抄襲現象,則系統會根據SimHash算法將該文檔與網絡資源進行SimHash指紋[8]對比精查,將結果顯示出來。網絡資源由管理員定期從網上爬取相關資源上傳到資源庫。教師根據粗查和精查的結果給學生作業評分。學生在教師評定完分數后可以查看評分結果。管理員對學生,教師,課程信息進行統籌信息管理。
4 系統功能實現
4.1 學生細化用例邏輯
學生登錄系統,輸入學生學號和密碼,如果正確,則系統跳轉查詢教師信息界面。學生根據課程編碼和該課程教師的名字進行填寫,如若填寫正確或者數據庫中有該課程,則系統顯示出該課程的所有信息。其中,學生可以查看該課程下教師發布的作業要求,可以提交上傳相應的作業以及可以查看自己之前幾次作業的分數。作業提交完畢,系統會自動跳回查新課程信息界面。學生模塊細化用例邏輯圖如圖4所示。
4.2 教師細化用例邏輯
教師登錄系統,輸入與工作號和密碼,若輸入正確,則系統會顯示出該教師的所有課程。在該界面下,如若教師缺少相應課程或者需要新增加課程,教師可以直接注冊。同時,在該界面下,教師可以選定一門課程上傳作業要求或者選定一門課程查看該課程下的學生作業。當上傳作業要求時,界面跳轉到該課程下的上傳界面,當查看學生作業時,界面顯示出所有已提交作業的學生名單,教師根據名單,可以查看某一個學生的作業文檔或者查重某一個學生的作業文檔。當教師要審閱學生的作業文檔時,界面跳轉到該學生本門課程下的作業文檔,供教師參考。當教師要查重學生作業時,系統根據MD5信息摘要算法和SimHash算法[9]將該生的作業文檔與同門課程作業和網絡資源進行粗查與細查,將結果顯示出來。教師根據所有的查重結果,綜合對學生的作業進行評分或者給予重新修改通知。教師模塊細化用例邏輯圖如圖5所示。
4.3 查重流程
在該模塊下,教師根據學生提交作業的名單,可以查重某一個學生的作業文檔。當教師要查重學生作業時,系統根據MD5信息摘要算法將該生的作業文檔與本門課程下所有學生作業文檔的MD5值進行對比來粗查重,將超過閾值的信息連同抄襲學生的學號一同顯示出來,供教師參考。如若沒有抄襲,教師則可以接著進行與網絡資源對比查重,系統使用SimHash算法細查,計算出選定作業文檔的SimHash指紋與網絡資源的SimHash指紋對比,結果根據閾值的設定將顯示出是否有抄襲現象,對哪幾篇網絡資源進行了抄襲,其中一篇為語料庫中的哪一篇。查重模塊流程圖如圖6所示。
4.4 管理員細化用例邏輯
管理員登錄系統,輸入工作號和密碼,若匹配正確,則進入管理員主界面。主界面分為三個選項,查看學生信息,查看教師信息,查看課程信息。點擊任意一個查看功能,界面將會跳轉,顯示出相應的學生,課程或者教師數據,每條數據都可以進行刪除和修改的功能。當點擊刪除信息時,界面跳轉顯示刪除成功后返回到上一頁顯示信息界面。當點擊修改信息時,界面跳轉到信息修改界面,修改完成則系統顯示成功并返回到上一層界面。管理員模塊細化用例邏輯圖如圖7所示。
5 結束語
本文運用Eclipse開發環境和MySQL數據庫研究并設計了文檔查重系統,不僅對學生之間提交的文檔作業進行查重,還更深入的針對特定網絡資源來查重學生的文檔作業,不僅培養學生的獨立思考與創新能力,而且還為高校老師查重作業省去不必要的工作量,對于我國培養新一代的思考與創新能力至關重要。
參考文獻:
[1] 王逍翔.基于SimHash的文本相似性檢測研究與改進[D].昆明:昆明理工大學,2018.
[2] 李剛.網絡環境下的中文查重系統的研究與實現[D].杭州:浙江理工大學,2017.
[3] 楊懷,宋俊芳,王聰華.淺談MD5加密算法在網絡安全中的應用[J].網絡安全技術與應用,2018(9):40.
[4] 余意,張玉柱,胡自健.基于Simhash算法的大規模文檔去重技術研究[J].信息通信,2015,28(2):28-29.
[5] Li Y,Sha Y,Shan J,et al.The Research of Weighted Community Partition based on SimHash[J].Procedia Computer Science,2013,17:797-802.
[6] 靳燕.基于MD5算法的文件完整性檢測系統分析及設計[J].網絡安全技術與應用,2019(11):36-38.
[7] 龐宇,張倩,韓凱,等.改進的Simhash算法在文本查重中的研究及應用[J].數字通信世界,2020(1):203-204.
[8] 王宇成.基于Simhash和層次聚類算法的網頁去重技術研究[D].南京:南京郵電大學,2019.
[9] 王添男,馮鋒.基于SimHash的文本相似檢測算法研究[J].電子測試,2019(15):87-89.
【通聯編輯:謝媛媛】