UNIVERSITÀ DELGI STUDI DI MILANO

Pagina creata da Filippo Giunta
 
CONTINUA A LEGGERE
UNIVERSITÀ DELGI STUDI DI MILANO
UNIVERSITÀ DELGI STUDI DI MILANO

           FACOLTÀ DI SCIENZE E TECNOLOGIE
         Corso di Laurea Triennale in Informatica

 Valutazione del recommender system NETT-IRS

Relalore: Prof. Simone Bassis

Correlatore: Dott. Francesco Epifania

                                        Tesi di Laurea di:

                                                Hao Quan

                                         Matricola: 774871

               Anno Accademico 2013/2014

                            1
UNIVERSITÀ DELGI STUDI DI MILANO
RINGRAZIAMENTI
Al termine di questa lunga e impegnativa esperienza credo sia doveroso rivolgere alcuni ringrazia-
menti alle persone che, in modo diverso, mi sono state vicine.

Innanzitutto ringrazio il Professor Simone Bassis: una guida indelebile. Oltre al suo immancabile
supporto come docente durante i miei studi, lo ricorderò anche come amico durante il mio soggiorno
in Italia. Non riesco davvero ad immaginare il raggiungimento di questo traguardo senza il suo
prezioso contributo umano e accademico.

Ringrazio il Dottor Francesco Epifania per tutto quello che mi ha insegnato e la sua disponibilità
in qualità di supervisore.

Ringrazio la mia famiglia: lontana, decisamente lontana, ma sempre con me.        "L' informatica"
avvicina le persone: questo e' un merito che non le si può negare.

Ringrazio Yang Haiyan, mi ha sempre incoraggiato.

Ringrazio Marsel Caka, un amico con cui ho condiviso tante ore di studio e che ha reso più leggera
e piacevole la fatica.

Ringrazio Enzo Agoglia, un amico italiano che potrebbe diventare amico "italo-cinese" semmai un
giorno dovesse trasferirsi in Cina come desidererebbe.

Ringrazio da ultimo, ma non certo per ordine di importanza, le tante persone deliziose che ho incro-
ciato durante questo cammino indimenticabile e che non menziono perché le pagine per contenerle
sarebbero troppe.

                                                 2
UNIVERSITÀ DELGI STUDI DI MILANO
Contents
1 Introduzione                                                                                          5

2 Recommender System e metodologie per la loro valutazione                                              6
  2.1   Recommender System        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    6

  2.2   Algoritmi di Raccomandazione        . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    8

        2.2.1   Sistemi Collaborativi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      8

        2.2.2   Sistemi Content-based       . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    9

        2.2.3   Sistemi Knowledge-based       . . . . . . . . . . . . . . . . . . . . . . . . . . . .    9

        2.2.4   Sistemi Ibridi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    10

        2.2.5   Sistemi Community-based         . . . . . . . . . . . . . . . . . . . . . . . . . . .   11

        2.2.6   Sistemi Demographic-based . . . . . . . . . . . . . . . . . . . . . . . . . . .         12

  2.3   Mobile Recommender System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           13

        2.3.1   Context-aware recommendation . . . . . . . . . . . . . . . . . . . . . . . . .          13

        2.3.2   Proximate selection     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   13

        2.3.3   Privacy   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   13

  2.4   Sistemi di raccomandazione ed E-learning        . . . . . . . . . . . . . . . . . . . . . . .   14

        2.4.1   Algoritmi   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   14

        2.4.2   Design del sistema    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   15

  2.5   Valutazione dei Recommender System          . . . . . . . . . . . . . . . . . . . . . . . . .   16

        2.5.1   Qualità   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   16

        2.5.2   Performance     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   21

3 IRS-NETT(Interactive Recommender System di NETT)                                                      22
  3.1   Progetto Nett . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     22

        3.1.1   Sondaggio sulle esigenze di formazione . . . . . . . . . . . . . . . . . . . . .        23

        3.1.2   Risultati del sondaggio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     23

  3.2   IRS-Nett . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    24

        3.2.1   Algoritmi NETT-RS: tre fasi principali        . . . . . . . . . . . . . . . . . . . .   24

        3.2.2   NETT-RS: Architettura a tre livelli       . . . . . . . . . . . . . . . . . . . . . .   25

  3.3   Confronto tra IRS-Nett e gli altri . . . . . . . . . . . . . . . . . . . . . . . . . . . .      29

                                                   3
UNIVERSITÀ DELGI STUDI DI MILANO
4 Valutazione di IRS-Nett                                                                               30

  4.1   Metodologia di valutazione      . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   30

  4.2   Perchè Mit OpenCourseWare         . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   31

  4.3   MIT OCW e il dataset di NETT          . . . . . . . . . . . . . . . . . . . . . . . . . . . .   35

        4.3.1   Crawler   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   37

  4.4   Valutazione NETT-IRS        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   38

  4.5   Questionario    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   39

        4.5.1   Qualità del sistema percepita . . . . . . . . . . . . . . . . . . . . . . . . . .       39

        4.5.2   Beliefs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   40

        4.5.3   Behavioral Intentions     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   40

        4.5.4   Indirect feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     40

        4.5.5   Possibile domande questionario: . . . . . . . . . . . . . . . . . . . . . . . . .       40

5 Conclusione e sviluppi futuri                                                                         42

6 Bibliograa e Sitograa                                                                               43

                                                    4
UNIVERSITÀ DELGI STUDI DI MILANO
1 Introduzione
La presente Tesi di Laurea si colloca all'interno del laboratorio di WebCentrica.          In questo lab-
oratorio si fanno delle valutazione, progettazione e sviluppo di sistemi interattivi multimediali e
multicanali per l'arricchimento di conoscenza, valutazione dei Sistemi di Raccomandazione.             Il
laboratorio volge progetti nel settore ICT sia in ambito accademico che in ambito aziendale.

In questa tesi si è occupato dei Sistemi di Raccomandazione e la sua valutazione, sopratutto sono
stati analizzati i sistemi di raccomandazione nell'ambito e-learning.     Prima di parlare dei RS in
ambito e-learning si sono analizzati diversi algoritmi di raccomandazione partendo da quelli più
classici come quelli Collaborative-based e Content-based per poi parlare dei Knowledge-based,
Community-based e Demographic-based. Poi si è analizzato anche l'algoritmo utilizzato per fare
IRS-NETT ovvero quello ibrido mischiando in questo caso i       Collaborative-based   e   Content-based.

Abbiamo analizzato anche i Mobile Recommender System visto che siamo nel era dei smartphone
non potevamo ignorare questo fatto, anche se lo abbiamo analizzato, purtroppo questo tipo di RS
non è stato analizzato approfonditamente visto che non entrava nei limiti della tesi. Non potevamo
assolutamente lasciare fuori i sistemi di raccomandazione nell'ambito e-learning per il semplice
fatto che fa parte del core del lavoro di questa tesi.

