CoolFace
Datasetpublic

pavelshpagin/SupportBench

SupportBench A multilingual benchmark for evaluating case extraction from real-world tech support group chats. SupportBench contains 60,000 messages across 6 datasets in 3 languages (English, Spanish, Ukrainian), spanning 6 technical domains. All messages are sourced from public Telegram support groups. Datasets Dataset Language Domain Messages Users Reply% Media Ardupilot-UA Ukrainian UAV / Drones 10,000 319 51.8% 1,440 MikroTik-UA Ukrainian… See the full description on the dataset page: https://huggingface.co/datasets/pavelshpagin/SupportBench.

sourceHugging Facecc-by-4.0updated 4mo agoView on Hugging Face
0likes771downloads
Dataset Card

SupportBench

A multilingual benchmark for evaluating case extraction from real-world tech support group chats.

SupportBench contains 60,000 messages across 6 datasets in 3 languages (English, Spanish, Ukrainian), spanning 6 technical domains. All messages are sourced from public Telegram support groups.

Datasets

DatasetLanguageDomainMessagesUsersReply%Media
Ardupilot-UAUkrainianUAV / Drones10,00031951.8%1,440
MikroTik-UAUkrainianNetworking10,00020555.4%884
Domotica-ESSpanishSmart Home / HA10,00053058.3%736
NASeros-ESSpanishNAS / Networking10,00076146.5%495
Tasmota-ENEnglishIoT Firmware10,0001,23731.5%903
AdGuard-ENEnglishAd-blocking / VPN / DNS10,00095446.2%1,049

Structure

SupportBench/
├── ua_ardupilot.json     # Ukrainian drone/UAV support
├── mikrotik_ua.json      # Ukrainian networking support
├── domotica_es.json      # Spanish smart home support
├── naseros.json          # Spanish NAS/networking support
├── tasmota.json          # English IoT firmware support
├── adguard_en.json       # English ad-blocking/VPN/DNS support
├── manifest.json         # Benchmark metadata and stats
└── README.md

Message Format

Each JSON file contains {"meta": {...}, "messages": [...]}. Each message:

json
{
  "id": "tg_tasmota_12345",
  "group_id": "tasmota",
  "ts": 1700000000000,
  "sender": "user_a1b2c3d4e5",
  "body": "My Sonoff Basic won't flash via serial...",
  "reply_to_id": "tg_tasmota_12340",
  "grouped_id": null,
  "media_type": "photo",
  "media_path": null,
  "webpage_url": null,
  "reactions": null,
  "views": 42,
  "forwards": 0
}

Fields

FieldTypeDescription
idstringUnique message ID (tg_{group}_{telegram_id})
group_idstringDataset/group name
tsintUnix timestamp in milliseconds
senderstringAnonymized sender (user_{sha256[:10]})
bodystringMessage text with Unicode emoji preserved
reply_to_idstring\nullID of parent message
grouped_idint\nullAlbum group ID for multi-media posts
media_typestring\nullphoto, video, image, document, pdf, archive, audio, webpage, poll
media_pathstring\nullRelative path to media file (only in ua_ardupilot)
webpage_urlstring\nullURL from link preview
reactionsobject\nullEmoji reaction counts (only in ua_ardupilot)
viewsint\nullView count
forwardsint\nullForward count

Notes

  • All sender IDs are irreversibly anonymized via SHA-256 hashing
  • ua_ardupilot has richer metadata (reactions, media paths) from a separate export pipeline
  • AdGuard EN is a topics-based supergroup; reply_to_id often points to the topic root rather than the actual parent message (46.2% resolved within 10K window)
  • Tasmota spans 3.5 years of IoT firmware support history (1,274 days)

Intended Use

  • Case extraction: identify problem-solution pairs from unstructured chat streams
  • Thread reconstruction: reconstruct conversation threads from reply chains
  • Cross-lingual transfer: evaluate whether case-mining generalizes across languages
  • Q&A retrieval: mine question-answer pairs from technical discussions

Citation

bibtex
@inproceedings{supportbench2026,
  title={SupportBot: Continuous Case Mining for Grounded Technical Support},
  author={Shpagin, Pavel},
  booktitle={Proceedings of EMNLP 2026},
  year={2026}
}

License

CC BY 4.0. All messages are from public Telegram groups. Sender identities are irreversibly anonymized.