999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

智能問答系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2019-07-30 08:31:24杜陽陽常家鑫張志豪張宸楠李馳
現(xiàn)代計(jì)算機(jī) 2019年18期
關(guān)鍵詞:規(guī)則文本模型

杜陽陽,常家鑫,張志豪,張宸楠,李馳

(中國礦業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,徐州221000)

0 引言

隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展和成熟,以互聯(lián)網(wǎng)為媒介的信息數(shù)量急速增長(zhǎng)。與此同時(shí),人們?cè)絹碓揭揽炕ヂ?lián)網(wǎng)獲取相關(guān)信息,如何準(zhǔn)確高效地從大量信息中獲取所需知識(shí)成為亟待解決的問題。對(duì)于編程工作者來說,在實(shí)際編程過程中可能會(huì)遇到一些遺忘的知識(shí)點(diǎn)。傳統(tǒng)的做法可能是詢問同事、查看相關(guān)文檔或者直接利用搜索引擎搜索答案。但是這些方式往往存在著獲取知識(shí)耗時(shí)較長(zhǎng),所得知識(shí)不精確的問題。研究面向編程知識(shí)獲取領(lǐng)域的智能問答系統(tǒng),能夠?yàn)榫幊倘藛T的知識(shí)獲取提供極大便利,提高工作效率和工作質(zhì)量。

對(duì)于用戶提出的問題,系統(tǒng)首先進(jìn)行語義的分析和理解,之后在知識(shí)庫中進(jìn)行查詢、匹配,最終將答案返回給用戶。不難發(fā)現(xiàn),系統(tǒng)中知識(shí)庫質(zhì)量的高低決定了系統(tǒng)返回答案的優(yōu)劣程度,高質(zhì)量知識(shí)庫的構(gòu)建是智能問答系統(tǒng)設(shè)計(jì)中需要面臨的挑戰(zhàn)之一。

當(dāng)前問答系統(tǒng)的知識(shí)庫大多存在問答對(duì)質(zhì)量不高,問答對(duì)數(shù)目偏少的問題。經(jīng)過對(duì)智能問答系統(tǒng)中問答對(duì)生成方法的研究,系統(tǒng)分別基于規(guī)則、NLP、機(jī)器學(xué)習(xí),三種生成問答對(duì)方法進(jìn)行智能問答系統(tǒng)構(gòu)建,并對(duì)其構(gòu)建的知識(shí)庫進(jìn)行分析比較,從中選擇問答對(duì)質(zhì)量最高的知識(shí)庫作為系統(tǒng)最終的知識(shí)庫。進(jìn)而運(yùn)用信息檢索技術(shù),實(shí)現(xiàn)高質(zhì)量智能問答。針對(duì)搜索常見編程知識(shí)的需求,系統(tǒng)通過爬取www.runoob.com 編程知識(shí)網(wǎng)站內(nèi)容構(gòu)建知識(shí)庫,實(shí)現(xiàn)“QA 對(duì)”的自動(dòng)生成。

1 智能問答系統(tǒng)設(shè)計(jì)方案

本系統(tǒng)由前端、后端、知識(shí)庫三大功能模塊構(gòu)成。前端既可面向普通用戶提供查詢服務(wù),也可為管理員提供操作數(shù)據(jù)庫的接口。后端實(shí)現(xiàn)數(shù)據(jù)獲取、對(duì)接收數(shù)據(jù)進(jìn)行分析和對(duì)前端請(qǐng)求的反饋并能對(duì)知識(shí)庫進(jìn)行人工的完善。知識(shí)庫則根據(jù)所爬取網(wǎng)站www.runoob.com 的內(nèi)容實(shí)現(xiàn)“QA 對(duì)”的自動(dòng)生成。系統(tǒng)的構(gòu)建流程如圖1 所示。

設(shè)計(jì)目標(biāo)如下:

前端設(shè)計(jì):實(shí)現(xiàn)與用戶的交互功能,并提供友好的交互界面。在實(shí)現(xiàn)全部功能的前提下,使得界面更加美觀,為用戶提供更加優(yōu)質(zhì)的信息服務(wù)。

后端設(shè)計(jì):實(shí)現(xiàn)從網(wǎng)頁中提取高質(zhì)量問答對(duì)的功能。其中問題由網(wǎng)頁中的標(biāo)題和關(guān)鍵詞構(gòu)成,答案由標(biāo)題和關(guān)鍵詞附近的文本和鏈接組成。并能實(shí)現(xiàn)QA對(duì)增加、刪除、修改、查詢等功能。

