日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

fasttext 文本分类_一文综述经典的深度文本分类方法

發(fā)布時間:2023/12/2 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 fasttext 文本分类_一文综述经典的深度文本分类方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

作者 |? 何從慶

轉載自AI算法之心(ID:AIHeartForYou)

筆者整理最近幾年比較經典的深度文本分類方法,希望幫助小伙伴們了解深度學習在文本分類中的應用。

Convolutional Neural Networks for Sentence Classification (EMNLP 2014)

Kim在EMNLP2014提出的TextCNN方法,在多個數據集上取得了很好的效果。由于其計算速度快以及可并行性,在產業(yè)界得到了廣泛使用。TextCNN的模型示意圖如下圖所示。

TextCNN模型首先將文本映射成向量,然后利用多個濾波器來捕捉文本的局部語義信息,接著使用最大池化,捕捉最重要的特征。最近將這些特征輸入到全連接層,得到標簽的概率分布。

代碼參考:

1) https://github.com/alexander-rakhlin/CNN-for-Sentence-Classification-in-Keras

2) https://github.com/brightmart/text_classification

圖1:TextCNN模型架構

Document Modeling with Gated Recurrent Neural Network for Sentiment Classification (EMNLP 2015)

Tang等人提出了一種利用GRU對文檔進行建模的情感分類模型。模型如下圖所示。

該模型首先將文本映射為向量,然后利用CNN/LSTM(論文中使用3個濾波器的CNN)進行句子表示。另外,為了捕獲句子的全局語義表征,將其輸送給平均池化層,再接入tanh激活函數。最后將整個句子的不同寬度卷積核的向量表示接入一個Average層,從而得到句子平均向量表示。

然后將得到的句子表示,輸入到GRU中,得到文檔向量表示。最后將文檔向量輸送給softmax層,得到標簽的概率分布。

圖2:文檔級別情感分類的神經網絡模型

Recurrent Convolutional Neural Networks for Text Classification (AAAI 2015)

Lai等人提出了一種無人工特征的循環(huán)卷積神經網絡分類方法,簡稱RCNN。

RCNN首先利用Bi-RNN來捕捉前后的上下文表征,然后將其concat起來,接著使用濾波器filter_size=1的卷積層,并使用最大池化操作得到與文檔最相關的向量表征,最后將這些向量輸入到softmax層,得到標簽的概率表征。

代碼參考:

1)?https://github.com/roomylee/rcnn-text-classification

2) https://github.com/brightmart/text_classification

圖3: RCNN的模型結構示意圖

Recurrent Neural Network for Text Classification with Multi-Task Learning (IJCAI 2016)

Liu等人針對文本多分類任務,提出了基于RNN的三種不同的共享信息機制對具有特定任務和文本進行建模。

模型1(Uniform-Layer Architecture):所有任務共享同一個LSTM層,并在每個特定任務后面拼接一個隨機生成可訓練的向量。LSTM層的最后一個時刻的隱藏層作為輸入傳入到softmax層。

模型2(Coupled-Layer Architecture): 每個任務具有自己獨立的LSTM層,但是每一時刻所有任務的hidden state則會和下一時刻的character一起作為輸入,最后一個時刻的hidden state進行分類。

模型3(Shared-Layer Architecture):除了一個共享的BI-LSTM層用于獲取共享信息,每個任務有自己獨立的LSTM層,LSTM的輸入包括每一時刻的character和BI-LSTM的hidden state。

圖4:三種架構進行多任務學習建模

Hierarchical Attention Networks for Document Classification (NAACL 2016)

Yang等人提出了一種用于文檔分類的層次注意力機制網絡,簡稱HAN。這篇文章和Tang等人都是針對于文檔分類的問題,然而,這篇文章在句子級別以及文檔級別提出了注意力機制,使得模型在構建文檔時是能夠賦予重要內容不同的權重,同時,也可以緩解RNN在捕捉文檔的序列信息產生的梯度消失問題。HAN模型的模型示意圖如下所示。

