Methods for NER
- 利用規(guī)則(比如正則)
- 投票模型 (Majority Voting) baseline
- 利用分類模型
- 非時(shí)序模型 邏輯回歸 SVM
- 時(shí)序模型 :HMM ,CRF ,LSTM-CRF
1、基于規(guī)則的方法
規(guī)則其實(shí)就是根據(jù)一定的正則提取或者利用已經(jīng)定義好的詞典或者詞庫(kù),比如
- if token.contains(word) and word in xxx(詞庫(kù))
2、基于投票模型(Majority Voting)
- 統(tǒng)計(jì)每個(gè)單詞的實(shí)體類型,記錄針對(duì)每個(gè)單詞,概率最大的實(shí)體類型。
3、特征工程與特征表示(分類模型主要是針對(duì)特征進(jìn)行分類)
分類模型的最重要的點(diǎn)在于特征,特征就是模型的核心,所以要了解特征有哪些表示形式
關(guān)于特征工程的講解文章,我認(rèn)為不錯(cuò)的https://blog.csdn.net/m0_38024592/article/details/80836217?utm_source=blogxgwz4
后續(xù)希望自己也寫一個(gè)
那么特征工程在NER表示中,如何選擇這個(gè)詞的特征呢?
1、bag of word 特征
- 當(dāng)前詞
- 前后詞
- 前前后后詞
- bi-gram
2、詞性
- 當(dāng)前詞 名詞
- 前后詞 名,動(dòng)
- 前前后后詞 冠,名等
- bi-gram
3、前綴和后綴等
4、當(dāng)前詞的特性
- 詞長(zhǎng),含有多少個(gè)大寫字母、是否大寫字母開(kāi)頭、是否包含“-”、后面詞是否包含大寫、是否包含數(shù)字、等
特征編碼(特征表示也可以叫做特征提取)
常見(jiàn)的特征種類:分類型特征、連續(xù)型特征、Ordinal 特征(排序特征)
1、 分類型特征
- 男女(0,1)
- 姓名(0,1,0)ont - hot encoding
2、連續(xù)型特征(continous)
- 身高 167,187 每個(gè)區(qū)間用一個(gè)特征表示,比如1,2,3,。。。
- 溫度 35.2,35.8
連續(xù)型的要變成離散型才可以用one-hot表示
3、Ordinal 型特征
這個(gè)真的就是表示A,B,C,D,E,可以直接到one-hot型 A=(1,0,0,0,0)
信息抽取介紹

信息抽取是實(shí)現(xiàn)文本的關(guān)系圖譜展現(xiàn)出來(lái)
信息抽取
信息抽取可以展示以下幾種形式
1、tuple關(guān)系圖
把重要的信息形成一個(gè)tuple的形式,比如上圖信息抽取只要是三元組,(人物,組織,地點(diǎn))
2、ACE(Automatic Content Extraction)關(guān)系圖
根據(jù)ACE中的定義,事件由事件觸發(fā)詞(Trigger)和描述事件結(jié)構(gòu)的元素(Argument)構(gòu)成,元素和事件之間的關(guān)系定義為角色(Argument role)。