知識(shí)庫構(gòu)建:由爬取內(nèi)容自動(dòng)生成的“QA 對(duì)”構(gòu)建知識(shí)庫。盡可能多地提取高質(zhì)量問答對(duì)的同時(shí)保證知識(shí)庫中不存在相同的問題。

圖1 系統(tǒng)構(gòu)建流程圖

整個(gè)系統(tǒng)的結(jié)構(gòu)圖如圖2 所示。

系統(tǒng)的實(shí)現(xiàn)采用B/S 結(jié)構(gòu),利用PHP Web 開發(fā)框架Laravel 實(shí)現(xiàn)前后端的交互邏輯。該框架采用MVC架構(gòu)模式。此模式實(shí)現(xiàn)了模型、控制器、視圖三個(gè)層次的隔離,在修改其中一個(gè)層次的代碼的同時(shí)不會(huì)影響其他模塊的功能,降低了層次之間的耦合性[1]。使用此框架將系統(tǒng)開發(fā)為一個(gè)Web 應(yīng)用,使得系統(tǒng)和用戶的交互更為友好。

2 智能問答系統(tǒng)實(shí)現(xiàn)

系統(tǒng)工作的第一步是為知識(shí)庫的建立提供數(shù)據(jù)。以菜鳥教程網(wǎng)站內(nèi)容作為數(shù)據(jù)源,利用網(wǎng)絡(luò)爬蟲技術(shù)獲取頁面信息,借助網(wǎng)頁的結(jié)構(gòu)和屬性等特性獲取所需數(shù)據(jù),并將數(shù)據(jù)存入數(shù)據(jù)庫中。

在爬蟲獲取頁面并進(jìn)行頁面分析的過程中,獲取的數(shù)據(jù)包括相關(guān)問題答案的鏈接、答案的文本內(nèi)容,以及用于后續(xù)生成問題的問題標(biāo)簽列表。對(duì)于后續(xù)需要生成的問題,其問題標(biāo)簽列表由其答案所在位置的前三級(jí)標(biāo)題構(gòu)成。

在爬蟲程序中,利用Beautiful Soup 庫對(duì)頁面進(jìn)行層層嵌套解析的過程中獲取了包含答案以及該答案對(duì)應(yīng)的問題標(biāo)簽列表在內(nèi)的數(shù)據(jù)。答案所在區(qū)域的前三級(jí)標(biāo)題依次構(gòu)成該問題標(biāo)簽列表,并將此列表保存在row_tags.txt 文件內(nèi)?;谝?guī)則和NLP 的方法生成問題都需要結(jié)合row_tags.txt 進(jìn)行分析。

2.1 基于規(guī)則和NLP的QA對(duì)生成

根據(jù)所爬取的html 文檔結(jié)構(gòu),設(shè)計(jì)了以下規(guī)則。

規(guī)則1:假如最后一個(gè)標(biāo)簽以“參考手冊(cè)”結(jié)尾,則使用“有哪些……?”來生成問題,其中“有哪些”后面的內(nèi)容是該答案問題標(biāo)簽列表的倒數(shù)第二個(gè)元素,即該答案所在區(qū)域向前追溯的第二個(gè)標(biāo)題。

圖2 系統(tǒng)結(jié)構(gòu)圖

規(guī)則2:若最后一個(gè)標(biāo)簽以英文“?”中文“?”或者文字“嗎”結(jié)尾,則將倒數(shù)第二個(gè)標(biāo)簽和最后一個(gè)標(biāo)簽組合在一起來生成問題。

設(shè)計(jì)規(guī)則的同時(shí),以自然語言處理的方式對(duì)用戶提問進(jìn)行分析。并根據(jù)自然語言處理的結(jié)果設(shè)計(jì)相對(duì)應(yīng)的規(guī)則,使生成的問題更加合理。

在自然語言處理的方法中,使用了哈爾濱工業(yè)大學(xué)社會(huì)計(jì)算與信息檢索研究中心研制的語言技術(shù)平臺(tái)(LTP)[2]以及“結(jié)巴”中文分詞組件。

