如何为keras Tokenizer选择num_words参数?
How to choose num_words parameter for keras Tokenizer?
tokenizer = Tokenizer(num_words=my_max)
我正在使用 keras 预处理分词器来处理机器学习模型的文本语料库。 Tokenizer 的参数之一是 num_words 参数,它定义字典中的单词数。应该如何选择这个参数?我可以选择一个巨大的数字并保证每个单词都会被包括在内,但某些只出现一次的单词如果组合在一起作为一个简单的 "out of vocabulary" 标记可能会更有用。设置这个参数的策略是什么?
我的特定用例是处理推文的模型,因此每个条目都在 140 个字符以下,并且所使用的单词类型有一些重叠。该模型用于 kaggle 竞赛,内容是提取代表情绪的文本(即 "my boss is bullying me" returns "bullying me")
这里的基本问题是“什么样的词可以建立情绪,它们在推文中出现的频率如何?”
这当然没有硬性答案。
以下是我的解决方法:
- 预处理您的数据,以便从推文中删除连词、stop words 和“垃圾”。
- 获取语料库中唯一单词的数量。所有这些词都是传达情感所必需的吗?
- 分析频率最高的单词。这些话是表达感情的吗?它们可以在您的预处理中删除吗?分词器记录前 N 个唯一单词,直到字典中包含 num_words,因此这些流行单词更有可能出现在您的字典中。
然后,我将开始尝试不同的值,并查看对输出的影响。
抱歉没有“真正的”答案。我认为没有单一的真正策略来选择这个值。相反,答案应该来自于利用数据的特征和统计数据。
tokenizer = Tokenizer(num_words=my_max)
我正在使用 keras 预处理分词器来处理机器学习模型的文本语料库。 Tokenizer 的参数之一是 num_words 参数,它定义字典中的单词数。应该如何选择这个参数?我可以选择一个巨大的数字并保证每个单词都会被包括在内,但某些只出现一次的单词如果组合在一起作为一个简单的 "out of vocabulary" 标记可能会更有用。设置这个参数的策略是什么?
我的特定用例是处理推文的模型,因此每个条目都在 140 个字符以下,并且所使用的单词类型有一些重叠。该模型用于 kaggle 竞赛,内容是提取代表情绪的文本(即 "my boss is bullying me" returns "bullying me")
这里的基本问题是“什么样的词可以建立情绪,它们在推文中出现的频率如何?”
这当然没有硬性答案。
以下是我的解决方法:
- 预处理您的数据,以便从推文中删除连词、stop words 和“垃圾”。
- 获取语料库中唯一单词的数量。所有这些词都是传达情感所必需的吗?
- 分析频率最高的单词。这些话是表达感情的吗?它们可以在您的预处理中删除吗?分词器记录前 N 个唯一单词,直到字典中包含 num_words,因此这些流行单词更有可能出现在您的字典中。
然后,我将开始尝试不同的值,并查看对输出的影响。
抱歉没有“真正的”答案。我认为没有单一的真正策略来选择这个值。相反,答案应该来自于利用数据的特征和统计数据。