A Span-Based Model for Joint Overlapped and DiscontinuousNamed Entity Recognition

本文提出了一种新模型,通过判断文本span之间的关系来处理不连续和重叠实体。模型包括识别entityfragment和对fragment间关系分类两个步骤,使用了AGGCN增强词向量表示。实验表明,该模型在处理不连续实体时表现优于传统方法,但在某些情况下提升有限。

原文链接:https://aclanthology.org/2021.acl-long.372.pdf

ACL 2021

介绍

问题

        对于不连续和嵌套类的实体,目前存在的两种范式:超图和基于过渡(transition-based models)的模型,虽然能够灵活的应用于不同的任务,但是这些模型需要手动定义图的节点、边或过渡方法,并且这些模型随着句子中的词来建立图或生成过渡,可能存在误差传播的情况。 

IDEA 

         本文通过对span之间的关系进行判断,来解决不连续实体的问题。具体地,本文提出了一个能够解决overlap和不连续实体的模型,该模型主要包括以下两步:1)遍历所有可能的文本span来识别实体fragment;2)对给出的一对实体fragment进行关系分类,来判断该fragment是重叠的还是继承的。

方法

         本文所提出的整体结构如下图所示,主要有两个部分:1)列举所有可用的span,然后利用多分类策略来确定一个span是否为entity fragment以及实体的类型;2)对所有的实体fragment之间的关系进行分类,识别它们之间的关系继承、重叠还是其他(虽然第一步中的枚举已经能够得到嵌套的实体,这里还对fragment之间的关系进行嵌套的分类是为了再次识别嵌套实体)。

Word Representation

        给定输入:x = \left \{ x_{1},x_{2},,,,x_{N} \right \},将每个单词拆分为word pieces后送入到BERT中(输出中一个word对应多个pieces),并将开始的word piece视为word表征,例如”fevers“被拆分为”fever“和”##s“,则将”fever”的表征视为整个单词的表征。因此句子x的输出对应矩阵H=\left \{ h_{1},h_{2},,,,,h_{N} \right \}\subseteq R^{N\times d_{h}},d_{h}表示每个向量的维度。

Graph Convolutional Network

        图卷积网络使用attention-guided GCN(AGGCN),输入H=\left \{ h_{1},h_{2},,,,,h_{N} \right \},在标准的GCN中按以下方式进行更新:

        w和b都是l层的权重和偏置,A\subseteq R^{N\times N}表示图的邻接矩阵,由相应依赖语法树生成:

        而在AGGCN中,高层中的A使用多头自注意力机制来进行更新。\tilde{A}^{t}是第t个头的最新邻接矩阵。计算公式如下所示:

         对于每个头t,AGGCN使用\tilde{A}^{t}和一个densely连接层(输出表示为\tilde{H}^{t}\subseteq R^{N\times d_{h}})来更新词向量,最后使用一个线性combination层来结合每个头的输出,即AGGCN最终的输出表示为:

\tilde{H}= [\tilde{H}^{1},,,,\tilde{H}^{N_{head}}]W_{1}

        AGGCN的输出\tilde{H}与原始word表征H组成最终的word表征:

{H}' =[H,\tilde{H}W_{2}] \subseteq R^{N\times (d_{h}+d_{f})}

Span Representation

        生成span的方法依旧是通过枚举所有span,(i-j)span的表征表示为s_{i,j}

         其中,w是一个20维的embedding,表示了span的跨度。 

Decoding 

        decoding包括两步,先识别所有有效的实体fragment,然后对它们之间的关系进行分类。 

        这两步中都分别使用一个MLP进行简单的分类,P1表示实体类型的可能性,p2表示属于“继承”“重叠”“其他”这三类的可能性。

        解码部分的算法如下所示(感觉这部分理解起来挺简单的,为啥要写个伪代码?而且这个伪代码也太伪了吧):

         可以看出,预测的最终结果其实就是一个实体fragment关系图。解码的目标就是找到所有的子图,在这些子图中,每个节点都与其他任何节点相连,这些子图也就是一个实体

Training 

        损失函数由两部分组成,实体fragment识别和fragment关系预测:y_{ent}y_{rel}表示text span和span pairs的golden lable。 

实验 

        作者在多个数据集上进行了实验, 数据集的具体情况如下所示:

在overlap和disconnected数据集上的对比实验:

        为了说明建立一个模型来同时识别规则的、重叠的和不连续的实体的必要性,作者对CLEF-Dis数据集中的实体进行分类,如下图所示(只考虑flat NER时 对两个模型的效果进行了对比 其他情况都是作者提出模型的实验结果):

         BiLSTM-CRF在辨别flat的NER时,precision值达到了最高,然后作者提出的模型有更高的recall,缩短了两个模组之间的差距。在加入重叠实体后,我们的模型效果得到了一个极大的提升;考虑三种类型的实体时,我们的模型在此基础上又增加了0.8%。(这不是废话吗?你模型就是用来解决不连续实体的,增加不连续实体,效果肯定会好啊)

         与基于过度方法的模型进行了对比:

         这里作者是对该模型进行了复现,而不是直接引用论文给出的结果,复现会稍差一点。而在加入不连续实体后,作者提出的模型并没有对比模型好(加入d后,作者的模型只提升了1.4 而对比模型提升了2.5)

