当前位置: 首页 > news >正文

Dynamic Connected Networks for Chinese Spelling Check(ACL2021)

Dynamic Connected Networks for Chinese Spelling Check(ACL2021)

一.概述

文中认为基于bert的非自回归语言模型依赖于输出独立性假设。不适当的独立性假设阻碍了基于bert的模型学习目标token之间的依赖关系,从而导致了不连贯的问题。为些,提出了一种名为Dynamic Connected Networks(DCN)的新架构,它通过拼音增强候选生成器生成候选中文字符然后利用基于注意力的网络对相邻中文字符之间的依赖关系进行建模。在数据集SIGHAN 2013,SIGHAN 2014以及SIGHAN 2015 达到了state-of-the-art。

代码:https://github.com/destwang/DCN

首先,我们利用RoBERTa与拼音增强候选生成器结合语音信息,并在每个位置生成k个候选字符。对于每两个相邻的候选,DCN通过动态连接评分器(DCScorer)学习一个可变的连接评分,以确定它们之间的依赖程度。DCScorer通过将上下文表示和当前位置和下一个位置的候选字符嵌入embedding同时输入注意力层来计算连接分数。最终,模型生成了kn个候选路径,我们利用Viterbi算法快速找到得分最高的路径作为我们最终的校正结果。

本文主要贡献如下:

A.提出了一种新的端到端动态连接网络(DCN),它可以缓解CSC任务中非自回归语言模型的不连贯问题。

B.提出了一种简单有效的拼音增强候选生成器,用于整合语音信息,生成更好的候选字符。

二.方法概述

1.问题

输入一个句子,然后对句子进行校正输出。由于非自回归语言模型是基于输出独立性的假设,会导致输出汉字不匹配,导致不连贯问题。

2.动态连接网络(Dynamic Connected Networks)

DCN可以学习输出的中文字符之间的依赖,减轻不连贯问题。

在这里插入图片描述

首先,RoBERTa使用拼音增强候选生成器生成一系列候选字符,我们抽取k个字符作为候选字符。对于每两个相邻的候选字符,我们通过动态连接评分器(DCScorer)学习连接分数以确定它们之间依赖的强度。最终的校正分数将由连接分数和候选生成器在每个位置的预测分数的联合预测来计算。

DCScorer需要同时考虑上下文信息、当前位置和下一个位置的候选字符。因此,我们使用注意力机制来学习当前候选的上下文表示p和下一个候选上下文表示q。两个相邻候选者之间的依赖强度通常与当前和下一个位置的RoBERTa隐藏表示更相关,因此注意力机制中的key和value只包含这两个隐藏表示。DCScorer定义如下:

在这里插入图片描述

这里的i是字符位置,m和n是当前位置和下一个位置的候先索引。Attention表示注意力机制,其中Q、K、V分别表示query、key和value,W表示注意力层需要学习的参数。h是最后一个transformer block的隐藏表示,w表示候选token嵌入embedding。

我们将候选token嵌入embedding添加到候选上下文表示。然后我们将输出输入到归一化层layernorm,得到两个表示!
在这里插入图片描述

在这里插入图片描述

http://www.lryc.cn/news/444749.html

相关文章:

  • 前端vue-3种生命周期,只能在各自的领域使用
  • el-upload如何自定展示上传的文件
  • 研1日记15
  • 基于Nginx搭建点播直播服务器
  • QT LineEdit显示模式
  • IT技术在数字化转型中的关键作用
  • 【C++指南】C++中nullptr的深入解析
  • 解决启动docker desktop报The network name cannot be found的问题
  • Guava: 探索 Google 的 Java 核心库
  • Qt-qmake概述
  • 【protobuf】ProtoBuf的学习与使用⸺C++
  • 【iOS】MVC架构模式
  • ML 系列:机器学习和深度学习的深层次总结(08)—欠拟合、过拟合,正确拟合
  • Unity-物理系统-刚体加力
  • 深入探究PR:那些被忽视却超实用的视频剪辑工具
  • Unity-麦克风输入相关
  • NLP--自然语言处理学习-day1
  • ER论文阅读-Incomplete Multimodality-Diffused Emotion Recognition
  • Matlab自学笔记36:日期时间型的概念、分类和创建方法
  • Spring Boot自定义配置项
  • 【C++篇】C++类与对象深度解析(六):全面剖析拷贝省略、RVO、NRVO优化策略
  • 什么时候用synchronized,什么时候用Reentrantlock
  • [ffmpeg]音频格式转换
  • SSRF工具类-SsrfTool
  • python集合运算介绍及示例代码
  • 『功能项目』按钮的打开关闭功能【73】
  • Linux 常用命令 - more 【分页显示文件内容】
  • Kotlin Android 环境搭建
  • 常见协议及其默认使用的端口号
  • 04-Docker常用命令