HAN模型首先利用Bi-GRU捕捉單詞級別的上下文信息。由于句子中的每個單詞對于句子表示并不是同等的貢獻,因此,作者引入注意力機制來提取對句子表示有重要意義的詞匯,并將這些信息詞匯的表征聚合起來形成句子向量。具體的注意力機制的原理可以參考:

FEED-FORWARD NETWORKS WITH ATTENTION CAN SOLVE SOME LONG-TERM MEMORY PROBLEMS

然后,對于所有的句子向量輸入到Bi-GRU中,捕捉句子級別的上下文信息,得到文檔向量。同樣地,為了獎勵對文檔進行正確分類的線索句,作者再次使用注意力機制,來衡量句子的重要性,得到文檔向量。最后將文檔向量均輸入到softmax層,得到標簽的概率分布。

代碼參考:

1)?https://github.com/richliao/textClassifier

2) https://github.com/brightmart/text_classification

圖3: HAN模型結構示意圖

Bag of Tricks for Efficient Text Classification (EACL 2017)

Joulin等人提出了一種簡單而又有效的文本分類模型,簡稱fastText。

fastText模型輸入一個詞序列(一段文本或者一句話),序列中的詞與詞組成特征向量,然后特征向量通過線性變換映射到中間層,中間層再映射到標簽。輸出這個詞序列屬于不同類別的概率。其中fastText在預測標簽是使用了非線性激活函數,但在中間層不使用非線性激活函數。

代碼參考:

1) https://github.com/facebookresearch/fastText

2) ?https://radimrehurek.com/gensim/models/fasttext.html

圖4:fastText模型結構示意圖

Deep Pyramid Convolutional Neural Networks for Text Categorization (ACL 2017)

Johnson 和Zhang 提出了一種單詞級別的深層CNN模型,來捕捉文本的全局語義表征,該模型在不增加太多的計算開銷的情況下,通過增加網絡深度可以獲得最佳的性能,簡稱DPCNN。模型結構示意圖如下所示。

DPCNN模型首先利用“text region embedding”,將常用的word embedding 推廣到包含一個或多個單詞的文本區(qū)域的embedding,類似于增加一層卷積神經網絡。

然后是卷積快的疊加(兩個卷積層和一個shortcut連接,其中shortcut連接類似于殘差連接),與步長為2的最大池化層進行下采樣。最后使用一個最大池化層,得到每個文檔的文檔向量。

代碼參考:

https://github.com/Cheneng/DPCNN

圖4:DPCNN模型結構示意圖

Using millions of emoji occurrences to learn any-domain representations for detecting sentiment, emotion and sarcasm (EMNLP 2017)

Felbo等人使用數以百萬計的表情符號來學習任何領域的表情符號來檢測情緒、情緒和諷刺,提出了DeepMoji模型,并取得了具有競爭性的效果。同時,DeepMoji模型在文本分類任務上也可以取得不錯的結果。

DeepMoji模型首先使用embedding層將單詞映射成向量,并將每個embedding維度使用雙正切函數映射到[-1,1]。然后,作者使用兩層的Bi-LSTM捕捉上下文特征。接著作者提出了一種新的注意力機制,分別將embeddding層以及2層的Bi-LSTM作為輸入,得到文檔的向量表征。最后,將向量輸入到softmax層,得到標簽的概率分布。

代碼參考:

https://github.com/bfelbo/DeepMoji

圖5:DeepMoji模型結構示意圖

Investigating Capsule Networks with Dynamic Routing for Text Classification (EMNLP 2018)

Zhao等人提出了一種基于膠囊網絡的文本分類模型,并改進了Sabour等人提出的動態(tài)路由,提出了三種穩(wěn)定動態(tài)路由。模型如下所示:

