🚀 TAPEX (基础规模模型)
TAPEX是一种预训练方法,通过学习神经SQL执行器,赋予现有模型“表格推理”能力,在表格问答等任务中表现出色。
🚀 快速开始
TAPEX(通过执行进行表格预训练)由Qian Liu、Bei Chen、Jiaqi Guo、Morteza Ziyadi、Zeqi Lin、Weizhu Chen、Jian - Guang Lou在论文 TAPEX: Table Pre-training via Learning a Neural SQL Executor 中提出。原始代码仓库可在 这里 找到。
✨ 主要特性
TAPEX(Table Pre - training via Execution)是一种概念简单且经验证有效的预训练方法,能让现有模型具备表格推理技能。TAPEX通过在合成语料库上学习神经SQL执行器来实现表格预训练,该语料库通过自动合成可执行的SQL查询获得。
TAPEX基于BART架构,这是一种Transformer编码器 - 解码器(seq2seq)模型,具有双向(类似BERT)编码器和自回归(类似GPT)解码器。
此模型是在 WikiTableQuestions 数据集上微调的tapex - base
模型。
📚 详细文档
预期用途
你可以使用该模型进行复杂问题的表格问答。以下是一些可解决的问题示例(对应表格未展示):
问题 |
答案 |
根据表格,辣马工作室制作的最后一款游戏是什么? |
《赤影战士:恶魔猎人》 |
科勒雷恩学术机构和皇家邓甘嫩学校的亚军差距是多少? |
20 |
格林斯特里特出演的第一部和最后一部电影是什么? |
《马耳他之鹰》《马来亚》 |
阿拉萨伊·桑迪克在哪届奥运会中未进入前20名? |
2012年 |
哪个广播公司主办了3个节目,但每个节目只有1集? |
第四频道 |
使用方法
以下是如何在transformers库中使用此模型:
from transformers import TapexTokenizer, BartForConditionalGeneration
import pandas as pd
tokenizer = TapexTokenizer.from_pretrained("microsoft/tapex-base-finetuned-wtq")
model = BartForConditionalGeneration.from_pretrained("microsoft/tapex-base-finetuned-wtq")
data = {
"year": [1896, 1900, 1904, 2004, 2008, 2012],
"city": ["athens", "paris", "st. louis", "athens", "beijing", "london"]
}
table = pd.DataFrame.from_dict(data)
query = "In which year did beijing host the Olympic Games?"
encoding = tokenizer(table=table, query=query, return_tensors="pt")
outputs = model.generate(**encoding)
print(tokenizer.batch_decode(outputs, skip_special_tokens=True))
评估方法
请在 这里 找到评估脚本。
BibTeX引用和引用信息
@inproceedings{
liu2022tapex,
title={{TAPEX}: Table Pre-training via Learning a Neural {SQL} Executor},
author={Qian Liu and Bei Chen and Jiaqi Guo and Morteza Ziyadi and Zeqi Lin and Weizhu Chen and Jian-Guang Lou},
booktitle={International Conference on Learning Representations},
year={2022},
url={https://openreview.net/forum?id=O50443AsCP}
}
📄 许可证
本项目采用MIT许可证。