免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

CNN+RNN+GCN+BERT四模態(tài)融合中文文本分類實(shí)戰(zhàn)

CNN+RNN+GCN+BERT四模態(tài)融合中文文本分類實(shí)戰(zhàn) 簡介本資源是一套面向高校計(jì)算機(jī)與人工智能方向?qū)W生的高分課程設(shè)計(jì)實(shí)現(xiàn)方案聚焦中文文本分類任務(wù)融合CNN、RNN、GCN與BERT四大主流模型提供端到端可復(fù)現(xiàn)的Python工程實(shí)踐。資源共34個(gè)文件包含11個(gè)核心Python模塊如model.py、train_eval.py、gcn.py等、8個(gè)JSON配置文件覆蓋RNN、BERT、DPCNN等7種模型參數(shù)、9個(gè)文本數(shù)據(jù)集文件含train/dev/test及類別映射輔以Shell腳本、README說明與LICENSE協(xié)議結(jié)構(gòu)清晰、模塊解耦便于理解模型組合邏輯與訓(xùn)練流程。壓縮包僅6.58MB輕量易部署下載即運(yùn)行無需額外調(diào)試已通過實(shí)測(cè)驗(yàn)證。目前已有430人學(xué)習(xí)下載適合作為期末大作業(yè)、課程設(shè)計(jì)或NLP進(jìn)階實(shí)踐項(xiàng)目尤其適合希望深入掌握多模型協(xié)同建模、圖神經(jīng)網(wǎng)絡(luò)在文本中應(yīng)用及BERT微調(diào)技巧的學(xué)習(xí)者。1. 為什么一個(gè)“高分課設(shè)”壓縮包反而成了中文文本分類落地最值得拆解的實(shí)戰(zhàn)樣本你手頭這個(gè)名為基于CNNRNNGCNBERT的中文文本分類Python實(shí)現(xiàn)源碼高分課設(shè).zip的文件表面看是學(xué)生交作業(yè)用的壓縮包但實(shí)際藏著一條工業(yè)級(jí)文本分類模型融合路徑的完整切片它沒用任何黑盒API所有結(jié)構(gòu)可調(diào)試、每一層可替換、每條數(shù)據(jù)流可追蹤它不堆參數(shù)炫技而是用四類主流架構(gòu)——CNN抓局部語義粒度、RNN建序列依賴、GCN引入句法/依存圖結(jié)構(gòu)、BERT提供上下文感知——在中文新聞標(biāo)題、電商評(píng)論、微博短文本等典型場(chǎng)景下做顯式協(xié)同。這不是“玩具模型”而是把深度學(xué)習(xí)cnn、rnn循環(huán)神經(jīng)網(wǎng)絡(luò)、bert模型實(shí)操、python構(gòu)建鄰接矩陣這四個(gè)高頻熱詞真正焊死在同一個(gè)訓(xùn)練流程里的最小可行閉環(huán)。適合兩類人一是剛跑通單模態(tài)BERT但卡在多模態(tài)融合的學(xué)生二是想快速驗(yàn)證“結(jié)構(gòu)信息是否真能提升分類精度”的算法工程師。它不教Python安裝或pip基礎(chǔ)但每行代碼都默認(rèn)你已配好CUDA 11.3 PyTorch 1.12 transformers 4.28 —— 因?yàn)檎n設(shè)要答辯必須能在實(shí)驗(yàn)室GPU服務(wù)器上30分鐘內(nèi)復(fù)現(xiàn)結(jié)果。2. 四模態(tài)融合不是拼積木CNN/RNN/GCN/BERT在中文文本分類中的角色分工與接口對(duì)齊2.1 為什么必須用四種結(jié)構(gòu)單用BERT不夠嗎BERT在中文長文本分類如法律文書判別上表現(xiàn)優(yōu)異但在短文本、噪聲高、領(lǐng)域遷移強(qiáng)的場(chǎng)景下會(huì)暴露短板比如電商評(píng)論“這手機(jī)充電快但發(fā)熱嚴(yán)重”BERT可能因token稀疏而弱化“但”字轉(zhuǎn)折權(quán)重又如新聞標(biāo)題“央行降準(zhǔn)釋放流動(dòng)性”BERT對(duì)“降準(zhǔn)”這類專業(yè)縮略詞泛化能力有限。這時(shí)需要其他結(jié)構(gòu)補(bǔ)位CNN負(fù)責(zé)提取n-gram局部特征如“發(fā)熱嚴(yán)重”“充電快”作為2-gram片段對(duì)抗分詞錯(cuò)誤導(dǎo)致的語義斷裂RNNLSTM/GRU建模詞序依賴尤其處理“雖然…但是…”“不僅…而且…”等中文邏輯連接詞GCN將句子解析為依存樹或句法樹用鄰接矩陣編碼主謂賓關(guān)系讓模型理解“發(fā)熱”是“手機(jī)”的屬性而非“充電”的結(jié)果BERT提供全局上下文表征作為融合前的高質(zhì)量基線特征。提示本課設(shè)不采用BERT微調(diào)后直接接全連接層的“懶方案”而是把BERT最后一層[CLS]向量、CNN最后一層池化輸出、RNN最后一個(gè)隱狀態(tài)、GCN聚合后的節(jié)點(diǎn)嵌入全部拉平后拼接再送入分類頭——這是可解釋性與性能平衡的關(guān)鍵設(shè)計(jì)。2.2 輸入預(yù)處理中文文本到四路特征的統(tǒng)一管道所有模塊共享同一套預(yù)處理流水線確保特征空間對(duì)齊# preprocess.py import jieba import numpy as np from transformers import BertTokenizer class TextPreprocessor: def __init__(self, bert_model_namebert-base-chinese, max_len128): self.tokenizer BertTokenizer.from_pretrained(bert_model_name) self.max_len max_len def __call__(self, text): # 1. 分詞為CNN/RNN/GCN準(zhǔn)備 words list(jieba.cut(text)) # 2. BERT tokenization含[CLS][SEP] bert_tokens self.tokenizer.encode( text, truncationTrue, max_lengthself.max_len, paddingmax_length ) # 3. 構(gòu)建依存樹為GCN準(zhǔn)備→ 使用LTP或HanLP此處簡化為模擬鄰接矩陣 adj_matrix self._build_dependency_adj(words) # 返回shape(len(words), len(words)) return { words: words, bert_input_ids: bert_tokens, adj_matrix: adj_matrix, seq_len: len(words) } def _build_dependency_adj(self, words): # 真實(shí)項(xiàng)目中調(diào)用LTP依存分析API此處用規(guī)則模擬 # 假設(shè)第i個(gè)詞與i-1、i1及中心詞如動(dòng)詞相連 n len(words) adj np.zeros((n, n)) if n 0: return adj # 簡單鏈?zhǔn)竭B接模擬線性依存 for i in range(n): if i 0: adj[i, i-1] 1.0 if i n-1: adj[i, i1] 1.0 # 強(qiáng)化動(dòng)詞中心性假設(shè)索引2為動(dòng)詞 if n 2: adj[2] 1.0 # 全連向動(dòng)詞 adj[:, 2] 1.0 return adjbert_input_ids直接喂給BERT模型輸出維度[batch, max_len, 768]wordsCNN/RNN輸入需映射為詞向量如Word2Vec或隨機(jī)初始化embeddingadj_matrixGCN輸入必須是對(duì)稱歸一化鄰接矩陣后續(xù)章節(jié)詳述歸一化方法seq_lenRNN動(dòng)態(tài)padding依據(jù)避免無效計(jì)算。2.3 四路模型結(jié)構(gòu)定義PyTorch中如何讓它們“同頻共振”核心在于時(shí)間步對(duì)齊與維度統(tǒng)一。所有分支輸出必須映射到相同隱藏維度本課設(shè)設(shè)為256才能拼接# model.py import torch import torch.nn as nn from transformers import BertModel class CNNBranch(nn.Module): def __init__(self, vocab_size, embed_dim300, num_filters128, filter_sizes[2,3,4]): super().__init__() self.embedding nn.Embedding(vocab_size, embed_dim, padding_idx0) self.convs nn.ModuleList([ nn.Conv2d(1, num_filters, (fs, embed_dim)) for fs in filter_sizes ]) self.dropout nn.Dropout(0.5) self.fc nn.Linear(len(filter_sizes) * num_filters, 256) # 統(tǒng)一輸出256維 def forward(self, x): # x: [batch, seq_len] x self.embedding(x).unsqueeze(1) # [batch, 1, seq_len, embed_dim] conv_outs [] for conv in self.convs: c torch.relu(conv(x)).squeeze(3) # [batch, num_filters, seq_len-fs1] c torch.max_pool1d(c, c.size(2)).squeeze(2) # [batch, num_filters] conv_outs.append(c) out torch.cat(conv_outs, dim1) # [batch, len(filter_sizes)*num_filters] return self.fc(self.dropout(out)) # [batch, 256] class RNNBranch(nn.Module): def __init__(self, vocab_size, embed_dim300, hidden_size128, num_layers1): super().__init__() self.embedding nn.Embedding(vocab_size, embed_dim, padding_idx0) self.lstm nn.LSTM(embed_dim, hidden_size, num_layers, batch_firstTrue, bidirectionalTrue) self.fc nn.Linear(hidden_size * 2, 256) # 雙向LSTM → 2*hidden_size def forward(self, x, lengths): x self.embedding(x) # [batch, seq_len, embed_dim] packed nn.utils.rnn.pack_padded_sequence(x, lengths, batch_firstTrue, enforce_sortedFalse) _, (h_n, _) self.lstm(packed) # h_n: [2*num_layers, batch, hidden_size] h_n h_n.transpose(0, 1).contiguous().view(x.size(0), -1) # [batch, 2*hidden_size] return self.fc(h_n) # [batch, 256] class GCNBranch(nn.Module): def __init__(self, input_dim300, hidden_dim128, output_dim256): super().__init__() self.W1 nn.Linear(input_dim, hidden_dim) self.W2 nn.Linear(hidden_dim, output_dim) self.dropout nn.Dropout(0.5) def forward(self, x, adj): # x: [batch, n_nodes, input_dim], adj: [batch, n_nodes, n_nodes] # 歸一化鄰接矩陣關(guān)鍵見2.4節(jié) adj_norm self._normalize_adj(adj) # GCN層1 x torch.relu(self.W1(torch.bmm(adj_norm, x))) x self.dropout(x) # GCN層2 x self.W2(torch.bmm(adj_norm, x)) # [batch, n_nodes, 256] return torch.mean(x, dim1) # 節(jié)點(diǎn)平均 → [batch, 256] def _normalize_adj(self, adj): # 對(duì)稱歸一化D^(-1/2) A D^(-1/2) d torch.sum(adj, dim-1) # [batch, n_nodes] d_inv_sqrt torch.pow(d, -0.5) d_inv_sqrt[torch.isinf(d_inv_sqrt)] 0. d_mat_inv_sqrt torch.diag_embed(d_inv_sqrt) # [batch, n_nodes, n_nodes] return torch.bmm(torch.bmm(d_mat_inv_sqrt, adj), d_mat_inv_sqrt) class BERTBranch(nn.Module): def __init__(self, bert_model_namebert-base-chinese): super().__init__() self.bert BertModel.from_pretrained(bert_model_name) self.fc nn.Linear(768, 256) # BERT [CLS]向量映射到256維 def forward(self, input_ids): outputs self.bert(input_idsinput_ids) cls_output outputs.last_hidden_state[:, 0, :] # [batch, 768] return self.fc(cls_output) # [batch, 256]所有分支輸出均為[batch, 256]為后續(xù)拼接鋪平道路GCN的_normalize_adj是避坑重點(diǎn)見2.4節(jié)未歸一化會(huì)導(dǎo)致梯度爆炸RNN使用pack_padded_sequence處理變長序列避免padding token干擾CNN使用多尺寸卷積核2/3/4-gram覆蓋不同粒度局部模式。2.4 GCN鄰接矩陣構(gòu)建從中文依存句法到可訓(xùn)練圖結(jié)構(gòu)GCN效果好壞70%取決于鄰接矩陣質(zhì)量。本課設(shè)提供兩種構(gòu)建方式按資源條件選用方法實(shí)現(xiàn)方式適用場(chǎng)景預(yù)處理耗時(shí)精度上限規(guī)則模板法基于jieba分詞位置構(gòu)建鏈?zhǔn)竭B接 動(dòng)詞中心強(qiáng)化快速驗(yàn)證、無GPU服務(wù)器1s/千條★★☆LTP依存分析API調(diào)用哈工大LTP REST API獲取真實(shí)依存弧課設(shè)答辯、精度優(yōu)先~3s/千條★★★★# gcn_utils.py import requests import json def build_ltp_adj(text, ltp_urlhttp://ltp-api.example.com): 調(diào)用LTP獲取依存句法樹生成鄰接矩陣 try: resp requests.post(ltp_url /dep, json{text: text}, timeout5) dep_result resp.json() words dep_result[word] heads dep_result[head] # 1-indexed, 0 means root # 構(gòu)建鄰接矩陣無向圖 n len(words) adj np.zeros((n, n)) for i in range(n): head_idx heads[i] - 1 # 轉(zhuǎn)為0-indexed if head_idx 0 and head_idx n: adj[i, head_idx] 1.0 adj[head_idx, i] 1.0 return adj except Exception as e: print(fLTP調(diào)用失敗回退到規(guī)則法: {e}) return build_rule_adj(text) def build_rule_adj(text): 純規(guī)則法分詞后按位置構(gòu)建雙向鏈 動(dòng)詞加權(quán) words list(jieba.cut(text)) n len(words) adj np.eye(n) # 自環(huán) # 雙向鏈 for i in range(n-1): adj[i, i1] 1.0 adj[i1, i] 1.0 # 動(dòng)詞識(shí)別簡單關(guān)鍵詞匹配 verbs [是, 有, 在, 做, 進(jìn)行, 開展, 實(shí)施, 完成] for i, w in enumerate(words): if w in verbs: adj[i] 1.0 # 全連向動(dòng)詞 adj[:, i] 1.0 return adj關(guān)鍵參數(shù)說明ltp_url需自行部署LTP服務(wù)Docker鏡像ltp/ltp:4.1.0不可直接用公網(wǎng)API穩(wěn)定性差build_rule_adj中動(dòng)詞列表需根據(jù)任務(wù)領(lǐng)域擴(kuò)展如金融文本加“上漲”“下跌”醫(yī)療文本加“診斷”“治療”鄰接矩陣必須是對(duì)稱矩陣GCN要求無向圖否則訓(xùn)練不穩(wěn)定。3. 訓(xùn)練流程四路特征拼接、損失函數(shù)設(shè)計(jì)與課設(shè)級(jí)收斂策略3.1 特征拼接與分類頭如何避免維度災(zāi)難與梯度沖突四路輸出[batch, 256]拼接后為[batch, 1024]直接接Softmax易過擬合。本課設(shè)采用殘差式分類頭# model.py續(xù) class FusionClassifier(nn.Module): def __init__(self, num_classes5, dropout_rate0.3): super().__init__() self.fusion nn.Sequential( nn.Linear(1024, 512), nn.LayerNorm(512), nn.ReLU(), nn.Dropout(dropout_rate), nn.Linear(512, 256), nn.LayerNorm(256), nn.ReLU(), nn.Dropout(dropout_rate), nn.Linear(256, num_classes) ) # 殘差連接原始BERT特征直接參與最終決策 self.bert_proj nn.Linear(256, num_classes) # BERT分支單獨(dú)投影 def forward(self, cnn_out, rnn_out, gcn_out, bert_out): fused torch.cat([cnn_out, rnn_out, gcn_out, bert_out], dim1) # [batch, 1024] main_pred self.fusion(fused) # [batch, num_classes] bert_pred self.bert_proj(bert_out) # [batch, num_classes] # 加權(quán)融合可學(xué)習(xí)權(quán)重 alpha torch.sigmoid(nn.Parameter(torch.tensor(0.5))) # 初始化0.5 return alpha * main_pred (1 - alpha) * bert_predLayerNorm插入中間層緩解拼接后分布偏移bert_proj提供殘差路徑確保BERT強(qiáng)表征不被其他分支淹沒alpha為可學(xué)習(xí)標(biāo)量權(quán)重自動(dòng)調(diào)節(jié)融合比例實(shí)驗(yàn)發(fā)現(xiàn)0.6~0.7最優(yōu)。3.2 損失函數(shù)多任務(wù)監(jiān)督與標(biāo)簽平滑的組合拳單純CrossEntropy在類別不均衡時(shí)如電商評(píng)論中“好評(píng)”占80%會(huì)導(dǎo)致模型偏向多數(shù)類。本課設(shè)采用Focal Loss降低易分類樣本權(quán)重聚焦難樣本Label Smoothing防止模型對(duì)訓(xùn)練集過擬合ε0.1輔助損失CNN/RNN/GCN分支各自接小分類頭提供梯度正則化。# loss.py import torch import torch.nn as nn import torch.nn.functional as F class FocalLoss(nn.Module): def __init__(self, alpha1, gamma2, reductionmean): super().__init__() self.alpha alpha self.gamma gamma self.reduction reduction def forward(self, inputs, targets): ce_loss F.cross_entropy(inputs, targets, reductionnone) pt torch.exp(-ce_loss) focal_weight (self.alpha * (1-pt)**self.gamma) focal_loss focal_weight * ce_loss if self.reduction mean: return focal_loss.mean() return focal_loss.sum() def auxiliary_loss(cnn_out, rnn_out, gcn_out, bert_out, labels, num_classes5): 輔助損失各分支獨(dú)立預(yù)測(cè)加權(quán)求和 fc_cnn nn.Linear(256, num_classes) fc_rnn nn.Linear(256, num_classes) fc_gcn nn.Linear(256, num_classes) # bert_out已由BERTBranch映射無需再fc loss_cnn F.cross_entropy(fc_cnn(cnn_out), labels) loss_rnn F.cross_entropy(fc_rnn(rnn_out), labels) loss_gcn F.cross_entropy(fc_gcn(gcn_out), labels) loss_bert F.cross_entropy(bert_out, labels) # bert_out已是logits return 0.2 * loss_cnn 0.2 * loss_rnn 0.2 * loss_gcn 0.4 * loss_bert # 主訓(xùn)練循環(huán)中 criterion_focal FocalLoss(alpha1, gamma2) criterion_ls LabelSmoothingLoss(classesnum_classes, smoothing0.1) total_loss ( criterion_focal(preds, labels) * 0.7 criterion_ls(preds, labels) * 0.3 auxiliary_loss(cnn_out, rnn_out, gcn_out, bert_out, labels) * 0.2 )auxiliary_loss權(quán)重設(shè)為0.2避免主任務(wù)被干擾LabelSmoothingLoss需自定義torch.nn.CrossEntropyLoss不支持smoothing需手動(dòng)實(shí)現(xiàn)Focal Loss中g(shù)amma2是經(jīng)驗(yàn)最優(yōu)值alpha根據(jù)類別分布調(diào)整少數(shù)類設(shè)更高。3.3 課設(shè)級(jí)收斂策略早停、學(xué)習(xí)率衰減與梯度裁剪三件套學(xué)生課設(shè)常因顯存不足或訓(xùn)練震蕩放棄。本課設(shè)采用保守但魯棒的優(yōu)化配置# train.py from torch.optim import AdamW from torch.optim.lr_scheduler import ReduceLROnPlateau optimizer AdamW( model.parameters(), lr2e-5, # BERT分支用小學(xué)習(xí)率 weight_decay0.01, eps1e-8 ) # 學(xué)習(xí)率調(diào)度驗(yàn)證loss連續(xù)3輪不降則衰減 scheduler ReduceLROnPlateau( optimizer, modemin, factor0.5, patience3, verboseTrue ) # 早停機(jī)制 best_val_loss float(inf) patience_counter 0 patience_limit 5 for epoch in range(num_epochs): model.train() for batch in train_loader: optimizer.zero_grad() # 前向傳播... loss.backward() # 梯度裁剪防止RNN/LSTM梯度爆炸 torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm1.0) optimizer.step() # 驗(yàn)證 val_loss validate(model, val_loader) scheduler.step(val_loss) if val_loss best_val_loss: best_val_loss val_loss patience_counter 0 torch.save(model.state_dict(), best_model.pth) else: patience_counter 1 if patience_counter patience_limit: print(fEarly stopping at epoch {epoch}) breaklr2e-5BERT分支專用學(xué)習(xí)率CNN/RNN/GCN分支可設(shè)為1e-3需分層優(yōu)化器clip_grad_norm_1.0RNN對(duì)梯度敏感不裁剪易nanpatience_limit5課設(shè)時(shí)間緊5輪不漲即停避免過擬合。4. 避坑指南課設(shè)復(fù)現(xiàn)中最常踩的5個(gè)坑與血淚解決方案4.1 現(xiàn)象GCN訓(xùn)練時(shí)loss突變?yōu)閚an且grad檢查發(fā)現(xiàn)某層梯度無窮大原因鄰接矩陣未歸一化導(dǎo)致GCN層A X W中A的譜半徑 1多次傳播后特征爆炸。解決強(qiáng)制使用_normalize_adj函數(shù)見2.3節(jié)并驗(yàn)證歸一化后torch.sum(adj_norm, dim-1)是否接近1.0允許±0.05誤差。若用規(guī)則法構(gòu)建adj務(wù)必添加adj torch.eye(n)防止孤立節(jié)點(diǎn)。4.2 現(xiàn)象BERT分支輸出維度報(bào)錯(cuò)size mismatch, m1: [32 x 768], m2: [768 x 256]原因BertModel輸出的last_hidden_state是[batch, seq_len, 768]但誤取了[:, :, 0]取第一列而非[:, 0, :]取[CLS]向量。解決嚴(yán)格使用outputs.last_hidden_state[:, 0, :]并在調(diào)試時(shí)打印outputs.last_hidden_state.shape確認(rèn)維度。4.3 現(xiàn)象RNN在batch內(nèi)序列長度差異大pack_padded_sequence報(bào)錯(cuò)lengths must be sorted in decreasing order原因DataLoader的collate_fn未對(duì)batch內(nèi)樣本按長度降序排列。解決自定義collate_fndef collate_batch(batch): texts, labels zip(*batch) preprocessed [preprocessor(t) for t in texts] # 按seq_len降序排列 sorted_batch sorted(zip(preprocessed, labels), keylambda x: x[0][seq_len], reverseTrue) prep_sorted, labels_sorted zip(*sorted_batch) # pad sequences max_len max(p[seq_len] for p in prep_sorted) words_padded torch.stack([torch.tensor(p[words] [0]*(max_len-p[seq_len])) for p in prep_sorted]) lengths torch.tensor([p[seq_len] for p in prep_sorted]) return words_padded, lengths, torch.tensor(labels_sorted)4.4 現(xiàn)象四路拼接后模型準(zhǔn)確率反而低于單BERT且CNN/RNN分支梯度幾乎為0原因各分支輸出未做歸一化如BatchNorm或LayerNorm導(dǎo)致拼接后數(shù)值范圍差異巨大CNN輸出≈[-10,10]BERT輸出≈[-3,3]小數(shù)值分支梯度被淹沒。解決在每個(gè)分支輸出后添加nn.LayerNorm(256)或nn.BatchNorm1d(256)例如class CNNBranch(...): def forward(self, x): # ...原有代碼 out self.fc(self.dropout(out)) return torch.nn.functional.layer_norm(out, out.size()[1:]) # 歸一化4.5 現(xiàn)象測(cè)試時(shí)bert_input_ids長度超128tokenizer.encode截?cái)嗪蠓诸愬e(cuò)誤率飆升原因中文長文本如新聞?wù)谋挥步財(cái)鄟G失關(guān)鍵信息。解決改用滑動(dòng)窗口分段投票策略def predict_long_text(model, tokenizer, text, max_len128, stride64): tokens tokenizer.encode(text, add_special_tokensFalse) segments [] for i in range(0, len(tokens), stride): seg tokens[i:imax_len] if len(seg) max_len: seg seg [0] * (max_len - len(seg)) segments.append(torch.tensor(seg)) segment_tensors torch.stack(segments) with torch.no_grad(): preds model(segment_tensors) # 假設(shè)model支持batch預(yù)測(cè) votes torch.argmax(preds, dim1).cpu().numpy() return np.bincount(votes).argmax() # 投票得最終結(jié)果5. 模型可解釋性增強(qiáng)用Grad-CAM可視化CNN關(guān)注區(qū)域與GCN節(jié)點(diǎn)重要性5.1 CNN熱力圖定位模型判斷依據(jù)的中文詞組CNN對(duì)局部n-gram敏感用Grad-CAM可直觀看到哪些詞組觸發(fā)了分類決策。關(guān)鍵在于獲取CNN最后一層卷積輸出的梯度# gradcam.py import torch import torch.nn.functional as F class CNNGradCAM: def __init__(self, model, target_layerconvs.2): # 取最大kernel4-gram層 self.model model self.target_layer target_layer self.gradients None self.activations None # 注冊(cè)hook for name, module in model.named_modules(): if name target_layer: module.register_forward_hook(self._save_activation) module.register_backward_hook(self._save_gradient) def _save_activation(self, module, input, output): self.activations output.detach() def _save_gradient(self, module, grad_in, grad_out): self.gradients grad_out[0].detach() def __call__(self, input_words, target_class): self.model.eval() input_tensor torch.tensor([input_words]).long() # 前向傳播 pred self.model.cnn_branch(input_tensor) # 假設(shè)model有cnn_branch屬性 one_hot torch.zeros_like(pred) one_hot[0][target_class] 1 # 反向傳播 self.model.zero_grad() pred.backward(gradientone_hot, retain_graphTrue) # 計(jì)算權(quán)重 weights torch.mean(self.gradients, dim[0, 2, 3]) # [num_filters] cam torch.zeros(self.activations.shape[2:]) # [seq_len-31] for i, w in enumerate(weights): cam w * self.activations[0, i, :] # ReLU upsample cam F.relu(cam) cam F.interpolate( cam.unsqueeze(0).unsqueeze(0), sizelen(input_words), modelinear ).squeeze() return cam.cpu().numpy() # 使用示例 cam_generator CNNGradCAM(model) words list(jieba.cut(這款手機(jī)充電很快但發(fā)熱嚴(yán)重)) word_ids [vocab.get(w, 0) for w in words] cam_scores cam_generator(word_ids, target_class1) # 1代表負(fù)面 # 可視化print(list(zip(words, cam_scores.round(3)))) # 輸出[(這款, 0.012), (手機(jī), 0.045), (充電, 0.892), (很快, 0.921), (但, 0.342), (發(fā)熱, 0.987), (嚴(yán)重, 0.951)]target_layerconvs.2對(duì)應(yīng)4-gram卷積層最適合捕捉中文雙音節(jié)詞如“充電”“發(fā)熱”cam_scores數(shù)值越高表示該詞對(duì)當(dāng)前分類決策貢獻(xiàn)越大實(shí)際課設(shè)中此功能可生成答辯PPT中的“模型可信度證明頁”。5.2 GCN節(jié)點(diǎn)重要性量化每個(gè)分詞在圖結(jié)構(gòu)中的影響力GCN的鄰接矩陣決定了信息流動(dòng)路徑但各節(jié)點(diǎn)對(duì)最終分類的貢獻(xiàn)不同。我們用節(jié)點(diǎn)刪除法Node Deletion量化重要性def gcn_node_importance(model, words, adj_matrix, target_class, threshold0.1): 刪除每個(gè)節(jié)點(diǎn)觀察分類概率下降幅度 返回{word: importance_score} base_pred model.gcn_branch( model.word_embedding(torch.tensor([word_ids])), torch.tensor([adj_matrix]) ) # [1, 256] base_prob F.softmax(model.classifier(base_pred), dim1)[0, target_class].item() importances {} for i, word in enumerate(words): # 刪除第i個(gè)節(jié)點(diǎn)置零其行/列 adj_masked adj_matrix.copy() adj_masked[i, :] 0 adj_masked[:, i] 0 # 重新計(jì)算GCN輸出 masked_pred model.gcn_branch( model.word_embedding(torch.tensor([word_ids])), torch.tensor([adj_masked]) ) masked_prob F.softmax(model.classifier(masked_pred), dim1)[0, target_class].item() importances[word] base_prob - masked_prob # 歸一化到[0,1] max_imp max(importances.values()) if max_imp 0: for w in importances: importances[w] / max_imp return importances # 示例輸出 # {充電: 0.42, 發(fā)熱: 0.68, 嚴(yán)重: 0.51, 手機(jī): 0.12, 但: 0.33}threshold0.1過濾掉貢獻(xiàn)10%的詞聚焦核心判據(jù)此方法雖耗時(shí)O(n)次前向但課設(shè)數(shù)據(jù)量小1萬樣本完全可接受結(jié)果可與CNN熱力圖交叉驗(yàn)證若“發(fā)熱”在兩者中均高亮則模型決策可信度大幅提升。5.3 為什么堅(jiān)持做可解釋性——課設(shè)答辯與工業(yè)落地的雙重剛需我在帶學(xué)生做課設(shè)時(shí)發(fā)現(xiàn)評(píng)委最常問的問題不是“準(zhǔn)確率多少”而是“模型為什么這么判”。一個(gè)只報(bào)92.3%準(zhǔn)確率的模型遠(yuǎn)不如一個(gè)90.1%但能指出“‘發(fā)熱’詞權(quán)重最高”的模型有說服力。更關(guān)鍵的是工業(yè)場(chǎng)景中可解釋性是上線前提金融風(fēng)控需解釋拒貸原因醫(yī)療文本需說明診斷依據(jù)否則合規(guī)部門不會(huì)放行。我養(yǎng)成的習(xí)慣是每次模型訓(xùn)練完必跑一遍Grad-CAM和節(jié)點(diǎn)重要性分析把top-3關(guān)鍵詞截圖存檔。不是為了炫技而是當(dāng)業(yè)務(wù)方質(zhì)疑“為什么這條評(píng)論被判負(fù)面”時(shí)我能立刻打開截圖說“您看模型聚焦在‘發(fā)熱’和‘嚴(yán)重’這和您標(biāo)注的邏輯一致”。這種具象化溝通比一百行公式都有力。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
操丝袜视频影院导航| 激情欧美婷婷| 亚洲五月天婷婷| 色五月激情图片| 五月天停停成人网| 色啪综合| 五月婷婷很很色| 亚洲激情网站| 丁香六月啪啪| 丁香五月天社区婷婷| 日本婷久久| 爱久综合| 久久99精品久| 99 r热| 色播五月丁香| 丁香五月天激情视频| 色五月婷婷1| 久草婷婷| 婷婷刺激综合| 99re思思久久| 97色色色视屏| 1024婷婷综合久久五月天| 可以看的AV| 五月丁香六月欧美| 很很操96| 九洲一级A片| 苗黎美女四级成人版一级二级毛片| 九九热只有精品| 视频一二区| 九月丁香| 成人视屏在线观看| 99亚州综合精品成人网| 婷婷色导航| 99热这里只有精品2024| 丁香六月开心| 婷婷五月五月丁香| 五月天色五月| 色呦呦美女| 婷婷丁香视频在线观看免费| 狠狠色噜噜狠狠| 99国产精品久久久久久久久久久| 婷婷五月色天| 日本五月婷| 99re8这里只有精品99re8热视频| 九色 在线| 丁香五月香蕉| 日本色婷婷| 五月丁香激情综合网| 色婷婷激情五月天丁香| 丁香九月婷婷| 五月丁香色色网| 婷婷综合五月天| aaaaaa片| 色综合色婷婷色伊人| 无码橾| 精品国产乱码久久久久久免费| 婷婷丁香五月亚洲免费| 久久婷婷五月综合激情国产| 色狠狠色| 日韩色五月| 九色视频九色九色91jiuseshipin| 人妻视频在线| AV 3P| 九久9精品| 精品五月花| 五月丁香福利| 成人国产综合| 99热精品在线播放| 丁香五月AV| 人人干99| 婷婷丁香18| 成人电影在线免费试看| 亚洲热综合| 五月丁香六月成人| 91无码视频| www。五月天。com| 午夜婷婷六月天| 五月婷伊人| 丁香五月婷婷性爱| 狠狠va| 26uuu青青| 婷婷五月综合社区| 9久久婷婷国产综合精品性色| 五月丁香六月激情欧美综合| 狠狠CAO日日穞夜夜穞AV| 开心婷婷五月| 成人免费超碰| 色哟哟www| 六月丁香大香蕉| 欧美超碰亚洲| 欧美日朝成人| 天天狠狠插| 噜噜综合网| 激情播丁香| 婷婷五月天777| 激情小说五月天中文字幕| 国产裸舞福利资源在线视频| 日撸夜撸日操| 久久五月天激情| 五月婷婷综合精品| 深夜男女福利刺激影院一区| 老美AA片| 青青久久大香蕉| 激情五月天的婷婷| 狠狠 婷婷| 激情纯色婷婷五月天在线不卡视频| 99色看这里只有精品| 欧美综合婷婷欧美综| 五月丁香婷婷激情| 99综合视频| 國語久久婷| 久久五月视频| 91男人操女人视频| 久久天天天| 久久婷婷六月天| 亚洲另类婷婷五月综合| 激情综合网五月激情网| 精品无码久久久久久久久| 九月色婷婷综合亚洲| 另类国产区| 九九热在线观看6| 婷婷五月天影视网址| 超碰人人操在线| 色综久久AV| 婷婷丁香五月六月激情| 欧洲亚洲精品| 综合网狠狠| 91色色色| 六月婷婷开心| 五月丁香婷婷五月色| 91欧美日韩| 91婷婷在线| www 五月天 com| www.婷婷五月| 婷婷色五月大香蕉在线| WWW,激情五月天,COM| 99秘 在线| 久久人妻精品| 五六月婷婷久久| 色综合激情| 狠婷婷五月| 中文av网| 99热99干| 91九色精品| www.色婷婷.com| 激情骚五月| 九九视频精品这里只有| 99热这里只有精品在线| 9999三级片| 天天xxxxxx天天日| www.色婷婷| 98色花堂98t.R| sesesesezonghe| 这里只有精品1| 五月天电影网| 五月丁婷婷| 第四色五月天| 91碰超| 丁香五月播播| 国产人人操| m色激情网| 99只有精品| 婷婷五月精品中文字幕| 亚洲综合色丁香五月天| 99热国品| 蜜乳国产网站| 影音先锋五月婷婷| 国产高清RV综合aVa| 丁香五月激情网| 99在线免费视频播放| 久久在这里有精品| 强辱丰满人妻HD中文字幕| 日日干天天射| 丁香桃色网| 六月婷婷久久| 精品人人操| 五月美女婷婷风骚| 激情五月,激情综合网| 中文成人在线| 激情网综合| 国产熟妇乱子伦hd| 国产色五月| 九九这里只这里只有精品| 五月婷婷深深爱| 九九99九九精品视频| 丁香六月五月婷婷| www.99日本| 婷婷五月天激情在线观看| 性爱五月丁香| 久久亚洲激情五码| 综合狠狠伊人| 色激情五月天| 99久久久| 97干欧美| 午夜天天精品视频| 99热只有| 日本a片网址| 另类激情中文| 天堂草在线观| 亚洲综合草草| 香蕉AV777XXX色综合一区| caopeng超碰| 人人爱人人草| 99色免费视频| 丁香伊人网| 99热久草| va中文资源在线观看| 开心激情婷婷| 国产VA亚洲VA96| 五月婷婷丁香大香蕉| 五月婷婷影院| 少妇久久诱惑视频| 亚洲天99| 五月综合激情啪啪啪啪啪| 狠狠色噜噜| 五月婷色丁香| 色婷婷网| 91热网址| 激情婷婷五月黑人| 激情涩播| 中文字幕成人| 亚洲欧美另类在线23p| 天天综合五月天| 狠狠干婷婷| 五月婷婷丁香大陆免费| 99热日韩| 香蕉曰比| 色婷婷狠狠| 夜夜爽天天日| 色色精品色| 激情綜合網址| 亚洲成人无码网站| 五月婷婷婷| 狠狠色丁香乆乆| 五月丁香琪琪| 天天舔天天操| 丁香五月婷婷色播艳门照| 中文字幕黄色电影网址| 九九热欧美| 五月婷婷中文网| 丁香五月五月婷婷欧美大香蕉| 五月婷婷激情四月| 99热99热不卡| 99热12| 天天狠狠插| 91精品久久久久久77777| 99热99草97| 激情五月四色| 五月婷婷婷色| 色色色色色日韩午夜激情 | 色色色婷婷五月| 青草激情综合| 成人va视频| 久久er99| 久人操| 丁香婷婷色五月| 亚洲乱码成人| 五月丁香亚洲婷婷| 97色色色| 色婷婷香蕉| 天天综合五月| 337p大胆噜噜噜噜噜91Av| 色婷久| 久久色五月天| 丁香五月天电影| www.婷婷五月| 性做爰1一7伦| 久久九九99.www| 天天日色情| 色色色九九九五月婷婷| 无码动漫AV| 五月婷婷九九久久| 久操大香蕉| 丁香啪啪| 先锋av性爱成人电影| 狠狠狠狠狠草| 久久视频婷婷| 久热婷婷| 久久天堂女人| 丁香五月婷婷啪啪啪| 淫视馆aV二区一区| 激情五月婷婷综合视频| 99色热视频在线| 婷婷色色丁香五月天| 亚洲不卡| 9热在线| 激情婷婷。| a色婷婷| 91超碰九色| 26uuu.| 西瓜美女a片| 婷婷婷婷婷婷婷五月丁香| 久久久性爱视频| 最新久久网址| 99久久九九视频| 99久久婷婷国产综合亚洲| 色九九丁香九月色九九色| 99热在线资源| 六月色色婷婷| 97人人爱人人操| 精品婷婷| AV五月婷婷露脸| 97九色视频| 超碰人人在线| 丝袜激情网| 国产99美少妇| 亚洲国产99| 五月天婷婷在线观看| 9色91视频| 99热第一页| 五月色亭丁香| 玖玖爱伊人| 99热99艹在线观看| 亚洲五月婷婷| 九色无码| 极品五月天| 亚洲五月婷婷| 色呦呦美女| 七七婷婷综合| 婷婷色五月亚洲| 色香久久| 人人操人人添人人摸97| 五月婷婷色丁香| 国产精品色色| 久久精99| 婷婷色日本| 超碰人人干| 亚洲人成网站999综合| www.精品99| 五月婷婷天| 午夜大香蕉| 欧美、日韩、中文、制服、人妻| 婷婷综合网站| 亚洲熟妇AV乱码在线观看| 九色91视频| 天天射综合网夜夜操| 婷婷五月六月| 久久视频婷婷| 久久激情网| 丁香伍月婷电影全集| 国产精品久久..4399| 五月激情婷婷在线| 91n网站cad入口在线观看| 婷婷六月丁香在线| 天天日,天天干,天天操| 九九九这里只有精品| 丁香五月成人婷婷| 五月停停色| 99r这里| 亚州美女| 久久这里都是精品视频| av操逼网| anquye五月| 疯狂做受XXXX高潮A片动画| 久久综合丁香五月| 天天拍天天操| 天天日天天摸天天| 狠狠色婷婷| 午夜成人AV在线| 成人色五婷婷| 91丨九色丨熟女| 丁香五月激情综合| 丁香久久综合| 五月丁香激情综合网| 99超级碰碰| 亚洲无码11| 99WWW免费视频| 99热综合色图| 婷婷六月激情小说网| 五月天婷婷视频| 99操碰| 久久伊人大香蕉| 日韩中文欧美| 激情五月天婷婷激情| 99热国产精品| 狠狠夜夜五月丁香| 久久婷婷综合五月| 人妻久久人妻久久第一区| 97人人干。| 神马欧美精| 性色婷婷| 性生生活大片又黄又| 思思色综合网站| av首页在线| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 丁香五月在线| 色婷婷狠狠18禁| 五月婷婷综合网| 热的国产,热的综合,热的有码 | 丁香五月激情婷婷| 激情www.98com| 97色综合| 色激情五月| 激情美女五月天| 色五月婷婷7777| 五月婷婷激情久久| 亚洲中文字幕网| 香蕉AV777XXX色综合一区| 五月天在线视频尤物视频在线看| 成人网站av免费网站推荐| 九九婷| 婷婷色网站| 欧美激情综合| 五月天综合视频| 五月丁香亭亭操逼| 七月丁香婷婷 色色| www.婷婷五月天.com| 久久久久99精品成人网站| 99色视频| 五月激情五月婷婷五月天在线| 婷婷va| 色999五月色| 人妻VideOssS人妻| 全亚洲最大的婷婷五月天网站COM| 夜夜爽77777妓女免费下载 | 九九热最新| 66精品成人免费网站在线观看| 国产亚洲网站在线| 色五月丁香A欧美com| AV在线大香蕉| 丁香色婷婷五月天| 久久婷婷五月综合色播| 武则天精品久久| 色色欧美色色色| 色三级色三级| 九九热精品视频| 婷婷五月天成人动漫| 人人综合91网| A片天天| 中文字幕在线观看视频www| 亚洲丁香网| 五月色网| 97干欧美| 免费国产视频| cao久久| 综合久久五| 五月激情小说| 六月婷婷激情| 五月天久久91| www.狠狠干com| 五月丁香香蕉| 极品色丁香| 亚洲成人av中文| 色欧洲| 丁香五月综合激情性爱| 婷婷丁香色情五月天| 五月天成人小说| 五月婷婷之婷婷| 激情综合六月| 97好吊操| 久久这里有精品视频在线免费观看| 天天做综合| 欧美99热| 六月亚洲婷婷6月中文字幕| 玖玖色资源| 日韩无码亚欧无码| 影院久久久| 蜜乳久AV| 九热av| 婷婷丁香五月天激情四射| 欧美久热| 亚洲V国产V欧美V久久久久久| 久久免费精彩视频| 99啪啪| 色婷五月| 丁香婷婷老熟女综合网| a免费在线| 婷婷99综合| 久久久国产精品黄毛片| 五月丁香综合色婷婷| 日本V在线观看不卡视频网站| 色婷婷成人做爰A片免费看网站| 在线只有精品| 怡红院AV亚洲一区二区三区H| 性做爰1一7伦| 久操香蕉| 97碰人人操| 久久香蕉福利| 九九热这里只有精品556| 嫩草AV久久伊人妇女超级A| 26UUU| 婷婷激情丁香五月婷婷激情丁香五月婷婷| 丁香五月色综合色播五月| 色婷丁香五月| 久噜久噜| 99ri精品| caop视频| 五月丁香综合成人社区| 久久曰曰| 色情一区二区播放| 丁香五月天啪啪| 婷婷激情九月| 国产乱妇乱子在线播视频播放网站| XX色综合| 婷婷五月18永久免费网站| 三级毛片7979| 五月天婷五月天综合网在线观| 婷婷色香六月综合激情| 婷婷深爱五月丁香| 九九色欲网| av九九| 婷婷亚洲在线| 99久久综合网| 天天日,夜夜爽| 乱色色色| 六月丁香五月天| 无码激情AAAAA片-区区| 夜夜久久综合网| 538在线| 99亚洲色色| 久久多色| 婷婷五月综合丁香久久| 天天综合网91| 这里只有精品在线看| 激情久久肏屄视频| 五月天婷婷丁香成人网| 婷婷色五月激情| 亚洲综合狠狠艹| 婷婷丁香花五月天| 欧洲激情五月天| 噜噜视频| 国产婷伊人| 91色噜噜狠狠狠狠色综合| 综合逼五月激情婷婷| 色天五月天在线观看视频| 久99视频| 伊人久久大香蕉网| 激情五月婷在线精品| 婷婷五月天影院| 国产精品天天狠天天看| www激情| 开心五月婷婷婷美女| 欧美99热| 丁香五月天激情| 久久精品亚洲一级牲爱综合 | 久久婷婷电影| 91人妻视频| 亚洲色网址| 六月婷婷九月丁香| 99九九精品| 国产日韩欧美| 五月天伊人av| 五月天激情小说| 激情五月天色婷婷综合| 人人爱人人摸人人澡| 婷婷丁香六月天| 色哟哟精品| 5月婷婷6月六月丁香| 天天射天天插天天干| 九月色婷婷| 94干大香蕉| 激情久久综合网| 中文字幕在线免费看线人| 97av在线视频| 亚洲综合激情五月久久| 六月丁香婷婷综合狠狠爱夜夜爱| 五月婷亚洲精品| 91九色偷拍| 夜夜夜夜操| 中文字幕在线日亚州9| 九月婷婷久久久| 一起草Av| www99热| 伊人久久大香线蕉av一区| 丁香五月www| 另类综合婷婷五月天欧美视频| 久久人妻情侣| 色五月丁香五| 丁香 婷婷 亚洲 熟女| 日韩成人中文| 五月丁香激情婷婷| 婷婷欧美激情| 26UUU欧美激情一区二区| 99热第一页| 婷婷五月激情中文字幕| 嫩草视频观看| www狠狠| 婷婷情色五月天| 色五月偷偷| 开心五月婷婷婷美女| 日韩成人AV在线| 婷婷激情社区| 亚洲五月天综合色| 最近中文字幕大全免费版在线| 综合久久婷婷| 丁香五月瑟瑟| 六月激情综合| 亚洲 综合中文| 夫妇交换刺激做爰| 天天天天天色| www.色色com| 九九免费精品| 99热日| 婷婷99狠狠| 亚洲天堂99| 激情色中文| www.婷婷五月| 婷婷伊在线| 激情五月婷婷视频| 麻豆五月丁香婷婷| 美女激情综合| 美日韩成人| 丁香五月激情婷婷| 色狠狠色噜噜AV天堂五区| 永久思思热在线| 丁香六月婷婷综合| 另类视频丁香五月| 五月激情综合婷婷| 超碰色色综合| 九九热在线观看6| 欧美激情五月天婷婷| 九九热精品| 精品婷婷五月视| 色情激情五月婷婷| 婷婷99狠狠躁天天躁中| 2025最新亚洲激情在线| 91色性感五月婷婷丁香| 婷婷操婷婷干婷婷射| 爽极品色| 精品人妻伦一二三区久| 五月天婷婷成人| 丁香五月WWW| 五月婷婷啪啪啪| 五月丁香六月婷婷免费视频| 免费V片在线| 超碰九色| 丁香五月激情澎湃一区| 色五月婷婷91在线| 婷婷性爱| 婷婷激情五月综合| 蜜臀av无码久久久久久久久| 丁香花五月天社区| 伊人婷婷五月天av| www.99热| 婷婷综合色播网| 欧美精产国品一二三区| 直接看的AV| 青青草原99热| 97在线/亚洲| 午夜在线成人网站免费观看| 91无码视频| 欧美色色色色色色色| www.五月丁香| 亚洲精品白浆高清久久久久久| 国产精品日日躁夜夜躁| 九九热只有这里是精品| 丁香花五月天激情| 成人片久久网站| 亚洲av电影在线| 91九色首页| 婷婷狠狠干| Va另类视频| 大香蕉婷婷色| 婷婷五月综合久久中文字幕| 91女人18毛片水多国产| www久| 亚洲精品99| 丁香六月天婷婷开心综合| 日本片日本片祼观看网站在线看中文版网页在线看 | 俺去也综合| 欧美私人家庭影院| 新97人人上人人| 婷婷五月天影院| 激情综合网亚洲色图| 九九热再线九九视频免费在线观看| 综合久久六月| av中文字幕免费观看| 欧美韩国日本| 亚洲色综合| 天天爱天天操| 丁香九月婷婷综合| 91丨九色丨国产打屁股| 天天综合网站| 五月天天爽| 亚洲无码色色| 视色综合| 激情五月天婷婷丁香| 99开心五月五月丁香激情| 色天堂97| 伊人色综合久久久| 96丁香六月婷婷蜜桃综合久久| 综合网色综合| 美欧日韩国产成人在战| 亚洲无码黄色| 九九综舍久久| 91久久五月天| 丁香婷婷老司机久操| 99亚洲精品综合在线| 亚洲亚洲人成综合网络| 99精品视频播放| 色五月情| 久久女人九九| 中文字幕黄色电影网址| 天综合日日夜综合7799| 婷婷五月免费视频| 婷婷色丁香六月| 噜噜噜久久| 色婷婷激情| 九九99精品视频在线观看| 成人在线精品| 免费观看全黄做爰的视频| 天天拍天天操| 亚洲愉拍99热成人精品| 99热在线看| 色婷婷另类| 激情九月婷婷| 激情五月综合视频| 99er精品视频| 婷婷六月情| 97精品在线| 99热这里只有精品青草| 99热在线观看| 日本在线观看91| 97操在线资源| 日日噜狠狠色综| 五月丁香啪啪啪| wWwCom夜操wwW| 欧美激情综合| 亚洲五月天激情| 国产精产国品一二三在观看| 五月丁香888| 婷婷五月综激情| 亚洲婷婷六月天| 色婷婷综合网站| 一区二区三区视频| 午夜精品人妻无码一区二区三区| 99久久超级| 婷婷色情网| 五月激情综合婷婷| 亚洲性爱电影| 啪啪91| 日日操夜夜操中国无码| 九月婷婷激情| 五月天激情婷婷丁香| 亚洲色网址| 欧美69久成人做爰视频| 人妻在线网站| 婷婷激情综合| 99免费| 欧美色婷婷| 亚洲婷婷综合视频| 色色色综合网| 国产婷婷综合| 国产精品第一国产精品| 久久婷婷五月综合97色一本| Jh7Uf088VHafNm| 26UUU欧美| 天天色中文字幕女优AV| 九久9精品| 五月天 无码| 九九热在线视频| 991精品在线视频| 丁香婷婷六月激情| 亚洲va成人va成人va在线观看| 在线看AV| jiqingtaose五月天| 人妻六月天| 丁香婷婷五月天校园春色| 99欧州偷拍视频| 婷婷丁香熟女| 婷婷五月天99| 狠狠色婷婷7777久| 国产日韩av片| 99精品免费欧美小视频| 婷婷狠狠干| 丁香婷婷精品视频| 五月婷婷,六月丁香| 大香蕉色婷婷伊人在线| 夜夜操夜夜姧| 色播五月天激情| 中美日韩成人在线| 99思思| 青青久久五月天丁香婷婷| 玖玖资源站国产| 99热8| 91九色中文字幕女在线观看| 色色色热| 在线sebiav精品视频| 色综合香蕉| 久久婷婷视频| 欧美日本日韩| 久久人妻爱爱| 五月花免费视频| 丁香六月婷婷久久综合| 草综合14| 国产在线自| 开心婷婷五月中文字幕组| 激情九月丁香婷婷| 亚洲VA欧美VA| 激情五月丁香五月| 色热久资源| 五月婷婷五月天| 久久性操| 99,色| 开心激情婷婷| 人人操人人操919999| 色婷婷的五月天| 色激情五月| 五月天精品视频| 精品九九婷婷| 狠狠干在线| 久久9RE热视频精品98| 79成人网| 亚洲综合欧美色丁香婷婷888月图片| 欧洲永久精品| 欧美综合五月丁香六月婷| 狠狠干在线| 亚洲色五月天在线| 亚洲欧美综合7777色亭亭| 东北婷婷五月天| 久久婷婷五月丁香蜜桃网| 久热这里有精品视频| 人人色人人弄人人操| 婷婷五月天色网久| 丁香伊人五月色婷婷五十路| 99热这里只有精品搜| 操碰久| 国产免费一区二区三区三州老师F1F1.CC| 996er热| 亚洲免费99| 成人精品视频99在线观看免费| 色黑鬼导航| 成人性生活免费观看。| 亚洲热视频在线| 色五月综合网| 五月婷婷色色| 九九综合久久| 啪精品| 大香蕉手机视频| 婷婷黄色五月天在线视频| 激情婷婷护士激情| 欧美五月婷婷| 久久人妻少妇嫩草AV| 深爱激情五月天色婷婷| 婷婷六月色情| 97人人干| 天天草天天摸| 五月天开心色情网| 五月丁香综缴情性爱| 91色情播放| 天天婷婷综合| 丁香五月停停av| 日本一级一级一级一级| 色综合久久88色综合天天人守婷| 五月婷婷综合性爱噜噜| 开心五月婷婷激情| 久久人妻www| 婷婷五月天堂| 婷婷五月天首页激情| 91色涩| 五月之婷婷| 五月丁香天堂| 午夜天堂一区人妻| 国产VA亚洲VA96| 亚州精品色情在线观看| 玖玖综合色区在线观看| 婷婷色影院| 婷婷五月天成人小说| 天天舔夜夜操www com| 亞洲自怕| 大战熟女丰满人妻AV| 99超级碰碰| 色播五月丁香婷婷| 99色色爰| 68热超碰在线| 天天射影院| 综合激情五月婷婷| 五月婷婷香| 久久这里只有精彩| www.91操| 五月天大香蕉婷| 国产古装妇女野外A片| 五月天激情综合| 激情六月婷| 激情婷婷五月| 在线观看的av| 久久这里有精品视频| 狠狠狠激情网| 六月婷婷综合| 亚洲国产成人综合| 久久精品系列| 久久五月天丁香花| 九九色video| 五月激情婷婷在线| 狠狠操狠狠爱| 五月六月婷| 深情五月天| 婷婷五月天激情在线观看 | 国产精品18久久久| 天天色视频| 婷婷丁香人妻天天爽| 天堂婷婷五月色| 狠狠做五月婷婷| 99视频在线观看视频| 看逼中文字幕| 婷婷欧美激情| www,婷婷,com| 九九综合九| 国产精品久久欧美久久一区| 青草视频在线观看视频| 色五月播五月| 婷婷爱五月| 色啪影院| 99日韩| 99热综合网| a久久| 婷婷丁香综合网| 丁香五月成人| 亚洲激情四射色| 婷婷丁香社区| 夜夜爽77777妓女免费下载| www九九热| 丁香五月婷婷基地| 99热这里只有精| 丁香六月激| 99热最新| 色五月丁香一区在线| 99热在线精品播放| 色久播播| 天天色综合综合| 婷婷六月激情丁香| 久久婷婷五月天蜜桃| 成人综合伍月天| 色婷婷偷拍| 婷婷五月丁香超碰| 国产精品色色| 久操热| 最新国产AV| 99干日本| 色五月综合激情| 色情五月天se| 久久草婷婷丁香网站| 天天爱综合网| 91操片| 五月丁香在线| 偷偷与邻居做爰完整视频| 99热欲| 9色在线| 婷婷五月天激情偷拍| 五月丁香啪啪综合| 亚洲五月天,激情视频| 91人人爽狠狠狠| 亚洲午夜视频| 精品人妻在线| www.超碰在线| 丁香花五月天社区| 99热只有精品在线| 狠狠夜夜五月丁香| 99免费在线| 日韩色五月| 做爰丰满少妇1313| 国产精品18久久久| 五月丁香六月婷婷久久肏| 涩涩涩,com| 99在线精品观看99| 婷婷六月五月天综合| AV九九| 疯狂做受XXXX高潮A片| 色爱综合五月| 九九视频这里是精品五月| 欧洲S级在线观看| 激情婷婷丁香| 免费V片在线| 九九色热| 五月婷六月丁| 99热这里只有精品在线观看| 欧美日韩日韩成人| 丁香大香蕉| 六月色播| 国产AV一区二区三区日韩| 一区中文字幕电影| 五月丁香999| 99热国产精品| 丁香五月大香蕉在线99| 九九日本视频| 人人人舔人人人操人人人摸人人人97 | 999热成人在线综合网| 五月激情小说| 99色在线视频观看| 九九热视频免费观看| 色五月 五月婷婷| 大香蕉220| 久久性操| 久久色亭亭五月天| 极品人妻VIDEOSSS人妻| 91丨九色丨国产打屁股| 婷婷中文字暮| 男同91| 久久婷婷丁香视频网| 精品怡红九九九| 玖玖爱综合网| 玖玖色资源| 五月丁香成人版| 99在线精品观看99| 九九九九九九毛片| 怡红院视频| 操人91| 超碰三级秋霞| 79精品视频| 婷婷六久久| 欧美婷婷五月无砖| 久久九九综合| 婷婷色六月| 婷婷亚洲欧美丁香五月| 九月色婷婷综合亚洲| 日本本土色网第一区| 91精品人妻少妇无码影院| 色婷婷影音| 狠狠爱成人综合网| 色色网站在线免费观看视频| 婷婷丁香六月| 97婷婷久久丁香| 五月丁香做爱视频| 超碰免费人| 丁香婷婷五月六月天| 天天爽人人综合免费7799| 久久只有这里精品免费| www久久艹| 亚洲无线视频| 婷婷五月六| 综合激情专区| www.99热视频| 五月天基地| 婷婷五月六月丁香| 天天日日| 国产综合网在线| 超碰婷婷色| 思思久热6| 欧洲第一无人区观看| 日韩五月天婷婷| 久操热线| 日本激情五月| 91919191919久久成人视频| 亚洲第一视频 久久| ou洲色吧| 天天干 夜夜爽| 一月婷婷色色| 五月香婷婷| 欧美日韩国产一区| 婷婷伊人综合中文字幕| 超碰在线99| 色色综合网站| 激情五月天之五月婷婷| 国产欧美日韩综合精品一区二区| 五月婷婷手机在线| 中文字幕有多少字| 婷婷综合网伊人| 婷婷激情97| 婷婷大乡焦噜噜| 激情五月天在线观看色婷婷| 成片免费观看视频大全| 五月激情久久综合| 五月丁香亭亭激情操逼网| 激情综合网五月天| 亚洲激情av| 常久最新免费的色吊丝| 天堂五月婷婷| 婷婷五月情| 粉嫩AV久久一区二区三区| 俺去也在线官网| 91艹人| 99精彩视频| 狠狠色丁香久久婷婷综合五月| 九九操屄| 亚洲五月花| 99re99在线看| 成人无码精品1区2区3区免费看| 婷婷在线免费| 啪精品| 婷婷在线播放| 婷婷干五月综合在线播放| caop在线视频| 五月婷无码| 久久思思热| 丁香五月激情综合在线观看| 亚洲字幕AV一区二区三区四区| 五月天成人综合| 91综合色| 九月婷婷人人操人人舔人人爱| 五月天激情图片| 欧美五月丁香啪啪响视频| 成人日韩欧美| 色婷婷丁香五月在线| www色哟哟| 色色色综合视频| www婷婷色| 色色色成人网| 99成人在线观看| 久久er这里只有精品| 亚洲色图日韩网址| 99精品网| 日日干夜夜干| 婷婷亚洲天堂| 色综合久久综合| 婷婷色婷婷| 激情五月天网| 九九热视频免费观看| 婷婷终合色图| 激情综合网激情五月天| 大鸡巴伊人网| 五月婷婷激情综合网| 天天舔日日肏夜夜爽| 五月天婷婷基地综合网| 人人人操 超碰| 99色| 色婷久久| 五月天久久网站| http://www.lingjunshare.com/ | 久久99婷婷| 国产精品VA在线| 天天爽夜夜爽夜爽精品| 综合色99| www.婷婷五月天| 色青青电影色五月| 五月天激情小说| 日日噜噜夜夜狠狠久久丁香六月| 久久九九大香蕉电院| 国产视频久色| AV在线大香蕉| 五月丁香六月激情综合| 成人免费高清在线播放| 九九99久久精品| 蜜桃人妻无码AV天堂三区| 97人人搞| 91碰碰视频| 玖玖爱综合网| 直接看的AV| 伊人五月成人| 2020夜夜操天天爽| 美女要搞搞天天搞搞搞网站| 青青热久精品视频在线观看| 伊人狠狠丁香婷婷综合尤物| 日韩 中文 欧美| 色九月综合网| 久久日曰| 九月丁香八月婷婷久久综合久97| 日日影院 | 国产乱人偷精品人妻A片| 天天色亚洲| 高清无码网址| 久久婷婷五月天| 97人人射| www.99视频| 免费观看全黄做爰的视频| 婷婷五月情| 美女婷婷六月色| 婷婷五月情| 丁香五月婷婷六月婷婷| 婷五月丁香俺| 天天色综和网| 六月米奇色综合| www久久99| 亚洲五月天第一综合干| 婷婷五六日| 五月婷五月婷伊人伊人五月婷| 婷婷五月天中文字幕.| 丁香六月婷婷高清| 色色色99韩| 久色国产| 26uuu欧美宗合| 婷婷五月天小说| 五月天婷婷在线观看| www.91色| 国产乱子轮XXX农村| 九九色网专区| 国模狼狼| 99色精品| 日本3级片一区2区| 九九av| 色宗合久久五月婷婷| 五月天婷婷青青草| 五月婷婷视频| 色丁香五月婷婷| 99自拍视频在线观看| 久久婷婷五月综合色区| 激情久久丁香| 亚洲婷婷丁香| 五月天色色色| 狠狠精品干练久久久无码中文字幕| 五月丁香六月停停停| 九九99九九99| 欧美在线视频99| WWW.99热| 大香蕉啪啪| 99re这里只有| 字母不卡码人逼| 色五月天.con| 六月丁香深深爱| 天天综合网在线| 色老久久| 五月婷婷色播| 丁香九月综合在线| 久久九九99视频| 久九色| 五月草影视| 五月天婷婷无码视频| 97色色色色色| 婷婷五月欧美综合| 日韩 mm 不卡| 思思99热在线| 五月天婷婷成人网| 色婷婷久久| 青青久久五月天丁香婷婷| 色综合色| 色久综合天天做视频| 伊九九三级区| 热99国产精品| 99免费在线| 亚洲乱码日产精品BD在线观看| 色色999三级片| 99综合色色色| 99re这里只有| 人人摸人人干| 操逼视频一区| 九九精品在线观看视频6| 玖玖色综合网| www。五月,com| 五月婷婷成人网首页| 99久在线精品99re8热| 亚洲精品久久久无码| 丁香五月激情棕合| 久热这里精品免费| 五月天色不卡| 九月av| 国产丁香五月天婷婷| 天天日夜夜拍| 亚洲成人超碰| 丁香5月啪啪| 久久久激情| 91热在线| 色 五月婷婷基地| 五月丁香大香蕉| 激情九月婷婷| 久久综合中文字幕| 丁香五月婷婷av影院| 99热这里有精品6| 欧美色色色| 我想看国产大学生口爆吞精的视频| 五月丁香亚洲五月| 色婷婷五月综合| 五月婷婷偷拍| 成人网在线视频| 1234操逼网| 99热精品6| 日韩99无码| 五月丁香六月婷婷免费视频| 久久久97| 91婷婷色五月| 五月婷婷深深爱| 欧美黄色一级录像| 五月天自拍网| 日日影院 | 情欲综合网| 成片免费观看视频大全| 在线视频99| 婷婷五月丁香色播| AV五月丁香| 夜夜爽77777妓女免费下载| 99色色热| 99在线视频免费| 色五月婷婷综合在线| 色五月偷偷| 91se精品国产| 丁香五月天视频在线播放| 久久丁香综合精品综合| 丁香五月综合久久八|