1. 程式人生 > >基於深層神經網路的命名實體識別技術

基於深層神經網路的命名實體識別技術

引言

命名實體識別(Named Entity Recognition,後文簡稱NER)是指從文字中識別具有特定類別的實體(通常是名詞),例如人名、地名、機構名、專有名詞等。命名實體識別是資訊檢索,查詢分類,自動問答等問題的基礎任務,其效果直接影響後續處理的效果,因此是自然語言處理研究的一個基礎問題。

傳統的方法

NER的問題通常被抽象為序列標註(Sequence labeling)問題。所謂序列標註是指對序列中每個符號賦予一個特定的標籤。例如:Barack H. Obama is the 44th President of the United States.其中 Barack H. Obama是人名,United States是國家名。對每個詞給出一個特定的標籤來表明是某個特定型別的開始,結束和中間詞等。容易觀察到每個詞的標記依賴附近的詞。所以最簡單的方法是採用分類的方法,如圖 1所示。

使用若干特徵,例如附近詞語的資訊來為每個詞語進行單獨分類。這裡周圍詞語的標記也是一個很好的特徵,但是在順序掃描的過程中,後面的標籤還沒有計算出來,所以不能有效利用。此外該方法難以傳遞不確定性。改進的方法是基於概率的方法,其中最有代表性的演算法是隱馬爾可夫模型(HMM)和條件隨機場(CRF)。HMM 的方法如圖 2所示,x表示標籤,y表示觀測的詞,該模型對於給定一個觀察的詞序列,產生該觀察序列概率最高的標籤序列。CRF也是類似的概率方法,其效果是傳統方法中最好的。


基於深層神經網路的方法

人們很早就開始研究基於神經網路的模型,但是當網路層數比較深的時候,很容易過擬合。2006 年Hinton【Geoffrey E Hinton and Ruslan R Salakhutdinov。Reducing the dimensionality of data with neural networks。Science,313(5786):504–507,2006。】提出一個可行的演算法,在一定程度上減輕了深層神經網路過擬合的問題,並在影象和語音領域取得驚人的效果,使得深層學習成為近些年研究的熱點。2015年Google的最新模型在ImageNet的識別率甚至超過人工標註的效果。在自然語言處理方面,深層學習已經被應用到詞語的分散式表示、詞義消歧、句子語義計算、複述檢測和情感分類等多個方面。對於NER的問題,目前最好的模型是2011年Collobert提出的一個基於視窗的深層神經網路模型,其效果和效能超過了之前的傳統演算法。下面將介紹該模型的理論,以及我們實現該模型過程的具體細節和技巧。

【模型】

該模型從輸入的句子中自動學習一系列抽象的特徵,並通過後向傳播演算法來訓練模型引數。模型的整體架構如圖3所示【Ronan Collobert,Jason Weston,Léon Bottou,Michael Karlen,Koray Kavukcuoglu,and Pavel Kuksa。Natural language processing (almost) from scratch。The Journal of Machine Learning Research,12:2493–2537,2011】。第一層抽取每個詞的特徵,第二層從詞視窗中抽取特徵,並將其看做一系列的區域性和全域性結構,從而區別傳統的詞袋模型。後面的層和經典的神經網路一樣。

 

該模型可以被抽象地描述為圖4所示。圖中綠線表示從輸入的句子向量中抽取指定視窗大小的向量交給視窗層。中間的隱藏層可以是多層, 這裡只繪製了兩層。最後一層是用softmax函式輸出標籤。

 

 

下面給出模型的詳細描述和推導,為了方便公式表示簡潔,將圖3簡化為3層的模型,如圖5所示。去掉最外層的輸入層 (因為這一層可以通過查詢表實現) 和部分隱藏層,讀者不難拓展到更高層的模型。簡化模型中j、k、l分別是視窗層,隱藏層和輸出層的節點下標。x表示輸入的詞向量,W和b1分別是第一層網路的權重和偏置項。f是啟用函式,可以取雙曲正切或者sigmoid函式。V和 b2分別是隱藏層網路的權重和偏置項。η也是啟用函式,但一般最後一層取softmax。模型的數學描述如下公式。m是輸出的標籤個數,f取雙曲正切,η取softmax。

 

