Uncertainty and Fairness Awareness in LLM-Based Recommendation Systems

Applications, bias, and safety2026arXivApproved editorial review

Authors: Chandan Kumar Sah, Xiaoli Lian, Li Zhang, Tony Xu, Syed Shazaib Shah

Keywords: Recomendadores basados en LLM, Sensibilidad a prompts, Auditoría de equidad, Similitud de rankings, Personas demográficas, Validez de constructo, Reproducibilidad

Source: Open primary source (opens in a new tab)

5
Authors
10
Findings
15
Limitations
7
Evidence

Editorial summary

English

This paper presents a framework for studying uncertainty and fairness in LLM-generated recommendations and an experiment with an endpoint labelled Gemini 1.5 Flash. Its defensible empirical contribution is narrower than the abstract: song and movie lists from a neutral prompt are compared with lists from prompts containing demographic labels. This demonstrates sensitivity to textual persona wording, but it does not measure psychometric personality, recommendation quality, fairness harm, or original predictive uncertainty. The audit covered all 15 pages of arXiv v1, all 9 appendix pages, and the official code/data ZIP at commit 3c5ff5e.

The paper asks two questions. RQ1 concerns how predictive uncertainty, purportedly quantified with entropy, affects reliability. RQ2 asks whether observed Gemini disparities persist across sensitive attributes, domains, typos, and multilingual prompts. RQ1, however, contains no author-run experiment: it is a narrative synthesis of prior studies in Table 2. No entropy is defined or estimated over the paper's outputs; there is no repeated sampling, token probability, calibration result, empirical uncertainty table, or association between uncertainty and accuracy. The artifact contains no entropy or token-level uncertainty computation either. Claims that uncertainty degraded this experiment and that the framework incorporates token-level quantification are unsupported by original data.

The released experiment covers movies and music. The text describes 1,000 directors, 500 popular under IMDb thresholds and 500 manually curated, and 1,000 artists from an MTV list. Each anchor receives a top-25 list. Sensitive prompts insert a label before “fan of [name]” and are compared with a neutral prompt. The paper claims eight attributes and 31 values. Table 1 enumerates 30, while the released JSON contains 32: age 3, nationality 7, gender 4, continent 3, occupation 5, race 4, religion 4, and physical description 2. The artifact adds boy and girl to male and female.

Category construction has major validity problems. Boy/girl mix age and gender; American is treated as a continent; African American, black, white, and yellow mix race and ethnicity and include an offensive racial label; fat/thin are stored under physics; and Buddhist, Christian, Hinduism, and Islamic mix person adjectives with religion nouns. Prompt equivalence, naturalness, and interpretation are not human-validated. A list change may therefore arise from lexical form, semantic error, or a stereotype induced by the prompt itself rather than treatment of a well-defined group.

Released configuration also drifts from the paper. The text claims greedy search with temperature, top_p, and frequency_penalty at zero. Code sets only temperature=0 on the floating gemini-1.5-flash alias; it does not fix top_p, frequency penalty, seed, immutable revision, or execution date. The music runner defaults to 500 anchors and the notebook explicitly computes music with n=500 despite describing 1,000. The artist source has 2,999 rows rather than a documented 1,000-item selection. The director file has 1,000 rows but only 949 unique names.

Collection scripts appear to be partial process snapshots. The music runner is left with a French system instruction and a French prompt asking for movie titles even though it processes artists. The movie runner retains an English system and English template for the french folder; only the inserted label is French. Launchers acquire only French music and neutral, nationality, and French movie conditions, not every released folder. The notebook hard-codes n=500 in its main SNSR/SNSV function for every domain. The published state therefore cannot reproduce acquisition or all summaries without undocumented manual repair.

Calls did not yield complete sets. Music has 491 neutral rows and 485–494 rows per sensitive file, with different missing anchors. Movies have 975 neutral rows, only 926 unique names, and roughly 965–984 rows per condition with typically 46–49 duplicates. The parser requires number-dot-space lines. Across files it returns zero items for 155 music and 728 movie lists, with some lists parsed to 23, 24, 26, or 27 items. Analysis converts files into dictionaries by anchor, overwrites duplicates, silently catches failures, and compares only anchors surviving in both neutral and sensitive files. Effective paired n varies by group and is never reported, creating unquantified selection.

