【问题标题】:Get the probabity of a specific word in Keras LSTM model获取 Keras LSTM 模型中特定单词的概率
【发布时间】:2019-02-21 07:19:54
【问题描述】:

我在其上训练了一个 w2v 模型和一个 keras LSTM 模型:

pretrained_weights = w2v_model.wv.syn0
vocab_size, emdedding_size = pretrained_weights.shape

keras_lstm_model = Sequential()
keras_lstm_model.add(Embedding(input_dim = vocab_size, output_dim = emdedding_size, weights = [pretrained_weights]))
keras_lstm_model.add(LSTM(units = emdedding_size))
keras_lstm_model.add(Dense(units = vocab_size))
keras_lstm_model.add(Activation('sigmoid'))
keras_lstm_model.compile(optimizer = 'adam', loss = 'sparse_categorical_crossentropy', metrics = ['mae','acc'])

现在,我有一句话

“这是我的”

我想得到这个词的概率

“帽子”

.

我可以这样做吗?

【问题讨论】:

    标签: python-3.x keras deep-learning nlp lstm


    【解决方案1】:

    您的模型输出具有vocab_size 神经元。如果您致电keras_lstm_model.predict,您将获得每个单词成功执行该序列的不同概率。问题是你需要哪个概率?如果您需要一个预测中所有概率之和为 1 的函数,则应将最后一个激活函数替换为 softmax。

    【讨论】:

      猜你喜欢
      • 2020-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-08
      • 2020-05-25
      相关资源
      最近更新 更多