什么是命名实体识别?

一、说明

        命名实体识别 (NER) 也称为实体分块或实体提取,是自然语言处理 (NLP) 的一个组件,用于识别文本正文中的预定义对象类别。这些类别可以包括但不限于个人姓名、组织、地点、时间表达、数量、医疗代码、货币价值和百分比等。从本质上讲,NER 是获取一串文本(即句子、段落或整个文档)并识别和分类引用每个类别的实体的过程。

        当“NER”一词在第六次信息理解会议 (MUC-6) 上创造时,目标是简化信息提取任务,其中包括处理大量非结构化文本和识别关键信息。从那时起,NER 不断发展壮大,其发展在很大程度上归功于机器学习深度学习技术的进步。

二、关于NER 技术

        根据 2019 年的一项调查,大约 64% 的公司依赖来自内部资源的结构化数据,但只有不到 18% 的公司利用非结构化数据和社交媒体评论来为业务决策提供信息1。

        使用 NER 进行非结构化数据提取的组织依赖于一系列方法,但大多数方法分为三大类:基于规则的方法、机器学习方法和混合方法。

  • 基于规则的方法涉及为语言的语法创建一组规则。然后,这些规则用于根据实体的结构和语法特征来识别文本中的实体。这些方法可能非常耗时,并且可能无法很好地推广到看不见的数据。
  • 机器学习方法涉及使用条件随机场和最大熵(两种类型的复杂统计语言模型)等算法在标记数据集上训练 AI 驱动的机器学习模型。技术范围从传统的机器学习方法(例如决策树和支持向量机)到更复杂的深度学习方法,例如递归神经网络 (RNN) 和转换器。这些方法可以更好地泛化到看不见的数据,但它们需要大量标记的训练数据,并且计算成本可能很高。
  • 混合方法结合了基于规则的方法和机器学习方法,以利用两者的优势。他们可以使用基于规则的系统快速识别易于识别的实体,并使用机器学习系统来识别更复杂的实体。

 

三、NER 方法

        自 NER 问世以来,已经取得了一些重大的方法进步,尤其是那些依赖于基于深度学习的技术的方法。较新的迭代包括:

  • 递归神经网络 (RNN) 和长短期记忆 (LSTM)。RNN 是一种专为序列预测问题而设计的神经网络。LSTM 是一种特殊的 RNN,可以随着时间的推移学习识别模式,并在长序列中将信息保存在“内存”中,这使得它们对于理解上下文和识别实体特别有用。
  • 条件随机字段 (CRF)。CRF 通常与 LSTM 结合使用用于 NER 任务。它们可以对整个标签序列的条件概率进行建模,而不仅仅是对单个标签进行建模,这使得它们对于单词的标签取决于周围单词的标签的任务非常有用。
  • 变压器和 BERT。Transformer 网络,尤其是 BERT (Bidirectional Encoder Representations from Transformers) 模型,对 NER 产生了重大影响。BERT 使用一种权衡不同单词重要性的自我注意机制,通过查看单词前后的单词来解释单词的完整上下文。

 

NER 流程

步骤 1、数据采集

NER 的第一步是聚合带注释文本的数据集。数据集应包含文本示例,其中标记或标记了命名实体,以指示其类型。注释可以手动完成,也可以使用自动方法完成。

步骤 2、数据预处理

收集数据集后,应清理文本并设置其格式。您可能需要删除不必要的字符、规范化文本和/或将文本拆分为句子或标记。

步骤 3、特征提取

在此阶段,将从预处理的文本中提取相关特征。这些功能可以包括词性标记 (POS 标记)、单词嵌入和上下文信息等。功能的选择将取决于组织使用的特定 NER 模型。

步骤 4、模型训练

下一步是使用带注释的数据集和提取的特征训练机器学习或深度学习模型。该模型学习识别文本中单词之间的模式和关系,以及它们相应的命名实体标签。

步骤 5、模型评估

训练 NER 模型后,应对其进行评估以评估其性能。您可以测量精度、召回率和 F1 分数等指标,这些指标表示模型正确识别和分类命名实体的能力。

步骤 6、模型微调

根据评估结果,您将优化模型以提高其性能。这可能包括调整超参数、修改训练数据和/或使用更高级的技术(例如,集成或域适应)。

步骤 7、推理

在此阶段,您可以开始使用该模型对新的、看不见的文本进行推理。该模型将采用输入文本,应用预处理步骤,提取相关特征,并最终预测每个标记或文本范围的命名实体标签。

步骤 8、后处理

NER 模型的输出可能需要进行后处理步骤,以优化结果和/或添加上下文信息。您可能需要完成实体链接等任务,其中命名实体链接到知识库或数据库以进一步丰富。

四、实施 NER 流程

4.1 简化实施

        实现命名实体识别系统的最简单方法是依赖应用程序编程接口 (API)。NER API 是基于 Web 的接口或本地接口,提供对 NER 功能的访问。NER API 的一些常见示例包括:

        自然语言工具包 (NLTK)

        NLTK 是一个领先的开源平台,用于构建 Python 程序以处理人类语言数据。它为 100 多个经过训练的提取模型提供了易于使用的界面2。它还包括用于分类、分词、词干提取、标记、解析和语义推理的文本处理库。NLKT 有自己的分类器来识别命名实体,称为 ne_chunk,但也提供了一个包装器,用于在 Python 中使用 Stanford NER 标记器。

