Neural Network Methods in Natural Language Processing

Instruction-MATHEMATICAL NOTATION

本文将使用大写粗体字母来表示矩阵(X,Y,Z),粗体小写字母来表示向量(b)。当有一系列相关矩阵和向量(例如,每一个矩阵对应网络中不同的层时),上标索引将被使用(   W 1   \ W^{1}\,  W1,   W 2   \ W^{2}\,  W2)。极少数情况下,我们想要求出一个矩阵或者向量的平方,就在目标矩阵的周围加上括号,然后取幂:   ( W ) 2   \ (W)^{2}\,  (W)2,   ( W 3 ) 2   \ (W^{3})^{2}\,  (W3)2.我们使用[]来当作向量或者矩阵的索引运算符:   b [ i ]   \ b_{[i]}\,  b[i]是向量b的第i个元素.   W [ i , j ]   \ W_{[i,j]}\,  W[i,j]是矩阵W的第i列和第j行。我们使用·来代表点积运算:w·v= ∑ i w i v i   \sum_{i}w_{i}v_{i} \, iwivi.我们使用   x 1 : n   \ x_{1:n}\,  x1:n来表示项目序列1,2,……n。同时   x n : 1   \ x_{n:1}\,  xn:1代表序列相反。   x 1 : n [ i ]   \ x_{1:n}[i]\,  x1:n[i]=   x i   \ x_{i}\,  xi,   x n : 1 [ i ]   \ x_{n:1}[i]\,  xn:1[i]=   x n − i + 1   \ x_{n-i+1}\,  xni+1,我们使用[   v 1   \ v_{1}\,  v1;   v 2   \ v_{2}\,  v2]来表示矢量连接。虽然有些不正统,但除非另有说明,否则假定向量是行向量。

PART Ⅰ Supervised Classification and Freed-forward Neural Networks

TRAIN,TEST AND VALIDATION SETS

在深入探讨线性模型的细节之前,让我们重新考虑机器学习问题的一般设置。我们面对一个有k个样本的数据集   x 1 : k   \ x_{1:k}\,  x1:k,和它对应的目标标签   y 1 : k   \ y_{1:k}\,  y1:k。我们的目标是建立一个方程f(x)来正确映射输入x到输出 y ^   \hat{y}\, y^.我们怎么指导建立的方城f()是一个真实有效的方程?一可以用f()在训练样本   x 1 : k   \ x_{1:k}\,  x1:k上运行,并记录结果 y ^ 1 : k   \hat{y}_{1:k}\, y^1:k.但是这样不能预测训练集中没有的数据,而这是没有用处的。
如果你训练一个模型并想要评估它的质量,那么分成训练集和held-out集效果会很好。然而,实际中,你经常会训练几个模型,比较他们的质量,并选出最好的一个。从held-out集的准确率选出最好的模型常常会导致对模型效果过于乐观的估计。你不知道最终选择的分类器是普遍质量很好,还是仅仅对held-out中特定样本表现的好。一种可以接受的方法是使用一个三路分类,将数据分为train,validation(development)和test sets。所有的实验,调整,误差分析和模型挑选应该建立在validation set的基础上。然后最后选择的模型在test set上运行将会展示一个在未知数据上的良好估计。尽可能的保持测试集的质朴,最可能少的在上面跑实验。有些人甚至主张你甚至不应该看一下测试集中的例子,以免偏袒你设计模型的方式。

LOSS FUNCTIONS

Hinge(binary)
对于二分类问题,分类器的输出是单个标量 y ^   \hat{y}\, y^,并且目标输出y是在{+1,-1}之间。分类规则是sign( y ^   \hat{y}\, y^),当y· y ^   \hat{y}\, y^>0时,分类结果被认为是正确的。hinge loss(也被称为margin loss或者SVM loss),其定义如下:
  L h i n g e ( b i n a r y ) ( y ^ , y ) = m a x ( 0 , 1 − y ⋅ y ^ )   \ L_{hinge(binary)}(\hat{y},y)=max(0,1-y·\hat{y}) \,  Lhinge(binary)(y^,y)=max(0,1yy^)
The loss is 0 when y and y ^   \hat{y}\, y^share the same sign and | y ^   \hat{y}\, y^| > 1. Otherwise, the loss is linear. In other words, the binary hinge loss attempts to achieve a correct classification,with a margin of at least 1.

Hinge(multiclass)
在这里插入图片描述
Log loss
在这里插入图片描述
Binary corss entropy
在这里插入图片描述
在这里插入图片描述
Categorical cross-entropy losse
Ranking losses
在这里插入图片描述
在这里插入图片描述

Features for Textual Data

TYPOLOGY OF NLP CLASSIFICATION PROBLEMS

通常来说,自然语言处理中的分类问题根据被分类物品可以被宽泛的分成几类d。
tokenization负责根据空格和符号将文本分隔成tokens(在这里我们称为words)。在英语中tokenizer的工作是很简单的,即使它需要考虑缩写(I.B.M)和称谓(Mr.)这些不需要被分隔的情况。通常,区分words和tokens。我们根据一个tokenizer作为一个token,含有意义的单元作为words。一个token可能由多个word组成,多个token也可能是一个word,有时,不同的token也可能表述相同潜在含义的word。

FEATURES FOR NLP PROBLEMS

接下来,我们将为上述问题的共同特点,因为单词和字母是不同的东西,我们的功能通常采用指标或计数的形式。一个indicator feature根据一个条件是否存在取值0或者1(例如:如果单词dog在文档中出现至少一次,则取值为1的特征,否则为0)。一个count的取值依赖于一类事件发生的次数,例如一个特征指示单词dog在文本中出现的次数。

DIRECTLY OBSERVABLE PROPERTIES

Features for single Words
当我们将词汇从文本中提取出来,我们信息的主要资源是组成单词的字母和它们的顺序,以及从其中提取出的属性,例如单词长度、这个词的正字形状、前缀和后缀。
*Features for Text
当我们考虑一个句子,一个段落又或者是一篇文献时,可以观察到的特征是单词和字母的数量以及在文章中的顺序。
Bag of words
一个非常普遍的对句子和文章进行特征提取的方法是bag-of-words(BOW)。通过这种方法,我们可以利用直方图观察文章中出现的词语,即将每个词的数量当成特征。
Weighting
如前述,我们也可以融合一些外部信息,,聚焦于那些在所给文档中出现次数很多,但是在其他文章中出现次数相对较少的词汇(这将有助于区分那些常用词和跟主题相关的高频词)。当使用bag-of-words方法时,常常使用TF-IDF赋权,考虑一篇文档d是一个巨大的词库D的一部分。不使用d中每一个单词w的标准化计数.

Features of Words in Context
当考虑句子中或文献中的一个单词,这个单词最直观的特征是它在句子中的位置,还有它周围的字母或者单词离目标词汇越近的单词比起离它较远的单词通常包含更多的信息。
Windows
出于这个原因,通常通过考虑围绕它的窗口来关注单词的直接上下文(即两边的k个单词,典型的k值为2、5或者10)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值