Dynamic Connected Networks for Chinese Spelling Check(ACL2021)

news2024/9/24 6:04:43

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.coloradmin.cn/o/2159589.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何使用GLib的单向链表GSList

单向链表是一种基础的数据结构,也是一种简单而灵活的数据结构,本文讨论单向链表的基本概念及实现方法,并着重介绍使用GLib的GList实现单向链表的方法及步骤,本文给出了多个实际范例源代码,旨在帮助学习基于GLib编程的读…

docker如何升级MySQL为最新版本

今天安全扫描发现MySQL存在漏洞,不用想别的升级到最新版。本篇文章有两个目的,1)为自己做一个记录,下次升级的时候不用再浪费时间查资料;2)给大家一点帮助; 因为我是docker部署,所以…

docker 创建showdoc服务 showdoc容器部署教程

1. 下载最新版本镜像 # 按照最新版本 docker pull star7th/showdoc 2. 创建映射文件夹: # 创建文件夹 mkdir -p /data/showdoc_data# 可写权限 chmod 777 /data/showdoc_data 3.创建容器命令: docker run -d --name showdoc --userroot --privileged…

分享一个vue+spring的前后端项目

管理员页面 用户界面 后面的一部分 后端代码

leetcode第二十六题:删去有序数组的重复项

给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k ,你…

力扣题解1014

大家好,欢迎来到无限大的频道。 今日继续给大家带来力扣题解。 题目描述(中等): 最佳观光组合 给你一个正整数数组 values,其中 values[i] 表示第 i 个观光景点的评分,并且两个景点 i 和 j 之间的 距离…

C++ | Leetcode C++题解之第432题全O(1)的数据结构

题目&#xff1a; 题解&#xff1a; class AllOne {list<pair<unordered_set<string>, int>> lst;unordered_map<string, list<pair<unordered_set<string>, int>>::iterator> nodes;public:AllOne() {}void inc(string key) {if (…

R语言 基础笔记 2

起因&#xff0c; 目的: 偶然看到一个新的教程&#xff0c; 有些知识点&#xff0c;以前没见过&#xff0c;不熟悉&#xff0c; 现在遇到了&#xff0c;记录一下。 基础数据类型 2L&#xff0c; 表示整数 3 ^ 2, 表示求幂 class(a) 查看 类 typeof(a) 查看基本数据类型 s…

C/C++语言基础--C++构造函数、析构函数、深拷贝与浅拷贝等等相关知识讲解

本专栏目的 更新C/C的基础语法&#xff0c;包括C的一些新特性 前言 周末休息了&#xff0c;没有更新&#xff0c;请大家见谅哈&#xff1b;构造函数、析构函数可以说便随着C每一个程序&#xff0c;故学构造函数、析构函数是必要的&#xff1b;C语言后面也会继续更新知识点&am…

Linux 环境(rhel6.4)oracle11.2.0.1升级到11.2.0.4

停止监听 [oraclerhel64 ~]$ lsnrctl stop 关闭数据库 [oraclerhel64 ~]$ sqlplus / as sysdba SYSNKYYDB>shutdown immediate; 上传软件包并解压 [rootrhel64 ~]# mkdir /u01/upgrade [rootrhel64 ~]# chown -R oracle:oinstall /u01/upgrade/ [oraclerhel64 upgrad…

MySQL(学习笔记)(02)(进阶篇)

P1 存储引擎 MySQL的体系结构 存储引擎简介 存储引擎的选择 P2 索引&#xff08;重要&#xff09; 索引概述 索引结构 二叉树 B树&#xff08;多路平衡查找&#xff09; B树 hash 总结 索引分类 思考题 索引语法 SOL性能分析 索引使用 索引设计原则 P3 SQL优化 P4 视图/存储过…

前端vue-3种生命周期,只能在各自的领域使用

上面的表格可以简化为下面的两句话&#xff1a; setup是语法糖&#xff0c;下面的两个import导入是vue3和vue2的区别&#xff0c;现在的vue3直接导入&#xff0c;比之前vue2简单 还可以是导入两个生命周期函数

基于Nginx搭建点播直播服务器

实现直播和点播离不开服务器⽀持&#xff0c;可以使用开源的NGINX服务器搭建直播和点播服务。 当然&#xff0c;NGINX本身是不⽀持视频的&#xff0c;需要为NGINX增加相应的RTMP模块进行支持。 1、下载nginx和rtmp模块 # nginx wget ht tp://nginx.org/download/nginx-1.18.…

一篇讲完HTML核心内容

一、HTML 1、 HTML概念 网页&#xff0c;是网站中的一个页面&#xff0c;通常是网页是构成网站的基本元素&#xff0c;是承载各种网站应用的平台。通俗的说&#xff0c;网站就是由网页组成的。通常我们看到的网页都是以htm或html后缀结尾的文件&#xff0c;俗称 HTML文件。 2、…

公安局党建平台建设方案和必要性-———未来之窗行业应用跨平台架构

一、建设必要性 1. 适应时代发展需求 - 利用信息技术提升党建工作的效率和覆盖面&#xff0c;符合数字化时代的发展趋势。 2. 提高学习教育效果 - 打破时间和空间限制&#xff0c;让党员能够随时随地获取学习资源&#xff0c;进行自主学习。 3. 加强党组织管理 …

黑马智数Day3

渲染基础Table列表 封装接口&#xff1a; export function getCardListAPI(params) {return request({url: /parking/card/list,params}) } 具体实现&#xff1a; import { getCardListAPI } from /apis/cardexport default {data() {return {// 请求参数params: {page: 1,pa…

【计算机网络 - 基础问题】每日 3 题(十九)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏&…

基于Spark框架实现LightGBM模型

基于Spark框架实现LightGBM模型 原生的Spark MLlib并不支持LightGBM算法的实现&#xff0c;但SynapseML提供了一种解决方案&#xff0c;使得我们可以在Spark中调用LightGBM。LightGBM是一种基于梯度提升决策树的高效机器学习框架&#xff0c;它专门用于创建高质量的决策树算法…

计算机毕业设计选题推荐-基于python的养老院数据可视化分析

精彩专栏推荐订阅&#xff1a;在下方主页&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f496;&#x1f525;作者主页&#xff1a;计算机毕设木哥&#x1f525; &#x1f496; 文章目录 一、养老院数据可…

Java后端面试题(微服务相关2)(day13)

目录 Gateway的三大属性Gateway的三大案例组件为什么要用服务网关不同服务之间如何进行通信在微服务中如何监控服务Openfeign如何使用Openfeign自定义拦截器Seata中2PC和3PC的区别项目的几种发布方式和特点MongoDB和mysql区别什么是分布式锁&#xff0c;Redisson有什么用&#…