【大语言模型】ACL2024论文-10 CSCD-IME: 纠正拼音输入法产生的拼写错误

【大语言模型】ACL2024论文-10 CSCD-IME: 纠正拼音输入法产生的拼写错误


目录

文章目录

  • 【大语言模型】ACL2024论文-10 CSCD-IME: 纠正拼音输入法产生的拼写错误
    • 目录
      • 摘要
      • 研究背景
      • 问题与挑战
      • 如何解决
      • 创新点
      • 算法模型
        • 1. 错误检测模型
        • 2. 伪数据生成模块
        • 3. n-gram语言模型过滤
        • 4. 多任务学习(MTL)
        • 5. 对抗训练
      • 实验效果(包含重要数据与结论)
      • 后续优化方向
    • 后记


在这里插入图片描述

CSCD-IME: 纠正拼音输入法产生的拼写错误

摘要

本文研究了中文拼写校正(CSC)任务,特别是针对拼音输入法(IME)产生的错误。作者首先介绍了一个包含40,000个标注句子的中文拼写校正数据集(CSCD-IME),这些句子来自新浪微博上的官方媒体帖子。接着,提出了一种通过模拟拼音输入法输入过程自动构建大规模、高质量的伪数据的新方法。通过一系列分析和实验,展示了拼音IME产生的拼写错误在拼音层面和语义层面具有特定的分布,并且足够具有挑战性。同时,提出的伪数据构建方法能够更好地适应这种错误分布,并提高CSC系统的性能。最后,文章还提供了使用伪数据的有用指南,包括数据规模、数据来源和训练策略。

研究背景

中文拼写校正(CSC)任务旨在检测和纠正中文文本中的拼写错误。由于大多数中文输入依赖于拼音输入法,因此研究拼音输入法过程中的拼写错误更具实际价值。然而,目前还没有专门针对这一场景的研究。现有的研究通常使用SIGHAN数据集作为基线,但这些数据集无法准确评估CSC系统的真实性能,因为它们的错误来源与拼音IME产生的错误有很大差异。
在这里插入图片描述
在这里插入图片描述

问题与挑战

  1. 缺乏专业基准数据集:缺乏针对拼音IME错误生成的专业基准数据集。
  2. 错误分布差异:现有数据集的错误分布与拼音IME产生的错误分布不一致。
  3. 数据集规模小:现有数据集规模较小,可能导致评估结果不可靠。
  4. 拼写错误的特性:拼音IME产生的拼写错误在拼音层面和语义层面具有特定的分布,这对CSC系统来说是一个挑战。

如何解决

  1. 构建新的数据集CSCD-IME:包含40,000个标注句子,是迄今为止最大的CSC任务数据集。
  2. 设计拼音和语义层面的标注系统:深入分析拼写错误分布。
  3. 提出新的伪数据构建方法:通过模拟拼音IME输入过程并添加采样噪声来生成伪数据。
  4. 使用n-gram语言模型进行二次过滤:确保生成的伪数据质量。

创新点

  1. CSCD-IME数据集:提供了一个大规模、高质量的CSC任务数据集,填补了领域空白。
  2. 拼音IME模拟的伪数据构建方法:提出了一种新颖的方法,能够生成符合实际输入场景的高质量伪数据。
  3. 深入的错误分布分析:在拼音层面和语义层面对错误分布进行了深入分析,为CSC系统的改进提供了指导。

算法模型

  1. 错误检测模型:用于检测句子中的错误字符,基于预训练的编码器和词嵌入。
  2. 伪数据生成模块:模拟拼音IME输入过程,添加噪声生成伪数据。
  3. n-gram语言模型过滤:对生成的伪数据进行过滤,确保错误的真实性。
1. 错误检测模型

错误检测模型是用于识别句子中的拼写错误。该模型的输出是一个概率序列,表示每个字符是错误字符的概率。具体来说,模型的输出 y d y_d yd 是一个概率序列,其中 y d i ∈ ( 0 , 1 ) y_{di} \in (0, 1) ydi(0,1) 表示字符 x w i x_{wi} xwi 是错误的概率。模型的公式化如下:
y d = sigmoid ( W T ( E ( e ) ) ) y_d = \text{sigmoid}(W^T(E(e))) yd=sigmoid(WT(E(e)))
其中 e = ( e w 1 , e w 2 , . . . , e w N ) e = (e_{w1}, e_{w2}, ..., e_{wN}) e=(ew1,ew2,...,ewN) 是词嵌入, E ( ∗ ) E(*) E() 是预训练的编码器。这个模型基于SIGHAN13-15的训练数据和Wang的伪数据进行训练,并在SIGHAN13-15的测试数据上保存最佳检查点。

2. 伪数据生成模块

