【NLP學習其一】什麼是命名實體識別NER?

DAYceng發表於2021-06-23

命名實體識別

概念

命名實體識別(Named Entity Recognition,簡稱NER) , 是指識別文字中具有特定意義的詞(實體),主要包括人名、地名、機構名、專有名詞等等,並把我們需要識別的詞在文字序列中標註出來。

例如有一段文字:天津市空港經濟區
我們要在上面文字中識別一些區域和地點,那麼我們需要識別出來內容有:

  • 天津市(地點)
  • 空港經濟區(地點)

NER的識別靠的是標籤,在長期使用過程中,有一些大家使用比較頻繁的標籤,這裡有個網站可以參考

https://spacy.io/api/data-formats?source=post_page---------------------------#pos-tagging

識別上述例子我們使用了以下幾個標籤:

  1. "B-ORG":組織或公司(organization)
  2. "I-ORG":組織或公司
  3. "B-PER":人名(person)
  4. "I-PER":人名.
  5. "O":其他非實體(other)
  6. "B-LOC":地名(location)
  7. “I-LOC":地名

你肯定很關心“B”和“I”是什麼意思?為什麼一個實體會對應兩個標籤?(除O之外)下面會進行解釋

首先說明,在文字中我們是以字為單位進行標註的

那麼“B”和“I”是什麼東西?

“B”是Begin的縮寫,“I”我不知道是什麼的縮寫(如果你知道可以在評論區留言)

我們知道實體一般是一個詞,因此用來表示它的文字應該有多個

而“B”就是用來表示某個實體開頭的第一個字的(英文實體則為單詞)

如:
天津市可以表示為
天(B-LOC)津(I-LOC)市(I-LOC) 
#以B-LOC開頭後面必須全為某某LOC,不能出現別的標籤,比如B-PER後面跟個I-LOC就不行
#在訓練的時候,我們通常會再加一個概率圖模型來減少上述錯誤的發生,如HMM等

紐約New York可以表示為
New(B-LOC) York(I-LOC)

人名同理不再舉例

“O”則表示文字中不相關的字

如:
小紅想去二空螺螄粉嗦粉

上述文字中,除了“小紅”和“二空螺螄粉”以外的字都是“O"(前提是你不關心這些字)

注:除了上述標註方法外的標註均為非法標註

那麼™的HMM又是什麼?

隱馬爾可夫模型,即HMM,是概率圖模型的一種,屬於生成模型。

籠統的說,我們在上面談論的"BIO"的實體標籤,就屬於一種不可觀測的隱狀態,而HMM模型就是描述由隱狀態序列(實體標記)生成可觀測結果(可讀文字)的過程.
在我們討論NER的問題當中,隱狀態序列是實體標記序列,而可觀測序列是我們可讀的原始語料文字序列.

如:

隱藏狀態序列:(B-LOC)(I-LOC)(I-LOC)
觀測狀態序列:   天       津      市

這只是HMM用於NER標籤時的情況

我們還可以舉個例子將HMM思想擴充一下

假如我在打遊戲,這時我突然想起一個人,然後我看通訊錄找到他的名字給他打電話

上述例子中,
想起的這個人就是隱藏狀態;
他的名字就是觀測結果;
而我舉例用的整段話就是HMM模型本身(因為它描述了一個過程)

相關文章