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

ARTICLE DETAIL

資訊詳情

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

情感詞典+傳統(tǒng)機(jī)器學(xué)習(xí):四套模型源碼解析與實(shí)戰(zhàn)

情感詞典+傳統(tǒng)機(jī)器學(xué)習(xí):四套模型源碼解析與實(shí)戰(zhàn) 簡(jiǎn)介基于情感詞典和多種機(jī)器學(xué)習(xí)模型的情感極性分析設(shè)計(jì)源碼面向自然語(yǔ)言處理研究者與初中級(jí)開(kāi)發(fā)者用于從文本中判別積極、消極或中性情緒可應(yīng)用于輿情監(jiān)控、評(píng)論分析等場(chǎng)景。資源包共28個(gè)文件主要由5個(gè)Python源文件、12個(gè)txt詞典/語(yǔ)料、4個(gè)Excel評(píng)估結(jié)果、2個(gè)png效果圖及dict、gitignore等組成整體大小17.01MB目錄結(jié)構(gòu)清晰便于按模塊研讀。目前已有365人學(xué)習(xí)。源碼實(shí)現(xiàn)k-NN、樸素貝葉斯、最大熵與SVM等經(jīng)典算法覆蓋情感詞典構(gòu)建、特征提取、模型訓(xùn)練及評(píng)估全流程并附有酒店、外賣(mài)、電影等多領(lǐng)域?qū)嶒?yàn)語(yǔ)料與運(yùn)行結(jié)果。通過(guò)學(xué)習(xí)可掌握文本預(yù)處理、分類(lèi)模型調(diào)參和結(jié)果可視化方法適合作為情感分析入門(mén)或課程設(shè)計(jì)的參考實(shí)現(xiàn)。1. 用詞典加傳統(tǒng)機(jī)器學(xué)習(xí)做情感極性分析這份 Python 源碼能直接跑通四套模型情感極性分析這些年被深度學(xué)習(xí)占了頭條但真正落到小規(guī)模數(shù)據(jù)集、可解釋性要求高的場(chǎng)景基于情感詞典加傳統(tǒng)機(jī)器學(xué)習(xí)模型依然是性?xún)r(jià)比最高的方案。這份源碼打包了 k-NN、樸素貝葉斯、最大熵、SVM 四套分類(lèi)器配好了中文酒店、中文外賣(mài)、英文電影三個(gè)領(lǐng)域的語(yǔ)料和情感詞典解壓之后改改路徑就能跑出評(píng)估結(jié)果。它解決的核心問(wèn)題是當(dāng)你想在自定義數(shù)據(jù)集上做正負(fù)情感分類(lèi)又不想從零寫(xiě)分詞、特征選擇、模型訓(xùn)練和評(píng)估這條鏈路時(shí)這份源碼把整條 pipeline 都補(bǔ)齊了。適合 NLP 入門(mén)者做課程設(shè)計(jì)、研究生做 baseline 對(duì)比也適合工程師快速驗(yàn)證一個(gè)文本分類(lèi)需求能不能用傳統(tǒng)方案滿(mǎn)足。2. 先看清資源結(jié)構(gòu)詞典、語(yǔ)料、特征文件各管哪一段拿到壓縮包先別急著跑代碼把文件按用途分組是節(jié)省時(shí)間的第一步。這份源碼的文件命名非常直白基本把訓(xùn)練集規(guī)模、特征數(shù)、模型類(lèi)型都寫(xiě)進(jìn)了文件名里比如Bayes-hotel-train-2200-test-800-f-5000就是貝葉斯模型跑酒店語(yǔ)料2200 條訓(xùn)練、800 條測(cè)試、5000 個(gè)特征。先搞清每個(gè)文件在 pipeline 里的位置后面調(diào)參才不至于抓瞎。2.1 詞典文件拆解八類(lèi)詞典如何協(xié)同完成極性判斷情感詞典是這套源碼的地基。f_dict目錄下共 8 個(gè) txt 詞典各司其職positive_dict.txt和negative_dict.txt存情感詞adverb_dict.txt存程度副詞denial_dict.txt存否定詞conjunction_dict.txt存轉(zhuǎn)折連詞phrase_dict.txt存短語(yǔ)級(jí)情感單元punctuation_dict.txt存情感標(biāo)點(diǎn)user.dict用于補(bǔ)充自定義詞。為什么需要這么多類(lèi)型因?yàn)閱渭兤ヅ淝楦性~會(huì)漏掉大量語(yǔ)義信息。以「酒店不算太差」這句話(huà)為例基礎(chǔ)情感詞匹配會(huì)命中「差」這個(gè)負(fù)向詞但如果只看這一個(gè)詞判斷就是負(fù)向。加入否定詞后「不」會(huì)翻轉(zhuǎn)情感方向再加入程度副詞「太」會(huì)調(diào)整情感強(qiáng)度。三層疊加之后這句話(huà)的情感值會(huì)從負(fù)向被拉回中性偏正真實(shí)語(yǔ)義才能被還原。短語(yǔ)詞典處理的則是「性?xún)r(jià)比很高」「服務(wù)態(tài)度好」這類(lèi)組合單元單字面拆分會(huì)丟失整體語(yǔ)義。# 情感得分計(jì)算的樸素實(shí)現(xiàn)展示詞典如何協(xié)同 import re def load_dict(path): words set() with open(path, r, encodingutf-8) as f: for line in f: word line.strip() if word: words.add(word) return words # 加載各詞典 pos_words load_dict(f_dict/positive_dict.txt) neg_words load_dict(f_dict/negative_dict.txt) adverb_words load_dict(f_dict/adverb_dict.txt) denial_words load_dict(f_dict/denial_dict.txt) # 程度副詞權(quán)重表實(shí)際項(xiàng)目中按詞典順序或詞頻統(tǒng)計(jì)賦值 adverb_weight {很: 1.5, 太: 1.8, 非常: 2.0, 有點(diǎn): 0.7, 稍微: 0.5} def sentence_polarity(tokens): score 0.0 i 0 while i len(tokens): word tokens[i] if word in pos_words: score 1.0 elif word in neg_words: score - 1.0 if word in denial_words: # 翻轉(zhuǎn)到下一情感詞為止實(shí)際項(xiàng)目中需限定窗口 for j in range(i 1, min(i 3, len(tokens))): if tokens[j] in pos_words: score - 1.5 # 否定正向 負(fù)向 elif tokens[j] in neg_words: score 1.5 if word in adverb_words: for j in range(i 1, min(i 2, len(tokens))): if tokens[j] in pos_words or tokens[j] in neg_words: base 1.0 if tokens[j] in pos_words else -1.0 score (adverb_weight.get(word, 1.2) - 1.0) * base i 1 return score這段代碼展示了詞典打分的基本循環(huán)邏輯。adverb_weight字典是手工設(shè)定的經(jīng)驗(yàn)值實(shí)際項(xiàng)目中可以用互信息或詞頻統(tǒng)計(jì)來(lái)量化每個(gè)副詞的強(qiáng)度系數(shù)。否定詞的翻轉(zhuǎn)窗口我限制在 3 個(gè)詞之內(nèi)這是處理口語(yǔ)文本時(shí)比較穩(wěn)妥的做法——「不是很滿(mǎn)意」和「不是特別滿(mǎn)意」的否定范圍都覆蓋到了但再遠(yuǎn)的詞就不該被「不」影響。最后得分大于 0 判為正向小于 0 判為負(fù)向等于 0 則交給后續(xù)的機(jī)器學(xué)習(xí)模型兜底。單純?cè)~典匹配的準(zhǔn)確率通常只有 70% 上下主要敗在未登錄詞和反諷句式上。但它的價(jià)值在于能生成高質(zhì)量的特征候選集——通過(guò)詞典初篩出的情感候選詞配合卡方檢驗(yàn)?zāi)艿玫奖葐渭冊(cè)~頻統(tǒng)計(jì)更精準(zhǔn)的特征維度。2.2 語(yǔ)料與中間文件酒店、外賣(mài)、電影三個(gè)領(lǐng)域的訓(xùn)練測(cè)試分布f_corpus目錄下放著 5 個(gè)語(yǔ)料文件ch_hotel_corpus.txt中文酒店、ch_waimai_corpus.txt和ch_waimai2_corpus.txt中文外賣(mài)、en_movie_corpus.txt和en_movie2_corpus.txt英文電影。三個(gè)領(lǐng)域覆蓋了兩種語(yǔ)言、三種文本風(fēng)格這是刻意為之的——酒店評(píng)論偏正式長(zhǎng)句外賣(mài)評(píng)論偏口語(yǔ)短句電影評(píng)論中英混雜且情緒表達(dá)更夸張。從 Excel 文件名可以還原出各數(shù)據(jù)集的劃分方案數(shù)據(jù)集訓(xùn)練集規(guī)模測(cè)試集規(guī)模特征數(shù)對(duì)應(yīng)模型酒店中文22008005000Bayes電影英文7003005000Bayes外賣(mài)中文300010005000SVMC150線性核訓(xùn)練測(cè)試比大約為 7:3 到 3:1這在文本分類(lèi)里屬于常見(jiàn)配置。700 條訓(xùn)練數(shù)據(jù)對(duì)機(jī)器學(xué)習(xí)模型來(lái)說(shuō)偏少但對(duì)樸素貝葉斯而言反而夠用——它假設(shè)特征獨(dú)立小樣本下不太容易過(guò)擬合。外賣(mài)數(shù)據(jù)集最大3000 條訓(xùn)練樣本配合 SVM 線性核實(shí)測(cè)效果通常優(yōu)于另外兩個(gè)領(lǐng)域因?yàn)橥赓u(mài)評(píng)論句式短、情感詞密集、噪聲少。chi1.png和chi2.png是卡方檢驗(yàn)特征選擇的可視化結(jié)果evaluation.PNG是各模型評(píng)估指標(biāo)對(duì)比圖maxent_iteration.PNG是最大熵模型的迭代收斂曲線。這幾張圖不是擺設(shè)后面評(píng)估模型效果時(shí)可以直接對(duì)照看。3. 特征提取與降維feature_extraction.py 怎么把文本變成特征矩陣文本分類(lèi)繞不開(kāi)的環(huán)節(jié)是把原始文本轉(zhuǎn)成模型能吃的數(shù)值特征。這份源碼的特征提取思路和主流做法一致中文分詞后用卡方檢驗(yàn)CHI做特征選擇選出最具有區(qū)分度的前 N 個(gè)特征詞最終輸出 LIBSVM 格式的特征向量。這種方案在 2016 年前后是教科書(shū)級(jí)的標(biāo)準(zhǔn)流程現(xiàn)在看依然不過(guò)時(shí)。3.1 卡方檢驗(yàn)選特征為什么選前 5000 個(gè)而不是全部卡方檢驗(yàn)的核心思想是衡量某個(gè)詞和某個(gè)類(lèi)別之間的相關(guān)性。如果一個(gè)詞在正向文檔中出現(xiàn)的頻率顯著高于在負(fù)向文檔中的頻率它對(duì)該分類(lèi)任務(wù)的信息量就大。計(jì)算每個(gè)候選詞的卡方值后按從大到小排序取前 5000 個(gè)詞組成特征詞表。5000 這個(gè)數(shù)字不是拍腦袋定的特征太多會(huì)引入噪聲降低泛化能力太少又會(huì)丟失有效區(qū)分信息對(duì)萬(wàn)級(jí)語(yǔ)料來(lái)說(shuō)3000 到 8000 之間通常能取得較好的平衡源碼選擇 5000 屬于穩(wěn)妥的中位數(shù)。# 卡方特征選擇的核心計(jì)算 import math from collections import Counter def chi_square(word, pos_docs, neg_docs, total_pos, total_neg): 計(jì)算某個(gè)詞的卡方值 word: 候選特征詞 pos_docs: 包含該詞的正向文檔集合 neg_docs: 包含該詞的負(fù)向文檔集合 total_pos: 正向文檔總數(shù) total_neg: 負(fù)向文檔總數(shù) a len(pos_docs) # 正向且包含該詞 b len(neg_docs) # 負(fù)向且包含該詞 c total_pos - a # 正向且不包含該詞 d total_neg - b # 負(fù)向且不包含該詞 n total_pos total_neg # 卡方公式注意分母為0時(shí)的保護(hù) denominator (a c) * (b d) * (a b) * (c d) if denominator 0: return 0.0 chi2 n * (a * d - b * c) ** 2 / denominator return chi2 def select_top_k_features(tokenized_docs, labels, k5000): 從分詞后的文檔中選出卡方值最高的k個(gè)詞 tokenized_docs: 嵌套列表 [[詞1, 詞2, ...], ...] labels: 對(duì)應(yīng)的情感標(biāo)簽列表1為正0為負(fù) k: 期望保留的特征數(shù) pos_docs [set(doc) for doc, label in zip(tokenized_docs, labels) if label 1] neg_docs [set(doc) for doc, label in zip(tokenized_docs, labels) if label 0] total_pos len(pos_docs) total_neg len(neg_docs) # 統(tǒng)計(jì)每個(gè)詞出現(xiàn)在哪些文檔中 word_doc_map {} for doc in pos_docs: for word in doc: word_doc_map.setdefault(word, [[], []])[0].append(id(doc)) for doc in neg_docs: for word in doc: word_doc_map.setdefault(word, [[], []])[1].append(id(doc)) word_chi2 {} for word, (pos_doc_ids, neg_doc_ids) in word_doc_map.items(): # 這里把文檔ID集合轉(zhuǎn)換為包含該詞的文檔數(shù) score chi_square(word, pos_doc_ids, neg_doc_ids, total_pos, total_neg) word_chi2[word] score # 按卡方值降序取前k個(gè) top_k sorted(word_chi2.items(), keylambda x: x[1], reverseTrue)[:k] return [word for word, _ in top_k]卡方計(jì)算的輸入數(shù)據(jù)結(jié)構(gòu)需要事先準(zhǔn)備好pos_docs和neg_docs是包含某個(gè)詞的所有文檔的集合不是詞頻計(jì)數(shù)。我給出的word_doc_map用文檔 ID 做標(biāo)識(shí)避免同一個(gè)文檔重復(fù)計(jì)數(shù)。k值可以直接替換成代碼里的f-5000參數(shù)如果你想測(cè)試不同特征數(shù)對(duì)模型效果的影響改這個(gè)值重跑即可。需要留意的是chi_square函數(shù)的四個(gè)變量a、b、c、d中c和d的值來(lái)自文檔總數(shù)減去包含該詞的文檔數(shù)需要確保文檔 ID 的集合運(yùn)算正確否則算出來(lái)的卡方值全部失真。特征選擇完成后每篇文檔就會(huì)被表示成一個(gè) 5000 維的向量維度上只有 0 和 1 兩種取值——1 表示該特征詞在這篇文檔中出現(xiàn)0 表示未出現(xiàn)。這種 one-hot 式表示法雖然有信息損失丟失了詞頻但在 SVM 和樸素貝葉斯這類(lèi)模型上二值特征往往比原始詞頻特征更抗噪聲也是 LIBSVM 最常用的輸入格式。3.2 從原始文本到特征向量分詞、去停用詞、向量化的完整鏈路特征提取的完整鏈路如下原始語(yǔ)料 → 分詞 → 去停用詞 → 卡方特征選擇 → 特征向量化 → 輸出到 Excel 或 LIBSVM 格式文件。中文部分依賴(lài)結(jié)巴分詞英文部分按空格切分即可。停用詞表直接復(fù)用punctuation_dict.txt再加進(jìn)去一批無(wú)實(shí)際情感含義的高頻詞比如「的」「了」「是」「在」。# 標(biāo)準(zhǔn)的中文文本清洗與向量化流程 import jieba import re def load_stopwords(pathf_dict/punctuation_dict.txt): stopwords set() with open(path, r, encodingutf-8) as f: for line in f: word line.strip() if word: stopwords.add(word) # 補(bǔ)充常見(jiàn)無(wú)意義高頻詞 extra_stops {的, 了, 是, 在, 就, 都, 也, 很, 還, 被} stopwords.update(extra_stops) return stopwords stopwords load_stopwords() def preprocess_text(raw_text): 原始文本清洗與分詞 返回: 去停用詞后的詞列表 # 去除URL、用戶(hù)、特殊符號(hào) text re.sub(rhttps?://\S|www\.\S, , raw_text) text re.sub(r\w, , text) # 去除所有非中英文、數(shù)字、常見(jiàn)標(biāo)點(diǎn)的字符 text re.sub(r[^\u4e00-\u9fa5a-zA-Z0-9\s。、], , text) # 結(jié)巴分詞 words jieba.lcut(text) # 去停用詞和單字 filtered [w for w in words if w.strip() and w not in stopwords and len(w) 1] return filtered def text_to_vector(tokens, feature_words): 把分詞結(jié)果轉(zhuǎn)成特征向量 tokens: preprocess_text 返回的詞列表 feature_words: select_top_k_features 選出的特征詞表 返回: 與 feature_words 等長(zhǎng)的0/1列表 token_set set(tokens) return [1 if word in token_set else 0 for word in feature_words]preprocess_text里的正則表達(dá)式[^\u4e00-\u9fa5a-zA-Z0-9\s。、]會(huì)把表情符號(hào)、emoji 全部剔除。這里有一個(gè)權(quán)衡新浪微博等社交媒體數(shù)據(jù)中 emoji 本身攜帶情感信息全部剔除會(huì)損失信號(hào)。但這份源碼針對(duì)的是酒店、外賣(mài)、電影評(píng)論這三類(lèi)文本中 emoji 占比很低剔除不會(huì)明顯影響效果。如果你想處理社交媒體評(píng)論可以考慮單獨(dú)把 emoji 映射成情感標(biāo)簽而不是直接刪掉。text_to_vector返回的是 0/1 向量長(zhǎng)度為特征詞表的大小。5000 個(gè)特征對(duì)應(yīng) 5000 維向量每條樣本占用的內(nèi)存大約幾十 KB3000 條訓(xùn)練樣本全部加載也不到幾百 MB內(nèi)存完全不是問(wèn)題。真正耗時(shí)的環(huán)節(jié)是卡方檢驗(yàn)時(shí)的詞-文檔映射構(gòu)建如果語(yǔ)料超過(guò) 5 萬(wàn)條建議用稀疏矩陣來(lái)存儲(chǔ)文檔-詞頻關(guān)系否則內(nèi)存消耗會(huì)指數(shù)級(jí)增長(zhǎng)。4. 四套分類(lèi)器實(shí)現(xiàn)classifiers.py 與 tools.py 的核心邏輯源碼里的classifiers.py封裝了 k-NN、樸素貝葉斯、最大熵、SVM 四個(gè)分類(lèi)器的實(shí)現(xiàn)tools.py負(fù)責(zé)數(shù)據(jù)處理和評(píng)估指標(biāo)計(jì)算。四套模型在同一條特征提取鏈路下運(yùn)行對(duì)比結(jié)果時(shí)才能公平反映模型本身的差異。每套模型都可以獨(dú)立運(yùn)行控制臺(tái)會(huì)輸出準(zhǔn)確率、召回率、F1 值等評(píng)估指標(biāo)。4.1 樸素貝葉斯與最大熵從概率視角看文本分類(lèi)樸素貝葉斯假設(shè)特征之間相互獨(dú)立計(jì)算每個(gè)類(lèi)別下特征向量的條件概率然后取后驗(yàn)概率最大的類(lèi)別作為預(yù)測(cè)結(jié)果。實(shí)際代碼中為了避免概率為 0 的極端情況會(huì)做拉普拉斯平滑。最大熵模型則放棄了獨(dú)立性假設(shè)通過(guò)約束條件逐步迭代調(diào)整特征權(quán)重在梯度下降或迭代縮放算法的驅(qū)動(dòng)下逼近最優(yōu)解。兩者在中小數(shù)據(jù)集上的準(zhǔn)確率通常很接近但最大熵的收斂速度和特征維度的關(guān)系更密切。# 樸素貝葉斯與最大熵分類(lèi)器的核心實(shí)現(xiàn) import math from collections import defaultdict class NaiveBayesClassifier: def __init__(self, alpha1.0): self.alpha alpha # 拉普拉斯平滑系數(shù) self.prior {} # 先驗(yàn)概率 P(c) self.cond_prob {} # 條件概率 P(w|c) self.classes [] def fit(self, X, y, feature_words): X: 0/1特征矩陣list of list y: 標(biāo)簽列表 feature_words: 特征詞表 self.classes list(set(y)) n_samples len(y) # 計(jì)算先驗(yàn)概率 class_counts defaultdict(int) for label in y: class_counts[label] 1 for c in self.classes: self.prior[c] class_counts[c] / n_samples # 計(jì)算條件概率 P(word|c) # 先統(tǒng)計(jì)每個(gè)類(lèi)別下每個(gè)詞出現(xiàn)的文檔數(shù) word_class_count defaultdict(lambda: defaultdict(int)) class_total_count defaultdict(int) for idx, label in enumerate(y): class_total_count[label] 1 for j, val in enumerate(X[idx]): if val 1: word_class_count[label][j] 1 # 應(yīng)用拉普拉斯平滑計(jì)算條件概率 vocab_size len(feature_words) for c in self.classes: self.cond_prob[c] {} total class_total_count[c] for j in range(vocab_size): count word_class_count[c][j] self.cond_prob[c][j] (count self.alpha) / (total self.alpha * vocab_size) def predict(self, X): predictions [] for x in X: best_c None best_score -float(inf) for c in self.classes: # 用對(duì)數(shù)概率避免下溢 log_prob math.log(self.prior[c]) for j, val in enumerate(x): if val 1: log_prob math.log(self.cond_prob[c][j]) if log_prob best_score: best_score log_prob best_c c predictions.append(best_c) return predictions拉普拉斯平滑系數(shù)alpha默認(rèn)取 1.0這是經(jīng)驗(yàn)值。alpha越大對(duì)未在訓(xùn)練集中出現(xiàn)的特征的懲罰越強(qiáng)。在實(shí)際項(xiàng)目中如果特征維度很高超過(guò) 1 萬(wàn)建議把a(bǔ)lpha下調(diào)到 0.5 左右否則大量未出現(xiàn)的特征會(huì)把真實(shí)信號(hào)淹沒(méi)。預(yù)測(cè)階段使用對(duì)數(shù)概率累加而不是概率連乘是因?yàn)?5000 個(gè) 0/1 特征的連乘結(jié)果會(huì)極小直接浮點(diǎn)運(yùn)算會(huì)下溢成 0對(duì)數(shù)變換是必做的一步。最大熵的實(shí)現(xiàn)在思路上完全不同它定義特征函數(shù)通常是「特征詞是否出現(xiàn)」的指示函數(shù)然后通過(guò)迭代縮放算法反復(fù)修正特征權(quán)重使得模型的經(jīng)驗(yàn)分布與真實(shí)分布接近。實(shí)際應(yīng)用中最大熵的訓(xùn)練時(shí)間通常是樸素貝葉斯的 5 到 10 倍配合maxent_iteration.PNG那張圖可以看到迭代到 100 輪左右時(shí)模型已經(jīng)收斂再多迭代只是浪費(fèi)時(shí)間。4.2 SVM 與 k-NN邊界劃分與距離度量的兩種哲學(xué)SVM 通過(guò)尋找最大間隔超平面來(lái)區(qū)分正負(fù)類(lèi)泛化能力強(qiáng)是文本分類(lèi)里的首選模型之一。SVM-waimai-train-3000-test-1000-f-5000-C-150-2016-06-02-23-46-11-lin.xls里的C-150表示懲罰系數(shù)取 150lin表示線性核。C 值控制對(duì)誤分類(lèi)樣本的容忍度C 越大對(duì)訓(xùn)練集擬合越充分但過(guò)大會(huì)導(dǎo)致過(guò)擬合C 越小模型越偏向簡(jiǎn)單的超平面。150 這個(gè)值偏高說(shuō)明作者更看重訓(xùn)練集上的準(zhǔn)確率。k-NN 則完全不同它不做任何訓(xùn)練直接拿測(cè)試樣本與全部訓(xùn)練樣本計(jì)算距離取距離最近的 K 個(gè)鄰居中占比最高的類(lèi)別作為預(yù)測(cè)結(jié)果。距離度量方式一般采用歐氏距離或余弦相似度對(duì)于 0/1 特征向量余弦相似度通常比歐氏距離更合理——因?yàn)樗皇芟蛄块L(zhǎng)度影響。# SVM與k-NN的調(diào)用封裝 from sklearn.svm import SVC from sklearn.neighbors import KNeighborsClassifier from sklearn.metrics import classification_report def train_svm(X_train, y_train, C150, kernellinear): 訓(xùn)練SVM分類(lèi)器 C: 懲罰系數(shù) kernel: 核函數(shù)文本分類(lèi)默認(rèn)線性核 clf SVC(CC, kernelkernel, probabilityFalse, tol0.001) clf.fit(X_train, y_train) return clf def train_knn(X_train, y_train, k5, metriccosine): 訓(xùn)練k-NN分類(lèi)器 k: 鄰居數(shù) metric: 距離度量方式 clf KNeighborsClassifier(n_neighborsk, metricmetric) clf.fit(X_train, y_train) return clf # 訓(xùn)練與評(píng)估示例 def run_evaluation(X_train, y_train, X_test, y_test, model_typesvm): if model_type svm: model train_svm(X_train, y_train, C150, kernellinear) elif model_type knn: model train_knn(X_train, y_train, k5, metriccosine) else: raise ValueError(Unsupported model type) y_pred model.predict(X_test) # 打印完整評(píng)估報(bào)告包含precision、recall、f1-score print(classification_report(y_test, y_pred, target_names[負(fù)向, 正向])) return y_predSVM 的tol0.001是收斂容差值越小訓(xùn)練越充分但耗時(shí)越長(zhǎng)。文本分類(lèi)中 5000 維特征、3000 條訓(xùn)練樣本的數(shù)據(jù)量線性 SVM 訓(xùn)練時(shí)間通常在秒級(jí)。k-NN 的 K 值調(diào)參有個(gè)常見(jiàn)誤區(qū)——K 越大模型越平滑但過(guò)大的 K 會(huì)把邊界樣本也拉入決策導(dǎo)致準(zhǔn)確率下降。從該源碼的場(chǎng)景看K 取 5 是不錯(cuò)的默認(rèn)值但通過(guò)交叉驗(yàn)證往往會(huì)發(fā)現(xiàn) K3 或 K11 在這個(gè)數(shù)據(jù)集上效果更好這個(gè)只能實(shí)測(cè)。傳統(tǒng)機(jī)器學(xué)習(xí)的真實(shí)優(yōu)勢(shì)在特征維度遠(yuǎn)小于樣本數(shù)量的場(chǎng)景下最能體現(xiàn)。5000 維特征對(duì)應(yīng) 3000 條訓(xùn)練樣本特征數(shù)大于樣本數(shù)此時(shí) SVM 的泛化能力依賴(lài)正則化C 值需要調(diào)小一些才能避免過(guò)擬合。作者選了 C150 可能在自己的測(cè)試集上有過(guò)驗(yàn)證你也可以在 50 到 200 之間做一輪網(wǎng)格搜索。5. 評(píng)估結(jié)果與避坑記錄evaluation.PNG 背后的數(shù)據(jù)怎么看evaluation.PNG是四套模型在三個(gè)數(shù)據(jù)集上的綜合評(píng)估對(duì)比圖maxent_iteration.PNG展示最大熵模型每輪迭代的準(zhǔn)確率變化。評(píng)估階段最容易出的問(wèn)題不在于模型代碼寫(xiě)沒(méi)寫(xiě)對(duì)而在于訓(xùn)練測(cè)試集劃分是否合理、評(píng)估指標(biāo)是否選對(duì)、特征生成過(guò)程是否泄漏了測(cè)試集信息。很多跑出來(lái)的結(jié)果虛高就是因?yàn)榇a里不經(jīng)意間把測(cè)試集的信息混進(jìn)了特征選擇環(huán)節(jié)。5.1 從文件名解析評(píng)估結(jié)果train/test 比例與特征數(shù)對(duì)準(zhǔn)確率的影響四個(gè) Excel 文件分別對(duì)應(yīng)不同模型在不同數(shù)據(jù)集上的跑分結(jié)果文件名已經(jīng)透露了關(guān)鍵信息Bayes-hotel-train-2200-test-800-f-5000樸素貝葉斯酒店語(yǔ)料2200 訓(xùn)練 / 800 測(cè)試特征數(shù) 5000Bayes-movie2-train-700-test-300-f-5000樸素貝葉斯電影語(yǔ)料700 訓(xùn)練 / 300 測(cè)試特征數(shù) 5000SVM-waimai-train-3000-test-1000-f-5000-C-150-linSVM 線性核外賣(mài)語(yǔ)料3000 訓(xùn)練 / 1000 測(cè)試特征數(shù) 5000C150一眼能看出的規(guī)律是訓(xùn)練數(shù)據(jù)越多的數(shù)據(jù)集模型準(zhǔn)確率普遍更高。外賣(mài)數(shù)據(jù)集的 SVM 結(jié)果通常能做到 85% 以上酒店數(shù)據(jù)的貝葉斯結(jié)果在 80% 上下電影數(shù)據(jù)只有 700 條訓(xùn)練樣本準(zhǔn)確率會(huì)掉到 75% 左右。這不是模型不行而是數(shù)據(jù)量不足的必然結(jié)果。特征數(shù)從幾百逐步提升到 5000 的過(guò)程中準(zhǔn)確率通常先快速上升后趨于平穩(wěn)。chi1.png和chi2.png兩張圖應(yīng)該展示了不同特征數(shù)下的準(zhǔn)確率變化曲線可以看到 2000 個(gè)特征以后曲線基本走平。這意味著在實(shí)際項(xiàng)目中如果你計(jì)算資源有限用 2000 到 3000 個(gè)特征可以在幾乎不損失準(zhǔn)確率的情況下大幅縮短訓(xùn)練時(shí)間。評(píng)估指標(biāo)上不能只盯準(zhǔn)確率。當(dāng)正負(fù)樣本比例失衡時(shí)比如外賣(mài)評(píng)論中負(fù)向樣本只占 20%準(zhǔn)確率 80% 可能只是因?yàn)槟P桶阉袠颖径寂谐闪苏?。正確的做法是同時(shí)觀察 precision、recall、F1-score這三個(gè)指標(biāo)在classification_report的輸出中都有。如果只關(guān)注準(zhǔn)確率而在樣本不均衡的數(shù)據(jù)集上做評(píng)估結(jié)果毫無(wú)參考價(jià)值。5.2 避坑清單詞典匹配翻車(chē)的五個(gè)高頻原因以下踩坑記錄來(lái)自實(shí)際運(yùn)行這類(lèi)源碼時(shí)最常見(jiàn)的報(bào)錯(cuò)和異常結(jié)果每一條都對(duì)應(yīng)具體的現(xiàn)象和修復(fù)方式。踩坑一中文語(yǔ)料用英文分詞器特征詞表全是空現(xiàn)象跑完特征提取feature_words為空列表后續(xù)所有模型訓(xùn)練直接報(bào)維度為 0。原因源碼里中英文語(yǔ)料共用了同一套預(yù)處理邏輯如果默認(rèn)用空格分詞中文文本會(huì)被當(dāng)成長(zhǎng)字符串整段保留卡方檢驗(yàn)后不可能選出合理特征。解決預(yù)處理入口處按語(yǔ)料語(yǔ)言分流中文走jieba.lcut英文走str.split()。一個(gè)可復(fù)用的判斷方式是統(tǒng)計(jì)文本中的字符類(lèi)別占比中文字符占比超過(guò) 30% 就按中文流程處理。def smart_tokenize(text): chinese_chars len(re.findall(r[\u4e00-\u9fa5], text)) total_chars len(text.strip()) chinese_ratio chinese_chars / max(total_chars, 1) if chinese_ratio 0.3: return jieba.lcut(text) else: return text.lower().split()踩坑二否定詞翻轉(zhuǎn)整句把「不是不好」判成負(fù)向現(xiàn)象包含「不是不好」「不得不點(diǎn)贊」的句子被模型判為負(fù)向人工復(fù)核明顯錯(cuò)誤。原因否定詞處理只做了簡(jiǎn)單的全局翻轉(zhuǎn)遇到雙重否定時(shí)邏輯徹底顛倒。not或「不」后面不管隔多遠(yuǎn)都把情感值翻轉(zhuǎn)一次變成了反向的疊加。解決否定詞翻轉(zhuǎn)限定窗口范圍一般取否定詞后 2 到 3 個(gè)詞同時(shí)遇到兩個(gè)否定詞時(shí)視為正向表達(dá)。源碼中denial_dict.txt的覆蓋范圍也要確認(rèn)是否包含「無(wú)」「莫」「非」等變體。踩坑三訓(xùn)練測(cè)試集劃分前做了歸一化測(cè)試集信息泄漏現(xiàn)象模型在測(cè)試集上的準(zhǔn)確率高達(dá) 95%但換一批新數(shù)據(jù)掉到 70%明顯不合常理。原因特征縮放或卡方特征選擇時(shí)用了全量數(shù)據(jù)的統(tǒng)計(jì)信息再把這套參數(shù)應(yīng)用到測(cè)試集上等于測(cè)試集的信息提前參與了訓(xùn)練。解決先劃分訓(xùn)練集和測(cè)試集特征選擇只基于訓(xùn)練集做。卡方檢驗(yàn)、TF-IDF 擬合、歸一化參數(shù)都只在訓(xùn)練集上計(jì)算測(cè)試集直接用訓(xùn)練集生成的參數(shù)做變換。這是數(shù)據(jù)泄漏的重災(zāi)區(qū)也是初學(xué)最容易忽略的點(diǎn)。踩坑四conjunction_dict.txt沒(méi)有參與邏輯判斷現(xiàn)象詞典文件齊全但「雖然環(huán)境好但是服務(wù)差」這類(lèi)轉(zhuǎn)折句被判為正向。原因轉(zhuǎn)折連詞的作用是改變句子的情感重心——「但是」之后的語(yǔ)義權(quán)重應(yīng)大于之前。如果代碼里只加載了轉(zhuǎn)折詞詞典卻沒(méi)有實(shí)現(xiàn)權(quán)重調(diào)整邏輯這些詞典形同虛設(shè)。解決在情感得分計(jì)算中遇到轉(zhuǎn)折詞后對(duì)前半句得分打折扣后半句權(quán)重加倍。折扣系數(shù)推薦 0.3 到 0.5具體值靠驗(yàn)證集調(diào)參。踩坑五Excel 結(jié)果文件打不開(kāi)或中文亂碼現(xiàn)象生成的.xls文件用 Excel 打開(kāi)后中文全部亂碼或者提示文件格式損壞。原因?qū)懭?Excel 時(shí)用了錯(cuò)誤的編碼或者xls與xlsx格式混用。老版本xlwt庫(kù)寫(xiě).xls時(shí)只支持有限字符集。解決寫(xiě)入時(shí)明確指定編碼為 UTF-8優(yōu)先輸出.xlsx格式。Python 側(cè)用openpyxl或pandas.to_excel()更穩(wěn)妥。這個(gè)坑不影響模型本身但會(huì)浪費(fèi)十幾分鐘排查時(shí)間。6. 進(jìn)階調(diào)參與驗(yàn)證從 Excel 結(jié)果反推四個(gè)模型的適用邊界源碼跑通只是第一步真正有價(jià)值的是搞清楚四套模型各自適合什么場(chǎng)景以及如何調(diào)整參數(shù)獲得更好的效果。你可以打開(kāi)evaluation.PNG對(duì)照各模型的準(zhǔn)確率和 F1 值結(jié)合下述原則選擇自己的主力模型。以這份源碼的數(shù)據(jù)分布來(lái)看樸素貝葉斯適合小樣本高維特征場(chǎng)景SVM 適合樣本量中等但特征區(qū)分度高的場(chǎng)景最大熵適合需要概率輸出的場(chǎng)景k-NN 則最依賴(lài)距離度量和 K 值選擇。特征數(shù)量的敏感性檢驗(yàn)是個(gè)值得做的實(shí)驗(yàn)把代碼中的f-5000依次改成f-1000、f-3000、f-8000分別跑一輪評(píng)估。你會(huì)看到 1000 個(gè)特征時(shí)準(zhǔn)確率明顯下降3000 到 5000 區(qū)間最穩(wěn)定8000 之后可能不升反降——噪聲特征開(kāi)始干擾模型。以代碼里的select_top_k_features函數(shù)為例把k參數(shù)暴露出來(lái)寫(xiě)個(gè)循環(huán)自動(dòng)做這個(gè)敏感性分析輸出一張「特征數(shù)-準(zhǔn)確率」對(duì)照表這比只跑一次默認(rèn)參數(shù)更能說(shuō)明問(wèn)題。K 值調(diào)優(yōu)是 k-NN 模型的必做項(xiàng)。代碼中的train_knn(X_train, y_train, k5, metriccosine)可以把k分別設(shè)成 3、5、7、11、15 跑一組對(duì)比配合交叉驗(yàn)證觀察曲線。通常 K 太小時(shí)噪聲干擾大太大時(shí)類(lèi)別邊界被模糊。余弦相似度在這個(gè)場(chǎng)景下通常優(yōu)于歐氏距離因?yàn)?0/1 特征向量的歐氏距離受向量稀疏程度影響明顯而余弦相似度只看方向。SVM 的 C 值調(diào)整策略也有套路先用默認(rèn)值比如 1.0跑通記錄準(zhǔn)確率再按對(duì)數(shù)刻度嘗試 C0.1、1、10、100、200找到準(zhǔn)確率峰值所在區(qū)間后在相鄰值之間做細(xì)粒度搜索。線性核在文本分類(lèi)中通常已經(jīng)足夠RBF 核雖然理論上可以擬合更復(fù)雜的邊界但參數(shù)搜索成本翻倍在小數(shù)據(jù)集上還容易過(guò)擬合。# 交叉驗(yàn)證選擇最優(yōu)C值 from sklearn.model_selection import cross_val_score import numpy as np def select_best_c(X, y, c_values): best_c None best_score 0.0 results {} for c in c_values: model SVC(Cc, kernellinear, tol0.001) scores cross_val_score(model, X, y, cv5, scoringaccuracy) mean_score np.mean(scores) results[c] mean_score print(fC{c:.1f}, 平均準(zhǔn)確率{mean_score:.4f}) if mean_score best_score: best_score mean_score best_c c return best_c, results # 候選C值按對(duì)數(shù)均勻分布 best_c, results select_best_c(X_train, y_train, [0.1, 0.5, 1.0, 5.0, 10.0, 50.0, 100.0, 200.0]) print(f最優(yōu)C值: {best_c})交叉驗(yàn)證的cv5表示把訓(xùn)練集切成 5 份輪流用 4 份訓(xùn)練 1 份驗(yàn)證。這比單次劃分訓(xùn)練測(cè)試集更可靠能減少劃分隨機(jī)性帶來(lái)的評(píng)估波動(dòng)。需要注意的是交叉驗(yàn)證只能在訓(xùn)練集上做最終評(píng)估還是要用獨(dú)立的測(cè)試集。跑完上述調(diào)參之后記住一個(gè)原則這種詞典加傳統(tǒng)機(jī)器學(xué)習(xí)的方案準(zhǔn)確率上限大約在 88% 左右想突破這個(gè)瓶頸需要引入詞向量或深度學(xué)習(xí)模型。但在樣本量小于 1 萬(wàn)、需要快速落地、要求結(jié)果可解釋的場(chǎng)景下這套方案依然是第一選擇。我自己做文本分類(lèi)項(xiàng)目時(shí)不管最終要不要上深度學(xué)習(xí)都會(huì)先跑一遍這份 pipeline 作為 baseline——用傳統(tǒng)方法拿到參考分?jǐn)?shù)再?zèng)Q定后續(xù)要不要加復(fù)雜度。從那以后我每次做情感分析類(lèi)項(xiàng)目都強(qiáng)制要求自己先復(fù)現(xiàn)這個(gè)流程確認(rèn)數(shù)據(jù)質(zhì)量沒(méi)問(wèn)題再談模型升級(jí)這個(gè)習(xí)慣幫我避開(kāi)過(guò)不少數(shù)據(jù)泄漏和特征工程的大坑。希望這份源碼的拆解筆記能幫你在情感分析這條路上少走一段彎路。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久思思热视频在线观看| 人妻操操色| 五月婷婷六月丁香综合在线| 五月婷婷丁香五月婷婷| 4399亚洲视频| 久草x色在线观看99| 五月天婷婷AV| 丁香五月婷婷激情蜜桃| 色五月婷婷久久爱| 熟女激情网| 激情丁香婷婷| 99ri国产| 五月天 无码| 丁香五月婷婷久久综合激情网 | 日本三级日本三级99| 日本本土色网第一区| 91碰碰视频在线观看| 久久激情网| 国产激情综合五月久久| 97婷婷狠狠久久综合9色| 五月丁香啪啪啪| 99热在线这里只有精品| 日韩色色网| 色综合久久久综合久久网| 激情综合网五月| 思思久久96热在精品国产,| 超碰国产一区| 欧美日韩二区在线| 99精品国产乱码久久久人妻| 五月天激情丁香| 国产精品蜜臀99| 五月停停色色丁香| 4399无码视频| 69超碰在线| 亚洲综合网 665566| 人人视频色| 色五月综合激情| 九九色黄色| 婷婷五月成人| 少妇性按摩无码中文A片| 日本色天堂| 婷婷色5月激情网| 插插干干干色| 天天狠狠色噜噜| 午夜丁香婷婷| 噜综合| 色婷婷另类| 激情内射人妻1区2区3区| 久久婷婷综合基地| 久久五月网| http://www.sd-xiangsu.com/| 丁香五月在线伊人| 久久杏爱视频| 伊人六月无码视频| 中文字幕性爱丰满| 日本WwW色偷偷丁香花久久久京东热| 午夜成人综合| 国产成人网| 久久久性爱视频| 久久久久人无码人妻| 婷丁五月| 国产寻花在线| 亚洲五月天婷婷综合| 丁香五月在线人妻| 青青草性爱视频| 中文字幕综合网| 九九大香蕉黄色影院| 久久九九亚洲| 99WWW免费视频| CAOBIBI| 4399伦理午夜| www久久99com| 亭亭社区五月天| 日本va欧美va欧美| 亚洲旡码| 国产这里只有精品| 成人网站高清无码| 婷婷香香五月| 九九视频这里只有精品| 操久久网| 噼里啪啦完整版中文在线观看| 99操视频| 婷婷五月天丁香久久| 青青草婷婷久久| 99热这里有精品首页10| 中文不卡一二三区| 开心五月综合激情网| A片一曲| 狠狠色综合网| 先锋影音男人的天堂AV| 亚洲成人高清在线| 啪啪啪五月天| 91碰| 中文字幕操比影片| 五月色综合网欧美网| 六月欧美综合色情| 99精彩视频| 五月丁香婷婷在线| 一区=区操屄高清大全av| 日本精品干| 久久曰曰| 99激情视频| 九月婷婷久久| 日本少妇AA一级特黄大片| 久9视频免费播放| 99热99日…..| 五月丁香婷婷综合视频| 草草夜夜操| 日本操B片| 大香蕉七区| 婷婷色在线| www.lingjunshare.com| 日本天天操| 午夜成人av在线| 激情丁香久久久久久| 久久66er久久| 伊人久久婷婷| 久久久婷婷五月亚洲97号色| 九九热免费| 色综合激情| 五月天婷婷激情四射综合| 日本久久精品| 97精品自拍视频| 色吧综合网| 先锋男人91资源| 99婷婷五月天| 五月激情小说网| 99热有精品在线观看| 九九九热精品| 亚洲欧洲午夜成人精品av| 99性爱| 99操免费视频| 久久免费婷婷视频| 色综合激情图区| 性一交一乱一交A片久久四色| 色天天综合| 亭亭五月色男人| 丁香九月综合在线| 色色 亚洲| 亚洲日韩乱码一区二区三区四区 | 五月婷婷激情综合网| 国产av第一专区| 成人av免费观看| 丁香五月六月婷婷殴美综合| 五月丁香激情综合网官网| 九九热在线观看6| 丁香五月婷婷色情综合| 啪啪视频99| 亚洲视频在线观看99| 亚洲天堂爱爱| 综合网色| 99热在这里只有精品| 天堂亚洲 在线| 五月婷丁香久久久| 国产黄色在线| 2025天天操| 久热婷婷综合| 96五月丁香熟女| 丁香五月天大香蕉啪啪| 丁香五月开心五月激情| 激情五月婷| 亚洲精品无码A片一区二区| 色情五月丁香婷婷网| 婷婷色在线播放| 婷婷丁香五月天操逼| www.夜夜.com| 月色色综合婷婷网| 大香蕉99| 综合丁香婷婷五月天| 99色综合网| 97色欧美| 精品人妻一区| 99精品视频在线| 香蕉AV777XXX色综合一区| 青草性爱视频| 九九九激情网| 色五月欧美| 91丨九色|PRNY熟妇| 欧美丁香婷婷五月| 婷婷五月色综合| 99九九99九九九视频精彩| 4438全国最大视频成人网站在线观看| 五月天啪啪啪| 色播五月| 九九热视频免费观看| 大地9中文在线观看免费高清| 管管補管管紱| 亚洲国产另类av| 色婷婷成人| 久久最新色| 久热免费视频| 多精窝99在线视频| 欧美激情 日韩无码 婷婷 五月天| 激情五月天电影| 9精品视频在线| 久久人人超| 国产欧美日韩性爱| 五月天小说激情| 日本色爽| 女人高潮内射99精品| 五月丁香六月婷婷亚洲激情综合| 热996精品在线观看| 亚洲综合五月天婷婷丁香| 国産精品| 婷婷在线日韩综合| 91欧美日韩综合| 噜综合| 久久久久久久久久久久久9| 五月婷婷丁香狠狠撸久久| 99九精品| 精品夜夜澡人妻无码AV| 婷婷五月色综合| 五月丁香六月婷婷啪啪综合| www.久9| 99热免费精品| 亚洲激情婷婷| 狠狠婷婷色| 99爱在线精品视频免费观看| 婷婷六月开心网| 日本123区日韩欧美不卡在线看| WWW,五月| 色播五月综合网| 六月激情婷婷综合| 欧洲一区二区| 99热亚州综合| 欧美性生交XXXXX无码小说| 天天日本夜夜谢| 丁香六月色香蕉视频| 久热爱大香蕉在线蜜臀悦色| 五月综合激情久久| www.夜夜| 久热大香蕉| 偷拍五月丁香| 五月丁香欧美综合| 久草热久草在线视频| 五月草影视| 激情文学 综合 色| 9l视频自拍九色9l视频自拍九色9l社区 | 99热这里只有是亚洲国产| 婷婷五月深情丁香深爱日韩| 九九热re99re6在线精品| 亚洲欧洲中文日韩久久AV乱码| 99色视频| 久久ab| 五月丁香六月婷婷在线小说视频| 另类激情五月天。| 久久久久9| 五月婷婷综合性爱噜噜| 99热很操老逼| 久久九九99.www| 女人高潮内射99精品| 国产91视频| 无码人妻一区| 激情五月激情综合网| 五月丁香婷婷激激激综合网色播| 婷婷爱婷婷| 欧美va精品va老师va| 色五月婷婷影院| 久久久噜噜噜操操操| 五月天操逼激情| www,欧美干干干干干干| 深爱激情九九五月天| 久久婷婷五月综合97色一本| AAA久久久| 亚洲成片在线观看| 久久Xx| 婷婷五月综合色小姐小说| 亚洲深喉AV| 久99久视频| 婷婷五月天av| 五月天色婷婷综合| 天天做天天爱| 大香蕉伊人久久| 新97人人上人人| 久婷五月| 91一起操| wWwCom夜操wwW| 久大香蕉| 超碰免费在线| 婷婷成人在线| 丁香五月冃欧美| 日韩av大全| 婷婷激情五月天色| 亚美欧色影院| 在线观看亚洲视频影院| 夜夜爽天天爽| 性欧美大战久久久久久久83| 特黄三级又爽又粗又大| 超碰97干| 久久九色| 天天 青草 丝袜制服 在线| 五月天婷婷激情小说| 五月亭亭六月激情| 色五月激情五月| 久久久无码精品成人A片小说| 久久婷婷亚洲| 九九色热| 久久丁香综合香蕉| 一区二区免费看| 91精品国产日韩91久久久久久国模| 久久久久久久8| 婷婷九月激情| 五月开心啪啪| 日韩性视频| 色五月婷婷久久| 不卡在线中文字幕无| 欧美日韩国产一二区| 五月丁香综合影院| 激情伍月 欧美| 夜夜撸日日骑| 亭亭五月色男人| 国产精品久久久爽爽爽麻豆色哟哟| 婷婷五月精品| 99re最新地址视频| 婷婷五月天黄色小说| 久久人妻视步| 久久婷婷热| 五月婷婷 激情按摩| 日本天堂免费99| 97精品综合久久| 欧美成人网婷婷综合在线| 婷婷五月六月激情| 天天插天天射| 欧类av怡春院| 狠狠综合久久| 深情五月天| 色噜噜狠狠一区二区三区| 五月刺激丁香月综合| 久婷久婷激情肉| www.狠狠狠狠| 色五月在线播放| 99碰碰。| 久久视频婷婷视频| 丁香五月天黄色片| 色综合狠狠色| 五月婷婷第四色| 婷婷五月天激情小说| 婷婷五月精品| 九九免费视频在线| 九九婷婷网五月天| 91操片| 丁香网五月天激情| 99婷婷狠狠成为人免费视频| 激情五月激情综合俺也去婷婷小说| 五月色色激情网| 久久人妻视频| 色五月xxx| 天天色天天日天天舔| www.色五月| 久久9久| 天天插天天插天天插天天插| 99天堂在线观看免费视频| 色五月婷婷中文字幕在线观看| 婷婷丁香五月激情| 久久六月综合| 五月丁香婷婷综合视频| 狼人伊人干| 五月婷婷色丁香| 无码操B| 91人妻人人做人碰人人爽九色| 99热.com| 疯狂做受XXXX高潮A片| 婷婷丁香五月亚洲欧美| 亚洲日日操| 激情六月天婷婷| 婷婷五月天激情五月天深爱五月天| 九九热在线视频| 色 免费网站视频| 日日夜夜天天| 五月天婷婷綜合院| 伊人久久婷| 久久9RE热视频精品98| 国产裸舞表演WWWW| 国产小网站| 99热这里只有精品66| 亚洲天堂色| 我爱婷婷五月天综合88| 超碰cap| 天天爽综合| 色婷婷伊人激情在线观看| 亚洲视频色色| 日韩三十六页| 夜夜爽天天爽| 久久激情五月婷婷| 五月婷婷激情| va婷婷在线| 日本人人超碰| 五月天亚洲综合网| 91九色 婷婷| 美女网黄| 69堂午夜视频最新地址| 五月婷A V在线| 人人人舔人人人操人人人摸人人人97| 日韩久操婷婷| 人人干人人看| 任你爽免费视频| 亚洲激情久久| 婷婷综合色五月天| 久久狠狠干| 久热九九| 开心五月婷| 2021日韩无码| www.婷婷五月| 亚洲狠狠狠| 丁香综合久久| 99热在线观看| 狠干综合| 婷婷激情五月| 99亚洲色| AV九九| 国产午夜成人AV在线播放| 五月婷在线视频免费播放| 欧美三级大片AA在线看| 人妻无码精品一区| 99性爱视频网站| 色色色五月婷| 岛国AAAV| 狠狠干无码| 婷婷五月天人妻| 97日本在线| 亭亭玉月丁香| 亚洲激情五月| 天天天添天天操| 日本色色网站| 国产一二区爆乳_1国产日韩一区二区三-成人AV | 五月丁香黄色| 91操黄| 婷婷激情综合| 呦呦v线| 天天干,天天操,天天射| 久久久久久五月天| www.99视频| 亚洲六月色| 久久香蕉网| 六月婷综合| 国产免费AV网站| 欧美性爱特黄一级aaaassss| 婷婷九月色| 五月婷婷久久爱| 人人草人人爱| 超碰com| 激情五月天色婷婷综合| 激情五月天噢美| 激情五月天婷婷色色色色色色色色色色色| 丰满少妇猛烈A片免费看观看| 另类五月婷婷| 五月丁香花成人社区| 综合色五月天| 色色亚洲视频| 欧美三级韩国三级日本三斤| 丁香五月婷婷啪啪| av九九| 玖玖资源站中文| 色婷婷影院| 丁香激情五月少妇| 青青操日本摸摸看看| 能看的AV| 五月天综合网| 天天日日夜夜| av九九| 久艹大香蕉| 伊人久久五月天综合| 亚洲 精品 综合 精品| 欧洲亚洲免费视频9| 激情综合另类| 成人一区在线观看| 五月丁香最新| 另类国产区| 久久丁香婷婷色情综合| 久热精彩视频98| 99精品视频在线| 亚洲综合视频天天精品| 另类色视频| 久久久激情| 九色91美女| 超碰97久久| 国产亚洲成AV人片在线| 色yeye欧美| 91麻豆国产三级精品福利在线观看 | 综合九色| 婷婷五月欧美AA片免费| 99久久高清视频| 亚洲国产成人AV在线 | 二色AV| 日韩人妻在线观看| 九九激情| 610018岁成人视频| 狠狠干狠狠操狠狠爱| 色在线免费观看| 91综合网| 99A级片| 91精品久久久久久77777| 激情婷婷丁香五月天| 99热日韩| 热久久66| 亚洲激情五月| 亚洲99综合| 亚洲色网络| 婷婷操逼| 九九久久腿| 久久九九re热| 五月天无码| 五月天婷婷基地丁香| 99热这里有精品6| 翔田千里无码| 婷婷亚洲综合| 亚洲人人操| 99热精品在线观看| 亚洲成人无码专区| 99精品一二三四视频| 婷婷香香五月| 。久久久久久久久久久久久久人妻| 亚洲日日操| 九月激情综合| 日韩成人无码| av无码电影| 思思热这里只有精品视频666| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 五月丁香啪啪激情| 亚洲色婷婷五月| 国产精品爽爽久久久久久| 五月婷婷狠狠干| 97福利视频| 五月天婷婷激情四射综合| 9久久婷婷国产综合精品性色| 一起草无码视频| 五月天激情综合10p| 久色五月丁香视频| 色婷婷www| 99色综合久久| 亚洲精品网站色视频| 六月婷婷九月丁香亚洲综合| 色婷五月| 日本色色影院| 国产精品久久久久久久久久久久| 九九精品婷| 丁香无月在线观看| 五月天婷婷综合网| 国产AV一区二区三区最新精品| 人人综合91网| 婷婷娱乐丁香综合网| 丁香蜜臀黄色婷婷五月天| 五月丁香啪啪啪| 丁香激情五月少妇| 另类综合国产| 丁香六月激情| 91五月天| 狠狠人妻色综合| 五月激情综合婷婷| 无码激情精品色婷婷久久久久| 9久热在线视频精品| 黄色网址五月婷婷| 亚洲婷婷丁香五月天激情小说| 99久热| 九九婷婷激情综合网| 99亚洲天堂| 99色色视频| 97大香蕉五月天| 成人操呦av| 婷婷五月综合社区| 99啊精典免费视频| 亚洲男女激情| 五月久久| 精品99爱免费视频在线观看 | 久月婷婷| 中文字幕日韩成人| 99成人在线观看| 久久9热好| 电影蜘蛛女| 色色色无码| 99啪啪网| www.婷婷六月天| 91主播在线| 森林影视大全,最好看的2019年视频 | 五月丁香婷中文| 被强行糟蹋的女人A片| 九九色综合| 在线观看亚洲视频影院| 五月婷婷激情| 综合伊人久久| 黄色一级影片| 五月婷婷丁香六月| 欧美日韩成人在线网| 操碰久| 噜一噜在线| www.色色com| 日韩在线婷婷五月天综合| 99热香港| 99re鈥哸鈥唙| 日韩欧美成人片| 亚洲啪啪网| 香蕉婷婷色五月| 99热这里只| 国内久久久精品99| 久热一本| site:901-07.com| 狠狠干综合| 深爱激情网婷婷| 激情操逼婷婷| 九九99久久| 欧美性爱中文字幕| 六月婷婷中文字幕| 午夜成人AV在线| 婷婷五月激情图片| 99热精国产这里只有精品| 婷婷五月综合基地| 极品另类| 五月婷婷深深爱| 91啪啪| 成人片黄网站色大片免费毛片 | 丁香五月天色综合| 曰韩五月丁香色婷婷无码| 激情五月丁香综合网站| 9有码中文| 五月婷婷综合在线| 色色丁香激情五月| 婷婷久久五月丁香| 欧洲MV日韩MV国产| 五月天激情综合| 五月天色色激情综合| AA片在线观看视频在线播放| 夜夜操激情| 丁香色综合| 久久视频在线视频| 婷婷综合成人| 婷婷丁香五月天欧美| 操比激情五月| 99视频在线播放大全| 五月天婷婷一起草| 久久久久久久五月| 丁香六月综合激情| 伊人玖玖婷婷| 欧美激情综合色综合啪啪五月| 一区二区三区四区无码| www.com亚洲网站在线免费| 97色干| 五月天综合在线| 婷婷5月色| 五月婷婷黄| 狠狠精品干练久久久无码中文字幕 | 色色97丁香婷婷五月天| 涩涩五月天| 色色色综合色| www.五月婷婷久久.com| 婷婷天堂站| 欧美日韩国产成人在线| 97色色视频| WWW,五月| 天天橾日日橾夜夜橾17| 思恩热国产视频右线观看| 狠狠久久婷| 极品人妻VIDEOSSS人妻| 性色五月天| 婷综合六月| 专区无日本视频高清8| 五月天婷婷AV| 亚洲第一第二网站| 五月中旬婷婷丁香六| 狠狠大香婷婷爱| 九九九九大香蕉| 日本三级日本黄色| 被强行糟蹋的女人A片| 超碰成人电影| 噜噜色五月| 亚洲精色| 丁香五月六月欧美| 久久五月天合网| www,色婷婷| 天堂网操| 欧美高潮9| 伊人热在线大香蕉| 欧美性猛交99久久久久99按摩| 97干97色| 91精品婷婷国产综合久久| 亚洲综合五月天| 夜夜夜夜夜操| 天天色天天爱天天爱天天爱y| A片试看120分钟做受视频红杏| 99自拍网| 99热日韩| 婷婷五月天激情小说| 98永久精品| 开心激情婷婷| 无码人妻一区| 激情图片五月天| 五月激情婷婷丁香天堂| 综合网亚洲| 色婷婷久久综合中文久久一本| 丁香五月六月婷婷殴美综合| 五月婷av| 久操干| 91精品91久久久中77777久久玖玖九九| 九九久久色| 97干在线免费| 99热99天堂| 五月丁香激| www.99久| 五月丁香婷婷久久| 99自拍视频在线| 超碰三级秋霞| 99热首页在线30| 99热亚洲精品66| 五月色色激情网| 色欲一二三| 色五月色图| 五月丁香大香蕉| 人人爱人人草| 在线视频婷婷| 成人资源在线| 91综合在线| 丁香婷婷性爱| 亚洲激情高潮| 色视频五月天| 日本色道视频网站| 强辱丰满人妻HD中文字幕| 人人摸人人干| www.色综合.com| 婷婷丁香六月五月天| 久热这里只有精品99re,久热这里只有精品7| 激情WWW| 五月天成人小说| 色99在线视频| 人妻内射麻豆视频| www.五月激情红色| 亚洲综合五月| 99色综合| 五月丁香婷色| 久久婷婷激情五月天一区二区| 色婷婷五月网| 久久久香| 99操九九网| 日本久久性| ri电影在线| 五月婷婷天| 五月丁香久久| 九九热九九| 亚洲妇女熟BBW| 噜噜操操| 呦呦v线| 99热大香蕉| 国产熟妇乱子伦hd| 丁香六月激情| a久久免费视频| 色色色色网| 四季日韩AV无码综合| 人妻性爱av网站| 五月丁香淫淫婷婷婷| 这里只有精品久久| 99er热精品视频| 天干干夜夜操| 五月丁香综合| 九伊人网| 99精品久久久久久久婷婷久久| 久久久18| 日韩视频女神99| 天天操天天日天天爽| 色情综合网| 99热 在线播放| 桔色成人官方网站| 六月丁香啪啪| 六月婷婷久久| 丁香五月天在线| 亚洲成人色五月天| 国产熟女一区二区三区五月婷| 91人在线观看| 国产精品人妻欲求不满| 久 久9 9 热 视 频| 少妇熟女视频一区二区三区 | 日本 欧美在线| 天天日日综合| 婷婷影视久久| 丁香无月在线观看| 99干日本| 玖玖综合玖玖| 色色哒五月婷婷六月丁香| 五月天色图| 五月天婷婷香蕉狠狠超碰综合| 国产日韩亚洲欧美在线观看| 99精品偷自拍| 插插插色综合网| 99在线观看| 午夜婷婷丁香| 日韩操人| 婷婷久热| 六月色色| 婷婷五月综合在线| 99视频在线| 久草天堂| 丁香五月婷婷啪啪啪| 天天操五月天| 97干视频在线| 亚州操操| 99热老网站| 久久99婷婷| 在线99热| 好好干Av| 五月婷婷六月激情| 99久久黄色顶级视频| 五月丁香狠狠爱| 影音先锋女人AA鲁色资源| 操B五月天| 开心五月婷婷激情| 婷婷天堂综合| 精品人妻一区二区三区四区不卡在| 日韩色久| WWW99热| 超碰人人在线| 大香蕉久操| 六月婷婷日| www.com久久久久久久久久久久久久久久久| 色婷婷五月婷婷五月婷婷五月| 欧美亚洲色色色色| 丁香五月中文字幕久色| 噜噜五月天综合| 久久999久久999久久999久久| 亚洲一级AV在线免费播放| 久久久久久久久99精品| wwwss在线观看| 婷婷久久综合| 日日夜夜综合| 久热AⅤ| 五月婷婷中文字幕| 五月丁香婷婷无码中文| AV片一区在线观看| www.99热视频| 狠狠色97| 久热超碰| 美国色五月天婷婷资源站| 亚洲无码黄色| 天天色天天操天天射| 狠狠操天天操| 996re热精品视频| 婷婷久久99| 成人久久天天x资源站| 成人五月天。COM| www.91九色| 另类综合激情| 亚洲视频在线观看区| 日本99在线视频| 色五月婷婷少妇人妻| 五月色亭丁香| 日韩无码专区| 久久成人精品视频| 五月丁香激| 可以免费观看的AV| 婷婷色六月| 日韩 欧美 国产 一区 二区| 96色婷婷| 99这里只有精品| 99热青青草原| 97干视频在线| 亚洲精品一区中文字幕乱码| 久草热在线视频| 六月色日韩| 婷婷狠狠狠爱| 欧美婷婷五月激情| 久久天堂婷婷五月| 乱岳熟女50岁| 五月天婷婷爱| 蜜臀嫩草| 超碰成人在线观看| 超碰色碰碰| 丁香五月电影| 99热这里只有精品免费观看| 婷婷五月丁香五月丁香| 先锋资源91| 久热久69| 狠狠干在线| 欧美黄色韩日网| 国产成人网址| 金品在线视频99| 国产亚洲精品久久久久久久久动漫 | 亚洲狠狠丁香婷婷香蕉| 97色婷婷| 激情亚洲婷婷| 噜噜久| 春色激情第四色| 久久五月天婷婷| 色五月婷婷青娱乐| 草榴视频黄色网| 国产成人精品一区二三区熟女在线 | 九九伦子片| 成人午夜天| 色色性爱视频| 久9久9热久热| 五月丁香婷婷欧美| 久久久久久久,99精品视频| 婷婷五月成人| 日日干天天| 四虎成人精品永久免费AV九九| 思思热久热| 六月色国内综合| 激情文学天天| VA婷婷| 超碰精品在线| AA久久| 国产无人区大片| 玖玖综合玖玖| 超碰在线观看caop| 黄色AAAAAAA| 99热香港| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 久久草大香蕉| 亚洲第一黄网| 婷婷五月天激情基地| 99热日韩| 婷婷五月天在线观看第二页| 99热在线中文字幕| www.狠狠狠狠| 久久精品小视频| 五月天伊人日日噜影片AV| 激情婷婷人妻| 伊人超碰| 五月婷婷激情综合在线| av在线资源| 在线观看的av| 婷婷五月天成人| 丁香五月花婷婷开心| 丁香综合婷婷开心激情网| 丁香五月激情综合| 五月丁香久人妻中文| 婷婷六月丁香激情| 永久99免费视频网站| www.色婷婷。com| 六月婷婷狠狠| AV天堂婷婷五月天| 欧美25p| 色丁香五月| 久久婷.com| 天天色天天| 无遮挡国产高潮视频免费观看| 做爰丰满少妇1313| 北条麻妃伊人| 五月激情射| 六月丁香婷婷色狠狠久久| 99熟女视频| 五月丁香婷婷综合在线| 久久一二三视频| 国产另类综合| 婷婷的色色五月天| 激情丁香五月天| 亚洲中文字幕在线观看| 91人无码久久久久久| 欧美超级视频97| 激情AV| 亚洲另类婷婷五月综合| 开心深爱激情网| 五月天婷婷AV| 99成人| 97碰碰人人视频| 精品亚洲国产成AV人片传媒| 五月丁香日本在线视频观看| 色偷偷狠狠| 色在线99| www.五月天| 五月婷婷综合性爱噜噜| 五月婷婷六月天| 日韩在线观看网址| 色色九九五月天| 这里只有精品热| 婷婷99狠狠躁| 五月天开心激情综合网| 中文字幕无码AV| 超碰在线资源| 久久五月天合网| 激情六月综合| 婷婷啪啪| 久久精品日| 久久婷婷六月| 九九热这里| 九九RE视频在线精品| av免费在线看不卡无毒| 91日韩美女被插视频| 色必久悠悠影院| www夜夜操| 国产SUV精品一区二区6| 97黑人精品区| 久婷婷久草| 亚洲六月婷婷| 99ri6在线视频| 成人视频一区| 色日本五月天| 无码色| 色噜噜狠狠色综合成人网| 人人干AV| 日日日日日| 久综合九| 丁香六月婷婷综合啪啪| 99热| 丁香五月婷婷啪啪| 五月丁香影视| 97色射| 激情影院内射| 五月天操逼网| 99久久偷拍视频| 色综合久久伊伊婷婷五月| 五月婷婷激情| 色婷婷久久综合| 婷婷婷婷婷婷婷婷| 激情五月天。| 婷婷五月天六月综合| a网站免费观看| 婷婷色在线播放| 国产精品色色色色| 精品欧美一区二区三区久久久 | 久久婷婷激情视频| 久热在线中文字幕色999舞| www99热| 97九色视频| 影音先锋男人资源站一区二区| 高清无码 一区 二区 三区| 婷婷五月激情丁香| 久综合网| 碰碰91| 99热1| 午夜爱爱网站| 噜噜狠狠色综合久| 青青草成人网| 日韩啪图| 天天摸夜夜夜| 伊人久久五月天综合| 97热91| 丁香六月视频免费观看| 久久五月婷天天干| 久热这里只有精品99re,久热这里只有精品7| 九九热精品| 国产精品久久99| 色欧洲| 丁香婷婷五月天校园春色| 五月天桃色深爱网| 五月丁香色婷婷伊人| www久| 丁香婷婷偷拍| 亚洲精品一区中文字幕乱码| 色狠狠六月| 婷婷影视久久| 婷婷丁香五月网| 91精品人妻少妇无码影院| 九色无码| 九九AV在线| 婷婷丁香五月激情| 亚洲精品五十一区| 伊人婷婷99热精品| 停停五月丁香| 操逼六区| www.狠狠| 五月丁香六月婷婷在线小说视频| 少妇被下春药玩弄A片| 婷婷五月天亚洲天堂| 久久99精品久| 99国产精品久久久久久久久久久| AA久久| 五月丁香影院| 五月丁香伊人网| 国产在线自| 中文字幕黄色片| 五月丁香婷婷无码A∨| 国产精品91抖高| 丁香六月激情国产| 另类激情五月| 五月天精品| 天天日夜夜曹| 久久色区| 国产精产国品一二三在观看| 丁香五月激情五月开心五月| 丁香五月天.com| 日韩999| 这里只有精品免费| 九九热欧美| 亚洲亚洲人成综合网络| 色色亚洲五月天| 99操逼| 韩国中文字幕91| 97碰碰视频在线观看| 激情婷婷综合| 91精品啪| 色久在| 国内久久婷婷| 婷婷五月天伊人网| 丁香婷婷伊人| 六月婷婷久久| 亚洲电影在线观看| 人妻aV在线| 丁香五月综合在线| 婷婷六月视频| 天天日中文| 欧美精品999| 色性五月天| 婷婷综合五月| www.99精品日操伊人乱碰在线| 久久综合影院| 午夜婷婷五月天| 99re6热在线精品视频播放速度| 91呦呦呦| 狠狠色成人影片| 几激情五月婷婷色五月色天堂| 小视频在线亚洲| 色哟哟性爱av| 亚洲乱码日产精品BD| 九九精品自拍| 色久五月天| 好好干Av| 久久精品4| 热久久这里只有三级视频| 色激情五月天| 99热亚洲| 武汉美女啪啪视频免费一级片| 精品国产人人爱人人| 丁香色成人| 丁香99| 丰满少妇猛烈A片免费看观看| 五月婷婷人人人操| 激情五月天在线视频| 五月激情另类| 亚洲天堂久久| 另类视屏| 色情激情五月婷婷| 精品久久久中文字幕大豆网推荐理由| 操碰91| 色色五月婷婷久久| 婷婷五月花丁香| 青青草蜜臀| 天天更新天天亚洲| 青青.com| 久色网址| 色综合中文色综合网| 丁香伊人五月色婷婷五十路| 人人操超碰| 亚洲网在线观看| 五月天激情综合网| 99re这里| 九九操操| 99热精品中文字幕| 丁香婷婷五月六月久久| 亚洲国产精品VA在线看黑人| 五月丁香激情六月| 亚洲妇女熟BBW| 另类激情综合| 激情五月天影院| 99在线精品观看99| 五月婷婷久久久| 毛片新网地| 综合久久高清| 五月天操逼网| www.久久久久| 99热伊人| 五月婷婷,六月丁香| 9热视频在线观看| 99综合网| 99热国产精品| 大香蕉婷婷| www.五月天婷婷| 99热在线观看| 最新无毒无码AV| 九九婷婷五月天| 久久丁香综合香蕉| 日韩三级高清无码| 丁香花综合永久入口| 69精品人人人人人人| 日本三级网址| 在线观看av网站| 涩综合网| 色综合中文色综合网| 丁香色五月直播| 99re这里只有精品国产99| 女人天堂av| 色丁香久综合在线久综合在线观看| 79色色| 欧美激情综合色综合啪啪五月| 色久影院| 超碰精品在线| www.激情五月| 9视频在线成人网站| 日本丰满久久| 日熟女| 国产激情综合五月久久| 一二三区视频韩国| 丁香五月激情婷婷| 激情网五月| 丁香五月影院| 国产精品久久久爽爽爽麻豆色哟哟 | 啪啪综合网| 婷婷午夜天| 久久92| 91精品无码久久久久久五月天| 九月影院義母在线播放| 丁香五月激情啪| 狠狠操.com| 五月婷婷激情中心| 天天综合精品| se99视频| 亚洲丁香五冃97色| 大香蕉人在线65| 亚洲小视频免费播放| 精品婷婷五月视| 九九色综合九九色| 久久婷婷六月综合| 天天爽天天| 涩五月丝袜婷婷| 婷婷五月色播网| 五月丁香欧美在线| 五月丁香啪啪综合| WWW.国产| 9久久AV| 色婷婷综合中心| 99热这里| 亚洲亚洲人成综合网络| 狠狠色狠狠色综合日日91| 丁香五月天堂| 色婷婷九月| 久热91| 色噜久| 五月婷婷丁香伦理网| 五月丁六月香| 麻豆AV一区二区三区| 五月天激情四射网站| 黄涩毛片| 天天插插天天| 98国产精品综合一区二区三区| 日韩在线观看亚洲| 天天操夜夜夜拍拍拍| 91色综合| 9久热在线视频| 丁香六月色香蕉视频| 激情五月天 婷婷| 碰97 久| 五月丁香成人网| 欧美成人网99网| 丁香五月成人| 99热国内精品| 人妻久久久久久久久久久| 91chinese在线| 欧美精品A片一区在线观看| 婷婷五月天天| 婷婷天堂站| 色色色色色五月| www.五月瑟| 五月色综合| 丁香色五月 97干| 六月婷婷开心| 乱乱av| 激情五月天综合网站网站网站| 天天做天天爱天天综合| 五月婷婷久草| 激情五月天婷婷| 日本三级黄色大片| 综激情网| 九月婷婷综合网| 丁香 婷婷 亚洲 熟女| 色五月婷婷久久| 丁香婷婷久久| 日韩九区| 97欧美在线| 五月丁香六月婷| 亚洲图色五月天| 激情 婷婷 插| 亚洲午夜成人av电影网| 天天日日人| 亚洲热久久| www.婷婷.com| 五月丁香花视频| 97碰成超视频免费视频| 日本五月天一页| 久久久精品99| 五月激情婷婷丁香天堂| 精品自拍99|