-
Notifications
You must be signed in to change notification settings - Fork 410
Open
Description
看咱们HMCN-F的实现代码,标签字典是通过数据集里面标签构造的,比如样本集如下:
case1 A
case2 A--A1
case3 B--B1--B11
case4 B--B1
case5 B--B1--B12
那么将会得到标签字典如下:
A
A--A1
B--B1
B--B1--B11
B--B1--B12
在训练的时候,一级类目标签有[A],二级类目标签有[A--A1, B--B1],三级标签有[B--B1--B11, B--B1--B12]。
以case3为例,真实标注标签为B--B1--B11
- 在分级标签预测上,一级标类目上标签是[0],二级类目上标签是[0, 0],三级类目上标签是[1, 0];
- 在全局标签预测上,真实类目标签是[0, 0, 0, 1, 0](对应[A, A--A1, B--B1, B--B1--B11, B--B1--B12]五个标签);
可以看见,这种标签设置要求模型将case3预测为B--B1--B11,但是去不让模型预测为B--B1,也不让模型预测为B,这样的话,模型怎么能学习到层次之间的关系呢?
-------------------------------------我的思考---------------------------------------
是不是应该在数据预处理的时候,针对case3这种标签,如果他的前缀也在标签词典里,那么应该将case3的标签拓展为[0, 0, 1, 1, 0],即将B--B1也加入到ground truth label里面去。这样子的话,在局部和全局,都应该预测出来B--B1标签,模型才会知道B--B1--B11是属于B--B1的。
有人关注这个吗?探讨一下
Metadata
Metadata
Assignees
Labels
No labels