伪数据生成模块通过模拟拼音输入法的输入过程并添加噪声来构建伪数据。这个过程包括以下几个步骤:

  • 采样拼音噪声 ν p i n y i n \nu_{pinyin} νpinyin、标记粒度噪声 ν t o k e n \nu_{token} νtoken 和错误数量噪声 ν n u m \nu_{num} νnum
  • 根据 ν n u m \nu_{num} νnum 确定要生成的错误数量。
  • 对于每个错误,基于 ν t o k e n \nu_{token} νtoken 从正确的句子中随机选择一个词或字符。
  • 输入所选标记的正确文本,并根据 ν p i n y i n \nu_{pinyin} νpinyin 输入所选标记的正确或错误的拼音。
  • 如果拼音输入法推荐的首个标记是正确的,随机选择第二或第三个标记作为噪声;否则,直接选择第一个标记作为噪声。
  • 用噪声标记替换原始句子中的正确标记。

这个过程生成的伪数据能够模拟真实世界中通过拼音输入法产生的错误,从而用于训练和改进拼写校正系统。

3. n-gram语言模型过滤

为了确保生成的伪数据质量,使用n-gram语言模型进行二次过滤。具体来说,计算生成句子和原始句子的困惑度(PPL)值,并且只有当添加噪声后PPL值相对于原始句子有所改善时,才认为生成的噪声确实是错误。公式化如下:
P P L ( noise ) − P P L ( origin ) P P L ( origin ) > δ \frac{PPL(\text{noise}) - PPL(\text{origin})}{PPL(\text{origin})} > \delta PPL(origin)PPL(noise)PPL(origin)>δ
其中 δ \delta δ 是根据选定的语言模型调整的阈值。这一步骤确保了伪数据集的高质量。

4. 多任务学习(MTL)

文章中提到了多任务学习(MTL)的概念,这是一种训练模型以同时执行多个相关任务的方法。MTL的关键优势在于能够共享不同任务之间的通用特征,同时学习特定于任务的特征。这种方法可以提高模型的泛化能力,并在新任务上有更好的表现。MTL的一些关键技术包括软参数共享、块稀疏正则化和深度关系网络等。

5. 对抗训练

对抗训练是一种提高模型鲁棒性的方法,通过在训练过程中引入对抗性扰动来增强模型对输入扰动的抵抗力。文章中提到了对抗训练可能损害模型的泛化能力,但也提出了一些方法来平衡鲁棒性和泛化性,例如通过鲁棒关键微调(RiFT)来提升对抗训练模型的泛化性。

这些算法模型和方法共同构成了文章中提出的拼写校正框架,旨在提高对拼音输入法产生错误的检测和校正能力,并生成高质量的伪数据以支持模型训练和评估。

实验效果(包含重要数据与结论)

  1. 基准性能:在不使用任何伪数据的情况下,字符级别的整体校正F1分数接近67%;引入200万伪数据后,性能显著提升,但最佳性能仅略高于76%。
  2. 错误类型分析:所有模型在处理词级错误时的表现不如字符级错误,最大差距可达5%。
  3. 伪数据方法比较:提出的拼音IME基础的伪数据构建方法比其他现有方法更有效。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

后续优化方向

  1. 模型改进:需要进一步改进模型以更好地理解和处理上下文和实体,特别是对于词级错误。
  2. 数据集扩展:继续扩展和丰富CSCD-IME数据集,以覆盖更广泛的错误类型和场景。
  3. 训练策略优化:探索更有效的训练策略,如多任务学习或对抗训练,以提高模型的鲁棒性和泛化能力。
  4. 跨领域适应性:研究模型在不同领域和风格文本上的适应性,提高模型的实用性。

后记

如果您对我的博客内容感兴趣,欢迎三连击 (***点赞、收藏和关注 ***)和留下您的评论,我将持续为您带来计算机人工智能前沿技术(尤其是AI相关的大语言模型,深度学习和计算机视觉相关方向)最新学术论文及工程实践方面的内容分享,助力您更快更准更系统地了解 AI前沿技术

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/15581.html

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

相关文章

前端(2)——快速入门CSS

参考: 罗大富 CSS 参考手册 | 菜鸟教程 CSS 参考手册 1. CSS CSS全名是层叠样式表,中文名层叠样式表。用于定义网页样式和布局的样式表语言。 通过 CSS,你可以指定页面中各个元素的颜色、字体、大小、间距、边框、背景等样式,…

电阻测试流程

1.外观检查 (1)样品上丝印与规格书中相符,0402以上封装电阻要有标称电阻值,丝印清晰。 (2)检验外观,主要包含以下几点: a) 电阻器本体饱满,有光泽,不允许有气…

万博智云产品完成与ZStack Cloud云平台兼容性互认证

摘要 近日,上海云轴科技股份有限公司(简称“云轴科技ZStack”)与万博智云信息科技(上海)有限公司(简称“万博智云OnePro Cloud”)完成产品兼容性互认证。经过测试,万博智云OnePro Cloud两款旗舰产品HyperB…

深度学习框架Pytorch介绍和示例

目录 一. 简介 1.1动态计算图 1.2自动化功能 二. 主要特性 2.1 动态计算图 2.2 自动求导 2.3 强大的社区支持 2.4 多平台支持 三. 核心组件 3.1 Tensor 3.2 Autograd 3.3 nn.Module 3.4 Optim 四. 数据处理 五. 神经网络定义与训练 5.1定义神经网络: 5.2训练过…

