命名实体识别以及词性自动标注
一、命名實體識別
大數(shù)據(jù)風靡的今天,不從里面挖出點有用的信息都不好意思見人,人工智能號稱跨過奇點,統(tǒng)霸世界,從一句話里都識別不出一個命名實體?不會的,讓我們大話自然語言處理的囊中取物,看看怎么樣能讓計算機像人一樣看出一句話里哪個像人、哪個像物??
請尊重原創(chuàng),轉載請注明來源網站www.shareditor.com以及原始鏈接地址
話說天下大事,分久必合,合久必分。
?
之前談到中文分詞把文本切分成一個一個詞語,現(xiàn)在我們要反過來,把該拼一起的詞再拼到一起,找到一個命名實體,比如:“亞太經合組織”
?
條件隨機場的用武之地
上回書說到,概率圖模型中的條件隨機場適用于在一定觀測值條件下決定的隨機變量有有限個取值的情況,它特殊就特殊在給定觀察序列X時某個特定的標記序列Y的概率是一個指數(shù)函數(shù)exp(∑λt+∑μs),這也正符合最大熵原理。基于條件隨機場的命名實體識別方法屬于有監(jiān)督的學習方法,需要利用已經標注好的大規(guī)模語料庫進行訓練,那么已經標注好的語料里面有什么樣的特征能夠讓模型得以學習呢?
?
談命名實體的放射性
為什么說命名實體是有放射性的呢?舉個栗子:“中國積極參與亞太經合組織的活動”,這里面的“亞太經合組織”是一個命名實體,定睛一瞧,這個實體著實不凡啊,有“組織”兩個字,這么說來這個實體是一種組織或機構,記住,下一次當你看到“組織”的時候和前面幾個字組成的一定是一個命名實體。繼續(xù)觀察,在它之前輻射出了“參與”一次,經過大規(guī)模語料訓練后能發(fā)現(xiàn),才“參與”后面有較大概率跟著一個命名實體。繼續(xù)觀察,在它之后有“的活動”,那么說明前面很可能是一個組織者,組織者多半是一個命名實體。這就是基于條件隨機場做命名實體識別的奧秘,這就是命名實體的放射性
?
特征模板
前面講了放射性,那么設計特征模板就比較容易了,我們采用當前位置的前后n個位置上的字/詞/字母/數(shù)字/標點等作為特征,因為是基于已經標注好的語料,所以這些特征是什么樣的詞性、詞形都是已知的。
特征模板的選擇是和具體我們要識別的實體類別有關系的,識別人名和識別機構名用的特征模板是不一樣的,因為他們的特點就不一樣,事實上識別中文人名和識別英文人名用的特征模板也是不一樣的,因為他們的特點就不一樣
?
且說命名實體
前面講了一攬子原理,回過頭來講講命名實體是什么,命名實體包括:人名(政治家、藝人等)、地名(城市、州、國家、建筑等)、組織機構名、時間、數(shù)字、專有名詞(電影名、書名、項目名、電話號碼等)、……。其實領域很多,不同人需求不一樣,關注的范圍也不一樣。總之不外乎命名性指稱、名詞性指稱和代詞性指稱
?
自古英雄周圍總有謀士
基于條件隨機場的命名實體方法雖好,但如何利用好還是需要各路謀士獻計獻策。有的人提出通過詞形上下文訓練模型,也就是給定詞形上下文語境中產生實體的概率;有的人提出通過詞性上下文訓練模型,也就是給定詞性上下文語境中產生實體的概率;有的人提出通過給定實體的詞形串作為實體的概率;有的人提出通過給定實體的詞性串作為實體的概率;當大家發(fā)現(xiàn)這四點總有不足時,有謀士提出:把四個結合起來!這真是:英雄代有人才出,能擺幾出擺幾出啊
二、自動自動標注
??
分詞、命名實體識別和詞性標注這三項技術如果達不到很高的水平,是難以建立起高性能的自然語言處理系統(tǒng),也就難以實現(xiàn)高質量的聊天機器人,而詞性是幫助計算機理解語言含義的關鍵,本節(jié)來介紹一些詞性標注的具體方法?
何為詞性
常說的詞性包括:名、動、形、數(shù)、量、代、副、介、連、助、嘆、擬聲。但自然語言處理中要分辨的詞性要更多更精細,比如:區(qū)別詞、方位詞、成語、習用語、機構團體、時間詞等,多達100多種。
漢語詞性標注最大的困難是“兼類”,也就是一個詞在不同語境中有不同的詞性,而且很難從形式上識別。
?
詞性標注過程
為了解決詞性標注無法達到100%準確的問題,詞性標注一般要經過“標注”和“校驗”兩個過程,第一步“標注”根據(jù)規(guī)則或統(tǒng)計的方法做詞性標注,第二步“校驗”通過一致性檢查和自動校對等方法來修正。
?
詞性標注的具體方法
詞性標注具體方法包括:基于統(tǒng)計模型的方法、基于規(guī)則的方法和兩者結合的方法。下面我們分別來介紹。
?
基于統(tǒng)計模型的詞性標注方法
提到基于統(tǒng)計模型,勢必意味著我們要利用大量已經標注好的語料庫來做訓練,同時要先選擇一個合適的訓練用的數(shù)學模型,《自己動手做聊天機器人 十五-一篇文章讀懂拿了圖靈獎和諾貝爾獎的概率圖模型》中我們介紹了概率圖模型中的隱馬爾科夫模型(HMM)比較適合詞性標注這種基于觀察序列來做標注的情形。語言模型選擇好了,下面要做的就是基于語料庫來訓練模型參數(shù),那么我們模型參數(shù)初值如何設置呢?這里面就有技巧了
?
隱馬爾可夫模型參數(shù)初始化的技巧
模型參數(shù)初始化是在我們尚未利用語料庫之前用最小的成本和最接近最優(yōu)解的目標來設定初值。HMM是一種基于條件概率的生成式模型,所以模型參數(shù)是生成概率,那么我們不妨就假設每個詞的生成概率就是它所有可能的詞性個數(shù)的倒數(shù),這個是計算最簡單又最有可能接近最優(yōu)解的生成概率了。每個詞的所有可能的詞性是我們已經有的詞表里標記好的,這個詞表的生成方法就比較簡單了,我們不是有已經標注好的語料庫嘛,很好統(tǒng)計。那么如果某個詞在詞表里沒有呢?這時我們可以把它的生成概率初值設置為0。這就是隱馬爾可夫模型參數(shù)初始化的技巧,總之原則就是用最小的成本和最接近最優(yōu)解的目標來設定初值。一旦完成初始值設定后就可以利用前向后向算法進行訓練了。
請尊重原創(chuàng),轉載請注明來源網站www.shareditor.com以及原始鏈接地址
基于規(guī)則的詞性標注方法
規(guī)則就是我們既定好一批搭配關系和上下文語境的規(guī)則,判斷實際語境符合哪一種則按照規(guī)則來標注詞性。這種方法比較古老,適合于既有規(guī)則,對于兼詞的詞性識別效果較好,但不適合于如今網絡新詞層出不窮、網絡用語新規(guī)則的情況。于是乎,有人開始研究通過機器學習來自動提取規(guī)則,怎么提取呢?不是隨便給一堆語料,它直接來生成規(guī)則,而是根據(jù)初始標注器標注出來的結果和人工標注的結果的差距,來生成一種修正標注的轉換規(guī)則,這是一種錯誤驅動的學習方法。基于規(guī)則的方法還有一個好處在于:經過人工校總結出的大量有用信息可以補充和調整規(guī)則庫,這是統(tǒng)計方法做不到的。
?
統(tǒng)計方法和規(guī)則方法相結合的詞性標注方法
統(tǒng)計方法覆蓋面比較廣,新詞老詞通吃,常規(guī)非常規(guī)通吃,但對兼詞、歧義等總是用經驗判斷,效果不好。規(guī)則方法對兼詞、歧義識別比較擅長,但是規(guī)則總是覆蓋不全。因此兩者結合再好不過,先通過規(guī)則排歧,再通過統(tǒng)計標注,最后經過校對,可以得到正確的標注結果。在兩者結合的詞性標注方法中,有一種思路可以充分發(fā)揮兩者優(yōu)勢,避免劣勢,就是首選統(tǒng)計方法標注,同時計算計算它的置信度或錯誤率,這樣來判斷是否結果是否可疑,在可疑情況下采用規(guī)則方法來進行歧義消解,這樣達到最佳效果。
?
詞性標注的校驗
做完詞性標注并沒有結束,需要經過校驗來確定正確性以及修正結果。
第一種校驗方法就是檢查詞性標注的一致性。一致性指的是在所有標注的結果中,具有相同語境下同一個詞的標注是否都相同,那么是什么原因導致的這種不一致呢?一種情況就是這類詞就是兼類詞,可能被標記為不同詞性。另一種情況是非兼類詞,但是由于人工校驗或者其他原因導致標記為不同詞性。達到100%的一致性是不可能的,所以我們需要保證一致性處于某個范圍內,由于詞數(shù)目較多,詞性較多,一致性指標無法通過某一種計算公式來求得,因此可以基于聚類和分類的方法,根據(jù)歐式距離來定義一致性指標,并設定一個閾值,保證一致性在閾值范圍內。
第二種校驗方法就是詞性標注的自動校對。自動校對顧名思義就是不需要人參與,直接找出錯誤的標注并修正,這種方法更適用于一個詞的詞性標注通篇全錯的情況,因為這種情況基于數(shù)據(jù)挖掘和規(guī)則學習方法來做判斷會相對比較準確。通過大規(guī)模訓練語料來生成詞性校對決策表,然后根據(jù)這個決策表來找通篇全錯的詞性標注并做自動修正。
?
總結
詞性標注的方法主要有基于統(tǒng)計和基于規(guī)則的方法,另外還包括后期校驗的過程。詞性標注是幫助計算機理解語言含義的關鍵,有了詞性標注,我們才可以進一步確定句法和語義,才有可能讓機器理解語言的含義,才有可能實現(xiàn)聊天機器人的夢想
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎
總結
以上是生活随笔為你收集整理的命名实体识别以及词性自动标注的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MYSQL教程之 concat
- 下一篇: 修改 gcc 和 g++ 的默认版本