首先利用LTP 設(shè)計(jì)nlp_()方法,其功能是對(duì)輸入的語句進(jìn)行理解。該方法以句子作為參數(shù),以列表作為返回值。返回值列表中的元素為Python namedtuple(命名元組),而每個(gè)命名元組代表對(duì)一個(gè)句子經(jīng)過自然語言處理后所得到的單詞及其屬性。每個(gè)單詞的屬性值包括詞性、命名實(shí)體、依存弧的父節(jié)點(diǎn)詞的索引和依存弧的關(guān)系。

方法的實(shí)現(xiàn)經(jīng)過四個(gè)過程,分別為分詞、詞性標(biāo)注、命名實(shí)體識(shí)別和依存句法分析過程。首先對(duì)句子進(jìn)行分詞處理并將結(jié)果轉(zhuǎn)換成列表類型。列表在經(jīng)過去除首尾空格的處理之后作為詞性標(biāo)注過程的輸入。以上兩個(gè)過程的處理結(jié)果組合在一起,先后作為命名實(shí)體識(shí)別過程和依存句法分析過程的輸入,最終即可獲得一個(gè)單詞的詞性、命名實(shí)體、依存弧的父節(jié)點(diǎn)詞的索引和依存弧的關(guān)系。

基于自然語言處理技術(shù)設(shè)計(jì)如下規(guī)則:

規(guī)則3:利用“結(jié)巴”中文分詞中的posseg.lcut()方法對(duì)row_tags.txt 中的第三級(jí)標(biāo)題進(jìn)行分析。返回的結(jié)果為一個(gè)句子中所有的單詞以及每個(gè)單詞對(duì)應(yīng)的詞性。根據(jù)分析結(jié)果做如下處理,如果該標(biāo)題經(jīng)過分析之后僅含有一個(gè)詞語(即該標(biāo)題就是這個(gè)詞語),這時(shí)查看row_tags.txt 中的第二級(jí)標(biāo)題。如果第二級(jí)標(biāo)題包含第三級(jí)標(biāo)題,則把第二級(jí)標(biāo)題作為問題。否則,將第二級(jí)標(biāo)題和第三級(jí)標(biāo)題按順序組合為新的字符串作為問題。

規(guī)則4:利用上述設(shè)計(jì)的nlp_()方法對(duì)row_tags.txt中的第三級(jí)標(biāo)題進(jìn)行分析。在得到的分詞列表中,尋找依存弧關(guān)系為’HED’的詞語(依存弧關(guān)系為’HED’表示該詞語在這個(gè)句子中作為根節(jié)點(diǎn))并判斷該詞語的詞性。如果該詞語為動(dòng)詞,則在row_tags.txt 中的第三級(jí)標(biāo)題前加上字符串“如何”作為新的字符串,并把這個(gè)新的字符串作為問題。否則,就直接把row_tags.txt 中的第三級(jí)標(biāo)題作為問題。

以上規(guī)則規(guī)定了QA 對(duì)中問題的生成方法。針對(duì)不同的問題標(biāo)簽,遍歷以上所有規(guī)則,找到與該問題標(biāo)簽相匹配的規(guī)則。之后將生成的問題和答案組合存入數(shù)據(jù)庫。

2.2 基于RNN+LSTM的QA對(duì)生成

基于規(guī)則和NLP 的問題生成方法存在著問題生成質(zhì)量不高,規(guī)則需要人工構(gòu)建的缺點(diǎn)?;诖?,我們嘗試使用基于RNN+LSTM 的方法來生成QA 對(duì)。算法采用一種新的方式生成最終的問句。

該方法是:利用相關(guān)度判定模塊(SVM 分類器)對(duì)用戶所輸入的問題去除冗余并生成關(guān)鍵詞。利用排序算法(Word2Vec 詞向量模型+RNNLM 語言模型)對(duì)關(guān)鍵詞和預(yù)定義模板的匹配程度進(jìn)行打分。之后得到分?jǐn)?shù)最高的預(yù)定義模板,并根據(jù)此模板生成最終的問句[3]。

整個(gè)算法庫由四部分組成。分別存放于templates、data、models 和QAS 文件夾內(nèi)。對(duì)這四部分內(nèi)容介紹如下。templates 為預(yù)定義檢索詞模板,data 內(nèi)存放的是源數(shù)據(jù)(機(jī)器學(xué)習(xí),深度學(xué)習(xí)),models 內(nèi)為預(yù)訓(xùn)練的模型(SVM、Word2Vec、RNNLM),QAS 文件夾內(nèi)包含了訓(xùn)練模塊、相關(guān)度判定模塊、相似度計(jì)算模塊、頻度計(jì)算模塊以及排序生成模塊[4]。

