精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

用于代碼生成的基于樹(shù)的Transformer結(jié)構(gòu)

人工智能
在本節(jié)中,我們介紹如何將代碼生成建模為一系列語(yǔ)法規(guī)則的分類(lèi)問(wèn)題。程序可以被分解為幾個(gè)與上下文無(wú)關(guān)的語(yǔ)法規(guī)則,并解析為 AST。例如,圖 1 顯示了代碼“l(fā)ength=10”的 PythonAST,其中虛線框是終止符,而實(shí)心框是非終止符。

介紹:

代碼生成是一個(gè)重要的人工智能問(wèn)題,有可能顯著提高程序員的生產(chǎn)力。給定以自然語(yǔ)言編寫(xiě)的規(guī)范,代碼生成系統(tǒng)會(huì)將規(guī)范轉(zhuǎn)換為可執(zhí)行程序。例如,如果 python 程序員給出指令“初始化字典 Dict”,則代碼生成器應(yīng)自動(dòng)生成“Dict={}”。

隨著深度學(xué)習(xí)技術(shù)的發(fā)展,研究人員已針對(duì)此問(wèn)題應(yīng)用了各種神經(jīng)體系結(jié)構(gòu),例如序列到序列(Seq2Seq)模型或序列到樹(shù)(Seq2Tree)模型。尤其是,最先進(jìn)的方法通過(guò)預(yù)測(cè)語(yǔ)法規(guī)則序列來(lái)生成代碼。也就是說(shuō),系統(tǒng)保留已生成代碼的部分抽象語(yǔ)法樹(shù)(AST),并預(yù)測(cè)將用于擴(kuò)展特定節(jié)點(diǎn)的語(yǔ)法規(guī)則。

語(yǔ)法規(guī)則的分類(lèi)面臨兩個(gè)主要挑戰(zhàn)。第一個(gè)挑戰(zhàn)是長(zhǎng)時(shí)依賴問(wèn)題。代碼元素可能取決于另一個(gè)遙遠(yuǎn)的元素。例如,第 100 行的變量引用語(yǔ)句“if len(a)

在本文中,我們提出了一種新穎的神經(jīng)體系結(jié)構(gòu) TreeGen,用于代碼生成。為了解決第一個(gè)挑戰(zhàn),TreeGen 采用了最近提出的 Transformer 架構(gòu),該架構(gòu)能夠捕獲長(zhǎng)時(shí)依賴關(guān)系。但是,原始的 Transformer 體系結(jié)構(gòu)不是為程序設(shè)計(jì)的,并且不能利用樹(shù)結(jié)構(gòu),即上述第二個(gè)挑戰(zhàn)。如在基于圖和樹(shù)的卷積神經(jīng)網(wǎng)絡(luò)中一樣,利用結(jié)構(gòu)信息的標(biāo)準(zhǔn)方法是將節(jié)點(diǎn)及其鄰接節(jié)點(diǎn)的向量表示形式組合為結(jié)構(gòu)化卷積子層的輸出。但是,標(biāo)準(zhǔn)的 Transformer 結(jié)構(gòu)沒(méi)有這樣的結(jié)構(gòu)化卷積子層,并且不清楚在何處添加它們。

試圖在所有 Transformer 塊中添加結(jié)構(gòu)化卷積子層是很誘人的。我們的核心推測(cè)是,在對(duì)一個(gè)節(jié)點(diǎn)及其鄰接點(diǎn)進(jìn)行卷積時(shí),向量表示應(yīng)主要包含原始節(jié)點(diǎn)的信息。隨著節(jié)點(diǎn)的向量表示在 Transformer 的解碼器中由更多的塊進(jìn)行處理,它們逐漸混入來(lái)自其他節(jié)點(diǎn)的更多信息并丟失其原始信息。因此,我們僅將結(jié)構(gòu)卷積子層添加到前幾個(gè) Transformer 解碼器塊中,而不是全部添加。

一般而言,TreeGen 體系結(jié)構(gòu)包括三個(gè)部分:(1)自然語(yǔ)言(NL)編碼器:對(duì)文本描述進(jìn)行編碼;(2)AST 解碼器(前幾個(gè) Transformer 解碼器塊)使用結(jié)構(gòu)化卷積子層對(duì)先前生成的部分代碼進(jìn)行編碼;(3)解碼器(其余的 Transformer 解碼器塊)將 query(要在 AST 中擴(kuò)展的節(jié)點(diǎn))與前兩個(gè)編碼器組合在一起,以預(yù)測(cè)下一個(gè)語(yǔ)法規(guī)則。