所以根據(jù)圖可知根節(jié)點(diǎn)root是觸發(fā)詞也就是類別label,子節(jié)點(diǎn)是該類別下的元素,也可以理解為信息抽取后的關(guān)系圖譜。
主要用途:
- 可以為文本分類做訓(xùn)練集 ,可參考這個(gè)https://blog.csdn.net/weixin_40231212/article/details/89743015
-
文章里面展現(xiàn)主要信息結(jié)構(gòu),如下圖所示
image.png
3、地緣關(guān)系知識(shí)圖譜
image.png
在我們?cè)嫉拇蟛糠株P(guān)系里,也就是本體論關(guān)系
- IS-A 草莓是水果,屬于關(guān)系
- Instance of 我在廣州等
這些都是存在關(guān)系的關(guān)系圖譜
那么接下來(lái)就看看關(guān)系抽取 ,我的理解,信息抽取也主要是關(guān)系的抽取
關(guān)系抽取
關(guān)系抽取的方法介紹
- 基于規(guī)則
- 監(jiān)督學(xué)習(xí)
- 半監(jiān)督&無(wú)監(jiān)督學(xué)習(xí)
- Boostrap
- Distant Supervision
- 無(wú)監(jiān)督學(xué)習(xí)
-
基于規(guī)則的方法
現(xiàn)在大部分的關(guān)系抽取還是基于規(guī)則的方法去實(shí)現(xiàn)的,人工預(yù)先定義好的規(guī)則,根據(jù)規(guī)則判斷,然后歸并數(shù)據(jù)
例如IS-A關(guān)系的規(guī)則:
image.png
根據(jù)規(guī)則集,判斷文章是否有相關(guān)規(guī)則匹配的關(guān)系,有,則把關(guān)系數(shù)據(jù)存入數(shù)據(jù)庫(kù)。
但是直接單純的這樣子的關(guān)系,不能區(qū)分類別的關(guān)系,不一樣的類別也會(huì)分到一起,會(huì)存在很大的誤差值。
那么則需要對(duì)實(shí)體加限制,比如水果類的實(shí)體,汽車類的實(shí)體分開(kāi)判斷

加實(shí)體限制的規(guī)則集的優(yōu)點(diǎn):
- 提升挖掘出的結(jié)果的準(zhǔn)確性
- 只返回想要的結(jié)果
基于規(guī)則的方法的優(yōu)點(diǎn)和缺點(diǎn)
優(yōu)點(diǎn):
- 比較準(zhǔn)確
- 不需要訓(xùn)練數(shù)據(jù)
缺點(diǎn):
- low recall rate (覆蓋率較低,也就是召回率低,因?yàn)槿斯ぶ荒芏x一些類別的,但是大量的數(shù)據(jù)里面,有存在各種各樣的數(shù)據(jù)類別,所以回報(bào)率比較低)
- 成本人力
- 規(guī)則本身難估計(jì)
那么如何解決這個(gè)問(wèn)題呢?那就是要用監(jiān)督學(xué)習(xí)方法
2.基于監(jiān)督學(xué)習(xí)的方法
1、運(yùn)用監(jiān)督學(xué)習(xí)實(shí)現(xiàn)關(guān)系抽取首先要做好以下幾個(gè)準(zhǔn)備條件。
- 定義關(guān)系類型(IS-A還是Instance of)
- 定義實(shí)體類型(要抽取什么類型的實(shí)體)
- 訓(xùn)練數(shù)據(jù)準(zhǔn)備
實(shí)體標(biāo)記好(類型,就是類別,label)
實(shí)體之間的關(guān)系 (類別和實(shí)體對(duì)應(yīng)關(guān)系)
2、特征工程
有了數(shù)據(jù),就要進(jìn)行特征工程操作,選取特征,作為分類算法的輸入?yún)?shù)
特征工程選擇特征主要有以下幾點(diǎn)操作 - bag of feature (把所有單詞列出來(lái))
- pos feature (單詞對(duì)應(yīng)的詞性列出來(lái))
- 實(shí)體類別 (每個(gè)單詞的實(shí)體類別分別是什么)
- stemming (把單詞進(jìn)行詞干還原,英文才需要,中文不需要)
- 位置相關(guān)信息 (兩個(gè)實(shí)體之間包含了多少個(gè)單詞?這句話在本文的位置)
- 句法分析相關(guān)特征(兩個(gè)節(jié)點(diǎn)之間的最短路徑)
- 依存文法相關(guān) 也是最短路徑方法
3、根據(jù)特征工程提前的特征,輸入分類算法,得出分類結(jié)果
主要表現(xiàn)形式為:分類算法(SVM,GBDT) f(特征)->分類1,分類2,分類3,無(wú)分類
對(duì)于二分類問(wèn)題,一般的操作如下:

