0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

NLP:如何在只有词典的情况下提升NER落地效果

深度学习自然语言处理 来源:深度学习自然语言处理 作者:NLP从入门到放弃 2021-01-07 14:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

今天介绍一个论文autoner[1],主要是为了探索如何在只有词典的情况下,提升NER实际落地效果;

首先,如果手中含有词典,常规操作就是远程监督打标数据,然后做NER;

远程监督一个比较常见的操作就是使用我们手中的字典,通过字符匹配的形式对文本中可能存在的实体打标。

但是对于这种远程监督的形式,存在比较多的问题,这个论文主要探讨两种:多标签(multi-label tokens) 和标签不完善的问题;

针对multi-label tokens,论文提出的是Fuzzy-LSTM-CRF,简单讲就是讲LSTM后面的CRF层变为了Fuzzy CRF层,可以在处理tokens对应多标签的情况下,不牺牲计算效率;

第二个问题标签不完善,是因为字典毕竟是有限的,不可能把所有的实体都覆盖到,那么句子中没有被字典打标成功的词组很有可能也是某种实体,但是远程监督并没有对此做处理。

针对这个问题,本文提出了一种比较新的标注框架,简单来讲就是在这新的框架中,不去预测单个的token的类别,而是去判断两个相邻的tokens是不是在同一个实体中被tied;

上面只是我自己简单的分类,其实存在的两个问题和两种解决架构是相互融合在一起的,具体的我们下面谈。

0. 词典形式简单介绍

首先定义一下词典形式,包含两个部分,第一部分是实体的表面名称,这个包括规范名称和对应的同义词列表;第二个部分就是实体的类型;

其次,词典的标注肯定是有限的,肯定存在不在词典中的某些词组但是也属于某种类型的实体;

对于这部分实体,我自己的理解大体可以包含两个大部分;第一个大部分就是比如说【科技】这个领域覆盖的【科技】实体有有限的,所以有漏网之鱼;第二部分就是词典的实体类型是有限的,比如词典总共包含2个实体类型,但是你真实的文本包含更多的实体类型,存在漏网之鱼。

对于这些漏网之鱼的实体,我们的策略是这样的。

首先通过AutoPhrase从文中挖掘出来高质量短语,然后统一赋值为unknown type,也就是未知类型。

1. Fuzzy-LSTM-CRF

1.1 标注策略

梳理一下,我们现在手上有词典;

词典包含两个部分,一部分是已知实体类型(假设是2个,当然可能更多或者更少);另一个部分就是我们通过某种方式挖掘出来的高质量实体对应的未知类型;

然后我们通过手中的词典对原始无标注文本进行打标;

那么现在对于句子中的某个token,它存在三种可能性;第一它可能是已知实体类型中的一种或者多种;第二它属于未知类型;第三是属于O这种情况,就是non-entity;

基于传统架构BIlstm-CRF如何解决多标签的问题?

其实本质解决的思路很简单。对于原来的每个token,只是预测一个类别,现在是预测多个类别就可以了。

详细点讲就是,首先对于远程监督标注的过程,我们会使用三种策略。

我们先假设我们使用{I;O;B;E;S}的标注形式;

第一,对于某个token,如果它对应到了已知类型中的某一个或者多个实体,那么按照对应的位置直接标记上,不要漏掉;也就是说{I;B;E;S}和对应的一个或者多个实体类型对上标;

第二对于对于某个token,如果属于未知类型,那么对应的这个token就需要把所有已知实体类型(区别于上面的一个或者多个已知实体类型)和 {I,O, B, E, S}对应的打标上;

注意,这里并没有使用未知实体类型,而是使用的所有的已知实体类型;

第三个对于既不属于已知类型的,也不属于未知类型的,全部打上O;

1.2 Fuzzy-LSTM-CRF 模型架构

其实很好理解,传统的CRF最大化唯一一条有效的标注序列。在这里,我们最大化所有有可能的标注序列。