我們?cè)诮⒌幕鶞?zhǔn)數(shù)據(jù)集上評(píng)估了我們的模型,這是紙牌游戲爐石傳說(shuō)的 Python 實(shí)現(xiàn)。結(jié)果表明,我們的模型明顯優(yōu)于以前的模型 4.5 個(gè)百分點(diǎn)。我們進(jìn)一步在兩個(gè)語(yǔ)義分析數(shù)據(jù)集(ATIS 和 GEO)上評(píng)估了我們的模型,這兩個(gè)數(shù)據(jù)集將自然語(yǔ)言句子轉(zhuǎn)換為 lambda 微積分邏輯形式。結(jié)果表明,我們的模型在以前的神經(jīng)模型中具有最高的準(zhǔn)確性,分別為 89.1%和 89.6%。我們的評(píng)估還表明,將結(jié)構(gòu)化卷積子層添加到前幾個(gè) Transformer 塊中,其性能明顯優(yōu)于所有塊中具有結(jié)構(gòu)化卷積的 Transformer。

我們的模型:

我們通過(guò)預(yù)測(cè)編程語(yǔ)言的語(yǔ)法規(guī)則來(lái)生成代碼。圖 2 顯示了我們模型的整體圖,它包括三個(gè)部分:NL 編碼器,AST 編碼器和解碼器。我們將在以下小節(jié)中詳細(xì)介紹它們。

 

用于代碼生成的基于樹(shù)的Transformer結(jié)構(gòu)

語(yǔ)法規(guī)則預(yù)測(cè):

在本節(jié)中,我們介紹如何將代碼生成建模為一系列語(yǔ)法規(guī)則的分類(lèi)問(wèn)題。程序可以被分解為幾個(gè)與上下文無(wú)關(guān)的語(yǔ)法規(guī)則,并解析為 AST。例如,圖 1 顯示了代碼“length=10”的 PythonAST,其中虛線框是終止符,而實(shí)心框是非終止符。

 

用于代碼生成的基于樹(shù)的Transformer結(jié)構(gòu)

可以將基于 AST 的代碼生成視為通過(guò)語(yǔ)法規(guī)則擴(kuò)展非終止符。重復(fù)此過(guò)程,直到所有葉節(jié)點(diǎn)都處于末尾。在圖 1 中,“1:root->Module”是語(yǔ)法規(guī)則的示例,其中前面的數(shù)字是規(guī)則的 ID。遵循預(yù)定遍歷,我們可以獲得在右上角顯示的生成 AST 的規(guī)則序列。

形式上,概率可以分解為遵循以下順序生成代碼的規(guī)則的概率。其中 ri 是規(guī)則序列中的第 i 條規(guī)則。通過(guò)這種方式,我們的任務(wù)是訓(xùn)練一個(gè)模型以計(jì)算 p(ri|NL 輸入,pi),即給定自然語(yǔ)言描述和當(dāng)前生成的部分 AST,該模型將計(jì)算擴(kuò)展該節(jié)點(diǎn)的規(guī)則的概率。

 

用于代碼生成的基于樹(shù)的Transformer結(jié)構(gòu)

NL 編碼器:

輸入的描述決定了代碼的功能。它可以是爐石傳說(shuō)數(shù)據(jù)集中的半結(jié)構(gòu)化描述,也可以是 ATIS 和 GEO 語(yǔ)義解析數(shù)據(jù)集中的自然語(yǔ)言。

對(duì)于輸入的描述,我們首先將其標(biāo)記為 n1,n2,...,nL,其中 L 表示輸入的長(zhǎng)度。然后將每個(gè) ni 拆分為字符 c1(ni),c2(ni),...,cS(ni),其中 S 是 ni 中的字符數(shù)。通過(guò)嵌入,將所有標(biāo)記和字符表示為數(shù)值向量 n1,n2,...,nL 和 c1(ni),c2(ni),...,cS(ni)。

輸入文字表示:

字符嵌入。相似詞經(jīng)常具有相似的字符(例如“program”和“programs”)。為了利用此屬性,我們通過(guò)具有完全連接層的字符嵌入來(lái)表示標(biāo)記。其中 W(c)是權(quán)重,字符序列被填充為預(yù)定義的最大長(zhǎng)度 M。在全連接層之后,我們還應(yīng)用層歸一化。然后將這些向量反饋到 NL 編碼器,并通過(guò)子層將其與詞嵌入集成在一起。

NL 編碼器的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu):

NL 編碼器由一堆塊(總共 Nd 個(gè)塊)組成。每個(gè)塊包含三個(gè)不同的子層(即,self_attention,gating 機(jī)制和單詞卷積)以提取特征,我們將在以下小節(jié)中詳細(xì)介紹。在兩個(gè)子層之間,我們采用殘差連接,然后進(jìn)行層歸一化。

