资讯专栏INFORMATION COLUMN

标点符号预测(Punctuation Prediction/Restoration)相关调研

leone / 3619人阅读

摘要:将分类问题看作是序列中的一个单词后面是否跟着一个标点符号。然而,书面语言数据与口语数据之间存在显著差异。方法无监督的预训练大大减少了该任务要达到卓越性能所需的数量。

目录

1.工作意义

2.工作难点

3.常见方法分类 

4.论文分享

(1) Punctuation prediction for unsegmented transcript based on word vector​

(2) LSTM for Punctuation Restoration in Speech Transcripts

(3) Bidirectional Recurrent Neural Network with Attention Mechanism for PR

(4) Deep Recurrent Neural Networks with Layer-wise Multi-head Attentions for Punctuation Restoration

(5) Self-Attention Based Network for Punctuation Restoration

5.进一步探索

 Transformer-based pre-trained language models

(6) Efficient Automatic Punctuation Restoration Using Bidirectional Transformers with Robust Inference

(7) Discriminative Self-training for Punctuation Prediction 

何为ELECTRA?

(8) ELECTRA-pre-training text encoders as discriminators rather than generators

6.友情帮助


1.工作意义

  • 大多数自动语音识别(ASR)系统输出一个不间断的单词序列,PR可以提高ASR转录本的可读性
  • 提高下游自然语言处理应用程序的性能,like machine translation, summarization, question answering, sentiment analysis, syntactic parsing and information extraction.

2.工作难点

  • 通常需要大量的标记的语音转录本(labeled speech transcripts),人工注释口语数据是昂贵而费力的
  • 基于纯词汇特征的模型不如基于混合特征的模型模型那么强大。然而,基于混合特征的模型的训练数据很少,也难以获得,因为它必须是标准化的ASR转录本

3.常见方法分类 

4.论文分享

目前(大概2015-2021)很多文章提出不同的标点预测方法,我大体按照性能从低到高的顺序进行讲述



(1) Punctuation prediction for unsegmented transcript based on word vector

 简介

  •  首先将文本转换成一个长单词序列。将分类问题看作是序列中的一个单词后面是否跟着一个标点符号。
  • 四类: O (means no punctuation mark followed), COMMA, PERIOD and QUESTION.
  • 尝试了三种模型:DNN,CNN-A,CNN-2A

 模型输入

  • 单词嵌入层可以通过随机初始化从头开始学习,也可以在训练整个网络的过程中从预先训练的词向量进行微调(GloVe-50d)。本文用的后者。输入大小m*n(m=5个词,每个词n=50维)
  • 预测每个标点时考虑前面三个单词,后面两个单词,范围小,所以对问号预测无能为力。

 DNN模型

  • 三层全连接,隐藏层sigmoid,输出层softmax.
  • 防止过拟合有权重衰减

 CNN-A模型

  • m×n特征矩阵作为m个完整的字向量。每个滤波器大小h*n,相当于垂直向下做卷积。

CNN-2A模型

  • m×n特征矩阵不再作为m个完整的字向量。单词向量中的数字可以作为独立的特征。效果更好一些 

 结果

  • 他们的方法较擅长预测标点位置,但进行符号类型区分时性能一般
  • 句号恢复好于逗号,因为暂停的语法歧义通常高于句号,特别是在像TED谈话的文字记录这样不那么正式的文本中



(2) LSTM for Punctuation Restoration in Speech Transcripts

 简介

  • RNN-based LSTM,分为两阶段训练,先在大型文本语料库上学习文本特征(T-LSTM模型),第二阶段时输入文本特征和韵律特征中的暂停时间在小型语料库上进行学习(T-LSTM-p模型) 预测每个标点时考虑前面的所有词汇,后面的一个词汇,范围也不大,句号预测的不太好

 


(3) Bidirectional Recurrent Neural Network with Attention Mechanism for PR

