99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

詩歌接龍:用Python實(shí)現(xiàn)古詩續(xù)寫的NLP項(xiàng)目全解析

詩歌接龍:用Python實(shí)現(xiàn)古詩續(xù)寫的NLP項(xiàng)目全解析 簡介面向NLP入門與Python實(shí)踐者的詩歌接龍項(xiàng)目完整代碼包聚焦中文分詞、詞性標(biāo)注、拼音轉(zhuǎn)換、押韻規(guī)則匹配及網(wǎng)絡(luò)爬蟲等核心環(huán)節(jié)適合希望通過完整實(shí)戰(zhàn)案例理解自然語言處理流程的學(xué)生與開發(fā)者。壓縮包共17個(gè)文件主要包含Python源碼、jieba/pypinyin等庫的依賴說明、預(yù)訓(xùn)練數(shù)據(jù)文件、可執(zhí)行程序、txt說明文檔及docx詳細(xì)設(shè)計(jì)文檔其中docx對項(xiàng)目背景、模塊設(shè)計(jì)與調(diào)用流程做了系統(tǒng)說明整體大小僅5.86MB輕量便于快速部署。已有496人學(xué)習(xí)瀏覽。項(xiàng)目中除基礎(chǔ)爬蟲與文本處理外還提供了基于規(guī)則與統(tǒng)計(jì)方法的接龍算法實(shí)現(xiàn)并附有項(xiàng)目目標(biāo)、實(shí)現(xiàn)過程與使用方法能幫助讀者從分詞、音韻匹配到算法調(diào)優(yōu)獲得完整實(shí)戰(zhàn)閉環(huán)適合作為課程設(shè)計(jì)或NLP入門練習(xí)的參考。1. 詩歌接龍是什么一個(gè)讓Python寫詩的下一個(gè)字的NLP項(xiàng)目“詩歌接龍”聽起來像語文課上的游戲但落到程序里它其實(shí)是NLP自然語言處理里最典型的序列生成任務(wù)用戶給出一句詩或半句詩程序需要預(yù)測下一個(gè)字甚至把后面的詩續(xù)完。用Python實(shí)現(xiàn)這樣一個(gè)項(xiàng)目意味著你要走完中文語料清洗、序列建模、概率采樣、結(jié)果評估的完整鏈路。它的難度比文本分類高一檔但比從頭做對話機(jī)器人低很多特別適合用來檢驗(yàn)?zāi)銓ython字符串處理、數(shù)據(jù)結(jié)構(gòu)和簡單模型的掌握程度。你做出來的東西也不是那種跑完loss就扔掉的玩具——它能把“床前明月光”續(xù)成“地上鞋兩雙”也能在調(diào)好參數(shù)后生成像模像樣的五言句。這個(gè)項(xiàng)目適合誰剛學(xué)完P(guān)ython基礎(chǔ)、想找?guī)谋緢鼍暗捻?xiàng)目練手的人或者已經(jīng)在用n-gram做關(guān)鍵詞提取、想跨進(jìn)生成式NLP的人。接下來我按自己實(shí)際做過的思路把這條路上的選型、代碼、參數(shù)和坑一次講清。2. 先想清楚接龍的數(shù)學(xué)邏輯從n-gram到序列模型的選型思路2.1 詩歌接龍不是在寫詩是在預(yù)測下一個(gè)字很多人第一次做詩歌接龍腦子里想的是“讓AI學(xué)會作詩”于是直接上GPT。但真正的第一步是把問題簡化成條件概率給定前文“床前明月”下一個(gè)字是“光”的概率是多少如果模型能算出候選字在給定上下文下的概率分布那么接龍就變成一個(gè)采樣問題——按概率分布挑一個(gè)字然后把它拼到輸入末尾繼續(xù)預(yù)測下一個(gè)字。這個(gè)思維決定了技術(shù)路線。詩歌接龍的輸入輸出都是字符序列本質(zhì)是語言模型Language Model。語言模型做的事就是最大化序列概率 P(text) P(w1) * P(w2|w1) * ... * P(wN|w1..wN-1)。而接龍只要計(jì)算 P(下一個(gè)字 | 當(dāng)前已生成序列)所以訓(xùn)練的樣本就是“給定前面N個(gè)字預(yù)測第N1個(gè)字”。這個(gè)視角統(tǒng)一了所有后續(xù)做法n-gram里的轉(zhuǎn)移概率表、LSTM里的softmax輸出、Transformer里的自回歸解碼全部是在求這個(gè)條件分布。這里要強(qiáng)調(diào)一個(gè)容易被新手搞混的點(diǎn)接龍其實(shí)不需要先分詞。中文詩歌很多時(shí)候一個(gè)字就是一個(gè)語義單元按“字”做語言模型比按“詞”做更穩(wěn)。詞表就是全部出現(xiàn)過的字幾百個(gè)字就夠用訓(xùn)練快、可控性強(qiáng)。按詞的話古詩里大量典故、人名、地名會切成碎片反而學(xué)不好。我一般默認(rèn)用字符級建模除非要做主題分類才考慮詞級特征。2.2 數(shù)據(jù)準(zhǔn)備把古詩庫變成模型能吃的序列樣本數(shù)據(jù)是詩歌接龍的命根子。常見做法是用公開的古詩數(shù)據(jù)集里面包含唐詩、宋詞、詩經(jīng)等文本。拿到的原始數(shù)據(jù)通常是這種格式[{author: 李白, title: 靜夜思, paragraphs: [床前明月光, 疑是地上霜]}]也有的是純文本一行一首詩或描寫段落后跟詩句。第一步是把所有詩句抽出來去掉作者、標(biāo)題、注釋。注意古詩里會有繁體字、異體字比如“裏”和“里”“閒”和“閑”。我一般會統(tǒng)一轉(zhuǎn)成簡體做法是用opencc庫pip install opencc-python-reimplemented然后import opencc cc opencc.OpenCC(t2s) # 繁體轉(zhuǎn)簡體 text cc.convert(raw_text)轉(zhuǎn)完之后還要做清洗去掉空格、換行、標(biāo)點(diǎn)保留句號逗號也行但接龍目標(biāo)是詩句通常去掉標(biāo)點(diǎn)讓模型自己學(xué)去掉長度小于4或大于12的行因?yàn)槲逖越^句一般是5或7個(gè)字一句太短的行多半殘缺太長的可能是散文混入。清洗后的語料長這樣床前明月光 疑是地上霜 舉頭望明月 低頭思故鄉(xiāng)有了這個(gè)純文本列表就可以構(gòu)造訓(xùn)練樣本了。如果是n-gram需要統(tǒng)計(jì)“前N-1個(gè)字 - 下一個(gè)字”的計(jì)數(shù)如果是LSTM需要把每句詩轉(zhuǎn)成整數(shù)序列再用滑動(dòng)窗口切出輸入和標(biāo)簽。這一步是整個(gè)項(xiàng)目的地基沒做好后面模型再強(qiáng)也白搭。2.3 選型對照n-gram、LSTM與Transformer該用哪個(gè)搞清楚任務(wù)本質(zhì)后選型就清晰了。常見做法是分三檔n-gram字符級簡單到用Python字典就能實(shí)現(xiàn)。它統(tǒng)計(jì)“前面n-1個(gè)字”這個(gè)狀態(tài)出現(xiàn)時(shí)后面跟的每個(gè)字的次數(shù)然后算概率。優(yōu)點(diǎn)是訓(xùn)練只要一次遍歷語料完全沒有GPU需求缺點(diǎn)是只能記住連續(xù)n個(gè)字內(nèi)的關(guān)系n設(shè)大了矩陣稀疏爆炸n設(shè)小了生成出來的句子前后邏輯差。對詩歌接龍這種短文本n3或4已經(jīng)能生成語法通順但內(nèi)容隨機(jī)的小詩。LSTM/GRU能捕捉遠(yuǎn)距離依賴比如律詩里上下句的語義呼應(yīng)。訓(xùn)練需要神經(jīng)網(wǎng)絡(luò)框架我一般用PyTorch因?yàn)閯?dòng)態(tài)圖方便寫采樣邏輯。LSTM接收前文序列的embedding最后一個(gè)時(shí)間步的輸出通過全連接層映射到字典大小的向量softmax后就是下一個(gè)字的概率。它比n-gram學(xué)到的泛化能力強(qiáng)你輸入一句不在語料里的“半句詩”LSTM也能接出個(gè)差不多的下句。缺點(diǎn)是訓(xùn)練時(shí)間受序列長度和數(shù)據(jù)量影響字符級詞表小的情況下CPU也能跑但效率低還是建議裝個(gè)CUDA版PyTorch。Transformer/預(yù)訓(xùn)練模型如果你手里有百G語料或者想直接用中文GPT-2那效果肯定最好但這不是普通“python實(shí)現(xiàn)NLP項(xiàng)目”該走的路。預(yù)訓(xùn)練模型像是拿電鋸切豆腐模型下載幾個(gè)G、顯存要十幾G而詩歌接龍本身數(shù)據(jù)量不大幾百KB古詩就夠。除非你后來要做風(fēng)格遷移、多輪對詩否則用Transformer從頭訓(xùn)是在給自己找罪受。我自己的建議路線是先花半小時(shí)用n-gram跑通整個(gè)“輸入-生成-輸出”流程感受一下概率采樣的效果再花兩小時(shí)把同樣的數(shù)據(jù)喂給LSTM對比質(zhì)量差異。兩條路寫一遍你對序列生成的理解會深很多。下面的章節(jié)我就按這個(gè)順序展開。3. 用純Python實(shí)現(xiàn)第一個(gè)可用的詩歌接龍字符級n-gram與beam search3.1 編碼與計(jì)數(shù)構(gòu)建轉(zhuǎn)移概率表n-gram的實(shí)現(xiàn)核心是計(jì)數(shù)器。我以“三元語法”為例也就是n3用前兩個(gè)字預(yù)測下一個(gè)字。你需要一個(gè)字典key是長度為2的字符串或元組value是另一個(gè)字典記錄每個(gè)下一個(gè)字的出現(xiàn)次數(shù)。import os import random from collections import defaultdict, Counter def load_lines(path): lines [] with open(path, r, encodingutf-8) as f: for line in f: line line.strip() if len(line) 5 and len(line) 7: # 只保留五言或七言 lines.append(line) return lines def build_trigram(lines): # key: 前兩個(gè)字組成的字符串, value: Counter(下一個(gè)字 - 次數(shù)) model defaultdict(Counter) for line in lines: # 在開頭加兩個(gè)特殊字符讓首字母也有前文 padded ^^ line $ for i in range(len(padded) - 2): context padded[i:i2] next_char padded[i2] model[context][next_char] 1 return model這段代碼做了兩件關(guān)鍵的事。第一給每一行首尾加了特殊字符^表示句首$表示句尾。這樣生成的時(shí)候模型知道如何開始和結(jié)束。第二用defaultdict(Counter)構(gòu)建兩層字典外層的key是“前兩個(gè)字”內(nèi)層的key是“下一個(gè)字”。統(tǒng)計(jì)完成后你隨時(shí)可以查model[明月][光]得到“明月”后面跟“光”的次數(shù)。注意我過濾了長度在5到7之間的行。嚴(yán)格來說五言是5字七言是7字但古詩里也有四言和雜言過濾掉能減少噪聲。如果你想讓模型也能生成七言和五言混合就不要死卡長度可以在構(gòu)造樣本時(shí)把句子按逗號再分割逐句加入。下一步是把這個(gè)計(jì)數(shù)模型轉(zhuǎn)成概率模型。因?yàn)橐玫诫S機(jī)采樣我直接保留計(jì)數(shù)生成時(shí)再除以總數(shù)或者用random.choices按權(quán)重采樣。后者更省事。3.2 beam search采樣讓接龍不只會重復(fù)有了模型最樸素的生成是貪心每次選概率最大的字。但這樣會陷入循環(huán)比如“床前明月光”之后永遠(yuǎn)接“疑是地上霜”因?yàn)橛?xùn)練語料里這個(gè)組合頻率高。更糟糕的是如果模型只學(xué)到高頻搭配你就會得到“床前明月光床前明月光”的復(fù)讀機(jī)。解決手法是用beam search束搜索每一步維護(hù)K個(gè)候選序列每個(gè)候選序列按累計(jì)log概率排序下一輪對每個(gè)候選繼續(xù)展開所有可能的字再取前K個(gè)。這樣生成的質(zhì)量遠(yuǎn)好于貪心又比純隨機(jī)穩(wěn)定。def beam_search(model, prefix, beam_width5, max_len10): # prefix: 用戶輸入的字符串至少2個(gè)字符因?yàn)閚3 start prefix[-2:] # 取后兩個(gè)字作為初始context candidates [(start, prefix, 0.0)] # (context, full_text, log_prob) for _ in range(max_len - len(prefix)): new_candidates [] for ctx, full, lp in candidates: counts model.get(ctx) if not counts: continue # 沒有見過這個(gè)context放棄該分支 total sum(counts.values()) for ch, cnt in counts.items(): prob cnt / total new_lp lp math.log(prob) new_full full ch new_ctx ctx[1] ch new_candidates.append((new_ctx, new_full, new_lp)) # 只保留分?jǐn)?shù)最高的beam_size個(gè) new_candidates.sort(keylambda x: x[2], reverseTrue) candidates new_candidates[:beam_width] # 若所有候選都斷了提前結(jié)束 if not candidates: break # 返回分?jǐn)?shù)最高的完整文本 candidates.sort(keylambda x: x[2], reverseTrue) return candidates[0][1]這個(gè)函數(shù)每步對當(dāng)前所有候選展開所有可能的下一個(gè)字計(jì)算累計(jì)對數(shù)概率然后截?cái)嗟絙eam_width。對數(shù)概率避免了很多個(gè)小概率相乘導(dǎo)致的浮點(diǎn)下溢這是做beam search必須養(yǎng)成的習(xí)慣。參數(shù)beam_width越大生成的多樣性越好但耗時(shí)線性增加。對詩歌接龍5到10就夠。3.3 三個(gè)關(guān)鍵參數(shù)n、溫度、beam size怎么設(shè)n-gram里的n決定記憶力長度。n2時(shí)很容易生成無厘頭的順口溜n4時(shí)生成的句子更像原詩片段但數(shù)據(jù)稀疏非常明顯很多context沒見過導(dǎo)致生成中斷。我實(shí)測下來n3是性價(jià)比最高的。如果你語料量大到幾萬首可以試n4但要把未登錄詞處理做好——比如context沒見過時(shí)回退到較低階的n-gram這叫backoff。beam width不能太大太大容易讓所有候選都來自同一高頻分支反而失去多樣性。這里有個(gè)反直覺點(diǎn)beam search的目標(biāo)函數(shù)是“序列整體概率最高”這意味著它會優(yōu)先選語料里出現(xiàn)過的整句而不是有創(chuàng)意的句子。所以如果你想看到模型“創(chuàng)作”新詩而不是背誦原詩需要在采樣時(shí)引入溫度參數(shù)。溫度temperature是軟max里的縮放系數(shù)。在生成時(shí)我們把概率換成p_i exp(log(p_i)/T)再歸一化。T1時(shí)分布變平緩低概率字也有機(jī)會被選中T1時(shí)分布變陡峭趨向貪心。我用n-gram時(shí)一般不在beam search里加溫度因?yàn)閎eam search本身就是取top溫度會影響排序。正確做法是想要質(zhì)量高、像古詩用beam searchT1想要花樣多、能“作詩”改用random sample并按溫度重新加權(quán)概率。兩種路徑我都保留在代碼里隨場景切換。另外一個(gè)容易忽略的參數(shù)是最大生成長度。詩歌接龍通常續(xù)3到4個(gè)字就能構(gòu)成完整一句因?yàn)橛脩糨斎氚刖浠蛘呦肜m(xù)下一句。我的經(jīng)驗(yàn)是如果用戶輸入的是“床前明月”最大長度設(shè)為10讓它生成通順的七言如果用戶輸入的是完整“床前明月光”再接龍就是出下一句最大長度設(shè)為12也夠。長度太長會讓模型變散文失去詩的節(jié)奏感。到這里你已經(jīng)有一個(gè)不開GPU也能跑的詩歌接龍腳本。它會讀古詩文件記住所有三字結(jié)合接著用戶輸入的半句詩返回一個(gè)續(xù)句。如果你想繼續(xù)提高生成質(zhì)量下一步就該上深度學(xué)習(xí)了。4. 把接龍升到深度學(xué)習(xí)用LSTM做更自然的續(xù)句4.1 構(gòu)造訓(xùn)練數(shù)據(jù)滑動(dòng)窗口生成特征與標(biāo)簽深度學(xué)習(xí)的訓(xùn)練數(shù)據(jù)不再是計(jì)數(shù)表而是整數(shù)序列。先把所有詩句拼接成一個(gè)長序列或者按句切割。我傾向于按句切割但為了學(xué)習(xí)上下文關(guān)系也可以把整首詩作為一個(gè)序列中間用分隔符連接。這里提供一種簡潔的按句切法def build_dataset(lines, seq_len5): # 建立字-id映射 chars sorted(set(.join(lines))) char2id {c: i for i, c in enumerate(chars)} id2char {i: c for c, i in char2id.items()} X, y [], [] for line in lines: ids [char2id[c] for c in line] # 用前seq_len個(gè)字預(yù)測后面所有字 for i in range(len(line) - seq_len): X.append(ids[i:iseq_len]) y.append(ids[iseq_len]) return X, y, char2id, id2char這段代碼的核心是滑動(dòng)窗口。比如句子“床前明月光”轉(zhuǎn)成ids后seq_len3時(shí)[床,前,明]預(yù)測月[前,明,月]預(yù)測光。這個(gè)做法讓一條五言詩句產(chǎn)生兩個(gè)訓(xùn)練樣本。注意我沒有把整首詩不分句來滑窗因?yàn)楣旁姷纳舷戮渲g有語義呼應(yīng)但接龍通常只延續(xù)半句跨句訓(xùn)練反而會讓模型去記憶下一句開頭降低泛化性。如果你要玩藏頭詩、要續(xù)一整首那再改成跨句滑窗。seq_len是模型看到的“上文長度”。n-gram里的n是固定的3LSTM里的seq_len可以靈活調(diào)。對七言詩seq_len設(shè)為7能覆蓋完整的一句但我發(fā)現(xiàn)seq_len5到6已經(jīng)足夠因?yàn)榻育垥r(shí)用戶給的前綴通常不會太長而且LSTM內(nèi)部有隱狀態(tài)理論上能記住更長信息。設(shè)太長會加大訓(xùn)練負(fù)擔(dān)還會讓模型過于依賴前文的精確順序。4.2 搭建一個(gè)可訓(xùn)練的中文詩歌LSTM模型這里用PyTorch搭一個(gè)兩層LSTM。詞表大小就是剛才的char2id長度一般幾百到一千。embedding維度我選128隱藏單元選256。下面是完整模型定義import torch import torch.nn as nn class PoemLSTM(nn.Module): def __init__(self, vocab_size, embed_dim128, hidden_dim256, num_layers2, dropout0.3): super().__init__() self.embedding nn.Embedding(vocab_size, embed_dim) self.lstm nn.LSTM(embed_dim, hidden_dim, num_layers, batch_firstTrue, dropoutdropout) self.fc nn.Linear(hidden_dim, vocab_size) def forward(self, x): # x: (batch, seq_len) emb self.embedding(x) # (batch, seq_len, embed_dim) out, _ self.lstm(emb) # (batch, seq_len, hidden_dim) last out[:, -1, :] # 取最后一個(gè)時(shí)間步 logits self.fc(last) # (batch, vocab_size) return logits這里有幾個(gè)關(guān)鍵點(diǎn)batch_firstTrue讓輸入形狀變成(batch, seq_len, feature)這是PyTorch LSTM的習(xí)慣性寫法out[:, -1, :]只取序列最后一個(gè)時(shí)間步的輸出因?yàn)轭A(yù)測目標(biāo)就是最后一個(gè)字之后的字。如果你用雙向LSTM這里要拼接前后兩個(gè)方向但古詩接龍只能看上文所以用單向LSTM更合理。訓(xùn)練時(shí)用交叉熵?fù)p失但注意別把標(biāo)簽做成one-hot直接用nn.CrossEntropyLoss()配合整數(shù)標(biāo)簽就行。優(yōu)化器我常用Adam學(xué)習(xí)率設(shè)0.001。下面是訓(xùn)練循環(huán)的骨架def train_model(model, X, y, epochs30, batch_size128, lr0.001): optimizer torch.optim.Adam(model.parameters(), lrlr) loss_fn nn.CrossEntropyLoss() dataset torch.utils.data.TensorDataset( torch.tensor(X, dtypetorch.long), torch.tensor(y, dtypetorch.long) ) loader torch.utils.data.DataLoader(dataset, batch_sizebatch_size, shuffleTrue) for epoch in range(epochs): total_loss 0 for xb, yb in loader: model.zero_grad() logits model(xb) loss loss_fn(logits, yb) loss.backward() optimizer.step() total_loss loss.item() if (epoch 1) % 5 0: print(fepoch {epoch1}, loss {total_loss/len(loader):.4f})訓(xùn)練結(jié)束后保存model.state_dict()方便下次加載。注意embedding層會把每個(gè)字映射成一個(gè)向量LSTM學(xué)的是“在這種向量排列下下一個(gè)字通常是什么”。如果你的語料只有幾千首過擬合會很明顯所以訓(xùn)練到loss降到一定值后就得停止不要追求完美。4.3 訓(xùn)練與采樣loss降到多少才夠用訓(xùn)練loss不是越低越好。我拿全唐詩五萬多首做實(shí)驗(yàn)字符級詞表大約3000字在兩層LSTM 256隱藏單元下loss約在1.8左右就能穩(wěn)定生成通順句子降到1.5以下時(shí)模型開始傾向于復(fù)讀原句生成創(chuàng)新性下降。這個(gè)規(guī)律挺反直覺的——很多NLP項(xiàng)目追求loss越低越好但生成任務(wù)里loss太低等于記住了訓(xùn)練集。采樣時(shí)深度學(xué)習(xí)模型不像n-gram有硬性的context匹配失敗問題因?yàn)樗鼘θ我廨斎攵寄芙o出softmax分布。但正因如此沒有temperature調(diào)節(jié)的話它更容易生成高概率的常見字。我常用temperature0.8生成既能保住通順度又有一定創(chuàng)新。下面是采樣代碼def sample(model, prefix, char2id, id2char, seq_len, max_len20, temperature0.8): model.eval() # 把prefix補(bǔ)到seq_len長度 chars list(prefix) for _ in range(max_len - len(prefix)): # 取最后seq_len個(gè)字不夠則左側(cè)補(bǔ)起始符這里用第一個(gè)字的id補(bǔ) context chars[-(seq_len-1):] if len(chars) seq_len-1 else chars if len(context) seq_len: pad [char2id[chars[0]]] * (seq_len - len(context)) context_ids pad [char2id[c] for c in context] else: context_ids [char2id[c] for c in context[-seq_len:]] # 確保長度正確 context_ids context_ids[-seq_len:] x torch.tensor([context_ids], dtypetorch.long) with torch.no_grad(): logits model(x)[0] # 溫度采樣 logits logits / temperature probs torch.softmax(logits, dim-1) next_id torch.multinomial(probs, 1).item() chars.append(id2char[next_id]) return .join(chars)采樣時(shí)每次只取最后seq_len個(gè)字作為輸入然后逐個(gè)生成。注意我用了torch.multinomial而不是argmax這是生成任務(wù)的關(guān)鍵——純argmax會生成大概率但無聊的句子multinomial按概率隨機(jī)抽配合temperature可以得到多樣且合理的輸出。如果你想讓輸出更像格律詩可以在采樣后加一個(gè)大體檢測檢查最后一個(gè)字的韻腳或者檢查每句字?jǐn)?shù)。但這些都算是后處理放在進(jìn)階技巧里展開。5. 詩歌接龍避坑指南數(shù)據(jù)、生成與環(huán)境的四個(gè)典型翻車點(diǎn)5.1 古詩庫的編碼坑繁體、異體和不完整的標(biāo)點(diǎn)現(xiàn)象模型生成的句子全是簡體字但訓(xùn)練語料里的“里”和“裏”被當(dāng)成兩個(gè)不同字導(dǎo)致“故里”這個(gè)常見詞被拆散。更嚴(yán)重的是有的古詩庫直接從古文獻(xiàn)掃描OCR出來混有“丨”“丶”等生僻符號會拉高詞表大小浪費(fèi)訓(xùn)練空間。原因數(shù)據(jù)來源不是為機(jī)器學(xué)習(xí)準(zhǔn)備的原始文本包含繁體、異體和噪聲符號。我一開始偷懶直接用原始語料跑結(jié)果詞表里冒出3000多個(gè)罕見的收字模型把所有精力用在區(qū)分這些低頻字上生成質(zhì)量大打折扣。解決訓(xùn)練前統(tǒng)一做三步先用opencc轉(zhuǎn)簡體再手動(dòng)清掉非漢字字符最后過濾掉長度異常的行。這一步?jīng)]法全自動(dòng)需要定期抽查樣本。血的教訓(xùn)是別相信任何“已經(jīng)清理好”的古詩下載包自己跑一遍清洗才放心。5.2 訓(xùn)練時(shí)的loss不降學(xué)習(xí)率與序列長度現(xiàn)象LSTM訓(xùn)練50個(gè)epochloss一直在3.0附近徘徊生成的全是“之乎者也”一類的高頻虛詞。原因最常見的是學(xué)習(xí)率太大導(dǎo)致loss震蕩或者學(xué)習(xí)率太小導(dǎo)致模型卡在較差局部解。另一個(gè)隱藏原因是序列長度太短比如seq_len2模型根本學(xué)不到語義。還有一個(gè)容易忽略的沒有加embedding的初始化或者輸入id從0開始但字典里有0填充導(dǎo)致padding干擾。解決先把學(xué)習(xí)率調(diào)到0.0005batch_size調(diào)小一點(diǎn)觀察loss是否有下降趨勢。如果序列長度小于5先改成5。如果還是不動(dòng)檢查輸入數(shù)據(jù)是否真的被正確塑形用print(X[0], y[0])看一眼前后對應(yīng)關(guān)系。我遇到過把X和y錯(cuò)位一行的情況模型等于在猜隨機(jī)數(shù)loss當(dāng)然不降。5.3 生成內(nèi)容全是“的”“了”溫度太低與詞頻熵現(xiàn)象無論用戶輸入什么生成的下一句都是“春風(fēng)得意馬蹄疾”這種高頻詩句或者反復(fù)輸出“的”“了”這種虛詞。原因古詩語料里“之”“人”“風(fēng)”等字出現(xiàn)頻率極高模型學(xué)到的先驗(yàn)分布被這些高頻詞主導(dǎo)。如果temperature設(shè)得太低比如0.2softmax輸出幾乎等同于argmax模型就只會選這些高頻詞。beam search的寬度如果設(shè)得太大也會導(dǎo)致候選全是高頻組合看起來反而單一。解決把temperature調(diào)到0.81.2多試幾次。另外可以在采樣時(shí)對高頻虛詞做降權(quán)比如把“的”“了”“之”的logits減去一個(gè)大常數(shù)。這個(gè)方法雖然粗暴但很有效。還有一個(gè)技巧如果使用beam search從5個(gè)候選中挑一個(gè)“不是最順口”的反而更有詩意。5.4 環(huán)境依賴numpy版本和Python 3.8的兼容問題現(xiàn)象代碼在一臺機(jī)器上跑得好好的換到另一臺裝了Python 3.8的機(jī)器上import torch直接報(bào)錯(cuò)或者numpy操作報(bào)AttributeError: module numpy has no attribute float。原因PyTorch版本和numpy版本不匹配老版本numpy里np.float這種別名在numpy 1.24之后被移除了。很多詩歌接龍項(xiàng)目demo寫于兩三年前里面用了np.float、np.int在新環(huán)境里直接崩。解決給項(xiàng)目寫一個(gè)requirements.txt鎖定版本。我常用的組合是python3.8.18、numpy1.23.5、torch2.0.1。不要一上來就裝numpy 2.x除非你確認(rèn)代碼里沒用舊別名。還有一個(gè)更穩(wěn)做法用from numpy import float這種地方全改成float或者干脆pip install numpy1.23.5一步到位。環(huán)境問題雖然不大但能卡你半天這真不是玄學(xué)。6. 進(jìn)階技巧從單一接龍到藏頭詩與風(fēng)格控制當(dāng)你的接龍模型能穩(wěn)定續(xù)出通順句子時(shí)下一步可以讓輸出更“好玩”或者更“可控”。這里我給你三個(gè)我實(shí)際用過、效果明顯的小改造。第一個(gè)是藏頭詩生成。用戶指定四個(gè)字比如“山河無恙”要求每句開頭分別是這四個(gè)字。實(shí)現(xiàn)思路叫約束beam search在beam search擴(kuò)展候選時(shí)對于每一句的第一個(gè)字符只允許候選等于指定字。具體來說你可以在生成前設(shè)置一個(gè)forced_chars列表第i句生成時(shí)將beam search的每一步查詢改為當(dāng)生成的字符位置是句首時(shí)直接過濾掉不是目標(biāo)字的候選。這樣做需要注意被強(qiáng)制選擇的字如果在模型里概率很低整句的log概率會比其他候選低于是beam search可能把整個(gè)分支剪掉。解決方法是放寬剪枝對被強(qiáng)制的字乘上一個(gè)放行權(quán)重或者干脆直接不讓概率參與排序只讓后面的詞決定排序。這種方法雖然簡單但能讓輸出每句都以指定字開頭實(shí)現(xiàn)成本不到20行代碼。第二個(gè)是風(fēng)格控制。你想讓模型生成“李白一點(diǎn)”還是“杜甫一點(diǎn)”可以在訓(xùn)練數(shù)據(jù)上下功夫把作者信息作為條件在輸入序列最前面加一個(gè)“風(fēng)格標(biāo)記”。比如對李白的詩輸入為“[李白]床前明月光”對杜甫的詩輸入為“[杜甫]國破山河在”。訓(xùn)練時(shí)模型會把風(fēng)格標(biāo)記當(dāng)作前文的一部分生成時(shí)你也把“[李白]”拼在輸入前綴前面。這樣同一個(gè)模型能感知不同詩人的用詞習(xí)慣算是很輕量的conditional language model。如果你不想重新訓(xùn)練也可以在采樣后做規(guī)則過濾比如檢測是否含“劍”“酒”“月”——但規(guī)則永遠(yuǎn)不如數(shù)據(jù)條件自然。第三個(gè)是韻律校驗(yàn)。古詩接龍最讓人頭疼的是最后一句的韻腳。你可以準(zhǔn)備一個(gè)韻表在生成最后一個(gè)字時(shí)只采樣壓韻母的字。做法很簡單把logits中不符合當(dāng)前韻部的位置全部置為負(fù)無窮然后重新softmax。注意必須先確定本首詩壓什么韻通常是第一句的最后一個(gè)字決定。如果用戶輸入的是“床前明月光”最后生成的字必須壓“ang”韻于是“霜”“鄉(xiāng)”“望”“裳”成為候選。這個(gè)校驗(yàn)可以放在溫度采樣之后也可以直接把采樣空間限制在韻部內(nèi)。我的習(xí)慣是先限制韻部再采樣這樣既快又自然。我自己做過一版用藏頭詩LSTM的生成器翻車的地方在于強(qiáng)制字常常是“之”“以”這類虛詞導(dǎo)致整句變成“山之高兮水之長兮”雖然壓韻但不口語。后來我把強(qiáng)制字出現(xiàn)的概率閾值放寬甚至在候選為空時(shí)允許放棄該句改用次優(yōu)句才算穩(wěn)定下來。這是血淚經(jīng)驗(yàn)約束越多生成質(zhì)量越容易崩需要給模型留一條“破例”的后路。這個(gè)項(xiàng)目做到最后你會發(fā)現(xiàn)詩歌接龍的核心價(jià)值不在于“寫詩有多像”而在于你對語言模型生成機(jī)制的完整理解——從計(jì)數(shù)到神經(jīng)網(wǎng)絡(luò)從貪心到beam search從過擬合到溫度調(diào)節(jié)。這些經(jīng)驗(yàn)會直接遷移到其他生成任務(wù)比如切詞、評論生成、甚至簡單對話。希望我的這些踩坑記錄和參數(shù)習(xí)慣能幫到你少走點(diǎn)彎路。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
狠狠插狠狠操| 91狠狠色丁香婷婷综合久久狠丁香综合久久精品 | 91人人操人人爱| 五月色丁香| 天天骑天天操| 色婷婷a v| 婷婷五月色播网| 国产欧美日韩综合精品一区二区| 91青娱乐青青草| 99热这里是精品| 五月婷婷六月激情| 婷婷色五月激情| 午夜激情五月天| 丁香六月啪啪啪| 97人人射| 99在线69| 五月天成人综合| 5月激情天| 色色色九九九五月婷婷| 99精品免费欧美小视频 | 国产婷婷色五月| 国产乱妇无乱码大黄AA片| 日日夜夜爽| 狠狠色噜噜狠狠狠狠综合| 免费91久久精品| 丁香六月综合激情| 五月天开心色情网| 超碰免费大香蕉| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 婷婷性色| 国产在线另类五月婷婷| 思思99热在线| 3pAV| 操碰97| 国产女人十八水真多1| 色色色色色色色色网站| 成片免费观看视频大全| 日韩AV片| 综合一区二区三区| 66色在线日韩| 激情六月天| 五月天中文字幕在线婷婷| 久久婷婷色情7777网站| 综合99久久| 日本97人人| 色99色| 亚洲情色一区| 久久婷婷色色| 狠狠色成人影片| 婷婷欧美激情综合| 女人被男人吃奶到高潮| 欧美性丁香色色五月天干干| 九九热精品| 色色综合视频| 这里只有精品1| 五月天在线视频尤物视频在线看| 99re热免费观看视频精品| 九九热在线亚洲免费视频| av在线观看网站| 丁香六月成人| 97婷婷久久丁香| 九九九激情网| avv在线| 久久久久久久久18久久| 大香蕉娱乐| 五月激情综合婷婷| 国产操肏网站| 五月婷婷综合激情| 婷婷丁香基地在线| 强伦轩人妻一区二区电影| 另类综合网| 五月丁香六月色婷婷| 天天免费成年人视频| 99久久99视频只有精品| 欧美天天干天天草| 91色逼| 五月婷婷,狠狠操| 91要啪| 激情开心五月天| 国产色色视频| 狠狠操综合| 热九九精品| 久久性爱视频| 九九九午夜影院成人| 亚洲热手机在线观看| 深爱激情中文五月天av| 色五月亚洲开心网| 九九aV| 99这里只有精品视频| 久久丁香五月| 久久五月婷婷综合网| 超碰人人摸人人操| 亚洲婷婷丁香| 五月婷婷,六月激情| 婷婷五月丁香久久| av网址在线| 色情成人五月天| 亚洲人妻av伦理| 五月丁香六月片| 激情综合婷婷久久| 五月婷婷色丁香| 热99精品视频| 欧洲色| 天天天天干| 色99久草在线| 日日干五月天婷婷| 丰满人妻一区二区三区| 91 影音先锋| www.9色色色| 91九色无码日韩| 秋霞午夜理论| 色婷婷亚洲精品天天综| 99综合免费视频| 日韩熟女啪啪视频| 婷婷第六色| 五月婷婷影视| 天天干天天干天天干| 久久视9精| 啪啪婷婷五月天激情| 人人爽在线视频综合网| 婷婷五月天小说| 99操99| 五月丁香婷婷激情四射迷人| 天天舔日日肏夜夜爽| 国产精品色婷婷99久久精品| 淫视馆av三区| 六月丁香综合999| 9九色首页| 国产SUV精品一区二区883| 操婷婷基地| 99在线观看视频精品| 天天干天天操天天拍| 激情综合网五月| 精品九九久久| 六月婷色六月| 久久久国产精品黄毛片| 五月婷婷开心色伊人| 丁香五月婷婷亚洲色图| 香蕉乱插| 特级西西4444www无码| 人人操AV| 日本特黄aaaaa| 午夜天堂啪啪| 五月婷在线观看| 激情五月色综合| 色色a| 久久久99日本大片| 亚洲婷婷久久综合| 九九99九九99九九99视频网| 深爱五月激情五月| 亚洲四色五月| 婷婷五月天视频免费在线观看| 一本大道伊人AV久久综合| 深爱婷婷网| 99热超| 99热大片| 日韩一级淫乱片一区二区三区| 婷丁五月| 怡红院AV亚洲一区二区三区H| 丁香九月婷婷综合| 天天激情站| 久草五月婷婷| 99色色网| 色久婷婷网| 91性高潮久久久久久久久| 亚洲精品中文字幕成人片| 天天综合永久| www.韩日视频| 终合激情网| 久久ri精品视频| 五月丁香六月婷婷综合免| 色婷婷狠狠| 新97人人上人人| 激情婷婷色色| 婷婷五月开心中文字幕色| 色情综合网| 综合激情啪啪| 久久加勤综合| 婷婷爱五月| 四色五月视频| 五月丁香婷婷综合| 激情五月天之六月婷婷| 色丁香五月婷婷综合久久| 麻豆五月丁香婷婷| 色涩影院六月丁香| 色噜噜狠狠色综无码久久合欧美| www。五月天。com| 天天综合久久| 婷婷综合网站| 新伍月婷婷| 久久婷婷网| 久久99久久99精品免观看粉嫩| 99热这里有精品| 亚洲第一av| 五月丁香欧美综合免费视频| 精品九九网| 五月天婷婷色色网| 丁香五月第九色| 久久久久9久无码视频| 五月青青草综合| 五月丁香色欲| 91碰视频| 91疯狂操操操操| 26.uuu丁香五月婷婷| 五月丁香色色| 伊人九热| 五月天激情网图片| 婷婷五月天开心网| 99精品视频在线免费观看| 精品久久久久成人码免费动漫| 丁香五月六月欧美| 激情婷婷丁香五月天小说| 国产精自产拍久久久久久蜜| www.91婷婷| 日日噜人人人做人| 亚洲无码激情| 国产成人精品一区二区三区视频 | 天干干夜夜操| 综合99视频| jiZZdr| 五月天婷婷导航| 色九月国产| www.夜夜操| 日韩五月丁香| 开心五月激情五月丁香五月婷婷| 夜夜躁婷婷AV| 日韩在线9| 好好日激情五月天| www.久久爱| 五月天婷a在线| 色播婷婷五月天| 狠狠干思思热| 99久久99热这里只有精品| 99亚洲精品视频| 精品一二三区久久AAA片 | 五月婷婷六月丁香| 色五月婷婷av| 一本色道久久综合狠狠躁小说| 青青草搞屄视频网站| 色婷大香蕉| 狠狠操狠狠| 激情婷婷丁香| 五月激情综合美女久久| 99精品网站| 国产乱码久久| 91丨九色丨熟女高潮| 97久久超视频| 性欧美大战久久久久久久83| 日日夜夜狠狠干| 99九九精品| txt五月激情四射网综合俺也来了| 国产成人+综合亚洲+天堂| 啪色综合| 五月天天综合| 大香蕉久热| 久久久精品色色色| 99视频只有这里精品| 婷婷色播色五月五色五月天色妇| 久99热| 玖玖婷婷色五月| 婷婷五月开心六月AV| 色情五月停停丁香| 色色丁香激情五月| 婷婷色欧美激情| 天天插天天日天天爽| 人人性久久| 日韩美一级毛卡片| 日韩精品成人在线| 五月天丁香综合| 久久婷五月综合| 欧美在线视频9| 九色综合五月天婷五月| 丁香综合久久| 婷婷97碰碰| 久久精品天| 久久综合最新网址| www.com.色色| 婷婷五月天激情小说| 无码橾| 香蕉五月婷婷| 人人97碰| 五月综合婷婷网| 天天噜天天爱| 色综合久久88色综合天天| 五月天婷综合| 草榴成人影片| 91chinese 在线| 久久婷婷东京热大香樵| 国产97色在线 | 日韩| 1234操逼网| 四月婷婷五月丁香| 激情五月天噢美| 成人精品一区二区三区四区五区 | 少妇性按摩无码中文A片| 国产人妻人伦精品一区二区| 欧美日韩一区二区三区四区| 97人操| 狠狠色五月| 色婷婷久久久| 亚洲人妻一区二区| 亚洲99综合| 亚洲男女激情| 丁香婷婷综合影院| 91丨九色丨东北熟女| 国产99美少妇| 色婷婷狠狠18| 天天色天天| 强壮公让我夜夜高潮A片视频| 色操综合| 色五月婷色彩免播放器| 这里只有精品网| 97色天堂| 九九色婷婷五月天| 成人在线视频网| 丁香五月AV综合激情| 亚洲第一色区| 五月婷婷色| 五月婷婷很很色| 色噜噜97视频在线观看| 99热99这里有免费的精品| 9l视频自拍9l九色9l成人| 久久免费9| 开心五月婷婷六月丁香| 欧美日韩成人在线观看| 国产高清av黄色看片| 91操屁股| 五月综合影院| 婷婷久久五月| 中文精品在| 婷婷深爱五月天在线| 色色色热| 蜜乳AV成人| 俺来也综合网精品一区| 五月丁香啪综合| 五月综合久久| 九九av| 色五月天成人| 五月停性愛| 久久婷婷色综合| 久久五月婷婷开心网| 五月天婷婷AV| 亚洲婷婷综合视频| 米奇影视五月天| 五月丁香啪啪综合| 任你爽精品免费视频6| 99精品视频免费观看,| 玖玖色综合网| 26uuu丁香婷婷五月| 深爱激情网婷婷| 超碰在线人人| 99九九精品视频| 婷婷六月激情综合| 日本三级第一页| 永久的网站AAAA| 五月婷婷九| 狠狠婷婷日韩| 久久久区区一久久久久久| 五月天成人综合| 五月丁香婷草| 91大神操美女| 国产成人av在线播放| WWW,婷婷,COM| 婷婷丁香五月在线观看91| 精品一二三区视频立| 超碰在线9| 一级性爱大片| 久热这里| 久久婷婷五月综合精品蜜芽| 五月婷六月| 婷婷丁香综合| 五月丁香综合激情网| 婷婷性爱视频在线| 色香久久| 日韩啪啪视频| 俺去也综合| 99自拍视频在线观看| 亚洲色夜| 伊人久久婷婷| 欧美日韩欧美| 激情小说 五月天| www九九免费视频| 天天操夜夜玩!| 97在线观视频免费观看 | 久久狠狠干| 哇嘎成人久久| 色五月激情综合网| 热久久成人| 操人无码| 六月香五月婷| 久99久视频精选| 激情五月天婷婷五月天| 超碰在线免费| 777精品久无码人妻蜜桃| ,99视频久久| 国产AV一区二区三区最新精品| 丁香婷婷人妻综合网| 久操欧美在线观看97| 婷婷激情丁香六月| 97婷婷狠狠| 久久a热| 色婷婷精品小视频| www.婷婷五月.com| 亚洲中文字幕网| 天天天久久久| 97成人在线视频| 五月天桃色深爱网| www.粉嫩av.com| 荫道BBWBBB高潮潮喷| 天天操,夜夜骑| 欧美日韩精品一区二区三区钱| 五月天激情久久| 九九精品综合| 久久黄色片| 九热免费视频| 天天综合网亚洲网站| 婷香五月| www.com.色色| 丁香五月开心七月| 九九99在线免费在线观看视频| 色色五月天婷婷| 国产精品第一国产精品| 丰满人妻一区二区三区| 思思热性操| 五月天久久婷| 丁香五月成人社区| 丁香五月冃欧美| 天堂五月婷婷| 欧美成人在线观看| 久热伊人| 婷婷五月天无码| 激情影院内射| 伊人久久大香蕉网| 亚洲天堂玖玖| 五月丁香大香蕉| 丁香六月婷婷综合缴| 久久精彩免费视频精彩免费视频| 丁香花五月天社区| 亚洲亚洲人成综合网络| 99视频九九热| 色五月激情五月天| 色情激情五月| wwW天天干| 97欧美在线| 91av传媒高清在线视频网| 国产精品色婷婷AV综合色色| 超碰成人影视| 丁香五月狠狠综合欧美| 97人人操人人操人人操人人| 久久精品99国产精品日本| 五月丁香六月婷婷无码| 精品三区影院| 亚洲激情高潮| 丁香六月婷婷缴情欧美| 99操逼| 国产高清视频91九九九久久久| 一本色道久久综合狠狠躁小说| 五月六月婷| 伊人婷婷五月天av| 婷婷五月久久| 69er小视频| 精品在线| 99爱在线| 激情五月天之六月婷婷| 天天 日综合| 色五月婷婷狠狠撸| 色婷婷XXXXX| 日本三级韩三级99久久| 大香蕉五月天婷婷| 1024日韩| 综合激情开心五月| 色五月天天| 丁香六月AV| 五月开心婷婷中文字幕| 亚洲 精品 综合 精品| 欧洲激情网站| 五月婷庭丁香在线| 小视频一区| 五月天婷婷色播在线网| 亚洲国产va| 五月丁香欧美在线| 99久热这里只有精品| 丁香五月电影| 久久伊人9| 影音先锋色婷婷| 亚洲av成人在线| 女婷久久| 69精品人人人人| 欧美黑人巨大性生话| 噼里啪啦完整版中文在线观看| 免费视频WWW在线观看网站| JAPANRCEP老熟妇乱子伦视频| www.色婷婷| 欧美成人精品A片免费一区99| 禁欲电影完整版在线播放| 久久婷婷五月综合色欧美| 欧美日韩成卜| 97日在线视频| 成人色站,在线视频,看片-SS1AV| 人人看人人草人人摸| 五月综合婷婷五月| 狠狠干夜夜干| 婷久久久| 久久丁香五月综合六月激情红杏视频 | 亞洲自怕| 99在线精品视频| 五月丁香久久精品在线观看| 思思热热久久| 欧美在线操| 99色色| 97自拍视频网| 五月丁香六月在线欧美| 亚洲人人操BD| 99性视频| 人妖色AV色综合| www.色五月| 婷婷五月丁香久久| 色婷婷丁香| 色爆五月| 亚洲超碰在线| 天天干 夜夜爽| 97精品综合| 天天干人人奸97| 婷婷午夜综合| 婷婷五月天天aV| 五月天丁香综合久久国产| www.狠狠| 狼人狠狠操| 久久66精品| 九九五月天| 99热这里只有精品 搜| 类似婷婷激情综合网站| 亚洲无AV在线中文字幕| 國語久久婷| 天天干天天爽天天操| 成人片在线播放| 壅壅儕家a| 色色色色色色色综合| 99色色网| 99久久五月婷婷| 桃色激情婷婷伊人网| www.91婷婷| 久婷婷视平| 99思思在线视频| 五月丁香色婷婷| 97久久婷婷色| 五月丁香久久综合精品| www.婷婷五月天.com| 一起肏在线视频| 五月天色网站| 国产精产国品一二三在观看 | 色色亚洲| 日韩啪啪网| 色色色热热热| 97操在线资源| 天天干天天叉| 人人色人人弄人人操| 欧洲激情网站| 久久五月天综合| 久久九九@| 色婷婷成人| 91九色PORNY大屁股| 狠狠久久婷五月综合色| 午夜九九电影| 激情五月婷婷| 丁香五月六月婷婷自拍| 日本欧美成人片AAAA| 俺来也综合网精品一区| 五月天成人综合| 婷婷五月天影院| 日韩成人综合网| 99久久精品色老| 97极品在线| 99亚洲精美视频在线观看| 直接看的AV| 五月停亭久久电影| 99精品在线观看视频| 丁香六月欧美| 天天插天天干| 人人操插| 五月婷婷综合在线| 四色 爱 婷婷 精品 亚洲 五月天| 天天日天天插| 婷婷亚洲丁香五月| 久9热视频在线| 天天综合永久| 99热亚洲综合| 91九色熟女| 日本三级黄色大片| 91久久久久久久久18| 狠狠操.com| 国产古装妇女野外A片| RenRenSe在线视频网站| 五月天啪啪网| 久久久无码精品成人A片小说| 亚洲成人无码网站| 天天天干夜夜夜操| 人妻肉射免费观看| 四色五月视频| 99热这里是精品| 五月丁了香蕉综合| 99热在线中出| 欧美视频五区| 深爱 五月天| 色和综合网| 26uuu成人网| 综合色五月天| 精品国产AV色一区二区深夜久久 | 五月丁香欧美综合免费视频| 日韩成人电影Av| 武则天精品久久| 亚洲视频在线观看99| 大香焦A∨| 婷婷成人AV| 4399在线观看免费高清电视剧| 日本色色色色色色色色一色二色| 天天天天操| 91日韩在线| seav天堂| 日本人妻A片成人免费看片| 包操45分钟网站| 丁香操逼| 激情五月天视频| 国产精品热搜丁香五月婷婷| 婷婷久久久| 九九热狼人| 丁香色色网| 天天日天天日天天搞| 欧日韩成人| AV中文网| 性爱视频99| 五月婷婷丁香综合网| 九月婷婷综合| 亚洲成片在线观看| 无码激情AAAAA片-区区| 91日本在线观看| 天天操天天日天天爽| 九月影院義母在线播放| 久久综合图片| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 天天操无码| 五月天久久综合婷婷丁香| 大香蕉九九| 丁香五月最新网址| 碰碰人人人| 久久九九国产精品怡红院| 亚洲婷婷五月天激情| 色婷婷丁香五月高清在线| 91精品久久久久久久久久久久| 国产69久久久欧美黑人A片| 色热久| 五月草视频| 五月丁香五月激情综合色综合| 五月婷婷啪啪网| 久久99精品久| 亚洲天天| 久热这里只有精品视频免费观看| 欧美色六月婷婷| 综合亚洲六月婷婷在线| 黄色成人网站在线播放| 小泽玛利亚视频一区二区| 99在线精品免费视频| 亚洲激情av| 大香蕉综合| 日本99色| 九九青草热| 天天操比比| 五月天综合婷婷| 天天天摸夜夜夜玩| 人人视频色| av在线色五月丁香婷区久| 婷婷色无码| 狠狠色丁香综合| 五月婷婷丁香啪啪| 最新日本A片| 国产伦理精品高清在线观看网站一区二区 | 性热视频99精品| 婷婷中文网站| 九月色婷婷综合| www色婷婷com| 久久久婷丁香五月天激情综合| 欧美色偷偷大香| 婷综合六月| 色色色五月天激情资源| 99精品女人天堂| 婷婷亚洲久久| 伊人狠狠丁香婷婷综合尤物| 人人操AV| 风流少妇A片一区二区蜜桃 | 丁香六月无码播放| 夜夜骑天天操| 五月婷婷|欧美| 99热这里| 久久五月丁香| 国产午夜成人免费看片无遮挡| 亚洲亚洲人成综合网络| 五月天婷婷Av| 丁香五月婷婷Av| 99人人干| 久色成人| 99视频这里有精品免费观看| 九九在线视频| 在线观看中文字幕| 99人妻碰碰久久久禁片| 久久全色| 五月天丁香网| 欧美噜一噜| 色色射| 色综合色综合网| 国产精品18久久久| 日韩AV在线电影| 久久98热re| 婷婷色五月噜噜| 五月婷婷丁香六月在线| WWW.17C亚洲精品| 六月婷婷开心| 国产一级黄色影片,| 色婷婷91| 五月婷婷就去色| 色五月婷婷在线观看| 亚洲无码播放| 97久久婷婷色| VA色婷婷| 久久欧洲综合网| 五月丁香啪啪综合| 国产一级片色色| www.sebowuyue| 人妻系列久久久久久久久久久| 79精品视频| 亚洲视频99| 婷婷丁香五月社区亚洲| jiqingtaose五月天| 战争与艾拉电影免费观看| 操逼视频一区| 久久看九九90| 蜜乳9188| 天天干天天干天天| 天天色综网| 精品久久99码| 中文字幕av在线播放| 色欲Av五月天| 日韩一级网站| 日日操天天| 婷婷色五月在线视频| 91精品丝袜久久久久久| 色噜久| 色综合五月在线| 色热久| 激情婷婷五月综合| 成人小说 五月天 婷婷| 激情综合网五月婷婷| av电影在线播放| 开心五月丁香综合久久| 色九区| 1234操逼网| 午夜激情五月| 婷婷五月花| 亚洲黄色影视| 色爽九九| 婷婷 丁香 久久| 操熟女成人网| 610018岁成人视频| 蜜臀A∨在线水帘洞| 日本一级一片免费视频| 六月婷婷AV| 蜜桃婷婷丁香| 202丰满熟女妇大| 性爱综合网| 九九亚洲综合| 99热久97| 最新va在线播放| 91人人人人人人人| 狠狠色婷婷六月激情网| 直接看的AV| 精品无码久久久久久久久 | 99只有精品| 五月天综合网| 婷综合| 丁香婷色| 丁香五月综合婷婷| 国产成人AV在线播放| 亚洲欧美一区二区三区爱爱动图| 182.t午在线观看| 九九热手机在线视频| 99热在线观看| 五月婷婷久久爱| 开心五月天激情网| 色色色综合视频| 97福利视频| 这里只有精品,日韩视频| 大香蕉五月天婷婷| 五月婷婷六月丁| 丁香五月成人| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 激情五月天色色色| site:pnnrt.com| 丁香 亚洲 久久| 色婷婷激情| 99精品一二三四视频| 中文字幕AV在线播放| 91色久| 五月天成人综合| 99在线观看精彩视频| 婷婷开心六月| 91九色PORNY中文啦| 激情五月丁香亭亭| 色月九九| 欧美日韩99| 五月天婷婷伊人| 四虎99热在线观看网站| 丁香五月成人av| 99热99久久| 99免费在线| 丁香伊人激情| 丁香九色不卡aaa| 丁香五月激情网| 狠狠色丁香久久久婷| 天堂无码人妻精品AV一区| 日日爽天天| 蜜桃婷婷狠狠久久| 欧美日韩999| 伊人久久丁香婷婷六月五月综合| 9超碰在线| 99热6精品| 26UUU精品一区二区c〇m| 操操熟女| 色五月丁香婷婷| 丁香婷婷伊人| 任我鲁这里有精品视频| 1000部毛片A片免费观看| 一起肏在线视频| 人妻无码精品一区| 婷婷五月天综合中文| 婷婷成人AV| 色播五月丁香| 久久这里有精品| 久操b网| 色色草97| 九九在线视频| 色婷婷丁香| 99er6免费视频热播| 九月丁香八月婷婷加勒比| 色婷久| 青草久久五月婷伊人| 丁香五月婷婷天堂大香蕉| 色丁香久久| 野战毛片三一3| 99精品视频在线免费观看| 黄色毛片精品| 亚洲国产精品二二三三区| 色五月激情网| 五月的丁香六月的婷婷| av国产精品偷| 色婷婷av综合网| 小视频久久久aaa| 五月婷婷丁香在线| 午夜美女人啪最红院| 人妻激情视频| 丁香五月亚洲综合丝袜| 五月婷婷影| 五月激情婷婷国产精品久久久久久 | 色色色婷婷| 久热这里只有精品66| 99久久综合网| 91丨九色丨国产在线| 欧美性猛交99久久久久99按摩| 超碰免费人妻| 夜夜骑天天操| 能直接看的AV网站| 情婷婷五月天在线| 538在线精品| 中文字幕视频在线播放| 五月天另类小说| 色情激情五月| 99热这里只有精品98| 亲子乱AV一区二区三区下载| 色开心五月丁香| 丁香五月婷婷色综合| www.yw尤物| 97色色色色色| 久操福利| 操逼三区| 五月丁香网站| 亚州操人在线视频| 婷婷色成人| 99热这里只是精品| 五月色情婷婷开心五月色情| 欧韩性爱| 天天久久人人| 亚洲永久免费| 狠狠色噜噜狠狠狠狠综合| 五月天婷婷亚洲| 六月丁香开心婷婷欧美| 97超级啪啪在线观看| 天天色综网| 丁香婷婷基地| 五月丁香六月在线| 婷婷色五月在线视频| 婷婷五月天BBw| 日日插日日干| 五月婷婷六月丁香综合| 九九热视| 九九热在线精品| 日本色色视频| 天天狠狠夜夜狠狠2023| 五月婷婷免费在线观看视频| 亚亚州久久高潮| 激情五月影院| 天天干一干| 182TV大香蕉| 91视频精品99| 色情综合网| 亚洲操人| 七七婷婷综合| 丁香六月欧美| 婷婷丁香五月天影院 | 久草久青福利| 色视五月天婷婷| 亚洲精品久久久久久久久久吃药| 欧美激情-区二区三区| 99热久久这里只有精品2010| 亚洲无码色色| 日韩综合天堂| 五月婷婷六月激情| 在线播放人妻| 91趴趴| 五月激情婷婷综合| anquye伊人| 国产日日操夜夜操的肉棒视频| 人妻操逼视频| 无码人妻激情| 免费视频WWW在线观看网站| 久久久亚洲成人无码A片| 人人妻人人澡人人爽| 色欲丁香| 五月色 亚洲| 夜夜干夜夜操| 久操热| 亚洲第一成人无码A片| 9色在线视频精品观看| 综激情网| 丁香五月激情欧欧美| 五月天精品视频| 91热久久| 久久婷婷五月综合色丁香花| 玖玖婷婷精品| 情欲综合网| 丁香婷婷基地| 91色色色| 久久婷婷五| 久久黄A片| 综合激情深爱| 色色五月天婷婷| 五月婷婷 激情按摩| 欧美天堂久久| 激情综合另类| 婷婷五月天AV| 有码一区二区三区| 99精品视频在线观看免费| 久久成人天| 亚洲精品国产成人AV在线| 91人久| 久99视频在线观看| 婷婷开心六月| 99久久99久久综合| 91在线日本| 初夜av| 狠狠色丁香| 97久操| 激情图片婷婷| 婷婷丁香五月麻豆| 丁香五月婷婷久久久| 九九热在线亚洲免费视频| 六月综合在线| 免费看欧美成人A片无码| 九九综合伊人| 五月天婷婷无码视频| 婷婷五月天av| 婷婷五月天六点丁香五月| 五月婷婷网五月在线| 激情综合网激情五月天| 丁香 久久| www,五月天激情| 9色在线| 97影院一级片| 99久在线精品99re8热| AA片在线观看视频在线播放| 色婷婷丁香五月| 丁香五婷婷| 97人人操人| 九色色| 熟女人妻视频| 亚洲久久视频| 国产欧洲欧洲精品久久| 9久热免费视频99| 人妻内射视频| 久久久9久| 婷婷丁香激情五月天色色| www久久久| 99视频这里只有免费精品| 96精品久久久久久久久| 最新AV在线观看| 婷婷五月天六点丁香五月| 婷婷婷婷婷婷婷婷婷婷丁香| 色日本丁香婷婷| 91超级碰| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 九九热在线观看视频| 五月丁香亚州综合网| 五月天婷婷永久免费视频| 亚洲国产精品二二三三区| 五月天综合缴情网网站0| 久久机热/这里只有精品| 久久九色| 这里只有精品视频99| 婷婷五月天色色| 九热视频| 99视频超级精品| 狠狠插狠狠插| 亚州激情网| 五月天婷婷激情| 久久er+| 老师的粉嫩小又紧水又多A片视频| 五月激情丁香久久综合网| α久久| 日本色啪| 韩国天天婷婷| 嫩草视频观看| 國語久久婷| 久久婷婷五月天| 婷婷中文字幕| 六月天六月婷| 超碰人人妻| 99热国产免费| 久久色婷婷| a久久| 26UUU精品一区二区c〇m| 国产精品成人网址| 99色网站| 亚洲熟女色| 亚洲va成人va成人va在线观看| 亚洲色爽| 99爱在线| 日韩人妻无码精品| 99免费热在线精品| 成人中文网| 欧美成人色婷婷| 九九综合九九| 色婷婷成人做爰A片免费看网站 | 九九久久腿| 亚洲色图五月丁香| 欧美日韩二区在线| 亚州色色色| 超碰激情网| 精品一二三区久久AAA片 | 97干网站| www.99热最新视频8| 99九九精品视频推荐| 一级二级色大片| 欧美又粗又大一区二区在线观看| 人人艹艹艹| 婷婷八月丁香激情综合| 久久五月视频| 色婷婷久久9.com| 超碰在线人妻| 艾小青av| 丁香六月色婷婷| 亚洲精品V天堂中文字幕| 丁香婷婷五月天在线视频| 日韩欧美颜射| 91九色偷拍| 99热人人| 中文网av| 色人久久| 一本婷婷丁香久久 | 激情六月一二| 五月婷婷黄色| 182tv992tv人之初午夜免费观看| 天天 青草 制服丝袜 在线 | 色色综合网络| 国产色色在线| 免费观看2018www黄色操逼网站| 欧美日韩成人在线| 婷婷五月18永久免费视频| 9999久久久久| 久久婷婷综合色丁香| 五月丁香久久| 免费看欧美成人A片无码| 色五月在线| 五月丁香六月激情综合| 久久视9精| 99色在线视频| 五月婷婷在线视频| 人人干Av| 天天舔天天插天天爱| 99九精品| 日日噜噜夜夜狠狠久久丁香五月| 日本久久精品| 狠狠干五月天| 五月丁香六月情亚洲| 色色无码日韩| 日韩99视频| 亚洲啪啪自拍| 97色婷婷| 大香蕉人妻| 亚洲成人av在线| 激情五月小说婷婷| 人人看人人草人人摸| 婷婷五月小说色综合| 成人午夜免费电影| 色开心五月婷婷丁香HD| 欧洲电影在线观看免费版英语版| 婷婷色综合| 超碰在线观看9| 夜夜干夜夜操| 婷婷五月天在婷| 丁香六月激情综合网| 淫荡家庭AV| 色狠狠色| 欧美人久久| 67194中文字幕| 欧美六月婷婷| 日韩aⅴ视频| 狠狠操狠狠色| 欧美日本韩国亚洲| 人妻体体内射精一区二区| 六月综合婷婷开心伊人| 久婷| 97婷婷狠狠| 99欧州偷拍视频| 丁香五月综合激情性爱| 99视频只有精品| av狠狠操| 99热97| 亚洲视频色婷婷| 色综合99| 欧美影院| 色婷婷精品视频| 182TV大香蕉| 丁香久久五月婷综合| 九九99热| 亚洲婷婷91丁香| 久久婷五月婷| 99性视频| 在线99热| 亚洲亚洲人成综合网络| 一本道在线电影| 草综合14| 人妻少妇色综合| 亚洲午夜一区二区| AV在线免费网站| 五月色网| 开心激情婷婷| 国产精品99久久久久久久女警 | 91久久九| 影音先锋 一区| 五月丁香啪综合| 九九这里只有精品在线视频| 丁香六月久久| 深情六月婷婷综合久久| 久久久久久久久久久久久久人妻视频 | 激情com| 五月的丁香六月的婷婷| 亚州精品久久久久AV无码| 中文乱子伦视频| 色欲午夜无码久久久久久张津瑜| 综合久久影院| 色综合五月| 黄网在线免费观| 婷婷五月丁香激情图片 | 日本操碰碰| 色频玖玖五月天| 亚洲色欲AAAAAA| www91久久| 欧美精品99久久久| 日韩AAA| 人人视频人人干人人做| 欧美99热| 久久精品99国产精品日本| 亚洲影院婷婷色| AV在线免费播放| 五月丁香999| 激情综合激情五月一起草| 色噜噜狠狠色综合成人99| 99热精品免费| 日韩av高清| 精品激情| 婷婷色丁香五月| 99久精品视频| 最近韩国日本免费高清观看| 五月婷婷 自拍| 婷婷丁香社区网| 亚洲夜夜操| 五月婷婷天| 久久99激情五月天| 超碰久热| 日日夜夜爽| 很很干天天干| 亚洲成人电影在线免费观看| 丁香五月婷婷亚洲综合精品| 九九精品9| 九九热欧美| 99热只有这里才是精品| 高清视频一区| 日日夜夜九九| 久久精品爱爱| 草综合14| 亚洲精品白浆高清久久久久久| 99爱爱网| 亚洲 无码 中文字幕 中出| 久久大香蕉同僚| 色婷婷8| 九九Av| 激情五月天com| 中文字幕日产A片在线看| 超碰99久久| 丁香六月亚洲综合| 五月丁香在线| 91打屁股视频网站| 六月丁香激情婷婷| 亚洲成人免费电影| 五月丁香黄色| 丁香六月婷婷综合在线| www.超碰| 婷婷五月激情图片| 99视频精品全部观看10| 丰满人妻妇伦又伦精品国产| 色五月成人| 五月天综合在线观看视频| 日韩成人精品中文字幕电影| 黄色aaaaa| 久青操| 久99精品视频| 丁香五月婷婷在线视频| 亚洲成人在线播放| 五月婷婷综合激情网| 亚洲激情久久| 99视频日韩| 久久婷婷在线| 亚洲国产精品SUV| 99操逼| 综合色色婷婷| 色欲婷婷五月天丁香| 久热A| 日本操B视频| 日韩婷婷五月天| 91丨九色丨国产打屁股| 天天爽人人综合免费7799| 久久Xx| 婷婷欧美激情| 五月丁香六月情| 九月婷婷人人操人人舔人人爱| 激情五月亚洲综合网| 婷婷激情四射| 五月婷婷与六月丁香图片激情| 丁香色五月 97干| 亚洲精品影视| 综合色色网| 4399亚洲视频| 九九九热精品| 日韩综合天堂| 97综合在线| 91狠狠色丁香婷婷综合久久| 欧美99热| 色丁香五月婷婷婷| 激情五月婷婷| 中文字幕日韩无码制服诱或|