Jaccard measures overlap between neutral and sensitive top-25 lists. SNSR is the range of value-level average similarities within an attribute and SNSV their population standard deviation. These are list-dispersion measures, not direct evidence of a disadvantaged group, relevance, satisfaction, representation, exposure, allocation, or harm. The framework assumes that similarity to the neutral prompt is fairer without validating neutral output as a normative baseline or collecting preference ground truth. Legitimate personalization, noise, parser errors, and stereotyping can all create the same signal.

Formulas and code diverge. The SERP* implementation weights positions from only one list and normalizes differently from Equation 8; an identical 25-item list cannot attain the unit maximum implied by the equation. PRAG* also differs between Equation 9 and released loops. The appendix metric table calls SERP* and PRAG* higher=unfairer, while surrounding text defines them as similarity or ranking-agreement measures and later treats a drop as degradation. Direction is not internally coherent.

Tables 3 and VIII materially misassign columns. For movies, the published Jaccard sequence exactly follows released CSV columns ordered race, religion, continent, occupation, country, physical, gender, and age, but the printed header relabels them religion, continent, occupation, country, race, age, gender, and physical. Music values mainly follow religion, race, continent, country, age, gender, occupation, and physical, again under shifted labels. Thus .1363 highlighted in the abstract maps to music race in the CSV, not the printed continent label. The highlighted .0507 matches neither released music-race SNSV (.056084) nor music-continent SNSV (.042542) and is close to movie-continent (.050248), indicating further mixing.

SERP* and PRAG* discrepancies are larger. Movie Table 3 reports SERP SNSR from .0190 to .0009, whereas movie_result.csv contains .134154 to .012743 with no coherent remapping. Appendix SERP minima sometimes exceed maxima and printed SNSR is not max minus min. Published movie PRAG SNSR (.0705 to .0069) does not reproduce released values (.364045 to .026611). Some music cells follow the CSV, while others do not: published physical PRAG .0966 contrasts with released .015631. The released summaries under their implementation can be described; the full published table cannot be presumed correct.

In released summaries, Jaccard range is greatest in music for religion (.347867) and race (.136282), and in movies for race (.259877) and religion (.151257). This supports heterogeneity in overlap among author-created labels. It does not show which list is better, whether anyone is harmed, or whether the pattern is stable. There is one output per condition, a mutable endpoint alias, variable effective samples, and no interval, test, bootstrap, or multiplicity correction. The threats section says standardized statistical tests and representative datasets mitigate variation, but no statistical test is reported or implemented.

The personality claim is not implemented. Data vary demographics, occupation, nationality, body descriptors, typos, and French wording; there is no Big Five, introversion/extraversion, validated inventory, or stable profile. The appendix mentions extroverted and introverted users, but those files are absent. Big Five appears only as future work. Adding “Based on my personality” does not turn age or race into personality. PAFS has no code, intermediate data, or derived summary, leaving every table value unreproducible. Personalization utility and a formal fairness trade-off are never evaluated.

The French test is not a controlled translation: music changes both language and requested wording to movies, while movie prompts remain mostly English. Typo conditions have no repeated generations. Curves demonstrate sensitivity in those runs, not general multilingual robustness or statistically persistent unfairness.

The repository provides 84 output CSV files and enables partial audit, but has no README, license, dependency lock, tests, CI, release, or complete executable protocol. Its public ZIP also embeds a Google credential in both launchers. The value was neither used nor retained in this audit; its owner should revoke and rotate it and remove it from the artifact and history. This is a critical security and reproducibility defect.

The faithful conclusion is that a large but incomplete set of demographic prompts produced different lists from one Gemini 1.5 Flash endpoint and released CSVs show overlap heterogeneity. This is useful evidence of textual-persona sensitivity and of the need for rigorous protocols. It does not establish original predictive entropy, personality, PAFS, accuracy, disadvantaged groups, harm, significance, multilingual robustness, RecLLM generalization, or exact reproduction of the published tables.

