一、什么是命名實體識別:
? ? ? ? 命名實體:通常我們將人名、地名、機構名等專有名詞統稱命名實體,如:周杰倫,黑山縣,孔子學院,24方鋼直機
? ? ? ? 顧名思議,命名實體識別(簡稱NER)就是識別出一段文本中可能存在的命名實體
舉例:
? ? ? ? ?魯迅,浙江紹興人,五四新文化運動的重要參與者,代表作朝花夕拾
????????魯迅(人名) /? 浙江紹興(地名)人 / 五四新文化運動(專用名詞)? /? 重要參與者? /? 代表作 /? 朝花夕拾(專有名詞)
二、命名實體識別的作用:
? ? ? ? 1.同詞匯一樣,命名實體也是人類理解文本的基本單元,因此也是AI解決NLP領域高階任務的重要基礎環節
? ? ? ? 2.使用hanlp進行中文命名實體識別:
---import hanlp
import hanlp# 加載預訓練的中文命名實體識別模型
recognizer = hanlp.load(hanlp.pretrained.ner.MSRA_NER_BERT_BASE_ZH)# 輸入待識別的句子
text = "創建黃埔軍校是孫中山先生的重要成就。"# 對句子進行命名實體識別
entities = recognizer(text)# 輸出識別結果
for entity in entities:print(f'類型: {entity.label}, 內容: {entity.text}')# 注意:實際使用時請確保已安裝對應版本的HanLP庫以及所需的預訓練模型
? 3.使用hanlp進行英文命名實體識別:
import hanlp# 加載預訓練的英文命名實體識別模型
recognizer = hanlp.load(hanlp.pretrained.ner.onto.ontonotes5_conll2012_en)# 輸入待識別的英文句子
english_text = "Barack Obama was the 44th president of the United States."# 對英文句子進行命名實體識別
english_entities = recognizer(english_text)# 輸出識別結果
for ent in english_entities:print(f'Type: {ent.label}, Content: {ent.text}')# 注意:英文模型的加載需確認所使用的HanLP版本提供的支持,模型名稱可能會有所不同