【損失函式】

如果把樣本的分佈看作多項分佈,則容易寫出樣本聯合概率的解析表示式,而後用極大似然估計求解。目標函式如下公式所示。n是樣本量,h是隱藏層節點個數。c是視窗大小。d是詞向量的維度。這裡按照目標函式的通常處理方法,將極大化似然轉化為極小化負對數似然。取對數的目的是簡化後面的求導公式,取負號將極大問題轉化為標準的極小問題。在損失函式中除了極小化負對數似然,還增加了W和V的L2正則項。原因是softmax函式的引數存在冗餘,也就是極小點不唯一,為了將解唯一化,增加該正則項。另一方面,L2正則從概率角度看相當於對引數增加了高斯先驗,控制了引數的方差,懲罰過大的引數,對於提高模型的泛化能力有幫助。罰因子λ調節正則項的權重,取值越大,對大引數的懲罰越大。後面我們簡單的將λ取作c。需要注意的是正則項中不包含偏置引數 b1和b2。

 

【演算法】

模型的訓練可以採用隨機梯度下降的方法。 這裡一次只更新一個樣本, 所以目標函式簡化為下面公式的形式。

 

其中λ是學習率。下面給出每個引數的梯度計算公式。


其中t是學習率。下面給出每個引數的梯度計算公式。

 

隨機梯度下降的方法有一個重要的引數是學習率,學習率太大,模型會快速收斂,但是精度不高,反之如何學習率太小,精度高,但是收斂速度慢。這個引數需要通過搜尋的方法確定。

【詞向量】

Collobert 的模型在沒有對詞向量預處理的情況下效果並不如傳統的方法,原因是可供訓練的有標籤的資料很少,而詞的頻率分佈符合冪率分佈,很多長尾的詞得不到充分訓練,不能獲得足夠的資訊。解決的方式是在訓練神經網路之前,先用無標籤的資料對詞進行訓練。好在無標籤的資料很多,省掉了資料標記的成本。具體訓練演算法可以採用word2vec【Tomas Mikolov,Kai Chen,Greg Corrado,and Jeffrey Dean。Efficient estima- tion of word representations in vector space。arXiv preprint arXiv:1301.3781,2013】的方法或者Huang【Eric H Huang,Richard Socher,Christopher D Manning,and Andrew Y Ng。Improving word representations via global context and multiple word proto- types。 In Proceedings of the 50th Annual Meeting of the Association for Com- putational Linguistics:Long Papers-Volume 1,pages 873–882。Association for Computational Linguistics,2012】提出的方法。

【討論】

第一層詞向量的初始化好壞對於最終的分類效果影響很大, 所以需要用大量的無標籤資料訓練。

網路層數對結果的影響在超過4層以後影響不大。

NER是序列標註的一個特例,對於一般的問題,如詞性標註(POS)和語塊分析(Chunking),可以用基於視窗的方法。但對於語義角色標註 (SRL)還是不夠的,需要卷積的方法,本質上是多個基於視窗的方法的疊加,所以卷積可以看做是 泛化的視窗方法。

基於視窗的方法,模型並不知道有一個句子,每次只看到視窗內的資訊, 假定標籤只依賴區域性的詞。如果某些特殊的NER不能滿足這個假定,需要考慮基於卷積的方法。

深層學習方法在京東智慧客服上的應用效果

JIMI機器人是京東基於自然語言處理和意圖識別等技術實現的一個自動應答系統,其服務功能從客服到售前逐步延伸。當用戶輸入問題後,我們需要從中找出命名實體。圖6是採用基於視窗的深層神經網路和傳統的CRF方法的比較,可以看到大部分標籤的F1值都有所提升,平均值從84.9%提升到90.9%。

 

