日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于条件随机场的命名实体识别

發布時間:2024/9/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于条件随机场的命名实体识别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們知道HMM將分詞作為字標注問題來解決,其中有兩條獨立性假設:一個是輸出觀察值之間嚴格獨立,二是狀態的轉移過程中當前狀態只與前一個狀態有關(一階馬爾可夫型)。通過這兩種假設,使得HMM的計算成為可能。但是實際應用中多是交互特征表現出來的,同時觀察元素之間存在長程相關性,這時HMM就收到了制約。

這時的條件隨機場,其主要思想來源于HMM,也是一種用來標記和切分序列化數據的統計模型。但是這里要注意的是:條件隨機場是在給定觀察的標記序列下,計算整個標記序列的聯合概率,而HMM是在給定當前狀態下,定義下一個狀態的分布。

條件隨機場的定義:設X=(X1,X2,X3...,Xn)X=(X_1,X_2,X_3...,X_n)X=(X1?,X2?,X3?...,Xn?)Y=(Y1,Y2,...,Yn)Y=(Y_1,Y_2,...,Y_n )Y=(Y1?,Y2?,...,Yn?)是聯合隨機變量,若隨機變量YYY構成一個無向圖G=(V,E)G=(V,E)G=(V,E)表示的馬爾可夫模型,則條件概率分布P(Y∣X)P(Y|X)P(YX)稱為條件隨機場(Conditional random field,CRF),即:
P(Yv∣X,Yw,w≠v)=P(Yv∣X,Yw,w~v)P(Y_v|X,Y_w, w \neq v)=P(Y_v|X,Y_w, w \sim v)P(Yv?X,Yw?,w??=v)=P(Yv?X,Yw?,wv)
其中w~vw \sim vwv表示圖G=(V,E)G=(V,E)G=(V,E)中與結點vvv有邊連接的所有結點,w≠vw \neq vw??=v表示結點vvv以外的所有結點。

簡單舉例說明:現有若干個位置組成的整體,當給某一個位置按照某種分布,隨機賦一個值后,該整體就被稱為隨機場。

這里假設定義了如下的地名識別規則:

標注含義
B當前詞為地理命名實體的首部
M當前詞為地理命名實體的內部
E當前詞為地理命名實體的尾部
S當前詞單獨構成地理命名實體
O當前詞不是地理命名實體或組成部分

當有由n個字符組成的NER的句子,每個字符的標簽都在上面的標簽集合(B,M,E,S,O)(B,M,E,S,O)B,M,E,S,O中,當為每個字符選定標簽后,就形成了一個隨機場,此時如果加一些約束(如所有字符的標簽只和相鄰的字符標簽有關),那么就轉換成了馬爾可夫隨機場問題。在馬爾可夫隨機場的基礎上,這時如果有XXXYYY兩種變量,XXX一般是給定的,YYY是在給定XXX條件下的輸出,上述的例子中,XXX是字符,YYY是標簽,P(Y∣X)P(Y|X)P(YX)就是條件隨機場。

在實際自然語言處理中,多假設變量X和Y具有相同的結構,即

一般將這種結構稱為線性鏈條件隨機場,其定義如下:
X=(X1,X2,X3...,Xn)X=(X_1,X_2,X_3...,X_n)X=(X1?,X2?,X3?...,Xn?)Y=(Y1,Y2,...,Yn)Y=(Y_1,Y_2,...,Y_n)Y=(Y1?,Y2?,...,Yn?)均為線性鏈表示的隨機變量序列,若在給定的隨機變量序列X的條件下,隨機序列變量Y的條件概率分布p(Y∣X)p(Y|X)p(YX)構成條件隨機場,且滿足馬爾可夫性:
P(Yi∣X,Y1,Y2,...Yn)=P(Yi∣X,Yi?1,Yi+1)P(Y_i|X,Y_1,Y_2,...Y_n)=P(Y_i|X,Y_{i-1},Y_{i+1})P(Yi?X,Y1?,Y2?,...Yn?)=P(Yi?X,Yi?1?,Yi+1?)
則稱P(Y∣X)P(Y|X)P(YX)為線性鏈的條件隨機場。
這里線性鏈CRF不僅考慮了上一個狀態Yi?1Y_{i-1}Yi?1?,還考慮了后續的狀態結果Yi+1Y_{i+1}Yi+1?,下面各網絡的對比:

