独家 | 轻松上手,通过微调Transformers完成命名实体识别任务



作者:Lars Kjeldgaard
翻译:王闯(Chuck)校对:和中华

本文约2500字,建议阅读7分钟本文基于丹麦团队研发的Python开源包NERDA演示了如何通过简单微调BERT Transformer来处理NER任务。

 

照片源自Pixabay,作者vinsky2002

 

在本文中,我们将介绍如何通过简单微调(fine-tune)任意预训练的(pretrained)自然语言处理transformer,来完成任意语言中的命名实体识别(Named-Entity Recognition, NER)任务。

 

为什么这个话题值得你关注?因为NER是一项强大的自然语言处理任务,在诸多领域都有实际应用,在Towards Data Science之前的帖子中已有详细介绍。然而要想得到不错的NER模型效果,通常需要基于预训练的transformer对NER模型进行特定语言或领域的微调,这在计算资源有限的情况下,是比较可行的办法,而且能看到实际效果。

 

为了展示如何做到,我们使用python的NERDA包调用BERT transformer对NER模型进行微调。

 

NERDA是一套通用的NER系统,可用于以最少的代码量对任意语言的NER任务和任意transformer进行微调。

 

命名实体识别简介

 

如果你还不熟悉NER,请查看维基百科上的定义:

 

命名实体识别(也称(命名)实体标识,实体片取或实体提取)是用于信息提取的自然语言处理子任务,旨在将非结构化文本中提到的命名实体定位并分到预定义的类别,例如人名,组织机构名,地名,医疗代码,时间,数量,货币值,百分比等。

 

我们可以通过一个NER任务的例子来作进一步解释。

 

任务:在文本中标识人名和组织机构名:

 

Jim bought 300 shares of Acme Corp.

 

解答:人名:'Jim',组织机构名:'Acme Corp.'

 

若你想获得本文中提到的其他概念和技术的介绍,请移步文末“参考资料”部分,那里我们列了许多Towards Data Science先前的帖子。

 

工具箱

 

现在,我们要实际上手为NER微调transformer了。

 

无论你选择哪一种transformer和目标语言,我们这里介绍的步骤都是通用的。

 

我们将利用python的NERDA包来完成这项工作。

“NERDA” Python包的官方徽标,由Ekstra Bladet新闻提供

 

NERDA拥有为NER任务进行transformers微调的易用接口

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值