国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

【NLP】文本相似度的BERT度量方法

共 21091字,需瀏覽 43分鐘

 ·

2021-08-29 10:42

作者 | James Briggs

編譯 | VK
來源 | Towards Data Science

這篇文章討論的是關(guān)于BERT的序列相似性。

NLP的很大一部分依賴于高維空間中的相似性。通常,一個NLP解決方案需要一些文本,處理這些文本來創(chuàng)建一個大的向量/數(shù)組來表示該文本。

這是高維的魔法。

句子的相似性是一個最清楚的例子,說明了高維魔法是多么強(qiáng)大。

邏輯是這樣的:

  • 把一個句子,轉(zhuǎn)換成一個向量。

  • 把其他許多句子,轉(zhuǎn)換成向量。

  • 找出它們之間的距離(歐幾里德)或余弦相似性。

  • 我們現(xiàn)在就有了一個句子間語義相似性的度量!

當(dāng)然,我們希望更詳細(xì)地了解正在發(fā)生的事情,并用Python實現(xiàn)它!所以,讓我們開始吧。


BERT

BERT,正如我們已經(jīng)提到的,是NLP的MVP。其中很大一部分歸功于BERT將單詞的意思嵌入到密集向量的能力。

我們稱之為密集向量,因為向量中的每個值都有一個值,并且有一個成為該值的原因-這與稀疏向量相反,例如one-hot編碼向量,其中大多數(shù)值為0。

BERT擅長創(chuàng)建這些密集向量,每個編碼器層輸出一組密集向量。

對于BERT-base,這將是一個包含768維的向量,這768個值包含我們對單個token的數(shù)字表示,我們可以使用它作為上下文詞嵌入。

我們可以把這些張量轉(zhuǎn)換成輸入序列的語義表示。然后,我們可以采用相似性度量并計算不同序列之間的相似性。

最簡單和最常用的提取張量是最后的隱藏狀態(tài)。

當(dāng)然,這是一個相當(dāng)大的張量,是512x768維,因為有512個token,我們需要一個向量來應(yīng)用我們的相似性度量。

要做到這一點,我們需要把最后一個隱藏態(tài)張量轉(zhuǎn)換成768維的向量。

創(chuàng)建向量

為了把最后一個隱藏態(tài)張量轉(zhuǎn)換成向量,我們使用了平均池運(yùn)算。

這512個token中的每一個都有各自的768個值。這個池操作將取所有token嵌入的平均值,并將它們壓縮到一個768向量空間中,從而創(chuàng)建一個“句子向量”。

我們不需要考慮填充token(我們不應(yīng)該包括它)。


代碼

這是理論和邏輯-但我們?nèi)绾卧诂F(xiàn)實中應(yīng)用這一點?

我們將概述兩種方法-簡單方法和稍微復(fù)雜一點的方法。

簡單—Sentence-Transformers

對于我們來說,實現(xiàn)我們剛剛介紹的所有內(nèi)容的最簡單方法是通過Sentence-Transformers庫——它將這個過程的大部分內(nèi)容封裝成幾行代碼。

首先,我們使用pip install sentence-transformers來安裝sentence-transformers。這個庫使用HuggingFace的Transformer,所以我們可以在這里找到 sentence-transformers模型:https://huggingface.co/sentence-transformers

我們將使用bert-base-nli-mean-tokens模型,它實現(xiàn)了我們到目前為止討論的相同邏輯。

(它還使用128個輸入token,而不是512個)。

讓我們創(chuàng)建一些句子,初始化我們的模型,并對句子進(jìn)行編碼:

Write a few sentences to encode (sentences 0 and 2 are both similar):
sentences = [
    "Three years later, the coffin was still full of Jello.",
    "The fish dreamed of escaping the fishbowl and into the toilet where he saw his friend go.",
    "The person box was packed with jelly many dozens of months later.",
    "He found a leprechaun in his walnut shell."
]
Initialize our model:
from sentence_transformers import SentenceTransformer

model = SentenceTransformer('bert-base-nli-mean-tokens')
HBox(children=(HTML(value=''), FloatProgress(value=0.0, max=405234788.0), HTML(value='')))

Encode the sentences:
sentence_embeddings = model.encode(sentences)
sentence_embeddings.shape
(4768)

很好,我們現(xiàn)在有四個句子嵌入-每個包含768維。

現(xiàn)在我們要做的是取這些嵌入,找出它們之間的余弦相似性。所以對于第0句:

Three years later, the coffin was still full of Jello.

我們可以通過以下方法找到最相似的句子:

from sklearn.metrics.pairwise import cosine_similarity
讓我們計算第0句的余弦相似度:
cosine_similarity(
    [sentence_embeddings[0]],
    sentence_embeddings[1:]
)
array([[0.330886420.7218851 , 0.55473834]], dtype=float32)
這些相似之處可以解釋為:
IndexSentenceSimilarity
1"The fish dreamed of escaping the fishbowl and into the toilet where he saw his friend go."0.3309
2"The person box was packed with jelly many dozens of months later."0.7219
3"He found a leprechaun in his walnut shell."0.5547

復(fù)雜-Transformer和PyTorch

在進(jìn)入第二種方法之前,值得注意的是,它與第一種方法做了相同的事情,但有點復(fù)雜。

使用這種方法,我們需要自己創(chuàng)建句子嵌入。為此,我們執(zhí)行平均池操作。

