999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于TF-IDF的程序代碼抄襲檢測系統

2020-11-16 06:56:38李晗
數字技術與應用 2020年9期

李晗

摘要:本文設計了一種用于程序設計實驗源代碼結果抄襲檢測系統。采用自然語言處理技術中的TF-IDF算法和測量向量相似度的余弦相似性算法,分析檢測源程序抄襲情況,通過實際應用算例驗證了系統的有效性。源程序抄襲檢測對各種需要提交代碼的實驗教學系統有重要的實用價值。

關鍵詞:TF-IDF;余弦相似性;抄襲檢測;C源程序

中圖分類號:TP183 文獻標識碼:A 文章編號:1007-9416(2020)09-0136-03

0 引言

高校程序類課程教學越來越多地要求學生在線提交編程作業或實驗源代碼。一些課程或實驗也開始使用成績自動評分系統[1]。這些代碼提交系統的廣泛應用使得防范代碼抄襲成為此類課程的一個重要需求。抄襲檢測也是慕課系統或在線教學系統的重要組成部分[2]。

1 算法設計

從自然語言處理的觀點來看,抄襲檢測的本質是測量兩個文本的相似度。在進行相似性計算時,可采用余弦相似性算法。從文本到文本特征向量的轉化則采用TF-IDF算法[3-5]。整個算法的流程如圖1所示。

整個算法流程說明如下:

(1)將C語言的各種操作符、分隔符及三種括號聚合為停用詞(stopwords)集合;

(2)使用停用詞集合進行濾除操作,保留各種名稱標識符,形成關鍵詞向量;

(3)綜合所有文本的處理結果(關鍵詞向量),形成語料庫(corpus);

(4)分別計算各關鍵詞的TF和IDF,最后形成TF-IDF向量;

(5)計算余弦相似性;

(6)最后,提取相似度的行最大值進行閾值處理,判斷是否抄襲。

2 實驗與算法測試

2.1 實驗環境

實驗數據來源于C語言程序設計課程的網絡作業平臺。該網絡平臺包括了一些C語言習題及自動判題機制,供學生在課余練習編程之用。數據集包括如下字段:用戶提交號、用戶ID、題目ID、課程序號、編程語言編號、判題結果、使用時間、使用內存、提交時間及提交源代碼。除最后一項提交源代碼外,其他字段每次提交所產生的數據均在一行中。提交源代碼字段根據源代碼篇幅占據數量不等的行。

2.2 算法測試

首先進行數據清洗。數據清洗主要有以下作用:

(1)將讀入的每行數據進行切分,此處的復雜性在于提交源代碼字段和其他字段出現混行現象,解決此問題采用了正則表達式;

(2)字符編碼格式不匹配問題,通過改變讀取方式和轉碼來解決;

(3)將切分好的數據導入數據庫,并分離出目標課程對應的相關數據。

為了確保數據清洗的可靠性,進行數據探索。在數據探索中發現以下問題:

(1)通過各種SQL語句檢視數據及程序調試中發現少數行數據格式不規范問題,影響本行數據的分段及后續數據行的處理。處理方法為修改數據清洗程序重新進行清洗;

(2)發現提交數過少或ID號格式異常的用戶,將其篩除。

接下來是數據處理環節。通過上節所述的算法流程對數據進行處理,其基本核心思想就是將源程序看成是一種文本,然后利用相應算法進行轉換和測量。將處理數據可視化可以看到文本對的余弦相似度分布情況。以下以題目ID為1958的編程題為例說明,該題的提交結果的文本對余弦相似度分布如圖2所示。

圖中橫坐標為相似度區間,相似度從0至1平均分成100個區間;縱坐標為相似度值落到此區間內的文本對數量,為更明顯地展示的高相似值區間的統計情況,縱坐標的顯示范圍被限制在0~2000之間。直方圖的右側的自然趨勢應該隨著相似度值變大平緩下降為0,然而從圖中可以明顯地看到“翹尾”現象。這表明存在抄襲的可能性很大。

通過細致的結果分析可以進一步說明問題。該編程問題提交源代碼文本數量為542,篩出嫌疑較大的高異常余弦相似值的文本對總數為128。高異常相似值的文本對是按照以下規則選取的:每個用戶相對于其他用戶的相似度取最大值者,然后對比閾值0.999進行篩選,大于閾值者被篩選為高異常相似值。這些文本對的余弦相似度統計如表1第二列所示。為檢驗算法組合對抄襲問題的檢測效果,使用人工方式查看源代碼文本,判斷是否抄襲,然后與算法結果進行對比。人工判斷的結果見表1第三、四和五列。