Abbiamo fatto una valutazione generale dei recommender system dove ci siamo focalizzati di più
sui due tipi di metriche per valutarli, le misure per valutare la qualità e le misure per valutare le
performance. Le prime analizzano i suggerimenti e le seconde il RS come sistema. Sulle metriche
basate sulla qualità possiamo elencare l'accuratezza che è la metrica usata anche da IRS-NETT,
copertura che è una metrica abbastanza importante nel campo dei RS. Poi arrivano anche le altre
che non sono meno importanti come condenza, ducia, novelty, serendipity chè è forse la metrica
più interessante e dicile da calcolare, diversity, utility, risk, robustezza, adaptivity e scalability.
Invece le metriche per calcolare le performance dei RS possiamo elencare il tempo di risposta del
sistema, requisiti di memoria e la complessità computazionale.

Al capitolo tre veniamo a parlare del progetto NETT che è un progetto europeo che si basa
sulla creazione di una piattaforma nalizzata allo scambio di contenuti, esperienze, metodi tra
insegnanti di oggi e di domani responsabili dell'educazione all'imprenditorialità.Prima di iniziare
il lavoro sono stati fatti dei sondaggi per vedere al meglio le esigenze degli utenti futuri. L'idea
principale è quella di motivare l'uso di un RS in termini di riduzione della grande quantità di
risorse disponibili, risparmio di tempo nella ricerca di materiale e la possibilità concreta di creare
un corso di alto livello e ben strutturato e ben organizzato, tutto ciò in conformità con le esigenze
del docente stesso. Architettura di NETT-RS è a tre livelli :

  1. User Web Interface

  2. Switcher Server

  3. Recommender Server

E' stato fatto anche un confronto con altri sistemi di raccomandazione ovvero con quelli ibridi
(collaborative-based e content-based).

Arrivando al capitolo quarto abbiamo analizzata la metodologia di valutazione usata per questo al-
goritmo ovvero quella sull'accuratezza e abbiamo analizzato MIT OpenCourseWare chè è il dataset
scelto per poter costruire poi il dataset che utilizzerà NETT. Il dataset di NETT sarà composto
da corsi,moduli e risorse e ognuna di loro avrà dei metadati.

                                                   5
UNIVERSITÀ DELGI STUDI DI MILANO
2 Recommender System e metodologie per la loro valutazione
       Quello che l'informazione consuma è piuttosto ovvio: consuma l'attenzione dei suoi
          destinatari. Dunque un'abbondanza di informazione crea povertà d'attenzione, ed
          il bisogno di scegliere come distribuire in maniera eciente questa attenzione tra la
          sovrabbondanza di informazioni che potrebbero consumarla

                                                                                H.A. Simon

La diusione pervasiva delle tecnologie informatiche, e la crescente diusione dei contenuti digitali
orono agli utenti la possibilità di fare del media digitale uno strumento da utilizzare in ogni
contesto e in ogni occasione e, lo promuovono a dispositivo che può essere d'ausilio alla vita
dell'utilizzatore a trecentosessanta gradi. Ciò rende il problema della gestione e dell'organizzazione
di questa mole informativa una questione quantomai prioritaria, che cerca soluzioni nuove e che
facilitino l'esperienza utente.   I sistemi di raccomandazione si inseriscono in questo scenario: ci
imbattiamo sempre più spesso in loro quando si ha a che fare con siti di e-commerce, nascosti da
etichette come:

Forse ti piacerebbe comprare anche..., ma è molto comune anche incontrarli in ambiente enorme-
mente diversi, nella forma di raccomandazioni musicali, cinematograche, di pagine web, o anche
persone. Insomma, in ogni situazione in cui possa aver valore un consiglio. Il grande merito di
questi sistemi è infatti quello di fornire a chi li utilizza uno strumento per valutare degli oggetti
prima di spendere denaro o semplicemente tempo su di essi. È da notare come in un certo senso
l'uso di questo tipo di strumento, che implicitamente modella il meccanismo naturale di consigli
tra gli uomini, porti con se una forte connotazione sociale, oltre alla più evidente valenza econom-
ica: al di là del contenuto delle raccomandazioni, il semplice fatto che siano mantenuti dati su
diversi utenti e sulle loro preferenze rende possibile la scoperta di relazioni (implicite o esplicite)
tra persone, fondate sui loro gusti comuni. Non è dunque improprio dire che ciascun sistema di
Raccomandazione costruisce o, ancor meglio, rivela una rete di legami tra persone, una rete sociale.

2.1     Recommender System

Reccommender System (RS) o Sistemi di Raccomandazione in italiano, è ogni sistema che produce
raccomandazioni individuali come output o ha l'eetto di giudare l'utente nella strada di person-
alizzazione di oggetti interessanti e utili fra una miriande di possibilità.   Tra le altre utilità dei
Reccommender System possiamo elencare anche:

   •   Suggeriscono interazioni con nuovi item analizzando le passate interazioni.

   •   Arontano ecacemente l'information overload.

   •   Forniscono valore aggiunto per utenti,imprese e relazioni fra loro.

I RS si occupano di fornire agli utenti consigli personalizzati e di loro probabile interesse riguardo
un set di oggetti appartenenti ad uno specico dominio (e.g. musica, cinema, libri), a partire dai
dati di cui dispone: informazioni su utenti e oggetti.

Nella tabella sotto vediamo alcuni delle principali funzioni che un RS può avere sia dal punto di
vista di un provider che ha dei prodotti da vendere e l'utente che va a controllare e magari anche
comprare i prodotti.

                                                   6
UNIVERSITÀ DELGI STUDI DI MILANO
Una denizione formale del problema delle raccomandazioni può essere espressa in questi termini:

Sia C l'insieme degli m∈N utenti del sistema, ed I l'insieme degli n∈N oggetti che possono essere
raccomandati.

La cardinalità degli insiemi C ed I può essere molto alta, ed i valori m ed n possono essere dell'ordine
delle centinaia di migliaia di unità.

Si denisce inoltre funzione di utilità u : C×I→R. Essa misura quanto un dato oggetto i sia utile
ad un determinato utente c.

R è un insieme totalmente ordinato, ed i suoi elementi rappresentano quantitativamente l'utilità
di un'oggetto per un utente.

L'utilità di un oggetto è tipicamente rappresentata da una valutazione (es. numerica) che un utente
ha assegnato o assegnerebbe ad un oggetto. Date queste denizioni, si vuole scegliere per ciascun
utente c∈C, l'oggetto I'∈I che massimizza la funzione di utilità per l'utente.