https://youtu.be/jVPd7lEvjtg

此外,在平均池操作之前,我們需要創(chuàng)建last_hidden_state,如下所示:

from transformers import AutoTokenizer, AutoModel
import torch
First we initialize our model and tokenizer:
tokenizer = AutoTokenizer.from_pretrained('sentence-transformers/bert-base-nli-mean-tokens')
model = AutoModel.from_pretrained('sentence-transformers/bert-base-nli-mean-tokens')
Then we tokenize the sentences just as before:
sentences = [
    "Three years later, the coffin was still full of Jello.",
    "The fish dreamed of escaping the fishbowl and into the toilet where he saw his friend go.",
    "The person box was packed with jelly many dozens of months later.",
    "He found a leprechaun in his walnut shell."
]

# 初始化字典來存儲
tokens = {'input_ids': [], 'attention_mask': []}

for sentence in sentences:
    # 編碼每個句子并添加到字典
    new_tokens = tokenizer.encode_plus(sentence, max_length=128,
                                       truncation=True, padding='max_length',
                                       return_tensors='pt')
    tokens['input_ids'].append(new_tokens['input_ids'][0])
    tokens['attention_mask'].append(new_tokens['attention_mask'][0])

# 將張量列表重新格式化為一個張量
tokens['input_ids'] = torch.stack(tokens['input_ids'])
tokens['attention_mask'] = torch.stack(tokens['attention_mask'])
We process these tokens through our model:
outputs = model(**tokens)
outputs.keys()
odict_keys(['last_hidden_state''pooler_output'])

The dense vector representations of our text are contained within the outputs 'last_hidden_state' tensor, which we access like so:
embeddings = outputs.last_hidden_state
embeddings
tensor([[[-0.0692,  0.6230,  0.0354,  ...,  0.8033,  1.6314,  0.3281],
         [ 0.0367,  0.6842,  0.1946,  ...,  0.0848,  1.4747-0.3008],
         [-0.0121,  0.6543-0.0727,  ..., -0.0326,  1.7717-0.6812],
         ...,
         [ 0.1953,  1.1085,  0.3390,  ...,  1.2826,  1.0114-0.0728],
         [ 0.0902,  1.0288,  0.3297,  ...,  1.2940,  0.9865-0.1113],
         [ 0.1240,  0.9737,  0.3933,  ...,  1.1359,  0.8768-0.1043]],

        [[-0.3212,  0.8251,  1.0554,  ..., -0.1855,  0.1517,  0.3937],
         [-0.7146,  1.0297,  1.1217,  ...,  0.0331,  0.2382-0.1563],
         [-0.2352,  1.1353,  0.8594,  ..., -0.4310-0.0272-0.2968],
         ...,
         [-0.5400,  0.3236,  0.7839,  ...,  0.0022-0.2994,  0.2659],
         [-0.5643,  0.3187,  0.9576,  ...,  0.0342-0.3030,  0.1878],
         [-0.5172,  0.3599,  0.9336,  ...,  0.0243-0.2232,  0.1672]],

        [[-0.7576,  0.8399-0.3792,  ...,  0.1271,  1.2514,  0.1365],
         [-0.6591,  0.7613-0.4662,  ...,  0.2259,  1.1289-0.3611],
         [-0.9007,  0.6791-0.3778,  ...,  0.1142,  0.9080-0.1830],
         ...,
         [-0.2158,  0.5463,  0.3117,  ...,  0.1802,  0.7169-0.0672],
         [-0.3092,  0.4833,  0.3021,  ...,  0.2289,  0.6656-0.0932],
         [-0.2940,  0.4678,  0.3095,  ...,  0.2782,  0.5144-0.1021]],

        [[-0.2362,  0.8551-0.8040,  ...,  0.6122,  0.3003-0.1492],
         [-0.0868,  0.9531-0.6419,  ...,  0.7867,  0.2960-0.7350],
         [-0.3016,  1.0148-0.3380,  ...,  0.8634,  0.0463-0.3623],
         ...,
         [-0.1090,  0.6320-0.8433,  ...,  0.7485,  0.1025,  0.0149],
         [ 0.0072,  0.7347-0.7689,  ...,  0.6064,  0.1287,  0.0331],
         [-0.1108,  0.7605-0.4447,  ...,  0.6719,  0.1059-0.0034]]],
       grad_fn=<NativeLayerNormBackward>)
embeddings.shape
torch.Size([4128768])

在生成密集向量嵌入之后,我們需要執(zhí)行平均池操作來創(chuàng)建單個向量編碼(句子嵌入)。

為了實現(xiàn)這個平均池操作,我們需要將嵌入張量中的每個值乘以其各自的掩碼值,這樣我們就可以忽略非實數(shù)token。

