admin 发布的文章

一、EDA方法

1.同义词替换(Synonym Replacement, SR):从句子中随机选取n个不属于停用词集的单词,并随机选择其同义词替换它们;
2.随机插入(Random Insertion, RI):随机的找出句中某个不属于停用词集的词,并求出其随机的同义词,将该同义词插入句子的一个随机位置。重复n次;
3.随机交换(Random Swap, RS):随机的选择句中两个单词并交换它们的位置。重复n次;
4.随机删除(Random Deletion, RD):以 $p$ 的概率,随机的移除句中的每个单词。

第一种方式主要是利用同义替换的思想。 文中介绍了几个相关的方法,主要还是在于字、词、和句子结构层面上做数据增强。

除了传统的字典、词向量相似度替换的方法,我觉得用mlm的方式去做数据增强这个点更加新颖和符合intuition。

样本生成

模型预测

在这里插入图片描述
5、第二种就是通过“回译”的方法,这在阅读理解领域的榜单中一度有人使用过,比如说《attention is all you need》中在squad数据集上就使用了这个trick。
6、句法级别的改写,生成句法树然后利用规则替换

7.通过上述两个图,能很容易理解,就是预测mask位置的token,本身模型输出的是概率值,所以可以进行一个有效排序,而生成top k个近似的结果。

8、第三种方式, Text Surface Transformation,主要是对句子进行一定规则的扩张和缩写,比如it is可以改写为it's

9、随机噪声插入,这在addsent数据集的论文中使用过,可以使用随机插入、拼写错误插入、句子级别的打乱

10、可以认为是一种句子之间相互增强,本质来将就是找到一个和原始句子相似的句子来替代,类似句子改写?但这句子是真实的?

一、bert

1.为什么用layer normal 不用btach nomal

这是一个仁者见仁智者见智的问题,这个问题没有标准的答案,2020年3月份的一片论文专门讨论了这问题《Rethinking Batch Normalization in Transformers》。
1.主要问题是在前向传播和反向传播中,batch统计量和其贡献的梯度都会呈现一定的不稳定性,在使用BN的Transformer训练过程中,每个batch的均值与方差一直震荡。

2.layer normalization 有助于得到一个球体空间中符合0均值1方差高斯分布的 embedding, batch normalization不具备这个功能。
3.NLP中不同batch样本的信息关联性不大,而且由于不同的句子长度不同,强行归一化会损失不同样本间的差异信息,所以就没在batch维度进行归一化,而是选择LN

2、HMM和CRF的区别,实体识别中为什么用CRF不用HMM

1.HMM求解过程可能是局部最优,CRF可以全局最优
2.HMM是生成模型,CRF是判别模型
3.HMM是概率有向图,CRF是概率无向图
HMM用在了 分词,CRF用在了 词性标注。

3.NER的时候为什么要接入CRF,如何接入,原理是什么

CRF是主流但是不是必需
1.之所以在序列标注模型中引入CRF,是为了建模标注序列内部的依赖或约束,也就是套用一个可学习的CRF层来获得整个序列上最大似然的结果(与之相对的是为每个单词独立作决策)

3.lstm如何缓解梯度消失梯度爆炸

这个问题就在理论上,lstm如果你还记得公式,你就会发现,它所谓的门机制,也就是个sigmod,tanh函数处理了一下,由原来的累乘,变成了累加和累乘来解决梯度消失的问题。

4.xgboost相比gbdt的优点

1.第一,GBDT将目标函数泰勒展开到一阶,而xgboost将目标函数泰勒展开到了二阶。
2.第二,GBDT是给新的基模型寻找新的拟合标签(前面加法模型的负梯度),而xgboost是给新的基模型寻找新的目标函数(目标函数关于新的基模型的二阶泰勒展开)
3.。第三,xgboost加入了和叶子权重的L2正则化项,因而有利于模型获得更低的方差。
4.第四,xgboost增加了自动处理缺失值特征的策略。通过把带缺失值样本分别划分到左子树或者右子树,比较两种方案下目标函数的优劣,从而自动对有缺失值的样本进行划分,无需对缺失特征进行填充预处理。
5.xgboost自持并行化