使用BERT多标签分类生成百分比预测标签

时间:2020-06-30 13:04:01

标签: python multilabel-classification bert-language-model

我目前正在处理文本数据的多标签分类任务。我有一个带有ID列,文本列和几列的数据框,这些列是仅包含1或0的文本标签。

我使用了该网站Kaggle Toxic Comment Classification using Bert上提出的现有解决方案,该解决方案允许以百分比表示其对每个标签的归属程度。

现在,我已经训练了模型,我希望将模型与新的未标记文本一起使用,以便获得属于每个标签的百分比:

我在website上找到了这个解决方案,更特别的是,我想在我的Kaggle代码末尾添加的部分代码:

texts = [
  '.........',
  '.........',
  '..........',
  '..........',
]

for text in texts:
  ids, segments = tokenizer.encode(text, max_len=SEQ_LEN)
  inpu = np.array(ids).reshape([1, SEQ_LEN])
  predicted = (model.predict([inpu,np.zeros_like(inpu)]) >= 0.5).astype(int)
  labels = [
    label
    for i, label in enumerate(labels_ordered)
    if predicted[0][i]
  ]
  print ("%s: %s" % (text, labels))

但是这种解决方案只允许我获得班级预测,而不能获得每个班级的百分比预测。

您是否知道如何才能将这最后一部分代码适应我的Kaggle代码并获得百分比预测?

0 个答案:

没有答案