在分类模型中结合文本和非文本特征

机器算法验证 机器学习 特征选择 特征工程
2022-04-04 23:12:49

我是 ML 新手,所以请相应地解释这个问题......我不确定这是否是一个常见问题,或者我是否正在以正确的方式思考这个问题。

这是我正在尝试做的事情:

我有一堆文本片段,我想将它们分类为某些主题。文本片段是支持票的标题,因此例如标题“我的笔记本电脑坏了,请帮忙”可能会被归类为硬件类别,而标题“我想为我的 7 月账单退款”可能会被归类为金融类。

到目前为止,这很简单。但是,我有很多元数据可能对包含在我的模型中很有用。例如,我知道某人成为该公司的客户已有多长时间,这可能是一个特点。我知道每个客户的年龄,这可能是另一个特点。等等。

我不确定的是,将这些元数据功能与文本功能结合起来的最佳方式是什么?对于文本特征,我使用了 tf-idf 之类的东西,所以我将为词汇表中的每个单词设置一个特征,并且由于词汇量很大,特征列表会很长。可以手动将这些元数据特征附加到词汇表的末尾,但是将 10 个特征附加到 100k 个特征长的特征向量上似乎有点荒谬。而且我不确定它是否会正常工作。

FWIW 我正在使用 scikit-learn,但我不确定它是否有任何可以帮助的功能。

1个回答

我不知道这样的标准方式,但这是我会尝试的一件事。这将在管道中包含两个模型。

  1. 对文本数据进行训练以预测一个类别(如 Fiance、Hardware)并将模型的预测作为一个分类变量。
  2. 将该分类变量附加到现有的元数据特征,并训练一个新模型

我还可以将步骤 1 替换为:而不是输出一个类(一个具有最高概率的类),而是使用第一个模型为每个类预测的整个概率集,并将这些数字特征附加到元数据特征中以用于步骤 2。