To perform this operation, we first resize our attention_mask tensor:
attention_mask = tokens['attention_mask']
attention_mask.shape
torch.Size([4128])
mask = attention_mask.unsqueeze(-1).expand(embeddings.size()).float()
mask.shape
torch.Size([4128768])
mask
tensor([[[1.1.1.,  ..., 1.1.1.],
         [1.1.1.,  ..., 1.1.1.],
         [1.1.1.,  ..., 1.1.1.],
         ...,
         [0.0.0.,  ..., 0.0.0.],
         [0.0.0.,  ..., 0.0.0.],
         [0.0.0.,  ..., 0.0.0.]],

        [[1.1.1.,  ..., 1.1.1.],
         [1.1.1.,  ..., 1.1.1.],
         [1.1.1.,  ..., 1.1.1.],
         ...,
         [0.0.0.,  ..., 0.0.0.],
         [0.0.0.,  ..., 0.0.0.],
         [0.0.0.,  ..., 0.0.0.]],

        [[1.1.1.,  ..., 1.1.1.],
         [1.1.1.,  ..., 1.1.1.],
         [1.1.1.,  ..., 1.1.1.],
         ...,
         [0.0.0.,  ..., 0.0.0.],
         [0.0.0.,  ..., 0.0.0.],
         [0.0.0.,  ..., 0.0.0.]],

        [[1.1.1.,  ..., 1.1.1.],
         [1.1.1.,  ..., 1.1.1.],
         [1.1.1.,  ..., 1.1.1.],
         ...,
         [0.0.0.,  ..., 0.0.0.],
         [0.0.0.,  ..., 0.0.0.],
         [0.0.0.,  ..., 0.0.0.]]])

上面的每個向量表示一個單獨(dú)token的掩碼——現(xiàn)在每個token都有一個大小為768的向量,表示它的attention_mask狀態(tài)。然后將兩個張量相乘:
masked_embeddings = embeddings * mask
masked_embeddings.shape
torch.Size([4128768])
masked_embeddings
tensor([[[-0.0692,  0.6230,  0.0354,  ...,  0.8033,  1.6314,  0.3281],
         [ 0.0367,  0.6842,  0.1946,  ...,  0.0848,  1.4747-0.3008],
         [-0.0121,  0.6543-0.0727,  ..., -0.0326,  1.7717-0.6812],
         ...,
         [ 0.0000,  0.0000,  0.0000,  ...,  0.0000,  0.0000-0.0000],
         [ 0.0000,  0.0000,  0.0000,  ...,  0.0000,  0.0000-0.0000],
         [ 0.0000,  0.0000,  0.0000,  ...,  0.0000,  0.0000-0.0000]],

        [[-0.3212,  0.8251,  1.0554,  ..., -0.1855,  0.1517,  0.3937],
         [-0.7146,  1.0297,  1.1217,  ...,  0.0331,  0.2382-0.1563],
         [-0.2352,  1.1353,  0.8594,  ..., -0.4310-0.0272-0.2968],
         ...,
         [-0.0000,  0.0000,  0.0000,  ...,  0.0000-0.0000,  0.0000],
         [-0.0000,  0.0000,  0.0000,  ...,  0.0000-0.0000,  0.0000],
         [-0.0000,  0.0000,  0.0000,  ...,  0.0000-0.0000,  0.0000]],

        [[-0.7576,  0.8399-0.3792,  ...,  0.1271,  1.2514,  0.1365],
         [-0.6591,  0.7613-0.4662,  ...,  0.2259,  1.1289-0.3611],
         [-0.9007,  0.6791-0.3778,  ...,  0.1142,  0.9080-0.1830],
         ...,
         [-0.0000,  0.0000,  0.0000,  ...,  0.0000,  0.0000-0.0000],
         [-0.0000,  0.0000,  0.0000,  ...,  0.0000,  0.0000-0.0000],
         [-0.0000,  0.0000,  0.0000,  ...,  0.0000,  0.0000-0.0000]],

        [[-0.2362,  0.8551-0.8040,  ...,  0.6122,  0.3003-0.1492],
         [-0.0868,  0.9531-0.6419,  ...,  0.7867,  0.2960-0.7350],
         [-0.3016,  1.0148-0.3380,  ...,  0.8634,  0.0463-0.3623],
         ...,
         [-0.0000,  0.0000-0.0000,  ...,  0.0000,  0.0000,  0.0000],
         [ 0.0000,  0.0000-0.0000,  ...,  0.0000,  0.0000,  0.0000],
         [-0.0000,  0.0000-0.0000,  ...,  0.0000,  0.0000-0.0000]]],
       grad_fn=<MulBackward0>)

然后我們沿著軸1將剩余的嵌入項求和:
summed = torch.sum(masked_embeddings, 1)
summed.shape
torch.Size([4768])

然后將張量的每個位置上的值相加:
summed_mask = torch.clamp(mask.sum(1), min=1e-9)
summed_mask.shape
torch.Size([4768])
summed_mask
tensor([[15.15.15.,  ..., 15.15.15.],
        [22.22.22.,  ..., 22.22.22.],
        [15.15.15.,  ..., 15.15.15.],
        [14.14.14.,  ..., 14.14.14.]])

最后,我們計算平均值:
mean_pooled = summed / summed_mask
mean_pooled
tensor([[ 0.0745,  0.8637,  0.1795,  ...,  0.7734,  1.7247-0.1803],
        [-0.3715,  0.9729,  1.0840,  ..., -0.2552-0.2759,  0.0358],
        [-0.5030,  0.7950-0.1240,  ...,  0.1441,  0.9704-0.1791],
        [-0.2131,  1.0175-0.8833,  ...,  0.7371,  0.1947-0.3011]],
       grad_fn=<DivBackward0>)

一旦我們有了密集向量,我們就可以計算每個向量之間的余弦相似性——這和我們以前使用的邏輯是一樣的:

from sklearn.metrics.pairwise import cosine_similarity
讓我們計算第0句的余弦相似度:
# 將PyTorch張量轉(zhuǎn)換為numpy數(shù)組
mean_pooled = mean_pooled.detach().numpy()

# 計算
cosine_similarity(
    [mean_pooled[0]],
    mean_pooled[1:]
)
array([[0.330889050.7219259 , 0.55483633]], dtype=float32)

These similarities translate to:
IndexSentenceSimilarity
1"The fish dreamed of escaping the fishbowl and into the toilet where he saw his friend go."0.3309
2"The person box was packed with jelly many dozens of months later."0.7219
3"He found a leprechaun in his walnut shell."0.5548

我們返回了幾乎相同的結(jié)果-唯一的區(qū)別是索引3的余弦相似性從0.5547移到了0.5548,這是一個微小的差異。


以上就是介紹如何使用BERT測量句子的語義相似性的全部內(nèi)容—使用sentence-transformers ,PyTorch和transformers兩種方法實現(xiàn)。

兩種方法的完整筆記本:https://github.com/jamescalam/transformers/blob/main/course/similarity/04_sentence_transformers.ipynb和https://github.com/jamescalam/transformers/blob/main/course/similarity/03_calculating_similarity.ipynb。

感謝閱讀!

參考引用

N. Reimers, I. Gurevych, Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks (2019), Proceedings of the 2019 Conference on Empirical Methods in NLP


往期精彩回顧




本站qq群851320808,加入微信群請掃碼:
瀏覽 97
點贊
評論
收藏
分享

手機(jī)掃一掃分享

分享
舉報
評論
圖片
表情
推薦
點贊
評論
收藏
分享

手機(jī)掃一掃分享