Español

El artículo presenta un marco para estudiar incertidumbre y equidad en recomendaciones generadas por LLM y un experimento con un endpoint denominado Gemini 1.5 Flash. La contribución empírica defendible es más estrecha que el abstract: se comparan listas de canciones y películas generadas con un prompt neutral frente a prompts que añaden etiquetas demográficas. Esto permite observar sensibilidad a la formulación de la persona, pero no mide personalidad psicométrica, calidad de recomendación, perjuicio de equidad ni incertidumbre predictiva propia. Se auditaron las 15 páginas de arXiv v1, las 9 páginas del apéndice y el ZIP oficial de código y datos en el commit 3c5ff5e.

El paper formula dos preguntas. RQ1 pregunta cómo afecta la incertidumbre predictiva, supuestamente cuantificada mediante entropía, a la fiabilidad. RQ2 pregunta si la desigualdad observada en Gemini persiste entre atributos sensibles, dominios, errores tipográficos y prompts multilingües. Sin embargo, RQ1 no contiene un experimento de los autores: es una síntesis narrativa de estudios previos resumidos en la Tabla 2. No se define ni estima una entropía sobre sus salidas, no hay muestreo repetido, probabilidades de token, calibración, tabla de resultados o análisis de asociación entre incertidumbre y exactitud. El artefacto tampoco contiene la palabra o cálculo de entropía. La conclusión de que la incertidumbre degradó la fiabilidad de este experimento y que el marco incorpora cuantificación a nivel de token no está sustentada por datos propios.

El experimento liberado cubre películas y música. El texto describe 1.000 directores, 500 populares según umbrales IMDb y 500 curados manualmente, y 1.000 artistas tomados de una lista MTV. Para cada anchor se solicita un top-25. Los prompts sensibles añaden una etiqueta antes de “fan of [nombre]” y se comparan con el prompt neutral. El paper dice que hay ocho atributos y 31 valores. Su Tabla 1 enumera 30, mientras el JSON liberado tiene 32: edad 3, nacionalidad 7, género 4, continente 3, ocupación 5, raza 4, religión 4 y descripción física 2. La diferencia se debe a que el artefacto incluye boy y girl además de male y female.

La construcción de categorías tiene problemas de validez. Boy/girl mezclan edad con género; American aparece como continente; African American, black, white y yellow mezclan raza y etnia e incluyen una etiqueta racial ofensiva; fat/thin se guardan bajo physics; y Buddhist, Christian, Hinduism e Islamic mezclan adjetivos de persona y nombres de religión. No hay validación humana de equivalencia, naturalidad o interpretación de prompts. Por ello, una diferencia puede proceder de la forma léxica, el error semántico o el estereotipo inducido por el propio prompt, no del trato a un grupo bien definido.

La configuración tampoco coincide plenamente con el paper. El texto afirma búsqueda greedy con temperatura, top_p y frequency_penalty a cero. El código solo fija temperature=0 sobre el alias flotante gemini-1.5-flash; no fija top_p, frequency penalty, seed, revisión inmutable o fecha de consulta. El script musical tiene por defecto 500 anchors, y el notebook calcula explícitamente música con n=500 pese a describir 1.000. La fuente de artistas tiene 2.999 filas, no una selección documentada de 1.000. El archivo de directores tiene 1.000 filas pero solo 949 nombres únicos.

Los scripts publicados parecen instantáneas parciales del proceso. El runner musical quedó configurado con sistema francés y un prompt en francés que pide títulos de películas, aunque procesa artistas. El runner de películas usa sistema y plantilla en inglés incluso para la carpeta french: solo la etiqueta insertada está en francés. Los launchers solo ejecutan música francesa y películas neutral, nacionalidad y francés; no reconstruyen todas las carpetas liberadas. El notebook fija n=500 en la función principal de SNSR/SNSV para cualquier dominio. Por tanto, el estado publicado no reproduce la adquisición ni todos los resúmenes sin reparaciones manuales no documentadas.

