Dataset Viewer
The dataset viewer is not available for this dataset.
Unexpected token '<', "<html> <h"... is not valid JSON

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
-

Paper for MinhDS/ViHoRec