ConceptioArchivearXiv CS
arXiv CSopen access

ViHoRec: A Quality-Controlled Vietnamese Hotel Recommendation Dataset and Cold-Start Benchmark

Unknown · 2026 · arxiv_cs
arXiv CS · Papers · License: Open Access · 2026
Open Source ↗Direct PDF ↓
artificialintelligenceknowledgerepresentationreasoning
artificial intelligence, reasoning, knowledge representation

ViHoRec: A Quality-Controlled Vietnamese Hotel Recommendation Dataset and Cold-Start Benchmark Minh Hoang Nguyen Faculty of Information Technology, University of Science, Ho Chi Minh City, Vietnam Vietnam National University, Ho Chi Minh City, Vietnam [email protected]

arXiv:2607.12946v1 [cs.IR] 14 Jul 2026

Abstract Recommender-system research for Vietnamese remains limited by the absence of a public, well-documented hotel interaction resource. Building such a resource is challenging for three reasons: cross-platform hotel names must be reconciled before interactions are comparable; quality must be audited with reproducible metrics rather than ad hoc cleaning; and public release must preserve privacy while remaining benchmarkable under realistic cold-start conditions. We introduce ViHoRec, a qualitycontrolled Vietnamese hotel recommendation dataset of 18,267 interactions between 6,832 users and 560 hotels, crawled from Booking.com, Traveloka, and Ivivu. Our contributions are: (i) a reproducible construction pipeline with cross-platform entity resolution and quantitative quality control; (ii) a privacypreserving release with HMAC pseudonyms; and (iii) a public cold-start benchmark with temporal leave-last-one-out split, data-centric ablations, and dependency-free baselines. On the public split, learned models degrade sharply for users with short histories (BPR-MF Recall@10: 0.065 vs. 0.120), while UserKNN remains strongest overall, establishing ViHoRec as a sparse, cold-start-dominated testbed for low-resource recommendation. All data are publicly available at https://github. com/MinhNguyenDS/ViHoRec. Keywords: Vietnamese dataset, Hotel recommendation, Quality control, Entity resolution, Cold-start benchmark.

1

Introduction

Recommender systems power e-commerce, entertainment, and online travel platforms, helping users navigate thousands of options (Chaudhari and Thakkar, 2020). In tourism, accommodation choice directly shapes the traveler’s experience, making hotel recommendation a widely studied task (Antognini and Faltings, 2020) whose progress

depends on the quality of user–item interaction data (Harper and Konstan, 2015). Vietnamese, however, remains data-poor for this task. Widely used recommendation datasets (MovieLens, Amazon Reviews, Yelp) target English-speaking markets (Harper and Konstan, 2015; He and McAuley, 2016), and large hotel corpora such as HotelRec are likewise Englishcentric (Antognini and Faltings, 2020). To the best of our knowledge, no public Vietnamese hotel recommendation dataset documents its collection and quality-control process. Constructing such a resource is non-trivial for three reasons (Nguyen and Thiet, 2025; Nguyen et al., 2026). First, hotels are listed on multiple booking platforms under inconsistent names, so interactions cannot be merged without explicit cross-platform entity resolution. Second, web-scraped interaction data require auditable cleaning: duplication, missing fields, and cross-site inconsistencies must be measured rather than assumed. Third, a public release must remove direct identifiers yet still support reproducible benchmarking under the cold-start conditions that dominate real Vietnamese travel data. We address this gap with ViHoRec (Figure 1), a quality-controlled Vietnamese hotel recommendation dataset and cold-start benchmark crawled from three major booking platforms (Booking.com, Traveloka, Ivivu). Our main contributions are: 1. ViHoRec dataset. We release 18,267 cleaned interactions between 6,832 users and 560 hotels, together with content metadata for 309 hotels (facilities, surroundings, vicinity, price). 2. Reproducible construction pipeline. We document crawling (API, HTML, manual collection), canonical-key entity resolution across platforms, and quantitative quality control with reported duplication, completeness, and consistency metrics.

Figure 1: Overview of ViHoRec. Public reviews from three booking platforms are crawled, resolved into canonical hotel entities across sites, quality-controlled, and anonymized, then released as three tables (plus content metadata) together with a reproducible public split and baseline benchmark.

3. Privacy-preserving public release. We remove direct identifiers, derive HMACSHA256 pseudonyms, and release the corpus under CC BY-NC 4.0 with an explicit discussion of platform terms of service. 4. Cold-start benchmark. We provide a public temporal leave-last-one-out split, dependencyfree baselines, data-centric ablations, and cold-start-stratified evaluation that expose personalization failure modes on sparse histories. On the public split, learned models degrade most for users with the shortest histories (BPR-MF Recall@10 drops from 0.120 for heavy users to 0.065 for the coldest bucket), confirming that ViHoRec is a realistic stress test rather than a saturated benchmark. We release all data, code, and documentation to make every reported number reproducible. The remainder of this paper is organized as follows. Section 3 describes the dataset (full schemas in Appendix B); Section 4 details collection and entity resolution; Section 5 reports quality control and validation (protocol in Appendix A); Section 6 presents characterization, baselines, ablations, and cold-start analysis; Section 7 discusses anonymization and licensing; Section 8 concludes with limitations and future work.

2

Related Work and Datasets

2.1

Hotel and travel recommender systems

Hotel recommenders have been built with collaborative filtering, content-based, and domain-