在計算最后兩列精度和召回率時,將人工無法判定的文檔近似歸類為非抄襲文本。精度反映了檢測算法認為的抄襲文本中真實抄襲文本所占的比率。召回率反映了真實抄襲文本中被檢測算法篩選出的比率。每欄的精度值和召回率表明在此欄的相似度閾值條件下計算出的精度值和召回率。具體見圖3。

上圖的橫坐標為表1中相似度閾值,縱坐標為精度和召回率的百分比。從圖中可知,在總共128個計算結果中,如果取0.9999作為相似度閾值,可取得最佳的分類效果。從表中的數據可以看出,采用TF-IDF特征向量,可以相當準確地聚合文本特征,從而使余弦相似度測量呈現出非常好的效果。

3 結語

本文提出了利用TF-IDF和余弦相似度的組合進行C語言代碼的抄襲檢測,實驗表明,算法組合取得較好的檢測效果。從本文的算法應用可以看出,代碼抄襲檢測算法使用自然語言處理技術取得了很好的效果。由于近年來自然語言處理與神經網絡技術相結合,發展迅速,因此可以從自然語言處理方面汲取更多新的思路。本文是將整個C語言源程序作為整體進行處理的,未考慮C語言的語法特點所導致的一些宏觀結構特征。在抄襲檢測中使用這些特征,可能使源代碼的結構相似性判斷成為可能。今后可以在這方面進行進一步的研究。

參考文獻

[1] 張景輝,王培進.課程設計自動評分系統設計與實現[J].電氣電子教學學報,2019,41(4):149-152.

[2] 薛景,陳仁祥,張敏,等.程序設計類課程在線評測教輔系統的設計與實現[J].計算機教育,2018(11):104-108.

[3] 田振洲,劉烴,鄭慶華,等.軟件抄襲檢測研究綜述[J].信息安全學報,2016,1(3):52-76.

[4] Burrows,Steven;Tahaghoghi,S.M.M.;Zobel,Justin.Efficient plagiarism detection for large code repositories[J].Software-Practice and Experience,2007,37(2):151-175.

[5] Prechelt L,Malpohl G.Finding Plagiarisms among a Set of Programs with JPlag[J].J Universal Computer ence,2000,8(11):1016-1038.

主站蜘蛛池模板: 国模私拍一区二区| 在线看AV天堂| 国产SUV精品一区二区| 啊嗯不日本网站| 日本国产在线| 国产精品熟女亚洲AV麻豆| 亚洲最大福利网站| 熟女成人国产精品视频| 色综合国产| 国产美女叼嘿视频免费看| 内射人妻无码色AV天堂| 亚洲人精品亚洲人成在线| 精品视频一区二区观看| 亚洲第一视频区| 国产色图在线观看| 日本成人一区| 欧美在线国产| 免费A∨中文乱码专区| 亚洲无码熟妇人妻AV在线| 欧美激情,国产精品| 国产精品一线天| 91欧美亚洲国产五月天| 国产又色又刺激高潮免费看| 成年看免费观看视频拍拍| 日本91视频| 欧美激情视频一区| 国产小视频免费| 国产成人亚洲欧美激情| 在线观看国产网址你懂的| 狠狠色综合久久狠狠色综合| 五月天综合网亚洲综合天堂网| 欧美笫一页| 欧美无遮挡国产欧美另类| 一区二区日韩国产精久久| 青青青视频免费一区二区| 最新午夜男女福利片视频| 国产男人天堂| 国产青榴视频在线观看网站| 中文字幕在线一区二区在线| 成人91在线| 午夜综合网| 国产第三区| www.国产福利| 国产欧美在线视频免费| 久久精品人妻中文系列| 国产高清国内精品福利| 中文成人无码国产亚洲| 国产91av在线| 狼友av永久网站免费观看| 亚洲首页国产精品丝袜| 久久6免费视频| 成人免费黄色小视频| 国产爽妇精品| 99视频精品全国免费品| 99久久精品国产麻豆婷婷| 日韩高清一区 | 国产精品毛片在线直播完整版| 国产精品林美惠子在线观看| 爽爽影院十八禁在线观看| 亚洲一级色| 色婷婷色丁香| 精品久久777| 国产亚洲欧美日韩在线一区二区三区 | 久久精品免费国产大片| 在线观看精品国产入口| 日本久久网站| 精品欧美视频| 国产毛片高清一级国语| 视频二区亚洲精品| 欧美一区二区福利视频| 狠狠综合久久久久综| 亚洲国产系列| 精品久久高清| 激情综合图区| 欧美午夜在线视频| 日本成人在线不卡视频| 久久亚洲AⅤ无码精品午夜麻豆| 欧美成人日韩| 久久亚洲天堂| 亚洲女同欧美在线| 国产三区二区| 久久毛片免费基地|