日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

超详细中文注释的GPT2新闻标题生成项目

發布時間:2024/7/5 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 超详细中文注释的GPT2新闻标题生成项目 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

超詳細中文注釋的GPT2新聞標題生成項目:https://zhuanlan.zhihu.com/p/338171330

筆者開源了一個帶有超詳細中文注釋的GPT2新聞標題生成項目。

該項目參考了GPT2-Chinese、GPT2-chitchat、CDial-GPT、GPT2等多個GPT2開源項目(感謝大佬們的開源),并根據自己的理解,將代碼進行重構,添加詳細注釋,希望可以幫助到有需要的同學。

項目是基于HuggingFace的transformers實現GPT2模型代碼進行修改、訓練及測試。并且通過Flask框架搭建了一個Web服務,將新聞標題生成模型進行工程化,可以通過頁面,可視化地體驗新聞標題生成效果。

該項目的目的是帶領大家走一遍GPT2生成模型的訓練、測試及部署全部流程。

項目地址:

https://github.com/liucongg/GPT2-NewsTitle?github.com

本文主要是對項目中的代碼進行講解,主要從數據預處理、數據類實現、模型代碼實現、模型訓練、模型測試和模型上線,六個部分進行介紹,如下。

數據預處理

數據來源于新浪微博,由He Zhengfang大佬整理,詳細鏈接如下:中文短文本摘要數據集。

由于數據來自微博,在標題中常常帶有“話題”、“表情”標記,在正文中常常帶有“HTML”標記,如下:

Title: 2014#福布斯中國名人榜#:她再奪冠[威武] Content: 為什么我們要工作?聽演講者Barry Schwartz告訴你工作的另一個重要意義。非常有深度的一個演講,值得一看!http://t.cn/RqzKvtn 轉發學習,給自己的工作加油打氣吧![good] ??

因此需要對數據進行清洗,具體如下:

(1)對標題清洗時,會去除“##”符號(一般為微博數據的話題標記)、去除“[]”中間的文字(一般為微博數據中的表情)、合并標題中過多的空格

def clean_weibo_title(title: str):""" 對微博數據中的標題內容(待生成)進行清洗 Args: title: 標題 Returns: """# 去除##符號(一般為微博數據的話題標記)title = re.sub(r"#", "", title)# 去除[]中間的文字(一般為微博數據中的表情)title = re.sub(r"(\[{1,2})(.*?)(\]{1,2})", "", title)# 合并標題中過多的空格title = re.sub(r"\s+", " ", title)return title

(2)對正文清洗時,會去除網址、合并正文中過多的空格、去除“\u200b”字符

def clean_weibo_content(content: str):""" 對微博數據中的文本內容進行清洗 Args: content: 文本 Returns: """# 去除網址content = re.sub(r"(https|http)?:\/\/(\w|\.|\/|\?|\=|\&|\%)*\b", "", content)# 合并正文中過多的空格content = re.sub(r"\s+", " ", content)# 去除\u200b字符content = content.replace("\u200b", "")return content

(3)對清洗后的數據進行整合,去除重復數據、正文內容字數小于100的數據和標題內容字數小于2的數據;并且拆分訓練集和測試集。

def build_news_data(content_path, title_path, train_save_path, test_save_path):""" 對微博數據進行清洗,構建訓練集和測試集 Args: content_path: 正文內容文件路徑 title_path: 標題內容文件路徑 train_save_path: 訓練集文件路徑 test_save_path: 測試集文件路徑 Returns: """# 打開文件,并將其zip成一個文件content_data = open(content_path, "r", encoding="utf-8")title_data = open(title_path, "r", encoding="utf-8")data = zip(content_data.readlines(), title_data.readlines())# 使用多進程處理數據threads = min(8, cpu_count())with Pool(threads) as p:annoate_ = partial(clean_data)data = list(tqdm(p.imap(annoate_, data, chunksize=8),desc="build data"))# 對數據進行過濾,去除重復數據、正文內容字長小于100的數據和標題內容字長小于100的數據data_set = set()data_new = []for d in data:if d["content"] in data_set or len(d["content"]) < 100 or len(d["title"]) < 2:continueelse:data_set.add(d["content"])data_new.append(d)# 拆分數據,構建訓練集和測試集random.shuffle(data_new)train_data = data_new[:-3000]test_data = data_new[-3000:]fin = open(train_save_path, "w", encoding="utf-8")fin.write(json.dumps(train_data, indent=4, ensure_ascii=False))fin.close()fin = open(test_save_path, "w", encoding="utf-8")fin.write(json.dumps(test_data, indent=4, ensure_ascii=False))fin.close()

詳細代碼見Github項目的data_helper.py文件。

數據類實現

數據類的作用是將文本數據轉換成模型可以使用的索引數據,并預先存儲下來。避免模型每訓練一步,都進行無效的數據轉換操作。

(1)判斷是否存在緩存文件,如果存在,則直接加載;否則重新將文本數據轉換為索引數據,并存為緩存。

if os.path.exists(cached_feature_file) and not is_overwrite:logger.info("已經存在緩存文件{},直接加載".format(cached_feature_file))self.data_set = torch.load(cached_feature_file)["data_set"] # 如果緩存數據不存在,則對原始數據進行數據處理操作,并將處理后的數據存成緩存文件 else:logger.info("不存在緩存文件{},進行數據預處理操作".format(cached_feature_file))self.data_set = self.load_data(path_file)logger.info("數據預處理操作完成,將處理后的數據存到{}中,作為緩存文件".format(cached_feature_file))torch.save({"data_set": self.data_set}, cached_feature_file)

(2)將文本數據轉換為索引數據的函數

def convert_feature(self, sample):""" 數據處理函數 Args: sample: 一個字典,包含新聞的正文和新聞的標題,格式為{"content": content, "title": title} Returns: """input_ids = []token_type_ids = []# 對新聞正文進行tokenizer.tokenize分詞content_tokens = self.tokenizer.tokenize(sample["content"])# 對新聞標題進行tokenizer.tokenize分詞,注意tokenizer中已經將[Space]作為一個分隔符,不會切割成多個字符title_tokens = self.tokenizer.tokenize(sample["title"].replace(" ", "[Space]"))# 判斷如果正文過長,進行截斷if len(content_tokens) > self.max_len - len(title_tokens) - 3:content_tokens = content_tokens[:self.max_len - len(title_tokens) - 3]# 生成模型所需的input_ids和token_type_idsinput_ids.append(self.tokenizer.cls_token_id)token_type_ids.append(self.content_id)input_ids.extend(self.tokenizer.convert_tokens_to_ids(content_tokens))token_type_ids.extend([self.content_id] * len(content_tokens))input_ids.append(self.tokenizer.sep_token_id)token_type_ids.append(self.content_id)input_ids.extend(self.tokenizer.convert_tokens_to_ids(title_tokens))token_type_ids.extend([self.title_id] * len(title_tokens))input_ids.append(self.tokenizer.sep_token_id)token_type_ids.append(self.title_id)# 判斷input_ids與token_type_ids長度是否一致assert len(input_ids) == len(token_type_ids)# 判斷input_ids長度是否小于等于最大長度assert len(input_ids) <= self.max_lenreturn input_ids, token_type_ids

詳細代碼見Github項目的data_set.py文件。

模型代碼實現

模型部分,主要對transformers包中GPT2LMHeadModel類進行重寫,修改計算loss部分,只計算預測title部分的loss。

模型的輸入由word embedding、segment embedding和position embedding三部分組成,具體如下圖所示:

<img src="https://pic2.zhimg.com/v2-3d0484339fde98d71972fdc58439ca1d_b.jpg" data-caption="" data-size="normal" data-rawwidth="1117" data-rawheight="205" class="origin_image zh-lightbox-thumb" width="1117" data-original="https://pic2.zhimg.com/v2-3d0484339fde98d71972fdc58439ca1d_r.jpg"/>為什么需要加segment embedding?
為了更好地區分Content和Title,并且根據token type id可以僅計算title部分的損失值。def forward(self, input_ids=None, past=None, token_type_ids=None, labels=None, title_id=None):""" 前向函數,計算GPT2預測結果值 Args: input_ids: 輸入序列在詞表中的索引序列,size:[batch_size, sequence_length] past: 包含由模型預先計算好的隱藏狀態,一般使用在預測階段,用于加速順序解碼,防止重復計算前面計算過的token token_type_ids: 用于區分輸入序列中content和title的分隔符序列,size:[batch_size, sequence_length] labels: 標簽序列,size:[batch_size, sequence_length],一般情況下,與input_ids相同 title_id: title部分分隔符的id Returns: """# 獲取GPT2模型的輸出結果transformer_outputs = self.transformer(input_ids, past=past, token_type_ids=token_type_ids)# 獲取GPT2模型的最后一層的隱層節點狀態,size:[batch_size, sequence_length, config.n_embd]hidden_states = transformer_outputs[0]# 預測隱層節點狀態中的每一個token的下一個token,size:[batch_size, sequence_length, config.vocab_size]lm_logits = self.lm_head(hidden_states)# 拼接輸出結果outputs = (lm_logits,) + transformer_outputs[1:]# 如果labels不為None時,計算損失值loss,并拼接到輸出結果中if labels is not None:# 計算loss時,title_id不可以為None,因為需要title_id找到title的部分if title_id is None or token_type_ids is None:raise Exception("當labels不為None時, title_id和token_type_ids均不可以為None。")# 獲取mask值,如果token_type_ids中等于title_id的部分需要計算loss,標記為1;否則為0。# size:[batch_size, sequence_length]mask = (token_type_ids == title_id).long()# 獲取新的標簽,size:[batch_size, sequence_length]labels = labels * mask# 對預測結果和標簽進行偏移操作# GPT2的生成機制為通過前面的token,預測下一個token;并且labels與input_ids相同,# 因此input_ids中的第一個token的預測結果,實際上是標簽中的第二個token,以此類推,最終僅計算sequence_length-1個token的lossshift_logits = lm_logits[..., :-1, :].contiguous()shift_labels = labels[..., 1:].contiguous() <span class="c1"># 定義損失函數CrossEntropyLoss,并且設置忽略計算loss的索引,以及返回loss的形式</span><span class="c1"># 忽略shift_labels中為0的loss,也就是僅計算title部分的損失值</span><span class="c1"># 對loss的計算方式設為sum,由于我們僅計算了itle部分的損失值,如果使用mean,會使loss變小(實際除的是sequence_length-1,不是title部分的真實長度)</span><span class="n">loss_fct</span> <span class="o">=</span> <span class="n">CrossEntropyLoss</span><span class="p">(</span><span class="n">ignore_index</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">reduction</span><span class="o">=</span><span class="s2">"sum"</span><span class="p">)</span><span class="n">loss</span> <span class="o">=</span> <span class="n">loss_fct</span><span class="p">(</span><span class="n">shift_logits</span><span class="o">.</span><span class="n">view</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="n">shift_logits</span><span class="o">.</span><span class="n">size</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">)),</span> <span class="n">shift_labels</span><span class="o">.</span><span class="n">view</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">))</span><span class="c1"># 獲取title部分的真實長度,并計算真實loss</span><span class="n">num</span> <span class="o">=</span> <span class="n">shift_labels</span><span class="o">.</span><span class="n">ne</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">.</span><span class="n">long</span><span class="p">()</span><span class="o">.</span><span class="n">sum</span><span class="p">()</span><span class="o">.</span><span class="n">item</span><span class="p">()</span><span class="n">loss</span> <span class="o">=</span> <span class="n">loss</span> <span class="o">/</span> <span class="n">num</span><span class="n">outputs</span> <span class="o">=</span> <span class="p">(</span><span class="n">loss</span><span class="p">,)</span> <span class="o">+</span> <span class="n">outputs</span> <span class="k">return</span> <span class="n">outputs</span> <span class="c1"># (loss), lm_logits, presents, (all hidden_states), (attentions)</span></code></pre></div><p>詳細代碼見Github項目的model.py文件。</p><h2>模型訓練</h2><p>模型訓練參數如下圖所示:</p><figure data-size="normal"><noscript>&lt;img src="https://pic4.zhimg.com/v2-c0a650d43fefb2ac864fca4facfa3f87_b.jpg" data-caption="" data-size="normal" data-rawwidth="948" data-rawheight="898" class="origin_image zh-lightbox-thumb" width="948" data-original="https://pic4.zhimg.com/v2-c0a650d43fefb2ac864fca4facfa3f87_r.jpg"/&gt;</noscript><img src="data:image/svg+xml;utf8,&lt;svg xmlns='http://www.w3.org/2000/svg' width='948' height='898'&gt;&lt;/svg&gt;" data-caption="" data-size="normal" data-rawwidth="948" data-rawheight="898" class="origin_image zh-lightbox-thumb lazy" width="948" data-original="https://pic4.zhimg.com/v2-c0a650d43fefb2ac864fca4facfa3f87_r.jpg" data-actualsrc="https://pic4.zhimg.com/v2-c0a650d43fefb2ac864fca4facfa3f87_b.jpg"></figure><p>模型訓練執行代碼如下:</p><div class="highlight"><pre><code class="language-text">python3 train.py


python3 train.py --output_dir output_dir/(自定義保存模型路徑)

模型訓練文件主要由以下幾個函數組成:(1)設置訓練模型所需參數函數set_args;(2)訓練模型函數train;(3)對測試數據集進行模型測試evaluate;(4)主函數main。

詳細代碼見Github項目的train.py文件。

