Avic (Assistente Virtuale Intelligente Collaborativo) è una applicazione che, integrandosi con un motore di ricerca, permette di ottenere una riorganizzazione dei risultati provenienti dalla query eseguita sul motore di ricerca stesso, sulla base del gradimento (implicito e/o esplicito) espresso dalle persone indicate come appartenenti alla rete sociale dell'utente (sia personale, es. facebook, che professionale, es. linkedin, organigramma aziendale, ecc.). Tale applicazione permette di rimodulare il ranking associato ai risultati di una ricerca basandosi sul feedback fornito (implicitamente e/o esplicitamente) dagli utenti appartenenti al proprio entourage: i risultati ritenuti validi dagli utenti attendibili, verranno privilegiati e quindi mostrati nelle prime posizioni dell’insieme dei risultati totali. Questo fa sì che le ricerche raggiungano un elevato grado di personalizzazione in quanto AVIC, come sistema auto-apprendente, oltre ad imparare a conoscere gli interessi dell’utente che effettua la ricerca, tiene anche conto degli input derivanti dai feedback di gradimento espressi degli utenti “attendibili e vicini” all’utente in questione. In quest’ottica, il progetto cerca di trovare una parziale soluzione che vede l’utente assumere un ruolo attivo grazie al compimento di diverse azioni (rating, bookmarking, e così via). In questo modo, una ricerca non rimarrà un freddo strumento per interrogare un motore web, ma alla stessa identica query corrisponderanno risultati nettamente differenti, determinati da chi ha effettuato la ricerca ed in quale istante. Tramite AVIC, ogni qualvolta si cerca un qualsiasi contenuto su Internet si otterranno per prime le pagine che sono già state apprezzate da persone affidabili della propria rete, mentre quelle considerate di poca rilevanza verranno abbassate di ranking, ovvero di posizione nell’elenco: l’obiettivo è quello di ottenere nelle prime posizioni ciò che è veramente interessante e non pagine e pagine di “rumore”. Ad es., cercando materiale su “intelligence”, si otterranno prima risultati relativi alla “business intelligence” se la propria rete sociale è principalmente popolata da informatici, mentre se le persone a cui si è collegate si occupano di investigazioni si potranno ottenere prima i risultati relativi all’intelligence come tecnica di investigazione. Il sistema può essere utilizzato anche all’interno di una rete sociale aziendale o in settori verticali (ad es. l’Ordine dei Giornalisti). In questo caso si ottiene il massimo dei benefici; si pensi ad es. ad un gruppo di progettisti che sta lavorando su un nuovo macchinario: chi eseguirà le ricerche dopo che già alcune pagine sono state vagliate, troverà direttamente quelle più promettenti, senza dover fare il lavoro di ricerca delle fonti utili che ci fa perdere la maggior parte del tempo durante la navigazione. Si può infatti dire che AVIC sia un sistema intelligente che apprende i gusti dell’utente, in particolare sulla base della fiducia nelle altre fonti (le altre persone), e quindi le ricerche diventano del tutto personalizzate. In sostanza, AVIC consente ricerche migliori, condivisione della conoscenza e aumento della confidenza nella propria rete sociale.
Tecnologia
Il sistema si compone di tre layer distribuiti tra client e server. Il componente lato client si occupa di raccogliere le informazioni esplicitamente rilasciate dall’utente (feedback, tagging, dati di registrazione) e di catturare quella serie di indicatori più immediati, utili per una profilazione implicita (monitoraggio click e download, calcolo tempo di permanenza, etc.). A tal fine è stato realizzato un plug-in per Firefox da installare nel browser dell'utente. Il plug-in presenta inoltre una barra di navigazione che permetta di eseguire ricerche, rilasciare feedback ed assegnare tag riguardo alla pagina web visualizzata.
Lato server del sistema assolve ai seguenti compiti:
- raccoglie, memorizza ed elabora le informazioni inviate dal plug-in
- memorizza ed aggiorna l’intera rete sociale
- attua i processi di ragionamento sulla rete sociale dell’individuo, e sulla rete sociale nella sua globalità
- attua i processi di elaborazione dei dati per rispondere alle richieste di ricerca dell’utente
- memorizza ed aggiorna la lista delle risorse associate ad un utente
- realizza i processi di assegnazione dei pesi alle risorse associate all’individuo (o un gruppo di persone della rete sociale).
In relazione alla gestione della rete sociale il sistema di persistenza utilizzato è un database semantico. La rete sociale è infatti rappresentata tramite un’ontologia. L’ontologia presa in considerazione è FOAF (the Friend of a Friend), che offre una serie di concetti basilari per descrivere le relazioni tra individui. Vista la limitazione espressiva dell’ontologia FOAF, è stato necessario estenderla con nuovi concetti e relazioni per gestire trust tra utenti e tra utente e documenti.