Las llamadas tampoco producen conjuntos completos. Música tiene 491 filas neutrales y entre 485 y 494 por archivo sensible, con anchors faltantes distintos; películas tiene 975 filas neutrales, solo 926 nombres únicos y aproximadamente 965–984 filas por condición, con 46–49 duplicados típicos. El parser exige líneas con el patrón número-punto-espacio. Entre todos los archivos devuelve cero ítems para 155 listas musicales y 728 de películas; también aparecen longitudes de 23, 24, 26 o 27. El análisis convierte cada archivo en un diccionario por nombre, sobrescribe duplicados, silencia excepciones y compara solo anchors presentes y parseables en ambos lados. El n emparejado efectivo varía por grupo y nunca se publica, introduciendo una selección no cuantificada.

La métrica base Jaccard mide el solapamiento entre el top-25 neutral y el sensible. SNSR es el rango entre las similitudes medias de los valores de un atributo y SNSV su desviación estándar poblacional. Estas cifras describen dispersión de listas; no identifican por sí mismas un grupo perjudicado ni miden relevancia, satisfacción, representación, exposición, asignación o daño. El marco presupone que parecerse al prompt neutral es más justo, pero no valida el neutral como baseline normativo ni dispone de preferencias o ground truth. Personalización legítima, ruido, errores del parser y estereotipos pueden producir la misma señal.

Incluso las fórmulas y el código divergen. La implementación SERP* pondera posiciones solo en una lista y usa una normalización distinta de la Ecuación 8; una lista idéntica de 25 elementos no alcanza el máximo unitario que implica la ecuación. PRAG* también difiere entre la Ecuación 9 y los bucles liberados. El apéndice llama a SERP* y PRAG* “higher = unfairer”, aunque el texto los define como similitud o acuerdo de ranking y después interpreta una caída como degradación. No existe una dirección coherente para todas las afirmaciones.

La Tabla 3 y la Tabla VIII contienen errores materiales de asignación. En películas, la secuencia Jaccard publicada corresponde exactamente a columnas del CSV en el orden raza, religión, continente, ocupación, país, físico, género y edad, pero el encabezado la renombra religión, continente, ocupación, país, raza, edad, género y físico. En música, la secuencia procede principalmente del orden religión, raza, continente, país, edad, género, ocupación y físico, también con etiquetas desplazadas. Así, el .1363 destacado en el abstract corresponde en el CSV a race/música, no al encabezado impreso de continente. El .0507 destacado no coincide con el SNSV musical de raza (.056084) ni continente (.042542) y se aproxima al valor de continente/películas (.050248), señal de mezcla adicional.

Los problemas son mayores en SERP* y PRAG*. Para películas, la tabla informa SNSR SERP entre .0190 y .0009, mientras el CSV liberado contiene .134154 a .012743; no existe un mapeo coherente. En el apéndice varios mínimos SERP son mayores que sus máximos y el SNSR no es max−min. Los SNSR PRAG de película publicados (.0705 a .0069) tampoco reproducen el CSV (.364045 a .026611). En música algunas celdas siguen el CSV, pero otras no: el PRAG físico publicado .0966 contrasta con .015631 liberado. Por tanto, solo pueden describirse con confianza los valores del artefacto bajo su implementación, no asumir correcta toda la tabla del paper.

Usando los resúmenes liberados, Jaccard muestra mayor rango en música para religión (.347867) y raza (.136282), y en películas para raza (.259877) y religión (.151257). Esto sí apoya heterogeneidad de solapamiento entre las etiquetas creadas por los autores. No prueba qué lista es mejor, si alguien fue perjudicado ni que el patrón sea estable: hay una sola salida por condición, alias mutable, muestras efectivas variables y ningún intervalo, test, bootstrap o corrección múltiple. La sección de amenazas afirma usar tests estadísticos estandarizados y datasets grandes representativos, pero no se reporta o implementa ningún test.

