NLP | 序列標注 總結


簡介

 

序列標注(Sequence Tagging)是一個比較簡單的NLP任務,但也可以稱作是最基礎的任務。序列標注的涵蓋范圍是非常廣泛的,可用於解決一系列對字符進行分類的問題,如分詞、詞性標注、命名實體識別、關系抽取等等。

有很多開源的中文分詞工具,jieba、pkuseg、pyhanlp...

 

序列標注一般可以分為兩類:

1、原始標注(Raw labeling):每個元素都需要被標注為一個標簽。

2、聯合標注(Joint segmentation and labeling):所有的分段被標注為同樣的標簽。

      命名實體識別(Named entity recognition, NER)是信息提取問題的一個子任務,需要將元素進行定位和分類,如人名、組織名、地點、時間、質量等。

      舉個NER和聯合標注的例子。一個句子為:Yesterday , George Bush gave a speech. 其中包括一個命名實體:George Bush。我們希望將標簽“人名”標注到整個短語“George Bush”中,而不是將兩個詞分別標注。這就是聯合標注。
 

BIO標注

      解決聯合標注問題的最簡單的方法,就是將其轉化為原始標注問題。標准做法就是使用BIO標注。

      BIO標注:將每個元素標注為“B-X”、“I-X”或者“O”。其中,“B-X”表示此元素所在的片段屬於X類型並且此元素在此片段的開頭,“I-X”表示此元素所在的片段屬於X類型並且此元素在此片段的中間位置,“O”表示不屬於任何類型。

      比如,我們將 X 表示為名詞短語(Noun Phrase, NP),則BIO的三個標記為:

(1)B-NP:名詞短語的開頭

(2)I-NP:名詞短語的中間

(3)O:不是名詞短語

    因此可以將一段話划分為如下結果;

 

 

 

      我們可以進一步將BIO應用到NER中,來定義所有的命名實體(人名、組織名、地點、時間等),那么我們會有許多 B 和 I 的類別,如 B-PERS、I-PERS、B-ORG、I-ORG等。然后可以得到以下結果:

 

 

 

舉例:命名實體識別 

一段待標注的序列$𝑋={𝑥_{1},𝑥_{2},...,𝑥_{n}}$,我們需要對該序列的每一個$𝑥_{i}$預測一個對應的Tag,在通常情況下,我們對tag進行如下定義:

  • B - Begin,表示開始
  • I - Intermediate,為中間字
  • E - End,表示結尾
  • S - Single,表示單個字符
  • O - Other,表示其他,用於標記無關字符

常見標簽方案通常為三標簽或者五標簽法:

  • IOB - 對於文本塊的第一個字符用B標注,文本塊的其它字符用I標注,非文本塊字符用O標注
  • IOBES:
    • B,即Begin,表示開始
    • I,即Intermediate,表示中間
    • E,即End,表示結尾
    • S,即Single,表示單個字符
    • O,即Other,表示其他,用於標記無關字符

這樣的tag並不是固定的,根據任務不同還可以對標簽有一系列靈活的變化或擴展。對於分詞任務,我們可以用同樣的標注方式來標注每一個詞的開頭、結尾,或單字。如詞性標注中,我們可以將標簽定義為:n、v、adj...而對於更細類別的命名實體識別任務,我們在定義的標簽之后加上一些后綴,如:B-Person、B-Location...這都可以根據你的實際任務來自行選擇。

處理序列標注問題的常用模型包括隱馬爾可夫模型(HMM)、條件隨機場(CRF)、BiLSTM + CRF。

可參考: https://www.cnblogs.com/sandwichnlp/p/11618530.htmlhttps://www.cnblogs.com/sandwichnlp/p/11618530.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM