使用词嵌入和TFIDF向量的LSTM

问题描述 投票:1回答:1

我正在尝试在具有文本属性和TFIDF向量的数据集上运行LSTM。我将文字嵌入文本并输入到LSTM层。接下来,我将LSTM输出和TFIDF向量连接起来。但是,下面的代码中的第2行会引发以下错误:

“ ValueError:使用不是符号张量的输入调用了层lstm_1。接收的类型:。完整输入:[]。该层的所有输入都应该是张量。”

下面给出代码,其中len(term_Index)+1 = 9891,emb_Dim = 100,emb_Mat包含浮点数,形状为[9891,100],并且sen_Len = 1000:]

    embed = Embedding(len(term_Index) + 1, emb_Dim, weights=[emb_Mat], 
    input_length=sen_Len, trainable=False)
    lstm = LSTM(60, dropout=0.1, recurrent_dropout=0.1)(embed)
    tfidf_i = Input(shape=(max_terms_art,))
    conc = Concatenate()(lstm, tfidf_i)
    drop = Dropout(0.2)(conc)
    dens = Dense(1)(drop)
    acti = Activation('sigmoid')(dens)

    model = Model([embed, tfidf_i], acti)
    model.compile(optimizer='adam', loss='binary_crossentropy', metrics = ['accuracy'])
    history = model.fit([features_Train, TFIDF_Train], target_Train, epochs = 50, batch_size=128, validation_split=0.20)

我正在尝试在具有文本属性和TFIDF向量的数据集上运行LSTM。我将文字嵌入文本并输入到LSTM层。接下来,我将LSTM输出和TFIDF向量连接起来。但是,行...

python tensorflow keras lstm tf-idf
1个回答
0
投票

似乎我无法重现您的错误。添加括号后,代码可以完美运行。请参阅下面的代码:

© www.soinside.com 2019 - 2024. All rights reserved.