色屁屁www影院免费观看入口,欧美性猛交ⅹxxx乱大交妖精,欧美激情第5页,欧美性猛交xxxx三人,欧美一a级做爰片大开眼界

達(dá)觀動(dòng)態(tài)

達(dá)觀愿與業(yè)內(nèi)同行分享 助力各企業(yè)在大數(shù)據(jù)浪潮來臨之際一起破浪前行

達(dá)觀數(shù)據(jù)CTO紀(jì)達(dá)麒:小標(biāo)注數(shù)據(jù)量下自然語言處理實(shí)戰(zhàn)經(jīng)驗(yàn)

1

 

自然語言處理在文本信息抽取、自動(dòng)審校、智能問答、情感分析等場景下都有非常多的實(shí)際應(yīng)用需求,在人工智能領(lǐng)域里有極為廣泛的應(yīng)用場景。然而在實(shí)際工程應(yīng)用中,最經(jīng)常面臨的挑戰(zhàn)是我們往往很難有大量高質(zhì)量的標(biāo)注語料。1

“巧婦難為無米之炊”,在缺少語料的情況下,如何達(dá)到良好的NLP應(yīng)用效果,是這些場景要落地所必須解決的問題。我們通常稱其為“低資源問題”,或者稱為“小樣本學(xué)習(xí)”問題,本文從達(dá)觀數(shù)據(jù)的實(shí)踐經(jīng)驗(yàn)出發(fā),用命名實(shí)體識(shí)別(NER)任務(wù)為例,來介紹在小標(biāo)注數(shù)據(jù)量下進(jìn)行NLP處理的經(jīng)驗(yàn)和方法,希望對(duì)大家有所啟發(fā)。

經(jīng)典的低資源NLP方法

在眾多文本處理場景中,NERNamed Entity Recognition,命名實(shí)體識(shí)別)又稱專名識(shí)別,是最為常見的一項(xiàng)任務(wù),使用的范圍非常廣,因此本文中我們以NER任務(wù)為例來講解。命名實(shí)體通常指文本中具有特別意義或者指代性非常強(qiáng)的事物,例如人名、地名、機(jī)構(gòu)名、書名、時(shí)間、以及其他專有名詞等。NER的任務(wù)就是從原始的非機(jī)構(gòu)化文本中自動(dòng)抽取出上述實(shí)體,或者按業(yè)務(wù)需求識(shí)別出更多特定類別的實(shí)體,比如產(chǎn)品名稱、型號(hào)、價(jià)格等。實(shí)體這個(gè)概念可以很廣,只要是業(yè)務(wù)需要的特殊文本片段都可以稱為實(shí)體。例如在金融行業(yè)文本中,債權(quán)人、債務(wù)人、利潤總額、資產(chǎn)負(fù)載率等,這些特定意義的信息,都可以視為實(shí)體。

?2

?在實(shí)際應(yīng)用中,由于標(biāo)注數(shù)據(jù)稀少(這個(gè)原因來自很多實(shí)際條件的限制),但又期望能達(dá)到足夠好的效果,在經(jīng)典的機(jī)器學(xué)習(xí)方法里,往往可以通過對(duì)特征進(jìn)行概率統(tǒng)計(jì)學(xué)習(xí),來形成抽取模型。其具體算法思想如下:

先由工程師標(biāo)定特征,通過對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行特征統(tǒng)計(jì)和挖掘,形成抽取模型。

下面簡單舉例說明,假設(shè)標(biāo)注的樣本數(shù)據(jù)是:

百度是一家人工智能公司? à NER (公司名:百度)

需要抽取出“參加本次活動(dòng)的達(dá)觀數(shù)據(jù)是一家人工智能公司”這句話里的公司名。通過分詞、詞性標(biāo)注、句法結(jié)構(gòu)分析等,掌握到“參加本次活動(dòng)”這樣的定語修飾詞,以及后續(xù)13個(gè)字,經(jīng)典方法是用概率計(jì)算方法判斷出現(xiàn)在“是人工智能公司”前面的詞匯是公司名的概率。

 

