定义文本分类中的词汇量
Defining vocabulary size in text classification
我有一个关于文本分类中特征提取所需的词汇集定义的问题。
在一次实验中,我想到了两种做法:
1.Define 词汇量同时使用训练数据和测试数据,因此在测试期间,测试数据中的任何词都不会被视为 'unknown'。
2.Define词汇量仅根据训练数据中的数据,将测试数据中未同时出现在训练数据中的每个单词视为'unknown'。
乍一看比较科学的方法是第二种。然而值得注意的是,虽然我们无法知道实际系统中词汇表的真实大小,但将词汇表大小设置为比训练数据中出现的大小稍大似乎没有问题以涵盖潜在的更大问题。这是有帮助的,因为它实际上将不同的未知词视为不同的,而不是将它们加起来为 'unknown'。这有什么不实用的原因吗?
机器学习新手。非常感谢帮助。
在现实世界中,nlp系统总是需要处理未知词。
如果你使用测试数据作为词汇集的一部分,当你进行测试时,你的模型将不会面临这种情况。指标已损坏,无法向您展示模型的真实性能。
这是知识发现和自然语言处理的重要组成部分,您可以googlenatural language processing unknown words
了解模型用于解决这种情况的详细信息、理论和常用方法。
如果您只是想要一些工具来处理生词,word2vec
可能适合您。
如果您将未出现在训练集中的测试集单词包含到您的模型(例如分类模型)中,那么由于它们未出现在训练集中,因此它们在训练模型中的权重将为零因此,除了增加模型尺寸外,它们不会有任何影响。所以选项2更好。
话虽如此,为了补偿测试数据不断变化的性质,一种解决方案是定期重新训练您的模型,另一种方法是使用 word2vec 构建表示和 K-最近邻模型,给每个看不见的测试集中的单词为您提供训练集中最接近的单词,以便您可以使用该单词代替未知单词。
我有一个关于文本分类中特征提取所需的词汇集定义的问题。 在一次实验中,我想到了两种做法:
1.Define 词汇量同时使用训练数据和测试数据,因此在测试期间,测试数据中的任何词都不会被视为 'unknown'。
2.Define词汇量仅根据训练数据中的数据,将测试数据中未同时出现在训练数据中的每个单词视为'unknown'。
乍一看比较科学的方法是第二种。然而值得注意的是,虽然我们无法知道实际系统中词汇表的真实大小,但将词汇表大小设置为比训练数据中出现的大小稍大似乎没有问题以涵盖潜在的更大问题。这是有帮助的,因为它实际上将不同的未知词视为不同的,而不是将它们加起来为 'unknown'。这有什么不实用的原因吗?
机器学习新手。非常感谢帮助。
在现实世界中,nlp系统总是需要处理未知词。
如果你使用测试数据作为词汇集的一部分,当你进行测试时,你的模型将不会面临这种情况。指标已损坏,无法向您展示模型的真实性能。
这是知识发现和自然语言处理的重要组成部分,您可以googlenatural language processing unknown words
了解模型用于解决这种情况的详细信息、理论和常用方法。
如果您只是想要一些工具来处理生词,word2vec
可能适合您。
如果您将未出现在训练集中的测试集单词包含到您的模型(例如分类模型)中,那么由于它们未出现在训练集中,因此它们在训练模型中的权重将为零因此,除了增加模型尺寸外,它们不会有任何影响。所以选项2更好。
话虽如此,为了补偿测试数据不断变化的性质,一种解决方案是定期重新训练您的模型,另一种方法是使用 word2vec 构建表示和 K-最近邻模型,给每个看不见的测试集中的单词为您提供训练集中最接近的单词,以便您可以使用该单词代替未知单词。