La afirmación de personalidad tampoco se materializa. Los datos varían demografía, ocupación, nacionalidad, cuerpo, typos y francés; no incluyen Big Five, introversión/extraversión, inventario validado o perfil estable. El apéndice menciona diferencias entre personas extrovertidas e introvertidas, pero no existen esos archivos. Big Five aparece únicamente como trabajo futuro. Añadir “Based on my personality” a una instrucción no convierte edad o raza en personalidad. Tampoco existe código para PAFS, datos intermedios o resumen derivado: todos los valores PAFS de las tablas quedan sin soporte reproducible. No se evalúa utilidad de personalización ni un trade-off formal con equidad.

La prueba francesa tampoco es una traducción controlada: en música cambia el idioma y además el dominio verbal a películas; en cine deja la mayor parte del prompt en inglés. Los errores tipográficos comparan formas distintas sin repeticiones. Las curvas demuestran sensibilidad de esas ejecuciones, no robustez multilingüe general ni persistencia estadística de desigualdad.

El repositorio aporta 84 CSV de salidas y permite auditar parcialmente el comportamiento, pero carece de README, licencia, lock de dependencias, tests, CI, release y protocolo ejecutable integral. Su ZIP público contiene además una credencial de Google incrustada en ambos launchers. No se usó ni se registró su valor en esta auditoría; el propietario debe revocarla, rotarla y eliminarla del artefacto e historial. Esta exposición es un defecto crítico de seguridad y de práctica reproducible.

La conclusión fiel es que un conjunto grande pero incompleto de prompts demográficos produjo listas distintas bajo un endpoint Gemini 1.5 Flash, y los CSV liberados muestran heterogeneidad en solapamiento. Es una alerta útil sobre sensibilidad a personas textuales y sobre la necesidad de protocolos rigurosos. No establece entropía predictiva propia, personalidad, PAFS, exactitud, grupos desfavorecidos, daño, significación, robustez multilingüe, generalización a RecLLM ni reproducción exacta de las tablas publicadas.

Research question

Do the top-25 movie and music lists of Gemini 1.5 Flash change when demographic tags are inserted, do those changes persist under typos or French phrases, and is there own empirical evidence of uncertainty or personality that explains its reliability and fairness?

Method

The paper combines narrative review with neutral-sensitive comparison of lists. The artifact generates recommendations for anchors of directors and artists with 32 JSON values in eight families, computes Jaccard, a custom implementation of SERP and PRAG, and summarizes the SNSR range and the SNSV deviation. The audit reviews text, appendix, two scripts, two launchers, notebook, 84 output CSVs, two summary CSVs, two anchor files and three figures.

Sample: The JSON has 32 values, not 31: age 3, country 7, gender 4, continent 3, occupation 5, race 4, religion 4 and physical 2; additionally there are 6 typos, 3 French phrases and one neutral. Music attempts 500 anchors per condition and movies 1,000, but failed calls, duplicated names and parser failures variably reduce the effective matched n, which is not reported.

Findings

  • The artifact shows list changes when adding demographic tags to a neutral prompt.
  • In released CSV, musical SNSR Jaccard is higher for religion (.347867) and race (.136282).
  • In released CSV, movie SNSR Jaccard is higher for race (.259877) and religion (.151257).
  • The Jaccard columns of the paper are reassigned to incorrect headers.
  • The .0507 in the abstract does not match the corresponding musical SNSV and seems to mix another domain/attribute.
  • Published SERP and PRAG do not coherently reproduce the CSVs; the appendix contains minima greater than maxima.
  • PAFS has no code or data and there are no released personality prompts.
  • RQ1 does not compute own entropy; it summarizes others' studies.
  • There is no statistical test although the validity section claims they were used.
  • The official ZIP exposes a Google credential in the launchers.

Limitations

  • A single mutable Gemini alias, with no snapshot or execution date.
  • Only temperature is fixed; top_p, frequency penalty and seed do not match the declared protocol.
  • Music uses 500 anchors, not the 1,000 described.
  • Sensitive categories are inconsistent, not equivalent and not validated.
  • Files have missing and duplicated items that differ by condition.
  • The parser silently discards hundreds of lists and the effective n varies.
  • Similarity with neutral is not a validated measure of fairness or harm.
  • SERP and PRAG diverge across equation, code, interpretive direction and table.
  • Tables mix columns, domains and non-reproducible values.
  • There is no entropy, calibration, accuracy or own uncertainty analysis.
  • There are no personality traits or PAFS implementation.
  • French and typo are not controlled interventions and have no repetitions.
  • There are no preferences, relevance, satisfaction, exposure or outcomes by group.
  • No tests, intervals, bootstrap or multiplicity are reported.
  • Artifact without README, license, lock, tests, CI or release, and with exposed secret.

