🚀 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是一种概念简单且经验证有效的预训练方法,能赋予现有模型“表格推理”技能。它通过在合成语料库上学习神经SQL执行器来实现表格预训练,该语料库由自动合成的可执行SQL查询获得。
- 基于BART架构,这是一种具有双向(类似BERT)编码器和自回归(类似GPT)解码器的Transformer编码器 - 编码器(seq2seq)模型。
- 此模型是在 Tabfact 数据集上微调的
tapex - base
模型。
📦 安装指南
文档未提及安装步骤,暂不展示。
💻 使用示例
基础用法
from transformers import TapexTokenizer, BartForSequenceClassification
import pandas as pd
tokenizer = TapexTokenizer.from_pretrained("microsoft/tapex-large-finetuned-tabfact")
model = BartForSequenceClassification.from_pretrained("microsoft/tapex-large-finetuned-tabfact")
data = {
"year": [1896, 1900, 1904, 2004, 2008, 2012],
"city": ["athens", "paris", "st. louis", "athens", "beijing", "london"]
}
table = pd.DataFrame.from_dict(data)
query = "beijing hosts the olympic games in 2012"
encoding = tokenizer(table=table, query=query, return_tensors="pt")
outputs = model(**encoding)
output_id = int(outputs.logits[0].argmax(dim=0))
print(model.config.id2label[output_id])
评估方法
评估脚本请参考 这里。
📚 详细文档
你可以使用该模型进行表格事实验证。
🔧 技术细节
文档未提供足够技术细节,暂不展示。
📄 许可证
本项目采用MIT许可证。
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}
}