查看原文
其他

浅谈银行业务场景下的文本纠错应用

中国光大银行 中国光大银行科技创新实验室 2024-01-09


引言

在银行业务中,随着数字化转型逐步落实,文字识别(optical character recognition,OCR)与自动语音识别(Automatic Speech Recognition,ASR)等技术逐渐深入到各个业务场景中。其中,应用OCR的场景如票据识别、合同比对、报表提取,应用ASR的场景如语音对话等。然而,无论是OCR还是ASR识别都会产生误差,而这种误差会带来很多不便,如在财务报表识别场景中,某项科目匹配错误会导致账务试算不平,进而增加重新比对的时间成本。文本纠错作为OCR与ASR技术的一个后处理方法,辅助校验文本识别结果,提升识别准确率,在工业界得到了广泛的应用。



问题分析

具体地,OCR和ASR两种场景下文本识别错误略有不同:在OCR场景中,文本识别错误往往是因为图片部分区域被遮挡,如水印、光斑、背景等,由于上述干扰的存在,模型容易将文字识别成其形近字,如将“周末”识别成“周未”,将“已经”识别成“己经”等。


在ASR场景中,由于本身有同音字的存在以及个人口音和语言习惯等问题,容易发生同音、近音字错误,如将“福建”识别成“胡建”,将“跳舞”识别成“跳无”,将“高粱”识别成“高梁”等等。在客服语音对话服务中,同音词需要根据业务场景做识别判定,例如用户说我想了解下你们推出的“yangguangcheng”理财产品,而此时确实有产品名叫“阳光橙”则应该将上述拼音识别成“阳光橙”,而不是“阳光城”或其他。



技术架构设计

文本纠错有两种解决方案:基于统计语言模型的纠错方法和基于深度学习的纠错方法。文本纠错问题一般分为1)错误检测2)候选召回3)排序模型 3个步骤,其系统框架如下图所示:

图1 文本纠错问题系统框架


其中,基于统计语言模型的文本纠错方法首先结合先验知识,根据语法与句法分析与大量语料集统计结果,使用N-gram将句子拆分成子句,计算子句的困惑度(perplexity,ppl),判断出错位置;然后通过同音与同形字混淆词典与行业词典知识库进行候选召回,组合可能的候选匹配集;最后通过计算句子似然概率输出纠错结果。基于统计语言模型的文本纠错方法由于响应时间短,在给定任务场景下也取得了比较好的纠错效果,因此在工业界得到了广泛的应用。但是由于其过多的依赖共现概率,没有充分考虑上下文的语义关系,导致最后输出结果可能产生逻辑不通的问题。


与基于统计语言模型的文本纠错方法不同,基于深度学习的文本纠错方法可以不依赖混淆词典,而是通过模型作为候选词生成器,同时结合检测网路实现文本纠错。目前常用掩码语言模型(Mask language model,MLM)进行纠错。MLM训练的原理为在输入时将部分字进行掩蔽,让模型利用上下文语义信息预测被掩蔽字,进而具备学习预测被掩蔽字的能力。其用在文本纠错中的思路为,先通过检测网路找出错误字,将其进行掩蔽(Masking)后输入MLM预训练模型预测正确结果。如下图所示。

图2 结合检测网络与MLM模型的文本纠错系统架构


在训练时,可将检测任务和纠错任务一起训练,并通过超参数来平衡两个任务的损失。基于这种模型架构并对Masking方式进行改进的模型有Soft-Mask BERT和MacBERT。

图3 Soft-Mask BERT文本纠错模型框架


如图3所示,Soft-Mask BERT包含一个检测网络和一个基于BERT的修正网络。修正网络与单纯使用BERT的方法相似。检测网络是Bi-GRU网络,可以预测字符在每个位置出现错误的概率。然后利用该概率进行在该位置嵌入字符的Soft-Mask。Soft-Mask是传统Masking的延伸,当误差概率等于1时,前者退化为后者。每个位置的Soft-Mask嵌入信息输入到修正网络中,由修正网络使用BERT进行误差修正。该方法可以在端到端联合训练过程中,在检测网络的帮助下,强制模型学习正确的上下文进行错误纠正。


具体地,Soft-Mask BERT首先为输入语句中的每个字符创建嵌入。接下来,它使用检测网络以嵌入序列作为输入和输出字符序列的错误概率。然后计算输入嵌入和[MASK]嵌入的加权和,并根据误差概率进行加权。计算得到的嵌入以软的方式掩盖了序列中可能出现的错误。然后将该嵌入序列输入到修正网络。修正网络是一个BERT模型,它的最后一层由一个针对所有字符的softmax函数组成。在输入嵌入项和最终层的嵌入项之间还有剩余的连接。Soft-Mask BERT可以在端到端联合训练过程中学习正确的上下文,进而纠正错误。


MacBERT的主框架与BERT完全一致,区别于BERT,MacBERT改进了其Masking策略。

图4 不同Masking策略对比


图4对比了几种不同的Masking方式。可以看出,BERT使用的OriginalMasking随机从句子中找到Masking词进行字符[M]掩盖,WWM使用整词进行掩盖,N-gram Masking与WWM类似,使用词或短语的方法进行掩盖。MacBERT使用的MacMasking方法与N-gram Masking类似,不同的是它使用同义词代替[M]字符进行掩盖。这种方式的原因为,MacBERT的目标是利用BERT模型进行微调(finetune)任务,而[M]字符只在预训练(pretrain)阶段使用,使用同义词替换的方式有效解决了使用BERT训练上下游不一致的问题。

表1 各个模型在SIGHAN2015测试集上的表现


从表1可以看出,深度学习模型在文本纠错上面的准确率、召回率于F1值均优于统计语言模型。但是在实际业务中,我们仍然要从TPS,语料数量、业务复杂程度等综合考虑选型。



总结与展望

本文结合银行业实际业务场景,阐述了在OCR与ASR下文本纠错算法应用。在实际工作中,为了满足业务需求。我们还可以考虑引入多模态特征,如将语音和图片等特征加入到纠错模型中共同训练,让模型获取更多的信息进行分析迭代。未来随着纠错算法不断的深入与下沉,相信各个领域产品的服务质量都会有很大提升。


参考:

ZHANG S,HUANG H,LIU J,et al.Spelling error correction with soft-masked bert[J].arXiv: 2005.07421,2020.


作者 | 石    聪

视觉 | 王朋玉

统筹 | 郑    洁

继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存