specific methods (Chaudhari and Thakkar, 2020; Nguyen et al., 2024), addressing two main tasks: recommendation (Kim et al., 2011; Nguyen et al., 2025) and rating prediction (Sun et al., 2015). Nilashi et al. (2015) propose multi-criteria CF for travel, evaluated with MAE on TripAdvisor data. Shambour et al. (2022) fuse enhanced user- and item-based CF (FBMCCF) on the TripAdvisor MC dataset (Jannach et al., 2014). Kaya (2020) cast hotel recommendation as link prediction over the customer–hotel bipartite graph, while Al-Ghobari et al. (2021) exploit location context (LAPTA) with item-based KNN. These works assume an existing interaction corpus; none targets Vietnamese. 2.2

Public recommendation datasets

Benchmark datasets have driven the field: MovieLens, Amazon Reviews, and Yelp dominate offline evaluation (Harper and Konstan, 2015; He and McAuley, 2016; Beel and Brunel, 2019), and TripAdvisor supports multi-criteria hotel studies (Jannach et al., 2014). In the hotel domain, Antognini and Faltings (2020) release HotelRec, a 50Mreview TripAdvisor corpus that established largescale benchmarking for rating prediction and ranking. Two properties recur across these resources: large scale and English text. Crucially, welladopted datasets document their collection and cleaning so that results are reproducible (Harper and Konstan, 2015; Gebru et al., 2021). Table 1 positions ViHoRec against representative resources along scale, language, metadata, cross-platform merging, and documented quality control.

Dataset

Domain

MovieLens-100K (Harper and Konstan, 2015) Movies TripAdvisor MC (Jannach et al., 2014) Hotels HotelRec (Antognini and Faltings, 2020) Hotels ViHoRec (ours) Hotels

#Inter. Lang. Meta. Cross-plat. QC doc. 100,000 ∼22,000 50M 18,267

EN EN EN VI

– MC Text ✓

– – – ✓

✓ ✓ ✓ ✓

Table 1: ViHoRec versus representative recommendation datasets. Meta.: content metadata beyond ratings; Cross-plat.: explicit cross-platform entity resolution; QC doc.: published construction and quality-control protocol. ViHoRec is, to our knowledge, the first public Vietnamese hotel recommendation resource with documented entity resolution and quality control. File

3.1

Dataset statistics

Rows Fields

interactions.csv 18,267 user_id, hotel_id, rating, date, source users.csv 6,832 user_id, n_interactions hotels.csv 560 hotel_id, name, location content metadata 309 11 attributes (see text)

Table 2: Files in the ViHoRec dataset and their schemas.

Few recommender studies target Vietnamese tourism. Existing Vietnamese hotel review releases focus on customer-experience or sentiment analysis rather than recommendation benchmarking (Nguyen and Nguyen, 2023), and to the best of our knowledge no public Vietnamese hotel recommendation dataset documents construction, crossplatform entity resolution (Köpcke et al., 2012), quantitative quality control and cold-start evaluation together.

3

surrounding places (Around), vicinity, and booking link. The four textual attribute groups (Facilities, Around, Vicinity, Price) are used as features for content-based recommendation.

(a) Number of hotels per lo-(b) Distribution of rating valcation. ues.

Figure 2: Distribution of hotels across locations and distribution of rating scores.

Figure 2a shows that the data covers the main tourist destinations fairly evenly; Đà Lạt has the most hotels (nearly 100), followed by Đà Nẵng, Nha Trang, Vũng Tàu, Phú Quốc, and Phan Thiết (70–80 hotels). Figure 2b shows that rating scores are concentrated mostly in the 6–10 range, reflecting an average-to-good quality baseline. Figures 3 and 4 show the distribution of the number of reviews per hotel and per user, respectively.

Dataset Description

The ViHoRec dataset is released as CSV files encoded in UTF-8 and consists of two complementary parts: (i) interaction data for collaborative filtering and (ii) hotel content metadata for content-based recommendation. Table 2 summarizes the files and their schemas; Appendix B provides full field definitions and sample records. Interaction data. Each row in interactions.csv is one review by a user for a hotel: an anonymized user identifier (user_id), a canonical hotel identifier (hotel_id), a rating score on the [1, 10] scale (mean 7.56), a date (roughly 2011-10-15 to 2023-12-09), and a source indicating the origin platform. The three platforms contribute, respectively: Booking.com 7,597; Traveloka 6,273; Ivivu 4,404 raw reviews. Content metadata. For 309 hotels we collect 11 attributes: name, location, overall rating, number of reviews, price, facilities, quality, distance to center,

Figure 3: Number of reviews per hotel.

4

Data Collection and Construction

4.1

Data collection

We collect data from three reputable, high-traffic booking platforms in Vietnam. For sites that expose a review-listing API, we call the API to obtain data in JSON; for sites without an API, we send standard HTTP requests and extract fields from HTML using the BeautifulSoup library. Hotel content metadata (which has no API) is collected semimanually based on the list of hotels appearing in the

Check

Result

Raw interactions Missing rate (all fields) Exact duplicates (removed) Near-duplicates (user + hotel + date) Invalid / out-of-range ratings Unparsable dates Raw names → canonical hotels name variants merged Hotels on ≥ 2 platforms Hotels with conflicting location

18,274 0.0% 7 (0.038%) 11 (0.060%) 0 0 581 → 560 21 (3.61%) 78 1

