Spaces:
Running
title: WildChat-AQA Viewer
emoji: π¬
colorFrom: green
colorTo: indigo
sdk: static
pinned: false
license: apache-2.0
π¬ WildChat-AQA Viewer
Static viewer for the WildChat-AQA aggregative question-answering benchmark (paper, EMNLP 2025 Β· dataset Β· GitHub).
WildChat-AQA asks aggregative questions over WildChat chat logs β e.g. "what are the most popular topics for user X?" β answered by aggregating over the conversations matching a condition. Each question is 10-way multiple choice; the answer is the option with the highest weight.
The Eval tab
One question at a time, showing:
- Question + badges (target type Β· keyword type Β· #conditions Β· #matching conversations).
- Condition β the aggregation filter (
user_name,country,language,label_level_1/2topic,time_week,keywords_aggregated), with label ids resolved to names. - Answer β all 10 options as weighted bars, the argmax highlighted.
- Aggregation Evidence β the raw
target_candidates(value + count) that the answer is aggregated from, with label ids resolved. - Supporting Conversations β the actual WildChat conversations matching the condition (lazy-loaded, full raw turns rendered as chat), capped at 30 per question (largest first; flagged when capped / sampled).
- PROBE Query & Metadata β the GPT-generated retrieval query, target/keyword type, hash.
Sidebar: full-text search (question / hash) + filters for target type, keyword type, and condition dimension, with prev/next (β / β).
Data layout
Generated by scripts/build_wildchat_aqa.py from three source datasets:
| source | used for |
|---|---|
wtzhang-nlp/wildchat_aqa |
the 5,637 questions, options, weights, target_candidates, conditions |
ksx-wz/wildchat_aqa_conversations |
the supporting conversations (linked by condition) |
ksx-wz/β¦_with_embedding_and_gpt_generated_query |
the PROBE generated_query (embeddings dropped) |
repo wildchat_aqa_taxonomy/ |
resolving label_level_1/2 ids β names |
eval/index.json # light list for the sidebar (5,637 entries)
eval/records/<qhash>.json # per-question: question, condition, options+weights, evidence, PROBE query, capped support refs
corpus/b<N>.json # conversations packed into 2048 buckets (bucket = int(hash[:8],16) % 2048), lazy-loaded
Condition matching mirrors the benchmark's aggregation: OR within a
repeated condition type, AND across types; time_week matches a 7-day window;
label values encode as "<L1>.<L2>". Supporting conversations are capped at 30
per question (--cap); the ~3 truly across-all questions show a size-ranked
sample of the full corpus.
Regenerating the shards
# download sources (see build_wildchat_aqa.py header), then:
python scripts/build_wildchat_aqa.py --src <src> --out . --cap 30
Local dev
python -m http.server 8000 # then open http://localhost:8000/
Deploy = push to the Hugging Face Space main (served statically, no build step).
The ~60k conversations are packed into 2048 bucket files (corpus/b<N>.json)
because HF static Spaces fall back to serving README.md at the root once the
repo file tree grows past ~10k files.