本站AI自動判斷提供您所需要的app下載:點我下載安裝,你懂的APP
圖1. 展示了未微調的BERT(bert-large-cased)無監督NER標記的句子樣本。 上圖僅挑選了用這種方法(BERT)標記的幾個實體類型。標記500個句子可以生成大約1000個獨特的實體類型——其中一些映射到如上所示的合成標簽。BERT模型無法區分GENE和PROTEIN,因為這些實體的描述符(descriptors)與屏蔽詞(masked terms)的預測分布落在同一尾部區域(所以無法將它們與基本詞匯表中的詞匯區分開來)。區分這些密切相關的實體可能需要對特定領域的語料庫進行MLM微調,或者使用scratch中自定義詞匯進行預訓練(下文將進一步闡述)。
TL;DR
在自然語言處理中,為了在句子中識別出感興趣的實體(NER),如人物、地點、組織等, 我們需要對句子進行標記。其中我們可以手動對每個句子進行標記,或通過某種自動的方法對每個句子進行標記(通常使用啟發式方法來創建一個噪聲/弱標記的數據集)。隨后用這些標記好的句子訓練模型以用于識別實體,這可以看作一個監督學習任務。
本文描述了一種無監督NER的方法。NER是使用BERT模型在沒有標記句子的情況下無監督地完成的,并且BERT模型僅在屏蔽詞模型目標的語料庫上進行了無監督訓練。
該模型在25個實體類型(維基文字語料庫)小型數據集上的F1得分為97%,在CoNLL-2003語料庫上的人員和位置的F1得分為86%。 對于CoNLL-2003語料庫的人員、位置和組織,F1得分較低,僅為76%,這主要是由于句子中實體的歧義(在下面的評估部分中進行了闡述)。完成這兩項測試時都沒有對測試的數據進行任何模型的預訓練/微調(這與在特定領域數據上對模型進行預訓練/微調,或在監督訓練中使用帶標簽的數據形成了鮮明對比)。
它是如何工作?
如果要問術語(term, 術語指文章中的單詞和短語)的實體類型到底是什么,即使我們以前從未見過這個術語,但是也可以通過這個術語的發音或句子結構猜得八九不離十。 即,
術語的子詞結構為它的實體類型提供了線索。
Nonenbury是_____。
這是一個杜撰的城市名稱,但從它的后綴“bury”可以猜出這可能是一個地點。此時即便沒有任何語境,術語的后綴也給出了實體類型的線索。
句子結構為術語的實體類型提供了線索。
他從_____飛到切斯特。
此處句子的語境給出了實體類型的線索,未知的術語是一個地點。即便以前從未見過它,但也可以猜測出句子中的空白處是一個地點(如:Nonenbury)。
BERT的 MLM前端(Masked Language Model head)(MLM-圖7)可以對上述屏蔽的候選詞進行預測,如前所述:它的訓練目標是通過預測句子中空白的單詞來進行學習。 然后在推理過程中使用這種學習后的輸出對屏蔽術語進行預測,預測是基于BERT固定詞匯表的概率分布。 這種輸出分布有一個明顯短小的尾部(大約小于總數的0.1%),其中包括了術語語境敏感實體類型的候選詞,此短尾便是用BERT詞匯表表示的語境敏感術語的標識。 例如句子中屏蔽位置的語境敏感標識如下所示:
Nonenbury是_____。
語境敏感性預測:村莊(village,Village) 、小鎮(hamlet,Hamlet)、 聚居區、教區村、農場 、小鎮(Town, town)
BERT固定詞匯表(bert-large-cased 為28996個詞)是一組通用的描述符集合(如:專有名詞、普通名詞、代詞等)。通過下述聚類過程獲得這個描述符集合的子集(有可能重疊),其特征為一個獨立于句子語境術語的實體類型。這些子集是獨立于語境的術語標識。 在BERT的詞匯表中獲取接近語境敏感標識的實體類型的過程如下:
['villages', 'towns', 'village', 'settlements', 'villagers', 'communities', 'cities']
['Village', 'village']
['city', 'town', 'City', 'cities', 'village']
['community', 'communities', 'Community']
['settlement', 'settlements', 'Settlement']
['Township', 'townships', 'township']
['parish', 'Parish', 'parishes']
['neighborhood', 'neighbourhood', 'neighborhoods']
['castle', 'castles', 'Castle', 'fortress', 'palace']
['Town', 'town']
在BERT詞匯表的嵌入空間中實現最近的匹配函數(基于單詞嵌入的余弦相似度),匹配函數在語境敏感標識/集群和語境獨立標識/集群之間產生一個表示術語的NER標簽的語境獨立標識子集。 具體來說,m組術語 {B1,B2,C3,…. Bm} 構成語境敏感標識的集合, n組術語{C11、C12、C13、… Ck1}、{C21、C22、C23、… Ck2}、…{Cn1、Cn?、Cn?、… Ckn}構成語境獨立標識,生成帶有NER標簽的語境獨立標識子集(如下圖2)。
圖2. 句子的NER標記。 (1)經過最小預處理后,將帶有屏蔽詞的句子輸入到模型中。 (2)得到BERT詞匯表中28996個詞匯的前10位預測術語。 (3)這10個術語在BERT的字嵌入空間中通過一個函數重新進行排序。 (4)重新排序后排位位于頂部的k個術語以及6000個集群(離線計算)作為輸入,輸入到輸出匹配集群的集群匹配函數之中。 然后,這些集群的標簽(可以是一次性手動標記,或在某些用例中使用)聚合后輸出NER標簽。 在圖中執行3、4和5的函數均在BERT的嵌入空間中使用了單詞向量之間的余弦相似性,一次性離線生成約6000個集群也是通過計算BERT詞嵌入空間的余弦相似度完成的。 圖中BERT基模型隱含的大小為768。文中BERT large cased示例隱含大小為1024。
給定語境獨立標識的數目,可以從BERT的詞匯表中自動獲取數千個標識(bert-large-cased 為6000)。利用這種方法,可以實現在細粒度級別上對大量實體類型進行無監督識別,而無須對數據進行標記。
上述無監督的NER方法應用十分廣泛。
通過BERT詞匯表中的其他詞匯,BERT的原始詞嵌入可以捕獲BERT有用信息和可分離信息(通過詞匯量小于0.1%直方圖尾進行區分),用它可以生成6000多個集群。
帶有MLM head的BERT模型輸出經過轉換之后,可用于對屏蔽詞進行預測。 這些預測結果也有一個易于區分的尾部,這一尾部可用于為術語選擇語境敏感標識。
執行無監督NER的步驟
一次性離線處理
一次性離線處理為從BERT的詞匯表中獲取的語境獨立的標識集合創建映射,將其映射成單個描述符/標簽。
第1步:從BERT的詞匯表中篩選對語境敏感的標識術語
BERT詞匯表是普通名詞、專有名詞、子詞和符號的混合體,對此集合的最小化過濾是刪除標點符號、單個字符和BERT的特殊標記。 進而生成包含21418個術語的集合--普通名詞和專有名詞相混合,作為描述實體類型的描述符。
第2步: 從BERT的詞匯表中生成語境獨立的標識
如果簡單地從它的尾部為BERT詞匯表中的每個術語創建語境獨立標識,即便選擇較高的余弦相似閾值(對于bert-large-cased模型來說,大約有1%的術語位于平均余弦閾值超過0.5的尾部),也會得到數目相當大的集群(大約20000個)。即便有這么大量的集群,也無法捕捉到這些標識之間的相似性。 所以我們要
迭代BERT詞匯表中的所有術語(子詞和大多數單個字符將被忽略),并為每個術語選擇余弦閾值超過0.5的語境獨立標識。 將單詞尾部的術語視為一個完整的圖,其中邊的值為余弦相似值。
選擇與圖中所有其他節點具有最大連接強度的節點。
將該節點視為由這些節點組成的語境獨立標識的主元,此節點是此圖中所有其他節點的最近鄰居。
圖3. 找到完整圖中的主元節點。 在上面的完整圖中,“smoothly”節點與其鄰居具有最大的平均連接強度。 因此,“smoothly”是此圖的主元節點-與此圖中所有其他節點最為近鄰。
一旦術語被選為標識的一部分,它將不會成為候選的評估主元(但是,如果計算出另一個術語的主元節點,它則可能成為間接的主元)。 從本質上講一個術語可以成為多個集合的元素,可以是主元,也可以是間接主元。
airport 0.6 0.1 Airport airport airports Airfield airfield
stroking 0.59 0.07 stroking stroked caressed rubbing brushing caress
Journalism 0.58 0.09 Journalism journalism Journalists Photography
journalists
smoothly 0.52 0.01 smoothly neatly efficiently swiftly calmly
在上述示例標識中,兩個數值是子圖中邊的平均值和標準差,第一列術語稱為該標識的主元術語。 這些術語作為實體標簽代理,可以手動映射(一次性操作)成為用戶自定義的標簽。 圖4a和圖4b顯示了映射這些實體集群的示例,只需對那些代表與我們特定應用程序相關的實體類型的集合進行映射。 可以自動將其余集合映射為合成標簽“其他/misc”。 圖中的參注部分描述了一種方法,通過使用模型本身來引導/加速描述符,從而手動將其映射到用戶自定義標簽。
由于大約30%的BERT詞匯是專有名詞(人名、地點等),我們也僅對一個小的術語集合進行標記(如圖4和4b所示:手動標記2000個左右集群需花費約5個工時),而沒有對大量的句子進行標記,這看上去有點像是在作弊。將對句子的標記問題轉化成標記語境非敏感描述符的主要優點是:它是一個一次性過程。 與有監督訓練方法相比,這不可避免地創建出更多的標記數據,不僅要對模型進行訓練,而且要對訓練完成之后生成的句子(通常是在部署中)重新訓練。 然而在這個例子中,最壞的情況是必須重新對BERT模型訓練/微調,對這些新句子進行無監督訓練-而無需再多做任何標記。
上述的語境非敏感標識將生成大約6000個集合,平均基數約為4/7個節點。 這6000個集合的集群強度平均值為0.59,偏差為0.007-這些集群是相當緊密的集群,集群平均值遠遠高于從分布中獲得的閾值(圖4c)。有大約5000個術語(占詞匯表的17%)為單例集合,將被忽略。 如果改變閾值,這些數字也會隨之改變。 例如閾值選為0.4,總尾質量將增加到0.2%,集群平均值也會相應增加(但如果實體類型混合在一起,集群開始變得嘈雜)。
圖4. BERT (bert-large-cased)語境獨立標識集數據集。平均基數越為4,標準差為7。 這6110個數據集合的集群強度的平均值是0.59,偏差是0.007 -因為平均值遠遠高于從分布中選取的閾值,這些集群是非常緊密的集群。可以看出:語境敏感的術語往往是相對比較弱的集群,有大約17%的BERT詞匯是單例集合。 子詞、特殊標記和大多數單字符標記將不會當作集群來考慮。
圖4a BERT (bert-large-cased)詞匯集群的實體分布。 大部分實體為人員、地點和組織(ORG)。 AMB是指集群中的術語不明確的集群,例如,如下圖4b所示,有7個集群在人員和地點之間存在歧義,其他集群在人物、事物、體育/傳記等方面存在歧義。 當想要找出特定領域的實體類型時,使用自定義詞匯表是很有必要的。這些自定義類型可能會消除對人員(PERSON)、地點(LOCATION)和組織(ORG)的歧義。
圖4b BERT (bert-large-cased)詞匯表的實體子類分布。這些是圖4a中主要類型的細粒度實體子類型。
從BERT詞匯表中獲取的語境獨立集群示例
圖4c BERT’s (bert-large-cased)詞匯表中獲取的集群示例。 語境非敏感的集群為模糊集群,標記為AMB。另外要考慮將子詞進行聚類時的子詞聚類(盡管本文中的實體識別結果已過濾掉類似結果)。
為每個輸入的句子預測實體
執行下述步驟為輸入的句子標記術語。
第3步:輸入句子的最小化預處理
在給一個輸入句子標記實體之前,需對輸入進行小量的預處理。 其中之一是大小寫規一化-所有大寫的句子(通常為文檔標題)被轉換為小寫,每個單詞中的首字母保持原始狀態。 這有助于提高下一步檢測短語跨度的準確性。
He flew from New York to SFO
轉化為
He flew from New York to Sfo
第4步:識別句子中的短語跨度
用一個POS標簽來標記輸入句子(理想狀態下,訓練也會處理所有小寫單詞句子),這些標簽用于識別短語,并將名詞首字母轉為大寫。
He flew from New York to Sfo
上述標記為名詞的術語用粗體表示。 BERT的屏蔽詞預測對大寫非常敏感,為此要使用一個POS標記來可靠地標記名詞,即便只有小寫才是標記性能的關鍵所在。 例如對下面句子的屏蔽詞進行預測,可以通過改變句子中一個字母的大寫來改變實體意義。
Elon Musk is a ____
CS Predictions: politician musician writer son student businessman biologist lawyer painter member
CS預測:政治家、音樂家、作家、兒子、學生、商人、生物學家、律師、畫家、成員
Elon musk is a ____(注:musk意為麝香)
CS Predictions: brand Japanese beer German common Turkish popular French Russian Brazilian
CS預測:品牌、日本語、啤酒、德國、通用、土耳其、流行、法國、俄羅斯、巴西
此外,BERT的屏蔽詞預測只能可靠地偵測實體類型(上面第一個例子中的人物),并不能對事實進行準確的預測,雖然BERT偶爾也可能會對事實做出準確的預測。
第5步:利用BERT‘s MLM head 預測每個屏蔽詞的位置
對于句子中的每個名詞術語,生成一個帶有該術語屏蔽詞的句子。利用BERT的MLM head來預測屏蔽詞位置的語境敏感標識。
He flew from __ to Sfo
CS Predictions: Rome there Athens Paris London Italy Cairo here Naples Egypt
CS預測:羅馬,雅典,巴黎,倫敦,意大利,開羅,那不勒斯,埃及
He flew from New York to ___
CS Predictions: London Paris Singapore Moscow Japan Tokyo Chicago Boston France Houston
CS預測:倫敦、巴黎、新加坡、莫斯科、日本、東京、芝加哥、波士頓、法國、休斯頓
與在圖2中查找主元節點的方法一樣,找出集合中每個節點和其它節點之間的強度。然后按強度大小進行排序,得到單詞嵌入空間中CS預測的重新排序列表。 重新排序后,有相近實體意義的術語被匯集在一起,此外還需要對嵌入空間中的與語境無關的詞重新排序。 例如在下面第一個示例中,經過重新排序之后,將術語“那里”和“這里”(空白位置的有效語境敏感預測)推到了末尾。在下一步中,將選取這些重新排序后節點的前k(k≥1)個節點。
He flew from __ to Sfo
他從__飛到斯佛
CS Predictions: Rome there Athens Paris London Italy Cairo here Naples Egypt
這里、
CI space ordering of CS predictions: Rome Paris Athens Naples Italy Cairo Egypt London there here
CS預測的CI空間排序:羅馬、巴黎、雅典、那不勒斯、意大利、開羅、埃及、倫敦、那里、這里
He flew from New York to __
他從紐約飛往__
CS Predictions: London Paris Singapore Moscow Japan Tokyo Chicago Boston France Houston
CI space ordering of CS predictions: Paris London Tokyo Chicago Moscow Japan Boston France Houston Singapore
CS預測的CI空間排序:巴黎、倫敦、東京、芝加哥、莫斯科、日本、波士頓、法國、休斯頓、新加坡
第6步:找出語境敏感標識和語境獨立標識之間的密切匹配
利用一個簡單的緊密匹配函數便可生成合理的結果,它從上一個術語中選擇一個語境敏感標識的主元節點,使之與語境獨立標識集中的所有6000個主元做點積,然后對它們進行排序,以獲得候選實體標記。此時從本質上來講,緊密匹配函數是找出離語境敏感集群主元最近的那個語境非敏感集群主元的關鍵。為提高標簽/預測的可信度(圖5),我們選取頂部前k個主元,而非選取頂部的那個主元。
圖5. 詞嵌入空間中語境敏感標識和語境獨立標識之間的緊密匹配。實現緊密匹配的最為有效簡單的方法是:語境敏感標識的主元節點與語境獨立標識中集合的主元之間的點積。此時,緊密匹配函數本質上是找出離語境敏感集群主元最近的那個語境非敏感集群主元。另外一個更優的實現是:根據語境敏感標識中節點的均值和標準差決定是否將其選為主元節點,然后在二分圖中選定要考慮的主元數,以找到與每個語境敏感集群主元最近的那個語境非敏感集群主元。(b)圖中顯示的情況為:當語境敏感詞計數是3,并且只有一個語境獨立的術語節點(為中斷二者之間的關系,在這里選取奇數可能相對更優一些;同樣,也無需從語境非敏感集合中選取三個節點,因為它們是緊密的集群,正如前面所述,平均偏差為.007)。 在計算中使用所有語境敏感標識中的節點不太可能生成良好的結果,因為語境敏感節點的平均標準差要高出許多。由于在嵌入空間中評估語境敏感標識時,會擴展到在更大的區域范圍,即使在捕獲單個實體類型時也是如此。
對語境敏感的標識中頂部那個主元的標記預測如下所示。 標記以及用戶標簽如下所示:
He flew from __ to Sfo
他從__飛到斯佛。
CI space ordering of CS predictions: Rome Paris Athens Naples Italy Cairo Egypt London there here
CS預測的CI空間排序:羅馬、巴黎、雅典、那不勒斯、意大利、開羅、埃及、倫敦、這兒、那兒
Tags: Italy Venice Athens Bologna Madrid Carthage Roma Sicily Turin Vatican
標記:意大利、威尼斯、雅典、博洛尼亞、馬德里、迦太基、羅馬、西西里、都靈、梵蒂岡
User Label - location location location location location location location location location location
用戶標簽-地點 地點 地點 地點 地點 地點 地點 地點 地點 地點 地點 地點 地點
He flew from New York to __
他從紐約飛往__。
CI space ordering of CS predictions: Paris London Tokyo Chicago Moscow Japan Boston France Houston Singapore
CS預測的CI空間排序:巴黎、倫敦、東京、芝加哥、莫斯科、日本、波士頓、法國、休斯頓、新加坡
Tags: London Madrid Geneva Vienna Bordeaux Chicago Metz Athens Cologne Istanbul
標記:倫敦、馬德里、日內瓦、維也納、波爾多、芝加哥、梅茨、雅典、科隆、伊斯坦布爾
User Label - location location location location location location location location location location
用戶標簽-地點 地點 地點 地點 地點 地點 地點 地點 地點 地點 地點 地點 地點
評價結果
該模型在兩個數據集上進行了評估:(1)具有三種實體類型(人員,位置,組織)的標準數據集CoNLL-2003,以及(2)具有約25種實體類型的Wiki文本數據集。
在CoNLL-2003集中,所有三種數據類型(PER-81.5%; LOC-73%; ORG — 66%; MISC-83.87%)的平均F1得分僅為76%。這是由于兩個原因:
測試數據中很大一部分的CoNLL文本結構不是完整的句子,而是板球分數的簡潔報告,它并沒有規則的句子結構。由于該模型未經過句子的預訓練或微調,因此很難預測這些分布句子中的掩蓋詞。實際上,可以通過預訓練或對新句子結構上的模型進行微調來改善這種情況。
測試數據將許多來自特定地區的球隊標記為一個位置。該模型總將它們標記為位置,而不是團隊名稱(org)。使用這種無監督NER方法無法輕松解決此問題。它總會選最能與屏蔽位置匹配的實體描述符來標記術語,而不是那些人工標記術語。盡管從某種意義上講這是個弊端,但這也是模型的關鍵優勢-它用來標記屏蔽位置的描述符自然是從受過訓練的語料庫中出現的,而非從外部標記的人那里學到的。將這些描述符映射到用戶定義的標簽可能是一種方法,但可能不是一個完美的解決方案(例如上述將位置的描述符視為組織和位置的模糊標簽的情況)。
圖 5a. CoNLL-2003 結果
該模型評價基于少量測試數據,但其具有完整的自然句集和大約25種標簽類型,平均F1-分數約為97%。
圖 5b. 25個實體類型的 Wiki 數據結果
圖5c. Wiki數據集的實體分布。在該數據集上,F1平均成績為97%。這種方法的主要區別在于,不僅不對模型進行標簽數據訓練,甚至不對模型進行預訓練(對模型進行測試)
方法的局限性和挑戰
語料庫偏倚
盡管單實體預測展現了模型如何運用子詞信息解釋實體類型的能力,但在實際應用中,它們只能與具有多個實體類型的句子一起使用。 沒有太多語境的單個實體句子對語料庫偏倚非常敏感,如對谷歌和Face book的預測:
Facebook is a __
臉書網是__。
CS Predictions: joke monster killer friend story person company failure website fault
CS預測:笑話、怪物、殺手、朋友、故事、人物、公司、失敗、網站、故障
Microsoft is a __
微軟是個__。
CS Predictions: company website competitor people friend player Winner winner person brand
CS預測:公司、網站、競爭對手、朋友、玩家、贏家、人物、品牌
Google is a __
谷歌是個__。
CS Predictions: friend website monster company killer person man story dog winner
CS預測:朋友、網站、怪物、公司、殺手、人物、男士、故事、狗、贏家
實體預測的模糊性
這種方法會產生兩種歧義:
以語境非敏感描述符為特征的實體類型中存在模糊性(圖4c中的示例)。 包含“banks, bank, Banks, banking”的集群可以代表一個組織或地點。 然而這種模糊性通常可以得到解決,當通過實體類型的多數投票將語境敏感標識與語境非敏感標識緊密匹配時,即使一些匹配的語境非敏感標識也是模糊的。
下文描述的第二種歧義難以解決。
有一些句子允許用不同的實體類型填充一個屏蔽后的術語。例如在下面的句子中預測紐約的實體類型時:
He felt New York has a chance to win this year's competition
他覺得紐約有機會贏得今年的比賽。
屏蔽單詞的實體預測可能會是一個暗示人物的詞,句子同樣通順,如下所示:
He felt __he____ has a chance to win this year's competition
他覺得__他____有機會贏得今年的比賽。
模糊性由屏蔽詞引起,大多數情況可以通過確定屏蔽術語本身的實體類型-紐約來解決。
New York is a _____
紐約是個_____。
CS Predictions: city town place City capital reality square country dream star
CS預測:城市、小鎮、城鎮、首府、現實、廣場、鄉村、夢、星星
然而,在某些情況下,即使是被屏蔽的術語也是模棱兩可的,從而使得實體的確定富有挑戰性。 例如如果原句為:
He felt Dolphins has a chance to win this year's competition.
他覺得海豚有機會贏得今年的比賽。
海豚可以是一個音樂團體或運動隊。
這些挑戰可以通過以下多種方法得以改善:
在專有術語語料庫上,對模型進行微調,可以幫助減少特定領域實體類型中的歧義。 例如,BERT預訓練中的BRA F(是一個基因)在其特征沒有基因意義,而基因意義卻存在于一個在生物醫學語料庫上微調的模型之中。
BRAF is a _____
BRAF是_____。
CS Prediction: British German new standard the variant name version World world
CS預測:英、德、新的標準、變體名稱、版本、世界
在一個生物醫學語料庫模型上微調之后:
BRAF is a _____
BRAF是_____。
CS Prediction: protein gene kinase structural non family reaction functional receptor molecule
CS Prediction:蛋白基因、激酶結構、非家族反應、功能、受體、分子
先從一個用戶自定義的詞匯表開始對模型進行預訓練(附鏈接:https://towardsdatascience.com/pre-training-bert-from-scratch-with-cloud-tpu-6e2f71028379),可以幫助解決實體歧義的問題,更為重要的是:它還可以提高實體標記性能。雖然BERT默認的詞匯非常豐富,有完整的單詞和子詞來檢測實體類型,如人物、地點、組織等(圖4a和b),但是它無法捕獲在生物醫學領域的全部和部分術語。 例如,imatinib, nilotinib, dasatinib等藥物的標記則不會考慮“tinib”這個常見的亞詞。 imatinib被標記為i##mat##ini#b,而dasatinib被標記為das##at i##ni##b。 如果利用生物醫學語料庫上的句型來創建自定義的詞匯,便會得到im##a##tinib和d ##as ##a ##tinib ,進而得到了常用的后綴。 此外自定義詞匯包含來自生物醫學領域的完整單詞,能更好地捕捉生物醫學領域的特征,比如像先天性、癌、致癌物、心臟病專家等醫學領域專業詞匯,它們在默認的BERT預先訓練的模型中不存在。 在默認的BERT的詞匯表中捕獲人和地點信息將被在生物醫學語料庫中捕獲藥物和疾病條件等專有名詞和子詞所取代。此外從生物醫學語料庫中提取的自定義詞匯約有45%的新全詞,其中只有25%的全詞與公開可用的BERT預訓練模型重疊。 當微調BERT模型添加100個自定義詞匯表時,會為之提供一個選項,但卻為數不多,而且如前面提到的,默認的BERT的詞匯表對人物、地點、組織等實體類型會產生嚴重歧義,如圖4a所示。
Token: imatinib dasatinib
BERT (default): i ##mat ##ni ##b das ##ati ##nib
Custom: im ##a ##tinib d ##as ##a ##tinib
文后的一些想法
NER是從輸入句子到與句子中術語對應的一組標簽的映射任務。傳統的方法通過對模型訓練/微調,利用標記后數據的監督任務來執行該映射。不同于BERT這樣的預訓練模型,該模型在語料庫上進行無監督學習。
本文描述了一種在沒有改變預訓練/細調的BERT模型情況下,對屏蔽語言目標執行無監督NER的方法。通過對學習的分布式表示(向量)端到端操作來實現,向量處理的最后階段使用傳統算法(聚類和最近鄰)來確定NER標簽。 此外與大多數情況下頂層向量用于下游任務的情況相反,BERT對屏蔽句子的輸出只作為種子符號信息,在其自己的最低層實現單詞嵌入,從而獲取句子的NER標簽。
圖6. 傳統的監督NER(左側圖)與本文描述的無監督NER(右側圖)對比圖。 傳統的監督NER是有監督的標簽映射任務,通過對模型的訓練/微調來執行任務(左側圖)。 相反無監督的NER則使用一個預訓練/微調模型,訓練無監督的屏蔽詞模型目標,并將模型的輸出作為種子信息,在BERT模型的最底層-單詞嵌入上進行算法操作,從而獲取句子的NER標簽。
總之執行NER所需的所有信息,從傳統意義上來講是一個有監督的學習任務,它也已存在于無監督的BERT模型中,其底層的關鍵部分即為單詞嵌入。
關聯工作/參考文獻
https://homes.cs.washington.edu/~eunsol/open_entity.html 2018年發表的這篇文章采用了遠程監督進行實體識別。 細粒度標簽為眾包的訓練模型。
https://www.aclweb.org/anthology/N19-1084.pdf .本文利用有監督的多標簽分類模型,對10,000多個實體類型進行細粒度實體鍵入
命名實體識別一直是一個廣泛研究的問題,迄今為止,在arXiv上大約有400篇相關論文,谷歌學者自2016年至今大約有62,000個搜索結果。
檢查BERT的原始嵌入:
https://towardsdatascience.com/examining-berts-raw-embeddings-fd905cb22df7
補充說明
Berts MLM head-簡要回顧
BERT MLM head本質上是BERT頂部的單一轉換層。下圖中顯示了BERT輸出的一個帶有9個標記的句子(在標記化之后),它是一個9x768矩陣(BERT基模型的維數是768)。 然后傳遞給MLM head的稠密層,在9x768輸出上對所有28996個單詞向量執行點積,以找出句子中哪個位置的向量輸出與28996個單詞向量的相似度最高。對于位于這個位置的被屏蔽單詞,生成一個預測的標簽。 在訓練/細調模式下,屏蔽詞的預測誤差被反向傳播到模型中,一直傳播到嵌入的單詞(解碼器權重和嵌入層權重綁定/等值)。 在推斷模式下,用嵌入來表示標記文本,以及在頭頂層的輸出日志。
圖7. BERT’s MLM head--顯示流過模型的一個9字標識輸入及其MLM head。 解碼器使用來自嵌入層的同一向量(在代碼中綁定權重-但單獨駐留在pytorch.bin文件中)。
方法性能
對于下述句子,
在典型的采用BERT的監督方法中,通過將整個句子完整輸入到一個微調的BERT模型, 我們可以得到如下所示的NER輸出標簽(B_PER、I_PER、O...)。
本文中描述的無監督NER方法,要求將上述句子分四次傳遞給一個MLM’s head,以確定四個實體-John Doe,New York,RioDe Janiro和Miami (正如前面所描述,這四個實體的位置是由一個POS標簽與一個chunker協同識別)。
具體而言,句子的下述4個標記版本將被傳遞到MLM模型中
檢索出每個屏蔽詞位置的語境敏感特征,然后將其與語境非敏感特征匹配,以生成每個位置的實體預測,如下所示。
雖然原則上可以通過一次性檢索輸入句中每個標識的MLM語境敏感標識,但實際上應將帶有屏蔽詞的句子單獨發送給MLM模型,以確定實體類型,因為不清楚是否能將短語或子詞的語境敏感預測結合起來進行預測 (如果原始句子只有一個單詞實體,并且這些單詞的標記版本也存在于BERT的詞匯表中,便可以在一次傳遞中推斷出敏感標識)。 舉個例子:像諸如New York 等短語,以及Imatinib — I ##mat ##ini ##b等子詞,均出現在BERT詞匯表中。如果一個子詞含有多個默認的含義的話,問題則變得復雜化,比如: I in Imatinib - I ##mat ##ini ##b,會產生一個高方差的語境敏感的標識。可以對子詞進行波束搜索(beam search)生成新的可信的單個標記,但它可能不是基礎詞匯表的一部分,導致語境敏感標識的偏差變大。 可考慮將SpanBERT視為一個選項,來加大預測的跨度,但它也僅僅是對屏蔽短語的各個標記進行預測,而沒有給出屏蔽短語的預測。
對帶有多個屏蔽詞的句子預測可以通過并行預測這個句子的所有屏蔽版本來解決。 在上面的例子中,屏蔽術語占句子中總術語數的50%,但在實際項目中往往低于這個平均數。 如果用一個獨立的句子來確認每個術語在句子中的實體預測,如 “術語是一個___”這樣的句子, (像“Nonenbury是一個___”這樣的句子),那么發送給MLM模型進行預測的句子數量將是句子中屏蔽術語數量的兩倍。
為用戶自定義的標簽引導映射標簽描述符
如果是對應用的一組特定實體集合感興趣,那么也可以利用任何未標記的語料庫,其中這些實體主要是通過如下方式獲得:
將這些句子輸入到模型中,讓模型輸出它們的標簽描述符。
對這些描述符的發生次數計數排序,得到最感興趣的幾個描述符。
手動掃描這些描述符并將它們映射到選定的實體標簽。
如果用來獲取這些標簽的未標記語料庫代表了真實的實體類型,那么它將涵蓋絕大部分實體類型。
這種無監督的方法:
將句子與特定用例中感興趣的實體的標記問題轉化為標記代表感興趣標簽的語境非敏感描述符。正如前文所述,這樣做減少了用更多標記數據重新訓練模型的數目。
此外還采用了一個POS標簽,用該標簽對有監督訓練的所有句子進行標記。然而,識別標識和候選描述符的關鍵部分是由BERT執行的,而BERT是經過訓練/細調的無監督訓練。
無子詞過濾的語境無關群集統計信息
由于難以找到子詞的標簽,因此未考慮將子詞用于創建語境無關的群集。 但是將它們納入考慮的集群可以獲取對某些應用有潛在價值的信息。BERT的模型詞匯有6477個子詞,其中1399個組成了主元。 其余的被分到59個非子詞主元中(2872是單例)。
子詞作為主元以及包括子詞的其他非子詞主元的語境不相關群集。 生成語境不敏感群集并未包含子詞,在此處顯示這些子詞只是為了強調某些群集捕獲了有趣的可解釋信息(其他不構成實體標簽的觀點)。
本方法的其他應用
由于實體類型的確定純粹是基于一組術語進行的,本方法可以應用于多種應用程序
查找兩個或多個術語是否具有相同的實體類型。 分別輸入包含這些術語的句子,找出語境敏感的標識,并檢查模型輸出的標簽是否相同/相似。
獲取特定實體類型的更多術語。
當不僅僅限于標記名詞短語時,本方法的輸出可以(可選擇:與POS標簽和依賴解析器一起)用于為下游監督任務生成標記數據,如分類、關系提取等。 在某些情況下,即便不對監督任務本身進行替換,至少也可以創建出一條基礎線。
本文從Quora手工導入
最新的外服爐石MS數據,統計了從5到傳說的卡組狀況,獵人登頂,青玉德下降的厲害。新時代來了?
補丁改動后,獵人異軍突起,憑借著343魔免及588對牧法的高效性,變強不少。天梯上茫茫多的蝙蝠俠似乎成了新的原諒綠。大有取代青玉德的趨勢!社會我熊鯊 人狠話不多,馴獸師刺喉龍buff一下,刷死那些宇宙牧!
AAECAR8GkbwCuwPFCNPNAvIF7QkM6rsC5QeXCI7DAuTCArm0ArUD180C/gyoAusHr8ICAA==
AAECAR8E68IClwjZB8UIDeq7Ao7DAuTCArm0AoEKtQPXzQL+DKgC2wnrB6/CAu0JAA==
獵人多了,你可以用進化薩,對獵人幾乎9:1開或者說已經快接近10:0的戰績。薩滿前期的鋪場比獵人更強。小生物+火舌,大漩渦等都極大的克制獵人前期鋪場能力。順便還能自己鋪場。而自己那些3血的圖騰獵人除了一手弓外幾乎沒有辦法解。588蛇本是獵人對牧法的最大制勝點。對薩滿卻完全不敢下。6費你下1個獅子。人家薩滿下3個獅子出來!獵人對薩滿的鋪場幾乎沒有辦法解。薩滿卻可以做到一邊解獵人場一邊鋪自己場。還有嗜血的秒殺。過牌的優勢。嘲諷及奶量也比獵人強。總之目前薩滿幾乎獵人無解的克星!暫時看不到獵人翻身的希望!
AAECAaoIBJG8AoivAuvPApS9Ag3lB+vCAvqqAva9AvAH0bwCoLYCkcECgQSHvAKTCfm/AvuqAgA=
牧法對獵人的抗性正在加強。青玉德變少的現在,不少牧師已經把646換成了焦油獸(克制343魔免)。帶上了紫軟。加強了自己的反獵人能力。特別是宇宙牧中的另一派。恩佐斯流對獵人已經有了相當強大的對抗能力。這類宇宙牧放棄了瘋狂過牌的維綸斬殺體系。卻帶上了嘲諷烏龜。焦油獸,紫軟,宴會牧師,強力恢復藥水。甚至是1費的鏈接治療,暗影狂亂等等前期對抗獵人的卡。卡扎的法術也從對抗青玉德的全場變羊+過牌換成了對抗獵人的全場AOE+護甲。等茍活到高費948及恩佐斯一下。獵人自然認輸。變不變身都不重要了!
AAECAa0GHooB+wHlBO0FyQalCdMK1wryDPsM4KwCkrQCg7sCtbsCt7sC2LsC8LsCsLwC6r8C0cEC2MEC3MECysMC3sQC08UCz8cCvsgC5swC8M8CkNMCAAA=
沒有青玉德,最受益的是?沒錯,就是大后期卡組了,今天首先帶來的是兩套疲勞牧,沒有青玉德,疲勞卡組的春天來了Zetalot硬是把這套卡組打出了強度,打到了傳說前40,Savjz也組了一套館長體系的在3級上分。
AAECAa0GDLW7AuUEigffxALTCre7As/HAqDOAonNArmyAsnHApDTAgnyDIoB5MIC0cEC1wr4B5vCApK0Auq/AgA=
AAECAa0GBNcKic0CkNMCoM4CDdIK8gzlBNHBAtnBAtMK7QG3uwLqvwLfxAL2B58D+AcA
法師目前任務無限火球法正在變少。奧秘及DK茍活法師正在變多。特別是DK茍活法師。對獵人也存在明顯的克制性。獵人對這類法師也是相當的絕望!完全搶不死啊!但是人家的冰環末日獵人除了一個沉默外真的沒有手段處理啊!
AAECAf0EAsMB7gIOlQPBwQKWBde2ApjEAuYEqwRx7AW7Aq/CAoe9AqbOAqO2AgA=
天敵海盜戰受到了明顯的削弱,魚人騎也在更新中受到了影響,賊的地位有不小的提升,奇跡賊,可以吃環境里突然冒出來的各種控制卡組根據vS每日的數據日報顯示,賊在傳說分段中,熱度已經上升了第五了,有11%
AAECAaIHBLICgsICgNMCkbwCDbQB9bsChgmMApvIApK2AogHmwX8wQKBwgKXBqQHgrQCAA==
不過外服的主播都開始玩節奏賊了,成績非常出色。下面是三套王子節奏賊,各有千秋,明智光秀帶了苦潮多頭蛇,偏重進攻,打到了傳說前10;Mryagut5費的選擇是花,偏重搶節奏,打到了傳說前5;而太子則帶了雙王子,偏娛樂一點,但也用這套上了傳說
AAECAaIHBpG8Au4GnOICsgLJvwKvBAy0Ae0C68ICkrYCqAW5vwLUBYcDmuIC3QivwgKmzgIA
AAECAaIHCJvIApG8ApziArICyb8CysMCrwT5uwIL7QK0AYwC68ICkrYCub8CqAWfwgKBwgKmzgLUBQA=
AAECAaIHCIwCkbwCnOICnuICsgKU0ALJvwKvBAu0Ae0C68ICkrYCqAXUBd0IysMCgcICps4CyMcCAA==
魚人領軍的削弱對魚人騎的影響好像并沒有想象的那么大,魚人騎的勝率依然很可觀,只要前期能搶先拿住場面,后期很容易在中期滾雪球,依靠每回合的超模隨從、法術壓垮對面,卡組強度十分穩定。
AAECAZ8FBqEGvL0C474CucEC78IC+gYM48sC2wPTqgKzwQKdwgLZrgKnCK8HscIClugCiMcCps4CAA==
沙叔的奶騎壓場,沙叔良心推薦摧心者強無敵,整套卡組唯一可以換的卡就是污手街懲罰者,獵人多就換一張禁忌治療
AAECAZ8FDoLiAry9AvsMrweArwKVvAK5wQLHywKnzgLmrgLSBPoGjtMC4KwCCIoBs8EC9gf0BY8Jm8IC3APPBgA=
海盜戰沒了小斧子用什么代替?當然是用王子了…
AAECAQcEkbwCnOIC8gXIAw3rwgKCsAKoBYiwAu4Gub8C1AX/A44FHLACr8ICmQIA
下面是來自Garchomp的亞服傳說前50動物園
AAECAf0GBJG8ApziArSsAsrLAg2VzgIw5Qf2rgLCCIniAsrDAqgFn8IC+wXyBfcEps4CAA==