命名實體識別
概念
命名實體識別(Named Entity Recognition,簡稱NER) , 是指識別文本中具有特定意義的詞(實體),主要包括人名、地名、機構名、專有名詞等等,並把我們需要識別的詞在文本序列中標注出來。
例如有一段文本:天津市空港經濟區
我們要在上面文本中識別一些區域和地點,那么我們需要識別出來內容有:
- 天津市(地點)
- 空港經濟區(地點)
NER的識別靠的是標簽,在長期使用過程中,有一些大家使用比較頻繁的標簽,這里有個網站可以參考
https://spacy.io/api/data-formats?source=post_page---------------------------#pos-tagging
識別上述例子我們使用了以下幾個標簽:
- "B-ORG":組織或公司(organization)
- "I-ORG":組織或公司
- "B-PER":人名(person)
- "I-PER":人名.
- "O":其他非實體(other)
- "B-LOC":地名(location)
- “I-LOC":地名
你肯定很關心“B”和“I”是什么意思?(有些還會用到“E”表示結束邊界,這里只用兩個標簽)為什么一個實體會對應兩個標簽?(除O之外)下面會進行解釋
首先說明,在文本中我們是以字為單位進行標注的
那么“B”和“I”是什么東西?
“B”是Begin的縮寫,“I”我不知道是什么的縮寫(如果你知道可以在評論區留言)
補充NER標注方法:https://blog.csdn.net/qq_44079295/article/details/96429667
我們知道實體一般是一個詞,因此用來表示它的文字應該有多個
而“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模型本身(因為它描述了一個過程)