總結

本文在介紹NER傳統方法的基礎上,引出深層神經網路方法,針對基於視窗的模型給出了理論分析和實際的調參經驗。我們的體會是,深層神經網路在克服了過擬合問題後,用更多引數的非線性模型去擬合真實的模型,比傳統的淺層模型在效果上有了較大的提升。但是對於影象和語音的進展而言,深層神經網路在自然語言處理方面還有待更大的提高。

作者簡介:張曉鑫,京東商城DNN實驗室研究員。曾任職於Google公司。主要研究方向包括資訊檢索、自然語言處理、機器學習和分散式計算。目前專注於基於深層神經網路的語義計算問題。

相關推薦

基於深層神經網路命名實體識別技術

引言 命名實體識別(Named Entity Recognition,後文簡稱NER)是指從文字中識別具有特定類別的實體(通常是名詞),例如人名、地名、機構名、專有名詞等。命名實體識別是資訊檢索,查詢分類,自動問答等問題的基礎任務,其效果直接影響後續處理的效果,因此是自然語言處理研究的一個基礎問題。 傳統

基於深度學習做命名實體識別

note 深度學習 以及 效果 數據集 pre 之前 得到 高達 基於CRF做命名實體識別系列 用CRF做命名實體識別(一) 用CRF做命名實體識別(二) 用CRF做命名實體識別(三) 摘要 1. 之前用CRF做了命名實體識別,效果還可以,最高達到0.9293,當然這是自己

基於CRF的中文命名實體識別模型

條件隨機場(Conditional Random Fields,簡稱 CRF)是給定一組輸入序列條件下另一組輸出序列的條件概率分佈模型,在自然語言處理中得到了廣泛應用。 新建corpus_process類 import re import sklearn_crfsuite from

BiLSTM-CRF模型做基於字的中文命名實體識別

      在MSRA的簡體中文NER語料(我是從這裡下載的,非官方出品,可能不是SIGHAN 2006 Bakeoff-3評測所使用的原版語料)上訓練NER模型,識別人名、地名和組織機構名。嘗試了兩種模型:一種是手工定義特徵模板後再用CRF++開源包訓練CRF模型;另一種是

基於BP神經網路的數字識別基礎系統(彙總)

基於BP神經網路的數字識別基礎系統 1.前言 隨著《最強大腦》中的人機大戰播放以及AlphaGo的圍棋領域的攻克,深度學習開始進入了人們的視野,事實上神經網路作為深度學習的基礎慢慢成為了人工智慧以及模式識別的核心。其實神經網路的理論基礎並不困難,甚至可以說是十分的簡單。 這裡

基於BP神經網路的數字識別基礎系統(四)

基於BP神經網路的數字識別基礎系統(四) (接上篇) 上一篇的連結:http://blog.csdn.net/z_x_1996/article/details/68490009 3.系統設計 上一篇筆者已經討論完了BP神經網路需要用到的知識點,接下來就開始設計符合我們標題

基於BP神經網路的數字識別基礎系統(三)

基於BP神經網路的數字識別基礎系統(三) (接上篇) 上一篇的連結:http://blog.csdn.net/z_x_1996/article/details/60779141 上篇博文中筆者簡單的介紹了一下梯度下降演算法,這裡接著為大家介紹增量梯度下降演算法。 2.2.

基於Anchor的 ner 命名實體識別 醫療實體

賽題說明 本次大賽旨在通過糖尿病相關的教科書、研究論文來做糖尿病文獻挖掘並構建糖尿病知識圖譜。參賽選手需要設計高準確率,高效的演算法來挑戰這一科學難題。第一賽季課題為“基於糖尿病臨床指南和研究論文的實體標註構建”,第二賽季課題為“基於糖尿病臨床指南和研究論文的實體間關係構建”

用深度神經網路處理NER命名實體識別問題