實(shí)體消岐
在關(guān)系抽取中,設(shè)計(jì)到實(shí)體之間的關(guān)系,但是一個(gè)實(shí)體可能會(huì)有多層的表示形式,不一樣的意思。
實(shí)體消岐的本質(zhì)在于一個(gè)詞很有可可能多個(gè)意思,也就是在不同的上下文所表達(dá)的含義不一樣。
比如我們生活中常見(jiàn)的實(shí)體:小米和蘋果就是存在多個(gè)意思。
問(wèn)題:給出一段話,如何判斷該實(shí)體是屬于哪個(gè)含義?
在實(shí)體庫(kù)中:含有該實(shí)體對(duì)應(yīng)的文章,如何通過(guò)實(shí)體庫(kù)的數(shù)據(jù)判斷問(wèn)題中的實(shí)體是哪個(gè)類型的呢
比如例子:?jiǎn)栴}定義:今天蘋果發(fā)布了新手機(jī)
實(shí)體庫(kù)中有兩個(gè)不同類型的數(shù)據(jù)
- 蘋果:水果中的一種,一般產(chǎn)自于。。。。。。。
- 蘋果:美國(guó)一家高科技公司,經(jīng)典的產(chǎn)品有iphone手機(jī)
那么實(shí)體消岐要如何實(shí)現(xiàn)呢?運(yùn)用什么算法呢?
實(shí)體消岐算法
1、TF-IDF
抽取實(shí)體前后的20個(gè)或者40個(gè)等n個(gè)詞,進(jìn)行分詞,詞庫(kù)的句子進(jìn)行分詞,得到V,進(jìn)行TF-IDF計(jì)算
計(jì)算cosine(q,實(shí)體1),cosine(q,實(shí)體2),以此類推,選擇值最大的就行分類
2、詞向量
通過(guò)詞向量的形式計(jì)算每個(gè)詞的詞向量,然后通過(guò)詞向量計(jì)算兩個(gè)句子的相似度,取值最高的相似度
具體做法可以參考問(wèn)答系統(tǒng)的具體解決辦法。
因?yàn)槭褂迷~向量,維度是一樣的,問(wèn)答系統(tǒng)用的就是100維的,所以直接矩陣相乘就是計(jì)算兩個(gè)句子之間的相似度。
實(shí)體統(tǒng)一
問(wèn)題定義:給定兩個(gè)實(shí)體,判斷是否指向同一個(gè)實(shí)體?
第一種方法:通過(guò)計(jì)算兩個(gè)實(shí)體設(shè)計(jì)的字符串的編輯距離判斷是否是指向同一個(gè)實(shí)體
第二種方法:基于規(guī)則,把字符串還原到原型,判斷是否是一個(gè)實(shí)體,也類型英文的stemming操作,進(jìn)行還原。
第三種方法:指代消解
第四種方法:基于圖的實(shí)體統(tǒng)一
指代消解
指代作為一種常見(jiàn)的語(yǔ)言現(xiàn)象,廣泛存在于自然語(yǔ)言的各種表達(dá)中(下面的他指的是張三還是李四呢?)
張三沒(méi)有去上班,因?yàn)樯×?,昨天,李四陪他去了醫(yī)院,好消息是他已經(jīng)好了
那么如何去解決,判斷這個(gè)他是指的是誰(shuí)呢?
1、最簡(jiǎn)單的方法,就是收集數(shù)據(jù)樣本,通過(guò)規(guī)則的形式去判斷
2、監(jiān)督學(xué)習(xí)的方法 通過(guò)計(jì)算文本的編輯距離去得出結(jié)果
指代消解后也可判斷兩個(gè)實(shí)體是否是一個(gè)?歸根結(jié)底指代消解也是解決實(shí)體統(tǒng)一的一個(gè)方法。
基于圖的實(shí)體統(tǒng)一,下圖所示,如何判斷圖的實(shí)體統(tǒng)一。
圖譜如何判斷兩個(gè)實(shí)體是否為一個(gè)實(shí)體,下圖所示計(jì)算兩個(gè)實(shí)體的關(guān)系特征和個(gè)體特征的編輯距離判斷是否是一個(gè)實(shí)體

