一、什么是命名实体识别:
命名实体:通常我们将人名、地名、机构名等专有名词统称命名实体,如:周杰伦,黑山县,孔子学院,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版本提供的支持,模型名称可能会有所不同