在文本分类中定义词汇量

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

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

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

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

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


回答:

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

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

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

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