• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    組合源碼結(jié)構(gòu)和語義的代碼注釋自動(dòng)生成方法

    2021-12-08 07:05:02周培君吳軍華
    關(guān)鍵詞:源代碼解碼器編碼器

    周培君,吳軍華

    (南京工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,南京 211816) E-mail:413402140@qq.com

    1 引 言

    代碼注釋又稱程序注釋,是對(duì)源代碼的一種簡(jiǎn)單易讀的自然語言描述.在實(shí)際應(yīng)用中,大多數(shù)程序員只關(guān)注代碼而忽略了注釋,這使得程序的可讀性和可維護(hù)性大大降低[1].開發(fā)人員平均花費(fèi)超過50%的時(shí)間閱讀和理解他人編寫的代碼[2].好的代碼注釋可以幫助開發(fā)和維護(hù)人員更準(zhǔn)確、更快地理解程序,從而節(jié)省他們額外的閱讀時(shí)間.

    隨著軟件代碼規(guī)模的不斷擴(kuò)大,如何幫助開發(fā)人員在軟件開發(fā)過程中理解、編寫或維護(hù)代碼已成為軟件工程領(lǐng)域的重要課題.Java作為最流行的主要編程語言被提出了許多方法來生成注釋,以減輕對(duì)代碼進(jìn)行注釋的人工工作.信息檢索是自動(dòng)代碼注釋生成研究中最早使用的技術(shù).基于信息檢索技術(shù)的評(píng)論算法一般采用基于向量空間模型(VSM)、潛在語義索引(LSI)、潛在狄利克雷分配(LDA)或代碼克隆檢測(cè)等相關(guān)技術(shù).近年來,隨著深度神經(jīng)網(wǎng)絡(luò)在自然語言處理、機(jī)器翻譯、圖像識(shí)別和語音處理等方面的發(fā)展,軟件工程領(lǐng)域中也引入了深度神經(jīng)網(wǎng)絡(luò)來解決代碼注釋問題.絕大多數(shù)基于深度神經(jīng)網(wǎng)絡(luò)的代碼注釋工作的靈感來源于自然語言處理(NLP)的最先進(jìn)的神經(jīng)機(jī)器翻譯(NMT),即將源代碼到注釋的轉(zhuǎn)換問題表示為編程語言與自然語言之間的翻譯問題.

    本文提出了一種組合源碼結(jié)構(gòu)和語義的神經(jīng)模型Code2Com(Code to Comment),一種基于深度學(xué)習(xí)的為給定代碼生成注釋的方法.工作主要集中在模型輸入和注釋生成.模型組合了兩種關(guān)于源代碼的信息:1)代碼的順序表示;2)抽象語法樹表示.與之前的方法不同,Code2Com以不同的方式對(duì)待每種輸入,增加了方法的靈活性.為了克服曝光偏差,模型訓(xùn)練與推理應(yīng)在相同的條件下進(jìn)行預(yù)測(cè),Code2Com在訓(xùn)練過程中提供預(yù)測(cè)詞序列作為下一步的輸入,以便逐步迫使模型處理自己的錯(cuò)誤,讓模型在訓(xùn)練過程中進(jìn)行更多探索,以此減小訓(xùn)練和推理之間的差異.

    2 背 景

    作為自然語言處理(NLP)系統(tǒng)的核心組成部分,語言模型可以提供詞表征和單詞序列的極大似然.語言模型描述了單詞出現(xiàn)在序列中的概率.對(duì)于一個(gè)由n個(gè)按順序構(gòu)成的自然語言序列x=(x1,…,xn),語言模型根據(jù)已知序列(x1,…,xk-1)預(yù)測(cè)下一個(gè)詞語xk的概率,即:

    (1)

    對(duì)語言模型建模時(shí),為了減少建模時(shí)的維數(shù)災(zāi)難,Brown等人提出一種N元(N-gram)語言模型的近似方法,即預(yù)測(cè)的第k個(gè)詞的出現(xiàn)僅依賴于前面的k-1個(gè)詞:

    p(xk|x1,…,xk-1)≈p(xk|xk-n+1,…,xk-1)

    (2)

    然而,這種N-gram方法有明顯的局限性,例如未考慮自然語言的離散型、組合性和稀疏性.為了解決這個(gè)問題,神經(jīng)網(wǎng)絡(luò)(NN)被引入到語言模型的訓(xùn)練中,例如循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN,Recurrent Neural Networks)、長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM,Long Short-Term Memory)、門控循環(huán)單元網(wǎng)絡(luò)(GRU,Gated Recurrent Unit)等.RNN包括3層,將每個(gè)輸入映射到向量中的輸入層,在讀取每個(gè)輸入向量后循計(jì)算并更新隱藏狀態(tài)的循環(huán)隱藏層,以及利用隱藏狀態(tài)計(jì)算預(yù)測(cè)token概率的輸出層.RNN在訓(xùn)練過程中,每層的梯度大小會(huì)在長(zhǎng)序列上呈指數(shù)增長(zhǎng)或衰減[3].梯度爆炸或消失的問題使RNN模型難以學(xué)習(xí)序列中的長(zhǎng)距離相關(guān)性.LSTM通過引入一個(gè)能夠長(zhǎng)時(shí)間保存狀態(tài)的記憶單元,有效解決學(xué)習(xí)長(zhǎng)期依賴關(guān)系的問題.在本文中,我們使用Chung等人提出的GRU,因?yàn)樗谛蛄薪7矫娴男阅芘cLSTM相當(dāng)[4],但參數(shù)較少,易于訓(xùn)練.

    對(duì)源代碼和注釋之間的關(guān)系進(jìn)行建??捎糜谧詣?dòng)代碼注釋.一種直接的方法是將問題轉(zhuǎn)換為機(jī)器翻譯問題,其中源句子是代碼中的token序列,目標(biāo)句子是相應(yīng)的注釋序列.Iyer等人[5]提出了一種基于LSTM的注釋生成模型CodeNN,它使用具有注意機(jī)制的LSTM為C#和SQL生成注釋.CodeNN通過加入注意力機(jī)制,直接將注釋中的單詞與相關(guān)代碼token對(duì)齊.Allamanis等人[6]使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)和注意力機(jī)制生成源代碼的摘要.該方法使用卷積注意模塊對(duì)輸入的源代碼提取特征,并確定序列中應(yīng)注意的重要token.此外,一些論文也將源代碼建模為一系列token[7]和字符[8].這些工作在各種生成代碼注釋和文檔任務(wù)中都取得了最先進(jìn)的性能.還有一些方法考慮了源代碼的結(jié)構(gòu)信息.Liang等人[9]提出了一種基于RNN的AST編碼器Code-RNN.Chen等人[10]提出了用于代碼注釋生成的樹到序列模型Tree2Seq,Tree2Seq使用了一個(gè)基于AST的編碼器代替RNN編碼器.

    這些方法沒有充分利用代碼的結(jié)構(gòu)和語義信息在特征表示上,如程序語法、函數(shù)和方法調(diào)用[11],大大降低了代碼表達(dá)的質(zhì)量,這就需要模型隱式地重新學(xué)習(xí)編程語言的語法,浪費(fèi)資源并且降低了準(zhǔn)確性.其次在編碼器解碼器框架下,訓(xùn)練時(shí)模型的輸入完全采用真實(shí)序列標(biāo)記,而在推理時(shí),解碼器的當(dāng)前輸入是模型生成的上一個(gè)詞.這使得在訓(xùn)練和推理時(shí)預(yù)測(cè)的詞來自不同的分布,隨著目標(biāo)序列的增長(zhǎng),訓(xùn)練和推理之間的差異會(huì)導(dǎo)致錯(cuò)誤的累積.

    3 Code2Com模型設(shè)計(jì)

    如圖1所示,Code2Com主要包括數(shù)據(jù)處理,模型訓(xùn)練和代碼注釋生成.在該結(jié)構(gòu)中,使用兩個(gè)編碼器獲得源代碼的表示:AST編碼器負(fù)責(zé)讀取AST序列,代碼編碼器負(fù)責(zé)讀取代碼token序列.解碼器在生成目標(biāo)序列時(shí)一次預(yù)測(cè)一個(gè)單詞.

    圖1 Code2Com的整體流程Fig.1 Overview of Code2Com

    3.1 代碼預(yù)處理

    為了利用Java的語法結(jié)構(gòu)來更好地編碼源代碼,將代碼片段表示為抽象語法樹(AST,Abstract Syntax Tree).通過深度優(yōu)先搜索對(duì)AST的節(jié)點(diǎn)進(jìn)行遍歷,可將Java源代碼轉(zhuǎn)化為序列化數(shù)據(jù)供神經(jīng)網(wǎng)絡(luò)學(xué)習(xí).然而,AST的節(jié)點(diǎn)并不對(duì)應(yīng)語法的所有細(xì)節(jié),比如對(duì)于嵌套括號(hào)等沒有對(duì)應(yīng)的節(jié)點(diǎn),這種模糊性可能會(huì)導(dǎo)致將不同的Java方法映射到相同的序列表示.為了保留結(jié)構(gòu)信息,本文在遍歷時(shí)使用“(”和“)”將語法樹的中間結(jié)點(diǎn)包圍起來,并在括號(hào)前面注明該結(jié)點(diǎn)本身.例如,考慮圖2中的Java方法.

    圖2 Java示例Fig.2 Java example

    從根節(jié)點(diǎn)MethodDeclaration開始,使用MethodDecla-ration()表示第一層樹結(jié)構(gòu).接下來遍歷MethodDeclaration節(jié)點(diǎn)的子樹,將子樹的葉子節(jié)點(diǎn)int放入括號(hào)中,即Metho-dDeclaration(int),依次遞歸遍歷所有子樹得到最終序列.

    上述序列與AST的對(duì)應(yīng)關(guān)系如圖3所示.

    圖3 Java代碼片段的AST和處理后的AST序列Fig.3 AST of the Java method and processed AST sequence

    3.2 Code2Com編碼和解碼

    Code2Com遵循NMT的標(biāo)準(zhǔn)編碼器-解碼器結(jié)構(gòu),該結(jié)構(gòu)通常由兩個(gè)RNN組成,一個(gè)稱為編碼器,編碼器將不定長(zhǎng)的輸入數(shù)據(jù)X=(x1,…,xt)轉(zhuǎn)換為定長(zhǎng)的隱表征序列H=(h1,…,ht),其中t表示輸入序列的長(zhǎng)度.另一個(gè)稱為解碼器,根據(jù)從編碼過程中獲取的隱向量H,解碼器預(yù)測(cè)生成任意長(zhǎng)度的輸出序列Y=(y1,…,yn),其中n表示解碼器預(yù)測(cè)結(jié)果token的數(shù)量.

    本文使用了一種新的神經(jīng)注意網(wǎng)絡(luò)結(jié)構(gòu).Bahdanau等人[12]提出的注意力機(jī)制被廣泛應(yīng)用于NMT,閱讀理解,語音識(shí)別和計(jì)算機(jī)視覺.在基于注意的模型中,注意力機(jī)制負(fù)責(zé)將較高的權(quán)重值動(dòng)態(tài)分配給解碼器輸入單詞中更相關(guān)的token,這樣就提高了解碼器的效率.

    如圖4所示,Code2Com利用GRU的優(yōu)點(diǎn),設(shè)計(jì)了一種新的組合代碼的表示方法.在給定源代碼作為輸入的情況下,將代碼序列投影到連續(xù)向量空間,利用AST和代碼編碼器獲得源代碼的表示.一旦源代碼被編碼,注意解碼器便開始逐詞生成目標(biāo)注釋.為了減少訓(xùn)練和推理之間的差距,在模型訓(xùn)練階段,通過在預(yù)測(cè)得分中添加干擾項(xiàng)來獲得新的預(yù)測(cè)詞,然后從數(shù)據(jù)分布和模型分布中選擇解碼器下一步的輸入,讓模型能夠更穩(wěn)健地糾正自己在推理時(shí)的錯(cuò)誤.

    圖4 模型結(jié)構(gòu)Fig.4 Model structure

    3.2.1 AST編碼器和代碼編碼器

    Code2Com使用GRU作為編碼器中的基本構(gòu)建塊.AST編碼器負(fù)責(zé)學(xué)習(xí)代碼的結(jié)構(gòu)表示,具體地從一個(gè)相當(dāng)常見的編碼結(jié)構(gòu)開始,包括為每個(gè)輸入編碼的嵌入層.AST編碼器使用GRU逐個(gè)讀取AST序列as=(as1,…,asn),通過embedding層將輸出shape(batch_size,vocab_size,embd_dim),其中batch_size為批處理大小,vocab_size為詞表大小,embd_dim為嵌入維度,也就是每個(gè)詞對(duì)應(yīng)的詞嵌入維度的向量.通過對(duì)每個(gè)詞的各個(gè)特征進(jìn)行embedding,可以得到每個(gè)特征的向量化表示.接下來是用作AST編碼的GRU單元,GRU將該層的輸入(AS1,…,ASn)映射到隱藏狀態(tài)(h1,…,hn).在時(shí)間步t,根據(jù)當(dāng)前輸入ASt和上一步隱藏層的狀態(tài)ht-1按照式(3)遞歸地更新隱藏狀態(tài)ht:

    ht=fGRU(ht-1,ASt)

    (3)

    其中ASi為單詞asi的embedding向量.編碼器從源代碼中學(xué)習(xí)標(biāo)識(shí)符、控制結(jié)構(gòu)等潛在的特征,并將這些特征編碼到上下文向量中.代碼編碼器工作方式與AST編碼器幾乎相同.

    3.2.2 組合注意

    (4)

    (5)

    3.2.3 注釋生成

    在獲得代碼片段的表示之后,需要將其解碼為注釋.首先模型根據(jù)上一個(gè)詞、上下文向量和當(dāng)前步的隱藏狀態(tài)通過線性變換生成目標(biāo)詞,接下來將目標(biāo)詞映射到分類得分中,產(chǎn)生對(duì)應(yīng)的維度:

    Ot=g(Yt-1,Ct,st)

    (6)

    Mt=WOt

    (7)

    其中,Mt為softmax操作前的預(yù)測(cè)得分.本文通過引入Gumbel[13]噪聲實(shí)現(xiàn)多項(xiàng)分布采樣的再參數(shù)化.具體地,對(duì)于解碼的第t步,在式(7)的Mt中引入正則化項(xiàng)Gt:

    Gt=-log(-log(ut))

    (8)

    (9)

    (10)

    其中pt表示目標(biāo)單詞yt的概率分布.最后模型根據(jù)pt選擇預(yù)測(cè)詞:

    (11)

    (12)

    4 實(shí)驗(yàn)分析

    在這部分,進(jìn)行了大量的實(shí)驗(yàn)來證明本文提出的模型在代碼注釋自動(dòng)生成任務(wù)上的優(yōu)勢(shì).實(shí)驗(yàn)比較了Code2Com與3種典型方法Seq2Seq+Attn、CodeNN和TreeLSTM的性能,同時(shí)還通過性能對(duì)比實(shí)驗(yàn)進(jìn)行了組件分析,以評(píng)估每個(gè)組件在Code2Com中的貢獻(xiàn).

    4.1 實(shí)驗(yàn)數(shù)據(jù)和參數(shù)配置

    實(shí)驗(yàn)使用Allamanis等人[6]提供的數(shù)據(jù)集,該數(shù)據(jù)集中包含11個(gè)相對(duì)較大的Java項(xiàng)目,最初用于同一項(xiàng)目范圍內(nèi)的11個(gè)不同的模型.以往的研究使用的數(shù)據(jù)集沒有按項(xiàng)目劃分,同一項(xiàng)目中幾乎相同的代碼同時(shí)出現(xiàn)在訓(xùn)練集和測(cè)試集中,這讓模型嚴(yán)重過擬合了訓(xùn)練數(shù)據(jù),導(dǎo)致BLEU得分虛高.通過按項(xiàng)目劃分?jǐn)?shù)據(jù)集,進(jìn)行跨項(xiàng)目訓(xùn)練,對(duì)不同的項(xiàng)目進(jìn)行預(yù)測(cè)任務(wù),以獲得更真實(shí)的預(yù)測(cè)結(jié)果:將數(shù)據(jù)集分成3組,9個(gè)項(xiàng)目用于訓(xùn)練,1個(gè)項(xiàng)目用于驗(yàn)證,1個(gè)項(xiàng)目用于測(cè)試.這個(gè)數(shù)據(jù)集包含大約70萬個(gè)示例.

    Code2Com使用TensorFlow框架在GPU上進(jìn)行訓(xùn)練.對(duì)于編碼器和解碼器,都使用了256個(gè)隱藏單元的GRU.單詞嵌入的維數(shù)為256,我們發(fā)現(xiàn)兩個(gè)獨(dú)立的嵌入比單一的嵌入空間有更好的性能.在訓(xùn)練過程中,用Adam優(yōu)化了模型,使用了默認(rèn)的超參數(shù):學(xué)習(xí)率α=0.01,β1=0.9,β2=0.999,β2=0.999,=1e-8,其他參數(shù)在[-0.1,0.1]范圍內(nèi)隨機(jī)初始化.對(duì)于解碼,使用貪婪搜索算法進(jìn)行推理,以最小化實(shí)驗(yàn)變量和計(jì)算成本.在式(9)中設(shè)置temp=0.5,在式(12)中設(shè)置μ=12.代碼序列和AST序列大小為100,注釋的序列大小為13,每個(gè)序列至少覆蓋80%的訓(xùn)練集.低于最小長(zhǎng)度的短序列用零填充,超過最大長(zhǎng)度的長(zhǎng)序列將被截?cái)?

    4.2 實(shí)驗(yàn)結(jié)果及分析

    在代碼到注釋任務(wù)上評(píng)估本文的模型:根據(jù)一個(gè)Java方法來預(yù)測(cè)它的注釋.實(shí)驗(yàn)結(jié)果證明本文提出方法可以產(chǎn)生注釋,并且在性能上有一定的提高.

    4.2.1 性能分析

    模型使用BLEU得分[15]進(jìn)行評(píng)估.BLEU是評(píng)估模型預(yù)測(cè)注釋和參考注釋之間文本相似度的指標(biāo).本節(jié)將我們的方法與Iyer等人[5]提出的注釋生成模型CodeNN進(jìn)行比較,后者是一種最先進(jìn)的代碼摘要方法,該方法使用帶有注意力機(jī)制的LSTM直接從源代碼的token嵌入生成注釋.此外,我們還比較了兩個(gè)將輸入源代碼作為token流讀取的NMT基線:基于注意力的Seq2Seq模型(Seq2Seq+Attn),編碼器和解碼器都采用GRU,Seq2Seq+Attn代表了NLP研究領(lǐng)域強(qiáng)大的現(xiàn)有方法的應(yīng)用;Tai等人提出的帶有注意輸入子樹,并采用LSTM解碼器的TreeLSTM[16];代碼注釋自動(dòng)生成任務(wù)的性能如表1所示.

    表1 Code2Com及相關(guān)方法的BLEU得分(%)Table 1 BLEU scores of Code2Com and related methods(%)

    表1總結(jié)了代碼注釋生成的每種方法的BLEU得分.由于BLEU的關(guān)鍵評(píng)價(jià)內(nèi)容是N-gram精度,實(shí)驗(yàn)分析了n取不同值時(shí)的BLEU得分.Seq2Seq模型在Java方法注釋方面表現(xiàn)優(yōu)于CodeNN,CodeNN直接從源代碼的token生成注釋時(shí)無法學(xué)習(xí)Java方法的語義,而Seq2Seq模型可以利用GRU為源代碼建立語言模型,有效地學(xué)習(xí)Java方法的語義.盡管TreeLSTM也利用了語法,但本文的模型同時(shí)考慮了代碼的結(jié)構(gòu)和序列信息,并且通過解決曝光偏差問題增強(qiáng)了模型的容錯(cuò)能力.本文的模型達(dá)到了21.37的BLEU分?jǐn)?shù),與TreeLSTM模型相比,BLEU得分提高了2.97分(相對(duì)16.1%),并且高于所有對(duì)比模型.這表明我們的方法適用于代碼注釋.我們?cè)诒?中展示了測(cè)試集中的Java示例,Code2Com生成的注釋最接近正確結(jié)果,雖然TreeLSTM和Seq2Seq+Attn也生成了部分真實(shí)序列中的token,但是它們不能預(yù)測(cè)那些在訓(xùn)練集中不常出現(xiàn)的token.在大多數(shù)情況下,模型非常依賴明確的方法名,比如setter和getter方法.如圖5所示,方法名沒有明確說明該方法需要做什么,其他模型便很難正確地注釋.相反,本文的模型可以生成更接近真實(shí)結(jié)果的token.

    表2 代碼注釋預(yù)測(cè)結(jié)果Table 2 Code comment prediction results

    圖5 Java示例Fig.5 Java example

    4.2.2 組件分析

    為了評(píng)估理解各組件的貢獻(xiàn),對(duì)模型進(jìn)行了消融實(shí)驗(yàn).首先,只考慮代碼的順序表示,在不使用AST的情況下實(shí)現(xiàn)了該模型;其次,實(shí)現(xiàn)了一個(gè)只采用AST節(jié)點(diǎn)作為輸入的模型;最后,通過訓(xùn)練了一個(gè)使用計(jì)劃采樣的模型,以驗(yàn)證模型性能的提升不僅僅是一種簡(jiǎn)單的正則化形式.模型評(píng)估結(jié)果見表3.

    表3 Code2Com中每個(gè)組件的有效性Table 3 Effectiveness of each component in Code2Com

    如表3所示,不編碼AST會(huì)導(dǎo)致BLEU得分下降,通過對(duì)AST分配權(quán)重,可以增加對(duì)命名token的注意力,并有效地忽略括號(hào)、分號(hào)等功能性token.其次,簡(jiǎn)單地在模型中使用AST而不使用token會(huì)大大降低分?jǐn)?shù),因?yàn)椴皇褂胻oken相當(dāng)于對(duì)沒有標(biāo)識(shí)符名稱、類型、APIs,和常量值的代碼進(jìn)行推理,這非常困難.源碼結(jié)構(gòu)和語義相結(jié)合能夠?yàn)樽⑨屔筛玫姆謹(jǐn)?shù).另外,我們觀察到使用Gumbel采樣的模型可以提高源代碼注釋生成的性能,BLEU得分提高了1.17.輸入Code2Com的預(yù)測(cè)詞可以有效地減輕曝光偏差,這優(yōu)勢(shì)背后的原因可能是Gumbel噪聲的采樣效果更接近真實(shí)分布的樣本,可以幫助選擇更有效而健壯的預(yù)測(cè)詞.此外,參數(shù)值的設(shè)置直接影響到模型生成質(zhì)量.本文對(duì)temp進(jìn)行了參數(shù)分析,當(dāng)temp在0.5時(shí)得到了最佳模型,如圖6所示.

    圖6 Code2Com在不同temp設(shè)置下的性能Fig.6 Code2Com performance under different temp settings

    4.2.3 句長(zhǎng)分析

    本節(jié)研究了每個(gè)模型的性能如何隨著代碼長(zhǎng)度而變化.如圖7所示,隨著輸入代碼長(zhǎng)度的增加,所有模型BLEU得分都顯示出自然下降,與其他基線相比,在不同代碼長(zhǎng)度的度量上,Code2Com性能最好.此外,我們的模型在處理長(zhǎng)句方面顯示出穩(wěn)定的性能.

    圖7 BLEU分?jǐn)?shù)與代碼長(zhǎng)度的比較Fig.7 Comparison of BLEU score and code length

    5 結(jié)束語

    提出了一種新的自動(dòng)生成Java代碼注釋模型,考慮了源代碼獨(dú)特的語法結(jié)構(gòu)和順序信息.核心思想是通過對(duì)代碼的結(jié)構(gòu)和順序內(nèi)容進(jìn)行編碼,并在訓(xùn)練時(shí)使用采樣方案將真實(shí)詞或優(yōu)化生成的前一個(gè)預(yù)測(cè)詞作為上下文.實(shí)驗(yàn)結(jié)果表明,Code2Com優(yōu)于現(xiàn)有的方法.在未來的工作中,計(jì)劃設(shè)計(jì)一個(gè)復(fù)制機(jī)制來處理詞匯表外特殊的未知token,同時(shí)研究如何來捕獲輸入結(jié)構(gòu),并將提出的方法擴(kuò)展到其他機(jī)器翻譯問題的軟件工程任務(wù),例如代碼遷移.

    猜你喜歡
    源代碼解碼器編碼器
    人工智能下復(fù)雜軟件源代碼缺陷精準(zhǔn)校正
    科學(xué)解碼器(一)
    基于TXL的源代碼插樁技術(shù)研究
    科學(xué)解碼器(二)
    科學(xué)解碼器(三)
    線圣AudioQuest 發(fā)布第三代Dragonfly Cobalt藍(lán)蜻蜓解碼器
    基于FPGA的同步機(jī)軸角編碼器
    軟件源代碼非公知性司法鑒定方法探析
    基于PRBS檢測(cè)的8B/IOB編碼器設(shè)計(jì)
    揭秘龍湖產(chǎn)品“源代碼”
    夜夜爽天天搞| 国产亚洲欧美98| 久久久久久久亚洲中文字幕 | 久久国产乱子免费精品| 我要搜黄色片| 国产精品美女特级片免费视频播放器| 一本精品99久久精品77| 黄色日韩在线| 欧美午夜高清在线| 久久久久国内视频| 国产精品久久久久久久久免 | 婷婷六月久久综合丁香| 成人特级av手机在线观看| www.www免费av| 一卡2卡三卡四卡精品乱码亚洲| 中文字幕久久专区| 99久久久亚洲精品蜜臀av| 亚洲av.av天堂| 亚洲av熟女| 久久99热6这里只有精品| 免费一级毛片在线播放高清视频| 午夜福利高清视频| 我的女老师完整版在线观看| 一个人免费在线观看电影| 男插女下体视频免费在线播放| 久久天躁狠狠躁夜夜2o2o| 亚洲精品影视一区二区三区av| 男女视频在线观看网站免费| 日韩亚洲欧美综合| x7x7x7水蜜桃| 亚洲男人的天堂狠狠| 色综合欧美亚洲国产小说| 久久草成人影院| 又爽又黄无遮挡网站| 桃色一区二区三区在线观看| 免费在线观看亚洲国产| 午夜福利成人在线免费观看| 国产在视频线在精品| 国产在视频线在精品| 黄色丝袜av网址大全| 高清在线国产一区| 窝窝影院91人妻| 成人美女网站在线观看视频| 在线播放无遮挡| 免费人成在线观看视频色| 在线观看午夜福利视频| 亚洲第一区二区三区不卡| 国产午夜精品久久久久久一区二区三区 | 国产不卡一卡二| 亚洲色图av天堂| 日韩中文字幕欧美一区二区| 亚洲 国产 在线| 在线观看av片永久免费下载| 最好的美女福利视频网| 男人舔女人下体高潮全视频| 高清日韩中文字幕在线| 男女床上黄色一级片免费看| 露出奶头的视频| 69av精品久久久久久| a在线观看视频网站| 国产亚洲精品久久久com| 亚洲人与动物交配视频| 欧美成人免费av一区二区三区| 亚洲在线观看片| 免费看光身美女| 国产精品99久久久久久久久| 国产毛片a区久久久久| 精品免费久久久久久久清纯| 亚洲狠狠婷婷综合久久图片| 听说在线观看完整版免费高清| 长腿黑丝高跟| 最近中文字幕高清免费大全6 | 久久久久久大精品| 久久这里只有精品中国| 动漫黄色视频在线观看| 国产野战对白在线观看| 久久久久久久久大av| 日韩欧美精品v在线| 日韩成人在线观看一区二区三区| 婷婷六月久久综合丁香| 色综合亚洲欧美另类图片| 久久精品国产清高在天天线| 国产黄色小视频在线观看| 国产亚洲精品久久久久久毛片| 精品人妻偷拍中文字幕| 床上黄色一级片| 一夜夜www| 很黄的视频免费| 人妻丰满熟妇av一区二区三区| 亚洲精品在线美女| 亚洲av日韩精品久久久久久密| 99热6这里只有精品| 啦啦啦观看免费观看视频高清| 亚洲国产精品合色在线| 亚洲精品一卡2卡三卡4卡5卡| 最新中文字幕久久久久| 国产免费av片在线观看野外av| 老鸭窝网址在线观看| 日韩亚洲欧美综合| 又爽又黄a免费视频| 国产精品99久久久久久久久| av欧美777| 亚洲欧美日韩卡通动漫| 亚洲国产精品成人综合色| 国产av不卡久久| 好男人电影高清在线观看| 日本与韩国留学比较| 一区二区三区激情视频| 99视频精品全部免费 在线| 国产精品亚洲美女久久久| 人妻丰满熟妇av一区二区三区| 国产av麻豆久久久久久久| 国产伦一二天堂av在线观看| 熟妇人妻久久中文字幕3abv| 欧美日韩黄片免| 久久国产精品影院| 此物有八面人人有两片| 国产欧美日韩精品亚洲av| 美女高潮喷水抽搐中文字幕| 波多野结衣高清作品| 国产黄a三级三级三级人| 我要搜黄色片| 成年女人毛片免费观看观看9| 国产在线男女| 色噜噜av男人的天堂激情| 一二三四社区在线视频社区8| 亚洲七黄色美女视频| 亚洲最大成人av| 久久久久九九精品影院| 成人美女网站在线观看视频| 婷婷亚洲欧美| 深夜a级毛片| 极品教师在线免费播放| 国产成人av教育| 国产亚洲av嫩草精品影院| 免费在线观看亚洲国产| 亚洲av五月六月丁香网| 91字幕亚洲| 最好的美女福利视频网| 超碰av人人做人人爽久久| 亚洲欧美激情综合另类| 色播亚洲综合网| 中文字幕人成人乱码亚洲影| 亚洲成人久久爱视频| 日韩有码中文字幕| 日韩有码中文字幕| 可以在线观看的亚洲视频| 性欧美人与动物交配| 国产色爽女视频免费观看| 久久久久精品国产欧美久久久| 欧美乱色亚洲激情| 久久久精品大字幕| 男女那种视频在线观看| 亚洲av不卡在线观看| 91麻豆av在线| 观看免费一级毛片| 69av精品久久久久久| 亚洲av熟女| 狠狠狠狠99中文字幕| 久久午夜亚洲精品久久| 久久久久久久精品吃奶| 成人无遮挡网站| 日本在线视频免费播放| 黄色一级大片看看| 日本 av在线| 亚洲欧美清纯卡通| 别揉我奶头 嗯啊视频| 国产69精品久久久久777片| 免费人成在线观看视频色| 国产亚洲精品久久久久久毛片| 亚洲精品粉嫩美女一区| 精品久久久久久久末码| 亚洲精品乱码久久久v下载方式| 99视频精品全部免费 在线| 国产精品一及| 99久久精品国产亚洲精品| 国产色婷婷99| 日韩人妻高清精品专区| 嫩草影视91久久| 夜夜看夜夜爽夜夜摸| 久久国产乱子伦精品免费另类| 他把我摸到了高潮在线观看| 一级作爱视频免费观看| 亚洲最大成人中文| 欧美黄色片欧美黄色片| 亚洲人与动物交配视频| 99久久成人亚洲精品观看| 免费无遮挡裸体视频| 18禁黄网站禁片免费观看直播| 国产精品久久视频播放| 在线播放国产精品三级| 脱女人内裤的视频| 999久久久精品免费观看国产| 国产三级在线视频| 俺也久久电影网| 国产精品一区二区免费欧美| ponron亚洲| 日韩欧美三级三区| 三级毛片av免费| 国产精品野战在线观看| 2021天堂中文幕一二区在线观| 琪琪午夜伦伦电影理论片6080| 亚洲av不卡在线观看| 国产乱人伦免费视频| 午夜a级毛片| 日韩欧美免费精品| 国产精品永久免费网站| 成人av一区二区三区在线看| 一级毛片久久久久久久久女| 最新在线观看一区二区三区| 国产精品99久久久久久久久| 哪里可以看免费的av片| 日本撒尿小便嘘嘘汇集6| 免费无遮挡裸体视频| 老熟妇乱子伦视频在线观看| 久久这里只有精品中国| 日本黄色片子视频| 激情在线观看视频在线高清| 亚洲精品粉嫩美女一区| 免费在线观看亚洲国产| 免费av不卡在线播放| 99久久精品热视频| 久久精品久久久久久噜噜老黄 | av欧美777| 嫩草影院入口| 又爽又黄a免费视频| 97碰自拍视频| 制服丝袜大香蕉在线| 在线播放国产精品三级| 在线播放无遮挡| 日韩免费av在线播放| 一区二区三区四区激情视频 | 一a级毛片在线观看| 少妇裸体淫交视频免费看高清| 老女人水多毛片| 日韩免费av在线播放| 99久久无色码亚洲精品果冻| 国产精品久久久久久久久免 | 在线天堂最新版资源| 丰满人妻一区二区三区视频av| 亚洲精品久久国产高清桃花| 久9热在线精品视频| 欧美一级a爱片免费观看看| 国产大屁股一区二区在线视频| 三级国产精品欧美在线观看| 日本精品一区二区三区蜜桃| 蜜桃久久精品国产亚洲av| 中文字幕av在线有码专区| 在线观看av片永久免费下载| 国产黄a三级三级三级人| 一进一出抽搐动态| 色5月婷婷丁香| 黄片小视频在线播放| a级毛片免费高清观看在线播放| 午夜免费激情av| 在线看三级毛片| 亚洲欧美清纯卡通| 午夜激情福利司机影院| 内地一区二区视频在线| 中文字幕高清在线视频| 夜夜看夜夜爽夜夜摸| 国产野战对白在线观看| 一进一出好大好爽视频| 此物有八面人人有两片| 97超视频在线观看视频| 性色av乱码一区二区三区2| 免费电影在线观看免费观看| 精品国产三级普通话版| 一级a爱片免费观看的视频| www.999成人在线观看| 我的女老师完整版在线观看| 88av欧美| 亚洲综合色惰| 床上黄色一级片| 国产三级黄色录像| 99riav亚洲国产免费| 亚洲精品456在线播放app | 女人被狂操c到高潮| 一本精品99久久精品77| 亚洲av成人不卡在线观看播放网| 亚洲狠狠婷婷综合久久图片| 亚洲三级黄色毛片| 美女免费视频网站| 久久午夜亚洲精品久久| 伊人久久精品亚洲午夜| 亚洲美女视频黄频| 国产日本99.免费观看| av专区在线播放| 亚洲精品在线观看二区| 性插视频无遮挡在线免费观看| 亚洲人成网站高清观看| 久久精品国产自在天天线| 一进一出抽搐动态| 免费av不卡在线播放| 亚洲性夜色夜夜综合| 久久久久性生活片| 可以在线观看毛片的网站| 好男人电影高清在线观看| 亚洲18禁久久av| 国产v大片淫在线免费观看| 欧美日韩综合久久久久久 | 波多野结衣高清作品| 亚洲欧美激情综合另类| 97碰自拍视频| 天天躁日日操中文字幕| 国产乱人伦免费视频| 亚洲av电影在线进入| 国内精品久久久久精免费| 男女下面进入的视频免费午夜| 性色av乱码一区二区三区2| 国产色爽女视频免费观看| 网址你懂的国产日韩在线| 免费大片18禁| 国产熟女xx| 午夜影院日韩av| 麻豆久久精品国产亚洲av| 国产av不卡久久| www.熟女人妻精品国产| 亚洲乱码一区二区免费版| 1024手机看黄色片| 亚洲无线观看免费| 国产精品爽爽va在线观看网站| xxxwww97欧美| 色哟哟哟哟哟哟| 欧美日韩中文字幕国产精品一区二区三区| 真实男女啪啪啪动态图| 人人妻人人澡欧美一区二区| 久99久视频精品免费| 亚洲午夜理论影院| 哪里可以看免费的av片| 亚洲国产精品久久男人天堂| 少妇人妻一区二区三区视频| 欧美成人性av电影在线观看| 韩国av一区二区三区四区| 亚洲美女黄片视频| 很黄的视频免费| 欧美日韩综合久久久久久 | 亚洲内射少妇av| 无人区码免费观看不卡| 日本免费一区二区三区高清不卡| 我要看日韩黄色一级片| 小蜜桃在线观看免费完整版高清| 在线免费观看的www视频| 日本在线视频免费播放| 久久人人精品亚洲av| 狂野欧美白嫩少妇大欣赏| 精品福利观看| 99国产精品一区二区蜜桃av| 9191精品国产免费久久| 国产精品精品国产色婷婷| 老师上课跳d突然被开到最大视频 久久午夜综合久久蜜桃 | 色哟哟·www| 国产在线精品亚洲第一网站| 精华霜和精华液先用哪个| 国产日本99.免费观看| 999久久久精品免费观看国产| 久久久久久久精品吃奶| 99久久精品一区二区三区| 日韩中字成人| 国产成人av教育| 搞女人的毛片| 91字幕亚洲| 一个人观看的视频www高清免费观看| 色5月婷婷丁香| 最近视频中文字幕2019在线8| 国产欧美日韩精品一区二区| 变态另类丝袜制服| 午夜日韩欧美国产| 国产精品爽爽va在线观看网站| 丁香六月欧美| 综合色av麻豆| 在线播放无遮挡| 久久婷婷人人爽人人干人人爱| 精品日产1卡2卡| 久久国产乱子免费精品| 一级黄片播放器| 国产av在哪里看| 国产成人影院久久av| 免费av不卡在线播放| 成人特级av手机在线观看| 亚洲av中文字字幕乱码综合| 色综合亚洲欧美另类图片| 免费在线观看亚洲国产| 免费av不卡在线播放| 久久久久久久午夜电影| 男插女下体视频免费在线播放| 在线看三级毛片| 亚洲电影在线观看av| 在线观看av片永久免费下载| 床上黄色一级片| 欧美成狂野欧美在线观看| 免费观看精品视频网站| 老鸭窝网址在线观看| 国产久久久一区二区三区| 此物有八面人人有两片| 岛国在线免费视频观看| 免费观看精品视频网站| 中文字幕av成人在线电影| 午夜福利18| 亚洲精华国产精华精| 国产淫片久久久久久久久 | 日韩国内少妇激情av| 亚洲成人精品中文字幕电影| 亚洲欧美清纯卡通| 一本精品99久久精品77| 久久国产乱子伦精品免费另类| 欧美zozozo另类| 欧洲精品卡2卡3卡4卡5卡区| 久久精品人妻少妇| 美女高潮喷水抽搐中文字幕| 1024手机看黄色片| 国产毛片a区久久久久| 欧美午夜高清在线| 51午夜福利影视在线观看| 99精品在免费线老司机午夜| 亚洲真实伦在线观看| 亚洲av日韩精品久久久久久密| av黄色大香蕉| 老熟妇仑乱视频hdxx| 一区二区三区四区激情视频 | 亚洲欧美清纯卡通| 国产视频内射| 看十八女毛片水多多多| 国产高清激情床上av| 国产精品久久久久久人妻精品电影| 可以在线观看毛片的网站| 熟女电影av网| 国产av不卡久久| 尤物成人国产欧美一区二区三区| 国产视频一区二区在线看| av在线蜜桃| 舔av片在线| 色综合欧美亚洲国产小说| 欧美三级亚洲精品| or卡值多少钱| 日本黄色片子视频| 91久久精品电影网| 偷拍熟女少妇极品色| 欧美一级a爱片免费观看看| 免费无遮挡裸体视频| 国产av不卡久久| 成年免费大片在线观看| 在线观看舔阴道视频| 久久久久久久久久成人| 欧美又色又爽又黄视频| 一进一出抽搐gif免费好疼| 亚洲最大成人av| 首页视频小说图片口味搜索| 高清在线国产一区| 亚洲国产高清在线一区二区三| 久久婷婷人人爽人人干人人爱| 亚洲五月天丁香| 午夜激情福利司机影院| 又黄又爽又免费观看的视频| 国产不卡一卡二| 欧美激情在线99| 国产成人欧美在线观看| 99热精品在线国产| 日本成人三级电影网站| 在线观看一区二区三区| 欧美性猛交黑人性爽| 欧美xxxx黑人xx丫x性爽| 一二三四社区在线视频社区8| 91久久精品国产一区二区成人| 欧美性猛交╳xxx乱大交人| 麻豆国产av国片精品| 成人亚洲精品av一区二区| 国产精品电影一区二区三区| 又紧又爽又黄一区二区| 国产午夜精品久久久久久一区二区三区 | 国产蜜桃级精品一区二区三区| 制服丝袜大香蕉在线| 精品熟女少妇八av免费久了| 国产色爽女视频免费观看| 亚洲专区国产一区二区| 91麻豆精品激情在线观看国产| 精品一区二区三区视频在线| 人妻丰满熟妇av一区二区三区| 婷婷精品国产亚洲av| 亚洲国产精品999在线| 淫秽高清视频在线观看| 给我免费播放毛片高清在线观看| 99久久成人亚洲精品观看| 免费av不卡在线播放| 精品国产三级普通话版| 99riav亚洲国产免费| 国产高清三级在线| .国产精品久久| 热99在线观看视频| 亚洲精品影视一区二区三区av| 蜜桃亚洲精品一区二区三区| 久久久久国产精品人妻aⅴ院| 国产一区二区在线观看日韩| 狠狠狠狠99中文字幕| 免费看日本二区| 欧美日韩瑟瑟在线播放| 国产蜜桃级精品一区二区三区| 一本久久中文字幕| 久久久精品大字幕| 亚洲中文字幕日韩| 国产精品一及| 国产美女午夜福利| 在线观看舔阴道视频| eeuss影院久久| 美女cb高潮喷水在线观看| 久久人妻av系列| 国产高清视频在线播放一区| 丝袜美腿在线中文| 亚洲第一欧美日韩一区二区三区| 国产精品乱码一区二三区的特点| 亚洲片人在线观看| 日韩高清综合在线| 中文字幕av在线有码专区| 91午夜精品亚洲一区二区三区 | 12—13女人毛片做爰片一| 一二三四社区在线视频社区8| 99在线视频只有这里精品首页| 内射极品少妇av片p| 成人三级黄色视频| 一区二区三区免费毛片| 免费在线观看日本一区| 久久精品人妻少妇| 欧美性猛交╳xxx乱大交人| 一边摸一边抽搐一进一小说| av欧美777| 麻豆成人av在线观看| 成人鲁丝片一二三区免费| 日本 av在线| 亚洲国产精品久久男人天堂| 在线免费观看的www视频| 精品国内亚洲2022精品成人| 噜噜噜噜噜久久久久久91| 黄色配什么色好看| 男插女下体视频免费在线播放| 日韩精品中文字幕看吧| 床上黄色一级片| 18+在线观看网站| 日本黄大片高清| 美女高潮喷水抽搐中文字幕| 一边摸一边抽搐一进一小说| 老司机福利观看| 两个人的视频大全免费| 精品午夜福利在线看| 精品无人区乱码1区二区| 亚洲成人久久性| 久久九九热精品免费| 黄色日韩在线| 欧美zozozo另类| 日韩国内少妇激情av| 亚洲七黄色美女视频| 国产精品亚洲美女久久久| 久久亚洲精品不卡| 国产中年淑女户外野战色| netflix在线观看网站| 九九热线精品视视频播放| 国产av麻豆久久久久久久| 亚洲片人在线观看| 久久伊人香网站| 小说图片视频综合网站| 免费观看的影片在线观看| 亚洲av成人精品一区久久| 日本精品一区二区三区蜜桃| 日韩欧美国产在线观看| 搡老岳熟女国产| 亚洲av不卡在线观看| 九九在线视频观看精品| 中亚洲国语对白在线视频| 国产亚洲精品综合一区在线观看| a级毛片免费高清观看在线播放| 免费在线观看日本一区| 日韩欧美三级三区| 久久性视频一级片| 人妻夜夜爽99麻豆av| 亚洲成av人片免费观看| 内射极品少妇av片p| 免费观看人在逋| 日本黄色片子视频| 18禁黄网站禁片免费观看直播| 亚洲精品色激情综合| av在线老鸭窝| 亚洲精品一区av在线观看| 久久久久性生活片| 国产精品1区2区在线观看.| 午夜福利视频1000在线观看| 人妻制服诱惑在线中文字幕| a级毛片a级免费在线| 18+在线观看网站| 舔av片在线| 特级一级黄色大片| 午夜亚洲福利在线播放| 丁香六月欧美| 舔av片在线| 99久久精品一区二区三区| or卡值多少钱| 少妇人妻精品综合一区二区 | 国产精品综合久久久久久久免费| 色精品久久人妻99蜜桃| 少妇高潮的动态图| 嫩草影院入口| 免费av不卡在线播放| 性色avwww在线观看| 日日摸夜夜添夜夜添小说| 国产三级黄色录像| 少妇人妻精品综合一区二区 | 琪琪午夜伦伦电影理论片6080| 久久伊人香网站| 男女做爰动态图高潮gif福利片| 欧美色欧美亚洲另类二区| 色在线成人网| 日韩欧美精品免费久久 | 我要搜黄色片| 真实男女啪啪啪动态图| 国产高清视频在线观看网站| 在线看三级毛片| 国产成人啪精品午夜网站|