涉及多个特征时如何处理文本分类问题

Posted

技术标签:

【中文标题】涉及多个特征时如何处理文本分类问题【英文标题】:How to handle text classification problems when multiple features are involved 【发布时间】:2019-05-24 13:03:11 【问题描述】:

我正在研究一个文本分类问题,其中有多个文本特征,需要建立一个模型来预测工资范围。请参考Sample dataset 大多数资源/教程只处理一列的特征提取,然后预测目标。我知道诸如文本预处理、特征提取(CountVectorizer 或 TF-IDF)等过程,然后是应用算法。

在这个问题中,我有多个输入文本功能。 这些是我已经尝试过的方法,但我不确定这些方法是否正确。请提供您的意见/建议。

1) 分别对每个特征应用数据清洗,然后是 TF-IDF,然后是逻辑回归。在这里我试着看看我是否可以只使用一个特征进行分类。

2) 分别对所有列应用数据清洗,然后对每个特征应用 TF-IDF,然后合并所有特征向量以仅创建一个特征向量。最后是逻辑回归。

3) 分别对所有列应用数据清理并合并所有清理的列以创建一个特征“merged_text”。然后在这个merged_text上应用TF-IDF,然后进行逻辑回归。

所有这 3 种方法在交叉验证和测试集上给了我大约 35-40% 的准确率。我期望在未提供的测试集上至少有 60% 的准确度。

另外,我不明白如何使用 'company_name''experience' 处理文本数据。 company_name 中有大约 2000 多个唯一值。请提供有关如何处理文本分类问题中的数字数据的输入/指针。

【问题讨论】:

【参考方案1】:

试试这些:

    对“职位描述”、“职位名称”和“关键技能”应用文本预处理。移除所有停用词,分离每个单词移除标点符号,小写所有单词然后应用 TF-IDF 或 Count Vectorizer,不要忘记在训练模型之前对这些特征进行缩放。

    将经验转换为最小经验和最大经验 2 特征,并将其视为离散数字特征。

    公司和位置可以被视为一个分类特征,并在训练模型之前创建虚拟变量/一个热编码。

    尝试结合工作类型和关键技能,然后进行矢量化,看看效果是否更好。

    使用随机森林回归器,使用 GridCV 调整超参数:n_estimators、max_depth、max_features。

希望这些能够提高模型的性能。

让我知道它在这些方面的表现如何。

【讨论】:

Point#2 有助于提高准确性。我能够理解如何将其他特征与 tf-idf 矢量化器结合起来,并使用组合特征进行预测。

以上是关于涉及多个特征时如何处理文本分类问题的主要内容,如果未能解决你的问题,请参考以下文章

如何处理文本字段中的格式化数字(货币)?

如何处理文本区域中的 <tab>?

如何处理文本区域中的 <tab>?

文本清洗+文本分类

文本分类方法都有哪些

了解用于文本分类的朴素贝叶斯