CoolFace
Datasetpublic

PaDaS-Lab/webfaq-retrieval

WebFAQ Retrieval Dataset Overview | Details | Structure | Examples | Considerations | License | Citation | Contact | Acknowledgement Overview The WebFAQ Retrieval Dataset is a carefully filtered and curated subset of the broader WebFAQ Q&A Dataset.It is purpose-built for Information Retrieval (IR) tasks, such as training and evaluating dense or sparse retrieval models in multiple languages. Each of the… See the full description on the dataset page: https://huggingface.co/datasets/PaDaS-Lab/webfaq-retrieval.

sourceHugging Faceupdated 1y agoView on Hugging Face
10likes6.6kdownloads
Dataset Card

<h1 align="center">WebFAQ Retrieval Dataset</h1> <h4 align="center"> <p> <a href=#overview>Overview</a> | <a href=#details>Details</a> | <a href=#structure>Structure</a> | <a href=#examples>Examples</a> | <a href=#considerations>Considerations</a> | <a href=#license>License</a> | <a href=#citation>Citation</a> | <a href=#contact>Contact</a> | <a href=#acknowledgement>Acknowledgement</a> <p> </h4>

Overview

The WebFAQ Retrieval Dataset is a carefully filtered and curated subset of the broader WebFAQ Q&A Dataset. It is purpose-built for Information Retrieval (IR) tasks, such as training and evaluating dense or sparse retrieval models in multiple languages.

Each of the 49 largest languages from the WebFAQ corpus has been thoroughly cleaned and refined to ensure an unblurred notion of relevance between a query (question) and its corresponding document (answer). In particular, we applied:

  • Deduplication of near-identical questions,
  • Semantic consistency checks for question-answer alignment,
  • Train/Test splits for retrieval experiments.

Details

Languages

The WebFAQ Retrieval Dataset covers 49 languages from the original WebFAQ corpus, both high-resource as well as low-resource. To ensure diversity, the 49 subsets originate from at least 100 different websites each. A single language comprises a few thousands to a few million of QA pairs after our rigorous filtering steps:

Top 20 Languages
Language# QA pairs
ara143k
dan138k
deu891k
eng5.28M
fas227k
fra570k
hin100k
ind111k
ita258k
jpn309k
kor102k
nld371k
pol193k
por209k
rus388k
spa605k
swe159k
tur145k
vie124k
zho132k

<details> <summary> Table of all 49 languages (lexicographical order) </summary>

Language# QA pairs# Test
ara143k10k
aze4869487
ben14.3k1432
bul34.7k3474
cat12.7k1270
ces72.3k7231
dan138k10k
deu891k10k
ell38.5k3852
eng5.28M10k
est12.9k1290
fas227k10k
fin73.5k7355
fra570k10k
heb39.0k3896
hin100k10k
hrv5545555
hun45.3k4530
ind111k10k
isl4778478
ita258k10k
jpn309k10k
kat2405241
kaz2995300
kor102k10k
lav13.1k1312
lit18.4k1837
mar7404741
msa6429643
nld371k10k
nor63.2k6324
pol193k10k
por209k10k
ron59.9k5990
rus388k10k
slk31.5k3153
slv16.2k1617
spa605k10k
sqi2077208
srp5824583
swe159k10k
tgl3697370
tha47.4k4743
tur145k10k
ukr68.5k6851
urd2775278
uzb1263127
vie124k10k
zho132k10k

</details>

<details> <summary> Table of all 49 languages (ordered by size) </summary>

Language# QA pairs# Test
eng5.28M10k
deu891k10k
spa605k10k
fra570k10k
rus388k10k
nld371k10k
jpn309k10k
ita258k10k
fas227k10k
por209k10k
pol193k10k
swe159k10k
tur145k10k
ara143k10k
dan138k10k
zho132k10k
vie124k10k
ind111k10k
kor102k10k
hin100k10k
fin73.5k7355
ces72.3k7231
ukr68.5k6851
nor63.2k6324
ron59.9k5990
tha47.4k4743
hun45.3k4530
heb39.0k3896
ell38.5k3852
bul34.7k3474
slk31.5k3153
lit18.4k1837
slv16.2k1617
ben14.3k1432
lav13.1k1312
est12.9k1290
cat12.7k1270
mar7404741
msa6429643
srp5824583
hrv5545555
aze4869487
isl4778478
tgl3697370
kaz2995300
urd2775278
kat2405241
sqi2077208
uzb1263127

</details>

<details> <summary> NDCG@10 in % for three examplary multilingual embedding models </summary>

Embedding_Model#_Paramsaraazebenbulcatcesdandeuellengestfasfinfrahebhinhrvhunindislitajpnkatkazkorlavlitmarmsanldnorpolporronrusslkslvspasqisrpswetglthaturukrurduzbviezho
p-m-MiniLM-L12-v2118M40.8937.9012.8253.6271.0651.6359.3136.3458.1446.8659.8136.3048.0440.3547.7149.7374.9155.5357.9243.1546.6437.4361.0939.3543.3656.4856.0453.5681.5745.8560.9143.5951.4861.2232.9759.4257.9145.1777.3868.3152.3935.7849.8435.9644.7770.4738.6151.4256.43
m-E5-base278M75.6663.5180.9078.6587.3478.6684.1467.9180.3464.2981.3370.0176.1468.6678.8275.2687.2279.4776.6586.2275.5270.0266.2267.9082.5275.7880.2881.1690.7574.6084.4673.6775.6183.0863.2183.6279.2772.7286.7783.1779.0380.7975.2465.0276.1782.1772.5281.9384.18
jina-v3572M84.6484.3191.8585.2594.7485.9987.5374.2287.0166.7089.7279.4983.5276.4186.8086.8694.6785.4484.0293.1182.2975.2994.4990.1785.4187.0089.6594.4695.1079.8588.5981.2783.1388.4372.0289.3487.3378.6396.3688.8583.6893.6079.2370.9683.8893.2788.9187.4088.85

