Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Named Entity Recognition (NER)

命名实体识别 (NER) 会找出文本中的人物、组织、地点、日期和金额,并为每个实体标注其类型。

命名实体识别 (NER) 是一项自然语言处理 (NLP)任务,用于找出文本中指代现实事物的片段,并为每个片段标注类型,例如人物、组织、地点、日期或金额。在“Marie Curie taught at the University of Paris from 1906.”(玛丽·居里自 1906 年起在巴黎大学任教。)中,NER 模型会将“Marie Curie”标注为人物,将“University of Paris”标注为组织,并将“1906”标注为日期。这样,搜索引擎、知识图谱、分析工具和隐私工具就能使用从电子邮件、报告、合同和转录文本中提取的结构化记录。20 世纪 90 年代的消息理解会议 (MUC) 将 NER 确立为标准评测任务,而 CoNLL-2003 共享任务则确定了至今仍用作基准的四种类型:人物、地点、组织和其他。OntoNotes 5.0 等更大型的体系定义了 18 种类型,其中包括日期、数量、产品和事件。

NER 的工作原理#

NER 通常被定义为序列标注任务。分词器会将文本切分为词元,模型则按照 BIO 方案为每个词元分配一个标签:B- 表示实体的开头,I- 表示实体内部的词元,O 表示实体之外的词元,这样“University of Paris”等多词名称就能保持完整。下面的代码会将模型预测的标签转换为实体片段:

# Token-level BIO tags, as predicted by an NER model for one sentence
tokens = ["Marie", "Curie", "taught", "at", "the", "University", "of", "Paris", "from", "1906", "."]
tags = ["B-PER", "I-PER", "O", "O", "O", "B-ORG", "I-ORG", "I-ORG", "O", "B-DATE", "O"]

# Merge each B- tag with the I- tags that follow it into one entity span
entities = []
for token, tag in zip(tokens, tags):
    if tag.startswith("B-"):
        entities.append([token, tag[2:]])
    elif tag.startswith("I-") and entities and entities[-1][1] == tag[2:]:
        entities[-1][0] += f" {token}"

print(entities)

它会输出 [['Marie Curie', 'PER'], ['University of Paris', 'ORG'], ['1906', 'DATE']],也就是下游系统存储和查询的结构化结果。

过去三十多年来,用于预测这些标签的模型不断演变。早期系统使用手写规则和专名词表(已知名称的列表)。隐马尔可夫模型和条件随机场等统计标注器利用标注文本和人工设计的特征(如大小写和词尾)进行学习。2016 年,带 CRF 输出层的双向 LSTM 网络开始自行学习这些特征,随后出现了经过微调的 Transformer:BERT 在 CoNLL-2003 测试集上取得了 92.8 的 F1 分数。自注意力让这些模型能够利用整个句子作为上下文,因此,在“Apple released a new phone”中,“Apple”会被标注为组织;而在“I ate an apple.”中则不会被标注。系统使用实体级精确率、召回率和 F1 分数进行评分;只有当预测的跨度和类型都与参考标注完全匹配时,该预测才计为正确。

较新的模型不再采用固定的标签集合。GLiNER是一种紧凑型双向 Transformer,它以实体类型名称作为输入,即使某些类型在训练时从未出现过,也能找出匹配的片段;而大型语言模型可以在提示中提供架构并要求输出结构化结果,从而提取实体。

  • 实体链接:将每个识别出的提及关联到知识库中的特定条目,例如 Wikidata,从而判断“Paris”指的是巴黎这座城市还是 Paris Hilton。
  • 关系抽取:识别实体之间的关联,例如某个人在哪个组织工作,通常以 NER 的输出为基础。
  • 情感分析:衡量文本表达的观点。NER 会识别评论谈论的对象,情感分析则会衡量作者对该对象的感受。
  • 目标检测:相当于 NER 的图像版本,用于定位图像中的区域并为每个区域标注类别。

GLiNER 的开放标签理念在视觉领域有直接对应的模型:YOLOE-26是Ultralytics YOLO26的开放词汇版本,推理时会将类别名称作为文本提示,并检测和分割这些类别的目标,包括训练类别之外的目标。

实际应用#

文档处理会将 NER 与光学字符识别 (OCR)结合起来:扫描发票、合同和表单后,由 OCR 读取文本,NER 提取供应商、日期和总金额等字段,供会计和合规系统使用。生产流水线会将不确定的预测发送给人工处理,并从人工修正中学习:

  • 个人身份信息 (PII) 脱敏:Microsoft 开源的 Presidio 等隐私工具会结合使用 NER 和模式规则,在文本共享或用于训练之前查找并屏蔽姓名、地址和账号。
  • 临床文本挖掘:临床 NER 会从医生的记录中提取药物、剂量、症状和诊断信息,让医院和研究人员能够大规模搜索和分析记录。
  • 搜索与推荐:新闻网站和内容平台会为文章标注其中提到的人物、公司和地点,以此支持实体搜索并推荐相关报道。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来