分享
舉報

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 色色天堂| 天天视频亚洲| 久久久久久久人妻丝袜| 无码AV大香线蕉伊人| 日本aa视频| 瑟瑟免费视频| 午夜免费播放观看在线视频| 伊人大香蕉综合| 无码狠狠躁久久久久久久91| 亚洲精品国偷拍自产在线观看蜜桃 | 91福利网| 俺去也视频| 色五月中文字幕| 天天舔天天干| 久久免费毛片| 操逼网站在线| 91久久| 大香蕉伊人在线观看| 欧美少妇视频| 天天干天天日天天射| 91香蕉视频免费| 欧美成人精品A片免费一区99 | 日本大香蕉在线视频| 亚洲AV成人片色在线观看麻豆| 亚洲永久免费| 一级黄色片视频| 免费在线黄色视频| 大鸡巴久久久久久| 日韩无码福利| 免看一级a一片| 免费操b视频| 亚洲有码中文字幕| 国产成人免费在线观看| 中文字幕久久人妻无码精品蜜桃 | 五十路老国产| 精品国产AV无码一区二区三区| 中文字幕资源站| 躁BBB躁BBB躁BBBBBB| 国产传媒自拍| 色婷婷色99国产综合精品| 麻豆一区二区三区四区| 一级免费黄色视频| 亚洲丰满熟妇| 台湾AV在线| 91丨九色丨熟女老版| 大鸡巴网站| 精品人妻中文字幕| 日韩在线不卡视频| 一道本无码在线| 亚洲精品乱码久久久久久| 欧美三p| 国产精品一区av| 国产欧美日韩综合精品| 亚洲一级免费在线观看| 国内操B电影| 九九热只有精品| 亚洲天堂2017| 自拍在线| 日本爱爱小视频| 影音先锋天堂网| 日韩av中文| 五月丁香色播| 操B影院| 欧美AAAAAAAA| 亚洲久爱| 久久日韩无码| 久久人妻视频| 天堂资源地址在线| 日本处女性高潮喷水视频| 中文字幕三区| 欧美日韩黄色| 99精品视频在线播放免费| 操逼观看| 一本道高清| 久久久久久久精| 玖玖资源网站| 午夜福利成人网站| 欧美性爱视频免费观看| 一级a免一级a做片免费| 骚片网站| 黄色日逼网站| 亚洲AV无码成人精品区久| a片在线免费播放| 亚洲成人AV| 波多野结衣av一区| 熟妇精品| 在线成年人视频| 国产性受XXXXXYX性爽| 亚洲视频欧洲视频| 操大逼视频免费国产| www.色在线观看| 女人自慰在线观看| 国产欧美日韩综合| 免费观看久久久| 91精产国品一二| 短发妹子双人啪啪秀| 欧美一级a| 久久青草视频| 69精品| 亚洲AV影院| 国产三级片视频| 51成人网站免费| 中文无码在线播放| 欧美一级日韩一级| 久久久精品人妻| 啪啪免费视频| 免费黄片网站| 无码操逼| 欧美黄色大香蕉| 国产在线不卡年轻点的| gogogo视频在线观看黑人| 小日本91在线观看| 色色色色色色色色欧美| 伊人成人视频在线观看| 男人天堂中文字幕| 国产精品久久久久久久久A| 黄片高清免费观看| 伊人综合久久| 欧美激情伊人| 91精品国产综合久久久蜜臀粉嫩| 国产一级操逼片| 婷婷亚洲国产| 黄色av免费在线| 国产亚洲精品午夜福利巨大软件 | 九九re精品视频在线观看| 中文字幕在线观看网| 色婷婷香蕉| 操比无码| 黑人一区二区三区四区| 午夜免费网站| 99精品视频16在线免费观看 | 四色影视| 中文字幕乱码中文乱码91| 黄色视频导航| 激情五月天视频| 亚洲无码色| 久久艹国产| 久久噜噜噜精品国产亚洲综合| 熟妇人妻中文AV| 亚洲性爱中文字幕| 69免费视频| 日本a在线| H片在线观看| 黄色色情小说| 五月婷婷免费视频| 黄片精品| 精品久久免费一区二区三区| 亚洲精品在线视频观看| 粉嫩99精品99久久久久| 日本一区二区三区在线观看网站| 成人久久网| 亚州在线视频| 安徽妇搡BBB搡BBBB户外老太太 | 五月婷婷色欲| 操逼操逼操| 一级一级a免一级a做免费线看内裤| 人人妻人人躁人人DVD| 99精品视频网站| 成人网大香蕉| 亚洲中文综合| 高清无码在线观看免费| 久久视频免费看| 一区精品| 久久av综合| 免费看黄色电影| 丁香婷婷网| 人人看,人人摸| 涩五月婷婷| 中文三区| 成人福利网站| 大香蕉777| 97在线鲁碰免费视频| 黄色一级在线| 久操免费在线观看| 亚洲最新无码| 五月无码| 无码黄色片| 亚洲最大黄色| 欧美性猛交一区二区三区| 精品人妻一区二区乱码一区二区| 成人网站一区二区| 另类视频在线| 巨爆乳肉感一区二区三区| 特级西西44www无码| 奇米狠狠干| 日韩东京热中文字幕| 人人爱人人看| 在线观看欧美黄片| AV婷婷五月天| 操逼视频观看| 強姧伦一区二区三区在线播放| 日韩在线观看| 亚洲无码免费视频在线观看| 无码三级av| 亚洲天堂高清| 欧美日韩操逼视频| 欧美一区二区在线观看| 国产精品久久久久久久久久二区三区| 日韩AV网站在线观看| 国产久久久久久久久久| 插菊花综合网站| 天天日天天射天天干| 91人妻人人澡人人爽人| 欧美在线国产| 中文字幕+乱码+中文乱码www| 青娱乐精品视频| 国产免费一区二区三区四区| 成人性爱视频在线| 成人在线毛片| 黄色一级a片| 天堂一区二区| 人人澡人人爽欧一区| 国产精品乱伦片| 亚洲无码精品一区二区三区| 欧美日韩高清无码| 人人干人人爱| 亚洲中文字幕播放| 蜜臀久久精品久久久久| 中文字幕第一| 一区在线播放| 天天爽爽爽爽爽成人片| 日韩无码A| 欧美一级AA大片免费看视频| 国产高清一区二区三区| 翔田千里无码| 人人操天天干| 97国产在线观看| 久草视频观看| 天天狠狠| 网站av| 操操操无码| 国产91精品探花一区二区| 天天日天天操天天干| 中文字幕高清在线中文字幕中文字幕| 久久av一区二区三区观看| 成人中文字幕在线观看| 无码AV一区二区| 亚洲欧美大香蕉视频网| 18禁在线看| 狼友视频首页| 午夜三级福利| 极品小仙女69| 国产黄色Av| 澳门四虎影院| 日韩黄色三级片| 青草网在线观看| 成人色色| 无码一二三四| 亚洲黄色电影| 蜜臀网在线观看| 久久久久成人精品无码| 人妻精品一区二区三区| 亚洲高清无码免费在线观看| 亚洲日韩精品无码| 2025天天操| 欧洲三级片| 一区二区国产视频| 天天干天天日天天射| 丁香五月成人| www日韩无码| 怡春院在线视频| 亚洲成人精品在线| 99久热| 日韩第22页| 免费AV毛片| 91成人18| 婷婷视频导航| 精品蜜桃秘一区二区三区在线播放| 特极西西444WWW大胆无码| 亚洲AV秘一区二区色盗战流出| 啪啪视频在线观看| 黄色一级在线观看| 91免费在线视频| 蜜臀av网站| 青青青国产| 中文字幕的| 韩国无码成人电影啊荒| 99在线国产| 亚洲一级二级三级| 黄色人妻| 欧美XXX视频| av免费网站| 91逼| 另类老妇奶BBBBwBB| 丁香五月在线| 无码AV电影在线观看| eeuss国产| 婷婷色网| 国产精品资源在线观看| 蜜臀AV成人精品| 国产欧美精品成人在线观看| 99精品视频网站| 97成人人妻一区二区三区| 亚州AV天堂| 精品永久免费| 国产无码久久| www.操B| 微熟女地址导航| 亚洲色图偷拍| 日韩无码福利| 日韩小视频在线观看| 日韩大片免费观看| 黄色视频免费在线观看网站| 少妇福利| 日B视频网站| 思思热在线观看视频| 久久久久国产| 偷拍无码| 日韩五码| 黄色视频高潮| 午夜蜜桃人妻一区二区| 大香蕉一级红色片青青河边草 | 在线观看黄| www99精品| 婷婷久月| 成人乱码一区二区三区| 91爱逼| 日逼视频免费看| 国产精品乱伦片| 91久久久久久| 白峰美羽人妻AND-499| 亚洲无码www| 91青青草| 亚洲成人在线观看视频| 日韩人妻一区二区三区| 国产精品伦子伦免费视频| 日日夜夜拍| 五月天色色婷婷| 亚洲大逼| 嫩草人人精品免费| 日韩小视频+国产| 国产免费AV在线| 国产91www| 97精品国产97久久久久久免费| 亚洲蜜桃av一区| 亚洲一区二区在线播放| 亚洲中文字幕第一页| 麻豆91蜜桃传媒在线观看| 国产免费麻豆| 国产无码a| 九九热超碰| 91人兽| 黄片无码免费观看| 中文字幕乱码免费综合久久| 免费成人三级片| 黄色一级网站| 豆花视频无码| AV电影在线观看| 嫩BBB搡BBBB搡BBBB-百度| H片在线免费观看| 男人的天堂色琪琪| 国产精品人妻AⅤ在线看| 怡红院爽妇网| 蜜桃Av噜噜一区二区三| 在线观看毛片网站| 可以免费观看的av| 性爱久久久| 国产av三级片| av福利电影在线| 少妇婷婷| 日韩精品一区二区三区四区蜜桃视频 | 欧美午夜精品| 婷婷国产综合| 大香蕉伊人久久| 鸡巴操骚逼视频| 国产精品视频播放| 超碰福利导航| 波多野结衣视频网站| a片在线观看视频| AV电影在线观看| 國產精品777777777| 日逼一级片| 亚洲AV秘无码不卡在线观看| 久久久久久久久久久高清毛片一级| 亚洲中文第一页| 91无码精品一区二区| 色婷在线视频| 黄色小电影在线观看| 91精品婷婷国产综合久久蝌蚪| 一夲道无码专区av无码A片| 4438黄色| 国产黄色免费| 好操吊| 国产主播在线观看| 91精品在线观看视频| 欧美五月在线网址| 精品欧美一区二区三区久久久| 久久久久久三级电影| www男人天堂| 麻豆91精品91久久久停运原因| 无卡无码| 二区三区无码| 毛片视频网站| 久草五月| 乱伦麻豆| 男人天堂免费视频| 久久久成人电影| 国产成人精品麻豆| 亚洲三区视频| 尤物视频在线| 婷婷五月天成人社区| 在线免费观看黄色电影| 成人做爰100片免费视频| 国产高清无码视频在线观看| 久操资源站| 国产一级片| 香蕉AV777XXX色综合一区| 久久久18禁一区二区三区精品| 成人AV影院| 国产精品精品| 欧美视频二区| 九九亚洲精品| 麻豆一区二区| www.五月天| 木下凛凛子AV888AV在线观看| 97人妻精品一区二区三区图片| 亚洲啊v| 一级特黄AAAA片| 91大屁股| 日屄视频在线观看| 国产久久久久久久久| np高辣调教视频| 四虎综合| 天天视频亚洲| 欧美日韩国产一区| 99reav| 国产激情免费视频| 91青青草视频| 91免费成人视频| 全国最大成人网站| 玖玖激情| 午夜免费播放观看在线视频| 国产综合久久777777麻豆| AA片网站| 青娱乐国产| 日韩黄色片网站| 久久天堂影院| 国内精品久久久| 丁香综合网| 亚洲无码高清视频| 成人做爰100片免费观看视频| 学生妹一级大片| 手机看片久久| 人人干人人上| 毛片网站大全| 波多野成人无码精品69| 偷拍亚洲色图| 日本欧美中文| 性无码一区二区三区无码免费| 成人无码网站在线观看| 欧美一区二区三区婷婷五月| www.狠狠爱| 国产又粗又猛又黄又爽无遮挡| 99re视频在线| 丰满人妻一区二区三区免费| 岛国av无码免费| 加勒比色综合| 亚洲国产欧美日韩在线| 最新久欠一区二区免费看| 国产精品免费看| 亚欧视频在线观看| 亚洲人内射片又| 国产午夜精品电影| 成人午夜啪免费视频在线观看软件 | 很很撸在线视频| 亚洲综合激情| 无码AV免费观看| 成人中文字幕无码| 黄色视频网站在线| 日韩不卡在线观看| 欧美一区二区三区成人| 九九九九精品| 国产精品成人在线| 成人做爰100片免费视频| 日日射人妻| 日韩三级在线观看| 亚洲另类图片小说| 日韩黄色免费视频| 人人摸人人操人人| 熟妇高潮| 色色色免费视频| 黄色三级片网站| 亚欧成人网站| 五月天操逼网站| 北条麻妃一区二区三区-免费免费高清观看 | 嘿嘿午夜影院| 欧亚无码| 久草视频观看| 伊人五月天| 91成人综合| 麻豆视频在线观看| 日韩性爱区| 日本无码成人片在线播放| chip少妇性| 成人A片免费看| 人妻av无码| 精品视频中文字幕| 在线成人网站| 色色色色五月天| 成人黄色免费在线| 操逼视频一区| 婷婷五月天av| 成人福利午夜A片公司| 欧美一级高清片免费一级a| 亚洲综合在线视频| 亚洲AV电影网| 国产伦精品一区二区三区视频女| 亚洲av综合在线| 欧美999| 一曲二曲三曲在线观看中文字| 亚洲AV无码国产精品久久不卡| r四虎18| 亚洲精品秘一区二区三区蜜桃久| 91麻豆精品国产| 婷婷五月天丁香在线| 夜夜爽日日爽| 免费看无码一级A片放24小时| 蜜臀久久99精品久久久兰草影视| 亚洲无码在线精品| 中国乱伦视频| 免费视频a| 亚洲日韩欧美一区二区| 国产卡一卡二在线| 夜夜爽夜夜爽| 天天色色| 麻豆视频在线| 久久久青草| 婷婷成人综合网| 久久99影院| www.sese| 怡红院欧美| 婷婷国产成人精品视频| 成人五月天黄色电影| 中文字幕在线观看第一页| 五月在线| 国产一区二区免费| 江苏妇搡BBBB搡BBBB-百度| 夫妻无码| 麻豆91麻豆国产传媒| 亚洲日韩影院| 欧一美一婬一伦一区二区三区自慰,| 日韩色爱| 日韩三级片AV| 99久久久成人国产精品| 小黄片免费在线观看| 国产成人免费在线视频| 精品一区二区免费视频| 国产欧美日韩成人| 国产无遮挡又黄又爽又色学生软件| 强伦轩一区二区三区四区| 国产黄色视频免费看| 三级成人AV| 免费看毛片中文字幕| 1024在线视频| 婷婷久月| 波多野结衣亚洲视频| 日本无码精品| 国产黄色直播| 日韩一级一片内射视频4K| 欧美精品黄片| av黄色在线| 欧美肥臀| 水蜜桃成人网| 西西888WWW大胆视频| 成人午夜精品福利免费| 特级黄色片| 国产免费黄色片| 成人网站三级片| 亚洲AV无码成人精品区久| 久热中文在线观看精品视频| 国产熟女一区二区视频网站| 东京热一区二区| 三级片91| 国产精品久久久精品cos| 国产精品丝袜| 操比无码| 亚洲影院第一页在线观看| 青娱乐在线成人| 黄色A片视频| 91探花在线观看| 丁香五月六月| 伊人免费在线| 国产色拍| 日日爱99| 西西人体大胆ww4444图片| 欧美成人伦理片网| 在线观看黄色小视频| 俺来也网| 热99视频| www.99国产| 五月停亭六月,六月停亭的英语| 东北奇淫老老妇| 国产精品午夜在线观看| 无码一区二区三区四季| 欲色AV| 水果派av解说| 欧美成人三级| 亚洲无码视频免费| 草久免费视频| 四色影视| 国产成人激情| 亚洲欧洲精品成人久久曰影片| 免费黄片无码| 北条麻妃99精彩视频| 免费毛片网站| 国产高清无码免费| 亚洲成人性爱网| 人妻中文在线| 男女啊啊啊| a免费在线观看| 国产视频999| 18成人网站在线观看| a日韩| 日韩无码人妻系列| 成人免费区一区二区三区| eeuss| 国产欧美日韩在线| 国产精品扒开腿做爽爽爽A片唱戏| 国产在线观看AV| 91精品免费视频| 三级片网站在线播放| 成人免费黄色视频| 中文字幕av久久爽爽| 好男人一区二区三区在线观看| 成年无码| 精品国产一级A片黄毛网站| 嫩BBB槡BBBB槡BBB小号| 色欧美亚洲| 国产探花视频在线免费观看| 91天天综合| 国产乱子伦真实精品| 久久久精品国产| 成人区精品一区二区婷婷| 99热超碰在线| 一级全黄120分钟免费| 91农村站街老熟女露脸| 激情五月婷婷五月| 久久国产精品一区二区三区| 一级午夜福利| 一区二区三区在线观看免费| 特级西西西88大胆无码| A免费在线观看| 亚洲中文无码AV在线| a日韩| 国产日韩欧美久久| 亚洲不卡在线| 翔田千里53歳在线播放| 国产成人精品亚洲男人的天堂| 人人操人人摸人人射| 亚洲日韩免费在线观看| 午夜成人爽| 99精品视频播放| A区性愛社区| 在线亚洲福利| 一本到在线观看午夜剧场| 欧美丝袜脚交xxxxBH| 99热免费| 欧美怡春院| 久久狠| 国产av一区二区三区| 大香蕉黄色电影| 婷婷久久综合| 一区二区三区精品| 北条麻妃无码在线| 国内夫妻【20p】| 亚洲无码影院| 伊人激情| 久久久久久精品国产三级| 欧美猛男的大鷄巴| 最新va在线观看| 中文字幕av高清片,中文在线观看| AAAA毛片视频| 亚卅毛片| 久久久久久国产免费A片| 亚洲aV影院| 大香煮伊在75| 精国产品一区二区三区A片| 水蜜桃视频网站在线观看| 成人国产精品秘欧美高清| 超碰91免费在线观看| 青青免费视频| 日韩AV无码高清| 中文字幕在线视频无码| 天堂在线v| 99精品视频免费在线观看| 成人动漫| 日本一区二区视频在线| 中文字幕第11页| 99久久夜色精品国产亚洲| 青青草成人电影| 欧美搡BBBB搡BBB| 久久婷婷综合网| 亚洲中文婷婷| 无码人妻一区二区三区免费n鬼沢| 九色一区| 韩国精品一区二区| 污视频免费在线观看| 亚洲AV成人无码精在线| 中文字幕成人电影| 国产高清自拍| 中文免费高清在线观看视频| 狠狠狠久久久| 中文无码字幕视频| 簧片网站免费| 嫩BBB槡BBBB槡BBBB二一| 伊人大香在线| 精品国产va久久久久久久 | 国产高清Av| 欧美亚洲| 欧美激情一区二区| 高清一区二区| 亚卅毛片| 亚洲成人a片| 亚洲人人爱| 国产又爽又黄视频| 男女av免费观看| 强开小嫩苞一区二区三区网站| 韩日AV| 人人摸人人色| 日韩精品久久久久久久| 人妻中文无码| 爱福利视频网| 日韩99在线观看| 五月天婷婷色播| 婷婷综合av| 91三级片在线观看| 黄色片a片| 成人精品三级麻豆| 国产在线h| 久久综合中文字幕| www.天天干| gogogo视频在线观看黑人| 国产小视频免费在线观看| 成人动漫一区| 无码人妻一区二区三区蜜桃视频 | 香蕉婷婷亚洲丁香| 69视频在线免费观看| 探花在线播放| 影音先锋色AV| 污污污污污www网站免费观看| 丁香五月婷婷在线| www.18禁| 国产高清在线视频| 中文字幕在线观看福利视频| 日本无码片| 高清无码视频直接看| 人人色在线观看| 激情视频免费在线观看| 六月婷婷激情| 特级西西WWW888| 99热1| 国产成人a亚洲精品www| 国产噜噜噜噜噜久久久久久久久| 天天干免费视频| 黑人精品欧美一区二区蜜桃| 伊人综合网站| 天天干女人| 91日韩在线| 吴梦梦| 久操麻豆| 日韩无码中文字幕视频| 青草综合| 97久久久| 操噜噜噜噜噜插| 黄网91| 久久精彩免费视频| 丁香五月情| 色婷婷免费视频| 亚洲性爱在线观看| 国产精品18进进出出17c| 高清人妻无码| 青青操视频在线| 国产麻豆性爱视频| 麻豆人妻换人妻好紧| 奇米久久| 爱搞在线观看wwww| 无码AV电影在线观看| 日韩欧美成人在线观看| 国内自拍一区| 五月网| 中文字幕视频在线直播| 国产精品女人777777| 嫩草久久| 99久| 黄色操逼网站| 俩小伙3p老熟女露脸| 人妻18无码人伦一区二区三区精品| 亚洲无码图片| 一本高清无码| 国产激情视频在线观看| 日本黄A级A片国产免费| 高清无码视频直接看| www.97色| 91在线日韩| www.日韩| 国产成人精品片| 天天激情站| 东京热在线视频观看| 国产一区免费| 久久91av| 99精品999| 日韩偷拍网| 欧美老逼| 丁香六月婷婷久久综合| 亚洲av黄| 色色五月天网站| 毛片一级片| 自拍偷拍网站| 中文字幕高清无码在线播放| 丝瓜视频黄| 黄色大片免费在线观看| 黄色动态视频| 色色色无码| 狠狠狠狠狠狠狠狠狠狠| 91超碰久久在线| 欧美在线综合| 精品| 精品国产AV无码一区二区三区| 欧美日本中文字幕| 免费亲子乱婬一级A片| 国产日本欧美韩国久久久久| 熟女伦乱| AV一区二区在线观看| 精品成人电影| 欧美激情内射| av三级网站| 大茄子熟女AV导航| 四虎视频| 日韩中文字幕无码人妻| 怡春院在线视频| 日本欧美在线观看| 日韩一级片在线观看| 五月婷婷俺也去| 黑人一区二区| 美女综合网| 一本到在线观看午夜剧场| 日本一级片免费看| 国产精品粉嫩福利在线| 亚洲一级av| www插插| 波多野结衣一二三区| 中文字幕乱码中文字乱码影响大吗 | 亚洲最新无码视频| 99精品视频16在线免费观看 | 久久艹逼| 婷婷五月综合久久中文字幕| 丁香花免费高清视频小说完整| 亚洲码无人客一区二区三区| 18禁黄网| 无码AV高清| 日韩中文字幕视频在线观看| 国产成人高潮毛片| 亚洲成人网站在线观看| 91国在线视频| 色婷婷视频网站| 91精品电影18| 日韩特黄片| 欧美日韩免费在线| 日韩精品人妻中文字幕蜜乳| 欧美干干| а中文在线天堂精品| 一本色道久久综合亚洲精品久久| 先锋影音一区二区三区| 国产美女福利| 日韩人妻在线观看| 精品久久免费| 99re在线观看观看这里只有精品| 欧美熟妇精品黑人巨大一二三区| 奶大丰满一乱一视频一区二区三区在| 99热只有精| 日韩性爱视频在线观看| 国产在线观看免费成人视频 | 免费视频久久久| 久久久久久97| 超碰97免费| 99久久成人| ppypp电影频道| 久热久热| 亚洲瑟瑟| 亚洲欧美日韩电影| 亚洲美女喷水视频| 加勒比无码视频| 国产一级片免费观看| 先锋影音一区二区三区| 无码aⅴ| 免费草逼视频| 天天爽天天爽夜夜爽| 国产精品不卡一区二区三区| 国产免费视频| 欧美三级欧美一级| 加勒比无码在线播放| 中文一区二区| 国产秘精品区二区三区日本| 99无码国产成人精品| 就去色色五月丁香婷婷久久久| 五月大香蕉| 97人妻人人澡人人爽人人精品 | 人人妻人人爽人人精品| 性饥渴欧美老妇XXXXX| 国产人妻精品一二三区|