久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

BERT微調(diào)實(shí)戰(zhàn):酒店評(píng)論情感分類(lèi)完整流程與代碼實(shí)現(xiàn)

BERT微調(diào)實(shí)戰(zhàn):酒店評(píng)論情感分類(lèi)完整流程與代碼實(shí)現(xiàn) 做文本分類(lèi)這幾年我從最原始的詞典匹配一路換到word2vec、textCNN再到BERT每一步升級(jí)感受都很明顯但最讓我覺(jué)得“省心”的還是BERT。省心不是因?yàn)樗纫欢ㄗ罡叨撬鼛缀醢烟卣鞴こ踢@件事從流程里徹底拿掉了。我這次拿一個(gè)酒店評(píng)論情感分類(lèi)項(xiàng)目來(lái)完整拆解代碼從選型、數(shù)據(jù)預(yù)處理、模型加載到訓(xùn)練調(diào)參一條線全講清楚。標(biāo)題雖然寫(xiě)的是“分析”但我會(huì)把落腳點(diǎn)放在“能跑的代碼”上。適合誰(shuí)看兩類(lèi)人一類(lèi)是剛?cè)腴T(mén)NLP、想搞懂BERT在分類(lèi)任務(wù)上到底怎么用的小白另一類(lèi)是以前用詞向量或CNN做分類(lèi)、想整體遷移到BERT流派的工程師。這兩類(lèi)人讀這篇文章應(yīng)該都不虧。酒店評(píng)論這個(gè)場(chǎng)景選得比較典型因?yàn)槲谋径獭⒖谡Z(yǔ)化重、情緒詞密度高而且正負(fù)面表達(dá)非常直觀。這類(lèi)數(shù)據(jù)用傳統(tǒng)方法其實(shí)也能做但BERT能把一些“繞彎子”的評(píng)論也抓出來(lái)比如“房間還行就是空調(diào)太吵了”這種轉(zhuǎn)折結(jié)構(gòu)詞袋模型基本沒(méi)戲BERT就能拿捏。下面我把整個(gè)項(xiàng)目從零拆開(kāi)。1. 為什么是BERT酒店評(píng)論情感分類(lèi)的選型邏輯1.1 傳統(tǒng)文本分類(lèi)的痛點(diǎn)出在“語(yǔ)義理解”上在BERT之前做情感分類(lèi)最常見(jiàn)的套路是把句子切詞、去掉停用詞、用word2vec或fastText把詞向量化然后送進(jìn)textCNN或TextRNN。這條路最大的問(wèn)題在于詞向量是靜態(tài)的。每個(gè)詞只有一個(gè)固定的向量表示多義詞沒(méi)法根據(jù)上下文切換含義。比如說(shuō)酒店評(píng)論里“干凈”這個(gè)詞正面語(yǔ)境叫“環(huán)境很干凈”負(fù)面語(yǔ)境叫“服務(wù)員態(tài)度不干凈利落”靜態(tài)向量的效果就大打折扣。更有意思的問(wèn)題是轉(zhuǎn)折和否定。像“沒(méi)有想象中那么差”這句話如果只看詞的出現(xiàn)順序和頻率模型很容易被“差”這個(gè)字帶走分類(lèi)成負(fù)面。人的理解是“差”被前面的“沒(méi)有”和“那么”修正了整體其實(shí)是偏正面的。這個(gè)層次的語(yǔ)義理解詞袋模型和CNN都是做不到的因?yàn)樗鼈兊母惺芤耙词窃~級(jí)別的孤島要么只有幾格的局部窗口。1.2 BERT帶來(lái)了什么改變BERT的核心是Transformer的雙向編碼器它預(yù)訓(xùn)練階段用兩個(gè)任務(wù)來(lái)學(xué)習(xí)語(yǔ)言掩碼語(yǔ)言模型和下一句預(yù)測(cè)。簡(jiǎn)單理解就是模型在訓(xùn)練時(shí)見(jiàn)過(guò)海量文本學(xué)會(huì)了“一個(gè)詞在什么語(yǔ)境下大概是什么意思”所以用它來(lái)做下游任務(wù)時(shí)我們只需要給它一個(gè)分類(lèi)頭再做簡(jiǎn)單微調(diào)就行。對(duì)于酒店評(píng)論這種短文本BERT有幾個(gè)天然優(yōu)勢(shì)。第一動(dòng)態(tài)詞向量讓“干凈”“差”“好”這樣的詞在不同語(yǔ)境下?lián)碛胁煌南蛄勘硎?。第二Transformer的注意力機(jī)制能捕捉長(zhǎng)距離依賴(lài)轉(zhuǎn)折結(jié)構(gòu)、否定結(jié)構(gòu)里面的修飾關(guān)系都能被建模到。第三遷移學(xué)習(xí)讓數(shù)據(jù)需求量大幅下降。傳統(tǒng)方法做個(gè)像樣的分類(lèi)器可能得幾萬(wàn)甚至幾十萬(wàn)條標(biāo)注數(shù)據(jù)而B(niǎo)ERT哪怕只有幾千條標(biāo)注也能跑出不錯(cuò)的baseline這在很多小項(xiàng)目里非常實(shí)際。這個(gè)項(xiàng)目的任務(wù)定義很明確輸入一段酒店評(píng)論文本輸出正面或負(fù)面標(biāo)簽。如果你數(shù)據(jù)里還有中性做三分類(lèi)也完全沒(méi)問(wèn)題框架上幾乎不用改。2. 數(shù)據(jù)準(zhǔn)備與預(yù)處理決定項(xiàng)目成敗的第一步2.1 數(shù)據(jù)探索與標(biāo)簽梳理動(dòng)手之前先看數(shù)據(jù)這一步很多人會(huì)跳過(guò)我建議別跳。酒店評(píng)論數(shù)據(jù)通常長(zhǎng)什么樣大概是“位置很好離地鐵站步行五分鐘”“早餐種類(lèi)太少了性?xún)r(jià)比一般”這類(lèi)口語(yǔ)化句子。可能還夾雜著表情符號(hào)、網(wǎng)址、繁體字甚至亂碼。先把數(shù)據(jù)讀進(jìn)來(lái)看看分布import pandas as pd df pd.read_csv(hotel_reviews.csv) print(df.head()) print(df[label].value_counts())這個(gè)項(xiàng)目我用的是二分類(lèi)數(shù)據(jù)標(biāo)簽為1表示正面0表示負(fù)面。如果你的數(shù)據(jù)里有0、1、2三分類(lèi)后面只需要把分類(lèi)頭的輸出維度改成3。標(biāo)簽分布這里要特別留意如果正負(fù)樣本比例嚴(yán)重失衡比如正面占了90%那么后續(xù)訓(xùn)練和評(píng)估都要做相應(yīng)調(diào)整比如用加權(quán)損失函數(shù)或者用F1分?jǐn)?shù)替代準(zhǔn)確率。有一個(gè)我在實(shí)踐中反復(fù)踩過(guò)的坑很多公開(kāi)數(shù)據(jù)集里的標(biāo)簽并不是均衡的訓(xùn)練時(shí)模型可能把“全部預(yù)測(cè)為多數(shù)類(lèi)”當(dāng)一個(gè)捷徑學(xué)到最后準(zhǔn)確率看著有80%多實(shí)際上什么都沒(méi)學(xué)會(huì)。所以先統(tǒng)計(jì)比例再?zèng)Q定后續(xù)策略。2.2 清洗與極簡(jiǎn)預(yù)處理預(yù)處理的度很難把握。BERT有自己的分詞器它對(duì)中文是按照字級(jí)別處理的所以不需要再用jieba去切詞。這一點(diǎn)很多人容易慣性操作上來(lái)就分詞結(jié)果反而破壞了BERT對(duì)中文文本的原始理解。我的清洗方案非常簡(jiǎn)單做三件事import re def clean_text(text): # 去掉網(wǎng)址 text re.sub(rhttp\S, , text) # 去掉多余空白符 text re.sub(r\s, , text) # 去掉無(wú)意義的特殊符號(hào)但保留中英文、數(shù)字和常見(jiàn)標(biāo)點(diǎn) text re.sub(r[^\u4e00-\u9fa5a-zA-Z0-9。、,.!?;:], , text) return text df[clean_comment] df[comment].apply(clean_text)注意一個(gè)細(xì)節(jié)表情符號(hào)。一句話如果出現(xiàn)“哈哈哈哈哈”這種文本模型能識(shí)別出開(kāi)心但如果出現(xiàn)這類(lèi)emojiBERT的詞典里通常沒(méi)有對(duì)應(yīng)的token。我是直接去掉的因?yàn)閷?duì)情感分類(lèi)任務(wù)emoji本身攜帶的情感信息在中文評(píng)價(jià)文本里占比不大去掉不會(huì)影響整體效果但能讓輸入更干凈。還有一點(diǎn)去停用詞這個(gè)操作在BERT這里我不建議做。BERT的分詞器是把文本切成一連串token它預(yù)訓(xùn)練時(shí)看到的就是完整的句子你把“的”“了”“很”這些詞刪掉反而破壞了句子的語(yǔ)法結(jié)構(gòu)模型原本能捕捉的語(yǔ)義信息就丟了。2.3 數(shù)據(jù)集的劃分策略劃分方式直接影響后續(xù)模型評(píng)估的可信度。我習(xí)慣用分層采樣保證訓(xùn)練集、驗(yàn)證集和測(cè)試集里的正負(fù)比例和原始數(shù)據(jù)一致。from sklearn.model_selection import train_test_split train_df, temp_df train_test_split( df, test_size0.2, stratifydf[label], random_state42 ) val_df, test_df train_test_split( temp_df, test_size0.5, stratifytemp_df[label], random_state42 ) print(len(train_df), len(val_df), len(test_df))這里有個(gè)常被忽略的點(diǎn)驗(yàn)證集和測(cè)試集要分開(kāi)不要只用一份數(shù)據(jù)既調(diào)參又報(bào)最終指標(biāo)。驗(yàn)證集是給你在訓(xùn)練過(guò)程中選模型的測(cè)試集是最后統(tǒng)一評(píng)估泛化能力用的混在一起會(huì)讓最終結(jié)果偏樂(lè)觀上線后被真實(shí)數(shù)據(jù)打臉。3. 核心代碼加載BERT與構(gòu)建分類(lèi)模型3.1 環(huán)境依賴(lài)與版本匹配先把環(huán)境收拾利索。這個(gè)項(xiàng)目用到的核心庫(kù)是transformers和torch。版本匹配很關(guān)鍵不同版本的transformers接口有差異我在一臺(tái)新機(jī)器上裝環(huán)境時(shí)經(jīng)常被版本坑。pip install torch2.0.1 transformers4.28.1 pandas scikit-learn如果你的機(jī)器有顯卡還需要確認(rèn)CUDA版本和torch是匹配的。我建議安裝完先跑一個(gè)簡(jiǎn)單的檢查import torch print(torch.__version__) print(torch.cuda.is_available())如果cuda.is_available()返回False后面訓(xùn)練全部走CPU速度會(huì)慢到讓人懷疑人生?,F(xiàn)在很多云環(huán)境會(huì)有坑比如torch默認(rèn)裝的CPU版本重新安裝GPU版本就好。3.2 Tokenizer的用法與常見(jiàn)誤區(qū)BERT模型的文本輸入不能是字符串必須經(jīng)過(guò)分詞轉(zhuǎn)換成輸入ID。tokenizer是這一流程的核心工具。中文場(chǎng)景首選的預(yù)訓(xùn)練模型是bert-base-chinese這個(gè)模型在中文語(yǔ)料上預(yù)訓(xùn)練過(guò)詞典覆蓋和分詞粒度都貼合中文文本。from transformers import BertTokenizer tokenizer BertTokenizer.from_pretrained(bert-base-chinese) def encode_texts(texts, max_length128): return tokenizer( texts, paddingTrue, truncationTrue, max_lengthmax_length, return_tensorspt )這里解釋一下幾個(gè)參數(shù)。paddingTrue的作用是把同一個(gè)批次里的文本pad到相同長(zhǎng)度。因?yàn)镻yTorch的DataLoader要求一個(gè)batch里的張量形狀一致所以短句子就得補(bǔ)到最長(zhǎng)句子的長(zhǎng)度。truncationTrue是當(dāng)句子超過(guò)max_length時(shí)直接截?cái)唷eturn_tensorspt表示返回PyTorch的Tensor格式。max_length的選擇我習(xí)慣先用數(shù)據(jù)分布說(shuō)話lengths [ len(tokenizer.encode(text, add_special_tokensFalse)) for text in train_df[clean_comment] ] print(pd.Series(lengths).describe())看一下句長(zhǎng)分布如果80%的樣本都在100以?xún)?nèi)max_length設(shè)128基本夠用。太長(zhǎng)的文本截?cái)嗪笮畔?huì)丟太短則浪費(fèi)計(jì)算資源。這個(gè)參數(shù)在推理階段也要保持一致否則訓(xùn)練和預(yù)測(cè)的輸入分布不一致效果會(huì)有小幅下降。3.3 自定義Dataset與DataLoadertokenizer拿到了編碼好的輸入接下來(lái)要封裝成PyTorch可以迭代的數(shù)據(jù)集。這里有一個(gè)極易出錯(cuò)的地方BERT的輸入除了input_ids通常還需要attention_mask。這個(gè)mask的作用是告訴模型哪些位置是真實(shí)文本、哪些位置是padding注意力機(jī)制計(jì)算時(shí)會(huì)忽略padding部分。我自己寫(xiě)Dataset是這樣的from torch.utils.data import Dataset class ReviewDataset(Dataset): def __init__(self, texts, labels, tokenizer, max_length128): self.texts texts self.labels labels self.tokenizer tokenizer self.max_length max_length def __len__(self): return len(self.texts) def __getitem__(self, idx): text self.texts[idx] label self.labels[idx] encoded self.tokenizer( text, paddingmax_length, truncationTrue, max_lengthself.max_length, return_tensorspt ) return { input_ids: encoded[input_ids].squeeze(0), attention_mask: encoded[attention_mask].squeeze(0), label: torch.tensor(label, dtypetorch.long) }paddingmax_length在這里和前面batch-level padding有一個(gè)區(qū)別每個(gè)樣本都精確pad到max_length。這樣做的優(yōu)點(diǎn)是DataLoader不用再動(dòng)態(tài)做padding簡(jiǎn)單直接缺點(diǎn)是會(huì)浪費(fèi)一點(diǎn)計(jì)算資源。對(duì)小項(xiàng)目來(lái)說(shuō)這個(gè)浪費(fèi)完全可接受代碼卻簡(jiǎn)單了很多。從工程角度看用清晰換取一點(diǎn)性能非常劃算。然后構(gòu)建DataLoaderfrom torch.utils.data import DataLoader train_dataset ReviewDataset( train_df[clean_comment].tolist(), train_df[label].tolist(), tokenizer ) train_loader DataLoader(train_dataset, batch_size16, shuffleTrue)4. 訓(xùn)練環(huán)節(jié)參數(shù)設(shè)置與完整訓(xùn)練代碼4.1 學(xué)習(xí)率、輪數(shù)與幾個(gè)關(guān)鍵參數(shù)的取舍訓(xùn)練BERT和訓(xùn)練普通神經(jīng)網(wǎng)絡(luò)很不一樣。預(yù)訓(xùn)練模型的參數(shù)已經(jīng)有了很好的語(yǔ)義先驗(yàn)微調(diào)時(shí)如果學(xué)習(xí)率太大會(huì)覆蓋掉預(yù)訓(xùn)練學(xué)到的東西業(yè)界稱(chēng)這個(gè)現(xiàn)象為“災(zāi)難性遺忘”。如果學(xué)習(xí)率太小訓(xùn)練又會(huì)陷入長(zhǎng)時(shí)間停滯。我實(shí)測(cè)下來(lái)2e-5是個(gè)穩(wěn)妥的起點(diǎn)1e-5更保守5e-5通常偏激進(jìn)容易在驗(yàn)證集上看到明顯的震蕩。訓(xùn)練輪數(shù)方面小數(shù)據(jù)集上2到3個(gè)epoch就夠了。酒店評(píng)論如果只有幾千條跑3個(gè)epoch基本收斂。再多輪數(shù)不會(huì)帶來(lái)明顯提升反而可能過(guò)擬合——訓(xùn)練集loss持續(xù)下降但驗(yàn)證集loss開(kāi)始反彈。另外還有一個(gè)warmup的概念它的作用是讓模型在訓(xùn)練開(kāi)頭的幾步里用很小的學(xué)習(xí)率熱身然后逐漸增加到設(shè)定值最后再衰減。這個(gè)機(jī)制能有效避免訓(xùn)練初期的大幅度更新破壞預(yù)訓(xùn)練權(quán)重。from transformers import BertForSequenceClassification from torch.optim import AdamW from transformers import get_linear_schedule_with_warmup model BertForSequenceClassification.from_pretrained( bert-base-chinese, num_labels2 ) optimizer AdamW(model.parameters(), lr2e-5) total_steps len(train_loader) * epochs scheduler get_linear_schedule_with_warmup( optimizer, num_warmup_stepsint(total_steps * 0.1), num_training_stepstotal_steps )我在選擇優(yōu)化器時(shí)用過(guò)普通的SGD效果不好BERT微調(diào)圈里現(xiàn)在基本都用AdamW。它是Adam的修正版把權(quán)重衰減和梯度更新解耦了更適合預(yù)訓(xùn)練模型的微調(diào)場(chǎng)景。如果你想深入理解可以去看原論文但工程上直接用就是正確選擇。4.2 訓(xùn)練循環(huán)代碼解析訓(xùn)練的核心就一個(gè)循環(huán)但里面的細(xì)節(jié)值得逐行看。device torch.device(cuda if torch.cuda.is_available() else cpu) model.to(device)模型和數(shù)據(jù)都要搬到GPU上。忘了做這一步是新手最常出的問(wèn)題經(jīng)常會(huì)看到報(bào)錯(cuò)說(shuō)tensor不在同一設(shè)備上。然后是訓(xùn)練循環(huán)主體from tqdm import tqdm model.train() for epoch in range(epochs): total_loss 0 progress_bar tqdm(train_loader, descfEpoch {epoch1}) for batch in progress_bar: input_ids batch[input_ids].to(device) attention_mask batch[attention_mask].to(device) labels batch[label].to(device) outputs model( input_idsinput_ids, attention_maskattention_mask, labelslabels ) loss outputs.loss loss.backward() # 梯度裁剪防止梯度爆炸 torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm1.0) optimizer.step() scheduler.step() optimizer.zero_grad() total_loss loss.item() progress_bar.set_postfix({loss: f{loss.item():.4f}}) avg_loss total_loss / len(train_loader) print(fEpoch {epoch1} average loss: {avg_loss:.4f})細(xì)看幾個(gè)操作。model(input_ids, attention_mask, labels)這段代碼中l(wèi)abels傳入后transformers會(huì)自動(dòng)計(jì)算交叉熵?fù)p失。很多人會(huì)疑惑為什么不自己寫(xiě)損失函數(shù)其實(shí)這是BERT分類(lèi)模型的接口設(shè)計(jì)傳入labels就自動(dòng)返回loss省去自己寫(xiě)forward計(jì)算的一堆代碼。clip_grad_norm_是梯度裁剪把梯度向量的范數(shù)限制在1.0以?xún)?nèi)。BERT這類(lèi)Transformer模型訓(xùn)練時(shí)偶爾會(huì)出現(xiàn)梯度爆炸loss一下變成NaN加了裁剪能大幅降低這個(gè)概率。optimizer.step()更新參數(shù)scheduler.step()更新學(xué)習(xí)率最后zero_grad()把梯度清零。順序一定不能錯(cuò)特別是zero_grad的位置必須在backward之前已經(jīng)清零我這里放在step之后下個(gè)batch的backward會(huì)基于清零后的梯度重新計(jì)算是常見(jiàn)寫(xiě)法。有一個(gè)小經(jīng)驗(yàn)把訓(xùn)練過(guò)程的loss打印出來(lái)如果loss在第一個(gè)epoch里沒(méi)有明顯下降趨勢(shì)大概率是學(xué)習(xí)率太小或數(shù)據(jù)預(yù)處理出了問(wèn)題別急著加大輪數(shù)硬跑先定位原因。5. 驗(yàn)證與預(yù)測(cè)別只盯著準(zhǔn)確率5.1 評(píng)估指標(biāo)與混淆矩陣訓(xùn)練結(jié)束后要在驗(yàn)證集和測(cè)試集上評(píng)估模型表現(xiàn)。二分類(lèi)場(chǎng)景我習(xí)慣同時(shí)看準(zhǔn)確率、精確率、召回率和F1分?jǐn)?shù)。準(zhǔn)確率容易被多數(shù)類(lèi)主導(dǎo)而精確率和召回率分別回答兩個(gè)問(wèn)題模型預(yù)測(cè)為正面時(shí)有多少是對(duì)的實(shí)際為正面時(shí)模型找回來(lái)多少。寫(xiě)一個(gè)簡(jiǎn)單的評(píng)估函數(shù)from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, confusion_matrix def evaluate(model, dataloader): model.eval() all_preds [] all_labels [] with torch.no_grad(): for batch in dataloader: input_ids batch[input_ids].to(device) attention_mask batch[attention_mask].to(device) labels batch[label].to(device) outputs model(input_idsinput_ids, attention_maskattention_mask) logits outputs.logits preds torch.argmax(logits, dim-1) all_preds.extend(preds.cpu().numpy()) all_labels.extend(labels.cpu().numpy()) print(Accuracy:, accuracy_score(all_labels, all_preds)) print(Precision:, precision_score(all_labels, all_preds)) print(Recall:, recall_score(all_labels, all_preds)) print(F1:, f1_score(all_labels, all_preds)) print(Confusion Matrix:) print(confusion_matrix(all_labels, all_preds))評(píng)估時(shí)需要切換成推理模式就是那句model.eval()。它和with torch.no_grad()共同作用關(guān)閉dropout和梯度計(jì)算讓前向推理結(jié)果穩(wěn)定且省顯存。這里有個(gè)容易搞錯(cuò)的點(diǎn)判斷模型是否在train()模式會(huì)影響B(tài)ERT內(nèi)部的dropout層如果做預(yù)測(cè)前忘了切回eval()同樣的輸入兩次預(yù)測(cè)結(jié)果可能不一樣因?yàn)閐ropout隨機(jī)丟棄了一部分神經(jīng)元?;煜仃囍档谜J(rèn)真看看。如果負(fù)面樣本被大量誤判成正面說(shuō)明模型對(duì)負(fù)面表達(dá)的識(shí)別偏弱可能需要補(bǔ)充數(shù)據(jù)或調(diào)整類(lèi)別權(quán)重。反過(guò)來(lái)如果正負(fù)樣本預(yù)測(cè)數(shù)量嚴(yán)重不對(duì)等往往說(shuō)明模型學(xué)會(huì)了某種捷徑要回到特征層面排查。5.2 單條評(píng)論預(yù)測(cè)和模型保存模型評(píng)估沒(méi)問(wèn)題保存模型和tokenizer方便后面部署或二次訓(xùn)練model.save_pretrained(hotel_bert_model) tokenizer.save_pretrained(hotel_bert_model)保存時(shí)不建議只保存pytorch_model.bin最好把config.json和tokenizer相關(guān)的文件一起存使用起來(lái)才不用重復(fù)加載預(yù)訓(xùn)練權(quán)重。單條評(píng)論預(yù)測(cè)是一個(gè)很常見(jiàn)的工程場(chǎng)景比如線上對(duì)用戶(hù)新增評(píng)論實(shí)時(shí)打標(biāo)def predict_single(text): model.eval() cleaned clean_text(text) encoded tokenizer( cleaned, paddingmax_length, truncationTrue, max_length128, return_tensorspt ) input_ids encoded[input_ids].to(device) attention_mask encoded[attention_mask].to(device) with torch.no_grad(): outputs model(input_idsinput_ids, attention_maskattention_mask) logits outputs.logits pred torch.argmax(logits, dim-1).item() prob torch.softmax(logits, dim-1)[0].tolist() return {label: 正面 if pred 1 else 負(fù)面, prob: prob} print(predict_single(房間很干凈位置也方便下次還來(lái))) print(predict_single(隔音太差了一晚上沒(méi)睡著))softmax概率可以讓預(yù)測(cè)結(jié)果具備可解釋性。比如一條評(píng)論預(yù)測(cè)為正面概率是0.998另一條是0.55前者顯然更有信心。很多場(chǎng)景下閾值不一定要定在0.5可以結(jié)合業(yè)務(wù)調(diào)整比如只對(duì)高置信度的負(fù)面評(píng)論做人工介入。6. 常見(jiàn)問(wèn)題排查與避坑記錄6.1 顯存不足與訓(xùn)練速度異常BERT模型參數(shù)量大顯存占用比textCNN高一個(gè)量級(jí)。訓(xùn)練時(shí)如果batch_size設(shè)得太大很容易爆顯存。最常見(jiàn)的報(bào)錯(cuò)是CUDA out of memory。解決辦法有兩個(gè)方向。一是減小batch_size比如從32降到16再不行降到8。二是使用梯度累積邏輯上模擬大batch的效果但顯存消耗不變。做法是每隔幾個(gè)step做一次優(yōu)化器更新accumulation_steps 2 for step, batch in enumerate(progress_bar): outputs model(...) loss outputs.loss / accumulation_steps loss.backward() if (step 1) % accumulation_steps 0: optimizer.step() scheduler.step() optimizer.zero_grad()這個(gè)技巧在顯存有限但希望用大batch的場(chǎng)合很實(shí)用。在代碼里把loss除以累積步數(shù)再把梯度累積到幾個(gè)batch后再更新參數(shù)效果接近一次大batch更新。訓(xùn)練速度太慢的話優(yōu)先檢查是不是沒(méi)用到GPU。nvidia-smi看一下顯存占用如果只有幾MB占用大概率數(shù)據(jù)或模型還在CPU上。另一個(gè)原因可能是DataLoader的num_workers沒(méi)設(shè)置合理在Linux環(huán)境可以設(shè)4或8Windows下需要注意設(shè)置過(guò)大容易引發(fā)報(bào)錯(cuò)。6.2 數(shù)據(jù)噪聲和臟數(shù)據(jù)的坑酒店評(píng)論數(shù)據(jù)里有一種常見(jiàn)陷阱同一句話被復(fù)制了很多次。有些平臺(tái)數(shù)據(jù)是爬蟲(chóng)抓的重復(fù)評(píng)論很多如果不去重模型會(huì)對(duì)這些固定表達(dá)過(guò)擬合影響泛化。跑訓(xùn)練前最好做一次文本級(jí)別去重。另一種情況是文本和標(biāo)簽不匹配。比如評(píng)論內(nèi)容本身很負(fù)面但標(biāo)注成了正面。這種情況在公開(kāi)數(shù)據(jù)集里并不罕見(jiàn)。如果訓(xùn)練集中這類(lèi)噪聲較大模型的表現(xiàn)上限會(huì)被直接限制。我的處理辦法是在訓(xùn)練前抽樣檢查一批數(shù)據(jù)用肉眼掃一遍標(biāo)簽是否合理雖然花時(shí)間但很值得。還有一個(gè)小坑是關(guān)于中英文混排和繁體字的。有些評(píng)論里夾雜“床墊軟硬適中性?xún)r(jià)比OK”如果bert的詞典對(duì)英文字母處理不夠好最好把單獨(dú)成詞的英文去掉或替換掉。繁體字可以用opencc庫(kù)轉(zhuǎn)成簡(jiǎn)體減少詞典覆蓋不到的概率。6.3 效果不佳時(shí)的排查路徑如果你的模型測(cè)試集效果比預(yù)期低很多按順序排查。先看預(yù)處理后的文本打印幾條出來(lái)肉眼觀察是否合理有沒(méi)有被過(guò)度清洗導(dǎo)致關(guān)鍵信息丟失。再看訓(xùn)練loss曲線如果loss已經(jīng)收斂但驗(yàn)證集不高典型過(guò)擬合考慮增加數(shù)據(jù)或減少輪數(shù)。然后檢查max_length如果評(píng)論普遍很長(zhǎng)而max_length太小信息截?cái)鄷?huì)直接傷害效果。最后看標(biāo)簽分布極端不均衡的情況下優(yōu)先考慮加權(quán)重或換評(píng)估指標(biāo)。有一種情況容易被忽略數(shù)據(jù)集的訓(xùn)練分布和真實(shí)場(chǎng)景分布不一致。比如訓(xùn)練數(shù)據(jù)全部是某一段時(shí)間內(nèi)的評(píng)論但線上用戶(hù)習(xí)慣變化了算法也會(huì)退化。這是模型上線后的事可以在代碼里預(yù)留定期重訓(xùn)的機(jī)制。7. 幾點(diǎn)實(shí)用心得和后續(xù)擴(kuò)展方向做完這個(gè)酒店評(píng)論情感分類(lèi)項(xiàng)目我對(duì)BERT微調(diào)這件事有了非常具體的感受。第一個(gè)感受是BERT微調(diào)最大的坑不是代碼寫(xiě)不出來(lái)而是參數(shù)設(shè)置和數(shù)據(jù)處理細(xì)節(jié)過(guò)于隱蔽。同樣的模型、同樣的數(shù)據(jù)學(xué)習(xí)率差一個(gè)量級(jí)結(jié)果能差一大截。所以做項(xiàng)目時(shí)不要一上來(lái)就追求調(diào)參技巧先跑通一個(gè)穩(wěn)定流程再逐步優(yōu)化。第二個(gè)感受是別迷信指標(biāo)結(jié)合業(yè)務(wù)看效果。準(zhǔn)確率再高如果把最難判定的那部分評(píng)論全判錯(cuò)了業(yè)務(wù)上還是用不起來(lái)。我后來(lái)在項(xiàng)目里加了概率閾值和人工抽檢機(jī)制效果反而比單純追求指標(biāo)更實(shí)用。對(duì)情感分類(lèi)這類(lèi)強(qiáng)主觀性任務(wù)數(shù)據(jù)標(biāo)注本身的泛化極限就在那里模型的提升空間需要靠數(shù)據(jù)質(zhì)量來(lái)突破。后續(xù)如果還想擴(kuò)展有幾個(gè)方向可以參考。一是從二分類(lèi)改成多分類(lèi)加入中性標(biāo)簽讓模型的粒度更細(xì)。二是在分類(lèi)頭上做文章比如在BERT接入BiLSTM后再接分類(lèi)層對(duì)部分序列特征更豐富的文本會(huì)有效果。三是用領(lǐng)域語(yǔ)料做二次預(yù)訓(xùn)練把酒店評(píng)論這種領(lǐng)域的語(yǔ)言風(fēng)格注入模型再跑下游分類(lèi)精度能得到進(jìn)一步改善。四是部署層面的優(yōu)化模型蒸餾、ONNX導(dǎo)出、batch推理這些手段能把推理速度提升數(shù)倍適合真實(shí)線上場(chǎng)景。這個(gè)項(xiàng)目做完后我又用同樣的代碼結(jié)構(gòu)跑過(guò)電商評(píng)論、新聞分類(lèi)和客服工單打標(biāo)幾個(gè)任務(wù)改動(dòng)基本局限在數(shù)據(jù)清洗和標(biāo)簽數(shù)量上。BERT微調(diào)這件事熟練了以后可以當(dāng)成一套標(biāo)準(zhǔn)工具來(lái)用。前面提到的這些代碼和細(xì)節(jié)你拿自己的數(shù)據(jù)跑一遍遇到的具體問(wèn)題肯定比我這篇更個(gè)性但排查思路和代碼結(jié)構(gòu)是可以直接抄作業(yè)的。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
中欧人妻丝袜中文字幕| 成人日本视频人妻在线| 热久久国产精品视频大陆精品| 亚洲综合中文字幕有码 | 国产精品嫩草影院午夜两性| 干妹子| 九九热在线视频| 中文字幕精品一区二区精| 综合色欧美| 国产夜夜操| 欧美啪啪女女| 国产美女高潮叫床视频| 午夜精品久久久久久久久久蜜桃| 97在线免费| 一本大道青青| 91超碰碰在线| 欧美一区二区三区成人性生活| 五月丁香综合| 长长久久88视频| 嗯啊抽插大香蕉网页| 91操操操操| 亚洲国产中文字幕| 欧美 牲| 久久99手机免费视频| 五月天婷婷色色| 十八岁啪啪视频免费看| 国语对白露脸XXXXXX| 蜜臀99久久国产| 美女91色黄18| 天天情欲宗合网| 夜夜狠狠躁日日躁色视频| 美女啊啊啊啊啊啊啊| 五月丁香啪啪| 日韩三四五区| 欧美亚综合色图| 欧美拳交在线播放| 91AV老熟女视频| 国产又爽又黄| 男人的天堂不卡一区二区 | 骚鸭AV| 欧美成人贴图| 亚洲黑人在线| 亚洲日韩视频二区| 国产成年女人免费视频播放a| 国产无码精品无码| 性爱综合一区二区| 久久riav中文精品| 日本精品不卡一二三区| 色婷视频| 日本 成 人 小说 电影 一区二区| 午夜天堂啪啪| 毛片17S| 久久久久久久极品香蕉视频| 久久大陆| 成人羞羞视频国产| 可以在线观看的黄色网址| 一类av片在线看| 午夜精品五区| 丁香五月av| 九月AV| 另类av综合久久| 97精品中文字幕| 超碰到97情色| 97超碰超碰| 囯戸精品高潮呻吟旡码| 人人爱人人操人人性| 婷婷亚洲五月***久久| 激情五月天婷婷| 91蜜臀熟女| 97超碰亚洲| a啊啊啊啊啊啊啊啊一区二区| 久久精品熟妇丰满人妻99| 日本欧美中文字幕| 99久久久久久久久| 久久九九一区二区三区成人| 亚州高清AV| 久操免费观看| 欧美日韩不卡a片| 亚洲色综合| 人人澡综合涩| 日日摸日日碰夜夜爽视频| 亚洲av青草久久一区二区| 69av一区二区三区| 99久久网站| 黄色不卡视频| 60秒不遮不挡| 色婷婷基地| 青青青青草av在线观看| 九九九网站| 日欧亚洲二三区大片不卡| 日本岛国黄色网址| 人人妻人人爽一区二区三区| 日本护士高潮| 欧洲精品区| 天天cao在线| 青娱乐欧美激情一区二区 | 91精品国产综合久久久蜜臀酒店| 中日亚韩免费视频| 欧美精品丝袜久久久中文字幕| 舔舔啊| 吖在线不卡一区二区国产剧情| 天堂岛av| 国产在线激情| 久久久夜夜嗨免费视频| 日日干夜夜欢| 午夜福利一区二区影院| 九一综合精品视品av| 亚州欧美在线| 国产农村妇女一区二区| 97资源视频| 亚洲欧美天堂在线| 亚洲自拍偷拍视频在线| 亚洲情色电影网| 成人青青草原伊人| 国产精品久久久久久久久AV大片| 久久骚| 最近2018中文字幕在线高清第一页| 大香蕉综合| 99精品无码| 看一级特黄a大一片| 爱爱久久| 最新日产中文在线麻豆| 9美女超碰在线免费观看| 国产精品香蕉热久久新品| 9精品在线| 人妻色偷色噜| 天天看高清麻豆| 高潮毛片无遮挡高清免费| 亚洲乱色视频一区、二区在线| 酒色综合网| 久久99热这里只频精品6学生| 啊啊啊操死我了| 在线综合色| 97国产精品久久久久 | 九热超碰| 五月天色色色| 91狠狠综| 天综合网欧美| 95人妻爽爽人人做人人澡| 99在线观看视频在线高清| 99久久综合网| 精品福利| 中国的操老妇女| 美国一区二区免费视频| 哈哈操电影| 久久一二三四五六七八九区区区| 欧美黄色手机在线观看| 久久精品国产精品| 淫淫总合网| 一本色道无码DVD中文字幕| 国产偷仑| 99re视频在线观看这里只有精品| 密乳AV免费观看| 搡老女人老91妇女熟女| 欧美天天拍| 国产日产精品久久快鸭的功能介绍| 亚洲色悠悠久久88| 99热这里是精品| 立川理惠被中出无码| 国产白嫩精品久久| 黄色片大香蕉| 国产精品一区二区 尿失禁| 精品无吗m| 国产成人主播| 亚州色图第三区| 69视频入口| 久草精品视频| 九九天堂| 欧美亚洲日本激情在线| 女沟厕偷窥piss小便| 中文幕97| 男女打扑克高清网站| 91人妻精华帖| 男人天堂欧美| 久久久九精品| 丝袜喷水在线| 男生女生啊啊啊啊| 91粉芽高清在线一区二区| 国产精品盗摄 偷窥盗摄| 蜜臀一二三区| 免费视频一二三区| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 啊啊啊啊嗯嗯嗯用力好爽| 中文字幕精品一区欧美| 91AV入口| 性久久久| 久久透逼视频| 亚洲av综合伊人久久| 97chaopenrihan| 老师充足的奶水小说| 亚洲男人天堂2019| 亚洲精品亚洲人成人网| 久久久久久AⅤ无码免费肉站| 久久中文字幕不卡人妻| 最新av中文字幕高清| 91天堂| 欧美91久久久久| 小草精彩毛片| 91无码中出人妻视频| 日本人人操人人操| 色香色欲天天综合网天天来吧 | 丝袜夫妻自拍| 久久久久久久久久久人妻| 久久婷婷伊人| 日日干日日| 五月丁香色色网| 操逼逼无码| 免费啪啪一级视频| 日本亚洲熟女视频| 色青青久久影视| 金莲网址| 亚洲中文日韩欧美大香蕉视频| 99这里只有精品国产| 极品销魂美女一区二区| 国产高清亚洲日韩一区| 试看日韩黄片| 小说区 图片区色 综合区| 可免费观看的av毛片中日美韩| 欧美人妻少妇| 精品无码久久久久久久久果冻糖心| 啊啊啊无码| 蜜臀久久99精品久久久久久-DVD原版全| 人妻少妇精品视频一区二区三区| 97干97色| 午夜a成v人电影| 看大黄色大片原件| 综合婷婷| 国产污视频麻豆传媒一区二区| 欧美无圣光在线| 天天内射| 天天干18禁| 温婉少妇玩3p| 一二三区精品视频| 麻豆综合一区av| 日韩本不卡视频在线观看| 超碰社区97| 欧美精品97| 强奸乱伦大香蕉网| 大香蕉伊人色偷偷在线| 亚洲天天影视色综合| 欧美另类天堂| 亚洲AV秘无码一区..| 操逼1区| 91精品久久久久久77777| 久久久一级| 欧美白嫩女HD| 自拍啪啪视频| 欧美日韩国产高清在线一二三区| 调教熟妇 久久久久久| 少妇毛片久久| 久久久久久人体| 美日韩男女操屄视频| japan日本高清乱xxxx| 欧美黄片视频在线观看免费 | 亚洲欧美另类图片| 中文操嬖片。| 精品久久久中文字幕不| 欧美 日韩第一性色| 国内偷拍精品一区二区| 91久久99久久91熟女精品| 人妻在线臀日韩| 国产91丝袜在线播放蜜月| 欧美精品二区视频在线| 天天日少妇逼AV| 我中文字幕6区| 97精品免费视频网站| av天堂天堂av日韩| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 日本三级韩国三级美三级91| 欧美十八禁视频| 九月婷婷综合| 亚洲精品九九九九九九| 能在线播放的国产三级| 99啪啪视频| 好爽视频在线观看| av天天在线观看| 美女天天干| 操逼逼中文字幕| juliaann精品熟女一区| 中欧人妻丝袜中文字幕| 性爱综合网| 美女爽爽爽刺痛洞洞| 日韩综合成人免费视频| 亚洲综合影视| 亚洲无线码欧洲精品区别| www.狠狠干.coom| 精品国产乱码久久久影院| 操操逼视频| 久久天天躁日日躁狠狠躁| 天堂无码| 91在线欧色| 狠狠爱夜夜| 人人爱操| 情趣丝袜无码操逼视频| 99九九久久| 性色AV网站| 第45页一区二区| 日本成a人v网站在线观看| 蜜桃久久一区二区三区| 久草成人| 久久天天躁日日躁狠狠躁| 一级性爱视频免费观看 | 国产在线能看的你懂的| 青青草伊人久久| 日本精品中文字幕视频| 国产天美传媒精品| 黄色av片三级三级三级免费看| 搡老女人老91妇女熟女| 凸凹视频在线观看| 欧美春色| 嗯嗯啊啊用力视频免费| av天堂精品久久| 91老熟女91老女人| 色婷婷99| 家庭乱伦国产精品| 国产偷人妻精品一区二区在线| 少妇人妻太紧太深av| 少妇99| 欧美一区二区亚洲天堂| 熟女人妻一区二区三区免费看| 青青草日本无码| 青娱乐福利99| 天天干夜夜操一区二区| 大香蕉手机在线视频| 欧美性生活男人的天堂| 另类老少妇| 精品国产乱码久久久久久影片| 久久精品国产亚洲AV清纯| 色娱乐色呦呦夜夜夜夜av| 97超碰天天爱天天爱| 老司机深夜18禁污污网站| 久久美国毛片| 国产婷婷一区| 香蕉婷婷| 人人做天天爱| 天美传媒婬乱在| 色综和网| 东京热激情视频一二三区| 日本人妻中文字幕| www.91视频网| 一二三四视频在线社区中文字幕| 久久久久久性爱片| 黄色一级视| 亚洲婷婷丁香在线| 亚洲高潮影院| 射丝袜大香蕉| 中文字幕55555| 涩五月婷婷| 草草影院最新网址| 91成人18| 中文有码9| 夜夜福利| 日产中文字幕2020| av天堂影视中文在字幕在线中文 | 中文字幕美女91| 啊啊啊啊嗯嗯在线久久久| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 久操网线| 日韩性爱免费观看视频| 天天干嫩逼网| 91性网| 婷婷激情五月综合| 天堂伊人久久| 青青草字幕AV| 精品国产99| 超碰79人人乐| 东北女人av| 成人精品在线观看| 激情专区综合| 亚洲精品成人| 久久精品国产免费观看99| 日韩精品国产一区二区| 免费αV在线视频| 91亚洲高清| 精品日日人妻| 亚洲同性aV综合| 东京热AV男人的天堂| 精品视频久久区| 欧美视频激情久久久久久| 熟妇高潮一区二区免费视频| 国产免费一区二区三区最新不卡| 五月婷婷丁香六月| 视频二区美腿丝袜制服人妻欧美| 78综合网| 亚州高清色综合| 青青草白白色| 九一综合网| 人妻少妇精品久久久| 亚洲天堂人人妻| 性爱AV天堂| 综合天天网| 亚洲精品人伦一区二区| 久久久久久久久久久久色网| 精品对白久久不卡| 亚洲精品久久久久毛片A片拉屎| 狠狠操狠狠操操| 日本中文熟女视频| 性暴力欧美猛交在线直播| 浓厚中出中文字幕在线| 久操网线| 91九色精品熟女内射| 激情五月激情综合网| 67914亚洲精品| 大香蕉碰碰| 欧美97在线观看| 久久熟女久| 黄页网站成人免费| 国产精品乱码久久久久| 老司机深夜18禁污污网站| 26UUU欧美激情一区二区| 精品毛片久久久精品毛片| 无码少妇精品一区二区60岁老人| 天堂蜜桃无码视频一区二区| 精品网站99999| 日本 情色 1区2区3区| 超碰九区| 黄色AAAAA欧美| 国产精品99久久久www| baisiav| 欧美亚洲宗合色性图| 情色图区| 香蕉久久AⅤ...| 久色网| 欧美色干| 亚洲,日韩,欧美,成人播放| 日韩中文字幕二区| 中文在线久久字幕| 97超碰美女| 国内亚洲精彩视频在线| 有码人妻系列| 91精品人妻一品二品三品| 久久精品国内Av熟女高清| 欧美日韩操逼嗦吊| 91/欧美| 亚欧美综合网| 日韩乱伦视频| 欧美第二页午夜| 91精品国产91久久青草| 欧美日韩99| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 91国精产品| V A在线| 在线99热| 伊人午夜福利视频| 成年人三级黄色片视频| 九九天堂| 欧美99999| 色婷婷激情| 日韩国产九九精品一区二区三区毛片| 综合伊人激情| 强奸少妇AV导航网| 91日韩国产欧美亚洲另类精盘州至城都| 色色色欧美| 中文字日本乱码| 999精品久久久久久久| 国产欧美亚洲精品a第2页| 日韩少妇在线视频| 欧美精品一区二区少妇免费A片| 六月婷激情福利天堂69| 亚洲骚逼少妇| 香蕉久久国产AV一区二区| 男人天堂 天天射| 日本高清视频xxxx| 色999偷自拍拍| 成年人网站在线免费观看| 国产11页| 超碰免费人妻人人| 色盈盈影院| 日本操逼视频在线| 96精品久久久久中文字幕| 精品无码秘 人妻一区二区| 男人天堂2019亚洲| 99色网| 美女啊啊啊啊啊啊啊| 精品国产乱码久久久久久网站入口| 另类小说五月天| 十八禁黄色| 久久天堂婷婷网| 加勒比伊人| 狠狠躁AV| 人妻啪| 97se综合| 五月天婷婷激情| 日韩肏逼视频| 国产精品 午夜福利| 天天视频网站黄| 色大师网站www永久网站视频| 国产成人精品必看| 日韩欧美蜜桃精品久久中文字幕久久| 久久婷婷热| 日本加勒比无码专区| 麻豆天美久久91| 欧美一二三级精品在线| av 模特一区了| 婷婷色导航| 亚洲av性爱电影| 69人妻精品丰满熟女区| 日本中文字幕在线视频| 97亚洲综合| 99热导航| 99色在线视频| 久久久久亚洲AV无码专区少妇| 日本孕妇孕交| 婷婷情色综合网| 超碰成人公开| 极品肉射| 东方亚洲在线操逼天堂| 中文字幕 人妻不满 在线视频| av网站在线看| chaopen97久久| 人妻天天爽夜夜爽精品2| 亚洲自拍天堂| 九九AV| 欧洲大香蕉| 久久最新免费视频23| 看一级特黄a大一片| 97在线免费看视频| 97超碰中文字幕| 精品久久在线区一区| 麻豆国产96在线| 黄色免费网| 欧美性色欧美| 国外91| 精品一区二区三区最新| 四虎影院成年人片| 日本日逼高清| 麻豆国产精品午夜视频| 91九色丨风韵犹存| 蜜臀va69| 激情久久日韩精品中文字幕麻豆| 天天日日本| 丁香五月影院| 免费强奸av| 操操吧亚洲乱伦视频| 大香蕉欧美| 啊啊啊水好多| 久久熟女嫩草成人片免费| 性爱欧美五月| 亚洲免费日韩在线一区二区| 久久国色天香香蕉| 精品一区二区3区| 黄片不用下载在线观看| 国产黄色av大片网站| 尤物视频一区| 亚洲日韩在线a不卡99精品 | 97超碰国产亚洲精品资源| 囯产乱伦一区二区三女| 91成人久久| 欧美一级黄片视频在线| 国产精品久久妻无码网站| 国产成人在线观看网址| 9999久久久| 亚洲风情在线观看| 啊啊啊啊啊啊在线| 97 色综合| 91欧美网| 亚洲毛片基地专区| site:sinbotex.com| 97干在线视频| 啊啊啊好多水| 搡老熟女免费视频 | 亚州成人a∨| 欧美黑人与女人91~| 日本不卡三级网在线播放| 久久一区无码| 日本不卡二三区| 日本人妻天堂网站在线播放| 天天综合网~91综合网| 色一区二区三区综合| 午夜九九| 舔足天天操天天射| 狠狠操,使劲操| 成全在线观看免费观看| 色婷婷九月天天综合| 小情侣高清国产在线视频| 日韩中文字幕在线视频观看| 久热久| 大香蕉 222| 久草热制服丝袜在线观看| 东方亚洲在线操逼天堂| 欧美丝袜中文字幕07在线| 亚洲牲交| 亚洲国产精品9999在线观看| 久久精品三级影视| 色女女女导航| 国产视频第2页| 青女偷拍网| 亚洲午夜未满十八勿入网站日本又色又爽又黄| 亚洲无码太久| 香蕉婷婷| 亚洲欧美日产国产91毛片| 国产精品午夜精品| 人妻另类 专区 欧美 制服| 思思热免费在线视频| 免费一级视频特黄色大片| 亚洲情色五月天| 色男人色天堂东京热| 人人妻人人爽人人精品| 老熟女搡BBBB搡BBBB视频| 亚洲一区二区三区欧美日韩| 国模限制级电影| 99热这里只有是精品10| 超碰色综合| 中日韩久久久| 亚州操操穴网| 亚洲同性aV综合| 超碰国产精品无码| 又黄又爽在线观看视频| 欧美人人天天网| 亚洲超碰97| 日韩人妻中文视频| 中文字幕片| 欧美性爱超碰97| 久久成人国产| 色老汉色| 人妻铁牛TV| 懂色AV蜜臀无码精品APP| 91新在线欧美| 97操| 午夜精品久久久久久久男人的天堂| 性爱AV天堂| 无码精品久久久久久亚洲| 丁香婷婷啪啪| 试看60秒| 无码WWW免费视频网站| 蜜臀在线免费观看在线免费观看| 九九操久久国产免费视频| 人人人人插| 亚爽爽爽爽爽爽爽爽| 天天看天天日天天操| 亚洲天堂99| 日产123区精品免费观看| 国产精品不卡一区二区三区av| 啊啊啊好爽快点啊啊啊嗯嗯| 2017天天操天天日| 性爱av在线免费观看| 中国熟女91| 精品成人动漫一区二区| 东京热av男人的天堂| 国产精品国产亚洲区艳妇糸列| 色欧美天天| 久久久久久久9| 男人的天堂亚洲| 超碰97COm中文| 9999久久久久| 国产精品农村妇女| 蜜桃久久综合视频| 男人的天堂 在线一区| 男人亚洲91首页在线| 国产日韩久久| 熟女一区二区| av天堂精品久久| 97伪v| 国产无马视频| 91综合天天看| 丁香五月婷婷啪啪| 另类图片天天影视| 91最新综合| 国产精品干干干| 中文字幕诱惑制服人妻丝袜美丝袜美| 强奸乱伦麻豆| 熟人人妻少妇精品久久| 69精品少妇一区二区三区蜜桃| 97精品免费| 青青草国产亚洲精品久久| 色欲av一区二区三区蜜芽| 国产妇女精品视频青青草| 午夜黄色免费在线观看| 日本Suv精品一区二区| 欧美国产操逼| 婷婷五月天av| 欧美一级美片在线观看免费| 亚洲国产亚洲天堂| 大香樵伊人网| 国产乱伦性爱区| 欧美成人精品一区二区男人蜜臀| 国产原创自拍| 精品国产无码中文| 人妻激情视频| 97色欧州| 婷婷五月成人| 日韩免费高清大片在线| 色哟哟av| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 欧美熟妇精品黑人巨大一二三区| 色天使亚洲综合在线观看| 9.1小视频| 男人天堂站| 婷婷激情一区二区三区俺也去| 欧美色性情| 久草精品国产99| 亚洲熟女一区| 六九九九| 国产99久久99热这里只有精品15 | 超碰97欧美日韩| 2010男人的天堂| 啪啪免费| 久久的免费性爱视频| 久草线上视频免费看| 国产日韩精品一区二区三区| 欧美v亚洲v日韩v最新在线二区| 亲子敌伦对白在线播放| 男人的天堂三级| 97青娱乐超碰久久| 欧美亚洲丝袜人妻制服99| 欧美另类精品xxxx| 国产婷婷综合在线观看| 东京男人天堂| 色偷综合| 日韩ab网| 日本不卡三级网在线播放| 国产一区二区三区精品观看啪| 蜜乳中文字幕a在线| 高潮9999外国| 欧美第二页午夜| 少妇极品熟妇人妻无码| 亚洲av在线免费观看| 怡红院一区二区熟女人妻| 在线播放免费av福利片| 91操操操操| 日韩一级二级三级| 色69大色97香蕉| 性色av一区二区| 中文字幕丝袜人妻| 精品人人| www.夜夜| 六月丁丁香| 去干网最新版| 国产精品久久久三级无码| 视频国产精品未满十八禁止在线观看| 欧美一级美片在线观看免费| 亚洲国产丝袜熟女av| 蜜桃久久一区二区| 97色综合中文网| 91性网| 91中出视频| 91国产丝袜白虎| 一本大道久| 亚洲国产97在线精品一区| 欧美天天影院| 一卡二卡三卡| 亚洲丝袜少妇在线| 亚洲有码视频二区| 91亚洲在线| 蜜臀久久99精品久久久| 精品人妻一区二区三区日产乱码| 在线中文字幕视频| 男人的天堂2019| 日韩一级欧美一级国产一级台湾 | 91操碰| 久久久九97| www鬼畜国产男人的天堂| 无码99| 国产福利夜| 欧美精品三区| www.人人摸在线视频| 四虎在线视频| 97色碰| 欧美大香蕉久| 老司机射| 五月激情啪啪| 欧美色图片91| 天天综合网~91综合网| 五月天九九日国产精品一区二区三区| 91操熟女视频| 懂色Av| 免费观看国产小粉嫩喷水精品午| 亚洲日韩美女中文字幕乱| 麻豆性爱视频在线播放| 日本 免费 一区二区三区 久久香蕉| 久久久久久91香蕉国产| 中文字幕精品专区搜索结果91| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 97一区二区三区视频| 人妻色情天天操| 日韩少妇无码| www.99中文字幕| 丁香六月婷婷久久综合| 欧美色图偷拍另类| 九九九九一区| AV乱伦国产| 麻豆啪啪啪视频| 人人喜人人妻| 久草老司机| 亚洲美女av无码| 亚洲古典另类欧美在线| 亚洲欧洲小说图片视频 | 人人妻人人玩人人澡人人爽| 一级@啪啪视频| 成人短视频在线观看| 美女97超碰| 欧美色图20P| 无码精品久久久天天影视| 久久久久久午夜男人的天堂| 久久婷婷亚洲欧| 超碰九区| 久久久久国产精品片区无码直播| 啊啊啊好湿久久| 精品人妻久久久久一区二区三区| 国产精品一区av在线| 久久五月份| 欧美在线|亚洲| 精品国产乱码| 婷婷情色综合网| 国产精品对白自产拍| 在线综合 亚洲 欧美中文字幕| 国产精品大香蕉| 校园春色宗合网| J?P?NESEHD熟女熟妇伦| 伊人久久婷婷| 福利大香蕉| 国产乱伦亚洲| 乱理日韩中文| 三上悠亚在线毛片91| 五月丁香啪啪网| 亚洲国产中文字幕| 青娱乐亚洲自拍| 国产亚卅97| 精品国产Av无码久久久伦古装| 99天堂网| 竹菊一区二区三区AV线| 在线v中文字幕一区二区三区| 亚州综合AⅤ| 强被迫伦姧在线观看无码网站| 激情综合97| 国产欧美另类久久久精品课程| av日韩手机在线影视| 婷婷15月天青娱乐| 欧美综合娱乐久久| 啊啊啊要高潮了| 波多野结衣被操50分钟免费视频| 色999偷自拍拍| 一级性爱视频免费观看| 夜夜操老骚逼视频网站| 天天看天天日天天操| 大香蕉操久久| 东京热毛片177b2viP| 五月天婷婷影院| 久9九综合在线| 人妻天堂综合网| 久久久久久97| 91女神在线视频| 国产成人亚洲精品无码最新在线| 一区二区精品更新提醒| 日韩欧洲操屄视频| 91国产美女丝袜足交精品视频 | 国产女人高潮视频| 蜜臀久久99精品久久久久久无删减 | 欧美亚洲第1页| 18禁止看精品中文字幕| 精品小视频在线| 国产精品无码久久久久2028| 欧美亚州色的图| 天天草天天干天天日| 久久久极品| 久久国产精品91| 亚洲av综合伊人久久| 成人在线午夜视频一区| 亚洲中文字母在线播放| 国产91美女视频| 色av中文字| 欧美1区二区三区公司 | 欧美性爱十八禁| 日韩欧美中文字幕搭讪巨乳美人妻视频| 九九碰九九爱97| 少妇综合网| 欧美亚洲厕所精品偷拍91| 国产色呦呦| 999999精品| 日本天天干天天搞一区| 91精品国产麻豆国产自产在| 97干在线| 男人的天堂日韩| 懂色综合久久久| 在线观看免费视频国产| 校园激情狠狠四射| 97色诱| 亚洲啪啪性视频| 手机看片91人妻| 久久久久久少妇| 九色 人妻 大香蕉| 午夜偷拍久久熟女| 精品78| 中国黄色特级精品一区二区三区片| 五月丁香网站| 成人小说视频在线精品欧美| 日本一二三免费久久| 精品v1区| 久久色情| 艹精品| 成人性交免费视频| 十八禁电影伊人网| 日韩久久超碰色| 99综合视频一体| 午夜啪啪片| 性综合网| 2017天天操天天日| 99re99视频在线免费观看| 电影69乱码96| 蜜桃无码AV一区二区| 国产一区免费午夜视频| 欧美黑人熟妇精品91| 啊嗯嗯啊好大好爽| 国产美女精品| 四虎影视在线| 久/久精品99看9| 嫩草影院在线观看精品| 香伊人在线| 秋霞色色影院| 日本熟妇人妻一区二区三区| 91在线/欧洲| 97se综合网| 欧美天天插| 噜噜吧,噜噜色,噜噜| 国产精品久久久久久无码红治院| 襙一襙| 熟女人妻一区二区三区免费看| 91精品国产长腿丝袜美女| 亚洲欧美精品久| 欧美性暴力猛交XXXX| 97超碰碰碰| 亚洲综合激情五月久久| 日本中文字幕在线视频| 激情干在线| 郑州宾馆老熟女露脸啪啪| 亚洲自拍天堂| 色天使亚洲综合在线观看| 最新日本中文字幕| 伊人天天久久动态图| 夜夜欢天天干| 老熟妇91| 熟妇色99| 91少妇人妻| 91精品91久久久中77777| 97这里有精品| 大香蕉中文在线| 欧美综合第一页| 综合久久9| 少妇久久久久久久| 亚洲美女AV无码| 青春草莓视频在线观看网址| 亚洲欧美综合| 久久av无码| 777琪琪午夜免费A片| 亚川综合视频| 久久久久亚洲?V片无码V| 深夜国产一区二区三区在线看 | 欧美人妻熟女在线| 国内毛片四区| 91美女在线| 97欧美超碰| 欧美Aⅴ| 综合久久六月久久婷婷| 牛黄色久午久| 六月婷婷综合| 99re3这里只有精品| 99re在线观看| 九九九九一级| 78精品在线| a级免费在线观看| 高潮毛片无遮挡高清免费| 国产AV激情无码久久无码 | 五月丁香色综合| 青青草密桃在线播放| 欧美老妇综合网| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 亚洲熟妇无码一区二区三区| 东京热精品97综合网| 亚洲素人综合| 欧美99999| 国产精品999zyz| 色综合色| 激情图片亚洲色图| 日日日日做夜夜夜夜做无码97| 肥佬影院91| 国内毛片国产欧美拍| 秋霞一级视频在线观看免费| 精品国产乱码久久久久久久久1| 天天日天天射天天干| 色综合1991| 日韩欧美亚洲自拍偷拍| 午夜爽爽爽在线观看永久入口姬片| 蜜乳av首页| 91色爽欧美| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 久久肏大逼| 天天肏美女| 97超级色碰碰| 欧美人黑A片无码免视费| 岛国艾薇凹凸视频天堂| 97资源超碰| 色99久草| 日韩精品一区二区高清| 操人无码| 夜夜爽爽夜夜精品视频| 爱爱啊啊啊| 精品一二三区久久AAA片| 中文字幕精品人妻丝袜| 东北女人性交| 国产毛片久久久久久久| 精品国产乱码久久久久久久久1| 人妻免费观看| 黄片免费日韩| 99精品无码| 一摸二插三插| 久久精品日韩| 色噜噜国产在线| 欲色综合| 午夜福利视频在线一区| 国产美女精品| 女人天堂av在线播放| 色婷婷电影| 美女91av| 亚洲最新av无码成人精品区 | 五十路六十路七十路熟婆| 少妇一线天久久久久久| 玖色av| 粉嫩粉嫩一区性色AV片| 97 视频在线| 久久性爱视频免费看| 六月丁丁香| 青青草在线视频播放器| 色久桃花影院在线观看| 97免费视频网| 亚欧高清| 精品福利视频| 天天躁日日躁狠狠躁| 久久五月份| 中文字幕三四五区| 五月天久久久| 99久在线精品99re8蜜桃| 在线看免费无码AV天堂的| 久久人妻无码毛片A片麻豆| 午夜福利1区2区3区| 九九久久久久久爱| 超碰97欧美| 美女啊啊啊啊啊啊啊| 五十路熟女人妻一区二区三区四区五| 开心五月婷婷激情| 人妻精品一区二区三区| 欧美在线视频99| 三级色影综合网| 天天拍天天操| 青娱乐啪啪视频| 天天欧美色| 狠狠婷婷亚洲中文综合久久| 国产精品91一样| 人人性爱视频免费| 欧美九九99久久精品| 婷婷av在线中文字幕| 97视频在| 久草免费福利在线播放| 男人精品天堂一区| 日韩欧美国产高清视频| 欧美综色欧| 蜜臀av一区二区三区免费观看| 美女诱惑一区| 国产精品久久久蜜臀| 欧亚性爱在线视频| av久日| 激情综合五月| 日韩福利电影网| 久久99999| 成年人性爱日韩| 啊啊啊啊嗯嗯在线久久久| 天天添天天干电影| 日韩精品字幕| 日日骚精品视频| 操逼网站视频漫画国产| 九九久久久| 97 视频在线| 黄片无码在线制服| 青青青在线高清视频在线一二三四区| 欧美熟爽综合| 国产日逼视频| 啊啊啊骚| 97人人中文网| 中日韩久久久| 狠狠爱大香蕉| 亚洲天天影视综合网| 久久性爱城| 日本黄色精品专区网站| 91精品又粗又猛又爽| 男人天堂2019亚洲| 久久中文字幕一区不卡| 国产视频97| 四季AV综合网址| 欧美特大黄一级片片免费| 亚洲欧美情色| 91视频综合在线| 久久久久久亚洲精品中文字幕人妻| 国产51色综合久久免费| 96一区二区| 超碰69| 泰国AV在线观看| 国产日本久久免费精品| 日本久久女同性恋视频| 超碰偷拍| 神马久久中文字幕| 婷婷色综合| 日韩欧美aⅴ综合网站发布| 精品福利| 视频在线97| 欧美熟妇操操视频| 精品久久久久久亚洲| 无码精品人妻一区二区三区妖精| 亚洲97在线| 91九色丰满高潮| 亚洲三级网址久久最新| 天天日日夜夜| 家庭乱伦网站国产| 欧美大香蕉久| 夜夜欢天天干| 亚洲激情深爱文学小说网站| 欧美精品91| 爱射综合| www狠狠| 国产黄色av大片网站 | 欧美日韩人妻少妇 一区二区三区| 四虎永久在线精品免费网址| 中文字幕jul-617人妻熟女| 伊人久久大香线蕉无码| 三级日韩一区二区三区| 亚洲综合首页| 搡老女人老熟女91老熟女综合网| 久久久九九| 久久熟女久| 玖玖爱一区在线| 亚射在线| 亚洲中文字幕乱码无码一区二区| 六六久久日韩不卡| 丁香五月影院| 东京热免费视频| 91粉嫩萝控精品福利网站_精品影音先锋国| 99啪| 97色97好| 大香蕉 222| 大香蕉97久久| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 亚洲欧洲综合成人av一区| 久久精品国产亚洲AV清纯| 天天干电影| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 亚洲国产精品久久久久婷婷老年| 欧美伦乱爱| 青青伊人久久| 中国的操老妇女| 免费97视频| 91N综合网在线| 少妇激情AV| 日韩欧美~中文字| www.成人无码| 亚州欧美在线| 97干在线视频| 九九AV| 91视频伊人| www..com操老师| 综合久久六月久久婷婷| 国产成人无码高清| 大香蕉啪啪网|