(1) Self-attention:self-attention 子層遵循 Transformer 的架構(gòu)),并使用 multi-headattention 來(lái)捕獲長(zhǎng)依賴信息。

對(duì)于輸入標(biāo)記 n1,n2,···,nL 的序列,我們通過(guò)查找表將它們表示為嵌入 n1,n2,···,nL。我們還使用位置嵌入對(duì)單詞位置的信息進(jìn)行編碼,并計(jì)算第 b 個(gè) Transformer 塊中第 i 個(gè)單詞的位置嵌入。其中 pi,b[·]是向量 pi,b 的維度的索引,而 d 是維數(shù)數(shù)量。

 

用于代碼生成的基于樹(shù)的Transformer結(jié)構(gòu)

Transformer 塊通過(guò) Multi-head 學(xué)習(xí)非線性特征,從而產(chǎn)生矩陣 Y。Multi-head 層的計(jì)算公式如(5),其中 H 表示頭數(shù),Wh 表示權(quán)重。注意層應(yīng)用于每個(gè)頭部 head_t,通過(guò)(6)計(jì)算。其中 dk=d/H 表示每個(gè)特征向量的長(zhǎng)度。Q,K,V 通過(guò)(7)計(jì)算。其中 WQ,WK,WV 是模型參數(shù)。xi 是此 Transformer 模塊的輸入。對(duì)于第一個(gè)塊,它是查找表嵌入和位置嵌入的向量和,即 ni+p1,i;對(duì)于其他塊,則是更底層的 Transformer 塊的輸出和與該塊相對(duì)應(yīng)的位置嵌入的矢量和。

 

用于代碼生成的基于樹(shù)的Transformer結(jié)構(gòu)

(2) Gating 機(jī)制:在通過(guò) Self-attention 算出特征之后,我們將字符嵌入的信息進(jìn)一步合并。這是由基于 softmax 的 Gating 機(jī)制給出的。對(duì)于第 i 個(gè)單詞,我們通過(guò)線性變換從 y(self)i 計(jì)算控制向量 qi。用于字符嵌入的 softmax 權(quán)重 k(c)i 由公式 2 中的 n(c)i 進(jìn)行線性變換給出。用于 Transformer 輸出的 softmax 權(quán)重 k(y)i 由 y(self)i 進(jìn)行的另一個(gè)線性變換給出。然后,通過(guò)(8)計(jì)算出 gate。它們用于對(duì) Transformer 層 v(y)i 的特征和字符嵌入 v(c)i 的特征嵌入,分別由 y(self)i 和 n(c)i 線性轉(zhuǎn)換。

 

用于代碼生成的基于樹(shù)的Transformer結(jié)構(gòu)

與公式 5 相似,我們的機(jī)制的輸出為 Y(gate)=(hi,t)i,t,其中(·)i,t 表示一個(gè)塊矩陣,元素為 hi,t。

(3) 單詞卷積:最后,將兩個(gè)卷積層應(yīng)用于 Gating 機(jī)制 y(gate)1,...,y(gate)L,并提取每個(gè)標(biāo)記 y(conv,l)1,...,附近的局部特征。y(conv,l)L,其中 l 表示卷積層。y(conv,l)i 由(10)計(jì)算。其中 W(conv,l)是卷積權(quán)重,w=(k-1)/2,k 表示窗口大小。特別地,y(conv,0)i 表示 Gating 機(jī)制 y(gate)i 的輸出。在這些層中,使用了可分離的卷積。原因是可分離的卷積參數(shù)較少,易于訓(xùn)練。對(duì)于第一個(gè)和最后一個(gè)詞,我們添加零填充。在這些層之間,我們使用了 GELU 激活函數(shù)。

 

用于代碼生成的基于樹(shù)的Transformer結(jié)構(gòu)

總而言之,NL 編碼器具有一些 Transformer 的 self-attention,Gating 機(jī)制和單詞卷積模塊。自然語(yǔ)言描述被編碼為特征 y(NL)1,y(NL)2,...,y(NL)L。

AST 編碼器

我們?cè)O(shè)計(jì)了一個(gè) AST 編碼器,以對(duì)已生成的部分 AST 的結(jié)構(gòu)進(jìn)行建模。盡管我們的程序是通過(guò)預(yù)測(cè)語(yǔ)法規(guī)則的順序生成的,但是僅這些規(guī)則就缺少程序的具體認(rèn)識(shí),不足以預(yù)測(cè)下一個(gè)規(guī)則。因此,我們的 AST 編碼器會(huì)考慮異構(gòu)信息,包括預(yù)測(cè)規(guī)則和樹(shù)結(jié)構(gòu)。