</details>

Structure

Unlike the raw Q&A dataset, WebFAQ Retrieval provides explicit train/test splits for each of the 49 languages. The general structure for each language is:

  • Corpus: A set of unique documents (answers) with IDs and text fields.
  • Queries: A set of question strings, each tied to a document ID for relevance.
  • Qrels: Relevance labels, mapping each question to its relevant document (corresponding answer).

Folder Layout (e.g., for eng)

eng/
  ├── corpus.jsonl        # all unique documents (answers)
  ├── queries.jsonl       # all queries for train/test
  ├── train.jsonl         # relevance annotations for train
  └── test.jsonl          # relevance annotations for test

Examples

Below is a small snippet showing how to load English train/test sets with 🤗 Datasets:

python
import json
from datasets import load_dataset
from tqdm import tqdm

# Load train qrels
train_qrels = load_dataset(
    "PaDaS-Lab/webfaq-retrieval",
    "eng-qrels",
    split="train"
)

# Inspect first qrel
print(json.dumps(train_qrels[0], indent=4))

# Load the corpus (answers)
data_corpus = load_dataset(
    "PaDaS-Lab/webfaq-retrieval",
    "eng-corpus",
    split="corpus"
)
corpus = {
    d["_id"]: {"title": d["title"], "text": d["text"]} for d in tqdm(data_corpus)
}

# Inspect first document
print("Document:")
print(json.dumps(corpus[train_qrels[0]["corpus-id"]], indent=4))

# Load all queries
data_queries = load_dataset(
    "PaDaS-Lab/webfaq-retrieval",
    "eng-queries",
    split="queries"
)
queries = {
    q["_id"]: q["text"] for q in tqdm(data_queries)
}

# Inspect first query
print("Query:")
print(json.dumps(queries[train_qrels[0]["query-id"]], indent=4))

# Keep only those queries with relevance annotations
query_ids = set([q["query-id"] for q in train_qrels])
queries = {
    qid: query for qid, query in queries.items() if qid in query_ids
}
print(f"Number of queries: {len(queries)}")

Below is a code snippet showing how to evaluate retrieval performance using the mteb library:

python
from mteb import MTEB
from mteb.tasks.Retrieval.multilingual.WebFAQRetrieval import WebFAQRetrieval

# ... Load model ...

# Load the WebFAQ task
task = WebFAQRetrieval()
eval_split = "test"

evaluation = MTEB(tasks=[task])
evaluation.run(
    model,
    eval_splits=[eval_split],
    output_folder="output",
    overwrite_results=True
)

Considerations

Please note the following considerations when using the collected QAs:

  • [Q&A Dataset] Risk of Duplicate or Near-Duplicate Content: The raw Q&A dataset is large and includes minor paraphrases.
  • [Retrieval Dataset] Sparse Relevance: As raw FAQ data, each question typically has one “best” (on-page) answer. Additional valid answers may exist on other websites but are not labeled as relevant.
  • Language Detection Limitations: Some QA pairs mix languages, or contain brand names, which can confuse automatic language classification.
  • No Guarantee of Factual Accuracy: Answers reflect the content of the source websites. They may include outdated, biased, or incorrect information.
  • Copyright and Privacy: Please ensure compliance with any applicable laws and the source website’s terms.

License

The Collection of WebFAQ Datasets is shared under **Creative Commons Attribution 4.0 (CC BY 4.0)** license.

Note: The dataset is derived from public webpages in Common Crawl snapshots (2022–2024) and intended for research purposes. Each FAQ’s text is published by the original website under their terms. Downstream users should verify any usage constraints from the original websites as well as Common Crawl’s Terms of Use.

Citation

If you use this dataset in your research, please consider citing the associated paper:

bibtex
@misc{dinzinger2025webfaq,
    title={WebFAQ: A Multilingual Collection of Natural Q&amp;A Datasets for Dense Retrieval},
    author={Michael Dinzinger and Laura Caspari and Kanishka Ghosh Dastidar and Jelena Mitrović and Michael Granitzer},
    year={2025},
    eprint={2502.20936},
    archivePrefix={arXiv},
    primaryClass={cs.CL}
}

Contact

For inquiries and feedback, please feel free to contact us via E-Mail (michael.dinzinger@uni-passau.de) or start a discussion on HuggingFace or GitHub.

Acknowledgement

We thank the Common Crawl and Web Data Commons teams for providing the underlying data, and all contributors who helped shape the WebFAQ project.

Thank you

We hope the Collection of WebFAQ Datasets serves as a valuable resource for your research. Please consider citing it in any publications or projects that use it. If you encounter issues or want to contribute improvements, feel free to get in touch with us on HuggingFace or GitHub.

Happy researching!