Sequence Labeling

寫在前面

  1. Sequence Labeling主要涉及到了 POS tagging 、Named Entity Recognition 、 chunking
  2. 主流的解決方案有兩種,一種是基于 hand-crafted的,比如CRF, Hidden Markov Model;另一種是基于 end-to-end的,主要是使用RNN,配合CNN提取char級別的feature,配合LSTM獲取word級別的上下文關(guān)聯(lián)。配合CRF獲取infer級別的前后關(guān)聯(lián),整體來說后者從性能、正確率以及實用程度上都高于前者

中文詞處理

Word Segment
DataSets: pku, msr, cityu, as
Tokenizer: jieba, HanLP, StanfordCoreNLP

結(jié)婚的和尚未結(jié)婚的確實在干擾分詞啊
[結(jié)婚/vi, 的/ude1, 和/cc, 尚未/d, 結(jié)婚/vi, 的/ude1, 確實/ad, 在/p, 干擾/vn, 分詞/n, 啊/y]

買水果然后來世博園最后去世博會
[買/v, 水果/n, 然后/c, 來/vf, 世博園/n, 最后/f, 去/vf, 世博會/n]

中國的首都是北京
[中國/ns, 的/ude1, 首都/n, 是/vshi, 北京/ns]

歡迎新老師生前來就餐
[歡迎/v, 新/a, 老/a, 師生/n, 前來/vi, 就餐/vi]

工信處女干事每月經(jīng)過下屬科室都要親口交代24口交換機等技術(shù)性器件的安裝工作
[工信處/n, 女/b, 干事/nnt, 每月/t, 經(jīng)過/p, 下屬/v, 科室/n, 都/d, 要/v, 親口/d, 交代/v, 24/m, 口/n, 交換機/n, 等/udeng, 技術(shù)性/n, 器件/n, 的/ude1, 安裝/v, 工作/vn]

隨著頁游興起到現(xiàn)在的頁游繁盛,依賴于存檔進行邏輯判斷的設(shè)計減少了,但這塊也不能完全忽略掉。
[隨著/p, 頁游/nz, 興起/v, 到/v, 現(xiàn)在/t, 的/ude1, 頁游/nz, 繁盛/a, ,/w, 依賴于/v, 存檔/vi, 進行/vn, 邏輯/n, 判斷/v, 的/ude1, 設(shè)計/vn, 減少/v, 了/ule, ,/w, 但/c, 這/rzv, 塊/q, 也/d, 不能/v, 完全/ad, 忽略/v, 掉/v, 。/w]
Tokenizer ds Precision Recall F1 score
jieba pku 0.8338489375832363 0.7728782904800608 0.8022067842526882
jieba(with user dict) pku 0.8343200050211338 0.7727757815260308 0.8023694658651723
HanLP pku 0.8863987044475511 0.8734416798869414 0.8798724933853116
Stanford pku 0.883465898038581 0.8237619508157312 0.8525699626278037
jieba msr 0.7798768059172906 0.7544719981628073 0.766964083416498
jieba(with user dict) msr 0.7922662578776877 0.7593750028213545 0.7754720205623936
HanLP msr 0.8167591303780943 0.8210837683916675 0.8189157398952949
Stanford msr 0.7818544940010788 0.8010022770029455 0.7913125703503816

Named Entity Recognition
SLTK
DataSet: CoNLL 2003 NER
Model: CNN + Bi-LSTM(Char + Word) + CRF

model Precision Recall F1
Random Initialization 0.7072862824839918 0.6843748979258535 0.6956419913024885
Glove 0.8792050905687264 0.9106106561520572 0.8946323395375901
Glove.Pos.Chunk 0.8775935069639225 0.9135456410774879 0.8952087544973495

Hidden Markov Model

  1. 知識點參見:Part-of-Speech Tagging 以及 Hidden Markov Models
  2. 項目參見:HMM-Tagger
  3. 論文參見:Stanford Pos Tagging

End-to-End Sequence Labeling

  1. 項目參見:SLTKNCRF++
  2. 論文參見: Ma X, and Hovy E. End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF 以及 Lample G, Ballesteros M, et al. Neural Architectures for Named Entity Recognition. NANCL, 2016.

CRF++

Sequence Labeling鼓搗了兩三天,主要就是懟這個CRF++模型,談一些自己個人的理解
整個模型分為三個大層:

  1. 第一個大層是char級別的特征提取層,主要用到的是CNN,關(guān)注點是單詞的形態(tài)學(xué)(比如ly后綴大概率會是adverb)
  2. 第二個大層是word級別的特征提取層,主要用到的有 Word Embedding, LSTM(GRU),提取出句子中word與其context之間的關(guān)系
  3. 第三個大層是infer級別的輸出訓(xùn)練層,在以往的RNN模型中,輸出時使用softmax或者sigmoid函數(shù)得到結(jié)果,每個結(jié)果輸出時是獨立的,因此我們加了一層CRF,使得輸出時需要考慮context
crf++.png

Hidden Markov Model

上面HMM知識點中阿衡學(xué)姐已經(jīng)詳細地記錄了筆記,因此在這里只放幾張圖幫助理解

Hidden Markov Model的概覽


hmm.png

Forward時某一時刻t

  1. 在 forward_algorithm中,t+1時刻hidden狀態(tài)j的概率是 t時刻所有狀態(tài)概率*轉(zhuǎn)換矩陣,再求和
  2. 而在viterbi_algorithm中,t+1時刻hidden狀態(tài)j的概率是 t時刻所有狀態(tài)概率*轉(zhuǎn)換矩陣,再取最大值,并記錄下t時刻貢獻值最大的狀態(tài) 用于輸出路徑


    forward_at_t.png

Forward Algorithm


image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容