Interactions after cleaning Users / hotels

18,267 6,832 / 560

Figure 4: Number of reviews per user. Table 3: Summary of the ViHoRec quality-control metrics.

interaction data. Platforms were selected based on reputation and user-base size. The raw interaction data contains the fields: customer name, location, hotel name, rating, and timestamp. 4.2

Normalization and hotel entity resolution

A hotel may appear under different name spellings across websites (differing diacritics, presence/absence of prefixes such as “Khách sạn”/“Hotel”/“Khu nghỉ dưỡng”, differing word order, differing punctuation). Naı̈ve exact-string matching would treat such variants as distinct hotels and fragment the interaction graph. We therefore apply an entity-resolution step: each name is mapped to a canonical key that is accentfree, lower-cased, punctuation-free, with domainspecific stopwords removed (“khách sạn”, “hotel”, “resort”. . . ), and with tokens sorted to be wordorder independent. Names sharing a canonical key are merged into a single hotel_id. This process (Section 5) merges 21 name variants and identifies 78 hotels appearing on more than one platform. 4.3

Preprocessing for the baseline models

From the cleaned interaction table we derive three tables: user information, hotel information, and rating history. For content-based recommendation, for each user with at least one review we aggregate the four attribute groups (Facilities, Around, Vicinity, Price) of the hotels they have reviewed; the text is normalized (removing commas, lowercasing, tokenization) and mapped to a vector space with Word2Vec, yielding four feature vectors for the user and for the hotel.

5

Quality Control and Validation

Data quality is a critical factor for any recommendation dataset. We perform a quantitative quality-

control process; all metrics below are produced automatically by publicly released code to ensure reproducibility. We disclose one validity threat up front: because user identifiers derive from reviewer display names—a low-cardinality string space in which some missing names were imputed at crawl time—distinct individuals sharing an abbreviated name may be merged, so user counts are approximate. We treat this transparently rather than obscure it. Table 3 summarizes the checks. 5.1

Duplicates and completeness

We detect duplicates at two levels: (i) exact duplicates, where the full tuple (customer name, hotel name, rating, date) is identical—7 rows (0.038%), which were removed; and (ii) near-duplicates, where the same user reviews the same canonical hotel on the same day (typically due to cross-platform re-posting)—11 rows (0.060%). Regarding completeness, no empty fields remain after collection; however, we note that during crawling some missing customer names were normalized/imputed, so user identity information is only approximate (see the Limitations section). 5.2

Consistency

Ratings are coerced to numeric and checked to lie within the [1, 10] scale; one malformed token (8..5) was repaired and no out-of-scale value remains. The timestamp field is parsed to a date type; there are no invalid values, and the observed span is 2011-10-15 to 2023-12-09. We also check location consistency: only 1 hotel (after entity resolution) is assigned multiple distinct locations, and it is flagged for review.

5.3

Cross-platform entity resolution

The entity-resolution step (Section 4.2) reduces 581 raw hotel names to 560 canonical hotels, merging 21 name variants (3.61%) and identifying 78 hotels that appear on more than one platform. Our ablations (Section 6.4) show that this step improves downstream Recall@10 by 3.9% relative, confirming that cross-site de-duplication yields cleaner supervision. 5.4

Users / hotels / interactions Sparsity Interactions per user (mean / median) Interactions per hotel (mean) Item-popularity Gini Top-20% hotels’ interaction share Cold-start users (1 interaction) Rating (mean ± std)

Value 6,832 / 560 / 18,267 99.52% 2.67 / 1 32.6 0.599 63.0% 69.5% 7.56 ± 1.97

Table 4: Characterization of the full ViHoRec corpus.

Manual validation and inter-annotator agreement

To estimate corpus quality beyond automated checks, we draw a stratified random sample of 248 records (186 interactions balanced across Booking.com, Traveloka, and Ivivu; 62 hotel catalogue entries). Two independent annotators apply the checklist in Appendix A; each record receives three binary criterion scores (rater_1– rater_3): rater_1 verifies field validity (rating range, parseable date, non-empty identifiers); rater_2 verifies that the record appears exactly in the released tables; rater_3 verifies semantic plausibility (no identity-collision artefacts from abbreviated reviewer names, no flagged location conflicts, and—for hotels—presence of content metadata). Labels are 1 = correct/consistent, 0 = incorrect or flagged. On this sample, the three raters reach full agreement on 79.4% of records; the mean positive label rate is 93.2%, yielding a majority-vote accuracy of 100% (every record passes by at least two of three criteria). Disagreement concentrates on rater_3: 13.0% of interactions are flagged for identity ambiguity (reviewer names with ≤ 3 characters), and 43.5% of sampled hotels lack matching content metadata—a gap that motivates future metadata expansion rather than catalogue errors. Fleiss’ κ is not informative here because rater_1 and rater_2 are uniformly positive on the cleaned release; we therefore report percent agreement and the mean label rate, following common practice for highly skewed validation labels.

6

Property

Baseline Benchmark and Cold-Start Analysis

The central experimental question for ViHoRec is whether the released split supports reproducible comparison and reveals realistic failure modes under cold-start sparsity. We therefore provide a public temporal leave-last-one-out split, dependency-

Figure 5: Item-popularity long tail (left, log scale) and Lorenz curve (right). Popularity is heavily concentrated in a few hotels.

