亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

BERT+知識(shí)圖譜構(gòu)建問答系統(tǒng):從語義解析到圖譜查詢實(shí)戰(zhàn)

BERT+知識(shí)圖譜構(gòu)建問答系統(tǒng):從語義解析到圖譜查詢實(shí)戰(zhàn) 1. 為什么選擇 BERT 知識(shí)圖譜做問答系統(tǒng)先從一個(gè)真實(shí)的場景說起。傳統(tǒng)的關(guān)鍵詞搜索和FAQ匹配用戶問“糖尿病人能喝無糖可樂嗎”和“無糖可樂適合糖尿病患者嗎”字面上差得很遠(yuǎn)但語義上完全是一個(gè)問題。如果你只是做字符串匹配或者簡單的TF-IDF相似度計(jì)算這兩條查詢永遠(yuǎn)無法關(guān)聯(lián)起來。這就是我決定用 BERT 來做問答系統(tǒng)的第一推動(dòng)力語義理解能力。知識(shí)圖譜解決的是另一個(gè)問題——實(shí)體之間的關(guān)系。比如用戶問“李白是哪個(gè)朝代的詩人”系統(tǒng)需要知道“李白”是一個(gè)詩人實(shí)體“唐朝”是他的朝代屬性“詩人”是他在圖譜中的類型節(jié)點(diǎn)。只有把“理解問句”和“查詢圖譜”這兩件事串起來才能構(gòu)建一個(gè)真正可用的問答系統(tǒng)。這兩者結(jié)合的技術(shù)鏈路大致是用戶輸入自然語言問句 → BERT 模型完成意圖識(shí)別和實(shí)體抽取 → 解析出結(jié)構(gòu)化的查詢語句如 SPARQL 或 Cypher 等各類圖查詢語言 → 在圖譜中檢索 → 將結(jié)果組織成自然語言答案返回。整條鏈路看起來并不復(fù)雜但每個(gè)環(huán)節(jié)都有不少細(xì)節(jié)坑我分章節(jié)詳細(xì)拆解。這個(gè)項(xiàng)目適合哪些人參考如果你正在做畢業(yè)設(shè)計(jì)、準(zhǔn)備搭建智能客服系統(tǒng)、或者想入門“NLP 知識(shí)圖譜”這個(gè)交叉方向這篇文章可以幫你少走很多彎路。我會(huì)把我實(shí)際跑通的方案、踩過的坑、以及調(diào)優(yōu)的經(jīng)驗(yàn)全部寫出來。2. 系統(tǒng)整體架構(gòu)與核心模塊設(shè)計(jì)任何系統(tǒng)在動(dòng)手寫代碼之前先把架構(gòu)圖畫清楚至少在心里面清楚。我這個(gè)項(xiàng)目的落地架構(gòu)比較樸素核心聚焦“最小可用”目標(biāo)。2.1 系統(tǒng)處理的完整流程用戶輸入問句 ↓ 文本預(yù)處理清洗、分詞、padding ↓ BERT 編碼 → 意圖分類 實(shí)體識(shí)別 ↓ 結(jié)構(gòu)化查詢語句生成 ↓ 知識(shí)圖譜數(shù)據(jù)庫查詢 ↓ 答案組織與返回整個(gè)系統(tǒng)分成五個(gè)核心模塊模塊名稱職責(zé)技術(shù)選型預(yù)處理模塊清洗問句統(tǒng)一格式構(gòu)建 BERT 輸入Python jieba輔助語義解析模塊意圖分類 實(shí)體抽取BERT Softmax 分類層查詢生成模塊將解析結(jié)果轉(zhuǎn)換成圖查詢語句規(guī)則模板 動(dòng)態(tài)參數(shù)填充圖譜存儲(chǔ)模塊存實(shí)體、關(guān)系、屬性Neo4j答案生成模塊將查詢結(jié)果轉(zhuǎn)成人類可讀的句子模板拼接 后處理設(shè)計(jì)的時(shí)候有一個(gè)原則知識(shí)圖譜是系統(tǒng)唯一的“事實(shí)來源”。也就是說所有答案必須從圖譜中檢索得到不允許模型自由生成內(nèi)容。這樣保證了答案的可解釋性和可控性也大幅降低了部署風(fēng)險(xiǎn)。2.2 圖譜圖結(jié)構(gòu)的設(shè)計(jì)思路一個(gè)典型的問答圖譜通常包含三類節(jié)點(diǎn)實(shí)體節(jié)點(diǎn)、類型節(jié)點(diǎn)、屬性節(jié)點(diǎn)。我用一個(gè)健康領(lǐng)域的例子來說明實(shí)體節(jié)點(diǎn)比如“糖尿病”“胰島素”“二甲雙胍”類型節(jié)點(diǎn)比如“疾病”“藥物”“癥狀”關(guān)系邊(糖尿病)-[屬于]-(疾病)(二甲雙胍)-[治療]-(糖尿病)設(shè)計(jì)圖譜時(shí)核心原則是“查詢友好”。意思是你在設(shè)計(jì)實(shí)體和關(guān)系時(shí)就要提前想好未來問答系統(tǒng)可能收到的問法。比如用戶可能會(huì)問“治療糖尿病的藥物有哪些”那你就需要設(shè)計(jì)(藥物)-[治療]-(疾病)這樣的關(guān)系方向如果用戶問“這個(gè)藥治什么病”那反向查詢也要支持。關(guān)系設(shè)計(jì)得不好后續(xù)查詢語句生成階段就會(huì)很痛苦。3. BERT 模型選型與語義解析模塊實(shí)現(xiàn)這一章是項(xiàng)目的中樞環(huán)節(jié)。語義解析是整個(gè)問答系統(tǒng)的“理解大腦”它負(fù)責(zé)把自然語言問句拆成機(jī)器可執(zhí)行的結(jié)構(gòu)化意圖。3.1 為什么要用 BERT 而不是傳統(tǒng)方法傳統(tǒng)做法通常是對問句做分詞然后基于詞典規(guī)則做關(guān)鍵詞匹配。你聽起來是不是覺得也挺簡單對但它的天花板很低。舉個(gè)例子“哪些抗生素對肺炎鏈球菌敏感”和“肺炎鏈球菌感染用什么藥”傳統(tǒng)關(guān)鍵詞提取會(huì)得到完全不同的關(guān)鍵詞集合因?yàn)椤翱股亍薄八帯薄懊舾小薄案腥尽边@些詞在字面上沒有任何重疊但語義上是強(qiáng)關(guān)聯(lián)的。BERTBidirectional Encoder Representations from Transformers能捕捉雙向上下文信息它會(huì)把“抗生素”和“藥”映射到語義空間中相近的位置從而理解這兩個(gè)問句是在問同一件事。準(zhǔn)確說BERT 幫我們解決的是“同義異形”和“指代消解”層面的問題。3.2 意圖分類模塊的代碼實(shí)現(xiàn)意圖分類本質(zhì)是一個(gè)文本多分類任務(wù)。我把常見問句分成以下幾類query_disease_symptom疾病有哪些癥狀query_drug_disease藥物治療什么疾病query_disease_drug疾病用什么藥物治療query_entity_attribute實(shí)體屬性查詢greeting問候語BERT 分類模型的 PyTorch 實(shí)現(xiàn)代碼如下import torch import torch.nn as nn from transformers import BertModel, BertTokenizer class BertIntentClassifier(nn.Module): def __init__(self, num_labels, model_namebert-base-chinese): super(BertIntentClassifier, self).__init__() self.bert BertModel.from_pretrained(model_name) self.dropout nn.Dropout(0.3) self.classifier nn.Linear(self.bert.config.hidden_size, num_labels) def forward(self, input_ids, attention_mask): outputs self.bert(input_idsinput_ids, attention_maskattention_mask) pooled_output outputs[1] # [CLS] token 對應(yīng)的輸出 pooled_output self.dropout(pooled_output) logits self.classifier(pooled_output) return logits注意代碼中的outputs[1]這是 BERT 輸出中[CLS]token 對應(yīng)的向量。在分類任務(wù)中我們習(xí)慣使用這個(gè)向量作為整句話的語義表示再喂給全連接層做分類。訓(xùn)練階段用交叉熵?fù)p失函數(shù)和 AdamW 優(yōu)化器這個(gè)組合在實(shí)際項(xiàng)目中表現(xiàn)穩(wěn)定from transformers import AdamW from transformers import get_linear_schedule_with_warmup optimizer AdamW(model.parameters(), lr2e-5) total_steps len(train_dataloader) * epochs scheduler get_linear_schedule_with_warmup( optimizer, num_warmup_stepsint(0.1 * total_steps), num_training_stepstotal_steps )學(xué)習(xí)率設(shè)置為 2e-5 是關(guān)鍵。BERT 預(yù)訓(xùn)練模型本身已經(jīng)收斂得比較好微調(diào)階段如果學(xué)習(xí)率設(shè)得太大會(huì)破壞預(yù)訓(xùn)練學(xué)到的通用語義知識(shí)。這個(gè)值我做過對比實(shí)驗(yàn)2e-5 在大多數(shù)中文數(shù)據(jù)集上都表現(xiàn)最優(yōu)。3.3 實(shí)體抽取的策略與實(shí)現(xiàn)實(shí)體抽取我采用的是基于 BERT 序列標(biāo)注的方案用 BIO 標(biāo)注體系來定位問句中的實(shí)體邊界。B 表示實(shí)體開始I 表示實(shí)體內(nèi)部O 表示非實(shí)體。舉個(gè)例子李 白 是 哪 個(gè) 朝 代 的 詩 人 B I O O O O O O O這樣模型就能識(shí)別出“李白”這個(gè)完整實(shí)體。SeqLabeling 的 PyTorch 實(shí)現(xiàn)和分類模型類似只是輸出層從num_labels維變成了num_labels * 2 1維B、I、O 三類然后對序列中每個(gè) token 做預(yù)測。不過我的實(shí)測經(jīng)驗(yàn)是對于知識(shí)圖譜問答這種限定域場景直接上序列標(biāo)注模型可能有點(diǎn)“殺雞用牛刀”。更高效的替代方案是先把圖譜中所有實(shí)體名稱構(gòu)建成詞典然后用最大匹配算法從問句中提取實(shí)體詞配合 BERT 做候選實(shí)體消歧。原因是圖譜中實(shí)體的命名通常比較規(guī)范、有限比如“糖尿病”“胰島素”“李白”這類專有名詞靠詞典匹配已經(jīng)有較高準(zhǔn)確率。只有當(dāng)用戶使用別名、口語化表達(dá)時(shí)比如“消渴癥”指代糖尿病才需要引入模型做指代歸一。推薦做法是詞典優(yōu)先、模型兜底先用最大匹配跑一遍覆蓋率高的問題直接走少量匹配不上的問句再用序列標(biāo)注模型做補(bǔ)充抽取。這樣既控制了計(jì)算開銷又保證了準(zhǔn)確率。3.4 數(shù)據(jù)處理自己造訓(xùn)練數(shù)據(jù)并做增強(qiáng)模型訓(xùn)練最缺的就是標(biāo)注數(shù)據(jù)。我當(dāng)時(shí)快速構(gòu)建訓(xùn)練集的三個(gè)來源基于圖譜關(guān)系手工編寫種子問句比如“糖尿病的癥狀有哪些”“治療肺炎的藥物有哪些”用同義詞替換做數(shù)據(jù)增強(qiáng)如“治療”換成“醫(yī)治”“用藥”將簡單問句排列組合成復(fù)合結(jié)構(gòu)擴(kuò)充問法多樣性最終訓(xùn)練集約 5000 條驗(yàn)證集 1000 條。這個(gè)規(guī)模對 BERT 微調(diào)來說基本夠用。另外要提醒一點(diǎn)數(shù)據(jù)和模型的輸出標(biāo)簽體系必須對齊。如果你在訓(xùn)練意圖分類模型時(shí)定義了 5 個(gè)意圖類別那么查詢生成模塊也必須對每一個(gè)意圖都有對應(yīng)的查詢模板否則訓(xùn)練完模型后才發(fā)現(xiàn)某個(gè)意圖沒有后續(xù)處理邏輯整個(gè)流程就斷了。這兩邊在設(shè)計(jì)階段就要同步規(guī)劃好。4. 知識(shí)圖譜存儲(chǔ)與查詢語句生成語義解析模塊把問句拆成了意圖和實(shí)體接下來要做的就是把“用戶想干什么”翻譯成“圖譜能執(zhí)行什么查詢”。4.1 Neo4j 圖數(shù)據(jù)庫的建庫操作我選用的圖數(shù)據(jù)庫是 Neo4jCommunity Edition。為什么不用關(guān)系型數(shù)據(jù)庫因?yàn)橹R(shí)圖譜的本質(zhì)是多跳關(guān)系查詢比如“糖尿病的并發(fā)癥有哪些”“治療這些并發(fā)癥的藥物是什么”這類跨兩跳以上的查詢在 MySQL 里要寫一堆 JOIN而在圖數(shù)據(jù)庫里只需要遍歷邊性能和維護(hù)成本都更優(yōu)。建庫的核心語句用 Cypher 編寫CREATE (d:Disease {name: 糖尿病, description: 一種代謝性疾病}) CREATE (m:Medicine {name: 二甲雙胍, dosage: 500mg/次}) CREATE (s:Symptom {name: 多飲多尿}) CREATE (d)-[:HAS_SYMPTOM]-(s) CREATE (m)-[:TREATS]-(d)批量導(dǎo)入時(shí)用的是 Neo4j 的LOAD CSV命令將實(shí)體表和關(guān)系表以 CSV 形式導(dǎo)入。這個(gè)命令比逐個(gè) CREATE 快了一個(gè)數(shù)量級(jí)數(shù)據(jù)量在幾十萬級(jí)別時(shí)基本可接受。4.2 查詢模板的設(shè)計(jì)策略對于不同意圖類型我預(yù)定義了對應(yīng)的查詢模板。舉個(gè)例子意圖模板說明query_disease_drugMATCH (m:Medicine)-[:TREATS]-(d:Disease {name:$entity}) RETURN m.name查詢治療某疾病的藥物query_disease_symptomMATCH (d:Disease {name:$entity})-[:HAS_SYMPTOM]-(s:Symptom) RETURN s.name查詢疾病癥狀query_entity_attributeMATCH (n {name:$entity}) RETURN properties(n)返回實(shí)體所有屬性這里的$entity是參數(shù)占位符由 Python 端在運(yùn)行時(shí)注入實(shí)體名稱避免字符串拼接注入風(fēng)險(xiǎn)。4.3 Python 端動(dòng)態(tài)生成 Cypher 語句關(guān)鍵代碼如下from neo4j import GraphDatabase class QueryGenerator: def __init__(self, uri, user, password): self.driver GraphDatabase.driver(uri, auth(user, password)) def generate_sql(self, intent, entity): template_map { query_disease_drug: ( MATCH (m:Medicine)-[:TREATS]-(d:Disease {{name: {entity}}}) RETURN m.name ), query_disease_symptom: ( MATCH (d:Disease {{name: {entity}}})-[:HAS_SYMPTOM]-(s:Symptom) RETURN s.name ), query_entity_attribute: ( MATCH (n {{name: {entity}}}) RETURN properties(n) ) } return template_map[intent].format(entityentity) def query(self, intent, entity): cypher self.generate_sql(intent, entity) with self.driver.session() as session: result session.run(cypher) records [record.values() for record in result] return records這道工序有個(gè)非常隱蔽的坑Cypher 模板中已經(jīng)包含花括號(hào){}Python 的format()方法也會(huì)用花括號(hào)做占位符。如果在模板里直接寫{name:{entity}}運(yùn)行時(shí)會(huì)直接報(bào) KeyError。解決辦法是模板中的普通花括號(hào)寫成雙花括號(hào){{}}需要替換的位置保留單花括號(hào)。上面代碼已經(jīng)做了處理但如果你照抄時(shí)看漏了就會(huì)踩上這個(gè)坑。這是我的實(shí)操經(jīng)驗(yàn)如果你不想糾結(jié)花括號(hào)轉(zhuǎn)義干脆用純字符串拼接 參數(shù)化查詢cypher MATCH (m:Medicine)-[:TREATS]-(d:Disease {name: $entity}) RETURN m.name result session.run(cypher, entityentity)Neo4j 官方驅(qū)動(dòng)支持參數(shù)化查詢這樣既規(guī)避了轉(zhuǎn)義問題也更安全。5. 部署環(huán)境的完整搭建方案說句實(shí)話這個(gè)項(xiàng)目寫代碼本身不是最難的最難的是把環(huán)境配好。熱詞搜索里“python安裝”“pip安裝庫失敗”這類問題出現(xiàn)頻率極高說明新手大量時(shí)間都耗在環(huán)境配置上。這里我給出我驗(yàn)證過的完整方案。5.1 Python 環(huán)境與依賴版本選擇強(qiáng)烈建議使用 Anaconda 創(chuàng)建獨(dú)立虛擬環(huán)境不要直接裝在系統(tǒng) Python 里。conda create -n kgqa python3.9 conda activate kgqa版本選擇上有幾個(gè)硬性約束我直接列一個(gè)經(jīng)過驗(yàn)證可行的組合表依賴庫推薦版本說明Python3.9兼容性最穩(wěn)3.10 以上部分庫有編譯問題PyTorch1.13.1和 CUDA 11.7 配套的版本transformers4.30.2穩(wěn)定且 API 友好neo4j5.9.0官方 Python 驅(qū)動(dòng)scikit-learn1.2.2評(píng)估指標(biāo)計(jì)算pandas1.5.3數(shù)據(jù)處理安裝 PyTorch 時(shí)要注意 CUDA 版本先運(yùn)行nvidia-smi查看驅(qū)動(dòng)支持的 CUDA 版本然后到 PyTorch 官網(wǎng)選擇對應(yīng)安裝命令。如果你只是 CPU 跑測試直接安裝 CPU 版即可BERT-base 在 CPU 上做一個(gè)推斷大約耗時(shí) 1-2 秒測試是夠用。5.2 常見安裝問題與解決方案問題1pip install 時(shí)提示 Timeout 或 SSL 錯(cuò)誤多半是網(wǎng)絡(luò)原因優(yōu)先切換到國內(nèi)鏡像源pip install -i https://pypi.tuna.tsinghua.edu.cn/simple torch問題2安裝 transformers 后 BERT 模型無法下載Hugging Face 下載模型權(quán)重時(shí)對網(wǎng)絡(luò)要求較高有兩個(gè)思路。一是手動(dòng)從 Hugging Face 模型倉庫下載bert-base-chinese的所有文件放到本地目錄然后改用from_pretrained(./bert-base-chinese/)加載二是設(shè)置HF_ENDPOINT環(huán)境變量指向鏡像站。這條坑基本每個(gè)做中文 NLP 項(xiàng)目的人都會(huì)遇到。問題3Neo4j 啟動(dòng)后無法通過 localhost:7474 訪問檢查端口占用和 Neo4j 配置文件中的監(jiān)聽地址。Windows 上如果默認(rèn)dbms.connectors.default_listen_addresslocalhost被改過會(huì)導(dǎo)致 7687Bolt 協(xié)議端口不可訪問。改回 localhost 再重啟服務(wù)即可。6. 項(xiàng)目實(shí)測結(jié)果與性能調(diào)優(yōu)記錄模型訓(xùn)練和系統(tǒng)集成完成后我在自己構(gòu)建的中文醫(yī)療知識(shí)圖譜測試集上做了性能評(píng)估測了 800 條人工問句。6.1 各項(xiàng)指標(biāo)的實(shí)測結(jié)果評(píng)估維度準(zhǔn)確率響應(yīng)時(shí)間CPU意圖識(shí)別96.3%約 100ms實(shí)體識(shí)別詞典優(yōu)先94.8%約 5ms圖譜查詢環(huán)節(jié)100%約 30ms端到端整體問答91.5%約 200msBERT 推理為主從結(jié)果分布來看誤差主要出現(xiàn)在實(shí)體識(shí)別環(huán)節(jié)和意圖判斷邊界模糊的句子上。比如“糖尿病人吃什么藥”意圖里有“疾病”“藥物”兩個(gè)實(shí)體“吃”“藥”等詞會(huì)干擾分類器對意圖的判斷。6.2 從 91% 到 93%我把性能提升做到位的幾個(gè)手段第一個(gè)手段是給 BERT 輸入增加圖譜實(shí)體的先驗(yàn)標(biāo)記。比如做序列標(biāo)注時(shí)把詞典匹配到的實(shí)體詞直接標(biāo)記為候選實(shí)體讓模型更關(guān)注這些位置的上下文而不是從零開始找實(shí)體。這個(gè)操作讓實(shí)體識(shí)別 F1 值提升了近 2 個(gè)百分點(diǎn)。第二個(gè)手段是意圖分類的置信度閾值機(jī)制。當(dāng)模型輸出的意圖概率低于 0.7 時(shí)不立即返回結(jié)果而是同時(shí)返回 Top-2 意圖對應(yīng)查詢結(jié)果讓下游模塊用更長的規(guī)則校驗(yàn)。比如“糖尿病和高血壓能同時(shí)用藥嗎”這個(gè)問句它既包含疾病查詢意圖又帶有比較語義單標(biāo)簽分類天然無法處理。我增加了一個(gè)“復(fù)合問題”意圖專門應(yīng)對這種混合問法。第三個(gè)手段是構(gòu)建實(shí)體同義詞映射表。用戶在口語中很少使用圖譜中的標(biāo)準(zhǔn)名比如“二甲雙胍”常被說成“二甲雙胍片”“高血糖”和“糖尿病”也經(jīng)?;煊?。我在實(shí)體抽取模塊后面加了一層同義詞歸一層實(shí)現(xiàn)如下synonym_map { 二甲雙胍片: 二甲雙胍, 鹽酸二甲雙胍: 二甲雙胍, 高血糖: 糖尿病, } def normalize_entity(entity): normalized synonym_map.get(entity, entity) return normalized這一層不消耗任何模型計(jì)算資源純規(guī)則但對端到端準(zhǔn)確率的提升非常直觀。6.3 響應(yīng)延遲的優(yōu)化策略如果你的系統(tǒng)需要部署成 web 服務(wù)對響應(yīng)延遲的要求就會(huì)更高。BERT-base 在 CPU 上單條推斷大約 100-200msGPU 上能壓到 20ms 左右。如果只有 CPU 資源幾個(gè)優(yōu)化方案用torch.jit.trace將模型轉(zhuǎn)成 TorchScript 格式免去 Python 層的動(dòng)態(tài)圖開銷開啟動(dòng)態(tài) batch 處理多請求同時(shí)進(jìn)來時(shí)一次前向傳播處理多條使用 ONNX Runtime 加速BERT 這類 Transformer 結(jié)構(gòu)在 ONNX 上有專門優(yōu)化實(shí)測比 PyTorch 原版提速 20%-30%import torch model.eval() traced_model torch.jit.trace( model, example_inputs(input_ids, attention_mask), strictFalse ) traced_model.save(bert_kgqa.pt)使用torch.jit.trace時(shí)要注意如果你的模型內(nèi)部有依賴于輸入形狀的動(dòng)態(tài)分支邏輯trace 可能會(huì)固化錯(cuò)誤的計(jì)算路徑。BERT 模型結(jié)構(gòu)固定基本沒有這個(gè)問題但保險(xiǎn)起見我還是建議 trace 之后跑一遍完整的評(píng)估集確認(rèn)輸出一致再部署。7. BERT 微調(diào)與模型訓(xùn)練的完整流程訓(xùn)練數(shù)據(jù)是所有模型的起點(diǎn)。很多同學(xué)在這個(gè)環(huán)節(jié)非常崩潰因?yàn)闃?biāo)注數(shù)據(jù)又累又費(fèi)時(shí)。我總結(jié)出一套半自動(dòng)的標(biāo)注流水線能大幅減少標(biāo)注工作量。7.1 訓(xùn)練數(shù)據(jù)格式與預(yù)處理訓(xùn)練數(shù)據(jù)采用 JSON 格式{ text: 糖尿病的早期癥狀有哪些, intent: query_disease_symptom, entities: [糖尿病] }意圖分類數(shù)據(jù)只需要前兩個(gè)字段實(shí)體抽取數(shù)據(jù)需要同時(shí)包含實(shí)體字段。做序列標(biāo)注時(shí)需要把問句轉(zhuǎn)成 BIO 標(biāo)簽序列。這里我用 jieba 分詞做前置分割然后用實(shí)體位置對齊到 token 級(jí)別def tokenize_and_label(text, entities, tokenizer): inputs tokenizer(text, return_tensorspt, truncationTrue, max_length64) offset_mapping tokenizer(text, return_offsets_mappingTrue)[offset_mapping] labels [O] * len(input_ids[0]) for ent in entities: start, end text.find(ent), text.find(ent) len(ent) for i, (s, e) in enumerate(offset_mapping): if e start or s end: continue labels[i] B-ENT if s start else I-ENT return input_ids, attention_mask, labels這里有個(gè)大坑tokenizer默認(rèn)會(huì)給文本兩端加[CLS]和[SEP]tokenoffset_mapping的長度和input_ids一致但對特殊 token 的起始位置標(biāo)記為 0。如果直接用原始文本的find()定位實(shí)體坐標(biāo)和 offset mapping 的對應(yīng)關(guān)系會(huì)出現(xiàn)偏差最終導(dǎo)致標(biāo)簽錯(cuò)位。保險(xiǎn)做法是去掉 offset 為 0 的無效位置或者使用return_offsets_mappingTrue后再手動(dòng)做映射對齊。7.2 基于 Hugging Face Trainer 的微調(diào)流程我最終用 Hugging Face 的 Trainer API 做微調(diào)代碼簡潔且自帶評(píng)估循環(huán)和斷點(diǎn)續(xù)訓(xùn)from transformers import Trainer, TrainingArguments training_args TrainingArguments( output_dir./results, num_train_epochs5, per_device_train_batch_size16, per_device_eval_batch_size32, warmup_steps200, weight_decay0.01, logging_dir./logs, logging_steps100, eval_steps500, save_steps500, load_best_model_at_endTrue, metric_for_best_modelaccuracy, ) trainer Trainer( modelmodel, argstraining_args, train_datasettrain_dataset, eval_dataseteval_dataset, ) trainer.train()eval_steps和save_steps設(shè)為 500 的好處是每訓(xùn)練 500 步就保存一次模型訓(xùn)練過程中如果出現(xiàn) loss 暴增或者過擬合可以從上一個(gè)保存點(diǎn)恢復(fù)繼續(xù)調(diào)參不用從頭再來。7.3 微調(diào)時(shí)經(jīng)常遇到的幾個(gè)問題過擬合的解決方式5000 條訓(xùn)練數(shù)據(jù)對 BERT 來說偏少訓(xùn)練到第 3-4 個(gè) epoch 時(shí)驗(yàn)證集 loss 就可能開始反彈。我加了早停機(jī)制并設(shè)置 dropout0.3有效緩解了這個(gè)問題。另外一個(gè)實(shí)用技巧是如果訓(xùn)練集太小只微調(diào) BERT 后 2 層 分類層凍結(jié)前面層的參數(shù)。這樣做既省顯存也能抑制過擬合。for name, param in model.bert.named_parameters(): if layer.11 not in name and layer.10 not in name: param.requires_grad False這個(gè)操作把可訓(xùn)練參數(shù)量從 1 億壓到了幾千萬單卡 8G 顯存也能順利跑完訓(xùn)練。顯存溢出OOMBERT-base 單條樣本的序列長度為 64 時(shí)batch_size32 大約需要 11G 顯存。如果你的 GPU 只有 6G 或 8G把 batch_size 降到 8 或 4同時(shí)開啟梯度累積training_args.gradient_accumulation_steps 4梯度累積 4 步再更新一次參數(shù)等價(jià)于 batch_size32 的效果只是訓(xùn)練時(shí)間延長一些。8. 查詢性能瓶頸與候選答案重排機(jī)制圖譜查詢完之后系統(tǒng)面臨一個(gè)很實(shí)際的問題候選答案可能有很多個(gè)怎么排序怎么決定哪個(gè)是用戶最想要的答案8.1 BERT 在多候選答案重排中的角色知識(shí)圖譜查詢返回的往往是滿足條件的所有實(shí)體。比如“治療糖尿病的藥物有哪些”返回 20 種藥用戶不可能全部看一遍而且其中很多藥是二線、三線用藥并不一定對每個(gè)用戶都適用。我的做法是引入第二層 BERT 分類器做候選答案排序。具體來說將用戶問句和候選答案拼接用 BERT 判斷這個(gè)答案與問句的匹配程度對候選答案按匹配分?jǐn)?shù)排序取 Top-K 返回def rank_answers(question, candidate_answers): inputs [question [SEP] ans for ans in candidate_answers] # 使用 BERT 計(jì)算每對 (問句, 答案) 的語義相似度 scores similarity_model(inputs) ranked sorted(zip(candidate_answers, scores), keylambda x: x[1], reverseTrue) return [ans for ans, score in ranked[:3]]這個(gè)做法的原理很好理解BERT 在預(yù)訓(xùn)練階段做過 Next Sentence PredictionNSP任務(wù)天然具備判斷兩個(gè)句子是否語義連貫的能力。微調(diào)后這個(gè)模型能有效區(qū)分“治療糖尿病的藥是二甲雙胍”和“治療糖尿病的藥是阿司匹林”哪個(gè)更合理。8.2 排序模型的訓(xùn)練策略排序模型的訓(xùn)練數(shù)據(jù)可以半自動(dòng)生成圖譜查詢結(jié)果中與用戶問句意圖一致、且實(shí)體關(guān)系路徑最短的答案作為正樣本隨機(jī)采樣圖譜中的無關(guān)實(shí)體作為負(fù)樣本。正負(fù)樣本比控制在 1:3 左右。訓(xùn)練策略上推薦用 pointwise 方式直接用交叉熵訓(xùn)練實(shí)現(xiàn)簡單穩(wěn)定。pairwise 方式如 RankNet效果理論上更好但在數(shù)據(jù)量少時(shí)容易過擬合性價(jià)比不高。8.3 答案生成模塊的模板拼接最終返回給用戶的答案我采用模板拼接方式。比如if intent query_disease_drug: drugs , .join(top3_drugs) answer f根據(jù)知識(shí)圖譜數(shù)據(jù)治療{entity}的常用藥物包括{drugs}。如果你想更自然一點(diǎn)可以再疊加一層句子重寫模塊把模板結(jié)果改寫成更口語化的表達(dá)。比如“根據(jù)知識(shí)圖譜數(shù)據(jù)”這個(gè)前綴本身有強(qiáng)烈的機(jī)器感實(shí)際部署時(shí)我把它換成“目前常用于治療{entity}的藥物有”。9. 項(xiàng)目踩坑記錄完整排查鏈路這一節(jié)把我在實(shí)際開發(fā)中遇到的三個(gè)比較棘手的 bug 完整復(fù)盤一遍幫你在遇到類似問題時(shí)能快速定位。9.1 坑一BERT 輸入序列被截?cái)鄬?dǎo)致實(shí)體標(biāo)簽全部錯(cuò)位問題表現(xiàn)模型訓(xùn)練時(shí) loss 正常下降但推理階段實(shí)體提取結(jié)果完全不對明明問句里有圖譜實(shí)體提取結(jié)果卻為空。排查鏈路第一步我先打印模型的輸出 logits發(fā)現(xiàn)所有 token 都被預(yù)測為 O 類。這說明模型根本沒看到實(shí)體信息。第二步檢查輸入數(shù)據(jù)的特征——打印 tokenizer 返回的 input_ids 和標(biāo)簽序列發(fā)現(xiàn)文本被截?cái)嗔恕.?dāng)時(shí)我把max_length設(shè)置成了 32但圖譜問句有些比較長部分實(shí)體詞剛好落在第 32 個(gè) token 之后標(biāo)簽就被截掉了。第三步把max_length從 32 改到 64同時(shí)確認(rèn)truncationTrue只截?cái)嗪蟀氩糠帧⒈A糸_頭。重新驗(yàn)證后實(shí)體提取恢復(fù)正常。這個(gè)坑的教訓(xùn)很直接BERT 的輸入長度限制會(huì)導(dǎo)致標(biāo)注數(shù)據(jù)對齊失敗而它不會(huì)在你的訓(xùn)練 loss 曲線中暴露任何異常。這里的預(yù)防措施是寫一個(gè)校驗(yàn)函數(shù)統(tǒng)計(jì)訓(xùn)練數(shù)據(jù)中超過 max_length 的樣本比例如果超過 10%就得擴(kuò)大長度上限或調(diào)整數(shù)據(jù)預(yù)處理邏輯。9.2 坑二Neo4j 關(guān)系方向設(shè)計(jì)錯(cuò)了導(dǎo)致查不到結(jié)果問題表現(xiàn)圖譜里明明存在“二甲雙胍治療糖尿病”這條關(guān)系但用戶問“治療糖尿病的藥物有哪些”時(shí)查詢返回空結(jié)果。排查鏈路第一步直接在 Neo4j Browser 中執(zhí)行MATCH (m:Medicine)-[:TREATS]-(d:Disease {name:糖尿病}) RETURN m.name返回空說明 CQL 語法層面沒問題問題出在數(shù)據(jù)。第二步執(zhí)行MATCH (m:Medicine)-[r:TREATS]-(d:Disease) RETURN m.name, d.name LIMIT 10發(fā)現(xiàn)這條數(shù)據(jù)根本不存在。第三步檢查 CSV 關(guān)系數(shù)據(jù)文件發(fā)現(xiàn)我在生成關(guān)系文件時(shí)把 head 和 tail 的實(shí)體類型標(biāo)簽搞混了導(dǎo)致很多關(guān)系的方向是反的即(d:Disease)-[:TREATS]-(m:Medicine)。這個(gè)問題解決起來可以很快但排查它花了幾乎一整個(gè)下午。我的建議是建庫后馬上寫一套校驗(yàn)?zāi)_本對每對關(guān)鍵關(guān)系執(zhí)行正向和反向查詢確保數(shù)據(jù)寫入方向無誤。等于把問題清零在源頭而不是等到問答系統(tǒng)上線后才發(fā)現(xiàn)。9.3 坑三GPU 和 CPU 的模型權(quán)重混用問題表現(xiàn)在 GPU 上訓(xùn)練好的模型傳到 CPU 環(huán)境中推理時(shí)一直報(bào)RuntimeError: Attempting to deserialize object on a CUDA device。排查鏈路這個(gè)坑的原理很明確。PyTorch 保存模型時(shí)如果用的是torch.save(model.state_dict(), model.pt)會(huì)默認(rèn)把張量的 device 信息一并保存。在 CPU 環(huán)境加載時(shí)它會(huì)嘗試往 CUDA 設(shè)備上放張量自然報(bào)錯(cuò)。解決方案是保存時(shí)指定map_location# 保存時(shí)指定為 CPU torch.save({k: v.cpu() for k, v in model.state_dict().items()}, model.pt) # 加載時(shí)指定映射到 CPU model.load_state_dict(torch.load(model.pt, map_locationcpu))還有一個(gè)更隱蔽的坑如果你在 GPU 上保存的模型包含模型類的定義比如用torch.save(model, ...)來整模型保存那么加載端的代碼環(huán)境必須和保存端的模型定義完全一致否則會(huì)報(bào)內(nèi)容不匹配錯(cuò)誤。最好的習(xí)慣是永遠(yuǎn)只保存 state_dict而不是整個(gè)模型對象。10. 系統(tǒng)的擴(kuò)展方向與真實(shí)落地建議項(xiàng)目做完之后有幾個(gè)非常值得做的擴(kuò)展方向我根據(jù)自己的經(jīng)驗(yàn)給出排序和建議10.1 從單輪問答走向多輪對話目前這個(gè)系統(tǒng)對每一條用戶問句都是獨(dú)立處理的。如果用戶先問“糖尿病的癥狀有哪些”再追問“這些癥狀嚴(yán)重嗎”系統(tǒng)無法理解“這些癥狀”指的是上一輪的查詢結(jié)果。要支持多輪對話需要引入對話狀態(tài)管理模塊維護(hù)用戶的“當(dāng)前查詢上下文”并將指代消解結(jié)果替換到新的查詢語句中。技術(shù)上可以借用一個(gè)輕量級(jí)的做法把歷史問句拼接當(dāng)前問句一起輸入 BERT 做分類和實(shí)體抽取。這種拼接策略雖然簡單但在限定域場景下效果不錯(cuò)至少能解決“這些”“它”“上面提到的”等常見指代。10.2 用 Vue3 前端做可視化問答界面如果你想做一個(gè)看得見、演示效果好的界面結(jié)合 Vue3 生態(tài)實(shí)現(xiàn)知識(shí)圖譜的可視化會(huì)非常亮眼。Neo4j 的數(shù)據(jù)可以通過 Bolt 協(xié)議或 REST API 開放前端拿到圖譜 JSON 后用 D3.js 或 AntV G6 庫渲染實(shí)體關(guān)系圖用戶問完問題后不僅能顯示文字答案還能直接看到答案在圖譜中的位置和關(guān)聯(lián)路徑。這對項(xiàng)目答辯、匯報(bào)演示來說是一個(gè)加分項(xiàng)。熱搜詞里“vue3 實(shí)現(xiàn)知識(shí)圖譜”出現(xiàn)頻率很高說明這個(gè)需求確實(shí)很真實(shí)。我的建議是后端把圖譜子圖序列化成 JSON 返回前端做渲染不要在 Python 端做圖可視化分離清晰職責(zé)單一。10.3 接入更多領(lǐng)域圖譜當(dāng)前系統(tǒng)是在醫(yī)療領(lǐng)域做的驗(yàn)證。這套“意圖分類 實(shí)體抽取 圖譜查詢 答案重排”的框架本身是領(lǐng)域無關(guān)的換一個(gè)知識(shí)圖譜只需要更新圖譜數(shù)據(jù)和同義詞詞典根據(jù)新圖譜設(shè)計(jì)意圖類別和查詢模板重新標(biāo)注一批問句微調(diào) BERT 模型整個(gè)遷移周期根據(jù)圖譜規(guī)模不同大概在 2-4 周。如果想快速嘗試可以用公開的金融、歷史、行政治安等領(lǐng)域圖譜做交叉驗(yàn)證代碼可以完全復(fù)用。11. 關(guān)于 BERT 與知識(shí)圖譜結(jié)合的一些個(gè)人心得項(xiàng)目做完之后我對“為什么這個(gè)組合值錢”有了更深入的體會(huì)。BERT 學(xué)的是語言知識(shí)它知道詞與詞之間的語義關(guān)系知識(shí)圖譜存的是事實(shí)知識(shí)它知道實(shí)體與實(shí)體之間的真實(shí)關(guān)聯(lián)。語言知識(shí)解決“聽懂”事實(shí)知識(shí)解決“答對”兩者缺一不可。網(wǎng)上經(jīng)常有人問“ChatGPT 出來后知識(shí)圖譜問答是不是就過時(shí)了”我的觀點(diǎn)是ChatGPT 這類大模型可以做開放域問答但在需要精確、可追溯答案的垂直領(lǐng)域如醫(yī)療、法律、金融風(fēng)控知識(shí)圖譜的可控性和可解釋性仍然有不可替代的價(jià)值。BERT 知識(shí)圖譜這個(gè)技術(shù)組合在大模型的陰影下不僅沒有過時(shí)反而因?yàn)槟芴峁坝袚?jù)可查”的回答企業(yè)級(jí)應(yīng)用需求越來越大。實(shí)際訓(xùn)練中還有一個(gè)感受不要一味追求更復(fù)雜的模型。BERT-base 在這個(gè)場景已經(jīng)綽綽有余。先把數(shù)據(jù)和圖譜質(zhì)量做好比堆模型參數(shù)更有性價(jià)比。我見過很多項(xiàng)目花大力氣換成了 ERNIE 或 RoBERTa準(zhǔn)確率提升不到 1%而數(shù)據(jù)清洗和同義詞詞典帶來的收益輕松超過 5%。數(shù)據(jù)面永遠(yuǎn)值得你優(yōu)先投入。這個(gè)項(xiàng)目還有一點(diǎn)讓我特別受用實(shí)體對齊能力在這個(gè)過程中得到了實(shí)實(shí)在在的鍛煉。從詞典匹配到模型兜底從同義詞歸一化到候選實(shí)體消歧每一步的處理都對最終效果有直接影響。如果你也想做 NLP 相關(guān)的項(xiàng)目我建議不要只停留在“調(diào)用 BERT API”的層面而是把語義解析、圖譜查詢、答案組織這一整條鏈路親手打通一遍——這個(gè)過程帶來的經(jīng)驗(yàn)比任何教程都值錢。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
成年女人黄网站| 男人天堂久久精品不卡| 欧美AAAA黄片| 精品中文一区二区| 久久久久久久少妇| 免费在线观看国内色片网站网址| 欧美精品庄| 九九久久首页| 91啪啪视频| 91视频女生| 日韩成人网址| 视频在线观看一二三区| 免费看欧美美女黄色大片| 亚洲综合电影| 懂色AV网| 人人爽人人精品乱人伦AV| 亚洲国产成人精品久久久国产成人一区二区三.| 国产成人啪一区二区| 操人妻丝袜高跟| 国产av波波国产精品| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 自拍偷拍2025在线观看| 狠狠操,使劲操| 欧美日日人人天天| 秋霞男人网| 九九九九久久久| 日本亚洲熟女视频| 激情干在线| 超碰在线人妻中文字幕| 亚洲精品91| 欧美在线中M| 91色综| 久久av成人无码免费| 淫荡网址| 少妇熟女一区二区三区| 9.1小视频| 日本啊啊啊啊啊视频| 国产少妇肉丝在线观看| 十八禁啪啦拍视频无遮挡| 日日干天天干夜夜爽| 97 色综合| 欧美第五页| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 韩国午夜理伦三级好看| 秋霞成人一级在线观看| 国产一进一出视频网站| 国产第二页| 美女黑人91神马| 麻豆 欧美 日韩| 九九热在线精品视频| 亚洲一区二区三区欧美日韩| 最新国产亚洲精品精品国产亚洲综合| 国产在线视视频有精品| 欧美日韩性爱精品| 国产精品交换一区二区| 欧美中文字幕男人天堂久久精品 | 麻豆 亚洲 97| 亚洲天堂人人妻| 久久久久ab| 久久曰曰| 美女爽到高潮91| 91热热色| 天天澡天天爽日日AV| 欧美啪啪色吧在线| 伊人热综合| 国产拍偷精品网站| 日日夜夜天天| 亚洲三级网址久久最新| 97久久天天综合色天天综合色电影| 一本色道综合久久欧美日韩精品| 精品69网| 欧美v日韩v亚洲v最新在线| 视频一区二区免费在线| 国产成年女人免费视频播放a| 日逼逼免费看| 大香蕉婷婷| 鲁鲁色综合网| 亚洲电影91| 日本久久久久久久久久| 欧美色999| se吧提供91精品国产91久久久久久 | 人人操人人摸人人看人人插| 久久大香蕉手机高清视频| 丰满翘臀美女影院视频| 高潮综合网| 亚洲中文字母在线播放| 国产亚洲日韩在线三区黑人| 婷婷爽人人婷婷爽视频| 中文三一区| 51久久夜色精品国产麻豆| 国产成人无码网站在线视频| 偷拍色图| 女同性恋久久| 日本在线不卡123| 99久在线精品99re8| 人妻丰满熟妇一区二区三| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 性色av网站| 亚洲欧美在线综合| 蜜桃无码AV一区二区| 超碰在线1234区| 久久久夜夜嗨免费视频| 天天综合网91| 伊人丝袜美腿高跟在线观看高清 | 欧美操人视频| 国产精品久久久久久久久久久久久久久久| 天天日天天搞天天干| 91爱做| 自拍偷拍2025在线观看| 综合97| 天天激情干| 秋霞操逼片| 天美国产三级传媒| 国产日产精品久久快鸭的功能介绍| 91欧美美女日韩国产婷婷| 欧美在线播放| 成 人 影视 一区 二区 三区 四区| 天天综合网视频91| 中文字幕一品色图| 91丨国产丨白浆秘 洗澡动漫| 精品制服美女中文一区二区三区| 日韩草久视频| 成人性爱全视频观看| 国产精品成人午夜福利| 欧美精品久久| 欧美成不卡网| 91亚洲人电影| 亚洲第一在线视频| 亚洲日韩精品久久久久一区壹牛| 3P丝袜熟女 色综合| 粘花网06av视频| 一区二区三区黄片免费观看| 又大又大又大又粗爽高潮观看| 求求你操操我| 精品成人无码| 三级网色| 一牛影视成人片免费| 国产色精品午夜大片| 亚洲第一综合| 欧美日韩999| 一级特级aaaa毛片免费观看| 99国产精品视频尤物| AⅤ片水多多| 夜夜草网站| 亚州综| 男人天堂 天天射| 日日夜夜草草草| A啊啊在线观看| 欧美 熟女 日韩| 香蕉免费一区二区三区不读| 欧洲亚洲综合| 91福利网在线观看| 久久久亚洲欧美综合| AV不卡在线| 色婷婷九月| 超碰人人在线| 一区二区三区四区五区高清无码永久视频 | 亚洲日韩电影| 天天躁日日躁狠狠狠躁| 中文字幕亚洲热播人妻| 久久9免费视频| 免费超碰97久久| 极品久久久久久久久久久久久久| 白嫩嫩一区| 久久免费精彩视频| 屌逼麻豆| 日韩一级片在线看| 超碰97最新人妻| 大香蕉综合在线| 女人香蕉久久毛毛片精品| 国产农村妇女毛片精品久久| 中文字幕一区二区三区四区在线视频| www.99色| 日韩欧美麻豆大片| 亚洲丝袜二区在线| 无码国产精品久久久久| 欧美无圣光在线| 中国少妇啪啪视频| 强歼乱伦资源网| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚| 爱爱久久| 啪一啪免费视频| 久久久穴999| 综合五月天| 中文字幕亚洲在线一区| 欧美亚州色的图| 亚洲国产欧美另类自拍| 久久久久久91香蕉国产| 明星性猛交ⅹxxx乱大交| 强免费黄色网址| 伊人伊人LD| 2019精品国产无码成人| 日本97久久久精品| heyZO天然素人无码AⅤ专区| 天美麻花大全视频| 亚春色色| 97精品国产精品免费观看| 国产又粗又长又大的视频| 欧美日韩国产中文精品字幕自在自线| ai欧美亚洲小说| 成人性爱AV在线免费观看| 亚洲AV无码| 粉嫩av在线| 夜夜操天| 9久在线视频只有精品| 欧美三级不卡| 深夜国产一区二区三区在线看| 加勒比AV网| 国产精品一级毛片不卡视| 另类av综合久久| 操逼www.| 欧美黑人熟妇精品91| 富二代亚洲精品99| 亚洲男人的天堂V| 91色图| 亚洲情色婷婷五月天| 黑丝日韩av丝袜av| 日本孕妇一区二区视频操逼免费看 | 人人妻人人操人人乐| 一级片在线观看高清无码| 免费国产| 亚洲色系另类精品国产| 97超碰影音| 日本精品一区三区| 免费人成在线观看网站品爱网| a人欧美综合天堂麻豆| 国产高潮AA片免费看| 青青操狠狠撩| 熟女网站最新| 午夜精品99久久久久传媒| 色香网| 国产女上位好爽在线| 国产日韩色综合| 蜜桃臀一区二区三区久久| 日本999精品| 啊啊啊想要| 色综合一区二区三区| 国产精品日日摸天天碰| 久久69| 多乙久久久久久| 911粉嫩人妻| 成·人免费午夜在线观看| 精品国产久热在线观看| 翔田千里A片一区二区| 亚洲av无线观看| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 不卡av在线中文字幕| 尤物网站91| 天天操天天插| 成人a v在线播放免费| 99国产精品久久久久久久成人热 | 爆乳免费黄网站| 日韩亚洲97| 亚洲精品成人| 久久久国产av美女私房| 一区,二区,三区视频| 日韩中文字幕视频| 综合五月天| 天堂伊人久久| 亚洲自拍一区夜夜操| 中国一区二区亚洲人妻| 好吊色青靑草| 久久久亚洲精品中文字幕人妻| 国产女人和拘做爰视频| 91欧美网| 好屌色综合| 中文字幕无码不卡啪啪| 久久9久9久99久9久9| 久久久久久无码人妻中文字幕| 日韩成人性爱电影在线播放| 亚洲精品国产精品乱码不卡| 精品性爱无码在线播放| 日本精品一区二区三区四区的功能| 96一区二区| 99rre在线精品99re8| 亚洲第一页第二页激情| 这里都是精品在线观看| 色九九九综合| 精品免费视频国产一区| 84YTCOM性无码| 久久久少妇| 日韩精品中文字幕人妻| 激情五月天丁香社区| 97超碰美国| 亚洲综人| 最好看的中文字幕在线2018| 中文字幕人乱码中文字的预防方法| 亚洲精品人伦一区二区| 国产精品麻豆视频网站| 欧美欲色| 男女一进一出视频久久| 无码9区| 久久综合精品一区二区三区| 欧美女同在线| 黄色性爱网网| 亚洲熟女乱色一区二区三区久久久 | www鬼畜国产男人的天堂| 豆花视频操逼网址| 蜜臀久久一区二区| 亚洲天堂男人天堂网| 天天日天天干天天整| 天堂在线一区二区| 国产女人和拘做爰视频| 99www.bibizy香蕉资源国产一区二区三区高清 | 久久宗合亚洲| 综合欧美激情网| 色偷综合| 91丨熟女丨丰满熟女| 欧美久久久| 免费看黄片现成| 91暧暧| 欧美人体性爱互联网第一页婷婷日本| 六月丁香网| 日日骚一区二区三区| 香蕉热人人精品| 亚洲综合小视频小说在线观看| 亚州男人天堂| 日本免费不卡二区| 亚欧无码在线| 福利天天都操| 熟女精品一区二区三区| 啊啊啊啊啊啊在线| 大香网站| 久久久月天| 超碰在线看| 超碰78| 久久秀这里有精品| 欧洲性爱无码区| 亚洲色香| a在线观看| 久久午夜色播影院免费高清| 曰本精品久久久| 这里只有精品视频在线观看麻豆 | 久久婷婷电影网| 欧美性战999| 精品一区二区成人| 四虎在线视频| 天天干天天日天天射黄色大片| 亚洲欧美日韩二区视频| 亚洲第一男人天堂| 欧美少妇第一页| 精品中文字幕一区二区l - 百度| 91爱啪| 97国产亚洲中文在线| 日本免费一级AAA大片器| 中日韩久久久免费看| 美女诱惑爱爱| 伊人久久综合影院| 欧美性色欧美| 制服丝袜第二页| 大香蕉综合| 欧美福利视频啊啊啊啊| 资源新线在线天堂| 欧美亚洲日韩16色| 天美AV片| 91九色首页| 色综合久久av| 日本道人妻久久久在线不卡色视频| 蜜臀久久99精品久久久老,,| www.av在线视频| 亚州欧美色图| 96免费视频在线| 五月丁香影院| 欧美性生活综合| 操操逼视频| 亚洲中文字幕av| 婷婷三区| 色婷婷电影网| 大香蕉免费3| 大香蕉草草| 亚洲欧洲第二视频在线观看色图| 妺妺跟我一起洗澡没忍住| 搡老熟女免费视频| 成人性交免费视频| 天天操福利视频综合网站| 一区二区 电影 亚洲| 日韩成人免费电影| 大地资源在线观看中文第二页| 极品另类| 亚洲爽图| 久久区| 五十路熟女在线不卡观看一区二区| 久久伊人网视频一区二区三区 | 亚洲Av诱惑| 丝袜高跟澳门91视频| 78p欧美| 操人无码| 亚洲国产激情国产av| 成人无遮挡毛片免费看| 欧中美三级一区二区三区| 成熟熟女国产精品一区二区| 99啪啪| 国产老熟女| 亚州操操穴网| 九九九网页| 国语人妻精彩刺激| 久久国色天香香蕉| 91殴美大片| 日本一区二区三区精品| 欧美综合色站| 日本日日色视频| 女同性恋一区二区三区精品视频| 日本精品无码三级网站| 欧洲黄色网| 超碰95| 亚洲自拍97| 超碰成人公开| 久久久久久久国产视频| 久久精品区| 欧美中字不卡| 0755午夜福利视频| 欧美超碰97| 国产精品ww久久| 国产精品麻豆成人av| 可免费观看的av毛片中日美韩| 国产精品久久久啊| 玖草在线视频| 精品日韩中文在线| 五月天激情四射| 蜜臀久久99精品久久综合| 国产女上位好爽在线| 99热超碰| 亚洲 se图 欧美电影| 啊啊啊啊啊啊啊在线| 人妻无码视频一区二区三区久久| 色97欧美| 国产兽交视频在线播放| 全免费a敌肛交毛片免费| 欧美在线观看综合国产| 成人自拍三级在线观看| 99视频内射三四| 97中文天堂| 粉嫩小泬久久久一区二区| 亚欧美色图| 亚洲se91| 国产免费操逼| 日韩午夜啪啪视频| 十八禁黄色成人网站观看| 久久99精品九九久久久婷婷| 超碰色美女| 搡老女人911熟妇老熟女| 日韩欧美中文| 国产亚洲 中文欧美久久| 无码男人天堂| 国产传媒日韩| 天天插天天操| 天天α片| 中国操逼无码| 国产精品三级视频网站| 四虎国产成人精品免费一女五男| 日本不卡中文| 国产 日韩 欧美高清| 日韩AV一起草| 亚洲综合九| 欧美综合网在线| 九九九九九精品视频| 亚洲天堂五月天国产| 国产粉嫩出水在线播放| 粉嫩国产精品久久粉嫩| 日本精品成人无码| 人妻天天爽夜夜爽精品2| 97爱亚洲综合色| 青草地一本线一区二区三区| 国产精品免费久久久久久久久久| 九九无码| 亚洲欧美在线观看免费| 另类图片欧美激情综合| 午夜一区| 欧美九九九| 国产免费永久精品无码| 桃花色综合影院| 久久av无码| 啊啊啊啊二区好大| www.av在线视频| 一起草精品人妻| ai欧美亚洲小说| 日本免费二区三区| 破苞ⅩXXX性无码动漫无码| 亚洲精品美女操逼| 精品久久久久久无码| 旡码电影特区| 精品国产Av无码久久久亚洲| 久久免费中文字幕在线观看| 另类图片欧美激情综合| 91欧美长吊| 综合伊人激情| 精品亚洲俞拍视频一区| 国产无马在线| 操亚州| 日韩亚洲美女一区久久| 果冻传媒A片一二三区| www.91逼逼.com| 蜜臀在线看片| 日韩在线一区高清在线| 亚洲男人天堂2016| 日韩午夜精品一区二区三区电影| av日韩中文字幕| 欧美婷婷五月天| 九九九九热只有精品| 九九Av| 久久日本熟妇熟色一区| 人妻美腿丝袜制服诱惑综合天堂-| 97久久精品| 久久久久一本一区二区青青蜜月| 啪啪啪精品视频| 高清不卡 中文 人妻| 尤物一级在线免费观看| 深喉吞精| 操死我干死我| 日韩人妻一二三区视频| 久久久少妇诱惑精品视频| 亚洲欧洲日韩国产自在线| 暴力av在线| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 久久综合乱子伦国产免费| 久久久久久久强迫| 国产精品电| 久热大香蕉| 国产无码久久高清| 人人摸人人舔一区二区| 夜色五月天| 亚洲激情综合另类男同| 精品人妻一区二区三区免费视频| 中文字幕人妻色偷偷久久皮| 久久男女激情视频网站| 亚洲无码精品AV久久久| 国产AV天美传媒一区二区三区 | 日本幼女18+| 嗯……啊…嗯嗯…啊…好舒服| 淫荡熟女乱伦网| 丰满人妻-区二区三区免费看 | 精品国产乱码久久久久久蜜臀| 丝袜综合| 女优视频第10页| 老司机天天操| 婷婷爽人人婷婷爽视频| 欧美在线 亚洲| 一区二区三区精品黑丝白丝酒店对鸡 | 国产精品毛片?v一区二区三区| 国产极品久久久| 99精品热| 亚洲啪啪视频一区二区| 色淫网站优优视频| 欧美日韩人妻婷婷一区| 台湾佬中文娱乐自偷自拍| 亚洲天堂中文字| 一级人妻性爱视频| 偷拍片久久| 国产一区麻豆免费观看| 天天爱天天韩国日本牛牛牛牛| 国产自产自拍| 日韩欧洲操屄视频| 色色毛片| 大象AV在线| 97国产|免费| 青青草中出视频| 中文字幕十五区| 亚洲天堂第一页| 天天看综合网| 精品人妻伦一二三区久久| 欧美日韩香蕉| 中文字幕久热视频在线| 9I1性色影院| julia ann久久| 少妇内射www在线观看视频 | 新怡红院| 玖玖爱视频网站| 蜜臀aV午夜一区二区三区| 1区2区3区中文字幕日韩| 三级片大波波| 国产怡红院| 无码一区二区三区四区五区六区七区八区九区十区视频 | 97精品国产手机| 殴洲老熟女| 啊啊啊啊在线观看网址| 久久夜色一区二区| 91处女视频在线观看| 亚洲国产一区二区三区四区国产| 中国探花熟女| 久久久999日本大片| 蜜桃久久一区二区三区| 天天综合网国产| 蜜桃视频精品一区二区| 九九久久久久久爱| 亚洲天天影视综合网| 97超碰人操| 黄站在线免费观看| 欧美春色| 久久老女人| 97超碰超碰| 人人操人人插人www| 久久久久亚洲Aⅴ无码| ?亚洲伊人伊成久久人综合网| 入口操逼网站| 啊啊啊啊一区| 欧美色图成人网一区二区 | 成人性爱全视频观看| 综合色色网| 日韩精品99999| 色狠狠综合噜一二三区| 999综合色| 大茄子熟女AV导航| 超碰精品国产无码| 唐山老熟妇露脸啪啪叫| 亚洲色天| 亚洲精品乱码线路中文字幕| 激情抓乳插进去啪啪啪日韩| 日韩欧美亚洲一区二区三区影院| 久碰视频| 久久天天摸| 欧美亚洲宗合色性图| 青青草久久| 1024精品在线| 国产美女裸体秘 永久无遮挡| 影音先锋乱| 九九热五区| 精品人妻一区二区蜜桃视频| 欧美日韩大香蕉| 在线观看日韩av不卡| 亚洲国产精品有声| 日韩乱码Av| 国产99999久久精品| 男女国产精品| 久久亚洲AV成人精品无码| 校园春色制服丝袜中文字亚洲| 天天干天天中出av| 欧美gv在线观看| 亚洲乱色熟女一区| 色五月婷婷中文字幕| 香港成人一级视频在线青青草| 亚洲欧美综合网 | 91天美免费| 夜间福利片1000无码| 精品久久久久,69国产成人精| 一区二区三区成人| av一区二区三区不卡| 北约熟女超碰| 手机不卡视频不卡在线一二三区 | 亚洲欧美综合| 亚洲精品亚洲人成人网| 无码视频一区二区| 国产一国产一级毛片古装| 99精品久久久久久久婷婷蜜桃| 精品乱子一区二区三区99| 春色综合网| 女人高潮大叫一级毛片| 在线免费试看60秒| 九热中文字幕| 日韩av不卡在线观看| 日韩一级二级三级免费看完整版国语版| 青青草福利视频| 久久超碰日韩精品| 日日嗨AV一区二区夜夜| 国产一区二区三区高清视频| 色五月亚洲| 久九九九九九九九热| 自拍大香蕉乱插| A男人的天堂| 一级@啪啪视频| 久久久久久中文版| 99re热有精品视频国产| 亚洲伊人久久精品狠狠在线| 天天综合97| 女人爽到高潮久久久| 96国产精品| 又大又长又粗又爽又黄| 欧美后入视频| 亚洲精品一二区| 粉嫩AV一区夜夜嗨| 2019天天干天天操| 青青草AV色| 97碰在线视频| 97网色| 丁香五月成人| 美女操逼A A| 992这里有精品| 国产精品日日摸夜夜添骚逼| 久久国色天香香蕉| 亚洲色宗合| 国产suv精品一区二区四| 国产一区二区成人av在线播放| 爽爽爽免费视频| 九月丁香婷婷色| 日韩精品一区,二区 九九...老司机| 国产91影院| 亚洲综合九| 日本污ww视频网站| 超碰97欧美| 嗯嗯啊啊用力视频免费| 午夜视频好爽啊| 婷婷九月国产| 98色网| www.亚洲黄色| 中文字幕精品三级久久久| 色综合色综合网| 综合网欧美| 亚洲美女 晚间男人天堂| 手机在线视频国内精品| 日韩熟女视频二区| 精品女人999| 中文字幕人成乱码熟女香港| 加勒比久久av| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 狠狠久久亚洲欧美专区| 欧美不卡在线一区二区| 日韩青久久| 伊人青青一区成人视频在线观看区| 97精品熟女少妇一区| 欧美性性性| 九九九九九九九九九五码| 久久婷婷亚洲| 国产美女自拍AV| 啊啊啊啊啊啊啊在线| 久久精品中文| 18禁在线视频| 激情专区综合| 欧美巨大性舒爽顶到了| 97bbn| 男人的天堂一区三区| 青草地一本线一区二区三区| 艾草av| 亚洲国产美女久久久久| 色网在线| 少妇毛片久久| 手机看片1024你懂的国产| 精品视频一区二区| 亚洲综合 欧美| 蜜色网色哟哟| 激情综合网激情五月天| 日韩性爱1级片视频| 综合第一页| 亚洲精品国产拍免费91在线| 国产性刺激| 亚洲天堂久久| 国产呦精品一区二区三区下载| 欧美 精品国产制服第一页 | 久久久久女教师免费一区| 日韩激情视频| 91国产精品熟女| 亚洲性爱免费电影| 9丨久久九九九| 91国产在线精品| 精品97久久综合| 天天综合有色网| 殴美牲| 国产剧情一区在线观看| 久久亚洲婷婷| 日韩欧美中文日韩欧美色| 亚洲中文电影| 我要色综合网站| 无毛精品| 欧美 牲| 狠狠色丁香| 欧美一级久久久丰满| 少妇色| 2017天天插| 亚洲成人ab| 久久久天堂| 69丨亚洲丨精品丨入口免费播放| 超碰久久性爱| 亚洲成人激情小说视频| 亚洲91网站| 天天日B夜夜干B时时操B| 欧美色图99| 99自拍B亚洲 | 超碰欧美在线欧美| 99国产精品久久久久久久成人热| 日本护士高潮| 天堂资源站| 欧美日韩夜夜| 亚洲精品人伦一区二区| 亚洲欧美精品一区天堂久久 | 国产又爽又黄| 色99色| 色婷婷导航| 男女激情黄色网址| 亚州成人A√| 97天天爽| 综合夜夜| 日韩精品第3页| 色色色欧美| 久久思思热| 中文字幕日产av人| 亚洲欧洲色情高清| 黄色成年| 亚洲无992tv| 亚洲超碰97| 国产深夜福利| 日本精品无码三级网站| 五月丁香激情综合| 五月天激情综合网| 国产小黄片在线免费观看| 日韩av乱伦| 人人操我人人干| 天天弄天天操| 人人爱夜夜爱| 丰满少妇精品一区二区| 这里只有精品视频在线观看麻豆 | 黑人娇小av在线播放| 日本中文熟女视频| 成人老鸭窝人人在线视频| 好吊色综合| 人妻夜夜爽天天爽麻豆三区网站| 天天看片麻豆| 午夜一级免费毛片| 啊啊啊啊啊啊啊啊啊在线观看| 欧美日韩资源| 96AV久久久| 久久精品国产亚洲妲己影视| 日韩另类色图| 无码男人天堂| 免费a在线播放v| 91欧美www| 青青免费在线视频一区| 色婷婷久久| 青青草导航在线视频| 一级特级aaaa毛片免费观看| 少妇精品久久久八区九区| 国产欧美日本亚洲精品| 精品一区二区三区四区外站| 人人操人人大香蕉| 91狠狠狠| 91xingse| 成人性爱av| 香蕉精品二区二区| 玖玖综合色| 人人爱人人操人人性| 91色插| 97超视频在线观看| 亚洲一区深夜| 凹凸久久人人| 粉嫩av平台| 亚洲骚逼少妇| 91综合国产精品| 日日狠狠久久偷偷色综合免费| 国产999精品久久久| 日本人体九九九九九九| 逼逼逼逼操操操操操操操操操午夜剧场| 天天日天天看| 一本色道久久综合狠狠操| 九九久久99| 花野真衣| 婷色五月| 天天躁日日躁XXXXYY| 久操操AV电影| 成人蜜乳小视频网站| 四虎免费在线观看| 欧美超碰97| 国产免费内射视频| 亚洲视频1区| 97视频在线| 五月天婷婷社区| 97资源站日韩| 亚洲黄色a级片| 91网站在线播放| 美国aaaaa一级黄片| 亚洲人成网www| 激情综合97| 中文有码第五页| 色色99| 欧美999999| 麻豆一区在线| 91美女视频电影| 97在线视频免费| 97亚洲欧美日韩| 夜夜騷av、一區二區| 一个人在线看的黄色电影网站| AV 少妇 人妻 偷拍| 91人妻最真实刺激绿帽| 欧美18禁91| 91综合在线| 伊人网综合在线视频| 看日韩操逼| 国产日韩精品一区二区三区| 这里有精品| 97AV爱| 精品视频一区二区| 亚洲 另类 丝袜 自拍 动漫| 欧美精品999| 国产AV毛片| www.丁香五月| 一区二区三区四区色图| 免费观看性欧美一级| 精品人妻一区春色| 四月丁香婷婷| 岛国在线一区二区三区| 九久9精品| 国产亚洲日本| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 无码日韩人妻av一| 97久久超碰亚洲| 色香欲天天天天综合色| 婷婷精品| 亚洲精品视频在线播放| 色色色色日本| 日美免费黄片| 麻豆国产97在线| 日韩精品一区二区日韩| 国产精品一区二区 尿失禁| 黄色电影在线播放综合网站| 国产99999久久精品| AV99热18这里只有精品| 国产精品诱惑| 婷婷五月综合在线| 性生活性生大爱77AV国产| 一区二区三区四区免费视频| 蜜臀AV成人精品蜜臀AV久久| 女沟厕偷窥piss小便| 日本欧美成人片AAAA| 春色91| 性色av婷婷久久一区二区点复制| 亚洲欧洲无码一区夜| 日韩乱伦影音先锋| 欧美综合色站| 欧美激情性久久久久久| 黄网站黄视频网站进入口| 人妻二区| 91亚洲丝袜| 一级岛国大片| 91日日| 黄片www.| 国产一区在线播放| 久久日本熟女精品一区| 国人欧美精品一区二区| 色与欲影视天天看综合网| 五月丁香综合网| 国产日韩精品无码去免费专区国产| 韩日精品福利视频一区不卡在线免| 911av网站免费观看| 国产乱码久久久| 蜜桃精品一区二区三区ww| 97国产精品一区| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 99国产精品视频尤物| 蜜臀久久精品久久久久视频| 欧美毛片在线网| 欧美日韩另类在线| 噜噜噜噜久久久精品免费| 日韩久久艹| 久久久久国产一区二| 亚欧免费观看视频| 男同专区一区二区三区在线| 美国久久一二三四| 国产欧美伊人| 婷婷激情综合网| 天天澡天天爽日日AV| 久久99久久99精品天美传媒棢·纸:. | 色哟哟av| 亚州色阁| 任我爽视频在线观看| 国产特级毛片AAAAAA高潮流水| 欧美日韩久久精品爱爱| 精品二区三四区五电影| 亚洲超碰综合网| 一区二区三区四区久久视1| 亚洲成人av电影在线| 日韩一二三区| 屁股久久久久久| 91亚洲欧美激情| 九九热re99re6在线精品| 日本精品一区二区三| 玖玖超碰熟| 日韩性爱小视频| 乱老熟女一区二区三区| 欧美亚洲情色| 日本99视频| 亚洲欧美综合网| 强奸乱伦大香蕉| 清清草影| 黄色大片免费在线| 色婷婷婷五月天激情四射| 久久久少妇诱惑精品视频| 日本影视久久免费| 色色毛片| 91综合网站| 奇米狠999| 男女打扑克高清网站| 六月丁香网| 亚洲人久久久网| 搡老熟女免费视频| 日韩中文字幕二区| 蜜臀久久99精品久久久久免费观| 亚春色色| 91精品久久久| 黄片在线免费在线观看| 9色在线| 日本一区二区三区四区免费观看| 国产一级高跟丝袜| 丁香六月激情综合| 欧美性爱系列| 天天欧美色| 国产肏屁眼视频| 国产后入精品| xxx亚洲午夜天堂| 97在线青| 久久精品国产亚洲粉嫩| 日日夜夜精品视频| 精品在线观看视频在线| 色色无码| 精品久久久九九九孕妇| 99精品在线| 密乳AV免费观看| 日本一区三级韩国| 国产97免费视频| 91强奸乱轮| 亚洲成人av色网| 日韩钢筋无码高清啾啾啾| 婷婷丁香六月| 全球成人中文在线| 免费黄色片。| 久久久久久国产成人| 91日本在线观看| 欧美91丝袜| 天天日天天搞天天干| 日韩AV色图| 伊人欧美大香蕉视频| 亚洲日韩美女中文字幕乱| 日本中文字幕熟妇| 大香蕉一级黄色片久久| 欧美三级不卡| 亚洲AV无码乱码| 人妻少妇精品一区二区三区| 97久久国产精品女不卡| 欧美性爱97超碰| a片久久久久久久久久久久 | 久jiu久神马影院| 九九九九九九视频免费| AV天堂丝袜| 亚洲 一区二区 自拍| 欧美91久久久久| 伊人色综合网电影| 国内外内射高清视频| 磁力99AV| 韩国一级做a久久久久| 人妻在线大香蕉| 91久久婷婷| 国产精品内射婷婷一级二| 九九九精品一区二区无码| 精品偷拍13p欧美dodk视频| 色香欲综合| 欧美韩日精品资源| 亚欧性爱ab| 国产美女在线精品免费看| 很狠操| 屌妞视频久久久久久久久久久久| 强奸乱伦动态污图免费 | 九九九九精品一区| 日韩有码一区三区| 国产树林里野战在线看| 免费的黄片有限公司| 精品无码久久| 97bbn| 人妻人人澡人人爽人人| 国产原创自拍| 少妇啪啪自拍| 欧美A片中文字幕| 色欲久久99国产精品久久久久久| 久久亚洲天堂| 欧洲亚洲综合| 亚洲不卡一| 亚洲一区二区三区麻豆传媒| 欧美国产日韩清纯唯美 | 视频不卡中文字幕| 男人的天堂va在线| 日韩欧美女求操每天更新| 超碰视97中文| 欧美草草| 蜜臀99久久国产| 女人天堂网| 久久久久熟女| 偷拍99| 91精品老女人| 99无码狠狠久久| 色综合V| 欧美另类精品xxxx| 天堂无码精品国产久| 亚洲天堂7777| 精品区9| 久久av网| 夜夜 中文视频rt| 白丝jkav| 欧美视频第二页| 97国产精品久久久久| 青青草AV色| 久久av无码| 测评在线观看AV| yellow网站免费观看日韩高清无码| 亚洲乱码尤物193YW| 蜜桃成人1区2区3区| 99久久综合| 国产精品97视频| 人人么人人操| 多毛小伙内射老太婆| 色久综合| 欧美丝袜中文字幕07在线| 国产一级137片内射麻豆| 偷拍亚洲高清图片| 妇女性内射冈站HDWWWCOM| 精彩国产视频播放1区2区| 色男人色天堂东京热| AV不卡在线| 爱丝福利| 九月丁香综合网| 久久97超碰香蕉| 国产精品美女在线一区| 中国探花熟女| 美性中文综合网| 99精品成人免费看| 51一区二区三区| 天天天天做夜夜夜夜做| 熟女人妻一区二区三区| 日韩av不卡在线看| A级国产欧美激情在线| 少妇三P| 丰满人妻一区二区三区四| 婷婷亚洲综合| 操我啊啊啊啊啊| 亚洲欧美内射| 国产不良强奸视频免费看| 日韩字幕一区| 日韩啪啪啪啪啪| 岛国天天午夜影院传媒网| 国产亚洲精品农村妇女| 亚洲熟妇无码一区二区三区| 蜜臀久久99精品久久久久久酒店 | 久热影视| 色第一页| 亚洲丝袜二区| 强乱老妇中文字幕| 免费观看国产小粉嫩喷水精品午| 亚洲人在线| 78精品在线| 五月丁香婷婷综合| 夜夜嗨视频| 在线观看中文字幕| 抽插一区二区视频| 黄色网址在线免费观看| 婷婷丁香九月| 伊人96在线| 久久91| 黑人中出21连凳花野真衣| 国产在线播放成人免费| 啊啊啊啊视频免费| 欲色综合| 亚洲 日韩 欧美 国产综合体| 日韩内| 亚洲天堂另类小说男人| 亚洲码在线中文在线观看| 五月丁香久久| 日韩视频中文字幕| 殴美性色a级欧美| 一二三四视频中文字幕在线看| 五月婷婷激情综合| 2018天天日天天日| 亚洲日韩欧美一区二区| 精品国产精品一区二区| 蜜臀中文字幕| 欧美色图在线视频少妇| 9999免费精彩视频| 17c在线成人免费A片观看|