鼠标点击(二)与接口函数集合的的实现

(1) (2) (3)

基于Spring Boot+Vue的多媒体素材管理系统的设计与实现

一.系统开发工具与环境搭建 1.系统设计开发工具 后端使用Java编程语言的Spring boot框架 项目架构:B/S架构 运行环境:win10/win11、jdk17 前端: 技术:框架Vue.js;UI库:ElementUI; 开发工具&…

《FreeRTOS列表和列表项篇》

FreeRTOS列表和列表项 1. 什么是列表和列表项?1.1 列表list1.2 列表项list item 2. 列表和列表项的初始化2.1 列表的初始化2.2 列表项的初始化 3. 列表项的插入4. 列表项末尾插入5. 列表项的删除6. 列表的遍历 列表和列表项是FreeRTOS的一个数据结构,是F…

使用 MTT GPU 搭建个人 RAG 推理服务

什么是 LLM RAG?​ LLM RAG(Retrieval-Augmented Generation with Large Language Models)是一种结合大语言模型(LLM)和信息检索(IR)技术的生成方法,专门用于增强语言模型的上下文感知和准确性…

Vue3 -- 环境变量的配置【项目集成3】

环境: 在项目开发过程中,至少会经历开发环境、测试环境和生产环境(即正式环境)三个阶段。 开发环境 .env.development测试环境 .env.test生产环境 .env.production 不同阶段请求的状态(如接口地址等)不一样,开发项目的时候要经常配置代理跨…

AI 大模型应用:AI开发的捷径工作流模式

一、引言 大部分人使用 AI,大概都跟我一样,停留在初级阶段。 平时,就是向 AI 提问(又称聊天),偶尔也用一些现成的服务:生成图片、生成代码、翻译文章等等。 但是,时间久了&#x…

研究生被安排许多文献阅读,如何快速的阅读众多英文文献?

在科研的道路上,筛选文献就像是大海捞针,找对了方法,就能快速锁定那些有价值的信息。尤其是在实验方向尚未确定时,如何从海量文献中筛选出“金子”,就显得尤为重要。 关键的第一步:精准筛选 当你面对一堆…

信创迎来冲刺三年,国产项目管理软件跑出数智化“加速度”

信创发展是国家当前重要的战略布局,对国家发展具有长远的战略意义。国资委信创79号文件规定,2027年前按顺序完成“28N”的党政与八大重点行业100%信创替代,通过信创产业发展,国家能够提高自主创新能力,加速推进国产化转…

LSTM(长短期记忆网络)详解

1️⃣ LSTM介绍 标准的RNN存在梯度消失和梯度爆炸问题,无法捕捉长期依赖关系。那么如何理解这个长期依赖关系呢? 例如,有一个语言模型基于先前的词来预测下一个词,我们有一句话 “the clouds are in the sky”,基于&…

基于Java仓库管理系统

一、作品包含 源码数据库全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、LayUI 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA 数据库:MySQL8.0 数据库管…

数量关系2_余数平方等差、整除和完工

目录 一、余数、平方数与等差数列1.等差数列2.平方数3.余数问题二、整除问题和合作完工问题1.利用倍数特性解决不定方程2.利用整除特性解决纯整除问题3.合作完工一、余数、平方数与等差数列 1.等差数列 ※等比数列不常考,或者考的时候比较复杂,可放弃。 补充1:常用的等差数…

cache中命中率和缺失率

这张图解释了缓存的三个关键指标:命中率、缺失率和缺失损失,并分析了它们在缓存访问中的重要性。 具体说明 命中(Hit): 命中表示要访问的信息在缓存中已经存在,不需要从更慢的主存中读取。命中率&#xff…

Jmeter查看结果树之查看响应的13种详解方法

软件测试资料领取:[内部资源] 想拿年薪40W的软件测试人员,这份资料必须领取~ 软件测试面试刷题工具:软件测试面试刷题【800道面试题答案免费刷】 Jmeter查看结果树查看响应有哪几种方法,可通过左侧面板底部的下拉框选择: 01 Te…

<Project-23 Navigator Portal> Python flask web 网站导航应用 可编辑界面:添加图片、URL、描述、位置移动

目的: 浏览器的地址簿太厚,如下图: 开始,想给每个 Web 应用加 icon 来提高辨识度,发现很麻烦:create image, resize, 还要挑来挑去,重复性地添加代码。再看着这些密密麻麻的含有重复与有规则的…

文心一言 VS 讯飞星火 VS chatgpt (391)-- 算法导论25.1 5题

五、说明如何将单源最短路径问题表示为矩阵和向量的乘积,并解释该乘积的计算过程如何对应 Bellman-Ford 算法?(请参阅24.1节。)。如果要写代码,请用go语言。 文心一言: 在解决单源最短路径问题时,我们可以将问题表示…

如何使用cx_Freeze打包编译python文件

1. 安装 cx_Freeze 首先,确保你已经安装了 cx_Freeze。你可以通过 pip 安装它: pip install cx_Freeze2.创建setup.py from cx_Freeze import setup, Executable import os# 确定包的文件和依赖 build_exe_options {"packages": ["os…