我试图实现<?php
namespace Vendor\Extension\Domain\Model;
class FeUser extends \TYPO3\CMS\Extbase\Domain\Model\FrontendUser
{
/**
* @var string
*/
$myNewField = ''; /* in Database: `my_new_field` */
// optional some more code ...
/**
* Sets the myNewField value
*
* @param string $myNewField
* @api
*/
public function setMyNewField ($myNewField )
{
$this->myNewField = $myNewField;
}
/**
* Returns the myNewField value
*
* @return string
* @api
*/
public function getMyNewField ()
{
return $this->myNewField;
}
}
机制,以便使用Attention
从GitHub线程中获取大量帮助来使用Keras
生成抽象文本摘要。关于实施的信息性讨论。我很难理解代码的某些非常基本的部分,以及我需要修改哪些才能成功获得输出。我知道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
的填充序列。我非常感谢您提供的任何帮助。非常感谢。
答案 0 :(得分:0)
我发现大多数研究倾向于将张量流用于此任务,因为使用张量流比使用keras模型更容易实现seq2seq模型
此blog详细介绍了如何以一种非常优化的方式构建文本摘要器,它解释了一种dongjun-Lee,这是最容易实现的高效实现方式
Code可以在此处找到,可以在Google colab上实现
如果您喜欢这个主意,则可以检查所有blog series。
希望这会有所帮助