如何基于多列对文本进行分类

数据挖掘 分类 多标签分类 文本
2022-02-23 05:13:27

我按主题对文本段落进行分类。我正在使用 scikit learn,例如线性 svc,但对其他选项持开放态度。目前,仅使用每个段落的文本("En"下面标记的列)。但我觉得使用每篇文章的标题("Ref"下面标记的列)会有所帮助。

    Ref               En                                                Topics
3   Gittin            modifier meaning board referred unique name mo... dinei-haget
11  Even HaEzer       hand katafres explanation hand slanted obvious... dinei-haget
67  Rest on Holiday   similar two baskets untithed fruit front first... laws-of-holidays
118 Beitzah           mishna states one ate food prepared festival e... laws-of-holidays
131 Sabbath           one may mix water salt oil dip one bread put c... rabbinically-forbidden-activities-on-shabbat

@Erwan 在评论中提到的一个好主意是简单地将标题与段落文本一起包含在内。但我有两个问题:

  1. 我怎么做?
  2. 难道我不想让标题(或"Ref")比文章中的其他词更重要吗?
1个回答

为了使模型考虑到这两列区分一个词是来自标题还是来自文章,可以独立生成两组特征,然后将这两个特征向量连接起来。这样,学习算法可以根据特定单词是来自标题还是文章,为其分配不同的权重。

然而,这样做有一个缺点:根据实例的数量、单词的数量等,增加特征的数量可能会使模型的任务变得更加困难(例如导致过度拟合)。可能值得测试这两个选项:

  • 连接两列中的文本然后生成特征,即列之间没有区别,但分类器的工作更简单
  • 独立生成特征然后连接两组特征(如上)。