请问可以用在中文的多标签文本分类上吗?
我的研究是多标签的文本分类(multi label classification) 类别有九个 但不是多元分类(multi class classification) 例子都是多元分类(multi class classification) 请问有实作在多标签分类(multi label classification)的文本上吗?
你好 @lockingkao
目前还没有支持 multi-label 问题,如果不修改代码可以同时训练多个二分类模型,可能会比较慢,或者根据问题调整代码。
@Magicat128 感谢您的回覆 目前已经训练过多个二分类模型,但想试试看修改代码使代码适用于 multi-label 问题 目前的想法是将标签转为one hot encoding 并将最后一层改成sigmoid 感谢大神 我还是菜鸟 请问您有什么建议呢。
@lockingkao
应该是可以的,将标签改为one-hot,softmax改为sigmoid,损失函数可能也要相应改成sigmoid_cross_entropy_with_logits。 参考 Example。
@Magicat128 你好大神,我已经将标签改为one-hot,softmax改为sigmoid,损失函数改成sigmoid_cross_entropy_with_logits。
确定可以跑多标签的模型!谢谢您的帮助!
另外想问,您的代码在运行文本不平衡的资料时是否会出现precision,recall,f1-score为0的状况呢?
我的九个标签中,有五个是标签0,1不平均的!
结果都是0,想请问大神是代码的问题吗?
UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use
zero_divisionparameter to control this behavior. _warn_prf(average, modifier, msg_start, len(result)) /opt/conda/envs/hckao-textING/lib/python3.6/site-packages/sklearn/metrics/_classification.py:1221: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in samples with no true labels. Usezero_divisionparameter to control this behavior.
@lockingkao
抱歉回复晚了。应该是因为y_true中的标签有的没出现在y_pred中,导致指标计算有除0存在,和代码应该没有关系。建议要么解决样本不均衡的问题,要么加上zero_division=1忽略这一问题 https://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_recall_fscore_support.html
@Magicat128 您好 谢谢你的回覆 请问您有尝试将textING做在中文的数据上吗? 因为我一样将中文多标签文本跟标签用成你要的输入格式(已经断过词) 但是用textING train时,完全train不起来(有画train loss ,val loss ,图形十分奇怪) 有将文本down sampling成balanced data,但还是没有好的结果!
但是用相同的前处理,textGCN可以跑! 我亦有将textGCN , textING跑过 mr的英文数据集,可以跑. 但中文只有textGCN可以跑.
希望大神能解答,是否 textING无法用中文数据集跑,还有资料平衡的问题.
@Magicat128 您好 谢谢你的回覆 请问您有尝试将textING做在中文的数据上吗? 因为我一样将中文多标签文本跟标签用成你要的输入格式(已经断过词) 但是用textING train时,完全train不起来(有画train loss ,val loss ,图形十分奇怪) 有将文本down sampling成balanced data,但还是没有好的结果!
但是用相同的前处理,textGCN可以跑! 我亦有将textGCN , textING跑过 mr的英文数据集,可以跑. 但中文只有textGCN可以跑.
希望大神能解答,是否 textING无法用中文数据集跑,还有资料平衡的问题.
请问您在中文训练集上运行成功了吗,我也想把这个模型用到中文数据集上,但是会有错,请问您是怎么解决的?
@Magicat128 您好 谢谢你的回覆 请问您有尝试将textING做在中文的数据上吗? 因为我一样将中文多标签文本跟标签用成你要的输入格式(已经断过词) 但是用textING train时,完全train不起来(有画train loss ,val loss ,图形十分奇怪) 有将文本down sampling成balanced data,但还是没有好的结果! 但是用相同的前处理,textGCN可以跑! 我亦有将textGCN , textING跑过 mr的英文数据集,可以跑. 但中文只有textGCN可以跑. 希望大神能解答,是否 textING无法用中文数据集跑,还有资料平衡的问题.
请问您在中文训练集上运行成功了吗,我也想把这个模型用到中文数据集上,但是会有错,请问您是怎么解决的?
我用的是中文多标签文本分类 效果蛮差的 改的是sigmoid_cross_entropy 跟最后一层的sigmoid 请问您遇到的困难跟错误是? 而且我将learning curve 画出来的图形模型没办法收敛 欢迎一起讨论!
@ Magicat128 您好谢谢你的回覆 请问您有尝试将texting做在中文的数据上吗? 因为我一样将中文多标签文本跟标签用成你要的输入格式(已经断过词) 但是用texting train时,完全火车不起来(有画火车损失,val损失,图形十分奇怪) 有将文本向下采样成平衡数据,但还是没有好的结果! 但是用相同的前处理,textGCN可以跑! 我亦有将textGCN ,texting跑过mr的英文数据集,可以跑。 但中文只有textGCN可以跑。 希望大神能解答,是否texting无法使用中文数据集跑,还有数据平衡的问题。
请问您在中文训练集上运行成功了吗,我也想把这个模型用到中文数据集上,但是会有错,请问您是怎么解决的?
我用的是中文多标签文本分类效果蛮差的 改的是sigmoid_cross_entropy跟最后一层的sigmoid请问 您遇到的困难跟错误是? 而且我将学习曲线画出来的图形模型没办法收敛 欢迎一起讨论!
我就在两个标签的中文文本分类上尝试了一下,说是维度不一致的问题,感觉应该是语言不一样的事。
@ Magicat128 您好谢谢你的回覆 请问您有尝试将texting做在中文的数据上吗? 因为我一样将中文多标签文本跟标签用成你要的输入格式(已经断过词) 但是用texting train时,完全火车不起来(有画火车损失,val损失,图形十分奇怪) 有将文本向下采样成平衡数据,但还是没有好的结果! 但是用相同的前处理,textGCN可以跑! 我亦有将textGCN ,texting跑过mr的英文数据集,可以跑。 但中文只有textGCN可以跑。 希望大神能解答,是否texting无法使用中文数据集跑,还有数据平衡的问题。
请问您在中文训练集上运行成功了吗,我也想把这个模型用到中文数据集上,但是会有错,请问您是怎么解决的?
我用的是中文多标签文本分类效果蛮差的 改的是sigmoid_cross_entropy跟最后一层的sigmoid请问 您遇到的困难跟错误是? 而且我将学习曲线画出来的图形模型没办法收敛 欢迎一起讨论!
我就在两个标签的中文文本分类上尝试了一下,说是维度不一致的问题,感觉应该是语言不一样的事。
二元分类的任务的话不用改太多,记得先用 jieba 分词 先断词后再放进corpus中
你有按照 label 跟 corpus的格式吗?