我试图突出imdb数据集中的重要单词,这些单词最终促成了情绪分析预测 .
数据集如下:
X_train - 作为字符串的评论 .
Y_train - 0或1
现在,在使用Glove嵌入来嵌入X_train值之后,我可以将它提供给神经网络 .
现在我的问题是,我怎样才能突出显示最重要的概率词?就像deepmoji.mit.edu?
What have I tried :
-
我尝试将输入句子分成双字节并使用1D CNN来训练它 . 后来当我们想要找到X_test的重要单词时,我们只是将big_ms中的X_test分开并找到它们的概率 . 它有效,但不准确 .
-
我尝试使用预建的分层注意网络并成功了 . 我得到了我想要的但我无法从代码中找出每一行和概念 . 对我来说就像一个黑盒子 .
我知道神经网络是如何工作的,我可以使用numpy从头开始手动反向传播 . 我详细了解了lstm如何工作以及忘记,更新和输出门实际输出的内容 . 但我仍然无法弄清楚如何提取注意力以及如何将数据作为3D数组(我们的2D数据的时间步长是多少?)
因此,欢迎任何类型的指导
1 回答
这是一个注意(不是分层)的版本,但你应该能够弄清楚如何使它与层次结构一起工作 - 如果不是,我也可以提供帮助 . 诀窍是定义2个模型并使用1表示训练(模型),另一个表示提取注意值(model_with_attention_output):
输出将是numpy数组,每个单词具有注意值 - 值越高,单词越重要
编辑:您可能希望用embs替换乘法中的lstm以获得更好的解释,但这会导致更差的性能......