在經(jīng)典NER方法中,達(dá)觀的經(jīng)驗(yàn)是條件隨機(jī)場(CRF)效果較好。條件隨機(jī)場使用勢函數(shù)和圖結(jié)構(gòu)上的團(tuán)來定義條件概率P(y | x)。給定觀測序列x,鏈?zhǔn)綏l件隨機(jī)場主要包含兩種關(guān)于標(biāo)記變量的團(tuán),即單個(gè)標(biāo)記變量{yi}以及相鄰的標(biāo)記變量{yi-1yi}。在條件隨機(jī)場中,通過選用合適的勢函數(shù),并引入特征函數(shù),可以得到條件概率的定義:

3

其中:

4

其中tk(yi- 1, yi, x, i)是定義在觀測序列的兩個(gè)相鄰標(biāo)記位置上的轉(zhuǎn)移特征函數(shù),用于刻畫相鄰標(biāo)記變量之間的相關(guān)關(guān)系以及觀測序列對(duì)它們的影響,sl(yi, x, i)是定義在觀測序列的標(biāo)記位置i上的狀態(tài)特征函數(shù),用于刻畫觀測序列對(duì)標(biāo)記變量的影響,λkul為參數(shù),Z為規(guī)范化因子。

?可以將tk(yi – 1, yi, x, i)sl(yi, x, i)兩個(gè)特征函數(shù)統(tǒng)一為:fk(yi-1, yi, x, i),則有:

5

其中:

6

已知訓(xùn)練數(shù)據(jù)集,由此可知經(jīng)驗(yàn)概率分布7,可以通過極大化訓(xùn)練數(shù)據(jù)的對(duì)數(shù)似然函數(shù)來求模型參數(shù)。加入懲罰項(xiàng)后,訓(xùn)練數(shù)據(jù)的對(duì)數(shù)似然函數(shù)為:

8

其中的σ是可以調(diào)節(jié)的懲罰權(quán)重。對(duì)似然函數(shù)L(w)中的w求偏導(dǎo),令:9

可以依次求出wi。在上述情況下,如果帶來干擾的訓(xùn)練樣本不多,則CRF還是可以取得尚可的效果的。但是前置的句法結(jié)構(gòu)分析、詞性分析等一旦出現(xiàn)誤差,會(huì)帶來連鎖反應(yīng)。例如“參加本次活動(dòng)的”這樣的定語有時(shí)需要進(jìn)行剔除才能確保NER識(shí)別的精度,不得不讓工程師針對(duì)每個(gè)場景進(jìn)行很多繁瑣的預(yù)處理和后處理工作。

深度學(xué)習(xí)與小標(biāo)注數(shù)據(jù)訓(xùn)練

使用深度學(xué)習(xí)的優(yōu)點(diǎn)是不需要工程師告訴算法要提取哪些特征,而是由算法從標(biāo)注數(shù)據(jù)中自動(dòng)學(xué)習(xí)并尋找到關(guān)鍵特征,再進(jìn)行預(yù)測(提?。?。深度學(xué)習(xí)源自經(jīng)典的BP神經(jīng)網(wǎng)絡(luò)模型,一般由輸入層,隱藏層,輸出層組成,其中隱藏層的數(shù)目按需確定。深度學(xué)習(xí)增加了網(wǎng)絡(luò)層數(shù),將每一層的輸出作為下一層的輸入,將底層的簡單特征進(jìn)行多層組合抽象為高層的特征表示。NER最常使用的深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)是長短時(shí)記憶網(wǎng)絡(luò)LSTMLong ShortTerm Memory)。長短期記憶網(wǎng)絡(luò)的原理可見下圖:

10

