最近看了”Hierarchical Attention Network for Document Classification”一篇文章盟步,也在網(wǎng)上找了一些資料結(jié)合理解卸勺,發(fā)現(xiàn)在此之前有篇文章跟他提出的模型架構(gòu)基本相似钥庇,只不過不包含attention機(jī)制:“Document Modeling with Gated Recurrent Neural Network for Sentiment Classification”洁仗,也就是說本篇論文是基于這篇論文作了一些改進(jìn)的。所以這里主要結(jié)合兩篇論文進(jìn)行介紹文檔的分層架構(gòu)模型誊抛。
第一篇文章主要是使用兩個(gè)神經(jīng)網(wǎng)絡(luò)分別建模句子和文檔狈蚤,采用一種自下向上的基于向量的文本表示模型困肩。首先使用CNN/LSTM來建模句子表示,接下來使用雙向GRU模型對(duì)句子表示進(jìn)行編碼得到文檔表示脆侮,這里論文中提到在情感分類任務(wù)中锌畸,GRU往往比RNN效果要好。模型架構(gòu)如下圖所示:
在上圖中靖避,詞向量是從語(yǔ)料庫(kù)中使用Word2vec模型訓(xùn)練出來的潭枣,保存在詞嵌入矩陣中比默。然后使用CNN/LSTM模型學(xué)習(xí)句子表示,這里會(huì)將變長(zhǎng)的句子表示成相同維度的向量卸耘,以消除句子長(zhǎng)度不同所帶來的不便退敦。也就是說之后的GRU模型的輸入是長(zhǎng)度相同的句子向量粘咖。
卷積模型如下圖所示蚣抗,filter的寬度分別取1,2瓮下,3來編碼unigrams翰铡,bigrams和trigrams的語(yǔ)義信息。最后使用一個(gè)Average層捕獲全局信息并轉(zhuǎn)化為固定長(zhǎng)度的輸出向量讽坏。
接下來進(jìn)行文本層面建模锭魔,使用GRU模型,輸入是變長(zhǎng)的句子向量路呜,輸出固定長(zhǎng)度的文本向量迷捧,這里會(huì)對(duì)最后每個(gè)單元的輸出向量進(jìn)行取平均操作,雖然會(huì)忽略句子順序的信息胀葱,但是相對(duì)來說較為簡(jiǎn)單方便漠秋,如下圖所示,其中GNN代表GRU的一個(gè)基礎(chǔ)計(jì)算單元:
接下來我們介紹一下本篇文章的模型架構(gòu)抵屿,其實(shí)主要的思想和上面的差不多庆锦,也是分層構(gòu)建只不過加上了兩個(gè)Attention層,用于分別對(duì)句子和文檔中的單詞轧葛、句子的重要性進(jìn)行建模搂抒。其主要思想是,首先考慮文檔的分層結(jié)構(gòu):?jiǎn)卧~構(gòu)成句子尿扯,句子構(gòu)成文檔求晶,所以建模時(shí)也分這兩部分進(jìn)行。其次衷笋,不同的單詞和句子具有不同的信息量芳杏,不能單純的統(tǒng)一對(duì)待所以引入Attention機(jī)制。而且引入Attention機(jī)制除了提高模型的精確度之外還可以進(jìn)行單詞右莱、句子重要性的分析和可視化蚜锨,讓我們對(duì)文本分類的內(nèi)部有一定了解。模型主要可以分為下面四個(gè)部分慢蜓,如下圖所示:
a word sequence encoder,
a word-level attention layer,
a sentence encoder
a sentence-level attention layer.
亚再、
這里對(duì)Attention機(jī)制進(jìn)行一個(gè)補(bǔ)充介紹,可以參考論文“FEED-FORWARD NETWORKS WITH ATTENTION CAN SOLVE SOME LONG -TERM MEMORY PROBLEMS”里面的插圖:
這里的word sequence encoder也是使用的雙向GRU模型晨抡,與上篇文章不同氛悬。無聊的堆砌一下公式则剃,四個(gè)部分分別對(duì)應(yīng)下面四個(gè):
Word Encoder:
Word Attention:
Sentence Encoder:
Sentence Attention:
這里不進(jìn)行過多的解釋,主要針對(duì)Attention部分說一下如捅,結(jié)合上圖棍现,我們會(huì)發(fā)現(xiàn)ui是使用一個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)對(duì)hi的隱層表示,然后α是其softmax之后的結(jié)果镜遣,然后使用α對(duì)hi進(jìn)行加權(quán)計(jì)算得到最終的輸出向量即可己肮。總結(jié)如下圖:
最后是一個(gè)文本分類層悲关,其實(shí)就是一個(gè)簡(jiǎn)單的softmax谎僻,然后目標(biāo)函數(shù)使用負(fù)對(duì)數(shù)似然函數(shù)。
原文參考:http://blog.csdn.net/liuchonge/article/details/73610734