QAS 內(nèi)的幾大模塊完成了該算法庫的使用。

(1)訓(xùn)練模塊(train_models.py)

此模塊為模型訓(xùn)練器。且TrainModel 類被TrainSVM、TrainW2V、TrainRNN 類繼承,原始數(shù)據(jù)集相對(duì)路徑、轉(zhuǎn)換后的訓(xùn)練集保存路徑和模型保存路徑作為其初始化參數(shù)。

訓(xùn)練SVM 的過程為:

from QAS import TrainRNN,TrainSVM,TrainW2V

初始化:

t=TrainSVM()

將原數(shù)據(jù)轉(zhuǎn)換為訓(xùn)練集:

t.origin_to_train()

開始訓(xùn)練并將模型保存到默認(rèn)路徑:

t.train()

(2)相關(guān)度判定模塊(correlation_calculate.py)此模塊對(duì)待檢索關(guān)鍵詞進(jìn)行判定并去除冗余,得到最終的關(guān)鍵詞。

from QAS import Terms2Search

初始化一個(gè)實(shí)例

t = Terms2Search(['Mysql','通過命令窗口插入數(shù)據(jù)'],'models/svm')

計(jì)算搜索序列的相關(guān)度

t.correlation_calcuulate()

(3)相似度計(jì)算模塊(similarity_calculate.py)

此模塊依賴于W2V 詞向量模型,利用WDM 算法計(jì)算文本之間的相似度,完成上述排序算法中的相似度計(jì)算。

from QAS import Search2Similar

初始化一個(gè)實(shí)例

s = Search2Similar(['Mysql','通過命令窗口插入數(shù)據(jù)'],'models/w2v')

計(jì)算查詢?cè)~與模板的匹配度

s.similarity_calculate()

(4)頻度計(jì)算模塊(frequency_calculate.py)

此模塊依賴于RNNLM(RNN+LSTM 語言模型),完成排序算法中的頻度計(jì)算,最終為問句打分。

from QAS import Search2Frequency

初始化一個(gè)實(shí)例,傳入語言模型和詞典

s=Search2Frequency(['Mysql','通過命令窗口插入數(shù)據(jù)'],'models/rnn','models/rnn_dict')

計(jì)算搜索詞序列的頻度

s.frequency_calculate()

(5)排序生成模塊(question_generate.py)

此模塊綜合利用上述各個(gè)模塊的功能,對(duì)生成的問句排序打分,得到分?jǐn)?shù)最高的預(yù)定義模板,并根據(jù)此模板生成最終的問句。

from QAS import QG

相似度序列

sim_list=[1.2375805176661339, 0.9552492172805888,0.9057426648128687,1.0242890857346802]

頻度序列

fre_list=[-22.761973053216934,0.417869508266449,-7.039058595895767,-7.06894388794899]

初始化實(shí)例

q=QG(sim_list,fre_list,0.2,0.3,0.5)

排序打分

q.ranking()

本算法相對(duì)于基于規(guī)則和NLP 的QA 對(duì)生成算法具有如下優(yōu)勢(shì):優(yōu)勢(shì)1:利用WDM 距離算法進(jìn)行相似度計(jì)算使得檢索詞不再受限于關(guān)鍵詞,還可以是短語或者句子。優(yōu)勢(shì)2:與傳統(tǒng)方法相比,利用深度學(xué)習(xí)語言模型使得每個(gè)句子的得分更加合理?;谝陨戏椒ǖ玫降膯柧浔憧珊推鋵?duì)應(yīng)的答案組成QA 對(duì),存入數(shù)據(jù)庫中。

2.3 信息檢索

基于以上三種方法,我們已經(jīng)構(gòu)造了不同的問答對(duì),并將其構(gòu)建為本系統(tǒng)的知識(shí)庫。針對(duì)每個(gè)查詢,我們需要在已有的知識(shí)庫中匹配與之相似度較高的問答對(duì)。實(shí)現(xiàn)此部分功能,我們對(duì)兩種文本相似度計(jì)算算法進(jìn)行分析,并利用相關(guān)Python 庫實(shí)現(xiàn)。