Il problema centrale delle raccomandazioni sta nel fatto che la funzione u, non è denita su tutto
lo spazio C×I : nelle applicazioni tipiche un utente non esprime mai preferenze su ogni oggetto del
catalogo a disposizione; per esempio, in un sistema di e-commerce il voto di un utente è rappre-
sentato da un valore binario (0 se l'oggetto non è stato acquistato, viceversa 1): è quindi dicile
assumere che un utente possa aver acquistato tutti gli oggetti in vendita; e nel caso improbabile in
cui lo avesse fatto, le raccomandazioni gli sarebbero del tutto inutili.

I Recommender Systems devono essere perciò in grado di stimare i valori della funzione di utilità
u anche nella parte dello spazio dei dati in cui non è denita, estrapolandoli a partire dai punti di
C×I in cui essa è nota: questo è anche il compito più problematico. In altre parole l'obiettivo è
fare una predizione sul voto che un determinato utente darebbe ad un oggetto del sistema che non
ha ancora valutato.

                                                   7
UNIVERSITÀ DELGI STUDI DI MILANO
2.2      Algoritmi di Raccomandazione

Le tecniche attraverso le quali i diversi sistemi predicono voti sconosciuti a partire da quelli
conosciuti, ed il modo in cui queste predizioni sono sfruttate e rese fruibili all'utente nale, rapp-
resentano due fondamentali aspetti alla luce dei quali caratterizzare i sistemi stessi.

Prendendo in considerazione il primo aspetto come criterio di classicazione, emergono tre grandi
categorie di Sistemi di raccomandazione:

   •    Sistemi Collaborativi: All'utente sono raccomandati oggetti che sono piaciuti ad altre persone
        con gusti simili.

   •    Sistemi Content-based:     All'utente sono raccomandati oggetti simili a quelli che gli sono
        piaciuti nel passato.

   •    Sistemi Knowledge-based:      All'utente sono raccomandati oggetti sulle speciche esigenze
        dell'utente.

   •    Sistemi Ibridi: Combinano approcci content-based e collaborativi.

   •    Sistemi Community-based: All'utente sono raccomandati oggetti che sono piaciuti ad altre
        persone della stessa rete sociale.

   •    Sistemi Demographic-based: All'utente sono raccomandati oggetti sulle speciche esigenze
        demograche dell'utente.

2.2.1     Sistemi Collaborativi

Le reccomandazioni si basano sulle valutazioni che gli utenti fanno sull'articolo, raccolte in una
user-item rating matrix.

I Sistemi Collaborativi usano dierenti tecniche di implemetazione che si dividono in due categorie:

   •    Memory-based: metodo che usa l'intera matrice o una parte di essa.

   •    Item-based (item-item): due articoli sono simili se l'utente ne dà una valutazione simile.Il
        sistema suggerisce l'articolo con le caratteristiche più simili a quelle dell'articolo a cui l'utente
        ha dato la valutazione migliore.

   •    User-based (user-user): due user sono simili se danno valutazioni concordi. Il sistema fa una
        raccomandazione basandosi sulle opinioni espresse dallo user più simile.

                                                      8
UNIVERSITÀ DELGI STUDI DI MILANO
•    Model based: i dati presenti nella matrice utente-articolo vengono rielaborati da algoritmi di
        machine learning e data minig(algoritmi di clustering).

Le problematiche dei Sistemi Collaborativi:

   •    Cold Start: al momento del primo utilizzo del sistema non ci sono abbastanza utenti con cui
        cercare delle similarità.

   •    First rater problem: i nuovi articoli, se non sono ancora stati valutati, non possono essere
        proposti a nessun utente.

   •    Data sparsity:   ipoteticamente si dovrebbe avere una matrice completa con dati di tutti
        gli utenti e di tutti gli articoli.   Gli utenti dovrebbero essere molto attivi (rating), ma è
        impossibile una copertura del 100% degli utenti e degli articoli.

2.2.2     Sistemi Content-based

I Sistemi Content-based raccolgono informazioni sia relative all'articolo che allo utente ( i sistemi
collaborativi invece si basano solo sul rating degli user).

   •    Item representation: gli articoli vengono descritti con set di proprietà denite manualmente
        o estratte automaticamente dalle caratteristiche dell'articolo.

   •    User prole: raccoglie informazioni che rispecchiano gli interessi e le caratteristiche dell'utente.
        Le informazioni sono raccolte implicitamente(e.s social network) o esplicitamente ( dati
        dichiarati volontariamente dell'utente).

Le problematiche dei Sistemi Content-based:

   •    Lack of infos:   in alcuni ambiti di interesse potrebbero mancare informazioni relative un
        determinato articolo o potrebbero esistere contenuti dicili da analizzare.

   •    User prole: possono essere suggeriti solo articolo il cui contenuto sia associabile ad un prolo
        utente. Se l'utente ha delle preferenze che non esprime, articoli inerenti a questo interesse
        non verranno raccomandati.

2.2.3     Sistemi Knowledge-based

Possiamo elencare due tipologie di Recomender System Knowledge-based:

   •    Case-based: viene stimato quanto le necessità dell'utente (descrizione del problema) comba-
        cino con le raccomandazioni (soluzione del problema). Il risultato della stima è un punteggio
        (similary score) che rispecchiano l'eettiva utilità del RS.

   •    Constraint-based: simili ai case-based ma sfruttano conoscenze predenite che contengono
        regole speciche inerenti il rapporto tra user e item(e.s SPOTIFY).

Nella tabella sotto vediamo i pro e i contro dei sistemi visti n'ora:

                                                      9
UNIVERSITÀ DELGI STUDI DI MILANO
2.2.4     Sistemi Ibridi

Con i cosidetti Sistemi Ibridi si è tentato di rispondere ai problemi di entrambi gli approcci Content-
based o Collaborativi utilizzando contempora- neamente le due tecniche. Gli algoritmi content-
based promettono, infatti, di fornire raccomandazioni accettabili anche in casi in cui i dati sono
minimi, mentre quelli collaborativi riescono a rispondere alla necessità di generare raccomandazioni
non ovvie e sempre interessanti.

Esistono due distiniti approcci con cui è gli algoritmi ibridi possono essere realizzati:

    •   Un'implementazione separata di algoritmi content-based e collaborativi, per poi utilizzare
        come risultato nale una combinazione di predizioni provenienti da entrambi gli approcci.

    •   Lo studio di un'unica implementazione che riesca a fondere in uno tecniche basate sui con-
        tenuti e collaborative.

Il primo si rivela valido in casi in cui sia preferibile usare, a seconda delle circostanze, una tecnica
piuttosto che un altra, o addirittura in casi in cui si voglia denire con un parametro quanto la rac-
comandazione debba essere collaborativa e quanto content-based. Il secondo, invece, non permette
un tuning specico, ma ha il vantaggio di essere, in generale, di più semplice implementazione
fornendo, comunque, risultati comparabili con l'altro tipo di approccio.

    •   VANTAGGI: I sistemi ibridi, come appena descritto, presentano in parte tutti i vantaggi dei
        sistemi Content-based e Collaborativi, sebbene ognuno di essi sia eettivamente limato in
        quanto inserito in un approccio non puro.

    •   Limiti dei Sistemi Ibridi: Il tentativo, peraltro ben riuscito, di porre dei paletti alle limitazioni
        di entrambi i modelli che i sistemi ibridi si fanno obiettivo di fondere, ha come ovvio prezzo
        da pagare quello di smussare anche i vantaggi derivanti dall'uno e dall'altro approccio!

Sopra abbiamo visto l'implementazione dei sistemi ibridi mettendo solo Content-based e Collabo-
rativi come due Recommender System per realizzarli ma esistono anche approcci generali di Sistmi
ibridi:

    •   Monolytic hybridation: i dati di due tipologie di RS vengono uniti.

                                                      10
•    Parallel hybradation: i risulati di due tipologie di RS vengono uniti.

   •    Pipeline hybridation: un tipo di RS (solitamente Knowledge-based) elabora i propri dati e
        esclude gli item che non matchano con gli interessi dell'utente. I dati vengono elaborati su
        un'altra tipologia di RS per poi produrre l'output.

2.2.5     Sistemi Community-based

I social network orono connessioni di diverse dimensioni, le persone possono essere amici tra
di loro. Queste persone, amici tra di loro possono avere interessi comuni e possono classicare i
prodotti in maniera uguale. I sistemi community-based possono essere usate per dare una soluzione
al Cold Start Problem, e prendendo come rating il risultati degli amici per l'utente interessato.

                                                   11
2.2.6     Sistemi Demographic-based

Per spiegare questo sistema prendiamo l'esempio dei turisti. Maggior parte dei RS esistenti per
turisti applicano gli approcci knowledge-based and content-based, i quali hanno bisogno dello
storico dei rating o informazioni extra e sorono dal Cold Start Problem. Il Demographic-based
categorizza i turisti usando i loro dati demograci e poi dà delle raccomandazioni basata sui dati
demograci forniti.

Il vantaggio:

   •    Non ha più bisogno dello storico dei rating e delle informazioni extra.

   •    Cosi un nuovo turista può avere delle raccomandazioni precise.

Concentrandosi sui rating di Trip Advisor, possiamo utilizare diversi metodi di machine learning su
di esse per la produzione di previsione di rating. Mischiando il rating e le informazioni demograche
dei turisti possiamo produrre delle raccomandazioni con maggiore precisione.

                                                  12
2.3      Mobile Recommender System

Un'area di ricerca in crescita nell'area di Recommender System è l'area di Mobile Recommendere
System. Un'esempio di mobile recommender system è la geolocalizzazione del utente.

2.3.1     Context-aware recommendation

Il contesto è fondamentale:       qualsiasi informazione su tutto ciò che circonda l'utente, qualsiasi
contenuto rilevante per l'interazione tra l'utente e l'ambiente.

Gli aspetti principali sono:

   •    Posizione dell'utente

   •    Persone con cui si trova l'utente

   •    Risorse nelle vicinanze

2.3.2     Proximate selection

La geolocalizzazione è fondamentale nella Proximate selection: elementi in prossimità della po-
sizione dell'utente sono enfatizzati e resi più facili da visualizzare e quindi da scegliere.

Ciò comporta due variabili:

   •    Geolocalizzazione

   •    Selezione di elementi da visualizzare ( preferenze dell'utente)

2.3.3     Privacy

Un collo di bottiglia per i mobile recommender system è la privacy: l'interoperibilità degli utenti
può essere limitata. Paura della violazione della privacy. La domanda che potrebbe fare è : Perchè
dovrei darti i miei dati personali?

   •    Non voglio che l'applicazione abbia accesso ai miei dati

   •    Non voglio condividere con l'applicazione la mia posizione

   •    Ho paura a immetere le mie preferenze all'interno di un sistema che non so se eettivamente
        mi potrà essere utile.

Tuttavia la maggior parte delle app fa proprio adamento sulla geolocalizzazione dell'utente.

Per cui se l'utente non vuole condividere la propria posizione, vi è data la possibilità di inserire
un indirizzo attorno al quale cercare servizi ed elementi utili richiesti.     Così facendo anche gli
utenti inpauriti dalla loro privacy possono usufruire dalle potenzialità dei Recommender System
che orono le applicazioni.

                                                    13
2.4      Sistemi di raccomandazione ed E-learning

La popolarità del e-learning nei nostri giorni ha causato una crescita esponenziale di risorse disponi-
bili nella rete e parallelamente, una maggiore dicoltà nella ricerca e selezione delle risorse. I lettori
che sono interessati ai corsi oerti dalle diverse piattaforme e-learning sono obbligati alla ricerca
innita che li porta magari anche sui percorsi un pò fuori dal motivo vero e proprio della ricerca.
Il successo della implementazione dei sistemi di raccomandazione nel ambito del e-commerce ha
creato un grande interesse nelle Università e negli altri ambienti scientici l'implementazione dei
raccomander system anche nel ambito di e-learning. Questa implementazione ha portato con se
anche diverse teorie per far si che il RS sia abbastanza mirato da schiacciare via i fantasmi del
passato in questo ambito, dico i fantasmi perchè prima per trovare dei corsi buoni ed ecienti
bisognava spendere ore ore davanti al computer.

A dierenza dei tradizionali motori di ricerca, i RS possono coniugare le risorse che rispon-
dono a speciche richieste dell'utente con quelle di possibile interesse perché implicitamente col-
legate ad esse. La denizione di una tecnica di raccomandazione per l'e-learning richiede, però,
un'approfondita analisi di tutte le dimensioni coinvolte nel processo di apprendimento, che vanno
dall'obiettivo didattico delle risorse, alle caratteristiche cognitive dello studente.

Questo paragrafo descrive brevemente i Sistemi di Raccomandazione in ambito E-learning.

2.4.1     Algoritmi

I sistemi di raccomandazione basati sulla correlazione dei lettori (      Learner-to-Learner       )raccoman-
dano corsi ai lettori basandosi sulle correlazioni tra i lettori presenti e quelli del passato che hanno
studiato nella piattaforma di E-learning online.          Questa tecnologia è conosciuta come abbiamo
già visto nei paragra di questo capitolo,      Collaborative Filtering   ma in questo caso applicata in
ambito E-learning. Questo algoritmo è classicato come tecnica di ltraggio di informazioni che
usa opinioni di gruppi per raccomandare agli individui singoli.

In questo ambito la tecnica viene implementata in due maniere. La prima, gli utenti votano i corsi
in maniera esplicita, in questo caso il sistema va verso la maniera manuale delle raccomandazioni.
Quella di prendere la classica dei corsi più votati e poi raccomandare agli utenti. La seconda, gli
utenti guardano i corsi e il sistema memorizza il comportamento dei lettori in relazioni ai corsi o
video corsi. In questo caso il sistema è tutto automatizzato, perchè trasforma tutto quello che ha
memorizzato da un rating implicito a quello esplicito. Praticamente registrando e dando un voto
ai corsi visitati.

Il punteggio dei lettori può essere mostrata come una matrice         m•n      come mostrato nella tabella
sotto, dove  m è il numero degli utenti, n     è il numero dei corsi e Rj,k    rappresenta il punteggio del
corso   Corsok dato dal utente j .

Il passaggio più importante nel RS    Collaborative Filtering based è quella di calcolare la similarità
tra i lettori come si potrebbe fare per calcolare il   proximity-based neightborhood tra un utente
specico e un numero di utenti che hanno la stessa opinione. Il processo della creazione dei cluster
è il modello della costruzione per un algoritmo di RS.Il principale scopo della creazione di questi
cluster è di trovare, per ogni utente   u,   una lista ordinata di l'utenti   N = {N1 , N2 , N3 , ..., Ni }   tale
che   u∈
       /N     e sim(u,N1) è massima, sim(u,N2) è la massima prossima e cosi via.

                                                     14
2.4.2     Design del sistema

Di solito il sistema di raccomandazione si progetta indipendentemente dal sistema di e-learning,
per ridurre la carica del sito di e-learning. Comunque la collaborazione tra il RS e il sistema di
e-learning è trasparente al utente.      Quando un utente fa una ricerca, gli viene fornita la pagina
delle raccomandazioni, non sapendo la tecnologia dell'implementazione che sta sotto. L'unione del
servizio di e-learning e RS dà un sistema di raccomandazione personalizzato, e la relazione tra i
servizi è mostrata nella gura sotto:

Come possiamo vedere, la parte centrale del servizio è il sistema di raccomandazione. Il processo
principale e diviso in cinque step:

   •    Data Collection:   recuperando i dati storici, interessi degli utenti e le pagine o corsi più
        frequentati. I log dell'accesso, informazioni sui corsi e la classica dei corsi sono le fonti dei
        dati primari.

   •    ETL ( Extract, transform, load): L'estrazioni dei dati è determinante per la raccomandazione,
        dati dierenti sono processati per diverse richieste.

   •    Model Generation: Secondo i requisiti di raccomandazione , i modelli sono generati utiliz-
        zando i corrispondenti algoritmi di raccomandazione , e sono memorizzate nel database dei
        modelli.

   •    Conguration: Dierenti modelli e algoritmi sono deployate in diverse strategie di raccoman-
        dazione per supportare diversi tipi di servizi.

   •    Service Supply: I RS analizzano le richieste degli utenti, eseguono gli algoritmi corrrispon-
        denti e poi restituiscono il risultato all'utente.

I processi descritti sopra sono in constante circuito e vengono mostrate dalla gura sotto:

La gura sopra mostra l'architettura dei raccomander system nel ambito e-learning.              I moduli
principali dell'architettura sono:

                                                     15
•   Recommendation Models Database: I modelli di raccomandazione sono salvate nel database
          che poi vengono estratte da diversi servizi di raccomandazione. Questo database è gestito dal
          modulo Data/Models Managment, il quale costruisce modelli di raccomandazione multipli
          per generare diversi tipi di raccomandazione.

      •   Recommender System Database: Su questo database vengono salvate le strategie di racco-
          mandazione. Stabiliscono una relazione una-a-una con la macchina delle raccomandazioni, e
          viene gestita dal modulo Recommendation Managemen . Raccomandation Engine carica
          diverse strategie congurate nel Recommendation System Databas e genera le raccoman-
          dazioni.

      •   Recommendation Managment: Questo modulo gestisce le strategie per il                  Recommendation
          Engine     , includendo l'algoritmo della raccomandazione ed il modello nello stesso tempo.
          Controllo la sicurezza sugli utenti e le transazioni, gestisce anche lo stop e lo start del     Engine.
      •   Data/model Management:        Questo modulo gestisce i modelli ed il dataset nel data ware-
          house , creando delle operazioni di CRUD sulle raccomandazioni, caricando, cancellando e
          aggiornando il dataset.

2.5          Valutazione dei Recommender System

Si distinguono due tipi di metriche per valutare un Recommender System: le misure per valutare
la qualità e le misure per valutare le performance. Le prime analizzano i suggerimenti,le seconde
il RS come sistema.

2.5.1        Qualità

Le metriche per valutare le qualità di un Reccomender System sono tante e noi elenchiamo quelle
più note e importanti.

2.5.1.1 Accuratezza
  Le tecniche ideate per quanticare l'accuratezza sono molte, e tra queste possiamo annoverare
le metriche statistiche e la teoria delle decisioni.           Alla prima categoria appartengono la         mean
absolute error          (MAE) e la   root mean squared error             (RMSE) e della seconda possiamo già
citare la ROC sensivity.

      •   Mean Absolute Error (MAE): uno dei metodi per determinare l'accuratezza (o viceversa,l'errore
          di classicazione), è il Mean Absolute Error, che calcola la media della dierenza assoluta
          tra i rating previsti dal RS e la valutazione che successivamente l'utente esprime.

                                                               |pi,j − ri,j |
                                                    P
                                                       {i,j}
                                        M AE =
                                                                 n

dove n è il numero totale di rating su tutti gli user,         Pi,j   è il rating previsto per l'utente i sull'item
j e   ri,j   è il rating eettivo.Più basso è il valore del MAE e migliore è la predizione del rating. A
volte è utile normalizzare tale valore rispetto alla scala utilizzata nel RS specico, in modo da
poter poi comparare sistemi che utilizzano rating minimo (r min ) e massimo (r max )diversi. In tal
caso si calcola la Normalized MAE (NMAE):

                                                          M AE
                                          N M AE =
                                                        rmax − rmin

                                                        16
•    Root Mean Squared Error (RMSE): è la metrica prescelta per stimare la qualità dei RS
           nell'ambito del Netix Prize.

                                                            v
                                                            u1
                                                            u X
                                               RM SE =      t   (pi,j             − ri,j )2
                                                               n {i,j}

dove n è il numero totale di rating su tutti gli user,                pi,j   è il rating previsto per l'utente i sull'item
j e   ri,j   è il rating eettivo.

      •    ROC sensivity: è una misura della potenza di previsione di un RS. Operazionalmente è data
           dalla Area Under the ROC Curve (AUC), letteralmente l'area sotto la curva ROC12.In realtà
           il valore di AUC è quello dell'area sotto la curva ROC soltanto se la previsione è un problema
           con due possibili esiti (problema binario).               In generale la ROC sensivity si calcola con la
           seguente formula:

                                                           S0 − n0 (n0 + 1)/2
                                                 AU C =
                                                                 n0 n1

dove
P          n0   e   n1   sono rispettivamente il numero di previsioni sbagliate e di previsioni corrette,e             s0 =
      ri   , dove        ri   è il rank dell'i-esima previsione positiva nella lista delle previsioni, ordinata per
precisione.

2.5.1.2 Copertura
  La copertura è una misura della percentuale di oggetti per i quali l'algoritmo che genera i
suggerimenti può risolvere il recommandation problem. In alcuni casi, ad esempio a causa della
sparsità della matrice user-item, il sistema non è in grado di produrre una predizione per i rating
di molti oggetti. In situazioni simili il valore della copertura certamente è basso.

Assumendo che                  ni   siano gli item per i quali l'utente      ui   ha fornito una valutazione e   npi   sia il
numero degli item per cui il RS è in grado di generare una predizione del rating, allora la copertura
è data dalla formula:

                                                                     Pm
                                                                             npi
                                                    Coverage = Pi=1
                                                                 m
                                                                          i=1 ni

dove m è il numero di righe e colonne della matrice user-item (m x m).

Esistono due tipi di coperture, chiamate prediction coverage and catalogue coverage. Prediction
coverage è un misura per la percentuale dei item che i RS posso fornire previsioni. Catalogue cov-
erage dall'altra parte fornisce una misura della percentuale dei item che non verrano racomnadate
a nessun'utente.                Una copertura completa signica che il RS puo prendere decisioni in qualsiasi
situazione. La copertura puo essere misurata prendendo un semplice esempio random di user/item
da un set di dati e chiedere al RS di dare la raccomandazioni per tutti quelli scelti. Le coperture
Predictive e Catalogue possono essere stimate insieme.

                                                                17
2.5.1.3 Condenza
  Condenza nei RS può essere denita come la ducia che i sistemi hanno nelle loro raccoman-
dazioni e previsioni. Come abbiamo visto nei           collaborative ltering   che tendano a migliore la loro
precisione mentre la quantità dei dati sugli articoli cresce. Simile, la condenza nella previsioni
tipicamente cresce con l'aumento dei quantità dei dati.

Le raccomandazioni fatte da un RS possono essere caratterizzate da due dimensioni: la forza (la
potenzialità che un RS ha) e la condenza. La forza indica quanto piacerà all'utente l'articolo rac-
comandato. Condenza indica quant'è sicuro un RS riguarda l'accuratezza della raccomandazione
che dà.

I RS hanno approcci dierente per la        Condence.       La maggior parte dei quali non raccomandano
gli articoli con il livello di condenza sotto un certa soglia. Un'altro approccio è quella di mostrare
all'utente la condenze della raccomandazione. Quest'ultimo approccio dà più possibilità all'utente
di fare da solo le scelte.

Per esempio, se un RS raccomanda un lm con una                 condence   molto alto, e un altro lm con
lo stesso rating ma con un       condence    basso.    L'utente che sta consultando questo sistema può
aggiungere nella lista dei lm da vedere il lm con condence alto ma invece per l'altro può andare
a cercare altre informazioni prima di aggiungerlo o forse non aggiungerlo neanche.

2.5.1.4 Fiducia(Trust)
  Se la Condence e la ducia         che il sistema ha nel suo rating, nel       Trust    si riferisce alla ducia
dell'utente nelle raccomandazioni del sistema. Per esempio, può essere un benecio per il sistema
di raccomandare quei pochi articoli che l'utente conosce già e li piacciono. In questo modo l'utente
crea la ducia nel sistema ma non serve a niente perché queste raccomandazioni non li stanno
aggiungendo nessun valore nella consultazione. Questa ducia creata al sistema può aumentare la
sua ducia anche sui articoli che questo sistema raccomanderà in futuro, articoli forse sconosciuti
per l'utente.

Un altro metodo per sapere la ducia che l'utente ha nel sistema è quello più ovvio dobbiamo dire,
perché si tratta di fare i sondaggi sugli utenti che usano il sistema.

Possiamo assumere anche che la ducia sulle raccomandazioni del sistema è correlata anche con
la frequenza che l'utente visita il sistema.       Se l'utente torna quando il sistema dà delle nuove
raccomandazioni, perché se per esempio abbiamo sempre utenti nuovi e cerchiamo sempre di avere
la ducia nel nostro RS dai quei utenti rischiamo di non avere utenti che hanno già ducia nel
nostro RS e possono consultare le raccomandazioni fornite.

2.5.1.5 Novelty
  Le raccomandazioni         Novel   sono raccomandazioni per degli articoli che l'utente non conosce.
Nelle applicazioni che si usano questi tipi di raccomandazioni l'implementazione richiede dei ltri
che escludono tutti gli articoli che gli utenti hanno già usato e aver dato un parere su di esse. Resta
il fatto che in tanti casi gli utenti non dicono gli articoli che hanno usato in passato, quindi questo
semplice metodo per ltrare sui item risulta insuciente.

Possiamo misurare la     Novelty      anche oine chiedendo agli utenti che hanno familiarità con gli
articoli raccomandati. Per questo possiamo fare un esperimento:

Facciamo uno split del dataset in base al tempo, nascondendo tutti i            feedback   degli utenti che si sono
vericati dopo uno specico punto temporale.In aggiunta possiamo nascondere alcune valutazioni
che si sono vericati prima di quel tempo, simulando gli elementi che l'utente abbia familiarità ma
non ha dato valutazioni per loro. Quando raccomandando, il sistema viene premiato per ogni

                                                        18
elemento che è stato consigliato e valutato dopo il tempo di split, ma sarebbe stato punito per
ogni elemento che è stato consigliato ma valutato prima del tempo dello split.

Per implementare la procedura sopra descritta dobbiamo modellare attentamente il sistema che
toglie i feedback. Questa progettazione è abbastanza dicile perché se per esempio se crediamo
che l'utente fornirà più    rating   su oggetti speciali, ma meno       ratings   per oggetti popolari, allora
il sistema dovrebbe tendere a nascondere gli elementi più popolari.               Ad usare questa sistema di
valutazione è importante controllare la precisione, raccomandazioni irrilevanti possono essere nuove
per l'utente ma possono essere anche di nessun valore.

Un possibile approccio potrebbe essere di considerare         Novelty   solo tra gli item rilevanti.

2.5.1.6 Serendipity
  Serendipity è una misura       di quanto sorprendenti sono le raccomandazioni di successo.              Per
spiegare meglio prendiamo un esempio concreto: se l'utente ha valutato positivamente molti lm
in cui compare un attore famoso, raccomandando il nuovo lm di quell'attore può essere una
novità, perché l'utente non può sapere l'esistenza di quel lm, ma dicilmente si sorprenderà.
Ovviamente, le raccomandazioni casuali possono essere molto sorprendenti, e per fare ciò abbiamo
quindi bisogno di bilanciare la      serendipità   con la precisione.

Le probabilità del vericarsi della serendipità:

   •   La serendipità non può avvenire se l'utente conosce già ciò che gli viene proposto.

   •   Minore è la possibilità che l'utente conosca un item, maggiore è la probabilità che la proposta
       sia serendipitosa.

   •   Possiamo assumere che la probabilità che l'utente conosca qualcosa concettualmente vicino
       a iò che siamo erti lui conosca sia maggiore della probabilità che lui conosca qualcosa di
       concettualmente lontano.

   •   Se decidiamo di valutare la vicinanza concettuale con una metrica di similarità, ne risulta
       che è più probabile che si verichi serendipità proponendo all'utente qualcosa di dissimile dal
       suo prolo.

Novelty vs Serendipity         Sia Novelty e Serendipity sono tutti i due esempi di non-ovvietà.

   •   Novetly: raccomandazione di un item non conosciuta che l'utente avrebbe potuto scoprire
       autonomamente.

   •   Serendipity: raccomandazione di un item non conosciuto che l'utente non avrebbe potuto
       scoprire autonomamente

L'esempio classico e quella della raccomandazione dei lm come sono descritti sopra.

2.5.1.7 Diversity
  Diversity è denita come il contrario di Similarity.        In tanti casi suggerire un insieme di oggetti
simili può mandare in tilt l'utente perché può stare ore e ore su quei oggetti ad esplorare quello che
interessa a lui. Per spiegare questa dicoltà possiamo prendere come esempio un RS di vacanze
dove vengono raccomandate cinque pacchetti viaggio, tutti nello stesso posto ma hanno diversi
hotel o dipendono dalle attrazioni che loro orono. Invece sarebbe più opportuno raccomandare
cinque pacchetti viaggio in posti diversi così l'utente ha più facilità a decidere. Il metodo più usato

                                                        19
per misurare la   Diversity   usa la similarità degli oggetti, basato sul contenuto di quei oggetti. Come
in caso delle vacanze. Dopo questo andiamo a misurare la diversità della lista basato sulla somma,
media,minima e massima distanza tra la coppia degli oggetti(item-item).

L'approccio ideale per misurare la diversity deve tenere conto di :

   •   Diversicare con minime perdite di accuratezza.

   •   Applicare meccanismi di bilanciamento parametrizzato.

2.5.1.8 Utility
  Tanti siti web di e-commerce sono alla ricerca delle raccomandazioni che aumentano le vendite per
aumentare i protti. In questo caso i RS sono valutati per quanto protto porta al sito. Misurare
l'utilità può diventare molto più importante che misurare la precisione della raccomandazione. Si
possono usare altri funzioni come potrebbe essere la Diversity e Serendipidity. Cosi come abbiamo
visto negli esempi sopra può aumentare l'utilità di una raccomandazione può essere alta mischiando
le due funzioni sopra citate.      Un approccio possibile sarebbe usare la       Diversity per facilitare il
compito agli utenti per scegliere gli articoli nel sito di e-commerce e la   Serendipidity per sorprenderli
a farli comprare quei articoli che stanno guardando.

2.5.1.9 Risk
  In alcuni casi una raccomandazione può essere associato a potenziali rischi. Il metodo standard
per valutare il rischio è non solo per valutare l'utilità ma anche la varianza dell'utilità:

Possiamo usare un parametro q e confrontare due sistemi nella:

                                             E[X] + q • V ar(X)

Quando q è positivo questo approccio dà delle raccomandazioni        risk-seeking, e quando q è negativo
dà delle raccomandazioni      risk-averse.

2.5.1.10 Robustness
  La robustezza è la stabilità     a dare delle raccomandazioni in presenza delle informazioni fake,
tipicamente inseriti a proposito per inuenzare le raccomandazioni. Ci sono delle persone che si
adano ai RS di guidarli verso una vasta gamma di oggetti ed altre persone che inuenzano i RS
per dare delle raccomandazioni che potrebbero essere molto redditizie per alcuni.

Questi tentativi per inuenzare le raccomandazioni in un RS sono chiamati attacchi, come tutti
gli attacchi informatici comuni (tipo SQL injection) fatti apposto da un utente malintenzionato.
Creare un sistema che è immune a qualsiasi attacco informatico è irrealistico. Un attacco che per
esempio può iniettare una massa di informazioni tale per cui varia le raccomandazioni in un RS
può capitare, è molto utile misurare il costo della inuenza delle raccomandazioni.

Un altro tipo di robustezza è la stabilità di un sistema sotto condizioni estreme, come una grande
numero di richieste.

                                                     20
2.5.1.11 Adaptivity          I sistemi di raccomandazioni reali possono operare in un ambiente dove
gli ogetti cambiano rapidamente, o i trend del mercato possono cambiare così rapidamente che
le raccomandazioni possono essere inutile o addirittura obsoleti.         Un esempio di questo tipo di
sistema è quello dei NEWS. In questo scenario le raccomandazioni possono essere interessanti solo
in un periodo breve del tempo, dopo la quale diventano obsoleti. Se una notizia inaspettati come
un disastro naturale per la gente diventa interesasnte ed è da raccomandare.            In questo caso il
problema del Cold Start non cè più perchè non è collegato all'utente ma da altri fattori.              Per
valutarlo possiamo misurare la dierenza tra la lista di raccomandazioni prima e dopo l'aggiunta
di una nuova notizia.

2.5.1.12 Scalability         Come i sistemi di raccomndazione sono disegnate per aiutare gli utenti
a navigare in una marea di informazioni, uno degli obbiettivi principali dei progettisti è di scalare
verso un dataset reale.      Come tale, capita speso che l'algoritmo prende altre proprietà , come
l'accuratezza e la coprebilità, per restituire risultati velocemente anche se abbiamo a che fare con
un grande dataset con millioni di oggetti.       La scalabilità è misurata tipicamente da esperimenti
con l'aumento dei dati che ci sono nel dataset, mostrando come la velocità di suggerimenti ed il
consumo delle risorse cambiano nel aumentare dei dati.

2.5.2     Performance

Le metriche per misurare le performance di un RS che ho considerato sono il tempo di risposta, i
requisiti di memoria e la complessità computazionale.

   • Tempo di risposta:         è denito come il tempo che intercorre tra la richiesta iniziale di un
        utente e la risposta del sistema a tale richiesta. Si noti che si suppone di avere a che fare con
        RS di tipo pull, cioè dove esiste una query esplicita da parte dell'utente.

   • Requisiti di memoria:         di solito i requisti di memoria sono analizzati secondo due direttrici.
        Una è lo spazio occupato online, l'altra è lo spazio occupato oine. Gli elementi di cui si
        tiene conto per calcolare tali valori sono principalmente la memoria necessaria per gli utenti
        e quella necessaria per gli item.

   • Complessità computazionale:            nell'esecuzione di un RS di solito si possono distinguere due
        fasi. Alla prima appartengono tutte le operazioni che possono essere eseguite oine, come il
        preprocessing, la rappresentazione di utenti e item, il calcolo delle similarità e l'individuazione
        dei vicini. La seconda, invece, comprende tutte i calcoli che devono essere eettuati necessari-
        amente online, in base alle interazioni con l'utente. Delle due, la fase che incide maggiormente
        sulla complessità computazionale del RS è la prima.

                                                     21
3 IRS-NETT(Interactive Recommender System di NETT)
3.1       Progetto Nett

NETT (Networked Entrepreneurship Training of Teachers), il cui logo è mostrato sopra, è un pro-
getto nanziato dalla Commissione Europea e da DG Impresa e Industria con il compito di creare un
Social Network per migliorare l'insegnamento dell'imprenditorialità nel sistema educativo europeo.
Il progetto si basa sulla creazione di una piattaforma nalizzata allo scambio di contenuti, espe-
rienze, metodi tra insegnanti di oggi e di domani responsabili dell'educazione all'imprenditorialità.

La piattaforma, attraverso l'uso delle più avanzate tecnologie, sarà di supporto ad una Social
Community dove le persone coinvolte nell'educazione all'imprenditorialità potranno trovare un
luogo dove discutere, scambiarsi opinioni e trovare risposte ed aiuti concreti per realizzare una
modalità Europea di formare i giovani imprenditori, rispettando la realtà industriale e commerciale
locale.

Il progetto coinvolge tre nazioni europee: Italia, Bulgaria e Turchia e tra i partner aderenti al
progetto troviamo: l'Universita degli Studi di Milano e Arkè Management Consulting per l'Italia,
EGECED (Institute of Education and Youth Studies Association) per la Turchia e ITD (Institute
of Technology and Development) per la Bulgaria.

Questo progetto nasce come parte integrante delle iniziative promosse dall'Unione Europea con
l'obiettivo di promuovere lo sviluppo dell'imprenditorialità in Europa, facendo leva sul delicato
tema dell'educazione.

Lo spirito imprenditoriale si sviluppa in un ambiente che incoraggia le forme attive d'apprendimento
e tal ne è necessario un sostegno che suppone una formazione iniziale dei docenti, i quali devono
disporre del tempo e delle risorse necessarie per piani care, realizzare e valutare le attività e chiarire
le responsabilità.

NETT fornirà agli educatori all'imprenditorialità uno spazio virtuale sempre disponibile ed acces-
sibile a tutti, dove trovare le competenze appropriate, le opportunità, gli strumenti e le tecnologie
di qualità per insegnare in modo pratico ed ecace l'imprenditorialita, creando una vera e propria
online community dove condividere tecniche d'insegnamento e esperienze personali,contribuendo
alla continua formazione personale dei docenti.

La piattaforma, partendo dai docenti e dai formatori, avrà un impatto sull'intero sistema educativo
europeo: si stima che essa, nei primi mesi di attività, avrà oltre 100 utenti, per poi incrementare
il loro numero no a 1000 al termine dei due anni dal rilascio.

                                                   22
3.1.1      Sondaggio sulle esigenze di formazione

Per la realizzazione di una piattaforma che possa rispondere al meglio alle esigenze di formazione
all'imprenditorialità, si è reso necessario un sondaggio quantitativo su piccola scala, il quale ha
coinvolto docenti italiani, turchi e bulgari provenienti da scuole primarie, secondarie ed istituti
universitari.

La maggior parte dei quesiti posti agli insegnanti ha come obiettivo l'individuazione di quelle
attività e metodi didattici ritenuti basilari per l'apprendimento di competenze in ambito impren-
ditoriale.

Tale sondaggio sulle esigenze di formazione ha preso in esame le seguenti problematiche e interrog-
ativi:

   1. Quali sono le età, il sesso, il livello di istruzione e l'esperienza di insegnamento dei docenti
         partecipanti?

   2. I docenti si sentono competenti in materia di imprenditorialità o parteciperebbero ad un
         corso di formazione in materia? Pensano che trarrebbero beneci seguendo un corso?

   3. Quali competenze sono piu importanti in materia di imprenditorialità?

   4. Quali competenze sono necessarie per l'apprendimento?

   5. Qual'e la percentuale di docenti che insegnano imprenditorialità?

   6. Quali vantaggi potrebbe portare la divulgazione?:         a)sostenere lo sviluppo e creare nuovi
         posti di lavoro? b)adattarsi alle attuali realtà di mercato? c)inserire gli studenti in ambiente
         imprenditoriale? d)contribuire allo sviluppo del business plan?

   7. Quali metodi sarebbero da adottare per l'insegnamento?