? ?第一步,如何做長期記憶的更新?輸入Ht-1Xt,Ht-1是上一個(gè)時(shí)刻這個(gè)cell隱狀態(tài)的輸出,Xt是當(dāng)前輸入,它們兩個(gè)通過這個(gè)函數(shù)計(jì)算后的輸出是0-1之間的某一個(gè)值。這一步,決定上個(gè)時(shí)刻神經(jīng)元狀態(tài)留下的比率是多少。

第二步,上下文中獲得了新的信息,不能只是把老的神經(jīng)元狀態(tài)更新,還要把新的信息添進(jìn)去,通過這兩個(gè)公式來添,第一個(gè)公式輸出0-1的系數(shù),第二個(gè)公式要選出量是多少。有了第一步和第二步之后就開始第三步神經(jīng)元狀態(tài)更新。

第三步,第一步的輸出0-1Ct-1相乘決定上一時(shí)刻這個(gè)神經(jīng)元狀態(tài)留下多少。第二步算出來系數(shù)和信息量相乘決定留下多少新增信息,然后把上一步剩下的和這一步新增的加起來,做一個(gè)更新,這個(gè)更新就是現(xiàn)的神經(jīng)元狀態(tài)值。

第四步,現(xiàn)在單元的狀態(tài)更新完了,接下來就要輸出,這個(gè)輸出有兩個(gè):第一個(gè),對(duì)外是一樣,還是隱層的輸出Ht。決定留下多少老的信息,決定留下多少新的信息,第二個(gè)再把老的信息和新的信息加起來就是最終的結(jié)果。

使用深度學(xué)習(xí)的方法通常需要有大量的訓(xùn)練數(shù)據(jù),在小數(shù)據(jù)集下往往很難對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行充分訓(xùn)練。多任務(wù)學(xué)習(xí)(Multi-task Learning)可通過端到端的學(xué)習(xí)方式,直接在當(dāng)前任務(wù)中引入其他相關(guān)任務(wù)的標(biāo)注信息作為監(jiān)督學(xué)習(xí)的樣本。2008Collobert等人最早提出了NLP中應(yīng)用Multi-task的思想,通過不同任務(wù)的標(biāo)注數(shù)據(jù),共同訓(xùn)練一個(gè)神經(jīng)網(wǎng)絡(luò)模型,來共同提升數(shù)據(jù)的綜合利用程度。多任務(wù)學(xué)習(xí)可以設(shè)計(jì)為可共享網(wǎng)絡(luò)的核心層次,在輸出層對(duì)不同任務(wù)設(shè)計(jì)特定的網(wǎng)絡(luò)結(jié)構(gòu)。達(dá)觀在實(shí)際使用中,也會(huì)使用Bi-LSTMCRF結(jié)合的網(wǎng)絡(luò)結(jié)構(gòu),效果略有提升,但受限于數(shù)據(jù)規(guī)模,并非有質(zhì)的提升。

引入預(yù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)

前面所提的方法只依賴了測試場景下已有的訓(xùn)練數(shù)據(jù),而很多實(shí)際場景下獲取標(biāo)注語料非常困難,那為了達(dá)到好的效果還有什么不同的思路嗎?這些專有名詞除了出現(xiàn)在標(biāo)注語料中,還有很多文本中也一樣會(huì)出現(xiàn),無論是字、詞或者句子,都大量存在。所以是否可以使用其他文本中的未標(biāo)注過的語料,來改進(jìn)當(dāng)前測試場景下的效果?這就是近年來在NLP領(lǐng)域大放異彩的預(yù)訓(xùn)練思路。而詞向量(Word Embedding)是普遍使用的方法,相比傳統(tǒng)的對(duì)于詞語進(jìn)行One-Hot編碼,詞向量攜帶了更加豐富的語義信息。

字面上不相關(guān)的詞在中文中有可能是非常相近甚至是同義詞,如“電腦”和“計(jì)算機(jī)”,“香蕉”和“水果”,“公司”和“企業(yè)”,如果模型可以結(jié)合這些信息,能有效提高抽取的泛化能力。詞向量主要的幾代技術(shù)有Word2Vec,ELMOBERT。