在flat和overlap数据集上进行对比实验

        作者在GENIA和ACE05两个数据集(只包括flat和重叠的实体)上进行了实验,结果如下所示:

总结 

         整体来看,虽然作者提出了一种新的逻辑,提出了基于span的模型来解决disconnected的实体(思路倒是比较靠谱),但文中作者对使用了AGGCN来增加了word 表征进行了着重介绍(我感觉哈),对于fragment的判断反而采用最简单的方法,有点奇奇怪怪的。而且实验结果也并没有很好,将提出的AGGCN和overlap relation进行了消融实验,对模型的影响都不是很大,也就是说其实效果并没有很好?(个人见解,如有不对 还请指出)

<think>好的,用户遇到了达梦数据库的CODE -731错误,提示归档日志覆盖的问题。我需要先理解这个错误的含义和可能的原因。根据经验,归档日志覆盖通常发生在归档目录配置不当或者磁盘空间不足时,导致新的归档日志覆盖了旧的未被备份的日志。 首先,用户需要检查归档配置是否正确。达梦数据库的归档配置参数包括ARCH_INI、ARCH_DEST、ARCH_FILE_SIZE等,必须确保这些参数设置合理。比如ARCH_DEST指定的路径是否存在且有足够的写入权限,ARCH_SPACE_LIMIT是否足够大,避免空间不足导致覆盖。 其次,检查磁盘空间是否充足。如果归档目录所在磁盘空间不足,数据库可能无法生成新的归档日志,进而覆盖旧的日志文件。用户需要查看磁盘使用情况,必要时清理空间或增加存储。 另外,检查归档日志文件的大小和数量限制。ARCH_FILE_SIZE设置单个归档文件的大小,如果设置过小,可能会频繁生成新文件,增加管理负担。而ARCH_SPACE_LIMIT限制归档目录的总空间,超出限制时旧日志会被删除,可能导致未备份的日志被覆盖,从而引发错误。 解决方案可能包括调整归档配置参数,增加磁盘空间,定期备份并清理归档日志。同时,用户需要确保备份策略有效,及时将归档日志转移到其他存储,避免被系统自动清理。如果问题持续,建议查看数据库日志获取更详细的错误信息,或者联系达梦技术支持。 还需要考虑用户是否已经备份了旧的归档日志。如果没有定期备份,即使空间足够,系统可能也会因为达到文件数量限制而覆盖旧文件。因此,建议用户设置自动备份任务,并监控归档目录的使用情况,确保日志文件的安全。</think>### 达梦数据库CODE -731归档日志覆盖问题解决方案 #### 问题分析 CODE -731错误表示归档日志文件被覆盖,通常由以下原因导致: 1. 归档目录配置错误(例如`ARCH_DEST`路径权限不足或重复使用) 2. 磁盘空间不足导致日志文件循环覆盖 3. 归档参数`ARCH_SPACE_LIMIT`设置过小[^1] 4. 未及时备份历史归档日志 #### 解决步骤 **1. 检查归档配置** ```sql -- 查看当前归档配置 SELECT * FROM V$DM_ARCH_INI; ``` 确认以下关键参数: - `ARCH_INI=1`(归档已启用) - `ARCH_DEST`指向有效路径(如`/dm8/arch`) - `ARCH_FILE_SIZE=2048`(单个归档文件大小,单位MB) - `ARCH_SPACE_LIMIT=0`(0表示无空间限制) **2. 磁盘空间维护** ```shell # 检查归档目录空间使用 df -h /dm8/arch ``` - 建议保留至少20%的可用空间 - 使用`rm`命令清理无效日志文件时需停止数据库服务 **3. 修改归档参数** ```sql -- 调整归档空间限制(单位MB) SP_SET_PARA_VALUE(1, 'ARCH_SPACE_LIMIT', 102400); -- 调整单个归档文件大小 SP_SET_PARA_VALUE(1, 'ARCH_FILE_SIZE', 4096); ``` **4. 日志备份策略** ```shell # 使用DMRMAN工具备份 ./dmrman CTLSTMT="BACKUP ARCHIVE LOG ALL DATABASE '/dm8/data/DAMENG/dm.ini'"; ``` 建议通过作业调度定期执行: ```sql -- 创建每日备份作业 DBMS_JOB.SUBMIT( JOBID => 1, WHAT => 'BACKUP ARCHIVE LOG ALL;', START_TIME => SYSDATE, INTERVAL => 'TRUNC(SYSDATE)+1' ); ``` #### 预防措施 1. 启用自动空间监控 ```sql ALTER SYSTEM SET 'SPACE_CHECK_INTERVAL' = 300; -- 5分钟检查间隔 ``` 2. 配置归档目录冗余(推荐RAID1) 3. 使用日志轮转策略: ```shell # 在操作系统中配置logrotate /dm8/arch/*.log { daily rotate 30 compress missingok } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值