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

    基于程序切片和BiGRU的代碼搜索

    2021-12-07 13:38:11楊騰趙逢禹劉亞
    智能計算機(jī)與應(yīng)用 2021年7期
    關(guān)鍵詞:注意力機(jī)制

    楊騰 趙逢禹 劉亞

    摘 要: 代碼復(fù)用可以有效縮短軟件開發(fā)的時間,而代碼搜索是代碼復(fù)用的主要途徑。提出了一種基于程序切片和BiGRU的代碼搜索方法,該方法通過構(gòu)建源代碼的程序依賴圖,以程序依賴圖中出度最大的節(jié)點作為興趣點構(gòu)建前向切片。將程序切片與源代碼的其他相關(guān)特征一起構(gòu)成代碼特征。把代碼特征和代碼的功能描述通過嵌入模塊輸入到BiGRU網(wǎng)絡(luò)中,結(jié)合注意力機(jī)制訓(xùn)練BiGRU模型。用戶輸入功能查詢語句,模型返回向量值最接近的代碼。為了驗證該模型的可行性和有效性,從開源代碼庫下載了Java項目,構(gòu)建了數(shù)據(jù)集并進(jìn)行實驗。實驗結(jié)果表明,提出的基于程序切片和BiGRU的方法在代碼搜索的準(zhǔn)確率和相關(guān)性排名等方面都有所改進(jìn)。

    關(guān)鍵詞: 代碼搜索; 程序切片; BiGRU; 注意力機(jī)制

    Code search based on program slicing and BiGRU

    YANG Teng, ZHAO Fengyu, LIU Ya

    (School of Optical-Electrical & Computer Engineering, University of Shanghai for Science & Technology,

    Shanghai 200093, China)

    【Abstract】Code reuse can effectively shorten the time of software development, and code search is the main way of code reuse. This paper proposes a code search method based on program slicing and BiGRU. The method builds a program dependency graph of source code, and takes the node with the highest degree in the program dependency graph as the point of interest to construct program slices. The features of source code are formed by combining program slices with other relevant method features. Code features and code function descriptions are input into the BiGRU network through an embedding module, and BiGRU network model is generated by combining attention mechanism. Users enter the function query statement, and the model returns the code with the closest vector value. In order to verify the feasibility and effectiveness of the model, several Java projects are downloaded from the open source library to build the data set and conduct experiments. Experimental results show that the proposed method based on program slicing and BiGRU has some improvements in code search accuracy and relevance ranking.

    【Key words】code search; program slice; BiGRU; attention

    0 引 言

    重用現(xiàn)有的代碼片段可以有效縮短軟件開發(fā)的時間,開發(fā)人員可以通過代碼搜索重用已有的方法,提高開發(fā)效率。研究表明,代碼搜索是軟件開發(fā)人員使用最頻繁的活動之一[1]。近年來,隨著開源理念的加強(qiáng),開源項目的質(zhì)量和數(shù)量在不斷地增加,開源代碼庫為人們提供了豐富的資源,但如何快速準(zhǔn)確地搜索到需要的代碼成為了一個新的問題。

    早期的代碼搜索方法通常采用全文檢索技術(shù),通過全文檢索獲得與查詢關(guān)鍵詞匹配的代碼段?;谛畔z索的方法通常將源代碼視為純文本,并利用信息檢索模型來檢索與給定查詢關(guān)鍵字匹配的相關(guān)代碼段。Sindhgatta[2]提出了基于Lucene的JSearch,該工具通過結(jié)構(gòu)化查詢語言搜索Java文件。 Hill等人[3]提出了基于詞組的搜索技術(shù),該技術(shù)基于關(guān)鍵字搜索,并且還引入了基于短語概念的評分機(jī)制,通過查詢單詞的位置、語義角色、頭部距離和使用信息對程序的相關(guān)性進(jìn)行評分。Bajracharya等人[4]提出了Sourcerer,Sourcerer以查詢語句為輸入,通過分析代碼中API調(diào)用情況,搜索相似的代碼實體,根據(jù)這些實體的名稱進(jìn)行擴(kuò)展,在此基礎(chǔ)上使用TF-IDF技術(shù)搜索流行的類。Raghothaman等人[5]提出了SWIM,與之前的信息檢索技術(shù)不同,該方法使用詞袋模型,根據(jù)查詢找到相應(yīng)的API,再把API組合成代碼段返回給用戶。

    近年來,研究人員開始將機(jī)器學(xué)習(xí)和深度學(xué)習(xí)技術(shù)應(yīng)用于代碼搜索領(lǐng)域。Gu等人[6]提出一個基于LSTM的代碼搜索模型DeepCS,該模型利用了代碼的注釋信息,通過深度神經(jīng)網(wǎng)絡(luò)得到代碼和注釋的向量表示,模型訓(xùn)練時通過相似度計算,使得匹配的代碼和注釋生成相似的向量。與基于信息檢索的代碼搜索技術(shù)相比,運用深度神經(jīng)網(wǎng)絡(luò)通過對比代碼和查詢語句的向量之間的空間距離能夠挖掘到更高層次的特征,更充分地理解代碼語義。

    利用深度學(xué)習(xí)進(jìn)行代碼搜索,通常需要先從源代碼中提取代碼特征,以便更充分地理解代碼語義。比如Aroma[7]從簡化的抽象語法樹中提取了下文關(guān)系作為代碼特征、DeepCS通過遍歷抽象語法樹提取了由代碼調(diào)用的API組成的序列作為代碼特征。本文認(rèn)為基于抽象語法樹的特征提取方法提取的主要是代碼的結(jié)構(gòu)特征,沒有考慮到代碼中變量的定義、判斷、使用的數(shù)據(jù)流信息,不能夠很好地反映出代碼的語義特征。而程序切片通過分析程序語句之間的控制依賴和數(shù)據(jù)依賴關(guān)系,移除了程序中與興趣點無關(guān)的部分,能夠更好地反映出源代碼的結(jié)構(gòu)和功能信息。

    基于這一思想,本文構(gòu)建了基于程序切片和BiGRU[8]的代碼搜索模型。首先從開源代碼庫獲取數(shù)據(jù)集,提取出方法代碼-功能描述對。建立方法代碼的程序依賴圖,將出度最大的節(jié)點作為興趣點,在程序依賴圖上利用圖形可達(dá)性算法獲得程序切片。然后使用BiGRU神經(jīng)網(wǎng)絡(luò)模型,結(jié)合注意力機(jī)制,構(gòu)建一個注釋-代碼聯(lián)合嵌入模型,將方法代碼和功能描述當(dāng)作輸入,訓(xùn)練模型學(xué)習(xí)二者的相關(guān)性。在搜索階段,用戶將需要的功能描述作為輸入,該模型會返回與輸入信息匹配的方法代碼。

    1 基于程序切片和BiGRU的代碼搜索

    為了更加準(zhǔn)確高效地搜索具有某些功能的代碼,本文提出了一個基于程序切片和BiGRU的代碼搜索方法。該方法首先從開源代碼庫GitHub上獲取數(shù)據(jù)集,從中選取部分具有清晰完善注釋的方法代碼,構(gòu)建出方法代碼-注釋對。然后為方法代碼建立程序依賴圖,在程序依賴圖上利用可達(dá)性算法獲得程序切片,從程序切片中提取代碼的結(jié)構(gòu)特征。最后將提取到的特征和相應(yīng)的注釋輸入進(jìn)BiGRU網(wǎng)絡(luò)模型,通過相似度計算訓(xùn)練模型。

    本文構(gòu)建了一個基于程序切片和BiGRU的代碼搜索模型。其中,程序切片是通過在程序依賴圖上做可達(dá)性分析得到的,具體包含了對源代碼的控制依賴信息和數(shù)據(jù)依賴信息的分析,能夠更加準(zhǔn)確地表達(dá)代碼語義。由于在數(shù)據(jù)量不是特別大的時候,GRU能夠達(dá)到和LSTM[9]相似的性能,但參數(shù)量比LSTM減少了三分之一,收斂速度更快,因此本文選擇使用BiGRU神經(jīng)網(wǎng)絡(luò)模型。此外,該模型還增加了注意力機(jī)制,通過加權(quán)處理,突出重點,使模型表現(xiàn)出更好的性能。與DeepCS相比,在性能相當(dāng)?shù)那疤嵯?,本文提出的模型收斂速度更快。代碼搜索模型的構(gòu)建流程如圖1所示。由圖1可知,對其中主要部分的功能解析可做闡釋分述如下。

    (1)功能描述提取。首先從Github上下載Java項目,從中提取方法和注釋對構(gòu)建代碼庫,然后對方法注釋進(jìn)行解析,只保留其中對方法的功能的描述。

    (2)方法特征提取。由圖1可知,在特征提取階段,該模型生成了源代碼的程序依賴圖PDG,從中選取出度最大的語句作為興趣點,利用可達(dá)性算法構(gòu)建程序切片。此外,該模型還生成了抽象語法樹AST,從中提取了方法名、返回值類型、參數(shù)等特征,這些特征也與方法的功能有著密切的關(guān)系,將其與程序切片一同作為方法特征。通過完全連接層將這4個特征融合到一個向量中,即:

    C=tanhWcm;r;p;s(1)

    其中,向量C為融合后的向量;Wc是可訓(xùn)練參數(shù)的矩陣;m;r;p;s是方法名、返回值類型、方法參數(shù)和程序切片四個特征對應(yīng)向量的串聯(lián)。

    (3)模型訓(xùn)練。在模型訓(xùn)練階段,將上個階段提取的方法代碼特征和功能描述嵌入到高維向量空間,得到兩者各自的向量表示。通過訓(xùn)練學(xué)習(xí)二者的相關(guān)性,如果功能描述和方法代碼具有相似的語義,那么對應(yīng)的向量表示就應(yīng)該互相接近。

    在查詢階段,由用戶輸入一句對代碼功能的自然語言描述,模型把該描述嵌入到向量空間中,在代碼庫中搜索與其相似度最高的5個方法的向量表示,然后從源代碼庫中取出具有相應(yīng)功能的方法代碼作為結(jié)果返回。

    2 程序切片和代碼搜索模型關(guān)鍵技術(shù)

    本文用到的關(guān)鍵技術(shù)主要有獲取源代碼的程序切片、BiGRU和Attention機(jī)制。這里擬對此展開研究論述如下。

    2.1 程序切片

    程序切片的概念由Weiser[10]首次提出,研究發(fā)現(xiàn)某個輸出只與部分語句相關(guān),將不相關(guān)的語句刪除不影響該輸出的結(jié)果,將這種只與某個輸出相關(guān)的語句構(gòu)成的程序稱為程序切片。

    目前研究程序切片的主要方法是基于程序依賴圖來做的,Ottenstein等人[11]引入了程序依賴圖的圖可達(dá)性算法,用來計算程序切片。李潤清等人[12]通過提取源代碼的切片摘要,把切片摘要作為搜索引擎中的關(guān)鍵字進(jìn)行搜索,證明了運用程序切片的代碼搜索引擎的性能要優(yōu)于傳統(tǒng)的代碼搜索方法。本文以Java代碼為例,給出了構(gòu)建程序切片的方法。

    要獲取程序切片,需要為Java方法生成相應(yīng)的程序依賴圖PDG(Program Dependence Graph),PDG中的節(jié)點表示語句或者謂詞表達(dá)式,邊表示節(jié)點之間的數(shù)據(jù)依賴、控制依賴關(guān)系。控制依賴指的是因控制流引起的模塊之間的依賴關(guān)系。數(shù)據(jù)依賴指的是由數(shù)據(jù)流引起的變量之間的依賴關(guān)系。PDG圖是一個有向圖,本文選擇程序依賴圖中除入口節(jié)點以外出度最大的節(jié)點對應(yīng)的語句N作為興趣點,因為出度代表受其影響的語句數(shù)量,出度越大則說明受到該節(jié)點影響的語句數(shù)量越多,意味著該節(jié)點對應(yīng)的語句蘊含的結(jié)構(gòu)信息越豐富。因此選擇這樣的語句作為興趣點N,遞歸遍歷數(shù)據(jù)依賴或控制依賴于N的結(jié)點、即PDG中以N為源節(jié)點的鄰接節(jié)點,將其加入到切片集合,生成節(jié)點N的前向切片。

    對于PDG中的每個節(jié)點,文中使用集合S.out代表以節(jié)點S為源節(jié)點的鄰接節(jié)點的集合。算法1給出了獲取PDG中出度最大的結(jié)點max的過程,算法2描述了以max為興趣點構(gòu)建程序切片的步驟。算法流程詳見如下。

    2.2 雙向門控循環(huán)單元

    雙向門控循環(huán)單元(GRU)[13]是長短期記憶LSTM模型的一個變體, 只有2個門函數(shù):更新門和重置門。其中,更新門用于控制前一時刻的狀態(tài)信息被帶入到當(dāng)前狀態(tài)中的程度,更新門的值越大說明前一時刻的狀態(tài)信息帶入越多。重置門控制前一狀態(tài)有多少信息被寫入到當(dāng)前的候選集上,重置門越小,前一狀態(tài)的信息被寫入得越少。

    GRU模型結(jié)構(gòu)圖如圖2所示。圖2中,rt為控制重置的門控(reset gate),zt為控制更新的門控(update gate),ht-1為前一時刻的狀態(tài)信息,ht為當(dāng)前時刻的狀態(tài)信息,σ為sigmoid函數(shù),通過這個函數(shù)可以將數(shù)據(jù)變換為0~1范圍內(nèi)的數(shù)值,從而來充當(dāng)門控信號。具體計算如下:

    其中,Wr、Wz、W[AKh~]t是通過訓(xùn)練學(xué)習(xí)的參數(shù),[AKh~]t是候選隱藏層狀態(tài),并只與輸入xt、上一層的隱藏狀態(tài)ht-1有關(guān)。

    BiGRU由2個方向相反的GRU構(gòu)成。一個正向的GRU,利用歷史信息;一個反向的GRU,利用未來的信息。這樣在時刻t,既能夠利用到t-1時刻的信息,又能利用t+1時刻的信息。在每一時刻,把輸入同時給2個GRU,輸出由2個GRU的狀態(tài)同時決定。BiGRU的結(jié)構(gòu)如圖3所示。

    2.3 Attention機(jī)制

    注意力機(jī)制 (attention mechanism)源自人類大腦對新事物認(rèn)知的特點,即對于重要的內(nèi)容分配較多注意力,而對于不重要的部分分配較少的注意力。借助注意力機(jī)制為神經(jīng)網(wǎng)絡(luò)隱層單元分配不同的概率權(quán)重,能夠關(guān)注到更有利的特征,同時降低對一些冗余信息的關(guān)注[14]。Attention通過對數(shù)據(jù)自動加權(quán)變換,把2個不同的部分聯(lián)系起來,突出重點,以表現(xiàn)出更好的性能。引入Attention機(jī)制的重要原因就是減少文本序列中關(guān)鍵信息的丟失。由于注意力機(jī)制在自然語言處理中對強(qiáng)化關(guān)鍵信息的有效性, 所以本文在雙向 GRU 神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上添加了Attention機(jī)制來提高模型的準(zhǔn)確率。Attention機(jī)制注意力分布的計算通常分2步:

    (1)給定一個查詢向量q,通過其與輸入向量[X1,X2……Xn]的相關(guān)性,使用打分函數(shù)計算得到n個score,相關(guān)性越高,則值越大。

    (2)通過softmax函數(shù)計算得到注意力分布,計算方法如公式(6)所示:

    注意力分布αi可以解釋為在上下文查詢q時,第i個信息受關(guān)注的程度。sxi,q為注意力打分函數(shù),計算方法如公式(7)所示:

    其中,xTi表示輸入向量;q表示查詢向量;d表示輸入向量的維度??s放點積模型解決了點積模型在d較大的時候的結(jié)果方差會比較大,softmax的梯度會變小的問題。

    3 實驗與分析

    本節(jié)給出了該模型的實現(xiàn)步驟,并通過搜索結(jié)果的準(zhǔn)確率和檢索排名等指標(biāo)來檢驗該模型的性能。

    3.1 實驗數(shù)據(jù)集

    本文通過從開源網(wǎng)站Github上下載Java項目來構(gòu)建訓(xùn)練代碼庫和搜索代碼庫,從中選擇了268個Java項目。在這些Java代碼中選取了11 893個方法-注釋對作為正樣本,然后構(gòu)建了10 224個負(fù)樣本一同作為訓(xùn)練代碼庫。正樣本就是數(shù)據(jù)集里匹配的方法-注釋對,負(fù)樣本則是隨機(jī)選取的注釋與當(dāng)前方法構(gòu)成的方法-注釋對。搜索代碼庫是由數(shù)據(jù)集中的所有方法代碼構(gòu)成的,其中包括沒有注釋信息的方法,共有35 533個方法代碼。數(shù)據(jù)集80%作為訓(xùn)練集,20%作為測試集,使用BiGRU模型在訓(xùn)練集上進(jìn)行訓(xùn)練并在驗證集上對模型進(jìn)行調(diào)參,最后在測試集上測試。

    3.2 參數(shù)設(shè)置

    本文將詞向量維度設(shè)置為100,BiGRU每個方向上的隱藏層節(jié)點數(shù)設(shè)置為50,batch_size設(shè)置為64,dropout_rate為0.5,以防止模型發(fā)生過擬合現(xiàn)象。

    3.3 實驗過程

    (1) 在對注釋信息進(jìn)行抽取時,去除@author、@see、@link、@since等注解后面的信息,只保留注釋中對方法的功能描述。本文從Github獲取了停用詞列表,然后使用NLTK分詞對功能描述進(jìn)行分詞,根據(jù)停用詞列表去除分詞后的文本中的停用詞。

    (2)取出數(shù)據(jù)集中的方法代碼,通過2.1節(jié)的算法1和算法2構(gòu)建方法代碼的程序切片。

    (3)使用Eclipse的JDT工具生成方法代碼的抽象語法樹,遍歷抽象語法樹提取返回值類型、方法名、參數(shù)類型,將其與程序切片一同作為方法特征。

    (4)分別按順序存儲方法特征和功能描述,通過按順序分別讀取方法特征和功能描述的方式輸入數(shù)據(jù),使用word2vec[15]獲得方法代碼特征和功能描述各自的詞向量表達(dá),使用H5格式的文件存儲這些數(shù)據(jù)。

    (5)本文使用torch.nn.gru構(gòu)建了BiGRU模型,將方法特征和功能描述的詞向量表達(dá)作為 BiGRU的輸入,提取深層局部特征和長距離特征。將BiGRU提取的特征作為Attention層的輸入,并在Attention分配詞向量權(quán)重。在完全連接層使用Keras的Concatenate函數(shù)對方法代碼的4個特征進(jìn)行融合,得到嵌入向量。訓(xùn)練時使正樣本中的功能描述在向量空間中不斷地向方法代碼靠近,負(fù)樣本中的功能描述在向量空間中不斷地遠(yuǎn)離方法代碼。在訓(xùn)練到340個迭代周期左右,發(fā)現(xiàn)loss不再繼續(xù)減小,停止訓(xùn)練。

    3.4 實驗結(jié)果與分析

    本小節(jié)將在搜索代碼庫上對本文提出的方法進(jìn)行評估,為了評估提出的代碼搜索方法的有效性,本文從準(zhǔn)確率和檢索排名等方面將該方法與其他方法作對比。

    本文選擇了Precision和MRR(Mean reciprocal rank)對搜索結(jié)果進(jìn)行評價,這2個指標(biāo)都是信息檢索領(lǐng)域常用的評價指標(biāo)。總地說來,Precision計算的是正確預(yù)測為正樣本的數(shù)量占所有預(yù)測為正樣本的數(shù)量的比例。MRR通過正確檢索結(jié)果在全部檢索結(jié)果中的排名來評估檢索系統(tǒng)的性能。

    本文在同一實驗環(huán)境下,使用相同的數(shù)據(jù)集將本文模型與Sourcerer、SWIM以及DeepCS做對比,用來評估該模型的性能。Sourcerer是基于Lucene的代碼搜索工具,能夠代表傳統(tǒng)的基于全文檢索技術(shù)的搜索引擎。SWIM利用詞袋技術(shù)將查詢翻譯成API,考慮到了代碼的結(jié)構(gòu)信息。對比結(jié)果見表1。

    為了驗證本文提取特征的有效性以及模型對結(jié)果的影響,增加了特征提取方式與模型組合的對照實驗。實驗以方法名、返回值類型以及方法參數(shù)等特征結(jié)合LSTM的模型作為基線模型,在此基礎(chǔ)上分別驗證了使用了程序切片作為代碼特征的效果以及使用BiGRU替換LSTM的效果。模型對比效果見表2。

    由表1可知,對于Precision,本文模型的表現(xiàn)與DeepCS相當(dāng),比Sourcerer和SWIM要好。MRR的值也表明,本文模型正確的查詢結(jié)果更加靠前。由表2可知,提取程序切片作為代碼特征提高了搜索結(jié)果的精度,BiGRU + Program Slice的模型達(dá)到了與LSTM + Program Slice模型相當(dāng)?shù)男阅埽趯嶒炦^程中發(fā)現(xiàn)該模型的收斂速度比LSTM + Program Slice模型快。LSTM + Program Slice在420個迭代周期后loss不再發(fā)生明顯下降,BiGRU + Program Slice則在340個迭代周期以后loss不再下降。雖然本文模型在整體性能上比SWIM和Sourcerer表現(xiàn)得好,但是研究發(fā)現(xiàn)在個別查詢語句的結(jié)果中,Sourcerer的準(zhǔn)確率超過了本文模型。在分析后,研究發(fā)現(xiàn)這是因為這些查詢語句中包含了較多與代碼中變量名相同的關(guān)鍵詞,在這種情況下,基于全文檢索技術(shù)的方法的優(yōu)勢就體現(xiàn)了出來。這說明本文的模型還有需要繼續(xù)改進(jìn)的地方,在后續(xù)工作中會改進(jìn)這些問題。

    4 結(jié)束語

    本文提出了基于程序切片和BiGRU的代碼搜索模型,該模型通過構(gòu)建代碼的程序切片與代碼功能特征一同作為方法特征,然后計算方法特征和注釋的向量表示的余弦相似度,使得匹配的功能描述和方法生成相似度較高的向量,在查詢時將在向量空間中與查詢語句的向量表示最接近的方法返回給用戶。實驗結(jié)果表明,跟傳統(tǒng)的代碼搜索方法相比,該模型通過構(gòu)建程序切片,有效地利用了代碼的控制依賴和數(shù)據(jù)依賴關(guān)系,更加準(zhǔn)確地提取了代碼的語義信息,在一定程度上提高了搜索結(jié)果的準(zhǔn)確率。下一步研究工作將是對構(gòu)建程序切片的方法進(jìn)行改進(jìn),比如選擇多個興趣點構(gòu)建多個切片,以挖掘更準(zhǔn)確的代碼語義信息。

    參考文獻(xiàn)

    [1]黎宣,王千祥,金芝. 基于增強(qiáng)描述的代碼搜索方法[J]. 軟件學(xué)報,2017,28(6):1405-1417.

    [2]SINDHGATTA R. Using an information retrieval system to retrieve source code samples[C]// International Conference on Software Engineering. Shanghai,China: dblp, 2006:905-908.

    [3]HILL E,POLLOCK L L,VIJAY-SHANKER K. Improving source code search with natural language phrasal representations of method signatures [C]// IEEE/ACM International Conference on Automated Software Engineering. Lawrence, KS, USA: ACM, 2011:524-527.

    [4]BAJRACHARYA S K , OSSHER J , LOPES C V. Leveraging usage similarity for effective retrieval of examples in code repositories[C]//ACM SIGSOFT International Symposium on Foundations of Software Engineering. New York,NY,USA:ACM,2010:157-166.

    [5]RAGHOTHAMAN M, WEI Y, HAMADI Y. SWIM: Synthesizing what I mean - code search and idiomatic Snippet synthesis [C]// 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE). Austin, TX:IEEE, 2016:357-367.

    [6]GU X, ZHANG H, KIM S. Deep code search [C]// IEEE/ACM 40th International Conference on Software Engineering (ICSE). Gothenburg:IEEE, 2018:933-944.

    [7]LUAN Sifei, YANG Di, BARNABY C, et al. Aroma: code recommendation via structural code search[C]//Proceedings of the ACM on Programming Languages. Athens: ACM,2019:1-28.

    [8]ZHANG Liujie, ZHOU Yanquan, DUAN Xiuyu,et al. A hierarchical multi-input and output Bi-GRU model for sentiment analysis on customer reviews[J]. Iop Conference, 2018, 322(6):062007.

    [9]劉丹,葉茂. 回復(fù)式神經(jīng)網(wǎng)絡(luò)及其應(yīng)用研究綜述[J]. 小型微型計算機(jī)系統(tǒng),2020,41(10):2024-2029.

    [10]WEISER M . Program slicing[J]. The IEEE Transactions on Software Engineering, 1984, 10(4):352-357.

    [11]OTTENSTEIN K J, OTTENSTEIN L M.The program dependence graph in a software development environment[J]. ACM Sigplan Notices,1984,19(5):177-184.

    [12]李潤青, 曾國蓀. 程序源代碼中的切片摘要提取及在搜索中的應(yīng)用[J]. 信息技術(shù)與網(wǎng)絡(luò)安全, 2018, 37 (3) :122-125,130.

    [13]DEY R,SALEMT F M. Gate-variants of Gated Recurrent Unit (GRU) neural networks [C]// IEEE International Midwest Symposium on Circuits & Systems. Boston,MA,USA: IEEE, 2017:1597-1600.

    [14]司念文,王衡軍,李偉,等. 基于注意力長短時記憶網(wǎng)絡(luò)的中文詞性標(biāo)注模型[J]. 計算機(jī)科學(xué),2018,45(4):66-70,82.

    [15]MIKOLOV T, CHEN K, CORRADO G, et al. Efficient estimation of word representations in vector space[J].arXiv preprint arXiv:1301.3781,2013.

    文章編號: 2095-2163(2021)07-0216-06中圖分類號:TP311文獻(xiàn)標(biāo)志碼: A

    基金項目: “十三五”密碼發(fā)展基金理論課題(MMJJ20180202)。

    作者簡介: 楊 騰(1996-) ,男,碩士研究生,主要研究方向:軟件工程、代碼搜索; 趙逢禹(1963-),男,博士,教授,CCF會員,主要研究方向:計算機(jī)軟件與軟件系統(tǒng)安全、軟件工程與軟件質(zhì)量控制、軟件可靠性; 劉 亞(1983-),女,博士,副教授,CCF會員,主要研究方向:信息安全、密碼學(xué)。

    收稿日期: 2021-03-24

    猜你喜歡
    注意力機(jī)制
    基于注意力機(jī)制的行人軌跡預(yù)測生成模型
    基于注意力機(jī)制和BGRU網(wǎng)絡(luò)的文本情感分析方法研究
    多特征融合的中文實體關(guān)系抽取研究
    基于序列到序列模型的文本到信息框生成的研究
    基于深度學(xué)習(xí)的手分割算法研究
    從餐館評論中提取方面術(shù)語
    面向短文本的網(wǎng)絡(luò)輿情話題
    基于自注意力與動態(tài)路由的文本建模方法
    基于深度學(xué)習(xí)的問題回答技術(shù)研究
    基于LSTM?Attention神經(jīng)網(wǎng)絡(luò)的文本特征提取方法
    中出人妻视频一区二区| 日本在线视频免费播放| 免费在线观看成人毛片| 在线观看午夜福利视频| 校园人妻丝袜中文字幕| 18禁在线播放成人免费| 久久久久九九精品影院| 国产淫片久久久久久久久| 91久久精品国产一区二区三区| 国产成年人精品一区二区| 国产高清视频在线观看网站| 97人妻精品一区二区三区麻豆| 窝窝影院91人妻| 人妻丰满熟妇av一区二区三区| 韩国av一区二区三区四区| 九九在线视频观看精品| 一a级毛片在线观看| 亚洲精品色激情综合| 成年女人永久免费观看视频| 少妇猛男粗大的猛烈进出视频 | 此物有八面人人有两片| 亚洲电影在线观看av| 久久香蕉精品热| 不卡视频在线观看欧美| 午夜日韩欧美国产| 国产一区二区三区视频了| 国产精品一区二区三区四区免费观看 | 亚洲av日韩精品久久久久久密| 免费电影在线观看免费观看| 91午夜精品亚洲一区二区三区 | 九色成人免费人妻av| 床上黄色一级片| 舔av片在线| 91午夜精品亚洲一区二区三区 | 最近中文字幕高清免费大全6 | 国产欧美日韩一区二区精品| 国产亚洲精品久久久com| 久久久久国内视频| 91在线精品国自产拍蜜月| 亚洲国产欧美人成| 毛片女人毛片| 99热这里只有是精品50| 国产爱豆传媒在线观看| 亚洲熟妇熟女久久| 国产中年淑女户外野战色| 日日摸夜夜添夜夜添小说| 国产免费一级a男人的天堂| 我的女老师完整版在线观看| 最近在线观看免费完整版| 中文在线观看免费www的网站| 亚洲经典国产精华液单| 日本色播在线视频| 欧美zozozo另类| 特大巨黑吊av在线直播| 色综合婷婷激情| 网址你懂的国产日韩在线| 老熟妇乱子伦视频在线观看| 国产精品国产高清国产av| 深夜a级毛片| 国产精品精品国产色婷婷| 久久国内精品自在自线图片| 人妻少妇偷人精品九色| 在线免费观看不下载黄p国产 | 午夜福利欧美成人| videossex国产| 老司机午夜福利在线观看视频| 国产成人a区在线观看| 亚洲性久久影院| 欧美精品啪啪一区二区三区| 91在线精品国自产拍蜜月| 中文字幕熟女人妻在线| 麻豆精品久久久久久蜜桃| 欧美日韩亚洲国产一区二区在线观看| 岛国在线免费视频观看| 国产亚洲91精品色在线| 亚洲aⅴ乱码一区二区在线播放| 51国产日韩欧美| 欧美高清性xxxxhd video| 亚洲av中文字字幕乱码综合| 午夜福利高清视频| 婷婷六月久久综合丁香| 淫秽高清视频在线观看| 亚洲最大成人手机在线| 亚洲成人久久爱视频| 久久久久九九精品影院| 午夜老司机福利剧场| 麻豆av噜噜一区二区三区| 又爽又黄a免费视频| 国产精品亚洲美女久久久| 免费看光身美女| 国产毛片a区久久久久| 国产精品98久久久久久宅男小说| h日本视频在线播放| av福利片在线观看| 老司机深夜福利视频在线观看| 日韩,欧美,国产一区二区三区 | 精品久久久久久久人妻蜜臀av| 色尼玛亚洲综合影院| 最近最新免费中文字幕在线| 免费看美女性在线毛片视频| 88av欧美| 久久久午夜欧美精品| av在线观看视频网站免费| 久久欧美精品欧美久久欧美| 久久人人爽人人爽人人片va| 午夜免费激情av| 色av中文字幕| 人妻制服诱惑在线中文字幕| 欧美日韩精品成人综合77777| 观看免费一级毛片| 精品人妻一区二区三区麻豆 | www日本黄色视频网| 久久久久久大精品| 免费观看人在逋| 国产黄色小视频在线观看| 少妇裸体淫交视频免费看高清| 成年人黄色毛片网站| 午夜久久久久精精品| 91在线观看av| 一个人看视频在线观看www免费| 老女人水多毛片| 99精品在免费线老司机午夜| 国产探花极品一区二区| 少妇被粗大猛烈的视频| 国产精品久久久久久av不卡| 亚洲不卡免费看| 18+在线观看网站| 国产亚洲精品久久久久久毛片| 日本五十路高清| 人人妻人人看人人澡| 午夜久久久久精精品| 又黄又爽又免费观看的视频| www日本黄色视频网| 亚洲性夜色夜夜综合| 精品免费久久久久久久清纯| 亚洲人成网站在线播| 99久久精品一区二区三区| 白带黄色成豆腐渣| 亚洲经典国产精华液单| 99久久精品热视频| 亚洲精品影视一区二区三区av| 国产69精品久久久久777片| 中文资源天堂在线| 亚洲自拍偷在线| 我的女老师完整版在线观看| 色播亚洲综合网| 亚洲精品乱码久久久v下载方式| 亚洲va日本ⅴa欧美va伊人久久| 日韩精品青青久久久久久| 久久精品国产亚洲av香蕉五月| 深夜精品福利| 91久久精品国产一区二区三区| 亚洲五月天丁香| 91精品国产九色| 欧美+日韩+精品| 亚洲欧美日韩无卡精品| 91久久精品国产一区二区三区| 精品人妻熟女av久视频| 中文字幕高清在线视频| 亚洲专区中文字幕在线| 一区二区三区免费毛片| 国产大屁股一区二区在线视频| 婷婷精品国产亚洲av| 久久精品国产亚洲av香蕉五月| 免费高清视频大片| 99国产精品一区二区蜜桃av| 99九九线精品视频在线观看视频| 亚洲精品色激情综合| 精品久久久久久久久av| 一级毛片久久久久久久久女| 麻豆成人午夜福利视频| 久久久久性生活片| 亚洲va日本ⅴa欧美va伊人久久| 国产男靠女视频免费网站| 有码 亚洲区| 久久午夜福利片| 欧洲精品卡2卡3卡4卡5卡区| 国产伦在线观看视频一区| 婷婷色综合大香蕉| 成人特级av手机在线观看| 久久久久久久精品吃奶| 久久精品综合一区二区三区| 亚洲人成伊人成综合网2020| 亚洲va日本ⅴa欧美va伊人久久| 成人三级黄色视频| 亚洲欧美日韩卡通动漫| 高清毛片免费观看视频网站| 欧美xxxx黑人xx丫x性爽| 1024手机看黄色片| 老司机福利观看| 久久久久久久亚洲中文字幕| 精品国内亚洲2022精品成人| av专区在线播放| 久久精品国产亚洲av涩爱 | 日本五十路高清| 波多野结衣高清作品| 亚洲欧美日韩高清专用| 午夜激情福利司机影院| 又爽又黄a免费视频| 欧美激情国产日韩精品一区| 久久精品夜夜夜夜夜久久蜜豆| 最近中文字幕高清免费大全6 | 欧美绝顶高潮抽搐喷水| 久久热精品热| 欧美高清成人免费视频www| 波多野结衣高清无吗| 国产国拍精品亚洲av在线观看| 国产淫片久久久久久久久| 国产激情偷乱视频一区二区| 91av网一区二区| 免费观看人在逋| 亚洲欧美日韩高清专用| 国内精品一区二区在线观看| 黄片wwwwww| 99久久无色码亚洲精品果冻| 久久久久久久久久久丰满 | 亚洲一级一片aⅴ在线观看| 国产精品三级大全| 美女 人体艺术 gogo| 色综合婷婷激情| 亚洲成人精品中文字幕电影| 露出奶头的视频| 俺也久久电影网| 久久久国产成人精品二区| 日韩欧美在线二视频| 少妇熟女aⅴ在线视频| 男女下面进入的视频免费午夜| 欧美黑人巨大hd| 国产av一区在线观看免费| 国产熟女欧美一区二区| 九色成人免费人妻av| 真人一进一出gif抽搐免费| 久久人妻av系列| 免费在线观看影片大全网站| 一个人免费在线观看电影| 女人被狂操c到高潮| 天天一区二区日本电影三级| 久久热精品热| 99riav亚洲国产免费| 日韩大尺度精品在线看网址| 自拍偷自拍亚洲精品老妇| 亚洲七黄色美女视频| 久久精品国产鲁丝片午夜精品 | 欧美激情在线99| 中文字幕人妻熟人妻熟丝袜美| 婷婷亚洲欧美| 亚洲一级一片aⅴ在线观看| 国内精品宾馆在线| 国产成人一区二区在线| 久久99热这里只有精品18| 一本久久中文字幕| 亚洲中文日韩欧美视频| 国产精品av视频在线免费观看| 男插女下体视频免费在线播放| 日日夜夜操网爽| 2021天堂中文幕一二区在线观| 亚洲av熟女| 看片在线看免费视频| 久久国产乱子免费精品| 精品一区二区三区视频在线| 成人永久免费在线观看视频| 亚洲一级一片aⅴ在线观看| 国产美女午夜福利| 色综合色国产| 九色成人免费人妻av| 一级av片app| 一级黄色大片毛片| 露出奶头的视频| 精品久久久久久久久久免费视频| 亚洲成人精品中文字幕电影| 色精品久久人妻99蜜桃| 国内精品久久久久精免费| av天堂在线播放| av视频在线观看入口| 老师上课跳d突然被开到最大视频| av在线蜜桃| 听说在线观看完整版免费高清| 精品午夜福利视频在线观看一区| 国产一区二区三区视频了| 听说在线观看完整版免费高清| 亚洲久久久久久中文字幕| 亚洲 国产 在线| av视频在线观看入口| 国产色婷婷99| 国产一区二区在线观看日韩| 国产亚洲精品久久久com| netflix在线观看网站| 日韩中字成人| 熟女人妻精品中文字幕| 午夜免费男女啪啪视频观看 | 亚洲性久久影院| ponron亚洲| 他把我摸到了高潮在线观看| 91久久精品国产一区二区三区| 最近在线观看免费完整版| 天堂网av新在线| 人妻制服诱惑在线中文字幕| 91午夜精品亚洲一区二区三区 | 赤兔流量卡办理| www日本黄色视频网| 非洲黑人性xxxx精品又粗又长| 亚洲,欧美,日韩| 国产av在哪里看| 日韩强制内射视频| aaaaa片日本免费| 啦啦啦啦在线视频资源| 欧美一级a爱片免费观看看| 国产乱人伦免费视频| 日本与韩国留学比较| 亚洲熟妇熟女久久| 精品免费久久久久久久清纯| 久久6这里有精品| 亚洲精品乱码久久久v下载方式| 成人永久免费在线观看视频| 色在线成人网| 亚洲18禁久久av| 99精品久久久久人妻精品| 国产午夜精品论理片| 亚洲国产欧美人成| 午夜久久久久精精品| 人人妻,人人澡人人爽秒播| 亚洲性夜色夜夜综合| 国产v大片淫在线免费观看| 内射极品少妇av片p| 亚洲专区中文字幕在线| 婷婷色综合大香蕉| 嫩草影院新地址| 干丝袜人妻中文字幕| 特级一级黄色大片| 自拍偷自拍亚洲精品老妇| 日本爱情动作片www.在线观看 | 免费高清视频大片| 少妇猛男粗大的猛烈进出视频 | 啦啦啦韩国在线观看视频| 又黄又爽又刺激的免费视频.| 国产精品综合久久久久久久免费| 听说在线观看完整版免费高清| 久久久久精品国产欧美久久久| 永久网站在线| 99久久精品热视频| 性色avwww在线观看| 欧美丝袜亚洲另类 | 日本免费一区二区三区高清不卡| 男女做爰动态图高潮gif福利片| 一区二区三区四区激情视频 | 国产精品久久视频播放| 国产亚洲精品综合一区在线观看| 国产成年人精品一区二区| 级片在线观看| 日韩中字成人| 亚洲四区av| 人妻制服诱惑在线中文字幕| 久久久久久大精品| 乱码一卡2卡4卡精品| 国产男靠女视频免费网站| 美女cb高潮喷水在线观看| 内射极品少妇av片p| 国产精品人妻久久久影院| 欧美日韩亚洲国产一区二区在线观看| 亚洲精品亚洲一区二区| 亚洲最大成人手机在线| 日韩在线高清观看一区二区三区 | 亚洲国产欧美人成| 级片在线观看| 深夜精品福利| 成人亚洲精品av一区二区| 91久久精品电影网| 天天躁日日操中文字幕| 欧美日本视频| 亚洲18禁久久av| 亚洲av电影不卡..在线观看| 日韩精品青青久久久久久| 91久久精品国产一区二区成人| 色尼玛亚洲综合影院| 亚洲,欧美,日韩| 成人国产综合亚洲| 国产精品久久久久久精品电影| 在线免费观看不下载黄p国产 | 国产成人福利小说| 老师上课跳d突然被开到最大视频| 日韩欧美精品v在线| 精品欧美国产一区二区三| 免费无遮挡裸体视频| 淫秽高清视频在线观看| av专区在线播放| 久久这里只有精品中国| 国产综合懂色| 黄片wwwwww| 久久精品国产亚洲网站| 亚洲av五月六月丁香网| 免费大片18禁| 免费在线观看日本一区| 久久久久久久久大av| 国产精品伦人一区二区| 久久精品人妻少妇| 听说在线观看完整版免费高清| 亚洲一区高清亚洲精品| 久久精品国产亚洲av涩爱 | 啪啪无遮挡十八禁网站| a级一级毛片免费在线观看| 99久久中文字幕三级久久日本| 两人在一起打扑克的视频| 午夜福利高清视频| 99久久精品国产国产毛片| 精品福利观看| 在线观看美女被高潮喷水网站| 亚洲av中文字字幕乱码综合| 国产亚洲91精品色在线| 国产精品一区二区免费欧美| 国产成人福利小说| 亚洲男人的天堂狠狠| 日本黄色视频三级网站网址| 88av欧美| 中文字幕精品亚洲无线码一区| 18+在线观看网站| 热99在线观看视频| 成年女人毛片免费观看观看9| 日日啪夜夜撸| 国产一区二区亚洲精品在线观看| 亚洲av免费高清在线观看| 欧美不卡视频在线免费观看| 国产男人的电影天堂91| 国产久久久一区二区三区| 内射极品少妇av片p| 精品人妻视频免费看| 亚洲av熟女| 国产在视频线在精品| 一进一出抽搐gif免费好疼| 亚洲人与动物交配视频| 国产亚洲精品久久久久久毛片| 天天躁日日操中文字幕| 91在线观看av| 亚洲黑人精品在线| 成人国产综合亚洲| 午夜老司机福利剧场| 成年版毛片免费区| 免费大片18禁| 亚洲经典国产精华液单| 一边摸一边抽搐一进一小说| 欧美日韩黄片免| 日韩高清综合在线| 小说图片视频综合网站| 两个人视频免费观看高清| 精品久久久噜噜| 日韩一本色道免费dvd| 国产黄色小视频在线观看| 国产aⅴ精品一区二区三区波| 在线观看av片永久免费下载| av视频在线观看入口| 欧美日本视频| 国内毛片毛片毛片毛片毛片| 看十八女毛片水多多多| 国产一区二区亚洲精品在线观看| 国产激情偷乱视频一区二区| 欧美日韩瑟瑟在线播放| 3wmmmm亚洲av在线观看| 在线免费十八禁| av在线亚洲专区| 九九久久精品国产亚洲av麻豆| 春色校园在线视频观看| 在线国产一区二区在线| 午夜福利欧美成人| 成年人黄色毛片网站| 国产高清三级在线| 国产主播在线观看一区二区| 直男gayav资源| 99久久中文字幕三级久久日本| 国产色爽女视频免费观看| 香蕉av资源在线| 高清在线国产一区| 黄色女人牲交| 国产大屁股一区二区在线视频| 有码 亚洲区| 美女被艹到高潮喷水动态| 成人三级黄色视频| 精品一区二区三区视频在线| 欧美高清成人免费视频www| 啦啦啦观看免费观看视频高清| 国产午夜福利久久久久久| 一边摸一边抽搐一进一小说| 亚洲久久久久久中文字幕| 久久婷婷人人爽人人干人人爱| 人妻丰满熟妇av一区二区三区| 亚洲自偷自拍三级| 99热这里只有是精品50| 久久人人爽人人爽人人片va| 国产伦在线观看视频一区| 在线免费观看的www视频| 99热6这里只有精品| 网址你懂的国产日韩在线| 日日撸夜夜添| 中文字幕精品亚洲无线码一区| 欧美日韩国产亚洲二区| 日本黄色视频三级网站网址| 久久久精品欧美日韩精品| 婷婷丁香在线五月| 麻豆成人av在线观看| 亚洲18禁久久av| 免费看日本二区| .国产精品久久| 国产精品一区二区三区四区久久| 高清在线国产一区| 国产私拍福利视频在线观看| 国产 一区 欧美 日韩| 国产精品免费一区二区三区在线| 亚洲欧美日韩高清在线视频| 久久久久久久午夜电影| 日韩一区二区视频免费看| 两个人视频免费观看高清| 不卡一级毛片| 欧美丝袜亚洲另类 | 国产视频内射| 99久久中文字幕三级久久日本| 午夜免费男女啪啪视频观看 | 99久久无色码亚洲精品果冻| 亚洲经典国产精华液单| 日韩av在线大香蕉| 伦理电影大哥的女人| 日韩欧美精品免费久久| 精品人妻1区二区| 高清在线国产一区| 中文字幕熟女人妻在线| 亚洲av五月六月丁香网| 18禁裸乳无遮挡免费网站照片| 久久香蕉精品热| 日本爱情动作片www.在线观看 | www.www免费av| 国产精品人妻久久久久久| 久久这里只有精品中国| 俺也久久电影网| 欧美+日韩+精品| 色噜噜av男人的天堂激情| 一级黄片播放器| 午夜福利在线在线| 亚洲一区高清亚洲精品| 久久精品夜夜夜夜夜久久蜜豆| 欧美潮喷喷水| 俄罗斯特黄特色一大片| 日本熟妇午夜| 亚洲熟妇中文字幕五十中出| 99热6这里只有精品| netflix在线观看网站| 久久精品夜夜夜夜夜久久蜜豆| 亚洲国产精品成人综合色| 国产亚洲精品综合一区在线观看| 免费av毛片视频| 国模一区二区三区四区视频| 中文字幕高清在线视频| 九九久久精品国产亚洲av麻豆| xxxwww97欧美| 伊人久久精品亚洲午夜| 麻豆国产97在线/欧美| 日韩欧美在线乱码| 天堂动漫精品| 国产av一区在线观看免费| 精品一区二区三区人妻视频| 成人特级av手机在线观看| av黄色大香蕉| 97人妻精品一区二区三区麻豆| 18禁裸乳无遮挡免费网站照片| 国产精品亚洲美女久久久| 午夜福利18| 99热6这里只有精品| 日本黄色视频三级网站网址| 春色校园在线视频观看| 22中文网久久字幕| 桃色一区二区三区在线观看| 在线观看一区二区三区| 亚洲人成网站高清观看| 久久久成人免费电影| 成人亚洲精品av一区二区| 国产乱人伦免费视频| 女生性感内裤真人,穿戴方法视频| 观看免费一级毛片| 在线免费观看的www视频| 国产欧美日韩精品一区二区| 深爱激情五月婷婷| 国产精品一区二区三区四区免费观看 | 亚洲中文字幕日韩| 日本一二三区视频观看| 久久热精品热| 又爽又黄无遮挡网站| av在线蜜桃| 能在线免费观看的黄片| 一进一出好大好爽视频| 日韩强制内射视频| 九九在线视频观看精品| 免费观看的影片在线观看| 久久久久久九九精品二区国产| 亚洲第一电影网av| 99久久精品热视频| 中文资源天堂在线| 亚洲七黄色美女视频| 在线播放无遮挡| 精品欧美国产一区二区三| 自拍偷自拍亚洲精品老妇| 啦啦啦观看免费观看视频高清| 国产精品女同一区二区软件 | 免费看美女性在线毛片视频| 欧美最新免费一区二区三区| 乱系列少妇在线播放| 色哟哟哟哟哟哟| 毛片女人毛片| 免费观看在线日韩| 男女视频在线观看网站免费| 尾随美女入室| 欧美性猛交黑人性爽| 黄色欧美视频在线观看| 亚洲精品色激情综合| 尤物成人国产欧美一区二区三区| 久久久成人免费电影| 日本在线视频免费播放| 亚洲熟妇中文字幕五十中出| 日本一本二区三区精品| 亚州av有码|