歡迎你們前往騰訊雲+社區,獲取更多騰訊海量技術實踐乾貨哦~git
本文來自雲+社區專欄語言、知識與人工智能,做者騰訊知文實驗室github
文本建模方法大體能夠分爲兩類:(1) 忽略詞序、對文本進行淺層語義建模(表明模型包括LDA,Earth Mover’s distance等;(2)考慮詞序、對文本進行深層語義建模(深度學習算法,表明模型包括LSTM,CNN等)。對於深度神經網絡算法,空間模式(spatial patterns)彙總在較低層,有助於表示更高層的概念(concepts)。例如,CNN卷積特徵檢測器提取來自局部的序列窗口的模式,並使用max-pooling來選擇最明顯的特徵。而後,CNN分層地提取不一樣層次的特徵模式。然而,CNN在對空間信息進行建模時,須要對特徵檢測器進行復制,下降了模型的效率。正如(Sabour et al, 2017)所論證的那樣,這類方法所需複製的特徵檢測器的個數或所需的有標籤訓練數據的數量隨數據維度呈指數增加。另外一方面,空間不敏感的方法不可避免地受限於對豐富的文本結構(好比保存單詞的位置信息、語義信息、語法結構等)進行有效地編碼,缺少文本表達能力。算法
最近,Hinton老師等提出了膠囊網絡(capsulenetwork), 用神經元向量代替傳統神經網絡的單個神經元節點,以dynamic routing的方式去訓練這種全新的神經網絡,有效地改善了上述兩類方法的缺點。正如在人類的視覺系統的推理過程當中,能夠智能地對局部和總體(part-whole)的關係進行建模,自動地將學到的知識推廣到不一樣的新場景中。微信
到目前爲止,並無工做將capsule network應用於天然語言處理中(e.g.,文本分類) 。咱們針對capsule network在文本分類任務上的應用作了深刻研究。對於傳統的分類問題,capsule network取得了較好性能(咱們在6個benchmarks上進行了實驗,capsulenetwork在其中4箇中取得了最好結果)。更重要的是,在多標籤遷移的任務上(fromsingle-label to multi-label text classification),capsulenetwork的性能遠遠地超過了CNN和LSTM。咱們的工做已經發表在arxiv上,論文名爲Investigating Capsule Networks withDynamic Routing for Text Classification。更多細節能夠參考連接:https://arxiv.org/pdf/1804.00538.pdf。咱們會在論文發表後公開源碼。網絡
文本主要研究膠囊網絡在文本分類任務上的應用,模型的結構圖以下:性能
其中,連續兩個卷積層採用動態路由替換池化操做。動態路由的具體細節以下:學習
在路由過程當中,許多膠囊屬於背景膠囊,它們和最終的類別膠囊沒有關係,好比文本里的停用詞、類別無關詞等等。所以,咱們提出三種策略有減小背景或者噪音膠囊對網絡的影響。測試
在ablation test中,咱們對改進的路由和原始路由方法進行對比,以下:ui
此外,爲了提高文本性能,咱們引入了兩種網絡結構,具體以下:編碼
數據集:爲了驗證模型的有效性,咱們在6個文本數據集上作測試,細節以下:
在實驗中,咱們和一些效果較好的文本分類算法進行了對比。因爲本文的重點是研究capsule network相對已有分類算法(e.g., LSTM, CNN)是否有提高,咱們並沒用與網絡結構太過複雜的模型進行對比。實驗結果以下:
此外,咱們重點進行了多標籤遷移實驗。咱們將Rueter-21578數據集中的單標籤樣本做爲訓練數據,分別在只包含多標籤樣本的測試數據集和標準測試數據集上進行測試。詳細的數據統計以及實驗結果以下圖所示。從表中咱們能夠看出,當咱們用單標籤數據對模型進行訓練,並在多標籤數據上進行測試時,capsule network的性能遠遠高於LSTM、CNN等。
此外,咱們還作了case study分析,發現路由參數能夠表示膠囊的重要性,並對膠囊進行可視化(此處咱們主要可視化3-gram的結果)。具體來講,咱們刪除卷積膠囊層,將primary capsule layer直接連接到fully-connectedcapsule layer,其中primary capsule 表明了N-gram短語在capsule裏的形式,capsule之間的鏈接強度表明了每一個primary capsule在本文類別中的重要性(比較相似並行注意力機制)。由圖咱們能夠看出,對於Interest Rate類別,months-interbank-rate等3- grams其着重要做用。
致謝: 感謝jhui和蘇劍林,他們的文章啓發了咱們的工做。感謝naturomics和gyang274的開源代碼,讓咱們開發過程變得高效。
https://jhui.github.io/2017/11/14/Matrix-Capsules-with-EM-routing-Capsule-Network/
https://spaces.ac.cn/archives/4819
https://github.com/bojone/Capsule
https://github.com/naturomics/CapsNet-Tensorflow
問答
相關閱讀
可視化CapsNet,詳解Hinton等人提出的膠囊概念與原理
此文已由做者受權騰訊雲+社區發佈,原文連接:https://cloud.tencent.com/developer/article/1145655?fromSource=waitui
歡迎你們前往騰訊雲+社區或關注雲加社區微信公衆號(QcloudCommunity),第一時間獲取更多海量技術實踐乾貨哦~