【人工智能】Transformers之Pipeline(十六):表格问答(table-question-answering)

news2024/9/20 10:25:22

​​​​​​​

目录

一、引言 

二、表格问答(table-question-answering)

2.1 概述

2.2 基于BERT的表格问答模型—TAPAS(TAble PArSing)

2.3 应用场景​​​​​​​

2.4 pipeline参数

2.4.1 pipeline对象实例化参数

2.4.2 pipeline对象使用参数 ​​​​​​​

2.4.3 pipeline返回参数 ​​​​​​​​​​​​​​

2.5 pipeline实战

2.6 模型排名

三、总结


一、引言 

 pipeline(管道)是huggingface transformers库中一种极简方式使用大模型推理的抽象,将所有大模型分为音频(Audio)、计算机视觉(Computer vision)、自然语言处理(NLP)、多模态(Multimodal)等4大类,28小类任务(tasks)。共计覆盖32万个模型

今天介绍NLP自然语言处理的第三篇:表格问答(table-question-answering),在huggingface库内有100个表格问答(table-question-answering)模型。

二、表格问答(table-question-answering)

2.1 概述

表格问答(Table QA)是回答有关给定表格上的信息的问题。

2.2 基于BERT的表格问答模型—TAPAS(TAble PArSing)

回答表格上的自然语言问题通常被视为语义解析任务。为了减轻完整逻辑形式的收集成本,一种流行的方法侧重于由符号而不是逻辑形式组成的弱监督。然而,从弱监督中训练语义解析器会带来困难,此外,生成的逻辑形式仅用作检索符号之前的中间步骤。在本文中,我们提出了 TaPas,一种无需生成逻辑形式的表格问答方法。TaPas 从弱监督中进行训练,并通过选择表格单元格并可选地将相应的聚合运算符应用于此类选择来预测符号。TaPas 扩展了 BERT 的架构以将表格编码为输入,从从维基百科爬取的文本段和表格的有效联合预训练中进行初始化,并进行端到端训练。

2.3 应用场景​​​​​​​

  • 自动化客服系统
  • 智能搜索引擎
  • 数据可视化工具
  • 企业知识图谱构建
  • 科学文献自动化抽取等

2.4 pipeline参数

2.4.1 pipeline对象实例化参数

  • model(PreTrainedModel或TFPreTrainedModel)— 管道将使用其进行预测的模型。 对于 PyTorch,这需要从PreTrainedModel继承;对于 TensorFlow,这需要从TFPreTrainedModel继承。
  • tokenizer ( PreTrainedTokenizer ) — 管道将使用 tokenizer 来为模型编码数据。此对象继承自 PreTrainedTokenizer。
  • modelcardstrModelCard可选) — 属于此管道模型的模型卡。
  • frameworkstr可选)— 要使用的框架,"pt"适用于 PyTorch 或"tf"TensorFlow。必须安装指定的框架。
  • taskstr,默认为"")— 管道的任务标识符。
  • num_workersint可选,默认为 8)— 当管道将使用DataLoader(传递数据集时,在 Pytorch 模型的 GPU 上)时,要使用的工作者数量。
  • batch_sizeint可选,默认为 1)— 当管道将使用DataLoader(传递数据集时,在 Pytorch 模型的 GPU 上)时,要使用的批次的大小,对于推理来说,这并不总是有益的,请阅读使用管道进行批处理。
  • args_parser(ArgumentHandler,可选) - 引用负责解析提供的管道参数的对象。
  • deviceint可选,默认为 -1)— CPU/GPU 支持的设备序号。将其设置为 -1 将利用 CPU,设置为正数将在关联的 CUDA 设备 ID 上运行模型。您可以传递本机torch.devicestr
  • torch_dtypestrtorch.dtype可选) - 直接发送model_kwargs(只是一种更简单的快捷方式)以使用此模型的可用精度(torch.float16,,torch.bfloat16...或"auto"
  • binary_outputbool可选,默认为False)——标志指示管道的输出是否应以序列化格式(即 pickle)或原始输出数据(例如文本)进行。

2.4.2 pipeline对象使用参数 ​​​​​​​

  • tablepd.DataFrameDict)——Pandas DataFrame 或字典,将转换为包含所有表值的 DataFrame。有关字典的示例,请参见上文。
  • querystrList[str])——将与表一起发送到模型的查询或查询列表。
  • sequential可选bool,默认为)— 是否按顺序或批量进行推理。批处理速度更快,但考虑到 SQA 等模型的对话性质,它们要求按顺序进行推理以提取序列内的关系。False
  • paddingboolstr或PaddingStrategy,可选,默认为False)— 激活并控制填充。接受以下值:
  • truncationboolstrTapasTruncationStrategy可选,默认为False)— 激活并控制截断。接受以下值:
    • True'drop_rows_to_fit':截断为参数指定的最大长度max_length ,或模型可接受的最大输入长度(如果未提供该参数)。这将逐行截断,从表中删除行。
    • False'do_not_truncate'(默认):不截断(即,可以输出序列长度大于模型最大可接受输入大小的批次)。

2.4.3 pipeline返回参数 ​​​​​​​​​​​​​​

  • answer ( str) — 给定表的查询的答案。如果有聚合器,答案前面会加上AGGREGATOR >
  • coordinatesList[Tuple[int, int]])——答案单元格的坐标。
  • cells ( List[str]) — 由答案单元格值组成的字符串列表。
  • aggregatorstr)— 如果模型具有聚合器,则返回该聚合器。

2.5 pipeline实战

采用pipeline,使用google的tapas-base-finetuned-wtq进行表格问答。

import os
os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"
os.environ["CUDA_VISIBLE_DEVICES"] = "2"

from transformers import pipeline

oracle = pipeline(model="google/tapas-base-finetuned-wtq")
table = {
    "Repository": ["Transformers", "Datasets", "Tokenizers"],
    "Stars": ["36542", "4512", "3934"],
    "Contributors": ["651", "77", "34"],
    "Programming language": ["Python", "Python", "Rust, Python and NodeJS"],
}
output=oracle(query="How many stars does the transformers repository have?", table=table)
print(output)

执行后,自动下载模型文件并进行识别:

2.6 模型排名

在huggingface上,我们将表格问答(table-question-answering)模型按下载量从高到低排序,总计100个模型,排名​​​​​​​第一是我们上述介绍的tapas-large-finetuned-wtq。

三、总结

本文对transformers之pipeline的表格问答(table-question-answering)从概述、技术原理、pipeline参数、pipeline实战、模型排名等方面进行介绍,读者可以基于pipeline使用文中的2行代码极简的使用NLP中的表格问答(table-question-answering)模型。

期待您的3连+关注,如何还有时间,欢迎阅读我的其他文章:

《Transformers-Pipeline概述》

【人工智能】Transformers之Pipeline(概述):30w+大模型极简应用

《Transformers-Pipeline 第一章:音频(Audio)篇》

【人工智能】Transformers之Pipeline(一):音频分类(audio-classification)

【人工智能】Transformers之Pipeline(二):自动语音识别(automatic-speech-recognition)

【人工智能】Transformers之Pipeline(三):文本转音频(text-to-audio/text-to-speech)

【人工智能】Transformers之Pipeline(四):零样本音频分类(zero-shot-audio-classification)

《Transformers-Pipeline 第二章:计算机视觉(CV)篇》

【人工智能】Transformers之Pipeline(五):深度估计(depth-estimation)

【人工智能】Transformers之Pipeline(六):图像分类(image-classification)

【人工智能】Transformers之Pipeline(七):图像分割(image-segmentation)

【人工智能】Transformers之Pipeline(八):图生图(image-to-image)

【人工智能】Transformers之Pipeline(九):物体检测(object-detection)

【人工智能】Transformers之Pipeline(十):视频分类(video-classification)

【人工智能】Transformers之Pipeline(十一):零样本图片分类(zero-shot-image-classification)

【人工智能】Transformers之Pipeline(十二):零样本物体检测(zero-shot-object-detection)​​​​​​​

《Transformers-Pipeline 第三章:自然语言处理(NLP)篇》

【人工智能】Transformers之Pipeline(十三):填充蒙版(fill-mask)​​​​​​​

【人工智能】Transformers之Pipeline(十四):问答(question-answering)

【人工智能】Transformers之Pipeline(十五):总结(summarization)

【人工智能】Transformers之Pipeline(十六):表格问答(table-question-answering)

【人工智能】Transformers之Pipeline(十七):文本分类(text-classification)

【人工智能】Transformers之Pipeline(十八):文本生成(text-generation)

【人工智能】Transformers之Pipeline(十九):文生文(text2text-generation)

【人工智能】Transformers之Pipeline(二十):令牌分类(token-classification)

【人工智能】Transformers之Pipeline(二十一):翻译(translation)

【人工智能】Transformers之Pipeline(二十二):零样本文本分类(zero-shot-classification)

《Transformers-Pipeline 第四章:多模态(Multimodal)篇》

【人工智能】Transformers之Pipeline(二十三):文档问答(document-question-answering)

【人工智能】Transformers之Pipeline(二十四):特征抽取(feature-extraction)

【人工智能】Transformers之Pipeline(二十五):图片特征抽取(image-feature-extraction)

【人工智能】Transformers之Pipeline(二十六):图片转文本(image-to-text)

【人工智能】Transformers之Pipeline(二十七):掩码生成(mask-generation)

【人工智能】Transformers之Pipeline(二十八):视觉问答(visual-question-answering)

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

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

相关文章

mysql 限制用户登录次数超过3次就 锁定账户在一段时间内不运行操作

这里是引用 主要实现步骤: 1.目测安装的mysql版本得是5.7.40往上,因为我的版本是5.7.14发现里面没有控制等下限制这个插件,插件具体的查看是在你安装目录下的lib/pugin下面 比如我的:C:\zz\ProgramFiles\MySQL\MySQL Server 5.7\l…

【VSCode扩展】通义灵码运行提示“此应用无法在你的电脑上运行”

🤵 作者:coderYYY 🧑 个人简介:前端程序媛,目前主攻web前端,后端辅助,其他技术知识也会偶尔分享🍀欢迎和我一起交流!🚀(评论和私信一般会回&#…

AI模型“减肥”风潮:量化究竟带来了什么?

量化对大模型的影响是什么 ©作者|YXFFF 来源|神州问学 引言 大模型在NLP和CV领域的广泛应用中展现了强大的能力,但随着模型规模的扩大,对计算和存储资源的需求也急剧增加,特别是在资源受限的设备上面临挑战。量化技术通过将模型参数和…

【Transformer】Post-Norm和Pre-Norm

文章目录 Transformer中使用的Post-Norm大模型常用的Pre-NormPre-Norm一定比Post-Norm好吗?二者区别总结参考资料 Pre-Norm和Post-Norm的区别,是面试官非常喜欢问的问题。下面我们按照时间线,尽可能直白地讲清楚二者的区别。 直观来讲&#x…

【MySQL】MySQL表的增删改查(进阶篇)——之约束条件

前言: 🌟🌟本期讲解关于MySQL表增删查改进阶篇,希望能帮到屏幕前的你。 🌈上期博客在这里:http://t.csdnimg.cn/cF0Mf 🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客 目录 …

什么是监督学习(Supervised Learning)

一、监督学习概述 监督学习(Supervised Learning)是一种极具威力的机器学习方法,能够训练算法以识别数据中的模式,并据此进行精准的预测或分类。借助已有的标记数据,监督学习模型学会了从输入到输出的映射关系&#x…

导弹制导方式简介-其实跟卫星定位系统关系不大

导弹制导方式其实跟卫星定位系统关系不大,所以所谓关闭卫星定位系统导弹就不能打是谣言! 导弹制导是指利用不同的方式,选择飞行路线,将具有动力飞行的弹头移动一段距离之后,击中预先设定的目标。导弹制导系统利用其中…

【网络】十大网络协议

文章目录 1. HTTP(HyperText Transfer Protocol,超文本传输协议)2. HTTPS(Secure Hypertext Transfer Protocol,安全超文本传输协议)3. HTTP/34. TCP(Transmission Control Protocol&#xff0c…

树莓派5-番外篇-GPU相关-学习记录2

树莓派5-番外篇-GPU相关 要查看你的树莓派5是否支持GPU计算,以及如何启用和使用它,你需要了解树莓派5的硬件配置和当前的驱动支持情况。以下是查看树莓派5的GPU支持情况的步骤。 树莓派5 GPU 支持概述 树莓派5 使用的是 Broadcom BCM2712 处理器&…

大数据新视界 --大数据大厂之Hive与大数据融合:构建强大数据仓库实战指南

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

Ps初步使用教程

1.画面快捷键 Ctrl鼠标滚轮:画面左右移动 Shift鼠标滚轮:画面上下快速移动(不加Shift正常速度移动) Alt鼠标滚轮:画面大小缩放 2.工具快捷键 ShiftG:渐变、油漆桶、3D材质施放 切换 CtrlO&#xff1a…

【Unity3D】如何用MMD4Mecanim插件将pmx格式模型转换为fbx格式模型

文章目录 概要一、下载MMD4Mecanim插件并导入U3D1.1 下载链接1.2 导入过程 二、将.pmx模型转换为.fbx模型三、其他参数设置3.1 VMD参数3.2 Animations 概要 在Unity的环境下,想要将.pmx格式的3D模型转换为.fbx是有可以用的插件的,并不需要某些教程中那么…

Vue3+TypeScript二次封装axios

安装如下 npm install axios 第一步:创建config配置文件,用于存放请求后端的ip地址,用于后期打包后便于修改ip地址。 注:typescript要求参数要有类型。(ES6 定义对象 属性 类型 修改的是属性的值) inte…

超级干货|AI产品经理6大知识体系,【附零基础小白入门指南】

想要转行AI产品经理的宝子,这6大知识体系是你入门的基础 💥基础知识:AI产品的根基 💥平台和硬件支持:AI产品的技术基础设施 💥AI核心技术:推动产品创新的引擎 💥行业实践应用&#…

Python计算机视觉 第8章-图像内容分类

Python计算机视觉 第8章-图像内容分类 8.1 K邻近分类法(KNN) 在分类方法中,最简单且用得最多的一种方法之一就是 KNN(K-Nearest Neighbor ,K邻近分类法),这种算法把要分类的对象(例如一个特征…

知网合作商AEPH出版,学生/教师均可投稿,优先录用教育社科领域,往期最快2周见刊

AEPH出版社旗下有5本学术期刊,专门出版自然科学、社会科学研究与教育领域论文的高影响力期刊,拥有正规ISSN号,出版类型涉及应用和理论方面的原创和未曾公开发表的研究论文,分配独立DOI号。AEPH作为中国知网(CNKI&#…

COCOS:(飞机大战01)背景图无线循环向下滚动

飞机大战知识点总结 背景图宽高:480*852 将背景图移动到Canvas中 设置图2的Y轴为852,这样图1和图2就衔接上了 创建控制背景的ts文件 import { _decorator, Component, Node } from cc; const { ccclass, property } _decorator;ccclass(Bg) export cla…

HTTPS证书申请

🌐 JoySSL CA机构 机构介绍:JoySSL是网盾安全基于全球可信顶级根创新推出的新一代https数字证书,也是目前为数不多的中国自主品牌SSL证书。 服务特点:JoySSL携手全球权威CA机构,全球多节点服务器验证签发,安…

MySQL系列—8.存储结构

目录 1.系统表空间 ibdata 2.通用表空间 .ibd 3.独立表空间 4.Undo 表空间 5.临时表空间 6.Redo Log File 1.系统表空间 ibdata 系统表空间由参数innodb_data_file_path定义路径、初始化大小、自动扩展策略 如: innodb_data_file_path/dayta/mysql/ibdata1:…

【机器学习】C++与OpenCV实战:创建你的第一个图片显示程序

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 前言 在计算机视觉领域,OpenCV是一个非常强大的开源库,它提供了大量的图像处理和计算机视觉功能。C与Op…