我使用doc2vec矩阵(6000,1024)作为特征空间输入分类模型,该模型可以将每个文档(在我的情况下为句子)分类为两个类(A,B)中的一个。对于数据集中的6000个句子,我的特征空间都有1024个特征。
因此,基本上doc2Vec矩阵的每一行都代表该句子的特征向量。我正在尝试将此单一矩阵用作一维CNN的输入。通常,用于NLP任务的CNN输入每个句子有一个矩阵,因此批处理大小等于句子的数目。尽管我的情况略有不同,但是如上所述,我只有一个矩阵。
因此,基本上,我希望过滤器具有仅跨一个句子向量滑动的内核(各种宽度),而不是通常跨一组单词滑动的内核(即一次以多个高度滑动多个单词向量的内核)大于1)。但是,我发现很难在keras API for R中将参数值设置为以下层
layer_input(shape = 1024, batch_shape = c(6000,1024), dtype = 'float64', name = 'input1')
这个输入层代表我想要它代表什么,如果不是,它应该是什么样子?
,不确定如何设置参数值
layer_conv1d(filters = , kernel_size = )
。
我不确定如何给出kernel_size
的值列表,这些值表示(高度= 1和宽度= n),其中n是大于1的整数。
因此,总而言之,我希望CNN从原始特征空间(6000 * 1024)中选择一个特征空间(6000 * n),然后将其与另一个特征空间进行列绑定,以将其馈送到CNN中完全连接的层建筑。