算法1 TF-IDF 使用統(tǒng)計(jì)的方法來評(píng)估一個(gè)字詞對(duì)于某一文件集或某一語料庫中的其中一份文件的重要性[5]。計(jì)算公式為:

某一個(gè)給定的詞語在該文檔中出現(xiàn)的次數(shù)被稱作TF(詞頻)。這個(gè)數(shù)字通常會(huì)被歸一化。IDF 指:假如包含某一詞條的文檔越少,那么該詞條的IDF 值越大,同時(shí)說明該詞條具有較高的類別區(qū)分能力[6]。計(jì)算公式為:

算法2 潛在語義索引(LSI)作為一種索引和檢索方法,與TF-IDF 不同,LSI 不是基于統(tǒng)計(jì)的方法。它基于奇異值分解(SVD)的數(shù)學(xué)技術(shù)來得到一段文本的主題。在LSI 中,相同上下文中使用的單詞一般具有相近的含義。此外,利用建立在上下文中出現(xiàn)的術(shù)語之間的關(guān)聯(lián),LSI 能夠?qū)⑽谋局黧w的概念內(nèi)容提取出來[7]。

LSI 克服了布爾關(guān)鍵字查詢中兩個(gè)最有問題的約束:同義詞和多義詞。同義詞通常是文檔作者和信息檢索系統(tǒng)用戶使用的詞匯不匹配的原因。因此,布爾或關(guān)鍵字查詢通常會(huì)返回不相關(guān)的結(jié)果并錯(cuò)過相關(guān)的信息。相比之下LSI 算法比TF-IDF 算法更具優(yōu)勢(shì)。以下為使用LSI 算法進(jìn)行文本相似度計(jì)算的過程。

在此,使用Gensim(Python 第三方庫)建立相應(yīng)模型進(jìn)行文本相似度的計(jì)算。實(shí)現(xiàn)過程分為以下兩步。

第一步,為所有數(shù)據(jù)表建立相似度模型,并將模型持久化。

訓(xùn)練語料的預(yù)處理。預(yù)處理的過程也就是將原始文本轉(zhuǎn)換成Gensim 能夠理解的稀疏向量的過程。

dictionary=gensim.corpora.Dictionary(texts)

corpus=[dictionary.doc2bow(text)for text in texts]

主題向量的變換,首先需要將模型對(duì)象初始化,Gensim 將訓(xùn)練語料作為初始化參數(shù)。

tfidf=gensim.models.TfidfModel(corpus)

在此基礎(chǔ)上,利用此模型將語料轉(zhuǎn)化為用TF-IDF值表示的文檔向量。

corpus_tfidf=[tfidf[doc]for doc in corpus]

Gensim 的LSI 模型訓(xùn)練建立在TF-IDF 之上,用來解決潛在語義。

利用TF-IDF 值表示的文檔向量訓(xùn)練LSI 模型,并將文檔映射到一個(gè)50 維的topic 空間中。

lsi = models.LsiModel(corpus_tfidf,id2word=dictionary,num_topics=50)

corpus_lsi=[lsi[doc]for doc in corpus]

接著,將待檢索的文檔向量作為相似度計(jì)算對(duì)象的初始化參數(shù)。

index_tfidf=gensim.similarities.MatrixSimilarity(corpus_tfidf)

index_lsi=gensim.similarities.MatrixSimilarity(corpus_lsi)

將模型持久化:

dictionary.save("MODELS/%s_dic"%table_name)

lsi.save("MODELS/lsi_%s"%table_name)

index_lsi.save("MODELS/lsi_index_%s"%table_name)

第二步:加載模型計(jì)算文檔相似度并獲取答案。

對(duì)于給定的一個(gè)查詢,需要從所有的文本中查找出具有最高主題相似度的文本。

首先,加載已經(jīng)生成的模型:

lsi = models.LsiModel.load ("MODELS/lsi_% s"% table_name)

lsi_index=gensim.similarities.MatrixSimilarity.load("MODELS/lsi_index_%s"%table_name)

dictionary=corpora.Dictionary.load("MODELS/%s_dic"%table_name)

其中,待檢索的查詢和文本必須用同一個(gè)向量空間表達(dá)。

