- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试实现 Attention
使用 Keras
生成抽象文本摘要的机制从中得到了很多帮助 GitHub线程,其中有很多关于实现的信息性讨论。我正在努力理解代码的某些非常基本的部分,以及我需要修改什么才能成功获得输出。我知道attention
是通过所有先前时间戳的所有隐藏状态生成的上下文向量的加权和,这就是我们在下面尝试做的。
数据:
我得到的 BBC 新闻数据集由新闻文本和各种类别的标题组成,例如政治、娱乐和体育。
参数:
n_embeddings = 64
vocab_size = len(voabulary)+1
max_len = 200
rnn_size = 64
_input = Input(shape=(max_len,), dtype='int32')
embedding = Embedding(input_dim=vocab_size, output_dim=n_embeddings, input_length=max_len)(_input)
activations = LSTM(rnn_size, return_sequences=True)(embedding)
# compute importance for each step
attention = Dense(1, activation='tanh')(activations)
attention = Flatten()(attention)
attention = Activation('softmax')(attention)
attention = RepeatVector(units)(attention)
attention = Permute([2, 1])(attention)
# apply the attention
sent_representation = merge([activations, attention], mode='mul')
sent_representation = Lambda(lambda xin: K.sum(xin, axis=1))(sent_representation)
probabilities = Dense(max_len, activation='softmax')(sent_representation)
model = Model(input=_input, output=probabilities)
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=[])
print(model.summary())
Attention
用于分类,而我想生成一个文本序列(摘要),那么我应该如何利用 sent_probabilites
并解码以生成摘要? RepeatVector
这里用来做什么?是为了获取activation
和每个词在时间戳的注意力概率 T
? Permute
层呢? Lambda(lambda xin: K.sum(xin, axis=1))(sent_representation)
为了? model.fit()
看起来像?我创建了固定长度的填充序列 X
和 y
. 最佳答案
我发现大多数研究倾向于使用 tensorflow 来完成这项任务,因为使用 tensorflow 实现 seq2seq 模型比使用 keras 模型要容易得多
此 blog详细介绍了如何以极其优化的方式构建文本摘要器,它解释了一个 dongjun-Lee ,这是最简单高效的实现之一
Code可以在这里找到,在 google colab 上实现,
如果您喜欢这个想法,您可以查看所有 blog series .
希望这可以帮助
关于python-3.x - 凯拉斯 : Attention Mechanism For Text Summarization,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50893465/
在Attention Is All You Need ,作者实现了位置嵌入(它添加了关于单词在序列中的位置的信息)。为此,他们使用正弦嵌入: PE(pos,2i) = sin(pos/10000**(
我是 tensorflow 的新手,正在尝试根据教程实现“seq2seq”模型。我不确定函数“embedding_attention_seq2seq”的一个参数“num_heads”(默认值=1)。它
我目前正在研究transformer的代码,但我无法理解解码器的屏蔽多头。论文上说是为了不让你看到生成词,但是我无法理解生成词后的词如果没有生成,怎么能看到呢? 我尝试阅读变压器的代码(链接:http
我正在寻找here在 Bahdanau 注意力类。我注意到上下文向量的最终形状是(batch_size,hidden_size)。我想知道他们是如何得到这个形状的,因为attention_weig
前面我们所讲的模型,输入都是一个向量,但有没有可能 在某些场景中输入是多个向量,即一个向量集合,并且这些向量的数目并不是固定的呢 ? 这一类的场景包括 文字识别、语音识别、图网络 等等.
我正在尝试实现 Luong et al. 2015 中描述的注意力我自己在 PyTorch 中,但我无法让它工作。下面是我的代码,我现在只对“一般”注意情况感兴趣。我想知道我是否遗漏了任何明显的错误。
我正在关注 Tensorflow 的带有注意力机制的神经机器翻译教程 ( link ),但不清楚一些实现细节。如果有人可以帮助澄清或向我推荐来源/更好的地方来询问,那就太好了: 1) def loss
我正在学习 android 源代码并研究了 LightsService 框架。 我知道这些编码因设备而异。但是我在看到以下代码时感到困惑。 static int set_light_leds(stru
我已成功训练(使用 Inception V3 权重作为初始化)此处描述的 Attention OCR 模型:https://github.com/tensorflow/models/tree/mast
我正在使用 (keras-self-attention)在 KERAS 中实现注意力 LSTM。训练模型后如何可视化注意力部分?这是一个时间序列预测案例。 from keras.models impo
尊敬的社区成员,您好。我正在创建一个神经网络来预测多标签 y。具体来说,神经网络采用 5 个输入( Actor 列表、情节摘要、电影特征、电影评论、标题)并尝试预测电影类型的顺序。在神经网络中,我使用
这是原论文的画面:the screen of the paper .我理解论文的意思是当dot-product的值很大时,softmax的梯度会变得很小。 然而,我尝试用交叉熵损失计算softmax的
我正在尝试实现 Attention使用 Keras 生成抽象文本摘要的机制从中得到了很多帮助 GitHub线程,其中有很多关于实现的信息性讨论。我正在努力理解代码的某些非常基本的部分,以及我需要修改什
这是在这里引用这个问题: Check Contraint Bypassing CATCH block in Distributed Transaction 显然,在该分布式事务方案中,“注意事件”被发
在 Windows XP 中,当程序需要用户注意时,它的任务栏按钮会闪烁橙色。任何使用 IM 程序的人都可能熟悉这种行为。但是,当我玩全屏模式游戏时,我看不到它,并且消息无人回复。 现在我正在编写自己
有没有办法将原生 tf Attention 层与 keras Sequential API 一起使用? 我想使用这个particular class 。我发现了自定义实现,例如 this one 。我
我有一个由一个 LSTM 和两个 Dense 层组成的简单网络: model = tf.keras.Sequential() model.add(layers.LSTM(20, input_shape
在 iOS 中,如何短暂地吸引注意力到屏幕上的某个对象?假设,创建一个短暂的发光或使阴影出现然后消失? 为了这个问题的目的,让我们将“屏幕上的对象”定义为 UIImageView 的一个实例。 此外,
前言 在 gnome 3 应用程序中,一些按钮通过有色背景而不是普通按钮的那种灰色来突出显示。这些按钮不仅在使用标准 Adwaita 主题时颜色不同,而且在其他各种主题中也有实现。下面是 Adwait
我已经在一个团队中工作了将近一年。使用 github/git pull 和推送更改总是很容易: git pull git add . git commit -a -m "my work desc" g
我是一名优秀的程序员,十分优秀!