free baselines, data-centric ablations, and coldstart-stratified metrics—following the benchmarkfirst evaluation style of recent Vietnamese resource papers. The split keeps users with ≥ 4 interactions, remaps identifiers to contiguous integers, and for each user selects the chronologically latest interaction as the test set and the rest as the training set. This yields 800 users × 535 hotels, 9,787 training interactions and 800 test interactions, with a sparsity of 97.53%. Benchmark file schemas are listed in Appendix B. All hyperparameters and reproduction code are released with the dataset. 6.1

Dataset characterization

ViHoRec is deliberately realistic and difficult (Table 4): the full corpus is 99.5% sparse, 69.5% of users have a single interaction (a cold-startdominated regime), and item popularity is highly skewed—a Gini coefficient of 0.599, with the top 20% of hotels absorbing 63% of all interactions. Figure 5 visualizes this long tail and the corresponding Lorenz curve. These properties make ViHoRec a stress test for cold-start and popularitybias-aware methods rather than a saturated benchmark. 6.2

Evaluation metrics

We use standard ranking metrics following (Chen and Liu, 2017): MAP@K, NDCG@K, Precision@K, and Recall@K with K ∈ {5, 10}. NDCG@K accounts for the rank of the correct

Method

MRR↑

MAP@10↑

N@10↑

P@10↑

R@10↑

Random MostPop ItemKNN-cosine UserKNN-cosine BPR-MF Content-TFIDF

0.0119 0.0496 0.0401 0.0630 0.0512 0.0275

0.0054 0.0368 0.0252 0.0472 0.0358 0.0153

0.0093 0.0528 0.0376 0.0671 0.0519 0.0249

0.0023 0.0106 0.0079 0.0134 0.0106 0.0057

0.0225 0.1062 0.0788 0.1338 0.1058 0.0575

Table 5: Baselines on the public split (temporal leave-last-one-out; 800 users, 535 hotels). N = NDCG, P = Precision, R = Recall; higher is better. Best collaborative-filtering result per column in bold. Content-TFIDF uses metadata for 52.9% of benchmark hotels. Random and BPR-MF are averaged over three seeds (BPR-MF std ≤ 0.010 on all metrics).

item; Precision@K and Recall@K measure accuracy and coverage within the top-K; MAP@K measures overall average precision. 6.3

Baseline models

We report three groups of models, ordered by benchmark priority. (1) Public-split baselines (primary comparison). On the public split (Table 5) we evaluate: Random as a sanity floor; MostPop (Cremonesi et al., 2010); neighborhood ItemKNN and UserKNN with cosine similarity (Sarwar et al., 2001); BPR-MF, latent-factor ranking trained with Bayesian personalized ranking (Rendle et al., 2012; Koren et al., 2009); and ContentTFIDF, which builds TF-IDF vectors (Manning, 2008) over the four metadata groups Facilities/Around/Vicinity/Price and scores items by cosine similarity to a mean-pooled user profile. Stochastic models are averaged over three seeds. Content-TFIDF covers 283 of 535 benchmark hotels (52.9%) that have metadata; items without text receive zero score. (2) Cold-start stratification (primary finding). Table 8 and Figure 6 stratify Recall@10 by user train-history length; this analysis is the main empirical insight of the benchmark. (3) Extended models under the original protocol (reference only). We additionally report collaborative-filtering models implemented in Cornac (Salah et al., 2020)1 and Microsoft Recommenders (Argyriou et al., 2020)2 (Table 9) under an earlier split; these numbers are not directly comparable to Table 5. Original algorithm papers are cited in §6.6. 1

https://github.com/PreferredAI/cornac https://github.com/recommenders-team/ recommenders 2

Setting

R@10↑

N@10↑

MRR↑

Entity resolution Off (raw hotel names) On (canonical, ours)

0.1288 0.1338

0.0656 0.0671

0.0623 0.0630

Evaluation protocol Random leave-one-out Temporal (ours)

0.1125 0.1338

0.0566 0.0671

0.0556 0.0630

Table 6: Ablations for entity resolution and evaluation protocol (UserKNN, public split). min-k

#Users

Sparsity (%)

R@10↑

2 3 4 (ours) 5 8

2,084 1,164 800 616 364

98.82 98.15 97.53 96.97 95.35

0.1248 0.1349 0.1338 0.1347 0.1538

Table 7: Minimum-interaction threshold sweep (UserKNN). Higher k yields a smaller, denser, slightly easier benchmark.

6.4

Data-centric ablations

We validate two construction choices and the evaluation protocol with ablations under the same UserKNN baseline on the public split (Tables 6–7). First, entity resolution merges 556 raw hotel-name variants into 535 canonical hotels and improves Recall@10 by 3.9% relative (0.1288→0.1338), confirming that cross-site de-duplication yields cleaner supervision. Second, the temporal and random leave-one-out protocols differ by roughly 19% relative on Recall@10, so protocol choice is not incidental; we fix the temporal split for realistic, leakage-free comparison. Third, raising the minimum-interaction threshold k trades dataset size for density (Table 7); we adopt k = 4 as a balance, and report the full curve so future work can select other operating points. 6.5

Cold-start-stratified evaluation