Word2Vec

Word2Vecgoogle2013年推出的一個(gè)NLP工具,它的特點(diǎn)是將所有的詞向量化。Word2Vec中最重要的兩個(gè)模型是CBOWContinuous Bag-of-Word)模型和Skip-gramContinuousSkip-gram)模型,兩個(gè)模型都包含三層:輸入層,投影層,輸出層。CBOW模型的作用是已知當(dāng)前詞Wt的上下文環(huán)境(Wt-2,Wt-1,Wt+1,Wt+2)來預(yù)測當(dāng)前詞,Skip-gram模型的作用是根據(jù)當(dāng)前詞Wt來預(yù)測上下文(Wt-2Wt-1,Wt+1,Wt+2

在模型求解中,和一般的機(jī)器學(xué)習(xí)方法類似,也是定義不同的損失函數(shù),使用梯度下降法尋找最優(yōu)值。Word2vec模型求解中,使用了HierarchicalSoftmax方法和NegativeSampling兩種方法。通過使用Word2vec,我們可以方便的將詞轉(zhuǎn)化成向量表示,讓計(jì)算機(jī)和理解圖像中的每個(gè)點(diǎn)一樣,數(shù)字化詞的表現(xiàn)。

ELMO

相同的詞在不同上下文是可能有不同的含義。如“蘋果”,在“我吃了一個(gè)蘋果”,和“我買了一個(gè)蘋果手機(jī)”兩個(gè)句子下的含義完全不同。所以word embedding 對(duì)于每個(gè)詞只有一個(gè)唯一的向量,是無法區(qū)分不同語義下相同詞的不同含義。ELMOEmbeddingfrom Language Models)通過上下文來調(diào)整word? embedding 的方式, 可以比較好的解決這個(gè)問題。

?

11

 

上圖展示的是其預(yù)訓(xùn)練過程,它的網(wǎng)絡(luò)結(jié)構(gòu)采用了雙層雙向 LSTM,目前語言模型訓(xùn)練的任務(wù)目標(biāo)是根據(jù)單詞的上下文去正確預(yù)測單詞,單詞之前的單詞序列稱為上文,之后的單詞序列稱為下文。圖中左端的前向雙層LSTM代表正方向編碼器,輸入的是從左到右順序的除了預(yù)測單詞外的上文。右端的逆向雙層 LSTM 代表反方向編碼器,輸入的是從右到左的逆序的句子下文。每個(gè)編碼器的深度都是兩層 LSTM 疊加。這個(gè)網(wǎng)絡(luò)結(jié)構(gòu)其實(shí)在NLP 中是很常用的。

使用這個(gè)網(wǎng)絡(luò)結(jié)構(gòu)利用大量語料做語言模型任務(wù)就能預(yù)先訓(xùn)練好這個(gè)網(wǎng)絡(luò),如果訓(xùn)練好這個(gè)網(wǎng)絡(luò)后,輸入一個(gè)新句子,句子中每個(gè)單詞都能得到對(duì)應(yīng)的三個(gè)Embedding:最底層是單詞的 WordEmbedding,往上走是第一層雙向LSTM中對(duì)應(yīng)單詞位置的Embedding,這層編碼單詞的句法信息更多一些;再往上走是第二層 LSTM 中對(duì)應(yīng)單詞位置的Embedding,這層編碼單詞的語義信息更多一些。所以,ELMO不僅僅學(xué)會(huì)單詞的 WordEmbedding,還學(xué)會(huì)了一個(gè)雙層雙向的LSTM 網(wǎng)絡(luò)結(jié)構(gòu)。?

BERT

