讓咱們首先正式定義異構文本網絡上的預測性文本嵌入的問題。 與無監督的文本嵌入方法(包括學習文本的通常語義表示的 Skip-gram 和段落向量)相比,咱們的目標是學習爲給定文本分類任務優化的文本表示。 換句話說,咱們預期文本嵌入對給定任務具備強大的預測性表現力。 基本思想是在學習文本嵌入時合併有標籤和無標籤的信息。 爲了實現這一點,但願首先具備統一表示來編碼兩種類型的信息。 在本文中,咱們提出了不一樣類型的網絡來實現這一點,包括單詞共現網絡,單詞文檔網絡和單詞標籤網絡。網絡
定義 1(單詞共現網絡):單詞共現網絡,表示爲G[ww] = (V, E[ww])
,在無標籤數據的本地上下文中捕獲單詞共現信息。 V
是單詞的詞彙表,E[ww]
是單詞之間的邊的集合。單詞v[i]
和v[j]
之間的邊緣的權重w[ij]
,被定義爲兩個單詞在給定窗口大小的上下文窗口中共同出現的次數。函數
單詞網絡捕獲本地上下文中的單詞共現,這是現有單詞嵌入方法(如 Skip-gram)使用的基本信息。 除了本地上下文以外,文檔層面的單詞共現也在經典文本表示中被普遍探索,例如統計主題模型,例如潛在的 Dirichlet 分配 [4]。 爲了捕獲文檔級單詞共現,咱們引入了另外一個網絡,單詞文檔網絡,定義以下:學習
定義 2(單詞文檔網絡):單詞文檔網絡,表示爲G[wd] = (V∪D, E[wd]
),是一個二分網絡,其中D
是一組文檔,V
是一組單詞。E[ wd]
是單詞和文檔之間的邊集。 單詞v[i]
和文檔d[j]
之間的權重w[ij]
簡單地定義爲v[i]
出如今文檔d[j]
中的次數。優化
單詞和單詞文檔網絡在大規模語料庫中編碼未標記的信息,在本地上下文級別和文檔級別捕獲單詞共現。 爲了對帶標籤信息進行編碼,咱們引入了單詞標籤網絡,它捕獲了類別級別的單詞共現。編碼
定義 3(單詞標籤網絡):單詞標籤網絡,表示爲G[wl] = (V∪L, E[ wl])
,是一個捕獲類別級別單詞共現的二分網絡。 L
是一組類標籤,V
是一組單詞。 E[wl]
是單詞和類別之間的邊集。 單詞v[i]
和類c[j]
之間的邊的權重w[ij]
定義爲:w[ij] = Σn[di], d: l[d] = j
,其中n[di]
是文檔d
中單詞v[i]
的術語頻率,l[d]
是文檔d
的類標籤。code
上述三種類型的網絡能夠進一步集成到一個異構文本網絡中。ip
定義 4(異構文本網絡):異構文本網絡是由無標籤和帶標籤的文本數據構成單詞,單詞文檔和單詞標籤網絡的組合。 它捕獲不一樣級別的單詞共現,幷包含帶標籤和無標籤的信息。文檔
注意,異構文本網絡的定義能夠歸納爲其餘類型的網絡的集成,例如單詞句子,單詞段落和文檔標籤網絡。 在這項工做中,咱們使用三種類型的網絡(單詞單詞,單詞文檔和單詞標籤)做爲說明性示例。 咱們特別關注單詞共現網絡,以便首先將單詞表示爲低維空間。 而後能夠經過聚合單詞表示來計算其餘文本單元(例如,句子或段落)的表示。部署
最後,咱們正式定義預測性文本嵌入問題以下:
定義 5(預測性文本嵌入):給定具備無標籤和帶標籤信息的大量文本數據集合,預測性文本嵌入的問題,旨在經過將從集合構造的異構文本網絡嵌入到低維向量空間中,來學習單詞的低維表示。
在本節中,咱們介紹了經過異構文本網絡來學習預測性文本嵌入的方法。 咱們的方法首先經過將由自由文本構造的異構文本網絡,嵌入到低維空間中,來學習單詞的向量表示,而後基於所學習的單詞向量推斷文本嵌入。 因爲異構文本網絡由三個二分網絡組成,咱們首先介紹一種嵌入單個二分網絡的方法。
在咱們以前的工做中,咱們引入了 LINE 模型來學習大規模信息網絡的嵌入 [27]。 LINE 主要用於同構網絡,即具備相同類型節點的網絡。 LINE 不能直接應用於異構網絡,由於不一樣類型邊上的權重不可比較。 在這裏,咱們首先調整 LINE 模型以嵌入二分網絡。 基本思想是利用頂點之間的二階鄰近 [27],假設具備類似鄰域的頂點彼此類似,所以應在低維空間中緊密表示。
給定二分網絡G = (V[A]∪V[B], E)
,其中V[A]
和V[ B]
是不一樣類型的兩個不相交的頂點集合,E
是它們之間的邊集合。 咱們首先將集合V[A]
中的頂點v[i]
由集合V[B]
中的頂點v[j]
生成的條件機率定義爲:
(1)
其中u[i]
是V[A]
中頂點v[i]
的嵌入向量,u[j]
是V[B]
中頂點v[j]
的嵌入向量。 對於V[B]
中的每一個頂點v[j]
,公式(1)定義了集合V[A]
中全部頂點上的條件分佈p(·| v[j])
; 對於每對頂點v[j], v[j']
,二階鄰近度實際上能夠經過它們的條件分佈p(·| v[j])
,p(·| v[j'])
來肯定。 爲了保留二階鄰近度,咱們可使條件分佈p(·| v[j])
接近其經驗分佈^p(·| v[j])
,這能夠經過最小化如下目標函數來實現:
(2)
其中d(·,·)
是兩個分佈之間的 KL 散度,λ[j]
是網絡中頂點v[j]
的重要性,能夠設置爲deg[j]=Σi(w[ij])
,而且經驗分佈能夠定義爲^p(v[i]|v[j]) = w[ij]/deg[j]
。 省略一些常量,目標函數(2)能夠計算爲:
(3)
可使用邊採樣 [27] 和負採樣 [18] 的技術,利用隨機梯度降低來優化目標(3)。 在每一個步驟中,以與其權重w[ij]
成比例的機率對二元邊e =(i, j)
進行採樣,同時從噪聲分佈p[n](j)
中採樣多個負邊(i, j)
。 採樣過程解決了學習網絡嵌入中隨機梯度降低的顯着不足。 有關詳細的優化過程,讀者能夠參考 [27]。
經過上述模型能夠學習單詞單詞,單詞文檔和單詞標籤網絡的嵌入。 注意,經過將每一個無向邊視爲兩個有向邊,單詞單詞網絡本質上是二分網絡,而後V[A]
被定義爲源節點的集合,V[B]
被定義爲目標節點的集合。 所以,咱們能夠根據公式(1)定義條件機率p(v[i] | v[j])
,p(v[i]| d[j])
和p(v[i] | l[j])
,而後經過優化目標函數(3)來學習嵌入。 接下來,咱們將介紹嵌入異構文本網絡的方法。
異構文本網絡由三個二分網絡組成:單詞單詞,單詞文檔和單詞標籤網絡,其中單詞頂點在三個網絡中共享。 爲了學習異構文本網絡的嵌入,一種直觀的方法是聯合嵌入三個二分網絡,這能夠經過最小化如下目標函數來實現:
(4)
其中
(5,6,7)
能夠以不一樣方式優化目標函數(4),這取決於如何使用標籤信息,即單詞標籤網絡。 一種解決方案是使用不帶標籤的數據(單詞單詞和單詞文檔網絡)和帶標籤數據同時訓練模型。 咱們將此方法稱爲聯合訓練。 另外一種解決方案是首先使用無標籤的數據學習嵌入,而後使用單詞標籤網絡微調嵌入。 這是深度學習文獻中預訓練和微調的想法帶來的啓發 [2]。
在聯合訓練中,全部三種類型的網絡一塊兒使用。 優化目標(4)的直接解決方案是合併三組E[ww]
,E[wd]
,E[wl]
中的全部邊,而後部署邊採樣 [27],其在每一個步驟中對邊採樣來更新模型, 採樣機率與其權重成正比。 然而,當網絡是異構的時,不一樣類型的頂點之間的邊的權重不能相互比較。更合理的解決方案是從三組邊交替採樣。 咱們在算法 1 總結了詳細訓練算法。
Algorithm 1: Joint training. ---------------------------- Data: G[ww], G[wd], G[wl], number of samples T, number of negative samples K. Result: word embeddings w. while iter ≤ T do sample an edge from E[ww] and draw K negative edges, and update the word embeddings; sample an edge from E[wd] and draw K negative edges, and update the word and document embeddings; sample an edge from E[wl] and draw K negative edges, and update the word and label embeddings; end Algorithm 2: Pre-training + Fine-tuning. ---------------------------------------- Data: G[ww], G[wd], G[wl], number of samples T, number of negative samples K. Result: word embeddings w. while iter ≤ T do sample an edge from Eww and draw K negative edges, and update the word embeddings; sample an edge from Ewd and draw K negative edges, and update the word and document embeddings; end while iter ≤ T do sample an edge from Ewl and draw K negative edges, and update the word and label embeddings; end
一樣,咱們總結了算法 2 中預訓練和微調的訓練過程。
異構文本網絡編碼不一樣級別的單詞共現,從無標籤數據和特定分類任務的帶標籤信息中提取。 所以,經過嵌入異構文本網絡而學習的單詞表示不只更健壯,並且還針對該任務進行了優化。 一旦學習了單詞向量,就能夠經過簡單地平均該段文本中的單詞的向量來得到任意一段文本的表示。 也就是說,一段文本d = w[1], w[2], ..., w[n]
的向量表示能夠被計算爲。
(8)
其中u[i]
是單詞w[i]
的嵌入。 實際上,詞嵌入的平均值是最小化如下目標函數的解決方案:
(9)
其中詞嵌入u[i]
和文本嵌入d
之間的損失函數l(·, ·)
被指定爲歐幾里德距離。 相關的是段落向量 [10] 的推理過程,它最小化了相同的目標,但具備不一樣的損失函數l(u[i], d) = σ(u[i]^T d)
。 然而,它不會產生封閉形式的解,必須經過梯度降低算法進行優化。