利用jieba 庫的精確模式,將待檢索的查詢切開。并調(diào)用LSI 模型將語料轉(zhuǎn)化成LSI 向量。

text=dictionary.doc2bow(seg_text)

lsi_text=lsi[text]

利用lsi_text 對(duì)象計(jì)算出任意一段查詢和所有文本集合的相似度:

sims=lsi_index[lsi_text]

得到其中相似度最高的三個(gè):

positions=sims.argsort()[-3:]

之后在已經(jīng)建立好的數(shù)據(jù)庫中查詢出這三個(gè)相似度最高的問題所對(duì)應(yīng)的答案并返回。

3 結(jié)語

本文給出了基于規(guī)則、NLP、機(jī)器學(xué)習(xí),三種生成問答對(duì)方法的智能問答系統(tǒng)構(gòu)建過程。其中采用深度學(xué)習(xí)方法生成問答對(duì)的質(zhì)量最高。并比較介紹了信息檢索的兩種相似度計(jì)算算法,最終選擇LSI 作為系統(tǒng)的相似度計(jì)算算法。以上算法的選擇和實(shí)現(xiàn)保證了系統(tǒng)問題檢索與答案匹配的極高準(zhǔn)確率,具有一定的實(shí)際意義。

猜你喜歡
規(guī)則文本模型
一半模型
撐竿跳規(guī)則的制定
數(shù)獨(dú)的規(guī)則和演變
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
在808DA上文本顯示的改善
基于doc2vec和TF-IDF的相似文本識(shí)別
電子制作(2018年18期)2018-11-14 01:48:06
讓規(guī)則不規(guī)則
Coco薇(2017年11期)2018-01-03 20:59:57
TPP反腐敗規(guī)則對(duì)我國的啟示
3D打印中的模型分割與打包
主站蜘蛛池模板: 欧美一区二区丝袜高跟鞋| 国产精品专区第1页| 又爽又大又黄a级毛片在线视频| 国产av色站网站| 国产人前露出系列视频| 亚洲无码电影| 久久毛片网| 国产亚洲精品yxsp| 国产乱人伦AV在线A| 黄片一区二区三区| 亚洲精品无码日韩国产不卡| 午夜福利网址| 免费视频在线2021入口| 国产亚洲精品自在久久不卡| 亚洲熟女偷拍| 香蕉国产精品视频| 欧美日韩va| 中文字幕资源站| 久久黄色毛片| 五月丁香在线视频| 久久国产毛片| 成年人国产网站| 成人国产精品2021| 免费观看男人免费桶女人视频| 亚洲床戏一区| 中国丰满人妻无码束缚啪啪| 在线看片免费人成视久网下载| 亚洲国产91人成在线| www.国产福利| 91精品啪在线观看国产91| 久草美女视频| 色综合中文字幕| 国产麻豆91网在线看| 久久这里只精品热免费99| 2021国产精品自拍| Jizz国产色系免费| 国产精品妖精视频| 亚洲成A人V欧美综合| 欧美日韩中文国产va另类| 夜夜操狠狠操| 欧美精品色视频| 国产精品亚洲一区二区三区在线观看| 91色在线观看| 日日拍夜夜操| 99无码中文字幕视频| 国产H片无码不卡在线视频| 亚洲男人天堂网址| 四虎永久免费网站| 亚洲黄色高清| 国产成人高清在线精品| 天天综合色天天综合网| 国产粉嫩粉嫩的18在线播放91| 18禁黄无遮挡网站| 亚洲成a∧人片在线观看无码| 免费可以看的无遮挡av无码| 久久中文字幕2021精品| 日韩黄色在线| 国产精品久久国产精麻豆99网站| 黄色免费在线网址| 中国国产A一级毛片| 婷婷五月在线视频| 五月天香蕉视频国产亚| 久久免费观看视频| 国产日韩精品欧美一区喷| 亚洲色图欧美| 亚洲小视频网站| a级免费视频| 18禁色诱爆乳网站| 国产欧美精品一区aⅴ影院| 免费在线a视频| AV熟女乱| 国产精品v欧美| 欧美激情第一欧美在线| 国产特级毛片| 亚洲日韩每日更新| 国外欧美一区另类中文字幕| 伊人天堂网| 欧美黄色网站在线看| 免费无码AV片在线观看国产| 91麻豆精品视频| 亚洲精品自拍区在线观看| 一级毛片基地|