首页 > 解决方案 > 当词汇量非常大时,替代单热编码以输出到模型

问题描述

我在关注这个博客。在其中他谈到了如何在 keras 中构建语言模型。他展示了如何在 keras 中构建一个简单的模型。

分离后,我们需要对输出词进行一次热编码。这意味着将其从整数转换为 0 值的向量,词汇表中的每个单词一个,1 表示单词整数值索引处的特定单词。

这样模型就可以学习预测下一个单词的概率分布,并且除了接下来出现的实际单词之外的所有单词,从中学习的基本事实都是 0。

Keras 提供了 to_categorical() 可用于对每个输入-输出序列对的输出单词进行一次热编码。

他使用以下内容:

y = to_categorical(y, num_classes=vocab_size)

在他的情况下,词汇量是可控的。我正在使用大于 1 亿的词汇量。我想我不应该像他那样对输出使用单热编码y。有没有其他选择?

标签: nlpkeraslanguage-model

解决方案


推荐阅读