3.1.2      Risultati del sondaggio

Questo sondaggio ha fortemente condizionato la struttura della piattaforma.            Professori e pro-
fessionisti sono stati selezionati da diverse regioni italiane, in modo da avere i punti di vista
delle diverse aree geograche e dei contesti italiani. Infatti è evidente la tendenza a considerare
l'imprenditorialità come una serie di capacità personali quasi innate, in netto contrasto con le
disposizioni europee che la considerano come una materia scolastica da inserire nei programmi
didattici dei singoli istituti.

                                                    23
3.2      IRS-Nett

L'idea è quella di motivare l'uso di un RS in termini di:

   •    Riduzione della grande quantità di risorse disponibili;

   •    Risparmio di tempo nella ricerca di materiale;

   •    Possibilità concreta di creare un corso di alto livello, ben strutturato e ben organizzato; tutto
        ciò in conformità con le esigenze del docente stesso.

L'appellativo Interactive presente nel nome del Sistema di Raccomandazione di NETT, che si col-
loca nell'ambito dell'Interactive Machine Learning, sottolinea una caratteristica fondamentale che
dierenzia questo preciso Recommender System dalla maggior parte di quelli presenti in letter-
atura, fondamentalmente per il paradigma altamente interattivo che abbraccia; permette, infatti,
che sia l'utente a dirigere i vari step della raccomandazione sulla base dei suggerimenti e proposte
inviati dal sistema automatico; si tratta quindi di un sistema intelligente user-centric.

