利用大模型MoritzLaurer/mDeBERTa-v3-base-xnli-multilingual-nli-2mil7实现零样本分类

本文介绍了零样本分类的概念,探讨了如何使用mDeBERTa-v3-base-xnli模型进行跨语言自然语言推理,展示了如何通过代码实现对特定领域(如camera和phone)的文本进行情感分析,输出结果表明模型在没有样本标签的情况下也能做出准确判断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概念

1、零样本分类:在没有样本标签的情况下对文本进行分类。

2、nli:(Natural Language Inference),自然语言推理

3、xnli:(Cross-Lingual Natural Language Inference) ,是一种数据集,支持15种语言,数据集包含10个领域,每个领域包含750条样本,10个领域共计7500条人工标注的英文测试样本,组成了112500对英文--其他语种的标注对。每条数据样本,由两个句子组成,分别是前提和假设,前提和假设之间的关系,有entailment(蕴含)、contradiction(矛盾)、neutral(中立)三类。

模型

1、手动下载MoritzLaurer/mDeBERTa-v3-base-xnli-multilingual-nli-2mil7到本地,url:MoritzLaurer/mDeBERTa-v3-base-xnli-multilingual-nli-2mil7 at main

2、Git下载:

git lfs install
git clone https://huggingface.co/MoritzLaurer/mDeBERTa-v3-base-xnli-multilingual-nli-2mil7

代码:

保存为m.py文件

import torch
import torch.nn.functional as F
from transformers import AutoTokenizer, AutoModelForSequenceClassification
from transformers import pipeline
model_name = "mDeBERTa-v3-base-xnli-multilingual-nli-2mil7"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
classifier = pipeline("text-classification", model=model, tokenizer=tokenizer)
for aspect in ['camera', 'phone']:
   print(aspect, classifier('The camera quality of this phone is amazing.',  text_pair=aspect))

输出:

[ipa@comm-agi-p]$ python m.py
camera [{'label': 'entailment', 'score': 0.9938687682151794}]
phone [{'label': 'entailment', 'score': 0.9425390362739563}]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值