公式如下:

55dae800-5036-11eb-8b86-12bb97331649.jpg

Fuzzy-LSTM-CRF优化公式

看架构图:

55ff4420-5036-11eb-8b86-12bb97331649.jpg

Fuzzy-LSTM-CRF

2. AutoNER

区别于Fuzzy-LSTM-CRF 模型沿用传统架构,在这里论文提出一种新的标注架构-Tie or Break;

这个标注框架更加关注的是当前token和上一个token是否在同一个实体里面;如果在同一个实体里面,那么就标注为Tie;

如果当前单词和上一个单词至少有一个在unkonw类型的高质量短语,那么标注为unkonw,其他情况标注为Break;

优化过程:把实体识别和实体类型判定分离开。

原论文中描述的是先做实体识别,两个Break之间作为一个span,然后做实体类型判定;

实体识别中,对于当前单词和上一个单词之间类别的的输出,对Tie和Break做二分类损失,如果类别是unkown类别,直接跳过,不计算损失。

概率公式如下:

564b4866-5036-11eb-8b86-12bb97331649.jpg

tie_break_loss

56a37752-5036-11eb-8b86-12bb97331649.jpg

tie_break_loss

第二步预测实体类型,包含None实体类型

unkonw这种,知道这属于实体,在高质量短语词典中,但是不知道短语类型,所在这里我们会标注为None实体类型。

其他的不在词典中的,当然也就会被标注为None实体类型。

为了应对多标签,也就是同一个实体对应不同的类别,这里修改了最后的CE损失函数:

57264272-5036-11eb-8b86-12bb97331649.jpg

CE_总

575eea46-5036-11eb-8b86-12bb97331649.jpg

CE_Soft

使用的是软标签的进行的CE的计算,并没有使用硬标签。

对应的是在远程监督中,当前实体真实类型标签集合。从公式我们可以知道,尤其是看分母,在不属于这个集合的标签概率我们并没有计算在内。

总结

多提一个小细节,就是高质量短语的挖掘使用的是AutoPhrase,大家可以去试一下;

论文提出两种结构解决多标签和标签不完善的问题。

首先对于标签不完善,使用上面提到的AutoPhrase去挖掘文本中的高质量短语,作为词典中的未知类型。

在Fuzzy-LSTM-CRF,需要注意的细节是,对于未知类型的标注,我们使用的策略是标注所有已知类型;

对于AutoNER,有两个细节需要注意,一个是新的标注框架tie or break,重点在于去看两个相邻单词是否属于同一个实体;第二个细节就是为了解决多标签问题,修改了损失函数,使用的软标签;

责任编辑:xj

原文标题:【论文解读】如何在只有词典的情况下提升NER落地效果

文章出处:【微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 自然语言
    +关注

    关注

    1

    文章

    293

    浏览量

    14044
  • nlp
    nlp
    +关注

    关注

    1

    文章

    491

    浏览量

    23373

