为什么我们需要在文本生成应用程序中将句子按顺序小写?还是根本没有必要?
Why do we need to make sentences in a sequence lowercase in text generation applications? Or is it necessary at all?
显然我正在做一个与文本生成相关的项目。根据 tensorflow.org 中的代码示例,加载文本文件时,它们不会降低数据中的字母。但是,在其他来源中,例如 deeplearningai 在序列模型课程中的 Dinosaurus_Island 作业。不知道降低文字中字母的效果,或者根本没有效果?
这是为了简化需要表示的元素数量。当您有大写字母时,您需要分配至少 26 个额外的空格 [A-Z] 或更多(如果有大写字母的组合)。对于文本分类,我认为没有必要保留大写字母,因为这不会影响文本的阅读方式,但在您尝试生成序列中的下一个单词或下一个字母的情况下,它就变得很重要。
您可能希望将文本小写的一个原因是您的数据集很小。想象一下 'amazing' 和 'Amazing' 这个词出现在你的数据集中。对于神经网络,这两个是不同的词。如果你有一个大数据集,并且这些词在不同的情况下出现了多次,它可能能够了解到 'amazing' 和 'Amazing' 是同一件事。但是假设单词 'amazing' 在您的训练集中出现了十次而 'Amazing' 只出现了一次。模型很有可能无法弄清楚两者之间的关系,这可能会影响网络的性能。
小写也有助于 OOV 词。想象一下,如果 'Amazing' 从未出现在训练数据集中,但网络在测试样本中遇到它。如果你将你的输入小写,它会工作正常,但如果你不这样做,你就会有问题。
显然我正在做一个与文本生成相关的项目。根据 tensorflow.org 中的代码示例,加载文本文件时,它们不会降低数据中的字母。但是,在其他来源中,例如 deeplearningai 在序列模型课程中的 Dinosaurus_Island 作业。不知道降低文字中字母的效果,或者根本没有效果?
这是为了简化需要表示的元素数量。当您有大写字母时,您需要分配至少 26 个额外的空格 [A-Z] 或更多(如果有大写字母的组合)。对于文本分类,我认为没有必要保留大写字母,因为这不会影响文本的阅读方式,但在您尝试生成序列中的下一个单词或下一个字母的情况下,它就变得很重要。
您可能希望将文本小写的一个原因是您的数据集很小。想象一下 'amazing' 和 'Amazing' 这个词出现在你的数据集中。对于神经网络,这两个是不同的词。如果你有一个大数据集,并且这些词在不同的情况下出现了多次,它可能能够了解到 'amazing' 和 'Amazing' 是同一件事。但是假设单词 'amazing' 在您的训练集中出现了十次而 'Amazing' 只出现了一次。模型很有可能无法弄清楚两者之间的关系,这可能会影响网络的性能。
小写也有助于 OOV 词。想象一下,如果 'Amazing' 从未出现在训练数据集中,但网络在测试样本中遇到它。如果你将你的输入小写,它会工作正常,但如果你不这样做,你就会有问题。