What the study does not establish

  • It does not establish predictive entropy over its own outputs.
  • It does not demonstrate that uncertainty causes lower reliability in this experiment.
  • It does not evaluate psychometric personality or persistent profile.
  • It does not support PAFS values or a personality-fairness trade-off.
  • It does not validate the column assignment or the majority of published SERP/PRAG figures.
  • It does not demonstrate that lower overlap is unfair treatment or harm.
  • It does not evaluate accuracy, relevance, utility, satisfaction or exposure fairness.
  • It does not demonstrate controlled multilingual robustness or statistical significance.
  • It does not generalize to other LLMs, endpoints, domains or real users.
  • It does not allow end-to-end reproduction without repairing protocol and code.

Traceability

Scope: Full text

Version: arXiv:2602.02582v1, submitted 31 January 2026, 15-page preprint marked accepted at IASEAI'26. All 15 main pages and all 9 pages of the official appendix were rendered and visually inspected. Official repository commit 3c5ff5ec682bff23395d17a6f2026548d24d6c5f and its 152 MB unpacked source/data artifact were audited.

Consulted source: https://arxiv.org/abs/2602.02582v1

Review: Codex full-text, 24-page visual, bilingual-fidelity, construct, metric, table, code, data, security and reproducibility audit, 2026-07-16

Approval: Codex fidelity pass, 2026-07-16

English translation: approved, 2026-07-18

Models evaluated

  • Google Gemini 1.5 Flash API via floating gemini-1.5-flash alias; immutable revision and execution date not reported
  • GPT-4o mentioned in appendix configuration/figure but not empirically released or reported

Instruments and metrics

  • Neutral versus demographic-label top-25 prompts
  • Jaccard@25 list overlap
  • Released SERP* implementation, inconsistent with printed Equation 8
  • Released PRAG* implementation, inconsistent with printed Equation 9
  • Sensitive-to-Neutral Similarity Range (SNSR)
  • Sensitive-to-Neutral Similarity Variance (SNSV)
  • Claimed PAFS without released implementation
  • Claimed predictive entropy without original computation
  • Typo labels and partially French prompts

Data used

  • Music anchor CSV: 2,999 rows, 2,985 unique names; experiment code uses first 500
  • Movie director CSV: 1,000 rows, 949 unique strings
  • 84 raw-output CSV files across two domains and 42 conditions per domain
  • Music: 491 neutral rows and 20,099 sensitive/perturbation rows
  • Movie: 975 neutral rows and 39,947 sensitive/perturbation rows
  • music_result.csv and movie_result.csv released summaries
  • Official nine-page appendix

Evidence and location

  • Objectives, contributions and claims of uncertainty and personality: arXiv:2602.02582v1 pp. 1-3, Abstract, Introduction and Contributions
  • Design, attributes, prompts and declared configuration: arXiv:2602.02582v1 pp. 4-6, Section 3 and Table 1
  • RQ1 as synthesis and equity results: arXiv:2602.02582v1 pp. 5-8, Sections 4.1-4.2, Tables 2-3 and Figures 3-4
  • Threats, conclusion and Big Five as future: arXiv:2602.02582v1 pp. 8-9, Sections 4.3-5
  • Formulas, PAFS, datasets and extended table: Official Appendix.pdf, all 9 pages visually inspected, especially Equations 4-10 and Tables V-VIII
  • Code, configuration, samples, parser and released values: Official repository commit 3c5ff5e, ASE_Fairness Source Code.zip: run.py files, launchers, process.ipynb, sst_json.json, raw CSVs and result CSVs
  • Comprehensive validity and reproducibility report: reports/verification/article-223-uncertainty-fairness-personality-validity-and-artifact-audit.json