Downloads · 30 days
20
22% of all-time downloads
rizki-syazali/tapasid_finetuned_hitab_to_itqa
tapasid_finetuned_hitab_to_itqa is a table question answering model from rizki-syazali. Use it for the table question answering task on the model card, and read the license before you ship it in a product.
IndoTaPas (Two-Stage) is our state-of-the-art TaPas-based model specifically adapted and fine-tuned for the Table Question Answering (TQA) task in the Indonesian language. It is designed to extract precise answers fro…
Downloads · 30 days
20
22% of all-time downloads
All-time downloads
89
Public
Parameters
111M
5.3 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors443 MB · 100%
From the Hugging Face model README
IndoTaPas (Two-Stage) is our state-of-the-art TaPas-based model specifically adapted and fine-tuned for the Table Question Answering (TQA) task in the Indonesian language. It is designed to extract precise answers from structured tabular data based on natural language questions.
This specific variant is our best-performing model, achieving an Exact Match (EM) of 45.22%. It was trained using a two-stage fine-tuning strategy:
IndoHiTab-EXT-MT (automatically translated data) to build broad reasoning capabilities.IndoHiTab dataset for precise domain adaptation.id)The model is intended to be used for extractive table question answering in Indonesian. Given a flattened, 1-dimensional table and a corresponding question, the model will output the coordinates of the cell(s) containing the correct answer.
You can load the model using the transformers library:
from transformers import TapasTokenizer, TapasForQuestionAnswering
import pandas as pd
model_name = "rizki-syazali/tapasid_finetuned_hitab_to_itqa"
tokenizer = TapasTokenizer.from_pretrained("google/tapas-base") # using base tokenizer with custom vocab
model = TapasForQuestionAnswering.from_pretrained(model_name)
# Example Table and Question
data = {'Nama': ['Budi', 'Siti'], 'Umur': ['25', '30']}
table = pd.DataFrame.from_dict(data)
queries = ["Berapa umur Siti?"]
inputs = tokenizer(table=table, queries=queries, padding="max_length", return_tensors="pt")
outputs = model(**inputs)
# Predict answer coordinates
predicted_answer_coordinates, = tokenizer.convert_logits_to_predictions(inputs, outputs.logits.detach())
print(predicted_answer_coordinates)
The model was fine-tuned using a combination of machine-translated and human-translated datasets:
The "Flattened" version of the tables was used, where multi-level hierarchical headers were concatenated into single-level headers.
The model was evaluated on the unseen test split of the IndoHiTab dataset, comprising 502 high-quality, manually translated question-table pairs.
| Model Variant | Fine-Tuning Strategy | Exact Match (EM) | F1 Score |
|---|---|---|---|
| IndoTaPas (Two-Stage) | Stage 1 (MT Data) + Stage 2 (Manual Data) | 45.22% | 45.22% |
The Two-Stage IndoTaPas model achieves the state-of-the-art Exact Match (EM) score of 45.22% on the Indonesian TQA task. This performance significantly outperforms early neural semantic parsers, UnifiedSKG variants, and even surpasses massive zero-shot generative models like Meta-Llama-3-8B-Instruct (44.02% EM) in exact retrieval precision.
<!-- ## Citation If you use this model or the IndoHiTab dataset, please cite our paper: **BibTeX:** ```bibtex @article{syazali2026indotapas, title={IndoTaPas: A TaPas-Based Model for Indonesian Table Question Answering}, author={Syazali, Rizki and Co-authors}, journal={Expert Systems with Applications}, year={2026} } ```-->