Because 69.5% of users are cold-start, a single global metric is misleading; we therefore stratify Recall@10 by user train-history length (Table 8, Figure 6). The learned model (BPR-MF) degrades most on the coldest users (0.065 at length 3 vs. 0.120 at ≥11), the non-personalized MostPop stays comparatively flat, and UserKNN is strongest in every bucket yet still drops for cold users. ContentTFIDF underperforms collaborative filtering globally (R@10 0.058 vs. 0.134 for UserKNN) but remains above Random, confirming that the released metadata carries signal for future hybrid models.

History

#Users

MostPop

UserKNN

BPR-MF

3 (coldest) 4–5 6–10 11+

184 209 166 241

0.1087 0.0766 0.0904 0.1411

0.1250 0.1196 0.1325 0.1535

0.0652 0.1005 0.0723 0.1203

Table 8: Recall@10 by user train-history length on the public split. Learned models degrade most for cold-start users; best per row in bold.

Figure 6: Recall@10 as a function of user history length. The personalization gap widens with more history, exposing the cold-start regime.

6.6

Extended results under the original protocol

For reference we also report a broader set of collaborative-filtering models (Table 9)3 . We retain them to indicate the relative ordering of stronger models, and we recommend the public split of Table 5 for future comparison. Table 9 reports library implementations from Microsoft Recommenders (Argyriou et al., 2020) and Cornac (Salah et al., 2020); parenthetical years in method names follow library conventions and denote the reference algorithm publication year. Algorithms trace to the following papers: MostPop (Cremonesi et al., 2010); RBM (Salakhutdinov et al., 2007); NCF, GMF, NeuMF, and MLP (He et al., 2017); LightGCN (He et al., 2020); PMF (Mnih and Salakhutdinov, 2007); NGCF (Wang et al., 2019); IBPR (Le and Lauw, 2017); BiVAECF (Truong et al., 2021); EASER (Steck, 2019); BPR (Rendle et al., 2012); VAECF (Liang et al., 2018); Skmeans (Salah et al., 2016); and memory-based UserKNN/ItemKNN with cosine or Pearson similarity (Sarwar et al., 2001). The modest absolute scores confirm that ViHoRec is a sparse, challenging benchmark that 3 These numbers were obtained under an earlier data split and are therefore not directly comparable to Table 5

reflects real Vietnamese-market data, and they establish reference points for future methods on the public split.

7

Anonymization, Ethics, and License

7.1

Anonymization

The raw data contains reviewer display names, and the user identifier was derived directly from the name. For the public release we fully remove direct identifiers: the display name never leaves the processing machine and is replaced by a pseudonym of the form HMAC-SHA256(salt, name)[:12]. The same reviewer maps to the same pseudonym across versions (enabling longitudinal linkage), but the pseudonym cannot be reversed without the secret key. The salt is kept outside the code repository (an environment variable), and the name→pseudonym lookup table is never published. Because the name space is small, the “hash + secret salt + drop the name” approach is chosen to reduce dictionary-attack risk; end users only ever see opaque identifiers. 7.2

Platform terms of service

Booking.com, Traveloka, and Ivivu all have terms restricting automated scraping and commercial use. To maintain a defensible research-use position, we: (i) collect only publicly visible reviews and scores, no private account data; (ii) do not redistribute raw HTML or full review text, releasing only derived numeric ratings and hotel metadata; (iii) release under a non-commercial license; and (iv) support data takedown upon request. Users of the dataset must comply with the source platforms’ terms of service. 7.3

License and FAIR principles

The ViHoRec dataset is released under the Creative Commons Attribution-NonCommercial 4.0 (CC BYNC 4.0) license; the pipeline code is released under the MIT license. The dataset is designed following the FAIR principles: released with a versioned DOI (e.g., on Zenodo), accompanied by a datasheet documenting provenance and schema, using stable identifiers and the widely supported CSV/UTF-8 format.

Method

MAP@10↑

NDCG@5↑

NDCG@10↑

P@5↑

P@10↑

R@5↑

R@10↑

Recommenders library MostPop (2009) RBM (2012) NCF (2017) LightGCN (2020)

0.0363 0.0574 0.0330 0.0537

0.0490 0.0649 0.0367 0.0637

0.0688 0.1018 0.0552 0.0806

0.0301 0.0334 0.0174 0.0285

0.0261 0.0332 0.0169 0.0233

0.0601 0.0946 0.0504 0.0813

0.1154 0.2036 0.1021 0.1289

Cornac library PMF (2007) NGCF (2019) IBPR (2017) BiVAECF (2021) EASER b>0 (2019) EASER (2019) BPR (2012) VAECF (2018) GMF (2017) NeuMF (2017) Skmeans (2016) MLP (2017)

0.0460 0.0502 0.0588 0.0651 0.0652 0.0653 0.0656 0.0615 0.0643 0.0667 0.0716 0.0754

0.0402 0.0377 0.0489 0.0518 0.0614 0.0541 0.0548 0.0492 0.0539 0.0551 0.0579 0.0642

0.0470 0.0465 0.0606 0.0740 0.0740 0.0724 0.0801 0.0733 0.0791 0.0793 0.0811 0.0861

0.0174 0.0157 0.0235 0.0252 0.0287 0.0252 0.0261 0.0270 0.0261 0.0261 0.0261 0.0270

0.0126 0.0122 0.0174 0.0222 0.0209 0.0226 0.0243 0.0230 0.0243 0.0230 0.0235 0.0235

