且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《中国人工智能学会通讯》——1.33 基础模型

更新时间:2022-09-29 22:12:40

1.33 基础模型

在自然语言处理中,很多任务的输入是变长的文本序列,而传统分类器的输入需要固定大小。因此,我们需要将变长的文本序列表示成固定长度的向量。以句子为例,一个句子的表示(也称为编码)可以看成是句子中所有词的语义组合。因此,句子编码方法近两年也受到广泛关注。句子编码主要研究如何有效地从词嵌入通过不同方式的组合得到句子表示。其中,比较有代表性方法有四种。

第一种是神经词袋模型,简单对文本序列中每个词嵌入进行平均,作为整个序列的表示。这种方法的缺点是丢失了词序信息。对于长文本,神经词袋模型比较有效。但是对于短文本,神经词袋模型很难捕获语义组合信息。

第二种方法是递归神经网络,按照一个外部给定的拓扑结构(比如成分句法树),不断递归得到整个序列的表示[9] 。递归神经网络的一个缺点是需要给定一个拓扑结构来确定词和词之间的依赖关系,因此限制其使用范围。一种改进的方式引入门机制来自动学习拓扑结构[10] 。

第三种是循环神经网络,将文本序列看作时间序列,不断更新,最后得到整个序列的表示。但是简单的循环神经网络存在长期依赖问题,不能有效利用长间隔的历史信息。因此,人们经常使用两个改进的模型:长短时记忆神经网络(LSTM) [11] 和基于门机制的循环单元(GRU) [12] 。

第四种是卷积神经网络,通过多个卷积层和子采样层,最终得到一个固定长度的向量。在一般的深度学习方法中,因为输入是固定维数的,因此子采样层的大小和层数是固定的。为了能够处理变长的句子,一般采用两种方式。一种是层数固定,但是子采样的大小不固定。根据输入的长度和最终向量的维数来动态确定子采样层的大小[13] 。另外一种是将输入的句子通过加入零向量补齐到一个固定长度,然后利用固定大小的卷积网络来得到最终的向量表示[14] 。

在上述四种基本方法的基础上,很多研究者综合这些方法的优点,提出了一些组合模型。Tai 等人[15]基于句法树的长短时记忆神经网络(Tree - LSTM), 将标准 LSTM 的时序结构改为语法树结构,在文本分类上得到非常好提升。Zhu 等人[16]提出了一种递归卷积神经网络模型,在递归神经网络的基础上引入卷积层和子采样层,这样更有效地提取特征组合,并且支持多叉树的拓扑结构。

如果处理的对象是比句子更长的文本序列(比如篇章),为了降低模型复杂度,一般采用层次化的方法。先得到句子编码,然后以句子编码为输入,进一步得到篇章的编码。

在上述模型中,循环神经网络因为非常适合处理文本序列,因此被广泛应用在很多自然语言处理任务上。

推荐文章