文章目录

本篇论文所需基础

  1. 深度学习基础知识(卷积神经网络、循环神经网络)
  2. LSTM、GRU、Transformer、BERT、ResNet、Hugging Face

论文内容

使用多模态,包括文本信息、听觉信息(拼音)、和图像信息(字形状),来完成中文拼写矫正(Chinese Spell Checking,CSC)

​论文地址​​:https://arxiv.org/abs/2105.12306

​论文源码地址​​:https://github.com/DaDaMrX/ReaLiSe

摘要(Abstract)

Chinese Spell Checking(CSC)任务描述:找出中文文本中的错字并进行修正。

常见错误类型:

  • 语义相似(semantically)例,深度学习真的是探案了。常见于打错字,将tainan打成了tanan。
  • 语音相似(phonetically):例, 给我拿一平红酒。 常见于拼音打字
  • 形状相似(graphically):例,师傅你是做什么王作的。常见于五笔打字

数据集(作为Benchmark):SIGHAN

1. 介绍(Introduction)(略)

2. 相关工作

​NTOU Chinese Spelling Check System in Sighan-8 Bake-off​​ :为不同的错误设计不同的规则

​Word Vector/Conditional Random Field-based Chinese Spelling Error Detection for SIGHAN-2015 Evaluation​​ :条件随机场和隐马尔可夫模型(Conditional Random Field and Hidden Markov Model)

​A Hybrid Approach to Automatic Corpus Generation for Chinese Spelling Check​​ : 双向LSTM(bidirectional LSTM)

​FASPell: A Fast, Adaptable, Simple, Powerful Chinese Spell Checker Based On DAE-Decoder Paradigm​​ : 基于BERT

​Spelling Error Correction with Soft-Masked BERT​​ : 使用GRU检测出错位置,BERT来预测正确的词

​Chinese Spelling Error Detection and Correction Based on Language Model, Pronunciation, and Shape​​ :

​Confusionset-guided Pointer Networks for Chinese Spelling Check​​ :

​SpellGCN: Incorporating Phonological and Visual Similarities into Language Models for Chinese Spelling Check​​ : 图卷积网络(Graph Convolution Network, GCNs)

​Building a Confused Character Set for Chinese Spell Checking​

3. 模型部分(The REALISE Model)

【论文阅读】Read, Listen, and See: Leveraging Multimodal Information Helps Chinese Spell Checking_人工智能

模型包含如下模块:

  • Semantic Encoder: 负责对文本语义信息进行编码
  • Phonetic Encoder:负责对文本的语音信息(拼音)进行编码
  • Graphic Encoder:负责对文本的图像信息(单字图片)进行编码
  • Selective Modality Fusion Module:负责将上述的三种特征进行融合
  • Output Layer: 预测层,输出修改后的结果。

3.1 语义编码器(The Semantic Encoder)

就是个BERT。作者使用的是 ​​hfl/chinese-roberta-wwm-ext​

3.2 语音编码器(The Phonetic Encoder)

【论文阅读】Read, Listen, and See: Leveraging Multimodal Information Helps Chinese Spell Checking_编码器_02


Phonetic Encoder分两部分,前面的圆点是一个单向GRU,称为Character-level Encoder,后面的4层Transformer称为Sentence-level Encoder

Character-level Encoder:作者将每个字都转换成拼音序列,例如将“轻”字转换成 {q, i, n, g, 1},其中1指的是发音为一声。之后将编码后的序列送进GRU,输出对该“字”的编码。该模型会对一个句子的每个字都做这个事情,然后会将所有的字编码送进后面的Sentence-level Encoder

Sentence-level Encoder:前面的GRU对每个字都进行编码后,使用4层Transformer提取句子的特征表示。

3.3 图像编码器(The Graphic Encoder)

【论文阅读】Read, Listen, and See: Leveraging Multimodal Information Helps Chinese Spell Checking_sed_03


Graphic Encoder将字一个个的送进卷积神经网络,然后提取该字的特征。

卷积神经网络使用的是ResNet5,最终的输出height和width都为1,通道数与Semantic Encoder输出的字编码大小一样,便于后面融合。

字体图片使用的是黑体和小篆,大小为32x32

3.4 特征融合模块(Selective Modality Fusion Module)

【论文阅读】Read, Listen, and See: Leveraging Multimodal Information Helps Chinese Spell Checking_自然语言处理_04


在最后的特征融合层,作者并不是使用简单的相加,而是定义了三个线性层来对三种模态特征进行进一步过滤,类似LSTM的遗忘门,使用公式表示为:

【论文阅读】Read, Listen, and See: Leveraging Multimodal Information Helps Chinese Spell Checking_深度学习_05

其中 【论文阅读】Read, Listen, and See: Leveraging Multimodal Information Helps Chinese Spell Checking_编码器_06 是Semantic Encoder的第 【论文阅读】Read, Listen, and See: Leveraging Multimodal Information Helps Chinese Spell Checking_人工智能_07 个输出。【论文阅读】Read, Listen, and See: Leveraging Multimodal Information Helps Chinese Spell Checking_人工智能_08

使用上述方式得到 【论文阅读】Read, Listen, and See: Leveraging Multimodal Information Helps Chinese Spell Checking_编码器_09, 【论文阅读】Read, Listen, and See: Leveraging Multimodal Information Helps Chinese Spell Checking_编码器_10, 【论文阅读】Read, Listen, and See: Leveraging Multimodal Information Helps Chinese Spell Checking_编码器_11

【论文阅读】Read, Listen, and See: Leveraging Multimodal Information Helps Chinese Spell Checking_深度学习_12

最终将 【论文阅读】Read, Listen, and See: Leveraging Multimodal Information Helps Chinese Spell Checking_人工智能_13

3.5 预训练编码器(Acoustic and Visual Pretraining)

Sematic Encoder的预训练:之间使用别人预训练好的BERT(​​hfl/chinese-roberta-wwm-ext​​)

Phonetic Encoder的预训练:将拼音转换为汉字,即输入为拼音序列,输出为汉字序列。

Graphic Encoder的预训练:将文字图片转换为汉字,即输入文字图片,预测这个图片是什么字。

4. 实验(Experiments)

4.1 数据集(Data and Metrics)

训练数据集:SIGHAN training data 和 自己造的假数据。

测试数据集:SIGHAN test sets.

数据集地址:

SIGHAN Bake-off 2013: http://ir.itc.ntnu.edu.tw/lre/sighan7csc.html
SIGHAN Bake-off 2014: http://ir.itc.ntnu.edu.tw/lre/clp14csc.html
SIGHAN Bake-off 2015: http://ir.itc.ntnu.edu.tw/lre/sighan8csc.html
Wang271K(自己造的假数据): https://github.com/wdimmy/Automatic-Corpus-Generation

数据集描述如下表:

【论文阅读】Read, Listen, and See: Leveraging Multimodal Information Helps Chinese Spell Checking_深度学习_14

  • #Sent: Sentence数量
  • Avg.Lenght: 句子的平均长度
  • #Errors:错字的数量

4.2 实现细节(Implementation Details)

Optimizer: AdamW

epochs: 10

learning rate: 5e-5

batch size: 32

learning shcedule: warm up and linear decay

4.3 Baselines(略)

4.4 实验结果(Main Result)

【论文阅读】Read, Listen, and See: Leveraging Multimodal Information Helps Chinese Spell Checking_sed_15

  • Acc:Accuracy,准确率
  • Pre:Precision,精准率
  • Rec:Recall,召回率
  • F1:F1 Score

4.5 消融实验(Ablation Study)

去掉部分Encoder后,performance下降了

5. 结论(略)