基于注意力機(jī)制的Graph2Seq代碼摘要模型研究
發(fā)布時(shí)間:2022-02-10 00:24
代碼摘要是代碼功能的自然語言描述,高質(zhì)量的摘要能夠有效幫助代碼的理解和軟件的維護(hù)工作,代碼摘要一直是軟件開發(fā)中重要的組成部分。然而,在軟件工程中,代碼缺少摘要導(dǎo)致代碼維護(hù)工作困難是困擾工業(yè)界已久的問題,因此研究如何通過代碼自動(dòng)生成對(duì)應(yīng)的代碼摘要具有非常大的研究意義和應(yīng)用價(jià)值。在代碼摘要的研究中,我們的主要工作是嘗試解決兩個(gè)問題:問題1,代碼是一種強(qiáng)結(jié)構(gòu)化的語言,這和弱結(jié)構(gòu)化的自然語言十分不同,如何充分利用代碼的結(jié)構(gòu)化語義信息是代碼摘要任務(wù)的關(guān)鍵問題;問題2,代碼中的變量名,方法名等單詞是一種開放性的單詞,常規(guī)的自然語言處理方法(如使用代替低頻詞)會(huì)導(dǎo)致大量的詞典外單詞的問題。在本論文中,我們對(duì)現(xiàn)階段有關(guān)自然語言處理和代碼摘要的相關(guān)工作進(jìn)行研究,提出了基于注意力機(jī)制的Graph2Seq代碼摘要模型。論文的主要貢獻(xiàn)點(diǎn)在于,1.為了克服現(xiàn)有的關(guān)于基于抽象語法樹遍歷的代碼摘要模型存在的問題,本文提出了一種基于注意力機(jī)制的Tree2Seq代碼摘要改進(jìn)模型。2.在此基礎(chǔ)上,本文參考當(dāng)前關(guān)于代碼和圖深度學(xué)習(xí)的相關(guān)研究,在代碼的抽象語法樹上增加數(shù)據(jù)流等語義信息,將代碼進(jìn)一步拓展成代碼圖(Code Gr...
【文章來源】:浙江大學(xué)浙江省211工程院校985工程院校教育部直屬院校
【文章頁數(shù)】:71 頁
【學(xué)位級(jí)別】:碩士
【部分圖文】:
圖1-1自動(dòng)生成代碼摘要流程圖??
是通過假設(shè)所有變量名都是符合駝峰命名法(CamelCase),然后根據(jù)駝峰命??名法的規(guī)則將變量名拆分開,但是這個(gè)假設(shè)的應(yīng)用場(chǎng)景十分有限,在實(shí)際的代碼??中并不能保證所有的變量名都符號(hào)駝峰命名法。模型結(jié)構(gòu)如圖1-3所示:?????r?■;??■?\?I?I??思想向1?思想向量?思想向薆?!??S?S?S?i??編碼器???審查1?+?審查2?+?審查3???解碼器??I?— ̄i—"?— ̄i— ̄?牛??:?」?」?」??注意力機(jī)制??圖1-3審查網(wǎng)絡(luò)結(jié)構(gòu)示意圖??6??
?連結(jié)??圖2-1含隱藏狀態(tài)的循環(huán)神經(jīng)網(wǎng)絡(luò)??如圖2-1所示,給定一個(gè)單詞序列丨3^丨,每個(gè)單詞都對(duì)應(yīng)著一個(gè)[??維的向量表示x,。RNN在任何一個(gè)時(shí)間步r都會(huì)輸出一個(gè)隱藏向量/7,,可以看做??是前/個(gè)單詞的向量表示。/7,是使用函數(shù)g獲得的,該函數(shù)g的輸入是前一時(shí)刻的??隱藏向量以及當(dāng)前時(shí)刻的單詞向量x,:??乃,=容("—丨,乂)?(2.1)??函數(shù)g可以表示為:??g(/U,x,)?=?cr(fV/,/,-hl_l+lV,,.xl)?(2.2)??10??
【參考文獻(xiàn)】:
期刊論文
[1]基于深度學(xué)習(xí)的代碼分析研究綜述[J]. 張峰逸,彭鑫,陳馳,趙文耘. 計(jì)算機(jī)應(yīng)用與軟件. 2018(06)
本文編號(hào):3617912
【文章來源】:浙江大學(xué)浙江省211工程院校985工程院校教育部直屬院校
【文章頁數(shù)】:71 頁
【學(xué)位級(jí)別】:碩士
【部分圖文】:
圖1-1自動(dòng)生成代碼摘要流程圖??
是通過假設(shè)所有變量名都是符合駝峰命名法(CamelCase),然后根據(jù)駝峰命??名法的規(guī)則將變量名拆分開,但是這個(gè)假設(shè)的應(yīng)用場(chǎng)景十分有限,在實(shí)際的代碼??中并不能保證所有的變量名都符號(hào)駝峰命名法。模型結(jié)構(gòu)如圖1-3所示:?????r?■;??■?\?I?I??思想向1?思想向量?思想向薆?!??S?S?S?i??編碼器???審查1?+?審查2?+?審查3???解碼器??I?— ̄i—"?— ̄i— ̄?牛??:?」?」?」??注意力機(jī)制??圖1-3審查網(wǎng)絡(luò)結(jié)構(gòu)示意圖??6??
?連結(jié)??圖2-1含隱藏狀態(tài)的循環(huán)神經(jīng)網(wǎng)絡(luò)??如圖2-1所示,給定一個(gè)單詞序列丨3^丨,每個(gè)單詞都對(duì)應(yīng)著一個(gè)[??維的向量表示x,。RNN在任何一個(gè)時(shí)間步r都會(huì)輸出一個(gè)隱藏向量/7,,可以看做??是前/個(gè)單詞的向量表示。/7,是使用函數(shù)g獲得的,該函數(shù)g的輸入是前一時(shí)刻的??隱藏向量以及當(dāng)前時(shí)刻的單詞向量x,:??乃,=容("—丨,乂)?(2.1)??函數(shù)g可以表示為:??g(/U,x,)?=?cr(fV/,/,-hl_l+lV,,.xl)?(2.2)??10??
【參考文獻(xiàn)】:
期刊論文
[1]基于深度學(xué)習(xí)的代碼分析研究綜述[J]. 張峰逸,彭鑫,陳馳,趙文耘. 計(jì)算機(jī)應(yīng)用與軟件. 2018(06)
本文編號(hào):3617912
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3617912.html
最近更新
教材專著