相关疑难解决方法(0)

使用LSTM教程代码来预测句子中的下一个单词?

我一直试图通过https://www.tensorflow.org/tutorials/recurrent来了解示例代码 ,您可以在https://github.com/tensorflow/models/blob/master/tutorials/rnn/ptb找到它./ptb_word_lm.py

(使用tensorflow 1.3.0.)

我总结(我认为是)关键部分,对于我的问题,如下:

 size = 200
 vocab_size = 10000
 layers = 2
 # input_.input_data is a 2D tensor [batch_size, num_steps] of
 #    word ids, from 1 to 10000

 cell = tf.contrib.rnn.MultiRNNCell(
    [tf.contrib.rnn.BasicLSTMCell(size) for _ in range(2)]
    )

 embedding = tf.get_variable(
      "embedding", [vocab_size, size], dtype=tf.float32)
 inputs = tf.nn.embedding_lookup(embedding, input_.input_data)

inputs = tf.unstack(inputs, num=num_steps, axis=1)
outputs, state = tf.contrib.rnn.static_rnn(
    cell, inputs, initial_state=self._initial_state)

output = tf.reshape(tf.stack(axis=1, values=outputs), [-1, size])
softmax_w = tf.get_variable(
    "softmax_w", [size, vocab_size], dtype=data_type()) …
Run Code Online (Sandbox Code Playgroud)

python word2vec lstm tensorflow word-embedding

21
推荐指数
3
解决办法
5746
查看次数

文本生成:字符预测 RNN 与单词预测 RNN

我一直在研究使用 RNN 生成文本,似乎常用的技术是逐个字符输入文本,然后让 RNN 预测下一个字符。

为什么不使用相同的技术,而是使用单词而不是字符。这对我来说似乎是一种更好的技术,因为 RNN 不会犯任何错别字,而且训练速度会更快。

我错过了什么吗?

此外,是否可以创建一个单词预测 RNN,但以某种方式输入在 word2vec 上预先训练的单词,以便 RNN 可以理解它们的含义?

nlp machine-learning deep-learning recurrent-neural-network rnn

4
推荐指数
1
解决办法
2019
查看次数

在 keras 中使用带有 LSTM nn 的 Gensim Fasttext 模型

我已经在非常短的句子(最多 10 个单词)的语料库上使用 Gensim 训练了 fasttext 模型。我知道我的测试集包括不在我的训练语料库中的词,即我的语料库中的一些词像“催产素”、“Lexitocin”、“Ematrophin”、“Betaxitocin”

给定测试集中的一个新词,fasttext 非常清楚地知道通过使用字符级别 n-gram 生成一个与训练集中其他相似词具有高余弦相似度的向量

如何将 fasttext 模型合并到 LSTM keras 网络中,而不会丢失 fasttext 模型到词汇表中的向量列表?因为那样的话,即使 fasttext 做得很好,我也不会处理任何 OOV。

任何的想法?

nlp gensim keras tensorflow word-embedding

4
推荐指数
1
解决办法
1930
查看次数