一.介紹
實體抽取也就是命名實體識別(Named Entity Recognition ) ,簡稱為NER,命名實體識別是是自然語言處理(NLP)中一項最基礎的工作,它的任務就是識別出文本當中特定意義的實體,MCU將其分為三大類:時間類(TIMEX),實體類(EMAMEX)和數字類(NUMEX),三大類又被分為七小類(Location, Person, Organization, Money, Percent, Date, Time),比如實踐類包含人名,地名,機構名三類,時間類包含日期和時間兩類,數字類包含貨幣和百分比兩類。當然我們也可以自己定義一個新的實體類別
二.命名實體識別發展的歷史
在命名實體識別方面的研究,國外開始的比較早,而國內起步則比較晚。
在1991年的IEEE人工智能應用會議上,RAU首次發表了有關抽取和識別的文章,其主要采用基於手工編寫規則的方法2。在MCU-6正式將命名實體識別引入,作為一項基本的任務之后,隨后一系列的國際重要會議都將命名實體識別作為一項指定的任務,在最早的一批會議中,如MCU-7會議評測的系統,大多數都是基於手工編寫規則的方法。隨着慢慢地發展,在CoNNLL-2003會議上,所有的參賽者都是使用的基於統計的機器學習方法。近年來,深度學習發展十分迅速。深度學習的方法在NER任務中野得到了運用,比如RNN-CRF,CNN-CRF以及最近比較流行的BiLSTM-CRF。命名實體識別在各個領域發揮着重要的作用。
三.NER的實現方法及其優劣
從NER的發展歷史來看,我們大致可以將其方法做出以下分類:
(1)基於規則和字典的方法
基於規則與字典的方法是命名實體識別任務中最古老的方法。利用手工編寫的規則,提取特征,比如關鍵詞,指示詞,位置詞等,收集特征詞,並且給每一個規則都賦予一個權值,當規則沖突的時候,選擇權值最高的規則進行命名實體類型。由於是最早的命名實體方法,所以它的限制也很大,當提取規則比較適合的時候,它的優越性是很大的。但是手工編寫規則需要專業的語言學家,並且需要大量的時間,也容易出錯。不同的領域需要不同的規則,移植性很差。
(2)基於統計的傳統的機器學習方法
傳統的機器學習方法主要包括以下各種模型:隱馬爾可夫模型(HMM),支持向量機(SVM),最大熵(ME),條件隨機場(CRF)等。
首先是隱馬爾可夫模型(HMM)而言,因為它的訓練時間短,識別速度要快,所以比較適用於短文本命名實體識別,但是正確率略遜於其他模型。
對於最大熵(ME)來說,通用性比較強,但是時間花費比較長。
對於支持向量機(SVM)來說,正確率相較於HMM要高一些,但是速度要慢一些。
對於條件隨機場(CRF)來說,它的優點是,它的框架是所有模型當中最為靈活的。但是同樣存在訓練時間過長的缺點。
(3)基於深度學習的方法
這是一種混合方法。因為最近幾年詞嵌入方法的提出和深度學習飛速發展,我們可以利用神經網絡來處理自然語言處理問題,利用神經網絡來提取特征。將原本如CRF等模型與深度學習神經網絡結合起來。比如LSTM-CRF,BiLSTM+CRF,BiLSTM+CNN+CRF等。基於深度學習的混合NER方法是目前的主流方法。速度夠快,准確率也高。
目前幾種實現命名實體識別的標准庫介紹
實現命名實體識別的標准庫有很多。其中最著名的要屬Stanford NER和NLTK。Stanford NER與NTLK不同。它是由java實現的基於條件隨機(CRF)的一個NER實現工具。而NLTK是一個python,它提供了一系列的NLP的語料庫和算法API.
四.NER的評估的標准
評價一個NER的任務是否准確要從兩個方面來看。首先是實體的邊界是否判別正確,另外一個是實體的類型是否被正確標記。所以可能會出現以下幾種錯誤,不能正確識別實體,實體邊界正確而類型錯誤和實體類型正確而邊界錯誤等。所以只有當實體邊界和類型都被該NER方法正確識別的時,才能認為命名實體識別任務的正確性。所以有以下公式可以用來評估一個NER任務的好壞。
TP: NER能正確識別的實體
FP: NER能識別實體但是邊界或者類型錯誤
FN: 未被NER所識別的實體
准確率:Precision=TP/(TP+FP)
召回率:Recall=TP/(TP+FN)
F1: F1=2PrecisionRecall/(Precision+Recall)
特別地:如果在Precision和Recall有相對權重時,有如下F1:
F1=(a2+1)*Precision*Recall/(a2 *Precision+Recall)
其中a代表Recall和Precision的權重。根據公式我們顯然可以看出當a>1時,Precision更重要,a<1時。Recall更重要,a=1時,兩者一樣重要。
對於單實體識別任務來說只要求一個F1就能對於這個NER進行評估,然而在大多數情況先都是多實體識別任務。有兩種方法可以對多實體識別進行評估。一種是求宏平均F值:分別求出每一個實體相應的F1,再整體求出平局值。另一種是求微平均F值:將每個實體的個體視為平等的,對於整體求出F1。
五.NER難點未來發展的方向
NER雖然是自然語言處理當中基礎性,關鍵性的問題,由於英文的天然優勢,在命名實體識別領域,大部分外國的學者都認為他們已經很好地解決了英文命名實體識別的任務。而中文相對於英文來說,無論在分詞上,還是在實體的復雜度上,都給中文命名實體識別帶來了很大的困擾。前文我們說到,要從兩個方面來看一個NER任務的正確性,即實體邊界是否被准確判別和實體類型是否被准確識別,所以中文的命名實體識別存在以下幾點方面的障礙:
(1)分詞的困難,中文不像英文一樣帶有空格一類的顯示邊界的標識,所以分詞比較困難。
(2)中文的實體結構比較復雜,存在各種嵌套,縮略形式。
(3)不同場景下相同詞語語義的變化影響實體識別的准確率
(4)受多元文化的沖擊,現代漢語的發展十分迅速,各種外來詞的加入,音譯詞的混雜,都有對命名實體識別造成十分大的障礙。等等。
Reference
[1]Named Entity Recognition Approaches
Alireza Mansouri, Lilly Suriani Affendey, Ali Mamat
[2]Named Entity Recognition
Vijay Krishnan and Vignesh Ganapathy {vijayk , vignesh}@cs.stanford.edu
December 16, 2005