ELMO一個(gè)非常明顯的缺點(diǎn)在特征抽取器選擇方面,ELMO使用了 LSTM 而不是新貴 Transformer,Transformer 是谷歌在 17 年做機(jī)器翻譯任務(wù)的“Attentionis all you need”的論文中提出的,引起了相當(dāng)大的反響,很多研究已經(jīng)證明了 Transformer 提取特征的能力遠(yuǎn)強(qiáng)于LSTM。

BERT的全稱是Bidirectional Encoder Representation from Transformers,在機(jī)器閱讀理解頂級(jí)水平測試SQuAD1.1中表現(xiàn)出驚人的成績:全部兩個(gè)衡量指標(biāo)上全面超越人類!并且還在11種不同NLP測試中創(chuàng)出最佳成績,包括將GLUE基準(zhǔn)推至80.4%(絕對(duì)改進(jìn)7.6%),MultiNLI準(zhǔn)確度達(dá)到86.7%(絕對(duì)改進(jìn)率5.6%)等。

Bert使用雙向TransformerEncoder,因?yàn)?/span>decoder是不能獲要預(yù)測的信息的。模型的主要?jiǎng)?chuàng)新點(diǎn)都在預(yù)訓(xùn)練方法上,即用了Masked Language ModelNext Sentence Prediction兩種方法分別捕捉詞語和句子級(jí)別的語義。

Masked Language ModelMLM)是指在訓(xùn)練的時(shí)候隨即從輸入預(yù)料上mask掉一些單詞,然后通過的上下文預(yù)測該單詞,該任務(wù)非常像我們在中學(xué)時(shí)期經(jīng)常做的完形填空。正如傳統(tǒng)的語言模型算法和RNN匹配那樣,MLM的這個(gè)性質(zhì)和Transformer的結(jié)構(gòu)是非常匹配的。在BERT的實(shí)驗(yàn)中,15%Token會(huì)被隨機(jī)Mask掉。在訓(xùn)練模型時(shí),一個(gè)句子會(huì)被多次喂到模型中用于參數(shù)學(xué)習(xí),但是Google并沒有在每次都mask掉這些單詞,而是在確定要Mask掉的單詞之后,80%的時(shí)候會(huì)直接替換為[Mask]10%的時(shí)候?qū)⑵涮鎿Q為其它任意單詞,10%的時(shí)候會(huì)保留原始Token。這么做的原因是如果句子中的某個(gè)Token100%都會(huì)被mask掉,那么在fine-tuning的時(shí)候模型就會(huì)有一些沒有見過的單詞。加入隨機(jī)Token的原因是因?yàn)?/span>Transformer要保持對(duì)每個(gè)輸入token的分布式表征,否則模型就會(huì)記住這個(gè)[mask]token ‘hairy’。至于單詞帶來的負(fù)面影響,因?yàn)橐粋€(gè)單詞被隨機(jī)替換掉的概率只有15%*10% =1.5%,這個(gè)負(fù)面影響其實(shí)是可以忽略不計(jì)。

Next Sentence PredictionNSP)的任務(wù)是判斷句子B是否是句子A的下文。如果是的話輸出‘IsNext’,否則輸出‘NotNext’。訓(xùn)練數(shù)據(jù)的生成方式是從平行語料中隨機(jī)抽取的連續(xù)兩句話,其中50%保留抽取的兩句話,它們符合IsNext關(guān)系,另外50%的第二句話是隨機(jī)從預(yù)料中提取的,它們的關(guān)系是NotNext。

達(dá)觀數(shù)據(jù)在實(shí)踐中發(fā)現(xiàn),使用預(yù)訓(xùn)練方法,通過詞嵌入,對(duì)于比較常見的字段抽取可以有明顯的提升,比如人名類字段(甲方,乙方,律師,原告等),很少的標(biāo)注語料就可以達(dá)到很好的效果,但對(duì)于行業(yè)性質(zhì)比較強(qiáng)的字段,由于本身能獲取到的未標(biāo)注語料總量也不夠大,相關(guān)字詞的出現(xiàn)頻率不夠多,限制了方法的效果。

遷移學(xué)習(xí)(Transfer Learning)方法