為了合并此類(lèi)特定于程序的信息,我們首先將代碼表示為規(guī)則序列,然后使用注意機(jī)制對(duì)規(guī)則進(jìn)行編碼,最后使用樹(shù)卷積層將每個(gè)節(jié)點(diǎn)及其祖先的編碼表示形式組合在一起。

AST 表示

(1)規(guī)則序列嵌入:為了編碼規(guī)則信息,我們使用規(guī)則的 ID。假設(shè)我們有一個(gè)規(guī)則序列 r1,r2,...,rP,這些規(guī)則用于在解碼步驟中生成部分 AST,其中 P 表示序列的長(zhǎng)度。我們通過(guò)查找表嵌入將這些規(guī)則表示為數(shù)值向量 r1,r2,...,rP。

(2)規(guī)則定義編碼:上面的表格查找嵌入將語(yǔ)法規(guī)則視為原子標(biāo)記,并且會(huì)丟失該規(guī)則內(nèi)容的信息。為了緩解此問(wèn)題,我們使用規(guī)則定義的編碼來(lái)增強(qiáng)規(guī)則的表示形式。對(duì)于語(yǔ)法規(guī)則 i:α→β1·βK,其中 α 是父節(jié)點(diǎn),β1·βK 是子節(jié)點(diǎn)。它們可以是終止符或非終止符。索引 i 是規(guī)則的 ID。與等式 2 相似,我們通過(guò)全連接層將規(guī)則內(nèi)容編碼為向量 r(c),輸入是各個(gè)符號(hào)的查表嵌入 α,β1,...,βK。注意,該序列也被填充到最大長(zhǎng)度。

(3)位置和深度編碼:由于我們的 AST 解碼器將使用 self-attention 機(jī)制,因此我們需要表示使用語(yǔ)法規(guī)則的位置。我們首先采用等式 4 中的位置嵌入,表示何時(shí)在序列 r1,...,rP 中使用規(guī)則。位置嵌入用 p1(r),...,pP(r)表示。但是,這種位置嵌入不能捕獲 AST 中規(guī)則的位置。我們通過(guò)深度嵌入進(jìn)一步對(duì)此類(lèi)信息進(jìn)行編碼。如果我們通過(guò)規(guī)則 r 擴(kuò)展符號(hào) α:α→β1···βK,我們將通過(guò)其父節(jié)點(diǎn)即 α 表示規(guī)則的深度。通過(guò)這種方式,我們將查找表深度嵌入的另一序列 d1,...,dP 與使用的語(yǔ)法規(guī)則 r1,...,rP 的序列相關(guān)聯(lián)。

AST 編碼器的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu):

AST 編碼器還由一堆塊(總共 N1 個(gè)塊)組成。每個(gè)塊被分解為四個(gè)子層(即,self-attention,Gating 機(jī)制,NL-attention 和樹(shù)卷積)。除了樹(shù)卷積層之外,我們?cè)诿總€(gè)子層周?chē)疾捎昧藲埐钸B接。在每個(gè)子層之后,我們應(yīng)用層歸一化。

(1) Self-attention:為了捕獲 AST 的信息,我們構(gòu)建了一個(gè)類(lèi)似 Transformer 的 self-attention 層,其中輸入是規(guī)則嵌入,位置嵌入和深度嵌入的總和,即 ri+di+p(r)i。self-attention 子層使用與公式 4、5、6 相同的機(jī)制來(lái)提取 AST 輸入的特征即 y(ast-self)1,y(ast-self)2,...,y(ast-self)P 不同的權(quán)重,但在 p(r)i 中增加了嵌入深度。

(2) Gating 機(jī)制:我們希望將內(nèi)容編碼規(guī)則 y(rule)i 合并到 Transformer 的提取特征的部分中。我們采用方程式 8、9 中的 Gating 機(jī)制,在該子層之后,融合特征變?yōu)?y(ast-g)1,y(ast-g)2,...,y(ast-g)P。

(3) NL 注意力:在解碼步驟中,應(yīng)將輸入的自然語(yǔ)言描述告知我們。這是由 Multi-headNL 給出的。所提取的特征由 y(ast-nl)1,y(ast-nl)2,…,y(ast-nl)P 表示。

