问题标签 [language-model]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
neural-network - Tensorflow:循环神经网络训练对和对损失函数的影响
我正在查看 RNN 语言模型的代码。我对1)如何构造训练对(x,y)以及随后2)如何计算损失感到困惑。该代码借鉴了 Tensorflow RNN 教程(阅读器模块)。
在阅读器模块中,定义了一个生成器ptb_iterator。它将数据作为一个序列接收,并根据批量大小和您希望“展开”RNN 的步骤数产生x,y 对。最好先查看整个定义,但让我感到困惑的部分是:
记录为:
因此,如果理解正确,对于数据序列[1 2 3 4 5 6]
,num_steps = 2
然后对于随机梯度下降(即 batch_size=1),将生成以下对:
- x=[1,2] , y=[2,3]
- x=[3,4] , y=[5,6]
1)这是正确的方法吗?如果不这样做,那么对是:
- x=[1,2] , y=[2,3]
- x=[2,3] , y=[3,4] ... # 允许更多数据点
或者
- x=[1,2] , y=[3]
- x=[2,3] , y=[4] ... # 确保所有预测都使用上下文长度 = num_steps
2)最后,考虑到这些对是在阅读器模块中生成的,当涉及到训练时,计算的损失会不会反映 RNN 在一系列展开步骤而不是num_steps
指定范围内的性能?
例如,模型将预测 x=3(来自 x=[3,4])而不考虑 2 在它之前(即展开 RNN 一步而不是两步)。
python - 当我使用 Keras+Theano 将序列拟合到序列 LSTM 时引发 MemoryError
我试图实现一个序列到序列的语言模型。在训练过程中,模型将 GloVe 生成的 50d 个词向量序列,输出 1-to-V(V 是词汇量的大小)向量表示下一个词,因此可以看作下一个词对应的分布到测试过程中当前时间步的输入词向量,我尝试了一个 112 词的词汇表。
然后,我构建了两个模型,如下所示:
当我试图通过
第一个模型model1
崩溃并引发 MemoryError,但第二个模型model2
正常完成。X 的形状为(number_of_sentences, max_words_in_one_sentence, 50)
,Y 的形状为(number_of_sentences, max_words_in_one_sentence, 112)
。在这个例子中,number_of_sentences=10000, max_words_in_one_sentence=13
。
我想知道当我将一个新的时间分布密集附加到 LSTM 层时发生了什么,以及哪个是我想要实现我的语言模型的模型。
python - N-grams - not in memory
I have 3 milion abstracts and I would like to extract 4-grams from them. I want to build a language model so I need to find the frequencies of these 4-grams.
My problem is that I can't extract all these 4-grams in memory. How can I implement a system that it can estimate all frequencies for these 4-grams?
nlp - 词预测:神经网络与 n-gram 方法
例如,如果我尝试预测句子中的下一个单词,我可以使用双语法方法并根据语料库中的前一个单词计算单词出现的概率。
相反,我使用神经网络来预测下一个单词。训练数据由词对组成,每对包含语料库中的当前词和下一个词。训练网络使用输入值作为单词的向量化表示,输出值是语料库中下一个单词的向量化表示。
我希望神经网络表现更好,但我不知道为什么?
与经典方法相比,何时使用神经网络更好。在这种情况下,神经网络与 n-gram 模型。抱歉,如果这个问题模棱两可。
也许答案是反复试验并检查哪个模型具有更快的性能并做出更好的预测?
神经网络的性能会更好,因为预测只是向量乘法,而使用 n-gram 模型进行预测需要概率计算。
nlp - 人工神经网络可以学习语言模型吗?论文 2000 实施
我是 NLP 研究领域的新手。我想实现一篇论文Can Artificial Neural Networks Learn Language Models 吗?在这篇论文中,第一次迈出了一步,使神经网络可以学习语言模型。我已经理解了这篇论文,一切都是可以理解的,只是论文最后一部分的一些混乱。
我没有找到它的任何代码。Paper is too old (2000) 我什至没有找到当时使用的培训数据(Communicator Telephone Air Travel Information System)。
我还通过电子邮件将此事发送给了该论文的两位教授,但其中一位教授的电子邮件 ID 已过期,正在等待另一位教授的回复。
任何人都可以在这种情况下帮助我吗?你的指导方针对研究领域的新人来说很有价值。我会很感激你的。
nlp - 有没有句子嵌入 TensorFlow 语言模型?
我找到了 tensorflow 1b_lm 项目:https ://github.com/tensorflow/models/tree/master/lm_1b
我对第四个例子很困惑
给一个句子,从 LSTM 状态中转储嵌入。
但是,此示例的结果包括 7 个“.npy”文件。似乎它只是为句子中的每个单词生成每个单词嵌入?
python - 如何在nltk python中计算三元组的conditional_frequency_distribution和conditional_probability_distribution
我想为我的语言模型计算条件概率分布,但我不能这样做,因为我需要我无法生成的条件频率分布。这是我的代码:
但我收到此错误:
这是我处理 utf-8 字符的 preprocessor.py 文件:
这是我用来将 utf-8 char 替换为 ascii char 的 utf_to_ascii.json 文件:
有人可以建议我如何计算 NLTK 中三元组的条件频率分布?