現(xiàn)在需要處理的任務(wù)標(biāo)注樣本不足,但其他相關(guān)的任務(wù)有大量的標(biāo)注樣本,并且有個(gè)比較好的模型。所以是否可以將大量標(biāo)注樣本數(shù)據(jù)的任務(wù)來優(yōu)化這個(gè)樣本不足任務(wù)?遷移學(xué)習(xí)就是基于這樣的思路,核心思想就是將一個(gè)已經(jīng)成熟的任務(wù)應(yīng)用于另外一個(gè)任務(wù)。舉例來說,比如采購合同往往數(shù)據(jù)量比較大,而租賃合同數(shù)據(jù)量比較小,可以用采購合同的模型來優(yōu)化租賃合同的場景。

遷移學(xué)習(xí)根據(jù)遷移的知識(shí)進(jìn)行分類,可以分為基于樣本的遷移,基于模型的遷移,基于特征的遷移,及基于關(guān)系的遷移。

基于樣本的遷移學(xué)習(xí)是根據(jù)一定的權(quán)重生成規(guī)則,對(duì)數(shù)據(jù)樣本進(jìn)行重用,來進(jìn)行遷移學(xué)習(xí)。經(jīng)典的算法是TrAdaBoost,從源場景中篩選有效數(shù)據(jù),過濾掉與目標(biāo)場景不同的數(shù)據(jù),通過 Boosting方法建立一種權(quán)重調(diào)整機(jī)制,增加有效數(shù)據(jù)權(quán)重,降低無效數(shù)據(jù)權(quán)重。

基于模型的遷移是目前比較容易落地的,前面提到的租賃合同和采購合同,達(dá)觀也是基于模型的遷移進(jìn)行的處理?;谀P偷倪w移又叫多任務(wù)學(xué)習(xí),網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示,任務(wù)與任務(wù)之間共享隱藏層,保留每個(gè)任務(wù)的輸出層。

12

基于特征的遷移方法是指將通過特征變換的方式互相遷移,來減少源場景和目標(biāo)場景之間的差距;或者將源場景和目標(biāo)場景的數(shù)據(jù)特征變換到統(tǒng)一特征空間中,然后利用傳統(tǒng)的方法進(jìn)行識(shí)別。典型的方法是遷移成分分析方法。該方法的核心內(nèi)容是以最大均值差異作為度量準(zhǔn)則,將不同數(shù)據(jù)領(lǐng)域中的分布差異最小化。

基于關(guān)系的遷移學(xué)習(xí)方法比較關(guān)注源場景和目標(biāo)場景的樣本之間的關(guān)系。目前研究和應(yīng)用都比較少。

半監(jiān)督(Semi-supervised Learning)學(xué)習(xí)方法

一些少標(biāo)注數(shù)據(jù)的場景,是標(biāo)注成本比較高,比如招股說明書,一份都打幾百頁甚至上千頁,一個(gè)人要幾天才能標(biāo)注完一篇文檔。這種場景下可以考慮使用半監(jiān)督學(xué)習(xí)方法。

半監(jiān)督學(xué)習(xí)方法最簡單的做法是,通過已有的標(biāo)注數(shù)據(jù)進(jìn)行建模,對(duì)未標(biāo)注數(shù)據(jù)進(jìn)行預(yù)測,預(yù)測結(jié)果中概率比較大的,則認(rèn)為是正確的,加入到訓(xùn)練樣本中。這種方法達(dá)觀實(shí)踐下來效果一般,原因是這種方式加入的樣本里,正確的樣本都是原來模型可以準(zhǔn)確預(yù)測,而且特征明顯(預(yù)測概率高),所以對(duì)模型的補(bǔ)充性不一定很高,只是一些小特征的補(bǔ)充。而且更嚴(yán)重的是這里面可以有些是誤判的,當(dāng)成訓(xùn)練數(shù)據(jù)對(duì)模型往往影響就會(huì)比較大。