0.0478 0.0492 0.0702 0.0660 0.0667 0.0642 0.0847 0.0745 0.0847 0.0893 0.0803 0.0874

0.0671 0.0738 0.1021 0.1306 0.1089 0.1159 0.1550 0.1430 0.1550 0.1586 0.1448 0.1463

Memory-based UserKNN-cosine (1998) UserKNN-pearson (1998) ItemKNN-cosine (2001) ItemKNN-pearson (2001)

0.0192 0.0215 0.0207 0.0223

0.0138 0.0176 0.0136 0.0159

0.0102 0.0135 0.0101 0.0120

0.0363 0.0368 0.0390 0.0394

0.0193 0.0196 0.0212 0.0216

0.1768 0.1971 0.1837 0.1975

0.1780 0.1983 0.1859 0.2004

Table 9: Extended collaborative-filtering results under the original (earlier) split, shown for reference only and not directly comparable to Table 5. Methods cite original papers in §6.6; implementations use Cornac (Salah et al., 2020) and Microsoft Recommenders (Argyriou et al., 2020). Bold-underline / bold / underline denote the best / second / third per column.

8

Usage Notes, Limitations, and Conclusion

8.1

Usage notes

ViHoRec is suitable for research on collaborativefiltering, content-based, and hybrid recommenders; cold-start research; and recommendation tasks under sparse-data, low-resource-language settings for the Vietnamese market. Users should adopt the accompanying public split for fair comparison, and can leverage the content metadata (Facilities, Around, Vicinity, Price) for feature-exploiting models; see Appendix B for file schemas. 8.2

tions were flagged for this reason). Third, content metadata covers 309 hotels (52.9% of the benchmark item set), limiting content-based evaluation. Fourth, the ratings are aggregate scores, not multicriteria. 8.3

Future work

In the future, the dataset can be extended by: collecting more data to increase scale and reduce sparsity; expanding content metadata beyond the current 309 hotels; adding new attributes (sentiment, full review text, room types, images); and strengthening entity resolution at the user level (not only for hotels).

Limitations

