1. 產(chǎn)品級垃圾文本分類器

        共 3877字,需瀏覽 8分鐘

         ·

        2020-09-29 13:53





        向AI轉(zhuǎn)型的程序員都關(guān)注了這個(gè)號???

        機(jī)器學(xué)習(xí)AI算法工程?? 公眾號:datayx


        任務(wù)場景

        文本反垃圾是網(wǎng)絡(luò)社區(qū)應(yīng)用非常常見的任務(wù)。因?yàn)楦鞣N利益關(guān)系,網(wǎng)絡(luò)社區(qū)通常都難以避免地會涌入大量騷擾、色情、詐騙等垃圾信息,擾亂社區(qū)秩序,傷害用戶體驗(yàn)。這些信息往往隱晦,多變,傳統(tǒng)規(guī)則系統(tǒng)如正則表達(dá)式匹配關(guān)鍵詞難以應(yīng)對。通常情況下,文本反垃圾離不開用戶行為分析,本章只針對文本內(nèi)容部分進(jìn)行討論。

        為了躲避平臺監(jiān)測,垃圾文本常常會使用火星文等方式對關(guān)鍵詞進(jìn)行隱藏。例如:


        垃圾文本通常還會備有多個(gè)聯(lián)系方式進(jìn)行用戶導(dǎo)流。識別異常聯(lián)系方式是反垃圾的一項(xiàng)重要工作,但是傳統(tǒng)的識別方法依賴大量策略,攻防壓力大,也容易被突破。例如:



        在這個(gè)實(shí)例中,我們將使用TensorLayer來訓(xùn)練一個(gè)垃圾文本分類器,并介紹如何通過TensorFlow Serving來提供高性能服務(wù),實(shí)現(xiàn)產(chǎn)品化部署。這個(gè)分類器將解決以上幾個(gè)難題,我們不再擔(dān)心垃圾文本有多么隱晦,也不再關(guān)心它們用的哪國語言或有多少種聯(lián)系方式。

        第一步,訓(xùn)練詞向量,相關(guān)代碼在word2vec文件夾,執(zhí)行步驟見word2vec/README.md。

        第二步,訓(xùn)練分類器,相關(guān)代碼在network文件夾,執(zhí)行步驟見network/README.md。

        第三步,與TensorFlow Serving交互,客戶端代碼在serving文件夾。


        代碼??獲?。?/span>

        關(guān)注微信公眾號 datayx ?然后回復(fù)??文本分類? 即可獲取。

        AI項(xiàng)目體驗(yàn)地址 https://loveai.tech

        網(wǎng)絡(luò)結(jié)構(gòu)

        文本分類必然要先解決文本表征問題。文本表征在自然語言處理任務(wù)中扮演著重要的角色。它的目標(biāo)是將不定長文本(句子、段落、文章)映射成固定長度的向量。文本向量的質(zhì)量會直接影響下游模型的性能。神經(jīng)網(wǎng)絡(luò)模型的文本表征工作通常分為兩步,首先將單詞映射成詞向量,然后將詞向量組合起來。有多種模型能夠?qū)⒃~向量組合成文本向量,例如詞袋模型(Neural Bag-of-Words,NBOW)、遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)和卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)。這些模型接受由一組詞向量組成的文本序列作為輸入,然后將文本的語義信息表示成一個(gè)固定長度的向量。NBOW模型的優(yōu)點(diǎn)是簡單快速,配合多層全連接網(wǎng)絡(luò)能實(shí)現(xiàn)不遜于RNN和CNN的分類效果,缺點(diǎn)是向量線性相加必然會丟失很多詞與詞相關(guān)信息,無法更精細(xì)地表達(dá)句子的語義。CNN在語言模型訓(xùn)練中也被廣泛使用,這里卷積的作用變成了從句子中提取出局部的語義組合信息,多個(gè)卷積核則用來保證提取的語義組合的多樣性。RNN常用于處理時(shí)間序列數(shù)據(jù),它能夠接受任意長度的輸入,是自然語言處理最受歡迎的架構(gòu)之一,在短文本分類中,相比NBOW和CNN的缺點(diǎn)是需要的計(jì)算時(shí)間更長。

        實(shí)例中我們使用RNN來表征文本,將輸入的文本序列通過一個(gè)RNN層映射成固定長度的向量,然后將文本向量輸入到一個(gè)Softmax層進(jìn)行分類。本章結(jié)尾我們會再簡單介紹由NBOW和多層感知機(jī)(Multilayer Perceptron,MLP)組成的分類器和CNN分類器。實(shí)際分類結(jié)果中,CNN和MLP兩種分類器的準(zhǔn)確率都能達(dá)到95%以上(RNN模型由于未知原因準(zhǔn)確度較低)。相比之前訓(xùn)練的SVM分類器所達(dá)到的93%左右的準(zhǔn)確率,基于神經(jīng)網(wǎng)絡(luò)的垃圾文本分類器表現(xiàn)出非常優(yōu)秀的性能。


        詞的向量表示

        最簡單的詞表示方法是One-hot Representation,即把每個(gè)詞表示為一個(gè)很長的向量,這個(gè)向量的維度是詞表的大小,其中只有一個(gè)維度的值為1,其余都為0,這個(gè)維度就代表了當(dāng)前的詞。這種表示方法非常簡潔,但是容易造成維數(shù)災(zāi)難,并且無法描述詞與詞之間的關(guān)系。還有一種表示方法是Distributed Representation,如Word2vec。這種方法把詞表示成一種稠密、低維的實(shí)數(shù)向量。該向量可以表示一個(gè)詞在一個(gè)N維空間中的位置,并且相似詞在空間中的位置相近。由于訓(xùn)練的時(shí)候就利用了單詞的上下文,因此Word2vec訓(xùn)練出來的詞向量天然帶有一些句法和語義特征。它的每一維表示詞語的一個(gè)潛在特征,可以通過空間距離來描述詞與詞之間的相似性。

        比較有代表性的Word2vec模型有CBOW模型和Skip-Gram模型。圖2演示了Skip-Gram模型的訓(xùn)練過程。假設(shè)我們的窗口取1,通過滑動(dòng)窗口我們得到(fox, brown)、(fox, jumps)等輸入輸出對,經(jīng)過足夠多次的迭代后,當(dāng)我們再次輸入fox時(shí),jumpsbrown的概率會明顯高于其他詞。在輸入層與隱層之間的矩陣W1存儲著每一個(gè)單詞的詞向量,從輸入層到隱層之間的計(jì)算就是取出單詞的詞向量。因?yàn)橛?xùn)練的目標(biāo)是相似詞得到相似上下文,所以相似詞在隱層的輸出(即其詞向量)在優(yōu)化過程中會越來越接近。訓(xùn)練完成后我們把W1(詞向量集合)保存起來用于后續(xù)的任務(wù)。



        Dynamic RNN分類器

        傳統(tǒng)神經(jīng)網(wǎng)絡(luò)如MLP受限于固定大小的輸入,以及靜態(tài)的輸入輸出關(guān)系,在動(dòng)態(tài)系統(tǒng)建模任務(wù)中會遇到比較大的困難。傳統(tǒng)神經(jīng)網(wǎng)絡(luò)假設(shè)所有輸入都互相獨(dú)立,其有向無環(huán)的神經(jīng)網(wǎng)絡(luò)的各層神經(jīng)元不會互相作用,不好處理前后輸入有關(guān)聯(lián)的問題。但是現(xiàn)實(shí)生活中很多問題都是以動(dòng)態(tài)系統(tǒng)的方式呈現(xiàn)的,一件事物的現(xiàn)狀往往依托于它之前的狀態(tài)。雖然也能通過將一長段時(shí)間分成多個(gè)同等長度的時(shí)間窗口來計(jì)算時(shí)間窗口內(nèi)的相關(guān)內(nèi)容,但是這個(gè)時(shí)間窗的依賴與變化都太多,大小并不好取。目前常用的一種RNN是LSTM,它與標(biāo)準(zhǔn)RNN的不同之處是隱層單元的計(jì)算函數(shù)更加復(fù)雜,使得RNN的記憶能力變得更強(qiáng)。

        在訓(xùn)練RNN的時(shí)候我們會遇到另一個(gè)問題。不定長序列的長度有可能范圍很廣,Static RNN由于只構(gòu)建一次Graph,訓(xùn)練前需要對所有輸入進(jìn)行Padding以確保整個(gè)迭代過程中每個(gè)Batch的長度一致,這樣輸入的長度就取決于訓(xùn)練集最長的一個(gè)序列,導(dǎo)致許多計(jì)算資源浪費(fèi)在Padding部分。Dynamic RNN實(shí)現(xiàn)了Graph動(dòng)態(tài)生成,因此不同Batch的長度可以不同,并且可以跳過Padding部分的計(jì)算。這樣每一個(gè)Batch的數(shù)據(jù)在輸入前只需Padding到該Batch最長序列的長度,并且根據(jù)序列實(shí)際長度中止計(jì)算,從而減少空間和計(jì)算量。




        閱讀過本文的人還看了以下文章:


        TensorFlow 2.0深度學(xué)習(xí)案例實(shí)戰(zhàn)


        基于40萬表格數(shù)據(jù)集TableBank,用MaskRCNN做表格檢測


        《基于深度學(xué)習(xí)的自然語言處理》中/英PDF


        Deep Learning 中文版初版-周志華團(tuán)隊(duì)


        【全套視頻課】最全的目標(biāo)檢測算法系列講解,通俗易懂!


        《美團(tuán)機(jī)器學(xué)習(xí)實(shí)踐》_美團(tuán)算法團(tuán)隊(duì).pdf


        《深度學(xué)習(xí)入門:基于Python的理論與實(shí)現(xiàn)》高清中文PDF+源碼


        特征提取與圖像處理(第二版).pdf


        python就業(yè)班學(xué)習(xí)視頻,從入門到實(shí)戰(zhàn)項(xiàng)目


        2019最新《PyTorch自然語言處理》英、中文版PDF+源碼


        《21個(gè)項(xiàng)目玩轉(zhuǎn)深度學(xué)習(xí):基于TensorFlow的實(shí)踐詳解》完整版PDF+附書代碼


        《深度學(xué)習(xí)之pytorch》pdf+附書源碼


        PyTorch深度學(xué)習(xí)快速實(shí)戰(zhàn)入門《pytorch-handbook》


        【下載】豆瓣評分8.1,《機(jī)器學(xué)習(xí)實(shí)戰(zhàn):基于Scikit-Learn和TensorFlow》


        《Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》PDF+完整源碼


        汽車行業(yè)完整知識圖譜項(xiàng)目實(shí)戰(zhàn)視頻(全23課)


        李沐大神開源《動(dòng)手學(xué)深度學(xué)習(xí)》,加州伯克利深度學(xué)習(xí)(2019春)教材


        筆記、代碼清晰易懂!李航《統(tǒng)計(jì)學(xué)習(xí)方法》最新資源全套!


        《神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)》最新2018版中英PDF+源碼


        將機(jī)器學(xué)習(xí)模型部署為REST API


        FashionAI服裝屬性標(biāo)簽圖像識別Top1-5方案分享


        重要開源!CNN-RNN-CTC 實(shí)現(xiàn)手寫漢字識別


        yolo3 檢測出圖像中的不規(guī)則漢字


        同樣是機(jī)器學(xué)習(xí)算法工程師,你的面試為什么過不了?


        前海征信大數(shù)據(jù)算法:風(fēng)險(xiǎn)概率預(yù)測


        【Keras】完整實(shí)現(xiàn)‘交通標(biāo)志’分類、‘票據(jù)’分類兩個(gè)項(xiàng)目,讓你掌握深度學(xué)習(xí)圖像分類


        VGG16遷移學(xué)習(xí),實(shí)現(xiàn)醫(yī)學(xué)圖像識別分類工程項(xiàng)目


        特征工程(一)


        特征工程(二) :文本數(shù)據(jù)的展開、過濾和分塊


        特征工程(三):特征縮放,從詞袋到 TF-IDF


        特征工程(四): 類別特征


        特征工程(五): PCA 降維


        特征工程(六): 非線性特征提取和模型堆疊


        特征工程(七):圖像特征提取和深度學(xué)習(xí)


        如何利用全新的決策樹集成級聯(lián)結(jié)構(gòu)gcForest做特征工程并打分?


        Machine Learning Yearning 中文翻譯稿


        螞蟻金服2018秋招-算法工程師(共四面)通過


        全球AI挑戰(zhàn)-場景分類的比賽源碼(多模型融合)


        斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


        python+flask搭建CNN在線識別手寫中文網(wǎng)站


        中科院Kaggle全球文本匹配競賽華人第1名團(tuán)隊(duì)-深度學(xué)習(xí)與特征工程



        不斷更新資源

        深度學(xué)習(xí)、機(jī)器學(xué)習(xí)、數(shù)據(jù)分析、python

        ?搜索公眾號添加:?datayx??



        機(jī)大數(shù)據(jù)技術(shù)與機(jī)器學(xué)習(xí)工程

        ?搜索公眾號添加:?datanlp

        長按圖片,識別二維碼

        瀏覽 63
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
          
          

            1. 欧美精品第二页 | 日本理伦三级做爰电影 | 午夜无码在线观看 | 天天插天天摸 | 91天天操 |