我在TensorFlow中基于char-rnn-tensorflow松散地构建了下一个字符预测器神经网络。结果,我成功地能够在给定测试序列的情况下计算下一个字符的概率分布。
取所有log
概率的平均值,我可以成功地获得"字符级别的困惑"。我几乎使用了pull request中的代码来实现这一目标。
但是,我需要转移到单词级别的困惑",因为我需要将我的模型与标准结果进行比较,其中大多数报告基于"单词的语言模型的有效性水平困惑"。 (维基百科描述了单词级别的困惑here)
这样做的正确方法是什么?它甚至可能吗?
答案 0 :(得分:2)
字符级语言模型(LM)与字级LM不同。你所训练的是一个角色等级LM,就我而言,你不应该直接使用困惑来比较角色级LM和词级LM。
但是,如果您有用于语言建模的神经网络架构,您可以使用它来训练字符级LM和字级LM,并将您的模型与现有的字符级LM和字级LM进行比较分别使用困惑(竞争模型应在同一数据集上进行训练/测试)。
此代码与您使用的代码类似,但对于字级建模:https://github.com/hunkim/word-rnn-tensorflow