中文分詞《Long Short-Term Memory Neural Networks for Chinese Word Segmentation》

Motivation:

以往大多數中文分詞的方法都是基於系列標註任務,這需要建立複雜的特徵表示才能從句子中抽取單詞。爲了避免建立複雜的特徵表示,最近的研究都是集中於用神經網絡自行學習分詞信息。然而在使用一般的RNN進行中文分詞時,之前學到的記憶可能會被沖淡,因此本文引入LSTM解決長時間依賴問題。

 

實現功能:

在用神經網絡進行中文分詞時,輸入的是一個句子,輸出是每個字符對應的標籤{B,M,E,S}。B代表開始,M代表中間字符,E代表結束,S代表單個字符。例如:輸入“要全面建成小康社會”,輸出“SBEBEBMME”。

 

具體步驟:

假設窗口大小爲5,對於邊界字符用”start”或”end”填充,以“要全面建成小康社會”爲例介紹模型主要構成。

  1. 字符嵌入層:設置一個嵌入矩陣(大小:d×c,d:嵌入維度,c:訓練集中不同字符數,訓練集中未出現過的字符映射到沒使用過的特殊表示),查詢“start | start | 要 | 全 | 面”這5個字符所對應的向量。然後拼接在一起,用x0表示,大小爲5d。
  2. LSTM層:將x0輸入到LSTM,輸出網絡的隱藏狀態h0,大小爲H(超參數)。

四種LSTM結構:

 3. 標籤推理層(線性層):LSTM層的輸出H作爲輸出,通過線性變換輸出“要”字對應的標籤(大小爲4)。

實驗結果:

對比四種LSTM網絡發現:在訓練了60個epochs之後,LSTM-1能夠達到最優的效果。爲了達到最優的效果,用不同的Dropout rate上下文窗口(Context Length)探究LSTM-1表現,結果發現Dropout rate=20%,上下文窗口(0,2)時效果最好。

 

啓發:

  1. LSTM利用上文信息,要利用雙向信息使用BiLSTM;
  2. 和隨機初始化字符向量相比,使用預訓練的字符向量和二元字符合併成一個向量能夠實現更好的效果;
  3. 本文滑動窗口是(0,2)時效果最好,可能因爲LSTM默認考慮的上文,而(0,2)彌補了考慮下文信息。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章