We state the limitations explicitly for transparency. First, the scale is still small (18,267 interactions) compared to MovieLens-100K or Amazon, and the dataset is fairly sparse (97.53% on the benchmark split). Second, because the user identifier at crawl time was derived from a name string with a small value space (and some missing names were imputed), the number of distinct users and the interactions per user are only approximate; distinct individuals sharing an abbreviated name may be merged (13.0% of manually validated interac-

8.4

Conclusion

We introduce ViHoRec, a quality-controlled Vietnamese hotel recommendation dataset whose central contribution is the resource together with its reproducible construction pipeline: crossplatform entity resolution, quantitative quality control, privacy-preserving anonymization, and a public cold-start benchmark. Our stratified evaluation shows that learned models fail most on users with the shortest histories, while neighborhood methods remain strongest—a pattern that saturated English

corpora rarely surface. By releasing all data, code, and documentation, ViHoRec provides the first reproducible Vietnamese resource for hotel recommendation and a realistic stress test for sparse-data, low-resource methods.

Acknowledgements We thank the user communities on the three platforms Booking.com, Traveloka, and Ivivu—the public data source that made the ViHoRec dataset possible. We thank Thuat Thien Nguyen and Minh Nhat Ta (University of Information Technology, VNU-HCM) for applying the ViHoRec manual validation guidelines (Appendix A) to a stratified sample of the released corpus.

References Mohanad Al-Ghobari, Amgad Muneer, and Suliman Mohamed Fati. 2021. Location-aware personalized traveler recommender system (lapta) using collaborative filtering knn. Computers, Materials, & Continua, 69(2):1553. Diego Antognini and Boi Faltings. 2020. Hotelrec: a novel very large-scale hotel recommendation dataset. In Proceedings of the Twelfth Language Resources and Evaluation Conference, pages 4917–4923. Andreas Argyriou, Miguel González-Fierro, and Le Zhang. 2020. Microsoft recommenders: Best practices for production-ready recommendation systems. In Companion Proceedings of the Web Conference 2020, pages 50–51. Joeran Beel and Victor Brunel. 2019. Data pruning in recommender systems research: Best-practice or malpractice? In Proceedings of the 1st Interdisciplinary Workshop on Algorithm Selection and MetaLearning in Information Retrieval, volume 2431 of CEUR Workshop Proceedings, pages 26–41. Kinjal Chaudhari and Ankit Thakkar. 2020. A comprehensive survey on travel recommender systems. Archives of computational methods in engineering, 27(5):1545–1571. Mingang Chen and Pan Liu. 2017. Performance evaluation of recommender systems. International Journal of Performability Engineering, 13(8):1246. Paolo Cremonesi, Yehuda Koren, and Roberto Turrin. 2010. Performance of recommender algorithms on top-n recommendation tasks. In Proceedings of the fourth ACM conference on Recommender systems, pages 39–46. Timnit Gebru, Jamie Morgenstern, Briana Vecchione, Jennifer Wortman Vaughan, Hanna Wallach, Hal Daumé III, and Kate Crawford. 2021. Datasheets for

datasets. Communications of the ACM, 64(12):86– 92. F Maxwell Harper and Joseph A Konstan. 2015. The movielens datasets: History and context. Acm transactions on interactive intelligent systems (tiis), 5(4):1–19. Ruining He and Julian McAuley. 2016. Ups and downs: Modeling the visual evolution of fashion trends with one-class collaborative filtering. In proceedings of the 25th international conference on world wide web, pages 507–517. Xiangnan He, Kuan Deng, Xiang Wang, Yan Li, Yongdong Zhang, and Meng Wang. 2020. Lightgcn: Simplifying and powering graph convolution network for recommendation. In Proceedings of the 43rd International ACM SIGIR conference on research and development in Information Retrieval, pages 639– 648. Xiangnan He, Lizi Liao, Hanwang Zhang, Liqiang Nie, Xia Hu, and Tat-Seng Chua. 2017. Neural collaborative filtering. In Proceedings of the 26th international conference on world wide web, pages 173–182. Dietmar Jannach, Markus Zanker, and Matthias Fuchs. 2014. Leveraging multi-criteria customer feedback for satisfaction analysis and improved recommendations. Information Technology & Tourism, 14(2):119–149. Buket Kaya. 2020. A hotel recommendation system based on customer location: a link prediction approach. Multimedia Tools and Applications, 79(3):1745–1758. Heung-Nam Kim, Abdulmajeed Alkhaldi, Abdulmotaleb El Saddik, and Geun-Sik Jo. 2011. Collaborative user modeling with user-generated tags for social recommender systems. Expert Systems with Applications, 38(7):8488–8496. Hanna Köpcke, Andreas Thor, Stefan Thomas, and Erhard Rahm. 2012. Tailoring entity resolution for matching product offers. In Proceedings of the 15th International Conference on Extending Database Technology, pages 545–550. Yehuda Koren, Robert Bell, and Chris Volinsky. 2009. Matrix factorization techniques for recommender systems. Computer, 42(8):30–37. Dung D Le and Hady W Lauw. 2017. Indexable bayesian personalized ranking for efficient top-k recommendation. In Proceedings of the 2017 ACM on Conference on Information and Knowledge Management, pages 1389–1398. Dawen Liang, Rahul G Krishnan, Matthew D Hoffman, and Tony Jebara. 2018. Variational autoencoders for collaborative filtering. In Proceedings of the 2018 world wide web conference, pages 689–698. Christopher D Manning. 2008. Introduction to information retrieval. Syngress Publishing.

Andriy Mnih and Russ R Salakhutdinov. 2007. Probabilistic matrix factorization. Advances in neural information processing systems, 20. Ha Thu Thi Nguyen and Trung Xuan Nguyen. 2023. Understanding customer experience with vietnamese hotels by analyzing online reviews. Humanities and Social Sciences Communications, 10(1):618. Minh Hoang Nguyen, Thuat Thien Nguyen, Minh Nhat Ta, Tung Le, and Huy Tien Nguyen. 2025. Co-namllstur: A combined model with attentive multi-view learning and long-and short-term user representations for news recommendation. In International Conference on Multi-disciplinary Trends in Artificial Intelligence, pages 106–119. Springer.

10th international conference on World Wide Web, pages 285–295. Qusai Y Shambour, Ahmad Adel Abu-Shareha, and Mosleh M Abualhaj. 2022. A hotel recommender system based on multi-criteria collaborative filtering. Information Technology and Control, 51(2):390–402. Harald Steck. 2019. Embarrassingly shallow autoencoders for sparse data. In The World Wide Web Conference, pages 3251–3257. Jianshan Sun, Gang Wang, Xusen Cheng, and Yelin Fu. 2015. Mining affective text to improve social media item recommendation. Information Processing & Management, 51(4):444–457.

Minh Hoang Nguyen, Thuat Thien Nguyen, Minh Nhat Ta, Tien Minh Nguyen, and Kiet Van Nguyen. 2024. Rrs: Review-based recommendation system using deep learning for vietnamese. SN Computer Science, 5(5):492.

Quoc-Tuan Truong, Aghiles Salah, and Hady W Lauw. 2021. Bilateral variational autoencoder for collaborative filtering. In Proceedings of the 14th ACM international conference on web search and data mining, pages 292–300.

Minh Hoang Nguyen, Vu Hoang Pham, Xuan Thanh Huynh, Phuc Hong Mai, Vinh The Nguyen, Quang Nhut Huynh, Huy Tien Nguyen, and Tung Le. 2026. From prompting to preference optimization: A comparative study of llm-based automated essay scoring. arXiv preprint arXiv:2603.06424.

Xiang Wang, Xiangnan He, Meng Wang, Fuli Feng, and Tat-Seng Chua. 2019. Neural graph collaborative filtering. In Proceedings of the 42nd international ACM SIGIR conference on Research and development in Information Retrieval, pages 165–174.

Minh Hoang Nguyen and Su Nguyen Thiet. 2025. Enhancing ocr for sino-vietnamese language processing via fine-tuned paddleocrv5. arXiv preprint arXiv:2510.04003. Mehrbakhsh Nilashi, Othman bin Ibrahim, Norafida Ithnin, and Nor Haniza Sarmin. 2015. A multi-criteria collaborative filtering recommender system for the tourism domain using expectation maximization (em) and pca–anfis. Electronic Commerce Research and Applications, 14(6):542–562. Steffen Rendle, Christoph Freudenthaler, Zeno Gantner, and Lars Schmidt-Thieme. 2012. Bpr: Bayesian personalized ranking from implicit feedback. arXiv preprint arXiv:1205.2618. Aghiles Salah, Nicoleta Rogovschi, and Mohamed Nadif. 2016. A dynamic collaborative filtering system via a weighted clustering approach. Neurocomputing, 175:206–215. Aghiles Salah, Quoc-Tuan Truong, and Hady W Lauw. 2020. Cornac: A comparative framework for multimodal recommender systems. Journal of Machine Learning Research, 21(95):1–5. Ruslan Salakhutdinov, Andriy Mnih, and Geoffrey Hinton. 2007. Restricted boltzmann machines for collaborative filtering. In Proceedings of the 24th international conference on Machine learning, pages 791–798. Badrul Sarwar, George Karypis, Joseph Konstan, and John Riedl. 2001. Item-based collaborative filtering recommendation algorithms. In Proceedings of the

A

Manual validation guidelines

This appendix reproduces the annotation protocol used for the stratified manual validation sample (Section 5.4). Two independent annotators label each sampled record with 1 = correct/consistent or 0 = incorrect/inconsistent. A.1

Field

Type

Description

user_id

string

hotel_id

string

rating date

float date

source

categorical

Salted-HMAC pseudonym; no real name Canonical hotel id (e.g., H0287) Score in [1, 10] Review date (YYYY-MM-DD) booking, traveloka, or ivivu

Interaction records

Table 10: Schema of interactions.csv.

1. Rater 1 (field validity): rating in [1, 10]; date parseable and within 2010–2024; user_id, hotel_id, and source non-empty. 2. Rater 2 (release consistency): the tuple exists in interactions.csv with matching rating, date, and source. 3. Rater 3 (semantic plausibility): hotel name/location in the catalogue are plausible; no obvious duplicate or identity-collision artefact. A.2

Hotel records

1. Rater 1: non-empty canonical name and location.

user_id

hotel_id

rating

date

source

Udd12fb44b382 U8253b44df1a6 U494dffb5df0b

H0287 H0392 H0409

6.3 6.7 7.3

2011-10-15 2011-11-16 2012-01-05

ivivu ivivu ivivu

Table 11: Sample records from interactions.csv.

B.2

users.csv

One row per distinct pseudonymous user; activity count only. Field

Type

Description

user_id

string

Same pseudonym as in interactions.csv Total ratings by this user in the corpus

n_interactions integer

2. Rater 2: hotel_id unique in the release catalogue. 3. Rater 3: location is not among flagged multilocation conflicts; hotel has at least one interaction in the corpus.

Table 12: Schema of users.csv.

user_id

n_interactions

Ubb7caab74705 U82a5ed2b4568 U16c2298dc0c0

342 210 188

Disagreements are resolved by majority vote for the accuracy estimate.

Table 13: Sample records from users.csv (most active users).

B

B.3

Dataset field reference and sample records

This appendix documents the concrete schema of each released file and provides representative records. All files are UTF-8 CSV unless noted otherwise. B.1

interactions.csv

Each row is one user–hotel rating event.

hotels.csv

Canonical hotel catalogue after cross-site entity resolution. Field

Type

Description

hotel_id name

string string

location

string

Stable id (e.g., H0000) Representative hotel name (Vietnamese/English) City/region in Vietnam

Table 14: Schema of hotels.csv.

hotel_id name

location

userID

rating

timestamp

Đà Lạt Đà Lạt Hội An

train.csv (first two rows) 0 240 7.3 0 393 9.0

1392336 1512432

Table 15: Sample records from hotels.csv.

test.csv (first two rows) 0 119 8.0 1 99 6.0

1555459 1687478

H0000 H0005 H0002

B.4

Khách sạn Dragon King 1 Đà Lạt Khanh Uyen 1 Hotel Pho Hoi 1 Hotel

Content metadata

Rich hotel attributes for content-based recommendation; not part of the anonymised interaction release but shipped with the repository. Field

Description

Location NameHotel RatingHotel CountRating Price Facilities

City/region Hotel name Aggregate score on the platform Number of platform reviews Typical price (VND) Comma-separated amenity tags (Vietnamese) Star/category level (integer) Distance to city centre (km) Nearby place types (Vietnamese) Vicinity categories (Vietnamese) Booking URL

Quality DistanceCenter Around Vicinity Link

Table 16: Schema of the content-metadata file.

Field

Example value

Note

Location NameHotel

Huế The Sunriver Boutique Hotel Hue Hồ bơi ngoài trời, WiFi miễn phí, . . . Cầu, Cafe/quán bar Di tích, Bảo tàng, Tàu lửa, Sân bay

— —

Facilities Around Vicinity

Structured tags, not a user review — —

Table 17: Sample content-metadata fields (record: The Sunriver Boutique Hotel Hue, Huế).

B.5

Benchmark split

Public leave-last-one-out split for reproducible evaluation (800 test users × 535 items). File

Fields

Role

train.csv

userID, itemID, rating, timestamp userID, itemID, rating, timestamp

Training interactions One held-out interaction per test user Pseudonym → integer id Hotel id → integer id Split metadata

test.csv user_map.csv

user_id, userID

item_map.csv

hotel_id, itemID

split_config.json

protocol, counts, sparsity

Table 18: Benchmark auxiliary files.

itemID

Table 19: Sample benchmark records (integer timestamp as stored in the split files).

Record · ID 366293 · SHA-256 3c5b0c03886ba3c7
Retrieved via Conceptio — every document is proof-bundled with source, license, and retrieval metadata.