文本分类中定义词汇量大小

6
我有一个关于文本分类中特征提取所需词汇集定义的问题。在实验中,有两种方法:
1.使用训练数据和测试数据定义词汇量大小,以便在测试过程中不将测试数据中的任何单词视为“未知”。
2.根据仅来自训练数据的数据定义词汇量大小,并将测试数据中每个不出现在训练数据中的单词视为“未知”。
乍一看,更科学的方法是第二种方法。然而值得注意的是,尽管我们无法知道实际系统中词汇量的真实大小,但似乎没有问题将词汇量设置为比训练数据中出现的大小略大,以应对潜在的更大问题。这对于将不同的未知单词视为不同而不是总结为“未知”非常有帮助。这样做是否不切实际?
机器学习新手。非常感谢您的帮助。
2个回答

8
如果您将测试集中在训练集中不存在的单词(例如分类模型)加入到您的模型中,那么它们在训练模型中的权重为零,除了增加模型大小,对结果没有任何影响。所以选项2更好。
话虽如此,为了补偿测试数据不断变化的特点,一种解决方法是定期重新训练您的模型;另一种方法是使用word2vec来构建表示,并使用K-Nearest Neighbour模型,对于测试集中的每个未知单词,给出在训练集中最近的单词,以便替代未知单词。

1
在实际世界中,自然语言处理系统总是需要处理未知词汇。如果您将测试数据作为词汇表的一部分,在进行测试时,您的模型将不会面临这种情况。度量标准会失效,无法显示您的模型真正的性能表现。这是知识发现和自然语言处理的重要组成部分,您可以搜索“自然语言处理未知词汇”以获取详细信息,理论和常用方法,以解决此类情况。如果您只想要一些处理未知词汇的工具,则word2vec可能适合您。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接