
本文由清华大学、标贝科技有限公司、香港中文大学合作,提出了一种将规则、词典和神经网络融合于一体的端到端中文文本正则化模型。该模型结合了规则和词典的可扩展性、神经网络的上下文建模及高效利用大数据的能力,通过规则和词典等在神经网络模型推理的过程中引入专家知识,提升非标准词类别判断的准确性;且可以方便地增、删、更新规则和词典,无需对神经网络模型进行重新训练,增强了方法的灵活性和可扩展性。本文还发布了第一个用于中文文本正则化任务的可公开访问的大规模数据集。
阅读论文:
https://arxiv.org/abs/2203.16954
代码及开源数据集下载:
https://github.com/thuhcsi/FlatTN
对语音合成而言,输入的文本通常会含有一些以书写形式(written form)表示的不确定读音的字符(称之为非标准词, Non-Standard Word, NSW)。在合成语音前,需要将这些非标准词转换成具有确定读音的发音形式(spoken form)的词汇(称之为标准词)。该过程即为文本正则化,是保证合成语音可懂度、自然度的关键。
目前主要的文本正则化方法可分为三类。(1)基于规则方法:使用关键词和正则表达式进行类别预测。不过关键词的选择和正则表达式规则的构建是非常耗时和费力的,该类方法不具备可拓展性并且效果较差。(2)基于神经网络的方法:将序列到序列的模型直接应用于非标准词到标准词的转换中。然而模型或数据偏差会对模型预测结果产生不可解释的错误。(3)级联的方法:最近提出的混合系统将基于规则的方法和神经网络模型视为两个级联子模块,然而其有限的交互能力使得神经网络模型不能充分利用规则中包含的专家知识。当前还没有一种比较灵活高效的方法将规则、词典和神经网络融合起来。本文试图解决该问题。
本文提出了一种将规则、词典和神经网络融合于一体的端到端的中文文本正则化模型,提高了中文文本正则化任务的可控性和可扩展性。该模型基于Flat-Lattice Transformer (FLAT)框架来解决中文文本正则化任务,并通过一种新颖的规则引导方式,将预定义在规则和词典中的专家知识整合到FLAT神经网络模型中。该模型还是一个端到端的结构,它直接从原始的字符序列中预测非标准词的类别。本文还发布了第一个开源的大规模中文文本正则化数据集,制定了一套完备的非标准词分类标准,可以消除转换成标准词时的歧义。
本文提出了一种基于FLAT框架的完全端到端中文文本正则化模型FlatTN。该模型接受以字符序列为表征的句子作为直接输入,得到句子中非标准词的类别。如下图所示,该模型由4个部分组成:(i)词典和规则库匹配模块;(ii)BERT层和池化层,生成字符、词语和非标准词的嵌入表征;(iii)Transformer编码器,基于生成的嵌入表征和相对位置编码得到上下文表征;(iv)线性层和条件随机场(CRF)层,基于上下文表征预测非标准词的类别标签。

本文FlatTN模型的整体架构
对于输入的字符序列形式的句子,首先通过词典(Lexicon)和规则库(Rules)匹配所有潜在的中文词语和非标准词。规则库是一个针对非标准词的类别匹配的正则表达式集合,词典是中文词语的一个集合。输入字符序列,从前往后扫描句子,基于贪心算法,通过规则库匹配所有可能的非标准词并返回它们的起止位置,同时通过中文词典匹配所有可能的中文词语并返回它们的起止位置。以此得到包含字符、非标准词、中文词语的标识(Token)序列。
进而通过预训练的BERT模型嵌入表示层(BERT Embedding Layer)将上述Token序列转换为相应的嵌入表征。对于每个字符,直接通过该字符级别的BERT模型得到相应的字符嵌入表征(Character Embedding)。对于中文词语和非标准词,通过一个池化层(Pooling)来将字符级别的表征汇聚为相应的词嵌入表征(Word Embedding)和非标准词嵌入表征(NSW Embedding)。
为了使用上下文信息来对非标准词进行类别消岐,需要模型拥有上下文建模的能力,以得到句子级别的上下文特征表征。本文使用Transformer编码器来达到该目的。该Transformer编码器接收Token序列的嵌入表征和相对位置编码(Relative Positon Encoding)作为输入。输入序列的嵌入由之前提到的嵌入表示层提供,将字符、中文词语和非标准词的嵌入表示与相对位置编码拼接后输入到神经网络中。相对位置(Relative Position)的计算方法如下图所示。

