我在 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/