該模型首先利用標準的卷積網絡,通過多個卷積濾波器提取句子的局部語義表征。然后將CNN的標量輸出替換為向量輸出膠囊,從而構建Primary Capsule層。接著輸入到作者提出的改進的動態(tài)路由(共享機制的動態(tài)路由和非共享機制的動態(tài)路由),得到卷積膠囊層。最后將卷積膠囊層的膠囊壓平,送入到全連接膠囊層,每個膠囊表示屬于每個類別的概率。?

代碼參考:

https://github.com/andyweizhao/capsule_text_classification.

圖6:文本分類的膠囊網絡體系結構

Sentiment Analysis by Capsules (WWW 2018)

Wang等人提出了一種用于情感分類的RNN膠囊網絡模型,簡稱RNN-Capsule。(這篇文章在可視化方面做的還是不錯的)模型結構示意圖如下所示。

RNN-Capsule首先使用RNN捕捉文本上下文信息,然后將其輸入到capsule結構中,該capsule結構一共由三部分組成:representation module, probability module,和reconstruction module。具體地,首先用注意力機制計算capsule 表征;然后用capsule表征計算capsule狀態(tài)的概率;最后用capsule表征以及capsule狀態(tài)概率重構實例的表征。

圖7: RNN-Capsule模型結構示意圖

Graph Convolutional Networks for Text Classification (AAAI 2019)

Yao等人提出了一種基于graph convolutional networks(GCN)進行文本分類。作者構建了一個包含word節(jié)點和document節(jié)點的大型異構文本圖,顯式地對全局word利用co-occurrence信息進行建模,然后將文本分類問題看作是node分類問題。

代碼參考:

https://github.com/yao8839836/text_gcn

圖7:Text GCN的模型結構

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding (NAACL 2019)

Google提出的BERT模型,突破了靜態(tài)詞向量無法解決一詞多義的問題。BERT是基于語言模型的動態(tài)詞向量,在自然語言處理的多項任務中取得了最優(yōu)秀的結果。筆者對BERT模型進行微調,在文本分類的多個領域,諸如法律、情感等,取得了非常有競爭性的性能。

BERT的模型架構是一個多層的雙向Transformer編碼器(Transformer的原理及細節(jié)可以參考 Attention is all you need)。作者采用兩套參數分別生成BERTBASE模型和BERTLARGE模型(細節(jié)描述可以參考原論文),所有下游任務可以在這兩套模型進行微調。

代碼參考:

https://github.com/google-research/bert

圖8:BERT的Pre-training結構和Fine-Tuning結構

(*本文為 AI科技大本營轉載文章,轉載請聯(lián)系原作者)

精彩推薦

6月29-30日,2019以太坊技術及應用大會 特邀以太坊創(chuàng)始人V神與以太坊基金會核心成員,以及海內外知名專家齊聚北京,聚焦前沿技術,把握時代機遇,深耕行業(yè)應用,共話以太坊2.0新生態(tài)。

推薦閱讀

  • 阿里帶火的中臺到底是什么?白話中臺戰(zhàn)略

  • 入門學習 | 什么是圖卷積網絡?行為識別領域新星

  • 文件操作So Easy!來,一起體驗下Python的Pathlib模塊~

  • 有一種青春叫高考,Python爬取歷年數據,說說我們一起經歷的高考

  • 漫話:如何給女朋友解釋什么是編譯與反編譯

  • 超級黑幕:開發(fā)者千萬別被算法迷惑了!

  • 鮑岳橋:52 歲還在熬夜寫代碼! | 人物志

  • IBM 確認裁員約 1700 人;華為新款操作系統(tǒng)來了!開通 5G 服務不換卡不換號 | 極客頭條

  • 9年前他用1萬個比特幣買了兩個披薩, 9年后他把當年的代碼賣給了蘋果, 成為了GPU挖礦之父

你點的每個“在看”,我都認真當成了喜歡

總結

以上是生活随笔為你收集整理的fasttext 文本分类_一文综述经典的深度文本分类方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。