【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.mzph.cn/news/5605.shtml

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

相关文章

超详细图文教程:3DS Max 中创建低多边形游戏长剑模型

推荐: NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 在此,由两部分组成的教程的第一部分中,我将向您展示如何: 对剑柄进行建模剑的护手模型剑刃建模 1. 如何制作剑柄 步骤 1 在本教程中使用正交视图。要更改视图&#x…

AI时代带来的图片造假危机,该如何解决

一、前言 当今,图片造假问题非常泛滥,已经成为现代社会中一个严峻的问题。随着AI技术不断的发展,人们可以轻松地通过图像编辑和AI智能生成来篡改和伪造图片,使其看起来真实而难以辨别,之前就看到过一对硕士夫妻为了骗…

Flink-端到端精确一次(End-To-End Exactly-Once)

1.总结 目的:想要在故障恢复后不丢数据 输入端 保证可以重复发送数据如果是kafka,Flink负责维护offset,不用kafka维护设置kafka的隔离级别为:读已提交flink 开启检查点采用对齐或者不对齐的精确一次输出端 kafka 幂等事务两阶段…

一文了解Python中的while循环语句

目录 🥩循环语句是什么 🥩while循环 🥩遍历猜数字 🥩while循环嵌套 🥩while循环嵌套案例 🦐博客主页:大虾好吃吗的博客 🦐专栏地址:Python从入门到精通专栏 循环语句是什…

Mysql表锁与行锁

Mysql锁实战 前言:什么是锁一:全局锁1.1 概念1.2 作用1.3 使用1.4 特点 二:表级锁2.1 概念2.2 分类2.2.1 表锁2.2.2 元数据锁 MDL2.2.3 意向锁 三:行级锁3.1 行锁(Record Lock)3.2 间隙锁(Gap Lock)3.3 临键锁(Next-Key Lock): 四…

C# 委托详解

一.委托的概念 C#中委托也叫代理,委托提供了后期绑定机制(官方解释),功能类似于C中的函数指针,它存储的就是一系列具有相同签名和返回类型的方法的地址,调用委托的时候,它所包含的所有方法都会被执行。 二.委托的用法…

自然语言处理基础详解入门

1、自然语言的概念 自然语言是指人类社会约定俗成的,并且区别于人工语言(如计算机程序)的语言,,是自然而然的随着人类社会发展演变而来的语言,它是人类学习生活的重要工具。 2、自然语言处理概述 自然语言…

Redis【实践篇】之RedisTemplate基本操作

Redis 从入门到精通【应用篇】之RedisTemplate详解 文章目录 Redis 从入门到精通【应用篇】之RedisTemplate详解0. 前言1. RedisTemplate 方法1. 设置RedisTemplate的序列化方式2. RedisTemplate的基本操作 2. 源码浅析2.1. 构造方法2.2. 序列化方式2.3. RedisTemplate的操作方…

【数据可视化】基于Python和Echarts的中国经济发展与人口变化可视化大屏

1.题目要求 本次课程设计要求使用Python和ECharts实现数据可视化大屏。要求每个人的数据集不同,用ECharts制作Dashboard(总共至少4图),要求输入查询项(地点和时间)可查询数据,查询的数据的地理…

Stable Diffusion如何生成高质量的图-prompt写法介绍

文章目录 Stable Diffusion使用尝试下效果prompt的编写技巧prompt 和 negative promptPrompt格式Prompt规则细节优化Guidance Scale 总结 Stable Diffusion Stable Diffusion是一个开源的图像生成AI系统,由Anthropic公司开发。它基于 Transformer模型架构,可以通过文字描述生成…

Asp.net Core配置CORS 跨域无效(记录一下)

问题 学习老杨的英语网站项目,运行项目时,发现出现了跨域的问题。 然后自己建一项目,进行配置,测试,发现配置CORS 跨域时,发现跨域的配置无效,依旧报错。 解决 网上找了一天,然后…

USG6000v防火墙的基本使用:制定安全策略让不同安全区域的设备进行访问

目录 一、首先配置环境: 二、实验拓扑及说明 拓扑: PC1和PC2配置ip地址:​编辑​编辑 r4路由器配置ip: 进行防火墙的设置: 1、创建trust1区域和untrust1区域 2、制定防火墙的策略: 3、为防火墙增加可以…

hive常用函数

行列转换 create table tmp_summer1(id string,name string brith string);insert into tmp_summer1 values(001,A,20211202); insert into tmp_summer1 values(001,B,20211202); insert into tmp_summer1 values(002,A,20211202); insert into tmp_summer1 values(001,B,20211…

unity进阶--json的使用学习笔记

文章目录 unity自带的json使用方法第三方--LitJson的使用第一种使用方式第二种--使用jsonData unity自带的json使用方法 创建数据类 转化成json 解析json 第三方–LitJson的使用 第一种使用方式 数据类 创建和解析 第二种–使用jsonData 创建 解析

R语言混合效应(多水平/层次/嵌套)模型及贝叶斯实现技术应用

回归分析是科学研究中十分重要的数据分析工具。随着现代统计技术发展,回归分析方法得到了极大改进。混合效应模型(Mixed effect model),即多水平模型(Multilevel model)/分层模型(Hierarchical Model)/嵌套…

CentOS7系统MBR、GRUB2、内核启动流程报错问题

目录 🥩Linux启动流程 🥩MBR修复 🍭1、模拟损坏 🍭2、重启测试 🍭3、修复MBR 🍭4、测试系统 🥩GRUB2修复 🍭1、模拟损坏 🍭2、修复GRUB2 🍭3、测试系统 &…

vue中export和export default的使用

<script> export default {name: HelloWorld } $(function () {alert(引入成功) }) </script> 1、export的使用 比喻index.js要使用test.js中的数据&#xff0c;首先在test.js文件中进行导出操作 代码如下&#xff1a; export function list() {alert("list…

Rust vs Go:常用语法对比(四)

题图来自 Go vs. Rust performance comparison: The basics 61. Get current date 获取当前时间 package mainimport ( "fmt" "time")func main() { d : time.Now() fmt.Println("Now is", d) // The Playground has a special sandbox, so you …

多目标灰狼算法(MOGWO)的Matlab代码详细注释及难点解释

目录 一、外部种群Archive机制 二、领导者选择机制 三、多目标灰狼算法运行步骤 四、MOGWO的Matlab部分代码详细注释 五、MOGWO算法难点解释 5.1 网格与膨胀因子 5.2 轮盘赌方法选择每个超立方体概率 为了将灰狼算法应用于多目标优化问题,在灰狼算法中引入外部种群Archi…

Vue第六篇:电商网站图片放大镜功能

本文参考&#xff1a;https://blog.csdn.net/liushi21/article/details/127497487 效果如下&#xff1a; 功能实现分解如下&#xff1a; &#xff08;1&#xff09;商品图区域&#xff1a;主要是浏览图片&#xff0c;根据图片的url显示图片。当鼠标离开此区域时"放大镜区…