Machine learning 文本分类中词汇量的定义

Machine learning 文本分类中词汇量的定义,machine-learning,nlp,text-classification,Machine Learning,Nlp,Text Classification,关于文本分类中特征提取所需的词汇集的定义,我有一个问题。 在实验中,我可以想到两种方法: 1.使用培训数据和测试数据定义词汇量,以便在测试期间测试数据中的任何单词都不会被视为“未知” 2.仅根据训练数据中的数据定义词汇量,并将测试数据中未出现在训练数据中的每个单词视为“未知” 乍一看,更科学的方法是第二种。然而,值得注意的是,尽管我们无法知道实际系统中词汇的真实大小,但为了涵盖潜在的更大问题,将词汇大小设置为略大于训练数据中出现的大小似乎没有问题。这是有帮助的,因为它实际上将不同的未知单词视为不

关于文本分类中特征提取所需的词汇集的定义,我有一个问题。 在实验中,我可以想到两种方法:

1.使用培训数据和测试数据定义词汇量,以便在测试期间测试数据中的任何单词都不会被视为“未知”

2.仅根据训练数据中的数据定义词汇量,并将测试数据中未出现在训练数据中的每个单词视为“未知”

乍一看,更科学的方法是第二种。然而,值得注意的是,尽管我们无法知道实际系统中词汇的真实大小,但为了涵盖潜在的更大问题,将词汇大小设置为略大于训练数据中出现的大小似乎没有问题。这是有帮助的,因为它实际上将不同的未知单词视为不同的,而不是将它们总结为“未知”。有什么理由不可行吗


机器学习新手。非常感谢你的帮助

在现实世界中,nlp系统总是需要处理未知单词

如果您将测试数据用作词汇集的一部分,那么当您进行测试时,您的模型将不会面临这种情况。这些指标已经失效,无法向您展示模型的实际性能

这是知识发现和自然语言处理的一个重要组成部分,您可以通过谷歌
自然语言处理未知单词
了解用于解决这种情况的模型的详细信息、理论和常用方法


如果您只需要一些工具来处理未知单词,
word2vec
可能对您有好处

如果将训练集中未出现的测试集单词包括到模型中(例如,分类模型),则由于这些单词未出现在训练集中,它们在训练模型中的权重将为零,因此它们除了增加模型大小之外没有任何效果。因此,选择2更好

话虽如此,为了补偿测试数据不断变化的性质,一种解决方案是定期重新训练模型,另一种方法是使用word2vec来构建表示,K-最近邻模型给出测试集中每个不可见的单词,然后给出训练集中最近的单词,这样您就可以使用该单词而不是未知单词