(4) 樹(shù)卷積:如果我們僅考慮上述子層,那么讀者將很難將節(jié)點(diǎn)的信息與其祖先結(jié)合起來(lái)。在規(guī)則序列中,節(jié)點(diǎn)可以遠(yuǎn)離其祖先,但結(jié)構(gòu)緊密。因此,傳統(tǒng)的 Transformer 很難提取這種結(jié)構(gòu)特征。我們將節(jié)點(diǎn)的特征與其祖先的特征進(jìn)行組合。我們將 AST 視為圖形,并使用鄰接矩陣 M 表示有向圖。如果一個(gè)節(jié)點(diǎn) αi 是 αj 的父節(jié)點(diǎn),則 Mji=1。假設(shè)所有節(jié)點(diǎn)都由特征 f1,...,fn 表示,則它們的父節(jié)點(diǎn)的特征可以通過(guò)與鄰接矩陣相乘得出??傊?,AST 解碼器具有這四個(gè)子層的 N1 個(gè)塊,并產(chǎn)生特征 y(ast)1,y(ast)2,...,y(ast)P。

解碼器:

我們的最后一個(gè)組件是一個(gè)解碼器,它將生成的代碼信息與自然語(yǔ)言描述集成在一起,并預(yù)測(cè)下一個(gè)語(yǔ)法規(guī)則。與 AST 編碼器類(lèi)似,在解碼器中使用如下堆棧的塊堆棧(總共 N2 個(gè)塊),每個(gè)塊都有幾個(gè)子層。在每個(gè)子層周?chē)€采用殘余連接,然后進(jìn)行層歸一化。解碼器將要擴(kuò)展的非終止符作為 query,查詢節(jié)點(diǎn)表示為從根到要擴(kuò)展的節(jié)點(diǎn)的路徑。例如,如果我們要擴(kuò)展圖 1 中的節(jié)點(diǎn)“Assign”,則路徑應(yīng)為 root,Module,body,Assign。我們將此路徑中的節(jié)點(diǎn)表示為數(shù)值向量。然后,將等式 2 之類(lèi)的全連接層應(yīng)用于這些向量,并且路徑的輸出為 qi。然后,我們應(yīng)用兩個(gè)注意層來(lái)集成 AST 編碼器和 NL 編碼器的輸出。最后,應(yīng)用兩個(gè)全連接層(其中第一層使用 GELU 激活函數(shù))來(lái)提取特征以進(jìn)行預(yù)測(cè)。

訓(xùn)練以及推論:

我們根據(jù)解碼器的最后一層特征,通過(guò) softmax 預(yù)測(cè)所有可能的候選詞中的下一個(gè)語(yǔ)法規(guī)則。我們還介紹了可以直接從自然語(yǔ)言描述中復(fù)制標(biāo)記 a 的指針網(wǎng)絡(luò)(本質(zhì)上是一種注意)。在這種情況下,生成的語(yǔ)法規(guī)則為 α→a,其中 α 是要擴(kuò)展的非終止符,而 a 是終止符。這種指針機(jī)制對(duì)于用戶定義的標(biāo)識(shí)符(例如,變量和函數(shù)名稱)很有幫助。具體選擇 softmax 或是指針網(wǎng)絡(luò)由另一個(gè) Gating 機(jī)制 pg 給出,該值同樣由解碼器的最后一個(gè)特征計(jì)算得出。推理從起始規(guī)則 start:snode->root 開(kāi)始,將特殊符號(hào) snode 擴(kuò)展到根符號(hào)。如果預(yù)測(cè)的 AST 中的每個(gè)葉節(jié)點(diǎn)都是終止符,則遞歸預(yù)測(cè)終止。在預(yù)測(cè)期間,我們使用大小為 5 的束搜索。在束搜索期間,將排除無(wú)效規(guī)則。

總結(jié)

在這項(xiàng)工作中,我們使用 TreeGen 生成程序。TreeGen 使用 Transformer 的注意力機(jī)制來(lái)緩解長(zhǎng)期依賴問(wèn)題,并引入 AST 編碼器以將語(yǔ)法規(guī)則和 AST 結(jié)構(gòu)相結(jié)合。評(píng)估是在 Python 數(shù)據(jù)集爐石傳說(shuō)和兩個(gè)語(yǔ)義解析數(shù)據(jù)集 ATIS 和 GEO 上進(jìn)行的。實(shí)驗(yàn)結(jié)果表明,我們的模型明顯優(yōu)于現(xiàn)有方法。我們還進(jìn)行了深入的消融測(cè)試,表明模型中的每個(gè)組件都發(fā)揮著重要作用。

致謝

本文由南京大學(xué)軟件學(xué)院 iSE 實(shí)驗(yàn)室 2020 級(jí)碩士研究生曹振飛翻譯轉(zhuǎn)述。

責(zé)任編輯:未麗燕 來(lái)源: 今日頭條
相關(guān)推薦

2020-11-11 14:32:11

代碼CNN解碼器

2020-02-11 09:30:08