半監(jiān)督學(xué)習(xí)方法的另外一種方法偽標(biāo)記半監(jiān)督學(xué)習(xí)算法,用在深度學(xué)習(xí)的網(wǎng)絡(luò)結(jié)構(gòu)中。當(dāng)輸入的樣本是一個(gè)有標(biāo)記的樣本的時(shí)候,我們需要最小化模型輸出和樣本標(biāo)記的交叉熵,這就是監(jiān)督學(xué)習(xí),那么沒有標(biāo)記的怎么辦,這時(shí)候就需要一個(gè)偽標(biāo)記。

13

這樣我們就獲得了一個(gè)偽標(biāo)記14訓(xùn)練模型的時(shí)候定義損失函數(shù)

15

其中y和f代表監(jiān)督學(xué)習(xí)入和出,16為偽標(biāo)記,α了加權(quán)系數(shù),而t代表了當(dāng)前的迭代次數(shù)。通過求解這個(gè)新的網(wǎng)絡(luò),得到最終的模型。所以這里的方法就是網(wǎng)絡(luò)對(duì)無標(biāo)簽數(shù)據(jù)的預(yù)測,作為無標(biāo)簽數(shù)據(jù)的標(biāo)簽(即偽標(biāo)簽)。模型不會(huì)做為正確標(biāo)簽進(jìn)行處理,從而避免上面算發(fā)判錯(cuò)帶來的影響。

?

引入業(yè)務(wù)知識(shí)&領(lǐng)域常識(shí)

達(dá)觀數(shù)據(jù)服務(wù)了非常多的大型企業(yè),發(fā)現(xiàn)命名實(shí)體識(shí)別在大型企業(yè)里面的應(yīng)用場景,基本都是對(duì)一些行業(yè)內(nèi)常見類型的文本進(jìn)行實(shí)體抽取,進(jìn)而通過RPA(機(jī)器人流程自動(dòng)化)代替人進(jìn)行自動(dòng)操作。如財(cái)務(wù)合同,可自動(dòng)抽取出甲方,乙方,總金額等數(shù)十個(gè)字段,進(jìn)行財(cái)務(wù)核算;比如幾百頁的招股說明書,需要抽取出董事,監(jiān)事,高管,財(cái)務(wù)表,重大合同,上下游供應(yīng)商等數(shù)千個(gè)字段;比如司法裁判文書,需抽取出原告,被告,律師,罪名,判罰結(jié)果等上百個(gè)字段。這些場景有幾個(gè)共同的特點(diǎn)是:

1、都是具備特定格式的規(guī)范文書。相比于互聯(lián)網(wǎng)中的五花八門的各類評(píng)論和文章,這些行業(yè)文檔內(nèi)容規(guī)范,行文準(zhǔn)確,很少會(huì)出現(xiàn)錯(cuò)字,語法錯(cuò)誤等問題。文檔的撰寫會(huì)遵從行業(yè)規(guī)范,每個(gè)人撰寫風(fēng)格影響小,會(huì)有特定行業(yè)固定的套路。

2、這些文檔訓(xùn)練語料極為稀少,比如招股說明書或者合同,即便是大型企業(yè)內(nèi)部歷史積累的語料也不會(huì)很多,獲得標(biāo)注的更少

3、這些場景由于行業(yè)屬性非常強(qiáng),所以通過全網(wǎng)文書計(jì)算詞向量的方式效果往往不好,用行業(yè)語料進(jìn)行訓(xùn)練,由于數(shù)據(jù)量較少,也不能達(dá)到很好的效果。達(dá)觀數(shù)據(jù)在服務(wù)上百家大型客戶實(shí)踐中,研發(fā)了一套結(jié)合行業(yè)經(jīng)驗(yàn)的算法模型,可以在這些低資源文檔的場景,達(dá)到非常好的效果。?

17

