问题标签 [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.

0 投票
2 回答
2156 浏览

tensorflow - 使用 TensorFlow 的 RNN (LSTM) 语言模型获取给定序列的下一个单词的概率分布?

我在这里运行 TensorFlow 的 RNN (LSTM) 语言模型示例。它完美地运行并报告了困惑。

我想要的是三件事:

  1. 给定一个序列(例如 w1 w5 w2000 w750),给出词汇表中下一个单词的概率分布。我不知道如何使用教程中的模型来做到这一点。

  2. 我希望模型返回最可能的序列(例如 n-gram)的排名,n 可以作为输入给出。

  1. 给定一个序列,我想要它的概率。

我是 TensorFlow 和 RNN 的新手,所以请告诉我您是否需要比我提供的更多信息。

语言模型的代码在这里

0 投票
1 回答
104 浏览

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),将生成以下对:

  1. x=[1,2] , y=[2,3]
  2. x=[3,4] , y=[5,6]

1)这是正确的方法吗?如果不这样做,那么对是:

  1. x=[1,2] , y=[2,3]
  2. x=[2,3] , y=[3,4] ... # 允许更多数据点

或者

  1. x=[1,2] , y=[3]
  2. x=[2,3] , y=[4] ... # 确保所有预测都使用上下文长度 = num_steps

2)最后,考虑到这些对是在阅读器模块中生成的,当涉及到训练时,计算的损失会不会反映 RNN 在一系列展开步骤而不是num_steps指定范围内的性能?

例如,模型将预测 x=3(来自 x=[3,4])而不考虑 2 在它之前(即展开 RNN 一步而不是两步)。

0 投票
1 回答
646 浏览

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 层时发生了什么,以及哪个是我想要实现我的语言模型的模型。

0 投票
1 回答
80 浏览

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?

0 投票
1 回答
2331 浏览

nlp - 词预测:神经网络与 n-gram 方法

例如,如果我尝试预测句子中的下一个单词,我可以使用双语法方法并根据语料库中的前一个单词计算单词出现的概率。

相反,我使用神经网络来预测下一个单词。训练数据由词对组成,每对包含语料库中的当前词和下一个词。训练网络使用输入值作为单词的向量化表示,输出值是语料库中下一个单词的向量化表示。

我希望神经网络表现更好,但我不知道为什么?

与经典方法相比,何时使用神经网络更好。在这种情况下,神经网络与 n-gram 模型。抱歉,如果这个问题模棱两可。

也许答案是反复试验并检查哪个模型具有更快的性能并做出更好的预测?

神经网络的性能会更好,因为预测只是向量乘法,而使用 n-gram 模型进行预测需要概率计算。

0 投票
1 回答
116 浏览

nlp - 人工神经网络可以学习语言模型吗?论文 2000 实施

我是 NLP 研究领域的新手。我想实现一篇论文Can Artificial Neural Networks Learn Language Models 吗?在这篇论文中,第一次迈出了一步,使神经网络可以学习语言模型。我已经理解了这篇论文,一切都是可以理解的,只是论文最后一部分的一些混乱。

我没有找到它的任何代码。Paper is too old (2000) 我什至没有找到当时使用的培训数据(Communicator Telephone Air Travel Information System)

我还通过电子邮件将此事发送给了该论文的两位教授,但其中一位教授的电子邮件 ID 已过期,正在等待另一位教授的回复。

任何人都可以在这种情况下帮助我吗?你的指导方针对研究领域的新人来说很有价值。我会很感激你的。

0 投票
2 回答
729 浏览

python - 使用 kenlm 的负面结果

我是语言建模的新手,并且使用 kenlm(或this)从一个大文本文件(~7gb.)制作了一个 3grams 语言模型。我从我的语言模型制作了一个二进制文件,并像这样在 python 中调用它:

我得到一个负数作为结果。当我改变得分的句子时,结果仍然是负数但改变了。我给它正好一个大文本文件句子,但它给了我一个糟糕的负数(与文本文件中没有的句子)我不知道否定结果是什么意思以及如何将其转换为肯定和正常结果以在某些句子之间选择最正确的句子。

0 投票
1 回答
1355 浏览

nlp - 有没有句子嵌入 TensorFlow 语言模型?

我找到了 tensorflow 1b_lm 项目:https ://github.com/tensorflow/models/tree/master/lm_1b

我对第四个例子很困惑

给一个句子,从 LSTM 状态中转储嵌入。

但是,此示例的结果包括 7 个“.npy”文件。似乎它只是为句子中的每个单词生成每个单词嵌入?

0 投票
1 回答
695 浏览

python - nltk.KneserNeyProbDist 为大多数三元组提供 0.25 的概率分布

我正在使用nltk进行语言建模我将这篇文章用作mypet.txt文件中的语料库。对于大多数三元组,我得到 0.25 Kneser Ney 概率分布。我不知道为什么。这样对吗?为什么要这样做?这是我的word_ngram.py文件:

这是我处理 utf-8 字符的preprocessor.py文件:

这是我用来将 utf-8 char 替换为 ascii char 的utf_to_ascii.json文件:

这是几个三元组的示例输出:

0 投票
1 回答
1376 浏览

python - 如何在nltk python中计算三元组的conditional_frequency_distribution和conditional_probability_distribution

我想为我的语言模型计算条件概率分布,但我不能这样做,因为我需要我无法生成的条件频率分布。这是我的代码:

但我收到此错误:

这是我处理 utf-8 字符的 preprocessor.py 文件:

这是我用来将 utf-8 char 替换为 ascii char 的 utf_to_ascii.json 文件:

有人可以建议我如何计算 NLTK 中三元组的条件频率分布?