4.2 Stanford 命名实体识别器

        Stanford NER 由斯坦福大学开发,是一种 Java 实现,被广泛认为是标准实体提取库。它依赖于 CRF 并提供用于提取命名实体的预训练模型。

4.3 SpaCy 系列

SpaCy 用 Python 编写,以其速度和用户友好性而闻名,是一个用于高级 NLP 的开源软件库。它建立在最新的研究之上,专为与真实产品一起使用而设计。它还具有先进的统计系统,允许用户构建定制的 NER 提取器。

五、NER 的应用

        随着技术的不断发展,NER 系统只会变得更加普遍,帮助组织理解他们每天遇到的数据。到目前为止,事实证明,它对多个行业都起到了重要作用,从医疗保健和金融到客户服务和网络安全。

        一些最具影响力的用例是:

  •         信息提取

        NER 是从大型非结构化数据库中提取有用的结构化信息的关键第一步。搜索引擎使用 NER 来提高其搜索结果的相关性和准确性。

  • 自动新闻聚合

        新闻聚合商使用 NER 根据文章和报道包含的命名实体对文章和报道进行分类,从而以更有条理、更高效的方式向受众展示新闻。例如,新闻应用的 NER 可以自动执行分类过程,将类似的新闻报道分组在一起,并提供特定新闻事件的更全面视图。

  • 社交媒体监控
        随着社交媒体平台的激增,可用于分析的文本数据量是压倒性的。NER 在社交媒体分析中发挥着重要作用,识别帖子和评论中的关键实体,以了解不同主题的趋势和公众意见(尤其是围绕品牌和产品的意见)。这些信息可以帮助公司进行情绪分析、制定营销策略、制定客户服务响应并加快产品开发工作。
  • 聊天机器人和虚拟助手
         虚拟助手和生成式人工智能聊天机器人,并使用 NER 准确理解用户请求和客户支持查询。通过识别用户查询中的关键实体,这些 AI 驱动的工具可以提供精确的、特定于上下文的响应。例如,在查询“查找 Piedmont Park 附近的 Soul Food 餐厅”中,NER 帮助助手将“Soul Food”理解为美食,将“restaurants”理解为场所类型,将“Piedmont Park”理解为位置。
  • 网络安全
  

        在网络安全方面,NER 帮助公司识别网络日志和其他安全相关数据中的潜在威胁和异常。例如,它可以识别网络安全日志中的可疑 IP 地址、URL、用户名和文件名。因此,NER 可以促进更彻底的安全事件调查并提高整体网络安全性。

六、使用 NER 的挑战

        NER 自成立以来已经走过了漫长的道路,整合了创新技术并在此过程中广泛扩展了其实用性。但是,在评估 NER 技术时,需要考虑一些值得注意的挑战。

        虽然 NER 在英语等语言方面取得了很大进步,但它对许多其他语言的准确性水平不尽相同。这通常是由于这些语言中缺少标记数据。跨语言 NER,涉及将知识从一种语言转移到另一种语言,是一个活跃的研究领域,可能有助于弥合 NET 语言差距。

        有时,实体也可以嵌套在其他实体中,识别这些嵌套的实体可能具有挑战性。例如,在句子“The Pennsylvania State University, University Park was established in 1855”中,“Pennsylvania State University”和“The Pennsylvania State University, University Park”都是有效实体。

此外,虽然通用 NER 模型可以识别名称和位置等常见实体,但它们可能难以识别特定于某个域的实体。例如,在医疗领域,识别疾病名称或药物名称等复杂术语可能具有挑战性。特定领域的 NER 模型可以在专门的、特定于领域的数据上进行训练,但获取这些信息本身可能具有挑战性。

NER 模型也可能遇到更广泛的歧义问题(例如,“Apple”可能指水果或科技公司);实体名称变体(例如,“USA”、“U.S.A.”、“United States”和“United States of America”均指同一国家/地区);以及有限的上下文信息(其中文本和/或句子不包含足够的上下文来准确识别和分类实体)。

尽管 NER 面临挑战,但持续的进步不断提高其准确性和适用性,因此有助于最大限度地减少现有技术差距的影响。

七、NER 的未来

        虽然 NER 是一个成熟的领域,但仍有许多工作要做。

        展望未来,一个有前途的领域是 NER 的无监督学习技术。虽然监督学习技术表现良好,但它们需要大量标记数据,这可能很难获得。无监督学习技术不需要标记数据,可以帮助组织克服数据可用性挑战。

        另一个有趣的方向是将 NER 与其他 NLP 任务集成。例如,NER 和实体链接的联合模型(涉及将实体链接到知识库中的相应条目)或 NER 和共指解析(涉及确定文本中的两个或多个表达式何时引用同一实体)可以使系统更好地理解和处理文本。

        小样本学习和多模态 NER 还扩展了 NER 技术的功能。通过小样本学习,模型被训练为仅使用几个样本来执行任务,这在标记数据稀缺时特别有用。另一方面,多模式 NER 涉及将文本与其他实体类型集成。例如,图像或音频片段可以提供有助于识别实体的额外上下文。

猜你喜欢

转载自blog.csdn.net/gongdiwudu/article/details/143257072