python - 我怎样才能解决单词级的困惑?

标签 python nlp tensorflow

我在 TensorFlow 中基于 char-rnn-tensorflow 松散地构建了一个下一个字符预测器神经网络。因此,我能够成功计算给定测试序列的下一个字符的概率分布。

取所有log概率的平均值,我可以成功获得“字符级困惑度”。我几乎使用了这个 pull request 中的代码来实现这一目标。

但是,我需要转向“词级困惑”,因为我需要将我的模型与标准结果进行比较,其中大多数结果报告基于“词级困惑”的语言模型的有效性。 (维基百科描述了词级困惑here)

正确的做法是什么?这可能吗?

最佳答案

字符级语言模型 (LM) 与单词级 LM 不同。你训练的是字符级LM,就我而言,你不应该直接使用困惑度来比较字符级LM和单词级LM。

但是,如果您有用于语言建模的神经网络架构,则可以使用它来训练字符级 LM 和单词级 LM,并将您的模型与现有的字符级 LM 和单词级 LM 进行比较分别使用困惑度(竞争模型应在同一数据集上进行训练/测试)。

此代码与您使用的代码类似,但用于字级建模:https://github.com/hunkim/word-rnn-tensorflow

关于python - 我怎样才能解决单词级的困惑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40946081/

相关文章:

Tensorflow:在未经验证的形状变量上应用 bool 掩码?

python - Pandas 中的一致性表(每行对的每行之间的 Pearson 相关性)

python - Python 2.x 和 3.x 中输入命令的区别

python - 如何在不手动下载模型的情况下访问/使用 Google 的预训练 Word2Vec 模型?

delphi - 为什么 Synopse 连字代码给出的结果与 TeX 的结果不同?

python - 导入错误 : No module named 'tensorflow.core'

python - 如何对此列表进行排序,其中最短的开始时间首先显示

python - 将 Python 脚本移动到另一台计算机

node.js - 如何使用node-nlp从句子中提取变量

machine-learning - Tensorflow - 预测序列 : what is X and Y?