Skip to content

Simone-One/PickONE-Library-AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

PickONE-Library-AI

Progetto sperimentale open source: "PickONE Library AI" un sistema di gestione della libreria che consiglia agli utenti, in base al loro profilo, i libri più compatibili.

Sistema di Raccomandazione Avanzato per Libri

Motore di raccomandazione locale, dinamico e trasparente progettato per offrire proposte di lettura personalizzate tramite AI. Utilizza embedding multipli, feedback utente, validazione LLM e moderne tecniche di ranking e diversificazione.


Indice


Funzionalità Principali

  • Calcolo compatibilità avanzato: analisi multi-dimensionale tra utente e libro usando embedding del profilo ideale di lettura, stile di scrittura e caratteristiche extra (mood, complessità, trame-temi).
  • Recensioni pesate: ogni rating dell’utente influisce dinamicamente sulle raccomandazioni future grazie a una funzione che valorizza il feedback negativo e bilancia la forza di quello positivo.
  • Validazione LLM e human-in-the-loop: AI generativa per audit casuali delle compatibilità proposte; raccolta di feedback manuale dagli utenti.
  • Diversificazione e serendipity: raccomandazioni mai ripetitive, sempre almeno una sorpresa!
  • A/B testing e contextual bandit: strategie di ranking testate in parallelo per ottimizzare precisione e soddisfazione utente (parametri e pesi adattati automaticamente).
  • Explainability: spiegazione dettagliata per ogni suggerimento.
  • Gestione cold start: questionario iniziale per raccogliere preferenze e avviare il profilo utente.
  • Temporal dynamics: il sistema adatta progressivamente raccomandazioni ai cambi di gusti nel tempo.

Installazione

  1. Installa Ollama:

ollama serve

  1. Scarica il modello embedding:

ollama pull embeddingemma o ollama pull qwen3embedding:4b

  1. Esegui il sistema:

python3 PickONE_Library_AI.py


Come Funziona il Calcolo della Compatibilità

  • Embedding Multipli
  • Ogni utente e libro sono descritti da 3 vettori:
  • Profilo di lettura ideale (temi, target, mood)
  • Stile di scrittura (linguaggio, ritmo, complessità)
  • Caratteristiche extra (mood, ambientazione, lessico tematico)
  • Pesatura dinamica
  • Recensioni negative penalizzano fortemente libri simili, positive danno un boost limitato (mai 100%).
  • Calcolo matematico
  • Compatibilità attraverso la media pesata delle similarità del coseno tra i vari embedding.

Flusso di Raccomandazione Intelligente

  1. Raccolta embedding utente (profilo/stile/features)
  2. Pre-filtraggio veloce
  3. Calcolo compatibilità + penalità e bonus dinamici
  4. Multi-stage filtering: diversificazione e serendipity
  5. A/B testing su parametri di ranking
  6. Contextual bandits per adattamento continuo
  7. Re-ranking finale con preferenze temporali, popolarità e novità

Gestione del Feedback e Validazione

  • Validazione LLM: audit periodici (es. 10%) con AI generativa che verifica coerenza della raccomandazione.
  • Human feedback: ogni utente può votare se la compatibilità è corretta (operatore umano può correggere embedding e sistema).
  • Log centrale: tutto tracciato per auditing e miglioramento.

Tecniche di Ranking e Diversificazione

  • Evita “filter bubble” con controllo della similitudine interna fra libri raccomandati
  • Sempre almeno una raccomandazione “sorpresa”
  • Bilanciamento tra compatibilità, feedback, popolarità, novità

Cold Start e Adattività

  • Questionario iniziale di 3-5 domande per nuovi utenti (mood, ambientazione, ritmo, ecc.)
  • Profilo utente aggiornato progressivamente in base alle letture e voti

Requisiti Tecnici

  • Python 3.8+
  • requests, numpy
  • Ollama con modello embedding compatibile (embeddinggemma o simili)
  • Consigliato hardware con almeno 8GB RAM

Nota sulla Privacy

Tutti i dati e le elaborazioni restano in locale: nessuna informazione utente o embedding lascia il tuo computer.


Per suggerimenti, miglioramenti o bug apri una issue o crea una pull request!

About

Progetto sperimentale open source: "PickONE Library AI" un sistema di gestione della libreria che consiglia agli utenti, in base al loro profilo, i libri più compatibili.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages