🚀 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許可證。