原文标题:【论文解读】如何在只有词典的情况下提升NER落地效果

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    S32K3 - 在什么情况下预计会发生STATUS_C40_IP_ERROR?

    /s32k3-restrict-the-debug-access-with-a-password-whe...... 在大多数情况下,它可以正常工作,但在某些情况下,当尝试写入寻址0x1B000080时,会发
    发表于 05-14 07:19

    怎么保证在失去主电源的情况下能够执行完屏幕关机时序

    电的时序由谁来控制,是使用超级大电容吗,可是我在多款屏幕模组后面都没看见大电容,怎么保证在失去主电源的情况下能够执行完屏幕关机时序
    发表于 05-12 23:30

    何在不影响 Core1 的情况下在LS1021A中单独重置 Core0?

    问题 1:如何在不影响 Core1 的情况下在LS1021A中单独重置 Core0? 问题 2:如何在不影响 Core0 的情况下在LS1021A中单独重置 Core1? 请提供一些具
    发表于 04-17 06:57

    汽车ASPICE落地:企业高频常见问题深度汇总(

    ,能帮助企业在招投标中脱颖而出,提升品牌溢价,区别于中小竞争对手。 规避产品质量风险,减少巨额商业损失 车载软件缺陷极易导致整车召回,一次召回就可能给企业带来数百万甚至数千万的损失。ASPICE的落地
    发表于 04-15 10:14

    电路板是否在没有 tf 卡的情况下启动?

    电路板是否在没有 tf 卡的情况下启动? 主板是否使用没有 tf 卡的 NVMe SSD 启动?
    发表于 03-26 07:14

    请问如何在不按按钮的情况下重置电路板?

    我有一台旧的 Raspberry Pi 1B,我用它通过 UART 照顾 VF2。如果 VF2 无法启动但 u-boot 仍然可以访问,我可以 ssh 进入 RPI 并运行 picocom 来修复它。 如果 VF2 崩溃且无法访问 u-boot,有没有办法在不按重置按钮的情况下重置它?
    发表于 03-20 08:01

    全流程场景落地 在线测长仪多方位部署 满足各种检测需求

    品;落地效果:客户投诉率下降80%,品牌口碑提升。 全流程可靠:不只是“能测”,更要“长期稳测” 承包全流程管控,“可靠性”是底线。测长仪通过“硬件防护+软件适配”,确保在不同工况长期稳定运行: 硬件
    发表于 11-04 14:23

    灌封胶导热粉在绝缘情况下、对电阻率有没有提升

    在确保使用绝缘类导热粉体且分散良好的前提下,灌封胶的电阻率不仅不会下降,反而可能得到显著的维持、稳定甚至间接提升。 这是一个看似矛盾但至关重要的概念。许多人担心添加任何填料都可
    的头像 发表于 10-30 14:55 503次阅读

    何在“SD 卡 NAND 闪存”的情况下使用 Non-OS NVTFAT?

    何在“SD 卡 NAND 闪存”的情况下使用 Non-OS NVTFAT
    发表于 09-01 07:58

    当不同的数据放在同一个Flash页面上时,请问如何在不影响其他数据的情况下更改一些单独的数据?

    当不同的数据放在同一个Flash页面上时,如何在不影响其他数据的情况下更改一些单独的数据?
    发表于 08-22 06:25

    何在没有 NuLink 编程器的情况下执行 SWD 解锁序列?

    我迫切需要知道如何在没有 NuLink 编程器的情况下执行 SWD 解锁序列。
    发表于 08-18 07:04

    请问DTU的设备号都在什么情况下需要填写,填写的规则是什么?

    DTU的设备号都在什么情况下需要填写,填写的规则是什么?
    发表于 08-07 07:50

    固定式条码扫描器能在条码移动情况下扫描吗?

    在工业生产、物流仓储等场景中,条码扫描往往伴随着物体的动态移动。此时,不少人会产生疑问:固定式条码扫描器能否在条码移动的情况下完成扫描?答案是肯定的,但这一过程受到多种技术因素的制约。固定式条码
    的头像 发表于 08-04 15:18 921次阅读
    固定式条码扫描器能在条码移动<b class='flag-5'>情况下</b>扫描吗?

    请问CYW20835在sleep mode的情况下,不进入SDS或HIDOF的情况下,底电流最低是多少?

    请问CYW20835在sleep mode的情况下,不进入SDS或HIDOF的情况下,底电流最低是多少?
    发表于 07-07 07:54

    在外部实质信号不突变的情况下,经过AD9278采集到的数据突然变小,为什么?

    应用场景:使用AD9278采集超声信号 问题:在外部实质信号不突变的情况下,经过AD9278采集到的数据突然变小!!!为什么??? 如果将TGC减小,这个突然变暗的点会往下移, 但是通过FPGA抓到
    发表于 06-10 06:39