文本序列建模与词嵌入技术详解
1. 词组表示的两种方法
在处理文本数据时,有两种主要的方法来表示词组:集合(Sets)和序列(Sequences)。在IMDB分类任务中,使用某种方法能达到89.8%的测试准确率,但在该任务中效果并非特别显著。不过,对于许多文本分类数据集,与普通的二进制编码相比,使用TF-IDF通常能使准确率提高一个百分点。
1.1 序列模型方法
过去的一些例子表明,词序在文本处理中非常重要。手动设计基于顺序的特征(如二元组)可以显著提高准确率。深度学习的发展趋势是逐渐从手动特征工程转向让模型从数据中自动学习特征。序列模型的核心思想是,不手动构建基于顺序的特征,而是将原始词序列输入模型,让模型自行学习这些特征。
实现序列模型的步骤如下:
1. 将输入样本表示为整数索引序列(每个整数代表一个单词)。
2. 将每个整数映射到一个向量,得到向量序列。
3. 将这些向量序列输入到一系列能够对相邻向量特征进行交叉关联的层中,如一维卷积网络(1D convnet)、循环神经网络(RNN)或Transformer。
在2016 - 2017年左右,双向RNN(特别是双向LSTM)被认为是序列建模的先进技术。不过,如今序列建模大多使用Transformer。奇怪的是,一维卷积网络在自然语言处理中并不太受欢迎,尽管在实际经验中,深度可分离一维卷积的残差堆栈通常能达到与双向LSTM相当的性能,且计算成本大大降低。
1.2 导出处理原始字符串的模型
在之前的示例中,文本标准化、拆分和索引是作为tf.data管道的一部分进行的。如果要导出一个独立于该管道的模型,需要确保模
超级会员免费看
订阅专栏 解锁全文
2339

被折叠的 条评论
为什么被折叠?



