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

ARTICLE DETAIL

資訊詳情

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

ASR標點恢復(fù)實戰(zhàn):序列標注與PaddlePaddle工程落地

ASR標點恢復(fù)實戰(zhàn):序列標注與PaddlePaddle工程落地 簡介這份壓縮包面向語音識別開發(fā)者和自然語言處理學(xué)習(xí)者聚焦識別文本缺少標點、可讀性不足的問題提供可在PaddlePaddle框架下使用的標點符號預(yù)測模型文件。包內(nèi)共5個文件以txt詞表、json配置、info說明以及pdmodel/pdiparams模型結(jié)構(gòu)與權(quán)重參數(shù)為主壓縮包約250.85MB適合直接加載推理或作為二次訓(xùn)練起點。已有4948人學(xué)習(xí)下載說明其在ASR后處理場景中具有一定參考價值。讀者可借助模型參數(shù)快速為連續(xù)識別文本補全標點也可結(jié)合CTC、Attention及CRF、LSTM、Transformer等序列建模思路理解標點預(yù)測模型的設(shè)計與優(yōu)化方向?qū)τ谙M袮SR輸出整合為端到端可讀文本的開發(fā)者這份模型包能減少從零訓(xùn)練的成本并為數(shù)據(jù)預(yù)處理、模型評估和后續(xù)調(diào)優(yōu)提供可復(fù)用的基礎(chǔ)。1. 語音識別出來的文字缺的不是模型而是標點某次把它當作“一句話能說清”的需求接手給asr的識別結(jié)果補上標點。真正跑起來才發(fā)現(xiàn)難的不是模型本身難的是標點這套標簽怎么定義、長音頻怎么切成窗口、訓(xùn)練集里半角標點有沒有清干凈。語音識別鏈路的輸出是一長串沒有斷句的字符轉(zhuǎn)寫稿丟給人工校對第一件事就是重新斷句接給下游的翻譯、摘要、字幕打軸沒有標點基本沒法用。這份資源要解決的正是這一段一個掛在paddlepaddle語音識別后處理上的輕量標點恢復(fù)模型輸入無標點文本輸出帶逗號、句號、問號的文本確定性輸出、可離線、單條百毫秒量級。適合做 ASR 落地、會議轉(zhuǎn)寫、字幕生成的同學(xué)直接抄作業(yè)也適合想搞清楚“標點這事到底該用生成式還是判別式”的同行。2. 把標點恢復(fù)看成序列標注為什么不直接上生成式先給結(jié)論標點恢復(fù)在工程上更適合當序列標注問題解而不是當文本生成問題解。原因不復(fù)雜——生成式模型會重寫你的原文而 ASR 后處理最不能接受的就是“字被改了”。序列標注的思路是字符序列不動只在每個字符位置上預(yù)測一個標簽標簽表示“這個字后面該不該插標點、插哪一個”。這樣一來無論模型多不靠譜輸出文本的字符集合和輸入完全一致最壞情況是標點插錯位置而不是整句話被改寫。判別式方案還有幾個隱性好處延遲可控一個 500 長度的窗口一次前向端側(cè) CPU 也能跑、結(jié)果可復(fù)現(xiàn)同樣的輸入永遠同樣的輸出方便回歸測試、顯存占用小幾百 MB 級別能和 ASR 模型擠在同一張卡上。代價是上下文建模能力弱于大模型遇到需要通讀全文才能判斷的斷句會翻車——這個邊界后面會具體說。2.1 標簽體系先定 5 類別一上來就鋪 16 類中文全角標點有十幾種但標點恢復(fù)任務(wù)里真正高頻的只有四個逗號、句號、問號、嘆號。加上“不加標點”這一類第一版固定 5 類就夠了。標簽越多每個類的正樣本越少句號和逗號的決策邊界越難學(xué)——這兩個本來就是最容易混的一對“他說他不知道。”和“他說他不知道?!闭Z義完全不同但字面完全一樣。頓號、分號、冒號這三個要不要單列看場景。字幕和會議紀要里頓號出現(xiàn)頻率不低并列名詞但如果你的人工校對規(guī)范里允許用逗號替代頓號直接合并進逗號能省掉一大堆標注爭議。我一般第一版只用 5 類跑通之后再根據(jù) per-class F1 決定要不要把某一類拆出來。import re # 5 類標簽0 不加標點1 逗號2 句號3 問號4 嘆號 PUNCT2ID {: 0, : 1, 。: 2, : 3, : 4} ID2PUNCT {v: k for k, v in PUNCT2ID.items()} # 半角標點統(tǒng)一轉(zhuǎn)全角避免標簽體系被污染 HALF2FULL {,: , .: 。, ?: , !: , ;: , :: } def normalize(text: str) - str: text text.strip() for h, f in HALF2FULL.items(): text text.replace(h, f) # 省略號、破折號這類多字符標點先統(tǒng)一成一個占位后面單獨處理 text re.sub(r…|\.{3,}, 。, text) text re.sub(r[—]{2,}, , text) return text這段代碼做兩件事建立標簽字典以及做輸入歸一化。PUNCT2ID里的空字符串對應(yīng)的是“不插標點”這個最大類這一點很關(guān)鍵——絕大多數(shù)位置的標簽都是 0模型的默認行為必須是“不亂插”。normalize里的半角轉(zhuǎn)全角是血淚經(jīng)驗不做這一步訓(xùn)練集里殘留的英文逗號和句號會被當成普通字符喂進去模型學(xué)不到任何東西還會在推理時對英文標點位置瘋狂輸出。提示引號、括號、書名號不做預(yù)測直接在上游按規(guī)則處理或者干脆剝掉。讓模型學(xué)“左引號和右引號配對”是給自己找麻煩這類結(jié)構(gòu)化標點用規(guī)則比用模型穩(wěn)。2.2 編碼器選型預(yù)訓(xùn)練微調(diào)、BiLSTM-CRF 與 CRF 的取舍編碼器有三條常見路線按落地條件選第一條預(yù)訓(xùn)練語言模型加線性分類頭。用中文預(yù)訓(xùn)練模型做底座接一個Linear(hidden_size, num_labels)每個位置出一個 5 維 logits。優(yōu)點是收斂快、小樣本表現(xiàn)好十萬條級別就能到可用的 F1缺點是模型體積大一些端側(cè)部署要做量化。生產(chǎn)環(huán)境我一般走這條。第二條字符級 BiLSTM 加 CRF。沒有預(yù)訓(xùn)練權(quán)重純靠標注數(shù)據(jù)訓(xùn)參數(shù)量小到幾 MB塞進移動端毫無壓力。缺點是長距離依賴弱超過 100 字的上下文基本靠不住而且對數(shù)據(jù)量要求高至少幾十萬條才穩(wěn)。適合端側(cè)、離線、資源受限的場景。第三條預(yù)訓(xùn)練加 CRF 層。在第一條的 logits 上加一層 CRF用轉(zhuǎn)移矩陣約束標簽序列。它解決的是一個具體問題線性頭獨立預(yù)測每個位置會出現(xiàn)“句號后面緊跟逗號”“連續(xù)兩個句號”這種非法序列。CRF 的轉(zhuǎn)移矩陣能從數(shù)據(jù)里學(xué)到“句號之后大概率是 O”這類約束。但 CRF 不是白拿的。前向算法的時間復(fù)雜度是 O(序列長度 × 標簽數(shù)2)訓(xùn)練時每個 batch 都要跑一遍前向和反向512 長度、32 batch 的情況下訓(xùn)練速度大概會掉三到四成。我的建議是第一版先不上 CRF用線性頭跑出基線如果 per-class F1 里發(fā)現(xiàn)非法序列占比超過 2%再考慮加。加的時候 batch size 往下壓別硬扛。2.3 長文本切窗邊界處的標點歸屬是個真問題標點模型很少能一次吃下整段轉(zhuǎn)寫稿。會議記錄動輒幾千字必須切窗。切窗這件事看起來簡單實際上邊界處理不當會引入一類很煩的錯誤窗口末尾因為看不到后文被模型判成句號。常見做法是滑動窗口加重疊窗口長度 480 到 510 個 tokenstride 取 96 到 128。重疊區(qū)里的預(yù)測結(jié)果不直接采信而是把每個位置在多個窗口里的 softmax 概率累加取累加后的 argmax。這種做法比“取最后一個窗口的結(jié)果”穩(wěn)得多因為窗口邊界附近的預(yù)測置信度天然偏低多窗口投票能把這個偏差攤平。import paddle paddle.no_grad() def predict_tags(text, char2id, model, window480, stride96): 滑動窗口推理重疊區(qū)按概率累加投票 chars [c for c in text if not c.isspace()] n len(chars) if n 0: return [], [] vote [dict() for _ in range(n)] model.eval() start 0 while start n: end min(start window, n) ids [char2id.get(c, char2id[[UNK]]) for c in chars[start:end]] ids paddle.to_tensor([ids], dtypeint64) logits model(ids) # [1, L, 5] probs paddle.nn.functional.softmax(logits, axis-1).numpy()[0] for i in range(end - start): pos start i for c in range(probs.shape[-1]): vote[pos][c] vote[pos].get(c, 0.0) probs[i][c] if end n: break start end - stride # 回退 stride 做重疊 tags [max(v, keyv.get) for v in vote] return chars, tagswindow控制單次前向的最長序列stride控制重疊寬度——太小比如 32會讓重疊區(qū)票數(shù)不足、邊界抖動明顯太大比如 256會讓推理耗時翻倍。我一般按window / 4取480 配 120 左右是常見組合。vote用字典而不是數(shù)組是為了避免導(dǎo)入 numpy 之后還要處理 dtype 的瑣碎問題性能上在這個量級完全夠用。切窗還有一個更細的問題如果窗口正好切在一個詞的中間模型會對這個殘缺的詞給出奇怪的判斷。中文是字符粒度這個問題不明顯但如果你用的是子詞分詞器切窗就得對齊到子詞邊界或者干脆在切之前先把文本按標點、換行符切成自然段保證窗口邊界落在語義斷點上。這一點在字幕場景特別重要因為字幕本來就按行切直接拿行當窗口是最省事也最準的做法。3. 訓(xùn)練數(shù)據(jù)從哪來反向去標點與樣本構(gòu)造標點恢復(fù)的數(shù)據(jù)集不用人工從零標注這是它最大的工程優(yōu)勢——任何帶標點的中文文本把標點去掉就是輸入標點本身的位置和類型就是標簽。新聞?wù)Z料、字幕文件、已有的轉(zhuǎn)寫稿全都能這么反向構(gòu)造。難點不在“有沒有數(shù)據(jù)”在“構(gòu)造得干不干凈”。3.1 反向拆解把一句話變成 (字符序列, 標簽序列)核心邏輯是以標點為分隔符切開句子每個標點記錄在它前面那個字符的位置上。這樣得到的標簽序列和字符序列嚴格等長可以直接喂給 token 級分類。SPLIT_RE re.compile(r([。])) def build_sample(punct_text: str): 帶標點句子 - (chars, labels)標點掛在前一個字符上 text normalize(punct_text) pieces SPLIT_RE.split(text) chars, labels [], [] for piece in pieces: if not piece: continue if piece in PUNCT2ID and piece ! : if chars: # 有前一個字符才掛標點 labels[-1] PUNCT2ID[piece] continue for ch in piece: if ch.isspace(): continue chars.append(ch) labels.append(0) return chars, labels # 示例 chars, labels build_sample(今天天氣不錯我們出去走走吧。) print(.join(chars)) # 今天天氣不錯我們出去走走吧 print([ID2PUNCT[t] for t in labels if t]) # [, 。]SPLIT_RE里的捕獲組必須留re.split帶捕獲組時會把分隔符本身也保留在結(jié)果列表里這是后面能識別出“這一段是標點”的前提。if chars:這個判斷不能省——如果句子以標點開頭字幕文件里很常見比如上一行的句號漏到了這一行沒有判斷就會寫到labels[-1]上直接污染前一條樣本。連續(xù)標點要單獨處理?!笆裁础边@種組合按上面的邏輯只有最后一個“”會留在標簽里實際語義上問號更重要。穩(wěn)妥做法是給連續(xù)標點定一個優(yōu)先級問號 嘆號 句號 逗號或者干脆在normalize階段把“”統(tǒng)一成“”。我傾向后者簡單且不會引入新的標簽分布偏移。3.2 類別不均衡O 類占了九成但別急著上 focal loss統(tǒng)計一下就知道標簽分布有多偏一段正常中文里標點大約占字符總數(shù)的 8% 到 12%其中逗號又占標點總數(shù)的六成以上。也就是說5 類標簽里 O 類大概 90%逗號 5% 到 6%句號 2% 到 3%問號和嘆號各不到 1%。典型的類別不均衡。處理方式有三檔按投入從低到高排第一檔分類頭加類別權(quán)重。權(quán)重取頻率的倒數(shù)再做歸一化或者更溫和地取log(總樣本數(shù) / 該類樣本數(shù))。后者不會把稀有類抬得太狠避免模型到處亂插問號。第二檔調(diào)整采樣。切窗口的時候優(yōu)先切在標點附近保證每個窗口里至少有一個句號。這招對長文本特別有效——隨機切窗很容易切出一堆純逗號的窗口模型見不到句號自然學(xué)不好。第三檔換損失函數(shù)。focal loss 對稀有類有效但它會拉低整體的標點召回實際效果不一定比加權(quán)交叉熵好。我的經(jīng)驗是先把前兩檔做扎實focal loss 留到確實卡住的時候再試。標簽典型占比建議權(quán)重log 歸一備注O不加88%92%1.0基準類不放大逗號5%7%1.8最容易和句號混句號2%3%2.6斷句質(zhì)量的核心指標問號0.5%1%3.5權(quán)重別給太高容易滿屏問號嘆號0.3%0.8%3.5同上注意權(quán)重表里的數(shù)值不是拍腦袋定的要在自己的訓(xùn)練集上統(tǒng)計完再算。不同領(lǐng)域差別很大——客服對話的問號比例能到 5%而新聞播報只有 0.5%拿別人的權(quán)重直接套會出事。3.3 截斷、對齊與詞表別在 tokenizer 上翻車如果用預(yù)訓(xùn)練編碼器輸入要過它自己的 tokenizer如果用字符級 BiLSTM自己建一個字符表就行。這里有個反復(fù)踩的坑中文預(yù)訓(xùn)練模型的 tokenizer 會把一個漢字切成一個 token 沒問題但它會把一些標點也當成獨立 token甚至把連續(xù)的標點合并。如果你的標簽是掛在“字符”上的就必須做 token 到字符的映射否則標簽和位置對不上訓(xùn)練 loss 會莫名其妙地不下降。最省事的解法是訓(xùn)練和推理統(tǒng)一用字符級輸入。給預(yù)訓(xùn)練模型的詞表里沒有的字符映射到[UNK]標點全部在預(yù)處理階段剝掉模型看到的永遠只有漢字、字母、數(shù)字。這樣 token 索引和字符索引嚴格一一對應(yīng)中間不用做任何映射。超長樣本的處理也要注意。一條轉(zhuǎn)寫稿可能有幾千字不能在 512 處硬切——硬切會讓切口位置必然被判成句號。正確做法是按已有的標點切分成自然段段落內(nèi)部再按最大長度切切完在尾部加 mask讓損失函數(shù)忽略被截斷的位置。def split_long(chars, labels, max_len500): 按標點優(yōu)先切段段內(nèi)再按長度切返回樣本列表 samples, buf_c, buf_l [], [], [] for ch, lb in zip(chars, labels): buf_c.append(ch) buf_l.append(lb) # 遇到句末標點或長度到上限就收一個樣本 if lb in (2, 3, 4) or len(buf_c) max_len: if len(buf_c) 5: # 太短的碎片丟掉 samples.append((buf_c, buf_l)) buf_c, buf_l [], [] if len(buf_c) 5: samples.append((buf_c, buf_l)) return samples這個函數(shù)里lb in (2, 3, 4)表示遇到句號、問號、嘆號就收樣本這樣切出來的樣本邊界永遠落在語義完整的句子末尾不會出現(xiàn)半句話。len(buf_c) 5是過濾碎片太短的樣本比如兩三個字對訓(xùn)練沒貢獻反而會拉偏 O 類的比例。max_len500要留出特殊 token 的余量實際喂模型時序列長度一般不超過 512。4. PaddlePaddle 落地模型、損失與推理封裝前面幾章解決的是“想清楚”這一章是“跑起來”。整套流程拆成三塊模型定義、帶 mask 的損失、推理封裝。三塊都不復(fù)雜復(fù)雜的是參數(shù)和細節(jié)。4.1 模型定義編碼器加線性頭就這么多import paddle import paddle.nn as nn from paddlenlp.transformers import ErnieModel class PuncTagger(nn.Layer): def __init__(self, pretrainedernie-3.0-base-zh, num_labels5, dropout0.1): super().__init__() self.encoder ErnieModel.from_pretrained(pretrained) hidden self.encoder.config[hidden_size] self.dropout nn.Dropout(dropout) self.classifier nn.Linear(hidden, num_labels) def forward(self, input_ids, token_type_idsNone, attention_maskNone): out self.encoder(input_ids, token_type_idstoken_type_ids) seq out[0] if isinstance(out, tuple) else out # [B, L, H] seq self.dropout(seq) return self.classifier(seq) # [B, L, num_labels]ErnieModel.from_pretrained會把預(yù)訓(xùn)練權(quán)重拉下來第一次跑要聯(lián)網(wǎng)或者提前把權(quán)重放到本地目錄。hidden_size從 config 里讀而不是寫死是為了換底座的時候不用改代碼——base 版本一般是 768tiny 版本小得多。dropout在數(shù)據(jù)量少于十萬條的時候提到 0.2能明顯壓住過擬合。out[0] if isinstance(out, tuple)這個判斷是防御性的。不同版本的預(yù)訓(xùn)練模型封裝返回結(jié)構(gòu)不完全一樣有的返回元組有的返回帶屬性的對象。寫死[0]在某個版本升級之后會突然報錯加個判斷省事。4.2 帶 mask 的損失函數(shù)padding 位置必須被忽略序列標注任務(wù)最容易出錯的地方就是損失計算。一個 batch 里不同樣本長度不同要 padding 到同一長度但 padding 位置是沒有標簽的——如果不加 mask模型會學(xué)著去預(yù)測 padding 的標簽而 padding 全填的是 0O 類等于變相加強了“什么都別插”的傾向。def masked_cross_entropy(logits, labels, mask, weightNone): logits: [B, L, C] labels: [B, L] mask: [B, L] 1 有效 / 0 padding num_labels logits.shape[-1] logits logits.reshape([-1, num_labels]) labels labels.reshape([-1]) mask mask.reshape([-1]).astype(float32) loss nn.functional.cross_entropy( logits, labels, weightweight, reductionnone ) loss loss * mask return loss.sum() / paddle.clip(mask.sum(), min1.0)reductionnone拿到逐位置的損失乘上 mask 之后再求和除以有效位置數(shù)這是標準的 masked 平均寫法。paddle.clip(mask.sum(), min1.0)是防除零——理論上一個 batch 不可能全是 padding但代碼里加一層防護不虧。weight傳的就是 3.2 節(jié)算出來的類別權(quán)重形狀是[num_labels]Paddle 的cross_entropy會自動按標簽索引取權(quán)重。4.3 訓(xùn)練超參從一份能跑的表開始調(diào)參數(shù)第一版取值調(diào)整方向編碼器學(xué)習(xí)率3e-5數(shù)據(jù)少于 5 萬條時降到 2e-5分類頭學(xué)習(xí)率1e-4單獨設(shè) param group別和編碼器共用batch size32長度 512顯存夠就往上加24G 卡能到 48epoch5看驗證集宏 F1連續(xù) 2 輪不漲就停warmup 比例10%避免前幾百步 loss 飆高weight decay0.01只作用在非 bias、非 LayerNorm 參數(shù)max_grad_norm1.0梯度裁剪防止偶發(fā)尖峰dropout0.10.2數(shù)據(jù)越少給越大分層學(xué)習(xí)率這件事值得單獨說一句。預(yù)訓(xùn)練編碼器已經(jīng)有很好的語言表示學(xué)習(xí)率給大會把權(quán)重沖掉分類頭是隨機初始化的學(xué)習(xí)率給小了前幾個 epoch 基本不學(xué)東西。用 Paddle 的param groups分開設(shè)編碼器 3e-5、分類頭 1e-4收斂速度比統(tǒng)一學(xué)習(xí)率快不少。評估口徑也要提前定死。整體準確率在這個任務(wù)上沒有參考價值——全預(yù)測 O 類也有 90% 的準確率。要看的是每個標點類的 P、R、F1尤其是句號的 F1它直接決定斷句質(zhì)量。import numpy as np def per_class_f1(preds, golds, num_labels5, ignore_index0): preds/golds 是拍平后的一維 numpy 數(shù)組 result {} f1_list [] for c in range(num_labels): if c ignore_index: continue p (preds c) g (golds c) tp float(np.sum(p g)) prec tp / max(np.sum(p), 1e-9) rec tp / max(np.sum(g), 1e-9) f1 2 * prec * rec / max(prec rec, 1e-9) result[c] {P: round(prec, 4), R: round(rec, 4), F1: round(f1, 4)} f1_list.append(f1) result[macro_f1_no_O] round(float(np.mean(f1_list)), 4) return resultignore_index0把 O 類排除在平均之外得到的macro_f1_no_O才是真正能反映標點質(zhì)量的指標。max(..., 1e-9)是防除零某個類在驗證集里一個樣本都沒有的時候不會直接崩。4.4 推理封裝標簽回填與后處理規(guī)則模型出的是標簽序列要變成文本還得回填。回填本身一行代碼但后處理規(guī)則不能省。def detag(chars, tags, id2punctID2PUNCT): out [] for i, (ch, t) in enumerate(zip(chars, tags)): out.append(ch) if t ! 0: # 規(guī)則 1同一位置不重復(fù)插標點 if out and out[-1] in 。: continue # 規(guī)則 2行首不插標點 if i 0: continue out.append(id2punct[t]) # 規(guī)則 3結(jié)尾沒有句末標點就補一個句號 if out and out[-1] not in 。: out.append(。) return .join(out)三條規(guī)則分別對應(yīng)三類線上事故連續(xù)標點、行首標點、結(jié)尾缺句號。前兩條是模型在邊界位置判斷失誤的常見表現(xiàn)第三條是業(yè)務(wù)方的硬性要求——字幕和轉(zhuǎn)寫稿的每一段都要以句末標點收尾不然拼接的時候會粘在一起。規(guī)則寫死在代碼里比讓模型去學(xué)靠譜成本也低。提示這三條規(guī)則要按順序執(zhí)行尤其是“連續(xù)標點”的判斷必須在插入之前做插入之后再判斷就得回頭刪字符容易出索引錯誤。5. 標點模型的五個避坑記錄從斷句錯位到顯存溢出這一章全是踩過的坑按“現(xiàn)象 → 原因 → 解決”寫能對上一個就省半天。5.1 模型在幾乎每個字后面都想插標點現(xiàn)象訓(xùn)練 loss 正常下降驗證集 F1 也還行但一上真實轉(zhuǎn)寫稿輸出變成“今天天氣不錯?!边@種鬼樣子。原因訓(xùn)練數(shù)據(jù)里的標點沒清干凈。最常見的是從網(wǎng)頁或者字幕文件抓的語料里面混著半角逗號、英文句號、全角空格、不可見字符。這些字符在normalize時沒被轉(zhuǎn)成標簽體系里的標點而是當成普通字符留在了輸入里。模型于是學(xué)到一條捷徑看到“”這個字符下一個位置大概率該出標點——因為訓(xùn)練集里標點符號總是緊挨著標點標簽。解決在normalize里做徹底的字符白名單過濾。除了漢字、數(shù)字、字母其他字符一律先轉(zhuǎn)全角再判斷是否屬于標點集合不屬于的直接丟棄。跑完預(yù)處理之后抽樣看一百條確認輸入序列里一個標點符號都不剩再開始訓(xùn)練。這一步不做后面調(diào)什么參數(shù)都是白費。5.2 長文本末尾永遠多一個句號現(xiàn)象短句推理完全正常超過 500 字的段落結(jié)尾必然多出一個句號哪怕原文是“……我們明天再討論”這種明顯沒說完的句子。原因切窗時最后一個窗口的尾部沒有后文模型看不到任何“后面還有內(nèi)容”的信號只能按訓(xùn)練數(shù)據(jù)的統(tǒng)計規(guī)律判成句號。訓(xùn)練集里絕大多數(shù)樣本是以句號結(jié)尾的模型把這個先驗學(xué)得很牢。解決兩個動作配合。一是推理時給最后一個窗口的末尾位置加 mask強制該位置輸出 O二是訓(xùn)練時引入“不完整句”樣本——把長句從中間截斷截斷處標 O讓模型見過“話說一半”的形態(tài)。第二招效果更持久因為它是從數(shù)據(jù)層面改先驗不是靠推理時的補丁。5.3 驗證集指標漂亮上線后人工校對怨聲載道現(xiàn)象驗證集句號 F1 到 0.85上線之后業(yè)務(wù)方反饋“斷句亂七八糟”。原因驗證集和訓(xùn)練集同源。都是新聞?wù)Z料句式規(guī)整、書面化程度高線上是口語轉(zhuǎn)寫有大量語氣詞、重復(fù)、自我糾正分布差得遠。模型在書面語上學(xué)到的“逗號之后大概率接短句”在口語里完全不成立。解決驗證集必須跨域。從線上真實轉(zhuǎn)寫稿里抽五百到一千條人工標一遍單獨做一份測試集所有模型版本都在這份集上比。這份集不用大但要穩(wěn)——一旦定了就別改改了前后版本就沒法比。我一般會在項目開始第一周就把這份集建好后面所有決策都看它。5.4 加了 CRF 之后訓(xùn)練慢到無法接受現(xiàn)象線性頭版本一個 epoch 二十分鐘加 CRF 之后變成一小時以上而且 batch size 稍微開大就 OOM。原因CRF 的前向算法要對每個位置、每對標簽做一次遞推時間復(fù)雜度是 O(L × C2)。512 長度、5 標簽、32 batch 的情況下這個計算量比線性頭大一個數(shù)量級而且它沒法像矩陣乘那樣被 GPU 高效并行。解決三條路選一條。第一降 batch size 到 8 或 16用梯度累積補回等效 batch第二縮短窗口到 256長文本多切幾段第三直接放棄 CRF用規(guī)則后處理兜住非法序列——實際上非法序列占比很低用 4.4 節(jié)那三條規(guī)則就能壓到 1% 以下。我現(xiàn)在的默認選擇是第三條簡單、快、夠用。5.5 服務(wù)化之后顯存一路漲到 OOM現(xiàn)象單條推理壓測沒問題并發(fā)上來之后顯存緩慢上漲跑幾個小時就 OOM 重啟。原因推理時序列長度是動態(tài)的每個請求的 shape 都不一樣Paddle 的顯存分配器會為每種新 shape 緩存一塊顯存。請求長度分布很散的時候緩存塊越來越多最后撐爆。解決把推理的輸入 shape 固定下來。所有請求先 padding 到固定的幾檔長度比如 128、256、512同一個 batch 內(nèi)長度對齊不同檔位分別走不同的預(yù)測器實例。這樣顯存占用是常量不會隨請求變化。這一招在任何動態(tài) shape 的推理服務(wù)里都適用不只是標點模型。6. 接回時間戳標點模型的最后一段驗證標點模型單獨看 F1 只是半程真正決定它能不能用的是接回 ASR 結(jié)果之后的表現(xiàn)。語音識別一般會返回每個字的起止時間插標點之后這個時間軸要重新對齊——字幕打軸、音頻切片、TTS 重合成全靠這條時間軸。這一步做不好前面訓(xùn)得再準也是白搭。6.1 別只看整體指標按類看召回按類拆開看問題會立刻暴露。下面是我常用的驗證口徑跑完一輪就能判斷模型能不能上檢查項合格線不達標說明什么句號 F1≥ 0.80斷句粒度不對長句切不開逗號 F1≥ 0.75從句邊界識別弱多半是窗口太短問號召回≥ 0.70疑問語氣學(xué)不到需要補口語樣本非法序列占比≤ 1%后處理規(guī)則沒生效或 CRF 缺失平均每百字標點數(shù)814明顯偏離說明模型在亂插或不敢插最后一行那個“每百字標點數(shù)”是個很樸素的監(jiān)控指標但異常靈敏。正常中文的標點密度就在這個區(qū)間模型輸出密度突然翻倍或者腰斬基本可以確定是數(shù)據(jù)分布漂了或者推理鏈路出了問題。6.2 標點位置與停頓對齊一個能抓出大量錯誤的檢查ASR 的字級時間戳里藏著停頓信息。人說話時的停頓和書面標點高度相關(guān)——句號位置通常對應(yīng) 300 毫秒以上的靜音逗號對應(yīng) 150 到 300 毫秒詞內(nèi)不會有長停頓。把模型的標點位置和停頓分布對一下不一致的地方就是可疑點。具體做法對每條轉(zhuǎn)寫稿統(tǒng)計“模型判為句號的位置”和“實際停頓超過 300 毫秒的位置”的交并比。交并比低于 0.5 就人工看一眼通常會發(fā)現(xiàn)問題——要么模型在沒停頓的地方硬斷句多半是書面語樣本訓(xùn)多了要么在有明顯停頓的地方?jīng)]斷多半是窗口切在了句子中間。def check_punc_pause_alignment(chars, tags, char_times, pause_thr300): char_times: [(start_ms, end_ms), ...]與 chars 等長 返回模型標點位置與停頓位置的對齊率 model_breaks {i for i, t in enumerate(tags) if t in (1, 2, 3, 4)} pause_breaks set() for i in range(len(chars) - 1): gap char_times[i 1][0] - char_times[i][1] if gap pause_thr: pause_breaks.add(i) if not model_breaks and not pause_breaks: return 1.0 inter len(model_breaks pause_breaks) union len(model_breaks | pause_breaks) return round(inter / max(union, 1), 4)pause_thr按場景調(diào)新聞播報語速快250 毫秒就夠訪談類語速慢、停頓多得到 400 毫秒才不會誤報。char_times要和chars嚴格等長中間不能有空格或者被過濾的字符否則索引全錯。這個檢查不用跑全量抽兩三百條就能看出趨勢。6.3 字幕場景的額外一輪斷行重排如果下游是字幕標點插完之后還得重新斷行。字幕的硬約束是單行不超過 16 到 20 個漢字而標點插入會改變每行的字符數(shù)所以斷行必須在標點之后做。做法很簡單先按標點把文本切成句子再按長度把句子切行切行時優(yōu)先在逗號處斷實在切不開才在字中間斷且行首行尾不留標點。這一步最容易翻車的地方是省略號和破折號——它們在字幕里占兩個字符寬度按字符數(shù)算長度會算錯。我的處理方式是在預(yù)處理階段就把這兩個符號統(tǒng)一成句號或者逗號字幕場景本來也不該出現(xiàn)太長的省略號。最后一次線上事故讓我養(yǎng)成了一個習(xí)慣任何標點模型版本上線前必須拿同一批三百條真實轉(zhuǎn)寫稿跑一遍完整鏈路——去標點、模型推理、標簽回填、時間戳對齊、字幕斷行——然后把前后兩版的輸出逐條 diff。只看模型指標會漏掉后處理引入的問題而這類問題占我遇到過的線上故障的一半以上。后來我把這套 diff 做成了固定流程每次訓(xùn)練出新權(quán)重都強制走一遍心里才踏實。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美在线 亚洲| 天美av在线| 九九视频黄色片| 女人的久久久| 亚洲天堂男人天堂网| 久久性爱网站| 96精品一区| 视频黄色国产一级| 精品一二三区女同| 伦伦成年午夜免费视频| 校园春色宗合网| 欧美有码亚洲中文字幕一区二区三区四区| 性欧美| 香蕉一区二区三区在线视频| 影音先锋乱| 国产欧美日本亚洲精品| 强奸乱伦亚洲第一页| 伊人丁香五月婷婷| 婷婷五月av| 久久超碰久| 日韩无码嘿咻黑热久| 欧美人人曰人人操人人射射| 久热影视| 91丝袜熟女| 中字幕人妻一区二区三区| 青青草原狼av| 亚洲图片色图欧美另类| 亚洲综合69| 亚洲国产精品成人无码久久久| 九九九九九九九九九九精品视频| 亚洲精美粉嫩嫩泬在线观看 | 少妇无码av专区线| 久久精品女同亚洲女同13| 久久99人妖视频国产| 国产97在线播放| 自拍偷拍2025在线观看 | 九X超碰| 国产精品小视频一区二区三区| 亚洲自拍偷拍视频在线| 97就爱干| 麻豆天美电影一区二区| 精品国模无码| 久久大香蕉97| 极品粉嫩一区二区| 亚洲AV无码国产成人| 97ai亚洲| 91国产大片| 黄在线| 三四中文字幕| 人人爽夜夜操| 国产精品蜜乳AV| 欧美亚洲今日在线| 久久久111| 婷婷伊人綜合中文字幕| 亚洲国产丝袜熟女av| 久久有碼| 九九色影院| 亚洲网站一区二区在线| 天天久久久久久| 精品四五区| 午夜福利av电影在线| 78m成人视线| 欧美天天综合站| 日本123区操B视频| 啪一啪免费视频| 亚洲日韩美女丝袜美腿人妻视频| 亚洲有码第一页| 欧美精品1区2区3区| 免费成人自拍视频在线| 91精品少妇搡搡搡| 五月天AV资源| 日比av无码| 九九综合久久中文字幕| 色臀av| 九七毛片九九毛片 | 国产操偷| 国产精品久久久无码aV去| 天天综合网亚洲综合网| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 欧美夜夜狠| 国产欧美成人第一页在线观看| 亚洲女优有码无码高清| 97超碰精品成| 欧美色图私拍91| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 熟妇最新先锋一二三区| 一二三区在线| 久久久一区二区三区四曲免费听 | 久久精品人妻一区| 男人的天堂1024| 亚洲欧洲第二视频在线观看色图| 四虎国产成人精品免费一女五男| 美女超碰978| 婷婷AV一区二区三区| 1级黄色夫妻对换性交免费看| 久草这里只有精品| 999久久芭蕾| 9精品久久| 天天日日本| 欧美人妻精品| 18精品一区| 99热超碰在线| 青青草天天亲夜夜操网| hd成人一区二区在线| 日韩无码精品综合久久| 不卡av免费在线网址| 亚洲 在线| 97 国产精品| 91欧美丝袜| 亚洲综合69| 亚洲诱惑天堂 | 欧美三级免费伊人| 色诱avtt| 中文字幕人妻色偷偷久久皮 | 九九在线精品| 天天爽天天| 99在线免费视频| 亚洲天天操| 亚洲图片欧美偷拍| 1769成人国产精品视频| 中文字幕第9页萱萱影音先锋| 久久久久久97| 少妇xx精品| 玖玖玖玖精品国产剧情| 九九黄色网| 先锋精品av色鲁| 亚洲激情网一二三四区| 性欧美另类高清| 色妹子A V| 亚洲综合影片| 狠狠躁日日躁夜夜躁A| 91色伦| 97久久久网站| 一个国产在线综合网站| www国产天美久久久| av国产无码| 欧美亚洲日韩人妻在线观看| 99re9这里只有精品| 欧美 亚洲 大香| 亚洲色图 综合| 欧美另类天堂| 亲子敌伦对白在线播放| 变态乱伦伪娘灌肠一区二区| 亚洲精品无码久久AV| 97久久视频| 久久国产精品91| 1204金沙人妻懂旧版免费| 久久久久久久9最新免费视频观看| 超碰欧美在线欧美| 3PAV乱伦视频| 丁香五月影院| 极品少妇99| 五十路人妻在线| 亚洲欧美黄| 高潮的A片激情扒开一区| 国产无马av| 黄色污污污污污污网站| 97人人夜| 亚卅熟女乱色| 啊灬快c我灬啊灬用力灬啊灬-国产精品性做久久久久久-成人AV | 欧美偷偷网| 夜夜精品视频| 日韩人妻中文视频| 伊色综合天堂色97| 亚洲日本大香蕉1| 亚洲精品久久久久毛片A片拉屎 | 色欲天天婬色婬香WWW夜色| 99精品久久久久久久婷婷| 亚洲欧美精品91| 四虎国产成人精品免费一女五男| 熟女少妇视频| 国产高清MV操逼视频| 天天狠| 91激情综合| 中文字幕三四区| 综合激情婷婷| 尤物视频偷拍免费| 亚洲AV噜噜狠狠网址蜜桃动漫| 天天爽天天| 青青草影视蜜久久| 无色无码| 色超碰综合| 亚洲精品久久久久毛片A片拉屎| 3p国产欧美99热| 鸥美插入视频| 岛国在线免费视频| 青青青国产| 成年人黄色| 激情专区综合| 噜噜噜亚洲精| 欧美疯狂做爰xxxx| 99热国产| 激情五月天色色| 夜夜做夜夜爽精品视频| 探花一区在线| 91 综合网| 色婷婷综合网| 国产sv美女内射| 九九色影院| 日韩中文9| 亚欧日韩成人| 内射黑丝袜| 91影库| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 欧美亚洲今日在线| 花野真衣| 国产日韩精品人妻久久久久色欲网站| 九九夜精品九九在线| 亚洲精品国产日韩无码AV永久免| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 丰满人妻一区二区三区免费 | 99热精品国产| 岛国大片在线观看网站入口| 99在线啪| 久久精品国产免费观看99| 青青草在线视频美女| 91动漫操逼视频| 日韩中文字幕精品一二三事国产精品| 狠狠干婷婷| 神马麻豆福利院| 97五月天| 黄色片一区二区三区四区五区| 成人日本精品九区| 91小视频| 色欧洲| 啊啊啊好湿久久| 国产日韩欧美中文在线播放| 久久久久久九九九九九九| 岛园激情| 九九AV| 久久中文色图| 日本欧美国内在线| 天天视频黄| 日本免费人成视频播放120秒| 另类视频在线| 麻豆黄色五月天| 国产一区在线观看无码AV| 嗯嗯啊啊的视频| 狠狠色丁香| 亚洲一区中文精品| 麻豆色99999| 亚洲有码 视频一区| TS人妖另类精品视频系列| 2017大香蕉国产精品久久| 色小视频蜜乳| 伊人热综合| 久9久精品视频| 91狠狠综合久久| 日韩三级在线观看网站| 亚洲欧美啪啪| 成人欧美日超碰| 日韩精品国产精品五码一区二区| 欧美日韩黄片精品在线| 亚洲丝袜少妇在线| 国产欧美成人精品| 97硬碰| 超碰在线成人| 风流老熟女一区二区三区l| 老熟女综合网 | 欧亚不卡| 久久久精品国产亚洲伊人| 国产性爱在线视频一区二区| 夜夜性| 中文久久96| 国产欧美一区二区| 精品国产片亚洲一区| 国产精品点击进入在线影院高清| 国产精品大屁股999| 中文字幕55555| 婷婷久久五月| 日本熟妇人妻中出视频| 伊人久久大香线蕉无码| 尤物网站91| 九九热在线视频| 97在线观看播放视频| 亚洲人天堂| 91欧美少妇| 中文字幕97色| 天天享受天天看| 男人的天堂亚洲| 亚洲精品人妻吞精av| 亚欧毛片基地国产毛片基地| 国产亚洲深夜激情| 在线视频免费观看午夜| 欧美啪啪色吧在线| 日韩欧美麻豆| 躁躁躁日日躁2020| 国产精选视频| 蜜臀久久99精品久久久久久成人小说| 草草草视频| 91超碰在线观看| 久久9精品网站| 欧美91网站| 大香蕉在线视频重口味毛片在线| 人妻一区久久二区三区色播| 久草婷婷| 不卡一区视频| 熟妇国产免费一区| 久9综合在线| 台湾佬中文娱乐网久久久久久久久久com | 国产av又色又爽又黄| 人人操人人操人人人操| 国产性久久久| 白嫩国模丰满一二三区| 强奸乱伦αv片| 色伊人91| 成片免费观看视频大全| 女人天堂av在线播放| 9 1果冻精品视频| 男人的天堂99| 亚洲精品九九九| 国产高清亚洲日韩一区| 伊人五月天婷婷| 精品日韩中文在线| 操婷婷逼| 小草三级久久观看| 九九成人精品| 亚洲色图自拍| 婷婷10月天青娱乐| 69国产对白刺激| 韩国一级婬片A片无码天美| 大黄片做爱的大的| 超碰成人国产| 奸色色 男人天堂 天天射| 嫩草 人人网精品| 天天操美美| 婷婷激情四射| 男人女人18禁片免费看网站| 欧美性爱伊人| 中文高清一区二区的| 熟妇最新先锋一二三区| 欧美激情精品久久久| 国产中文字幕在线| 精品国产Av无码久久久伦古装| 五十路六十路七十路熟婆| 日本色色色色色视频| 国产精品午夜高潮呻吟久久av| 久久大香蕉| 九九九久千久久激情蜜桃在线看 | 人妻熟女av国产网站| 欧美躁死她一区二区| 国产一级久久久| 超碰一区二区| 国产91影院| 国产成人无码高清| 97超碰无码网| 九久精品| 人妻乱仑一区二区三区| 熟妇人妻一区二区三区| 精人妻一区二区三区| 成人26uuu| 亚洲日本韩国在线| 女人的天堂大香蕉网| 久肏视频字幕| 蜜乳Av成人片网站| 91在线欧色| 操逼无毒无码免费视频| 强奸乱伦免费网站| 18精品一区| 九九热精品视频六| 国产精品一区二区三区,亚洲综合 性开放中文AV高清无码免费看 | 超碰在线欧美性爱激情| 婷婷激情四射| 国内成人圈中文字幕无码视频| av亚欧| 色婷视频| 久久亚洲日韩国产欧| 熟女露脸激情自拍视频| 视频分类 国内精品| 91亚洲黄色网| 超碰诱惑| 操婢日韩| 国产农村妇女精品一二区| 久草色在线观看| 变态乱伦伪娘灌肠一区二区| 午夜久久一区二区无码中出| 欧美综合色图网| 无码乱人伦中文视频| 97久久超碰国产网站| 大香久久| 亚洲一区中文字幕一区| 婷婷精品国产欧美精品亚洲人人爽| 日本孕妇一区二区视频操逼免费看| 免费一级视频特黄色大片| 999 久久久| 青青免费在线视频一区| 成 人 影视 一区 二区 三区 四区| 天天天干977| 天天日天天干天天整| 韩国国产欧美情侣视频在线| 又粗又长又爽在线观看| 美女主播色欲91抠b在线播放| 久久久少妇| 精品四五区| 欧美日本成人一区二区| 蜜臀精品1区2区| 久久久亚洲| 中文字幕国产精品1区| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 开心六月色| 91大神精品长腿在线观看网站| 久草精品热视| 黄色大片免费在线| 色 亚洲 91| 岛国激情视频软件| 久久久久久久久国产| 亚洲第2页| 很很很很操| 操逼操网| 传媒在线观看一区二区三区| 九九热精品| 亚洲欧美999| 色女99一级片在线观看| 99老司机精品视频在线观看| 亚欧美色图| 色九九综合| 好吊色综合| 黄色二级片网站| 欧美1区二区三区公司| 强奸熟女一区二区三区 | 无码操逼视频一下| 欧美第五页| 青青操青娱乐| 少妇人妻太紧太深av| 99精品丰满人妻无码| 亚洲综合婷婷| 牛牛AV人人夜夜澡人人爽| 中文字幕女同在线| 国产熟女少妇一区| 国产精品69人妻无码久久久| 国产伊人精品在线| 嗯嗯啊啊亚欧精品| 激情综合网五月婷婷| 亚洲精品一区二区日本| 亚洲s色图| 少妇超碰在线| 91精品国产日韩欧美综合| 欧美天天影院| 精品亚洲俞拍视频一区| 99人人干| av最新免费中文字幕| 欧美色综合网| 嗯嗯,好大,好爽,好骚| 日韩国产中文字幕| 日韩一区二区精彩视频| 风韵犹存大大大大香蕉 | 五月天激情影院| 日韩福利综合一区| 久久久极品| 99黄页网站| 久久,精品一二三| 亚洲第一黄色av网站| 天天综合中文字幕 91| 久久草视频污视频| 国产白嫩精品久久| 五月天伊人| 一区二区影院| 伦激情人妻另类人妻| 91熟女网| …中文字幕亚洲乱,97人妻无码费视…| 欧美色66| 欧色综合| 中文字暮97| 久久久久9| 国产精品久久久无码AV网站| 日本性爱欧美性爱| 最新无码国产| 天天看天天干| 97香蕉网| 蜜臀久久99精品久久久久久酒店 | 绑缚麻绳人妻寝取完整版| 久久超碰爱| 最近的最新的中文字幕视频| ..日韩av毛片精品久久久| 十八禁啪啪视频| 五十路三区在线| 狠狠色五月亚洲91| 亚洲狠狠入| 久久 久久国内精品亚洲 | 中文字幕在线日亚州9| 亚洲操逼无码| 国产AV激情无码久久无码| 视频一区二区三区精品| 91在线免费精品视频| 欧美亚洲手机在线| 欧美 亚洲 第一页 | 99国内熟女露脸视频| 青青草国产盗摄一二三区| 久久免费看高潮毛片韩国| 精品国产自在在线99| 欧美日韩高潮喷水91| 天天爽夜夜操| 亚洲AV小说| 亚州精人品大香蕉| 97干色天堂| 91欧美美女日韩国产婷婷| 午夜福利区| 精品然女一区二区| 欧美97视频| 天天插天天操天天摸天天射天天看| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 91无码中出人妻视频| 很很干很很操| 精爱久久| 91国内外在线| 秘书高跟黑色丝袜国产91在线| 精品在线78| 久久久久久久9| 99无码狠狠久久| 自拍偷拍国产欧美日韩韩| 国产在线激情视频| 国产视频一区二区免费| 蜜桃视频精品一区二区| 91国产大片| 操逼短片| 啊啊啊啊操死我| 欧美不卡在线一区二区| 中国东北熟女老太婆内谢| 熟女被操视频网址| 日本熟妇一区二区三区| 欧美午夜视频| 极品肉射| 天天操夜夜操狠很操| 欧美成人一区二区三区在线播放| 五月婷婷激情网| 亚洲综合有玛| 亚洲,欧美,综合网| 精品人妻一二三| 日本欧美一区二区三区免费| 天天摸,夜夜摸| 欧美美女在线高潮999| 爱妻综合网| 夜夜欢天天干| 精品一区二区成人| 熟女日韩| 久草色在线观看| 在线播放成人高清免费视频| 一区在线观看中文字幕| yazhousetuoumei| 春色综合免费| 强奸乱伦AV网址| 五月婷婷色色| 少妇精品久久久| 麻豆天美传媒毛片| 超碰99热| 99热日| 强奸乱伦 亚洲一区| 蜜乳av首页| 久久久久网站-538在线视频-欧美永久乱码| 亚洲性高潮| 亚洲第一黄色av网站| 熟妇最新先锋一二三区| 国语精品对白| 国产AV高清AV无码| AV色五月天| 久久无码一区二区二三区性色| 任你草| 九九九九九九九九九九九蜜桃| 精品人妻免费观看| 91在线页| 国产精品乱码久久久| 日本在线播放不卡一区| 都市激情人妻一区二区青青操视频| 亚洲一区二区在线观看91| 午夜丁香| 欧美图片校园春色| 美女被艹尤物视频| 国产精品高朝久久久久久久| 国产一级操B视频| 九草在线大香蕉| 超清福利精品视频在线| 色婷婷综合久久中文字幕雪峰| 啊啊啊爽爽| 亚洲成人在线播放| 欧洲精品一级二级精品综合视频综合| 婷婷五月天丁香花| 久久久91| 人妻夜夜爽天天爽麻豆三区网站 | 亚洲欧美日韩精品久| 少妇内射视频| 国产18精品亚洲精品| 国产少妇内射| 99亚洲天堂| 综合亚洲欧美| 久久久草成人网站久久久草成人久久久草久久久| 久久久月天| 婷婷五月天激情网| 亚洲男人的天堂va亚洲男人社| 可以看的av| 久久久久久久久久9| 极品色社| 欧美日韩*字幕一区| 激情综合av| 永久免费发布性爱网| 加勒比性爱成人在线| 日韩性爱再线视频| 天天综合网~91综合网| 亚洲1区2区三区高清中文字幕| 超碰久久精品| 欧美成人一区二区三区在线播放| 992视频一区| 亚洲精品色| 免费精品国偷自产在线在线 | 99热这里只有精| 狠狠操狠狠操操| 歐美一級亂黃99在綫精品| 精品人妻一二三| 亚州色图欧美| 偷拍自拍在线视频观看| 国产又粗又长又大的视频| 99热在线播放| 久久久九九| 啊啊啊好爽快点啊啊啊嗯嗯| 欧美天天| 视频在线中文字幕| 狠狠久久亚洲欧美专区| 性久久久| 国内一区二区三区| 天天干天天拍| 亚川综合视频| 久久久精品九| 亚洲大色堂| 国产1769在线| www久久国产精品| 91高潮喷水美女| 黑人精品成人一区二区三区| 亚洲欧美不卡线| 欧美性色综合网| 日本黄 R色 成 人网站| 成人国产视频在线观看| 9 1超碰九色| 1956日韩精品| 国产在线精品偷| 成年无码动漫av片无尽在线| 久久99精品九九久久久婷婷| 国产人妻精品久久久一区二区三区| 大屁股人妻女教师撅着屁股| 国产精品69久久久久孕妇欧美| 中文字幕艹艹| 永久免费发布性爱网| 欧美97爱| 麻豆天天躁天天揉揉AV| 色91综合网| 屌逼传媒| 久久九九国产精品| 免费成人在线观看91| julia国产在线 | 蜜臀精品1区2区| 热99这里只有精品| 国产午夜精品理论片a大结局| 玖玖资源视频一区二区三区| 亚洲限制级在线| 色五月婷婷五月天| 国产乱人伦AVA麻豆软件.| 人人弄人人摸| 91五十路| 91热热色| 亚洲天天精品| 欧美超碰9798| 蜜臀国产AV中文字幕| 夜色AV无码手机在线影院| 国产丝袜美女在线一区| 九九九九精| 久久久啊啊啊| 99蜜月精品久久| 青青三级视频| 第45页一区二区| 91美女丝袜诱惑视频| 日韩一性一交一A片俄罗斯 | 久久久久久无码人妻中文字幕| 一区二区视频你懂的| 欧美大香蕉卡久久| 能看的AV| 97人肏| www.婷婷| 夜夜操二区| 99九九精品| 久久久久婷婷| 日本三级日本三级99| 男女激情黄色网址| 草草网站影院白丝内射| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 激情干在线| 老熟女乱子伦中文字幕一区二区| 中文人妻av高清一区| 一起草三级AV电影在线观看| 国产偷拍网站| 富女玩鸭子一级毛片| 精品久| 国产91福利小视频在线观看| 精品性爱| 四虎影视永久在线免费| 密乳AV免费观看| 日韩欧美中文| 久久久久久AV无码免费网站| 亚洲综合在线视频| 婷婷久久综合| 熟妇人妻一区二区三区| 午夜呻吟欧美| 国产亚洲精品美女| 日韩不卡一二三四| 97在线观看免费| 日本精品一区二区不卡| 91熟女在线| 黄色香蕉视频网站一区| 久综合国内精品自在自线| 国产精品久久久久无码A√| 高清国产成人无码| 无码日韩网站| 中文字幕高清20页视频 | 国产一级黄色片在线观看| 午夜色婷婷| 五月天色图影视| 狠狠操一区二区| 久久精品视频一区三区小泽玛利亚| 久热网| 骚女天天综合网| 精品无码一区二区三区| 大香蕉强奸乱伦| 99精品成人免费看| 国产精品老熟女一区二区| 日本丝袜美腿人妻九九| 美女骚尻视频| 99热在线观看| 久久夜黄色无码A级大片| 丁香五月激情综合国产| 久久国产视频专区一二三| 麻豆一区二区三区精品| 精品少妇99| 人人操人人插 - 百度 - 百度| 欧美黄片欧美黄片xxx| 天天爽夜夜操| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 日韩色| 亚洲 日本 一 二 三| 91天天爱| 久久精品—区二区三区内射| 亚洲精品啪视频| 天天添天天干电影| 欧美日日人人天天| 日韩激情电影中文字幕| 97在线精品| 9 7超碰在线免费观看| 国产9熟妇视频网站| 人妻性爱一区二区| 五月丁香网站| 老女人老91妇女老热女| av网站在线看| 午夜免费福利视频一区| 都市激情人妻一区二区青青操视频| 麻豆色99999| ji熟女.com| 亚洲激情网一二三四区| 青草视频人妻在线观看| 美女被啪到深处抽搐视频| 能直接看AV的网站| 极品少妇99| 97超碰色色| 99精品在线| 色九九综合AV| www.91逼逼.com| AV天堂电影网| 亚洲伊人成综合成人网| 91九色首页| 精品少妇人妻一区二区三区| 強姦亂倫a| 嗯嗯啊啊用力视频免费| 殴美性天天| 欧美久热| 91精品婷婷国产综合久久| 欧美亚洲尤物久久| 91久久18禁| 内射小黄片| 97欧美精品综合| 国产综合日韩伦理| 亚洲不卡AV在线| 69一区二区三区| 成人国产精品三级A片| 亚洲AV色图一区| 久久久久免费看少妇A片特黄| 狠狠干精品一二三四五六2022| 福利视频合集| 超碰97资源中文字幕| 日本精品999| 亚洲AV乱码专区国产噜噜亚洲| 酒色综合网| 2001天天操| 999综合网| 亚洲不卡av在线| 青春草莓视频在线观看网址| 啊嗯好大视频在线观看| 美女久久久| 中文久久一区| 国产日韩无码一区二区三区久久区| 99re不伦| 成 人片 黄色大片| 嗯~啊~快点 死我视频免费看网站| 伊人丁香五月婷婷| 五月天欧美色图| 亚洲精品aa久久伊人| 小电影欧美91| 69人妻精品一区二区绯色| 超碰78| 人妻社区男人天堂| 色官网色综合| 青青草原伊人网| 六月丁丁香| 免费中文综合精品| 亚州色国| 丁香五月影院| 亚洲色狠| 中国黄色特级精品一区二区三区片| 国产亚洲日韩在线三区黑人| 九九这里只有精品| 五月天婷婷综合| 亚洲另类欧美精品| 噜噜噜亚洲精品| 日本色色网| 狠狠操狠狠操操| 欲女人妻性色av| 色噜噜婷婷| 国产亚洲深夜激情| 9997se| 丰满少妇一区二区三区专区| 啊啊啊啊啊好多水| 亚洲精品 欧美精品| 五月天啪啪| 性videos欧美熟妇hdx| 综合熟妇一区二区三区| 国产女人高潮视频| 高清无码 国产精品| 日本三级精品| 日本人妻天堂网站在线播放| 亚洲综合精品国产一区| 久操视频在线| 操九九九九九九| 亚洲中文日韩精品| 少妇久久久| 色偷偷2020免费视频播放| 欧美九9 9 9| 久久精品国产99精品亚洲蜜...| 精品国产99999| 蜜桃视频一区二区三区在线观看| 婷婷五月激情综合| 91精品无码久久久久久久| 成人资源中文字幕在线观看| 久无码| 久久久成人国产精品无码| 污色区网站| 91久久婷婷| 中文字幕78| 久久发布国产伦子伦精品| 高清无码 国产精品| 成人蜜乳小视频网站| 欧美九九九| 蜜桃色院一区久久| 手机不卡视频不卡在线一二三区| aⅴ日韩成人电影av在线免费看av大全| 操国产逼| 亚洲熟女综合一区二区| 精久久久| 日韩精品99久久久久久中文字幕 | 97国产成人精品免费视频| 亚洲成人黄色在线观看| 青青草中文字幕| 欧美九一精品久久久熟妇| 啊啊啊啊啊好大好舒服想要| 欧美亚洲丝袜人妻制服99| 99久在线精品99re8| 艹精品| 国产一级特黄大片处女| 超碰免费人妻人人| 亚洲另类春色| 亚洲欧美不卡线| 婷婷人妻激情| 欧美色97| 亚洲天堂少妇| 欧美另类天堂| 黑丝日韩av丝袜av| 91热情品| 色香在线| 精品176精品2| 青青草乱入乱欲视频在线观看| 青青草九九九九九| 校园春色之综合网| 五月天激情网图片| 97天天摸天天碰| 丁香婷婷九月| 搡老熟女老女人老熟妇免费视频| 丁香五月综合| av绯色| 丰满高潮18xxxx| 天天综合网日韩7799| 天天摸夜夜添无码小视频| 91人妻人人澡人人爽人人精品| 国产拍偷精品网站| 亚洲AV无码乱码| 情趣丝袜无码操逼视频| 精品成人无码| 欧美午夜视频免费观看| 人人 操人人 操人人| 国产午夜福利专区综合| 伊人精品久久网站| 96免费视频在线| 野狼激情网| 夜夜嗨AV一区天天| 亚熟在线| 97免费视频在线观看视频| 久久久久9| 91天天综合在线观看| 91日韩网站| 97精| 国产一区二区成人av在线播放| se01国产在线视频| 韩国三级一线观看久| 免费一级a毛片久久久久久鸭绿欲| 色嗨嗨在线| 熟女突然公开看18禁影片| 婷婷五月天成人| 九九毛片这里只有精品| 日日橹狠狠爱欧美超碰| 综合色拍| 黑人性欧美| 在线αⅴ| 国产区91柔拿会所技师| 91超级碰碰碰| 丝袜熟女2P| 天天射夜夜| 日韩在线电影| 欧美性爱第一页久久| 欧美日韩性爱操大逼| 久久免费精彩视频| 四虎国产成人精品免费一女五男| 超碰97亚洲区| 久久久少妇| 国产成人精品日本视频| 成人情色一区二区| 超碰天天操| 就去色综合| 国产一区二区三区白丝| 天天日天天色| 欧美精品91| 密臀在线视频| 国产在线综合福利网站| 国内毛片免费h片在线| 天天插天天操| 大香蕉综合久久| 欧美日韩资源| 免费亚洲黄色视频在线观看 | 中文字幕高清精品一区| 中文字幕免费在线观看| 亚洲色人| 少妇滛荡视频| 97资源免费视频| 中文字幕一区二区三区人妻不卡 | 啪啪啪亚欧美视频| 美中日韩无码| 精品少妇后入一区二区三区四区人妻巨乳| 久久骚少妇| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | se01国产在线视频| 丰满欧美少妇| 日本久久久久久久久久| .精品人妻一区二区三| 婷婷五月天福利| 精品一二三区四视频| 国产拍偷精品网站| 五月天社区| Aa东京男人的天堂| 无码国产Av| 久热色情精品| 亚洲欧美另类小说| 丁香六月激情| 天天干1区2区在线| 伊人久久大香线蕉无码| 中文字幕成人| 青青草在线视频播放器| 亚欧无码在线| 色天使大香蕉| 免费中文综合精品| 日本人体九九九九九九| 素人伊尹大香蕉免费下载视频| 日本视频一区二区三区| 性欧美天天| 少妇一级无码精品| www.操| 欧美超碰在线| 超碰97爽| 超碰97COm中文| www.色婷婷| 精品夜夜澡人妻无码AV| 9精品在线| 亚洲性感丝袜诱惑在线观看| 久久久久96| gogogo免费高清看中国国语 | 亚洲高清91| 黑人粗大V S日韩女优视频| 亚洲国产精品有声| 93人人操人人| 偷拍2020| 强歼乱伦资源网| 都市激情人妻一区二区青青操视频| 妇女性内射冈站HDWWWCOM| 射丝袜高跟鞋99| 乱伦一二三区| 欧美熟妇人体| 中国一级操逼视频| 一本色道久久综合熟妇| 亚洲欧洲国产综合av| 日本精品加勒比海一区| 熟女突然公开看18禁影片| 亚洲女优有码无码高清| 欧美 亚洲精品首页| 色色色综合网| 天天噜| 人人爽天天爽| 国产Av超碰| 欧美玖玖爱免费玖玖| 深田咏美亚洲精品福利社| 久久久久久免费电影| a久久| 丰满人妻aA一区二区三区| 久久综合精品一区二区三区| 自怕偷自怕亚洲精品| 老女人碰碰在线碰碰视频| 人妻乱仑一区二区三区| 99re黄 | 日韩有码中文字幕女同性恋| 亚洲18禁| 麻花豆传媒剧国产MV出差| 久久久久久九九九九九九| 五月丁香狠狠爱| 在线不欧美| 色综和网| 五月综合色| 女欧美一区二三区| 天天综合网合集91| 99婷婷| 八戒无码国产午夜福利| 欧美色图自拍| 夜夜高潮夜夜爽高清视频一| 国产女人高潮嗷嗷嗷叫小说 | 色婷婷在线视频精品导航| 久久社区一区二区三区| 97日韩欧美亚洲| 久久久久久中文字幕中文字幕最新| 欧美性爱免费短视频| 色欲久久99精品久久| 亚洲欧美天堂在线| 亚洲欧洲国产综合av| 国产剧情在线| 亚洲色欲一区二区三区| 日韩乱伦影音先锋| 2020中文字幕在线观看| 亚洲日韩少妇一道本视频| 一区二区三区在线资源| 日日操丁香五月天| 亚洲国产综合图区中文字幕| 亚洲天堂女优在线| 亚洲国产欧美中文永久| 国产精品白丝在线播放 | 久久久久久9999| 在线一道啪| 亚洲欧美另类图片| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 亚洲色图欧美色18直播在线| 精品96久久| 亚洲精品久久久久久久久豆丁网| 在线中文字幕极品av| 天天噜| 蜜臀久久99精品久久久久电影| 伊人991| 天天日日日射| 人妻激情另类| 成人福利视频网| 国产中文大片资源中文字幕| 老女人综合网| 亚洲成人ab| 久久久月天| 在线中文AV| 裸体女人草逼视频播放一区,二区,三区,四区,五区| 成人网站 免费观看| 久艾草在线精品视频在线观看| 五月情色天| 怡红院久久老司机| 射丝袜大香蕉| 1204av韩国| 久久超碰免费的| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 亚洲中文电影| 天天亚洲综合| 免费看美国人人爽,人人操| 97 超碰 人人做 人人爱| 久久影视二区三区行押| 欧天美中出| 欧美日韩国产电影| 国产专区路线| 蜜臀亚洲中文| www四虎| 开心五月深爱五月| 香蕉综合网| 色色色综合网| 丁香五月天社区| 丁香五月色情| 操逼网站视频漫画国产| 无套内射人妻在线播放| 强奸乱伦免费网站| 久久久久久九九九九九| 男人的天堂kva| 中文字幕第95页| 91视频成人福利网站在线一区 | 日本色婷婷| 久操网视频| 亚洲天堂人妻熟妇视频| 欧美顶级黄色大片免费| 美中日韩无码| 无码聚合| 国产成人无码久久精品| 人人操人人摸人 | 久久精品三级影视| 欧美劲爆视频一区二区| 第一高清av中文字幕| AAA久久| 性色一线| 75大香蕉| 日本最新1区2区3区| 九九九热精品| 日日躁天天躁狠狠躁| 久久精品店| 大香蕉乱级| 99久久e免费热视| 欧美顶级黄片AAAAA在线免费看| 久久欧美性爱视频| 丰满人妻-区二区三区免费| 欧美综合97www| 曰本91情色| 大色网久久| 麻豆熟妇乱妇熟色A片在线看| 91美| 国产真乱mangent| 国产美女mm131爽爽爽爽| 欧美99热| 91最新综合| 蜜桃狠狠色伊人亚洲综合| 日本一卡二区在线| 精品人妻一二三| 久久久久亚洲?V片无码V| 日本在线不卡一二区| 116美女午夜| 色踪合AV| 4虎在线观看| 久久性爱精品一区| 99久久久久| 欧美色997| 大香蕉性欧美| 青青操网| 亚洲精品第一| 99超碰色| 九99久久| 91人妻人人澡人人爽人人精品|