本文結構: 什麼是命名實體識別(NER) 怎麼識別? cs224d Day 7: 專案2-用DNN處理NER問題 課程專案描述地址 什麼是NER? 命名實體識別(NER)是指識別文字中具有特定意義的實體,主要包括人名、地名、機構名、專有

基於PCA與BP神經網路的人臉識別

基於PCA與BP神經網路的人臉識別 引言 1、PCA演算法 2、PCA原理推導 3、神經網路 4、matlab程式碼 5、C++程式碼 引言 前面的特徵提取部分採用的是PCA,後面的識別分類

自然語言處理基礎技術命名實體識別實戰

宣告:轉載請註明出處,謝謝:https://blog.csdn.net/m0_37306360/article/details/84592596 另外,更多實時更新的個人學習筆記分享,請關注: 知乎:https://www.zhihu.com/people/yuquanle/columns

自然語言處理基礎技術命名實體識別簡介

宣告:轉載請註明出處,謝謝:https://blog.csdn.net/m0_37306360/article/details/84571654 另外,更多實時更新的個人學習筆記分享,請關注: 知乎:https://www.zhihu.com/people/yuquanle/columns

神經網路結構在命名實體識別(NER)中的應用

  近年來,基於神經網路的深度學習方法在自然語言處理領域已經取得了不少進展。作為NLP領域的基礎任務—命名實體識別(Named Entity Recognition,NER)也不例外,神經網路結構在NER中也取得了不錯的效果。最近,我也閱讀學習了一系列使用神經網路結構進行

基於BERT命名實體識別程式碼的理解

我一直做的是有關實體識別的任務,BERT已經火了有一段時間,也研究過一點,今天將自己對bert對識別實體的簡單認識記錄下來,希望與大家進行來討論 BERT官方Github地址:https://github.com/google-research/bert ,其中對BERT模型進行了

[純C#實現]基於BP神經網路的中文手寫識別演算法

效果展示 這不是OCR,有些人可能會覺得這東西會和OCR一樣,直接進行整個字的識別就行,然而並不是. OCR是2維畫素矩陣的畫素資料.而手寫識別不一樣,手寫可以把使用者寫字的筆畫時間順序,抽象成一個維度.這樣識別的就是3維的資料了.識別起來簡單很多. 最近需要做一箇中文手寫識別演算法.搜尋了網上的

基於條件隨機場的命名實體識別

一. 理論基礎 1. 條件隨機場簡介 條件隨機場(conditional random fields,CRF) 2. 二. 具體實現 1. 資料預處理 2. 特徵選取 3. 模型訓練和測試 4. 實體識別

基於3D卷積神經網路的行為識別

人工智慧/機器學習/深度學習交流QQ群:811460433程式設計師深度學習微信公眾號:       最近看Deep Learning的論文,看到這篇論文:3D Convolutional Neural

論文理解:基於卷積神經網路的人臉識別方法

本文是對陳耀丹、王連明的基於卷積神經網路的人臉識別方法的理解。 摘要:實現了一種基於卷積神經網路的人臉識別方法,該網路由兩個卷積層,兩個池化層、一個全連線層和一個softmax迴歸層組成,它能自動提取人臉特徵並進行分類,網路通過批量梯度下降法訓練特徵提取器和分

基於深度神經網路特徵提取的文字無關的說話人識別

對文章“Deep neural network embeddings for text-independent speaker verification” 的解讀。 1. 概要   在實際應用中,往往被測試者或被驗證者的語音長度相對較短,若使用傳統的PLDA/ivec

斯坦福大學2017年春季_基於卷積神經網路的視覺識別課程視訊教程及ppt分享

計算機視覺已經在我們的社會中普遍存在,應用於搜尋,影象理解,應用程式,繪圖,醫學,無人機和自駕車。許多這些應用程式的核心是視覺識別任務,如影象分類,定位和檢測。神經網路(又稱“深度學習”)方法的最新進展,大大提高了這些最先進的視覺識別系統的效能。 本課程深入瞭解深入