[普通]自然语言处理(NLP)中多标签分类的方法

作者(passion) 阅读(122次) 评论(0) 分类( 软件)

  文本分类一般可以分为二分类、多分类、多标签分类三种情况。


二分类是指将一组文本分成两个类(0或1),比较常见的应用如垃圾邮件分类、电商网站的用户评价数据的正负面分类等,

多分类是指将文本分成若干个类中的某一个类,比如说门户网站新闻可以归属到不同的栏目中(如政治、体育、社会、科技、金融等栏目)去。

多标签分类指的是可以将文本分成若干个类中的多个类,比如一篇文章里即描写政治又描写金融等内容,那么这篇文章可能会别贴上政治和金融两个标签【1】。

一、多标签分类与单标签分类的区别

      针对语料库中每一个实例都可以有多个标签(或者说多个类别),如一部电影,既可以是悬疑片也可以是犯罪片,标签之间是可以共存的。

      与 single-label classification的区别: 单标签分类是每个实例有且仅有一个标签。比如情感分析任务,针对一条微博分析其情感属性,其可能的类别要么是正性,负性或者中性,只能是三个类别中一种,也就是说一条微博只能分配一个标签,单标签分类问题中标签之间是互斥的。

二、以往解决方法

目前,多标签分类问题的算法分为两大类【2】:

(1)改造数据适应算法(问题转换):这种方法的核心是“改造样本数据使其适应现有“的学习算法,也就是将多标记学习问题转换为现有的学习问题进行求解。

以改造数据为例的三种做法:

① 转化为二分类问题,用L个分类器,分别对应L个标签,进行训练。

多个独立的二分类问题,比如一共有m个labels, 针对每个label 进行0/1判断,如果是0,说明该label是instance的一个标签,否则不是

例子:一部电影

Y = {悬疑片,喜剧片,犯罪片,科幻片} ,其实就是训练4个二值分类器,缺点很明显,无法利用标签之间的关联性

② 标签排序+二分类利用“成对比较”(pairwise comparison),获得L(L-1)/2个分类器,然后利用投票,得到标签的排序。接着,利用二分类,补充标签排序的投票结果,提高准确性。

③ 随机k标签从L个标签随机取得k个标签,重复n次,获得n个分类器。这个过程有点类似随机森林。然后利用多类分类器(multi-class,与multi-label是有区别的),训练数据,最后通过投票,如果对于某一标签,其实际获得的投票数占到最大可能的投票数一半以上,那么就认为当前实例属于该标签。

2)改造算法适应数据:该类算法的核心是“改造现有的单标记学习算法使其适应多标记数据”。该类方法的基本思想是通过对传统的机器学习方法的改进,使其能够解决多标记问题。

总而言之,之前的多标签任务的做法都是用分类的方法解决此问题,本文创新性地用了生成的方法做此任务。   


« 上一篇:如何解释召回率与精确率
« 下一篇:nlp标注工具
在这里写下您精彩的评论
  • 微信

  • QQ

  • 支付宝

返回首页
返回首页 img
返回顶部~
返回顶部 img
';