在文本分类中定义词汇量

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

1.使用训练数据和测试数据来定义词汇量,这样在测试过程中测试数据中的任何词都不会被视为“未知”。

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

乍一看,第二种方法更为科学。然而值得注意的是,尽管在实际系统中我们无法得知词汇的真实大小,但似乎可以将词汇量设置得比训练数据中出现的略大一些,以覆盖可能更大的问题。这有助于将不同的未知词视为不同,而不是将它们总称为“未知”。为什么这种方法不实用呢?

我是机器学习的新手。非常感谢您的帮助。


回答:

如果您将训练集中未出现的测试集词语包含在您的模型中(例如,一个分类模型),由于它们在训练集中没有出现过,它们在训练模型中的权重将为零,因此除了增加模型大小外,它们不会产生任何影响。因此,第二种选项更好。

尽管如此,为了应对测试数据的变化性质,一个解决方案是定期重新训练您的模型。另一个解决方案是使用word2vec构建表示,并使用K最近邻模型,对于测试集中每个未见过的词,给出训练集中最接近的词,这样您就可以使用那个词来代替未知词。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注