![](https://img-blog.csdnimg.cn/20201208064008782.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
自然语言处理(NLP)技术入门
文章平均质量分 94
在算法工程师的面试中,不可避免地会被问到不同技术的提出背景、损失函数和模型应用场景。该专栏旨在帮助准备面试的同学进行准确地系统地归纳。
野营者007
csdn博客会更偏向于debug错误信息,会详细记录尝试安装软件、第三方库、研究新技术踩过的坑。
面试真题栏目只对粉丝开放。题目会包括笔试和面试,会尽可能还原当时的题目。
已经开始慢慢搭建自己的笔记体系,更多总结性的文章请移步https://csy99.github.io/Blog
展开
-
攻击NLP模型:通用对抗触发器入门
背景和重要性对于非全局触发器(只对特定模型和输入奏效)。为了写公式方便起见,我们假设触发器是在正常输入之前。我们用f表示特定模型,t表示正常输入,tadvt_{adv}tadv表示触发器,L表示损失函数,D表示输入数据的分布。argmintadvEt∈D[L(ytarget,f(tadv;t))]argmin_{t_{adv}} E_{t \in D} [L(y_{target}, f(t_{adv;t}))]argmintadvEt∈D[L(ytarget,f(tadv;t))]为原创 2021-09-14 13:51:36 · 360 阅读 · 0 评论 -
Transformer和自注意力机制Self-Attention详解和时间复杂度计算+Image Transformer简介
Transformer背景注意力机制已经在编码器解码器模型中广泛应用,极大提升了模型性能。我们为什么不能尝试完全抛开RNN、CNN等传统结构,直接尝试使用注意力机制来捕捉输入和输出之间的依赖呢?结构输入序列是(x1,...,xn)(x_1, ..., x_n)(x1,...,xn),编码器将其映射到向量表示(z1,...,zn)(z_1, ..., z_n)(z1,...,zn),解码器再根据此中间向量产生序列(y1,...,ym)(y_1, ..., y_m)(y1,...,ym)。解原创 2021-01-19 04:44:49 · 15167 阅读 · 7 评论 -
用于自然语言处理的卷积网络
引言我们通常使用RNN处理文本。但是RNN也有其缺点,例如对没有前文的短语的处理能力较弱;另外,在形成文本向量时,通常会很好地捕捉最后一个词的表示,但无法很好捕捉之前的词的表示。我们只会在最后一步使用softmax。在上例中,句向量基本跟最后一个词的词向量相同。既然存在这个问题,我们何不对每个固定长度的短语生成一个向量表示?我们不用在意该短语是否具有语法意义。这个任务使用CNN最合适不过。textCNN一维卷积层我们可以将文本当作一维图像,从而可以用一维卷积神经网络来捕捉临近词之间的关联。与二原创 2021-01-16 01:20:42 · 570 阅读 · 0 评论 -
机器翻译Machine Translation及其Tensorflow代码实现(含注意力attention)
机器翻译翻译句子xxx从一种语言(源语言)到句子yyy另一种语言(目标语言)。下面这个例子就是从法语转换成为英文。统计机器翻译英文是Statistical Machine Translation (SMT)。核心思想是从数据中学习概率模型。argmaxyP(y∣x)=argmaxyP(x∣y)P(y)argmax_y P(y|x) \\\\= argmax_y P(x|y) P(y)argmaxyP(y∣x)=argmaxyP(x∣y)P(y)公式前一部分P(x∣y)P(x|y)P(x原创 2020-12-12 07:42:22 · 2558 阅读 · 10 评论 -
序列到序列网络seq2seq与注意力机制attention浅析
序列到序列网络序列到序列网络(Sequence to Sequence network),也叫做seq2seq网络, 又或者是编码器解码器网络(Encoder Decoder network), 是一个由两个称为编码器解码器的RNN组成的模型。在这里进行介绍的作用是确定变量的名称,为接下来讲注意力机制做铺垫。自编码器也是seq2seq模型中的一种。在自编码器中,解码器的工作是将编码器产生的向量还原成为原序列。经过压缩之后不可避免的会出现信息的损失,我们需要尽量将这种损失降低(方法是设置合理的中间向量大小原创 2020-12-12 07:39:17 · 1530 阅读 · 0 评论 -
使用卷积神经网络进行文本分类textCNN
使用卷积神经网络进行文本分类textCNN一维卷积层我们可以将文本当作一维图像,从而可以用一维卷积神经网络来捕捉临近词之间的关联。与二维卷积层一样,一维卷积层使用一维的互相关运算。在一维互相关运算中,卷积窗口从输入数组的最左方开始,按从左往右的顺序,依次在输入数组上滑动。当卷积窗口滑动到某一位置时,窗口中的输入子数组与核数组按元素相乘并求和,得到输出数组中相应位置的元素。多输入通道的一维互相关运算也与多输入通道的二维互相关运算类似:在每个通道上,将核与相应的输入做一维互相关运算,并将通道之间的结果相原创 2020-12-01 06:56:24 · 1562 阅读 · 1 评论 -
fastText中的子词嵌入和高效文本分类:简单高效性能好
fastText由Facebook主持的研究。该研究分为两个项目:子词嵌入和高效文本分类。有学者认为fastText只包含高效文本分类,主张它才是该研究的重中之重。不过,在Facebook相关研究的官网,是对两个项目各给出一篇论文的链接。本文以官网为准,对两个模块都进行介绍。子词嵌入构词学(morphology)作为语言学的一个重要分支,研究的正是词的内部结构和形成方式。英语单词通常有其内部结构和形成方式。例如,我们可以从“dog”, “dogs” 和 “dogcatcher” 的字面上推测它们的关系原创 2020-12-01 05:43:10 · 522 阅读 · 0 评论 -
从词向量衡量标准到全局向量的词嵌入模型GloVe再到一词多义的解决方式
衡量标准Evaluation此处的衡量标准主要是针对单词向量而言。内部标准Intrinsic固定任务 (specific subtask)运行时间 (time taken to compute)能否帮助理解系统 (helps to understand the system)外部标准Extrinsic真实任务的评估 (evaluation on a real task)计算正确率的用时 (time taken to compute accuracy)不清楚是该子系统问题还是它与其他子原创 2020-11-30 11:42:44 · 599 阅读 · 4 评论 -
RNN的优秀变种: LSTM & GRU
长短期记忆大名鼎鼎的Long short term memory (LSTM)。LSTM的提出,正是为了解决RNN的痛点,加强了捕捉时间序列中时间步距离较大的依赖关系的能力。需要注意的是LSTM并没有保证梯度爆炸或者梯度消失的问题不会出现,它仅仅是为模型学习长依赖提供了一种更简便的方法(记忆细胞)。我们再次熟悉一下对于各个变量的标记。假设激活函数为ϕ\phiϕ,该层的隐藏单元个数是hhh,样本数为nnn,特征维度是ddd (在此处就是字典大小)。所以数据可以表示成X∈Rn∗dX \in R^{n*d}原创 2020-11-17 01:37:15 · 466 阅读 · 0 评论 -
时序数据采样、原始循环神经网络RNN、RNN梯度爆炸原因推导
时序数据的采样随机采样每个样本是原始序列上任意截取的一段序列。相邻的两个随机小批量在原始序列上的位置不一定相毗邻。因此,我们无法用一个小批量最终时间步的隐藏状态来初始化下一个小批量的隐藏状态。在训练模型时,每次随机采样前都需要重新初始化隐藏状态。相邻采样相邻的两个随机小批量在原始序列上的位置相毗邻。可以用一个小批量最终时间步的隐藏状态来初始化下一个小批量的隐藏状态,从而使下一个小批量的输出也取决于当前小批量的输入,并如此循环下去。这对实现循环神经网络造成了两方面影响:一方面, 在训练模型时,我们只需原创 2020-11-17 01:33:35 · 440 阅读 · 0 评论 -
语言建模
语言建模语言建模(language modeling)就是预测句子中下一个出现的单词的任务。更精确的说法是,给定已经出现的所有词,求下一个次出现的概率分布。P(wt+1∣w1,...,wt)P(w_{t+1}|w_1,...,w_t)P(wt+1∣w1,...,wt)语言模型传统模型假设当前词与之前所有的词有关。P(w1,w2, ... ,wT)=∏t=1TP(wt∣w1, ... ,wt−1)P(w_1, w_2, \ ...\ , w_T)原创 2020-11-15 11:52:36 · 1059 阅读 · 0 评论 -
word2vec损失函数的数学推导和近似训练以及doc2vec的实战掉包应用
来拔flag。这个是详细NLP技术系列的第一篇。马上开学了,回非常忙,估计第二篇又是猴年马月了。下一篇题材是关于glove或者nnlm的。文章还有些不完善的地方,都不是太重要的模块,之后有时间慢慢补充吧。Represent the Meaning of a WordWordNetWordNet is a large lexical database of English. Nouns, verbs, adjectives and adverbs are grouped into sets of co原创 2020-09-02 03:57:31 · 1107 阅读 · 1 评论