【学习总结】python transformers 预处理 YelpReviewFull 数据集,并展示

1. 数据简介

Yelp是一家总部位于美国旧金山的跨国公司,它开发Yelp.com网站和Yelp移动应用程序。Yelp是一个用户对餐馆等场所进行评价的网站。(维基百科)

Yelp 评论数据集包含来自 Yelp 的评论。 它是从 Yelp 数据集挑战 2015 数据中提取的。
Yelp 评论数据集

支持的任务:
text-classification、sentiment-classification
该数据集主要用于文本分类:给定文本,预测情感。

数据结构:
一个数据包括文本和相应的标签:

  1. ‘text’: 评论文本使用双引号(“)转义,任何内部双引号都通过2个双引号(”")转义。换行符使用反斜杠后跟一个 “n” 字符转义,即 “\n”。
  2. ‘label’: 对应于评论的分数(0-4)0 表示1星,4表示5星
{'label': 0,'text': "This place is absolute garbage...  Half of the tees are not available, including all the grass tees.  It is cash only, and they sell the last bucket at 8, despite having lights.  And if you finish even a minute after 8, don't plan on getting a drink.  The vending machines are sold out (of course) and they sell drinks inside, but close the drawers at 8 on the dot.  There are weeds grown all over the place.  I noticed some sort of batting cage, but it looks like those are out of order as well.  Someone should buy this place and turn it into what it should be."}

2. 数据显示

load_dataset.py :

from datasets import load_datasetdataset = load_dataset("yelp_review_full")print(dataset)
print(type(dataset))
print(dataset["train"][11])

输出结果:

DatasetDict({train: Dataset({features: ['label', 'text'],num_rows: 650000})test: Dataset({features: ['label', 'text'],num_rows: 50000})
})
<class 'datasets.dataset_dict.DatasetDict'>
{'label': 0, 'text': "This place is absolute garbage...  Half of the tees are not available, including all the grass tees.  It is cash only, and they sell the last bucket at 8, despite having lights.  And if you finish even a minute after 8, don't plan on getting a drink.  The vending machines are sold out (of course) and they sell drinks inside, but close the drawers at 8 on the dot.  There are weeds grown all over the place.  I noticed some sort of batting cage, but it looks like those are out of order as well.  Someone should buy this place and turn it into what it should be."}

随机显示数据:

import random
import pandas as pd
import datasets
from IPython.display import display, HTMLdef show_random_elements(dataset, num_examples=10):assert num_examples <= len(dataset), "num_examples cannot exceed the length of the dataset."picks = []for _ in range(num_examples):pick = random.randint(0, len(dataset) - 1)while pick in picks:pick = random.randint(0, len(dataset) - 1)picks.append(pick)df = pd.DataFrame(dataset[picks])for column, typ in dataset.features.items():if isinstance(typ, datasets.ClassLabel):df[column] = df[column].transform(lambda i: typ.names[i])# display(HTML(df.to_html()))print(df)show_random_elements(dataset["train"],12)

输出结果:

      label                                               text
0   4 stars  Inside the Planet hollywood, walked over from ...
1    1 star  I would rate it zero because the manager is a ...
2   4 stars  Great beats that cuts thru your soul.   A bit ...
3    1 star  When making an \"appointment\" you are not tol...
4    2 star  Tacos El Gordo is a bit of a zoo, even at 2 am...
5   3 stars  I like McAlisters. They are always a good choi...
6   3 stars  First thing that attracted my attention when I...
7   3 stars  The food was ok. I ordered mozzarella sticks a...
8   3 stars  Great place to go after the pool when you need...
9    2 star  Thought I'd give this new place a try located ...
10  3 stars  Rooms are nice, but no bottle waters?! They sh...
11   1 star  One word summary: abysmal. \n\nWow, where do I...

3. 数据预处理

本地数据集,使用 Tokenizer 来处理文本,对于长度不等的输入数据,可以使用填充(padding)和截断(truncation)策略来处理。
Datasets 的 map 方法,支持一次性在整个数据集上应用预处理函数。
下面使用填充到最大长度的策略,处理整个数据集:

from transformers import AutoTokenizertokenizer = AutoTokenizer.from_pretrained("bert-base-cased")def tokenize_function(examples):return tokenizer(examples["text"], padding="max_length", truncation=True)tokenized_datasets = dataset.map(tokenize_function, batched=True)

padding=“max_length” 表示将样本的长度填充到最大长度,
truncation=True 表示对超过最大长度的样本进行截断

使用 map 方法进行批量处理:dataset.map(tokenize_function, batched=True) 将 tokenize_function 应用于数据集(dataset)中的每个示例,并使用 batched=True 参数表示对数据集进行批量处理
输出结果:

Map: 100%|██████████| 650000/650000 [01:25<00:00, 7601.71 examples/s]
Map: 100%|██████████| 50000/50000 [00:06<00:00, 7505.79 examples/s]label  ...                                     attention_mask
0  1 star  ...  [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
1  1 star  ...  [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...[2 rows x 5 columns]

在网页显示:
在这里插入图片描述

4 数据抽样

seed = 36 是一个随机种子,用于使洗牌结果可重复

train_dataset = tokenized_datasets["train"].shuffle(seed=36).select(range(100))
eval_dataset = tokenized_datasets["test"].shuffle(seed=36).select(range(100))

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

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

相关文章

最近火绒的explorer问题,电脑黑屏只有鼠标

由于安全限制,覆盖文件是行不通的,按照火绒官方给的方法试试,还是不行。主要是他最后一步写得有问题。恭喜火绒,成功的将我们所有客户的电脑安装的火绒卸载。 解决方案 1、CTRL+SHIFT+ESC调出任务管理器; 2、左上角,文件–运行新任务–浏览,进入火绒安装路径,双击HRU…

web的部署

首先&#xff0c;我们鼠标右击此电脑&#xff0c;管理&#xff0c;添加角色和功能 默认下一步&#xff0c; 默认下一步&#xff0c; 默认下一步&#xff0c; 勾选web&#xff0c;点击下一步&#xff0c; 点击下一步&#xff0c; 默认下一步&#xff0c; 勾选所需功能&#xff0…

【Paper Reading】6.RLHF-V 提出用RLHF的1.4k的数据微调显著降低MLLM的虚幻问题

分类 内容 论文题目 RLHF-V: Towards Trustworthy MLLMs via Behavior Alignment from Fine-grained Correctional Human Feedback 作者 作者团队&#xff1a;由来自清华大学和新加坡国立大学的研究者组成&#xff0c;包括Tianyu Yu, Yuan Yao, Haoye Zhang, Taiwen He, Y…

WOA-GRU多输入分类预测 | 鲸鱼优化算法-门控循环单元神经网络 | Matlab

目录 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 亮点与优势&#xff1a; 二、实际运行效果&#xff1a; 三、部分程序&#xff1a; 四、完整程序下载&#xff1a; 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 本代码基于Matlab平台编译&a…

会声会影2023旗舰版VideoStudio Ultimate 2023 v26.1.0.268 中文免费版(附激活补丁)

Corel VideoStudio Ultimate 2023&#xff08;会声会影2023&#xff09;是Corel旗下一款功能强大的专业视频制作软件的视频编辑软件及视频剪辑软件&#xff0c;非常专业的使用效果&#xff0c;会声会影2023中文版可以针对剪辑电影进行使用&#xff0c;非常强大的色彩校正方式&a…

mongodb-linux下载安装

下载地址 Download MongoDB Community Server | MongoDB 选择 下载 下载后是 mongodb-linux-x86_64-4.0.28.tgz 解压 tar -zxvf mongodb-linux-x86_64-4.0.28.tgz 创建data 和 log目录 cd /data/xxx/mongodb/mongodb-linux-x86_64-4.0.28 mkdir data mkdir log 创建配置文件…

【危化品泄漏源定位】基于改进哈里斯鹰优化算法的危化品泄漏源定位算法 溯源定位算法【Matlab代码#63】

文章目录 【获取资源请见文章第7节&#xff1a;资源获取】1. 算法概述2. 原始哈里斯鹰算法&#xff08;HHO&#xff09;3. 改进哈里斯鹰算法&#xff08;IHHO&#xff09;3.1 动态自适应逃逸能量3.2 动态扰动策略 4. 构建源强和位置反算模型5. 部分代码展示6. 仿真结果展示7. 资…

【JavaEE -- 多线程3 - 多线程案例】

多线程案例 1.单例模式1.1 饿汉模式的实现方法1.2 懒汉模式的实现方法 2. 阻塞队列2.1 引入生产消费者模型的意义&#xff1a;2.2 阻塞队列put方法和take方法2.3 实现阻塞队列--重点 3.定时器3.1 定时器的使用3.2 实现定时器 4 线程池4.1 线程池的使用4.2 实现一个简单的线程池…

phpcms上传漏洞

原始漏洞 漏洞原理&#xff1a;我们上传一个zip的压缩包&#xff0c;它会解压然后删除其中不是.jpg .gig .png的文件 function check_dir($dir)&#xff1a;这是一个PHP函数的定义&#xff0c;它接受一个参数 $dir&#xff0c;代表要检查的目录路径。 $handle opendir($dir)…

Gartner最新生成式AI报告:300个行业用例揭示GenAI垂直行业发展的五个关键的不确定性

我们对各行业 GenAI 用例的分析揭示了高管在规划工作时面临的五个关键不确定性。首席信息官可以利用这项研究来战略性地应对这些不确定性&#xff0c;并最大限度地提高 GenAI 投资的成果。 主要发现 我们对 300 多个特定行业的生成式 AI 用例的分析揭示了五个关键的不确定性&am…

java将oss链接打包成压缩包并返回

博主介绍&#xff1a; 22届计科专业毕业&#xff0c;来自湖南&#xff0c;主要是在CSDN记录一些自己在Java开发过程中遇到的一些问题&#xff0c;欢迎大家一起讨论学习&#xff0c;也欢迎大家的批评指正。 文章目录 前言解决注意结果展示 前言 需求&#xff1a;在用户列表中的…

SpringTask实现的任务调度与XXL-job实现的分布式任务调度【XXL-Job工作原理】

目录 任务调度 分布式任务调度 分布式任务调度存在的问题以及解决方案 使用SpringTask实现单体服务的任务调度 XXL-job分布式任务调度系统工作原理 XXL-job系统组成 XXL-job工作原理 使用XXL-job实现分布式任务调度 配置调度中心XXL-job 登录调度中心创建执行器和任务 …