Datasets:
The dataset viewer is not available for this dataset.
Need help to make the dataset viewer work? Make sure to review how to configure the dataset viewer, and open a discussion for direct support.
ViHoRec — Vietnamese Hotel Recommendation Dataset
Paper: arXiv:2607.12946 · Hugging Face Papers
A quality-controlled, anonymised, benchmark-ready Vietnamese hotel recommendation dataset for recommender-systems research.
| Resource | Count |
|---|---|
| Interactions (cleaned) | 18,267 |
| Users | 6,832 |
| Hotels | 560 |
| Benchmark split | 800 users × 535 hotels (9,787 train / 800 test) |
Sources: Booking.com, Traveloka, Ivivu. License: CC BY-NC 4.0 (data), MIT (code on GitHub).
Dataset Viewer / subsets
The Hub Dataset Viewer is configured via the YAML configs block above.
Use the Subset dropdown:
| Subset | Splits | Rows | Description |
|---|---|---|---|
interactions (default) |
train |
18,267 | user–hotel ratings |
users |
train |
6,832 | user aggregates |
hotels |
train |
560 | hotel metadata |
benchmark |
train / test |
9,787 / 800 | public LOO split |
Data files live under data/<config>/<split>-00000-of-00001.parquet (plus CSV twins for convenience).
Load with 🤗 Datasets
from datasets import load_dataset
# default subset = interactions
ds = load_dataset("MinhDS/ViHoRec")
print(ds["train"][0])
interactions = load_dataset("MinhDS/ViHoRec", "interactions")
users = load_dataset("MinhDS/ViHoRec", "users")
hotels = load_dataset("MinhDS/ViHoRec", "hotels")
benchmark = load_dataset("MinhDS/ViHoRec", "benchmark") # train + test
# streaming (no full download)
stream = load_dataset("MinhDS/ViHoRec", "interactions", split="train", streaming=True)
for row in stream.take(3):
print(row)
Or with pandas / Polars:
import pandas as pd
interactions = pd.read_parquet("hf://datasets/MinhDS/ViHoRec/data/interactions/train-00000-of-00001.parquet")
train = pd.read_parquet("hf://datasets/MinhDS/ViHoRec/data/benchmark/train-00000-of-00001.parquet")
test = pd.read_parquet("hf://datasets/MinhDS/ViHoRec/data/benchmark/test-00000-of-00001.parquet")
Repository layout (Hub)
data/
├── interactions/train-00000-of-00001.{parquet,csv}
├── users/train-00000-of-00001.{parquet,csv}
├── hotels/train-00000-of-00001.{parquet,csv}
└── benchmark/
├── train-00000-of-00001.{parquet,csv}
└── test-00000-of-00001.{parquet,csv}
benchmark/ # reference artifacts (not in Viewer configs)
├── user_map.csv / item_map.csv
├── split_config.json
└── baseline_results*.csv
DATASHEET.md
LICENSE
README.md
Key statistics
- Raw interactions: 18,274 (Booking 7,597 / Traveloka 6,273 / Ivivu 4,404)
- After cleaning: 18,267 interactions, 6,832 users, 560 hotels
- Entity matching merged 21 cross-site name variants; 78 hotels on ≥2 sites
- Benchmark split: 800 users × 535 items, 9,787 train / 800 test, 97.53% sparse
Full pipeline & code
The reproducible construction scripts live on GitHub: MinhNguyenDS/ViHoRec.
# rebuild Hub-ready parquet/csv layout from release/
python scripts/prepare_hf_hub.py
# then: huggingface-cli upload MinhDS/ViHoRec hf_hub/ . --repo-type dataset
Citation
If you use ViHoRec, please cite arXiv:2607.12946
See DATASHEET.md for provenance, ethics, and known limitations.
- Downloads last month
- -