Uncertainty and Fairness Awareness in LLM-Based Recommendation Systems

Aplicaciones, sesgos y seguridad2026arXivRevisión editorial aprobada

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

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

Fuente:Abrir fuente primaria (abre en una pestaña nueva)

5
Autores
10
Hallazgos
15
Limitaciones
7
Evidencias

Resumen editorial

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.

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.

Pregunta de investigación

¿Cambian las listas top-25 de películas y música de Gemini 1.5 Flash al insertar etiquetas demográficas, persisten esos cambios bajo typos o frases francesas y existe evidencia empírica propia de incertidumbre o personalidad que explique su fiabilidad y equidad?

Método

El paper combina revisión narrativa con comparación neutral–sensible de listas. El artefacto genera recomendaciones para anchors de directores y artistas con 32 valores JSON en ocho familias, calcula Jaccard, una implementación propia de SERP y PRAG, y resume el rango SNSR y la desviación SNSV. La auditoría revisa texto, apéndice, dos scripts, dos launchers, notebook, 84 CSV de salida, dos CSV resumen, dos archivos de anchors y tres figuras.

Muestra: El JSON tiene 32 valores, no 31: edad 3, país 7, género 4, continente 3, ocupación 5, raza 4, religión 4 y físico 2; además hay 6 typos, 3 frases francesas y un neutral. Música intenta 500 anchors por condición y películas 1.000, pero las llamadas fallidas, nombres duplicados y fallos del parser reducen de forma variable el n emparejado efectivo, que no se informa.

Hallazgos

  • El artefacto muestra cambios de listas al añadir etiquetas demográficas a un prompt neutral.
  • En CSV liberado, SNSR Jaccard musical es mayor para religión (.347867) y raza (.136282).
  • En CSV liberado, SNSR Jaccard de películas es mayor para raza (.259877) y religión (.151257).
  • Las columnas Jaccard del paper están reasignadas a encabezados incorrectos.
  • El .0507 del abstract no coincide con el SNSV musical correspondiente y parece mezclar otro dominio/atributo.
  • SERP y PRAG publicados no reproducen de forma coherente los CSV; el apéndice contiene mínimos mayores que máximos.
  • PAFS no tiene código o datos y no hay prompts de personalidad liberados.
  • RQ1 no calcula entropía propia; resume estudios ajenos.
  • No hay test estadístico aunque la sección de validez afirma que se usaron.
  • El ZIP oficial expone una credencial de Google en los launchers.

Limitaciones

  • Un solo alias Gemini mutable, sin snapshot ni fecha de ejecución.
  • Solo se fija temperatura; top_p, frequency penalty y seed no coinciden con el protocolo declarado.
  • Música usa 500 anchors, no los 1.000 descritos.
  • Las categorías sensibles son inconsistentes, no equivalentes y no validadas.
  • Los archivos tienen faltantes y duplicados distintos por condición.
  • El parser descarta silenciosamente cientos de listas y el n efectivo varía.
  • Similitud con neutral no es una medida validada de equidad o daño.
  • SERP y PRAG divergen entre ecuación, código, dirección interpretativa y tabla.
  • Las tablas mezclan columnas, dominios y valores no reproducibles.
  • No hay entropía, calibración, accuracy o análisis propio de incertidumbre.
  • No hay rasgos de personalidad ni implementación PAFS.
  • Francés y typo no son intervenciones controladas y no tienen repeticiones.
  • No hay preferencias, relevancia, satisfacción, exposición o outcomes por grupo.
  • No se reportan tests, intervalos, bootstrap o multiplicidad.
  • Artefacto sin README, licencia, lock, tests, CI o release, y con secreto expuesto.

Qué no demuestra

  • No establece entropía predictiva sobre las salidas propias.
  • No demuestra que incertidumbre cause menor fiabilidad en este experimento.
  • No evalúa personalidad psicométrica o perfil persistente.
  • No sustenta los valores PAFS ni un trade-off personalidad–equidad.
  • No valida la asignación de columnas ni la mayoría de cifras SERP/PRAG publicadas.
  • No demuestra que menor solapamiento sea trato injusto o perjuicio.
  • No evalúa exactitud, relevancia, utilidad, satisfacción o equidad de exposición.
  • No demuestra robustez multilingüe controlada o significación estadística.
  • No generaliza a otros LLM, endpoints, dominios o usuarios reales.
  • No permite reproducción de extremo a extremo sin reparar protocolo y código.

Trazabilidad

Alcance: Texto completo

Versión: 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.

Fuente consultada: https://arxiv.org/abs/2602.02582v1

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

Aprobación: Codex fidelity pass, 2026-07-16

Modelos evaluados

  • 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

Instrumentos y métricas

  • 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

Datos utilizados

  • 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

Evidencia y localización

  • Objetivos, contribuciones y claims de incertidumbre y personalidad: arXiv:2602.02582v1 pp. 1-3, Abstract, Introduction and Contributions
  • Diseño, atributos, prompts y configuración declarada: arXiv:2602.02582v1 pp. 4-6, Section 3 and Table 1
  • RQ1 como síntesis y resultados de equidad: arXiv:2602.02582v1 pp. 5-8, Sections 4.1-4.2, Tables 2-3 and Figures 3-4
  • Amenazas, conclusión y Big Five como futuro: arXiv:2602.02582v1 pp. 8-9, Sections 4.3-5
  • Fórmulas, PAFS, datasets y tabla extendida: Official Appendix.pdf, all 9 pages visually inspected, especially Equations 4-10 and Tables V-VIII
  • Código, configuración, muestras, parser y valores liberados: Official repository commit 3c5ff5e, ASE_Fairness Source Code.zip: run.py files, launchers, process.ipynb, sst_json.json, raw CSVs and result CSVs
  • Informe integral de validez y reproducibilidad: reports/verification/article-223-uncertainty-fairness-personality-validity-and-artifact-audit.json