Python 向1D CNN分类模型添加顺序特征

Python 向1D CNN分类模型添加顺序特征,python,keras,deep-learning,conv-neural-network,text-classification,Python,Keras,Deep Learning,Conv Neural Network,Text Classification,我正在使用Keras构建一个一维CNN模型,用于文本分类,其中输入是由标记器生成的一系列单词。text\u to\u sequences。是否有办法为序列中的每个单词输入一系列数字特征(例如分数)?例如,对于句子1,输入将是['the','dog','barked',],并且这个特定序列中的每个单词都有分数[0.9,0.75,0.6]。分数不是特定于单词的,而是特定于句子的单词分数(如果这对输入格式有影响的话)。在这种情况下,LSTM是否更合适 非常感谢 是的,只需在输入张量中使用两个通道 更好

我正在使用Keras构建一个一维CNN模型,用于文本分类,其中输入是由
标记器生成的一系列单词。text\u to\u sequences
。是否有办法为序列中的每个单词输入一系列数字特征(例如分数)?例如,对于句子1,输入将是['the','dog','barked',],并且这个特定序列中的每个单词都有分数[0.9,0.75,0.6]。分数不是特定于单词的,而是特定于句子的单词分数(如果这对输入格式有影响的话)。在这种情况下,LSTM是否更合适


非常感谢

是的,只需在输入张量中使用两个通道

更好的说法是,如果您在之前输入had shape:
(批量大小,顺序)

现在您可以有:
(批量大小,序号2)

如果查看,您会看到使用参数
data\u format
传递一个字符串,即
channels\u last
(默认)或
channels\u first
。在这种情况下,默认值可以,因为
2
(通道数是最后一个)

您可以将2个输入数组堆叠成具有此形状的张量

现在,如果您使用单词嵌入,那么通道的数量可能不会是2个,但它将是
嵌入\u dim+1
,因此最终的输入形状将是:
(批量大小,顺序,嵌入\u dim+1)

一般情况下,您也可以参考其他

无论如何,CNN 1D和LSTM都可能是好的模型。。。但这需要根据任务、数据和模型约束来发现自己


最后一句话,你甚至可以考虑一个模型,它有多个输入,一个是单词序列,另一个是分数。看看我在网上找到的这个或这个随机的。您也可以再次引用相同的内容。

您是否设法使其正常工作?