您当前的位置:首页 > 电脑百科 > 人工智能

用膨胀卷积进行命名实体识别 NER

时间:2020-07-23 12:50:36  来源:  作者:

BiLSTM+CRF 是命名实体识别中最为流行的模型,但是 LSTM 需要按顺序处理输入的序列,速度比较慢。而采用 CNN 可以更高效的处理输入序列,本文介绍一种使用膨胀卷积进行命名实体识别的方法 IDCNN,通过膨胀卷积可以使模型接收更长的上下文信息。

1.膨胀卷积

膨胀卷积 (Dilated Convolution) 是指卷积核中存在空洞,下图展示了膨胀卷积和传统卷积的区别。之前的文章《膨胀卷积 dilated convolution》 有关于膨胀卷积的介绍,不熟悉的童鞋可以参考一下。

用膨胀卷积进行命名实体识别 NER

膨胀卷积和传统卷积的区别

膨胀卷积通过在卷积核中增加空洞,可以扩大模型的感受野 (即句子中的上下文),从下图可以看到,同样是尺寸为 3 的卷积核,同样是两层卷积层,膨胀卷积的上下文大小为 7,而传统卷积上下文大小为 5。

用膨胀卷积进行命名实体识别 NER

膨胀卷积和传统卷积上下文大小

卷积核的膨胀系数 (即空洞的大小) 每一层是不同的,一般可以取 (1, 2, 4, 8, ...),即前一层的两倍。

对于尺寸为 3 的传统卷积核,第 L 层的上下文大小为 2L+1;而对于尺寸为 3 的膨胀卷积核,第 L 层上下文的大小是 2^(L+1) -1。因此膨胀卷积的上下文大小和层数是指数相关的,可以通过比较少的卷积层得到更大的上下文。

2.用膨胀卷积进行命名实体识别

论文《Fast and Accurate Entity Recognition with Iterated Dilated Convolutions》中提出了一种使用膨胀卷积的方法进行命名实体识别,IDCNN (Iterated Dilated Convolutions)

作者认为直接堆叠膨胀卷积层,可以获得很长距离的上下文信息,例如有 9 层膨胀卷积层,则上下文的宽度超过 1000。但是简单的堆叠多层膨胀卷积,容易导致过拟合。

为了避免过拟合,作者先构造一个层数不多的膨胀 block,block 包含几个膨胀卷积层,例如 4 个。然后把数据重复传到同一个 block 中,即 block 输出的结果又重复传入 block 中,作者称为 Iterated Dilated Convolutions,IDCNN。通过重复使用相同的 block,可以让模型接收更宽的上下文信息,同时有比较好的泛化能力。

IDCNN 的膨胀卷积 block 包含多个膨胀卷积层,用 D 表示膨胀卷积层,如下面公式所示:

用膨胀卷积进行命名实体识别 NER

膨胀卷积层表示

IDCNN 网络的第一层对输入数据进行转换,使用标准的卷积:

用膨胀卷积进行命名实体识别 NER

IDCNN 第一层对输入进行转换

后 IDCNN 会使用 Lc 个膨胀卷积层构造出 block,block 用 B() 表示,block 包含的膨胀卷积如下:

用膨胀卷积进行命名实体识别 NER

block 中包含 Lc 个膨胀卷积

IDCNN 会重复使用 Lb 次相同的 block,对数据进行处理,如下:

用膨胀卷积进行命名实体识别 NER

IDCNN 重复使用 Lb 次 block

最后一层的输出再经过线性变换,可以得到序列每一个时刻 t 属于不同类别的分数:

用膨胀卷积进行命名实体识别 NER

最后一层输出线性变换

3.IDCNN 训练

IDCNN 可以使用两种训练方式,第一种是利用最后一次 block 的输出,预测每一时刻的类别,如下:

用膨胀卷积进行命名实体识别 NER

IDCNN 用最后一层 block 输出进行预测

这种方法可以结合 CRF 进行训练,类似 BiLSTM+CRF,因为 IDCNN 也可以输出每一时刻属于不同类别的概率。

第二种训练方法是对于每一次 block 的输出都预测序列的类标,作者认为这种方式可以起到类似 CRF 的效果,能够把输出结果之间的关系编码到 IDCNN 中。例如假设执行两次 block,则第一次 block 可以预测每一时刻对应不同类别的概率。而第二次 block 接收第一次 block 的输出,可以预测每一时刻输出之间的关系,类似 CRF。公式如下:

用膨胀卷积进行命名实体识别 NER

IDCNN 使用每一层 block 输出进行预测

4.参考文献

Fast and Accurate Entity Recognition with Iterated Dilated Convolutions



Tags:膨胀卷积   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
BiLSTM+CRF 是命名实体识别中最为流行的模型,但是 LSTM 需要按顺序处理输入的序列,速度比较慢。而采用 CNN 可以更高效的处理输入序列,本文介绍一种使用膨胀卷积进行命名实体识...【详细内容】
2020-07-23  Tags: 膨胀卷积  点击:(97)  评论:(0)  加入收藏
▌简易百科推荐
作为数据科学家或机器学习从业者,将可解释性集成到机器学习模型中可以帮助决策者和其他利益相关者有更多的可见性并可以让他们理解模型输出决策的解释。在本文中,我将介绍两个...【详细内容】
2021-12-17  deephub    Tags:AI   点击:(15)  评论:(0)  加入收藏
基于算法的业务或者说AI的应用在这几年发展得很快。但是,在实际应用的场景中,我们经常会遇到一些非常奇怪的偏差现象。例如,Facebook将黑人标记为灵长类动物、城市图像识别系统...【详细内容】
2021-11-08  数据学习DataLearner    Tags:机器学习   点击:(32)  评论:(0)  加入收藏
11月2日召开的世界顶尖科学家数字未来论坛上,2013年诺贝尔化学奖得主迈克尔·莱维特、2014年诺贝尔生理学或医学奖得主爱德华·莫索尔、2007年图灵奖得主约瑟夫·斯发斯基、1986年图灵奖得主约翰·霍普克罗夫特、2002...【详细内容】
2021-11-03  张淑贤  证券时报  Tags:人工智能   点击:(39)  评论:(0)  加入收藏
鉴于物联网设备广泛部署、5G快速无线技术闪亮登场,把计算、存储和分析放在靠近数据生成的地方来处理,让边缘计算有了用武之地。 边缘计算正在改变全球数百万个设备处理和传输...【详细内容】
2021-10-26    计算机世界  Tags:边缘计算   点击:(45)  评论:(0)  加入收藏
这是几位机器学习权威专家汇总的725个机器学习术语表,非常全面了,值得收藏! 英文术语 中文翻译 0-1 Loss Function 0-1损失函数 Accept-Reject Samplin...【详细内容】
2021-10-21  Python部落    Tags:机器学习   点击:(43)  评论:(0)  加入收藏
要开始为开源项目做贡献,有一些先决条件:1. 学习一门编程语言:由于在开源贡献中你需要编写代码才能参与开发,你需要学习任意一门编程语言。根据项目的需要,在后期学习另一种语言...【详细内容】
2021-10-20  TSINGSEE青犀视频    Tags:机器学习   点击:(37)  评论:(0)  加入收藏
SimpleAI.人工智能、机器学习、深度学习还是遥不可及?来这里看看吧~ 从基本的概念、原理、公式,到用生动形象的例子去理解,到动手做实验去感知,到著名案例的学习,到用所学来实现...【详细内容】
2021-10-19  憨昊昊    Tags:神经网络   点击:(47)  评论:(0)  加入收藏
语言是人类思维的基础,当计算机具备了处理自然语言的能力,才具有真正智能的想象。自然语言处理(Natural Language Processing, NLP)作为人工智能(Artificial Intelligence, AI)的核心技术之一,是用计算机来处理、理解以及运...【详细内容】
2021-10-11    36氪  Tags:NLP   点击:(48)  评论:(0)  加入收藏
边缘计算是什么?近年来,物联网设备数量呈线性增长趋势。根据艾瑞测算, 2020年,中国物联网设备的数量达74亿,预计2025年突破150亿个。同时,设备本身也变得越来越智能化,AI与互联网在...【详细内容】
2021-09-22  汉智兴科技    Tags:   点击:(54)  评论:(0)  加入收藏
说起人工智能,大家总把它和科幻电影中的机器人联系起来,而实际上这些科幻场景与现如今的人工智能没什么太大关系。人工智能确实跟人类大脑很相似,但它们的显著差异在于人工智能...【详细内容】
2021-09-17  异步社区    Tags:人工智能   点击:(57)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条