NETT-RS fornisce inoltre una raccomandazione basata su regole: se si verica una determinata
condizione, allora verrà prodotto un determinato tipo di raccomandazione; tale approccio è stato
scelto in quanto questo tipo di modello è allo stesso tempo uno dei più espressivi e comprensibili
ovvero fornisce soluzioni facilmente interpretabili e di indubbia semantica. Molto spesso gli utenti
non sono precisi nel prendere decisioni o nel manifestare preferenze: utenti dierenti interpretano
in maniera diversa gli stessi concetti; si è deciso, così, di adottare il paradigma Fuzzy, il quale
attribuisce un grado di verità da 0 a 1 a determinate proposizioni.

Ultima osservazione riguardante NETT-RS: viene sfruttata anche una valutazione espressa sui
corsi e sui moduli all'interno della piattaforma; valutazione fornita da Experts, da studenti e da
insegnanti. Come si può notare, questa caratteristica è propria dei sistemi Collaborative; sfruttando
anche metadati e keywords, alla stessa stregua di un Content Based System, rientra nella categoria
degli approcci ibridi.

3.2.1     Algoritmi NETT-RS: tre fasi principali

Il Sistema di Raccomandazione NETT-RS fornirà al docente una scelta limitata di risorse didattiche
presenti nella piattaforma, tra quelle più pertinenti e di successo, mirando a fornire consigli e
suggerimenti con una frequenza elevata, aspettandosi dall'utente una decisione prima di procedere
ad ulteriori raccomandazioni.

Tutto ciò rende questo processo una sorta di catena Markoviana, dove il suggerimento al tempo           t
dipende dai suggerimenti precedenti e dalle decisioni prese dall'utente.

Il sistema richiede all'utente alcune informazioni per essere in grado di fornire suggerimenti corretti;
tra queste è presente anche il numero di parti in cui il docente vorrà suddividere il corso che vorrebbe
comporre.

L'interazione tra sistema e utente consiste in un loop dove, ad ogni ciclo, viene completata
l'organizzazione di una singola parte del corso; si possono distinguere tre fasi di questo ciclo:

  1. Scelta della parte più signicativa: Il Sistema di Raccomandazione invoca J48, algoritmo
        di classicazione il quale permette di individuare la parte più signicativa tra le rima-
        nenti e, inoltre, ha il compito di selezionare i soli record che si riferiscono alla parte se-
        lezionata.   Valutando quindi la signicatività delle parti, il sistema ripulirà il dataset, ri-
        cavato dalle informazioni presenti nella tabella di   mdl_metadata (Id_metadata, Id_course,

                                                    24
Puoi anche leggere