值得注意的是,在實例化tokenizer時,一定要使用tokenizer.add_tokens("[Space]", special_tokens=True),目的是為了將[Space]作為一個切分整體,例如:“我愛[Space]北京天安門。”,使用原始tokenizer分詞結果為"[‘我’, ‘愛’, ‘[’, ‘Space’, ‘]’, ‘北’, ‘京’, ‘天’, ‘安’,‘門’,’。’]";增加切分符號后的結果為"[‘我’, ‘愛’, ‘[Space]’, ‘北’, ‘京’, ‘天’, ‘安’,‘門’,’。’]"。

模型測試

模型測試部分,主要是通過不同的解碼策略,對已經訓練好的模型進行單個樣本的預測。

(1)top_k或top_p解碼策略,僅保留top_k個或累積概率到達top_p的標記,其他標記設為filter_value,后續在選取標記的過程中會取不到值設為無窮小。

def top_k_top_p_filtering(logits, top_k, top_p, filter_value=-float(“Inf”)):
“”"
top_k或top_p解碼策略,僅保留top_k個或累積概率到達top_p的標記,其他標記設為filter_value,后續在選取標記的過程中會取不到值設為無窮小。
Args:
logits: 預測結果,即預測成為詞典中每個詞的分數
top_k: 只保留概率最高的top_k個標記
top_p: 只保留概率累積達到top_p的標記
filter_value: 過濾標記值

Returns:

“”"
# logits的維度必須為2,即size:[batch_size, vocab_size]
assert logits.dim() 2
# 獲取top_k和字典大小中較小的一個,也就是說,如果top_k大于字典大小,則取字典大小個標記
top_k = min(top_k, logits[0].size(-1))
# 如果top_k不為0,則將在logits中保留top_k個標記
if top_k > 0:
# 由于有batch_size個預測結果,因此對其遍歷,選取每個預測結果的top_k標記
for logit in logits:
indices_to_remove = logit < torch.topk(logit, top_k)[0][, -1, None]
logit[indices_to_remove] = filter_value
# 如果top_p不為0,則將在logits中保留概率值累積達到top_p的標記
if top_p > 0.0:
# 對logits進行遞減排序
sorted_logits, sorted_indices = torch.sort(logits, descending=True, dim=-1)
# 對排序后的結果使用softmax歸一化,再獲取累積概率序列
# 例如:原始序列[0.1, 0.2, 0.3, 0.4],則變為:[0.1, 0.3, 0.6, 1.0]
cumulative_probs = torch.cumsum(F.softmax(sorted_logits, dim=-1), dim=-1)
# 刪除累積概率高于top_p的標記
sorted_indices_to_remove = cumulative_probs > top_p
# 將索引向右移動,使第一個標記也保持在top_p之上
sorted_indices_to_remove[, 1:] = sorted_indices_to_remove[, :-1].clone()
sorted_indices_to_remove[, 0] = 0
for index, logit in enumerate(logits):
# 由于有batch_size個預測結果,因此對其遍歷,選取每個預測結果的累積概率達到top_p的標記
indices_to_remove = sorted_indices[index][sorted_indices_to_remove[index]]
logit[indices_to_remove] = filter_value
return logits

(2)對單個樣本進行預測

def predict_one_sample(model, tokenizer, device, args, content):
“”"
對單個樣本進行預測
Args:
model: 模型
tokenizer: 分詞器
device: 設備信息
args: 配置項信息
content: 新聞正文

Returns:

“”"
# 對新聞正文進行預處理,并判斷如果超長則進行截斷
content_tokens = tokenizer.tokenize(content)
if len(content_tokens) > args.max_len - 3 - args.generate_max_len:
content_tokens = content_tokens[:args.max_len - 3 - args.generate_max_len]
# 獲取content_id、title_id、unk_id、sep_id值
content_id = tokenizer.convert_tokens_to_ids("[Content]")
title_id = tokenizer.convert_tokens_to_ids("[Title]")
unk_id = tokenizer.convert_tokens_to_ids("[UNK]")
sep_id = tokenizer.convert_tokens_to_ids("[SEP]")
# 將tokens索引化,變成模型所需格式
content_tokens = ["[CLS]"] + content_tokens + ["[SEP]"]
input_ids = tokenizer.convert_tokens_to_ids(content_tokens)
# 將input_ids和token_type_ids進行擴充,擴充到需要預測標題的個數,即batch_size
input_ids = [copy.deepcopy(input_ids) for in range(args.batch_size)]
token_type_ids = [[content_id] * len(content_tokens) for in range(args.batch_size)]
# 將input_ids和token_type_ids變成tensor
input_tensors = torch.tensor(input_ids).long().to(device)
token_type_tensors = torch.tensor(token_type_ids).long().to(device)
next_token_type = torch.tensor([[title_id] for in range(args.batch_size)]).long().to(device)
# 用于存放每一步解碼的結果
generated = []
# 用于存放,完成解碼序列的序號
finish_set = set()
with torch.no_grad():
# 遍歷生成標題最大長度
for in range(args.generate_max_len):
outputs = model(input_ids=input_tensors, token_type_ids=token_type_tensors)
# 獲取預測結果序列的最后一個標記,next_token_logits size:[batch_size, vocab_size]
next_token_logits = outputs[0][:, -1, :]
# 對batch_size進行遍歷,將詞表中出現在序列中的詞的概率進行懲罰
for index in range(args.batch_size):
for token_id in set([token_ids[index] for token_ids in generated]):
next_token_logits[index][token_id] /= args.repetition_penalty
# 對batch_size進行遍歷,將詞表中的UNK的值設為無窮小
for next_token_logit in next_token_logits:
next_token_logit[unk_id] = -float(“Inf”)
# 使用top_k_top_p_filtering函數,按照top_k和top_p的值,對預測結果進行篩選
filter_logits = top_k_top_p_filtering(next_token_logits, top_k=args.top_k, top_p=args.top_p)
# 對filter_logits的每一行做一次取值,輸出結果是每一次取值時filter_logits對應行的下標,即詞表位置(詞的id)
# filter_logits中的越大的值,越容易被選中
next_tokens = torch.multinomial(F.softmax(filter_logits, dim=-1), num_samples=1)
# 判斷如果哪個序列的預測標記為sep_id時,則加入到finish_set
for index, token_id in enumerate(next_tokens[:, 0]):
if token_id sep_id:
finish_set.add(index)
# 判斷,如果finish_set包含全部的序列序號,則停止預測;否則繼續預測
finish_flag = True
for index in range(args.batch_size):
if index not in finish_set:
finish_flag = False
break
if finish_flag:
break
# 將預測標記添加到generated中
generated.append([token.item() for token in next_tokens[:, 0]])
# 將預測結果拼接到input_tensors和token_type_tensors上,繼續下一次預測
input_tensors = torch.cat((input_tensors, next_tokens), dim=-1)
token_type_tensors = torch.cat((token_type_tensors, next_token_type), dim=-1)
# 用于存儲預測結果
candidate_responses = []
# 對batch_size進行遍歷,并將token_id變成對應漢字
for index in range(args.batch_size):
responses = []
for token_index in range(len(generated)):
# 判斷,當出現sep_id時,停止在該序列中添加token
if generated[token_index][index] != sep_id:
responses.append(generated[token_index][index])
else:
break
# 將token_id序列變成漢字序列,去除"##",并將[Space]替換成空格
candidate_responses.append(
“”.join(tokenizer.convert_ids_to_tokens(responses)).replace("##", “”).replace("[Space]", " “))
return candidate_responses

詳細代碼見Github項目的generate_title.py文件。

測試結果如下:

從測試集中抽一篇
content:
今日,中國三條重要高鐵干線——蘭新高鐵、貴廣鐵路和南廣鐵路將開通運營。其中蘭新高鐵是中國首條高原高鐵,全長1776公里,最高票價658元。貴廣鐵路最貴車票320元,南廣鐵路最貴車票206.5元,這兩條線路大大縮短西南與各地的時空距離。出行更方便了!中國“高鐵版圖”再擴容 三條重要高鐵今日開通
title:
生成的第1個標題為:中國“高鐵版圖”再擴容 三條重要高鐵今日開通
生成的第2個標題為:貴廣鐵路最高鐵版圖
生成的第3個標題為:出行更方便了!中國“高鐵版圖”再擴容三條重要高鐵今日開通

模型上線

通過Flask框架搭建了一個Web服務,將新聞摘要生成模型進行工程化,可以通過頁面可視化地體驗新聞摘要生成效果。

詳細代碼見Github項目的http_server.py文件。

并且在我之前文章中,詳細介紹過如何使用Flask框架搭建Web服務,見:

劉聰NLP:Web服務部署深度學習模型?zhuanlan.zhihu.com 劉聰NLP:Web服務部署深度學習模型-續集?zhuanlan.zhihu.com

啟動服務命令:

python3 http_server.py

python3 http_server.py --http_id “0.0.0.0” --port 5555

本地測試直接使用"127.0.0.1:5555/news-title-generate”,如果給他人訪問,只需將"127.0.0.1"替換成的電腦的IP地址即可。

初始頁面如下圖所示:

<img src=“https://pic1.zhimg.com/v2-1270e086554007ef3ebc73dceda6cb10_b.jpg” data-caption="" data-size=“normal” data-rawwidth=“2553” data-rawheight=“760” class=“origin_image zh-lightbox-thumb” width=“2553” data-original=“https://pic1.zhimg.com/v2-1270e086554007ef3ebc73dceda6cb10_r.jpg”/>

輸入新聞正文后,點擊“一鍵生成”,可以獲取到生成的新聞標題,如下圖所示:

<img src=“https://pic1.zhimg.com/v2-fcfca685e6bc98ef53279892f4f293fc_b.jpg” data-caption="" data-size=“normal” data-rawwidth=“2555” data-rawheight=“787” class=“origin_image zh-lightbox-thumb” width=“2555” data-original=“https://pic1.zhimg.com/v2-fcfca685e6bc98ef53279892f4f293fc_r.jpg”/>

后期工作

可能會將清華新聞數據、搜狗新聞數據等新聞數據集進行整理清洗,構建一個較完善的新聞摘要數據集。

可能會使用新聞數據訓練一個小的GPT2預訓練模型。

可能會對已上傳的新聞標題生成模型進行更新,訓練一個效果較好的模型。

總結

GPT2模型已經非常成熟,也有很多很好的開源項目。筆者本著開源之心,將代碼進行整理,增加詳細注釋,希望可以幫助大家更好地理解代碼。也歡迎大家留言討論。

鴿了這么久,終于回來了~~~~~~

其他文章推薦:

劉聰NLP:MacBERT:MLM as correction BERT

劉聰NLP:BERT-QE: 基于上下文化查詢擴展的文檔ReRank

劉聰NLP:SIGIR 2020之MarkedBERT模型:加入傳統檢索線索的Rerank模型

劉聰NLP:SIGIR 2020之DC-BERT模型:解耦問題-文檔編碼,提速QA-Rerank模塊

劉聰NLP:開源啦!開源啦!UNILM中文模型開源啦!

劉聰NLP:ACL2020論文整理之問題生成、自然語言推理、預訓練語言模型及部分應用、QA問答系統及機器閱讀理解

劉聰NLP:智能擴充機器人的“標準問”庫之Query生成

劉聰NLP:短文本相似度算法研究


總結

以上是生活随笔為你收集整理的超详细中文注释的GPT2新闻标题生成项目的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

日韩av电影免费在线观看 | 免费在线观看91 | 日韩欧美在线免费观看 | 国产群p视频 | 九色porny真实丨国产18 | 久久精品免费播放 | 91精品视频在线 | 国产码电影 | 91久久国产露脸精品国产闺蜜 | 久热超碰| 国产亚洲精品成人av久久ww | 国产美女被啪进深处喷白浆视频 | 国产一区在线不卡 | 欧美成a人片在线观看久 | 91九色视频网站 | 麻豆精品传媒视频 | 一区二区三区免费在线观看视频 | 亚洲精品女 | 免费观看成人网 | 国产69精品久久久久99尤 | 色av男人的天堂免费在线 | 国产精品免费久久久久 | 久久久久国产精品免费网站 | 一级性视频| 日韩精品一区二区三区不卡 | 国产一区二区在线免费播放 | 香蕉影院在线观看 | 综合国产视频 | 久久夜色精品国产欧美乱极品 | av在线小说 | 国产精品高清在线观看 | 亚洲精品视频久久 | 国产精品久久99精品毛片三a | 五月综合婷 | 日本久久视频 | 精品1区二区 | 人人射人人爱 | 97碰在线 | 久久在线免费 | 成人小视频在线观看免费 | 国产精品视频免费看 | 日韩欧美99| 国产九九精品视频 | 日韩在线一二三区 | 久久久久久久久久影院 | 五月天激情开心 | 成人黄色小说网 | www.久久久精品 | 欧美在线a视频 | 免费黄色av | 久久不见久久见免费影院 | 国产精品丝袜久久久久久久不卡 | 成年人黄色在线观看 | 久久久久女人精品毛片 | 久久激情视频免费观看 | 欧美黄色免费 | 丁香五婷| 九九热精品视频在线播放 | 伊人影院av | 国产在线小视频 | 午夜丁香网 | 精品视频在线视频 | 91亚洲精品国偷拍自产在线观看 | 91视频下载| 午夜视频不卡 | 久久精品三 | 国产中文视 | 亚洲福利精品 | 国精产品999国精产品视频 | 日日夜夜免费精品视频 | 日韩中文字幕在线不卡 | www.天天干.com | 日本黄色免费在线观看 | 成人a级黄色片 | 久久国产欧美日韩精品 | 日日干 天天干 | 欧美视频在线二区 | 国产中文字幕网 | 97超碰.com | 午夜999| 91精品爽啪蜜夜国产在线播放 | 久久久久久美女 | 亚洲日日日 | 九九九热精品免费视频观看 | 亚洲成人黄色在线 | 午夜精品久久久 | 精品久久久久久国产偷窥 | 日韩精品中文字幕在线不卡尤物 | 日本在线精品视频 | 久久久久久久国产精品视频 | 精品1区2区3区 | 成人国产精品 | 日韩精品一区二区在线观看 | 又黄又爽又无遮挡免费的网站 | 国内精品久久久久久中文字幕 | 永久免费毛片 | 99精品国产一区二区三区不卡 | 亚州成人av在线 | 天天操天天爱天天干 | 在线黄色免费av | 操天天操 | 97人人网| www.国产毛片 | 少妇搡bbbb搡bbb搡69 | 色噜噜狠狠狠狠色综合久不 | 国产专区视频在线 | 婷婷国产一区二区三区 | www.夜夜骑.com | www天天操 | 欧美a级在线播放 | 一区二区网| 国产高清视频在线免费观看 | 日日干 天天干 | 免费a v在线| 欧美日在线观看 | www黄| 永久免费的啪啪网站免费观看浪潮 | 91精品国产自产91精品 | 视频在线一区二区三区 | 久久久影院一区二区三区 | 亚洲无线视频 | 成年人app网址 | 久草在线视频资源 | 国产精品k频道 | 国产91区| 天天干天天射天天操 | 国产xxxx性hd极品 | 特级黄色一级 | 国产在线观看一区 | 色婷婷在线视频 | 又黄又刺激视频 | 欧美aaa级片 | 视频二区 | 久草热久草视频 | 欧亚日韩精品一区二区在线 | 亚洲日本欧美 | 国产成人黄色av | 视频99爱 | 国产成人在线网站 | 亚洲精品一区二区精华 | 久久99精品国产99久久6尤 | 91看片网址 | 欧美成年网站 | 久久精视频 | 亚洲影院天堂 | 国产免费黄色 | 成人精品久久久 | 国产精品99视频 | www.伊人网| 欧美 日韩 性 | 在线观看国产高清视频 | 免费久久久久久 | 国产无遮挡又黄又爽馒头漫画 | 日日噜噜噜噜夜夜爽亚洲精品 | 精品久久久久久久久久久院品网 | 在线观看91视频 | 天天夜夜亚洲 | 久久久久黄色 | 91成人亚洲 | 国产精品av电影 | 日韩色在线 | 欧美久久久影院 | 怡红院av久久久久久久 | 久草视频在线观 | 91亚洲国产成人久久精品网站 | 久久精品视频18 | 天天天在线综合网 | 麻豆视频一区二区 | 一区免费在线 | 成人精品一区二区三区中文字幕 | 久久久久国产一区二区三区四区 | 成人影视片 | 在线观看视频99 | 色网站免费在线观看 | 国产一区二区久久精品 | 国产69精品久久久久久 | 色婷婷激情电影 | 国产一区在线视频观看 | 免费三级a | 久久久久久久福利 | 国产高清在线免费观看 | 永久免费毛片在线观看 | 视频在线观看91 | 在线观看你懂的网站 | 国产一区在线看 | 久久99国产精品久久99 | 国产麻豆精品在线观看 | 成人午夜免费剧场 | 中文字幕在线观看一区二区三区 | 亚洲欧美乱综合图片区小说区 | 久久毛片高清国产 | 久久久久高清毛片一级 | 久久久视屏 | av电影不卡在线 | 欧美精品久久久久久久久久 | 久草资源免费 | 最近日本韩国中文字幕 | 日韩高清免费在线 | 99色在线观看视频 | 久久久久久久久久久久亚洲 | 国产精品美女久久久久久久网站 | 少妇bbb搡bbbb搡bbbb | 91日韩在线 | 最近在线中文字幕 | 五月天激情婷婷 | 激情久久久久久久久久久久久久久久 | 欧美日韩免费一区二区 | 国产免费久久av | 久青草国产在线 | 四虎免费在线观看视频 | 久久夜视频 | 99999精品 | 日韩精品免费在线观看视频 | 日韩欧美一区二区不卡 | 黄色网中文字幕 | 91丨九色丨高潮丰满 | 日韩精品一二三 | 日韩精品不卡在线观看 | 成人一区二区在线观看 | 欧美中文字幕久久 | 亚洲精品乱码久久久久久蜜桃91 | 久久精品成人欧美大片古装 | 婷婷综合亚洲 | av不卡在线看 | 96视频免费在线观看 | 97人人射 | 99精品国产99久久久久久福利 | 天天综合色网 | 最近免费中文视频 | 国产字幕在线看 | 又黄又爽又湿又无遮挡的在线视频 | 日日夜日日干 | 成人四虎影院 | 区一区二在线 | 久久精品精品 | 成人av在线电影 | 日韩在线一二三区 | www.久久色.com | 久青草电影 | 亚洲一区二区观看 | 亚洲伦理一区二区 | 成人精品国产免费网站 | 婷婷丁香激情五月 | 欧美成人va| 91爱爱免费观看 | av成人免费网站 | 婷婷丁香九月 | 日韩av网址在线 | 国产精品久久久久久久久岛 | 国产视频日韩视频欧美视频 | 久久久免费毛片 | 国产精品女同一区二区三区久久夜 | 亚洲一一在线 | 国产精品毛片一区视频播不卡 | 色a综合| 日韩黄色大片在线观看 | 91精品久久久久久久99蜜桃 | 天天爽夜夜操 | 日韩偷拍精品 | 亚洲综合视频在线观看 | 国产第一页福利影院 | 天天翘av | 亚洲日韩中文字幕 | 97人人看 | 国产高清福利在线 | 久久久99精品免费观看 | 亚洲综合色婷婷 | 亚洲狠狠干 | 国产一二区视频 | 久久国产一区 | 人人澡人人模 | 亚洲无线视频 | 天天操天天爽天天干 | 国产精品一区二区久久久 | 13日本xxxxxⅹxxx20 | 久久成人免费电影 | 亚洲精品乱码久久久久久写真 | 国产一级免费观看 | 黄色软件在线观看 | 在线久热 | 天天爱天天操天天爽 | 丁香婷婷电影 | 18国产精品白浆在线观看免费 | 亚洲a免费| 国产福利免费在线观看 | 天天操天天操天天操天天操天天操 | 国产亚洲精品久久久网站好莱 | 婷婷午夜 | 中文免费在线观看 | 免费视频91 | 五月天狠狠操 | 国产一级视频 | 久久久久国产一区二区 | 超碰公开在线 | 亚洲欧洲精品一区二区 | 精品在线视频一区二区三区 | 免费高清在线观看成人 | 成年人黄色在线观看 | 超碰97国产| 国产精品麻豆三级一区视频 | 麻豆视频在线观看免费 | 国产一区麻豆 | 久久99在线观看 | 人人澡人摸人人添学生av | 久草视频在线免费看 | 青青草国产精品视频 | 麻豆91精品91久久久 | 日韩专区一区二区 | 夜夜夜夜操 | 日本在线视频网址 | 国产一二区视频 | 一区免费视频 | 国产午夜三级一二三区 | aaa日本高清在线播放免费观看 | 久久艹免费 | 91人人爱 | 狠狠狠干狠狠 | 国产在线观看一区 | 久久久久久久久福利 | 亚洲艳情 | 国产高清视频免费 | 国产丝袜网站 | 激情综合亚洲精品 | 午夜久久久久久久久久影院 | 骄小bbw搡bbbb揉bbbb | 操操操人人人 | 久久精品视 | 九九免费精品 | 色资源中文字幕 | 99综合电影在线视频 | 欧美日韩亚洲在线 | 在线国产日本 | 在线看av的网址 | 国产精品剧情 | 欧美久久影院 | 中文字幕av全部资源www中文字幕在线观看 | 国产黄色大片免费看 | 日本久久免费电影 | 亚州天堂 | 日本最大色倩网站www | 亚洲免费av电影 | 国产精品久久久久久久久久久免费 | 成人超碰97| 日韩视频中文 | 日本中文字幕在线 | 成人国产精品免费观看 | 亚州视频在线 | 在线免费观看国产 | 在线观看色网站 | www.夜色.com | 日本在线视频一区二区三区 | 国产午夜三级一区二区三 | 国产美女被啪进深处喷白浆视频 | 国产一区二区视频在线 | 三级av网站 | 精品国产一二三四区 | 日韩在线精品视频 | 久久激情视频 | 中文字幕有码在线播放 | 一区二区视频在线观看免费 | 五月婷婷在线综合 | 中文伊人 | 国产经典 欧美精品 | av午夜电影 | 91成人小视频 | 成人午夜网址 | 成人午夜片av在线看 | 免费a级毛片在线看 | 91中文字幕网 | 青草视频免费观看 | 中文字幕在线观看完整 | 国产精华国产精品 | 国产高清在线观看av | 一级黄色片在线免费观看 | 狂野欧美激情性xxxx欧美 | 久久www免费视频 | 色婷婷亚洲综合 | 色综合欧洲 | 国产午夜精品一区二区三区嫩草 | 国产小视频在线播放 | 天天亚洲 | 国产在线欧美 | 少妇av片 | 欧美狠狠操 | 日韩中文久久 | 久久美女免费视频 | 黄色小网站免费看 | 亚洲资源一区 | 9999精品免费视频 | 亚洲精品国产精品国自产观看浪潮 | 精品日韩在线 | 天天操福利视频 | 色婷婷综合成人av | 久久精品99北条麻妃 | 娇妻呻吟一区二区三区 | 五月综合网站 | 国产高清视频网 | 插久久 | av电影不卡 | 欧美激情综合五月 | 草久久精品| 欧美9999| 色偷偷88888欧美精品久久 | 人人狠狠综合久久亚洲婷 | 亚洲 欧美 国产 va在线影院 | 国产精品免费一区二区三区 | 日本狠狠干| 色婷婷久久一区二区 | 91在线观看欧美日韩 | 欧美色操 | 九九热精品国产 | 久久久久久伊人 | 在线观看av麻豆 | 美女黄网站视频免费 | 欧美日韩中文另类 | 国产美女久久久 | av丝袜天堂| 在线观看亚洲视频 | 亚洲日日日 | 欧美一级在线观看视频 | 激情网在线视频 | 草在线| 日韩精品欧美专区 | 日日夜夜av | 成人午夜影院在线观看 | 久久99热久久99精品 | 欧美日韩精品在线视频 | 亚洲精品国产电影 | 99久久精品国产观看 | 成人午夜av电影 | 久久色在线播放 | 五月婷婷在线视频观看 | 国产精品高清在线观看 | 日韩免费成人av | 九九九九精品九九九九 | 色婷婷综合久久久 | 国产亚洲精品bv在线观看 | 手机av看片| 天天干天天干天天色 | 国产第一页福利影院 | 国产大片黄色 | 婷婷精品视频 | 97超在线视频 | 人人澡人人澡人人 | 国产精品五月天 | 亚洲激情综合 | 九九精品视频在线看 | av高清一区二区三区 | 国产成人精品一区二区三区福利 | 日韩在线视 | 国产色视频一区二区三区qq号 | 999电影免费在线观看2020 | 91亚洲成人| 西西www4444大胆在线 | www.色五月| 国产黄色在线 | 久久精品电影院 | www.色爱| 国产精品地址 | 成人福利av | 中文字幕 婷婷 | 欧美一级性生活片 | 人人讲下载| 成人网在线免费视频 | 国产精品wwwwww| 日韩高清免费观看 | 久久久天天操 | 黄色免费网站下载 | 草久在线观看 | 五月开心色 | 91毛片在线观看 | 国产一区高清在线观看 | 国产精品不卡在线 | 亚洲人成在线观看 | www.伊人网 | 亚洲视频在线观看网站 | 国产精品久久一卡二卡 | 国产高清在线精品 | 精品国内自产拍在线观看视频 | 99久热在线精品视频 | 国产在线精品一区二区三区 | 在线观看免费黄视频 | 91新人在线观看 | 欧美国产亚洲精品久久久8v | 亚洲涩综合 | 四虎在线观看精品视频 | 久久99国产一区二区三区 | 麻豆91网站 | 9在线观看免费高清完整版在线观看明 | 亚洲在线视频免费 | 天天操天天干天天爽 | x99av成人免费 | 日韩精品一区二区不卡 | 亚洲国产中文字幕在线 | 免费精品国产 | 国产一区二区观看 | 亚洲一区二区三区miaa149 | 久久精品99北条麻妃 | 十八岁以下禁止观看的1000个网站 | 日韩在线观看视频一区二区三区 | 久久99爱视频 | 午夜影视剧场 | 在线视频一区二区 | 国产在线不卡一区 | 97国产大学生情侣白嫩酒店 | 久久综合毛片 | 99综合久久 | 最新av观看 | 久久国产精品久久久 | 激情伊人五月天久久综合 | 91视频在线免费下载 | 中文字幕精 | 激情综合网五月激情 | 成人在线观看网址 | 2020天天干天天操 | 久色婷婷| 日b视频在线观看网址 | 国内精品中文字幕 | 人人澡超碰碰 | 日韩欧美高清一区二区三区 | 日韩av在线免费看 | 日本aaaa级毛片在线看 | 色干综合 | 日韩精品一卡 | 99riav1国产精品视频 | 91最新视频| 黄色一级动作片 | 国产精品美 | 天天草夜夜 | 国产免费又爽又刺激在线观看 | 精品久久久久一区二区国产 | 在线观看的av | 久久综合九色综合欧美就去吻 | 91精品视频一区二区三区 | 成人免费在线观看电影 | 日韩精品一区二区电影 | 久久久久久麻豆 | 国产精品久久久久久久久免费 | 欧美疯狂性受xxxxx另类 | 国产 日韩 欧美 自拍 | 四虎在线免费观看视频 | 亚洲丝袜一区 | 亚洲国产精品电影在线观看 | 九九99靖品 | 国产免费中文字幕 | 免费视频a | 中文字幕永久在线 | 久久人人精 | 99久久一区 | 三级av在线 | 黄色片网站免费 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 亚洲欧美国产日韩在线观看 | 国产成人在线播放 | www.香蕉视频在线观看 | 少妇高潮冒白浆 | 视频一区在线免费观看 | 天天干天天干天天 | 99精品偷拍视频一区二区三区 | 国产成人精品一区二 | 碰碰影院 | 92中文资源在线 | 国产福利不卡视频 | 激情久久五月天 | 狠狠插狠狠干 | 欧美精品一二 | 黄色免费观看视频 | 91久久精品一区二区三区 | 色综合久久久久 | 天天干天天爽 | 国产女人免费看a级丨片 | 成全免费观看视频 | 亚洲日本欧美在线 | 欧美日韩精品区 | 黄色毛片一级 | 国产精品久久网 | av综合av | 日韩免费电影在线观看 | 黄色亚洲免费 | 日韩成人精品一区二区三区 | 国产精国产精品 | 成人在线观看免费视频 | 一级黄网 | 国产精品麻豆三级一区视频 | 亚洲开心激情 | 国产一级在线免费观看 | 在线观看中文字幕亚洲 | 国产精品久久久久久久久久白浆 | 日本久久免费视频 | 免费看的黄色 | 国产成人一区二区三区免费看 | 欧美极品久久 | 精品国产免费人成在线观看 | 日韩有码专区 | 中文字幕在线视频一区二区三区 | 国产视频首页 | 日韩视频精品在线 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 中文字幕亚洲精品日韩 | 色综合网| 久久福利在线 | 狠狠躁日日躁狂躁夜夜躁av | 手机在线观看国产精品 | 久久国产精品99国产精 | 国产小视频在线免费观看视频 | 亚洲日本在线一区 | 亚洲综合激情小说 | 国产日本在线 | 午夜精品一区二区三区免费视频 | 国产精品久久人 | 一区二区 不卡 | 99久久久国产精品免费99 | 国产免费嫩草影院 | 五月天色站 | 精品久久久国产 | 黄色片毛片 | a√国产免费a| 九九在线视频免费观看 | 久热免费在线 | 久久视讯 | 中国一级特黄毛片大片久久 | 超碰在线人人97 | 久久第四色| 69国产成人综合久久精品欧美 | 成人久久18免费网站麻豆 | 4p变态网欧美系列 | 国产品久精国精产拍 | 激情在线网站 | 亚洲一级片在线看 | 精品影院一区二区久久久 | 日韩免费一区 | 亚洲伊人av | 这里有精品在线视频 | 久二影院 | 天天干天天想 | 精品在线一区二区三区 | 正在播放 国产精品 | 亚洲成a人片77777kkkk1在线观看 | 成 人 黄 色 视频免费播放 | 天堂av网站 | 中文字幕亚洲欧美日韩2019 | 久久伦理影院 | 亚洲综合网站在线观看 | 国产国语在线 | 91九色porny在线 | 日韩一区二区三区在线看 | 色婷婷狠狠五月综合天色拍 | 热久久这里只有精品 | 天天做天天爽 | av网站免费线看精品 | 亚洲欧美国产日韩在线观看 | 亚洲成人国产精品 | 日韩高清在线一区二区三区 | 毛片在线播放网址 | 狂野欧美激情性xxxx欧美 | 免费看片亚洲 | 日韩二区在线播放 | 欧美日韩一区二区在线 | 天天操天天色天天射 | www.888.av | 成人网色| 日日碰夜夜爽 | 欧美日韩高清 | 国产不卡在线观看视频 | 99久久婷婷国产一区二区三区 | 久久国产免费 | 中文字幕之中文字幕 | 免费网站观看www在线观看 | 国产在线观看地址 | 五月开心六月伊人色婷婷 | 97免费在线观看 | 久热色超碰 | 久久激情视频网 | 国产一区二区不卡视频 | 一级黄色免费 | 日韩av在线一区二区 | 国产精品com | 亚洲最新合集 | 人人躁 | 99久久精品免费视频 | 天天射日 | 九九精品在线观看 | 99视频精品 | 欧美视频一区二 | 97超碰人人看 | 亚洲精品9 | 久久99这里只有精品 | 成人午夜精品久久久久久久3d | 色福利网 | 精品国产免费看 | 一级黄色av | 日韩毛片久久久 | 国产精品免费不卡 | 成人在线视频观看 | 天天操夜夜操夜夜操 | 亚洲精品视频大全 | 天天视频色版 | 久久成人久久 | 日产乱码一二三区别免费 | 日韩电影一区二区三区 | 成人久久久久久久久久 | 在线免费观看国产视频 | av丝袜天堂 | 日韩特黄一级欧美毛片特黄 | 超碰免费成人 | 午夜av激情 | 五月天色综合 | 99爱精品在线 | 99久久国产免费免费 | 国产精品久免费的黄网站 | 亚洲作爱视频 | 在线精品国产 | 国产精品欧美精品 | 人人插人人草 | 久久99久久99精品免观看软件 | 国产黄 | www.狠狠干 | 国产精品va在线观看入 | 视频在线观看入口黄最新永久免费国产 | 日韩xxxbbb | 色综合激情网 | 91麻豆精品国产91 | 91在线看黄 | 国产精品黄色影片导航在线观看 | 国产视频91在线 | 亚洲精品小视频 | 99色在线播放 | 日韩久久视频 | 三级视频日韩 | 激情五月婷婷 | 日韩免费网址 | 国产精品 中文在线 | 亚洲1级片 | 国产日韩精品一区二区在线观看播放 | 久久成人国产精品一区二区 | 美女久久久久久 | 免费视频色 | 九九有精品 | 久久不卡国产精品一区二区 | 99爱国产精品 | 探花视频在线观看 | 在线观看中文字幕 | 国产大片黄色 | 97成人精品视频在线观看 | 亚洲精品视频网站在线观看 | 中文字幕免费高清在线观看 | av黄色免费看 | 日韩国产精品久久久久久亚洲 | 亚洲精品综合欧美二区变态 | 狠狠色噜噜狠狠狠合久 | 四虎小视频 | 久艹视频免费观看 | 国产麻豆电影在线观看 | 免费色视频网址 | 国产精品系列在线观看 | 久久国产香蕉视频 | 中文在线免费观看 | 国产999精品久久久久久麻豆 | 久久午夜电影 | 人人干天天射 | 超碰免费观看 | 女人18片毛片90分钟 | 91av欧美 | 91丨九色丨高潮丰满 | 国产精品男女啪啪 | 久久网页| 激情欧美日韩一区二区 | 婷婷丁香激情五月 | 在线观看精品视频 | 免费高清无人区完整版 | 免费 在线 中文 日本 | 日韩资源在线播放 | 国产91精品久久久久 | 午夜精品影院 | 精品中文字幕在线观看 | 国产精品大全 | 精品在线小视频 | 久久综合九色九九 | 中文字幕 影院 | 久久精品草 | 色综合www| 欧美激情综合色综合啪啪五月 | 国产在线污 | 欧美精品xxx | 日韩电影中文,亚洲精品乱码 | 九九免费在线看完整版 | 国产成人一区二区啪在线观看 | 中文字幕综合在线 | 久久精品看片 | 99精品视频免费在线观看 | 91精品久久久久久综合乱菊 | 欧美久久久影院 | 伊人五月天综合 | 欧美精品v国产精品 | 亚洲三级视频 | 五月婷婷国产 | 免费看一级一片 | 久久久国产精品久久久 | 国产黄免费看 | 免费精品在线视频 | 成人午夜性影院 | 97超碰在线播放 | 中文字幕丝袜一区二区 | 在线草| 91精品国产99久久久久 | 久久久久久久电影 | 五月婷婷色播 | 国产69精品久久99的直播节目 | 色婷婷狠狠18 | 黄色精品一区 | 成人精品电影 | 综合久久久久 | 国产色综合| 日韩欧美视频在线免费观看 | 久久爱www. | 波多野结衣在线观看视频 | 午夜精品久久久久99热app | 久草免费电影 | 在线小视频国产 | 综合天天色 | 亚洲欧美日韩国产一区二区三区 | 欧美va天堂va视频va在线 | 欧美精品你懂的 | 久久国产精品免费一区二区三区 | 综合天天| 91精品视频免费看 | 久久国产精品99精国产 | 日韩精品一区二区不卡 | 黄色av影院 | 精品播放 | 国产精品一区二区在线播放 | 亚洲 欧美变态 另类 综合 | 在线观看完整版免费 | 中文字幕日本特黄aa毛片 | a天堂中文在线 | 99久久精品国产亚洲 | 亚洲日本黄色 | 免费在线视频一区二区 | 韩国精品福利一区二区三区 | 蜜桃视频日韩 | 国产精品久久久久久久久搜平片 | 丝袜网站在线观看 | 精品一区二区在线观看 | 你操综合 | 最近中文国产在线视频 | 激情综合中文娱乐网 | 欧美日韩在线免费观看 | 91在线精品秘密一区二区 | 国产一区二区影院 | 不卡电影一区二区三区 | 久久久久成人精品免费播放动漫 | 久草在线免 | 久久久国产精品久久久 | 日韩大片在线免费观看 | 日韩午夜在线 | 国产精品乱码久久久久 | 黄色片视频在线观看 | 久久久www成人免费毛片 | 日韩一区二区三区免费电影 | 国产在线观看黄 | 精品国产乱码一区二区三区在线 | 久久久影院官网 | 日韩欧美国产精品 | 日韩在线免费电影 | 在线免费观看国产视频 | 精品久久影院 | 天天人人综合 | 一级黄色在线视频 | 国产高清黄 | 免费福利视频导航 | 人人干人人艹 | 久久精品一 | 亚洲综合激情 | av电影在线免费观看 | 亚洲涩综合 | 日韩精品视 | av播放在线 | www.色的| 精品久久久久国产免费第一页 | 日韩在线观看av | 亚洲成av | 九九色在线观看 | 日韩免费在线观看 | 五月天丁香亚洲 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 国产高清一 | 在线观看日韩 | 中文字幕精品www乱入免费视频 | 亚洲午夜久久久久 | 一级免费观看 | 91亚洲欧美| 91.麻豆视频 | 97国产在线播放 | 国产成人精品女人久久久 | www好男人 | 天天做天天射 | 国产亚洲成人精品 | 国内小视频在线观看 | 亚洲精品乱码久久久久久久久久 | 国产精品短视频 | 成人av免费看 | 99re中文字幕 | 中文字幕色播 | av中文国产 | 久草在线一免费新视频 | 国产成人福利片 | 国精产品一二三线999 | 国产精品久久久久久久久久久杏吧 | 人人澡人人爱 | 国产麻豆视频网站 | 中国一区二区视频 | 丝袜美腿av| 成人av电影免费在线观看 | 色婷婷综合久色 | 色婷婷丁香 | 久久论理 | 欧美a√大片 | 香蕉成人在线视频 | 亚洲精品www久久久 www国产精品com | 成人av日韩| 中文字幕一区在线观看视频 | 国产精品一区免费看8c0m | 天天草av | 国产不卡片 | 不卡的av在线播放 | www激情com| 国产精品高清在线观看 | 成人av电影免费观看 | 中文字幕在线播出 | 91免费视频网站在线观看 | 麻豆影视网站 | 国产免费又爽又刺激在线观看 | 精品视频免费 | 国内精品久久天天躁人人爽 | 久久精品久久久久久久 | 久久激情电影 | 久久人人爽人人人人片 | 国产视频亚洲视频 | 亚洲精品www.| 久久综合久久综合这里只有精品 | 成人毛片在线观看 | 成人app在线播放 | 国产伦精品一区二区三区高清 | 91香蕉嫩草 | 免费黄a| 国产精品久久久久久久av大片 | 中文字幕第一页在线视频 | 久久久精品一区二区 | 成年人电影毛片 | 国产精品18久久久久久首页狼 | 日韩欧美精品在线观看 | 色综合欧洲 | 少妇性xxx| 亚洲综合涩 | 狠狠综合网 | 天天躁日日躁狠狠 | 男女拍拍免费视频 | 日韩视频在线不卡 | 久久久久久久久久久精 | 免费高清在线视频一区· | 精品一区中文字幕 | 国内丰满少妇猛烈精品播放 | 久久不卡国产精品一区二区 | 免费一级特黄录像 | 玖玖色在线观看 | 中文字幕在线观看完整 | 日韩最新av在线 | 最近日本mv字幕免费观看 | 国产手机在线播放 | 欧美 亚洲 另类 激情 另类 | a成人v在线 | 欧美大香线蕉线伊人久久 | 中文字幕中文字幕在线中文字幕三区 | 日韩大片在线免费观看 | 国产白浆在线观看 | 天天天干 | 日日日视频 | 欧美日韩高清一区 | 国产黄色免费电影 | 五月婷婷网站 | 9在线观看免费高清完整版在线观看明 | 九九久久久久99精品 | 国产精品扒开做爽爽的视频 | 国产无套精品久久久久久 | 一级特黄aaa大片在线观看 | 美女黄视频免费看 | 99精品久久精品一区二区 | 亚洲欧美综合精品久久成人 | 国产免费美女 | 久久免费精品视频 | 久草在线免费资源 | 天天干夜夜操视频 | 亚洲精品国产精品国自产在线 | 欧洲精品码一区二区三区免费看 | 久久久不卡影院 | 成年人电影免费看 | 国产一级视频在线观看 | 五月婷婷综合激情网 |