本文共 1172 字,大约阅读时间需要 3 分钟。
作者:徐甘霖
单位:燕山大学这篇文章中,作者基于CNN提出了开放领域文本分类的一套算法,比之前的开放分类算法有了一定的提升。首先作者提出了传统的softmax操作并不能完成开放分类任务,然后总结了之前的开放分类算法(CBS、NCC等),通过如下的CNN结果抽取句子特征。在文章中,CNN的最后一层输出的Activation Vector(AV)来抽取句子特征。
在训练时和一般的CNN没有太大区别。只不过在测试时,CNN的最后一层抽取输入类的句子特征,得到Activation Vector(AV),然后计算每个测试样例的Activation Vector到每个已知类距离最近的前k个距离值,并把这前k个样本的Activation Vector记为k-Class Activation Vectors (k-CAV)。最后计算机测试样例AV与k-CAV距离,这样测试时每个AV对应每个已知类会有k个距离。 在计算距离时,分别使用Mahalanobis和Eucos作为度量,并且假设对于每个训练得到的距离度量服从韦布尔分布,这样可以根据下图将距离映射为概率值。每个训练类的k个概率值之和记为total closed set probability,然后计算OSP = 1 − total closed set probability。用所有训练类最大的total closed set probability与OSP比较从而确定该测试类是未知类还是已知类的closed set probability最大的那一类。其实,可以看出当最大的所有类别中最大的total closed set probability低于0.5,那么,OSP一定大于total closed set probability,把这个类归为未知类中,否则,将这个类归为概率最高的那一类。所以来说,这还是一种人工设定阈值(默认0.5)的方法。值得注意的是,作者采用如下集成学习的方法。综合考虑两种距离度量对模型性能的影响。
在这里主要起作用的是两种距离度量方式,孤立森林只是作为一个tie-breaker,不做详细描述。 除了使用recall、precision、F1等传统分类常用的评测指标,文中还是用openness进行模型性能的评估。 其中,CT :训练集中类的个数,CR:待识别的类的个数,CE:测试集中类的个数。值得注意的是,当CT = CR = CE时,openness为0.论文地址:https://par.nsf.gov/servlets/purl/10059464
代码地址:https://github.com/LincLabUCCS/Open-set-text-classification-using-neural-networks转载地址:http://hhmgi.baihongyu.com/