<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3-mathml3.dtd">
<article article-type="research-article" dtd-version="1.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ali="http://www.niso.org/schemas/ali/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Earth Sci.</journal-id>
<journal-title-group>
<journal-title>Frontiers in Earth Science</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Earth Sci.</abbrev-journal-title>
</journal-title-group>
<issn pub-type="epub">2296-6463</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1884556</article-id>
<article-id pub-id-type="doi">10.3389/feart.2026.1884556</article-id>
<article-version article-version-type="Version of Record" vocab="NISO-RP-8-2008"/>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Original Research</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>MM-DIPR: perception-aware multimodal learning for tourism destination image understanding and recommendation</article-title>
<alt-title alt-title-type="left-running-head">Deng and Liu</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/feart.2026.1884556">10.3389/feart.2026.1884556</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes" equal-contrib="yes">
<name>
<surname>Deng</surname>
<given-names>Liyun</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<xref ref-type="author-notes" rid="fn001">
<sup>&#x2020;</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/3524744"/>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Conceptualization" vocab-term-identifier="https://credit.niso.org/contributor-roles/conceptualization/">Conceptualization</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Data curation" vocab-term-identifier="https://credit.niso.org/contributor-roles/data-curation/">Data curation</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Formal analysis" vocab-term-identifier="https://credit.niso.org/contributor-roles/formal-analysis/">Formal Analysis</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Funding acquisition" vocab-term-identifier="https://credit.niso.org/contributor-roles/funding-acquisition/">Funding acquisition</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Investigation" vocab-term-identifier="https://credit.niso.org/contributor-roles/investigation/">Investigation</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Methodology" vocab-term-identifier="https://credit.niso.org/contributor-roles/methodology/">Methodology</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Project administration" vocab-term-identifier="https://credit.niso.org/contributor-roles/project-administration/">Project administration</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Software" vocab-term-identifier="https://credit.niso.org/contributor-roles/software/">Software</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Supervision" vocab-term-identifier="https://credit.niso.org/contributor-roles/supervision/">Supervision</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Validation" vocab-term-identifier="https://credit.niso.org/contributor-roles/validation/">Validation</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Visualization" vocab-term-identifier="https://credit.niso.org/contributor-roles/visualization/">Visualization</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing &#x2013; original draft" vocab-term-identifier="https://credit.niso.org/contributor-roles/writing-original-draft/">Writing &#x2013; original draft</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing &#x2013; review &#x26; editing" vocab-term-identifier="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/">Writing &#x2013; review and editing</role>
</contrib>
<contrib contrib-type="author" equal-contrib="yes">
<name>
<surname>Liu</surname>
<given-names>Qi</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="author-notes" rid="fn001">
<sup>&#x2020;</sup>
</xref>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Conceptualization" vocab-term-identifier="https://credit.niso.org/contributor-roles/conceptualization/">Conceptualization</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Formal analysis" vocab-term-identifier="https://credit.niso.org/contributor-roles/formal-analysis/">Formal Analysis</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Funding acquisition" vocab-term-identifier="https://credit.niso.org/contributor-roles/funding-acquisition/">Funding acquisition</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Investigation" vocab-term-identifier="https://credit.niso.org/contributor-roles/investigation/">Investigation</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Methodology" vocab-term-identifier="https://credit.niso.org/contributor-roles/methodology/">Methodology</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Project administration" vocab-term-identifier="https://credit.niso.org/contributor-roles/project-administration/">Project administration</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Resources" vocab-term-identifier="https://credit.niso.org/contributor-roles/resources/">Resources</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing &#x2013; original draft" vocab-term-identifier="https://credit.niso.org/contributor-roles/writing-original-draft/">Writing &#x2013; original draft</role>
<role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing &#x2013; review &#x26; editing" vocab-term-identifier="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/">Writing &#x2013; review and editing</role>
</contrib>
</contrib-group>
<aff id="aff1">
<label>1</label>
<institution>Faculty of Humanities and Social Sciences, Yanbian University</institution>, <city>Yanbian, Jilin</city>, <country country="CN">China</country>
</aff>
<aff id="aff2">
<label>2</label>
<institution>Finance Department, Hubei Institute of Technology</institution>, <city>Huangshi</city>, <state>Hubei</state>, <country country="CN">China</country>
</aff>
<author-notes>
<corresp id="c001">
<label>&#x2a;</label>Correspondence: Liyun Deng, <email xlink:href="mailto:deng.liyun@hotmail.com">deng.liyun@hotmail.com</email>
</corresp>
<fn fn-type="equal" id="fn001">
<label>&#x2020;</label>
<p>These authors have contributed equally to this work</p>
</fn>
</author-notes>
<pub-date publication-format="electronic" date-type="pub" iso-8601-date="2026-09-03">
<day>03</day>
<month>09</month>
<year>2026</year>
</pub-date>
<pub-date publication-format="electronic" date-type="collection">
<year>2026</year>
</pub-date>
<volume>14</volume>
<elocation-id>1884556</elocation-id>
<history>
<date date-type="received">
<day>18</day>
<month>05</month>
<year>2026</year>
</date>
<date date-type="rev-recd">
<day>15</day>
<month>07</month>
<year>2026</year>
</date>
<date date-type="accepted">
<day>20</day>
<month>07</month>
<year>2026</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2026 Deng and Liu.</copyright-statement>
<copyright-year>2026</copyright-year>
<copyright-holder>Deng and Liu</copyright-holder>
<license>
<ali:license_ref start_date="2026-09-03">https://creativecommons.org/licenses/by/4.0/</ali:license_ref>
<license-p>This is an open-access article distributed under the terms of the <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution License (CC BY)</ext-link>. The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</license-p>
</license>
</permissions>
<abstract>
<p>Tourism destination image encompasses the multifaceted perceptions of visitors that influence their choice of destination. However, current computational methodologies often analyze visual and textual signals separately and seldom link image perception to the quality of recommendations. This study introduces multimodal destination image perception and recommendation (MM-DIPR), a framework utilizing public data that amalgamates visual encoding, natural language processing, geospatial context, and graph-based ranking into a cohesive perception-aware pipeline. MM-DIPR discerns seven interpretable perception attributes, namely, landmarkness, naturalness, cultural/historical salience, esthetic appeal, crowding proxy, sentiment affect, and activity affordance, through a dedicated perception bottleneck that facilitates cross-modal alignment and graph ranking. We establish a reproducible benchmark using solely public and openly licensed datasets (Google Landmarks Dataset v2, YFCC100M, Places365, Yelp Open Dataset, TREC Contextual Suggestion, Wikimedia/Wikidata/Wikivoyage, Overture Maps Places, and SNAP Gowalla/Brightkite) and assess MM-DIPR against 11 baselines (including spatiotemporal and knowledge-graph POI models) across six complementary tasks, namely, perception classification, image&#x2013;text retrieval, personalized point-of-interest (POI) recommendation, cold-start recommendation, cross-city transfer, and explanation faithfulness. A formal spatial autocorrelation analysis confirms that all seven perception attributes exhibit statistically significant positive spatial autocorrelation (Moran&#x2019;s <inline-formula id="inf1">
<mml:math id="m1">
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>0.289</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.421</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>; <inline-formula id="inf2">
<mml:math id="m2">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0.05</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>), grounding the framework&#x2019;s geospatial design choices. Experimental findings indicate that the perception bottleneck significantly enhances ranking accuracy (Recall@10 of 0.213 and NDCG@10 of 0.152 on the Yelp benchmark; <inline-formula id="inf3">
<mml:math id="m3">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0.01</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>) and cold-start robustness compared to strong multimodal baselines. Ablation studies validate the independent contribution of each module, while diversity analysis reveals that calibrated re-ranking enhances long-tail exposure with minimal accuracy loss. A controlled annotation study with 2,000 images and three annotators confirms substantial inter-annotator agreement <inline-formula id="inf4">
<mml:math id="m4">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>0.68</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.83</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> for all attributes. Qualitative explanation panels ground recommendations in public visual and textual evidence, thus providing practical utility for destination management practitioners. All experimental code and derived benchmark artifacts will be made available to support reproducibility.</p>
</abstract>
<kwd-group>
<kwd>earth sciences</kwd>
<kwd>explainable AI</kwd>
<kwd>multimodal recommendation</kwd>
<kwd>point-of-interest recommendation</kwd>
<kwd>sustainable tourism analytics</kwd>
<kwd>tourism destination image</kwd>
<kwd>vision&#x2013;language learning</kwd>
</kwd-group>
<funding-group>
<funding-statement>The author(s) declared that financial support was not received for this work and/or its publication.</funding-statement>
</funding-group>
<counts>
<fig-count count="15"/>
<table-count count="7"/>
<equation-count count="3"/>
<ref-count count="50"/>
<page-count count="00"/>
</counts>
<custom-meta-group>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Geoinformatics</meta-value>
</custom-meta>
</custom-meta-group>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<label>1</label>
<title>Introduction</title>
<p>The selection of a tourism destination represents one of the most consequential decisions in consumer behavior (<xref ref-type="bibr" rid="B8">Chen et al., 2026</xref>; <xref ref-type="bibr" rid="B18">Hussain et al., 2023</xref>; <xref ref-type="bibr" rid="B10">Crompton, 1979</xref>). Visitors allocate significant financial and temporal resources based on expectations increasingly influenced by digital artifacts, including user-generated photographs, online reviews, travel guides, and, more recently, algorithmic recommendation feeds (<xref ref-type="bibr" rid="B25">Marine-Roig and Clave, 2015</xref>; <xref ref-type="bibr" rid="B49">Zheng et al., 2015</xref>). The concept of <italic>tourism destination image</italic> (TDI) encompasses the cognitive and affective impressions a potential visitor holds about a destination, and a substantial body of tourism research has demonstrated its predictive power over both the intention to visit and visitor satisfaction (<xref ref-type="bibr" rid="B2">Baloglu and McCleary, 1999</xref>; <xref ref-type="bibr" rid="B4">Beerli and Mart&#xed;n, 2004</xref>).</p>
<p>Despite this extensive theoretical foundation, computational approaches to modeling destination image have evolved largely independently of recommendation systems, with limited interaction. Image analysis in tourism has predominantly focused on classifying or clustering the visual content of destination photographs (<xref ref-type="bibr" rid="B33">Stepchenkova and Zhan, 2013</xref>; <xref ref-type="bibr" rid="B25">Marine-Roig and Clave, 2015</xref>), while recommendation systems optimize ranking objectives without incorporating interpretable perceptual constructs (<xref ref-type="bibr" rid="B46">Zhang and Chen, 2020</xref>). This disciplinary divide leads to two practical challenges. First, recommender systems lack perceptually grounded representations that could elucidate <italic>why</italic> a destination ranks highly for a given user, a limitation with direct implications for trust and destination management. Second, perception research does not readily generalize to ranking, cold-start, or cross-destination transfer, complicating the utilization of insights in operational platforms.</p>
<p>An additional, equally significant issue is <italic>data reproducibility</italic>. Much of the existing literature on tourism recommendation relies on proprietary or scraped datasets from commercial platforms, whose licensing terms, population biases, and long-term availability are uncertain (<xref ref-type="bibr" rid="B44">Zangerle and Bauer, 2022</xref>). This constrains replication, external audit, and fair comparison across studies.</p>
<p>This study addresses both the challenges by proposing MM-DIPR, a multimodal destination image perception and recommendation framework that:<list list-type="order">
<list-item>
<p>Introduces an explicit <italic>perception bottleneck</italic> that facilitates the learning of seven interpretable TDI attributes, serving as an intermediate representation shared between cross-modal alignment and graph-based personalized ranking; the bottleneck is validated by a controlled annotation study showing substantial inter-annotator agreement (<inline-formula id="inf5">
<mml:math id="m5">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>0.68</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.83</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> for all attributes).</p>
</list-item>
<list-item>
<p>Develops a spatially grounded, transparent, and reproducible benchmark utilizing solely publicly available and openly licensed datasets, including open geospatial data (Overture Maps Places, Wikidata, and Wikivoyage), with a formal spatial autocorrelation analysis (Moran&#x2019;s <inline-formula id="inf6">
<mml:math id="m6">
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>) confirming that perception attributes exhibit statistically significant spatial structure.</p>
</list-item>
<list-item>
<p>Assesses the quality of perception, retrieval, recommendation, cold-start robustness, cross-city generalization, diversity, and explanation faithfulness within a unified experimental framework, with an expanded baseline set that includes spatiotemporal and knowledge-graph POI recommendation models.</p>
</list-item>
<list-item>
<p>Offers licensing-aware data pipeline code and derived benchmark artifacts to facilitate future research endeavors.</p>
</list-item>
</list>
</p>
<p>The remainder of this article is organized as follows: <xref ref-type="sec" rid="s2">Section 2</xref> reviews related work. <xref ref-type="sec" rid="s3">Section 3</xref> describes the public dataset construction. <xref ref-type="sec" rid="s4">Section 4</xref> formalizes the tasks. <xref ref-type="sec" rid="s5">Section 5</xref> presents the MM-DIPR architecture. <xref ref-type="sec" rid="s6">Section 6</xref> details the experimental setup. <xref ref-type="sec" rid="s7">Section 7</xref> reports main, cold-start, cross-city, and ablation results. <xref ref-type="sec" rid="s8">Section 8</xref> analyses diversity, explanation, and error. <xref ref-type="sec" rid="s9">Section 9</xref> discusses implications, and <xref ref-type="sec" rid="s10">Section 10</xref> concludes.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Related work</title>
<sec id="s2-1">
<label>2.1</label>
<title>Tourism destination image and user-generated content</title>
<p>Theoretical frameworks for TDI typically differentiate between cognitive (attribute-based), affective (feeling-based), and conative (behavioral intention) components (<xref ref-type="bibr" rid="B2">Baloglu and McCleary, 1999</xref>). The proliferation of digital photography and social media has positioned user-generated photographs and reviews as pivotal in image formation, both for individual tourists and destination management organizations (<xref ref-type="bibr" rid="B25">Marine-Roig and Clave, 2015</xref>; <xref ref-type="bibr" rid="B33">Stepchenkova and Zhan, 2013</xref>). Computational studies have utilized visual analysis to classify the esthetics of tourism photographs (<xref ref-type="bibr" rid="B47">Zhang et al., 2022</xref>), deduce perceived destination attributes from Flickr images (<xref ref-type="bibr" rid="B41">Yang et al., 2014</xref>), and analyze textual sentiment in review corpora (<xref ref-type="bibr" rid="B5">Bi et al., 2020</xref>). These studies illustrate that perception is quantifiable; yet, they infrequently link perception to subsequent recommendation tasks.</p>
</sec>
<sec id="s2-2">
<label>2.2</label>
<title>Multimodal representation learning</title>
<p>The domain of vision&#x2013;language representation learning has progressed rapidly. CLIP (<xref ref-type="bibr" rid="B30">Radford et al., 2021</xref>) demonstrated that contrastive pre-training on image&#x2013;text pairs at a web scale produces representations that are transferable to a variety of downstream tasks. BLIP-2 (<xref ref-type="bibr" rid="B21">Li et al., 2023</xref>) introduced a lightweight querying transformer to connect frozen image encoders with large language models. DINOv2 (<xref ref-type="bibr" rid="B27">Oquab et al., 2024</xref>) revealed that self-supervised pre-training with curated data generates universal visual features that outperform supervised alternatives across numerous tasks. SigLIP (<xref ref-type="bibr" rid="B45">Zhai et al., 2023</xref>) enhanced contrastive learning with sigmoid losses (<xref ref-type="bibr" rid="B14">Hassan et al., 2024</xref>). These advancements provide a robust foundation for encoding tourism visual content; however, their direct application to TDI necessitates domain-specific adaptation concerning perception attributes absent in generic pre-training distributions.</p>
</sec>
<sec id="s2-3">
<label>2.3</label>
<title>Point-of-interest and tourism recommendation</title>
<p>Point-of-interest (POI) recommendation has been extensively examined through collaborative filtering (<xref ref-type="bibr" rid="B31">Rendle et al., 2009</xref>), visually-aware ranking (<xref ref-type="bibr" rid="B15">He and McAuley, 2016</xref>), and graph neural network methodologies (<xref ref-type="bibr" rid="B16">He et al., 2020</xref>; <xref ref-type="bibr" rid="B38">Wang et al., 2019</xref>). Context-aware and spatiotemporal extensions integrate time, mobility, and sequential behavior (<xref ref-type="bibr" rid="B24">Liu et al., 2013</xref>; <xref ref-type="bibr" rid="B22">Lian et al., 2020</xref>). Tourism-specific research has analyzed hybrid content-collaborative methods (<xref ref-type="bibr" rid="B29">Quercia et al., 2014</xref>; <xref ref-type="bibr" rid="B23">Lim et al., 2018</xref>) and addressed cold-start challenges stemming from sparse coverage of less-visited attractions (<xref ref-type="bibr" rid="B46">Zhang and Chen, 2020</xref>; <xref ref-type="bibr" rid="B11">Cui et al., 2020</xref>). Explainability in recommender systems has emerged as a distinct research trajectory (<xref ref-type="bibr" rid="B46">Zhang and Chen, 2020</xref>; <xref ref-type="bibr" rid="B42">Yaqoob et al., 2023</xref>), although the evaluation of faithfulness assessing whether the cited evidence genuinely influences recommendations remains insufficiently explored.</p>
</sec>
<sec id="s2-4">
<label>2.4</label>
<title>Responsible data practices in recommendation research</title>
<p>Concerns regarding reproducibility have led to calls for standardized, openly licensed benchmark datasets within the recommender systems community (<xref ref-type="bibr" rid="B44">Zangerle and Bauer, 2022</xref>; <xref ref-type="bibr" rid="B3">Beel et al., 2016</xref>). Tourism datasets, in particular, are often derived from proprietary platform APIs or scraped under ambiguous terms, thereby limiting auditability and replication (<xref ref-type="bibr" rid="B48">Zhang et al., 2023</xref>). Our research directly addresses this issue by constructing a benchmark exclusively from public sources with documented licensing, preprocessing, and version control.</p>
</sec>
</sec>
<sec id="s3">
<label>3</label>
<title>Public dataset construction</title>
<sec id="s3-1">
<label>3.1</label>
<title>Dataset selection principles</title>
<p>All datasets utilized in this study must adhere to four criteria: (1) the dataset must be publicly accessible without the need for proprietary access agreements; (2) the license or terms of service must allow for academic research use; (3) the specific extraction version and access date must be documented; and (4) the dataset must not contain any records that necessitate consent revocation under applicable privacy regulations. Data scraped from commercial tourism platforms (e.g., TripAdvisor and <ext-link ext-link-type="uri" xlink:href="http://Booking.com">Booking.com</ext-link>) and Kaggle mirrors of uncertain provenance are explicitly excluded.</p>
</sec>
<sec id="s3-2">
<label>3.2</label>
<title>Dataset overview</title>
<p>
<xref ref-type="table" rid="T1">Table 1</xref> provides a summary of the public sources utilized. Collectively, these sources offer the visual, textual, geospatial, interaction, and entity-linking modalities required for the six tasks formalized in <xref ref-type="sec" rid="s4">Section 4</xref>.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Dataset and source matrix for MM-DIPR are publicly accessible and verified for academic research licensing. It is imperative that extraction versions and any associated caveats are updated at the time of data download.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Dataset/Source</th>
<th align="left">Modalities</th>
<th align="left">Role in study</th>
<th align="left">License/Caveat</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Google Landmarks Dataset v2 (GLDv2) (<xref ref-type="bibr" rid="B39">Weyand et al., 2020</xref>)</td>
<td align="left">Landmark images, recognition/retrieval ground truth</td>
<td align="left">Visual encoder tuning; retrieval evaluation</td>
<td align="left">Apache 2.0 image list; validate URL availability</td>
</tr>
<tr>
<td align="left">YFCC100M (<xref ref-type="bibr" rid="B35">Thomee et al., 2016</xref>)</td>
<td align="left">Creative Commons Flickr metadata, titles, tags, and geo</td>
<td align="left">Geotagged tourism UGC; weak image&#x2013;text alignment</td>
<td align="left">CC and Yahoo terms; document actual retrieval yield</td>
</tr>
<tr>
<td align="left">Places365 (<xref ref-type="bibr" rid="B50">Zhou et al., 2018</xref>)</td>
<td align="left">1.8 M scene images, 365 categories</td>
<td align="left">Scene perception pre-training/evaluation</td>
<td align="left">MIT license; labels are scene categories, not TDI-specific</td>
</tr>
<tr>
<td align="left">Yelp Open Dataset (<xref ref-type="bibr" rid="B43">Yelp Inc, 2023</xref>)</td>
<td align="left">Business, reviews, photos, check-ins, and attributes</td>
<td align="left">POI recommendation and text&#x2013;image alignment</td>
<td align="left">Academic use; filter to tourism categories</td>
</tr>
<tr>
<td align="left">TREC Contextual Suggestion (<xref ref-type="bibr" rid="B12">Dean-Hall et al., 2016</xref>)</td>
<td align="left">User profiles, POI suggestions, and relevance judgments</td>
<td align="left">Personalized POI evaluation with reusable test collections</td>
<td align="left">NIST public; cite exact track year</td>
</tr>
<tr>
<td align="left">Wikimedia/Wikidata/Wikivoyage (<xref ref-type="bibr" rid="B37">Vrande&#x10d;i&#x107; and Kr&#xf6;tzsch, 2014</xref>; <xref ref-type="bibr" rid="B40">Wikivoyage contributors, 2023</xref>)</td>
<td align="left">Freely licensed media, structured POI metadata, and travel text</td>
<td align="left">POI knowledge graph; image provenance</td>
<td align="left">CC-BY, CC0, and CC-BY-SA; license differs per content type</td>
</tr>
<tr>
<td align="left">Overture Maps Places (<xref ref-type="bibr" rid="B28">Overture Maps Foundation, 2024</xref>)</td>
<td align="left">Open POI entities, categories, and geometry</td>
<td align="left">Entity normalization; tourism-category filtering</td>
<td align="left">CDLA Permissive 2.0; version every extraction</td>
</tr>
<tr>
<td align="left">SNAP Gowalla/Brightkite (<xref ref-type="bibr" rid="B9">Cho et al., 2011</xref>)</td>
<td align="left">Check-in records, location, and time</td>
<td align="left">Implicit feedback baseline; cold-start stress tests</td>
<td align="left">Public for research; use aggregated/anonymous analysis</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s3-3">
<label>3.3</label>
<title>Entity construction and linking</title>
<p>The point-of-interest (POI) entity table is developed by incorporating the Overture Maps Places release (version 2024-04-16.0, extracted 2024-05-01) and standardizing records with Wikidata entity identifiers where applicable. Duplicate entries across sources are resolved through coordinate-radius matching with a 50-m threshold, followed by string similarity filtering using the Jaro&#x2013;Winkler method with a threshold of 0.92 (yielding a de-duplication yield of 8.3% of raw records across all cities). Wikivoyage and Wikipedia guide texts are linked to POI entities via Wikidata QIDs, offering multilingual textual descriptions. Yelp business records are aligned with entity table entries through coordinate matching and fuzzy category alignment. SNAP check-in records are spatially joined to the entity table within a 100-m radius to derive implicit user&#x2013;POI interaction matrices. Geographic context features attached to each entity include: (i) decimal-degree WGS84 coordinates; (ii) a city-level region identifier; (iii) a three-level Overture Maps category hierarchy (e.g., <monospace>eat_and_drink &#x3e; restaurant &#x3e; italian_restaurant</monospace>); (iv) a Wikivoyage region tag used as a soft spatial prior during graph construction.</p>
</sec>
<sec id="s3-4">
<label>3.4</label>
<title>Image&#x2013;text linking and privacy filtering</title>
<p>Images associated with each POI entity are sourced from GLDv2 landmark identifiers, YFCC100M geotag-radius lookups, and Wikimedia Commons category pages. All images undergo a three-stage filtering process: (1) license verification against an approved list of Creative Commons and equivalent terms; (2) face detection and blurring using a publicly available OpenCV DNN detector to mitigate inadvertent personal data exposure; and (3) near-duplicate removal via perceptual hashing with a pHash Hamming distance of eight or less. Text associated with each entity combines Wikivoyage sentences, Wikipedia lead paragraphs, and Yelp review aggregates (tip summaries, not raw reviews, to limit re-identification risk). The dataset construction pipeline, including all filter thresholds and random seeds, is released with the article.</p>
</sec>
<sec id="s3-5">
<label>3.5</label>
<title>Benchmark splits</title>
<p>Three complementary split strategies are constructed. In-city split: a random 70/10/20 train/validation/test division within each city, preserving user&#x2013;POI interaction distribution. Cold-start split: POIs with fewer than five training interactions are withheld from training and evaluated separately, stratified by the interaction count <inline-formula id="inf7">
<mml:math id="m7">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mn>0,1</mml:mn>
<mml:mo>-</mml:mo>
<mml:mn>5,6</mml:mn>
<mml:mo>-</mml:mo>
<mml:mn>20,21</mml:mn>
<mml:mo>-</mml:mo>
<mml:mn>50</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>50</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>. Cross-city split: models are trained on all POIs and user interactions from Phoenix and Pittsburgh (training cities) and evaluated zero-shot on six unseen cities: Las Vegas, Chicago, Seattle, Boston, Austin, and Denver (test cities).</p>
<p>
<xref ref-type="table" rid="T2">Table 2</xref> reports the exact record counts per city and split after all filtering. Across all eight cities, the benchmark contains 40,542 unique POI entities, 283,946 images (after license and privacy filtering), 80,306 unique users, and 1,418,622 check-in interactions. Image source distribution across the benchmark is reported in <xref ref-type="fig" rid="F1">Figure 1</xref>.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Detailed per-city dataset statistics after all filtering steps. The raining cities are Phoenix and Pittsburgh; the remaining cities are used exclusively for cross-city evaluation.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">City</th>
<th align="right">POIs</th>
<th align="right">Images</th>
<th align="right">Users</th>
<th align="right">Check-ins</th>
<th align="center">Role</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Phoenix</td>
<td align="right">4,812</td>
<td align="right">38,490</td>
<td align="right">11,240</td>
<td align="right">187,431</td>
<td align="center">Train</td>
</tr>
<tr>
<td align="left">Pittsburgh</td>
<td align="right">3,267</td>
<td align="right">26,138</td>
<td align="right">7,820</td>
<td align="right">130,280</td>
<td align="center">Train</td>
</tr>
<tr>
<td align="left">Las Vegas</td>
<td align="right">5,140</td>
<td align="right">41,120</td>
<td align="right">12,308</td>
<td align="right">204,150</td>
<td align="center">Test</td>
</tr>
<tr>
<td align="left">Chicago</td>
<td align="right">6,023</td>
<td align="right">48,178</td>
<td align="right">14,421</td>
<td align="right">239,623</td>
<td align="center">Test</td>
</tr>
<tr>
<td align="left">Seattle</td>
<td align="right">4,398</td>
<td align="right">35,182</td>
<td align="right">10,521</td>
<td align="right">175,073</td>
<td align="center">Test</td>
</tr>
<tr>
<td align="left">Boston</td>
<td align="right">5,211</td>
<td align="right">41,688</td>
<td align="right">12,480</td>
<td align="right">207,625</td>
<td align="center">Test</td>
</tr>
<tr>
<td align="left">Austin</td>
<td align="right">3,789</td>
<td align="right">30,312</td>
<td align="right">9,056</td>
<td align="right">150,900</td>
<td align="center">Test</td>
</tr>
<tr>
<td align="left">Denver</td>
<td align="right">3,102</td>
<td align="right">24,816</td>
<td align="right">7,420</td>
<td align="right">123,540</td>
<td align="center">Test</td>
</tr>
<tr>
<td align="left">Total</td>
<td align="right">40,542</td>
<td align="right">283,946</td>
<td align="right">80,306</td>
<td align="right">1,418,622</td>
<td align="center">&#x2013;</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Dataset statistics. <bold>(a)</bold> City-level record counts (POIs, images <inline-formula id="inf8">
<mml:math id="m8">
<mml:mrow>
<mml:mo>&#xf7;</mml:mo>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, users, and check-ins <inline-formula id="inf9">
<mml:math id="m9">
<mml:mrow>
<mml:mo>&#xf7;</mml:mo>
<mml:mn>100</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>); the red dashed line separates training from test cities. <bold>(b)</bold> Image source distribution across the full benchmark (283,946 images after all license and privacy filtering).</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="feart-14-1884556-g001.tif">
<alt-text content-type="machine-generated">Panel (a) displays a grouped bar chart comparing counts for POIs, users, images, and check-ins across Phoenix, Pittsburgh, Las Vegas, Chicago, Seattle, Boston, Austin, and Denver, with a red dashed line separating training from test cities. Panel (b) presents a pie chart where GLDv2 represents 31.0 percent, Wikimedia Commons 27.0 percent, YFCC100M 22.0 percent, Yelp Photos 16.0 percent, and Other 4.0 percent of image sources.</alt-text>
</graphic>
</fig>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Problem formulation</title>
<p>Let <inline-formula id="inf10">
<mml:math id="m10">
<mml:mrow>
<mml:mi mathvariant="script">U</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> be the set of users, <inline-formula id="inf11">
<mml:math id="m11">
<mml:mrow>
<mml:mi mathvariant="script">I</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> be the set of destination/POI items, <inline-formula id="inf12">
<mml:math id="m12">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> be the set of public images associated with item <inline-formula id="inf13">
<mml:math id="m13">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf14">
<mml:math id="m14">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> be the set of textual evidence (reviews, descriptions, and tags), and <inline-formula id="inf15">
<mml:math id="m15">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">G</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> be the geospatial and category attributes of item <inline-formula id="inf16">
<mml:math id="m16">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. Let <inline-formula id="inf17">
<mml:math id="m17">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represent the contextual history for user <inline-formula id="inf18">
<mml:math id="m18">
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>Task 1: Destination image perception: Learning a perception function <inline-formula id="inf19">
<mml:math id="m19">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">G</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> that maps multimodal item evidence to a <inline-formula id="inf20">
<mml:math id="m20">
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-dimensional vector of interpretable perception attributes (e.g., landmarkness and naturalness) and a dense latent perception embedding.</p>
<p>Task 2: Image&#x2013;text retrieval: Given a query image <inline-formula id="inf21">
<mml:math id="m21">
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">V</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> (or text <inline-formula id="inf22">
<mml:math id="m22">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>), retrieving the top-<inline-formula id="inf23">
<mml:math id="m23">
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> most relevant text descriptions (or images) from the POI corpus, evaluated by Recall@<inline-formula id="inf24">
<mml:math id="m24">
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, MAP@<inline-formula id="inf25">
<mml:math id="m25">
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, and MRR.</p>
<p>Task 3: Personalized POI recommendation: Learning a scoring function <inline-formula id="inf26">
<mml:math id="m26">
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and return a ranked list of items for each user, evaluated by Recall@<inline-formula id="inf27">
<mml:math id="m27">
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, NDCG@<inline-formula id="inf28">
<mml:math id="m28">
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, and MAP@<inline-formula id="inf29">
<mml:math id="m29">
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>Task 4: Cold-start generalization: Evaluating <inline-formula id="inf30">
<mml:math id="m30">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> on new POIs with no training interactions, measuring the performance by interaction stratum and relative improvement over interaction-only baselines.</p>
<p>Task 5: Cross-city transfer: Evaluating <inline-formula id="inf31">
<mml:math id="m31">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> on POIs and users from cities entirely unseen during training (see <xref ref-type="sec" rid="s7-4">Section 7.4</xref> for the full protocol, clarification of the zero-shot scope, user overlap, and inference procedure).</p>
<p>Task 6: Explanation faithfulness: For each recommended item, generating an evidence tuple <inline-formula id="inf32">
<mml:math id="m32">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="script">V</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="script">T</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> of representative images, text snippets, and perception attributes. Evaluating faithfulness by a deletion protocol: removing cited evidence, re-scoring the item, and measuring the score drop relative to random-evidence deletion.</p>
<p>The joint training objective is:<disp-formula id="e1">
<mml:math id="m33">
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>perc</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>align</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>rank</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>cal</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>div</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>where (i) <inline-formula id="inf33">
<mml:math id="m34">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>perc</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is a binary cross-entropy loss over binarized (above/below median) perception attribute labels; (ii) <inline-formula id="inf34">
<mml:math id="m35">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>align</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is a contrastive InfoNCE image&#x2013;text alignment loss (<xref ref-type="disp-formula" rid="e2">Equation 2</xref>); (iii) <inline-formula id="inf35">
<mml:math id="m36">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>rank</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is a Bayesian personalized ranking (BPR) loss (<xref ref-type="bibr" rid="B31">Rendle et al., 2009</xref>), optimizing the relative ordering of observed over unobserved interactions; (iv) <inline-formula id="inf36">
<mml:math id="m37">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>cal</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the expected calibration error (ECE) penalizing overconfident attribute predictions; and (v) <inline-formula id="inf37">
<mml:math id="m38">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>div</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the negative mean pairwise cosine distance in perception embedding space, applied only at the re-ranking stage to promote diverse top-<inline-formula id="inf38">
<mml:math id="m39">
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> selections. Hyper-parameters <inline-formula id="inf39">
<mml:math id="m40">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>-</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are tuned on the validation split; their sensitivity is analyzed in <xref ref-type="sec" rid="s6-6">Section 6.6</xref> and <xref ref-type="fig" rid="F2">Figure 2</xref>.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Hyperparameter sensitivity analysis. <bold>(a)</bold> Joint grid search over <inline-formula id="inf40">
<mml:math id="m41">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> (alignment loss weight) and <inline-formula id="inf41">
<mml:math id="m42">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> (ranking loss weight); star () marks the selected configuration. <bold>(b)</bold> Sensitivity to graph propagation depth <inline-formula id="inf42">
<mml:math id="m43">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>; the dashed line marks the selected value <inline-formula id="inf43">
<mml:math id="m44">
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. <bold>(c)</bold> Sensitivity to projection dimension <inline-formula id="inf44">
<mml:math id="m45">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>; the dashed line marks the selected value <inline-formula id="inf45">
<mml:math id="m46">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>512</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="feart-14-1884556-g002.tif">
<alt-text content-type="machine-generated">Figure with three subplots. Panel (a) shows a heat map with NDCG@10 values, where color indicates performance across combinations of &#x3BB;&#x2081; (alignment loss weight) and &#x3BB;&#x2082; (ranking loss weight), with the optimal value in the center indicated by a yellow star. Panel (b) is a line chart showing validation NDCG@10 as a function of graph propagation depth (layers), peaking at depth 2, marked with a vertical red dashed line labeled &#x22;Selected.&#x22; Panel (c) is a line chart showing validation NDCG@10 versus projection dimension d, with performance increasing and peaking at d = 512, also marked with a vertical red dashed line labeled &#x22;Selected.&#x22;</alt-text>
</graphic>
</fig>
</sec>
<sec id="s5">
<label>5</label>
<title>The MM-DIPR framework</title>
<p>
<xref ref-type="fig" rid="F3">Figure 3</xref> provides a high-level overview of MM-DIPR, and <xref ref-type="fig" rid="F4">Figure 4</xref> provides details of the module interactions and data flow.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>MM-DIPR framework encompasses the process from the ingestion of public data through the perception bottleneck to the development of perception-aware recommendations and explanations. Each column signifies a distinct processing stage, while arrows indicate the flow of data.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="feart-14-1884556-g003.tif">
<alt-text content-type="machine-generated">Flowchart illustrating a data pipeline for ranking destinations, starting from public data sources, followed by entity and licensing checks, multimodal encoding, perception scoring, graph ranking, and producing ranked destinations with grounded explanations and fairness re-ranking.</alt-text>
</graphic>
</fig>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>MM-DIPR architecture is characterized by four distinct input branches, namely, images, text, geographical data, and check-ins, each of which is processed by modality-specific encoders. The architecture facilitates cross-modal alignment and incorporates a perception bottleneck to generate interpretable embeddings of points-of-interest (POIs), which are subsequently utilized by the graph ranker. Additionally, the explanation module is designed to retrieve supporting evidence from the same public sources.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="feart-14-1884556-g004.tif">
<alt-text content-type="machine-generated">Flowchart illustrating a multi-modal recommendation framework with four input sources: images, reviews and descriptions, geo and category data, and user-item check-ins. Each input passes through respective encoders. Visual, text, geo-context, and user embeddings are aligned cross-modally and filtered by a perception bottleneck considering landmarkness, naturalness, aesthetics, affect, and crowding. These outputs merge into POI embedding fusion and a graph ranker, producing ranked destinations, perception-grounded explanations, diversity or fairness re-ranking, and cold-start generalization. A joint loss function incorporating perception, alignment, ranking, and diversity objectives is shown at the bottom.</alt-text>
</graphic>
</fig>
<sec id="s5-1">
<label>5.1</label>
<title>Module M1: licensing-aware entity construction</title>
<p>A comprehensive POI entity table is constructed utilizing data from Overture Maps Places and Wikidata (refer to <xref ref-type="sec" rid="s3">Section 3</xref>). Each entity record encompasses coordinates, a normalized name, a Wikidata QID (when available), a tourism category derived from Overture and Wikivoyage hierarchies, and a media license manifest. This manifest is instrumental in guiding the downstream image filter to ensure that no unlicensed images are incorporated into the training or evaluation processes.</p>
</sec>
<sec id="s5-2">
<label>5.2</label>
<title>Module M2: visual encoding</title>
<p>Images associated with each POI are encoded using two complementary backbones: a CLIP ViT-B/32 encoder (<xref ref-type="bibr" rid="B30">Radford et al., 2021</xref>) for semantic image&#x2013;language grounding and a DINOv2 ViT-S/14 encoder (<xref ref-type="bibr" rid="B27">Oquab et al., 2024</xref>) for capturing robust low-level and mid-level visual features. A Places365-style scene head (<xref ref-type="bibr" rid="B50">Zhou et al., 2018</xref>) appends scene-category logits, while a GLDv2-trained landmark head appends landmark probability scores. The final image embedding for POI <inline-formula id="inf46">
<mml:math id="m47">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is achieved through the L2-normalized concatenation of these four representations, followed by a learned projection to a dimension of <inline-formula id="inf47">
<mml:math id="m48">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>512</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</sec>
<sec id="s5-3">
<label>5.3</label>
<title>Module M3: textual encoding</title>
<p>The text associated with each POI, including Wikivoyage sentences, Wikipedia lead paragraphs, Yelp tip aggregates, and tag strings from YFCC100M, is encoded using a multilingual pre-trained transformer [mDeBERTa-v3-base (<xref ref-type="bibr" rid="B17">He et al., 2023</xref>)]. Sentence-level embeddings are mean-pooled within each text type, and type-specific embeddings are integrated via a learned gating network into a unified <inline-formula id="inf48">
<mml:math id="m49">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-dimensional text embedding.</p>
</sec>
<sec id="s5-4">
<label>5.4</label>
<title>Module M4: cross-modal alignment</title>
<p>Image and text embeddings are aligned with a contrastive InfoNCE loss (<xref ref-type="bibr" rid="B36">van den Oord et al., 2018</xref>):<disp-formula id="e2">
<mml:math id="m50">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>align</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:mi>log</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:mi>exp</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x22a4;</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>/</mml:mo>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:mi>exp</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x22a4;</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>/</mml:mo>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>where <inline-formula id="inf49">
<mml:math id="m51">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is a learned temperature. Hard negatives are sampled from geographically nearby or visually similar POIs to discourage trivial separation and encourage within-domain discrimination (<xref ref-type="bibr" rid="B32">Robinson et al., 2021</xref>).</p>
</sec>
<sec id="s5-5">
<label>5.5</label>
<title>Module M5: perception bottleneck</title>
<p>The perception bottleneck is designed to learn a set of <inline-formula id="inf50">
<mml:math id="m52">
<mml:mrow>
<mml:mi>K</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>7</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> interpretable perception attributes, corresponding to theoretically grounded TDI dimensions (<xref ref-type="bibr" rid="B2">Baloglu and McCleary, 1999</xref>): (1) landmarkness, (2) naturalness, (3) cultural/historical salience, (4) esthetic appeal, (5) crowding proxy, (6) sentiment affect, and (7) activity affordance. Weak supervision is obtained from several sources: (i) Places365 scene logits for naturalness and activity affordance, (ii) GLDv2 landmark scores for landmarkness, (iii) Wikivoyage category tags for cultural/historical salience, and (iv) Yelp sentiment aggregates for affect. The bottleneck head comprises a two-layer MLP that generates <inline-formula id="inf51">
<mml:math id="m53">
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> sigmoid-activated scores from the fused multimodal embedding. These scores serve as both interpretable outputs and regularizers, ensuring that the latent POI embedding retains perception-relevant structure.</p>
<p>Relationship to POI evaluation categories. The seven perception attributes are distinct from the six POI evaluation categories (landmark, natural scenery, cultural/historical, beach/resort, museum/gallery, and urban attractions) used in the classification experiment. Perception attributes are continuous scores that any POI can exhibit to varying degrees, whereas POI categories are discrete labels used to organize the evaluation benchmark. <xref ref-type="table" rid="T3">Table 3</xref> maps each attribute to its primary POI category association and weak supervision signal.</p>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Perception attribute&#x2013;category correspondence, TDI theory dimension, weak supervision source, and expected category association.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Attribute</th>
<th align="left">TDI dimension</th>
<th align="left">Weak supervision</th>
<th align="left">Primary POI category</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Landmarkness</td>
<td align="left">Cognitive (attribute)</td>
<td align="left">GLDv2 landmark scores</td>
<td align="left">Landmark</td>
</tr>
<tr>
<td align="left">Naturalness</td>
<td align="left">Cognitive (attribute)</td>
<td align="left">Places365 natural scenes</td>
<td align="left">Natural scenery</td>
</tr>
<tr>
<td align="left">Cultural/historical salience</td>
<td align="left">Cognitive (attribute)</td>
<td align="left">Wikivoyage category tags</td>
<td align="left">Cultural/historical</td>
</tr>
<tr>
<td align="left">Asthetic appeal</td>
<td align="left">Affective</td>
<td align="left">Places365 esthetic proxy</td>
<td align="left">Beach/resort</td>
</tr>
<tr>
<td align="left">Crowding proxy</td>
<td align="left">Cognitive (attribute)</td>
<td align="left">YFCC100M density estimates</td>
<td align="left">Urban attractions</td>
</tr>
<tr>
<td align="left">Sentiment affect</td>
<td align="left">Affective</td>
<td align="left">Yelp sentiment aggregates</td>
<td align="left">Museum/gallery</td>
</tr>
<tr>
<td align="left">Activity affordance</td>
<td align="left">Conative (behavior)</td>
<td align="left">Places365 activity scenes</td>
<td align="left">All categories</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s5-6">
<label>5.6</label>
<title>Module M6: graph recommendation</title>
<p>A heterogeneous graph is constructed with users and POIs as nodes, incorporating four types of edges: user&#x2013;POI interactions, POI&#x2013;POI category similarity, image&#x2013;POI association, and geospatial proximity (Euclidean distance <inline-formula id="inf52">
<mml:math id="m54">
<mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>km, weighted by inverse distance). A LightGCN-style (<xref ref-type="bibr" rid="B16">He et al., 2020</xref>) propagation scheme is utilized to aggregate neighborhood information over two layers (justified by the sensitivity analysis in <xref ref-type="fig" rid="F2">Figure 2</xref>) without non-linear activation, leading to propagated user and item embeddings. The ranking score is computed as in <xref ref-type="disp-formula" rid="e3">Equation 3</xref>:<disp-formula id="e3">
<mml:math id="m55">
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x22a4;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3b2;</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>where <inline-formula id="inf53">
<mml:math id="m56">
<mml:mrow>
<mml:mi mathvariant="bold">e</mml:mi>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> denotes the aggregated embedding after graph propagation, <inline-formula id="inf54">
<mml:math id="m57">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="bold">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is the initial user embedding (retained for training stability), <inline-formula id="inf55">
<mml:math id="m58">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is the perception embedding from Module M5 projected to dimension <inline-formula id="inf56">
<mml:math id="m59">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf57">
<mml:math id="m60">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> are jointly learned scalars. The additive injection of <inline-formula id="inf58">
<mml:math id="m61">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> into the item embedding is deliberate: unlike concatenation, which would opaquely entangle perception with graph-propagated features, additive injection preserves the interpretability of the individual perception attribute scores while allowing the ranker to modulate their influence via <inline-formula id="inf59">
<mml:math id="m62">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. The ablation study (<xref ref-type="sec" rid="s7">Section 7</xref>; <xref ref-type="fig" rid="F5">Figure 5</xref>) shows that setting <inline-formula id="inf60">
<mml:math id="m63">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> (w/o Perc) causes a 13.6% decrease in point in absolute Recall@10.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Results of the ablation study. Horizontal bar charts illustrate Recall@10 and NDCG@10 for MM-DIPR and eight ablated variants evaluated on the TREC contextual suggestion split. Error bars represent 95% bootstrap confidence intervals. The shuffled image&#x2013;text sanity check is highlighted in red. The new <italic>w/o GeoEdges</italic> variant (ablation viii) is shown at the bottom of each panel.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="feart-14-1884556-g005.tif">
<alt-text content-type="machine-generated">Bar chart comparing ablation study results for TREC Contextual Suggestion using Recall@10 and NDCG@10 metrics with 95 percent confidence intervals. Full MM-DIPR model outperforms all ablated variants and shuffled sanity-check, with Recall@10 at 0.213 and NDCG@10 at 0.152. Removing the perception bottleneck, graph ranker, geo context, text encoder, or visual encoder decreases scores, while shuffled image-text yields the lowest performance.</alt-text>
</graphic>
</fig>
</sec>
<sec id="s5-7">
<label>5.7</label>
<title>Module M7: diversity re-ranking</title>
<p>In accordance with the maximal marginal relevance (MMR) framework (<xref ref-type="bibr" rid="B7">Carbonell and Goldstein, 1998</xref>), a re-ranking procedure is utilized to select items from the top-50 candidates, aiming to optimize a convex combination of relevance and intra-list diversity, as regulated by <inline-formula id="inf61">
<mml:math id="m64">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. Diversity is quantified as the mean pairwise cosine distance within the perception embedding space, thereby encouraging the re-ranker to favor destinations with complementary perceptual profiles.</p>
</sec>
<sec id="s5-8">
<label>5.8</label>
<title>Module M8: explanation generation</title>
<p>For each recommended POI, the explanation module provides: (i) the top-three perception attributes ranked by magnitude, (ii) the public image from the POI&#x2019;s image set that exhibits the highest alignment similarity (subject to licensing constraints), and (iii) the review sentence from the Yelp tip corpus that is most semantically similar. The faithfulness of the explanation is assessed through a deletion protocol: the top-cited image is removed from the visual input, and the resultant decrease in score is measured and compared to the mean decrease in score from 100 random-image deletions. An explanation is deemed faithful if the deletion of top-cited evidence leads to a significantly larger decrease in score than random deletions (paired <inline-formula id="inf62">
<mml:math id="m65">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-test; <inline-formula id="inf63">
<mml:math id="m66">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0.05</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>).</p>
</sec>
<sec id="s5-9">
<label>5.9</label>
<title>Algorithm summary</title>
<p>This section presents the algorithmic summary of the MM-DIPR training procedure in <xref ref-type="statement" rid="Algorithm_1">Algorithm 1</xref>.</p>
<p>
<statement content-type="algorithm" id="Algorithm_1">
<label>Algorithm 1</label>
<p>MM-DIPR training procedure.<list list-type="simple">
<list-item>
<p>
<bold>Require:</bold> Public POI table, public images, public texts, public check-in data, license manifest</p>
</list-item>
<list-item>
<p>
<bold>Ensure:</bold> Trained parameters <inline-formula id="inf64">
<mml:math id="m67">
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>; benchmark artefacts</p>
</list-item>
<list-item>
<p>1:&#x2003;Data preparation: filter by license, version sources, apply privacy filter</p>
</list-item>
<list-item>
<p>2:&#x2003;Entity linking: normalize POI entities; link images, text, and interactions</p>
</list-item>
<list-item>
<p>3:&#x2003;Embedding: extract <inline-formula id="inf65">
<mml:math id="m68">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> for all POIs (Modules M2&#x2013;M3)</p>
</list-item>
<list-item>
<p>4:&#x2003;Graph construction: build heterogeneous user&#x2013;POI&#x2013;image graph</p>
</list-item>
<list-item>
<p>5:&#x2003;<bold>for</bold> each training epoch <bold>do</bold>
</p>
</list-item>
<list-item>
<p>6:&#x2003;&#x2003;Sample mini-batch of (user, positive POI, negative POI) triples</p>
</list-item>
<list-item>
<p>7:&#x2003;&#x2003;Compute cross-modal alignment loss <inline-formula id="inf66">
<mml:math id="m69">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>align</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> with hard negatives (M4)</p>
</list-item>
<list-item>
<p>8:&#x2003;&#x2003;Compute perception attribute scores; compute <inline-formula id="inf67">
<mml:math id="m70">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>perc</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> (M5)</p>
</list-item>
<list-item>
<p>9:&#x2003;&#x2003;Perform two-layer LightGCN propagation; compute ranking scores (M6)</p>
</list-item>
<list-item>
<p>10:&#x2003;&#x2003;Compute BPR loss <inline-formula id="inf68">
<mml:math id="m71">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>rank</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>11:&#x2003;&#x2003;Update <inline-formula id="inf69">
<mml:math id="m72">
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> via AdamW with <inline-formula id="inf70">
<mml:math id="m73">
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> (<xref ref-type="disp-formula" rid="e1">Equation 1</xref>)</p>
</list-item>
<list-item>
<p>12:&#x2003;<bold>end for</bold>
</p>
</list-item>
<list-item>
<p>13:&#x2003;Apply MMR diversity re-ranking at inference time (M7)</p>
</list-item>
<list-item>
<p>14:&#x2003;Generate and evaluate evidence-grounded explanations (M8)</p>
</list-item>
</list>
</p>
</statement>
</p>
</sec>
<sec id="s5-10">
<label>5.10</label>
<title>Annotation protocol and construct validation</title>
<p>To validate the perception bottleneck&#x2019;s seven attributes beyond weak supervision, we conducted a controlled annotation study on a stratified random sample of 2,000 images (approximately 333 images per POI category). Three trained annotators independently scored each image on all seven attributes using a five-point Likert scale (1 &#x3d; not at all; 5 &#x3d; strongly). Scores were binarized at the per-attribute median score (computed on the pilot set of 100 images) to yield binary present/absent labels before computing agreement statistics.</p>
<p>Annotation guidelines were developed iteratively through pilot rounds on 100 images that were not included in the final sample, achieving consensus on operationalized definitions for ambiguous attributes (e.g., crowding proxy operationalized as the presence of <inline-formula id="inf71">
<mml:math id="m74">
<mml:mrow>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> identifiable people or queue structures visible in the image; activity affordance operationalized as the range of observable physical activities that the scene supports). Disagreements were adjudicated by majority vote, and the majority-vote label was used as the consensus (gold) label for all downstream comparisons.</p>
<p>Inter-annotator agreement calculation: With three annotators, Cohen&#x2019;s <inline-formula id="inf72">
<mml:math id="m75">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> was computed as the mean of the three pairwise <inline-formula id="inf73">
<mml:math id="m76">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> values (annotators A vs. B, A vs. C, and B vs. C) for each attribute, following the mean-pairwise approach of <xref ref-type="bibr" rid="B1">Artstein and Poesio (2008)</xref>. We report the mean pairwise <inline-formula id="inf74">
<mml:math id="m77">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> rather than Fleiss&#x2019;s <inline-formula id="inf75">
<mml:math id="m78">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> to maintain comparability with the two-annotator literature; reported values are averages over the three pairs.</p>
<p>Results (<xref ref-type="fig" rid="F6">Figure 6</xref>) show that all seven attributes achieve substantial or near-perfect inter-annotator agreement <inline-formula id="inf76">
<mml:math id="m79">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>0.68</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.83</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, exceeding the widely adopted threshold of 0.61 for substantial agreement (<xref ref-type="bibr" rid="B20">Landis and Koch, 1977</xref>). Crowding proxy <inline-formula id="inf77">
<mml:math id="m80">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.68</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> and sentiment affect <inline-formula id="inf78">
<mml:math id="m81">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.71</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> show the lowest agreement, consistent with their reliance on subjective interpretation; these are flagged as lower-confidence attributes.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Perception attribute construct validation. <bold>(a)</bold> Cohen&#x2019;s <inline-formula id="inf79">
<mml:math id="m82">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> for all seven attributes across three annotators (2,000-image stratified sample; dashed line at <inline-formula id="inf80">
<mml:math id="m83">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.61</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> marks the substantial agreement threshold). <bold>(b)</bold> Per-attribute comparison of weak-supervision F1 and human-annotation F1.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="feart-14-1884556-g006.tif">
<alt-text content-type="machine-generated">Bar chart with two panels labeled (a) and (b); panel (a) shows Cohen&#x2019;s Kappa values for seven attributes with all above the substantial agreement threshold of 0.61, while panel (b) compares per-attribute F1 scores from weak-supervision and human-annotation, with human-annotation F1 generally higher across all attributes.</alt-text>
</graphic>
</fig>
<p>F1 measures were defined. Two F1 scores are compared. <italic>Weak-supervision F1</italic> is the macro-averaged F1 of the weak-label predictions (derived from Places365, GLDv2, Wikivoyage, and Yelp proxies, as described in <xref ref-type="sec" rid="s5">Section 5</xref>) against the consensus annotation labels. <italic>Human-annotation F1</italic> is the macro-averaged F1 of each individual annotator&#x2019;s labels against the majority-vote consensus, averaged across the three annotators and then across attributes. Comparison of the weak-supervision F1 to human-annotation F1 reveals a maximum gap of 4.1% points (crowding proxy: 0.812 vs. 0.853), confirming that the public-data proxies provide reliable operational approximations of the intended constructs.</p>
</sec>
</sec>
<sec id="s6">
<label>6</label>
<title>Experimental setup</title>
<sec id="s6-1">
<label>6.1</label>
<title>Datasets and splits</title>
<p>The experiments utilize the Yelp Open Dataset (Yelp Inc., 2023) for personalized POI recommendation (Tasks 3&#x2013;5) and the GLDv2&#x2b;Wikimedia split for image&#x2013;text retrieval (Task 2). Perception classification (Task 1) utilizes Places365 scene labels and a manually annotated subset of 2,000 images, incorporating the seven perception attributes detailed in <xref ref-type="sec" rid="s5">Section 5</xref>. The TREC Contextual Suggestion 2016 (<xref ref-type="bibr" rid="B12">Dean-Hall et al., 2016</xref>) offers additional evaluation for recommendations through graded relevance judgments. The SNAP Gowalla dataset (<xref ref-type="bibr" rid="B9">Cho et al., 2011</xref>) provides supplementary check-in baselines.</p>
<p>Split sizes: For the in-city split, the two training cities (Phoenix and Pittsburgh) together yield 8,079 POIs, 317,711 check-in interactions, 19,060 unique users, and 64,628 image&#x2013;text pairs, with a 70/10/20 train/validation/test partition (train: 5,655 POIs and 222,398 interactions; validation: 808 POIs and 31,771 interactions; test: 1,616 POIs, 63,542 interactions). For the cold-start split, 1,613 POIs (20% of training-city POIs, those with <inline-formula id="inf81">
<mml:math id="m84">
<mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> interactions) are withheld from training and used exclusively for cold-start evaluation. For the cross-city split, all six test cities contribute 28,663 POIs, 1,100,911 interactions, and 61,246 users; no interactions or user histories from these cities appear during training.</p>
<p>User deduplication: Users are identified by their hashed Yelp pseudonym. A user whose hashed identifier appears in more than one city is counted only once in the global user pool (80,306 total unique users), but their city-specific interaction records are retained separately. No user from a test city is present in the training split.</p>
</sec>
<sec id="s6-2">
<label>6.2</label>
<title>Baselines</title>
<p>The following seven baselines are used for the core comparison (<xref ref-type="table" rid="T4">Table 4</xref>):</p>
<table-wrap id="T4" position="float">
<label>TABLE 4</label>
<caption>
<p>Complete results of the point-of-interest (POI) recommendation on the Yelp Open Dataset benchmark.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Method</th>
<th align="center">R@5</th>
<th align="center">R@10</th>
<th align="center">R@20</th>
<th align="center">N@5</th>
<th align="center">N@10</th>
<th align="center">N@20</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Popularity</td>
<td align="center">0.042</td>
<td align="center">0.068</td>
<td align="center">0.101</td>
<td align="center">0.031</td>
<td align="center">0.038</td>
<td align="center">0.049</td>
</tr>
<tr>
<td align="left">BPR</td>
<td align="center">0.073</td>
<td align="center">0.112</td>
<td align="center">0.163</td>
<td align="center">0.058</td>
<td align="center">0.071</td>
<td align="center">0.089</td>
</tr>
<tr>
<td align="left">VBPR</td>
<td align="center">0.091</td>
<td align="center">0.138</td>
<td align="center">0.197</td>
<td align="center">0.074</td>
<td align="center">0.089</td>
<td align="center">0.111</td>
</tr>
<tr>
<td align="left">Text-only</td>
<td align="center">0.088</td>
<td align="center">0.134</td>
<td align="center">0.191</td>
<td align="center">0.070</td>
<td align="center">0.086</td>
<td align="center">0.107</td>
</tr>
<tr>
<td align="left">Image-only</td>
<td align="center">0.085</td>
<td align="center">0.130</td>
<td align="center">0.186</td>
<td align="center">0.068</td>
<td align="center">0.083</td>
<td align="center">0.104</td>
</tr>
<tr>
<td align="left">LightGCN</td>
<td align="center">0.109</td>
<td align="center">0.161</td>
<td align="center">0.226</td>
<td align="center">0.087</td>
<td align="center">0.106</td>
<td align="center">0.131</td>
</tr>
<tr>
<td align="left">Late fusion</td>
<td align="center">0.118</td>
<td align="center">0.174</td>
<td align="center">0.241</td>
<td align="center">0.096</td>
<td align="center">0.117</td>
<td align="center">0.143</td>
</tr>
<tr>
<td align="left">
<bold>MM-DIPR</bold>
</td>
<td align="center">
<bold>0.148</bold>
</td>
<td align="center">
<bold>0.213</bold>
</td>
<td align="center">
<bold>0.291</bold>
</td>
<td align="center">
<bold>0.127</bold>
</td>
<td align="center">
<bold>0.152</bold>
</td>
<td align="center">
<bold>0.183</bold>
</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf82">
<mml:math id="m85">
<mml:mrow>
<mml:mi mathvariant="normal">&#x394;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> vs. late fusion</td>
<td align="center">&#x2b;25.4%</td>
<td align="center">&#x2b;22.4%</td>
<td align="center">&#x2b;20.7%</td>
<td align="center">&#x2b;32.3%</td>
<td align="center">&#x2b;29.9%</td>
<td align="center">&#x2b;28.0%</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>Bold text indicates the best result for each metric, while underlined text denotes the best baseline. All differences between MM-DIPR and the bold-underlined baselines are statistically significant (<inline-formula id="inf83">
<mml:math id="m86">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0.01</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, paired bootstrap).</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>Popularity/category heuristics: The rank by global check-in count and tourism-category prior, a necessary tourism-specific baseline.</p>
<p>BPR (<xref ref-type="bibr" rid="B31">Rendle et al., 2009</xref>): Matrix factorization with Bayesian personalized ranking loss; interaction signals only.</p>
<p>VBPR (<xref ref-type="bibr" rid="B15">He and McAuley, 2016</xref>): Extends BPR with visual item factors from a pre-trained CNN; strong visual recommendation baseline.</p>
<p>Text-only: BPR-style ranker using mDeBERTa text embeddings as static item factors; no image or graph component.</p>
<p>Image-only. BPR-style ranker with CLIP ViT-B/32 image embeddings only.</p>
<p>LightGCN (<xref ref-type="bibr" rid="B16">He et al., 2020</xref>): Graph-based collaborative filtering; no multimodal content.</p>
<p>Late fusion: Combines text-only and image-only ranking scores via learned linear interpolation after independent training.</p>
<p>MM-DIPR (ours): The full proposed framework.</p>
<p>
<xref ref-type="sec" rid="s7-6">Section 7.6</xref> and <xref ref-type="fig" rid="F7">Figure 7</xref> additionally compare MM-DIPR against four stronger baselines: GeoMF (<xref ref-type="bibr" rid="B22">Lian et al., 2020</xref>) (geography-aware matrix factorization), STGCN-POI (<xref ref-type="bibr" rid="B13">Han et al., 2020</xref>) (spatiotemporal graph convolution network for POI recommendation), SASRec (<xref ref-type="bibr" rid="B19">Kang and McAuley, 2018</xref>) (self-attentive sequential recommender), and KGAT (<xref ref-type="bibr" rid="B38">Wang et al., 2019</xref>) (knowledge-graph attention network), yielding 11 total baselines (seven core &#x2b; four extended). BERT4Rec (<xref ref-type="bibr" rid="B34">Sun et al., 2019</xref>) appears in <xref ref-type="app" rid="app1">Appendix A</xref> (<xref ref-type="table" rid="TA1">Table A1</xref>) for completeness (it uses the same sequential self-attention paradigm as SASRec, but with a masked-language-model training objective), but it is not reported as a separate baseline in the main results to avoid redundancy with SASRec; its performance is <inline-formula id="inf84">
<mml:math id="m87">
<mml:mrow>
<mml:mn>0.168</mml:mn>
<mml:mo>&#xb1;</mml:mo>
<mml:mn>0.003</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> Recall@10, between SASRec and KGAT.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Extended baseline comparison. <bold>(a)</bold> Recall@10 and <bold>(b)</bold> NDCG@10 across all 11 baselines and MM-DIPR. Color coding separates the baseline categories: gray &#x3d; standard, orange &#x3d; spatiotemporal (new), teal &#x3d; sequential, purple &#x3d; knowledge-graph, and blue &#x3d; MM-DIPR (proposed). Asterisk (&#x2a;) marks the statistically significant best result (<inline-formula id="inf85">
<mml:math id="m88">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0.01</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, 95% bootstrap CI).</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="feart-14-1884556-g007.tif">
<alt-text content-type="machine-generated">Bar charts compare performance of different recommendation models on Recall@10 (panel a) and NDCG@10 (panel b). MM-DIPR (proposed) achieves the highest scores in both metrics, outperforming standard baselines, spatial-temporal, sequential, and knowledge-graph methods. Error bars indicate variability. Color legend distinguishes method categories.</alt-text>
</graphic>
</fig>
<table-wrap id="TA1" position="float">
<label>TABLE A1</label>
<caption>
<p>Mean <inline-formula id="inf86">
<mml:math id="m89">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> standard deviation of Recall@10 and NDCG@10 over five random seeds (0&#x2013;4) on the Yelp Open Dataset benchmark (in-city split). All differences between MM-DIPR and the best baseline are statistically significant (<inline-formula id="inf87">
<mml:math id="m90">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0.01</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, paired bootstrap, <inline-formula id="inf88">
<mml:math id="m91">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.01</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>).</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Method</th>
<th align="center">Recall@10<break/> (mean <inline-formula id="inf89">
<mml:math id="m92">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> std)</th>
<th align="center">NDCG@10<break/> (mean <inline-formula id="inf90">
<mml:math id="m93">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> std)</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Popularity</td>
<td align="center">0.068 <inline-formula id="inf91">
<mml:math id="m94">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.000</td>
<td align="center">0.038 <inline-formula id="inf92">
<mml:math id="m95">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.000</td>
</tr>
<tr>
<td align="left">BPR</td>
<td align="center">0.112 <inline-formula id="inf93">
<mml:math id="m96">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.002</td>
<td align="center">0.071 <inline-formula id="inf94">
<mml:math id="m97">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.002</td>
</tr>
<tr>
<td align="left">VBPR</td>
<td align="center">0.138 <inline-formula id="inf95">
<mml:math id="m98">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.003</td>
<td align="center">0.089 <inline-formula id="inf96">
<mml:math id="m99">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.002</td>
</tr>
<tr>
<td align="left">Text-only</td>
<td align="center">0.134 <inline-formula id="inf97">
<mml:math id="m100">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.003</td>
<td align="center">0.086 <inline-formula id="inf98">
<mml:math id="m101">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.002</td>
</tr>
<tr>
<td align="left">Image-only</td>
<td align="center">0.130 <inline-formula id="inf99">
<mml:math id="m102">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.003</td>
<td align="center">0.083 <inline-formula id="inf100">
<mml:math id="m103">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.002</td>
</tr>
<tr>
<td align="left">LightGCN</td>
<td align="center">0.161 <inline-formula id="inf101">
<mml:math id="m104">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.002</td>
<td align="center">0.106 <inline-formula id="inf102">
<mml:math id="m105">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.002</td>
</tr>
<tr>
<td align="left">Late fusion</td>
<td align="center">0.174 <inline-formula id="inf103">
<mml:math id="m106">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.003</td>
<td align="center">0.117 <inline-formula id="inf104">
<mml:math id="m107">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.002</td>
</tr>
<tr>
<td align="left">GeoMF</td>
<td align="center">0.158 <inline-formula id="inf105">
<mml:math id="m108">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.003</td>
<td align="center">0.103 <inline-formula id="inf106">
<mml:math id="m109">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.002</td>
</tr>
<tr>
<td align="left">STGCN-POI</td>
<td align="center">0.166 <inline-formula id="inf107">
<mml:math id="m110">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.003</td>
<td align="center">0.109 <inline-formula id="inf108">
<mml:math id="m111">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.002</td>
</tr>
<tr>
<td align="left">SASRec</td>
<td align="center">0.171 <inline-formula id="inf109">
<mml:math id="m112">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.003</td>
<td align="center">0.114 <inline-formula id="inf110">
<mml:math id="m113">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.002</td>
</tr>
<tr>
<td align="left">BERT4Rec</td>
<td align="center">0.168 <inline-formula id="inf111">
<mml:math id="m114">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.003</td>
<td align="center">0.111 <inline-formula id="inf112">
<mml:math id="m115">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.002</td>
</tr>
<tr>
<td align="left">KGAT</td>
<td align="center">0.163 <inline-formula id="inf113">
<mml:math id="m116">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.002</td>
<td align="center">0.108 <inline-formula id="inf114">
<mml:math id="m117">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> 0.002</td>
</tr>
<tr>
<td align="left">
<bold>MM-DIPR</bold>
</td>
<td align="center">
<bold>0.213</bold> <inline-formula id="inf115">
<mml:math id="m118">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> <bold>0.002</bold>
</td>
<td align="center">
<bold>0.152</bold> <inline-formula id="inf116">
<mml:math id="m119">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> <bold>0.002</bold>
</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s6-3">
<label>6.3</label>
<title>Ablations</title>
<p>Eight ablated variants isolate the contribution of each module: (i) without the perception bottleneck (<italic>w/o Perc</italic>), (ii) without the graph ranker (<italic>w/o Graph</italic>), (iii) without the geo/context branch (<italic>w/o Geo</italic>), (iv) without the text encoder (<italic>w/o Text</italic>), (v) without the visual encoder (<italic>w/o Visual</italic>), (vi) with shuffled image&#x2013;text pairs as a sanity check (<italic>Shuffled</italic>), (vii) without diversity re-ranking (<italic>w/o Div</italic>), and (viii) without geographic edges in the heterogeneous graph (<italic>w/o GeoEdges</italic>), which removes geospatial proximity edges while retaining all other edge types (user&#x2013;POI interactions, POI&#x2013;POI category similarity, and image&#x2013;POI association), directly testing the model-level contribution of explicit spatial relations in the graph structure (results are reported in <xref ref-type="sec" rid="s7-7">Section 7.7</xref>).</p>
</sec>
<sec id="s6-4">
<label>6.4</label>
<title>Metrics</title>
<p>Perception metrics include macro-F1, AUROC, and calibration error (ECE). For retrieval, the metrics are Recall@5, MAP@10, and MRR. Recommendation metrics encompass Recall@<inline-formula id="inf117">
<mml:math id="m120">
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, Precision@<inline-formula id="inf118">
<mml:math id="m121">
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, NDCG@<inline-formula id="inf119">
<mml:math id="m122">
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, and MAP@<inline-formula id="inf120">
<mml:math id="m123">
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> for <inline-formula id="inf121">
<mml:math id="m124">
<mml:mrow>
<mml:mi>K</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mn>5,10,20</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. Diversity is assessed through intra-list diversity (ILD: the mean pairwise cosine distance among top-<inline-formula id="inf122">
<mml:math id="m125">
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> recommendation embeddings), catalog coverage: the fraction of all POIs appearing in at least one recommendation list, and long-tail exposure: the fraction of recommendations drawn from POIs in the bottom 20% by interaction count. Explanation is evaluated using the faithfulness deletion score.</p>
<p>Statistical significance is determined using paired bootstrap tests with 10,000 resamples and a significance level of <inline-formula id="inf123">
<mml:math id="m126">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.01</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> over users/queries. The paired bootstrap resamples users (with replacement), recomputes the per-method metric on each resample, and counts the proportion of resamples in which MM-DIPR does not exceed the baseline; this proportion is the one-sided <inline-formula id="inf124">
<mml:math id="m127">
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-value. All tests are conducted at the user level, not the interaction level. All reported confidence intervals are 95% bootstrap confidence intervals computed over 10,000 resamples. The effect sizes are reported as Cohen&#x2019;s <inline-formula id="inf125">
<mml:math id="m128">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> for continuous comparisons and as percentage change relative to the best baseline for recommendation metrics.</p>
<p>Each model is run with five independent random seeds (seed <inline-formula id="inf126">
<mml:math id="m129">
<mml:mrow>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mn>0,1,2,3,4</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>). The results in <xref ref-type="table" rid="T4">Table 4</xref> report the mean; standard deviations across runs are reported in <xref ref-type="app" rid="app1">Appendix A</xref> (<xref ref-type="table" rid="TA1">Table A1</xref>). Standard deviations for MM-DIPR are <inline-formula id="inf127">
<mml:math id="m130">
<mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>0.003</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> across all metrics, confirming stability.</p>
</sec>
<sec id="s6-5">
<label>6.5</label>
<title>Implementation details</title>
<p>The MM-DIPR model is implemented using PyTorch 2.2. Visual encoders are initialized from public HuggingFace checkpoints and fine-tuned with a learning rate that is <inline-formula id="inf128">
<mml:math id="m131">
<mml:mrow>
<mml:mn>10</mml:mn>
<mml:mo>&#xd7;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> lower than that of the projection layers. The graph ranker is trained using the AdamW optimizer with a learning rate of <inline-formula id="inf129">
<mml:math id="m132">
<mml:mrow>
<mml:mn>5</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, a weight decay of <inline-formula id="inf130">
<mml:math id="m133">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, and a batch size of 2,048. The temperature parameter <inline-formula id="inf131">
<mml:math id="m134">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is initialized to 0.07 and is learned jointly. All experiments are conducted on a single NVIDIA A100 40 GB GPU. Hyper-parameters <inline-formula id="inf132">
<mml:math id="m135">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>-</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are selected through grid search based on the validation NDCG@10; the full search space is reported in <xref ref-type="app" rid="app1">Appendix A</xref> (<xref ref-type="table" rid="TA2">Table A2</xref>), and the joint sensitivity of <inline-formula id="inf133">
<mml:math id="m136">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf134">
<mml:math id="m137">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is visualized in <xref ref-type="fig" rid="F2">Figure 2</xref>. All baselines are tuned under the same validation protocol (grid search on validation NDCG@10; no test-set access during hyperparameter selection).</p>
<table-wrap id="TA2" position="float">
<label>TABLE A2</label>
<caption>
<p>Hyperparameter search spaces for all models.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Model</th>
<th align="left">Hyperparameter</th>
<th align="left">Search space</th>
<th align="left">Selected</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="3" align="left">BPR/VBPR</td>
<td align="left">Embedding dim</td>
<td align="left">{64, 128, and 256}</td>
<td align="left">256</td>
</tr>
<tr>
<td align="left">Learning rate</td>
<td align="left">{1e-3, 5e-4, and 1e-4}</td>
<td align="left">1e-3</td>
</tr>
<tr>
<td align="left">L2 regularization</td>
<td align="left">{1e-4, 1e-5, and 0}</td>
<td align="left">1e-5</td>
</tr>
<tr>
<td rowspan="3" align="left">LightGCN/KGAT</td>
<td align="left">Embedding dim</td>
<td align="left">{64, 128, and 256}</td>
<td align="left">256</td>
</tr>
<tr>
<td align="left">Graph layers <inline-formula id="inf135">
<mml:math id="m138">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">{1, 2, and 3}</td>
<td align="left">2</td>
</tr>
<tr>
<td align="left">Learning rate</td>
<td align="left">{1e-3, 5e-4, and 1e-4}</td>
<td align="left">1e-3</td>
</tr>
<tr>
<td rowspan="3" align="left">SASRec/BERT4Rec</td>
<td align="left">Hidden size</td>
<td align="left">{64, 128, and 256}</td>
<td align="left">128</td>
</tr>
<tr>
<td align="left">Attention heads</td>
<td align="left">{1, 2, and 4}</td>
<td align="left">2</td>
</tr>
<tr>
<td align="left">Dropout</td>
<td align="left">{0.1, 0.2, and 0.5}</td>
<td align="left">0.2</td>
</tr>
<tr>
<td rowspan="3" align="left">GeoMF/STGCN-POI</td>
<td align="left">Embedding dim</td>
<td align="left">{64, 128, and 256}</td>
<td align="left">128</td>
</tr>
<tr>
<td align="left">Spatial bandwidth</td>
<td align="left">{0.5, 1, and 2} km</td>
<td align="left">1 km</td>
</tr>
<tr>
<td align="left">Learning rate</td>
<td align="left">{1e-3, 5e-4, and 1e-4}</td>
<td align="left">5e-4</td>
</tr>
<tr>
<td rowspan="8" align="left">MM-DIPR (ours)</td>
<td align="left">Projection dim <inline-formula id="inf136">
<mml:math id="m139">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">{128, 256, <bold>512</bold>, and 1,024}</td>
<td align="left">
<bold>512</bold>
</td>
</tr>
<tr>
<td align="left">Graph layers <inline-formula id="inf137">
<mml:math id="m140">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">{1, <bold>2</bold>, 3, and 4}</td>
<td align="left">
<bold>2</bold>
</td>
</tr>
<tr>
<td align="left">Temperature <inline-formula id="inf138">
<mml:math id="m141">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">learned (init 0.07)</td>
<td align="left">learned</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf139">
<mml:math id="m142">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> (align)</td>
<td align="left">{0.01, 0.05, <bold>0.10</bold>, 0.20, and 0.50}</td>
<td align="left">
<bold>0.10</bold>
</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf140">
<mml:math id="m143">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> (rank)</td>
<td align="left">{0.01, 0.05, <bold>0.10</bold>, 0.20, and 0.50}</td>
<td align="left">
<bold>0.10</bold>
</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf141">
<mml:math id="m144">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> (cal)</td>
<td align="left">{0.01, <bold>0.05</bold>, and 0.10}</td>
<td align="left">
<bold>0.05</bold>
</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf142">
<mml:math id="m145">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> (div)</td>
<td align="left">{0.1, 0.2, <bold>0.3</bold>, 0.4, and 0.5}</td>
<td align="left">
<bold>0.3</bold>
</td>
</tr>
<tr>
<td align="left">Learning rate</td>
<td align="left">{1e-3, <bold>5e-4</bold>, and 1e-4}</td>
<td align="left">
<bold>5e-4</bold>
</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>Bold values mark the selected configuration for MM-DIPR. All baselines were tuned under the same protocol (grid search on validation NDCG@10, five seeds).</p>
</fn>
</table-wrap-foot>
</table-wrap>
</sec>
<sec id="s6-6">
<label>6.6</label>
<title>Hyperparameter sensitivity</title>
<p>
<xref ref-type="fig" rid="F2">Figure 2</xref> reports a joint sensitivity grid over <inline-formula id="inf143">
<mml:math id="m146">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mn>0.01</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.05</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.10</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.20</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.50</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf144">
<mml:math id="m147">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mn>0.01</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.05</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.10</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.20</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.50</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> (validation NDCG@10) and individual sensitivity curves for graph propagation depth <inline-formula id="inf145">
<mml:math id="m148">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mn>1,2,3,4</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> and projection dimension <inline-formula id="inf146">
<mml:math id="m149">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mn>128,256,512,1024</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>. The selected configuration (<inline-formula id="inf147">
<mml:math id="m150">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.10</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf148">
<mml:math id="m151">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.10</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf149">
<mml:math id="m152">
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf150">
<mml:math id="m153">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>512</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>) is marked by a star. Performance is robust within a broad region around the optimum, supporting the generalizability of the results.</p>
</sec>
</sec>
<sec sec-type="results" id="s7">
<label>7</label>
<title>Results</title>
<sec id="s7-1">
<label>7.1</label>
<title>Personalized POI recommendation</title>
<p>
<xref ref-type="fig" rid="F8">Figure 8</xref> presents the Recall@10 and NDCG@10 metrics for all baseline models and MM-DIPR on the Yelp benchmark. MM-DIPR achieves a Recall@10 of 0.213 and an NDCG@10 of 0.152, indicating statistically significant improvements over the strongest baseline (late fusion, 0.174/0.117) by 22.4% and 29.9%, respectively (<inline-formula id="inf151">
<mml:math id="m154">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0.01</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, Cohen&#x2019;s <inline-formula id="inf152">
<mml:math id="m155">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1.42</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf153">
<mml:math id="m156">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1.67</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, respectively). These enhancements are consistent across <inline-formula id="inf154">
<mml:math id="m157">
<mml:mrow>
<mml:mi>K</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mn>5,20</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and on the TREC contextual suggestion split, demonstrating that the improvements are not artifacts of a specific evaluation depth.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Personalized POI recommendation: Recall@10 and NDCG@10 are presented for all baselines and MM-DIPR. Error bars represent 95% bootstrap confidence intervals. An asterisk (&#x2a;) indicates a statistically significant improvement over the best baseline <inline-formula id="inf155">
<mml:math id="m158">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0.01</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>. The dashed line denotes the performance of late fusion for reference.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="feart-14-1884556-g008.tif">
<alt-text content-type="machine-generated">Two side-by-side bar charts compare the performance of seven models&#x2014;Popularity, BPR, VBPR, Text-Only, Image-Only, LightGCN, Late Fusion, and MM-DIPR (Ours)&#x2014;on the Yelp Open Dataset with 95 percent confidence intervals. The left chart shows Recall at ten, while the right chart shows NDCG at ten. MM-DIPR achieves the highest scores in both metrics, significantly outperforming the baselines, with annotated values of 0.213 for Recall and 0.152 for NDCG, each marked with an asterisk for statistical significance.</alt-text>
</graphic>
</fig>
<p>
<xref ref-type="table" rid="T4">Table 4</xref> provides the full numerical results at <inline-formula id="inf156">
<mml:math id="m159">
<mml:mrow>
<mml:mi>K</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mn>5,10,20</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</sec>
<sec id="s7-2">
<label>7.2</label>
<title>Ablation study</title>
<p>
<xref ref-type="fig" rid="F5">Figure 5</xref> illustrates the results of the ablation study. The removal of the perception bottleneck leads to the most significant decline for a single module (Recall@10: <inline-formula id="inf157">
<mml:math id="m160">
<mml:mrow>
<mml:mn>0.213</mml:mn>
<mml:mo>&#x2192;</mml:mo>
<mml:mn>0.184</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf158">
<mml:math id="m161">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>13.6</mml:mn>
<mml:mi>%</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>), indicating that the perception layer plays a crucial role beyond the mere fusion of raw multimodal embeddings. The elimination of the graph ranker leads to a similarly substantial decrease <inline-formula id="inf159">
<mml:math id="m162">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>16.4</mml:mn>
<mml:mi>%</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, whereas the removal of the geo/context branch, text encoder, or visual encoder leads to moderate yet notable degradations. The shuffled image&#x2013;text variant, serving as a sanity check, deteriorates to a performance level close to the popularity baseline, thereby affirming the complexity of the alignment objective.</p>
</sec>
<sec id="s7-3">
<label>7.3</label>
<title>Cold-start performance</title>
<p>
<xref ref-type="fig" rid="F9">Figure 9</xref> presents the Recall@10 metric, categorized by the number of interactions per POI. For POIs with no prior training interactions, known as strict cold-start scenarios, interaction-only methods such as BPR and LightGCN inherently lead to zero recall. In contrast, content-based methods maintain some level of signal. The MM-DIPR method achieves a Recall@10 of 0.061 for cold-start POIs, establishing a meaningful baseline facilitated by visual&#x2013;perceptual representations. Furthermore, MM-DIPR surpasses late fusion by 9.7% points within the 1&#x2013;5 interaction category. The relative benefit of MM-DIPR decreases as the number of interactions increases, indicating that the perception layer is particularly beneficial when collaborative signals are limited.</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Cold-start performance by POI interaction stratum is illustrated, with MM-DIPR (blue) demonstrating non-zero recall at zero interactions. In contrast, interaction-only methods such as BPR and LightGCN are undefined at this stratum. The shaded bands represent 95% bootstrap confidence intervals.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="feart-14-1884556-g009.tif">
<alt-text content-type="machine-generated">Line chart comparing four models&#x2014;BPR, LightGCN, Late Fusion, and MM-DIPR&#x2014;on Yelp Open Dataset with 95% bootstrap confidence intervals. MM-DIPR achieves the highest Recall@10 across all training interaction strata per point of interest, followed by Late Fusion, LightGCN, and BPR. Recall improves as the number of interactions increases, with MM-DIPR consistently outperforming the others.</alt-text>
</graphic>
</fig>
</sec>
<sec id="s7-4">
<label>7.4</label>
<title>Cross-city transfer protocol</title>
<p>The term <italic>cross-city transfer</italic> in this article refers specifically to <italic>POI-level zero-shot transfer</italic>: the model is trained on all POIs and user interactions from Phoenix and Pittsburgh and is then evaluated on POIs from six unseen cities without any fine-tuning on those cities&#x2019; data. We clarify the following aspects explicitly in response to the reviewer&#x2019;s concerns.</p>
<p>What is zero-shot? The zero-shot condition applies to <italic>cities and their POIs</italic>: no POI entity, image, text description, or graph structure from the six test cities (Las Vegas, Chicago, Seattle, Boston, Austin, and Denver) is used during training or model selection. The model relies entirely on transferable multimodal and spatial representations learned from the two training cities.</p>
<p>Test-user histories and user overlap: All test-city users are unseen during training (confirmed by global user deduplication, <xref ref-type="sec" rid="s6">Section 6</xref>). Their interaction histories within test cities are available at inference time for ranking: the evaluation follows a <italic>leave-last-out</italic> protocol within each test user&#x2019;s history (final interaction &#x3d; positive test item; prior interactions &#x3d; observable history). Users with fewer than three interactions in a test city are excluded from that city&#x2019;s evaluation set. Users do not overlap across training and test cities.</p>
<p>What is not zero-shot? Test-city images and textual descriptions are encoded by the trained model at inference time (modality encoders generalize across cities by design). No graph propagation involves test-city nodes during training; the item embedding <inline-formula id="inf160">
<mml:math id="m163">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">e</mml:mi>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3b2;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> is computed from content features only, which explains why content-rich cities (Las Vegas and Boston) benefit most from the transfer.</p>
<p>Labeling: This evaluation is accurately described as <italic>cross-city transfer</italic> (trained on city A &#x2b; B and evaluated on cities C&#x2013;H) rather than <italic>user cold-start</italic> or full zero-shot learning. The six-city results should be treated as an exploratory analysis of geographic generalization; no causal claims about spatial factors are made.</p>
</sec>
<sec id="s7-5">
<label>7.5</label>
<title>Cross-city transfer results</title>
<p>For the experimental protocol of this evaluation, see <xref ref-type="sec" rid="s7-4">Section 7.4</xref> above. <xref ref-type="fig" rid="F10">Figure 10</xref> presents the NDCG@10 results for six previously unexamined test cities. The MM-DIPR model consistently surpasses all baseline models across these cities, with the most significant improvements observed in Las Vegas and Boston, where it achieves increases of 63% and 61% over BPR, respectively. The comparatively modest enhancements in Austin and Denver align with the lower density of POIs and the availability of images in these locations, indicating that perception-aware representations are most advantageous in image-rich destination contexts; a quantified analysis of the POI-density&#x2013;performance relationship is provided in the spatial analysis (<xref ref-type="sec" rid="s7-7">Section 7.7</xref>).</p>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>Cross-city transfer results: NDCG@10 for six withheld cities, with training conducted on Phoenix and Pittsburgh Yelp sub-graphs. The grouped bars distinguish the four methods, with MM-DIPR (blue) demonstrating superior performance across all cities.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="feart-14-1884556-g010.tif">
<alt-text content-type="machine-generated">Bar chart comparing four models&#x2014;BPR, LightGCN, Late Fusion, and MM-DIPR&#x2014;on NDCG@10 scores across six cities using Yelp Open Dataset. MM-DIPR consistently outperforms others in all cities.</alt-text>
</graphic>
</fig>
</sec>
<sec id="s7-6">
<label>7.6</label>
<title>Extended baseline comparison (spatiotemporal and knowledge-graph models)</title>
<p>
<xref ref-type="fig" rid="F7">Figure 7</xref> reports Recall@10 and NDCG@10 for all 11 baselines (seven core plus four extended). MM-DIPR (Recall@10 &#x3d; 0.213) outperforms the best spatiotemporal model GeoMF (0.158) by 34.8%, the best sequential model SASRec (0.171) by 24.6%, and the knowledge-graph model KGAT (0.163) by 30.7% (<inline-formula id="inf161">
<mml:math id="m164">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0.01</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> in all cases). The consistent advantage over geographically-aware (GeoMF) and graph-structured (KGAT and LightGCN) baselines confirms that the gains are attributable to the perception bottleneck and cross-modal alignment, not to any single architectural component.</p>
</sec>
<sec id="s7-7">
<label>7.7</label>
<title>Spatial autocorrelation analysis</title>
<p>To establish the geoinformatics foundation of the framework, we compute Moran&#x2019;s <inline-formula id="inf162">
<mml:math id="m165">
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> (<xref ref-type="bibr" rid="B26">Moran, 1950</xref>) for each of the seven perception attributes across all 40,542 benchmark POIs. The spatial weights matrix <inline-formula id="inf163">
<mml:math id="m166">
<mml:mrow>
<mml:mi mathvariant="bold">W</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is row-standardized and uses an inverse-distance kernel: <inline-formula id="inf164">
<mml:math id="m167">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> if <inline-formula id="inf165">
<mml:math id="m168">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mtext>&#x2009;km</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>, else 0, where <inline-formula id="inf166">
<mml:math id="m169">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the Euclidean distance between the POIs <inline-formula id="inf167">
<mml:math id="m170">
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf168">
<mml:math id="m171">
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> in decimal degrees projected to meters. Significance is assessed by a permutation test with 999 random permutations of the attribute scores; the reported <inline-formula id="inf169">
<mml:math id="m172">
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-values are the proportion of permuted Moran&#x2019;s <inline-formula id="inf170">
<mml:math id="m173">
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> values exceeding the observed statistic (one-sided and upper tail).</p>
<p>
<xref ref-type="fig" rid="F11">Figure 11</xref> presents the Moran&#x2019;s <inline-formula id="inf171">
<mml:math id="m174">
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> scatter plot for landmarkness (panel a), per-attribute Moran&#x2019;s <inline-formula id="inf172">
<mml:math id="m175">
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> values (panel b), a city <inline-formula id="inf173">
<mml:math id="m176">
<mml:mrow>
<mml:mo>&#xd7;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> model NDCG@10 heatmap (panel c), and a POI-density vs. NDCG@10 scatter (panel d). All seven attributes exhibit statistically significant positive autocorrelation (<inline-formula id="inf174">
<mml:math id="m177">
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>0.289</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0.421</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, all <inline-formula id="inf175">
<mml:math id="m178">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0.05</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>), confirming that perception is not spatially random. Landmarkness shows the strongest autocorrelation <inline-formula id="inf176">
<mml:math id="m179">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.421</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, consistent with the geographic clustering of tourist attractions; crowding proxy shows the weakest autocorrelation <inline-formula id="inf177">
<mml:math id="m180">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.289</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, reflecting diffuse distribution of high-foot-traffic environments.</p>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption>
<p>Spatial analysis of perception attributes. <bold>(a)</bold> Moran&#x2019;s <inline-formula id="inf178">
<mml:math id="m181">
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> scatter plot for landmarkness (red line &#x3d; OLS fit; slope &#x3d; Moran&#x2019;s <inline-formula id="inf179">
<mml:math id="m182">
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.421</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf180">
<mml:math id="m183">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0.001</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>). <bold>(b)</bold> Moran&#x2019;s <inline-formula id="inf181">
<mml:math id="m184">
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> per attribute across all benchmark POIs (green bars &#x3d; <inline-formula id="inf182">
<mml:math id="m185">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0.05</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>). <bold>(c)</bold> City <inline-formula id="inf183">
<mml:math id="m186">
<mml:mrow>
<mml:mo>&#xd7;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> model NDCG@10 heatmap for the cross-city transfer experiment. <bold>(d)</bold> POI entity density vs. MM-DIPR NDCG@10 scatter across six test cities <inline-formula id="inf184">
<mml:math id="m187">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.78</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="feart-14-1884556-g011.tif">
<alt-text content-type="machine-generated">(a) Scatter plot showing the relationship between Perception Score (z-score) on the x-axis and Spatially Lagged Score on the y-axis, with a positive linear trend line and data points displaying moderate correlation. (b) Horizontal bar chart presenting Moran's I values for seven perception categories, with Landmark having the highest spatial autocorrelation at 0.421 and Activity the lowest at 0.304. (c) Heatmap comparing NDCG@10 values for six cities across four models, with values increasing from BPR to MM-DIPR, and darkest blue indicating higher performance. (d) Scatter plot showing city names and the relationship between the Number of Points of Interest and NDCG@10; MM-DIPR scores marked in dark blue exhibit higher values than BPR across cities.</alt-text>
</graphic>
</fig>
<p>The POI-density&#x2013;performance scatter (panel d) reveals a positive correlation <inline-formula id="inf185">
<mml:math id="m188">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.78</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> between city-level POI count and MM-DIPR&#x2019;s NDCG@10, confirming that geospatial data quality is a significant performance determinant. This correlation is based on six data points and should be interpreted as exploratory; it indicates a plausible relationship between data coverage and model performance but does not establish a causal mechanism. This finding has direct implications for usage in data-sparse regions.</p>
<p>Geographic-edges ablation: To directly assess the model contribution of the geospatial proximity edges in the heterogeneous graph (rather than merely <italic>post hoc</italic> spatial analysis), we compare MM-DIPR against the <italic>w/o GeoEdges</italic> ablation variant introduced in <xref ref-type="sec" rid="s6">Section 6</xref>. Removing the geographic edges from the graph reduces Recall@10 from 0.213 to 0.198 (<inline-formula id="inf186">
<mml:math id="m189">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>7.0</mml:mn>
<mml:mi>%</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf187">
<mml:math id="m190">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0.01</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>) and NDCG@10 from 0.152 to 0.141 (<inline-formula id="inf188">
<mml:math id="m191">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>7.2</mml:mn>
<mml:mi>%</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf189">
<mml:math id="m192">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0.01</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>). This confirms that the spatial proximity structure encoded in the graph provides meaningful complementary signal beyond POI-category and image-based edges, grounding the Moran&#x2019;s <inline-formula id="inf190">
<mml:math id="m193">
<mml:mrow>
<mml:mi>I</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> analysis in a model-level causal test.</p>
</sec>
<sec id="s7-8">
<label>7.8</label>
<title>Perception classification and retrieval</title>
<p>The perception bottleneck achieves a macro-F1 score of 0.894 on the six-category perception classification task (<xref ref-type="fig" rid="F12">Figure 12</xref>). The highest per-category F1 score is observed for natural scenery (0.934), while the lowest is for historic sites (0.868), where visual ambiguity with Urban Landmarks constitutes the primary source of confusion. In the context of image&#x2013;text retrieval (<xref ref-type="fig" rid="F13">Figure 13</xref>), the MM-DIPR encoder surpasses CLIP ViT-B/32 by 9.3% points on Recall@5 and the CLIP &#x2b; DINOv2 ensemble by 3.7% points on MAP@10. This demonstrates that domain-adapted contrastive training with perception-aware hard negatives enhances retrieval performance beyond that of off-the-shelf foundation models.</p>
<fig id="F12" position="float">
<label>FIGURE 12</label>
<caption>
<p>Normalized confusion matrix for the classification of six perceptual categories. The diagonal values represent the recall for each class. The overall macro-F1 score is 0.894, based on Places365 and Wikimedia labels.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="feart-14-1884556-g012.tif">
<alt-text content-type="machine-generated">Confusion matrix heatmap visualizing classification performance for six location categories: Landmark, Natural Scenery, Cultural/Historical, Beach/Resort, Museum/Gallery, and Urban Attractions. Matrix cells show normalized proportions, with highest accuracy values along the diagonal and macro-F1 of zero point eight nine four.</alt-text>
</graphic>
</fig>
<fig id="F13" position="float">
<label>FIGURE 13</label>
<caption>
<p>Comparison of image&#x2013;text retrieval across different encoder variants reveals that the MM-DIPR encoder attains the highest performance in terms of Recall@5, MAP@10, and MRR. The error bars represent 95% bootstrap confidence intervals (GLDv2 &#x2b; Wikimedia test split).</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="feart-14-1884556-g013.tif">
<alt-text content-type="machine-generated">Bar chart comparing model performance on the GLDv2 plus Wikimedia test split with 95 percent bootstrap confidence intervals, showing metric values for Recall at five, MAP at ten, and MRR. MM-DIPR Encoder achieves the highest performance across all metrics, followed by CLIP plus DINOV2 Ensemble and DINOV2 ViT-S fourteen, while Random and BoW plus TF-IDF have the lowest values.</alt-text>
</graphic>
</fig>
</sec>
</sec>
<sec id="s8">
<label>8</label>
<title>Analysis</title>
<sec id="s8-1">
<label>8.1</label>
<title>Perception attribute profiles by POI category</title>
<p>In a comparative analysis of image&#x2013;text retrieval across various encoder variants, the MM-DIPR encoder demonstrates superior performance, as evidenced by its highest scores in Recall@5, MAP@10, and MRR. The error bars indicate 95% bootstrap confidence intervals (GLDv2 &#x2b; Wikimedia test split). <xref ref-type="fig" rid="F14">Figure 14</xref> presents radar plots of the mean perception attribute scores categorized by POIs. The profiles exhibit theoretically consistent patterns: nature and parks POIs achieve the highest scores in naturalness and esthetic appeal, historic sites excel in cultural/historical salience and landmarkness, and beaches/resorts attain the highest scores in sentiment affect. These cluster-level patterns substantiate the perception bottleneck&#x2019;s capacity to discern TDI-relevant structures through weak supervision, even in the absence of explicit perception-label training data.</p>
<fig id="F14" position="float">
<label>FIGURE 14</label>
<caption>
<p>Mean perception attribute profiles by POI category, derived from Places365 scene labels and Wikimedia metadata. <bold>(a)</bold> Profiles for the nature and parks and historic sites categories. <bold>(b)</bold> Profiles for all five POI categories. Each radar axis represents one of the seven perception attributes; larger radial values indicate higher scores.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="feart-14-1884556-g014.tif">
<alt-text content-type="machine-generated">Two radar charts compare point of interest categories across attributes including naturalness, landmarkness, activity affordance, sentiment affect, crowding proxy, aesthetic appeal, and cultural/historical value. Chart (a) contrasts Nature &#x26; Parks and Historic Sites, while chart (b) displays Historic Sites, Urban Landmarks, Beaches/Resorts, Museums, and Nature &#x26; Parks, each category shown with a unique color.</alt-text>
</graphic>
</fig>
</sec>
<sec id="s8-2">
<label>8.2</label>
<title>Accuracy&#x2013;diversity trade-off</title>
<p>
<xref ref-type="fig" rid="F15">Figure 15</xref> demonstrates the impact of varying the MMR re-ranking weight <inline-formula id="inf191">
<mml:math id="m194">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> on NDCG@10, intra-list diversity (ILD), catalog coverage, and long-tail exposure. At <inline-formula id="inf192">
<mml:math id="m195">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.3</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, which was determined through validation, MM-DIPR achieves an ILD of 0.520 and a catalog coverage of 0.392, with only a 4.6% decrease in NDCG@10 compared to the configuration without re-ranking. Long-tail exposure increases monotonically with <inline-formula id="inf193">
<mml:math id="m196">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, aligning with the re-ranker&#x2019;s propensity to promote less-frequented destinations with complementary perceptual profiles, an outcome directly pertinent to sustainable tourism policy.</p>
<fig id="F15" position="float">
<label>FIGURE 15</label>
<caption>
<p>Diversity and fairness re-ranking analysis. <bold>(a)</bold> NDCG@10 vs. intra-list diversity (ILD) as <inline-formula id="inf194">
<mml:math id="m197">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> increases (left axis: NDCG@10; right axis: ILD). <bold>(b)</bold> Catalog coverage and long-tail exposure as functions of <inline-formula id="inf195">
<mml:math id="m198">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. The vertical dashed line indicates the selected <inline-formula id="inf196">
<mml:math id="m199">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.3</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="feart-14-1884556-g015.tif">
<alt-text content-type="machine-generated">Two-panel graphic showing impacts of re-ranking diversity weight lambda_4 for Yelp Open dataset at K equals 10. Panel (a) plots accuracy (NDCG@10, blue circles) decreasing and diversity (ILD, orange squares) increasing as lambda_4 rises; a vertical dashed line at lambda_4 equals 0.3 indicates the chosen parameter. Panel (b) shows both catalog coverage (green diamonds) and long-tail exposure (purple triangles) increasing with higher lambda_4, also marking lambda_4 equals 0.3 with a vertical dashed line.</alt-text>
</graphic>
</fig>
</sec>
<sec id="s8-3">
<label>8.3</label>
<title>Explanation faithfulness</title>
<p>The evaluation of deletion faithfulness reveals that the removal of the top-cited image leads to an average score reduction of 0.048 (SD &#x3d; 0.019), in contrast to 0.011 (SD &#x3d; 0.014) for random-image deletion (<inline-formula id="inf197">
<mml:math id="m200">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>999</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>28.4</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf198">
<mml:math id="m201">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0.001</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, Cohen&#x2019;s <inline-formula id="inf199">
<mml:math id="m202">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2.34</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>). Regarding textual evidence, the removal of the top-cited review sentence leads to a score reduction of 0.031 compared to 0.009 for random deletion <inline-formula id="inf200">
<mml:math id="m203">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>0.001</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>. These findings confirm that the evidence cited by Module M8 is causally relevant to the recommendation score, offering&#x2013;stronger faithfulness assurances than attention&#x2013;weight visualizations.</p>
</sec>
<sec id="s8-4">
<label>8.4</label>
<title>Error and bias analysis</title>
<p>Four systematic failure patterns have been identified. <italic>Over-touristed landmark bias</italic>: High-popularity landmarks (e.g., Eiffel Tower analogs in the data) are over-represented in Wikimedia images, inflating their landmarkness scores and biasing recommendations towards them. Although partially mitigated by the MMR re-ranker, this remains a residual concern. <italic>Nighttime and seasonal variability</italic>: The perception bottleneck&#x2019;s scene head, pre-trained on daytime scenes, assigns inconsistent naturalness and esthetic appeal scores to night or winter images of the same POI. <italic>Low-resource cities</italic>: Cross-city transfer performance degrades more significantly for cities with sparse overture POI coverage, indicating that entity quality is a critical determinant of performance. <italic>Multilingual review noise</italic>: Non-English Yelp reviews outside the top languages are handled noisily by the mDeBERTa tokenizer, potentially diluting textual representations for non-Anglophone destinations.</p>
<p>Geographic bias analysis: The underperformance in Austin (NDCG@10 &#x3d; 0.121) and Denver (NDCG@10 &#x3d; 0.132) relative to the benchmark average (0.133) is quantifiably linked to lower POI entity density (3,789 and 3,102 POIs, respectively, vs. the benchmark average of 5,072 POIs for test cities). The POI-density&#x2013;NDCG@10 correlation (<inline-formula id="inf201">
<mml:math id="m204">
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.78</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <xref ref-type="fig" rid="F11">Figure 11</xref>, panel d) confirms this relationship. We propose that future geoinformatics-oriented extensions of this framework could apply spatial Kriging or Gaussian process regression to impute perception scores in data-sparse regions, leveraging the demonstrated spatial autocorrelation structure (Moran&#x2019;s <inline-formula id="inf202">
<mml:math id="m205">
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>&#x3e;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> for all attributes) to propagate perception estimates from neighboring data-rich POIs.</p>
</sec>
</sec>
<sec sec-type="discussion" id="s9">
<label>9</label>
<title>Discussion</title>
<sec id="s9-1">
<label>9.1</label>
<title>Theoretical contributions</title>
<p>The MM-DIPR framework operationalizes the cognitive&#x2013;affective TDI model (<xref ref-type="bibr" rid="B2">Baloglu and McCleary, 1999</xref>) as a computable bottleneck that links perception theory to ranking models. The perception attribute profiles (<xref ref-type="fig" rid="F14">Figure 14</xref>) provide empirical validation for the multidimensionality postulate, demonstrating that different destination categories exhibit distinct perceptual signatures consistent with theoretical expectations, which can be extracted from public UGC without the need for survey data. This serves as a bridge between the qualitative tradition of TDI research and the quantitative tradition of recommender systems.</p>
</sec>
<sec id="s9-2">
<label>9.2</label>
<title>Practical contributions</title>
<p>For destination management organizations, the perception scores and explanation panels serve as a monitoring tool: variations in aggregate scores of landmarkness, naturalness, or esthetic appeal over time may indicate shifts in UGC-mediated destination image, facilitating proactive marketing responses. The diversity re-ranker&#x2019;s capability to highlight long-tail destinations with high perceptual complementarity provides a technically sound mechanism for promoting lesser-known attractions within sustainable tourism strategies (<xref ref-type="bibr" rid="B6">Butler, 1980</xref>).</p>
</sec>
<sec id="s9-3">
<label>9.3</label>
<title>Limitations</title>
<p>Three limitations require explicit acknowledgment. First, the benchmark is primarily derived from North American Yelp sub-graphs, which limits its generalizability to destinations in the Global South, where Overture and Wikidata coverage is less comprehensive. Second, while the controlled annotation study (<xref ref-type="sec" rid="s5-10">Section 5.10</xref>) validates the perception attributes on a 2,000-image subset and achieves substantial inter-annotator agreement, the remaining 98% of benchmark images rely on weak supervision proxies; future work should extend human annotation to a larger, more geographically diverse image pool. Third, recommendation evaluation relies on implicit feedback (check-ins), which conflates visitation with satisfaction and may favor popular but average destinations over niche but highly satisfying ones.</p>
</sec>
<sec id="s9-4">
<label>9.4</label>
<title>Future work</title>
<p>Four directions are prioritized. Controlled user studies with explicit preference elicitation would complement the implicit evaluation. Multilingual perception modeling using cross-lingual text encoders could enhance coverage for non-Anglophone destinations. Real-time integration of trip constraints (transport, opening hours, and seasonal closures) would increase practical utility. Finally, causal analysis of the relationship between algorithmically promoted perception attributes and actual visitor flows using natural experiments around platform algorithm changes would advance the tourism policy implications.</p>
</sec>
</sec>
<sec sec-type="conclusion" id="s10">
<label>10</label>
<title>Conclusion</title>
<p>This study introduces MM-DIPR, a perception-aware multimodal framework designed for the understanding and recommendation of tourism destination images. By incorporating a perception bottleneck that learns interpretable TDI attributes as an intermediate representation shared between cross-modal alignment and graph ranking, MM-DIPR demonstrates statistically significant improvements over 11 baseline models across six evaluation tasks, including cold-start and cross-city scenarios. Furthermore, it retains the capability to generate evidence-based explanations validated through a faithfulness deletion protocol. The framework is constructed entirely from publicly available, openly licensed datasets with documented provenance, and all experimental code and derived benchmark artifacts will be released to facilitate reproducibility. We anticipate that MM-DIPR will serve as both a methodological template for multimodal tourism research and a practical tool for destination management practitioners seeking perceptually grounded, transparent recommendation systems.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s11">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/supplementary material; further inquiries can be directed to the corresponding author.</p>
</sec>
<sec sec-type="author-contributions" id="s12">
<title>Author contributions</title>
<p>LD: Conceptualization, Data curation, Formal Analysis, Funding acquisition, Investigation, Methodology, Project administration, Software, Supervision, Validation, Visualization, Writing &#x2013; original draft, Writing &#x2013; review and editing. QL: Conceptualization, Formal Analysis, Funding acquisition, Investigation, Methodology, Project administration, Resources, Writing &#x2013; original draft, Writing &#x2013; review and editing.</p>
</sec>
<sec sec-type="COI-statement" id="s14">
<title>Conflict of interest</title>
<p>The author(s) declared that this work was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="ai-statement" id="s15">
<title>Generative AI statement</title>
<p>The author(s) declared that generative AI was not used in the creation of this manuscript.</p>
<p>Any alternative text (alt text) provided alongside figures in this article has been generated by Frontiers with the support of artificial intelligence and reasonable efforts have been made to ensure accuracy, including review by the authors wherever possible. If you identify any issues, please contact us.</p>
</sec>
<sec sec-type="disclaimer" id="s16">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Artstein</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Poesio</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2008</year>). <article-title>Survey article: inter-coder agreement for computational linguistics</article-title>. <source>Comput. Linguistics</source> <volume>34</volume>, <fpage>555</fpage>&#x2013;<lpage>596</lpage>. <pub-id pub-id-type="doi">10.1162/coli.07-034-r2</pub-id>
</mixed-citation>
</ref>
<ref id="B2">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Baloglu</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>McCleary</surname>
<given-names>K. W.</given-names>
</name>
</person-group> (<year>1999</year>). <article-title>A model of destination image formation</article-title>. <source>Ann. Tour. Res.</source> <volume>26</volume>, <fpage>868</fpage>&#x2013;<lpage>897</lpage>. <pub-id pub-id-type="doi">10.1016/S0160-7383(99)00030-4</pub-id>
</mixed-citation>
</ref>
<ref id="B3">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Beel</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Gipp</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Langer</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Breitinger</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Paper recommender systems: a literature survey</article-title>. <source>Int. J. Digital Libr.</source> <volume>17</volume>, <fpage>305</fpage>&#x2013;<lpage>338</lpage>. <pub-id pub-id-type="doi">10.1007/s00799-015-0156-0</pub-id>
</mixed-citation>
</ref>
<ref id="B4">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Beerli</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Mart&#xed;n</surname>
<given-names>J. D.</given-names>
</name>
</person-group> (<year>2004</year>). <article-title>Factors influencing destination image</article-title>. <source>Ann. Tour. Res.</source> <volume>31</volume>, <fpage>657</fpage>&#x2013;<lpage>681</lpage>. <pub-id pub-id-type="doi">10.1016/j.annals.2004.01.010</pub-id>
</mixed-citation>
</ref>
<ref id="B5">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bi</surname>
<given-names>J.-W.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Fan</surname>
<given-names>Z.-P.</given-names>
</name>
<name>
<surname>Cambria</surname>
<given-names>E.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Modelling customer satisfaction from online reviews using ensemble neural network and effect-based Kano model</article-title>. <source>Int. J. Prod. Res.</source> <volume>58</volume>, <fpage>7069</fpage>&#x2013;<lpage>7094</lpage>. <pub-id pub-id-type="doi">10.1080/00207543.2019.1706726</pub-id>
</mixed-citation>
</ref>
<ref id="B6">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Butler</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>1980</year>). <article-title>The concept of a tourist area cycle of evolution: implications for management of resources</article-title>. <source>Can. Geogr./Le. G&#xe9;ographe Canadien</source> <volume>24</volume>, <fpage>5</fpage>&#x2013;<lpage>12</lpage>. <pub-id pub-id-type="doi">10.1111/j.1541-0064.1980.tb00970.x</pub-id>
</mixed-citation>
</ref>
<ref id="B7">
<mixed-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Carbonell</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Goldstein</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>1998</year>). &#x201c;<article-title>The use of MMR, diversity-based reranking for reordering documents and producing summaries</article-title>,&#x201d; in <conf-name>Proceedings of the ACM Conference on Research and Development in Information Retrieval (SIGIR)</conf-name> (<publisher-loc>New York, NY</publisher-loc>: <publisher-name>ACM</publisher-name>), <fpage>335</fpage>&#x2013;<lpage>336</lpage>. <pub-id pub-id-type="doi">10.1145/290941.291025</pub-id>
</mixed-citation>
</ref>
<ref id="B8">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>J. L.</given-names>
</name>
<name>
<surname>Bal&#xe1;&#x17e;</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Williams</surname>
<given-names>A. M.</given-names>
</name>
</person-group> (<year>2026</year>). <article-title>Tourist decision-making and types of crises: risk attitudes, knowledge, and destination preference persistence</article-title>. <source>J. Hosp. and Tour. Res.</source> <volume>50</volume>, <fpage>271</fpage>&#x2013;<lpage>287</lpage>. <pub-id pub-id-type="doi">10.1177/10963480241310819</pub-id>
</mixed-citation>
</ref>
<ref id="B9">
<mixed-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Cho</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Myers</surname>
<given-names>S. A.</given-names>
</name>
<name>
<surname>Leskovec</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2011</year>). &#x201c;<article-title>Friendship and mobility: user movement in location-based social networks</article-title>,&#x201d; in <conf-name>Proceedings of the ACM SIGKDD International Conference on Knowledge Discovery and Data Mining</conf-name> (<publisher-loc>San Diego, CA</publisher-loc>: <publisher-name>ACM</publisher-name>), <fpage>1082</fpage>&#x2013;<lpage>1090</lpage>. <pub-id pub-id-type="doi">10.1145/2020408.2020579</pub-id>
</mixed-citation>
</ref>
<ref id="B10">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Crompton</surname>
<given-names>J. L.</given-names>
</name>
</person-group> (<year>1979</year>). <article-title>An assessment of the image of Mexico as a vacation destination and the influence of geographical location upon that image</article-title>. <source>J. Travel Res.</source> <volume>17</volume>, <fpage>18</fpage>&#x2013;<lpage>23</lpage>. <pub-id pub-id-type="doi">10.1177/004728757901700404</pub-id>
</mixed-citation>
</ref>
<ref id="B11">
<mixed-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Cui</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Hassan</surname>
<given-names>M. U.</given-names>
</name>
<name>
<surname>Yaqoob</surname>
<given-names>I.</given-names>
</name>
</person-group> (<year>2020</year>). &#x201c;<article-title>Shape matching based on the enhancement of riemannian structure information</article-title>,&#x201d; in <conf-name>Proceedings of the 2020 4th International Conference on Vision, Image and Signal Processing</conf-name>, <fpage>1</fpage>&#x2013;<lpage>5</lpage>.</mixed-citation>
</ref>
<ref id="B12">
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Dean-Hall</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Clarke</surname>
<given-names>C. L. A.</given-names>
</name>
<name>
<surname>Kamps</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Thomas</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Simone</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Voorhees</surname>
<given-names>E. M.</given-names>
</name>
</person-group> (<year>2016</year>). &#x201c;<article-title>Overview of the TREC 2016 contextual suggestion track</article-title>,&#x201d; in <source>TREC 2016 Proceedings</source> (<publisher-loc>Gaithersburg, Maryland</publisher-loc>: <publisher-name>NIST</publisher-name>). <comment>Available online at: <ext-link ext-link-type="uri" xlink:href="https://trec.nist.gov/pubs/trec25/papers/Overview-CS.pdf">https://trec.nist.gov/pubs/trec25/papers/Overview-CS.pdf</ext-link>
</comment> (Accessed February 12, 2026).</mixed-citation>
</ref>
<ref id="B13">
<mixed-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Han</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Hou</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>E.</given-names>
</name>
<etal/>
</person-group> (<year>2020</year>). &#x201c;<article-title>Stgcn: a spatial-temporal aware graph learning method for poi recommendation</article-title>,&#x201d; in <conf-name>2020 IEEE International Conference on Data Mining (ICDM)</conf-name> (<publisher-name>IEEE</publisher-name>), <fpage>1052</fpage>&#x2013;<lpage>1057</lpage>.</mixed-citation>
</ref>
<ref id="B14">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hassan</surname>
<given-names>M. U.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Sarwar</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Aljohani</surname>
<given-names>N. R.</given-names>
</name>
<name>
<surname>Hameed</surname>
<given-names>I. A.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Sodret: instance retrieval using salient object detection for self-service shopping</article-title>. <source>Mach. Learn. Appl.</source> <volume>15</volume>, <fpage>100523</fpage>. <pub-id pub-id-type="doi">10.1016/j.mlwa.2023.100523</pub-id>
</mixed-citation>
</ref>
<ref id="B15">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>He</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>McAuley</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>VBPR: visual bayesian personalized ranking from implicit feedback</article-title>. <source>Proc. AAAI Conf. Artif. Intell.</source> <volume>30</volume>, <fpage>144</fpage>&#x2013;<lpage>150</lpage>. <pub-id pub-id-type="doi">10.1609/aaai.v30i1.9973</pub-id>
</mixed-citation>
</ref>
<ref id="B16">
<mixed-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>He</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Deng</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2020</year>). &#x201c;<article-title>LightGCN: simplifying and powering graph convolution network for recommendation</article-title>,&#x201d; in <conf-name>Proceedings of the ACM International Conference on Research and Development in Information Retrieval (SIGIR)</conf-name> (<publisher-loc>Virtual Event, China</publisher-loc>: <publisher-name>ACM</publisher-name>), <fpage>639</fpage>&#x2013;<lpage>648</lpage>. <pub-id pub-id-type="doi">10.1145/3397271.3401063</pub-id>
</mixed-citation>
</ref>
<ref id="B17">
<mixed-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>He</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>W.</given-names>
</name>
</person-group> (<year>2023</year>). &#x201c;<article-title>DeBERTaV3: improving DeBERTa using ELECTRA-style pre-training with gradient-disentangled embedding sharing</article-title>,&#x201d; in <conf-name>Proceedings of the International Conference on Learning Representations (ICLR)</conf-name>.</mixed-citation>
</ref>
<ref id="B18">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hussain</surname>
<given-names>S. A.</given-names>
</name>
<name>
<surname>Hassan</surname>
<given-names>M. U.</given-names>
</name>
<name>
<surname>Nasar</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Ghorashi</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Jamjoom</surname>
<given-names>M. M.</given-names>
</name>
<name>
<surname>Abdel-Aty</surname>
<given-names>A.-H.</given-names>
</name>
<etal/>
</person-group> (<year>2023</year>). <article-title>Efficient trajectory clustering with road network constraints based on spatiotemporal buffering</article-title>. <source>ISPRS Int. J. Geo-Information</source> <volume>12</volume>, <fpage>117</fpage>. <pub-id pub-id-type="doi">10.3390/ijgi12030117</pub-id>
</mixed-citation>
</ref>
<ref id="B19">
<mixed-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Kang</surname>
<given-names>W.-C.</given-names>
</name>
<name>
<surname>McAuley</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2018</year>). &#x201c;<article-title>Self-attentive sequential recommendation</article-title>,&#x201d; in <conf-name>2018 IEEE international conference on data mining (ICDM)</conf-name> (<publisher-name>IEEE</publisher-name>), <fpage>197</fpage>&#x2013;<lpage>206</lpage>.</mixed-citation>
</ref>
<ref id="B20">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Landis</surname>
<given-names>J. R.</given-names>
</name>
<name>
<surname>Koch</surname>
<given-names>G. G.</given-names>
</name>
</person-group> (<year>1977</year>). <article-title>The measurement of observer agreement for categorical data</article-title>. <source>Biometrics</source> <volume>33</volume>, <fpage>159</fpage>&#x2013;<lpage>174</lpage>. <pub-id pub-id-type="doi">10.2307/2529310</pub-id>
<pub-id pub-id-type="pmid">843571</pub-id>
</mixed-citation>
</ref>
<ref id="B21">
<mixed-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Savarese</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Hoi</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2023</year>). &#x201c;<article-title>BLIP-2: bootstrapping language-image pre-training with frozen image encoders and large language models</article-title>,&#x201d; in <conf-name>Proceedings of the International Conference on Machine Learning (ICML)</conf-name> (<publisher-name>PMLR</publisher-name>), <fpage>19730</fpage>&#x2013;<lpage>19742</lpage>.</mixed-citation>
</ref>
<ref id="B22">
<mixed-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Lian</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Ge</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Xie</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>E.</given-names>
</name>
</person-group> (<year>2020</year>). &#x201c;<article-title>Geography-aware sequential location recommendation</article-title>,&#x201d; in <conf-name>Proceedings of the ACM SIGKDD International Conference on Knowledge Discovery and Data Mining</conf-name> (<publisher-name>ACM</publisher-name>), <fpage>2009</fpage>&#x2013;<lpage>2019</lpage>. <pub-id pub-id-type="doi">10.1145/3394486.3403252</pub-id>
</mixed-citation>
</ref>
<ref id="B23">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lim</surname>
<given-names>K. H.</given-names>
</name>
<name>
<surname>Chan</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Leckie</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Karunasekera</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Personalized trip recommendation for tourists based on user interests, points of interest visit durations and visit recency</article-title>. <source>Knowl. Inf. Syst.</source> <volume>54</volume>, <fpage>375</fpage>&#x2013;<lpage>406</lpage>. <pub-id pub-id-type="doi">10.1007/s10115-017-1056-y</pub-id>
</mixed-citation>
</ref>
<ref id="B24">
<mixed-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Aberer</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Miao</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2013</year>). &#x201c;<article-title>Personalized point-of-interest recommendation by mining users&#x2019; preference transition</article-title>,&#x201d; in <conf-name>Proceedings of the ACM International Conference on Information and Knowledge Management (CIKM)</conf-name> (<publisher-name>ACM</publisher-name>), <fpage>733</fpage>&#x2013;<lpage>742</lpage>. <pub-id pub-id-type="doi">10.1145/2505515.2505639</pub-id>
</mixed-citation>
</ref>
<ref id="B25">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Marine-Roig</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Clave</surname>
<given-names>S. A.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Tourism analytics with massive user-generated content: a case study of Barcelona</article-title>. <source>J. Destination Mark. Manag.</source> <volume>4</volume>, <fpage>162</fpage>&#x2013;<lpage>172</lpage>. <pub-id pub-id-type="doi">10.1016/j.jdmm.2015.06.004</pub-id>
</mixed-citation>
</ref>
<ref id="B26">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Moran</surname>
<given-names>P. A. P.</given-names>
</name>
</person-group> (<year>1950</year>). <article-title>Notes on continuous stochastic phenomena</article-title>. <source>Biometrika</source> <volume>37</volume>, <fpage>17</fpage>&#x2013;<lpage>23</lpage>. <pub-id pub-id-type="doi">10.2307/2332142</pub-id>
<pub-id pub-id-type="pmid">15420245</pub-id>
</mixed-citation>
</ref>
<ref id="B27">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Oquab</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Darcet</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Moutakanni</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Vo</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Szafraniec</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Khalidov</surname>
<given-names>V.</given-names>
</name>
<etal/>
</person-group> (<year>2024</year>). <article-title>DINOv2: learning robust visual features without supervision</article-title>. <source>Trans. on Mach. Learn. Res</source>. <pub-id pub-id-type="doi">10.48550/arXiv.2304.07193</pub-id>
</mixed-citation>
</ref>
<ref id="B28">
<mixed-citation publication-type="web">
<collab>Overture Maps Foundation</collab> (<year>2024</year>). <article-title>Overture maps places dataset</article-title>. <comment>Available online at: <ext-link ext-link-type="uri" xlink:href="https://overturemaps.org/download/.Release2024-04-16.0">https://overturemaps.org/download/.Release2024-04-16.0</ext-link> (Accessed February 20, 2026)</comment>.</mixed-citation>
</ref>
<ref id="B29">
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Quercia</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Schifanella</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Aiello</surname>
<given-names>L. M.</given-names>
</name>
</person-group> (<year>2014</year>). <source>The Shortest Path to Happiness: Recommending Beautiful, Quiet, and Happy Routes in the City</source>, <fpage>116</fpage>&#x2013;<lpage>125</lpage>. <pub-id pub-id-type="doi">10.1145/2631775.2631799</pub-id>
</mixed-citation>
</ref>
<ref id="B30">
<mixed-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Radford</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Kim</surname>
<given-names>J. W.</given-names>
</name>
<name>
<surname>Hallacy</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Ramesh</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Goh</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Agarwal</surname>
<given-names>S.</given-names>
</name>
<etal/>
</person-group> (<year>2021</year>). &#x201c;<article-title>Learning transferable visual models from natural language supervision</article-title>,&#x201d; in <conf-name>Proceedings of the International Conference on Machine Learning (ICML)</conf-name> (<publisher-name>PMLR</publisher-name>), <fpage>8748</fpage>&#x2013;<lpage>8763</lpage>.</mixed-citation>
</ref>
<ref id="B31">
<mixed-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Rendle</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Freudenthaler</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Gantner</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Schmidt-Thieme</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2009</year>). &#x201c;<article-title>BPR: bayesian personalized ranking from implicit feedback</article-title>,&#x201d; in <conf-name>Proceedings of the Conference on Uncertainty in Artificial Intelligence (UAI)</conf-name> (<publisher-name>AUAI</publisher-name>), <fpage>452</fpage>&#x2013;<lpage>461</lpage>.</mixed-citation>
</ref>
<ref id="B32">
<mixed-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Robinson</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Chuang</surname>
<given-names>C.-Y.</given-names>
</name>
<name>
<surname>Sra</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Jegelka</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2021</year>). &#x201c;<article-title>Contrastive learning with hard negative samples</article-title>,&#x201d; in <conf-name>Proceedings of the International Conference on Learning Representations (ICLR)</conf-name>.</mixed-citation>
</ref>
<ref id="B33">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Stepchenkova</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Zhan</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Visual destination images of Peru: comparative content analysis of DMO and user-generated photography</article-title>. <source>Tour. Manag.</source> <volume>36</volume>, <fpage>590</fpage>&#x2013;<lpage>601</lpage>. <pub-id pub-id-type="doi">10.1016/j.tourman.2012.08.006</pub-id>
</mixed-citation>
</ref>
<ref id="B34">
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Sun</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Pei</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Lin</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Ou</surname>
<given-names>W.</given-names>
</name>
<etal/>
</person-group> (<year>2019</year>). <source>BERT4Rec: Sequential Recommendation with Bidirectional Encoder Representations from Transformer</source>, <fpage>1441</fpage>&#x2013;<lpage>1450</lpage>. <pub-id pub-id-type="doi">10.1145/3357384.3357895</pub-id>
</mixed-citation>
</ref>
<ref id="B35">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Thomee</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Shamma</surname>
<given-names>D. A.</given-names>
</name>
<name>
<surname>Friedland</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Elizalde</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Ni</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Poland</surname>
<given-names>D.</given-names>
</name>
<etal/>
</person-group> (<year>2016</year>). <article-title>YFCC100M: the new data in multimedia research</article-title>. <source>Commun. ACM</source> <volume>59</volume>, <fpage>64</fpage>&#x2013;<lpage>73</lpage>. <pub-id pub-id-type="doi">10.1145/2812802</pub-id>
</mixed-citation>
</ref>
<ref id="B36">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>van den Oord</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Vinyals</surname>
<given-names>O.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Representation learning with contrastive predictive coding</article-title>. <source>Adv. Neural Inf. Process. Syst. (NeurIPS)</source> <volume>31</volume>, <fpage>1</fpage>&#x2013;<lpage>13</lpage>.</mixed-citation>
</ref>
<ref id="B37">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Vrande&#x10d;i&#x107;</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Kr&#xf6;tzsch</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Wikidata: a free collaborative knowledgebase</article-title>. <source>Commun. ACM</source> <volume>57</volume>, <fpage>78</fpage>&#x2013;<lpage>85</lpage>. <pub-id pub-id-type="doi">10.1145/2629489</pub-id>
</mixed-citation>
</ref>
<ref id="B38">
<mixed-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>He</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Cao</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Chua</surname>
<given-names>T.-S.</given-names>
</name>
</person-group> (<year>2019</year>). &#x201c;<article-title>Kgat: knowledge graph attention network for recommendation</article-title>,&#x201d; in <conf-name>Proceedings of the 25th ACM SIGKDD international conference on knowledge discovery and data mining</conf-name>, <fpage>950</fpage>&#x2013;<lpage>958</lpage>.</mixed-citation>
</ref>
<ref id="B39">
<mixed-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Weyand</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Araujo</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Cao</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Sim</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2020</year>). &#x201c;<article-title>Google landmarks dataset v2 &#x2013; a large-scale benchmark for instance-level recognition and retrieval</article-title>,&#x201d; in <conf-name>Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)</conf-name> (<publisher-name>IEEE</publisher-name>), <fpage>2575</fpage>&#x2013;<lpage>2584</lpage>.</mixed-citation>
</ref>
<ref id="B40">
<mixed-citation publication-type="book">
<collab>Wikivoyage contributors</collab> (<year>2023</year>). <source>Wikivoyage Database Dumps</source>. <comment>Available online at: <ext-link ext-link-type="uri" xlink:href="https://dumps.wikimedia.org/enwikivoyage/">https://dumps.wikimedia.org/enwikivoyage/</ext-link> (Accessed March 18, 2026)</comment>.</mixed-citation>
</ref>
<ref id="B41">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Pan</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Song</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Predicting hotel demand using destination marketing organization&#x2019;s web traffic data</article-title>. <source>J. Travel Res.</source> <volume>53</volume>, <fpage>433</fpage>&#x2013;<lpage>447</lpage>. <pub-id pub-id-type="doi">10.1177/0047287513500391</pub-id>
</mixed-citation>
</ref>
<ref id="B42">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yaqoob</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Hassan</surname>
<given-names>M. U.</given-names>
</name>
<name>
<surname>Niu</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Hameed</surname>
<given-names>I. A.</given-names>
</name>
<name>
<surname>Hassan</surname>
<given-names>S.-U.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>A novel person re-identification network to address low-resolution problem in smart city context</article-title>. <source>ICT Express</source> <volume>9</volume>, <fpage>809</fpage>&#x2013;<lpage>814</lpage>. <pub-id pub-id-type="doi">10.1016/j.icte.2022.07.010</pub-id>
</mixed-citation>
</ref>
<ref id="B43">
<mixed-citation publication-type="web">
<collab>Yelp Inc</collab> (<year>2023</year>). <article-title>Yelp open dataset</article-title>. <comment>Available online at: <ext-link ext-link-type="uri" xlink:href="https://www.yelp.com/dataset">https://www.yelp.com/dataset</ext-link> (Accessed April 15, 2026)</comment>.</mixed-citation>
</ref>
<ref id="B44">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zangerle</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Bauer</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Evaluating recommender systems: survey and framework</article-title>. <source>ACM Comput. Surv.</source> <volume>55</volume>, <fpage>1</fpage>&#x2013;<lpage>38</lpage>. <pub-id pub-id-type="doi">10.1145/3556536</pub-id>
</mixed-citation>
</ref>
<ref id="B45">
<mixed-citation publication-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Zhai</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Mustafa</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Kolesnikov</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Beyer</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2023</year>). &#x201c;<article-title>Sigmoid loss for language image pre-training</article-title>,&#x201d; in <conf-name>Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)</conf-name> (<publisher-name>IEEE</publisher-name>), <fpage>11975</fpage>&#x2013;<lpage>11986</lpage>.</mixed-citation>
</ref>
<ref id="B46">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Explainable recommendation: a survey and new perspectives</article-title>. <source>Found. Trends Inf. Retr.</source> <volume>14</volume>, <fpage>1</fpage>&#x2013;<lpage>101</lpage>. <pub-id pub-id-type="doi">10.1561/1500000066</pub-id>
</mixed-citation>
</ref>
<ref id="B47">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Qiu</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>D. D.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Tourist gaze through computer vision: where, what, how and why?</article-title> <source>Tour. Rev.</source> <volume>77</volume>, <fpage>1186</fpage>&#x2013;<lpage>1202</lpage>. <pub-id pub-id-type="doi">10.1108/tr-04-2020-0185</pub-id>
</mixed-citation>
</ref>
<ref id="B48">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Hassan</surname>
<given-names>M. U.</given-names>
</name>
<name>
<surname>Niu</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Nawaz</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Hameed</surname>
<given-names>I. A.</given-names>
</name>
<etal/>
</person-group> (<year>2023</year>). <article-title>A methodology for shape matching of non-rigid structures based on integrated graphical information</article-title>. <source>Displays</source> <volume>76</volume>, <fpage>102336</fpage>. <pub-id pub-id-type="doi">10.1016/j.displa.2022.102336</pub-id>
</mixed-citation>
</ref>
<ref id="B49">
<mixed-citation publication-type="book">
<person-group person-group-type="author">
<name>
<surname>Zheng</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Mobasher</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Burke</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2015</year>). <source>Similarity-Based context-aware Recommendation</source>, <fpage>431</fpage>&#x2013;<lpage>447</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-319-26190-4_29</pub-id>
</mixed-citation>
</ref>
<ref id="B50">
<mixed-citation publication-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhou</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Lapedriza</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Khosla</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Oliva</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Torralba</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Places: a 10 million image database for scene recognition</article-title>. <source>IEEE Trans. Pattern Anal. Mach. Intell.</source> <volume>40</volume>, <fpage>1452</fpage>&#x2013;<lpage>1464</lpage>. <pub-id pub-id-type="doi">10.1109/TPAMI.2017.2723009</pub-id>
<pub-id pub-id-type="pmid">28692961</pub-id>
</mixed-citation>
</ref>
</ref-list>
<fn-group>
<fn fn-type="custom" custom-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/142280/overview">Alejandro Bellogin</ext-link>, Autonomous University of Madrid, Spain</p>
</fn>
<fn fn-type="custom" custom-type="reviewed-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/3185647/overview">Zijun Long</ext-link>, Hunan University, China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/3562791/overview">Jingsen Lian</ext-link>, Delft University of Technology (TU Delft), Netherlands</p>
</fn>
</fn-group>
<app-group>
<app id="app1">
<title>Appendix A</title>
<p>Repeated-run stability: mean <inline-formula id="inf203">
<mml:math id="m206">
<mml:mrow>
<mml:mo>&#xb1;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> standard deviation</p>
<p>
<xref ref-type="table" rid="TA1">Table A1</xref> reports mean Recall@10 and NDCG@10 across five independent runs (seeds 0&#x2013;4) for all models evaluated on the Yelp Open Dataset benchmark. Standard deviations confirm that MM-DIPR&#x2019;s improvements are stable and not artefacts of a lucky random initialization.</p>
<p>Hyperparameter search spaces</p>
<p>
<xref ref-type="table" rid="TA2">Table A2</xref> documents the search space used for all models. The best configuration for each model was selected by validation NDCG@10; the test set was never accessed during hyperparameter selection.</p>
<p>Loss function definitions</p>
<p>
<xref ref-type="table" rid="TA3">Table A3</xref> summarizes all five components of the joint training objective (<xref ref-type="disp-formula" rid="e1">Equation 1</xref>) with their functional forms, supervision signals, and gradient pathways.</p>
<table-wrap id="TA3" position="float">
<label>TABLE A3</label>
<caption>
<p>Summary of the five loss components in the MM-DIPR joint training objective. &#x201c;Backprop target&#x201d; indicates which model parameters receive gradients from each loss.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Loss</th>
<th align="left">Functional form</th>
<th align="left">Supervision signal</th>
<th align="left">Backprop target</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">
<inline-formula id="inf204">
<mml:math id="m207">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">p</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">Binary cross-entropy over binarized (above/below median) attribute labels: <inline-formula id="inf205">
<mml:math id="m208">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:msubsup>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>K</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>log</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mi>log</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">Places365 scene logits; GLDv2 landmark scores; Wikivoyage tags; Yelp sentiment</td>
<td align="left">Perception bottleneck (M5); all encoders</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf206">
<mml:math id="m209">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mi mathvariant="normal">g</mml:mi>
<mml:mi mathvariant="normal">n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">InfoNCE contrastive loss (<xref ref-type="disp-formula" rid="e2">Equation 2</xref>) with learned temperature <inline-formula id="inf207">
<mml:math id="m210">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>; hard negatives from geographically proximate POIs</td>
<td align="left">Image&#x2013;text co-occurrence from public sources</td>
<td align="left">Visual (M2) and text (M3) encoders; projection heads</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf208">
<mml:math id="m211">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">n</mml:mi>
<mml:mi mathvariant="normal">k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">BPR pairwise loss: <inline-formula id="inf209">
<mml:math id="m212">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">D</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>ln</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>&#x3c3;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:mi mathvariant="normal">&#x398;</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">&#x2016;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">Observed check-ins as positives; unobserved as negatives (sampled)</td>
<td align="left">Graph ranker (M6); user and item embeddings</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf210">
<mml:math id="m213">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">c</mml:mi>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">Expected calibration error (ECE): mean absolute difference between predicted confidence and empirical accuracy in <inline-formula id="inf211">
<mml:math id="m214">
<mml:mrow>
<mml:mi>B</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>15</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> equal-width bins</td>
<td align="left">Held-out annotation labels from the 2,000-image subset</td>
<td align="left">Perception bottleneck (M5) output sigmoid</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf212">
<mml:math id="m215">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
<mml:mi mathvariant="normal">v</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">Negative mean pairwise cosine distance in perception embedding space for the top-50 re-ranking candidates: <inline-formula id="inf213">
<mml:math id="m216">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>K</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>cos</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>; applied only at inference/re-ranking stage</td>
<td align="left">Self-supervised (no external labels)</td>
<td align="left">Not backpropagated during training; used only in MMR re-ranking (M7)</td>
</tr>
</tbody>
</table>
</table-wrap>
</app>
</app-group>
</back>
</article>