Aho–Corasick automaton 算法(简称AC自动机算法)是由Alfred V. Aho和Margaret J.Corasick于1975年在贝尔实验室发明的多模(模式串)匹配算法。即给定多个模式串和一个文本串,求解多模串在文本串中存在的情况(包括是否存在、存在几次、存在于哪些位置等)。
本篇post以半监督文本分类为例,重点介绍如何通过对抗训练(Adversarial Training)的trick进一步提升系统性能。
本篇post主要介绍如何在基于attention机制的seq2seq(Encoder-Decoder)框架中,进一步引入copy机制,使得解码输出更加流畅与准确。
基于transformer-XL的XLNet是目前在BERT基础上改动较大的后起之秀。在超长文本的场景下,XLNet相比其他bert系列的模型会有更好的性能(recurrent机制使其可捕获更长的上下文依赖关系)以及更快的训练与推理速度(memory单元中缓存了之前(一个或多个)段的隐状态信息,避免了重复计算),且在一般长度的文本场景中会有更完整的语义信息(PLM考虑了被mask的token间的联系)。以上分析都是基于paper中的理论。实际上,当有足够多的数据时,bert系列的各个版本在大部分场景(超长文本的场景比较少,显现不出XLNet的优势)下的效果差别不大。
背景 之前梳理过关于机器阅读理解的相关内容,这里主要记录如何通过数据增强的trick来进一步提升性能指标。
深度学习中与分类相关的问题都会涉及到softmax的计算。当目标类别较少时,直接用标准的softmax公式进行计算没问题,当目标类别特别多时,则需采用估算近似的方法简化softmax中归一化的计算。
推荐使用 tensorflow 1.13版本
之前总是直接用预训练好的BERT模型,对预训练部分的认识只停留在其同时训练两个无监督的任务:masked LM和Next Sentence Prediction (NSP)。而之后的SOTA模型如XLNet、RoBERTa、ALBERT等都属于BERT的追随者。因此有必要详细了解BERT预训练的细节。