這個(gè)算法的核心思想是,利用行業(yè)專家經(jīng)驗(yàn),通過知識(shí)沉淀的方法,幫助系統(tǒng)掌握行業(yè)規(guī)律,通過知識(shí)圖譜將專家經(jīng)驗(yàn)輸入給模型,極大提升算法的效果。

對(duì)于每個(gè)抽取的字段,行業(yè)專家可以梳理出這個(gè)字段的重要詞,重要句式,重要段落,重要位置,重要上下文,把這些信息進(jìn)行編碼加入到模型中。

?上圖是將行業(yè)專家梳理到核心詞使用的例子。假設(shè)“委員”和“委員會(huì)”是核心詞。需要對(duì)“美國聯(lián)邦通信委員會(huì)最近正式批準(zhǔn)蘋果展開5G通信試驗(yàn)”的每個(gè)字生成詞向量。這里的方法是通過2-gram,3-gram,4-gram5-gram對(duì)每個(gè)字進(jìn)行編碼,編成8個(gè)位,每種gram2個(gè)位表示上文是否是核心詞和下文是否是核心詞。以“委”字為例編碼方式為:

2-gram,就是“信委”和“委員”,“信委”不是核心詞,而“委員”是核心詞,所以編碼為“01

3-gram,就是“通信委”和“委員會(huì)”,“通信委”不是核心詞,而“委員會(huì)”是核心詞,所以編碼為“01

4-gram,就是“邦通信委”和“委員會(huì)最”都不是核心詞,所以編碼為“00

5-gram,就是“聯(lián)邦通信委”和“委員會(huì)最近”都不是核心詞,所以編碼為“00

然后我們再通過訓(xùn)練兩個(gè)獨(dú)立的LSTM雙向網(wǎng)絡(luò)(如圖所示),一個(gè)是用經(jīng)典LSTM結(jié)構(gòu),一個(gè)是將以上專家特征(或者領(lǐng)域知識(shí))合并進(jìn)來后,并最終將把所有的行業(yè)向量和原始的字向量進(jìn)行拼接,作為CRF層的輸入,這樣雙層BiLSTM+CRF模型可以較好的融合領(lǐng)域知識(shí)來提升提取效果。

本文小結(jié)

本文以NER任務(wù)為例,詳細(xì)闡述了達(dá)觀在小標(biāo)注語料情況下進(jìn)行算法優(yōu)化的經(jīng)驗(yàn)。在標(biāo)注語料稀缺的情況下,僅僅依靠傳統(tǒng)的NLP模型很難達(dá)到理想的效果,我們往往需要因地制宜的深入研究具體的業(yè)務(wù)場景,實(shí)事求是的運(yùn)用各種方法,引入更多相關(guān)的數(shù)據(jù)和資源,融會(huì)貫通,更好的理解業(yè)務(wù)并實(shí)現(xiàn)技術(shù)的落地。

A

BOUT

關(guān)于作者

紀(jì)達(dá)麒:達(dá)觀數(shù)據(jù)首席技術(shù)官(CTO),研發(fā)團(tuán)隊(duì)總負(fù)責(zé)人,中國計(jì)算機(jī)學(xué)會(huì)(CCF)會(huì)員。擁有10年技術(shù)團(tuán)隊(duì)管理經(jīng)驗(yàn),在加入達(dá)觀前,曾擔(dān)任騰訊文學(xué)數(shù)據(jù)中心高級(jí)研究員、盛大文學(xué)技術(shù)總監(jiān),搜狗廣告系統(tǒng)高級(jí)研發(fā)工程師,百度工程師等職務(wù),擅長數(shù)據(jù)挖掘以及實(shí)時(shí)服務(wù)系統(tǒng)架構(gòu)設(shè)計(jì)工作。曾代表公司多次參加國際數(shù)據(jù)挖掘競賽,是ACM KDD-Cup,CIKM Competition等世界一流數(shù)據(jù)挖掘競賽獲勝隊(duì)伍的核心成員。