模型:
NbAiLab/nb-bert-base-mnli
R1.0(2021年3月11日)
创建良好分类器的最有效方法是针对特定任务微调预训练模型。然而,在许多情况下这是不可能的。 Yin et al. 提出了一种非常巧妙的方法,将预训练的MNLI模型用作零样本序列分类器。该方法是通过将问题改写为MNLI假设来工作的。如果我们想确定一段文本是否与"运动"有关,我们只需陈述"这段文本与运动有关"("Denne teksten handler om sport")。
当该模型在40万条MNLI任务上进行微调时,在许多情况下能够解决这个分类任务。在挪威语中没有这么大规模的MNLI数据集,但我们已经在原始MNLI数据集的机器翻译版本上进行了训练。
为了测试模型,我们推荐使用 NbAiLab Colab Notebook 。
尝试这个模型的最简单方法是使用Hugging Face pipeline。请注意,使用挪威语假设模板而不是默认的英语模板将得到更好的结果。
from transformers import pipeline classifier = pipeline("zero-shot-classification", model="NbAiLab/nb-bert-base-mnli")
然后,您可以使用此流程将序列分类为您指定的任何类名。
sequence_to_classify = 'Folkehelseinstituttets mest optimistiske anslag er at alle voksne er ferdigvaksinert innen midten av september.' candidate_labels = ['politikk', 'helse', 'sport', 'religion'] hypothesis_template = 'Dette eksempelet er {}.' classifier(sequence_to_classify, candidate_labels, hypothesis_template=hypothesis_template, multi_class=True) # {'labels': ['helse', 'politikk', 'sport', 'religion'], # 'scores': [0.4210019111633301, 0.0674605593085289, 0.000840459018945694, 0.0007541406666859984], # 'sequence': 'Folkehelseinstituttets mest optimistiske anslag er at alle over 18 år er ferdigvaksinert innen midten av september.'}
欲了解有关该模型的更多信息,请参阅
https://github.com/NBAiLab/notram
您还可以在这里找到一个Colab,更详细地解释如何使用零样本分类流程。