微軟瀏覽器Windows

2025-05-20 08:15:00

AI大模型架構(gòu)

2022-10-21 16:07:10

編碼器自然語(yǔ)言模型

2025-01-22 13:15:10

2022-02-28 11:33:32

神經(jīng)網(wǎng)絡(luò)Transforme人工智能

2021-07-20 10:16:24

人工智能自然語(yǔ)言技術(shù)

2015-04-22 09:36:27

JAVA代碼生成器

2023-12-13 13:49:00

模型訓(xùn)練

2023-09-12 14:46:24

人工智能自然語(yǔ)言

2011-08-31 10:18:09

Template St

2019-11-08 09:20:57

代碼開(kāi)發(fā)工具

2010-09-28 11:22:18

Html DOM樹(shù)

2021-04-27 15:47:12

人工智能語(yǔ)音識(shí)別Transformer

2013-08-30 13:39:20

生成樹(shù)協(xié)議思科生成樹(shù)

2009-04-03 08:28:39

2019-11-05 18:50:37

代碼開(kāi)發(fā)工具

2022-12-18 19:49:45

AI

2024-08-09 08:12:35

深度學(xué)習(xí)VAEsGANs

2023-08-04 13:34:00

人工智能深度學(xué)習(xí)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

亚洲国产精品传媒在线观看| 欧美日韩在线大尺度| 色悠悠久久综合| 欧美日韩亚洲一区二区三区在线观看 | 国产一区二区三区在线视频 | 精品久久久无码人妻字幂| 亚洲国产精品久久久久久久 | 国产成人aa精品一区在线播放| 国产123在线| 国产精选久久| 欧美午夜精品久久久久久人妖 | 自拍视频在线网| 国产精选一区二区三区| 77777少妇光屁股久久一区| 欧美福利第一页| av成人资源| 欧美亚洲愉拍一区二区| 国产freexxxx性播放麻豆| 国产午夜在线视频| 成人免费观看视频| 国产精品欧美日韩一区二区| 麻豆一区二区三区精品视频| 波多野结衣在线播放一区| 欧美mv日韩mv国产| 免费涩涩18网站入口| heyzo一区| 国产精品久久久久久久久晋中 | 无码国产精品高潮久久99| 日本视频一区二区三区| 欧美精品电影免费在线观看| 一级黄色录像毛片| 欧美黑人巨大videos精品| 欧美美女一区二区| www黄色在线| 大香伊人久久| 亚洲人成在线观看一区二区| 日韩欧美99| 日韩欧美亚洲系列| www.日韩av| 亚洲一区二区免费在线| 中文字幕人妻互换av久久| 亚洲一区二区成人| 久久久最新网址| 免费无遮挡无码永久在线观看视频| 成人羞羞网站| 在线观看亚洲视频| 亚洲天堂久久新| 日本国产精品| 日韩二区三区在线| avtt香蕉久久| 久久男人av| 日韩av在线一区二区| 国产精品一区二区人妻喷水| 麻豆视频久久| 日韩欧美一级二级三级久久久| 热久久久久久久久| 91成人短视频在线观看| 欧美精品视频www在线观看| 美女少妇一区二区| 精品九九久久| 在线电影院国产精品| 欧美成人乱码一二三四区免费| 超薄肉色丝袜脚交一区二区| 在线区一区二视频| 九九热在线免费| 欧美美女福利视频| 欧美一区二区三区电影| 欧美性猛交xx| 国产精品久久久网站| 亚洲高清福利视频| 性色av蜜臀av色欲av| 天天躁日日躁狠狠躁欧美| 精品中文字幕久久久久久| 90岁老太婆乱淫| 国产一区二区在线| 日韩亚洲精品视频| 国产一级久久久| 国产日韩高清一区二区三区在线| 琪琪亚洲精品午夜在线| 中文文字幕一区二区三三| 精品影视av免费| 国产精品久久国产精品| 日本成人一区二区三区| 国产欧美一区二区在线| 亚洲精美视频| 婷婷av在线| 精品欧美一区二区三区| 久久99999| 欧美国产中文高清| 国产视频久久久| 日韩av毛片在线观看| 欧美区亚洲区| 日韩av色综合| 国产激情久久久久久熟女老人av| 成人av高清在线| 午夜精品一区二区在线观看的| 福利在线视频网站| 岛国av一区二区| www.cao超碰| 婷婷亚洲成人| 久久夜色精品国产| 天堂网av手机版| 狠狠狠色丁香婷婷综合激情| 国产偷国产偷亚洲高清97cao| 国产福利小视频在线观看| 一区二区三区鲁丝不卡| 日韩av一二三四| 日韩成人在线看| 亚洲图片在区色| 久久激情免费视频| 日本午夜精品视频在线观看| 国产精品美女xx| 日本三级视频在线观看| 欧美日韩免费一区| 先锋资源在线视频| 精品日本12videosex| 欧美日韩成人免费| 亚洲自拍第二页| 久久综合九色综合久久久精品综合| 欧美性视频在线播放| 波多野结衣久久精品| 欧美精品一区二区在线播放| 亚洲欧洲综合网| 日本女人一区二区三区| 精品久久蜜桃| 丰乳肥臀在线| 日韩三级视频在线看| 四虎影视一区二区| 日韩激情中文字幕| 蜜桃999成人看片在线观看| 牛牛精品在线视频| 51午夜精品国产| 色www亚洲国产阿娇yao| 久久一区亚洲| 麻豆成人小视频| av电影院在线看| 日韩一区二区电影网| 51精品免费网站| 久久国内精品视频| 欧美视频观看一区| 一区二区精品伦理...| 亚洲国产精品嫩草影院久久| 久久久国产精华液| 国产成人av电影免费在线观看| 国产成人三级视频| 超碰国产精品一区二页| 色阁综合伊人av| 波多野结衣电影在线播放| 久久免费精品国产久精品久久久久| 奇米影视亚洲色图| 成人直播在线观看| 久久人人爽人人爽人人片av高清| 精品人妻av一区二区三区| 亚洲精品久久久蜜桃| 久久久久亚洲av片无码v| 欧美黄色一级视频| 岛国视频一区| 川上优av中文字幕一区二区| 日韩高清av一区二区三区| 日产精品久久久| 久久久综合九色合综国产精品| www.com毛片| 国产亚洲一区二区三区不卡| 国产精品视频成人| 国产精品va在线观看视色| 日韩限制级电影在线观看| 国产在线视频卡一卡二| 91麻豆免费视频| 日本免费黄视频| 不卡日本视频| 92国产精品视频| 国产高清在线a视频大全 | 青青免费在线视频| 欧美亚洲综合久久| www.5588.com毛片| 粉嫩aⅴ一区二区三区四区| 日韩网站在线免费观看| 日韩黄色网络| 国产精品久久久久aaaa九色| 992tv免费直播在线观看| 777欧美精品| 国产一级特黄视频| 久久久精品中文字幕麻豆发布| 日韩无套无码精品| 在线精品小视频| 精品蜜桃传媒| 99精品国自产在线| 欧美丰满少妇xxxxx| 青青草免费在线视频| 欧美日韩精品欧美日韩精品| 欧美日韩国产精品一区二区三区| 97精品久久久午夜一区二区三区| jizz欧美激情18| 欧美日韩国产一区精品一区| 欧美精品一区二区三区在线看午夜| a成人v在线| 欧美激情一级二级| 国产51人人成人人人人爽色哟哟| 欧美一区二区三区婷婷月色 | 亚洲大胆在线| 亚洲 日韩 国产第一区| 日韩一区二区三区色| 欧美亚洲另类制服自拍| 麻豆传媒在线完整视频| 日韩精品中文字幕在线| 91麻豆视频在线观看| 亚洲高清免费视频| 日韩一区二区三区四区视频| 99热精品一区二区| 污污的视频免费| 香蕉久久国产| 黄色一级大片免费| 欧美日韩一二三四| 国产伦精品一区二区三| 激情久久99| 日本精品中文字幕| 欧美性爽视频| www.亚洲一区| 三级网站免费观看| 日韩一级欧美一级| 亚洲视频在线观看免费视频| 午夜精品福利在线| 美国黄色小视频| 国产欧美一区二区精品忘忧草| 国产51自产区| 国产精品18久久久| 日本高清久久久| 视频在线观看一区二区三区| 欧日韩免费视频| 欧美成人中文| 青青草免费在线视频观看| 成人在线免费小视频| 欧美黑人3p| 日韩成人动漫在线观看| 国产精品视频免费一区二区三区 | 7777精品伊人久久久大香线蕉完整版| 销魂美女一区二区| 欧美视频在线免费看| 国产一级视频在线播放| 亚洲黄色片在线观看| 午夜精品福利在线视频| 自拍偷拍国产精品| 亚洲激情图片网| 国产精品麻豆欧美日韩ww| av永久免费观看| 国产精品嫩草久久久久| 手机看片福利视频| 欧美激情综合五月色丁香| 在线小视频你懂的| 国产欧美日韩一区二区三区在线观看| 性少妇bbw张开| 91视视频在线观看入口直接观看www| 亚洲av熟女高潮一区二区| 国产成人免费视频网站高清观看视频| 日本中文字幕精品—区二区| 久久精品理论片| 日韩av影视大全| 国产激情91久久精品导航| 亚洲av午夜精品一区二区三区| 国产盗摄一区二区三区| 污片免费在线观看| 91视频一区二区| 亚洲av无码国产精品麻豆天美| 久久久精品tv| 免费成人深夜蜜桃视频| 亚洲欧美日韩中文字幕一区二区三区| 日韩在线中文字幕视频| 亚洲国产成人高清精品| 国产 欧美 日韩 在线| 日韩欧美中文在线| 中文字幕在线播放av| 51精品国自产在线| 丰满人妻一区二区| 亚洲精品国产精品国产自| 国产69久久| 美女性感视频久久久| 成年女人在线看片| 国产极品精品在线观看| 日本免费成人| 国产欧美一区二区三区另类精品| 亚洲人成网站77777在线观看 | 91av精品| 国产一区二区视频播放| 日韩中文字幕亚洲一区二区va在线| 在线观看免费成人av| 国内精品不卡在线| 欧美日韩人妻精品一区在线| 国产欧美一区二区三区在线看蜜臀 | 亚洲综合色在线| 中文字幕一区二区人妻视频| 日韩亚洲欧美一区| 国产又爽又黄网站亚洲视频123| 中文字幕日韩av| 波多野结衣在线观看| 国产精品高潮呻吟久久av野狼| 精品视频一区二区三区| 日本黑人久久| 韩日精品视频| 蜜臀av免费观看| av在线不卡网| www色aa色aawww| 在线观看视频欧美| 国产激情视频在线播放| 一区二区在线视频| 国产99re66在线视频| 国产在线精品播放| 日韩电影在线观看完整免费观看| av不卡在线免费观看| 国产精品美女久久久浪潮软件| 波多野结衣在线免费观看| 久久综合色天天久久综合图片| 成人在线观看高清| 91久久久免费一区二区| 老司机午夜福利视频| 久久影院在线观看| av免费在线一区| 久久久精品有限公司| 伊人成年综合电影网| 成人综合久久网| 国产欧美一区二区三区在线老狼| 日本视频免费在线| 日韩你懂的电影在线观看| 午夜视频成人| 日韩av不卡在线| 麻豆一区二区| 欧美一级视频在线播放| 国精产品一区一区三区mba桃花| 亚洲av综合一区二区| 亚洲成人免费电影| 精品毛片一区二区三区| 久久视频这里只有精品| 日韩欧美一区二区三区在线观看| 国模精品一区二区三区| 欧美日韩专区| 中文字幕 欧美 日韩| 国产精品成人一区二区三区夜夜夜| 亚洲图片欧美日韩| 精品一区二区亚洲| 英国三级经典在线观看| 九九九九九九精品| 在线亚洲欧美| 在线观看国产免费视频| 亚洲成国产人片在线观看| 国产黄a三级三级看三级| 久久久精品免费| 97久久中文字幕| 妞干网这里只有精品| 国产专区综合网| 日韩av毛片在线观看| 欧美日韩精品一二三区| 麻豆视频在线| 91在线色戒在线| 一区二区三区国产精华| 秋霞午夜鲁丝一区二区| 亚洲九九爱视频| 性中国古装videossex| 欧美激情亚洲自拍| 国产精品qvod| av之家在线观看| 国产午夜精品福利| 中文字幕乱码人妻二区三区| 在线观看免费高清视频97| 素人一区二区三区| 欧美性视频在线播放| 国产精品99久久久久久有的能看| 国产亚洲欧美久久久久| 精品国产99国产精品| 日韩理论视频| 特级西西444www大精品视频| 蜜臀精品一区二区三区在线观看| 蜜桃av免费观看| 日韩一区二区免费在线电影 | 精品久久中文| 97超碰人人爽| 亚洲国产aⅴ天堂久久| 涩涩视频在线观看免费| 国产精品嫩草影院一区二区| 亚洲一区二区三区无吗| 成人在线电影网站| 色欧美片视频在线观看| 看黄网站在线| 国产一区二区三区四区五区在线| 久久精品日产第一区二区| 成人无码精品1区2区3区免费看 | 亚洲一区二区3| 女人偷人在线视频| 国产一区二区在线免费| 国产在线成人| 免费一级做a爰片久久毛片潮| 欧美精品tushy高清| 草草在线视频| 亚洲一区高清| 不卡av在线免费观看| 亚洲中文无码av在线| 欧美大片在线看| 国产日产一区 | 日韩精品中文字幕一区二区| 国产资源在线视频| 亚洲欧洲av色图| 天堂а√在线8种子蜜桃视频|