從上圖可以看出HMM是一個有向圖,而線性鏈CRF是一個無向圖。因此HMM處理時,每個狀態依賴上一個狀態,而線性鏈CRF依賴于當前狀態的周圍結點狀態。

這里以地名識別為例,對句子“我來到上海”進行標注,正確的標注為“我/O 來/O到/O上/B海/E”。采用CRF來進行解決,那么(O,O,O,B,E)是其中一種標注序列,(O,O,O,M,E)也是一種選擇,類似的還有很多,在NER任務中就是在如此多的可選擇序列中,找出最靠譜的句子的標注。

下面就是如何找到最靠譜的句子標注?
假如給每個標注序列打分,分值代表標注序列的靠譜程度,越高代表越靠譜,這里的給每個標注序列打分的規則就是特征函數,可以定義很多條特征函數,在CRF中,定義一個特征函數集合,然后根據這個特征函數集合給序列進行打分,據此選出最靠譜的標注序列。

在CRF中有兩種特征函數,分別是轉移函數tk(yi?1,yi,i)t_k(y_{i-1},y_i,i)tk?(yi?1?,yi?,i)和狀態函數sl(yi,X,i)s_l(y_i,X,i)sl?(yi?,X,i)。其中tk(yi?1,yi,i)t_k(y_{i-1},y_i,i)tk?(yi?1?,yi?,i)依賴于當前和前一位置,表示從標注序列中位置(i?1)(i-1)(i?1)的標記yi?1y_{i-1}yi?1?轉移到位置(i)(i)(i)上的標記為yiy_iyi?的概率。sl(yi,X,i)s_l(y_i,X,i)sl?(yi?,X,i)依賴于當前位置,表示標記序列在位置iii上標記為yiy_iyi?的概率。并通過取值為1或者0,表示符不符合該條規則的約束。

下面是完整的線性鏈CRF參數化形式:
P(y∣x)=1Z(x)exp(∑i,kλktk(yi?1,yi,i)+∑i,lulsl(yi,X,i))P(y|x)=\frac{1}{Z(x)}exp(\sum _{i,k} \lambda_kt_k(y_{i-1},y_i,i)+\sum _{i,l}u_l s_l (y_i,X,i))P(yx)=Z(x)1?exp(i,k?λk?tk?(yi?1?,yi?,i)+i,l?ul?sl?(yi?,X,i))

其中:Z(x)=∑yexp(∑i,kλktk(yi?1,yi,i)+∑i,lulsl(yi,X,i))Z(x)=\sum _y exp(\sum _{i,k} \lambda_kt_k(y_{i-1},y_i,i)+\sum _{i,l}u_l s_l (y_i,X,i))Z(x)=y?exp(i,k?λk?tk?(yi?1?,yi?,i)+i,l?ul?sl?(yi?,X,i))

Z(x)Z(x)Z(x)是規范化因子,其求和是在所有可能的輸出序列上求和。λk\lambda_kλk?ulu_lul?為轉移函數和狀態函數對應的權值。

在經過化簡和合并將上式改為下式:
P(y∣x)=1Z(x)exp(∑j∑iwjfj(yi?1,yi,x,i))P(y|x)=\frac{1}{Z(x)}exp(\sum _{j} \sum _{i} w_j f_j(y_{i-1},y_i,x,i))P(yx)=Z(x)1?exp(j?i?wj?fj?(yi?1?,yi?,x,i))
其中,fj(yi?1,yi,x,i)f_j(y_{i-1},y_i,x,i)fj?(yi?1?,yi?,x,i)tk(yi?1,yi,i)t_k(y_{i-1},y_i,i)tk?(yi?1?,yi?,i)sl(yi,X,i))s_l (y_i,X,i))sl?(yi?,X,i))的統一符號表示。

使用CRF做命名實體識別時,目標是求argmaxyP(y∣x)arg \underset{y}{max}P(y|x)argymax?P(yx)。該問題的求解和HMM求解最大可能序列路徑一樣,也是采用Veterbi算法。相比于HMM,CRF能夠捕捉全局的信息,并能進行靈活的特征設計。

以上只是CRF的簡介,要詳細了解理論推導可以參考下面兩個鏈接:
https://www.cnblogs.com/Determined22/p/6750327.html
https://www.cnblogs.com/Determined22/p/6915730.html
以上是某大牛的講解,值得多讀幾遍。

實戰可以參考:
CRF++地名識別

總結

以上是生活随笔為你收集整理的基于条件随机场的命名实体识别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。