要想理解一個(gè)句子,需要主謂賓(句法分析),第二就是憑感覺(jué),語(yǔ)言模型,但是機(jī)器是不能靠感覺(jué),需要知道主謂賓去實(shí)現(xiàn)的。
所以下面看看句法分析是如何實(shí)現(xiàn)的呢?

給定一個(gè)句子和語(yǔ)法,如何生成一個(gè)最好的語(yǔ)法樹(shù)呢?
input 中文句子 -》句法分析 -》語(yǔ)法樹(shù)
中文跟英文的實(shí)現(xiàn),不用分開(kāi)了,只需要有對(duì)應(yīng)的中文和英文句子就可以實(shí)現(xiàn)端到端的句法分析
CFG content free grammars
PCFG probalities content free grammars 加入了概率的元素
FROM CFG TO PCFG 語(yǔ)法樹(shù)選擇是哪種情況,加入概率的元素 概率是從訓(xùn)練集里面計(jì)算的
評(píng)估語(yǔ)法樹(shù)
所以要給定PCFG ,給一個(gè)句子,構(gòu)建多棵樹(shù),就根據(jù)每一個(gè)分支的概率乘起來(lái),得到結(jié)果就是分?jǐn)?shù)
如何轉(zhuǎn)換成最合適的語(yǔ)法樹(shù)?哪個(gè)樹(shù)是最優(yōu)的
那就需要有一個(gè)評(píng)判標(biāo)準(zhǔn),那就是每棵樹(shù)給一個(gè)分?jǐn)?shù),設(shè)計(jì)分?jǐn)?shù)

PCFG如何獲得?
我在訓(xùn)練集里面統(tǒng)計(jì)每個(gè)規(guī)則的概率多少

尋找最好的語(yǔ)法樹(shù)
上面所講的是用枚舉法,但是時(shí)間復(fù)雜度太高,時(shí)間復(fù)雜度是指數(shù)級(jí)的增長(zhǎng),所以不是最合理的。
那么引用另外一個(gè)算法,CKY算法,這個(gè)算法用的是動(dòng)態(tài)規(guī)劃的算法。
那么接下來(lái)如何用CKY算法尋找語(yǔ)法樹(shù)?
CKY的核心思想?
主要是運(yùn)用了DP算法的核心,把大問(wèn)題拆分成若干個(gè)子問(wèn)題,再把子問(wèn)題的答案變成大問(wèn)題的答案。
Binrazation 是把規(guī)則的右邊只出現(xiàn)兩個(gè)不同的語(yǔ)法符號(hào)
Transforming to CNF (Chomsky Normal Form)
CNF是啥規(guī)則呢,比B更嚴(yán)格
1、不允許出現(xiàn)出現(xiàn)e空的
2、不允許出現(xiàn)一個(gè)符號(hào)
3、不允許出現(xiàn)超過(guò)2個(gè)




如果去除一個(gè)規(guī)則后,就要重新計(jì)算規(guī)則集,所謂的去除就是把該規(guī)則進(jìn)行全部的替換掉,重新計(jì)算替換
CKY算法必須滿足Binrazation 其他的不是一定要滿足,就是右邊一定不能超過(guò)兩個(gè)規(guī)則

總結(jié):所以句法分析只要的流程是CKY算法結(jié)合PCFG去獲取最優(yōu)的語(yǔ)法樹(shù)
時(shí)序模型 HMM CRF等
深度學(xué)習(xí)里面的時(shí)序模型有RNN LSTM
非時(shí)序數(shù)據(jù):圖片,一個(gè)人的特征,這些維度是固定的
時(shí)序數(shù)據(jù):股票價(jià)格(不斷的變動(dòng))語(yǔ)音的波形 也是變化的 ,文本(所以文本挖掘大部分都是用時(shí)序模型),天氣的變化或者溫度的變化等