简介

  • 具有注意机制的双向递归神经网络模型,LSTM换成GRU(更简单),
  • Estonian datase既有文本特征也有韵律特征,所以采用两阶段训练(TA-BRNN,TA-BRNN-p)
  • English dataset上只使用文本(IWSLT2011 benchmark dataset)(T-BRNN-pre
  • 预测每个标点时考虑前后所有上下文,所以综合性能比起前两篇要好
  • 第二阶段的模型:将第一阶段输出层,代之为新的循环GRU层,增加新的softmax输出层    训练时固定第一阶段的参数,多带带训练新加入的参数。

 


(4) Deep Recurrent Neural Networks with Layer-wise Multi-head Attentions for Punctuation Restoration

简介

  • 通过将多个双向循环层(GRU)堆叠在一起,使每个层从不同的角度学习不同的上下文
  • attention不仅应用于顶层,每层都有,可以 capture the layer-wise features
  • 每个attention都是multi-head attentions, 采用scaled dot-product attention(对比是单头的additive attention)
  • 结果证明层数越多性能越好,最后的模型在n=4(层数),m=3(头数)性能最佳
  • 性能:相比T-BRNN-pre,DRNN-LWMA-pre achieved 4.2% and 3.6% better in F-measure and SER, respectively

 


(5) Self-Attention Based Network for Punctuation Restoration

 

 简介

  • 将标点符号恢复视为翻译任务,翻译源端为无标点序列,目标端有两个输出序列:标点符号恢复的序列(它指导模型平均对待每个单词和标点符号)和标签序列(它会引导模型输出标点符号或非标点符号)。防止过拟合,提高性能。
  • SAPR模型:基于self-attention的Transformer模型,完全基于self-attention,而不需要任何递归神经网络(RNN)和卷积神经网络(CNN)。
  • 该模型与transformer之间最显著的区别是,该模型在解码器之后有两个softmax层
  • 该方法除了简单的单标点,还可以恢复复杂标点以及联合标点
  • 性能:与T-BRNN-pre相比,模型取得了显著的改进(F值在总体上增加了11%),特别是在句号方面。


5.进一步探索

 Transformer-based pre-trained language models

 问题1:

  • 有些使用大量带有标点符号的书面语言数据for self-supervised training for punctuation prediction。然而,书面语言数据与口语数据之间存在显著差异。所以最好还是用 spoken language data(比如ASR输出)。但他们需要人工labeling。

 方法:

  • 无监督的预训练大大减少了该任务要达到卓越性能所需的labeled data数量。利用预训练可以减少训练时间和提高准确性。Transformer-based pre-trained language models:如,BERT,RoBERTa,ELECTRA

 问题2:

  •  基于DNN、CNN的方法预测能力较小,基于RNN的方法,由于其递归性,网络会有顺序计算的缺点。

 方法:

  • 利用transformer模型,偏离循环体系结构,允许所有输入tokens之间的直接连接。这使得网络能够更容对长距离依赖关系进行建模,还允许对每个层进行并行的计算。(并行预测任务比顺序任务提供了更丰富的信号,从而更有效地利用每个example)

(6) Efficient Automatic Punctuation Restoration Using Bidirectional Transformers with Robust Inference

模型介绍

  • 模型建立在预先训练好的RoBERTa模型之上。BERT是一个具有多个transformer层和数亿个可训练参数的上下文语言模型,在具有 masked language modeling目标的大型英语语料库上训练。RoBERT是BERT的一种改进模型。

 性能总结

  • 无监督的预训练、多个上下文集成预测、以及增加的并行性,可以在不增加运行时或成本的情况下获得显著的性能提高。与T-BRNN-pre比较,该方法要在CPU上快1.2倍,GPUS上78.8倍。


(7) Discriminative Self-training for Punctuation Prediction 

 简介

  • 也是序列标记任务,预测每个单词后是否有一个特定的标点符号。
  • 聚焦于pretraining-finetuning framework,基于BERT或ELECTRA无监督预训练模型,探索了微调领域的self-train(ST)。
  • 提出Discriminative Self-Training (Disc-ST),可以利用未带标点标记的语音记录,并证明其在改进标点预测基线方面的有效性。

 性能分析

  • ELECTRA-large好于RoBERTa-base,更好于BERT-base
  • 微调可以有效提升性能


何为ELECTRA?

(8) ELECTRA-pre-training text encoders as discriminators rather than generators

简介

  • 虽然BERT模型在一些NLP任务中性能不错,但它们通常需要大量的计算才能有效,作者提出一种更简单高效的训练任务:replaced token detection。我们的方法不是mask输入,而是用从小型generator network采样的合理的替代品来破坏它。
  • 任务不是训练模型让他恢复已经损坏的tokens的原来样貌,而是训练一个判别器,让他判别被损坏的input中每个token是否是generator network生成的。  
  • because the task is defined over all input tokens rather than just the small subset that was masked out.所以在相同的模型大小、数据和计算条件下,该方法学习到的上下文表示大大优于BERT学习到的表示。


6.友情帮助

  • 读者可以继续调研,本文只是一部分
  • 一些实现代码,可以在GitHub上搜索下图中关键词,或者通过下面链接在笔者GitHub空间找到一部分。
  • https://github.com/LJJ12?tab=repositories
  • 下面截图是我找到的一些开源的标点预测实现代码

 

  • 下图是我搜索的一些标点预测相关论文

 

希望本文对读者有所帮助,祝您科研愉快,早日产出自己的成果。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/119125.html

相关文章

  • 机器学习项目:构建垃圾邮件分类

    摘要:几乎所有大型电子邮箱服务提供商都内置了垃圾邮件检测系统,能够自动将此类邮件分类为垃圾邮件。大多数机器学习算法都要求传入的输入是数字数据,而电子邮件信息通常都是文本。 我们的任务 垃圾邮件检测是机器学习在现今互联网领域的主要应用之一。几乎所有大型电子邮箱服务提供商都内置了垃圾邮件检测系统,能够自动将此类邮件分类为垃圾邮件。 在此项目中,我们将使用朴素贝叶斯算法创建一个模型,该模型会通过...

    xcc3641 评论0 收藏0
  • 机器学习项目:构建垃圾邮件分类

    摘要:几乎所有大型电子邮箱服务提供商都内置了垃圾邮件检测系统,能够自动将此类邮件分类为垃圾邮件。大多数机器学习算法都要求传入的输入是数字数据,而电子邮件信息通常都是文本。 我们的任务 垃圾邮件检测是机器学习在现今互联网领域的主要应用之一。几乎所有大型电子邮箱服务提供商都内置了垃圾邮件检测系统,能够自动将此类邮件分类为垃圾邮件。 在此项目中,我们将使用朴素贝叶斯算法创建一个模型,该模型会通过...

    Vicky 评论0 收藏0
  • 关于Python编码这一篇文章就够了

    摘要:每个字符都可以编码为唯一的序列。但在中还有其他的数字系统,通过其他方式是表示数字。事实上,是的完美子集。里的编码与解码的类型用于表示人类可读的文本,可以包含任何字符。编码的文本表示为二进制数据字节。 概述 在使用Python或者其他的编程语言,都会多多少少遇到编码错误,处理起来非常痛苦。在Stack Overflow和其他的编程问答网站上,UnicodeDecodeError和Unic...

    ispring 评论0 收藏0
  • 关于Python编码这一篇文章就够了

    摘要:每个字符都可以编码为唯一的序列。但在中还有其他的数字系统,通过其他方式是表示数字。事实上,是的完美子集。里的编码与解码的类型用于表示人类可读的文本,可以包含任何字符。编码的文本表示为二进制数据字节。 概述 在使用Python或者其他的编程语言,都会多多少少遇到编码错误,处理起来非常痛苦。在Stack Overflow和其他的编程问答网站上,UnicodeDecodeError和Unic...

    YorkChen 评论0 收藏0
  • 2015年全球云计算发展预测

    摘要:今年第一季度的数据也证实了公司的预测今年第一季度,全球云计算基础设施增长了,达亿美元。 云计算基础设施支出情况根据市场调研机构IDC公司的数据,全球2015年云计算基础设施支出(服务器、存储阵列和网络交换机)将增长26.4%,达334亿美元,约占IT总支出的三分之一(2014年IT总支出增长了28.1%)。这一预测的主要依据是:云计算将受到公共云数据中心投资的推动,而且云计算服务供应商将继续...

    hoohack 评论0 收藏0

发表评论

0条评论

leone

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<