论文阅读笔记(一)【Journal of Machine Learning Research】Natural Language Processing (Almost) from Scratch(未完)
學習內容
題目: 自然語言從零開始 Natural Language Processing (Almost) from Scratch
2021年7月28日 1-5頁
這將是一個長期的過程,因為本文長45頁;
每天給自己定為5頁的任務量!
由于剛開始接觸知識圖譜,尚未學習NLP語言,理解較為粗淺,僅僅閱讀了通識部分,算法章節待基礎學完再去理解。
摘要
- 方法:
一個統一的神經網絡結構和學習算法,可以應用于各種自然語言處理任務,包括詞性標注、組塊、命名實體識別和語義角色標注。 - 模型:
這種多功能性是通過嘗試避免特定于任務的工程,從而忽略了大量的先驗知識來實現的。 - 數據集:
大量未標記的數據集。
介紹
基礎語料庫的由來:
沒有專門的結構可以表示整句話,所以一句話必須提取簡單表示的簡化目標(如三元組)。
我們通過特定程序獲取語料庫,它們可以描述句法信息(例如,詞性標注、組塊和語法分析)或語義信息(例如,詞義消歧、語義角色標注、命名實體提取和回指消解),這也構成了NLP真實世界的基礎。
現在NLP存在的問題:
現在大多數都是通過線性模型應用于特定特征來解決單一的benchmark問題,不具有泛化能力;
我們的方法:
我們使用一個能夠發現足夠的內部表征的單一學習系統,事實上,我們將基準視為學習過程中發現的內部表征相關性的間接測量,并且我們假設這些中間表征比任何基準都更普遍。而且我們無法使用大量的語言知識,“幾乎從零開始”。
2. 基準任務(The Benchmark Tasks)
當前的四種NLP任務:詞性標記(POS)、組塊(CHUNK)、命名實體識別(NER)和語義角色標記(SRL)
四個NLP任務的最新系統。POS的每字準確率和CHUNK、NER和SRL的F1分數反映了性能。黑體字的系統在本文的其余部分將被稱為基準系統。2.1 詞性標注(Part-Of-Speech Tagging )
POS的目的是給每個詞加上一個獨特的標記,以表明它的句法作用,例如復數名詞、副詞等。
最優算法:最好的POS分類器是基于文本窗口(windows of text)訓練的分類器,然后在推理過程中輸入雙向解碼算法,在雙向依賴網絡中使用最大熵分類器和推理(Heckerman等人,2001),每個詞的準確率達到97.24%。
(什么叫做基于文本窗口訓練的分類器????雙向解碼算法)
2.2 分塊(chunking)
語塊分析也被稱為淺層句法分析,其目的是用名詞或動詞短語(NP或VP)等句法成分來標記句子片段。每個單詞只分配一個唯一的標記,通常編碼為一個開始塊(例如,GB-NP,開始塊名詞短語)或內部塊標記(例如,GI-NP,內部塊名詞短語)
最優算法:CoNLL 2000基于SVMs,每個支持向量機以成對分類的方式訓練,并在感興趣的單詞周圍提供一個窗口,其中包含位置和單詞作為特征,以及周圍的標簽。在測試時執行動態規劃。
CoNLL: 計算機自然語言學習會議,是ACL的在Natural Language learning方面的分支會議。
(感興趣的單詞周圍設置窗口??)
2.3 命名實體識別(Named Entity Recognition)
NER將句子中的原子元素分為“人”或“地點”等類別。在分塊任務中,每個單詞都被分配一個標記,前綴是實體開頭或內部的指示符。
最優算法:NER CoNLL2003,,他們使用各種機器學習分類器的組合,他們挑選的特征包含了單詞、詞性標簽、POS標簽、前綴和后綴、一個大的地名索引(并不是由比賽提供的)和在更豐富的數據集上訓練的另外兩個NER分類器的輸出。
2.4 語義角色標注(Semantic Role Labeling)
SRL旨在賦予句子的句法成分一個語義角色。也就是說句子中的某些信息特定的標簽。
比如
中我們就可以給定主語、謂詞和賓語不同的標注。當然,如果一個句子中有多個動詞,一些單詞可能有多個標記。
最先進的SRL系統包括幾個階段:生成一個解析樹,確定哪些解析樹節點代表給定動詞的參數,最后對這些節點進行分類以計算相應的SRL標記。
最優算法: Pradhan et al.(2004)采用這些基本特征并定義其他特征,特別是首詞的speech-tag部分、參數的預測命名實體類、為動詞提供詞義消歧的特征(他們總共添加了12種新特征類型的25種變體)實現了最好的水平。
2.5 評估
所有這三個任務都是通過計算我們的模型產生的chunking的F1分數來評估的。POS任務是通過計算每個單詞的準確度來評估的,就像我們所提到的標準基準測試一樣(Toutanova等人,2003)。
2.6 討論
在公開挑戰比賽中,使用外來的頂級現有系統來提高效率是無可厚非的,但是在不同標記數據已經實現的較高效率的系統對我們是不能夠有效果的。所以,我們采用上面已經驗證過的基準系統作為我們實驗的基準參考。
而且復雜任務的最佳系統將具有更多的工程特征,也就是說POS任務是最簡單的,而SRL是最復雜的,并且為它設計了多種特征。 而NLP需要考慮更多的語義理解。
3. 網絡
以上所有NLP任務都可以看作是為單詞分配標簽的任務。傳統的NLP都是從句子中提取一組豐富的手工設計特征,然后當作分類任務放到含有線性核的SVM中分類。 但是常用的方法中太基于大量的數據了。
3.1 標記
其中fθ(?))f_\theta{(·)})fθ?(?))是一個神經網絡,lll則是經過了多少層; 我們后面會介紹每一層。
- 其中A是矩陣,[A](i,j)[A]_{(i,j)}[A](i,j)?表示的是iii和jjj的關系;
- ?A?idwin\langle A \rangle _i^{d_{win}}?A?idwin??向量,是由concat矩陣A∈Rd1×d2A\in\mathbb{R}^{d_1 \times{d_2}}A∈Rd1?×d2?的ithi^{th}ith列向量周圍dwind_{win}dwin?列向量得到的。特殊情況下,?A?i1\langle A \rangle_i ^ 1?A?i1?表示矩陣AAA的ithi^{th}ith列。 “win” = "window"
- 對于向量vvv,我們使用[v]i[v]_i[v]i?來表示向量的第iii個標量。
- 最終元素序列x1,x2,...,xT{x_1 , x_2, ... , x_T}x1?,x2?,...,xT?被寫成[x]1T[x]_1 ^ T[x]1T?,句子的ithi^{th}ith元素被表示[x]i[x]_i[x]i?。
3.2 將單詞轉換為特征向量
我們結構的關鍵點就是能夠很好的利用raw words; 只是使用索引不能提供很好信息,所以,我們網絡的第一層通過查找表操作將這些單詞索引映射到一個特征向量中,該特征向量從隨機初始化開始,通過反向傳播進行訓練。
更正式地說,每一個單詞w∈Dw \in \mathcal{D}w∈D,內部的dwrdd_{wrd}dwrd?-維度特征向量表示是由查找表LTW(?)L T_{W}(\cdot)LTW?(?)得來的:
其中W∈Rdwrd×∣D∣W \in \mathbb{R}^{d_{w r d} \times|\mathcal{D}|}W∈Rdwrd?×∣D∣是要被學習的參數矩陣。?W?w1∈Rdwrd\langle W\rangle_{w}^{1} \in \mathbb{R}^{d_{w r d}}?W?w1?∈Rdwrd?是WWW的wthw^{th}wth列,dwrdd_{wrd}dwrd?單詞的向量長度(是一個超參數). 給定一個句子或任意序列的TTT個單詞[w]1Tin?D[w]_{1}^{T} \text { in } \mathcal{D}[w]1T??in?D,查找表層對序列中的每個單詞應用相同的操作,生成以下輸出矩陣:
然后可以將該矩陣反饋給進一步的神經網絡層,如下所示。
3.2.1擴展到任何離散特征(其它的特征)
如果您懷疑這些特性對感興趣的任務有幫助,那么您可能希望提供文字以外的特性。例如,對于NER任務,可以提供一個功能,說明一個單詞是否在地名錄中。另一種常見做法是引入一些基本的預處理,例如詞干提取或處理大小寫。在后一個選項中,單詞將由三個離散特征表示:小寫詞干詞根、小寫詞尾和大寫特征。
一般說來,我們可以用kkk個離散特征來表示一個詞。w∈D1×?×DKw \in \mathcal{D}^{1} \times \cdots \times \mathcal{D}^{K}w∈D1×?×DK,其中Dk\mathcal{D}^{k}Dk是字典里的第 kthk^{t h}kth 特征。我們為每個特征關聯一個查找表LTWk(?)L T_{W^{k}}(\cdot)LTWk?(?),參數是Wk∈Rdwrdk×∣Dk∣where?dwrdk∈NW^{k} \in \mathbb{R}^{d_{w r d}^{k} \times\left|\mathcal{D}^{k}\right|} \text { where } d_{w r d}^{k} \in \mathbb{N}Wk∈Rdwrdk?×∣Dk∣?where?dwrdk?∈N是用戶指定的向量大小。給定一個單詞www,一個特征向量維度是dwrd=∑kdwrdkd_{w r d}=\sum_{k} d_{w r d}^{k}dwrd?=∑k?dwrdk?然后通過連接所有查找表輸出獲得:
單詞序列[w]1T[w]_{1}^{T}[w]1T?的查找表層的矩陣輸出類似于(1),但為每個離散特征添加了額外的行:
查找表中的這些向量特征有效地學習字典中單詞的特征。現在,我們希望使用這些可訓練的特征作為輸入,進一步構建可訓練的特征提取器,這些提取器可以表示一組單詞,最后是句子。
3.3從單詞特征向量中提取更高層次的特征
查找表層生成的特征向量需要在神經網絡的后續層中進行組合,以便為句子中的每個單詞生成標記決策。為可變長度序列中的每個元素生成標記(這里,一個句子是一個單詞序列)是機器學習中的一個標準問題。我們考慮兩種常見的方法,標簽一個詞在時間:窗口方法,和(卷積)句子的方法。
3.3.1 WINDOW APPROACH
窗口方法假設一個單詞的標記主要依賴于它的相鄰單詞。給定一個單詞標簽,我們考慮一個固定大小的kszk_{sz}ksz?(超參數)窗口圍繞這個詞的單詞。窗口中的每個單詞首先通過查找表層(1)或(2),生成固定大小dwrd×kszd_{w r d} \times k_{s z}dwrd?×ksz?的單詞特征矩陣。通過連接每個列向量,可以將該矩陣視為dwrd×kszd_{w r d} \times k_{s z}dwrd?×ksz?-維向量,這些列向量可以饋送到進一步的神經網絡層。更正式地說,第一個網絡層給出的單詞特征窗口可以寫成:
Linear Layer :固定大小的向量fθ1f_{\theta}^{1}fθ1?可饋送至一個或多個標準神經網絡層,這些神經網絡層對其輸入執行仿射變換:
其中Wl∈Rnhul×nhul?1and?bl∈RnhulW^{l} \in \mathbb{R}^{n_{h u}^{l} \times n_{h u}^{l-1}} \text { and } b^{l} \in \mathbb{R}^{n_{h u}^{l}}Wl∈Rnhul?×nhul?1??and?bl∈Rnhul?是要學習的參數.超參數nhuln_{h u}^{l}nhul?通常稱為lthl^{t h}lth層的隱藏單位數。
HardTanh Layer :
激活函數
其中:
Scoring:最后,我們網絡的最后一層LLL的輸出大小等于感興趣的任務可能的標簽數量。然后,由于我們將在本節后面描述的仔細選擇的成本函數,每個輸出都可以解釋為相應標簽的分數(給定網絡的輸入)。
Remark 1 (Border Effects): 對于靠近句子開頭或結尾的單詞,沒有很好地定義特征窗口(3)。為了避免這個問題,我們在句子的開頭和結尾添加了一個特殊的“PADDING”單詞,重復了dwin/2d_{win}/2dwin?/2次。這類似于在序列模型中使用“開始”和“停止”符號。
3.3.2SENTENCE APPROACH
我們認為句子訓練網絡(圖2)訓練SRL。卷積層輸出的“局部”特征數為每個字300個。通過對句子應用最大值,我們獲得了整個句子的300個特征。有趣的是,該網絡主要圍繞著感興趣的動詞(此處為“報告”)和感興趣的詞(“建議”(左)或“經?!?#xff08;右))捕捉特征。
在實驗部分,我們將看到窗口方法在我們感興趣的大多數自然語言處理任務中表現良好。然而,這種方法在SRL中失敗了,在SRL中,單詞的標記取決于句子中事先選擇的動詞(或者更準確地說,謂詞)。如果動詞落在窗口之外,就不能期望這個詞被正確地標記。在這種特殊情況下,為一個單詞添加標簽需要考慮整個句子。當使用神經網絡時,解決這個問題的自然選擇變成了卷積方法,首先由Waibel等人(1989)引入,在文獻中也稱為時滯神經網絡(TDNNs)。
下面我們將詳細描述我們的卷積網絡。它依次獲取完整的句子,將其傳遞到查找表層(1),通過卷積層在句子的每個單詞周圍生成局部特征,將這些特征組合成一個全局特征向量,然后將其饋送到標準仿射層(4)。在SRL中,對句子中的每個單詞和句子中的每個動詞執行此操作。因此,有必要在網絡架構中編碼我們在句子中考慮的動詞,以及我們想要標記的單詞。為此,句子中位置iii處的每個單詞都以第3.2.1節所述的方式增加了兩個特征。這些特征編碼了相對距離i?posvi - p o s _ { v }i?posv?和i?poswi - pos _ { w }i?posw?,分別與位置i?posvi-p o s_{v}i?posv?處的所選動詞和位置poswpos_wposw?處的要標記的單詞相關。
Convolutional Layer:卷積層可以看作是窗口方法的推廣。用前面的符號,lthl^{th}lth層的ttht^{th}tth列可以計算為:
其中,權重矩陣WlW^lWl在序列中的所有窗口ttt中都相同。卷積層圍繞給定序列的每個窗口提取局部特征。對于標準仿射層(4),卷積層通常被疊加以提取更高級別的特征。在這種情況下,每個層后面必須有一個非線性(5),否則網絡將相當于一個卷積層。
Max Layer :輸出(6)的大小取決于輸入網絡的句子中的字數。為了應用后續的標準仿射層,必須組合由卷積層提取的局部特征向量,以獲得與句子長度無關的固定大小的全局特征向量。傳統卷積網絡通常在序列(6)的“時間”ttt上應用平均(可能加權)或最大運算(這里,“時間”只是指句子中的位置,這個術語源于卷積層的使用,例如,在語音數據中,序列隨時間發生。)在我們的例子中,平均操作沒有多大意義,因為一般來說,句子中的大多數單詞對給定單詞的語義角色沒有任何影響。取而代之的是,我們使用了一種max方法,它強制網絡為手頭的任務捕獲卷積層產生的最有用的局部特征(見圖3)。給定一個矩陣fθl?1f _ { \theta } ^ { l- 1}fθl?1?, 它由卷積層l?1l-1l?1輸出,最大層lll輸出一個向量fθlf_\theta^lfθl?:
然后可以將該固定大小的全局特征向量饋送到標準仿射網絡層(4)。與窗口方法一樣,我們最終為給定任務的每個可能標記生成一個分數。
Remark2: 卷積運算(6)中產生的邊界效應與窗口方法(3)中產生的邊界效應相同。我們再次通過在句子中填充一個特殊的單詞來解決這個問題。
、
3.3.3 TAGGING SCHEMES
對于所有可能的網絡輸出層,解釋為compute scores。在窗口方法中,這些標記應用于位于窗口中心的單詞。在(卷積)句子方法中,這些標記應用于網絡輸入中由附加標記指定的單詞。POS任務實際上包括標記每個單詞的句法角色。然而,剩下的三項任務將標簽與句子片段相關聯。這通常是通過使用特殊的標記方案來識別段邊界來實現的,如表3所示。已經定義了幾種這樣的方案(IOB、IOE、IOBES等)總的來說,哪種方案更好,沒有明確的結論。有時,通過結合使用不同標記方案訓練的分類器(例如。G工藤和松本,2001年)。
各種標記方案。標記為“X”的段中的每個單詞都帶有前綴標簽,這取決于單詞在段中的位置(開始、內部、結束)。還輸出單字段標簽。不在標記段中的單詞標記為“O”。存在IOB(和IOE)方案的變體,其中對于與具有相同標簽“X”的另一段不相鄰的所有段,前綴B(或E)被替換為I。
NER、CHUNK和SRL任務的gt標簽是使用兩種不同的標記方案提供的。為了消除這種額外的變化源,我們決定對所有任務使用最具表現力的IOBES標記方案。例如,在組CHUNK任務中,我們使用四種不同的標記來描述名詞短語。標記“S-NP”用于標記包含單個單詞的名詞短語。另外,標簽“B-NP”、“I-NP”和“E-NP”用于標記名詞短語的第一個、中間和最后一個單詞。另一個標記“O”標記不是塊成員的單詞。在測試過程中,這些標簽隨后被轉換為原始的IOB標簽方案,并輸入到第2.5節中提到的標準性能評估腳本中。
3.4 Training
我們所有的神經網絡都是通過在訓練數據上最大化似然,使用隨機梯度上升來訓練的。如果我們將θ表示為使用訓練集TTT訓練的網絡的所有可訓練參數,我們希望最大化以下關于θ的對數似然:
其中xxx對應于訓練詞窗口或句子及其相關特征,yyy代表相應的標記。概率p(?)p(·)p(?)由神經網絡的輸出計算得出。在本節中,我們將看到兩種將神經網絡輸出解釋為概率的方法。
3.4.1 WORD-LEVEL LOG-LIKELIHOOD
在這種方法中,句子中的每個單詞都是獨立考慮的。給定一個輸入示例xxx,參數為θθθ的網絡輸出一個分數[fθ(x)]i[ f _ { \theta } ( x ) ] _ { i }[fθ?(x)]i?、 對于與感興趣的任務相關的ithi^{th}ith標簽。為了簡化符號,我們從現在開始去掉xxx,改為寫[fθ]i]i[ f _ { \theta } ] _ { i } ] _ { i }[fθ?]i?]i?我通過對所有標簽應用softmax(Bridle,1990)操作,該分數可解釋為條件標簽概率p(i∣x,θ)p(i | x,θ)p(i∣x,θ):
將log-add操作定義為:
我們可以將一個訓練示例(x,y)的對數似然表示為:
雖然這種訓練標準(通常稱為交叉熵)被廣泛用于分類問題,但在我們的例子中,它可能并不理想,因為句子中一個單詞的標記與其相鄰標記之間通常存在相關性?,F在,我們描述另一種常見的神經網絡方法,該方法強制執行句子中預測標記之間的依賴關系。
3.4.2句子級對數似然法
在諸如Chunking、NER或SRL之類的任務中,我們知道句子中單詞標記之間存在依賴關系:不僅標記以分塊的形式組織,而且一些標記不能跟隨其他標記。使用單詞級方法進行培訓會丟棄此類標簽信息。我們考慮了一個訓練方案,它考慮了句子結構:給出了我們的網絡中所有標簽在句子中的所有單詞的預測,并且給出了從一個標簽到另一個標簽的得分,我們希望在訓練期間鼓勵有效的標記路徑,同時勸阻所有其他路徑。
我們考慮由網絡輸出的分數矩陣fθ([x]1T)f _ { \theta } ( [ x ] _ { 1 } ^ { T } )fθ?([x]1T?)。與前面一樣,為了簡化符號,我們刪除了輸入[x]1T[ x ] _ { 1 } ^ { T }[x]1T?。矩陣的元素[fθ]i,t[ f _ { \theta } ] _ { i , t }[fθ?]i,t?是含有θθθ的網絡在ttht^{th}tth單詞處輸出的分數,用于句子[x]1T[x]^T_1[x]1T?和ithi^{th}ith標簽。我們引入了一個過渡分數[A]i,j[A]_{i,j}[A]i,j?,用于在連續單詞中從iii標記跳到jjj標記,以及一個初始分數[A]i,0[A]_{i,0}[A]i,0?,用于從iii標記開始。當過渡分數將被訓練時(所有網絡參數θ也是如此),我們定義θ=θU{[A]i,j,Vi,j}\theta = \theta U \{ [ A ] _ { i , j } , V i , j \}θ=θU{[A]i,j?,Vi,j}。一個句子[x]1T[ x ] _ { 1 } ^ { T }[x]1T?在標記[i]1T[ i ] _ { 1 } ^ { T }[i]1T?路徑上的得分由轉換得分和網絡得分之和給出:
與單詞級似然(11)完全一樣,我們使用softmax(9)對所有標簽進行標準化,我們使用softmax對所有可能的標簽路徑[j]1T[ j ] _ { 1 } ^ { T }[j]1T?上的分數進行標準化,并將結果比率解釋為條件標簽路徑概率。取對數,因此真實路徑的條件概率[y]1T[ y ] _ { 1 } ^ { T }[y]1T?由下式給出:
雖然logadd操作(11)中的術語數量等于標記數量,但它隨著(13)中句子的長度呈指數增長。幸運的是,我們可以利用標準遞歸,在半環10\text{半環}^{10}半環10(R∪{?∞},logadd?,?+?)( R \cup \{ - \infty \} , \text{logadd , + })(R∪{?∞},logadd?,?+?)上的結合性和分布性,在線性時間t內計算出。
然后是終止:
我們現在可以在(8)中最大化所有訓練對([x]1T,[y]1T[ x ] _ { 1 } ^ { T } , [ y ] _ { 1 } ^ { T }[x]1T?,[y]1T?)的對數似然(13)。
在推理時,給定一個要標記的句子[x]1T[x]^T_1[x]1T?,我們必須找到使句子得分最小化的最佳標記路徑(12)。換句話說,我們必須找到:
維特比算法是這種推理的自然選擇。它對應于執行遞歸(14)和(15),但是logadd被max替換,然后通過每個max跟蹤最優路徑。
Remark 3 (Graph Transformer Networks):我們的方法是針對圖形變壓器網絡(GTN)的區別性前向訓練的一個特例(Bottou等人,1997;樂存等人,1998年)。對數似然(13)可被視為有效路徑上受約束的正向得分(在我們的案例中,只有標記路徑)與無約束的正向得分(15)之間的差異。
Remark 4 (Conditional Random Fields): 等式(12)的一個重要特征是沒有歸一化。將所有可能的標記的指數e[fθ]i,te ^ { [ f \theta ] _ { i , t } }e[fθ]i,t?求和并不一定得到一致的效果。如果是這種情況,分數可以被視為條件轉移概率的對數,我們的模型將受到激勵條件隨機場(CRF)的標簽偏差問題的影響(Lafferty et al.,2001)。非標準化評分應與CRF的潛在功能相比較。事實上,CRF使用線性模型而不是非線性神經網絡最大化相同的可能性(13)。CRF在NLP領域得到了廣泛的應用,例如詞性標注(Lafferty等人,2001年)、組塊(Sha和Pereira,2003年)、NER(McCallum和Li,2003年)或SRL(Cohn和Blunsom,2005年)。與這些CRF相比,我們利用非線性網絡學習每個感興趣任務的適當特征。
3.4.3隨機梯度
通過迭代選擇隨機示例(x,y)(x,y)(x,y)并進行梯度步進,實現隨機梯度最大化(8)(Bottou,1991):
其中λλλ是所選的學習速率。圖1和圖2中描述的神經網絡是一系列層,對應于連續的函數組合。神經網絡最終由單詞級對數似然(11)組成,如果使用句子級對數似然(13),則在遞歸(14)中依次組成。因此,可以通過網絡、字級對數似然(11)或通過遞歸(14)應用微分鏈規則來計算導數(16)的分析公式。
Remark 5 (Differentiability, 可微性):我們的成本函數幾乎在任何地方都是可微的。不可微點的出現是因為我們使用了“硬”傳遞函數(5),并且因為我們在句子接近網絡中使用了“最大”層(7)。幸運的是,盡管存在這樣的可微性問題,隨機梯度仍然收斂到有意義的局部極小值(Bottou,1991,1998)。遇到不可微性的隨機梯度迭代被簡單地跳過。
Remark6(模塊化方法): 著名的“反向傳播”算法(LeCun,1985;Rumelhart等人,1986)使用鏈式規則計算梯度。鏈規則也可用于模塊化實現。我們的模塊對應于圖1和圖2中的方框。根據Bottou和Gallinari(1991)的建議,給定與其輸出相關的導數,每個模塊可以獨立計算與其輸入相關的導數以及與其可訓練參數相關的導數。這使我們能夠輕松構建網絡的變體。有關梯度計算的詳細信息,請參見附錄A。
Remark 7 (Tricks): 已經報道了許多訓練神經網絡的技巧(LeCun等人,1998年)。選擇哪一個往往令人困惑。我們只使用了其中兩種:每個網絡層參數的初始化和更新是根據該層的“fan-in”完成的,即用于計算該層每個輸出的輸入數量(Plaut和Hinton,1987)。查找表(1)、線性層(4)和卷積層(6)的扇入分別為1,nl?1萬德溫×nl?1胡。網絡的初始參數取自中心均勻分布,方差等于扇入平方根的倒數。(16)中的學習率除以扇入,但在訓練期間保持不變。
3.5 Supervised Benchmark Results
對于POS、Chunking和NER任務,我們使用第3.3.1節中描述的窗口架構報告結果。SRL任務使用句子方法(第3.3.2節)進行訓練。結果如表4所示,POS的每字準確度(PWA)和所有其他任務的F1分數。我們用**單詞級對數似然(WLL)和句子級對數似然(SLL)**進行了實驗。我們網絡的超參數如表5所示。
比較**基準NLP系統**與普通神經網絡(NN)方法在POS、Chunking、NER和SRL任務上的泛化性能。我們報告了單詞級對數似然(WLL)和句子級對數似然(SLL)的結果。一般化性能以POS的每字準確率(PWA)和其他任務的F1分數報告。NN結果落后于基準結果,在第4節中,我們將展示如何使用未標記的數據改進這些模型。所有 我們的網絡都被喂入了兩種未加工的文本特征:小寫單詞和大寫字母功能。我們選擇考慮小寫詞來限制字典中單詞的數量。然而,**為了保持一些大寫信息在這種轉換中丟失,我們添加了一個“caps”功能**,它告訴我們每個單詞是小寫的、全大寫的、首字母大寫的還是至少有一個非首字母大寫的。此外,一個單詞中出現的**所有數字序列都將替換為字符串“NUMBER”**,因此,例如,單詞“PS1”和“PS2”都將映射到單個單詞“psNUMBER”。我們使用了一個包含《華爾街日報》中100000個最常見單詞的詞典(不區分大小寫)。本詞典以外的單詞被一個特殊的“RARE”單詞所取代。單詞嵌入在SRL神經網絡的單詞查找表中,從零開始訓練,字典大小為100000。對于每一列,查詢的單詞后跟字典中的索引(越高意味著越少)及其10個最近鄰(任意使用歐幾里德度量)。
結果表明,“out-of-the-box”的神經網絡落后于基準系統。雖然我們網絡的初始性能低于CoNLL 挑戰贏家的性能,但與大多數競爭對手的性能相比,它的性能相當出色??紤]到句子結構(SLL)的訓練標準似乎提高了Chunking、NER和SRL任務的表現,對POS幾乎沒有好處。這一結果與比較句子水平和單詞水平可能性的現有NLP研究一致(Liang et al.,2008)。我們的網絡架構的容量主要在于單詞查找表,其中包含50×100000個要訓練的參數。在《華爾街日報》的數據中,15%的最常用詞出現在90%左右的時間里。許多單詞只出現幾次。因此很困難正確地訓練他們相應的在查找表中的50維度的特征向量。理想情況下,我們希望語義相似的單詞在單詞查找表所表示的嵌入空間中靠近:通過神經網絡函數的連續性,在語義相似的句子上生成的標記將是相似的。我們在表6中顯示,情況并非如此:嵌入空間中的相鄰詞似乎在語義上不相關。
在下一節中,我們將重點介紹如何利用未標記的數據來改進這些單詞嵌入。我們將看到我們的方法可以提高所有任務的性能。
Remark 8(Architectures):在本文的所有實驗中,我們通過驗證嘗試了幾種不同的體系結構,從而調整了超參數。在實踐中,超參數的選擇,如隱藏單元的數量,如果它們足夠大,對泛化性能的影響是有限的。在圖4中,我們報告了驗證集中每個任務的F1分數,與隱藏單元的數量有關??紤]到與網絡初始化相關的差異,我們選擇了實現“合理”性能的最小網絡,而不是選擇在一次運行中實現最高性能的網絡。
Remark 9 (Training Time):訓練我們的網絡在計算上相當昂貴。Chunking和NER訓練大約需要一個小時,POS訓練需要幾個小時,SRL訓練大約需要三天。訓練速度可以更快,學習速度也可以更快,但我們更愿意堅持小規模的訓練,而不是尋找最適合速度的訓練。二階方法(LeCun等人,1998年)可能是另一種加速技術。
4.大量未標記的數據
我們希望獲得比表6所示更多的語法和語義信息的單詞嵌入。由于我們系統的大多數可訓練參數都與單詞嵌入相關,這些較差的結果表明我們應該使用更多的訓練數據。
F1在驗證集(y軸)上的得分與使用句子級似然(SLL)訓練的不同任務的 **hidden units(隱藏單元)**數(x軸)的對比,如表4所示。對于SRL,我們在該圖中只改變了第二層中的隱藏單元數。該量表適用于每項任務。我們展示了我們選擇的體系結構的標準偏差(通過5次不同的隨機初始化獲得)(POS、CHUNK和NER的隱藏單位為300,SRL的隱藏單位為500)。
遵循NLP從無到有的理念,我們現在描述如何使用大型未標記數據集顯著改進這些嵌入。然后,我們使用這些改進的嵌入來初始化第3.5節中描述的網絡的單詞查找表。
4.1 Data Sets
我們的第一個英語語料庫是整個英語維基百科。我們已刪除所有包含非羅馬字符的段落和所有MediaWiki標記。使用Penn Treebank標記器腳本對生成的文本進行標記。結果數據集包含約6.31億字。在我們之前的實驗中,我們使用了一本包含《華爾街日報》中100000個最常見單詞的詞典,對大寫字母和數字進行了相同的處理。同樣,字典之外的單詞被特殊的“稀有”單詞取代。我們的第二個英語語料庫是通過添加從路透社RCV1(Lewis et al.,2004)數據集中提取的額外2.21億單詞組成的。我們還增加了《路透社》中最常見的30000個單詞,將詞典擴展到130000個單詞。這有助于確定是否可以通過進一步增加未標記數據集的大小來實現改進。
4.2 Ranking Criterion versus Entropy Criterion
我們使用這些未標記的數據集來訓練語言模型,計算描述文本可接受性的分數。這些語言模型同樣是使用第3.3.1節和圖1中描述的窗口方法的大型神經網絡。與前一節一樣,大多數可訓練參數位于查找表中。
Bengio和Ducharme(2001)以及Schwenk和Gauvain(2002)已經提出了類似的語言模型。他們的目標是估計一個單詞在句子中出現的概率。估計條件概率提出了一個類似于第3.4.1節描述的交叉熵標準。因為字典是很大的,計算歸一化項可能要求很高, 需要精確的近似值。對我們來說更重要的是,這兩項工作都沒有導致重大的單詞嵌入被報道。
Shannon(1951)通過讓受試者猜測即將出現的字符,估計出英語的熵在每個字符0.6到1.3位之間。Cover和King(1978)使用微妙的賭博方法給出了每個字符1.25位的下限。同時,Brown等人(1992b)使用一個簡單的單詞三元模型,將每個字符的位數提高到1.75位。Teahan和Cleary(1996)使用可變長度字符n-grams獲得了低至每個字符1.46位的熵。當然,人類主體依賴于他們對語言和世界的所有知識。我們能通過利用每個字符0.2位來學習英語的語法結構和世界的本質嗎?每個字符將人類主體與簡單的n-gram模型區分開來?由于此類任務當然需要高容量模型,因此獲取測試集熵的足夠小的置信區間可能需要非常大的訓練集。熵準則缺乏動態范圍,因為其數值很大程度上由最頻繁的短語決定。為了學習語法,罕見但合法的短語不亞于普通短語。
因此,有必要確定替代培訓標準。我們在此建議使用成對排序方法(Cohen等人,1998年)。我們尋求一個網絡,當給出一個合法的短語時,計算出的分數比給出一個錯誤的短語時要高。由于排名文獻通常涉及信息檢索應用,許多作者定義了復雜的排名標準,為最佳排名實例的排序提供了更多權重(見Burges et al.,2007;Clémenc?on和Vayatis,2007年)。然而,在我們的案例中,我們不想強調最常見的短語而不是罕見但合法的短語。因此,我們使用一個簡單的成對標準。
我們考慮一個窗口逼近網絡,如第3. 3節1和圖1所描述的,其中參數θ\thetaθ輸出一個文本x=[w]1dwinx = [ w ] _ { 1 } ^ { d _ { w i n } }x=[w]1dwin??的窗口的分數$f _ { \theta } $。我們最小化關于θ的排名標準:
其中XXX是所有可能的文本窗口集合,其中dwind_{win}dwin?單詞來自我們的訓練語料庫,DDD是單詞詞典,X(w)X^{(w)}X(w)表示通過將文本窗口[w]1d[ w ] _ { 1 } ^ { d }[w]1d?的中心單詞替換為單詞www而獲得的文本窗口。
Okanohara和Tsujii(2007)使用相關方法避免使用二元分類方法(正確/錯誤短語)的熵標準。他們的工作重點是使用內核分類器,而不是像我們在這里所做的那樣學習單詞嵌入。Smith和Eisner(2005)還提出了一個對比標準,用于估計數據條件化為“負”鄰域的可能性。他們考慮不同的數據街區,包括來自dwind_{win}dwin?的DdwinD^{d_{win}}Ddwin?長度的句子。然而,他們的目標是在完全無監督的數據上完成一些標記任務,而不是獲得對其他任務有用的通用單詞嵌入。
總結
以上是生活随笔為你收集整理的论文阅读笔记(一)【Journal of Machine Learning Research】Natural Language Processing (Almost) from Scratch(未完)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件oem要注意什么_化妆品OEM客户要
- 下一篇: af_netlink_2、netlink