TdP-prove-finali / Introduzione

Istruzioni e documentazione per la proposta e lo svolgimento delle prove finali relative al corso di Tecniche di Programmazione.
http://bit.ly/tecn-progr
Apache License 2.0
4 stars 13 forks source link

Sistema software per raccomandazione serie TV e film #77

Closed TheSt1ny closed 2 years ago

TheSt1ny commented 2 years ago

Studente proponente

s269631 Okpekpe Destiny Jarymaya

Titolo della proposta

Sistema software per raccomandazione serie TV e film

Descrizione del problema proposto

L'applicazione ha come obiettivo quello di suggerire possibili film o serie TV all'utente. Inserendo parametri come genere di interesse, tempo a disposizione, attori e registi preferiti e simili, sarà possibile ottenere un elenco di m (altro parametro) opere cinematografiche che rispettino i criteri. Ci sarà inoltre una sezione più personale che, in base alle precedenti scelte effettuate, potrà provare a consigliare serie TV o film che potrebbero interessare all'utente ( un approccio simile alle AI di amazon, youtube ecc).

Descrizione della rilevanza gestionale del problema

Il problema cerca di ottenere una sempre più precisa profilazione dell'utente. In questo modo può con sempre più precisione consigliare, ed eventualmente far acquistare, un determinato prodotto. Per problemi di questo tipo, relativi cioè alla fruizione di servizi legati all'intrattenimento, diventa cruciale sapere cosa vuole l'utente, poichè si tratta di bisogni non necessari. Lo stesso modello può essere applicato anche ad altri ambiti più strategici come quelli dell'ecommerce e della pubblicità.

Descrizione dei data-set per la valutazione

Netflix global search database Disney plus database Amazon prime video database Moviedb

Descrizione preliminare degli algoritmi coinvolti

Problema di ricerca di serie TV e film dati differenti vincoli Problema di ottimizzazione per selezionare solo i risultati migliori Regressione per la categorizzazione dell'utente Ottimizzazione con gradiant descent per la ricerca di minimi( possibilmente globali)

Descrizione preliminare delle funzionalità previste per l’applicazione software

Ci sarà una schermata dal quale sarà possibile inserire parametri quali: Tipologia (film e/o serie TV), genere, casa produttrice, durata, attori e personaggi presenti ecc Una volta impostati i parametri, verranno visualizzati a schermata una serie di prodotti che rispettano i vincoli. Una volta scelta, l'opera potrà essere fruita separatamente. In un'altra pagina si potrà invece avere un elenco di serie TV e film che verosimilmente saranno apprezzati dall'utente (basandosi sulle sue precedenti scelte) in ordine di vicinanza al profilo dell'utente. Sarà anche possibile rimuovere da questa schermata eventuali scelte indesiderate (il predittore della regressione potrebbe non convergere e portare a consigli sbagliati). Ogni utente avrà una sua pagina personale con password e usarname.

fulcorno commented 2 years ago

Il problema è interessante e rilevante per il corso.

Vedo però 2 problemi, che ti chiederei di verificare prima di procedere con la proposta:

  1. i database citati sono liberamente scaricabili e utilizzabili?
  2. gli algoritmi proposti sono diversi da quelli trattati nel corso, ed in particolare sono molto più complessi. Prevedi di usare delle librerie specifiche? le conosci già?

Attendo chiarimenti su questi 2 punti, grazie

TheSt1ny commented 2 years ago

Per il primo punto ho trovato su kaggle e qui: https://www.imdb.com/interfaces/. Si tratta datasets aggiornati giornalmente che contengono varie informazioni su film, serie tv ecc e nella documentazione è specificato che sia tutto open source e legale per uso personale. Sto avendo problemi nella conversione da .tsv a .csv e da quest’ultimo a .sql ma dovrei riuscire ad ottenere tutte le informazioni di cui avrei bisogno. I dataset sono molto grandi ma con il connection pooling tutto dovrebbe funzionare in Java.

Per quanto riguarda il secondo punto, la parte grossa del progetto (trovare i film in base ai parametri) riguarderà comunque algoritmi di ricerca ed ottimizzazione (poiché verranno visualizzati gli N con più votazioni positivi). La parte dei film “consigliati” è più una mia sfida personale (nel caso la considerasse eccessiva posso anche rimuovere questa parte). Utilizzerei le ricerche dell’utente specifico e di utenti fittizi (ognuno dei quali ha un ben definito pool di scelte già fatte) ed il modello dovrebbe cercare di far rientrare l’utente in una delle categorie fittizie. Pensavo di utilizzare WEKA, che ha i metodi per problemi di classificazione, e AFAIK, per l’algebra lineare, poiché ho più familiarità.

TheSt1ny commented 2 years ago

Come le avevo anticipato a lezione, non sono più interessato a questo progetto. Ho già aperto il nuovo.