【NLP】如何使用Hugging-Face-Pipelines?

一、说明

        随着最近开发的库,执行深度学习分析变得更加容易。其中一个库是拥抱脸。Hugging Face 是一个平台,可为 NLP 任务(如文本分类、情感分析等)提供预先训练的语言模型。

        本博客将引导您了解如何使用拥抱面部管道执行 NLP 任务。以下是我们将在此博客中讨论的主题。

  • 什么是自然语言处理?
  • 什么是变形金刚?
  • 使用变形金刚执行各种 NLP 任务。

我们将介绍的 NLP 任务是文本分类、命名实体识别、问答和文本生成。

让我们潜入!

二、什么是自然语言处理?

        NLP是人工智能的一个子领域,允许计算机解释,操纵和理解人类语言。NLP 任务的目标是分析文本和语音数据,如电子邮件、社交媒体新闻源、视频、音频等。使用 NLP 技术,您可以处理各种任务,例如文本分类、生成文本内容、从文本中提取答案等。

        NLP不仅仅处理书面文本。它还克服了语音识别和计算机视觉中的复杂挑战,例如创建声音样本的成绩单或图像的描述。

        很酷,我们在本节中了解了 NLP 是什么。让我们继续看看变形金刚库是什么。

三、什么是transformer库?

        Transformers 是一个库,提供 API 和工具,可轻松下载和训练最先进的预训练模型。

        你可能会问什么是预训练模型。让我解释一下。预训练模型实际上是一个保存的预训练网络,该网络以前在大型数据集上训练过。使用预先训练的模型,可以节省从头开始训练模型所需的时间和资源。

        很好,我们看了变形金刚库是什么。让我们执行一些任务来展示如何使用这个库。

3.1 transformer应用

        变压器具有处理各种NLP任务的强大功能。处理 NLP 任务的最简单方法是使用该函数。它将模型与其必要的预处理和后处理步骤连接起来。这允许您直接输入任何文本并获得答案。pipeline

        要使用变压器,您需要使用以下命令安装它:

pip install -q transformers

        为了展示如何使用该功能,让我们从转换器导入它。pipeline

from transformers import pipeline

        很酷,我们现在可以使用这个对象执行 NLP 任务。让我们从情绪分析开始。

3.2 情绪分析

        情绪分析是最常用的NLP任务之一。它是检测文本中积极或消极情绪的过程。为了演示如何执行此任务,让我们创建一个文本。

text = "This movie is beautiful. I would like to watch this movie again."

        太棒了,我们现在有一条短信。让我们找出这段文字的情绪。为此,首先,我们通过调用管道函数来实例化管道。接下来,我们给出我们感兴趣的任务的名称。

classifier = pipeline("sentiment-analysis")

        很好,我们已经准备好使用此对象分析我们的文本。

classifier(text)# Output:
[{'label': 'POSITIVE', 'score': 0.9998679161071777}]

        如您所见,我们的管道预测了标签并显示了分数。标签为正,得分为 0.99。事实证明,模型非常有信心文本具有积极的情绪。太好了,我们已经完成了情绪分析。这很简单,对吧?

        让我们退后一步,想想发生了什么。此管道首先选择了一个预训练模型,该模型已针对情绪分析进行了微调。接下来,在创建分类器对象时,下载模型。请注意,将某些文本传递到管道时,会将文本预处理为模型可以理解的格式。

        在此分析中,我们使用管道进行情绪分析。您还可以将其用于其他任务。最近开发的一些管道是情绪分析;我们刚刚学会了如何执行这个管道、摘要、命名实体识别、问答、文本生成、翻译、特征提取、零镜头分类等。让我们来看看其中的一些。我们现在要讨论的管道是零命中分类。

3.3 零镜头分类

        假设您要对未标记的文本进行分类。这就是零镜头分类管道的用武之地。它可以帮助您标记文本。因此,您不必依赖预训练模型的标签。让我们看一下如何使用这个管道。首先,我们将通过调用管道函数进行实例化。

classifier = pipeline("zero-shot-classification")

        现在让我们创建一个要分类的文本。

text = "This is a tutorial about Hugging Face."

        让我们定义候选标签。

candidate_labels = ["tech", "education", "business"]

        很酷,我们创建了文本和标签。现在,让我们预测一下这句话的标签。为此,我们将使用分类器对象。

classifier(text, candidate_labels)# Output:
{'sequence': 'This is a tutorial about Hugging Face','labels': ['education', 'tech', 'business'],'scores': [0.8693577647209167, 0.11372026801109314, 0.016921941190958023]}

如您所见,文本是关于教育的。在这里,我们没有根据数据微调模型。我们的管道直接返回概率分数。这就是为什么这个管道被称为零镜头。让我们继续看一下文本生成任务。

3.4 文本生成

        像 ChatGPT 这样的工具非常适合生成文本,但有时您可能希望生成有关主题的文本。文本生成的目标是生成有意义的句子。我们的模型会收到提示并自动完成它。让我们看看如何执行管道。首先,我们使用文本生成来实例化管道。

generator = pipeline("text-generation")

        让我们继续创建一个提示。

prompt= "This tutorial will walk you through how to"

        现在,让我们将此提示传递给我们的对象。

generator(prompt)# Output:
[{'generated_text': 'This tutorial will walk you through how to setup a Python script to automatically find your favourite website using Python and JavaScript so you can build a web site that'}]

        如您所见,根据我们的句子生成了一个文本。请注意,此文本是随机生成的。因此,如果您没有获得与此处相同的结果,这是正常的。

        在此示例中,我们使用了默认模型。您还可以从中心选择特定型号。要为您的任务找到合适的模型,请转到模型中心并单击左侧的相应标签。

模特在拥抱脸

        在这里,您可以看到任务支持的模型。很酷,让我们尝试一个模型。首先,我们将创建一个管道。让我们将任务和模型名称传递给它。

generator = pipeline("text-generation", model="distilgpt2")

        很酷,我们实例化了一个对象。让我们使用前面的提示创建一个最大长度为 30 的文本。

generator(prompt, max_length = 30)

        如您所见,使用我们确定的模型创建了一个文本。让我们继续看一下命名实体识别任务。

3.5 命名实体识别 (NER)

        NER是最受欢迎的数据预处理任务之一。在 NLP 中,产品、地点和人员等现实世界的对象称为命名实体,从文本中提取它们称为命名实体识别。让我们通过一个示例来展示此任务是如何完成的。首先,让我们从管道创建一个对象。

ner = pipeline("ner", grouped_entities=True)

在这里,我们通过了将句子的各个部分重新组合在一起。例如,我们希望将“Google”和“Cloud”分组为一个组织。现在让我们创建一个例句。grouped_entities=True


"text = My name is Tirendaz and I love working with Hugging Face for my NLP task."

现在,让我们将此文本传递给我们的对象。

ner(text)# Output:
[{'entity_group': 'PER','score': 0.99843466,'word': 'Tirendaz','start': 11,'end': 19},{'entity_group': 'ORG','score': 0.870751,'word': 'Google Cloud','start': 31,'end': 43},{'entity_group': 'LOC','score': 0.99855834,'word': 'Berlin','start': 47,'end': 53}]

如您所见,我们的模型正确识别了文本中的实体。很好,让我们继续问答任务。

3.6 生成问答系统

        在问答中,我们给模型一段称为上下文的文本和一个问题。模型根据文本回答问题。让我们用一个例子来说明这一点。首先,让我们从问答管道创建一个对象。

question_answerer = pipeline("question-answering")

        现在让我们使用这个对象。

question_answerer(question="Where do I live?",context="My name is Tirendaz and I live in Berlin",)# Output: 
{'score': 0.7006925940513611, 'start': 31, 'end': 43, 'answer': 'Google Cloud'}

        如您所见,我们的管道从上下文中提取了信息。很酷,我们学会了如何使用管道执行各种 NLP 任务。您还可以将管道用于其他任务,例如摘要和翻译。

你可以在这里找到我在这个博客中使用的笔记本。

四、总结

        变形金刚是拥抱脸中的一个库,提供API和工具。您可以使用此库执行 NLP 任务。最简单的方法是使用拥抱面孔管道。管道提供了一个易于使用的 API,可将模型与其必要的预处理和后处理步骤连接起来。因此,您可以使用管道对象轻松执行各种 NLP 任务。

     

参考资源

  • 拥抱脸

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/27560.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Midjourney V5横空出世:画出完美中国情侣 逼真得令人毛骨悚然

雷递网 雷建平 3月20日 2023年,AI技术正在加速对人类世界的改变。 在ChatGPT的升级版GPT-4横空出世,能玩梗图还能做网页之际,Midjourney V5已正式发布,该服务可以生成逼真的图像,其质量水平被一些AI艺术爱好者称为令人…

软件测试职场焦虑之我对35岁危机的看法

目录 前言 如何理解35岁失业? 本质的原因是什么? 应对35岁失业的策略 总结 前言 这几年关于“35岁失业”的讨论甚嚣尘上,特别是进入疫情时代,身边也越来越多的人开始讨论这个话题。 一方面是疫情带来的巨大变革,…

ChatLaw:中文法律大模型

论文题目:ChatLaw: Open-Source Legal Large Language Model with Integrated External Knowledge Bases   论文日期:2023/06/28   官网地址:https://www.chatlaw.cloud   论文地址:https://arxiv.org/abs/2306.16092   G…

31岁音乐家零经验转行「软件开发者」,薪资翻4倍!

整理 | 朱珂欣 出品 | CSDN程序人生(ID:coder_life) 改岗转行,绝非易事。 31 岁前,Charlotte Kies 一直将成为单簧管演奏家和音乐教育家,视为职业人生的终极目标。 如今 33 岁的她,却已实现了…

微软欲模仿“微信”,打造一款超级 App?

整理 | 苏宓 出品 | CSDN(ID:CSDNnews) 「Write Once,Run Anywhere」是很多开发者的梦想,而对于不少开发商而言,他们更希望能够打造一套系统或服务走天下。 近日,据外媒 The Information 报道&a…

7位顶级AI学者,齐聚一堂!对ChatGPT进行“华山”论道!

来源:机器之心 ChatGPT 的走红再次掀起人们对人工智能的关注,那么在 ChatGPT 之后,人工智能将会如何发展?业内及 ChatGPT 的母公司 OpenAI 都认为 AGI 将是未来人工智能的发展方向。 AGI 理论研究和应用实践将可以从哪些方面出发&…

如何解决在线医疗语音问诊的技术难题 | 以眩晕问诊为例

1. 需求分析与业务理解 1.1 临床诊断流程 根据临床经验,眩晕的临床诊断是有固定流程的,如下图所示: 参考来源:吉林大学中日联谊医院耳鼻咽喉头颈外科 郑军 眩晕概述 1.2 临床痛点 根据临床经验,对于眩晕的诊断和问诊…

在线问诊、找科室、找医生、查疾病、图文问诊、电话急诊、健康咨询、问诊平台、咨询平台、问诊服务、语音问诊、开药问诊、看病平台、在线医疗、健康平台、登录注册、信息架构图、全局说明、组件规范、需求清单、

在线问诊、找科室、找医生、查疾病、图文问诊、电话急诊、健康咨询、问诊平台、咨询平台、问诊服务、语音问诊、开药问诊、看病平台、在线医疗、健康平台、登录注册、信息架构图、全局说明、组件规范、需求清单、Axure原型 Axure原型演示及下载地址:https://www.pm…

chatgpt赋能python:Python如何在图像上标注

Python如何在图像上标注 对于图像标注,Python提供了许多工具和库,其中最常用的是OpenCV和Pillow。这篇文章将介绍如何使用Pillow在图像上进行标注。 安装Pillow库 在使用Pillow库之前,需要先安装它。在命令行中输入以下命令: …

C#控制台输出中文显示乱码问题

在要输出中文的语句上加上这一行即可解决乱码问题 Console.OutputEncoding System.Text.Encoding.Unicode; Console.WriteLine("打印中文");但是在XP系统上会报错

Qt在打印输出中文的时候出现乱码的解决方法

当在Qt中需要打印文字的时候出现乱码&#xff0c;例如下图所示&#xff1a; qDebug() << " mybutton的析构 " << endl; 输出界面&#xff1a; 解决过程如下&#xff1a; 在对应的.cpp程序中&#xff0c;添加&#xff1a; #pragma execution_characte…

QT输出出现乱码的解决

QT输出出现乱码的解决

解决 cmd 窗口 php 输出中文乱码问题

有的时候我们需要在 cmd 窗口中直接执行 PHP 命令&#xff0c;但是在执行 PHP 文件的时候往往会有中文乱码出现&#xff0c;这个可能会摸不着头脑&#xff0c;不知道怎么在 cmd 窗口中正确的运行 PHP 命令中的文件。本文记录一下如何在 windows 系统中设置 cmd 窗口的默认编码。…

C++输出乱码

最近开始学习c&#xff0c;作为一个初学者&#xff0c;记录一次c输出乱码的情况&#xff1b; 预期的输出应该是这样&#xff0c;结果输出为 与预期效果差距太大&#xff0c;多次查证证后&#xff0c;出错为 修改为以下代码&#xff0c;输出正确 习惯了Python&#xff0c;相比之…

解决代码的中文输出乱码问题

目录 1、初次探究乱码问题2、一劳永逸解决乱码问题3、vscode和subline31、vscode配置本地运行环境2、subline3配置本地运行环境 1、初次探究乱码问题 1、测试程序 //demo.cpp #include <iostream> using namespace std;int main() {cout << "你好呀~欢迎点赞…

解决Vs输出中文乱码的问题

源程序的运行结果是&#xff1a;中文乱码 首先&#xff0c;这个与VS本身无关&#xff0c;问题是出现在windows的dos显示设置上。 如何解决这个问题&#xff1f; 1.打开运行&#xff0c;输入cmd&#xff1b; 2.界面顶部右键&#xff0c;选择默认值&#xff1b; 3.将437&#xff…

控制台输入javac输出中文乱码如何解决

javac是JDK内开发工具中的一个命令。 出现乱码的原因是因为JDK内部使用的是UTF-8字符编码&#xff0c;而WIN系统默认使用的是GBK字符编码&#xff0c;编码不一致时&#xff0c;java无法正常解析文本中的中文字符。 解决此问题办法如下&#xff1a; 右键“我的电脑”-->点…

【python】控制台中文输出乱码解决方案

注&#xff1a;最后有面试挑战&#xff0c;看看自己掌握了吗 文章目录 控制台原因解决方法方法一方法二 方法三如果是os.system函数乱码 控制台原因 一般的情况下&#xff0c;还是我们的源码文件的编码格式问题。我们一般是要把源码文件的编码格式改成utf-8就好了&#xff0c;…

【学术相关】ChatGPT评中国最好的十大高校

来源&#xff1a;硕博生活圈、综合整理自网络 编辑&#xff1a;学妹 ChatGPT大家想必已经知道是什么了&#xff0c;那么在ChatGPT眼中中国最好的十大高校是那些呢&#xff1f;它列出来的榜单吓了我一跳&#xff0c;以下是ChatGPT所列出的学校名单和上榜原因。 清华大学 清华大…

李彦宏:文心一言对标ChatGPT,百度在大厂中第一个做出来

雷递网 雷建平 3月16日 百度今日在北京总部召开发布会&#xff0c;邀请测试主题围绕新一代大语言模型、生成式AI产品文心一言。 百度创始人、董事长兼首席执行官李彦宏出席及百度首席技术官王海峰出席&#xff0c;并展示了文心一言在文学创作、商业文案创作、数理推算、中文理解…