读论文《Natural Language Processing (Almost) from Scratch》
讀論文《Natural Language Processing (Almost) from Scratch》
原文地址:http://blog.csdn.net/qq_31456593/article/details/77504902
introduce
本文也是神經網絡語言模型和詞嵌入的經典論文,本文與之前的《A Neural Probabilistic Language Model》模型的不同在于,本文的核心目標是訓練好的word embedding以完成詞性標注 (POS)、短語識別(CHUNK)、命名實體識別(NER) 和語義角色標注 (SRL)等任務。
本文的語言模型網絡只是用來預訓練word embedding,最后要做的是拿word embedding作為具體任務(其共同目標就是標注)網絡第一層(將詞的one-hot表示變為word embedding)的參數繼續在具體任務中訓練。最后獲得在POS,CHUNK,NER,SRL上的良好表現。
本文用到了多任務訓練的思路,即共享one-hot到word embedding的轉化層的參數,在多項任務上進行訓練。
method
本文設計了2個網絡來完成這些nlp任務,其中一個叫window approach,另一個叫sentence approach,網絡結構見下圖
其中window approach是基于n-gram模型的改造,窗口大小為n,中心的那個詞為中心詞,上下文各(n-1)/2個詞。而sentence approach是利用卷積獲取上下文并將其變成大小一致的中間表示(通過修改卷積核的大小和步伐實現)。兩個模型最后都是最大化softmax輸出的正確標簽類別。
window approach適用于POS,CHUNK,NER, sentence approach 適用于LRS。
word embedding
本文以無監督的方法預訓練word embedding以提高在具體工作上的效果。其網絡結構與window approach的模型相同,只是最后的輸出層只有一個神經元,表示該中心詞與上下文語義關聯程度的得分。得分高則說明該中心詞在當前位置是符合上下文語言的,得分低則說明該中心詞在當前位置不符合上下文語義。
訓練時的正例就是中心詞為原語料的中心詞,負例就是把語料的中心詞以其他詞語代替。作者這么做的主要原因就是較少神經網絡語言模型在大規模數據集上的訓練時間。
如果用f(x)表示輸入通過神經網絡到輸出的變化,那么基于打分機制構造的神經網絡語言模型的優化目標是最小化下面的函數:
其中fθ(x)是正例的打分,fθ(x(w))是負例的打分這函數的目的就是增加兩者之間打分的差距,使其至少在1以上。
my view
1、本文利用神經網絡模型執行POS,CHUNK,NER和LRS的任務,算是把神經網絡用于具體自然語言處理處理任務的很好思路。
2、卷積模型或許可以發揮出跟大的力量。
3、詞嵌入的訓練由訓練語言模型變成了輸出評價的分,該評分的思路是否可以遷移到其他領域。
4、到底怎么樣的方法可以獲得更好的詞嵌入,值得我們探究。
總結
以上是生活随笔為你收集整理的读论文《Natural Language Processing (Almost) from Scratch》的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第二语言教学的5c标准是哪5c,【英语教
- 下一篇: 将LOL英雄联盟模型导入Unity3D