相对位置的计算
经过上述处理,可以得到每个字符所对应的包含丰富句子级别语义信息的上下文特征表征。文本正则化的目的是要获得每个输入字符所对应的非标准词类别标签。为此,本文利用线性层和CRF层(Linear & CRF)作为解码器,基于输入序列每个字符的上下文表征,预测相应的非标准词的类别标签。
开源数据集
本文发布了目前第一个开源的大规模中文文本正则化数据集。数据集中的原始文本数据是从中文维基百科中提取出来的,总共有3万个句子,平均长度为50个字符。相应地,本文还提出了一个精心设计的中文非标准词分类方法,共29个类别,如下表所示。每个类别都对应于唯一的非标准词到标准词的转换函数。例如,非标准词“2021”,属于“DIGIT”类别,通过对应的函数将其转换为“二零二一”。特别地,不需要转换的普通字符被标记为“O”类别,在转换时保持不变。另外,标点符号被标记为“PUNC”类别。对于开源的中文文本正则化数据集,其不同非标准词类别所对应的数据量分布如下图所示。

开源数据集非标准词类别数据量分布

非标准词类别定义
实验验证
实验设置
本文将中文句子分割成单个字符,并用“BMESO”格式标记它们的类别,然后将数据集以8:1:1的比例随机分成训练集、验证集、测试集。为了将本文所提模型与基于规则的模型和基于神经网络的主流模型进行比较,本文构建了三个基线模型:
1) Rule-based:该基于规则的系统是由公司开发的商业系统,其首先使用正则表达式匹配非标准词的候选项,然后使用预定义的规则来消除每个非标准词的类别的歧义。
2) BERT-MLP:由BERT获得字符嵌入,通过MLP得到上下文特征表征,最后由CRF预测非标准词类别。
3) BERT-LSTM:由BERT获得字符嵌入,通过LSTM得到上下文特征表征,最后由CRF预测非标准词类别。
实验结果
实验结果如下表所示,结果表明,本文所提的FlatTN模型在分类精度和F1分数上均达到最佳效果。BERT-LSTM由于其序列建模能力,其性能优于其他基线模型。基于规则的模型与其他模型之间存在明显的差距,说明了预训练的语言模型和神经网络在提升文本正则化性能方面的重要意义。

为了探究不同类别的分类性能,进一步对本文所提模型在不同类别上的精度、召回率和F1分数进行了分析。10个典型类别的分析结果如下表所示,频繁出现在句子中的非标准词的分类精度高于低频出现的非标准词。

具体各个类别上的本文所提模型的性能分析
消融实验
为了验证本文所提模型中引入词典、规则信息的作用,进一步进行了消融实验。通过从FlatTN模型的输入中去除词典或规则匹配、或两者都去除。结果如下表所示,可以看出无论是词典信息的引入、还是规则信息的引入,都能有效提升非标准词类别预测的准确性和F1分数。

除去规则和词典的消融实验
结论
本文提出了一种基于规则、词典和神经网络融合的端到端中文文本正则化模型。该模型结合了规则和词典的可拓展性和灵活性,以及Transformer编码器建模上下文和有效利用数据的能力。本文还发布了第一个开源的大规模中文文本正则化数据集。本文所提模型在测试集上的非标准词分类上达到了99.1%的准确率,与单独使用规则或神经网络的方法相比,取得了更好的性能,消融实验证明了规则和词典在模型中的重要性。
数据集和代码下载:
