SlideShare a Scribd company logo
1 of 44
Download to read offline
Il web intelligente
 Smart is the new sexy




   Better Software 2011
   Firenze - 27/ 28 giugno 2011
Happy Developer                                   .
           http://about.me/davidecerbo
                                         http://www.exmachina.ch


http://www.linkedin.com/in/davidecerbo           http://twitter.com/davide_cerbo
Ringraziamenti

        Costantino Cerbo                            Davide Palmisano




    Senior developer @ Gebit                       CEO @ Smartetics
           in Germania                               in Inghilterra
•   http://linkedin.com/in/ccerbo           •   http://linkedin.com/in/davidepalmisano
•   http://text-analysis.sourceforge.net/   •   http://smartetics.co.uk/
•   http://twitter.com/webtextanalysis      •   http://twitter.com/dpalmisano
 
“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 
        efficiente questa attenzione tra la 
sovrabbondanza di informazioni che potrebbero 
                    consumarla”
                                        H.A. Simon
Come ne usciamo?




 Aiutiamo il web a
   diventare più
    intelligente!
Le nostre armi segrete
   Analisi del testo

                        Sistemi di raccomandazione

       Open Data

                       Web Semantico
Analisi del testo

         "si riferisce al processo di estrazione di 
           informazioni di alta qualità dal testo"
        (http://en.wikipedia.org/wiki/Text_mining)

                      I 4 passi base




                         Esempio

    "Grazie a tutti per essere venuti a Better Software"
Tokenizzazione
• Analizzare il testo per estrarre i termini

String[] tokens = {"Grazie", "a", "tutti", "per", "essere", "venuti",
"a", "Better", "Software!"}




Normalizzazione
• Pulire il testo da caratteri e differenze non utili

String[] tokens = {"grazie", "a", "tutti", "per", "essere", "venuti",
"a", "better", "software"}
Eliminazione "Stop Words"

• Eliminare le parole di uso comune in una lingua che non
  incidono per l'identificazione del contenuto del testo.
• Esistono delle liste open source per le varie lingue, per
  l'italiano:
  http://snowball.tartarus.org/algorithms/italian/stop.txt

String[] tokens = {"grazie", "a", "tutti", "per", "essere", "venuti",
"a", "better", "software"}
Stemming
Lo stemming è il processo di riduzione della forma flessa di una 
parola alla sua forma radice, detta tema. Il tema non 
corrisponde necessariamente alla radice morfologica (lemma) 
della parola: normalmente è sufficiente che le parole correlate 
siano mappate allo stesso tema. 
(http://it.wikipedia.org/wiki/Stemming)

Esempio: andare, andai, andò = and

String[] tokens = {"graz", "tutt", "ess", "venut", "better",
"softwar"}

Approfondimento su:
http://snowball.tartarus.org/algorithms/italian/stemmer.html
Principali algoritmi
•   Estrazione contenuto rilevante da pagina web
     o http://boilerpipe-web.appspot.com/
     o https://www.readability.com/
•   Rilevamento della lingua
     o https://ajax.googleapis.com/ajax/services/language/detect?v=1.0&q=Benvenuta
        %20gente
     o http://www.alchemyapi.com/api/demo.html
•   Estrazione parole chiave
     o http://www.alchemyapi.com/api/demo.html
     o http://developer.yahoo.com/search/content/V1/termExtraction.html
     o http://saplo.com/api
•   Categorizzazione testo
     o http://uclassify.com/
•   Riassunti automatici
     o http://topicmarks.com/dashboard
     o http://shablast.com/?id=1080961&type=Summary
     o http://lada.si.umich.edu:8080/clair/nie1/nie.cgi
•   Estrazione di "Named entity"
     o http://cogcomp.cs.illinois.edu/demo/ner/?id=8
     o http://access.alchemyapi.com/demo/entities_int.html?mode=entity
     o http://www.opencalais.com/about
Sentimental Analysis

  Categorizza dei testi in positivi o
negativi tramite l'estrazione di frasi o
            parole chiave

 Molto usato per analisi su Twitter
        o su post dei blog

• Twitter
   o http://www.tweetfeel.com
   o http://twittersentiment.appspot.com/
• Ristoranti, hotel, aziende
   o http://www.infoglutton.com
• Mercato azionario
   o http://www.thestocksonar.com
• Marchi, avvenimenti, etc
   o http://www.repustate.com
Sentimental Analysis: un esempio
Il Semantic Web

Semantic Web, Web of Data, Machine-readable Web, Web
3.0 ... termini differenti per indicare la stessa idea:

correlare dati eterogenei tra di loro come fossero 
                    pagine Web




           "The Semantic Web is a webby way to link data" 
                               - Dave Beckett, Yahoo Inc.
Il Semantic Web: building blocks
  RDF      Microformats          schema.org

        RDFa         Microdata
Il Semantic Web: RDF
      Resource Description Framework (RDF) è lo standard base del W3C.

•   qualsiasi entità descrivibile è identificata da una URI
•   proprietà e relazioni tra entità vengono espresse con URI
•   lo statement (o tripla) è l'unità base: soggetto - predicato - oggetto
•   un insieme di statement fanno un grafo RDF
•   i grafi si serializzano tramite: RDF/XML, N-Triples, Notation3, ...

                                   Esempio:
          Davide Cerbo è l'autore della presentazione il Web Intelligente

                      diventa in RDF/XML:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-
ns#" xmlns:au="http://description.org/schema/">
<rdf:Description about="http://snoopal.com/...">
 <au:author>http://snoopal.com/user/davidecerbo</au:author>
</rdf:Description>
</rdf:RDF>
Il Semantic Web: RDFa
      Resource Description Framework-in-Attribute (RDFA) è una W3C
         Recommendation per aggiungere RDF nelle pagine web.

  Gli attributi usati sono: about o src, rel o rev, href or resource, property, 
                            content, datatype e typeof

                                   Esempio:

<div xmlns:dc="http://purl.org/dc/elements/1.1/"
about="http://snoopal.com...">
  <span property="dc:title">Il web Intelligente</span>
  <span property="dc:creator">Davide Cerbo</span>
  <span property="dc:date">2011-06-27</span>
</div>
Il Semantic Web: Microformats

Microformats è una specifica per includere informazioni semantiche in una pagina
web usando gli attributi:
 • class
 • rel

    Ha molte specifiche per descrivere, ad esempio: ricette (hRecipe), CV
     (hResume), recensioni (hReview) e risorse multimediali (hMedia).

                                   Esempio:
<div class="vcard">
   <div class="fn">Davide Cerbo</div>
   <div class="org">Ex Machina</div>
   <div class="tel">+41 00 000 000 000</div>
   <a class="url" href="http://...">http//exmachina.ch</a>
</div>
Il Semantic Web: Microdata
Microdata e' parte di una specifica di HTML5 per annotare semanticamente
porzioni della pagina Web.
La specifica prevede un algoritmo per convertirle Microdata in RDF.

L'idea alla base e' quella di prevedere gruppi (items) di coppie chiave-valore
(itemprop), rappresentati da elementi del DOM annotati con i seguenti attributi:

                 itemscope, itemtype, itemid, itemref e itemprop

                                    Esempio:
<section itemscope
itemtype="http://example.org/animals#cat">
   <h1 itemprop="name">Hedral</h1>
   <p itemprop="desc">Hedral is a male american domestic
   shorthair, with a fluffy black fur with white ...</p>
   <img itemprop="img" src="hd.jpg"
                               title="Hedral,age 18 ">
</section>
Il Semantic Web: Schema.org
Da un accordo tra i principali motori di ricerca




nasce schema.org, un vocabolario basato su Microdata per la descrizione di
entità di uso comune:

 •   Creative works: Book, Movie, MusicRecording, Recipe, TVSeries ...
 •   Embedded non-text objects: AudioObject, ImageObject, VideoObject
 •   Person
 •   Place, LocalBusiness, Restaurant ...

                    I SEO dovranno rispettare un solo standard!
Il Semantic Web: Real life :-)
Il Semantic Web: Real life :-)
"Pensiamo che sia ingiusto che 
Google o altri prendano i nostri 
  contenuti senza pagare " 
                                         
                       Carlo De Benedetti
"My Administration is committed to creating an 
unprecedented level of openness in Government.     
     We will work together to ensure the public 
   trust and establish a system of transparency, 
 public participation, and collaboration. Openness 
    will strengthen our democracy and promote 
   efficiency and effectiveness in Government."
               Open Government Initiative Memorandum, 
                                   President B. Obama 
Open data e il Semantic Web
• L'idea alla base prevede che alcuni dati siano pubblici e
  riusabili da liberamente al fine di promuovere trasparenza e
  partecipazione democratica
• Numerose iniziative
   o data.gov
   o data.gov.uk
   o dati.piemonte.it
   o datasf.org
   o ... cerca #opendata su twitter ;)
Open data e il Semantic Web
Tuttavia la pubblicazione dei dati rimane estremamente
eterogenea:
 • file CSV, testi non strutturati
 • XML
 • ...
 • fino a piattaforme più sofisticate

L'eterogeneità rimane un ostacolo allo sviluppo rapido di
mashups e applicazioni

Necessità di gestire il licensing dei dati

Necessità di monetizzare API e mashups su questi dati

Metodo per il riconoscimento della qualità dei data sets
Il Semantic Web: Linked Open Data

Il web permette di collegare documenti. Similarmente permette
   di collegare dati. Il termini Linked Data fa riferimento ad un
     insieme di best practices per pubblicare e collegare dati
     strutturati nel Web. Le tecnologie chiave che supportano
   Linked Data sono URI ( un modo generico per indentificare
entità o concetti nel mondo), HTTP (un meccanismo semplice,
 ma universale, per recuperare risorse o descrizioni di risorse),
   e RDF (un generico modello basato su grafo che struttura e
                     collega le cose nel mondo).

                                                                 Tom Heath

  (http://tomheath.com/papers/bizer-heath-berners-lee-ijswis-linked-data.pdf)
ottobre 2007...
...settembre 2010
Il Semantic Web: a 5 stelle




★★★★★ rendi i tuoi dati disponibili sul web (in qualsiasi formato) e con una licenza aperta
★★★★★ forniscili come dati strutturati
★★★★★ usa formati non proprietari
★★★★★ usa URI per identificare le tue risorse, così che gli utenti possano puntarle direttamente
★★★★★ collega i dati ad altri dati per fornire un contesto

                  http://lab.linkeddata.deri.ie/2010/star-scheme-by-example/
Il Semantic Web: data markets
Linked Open Data è un modello per la pubblicazione e
l'interlinking di open data sets differenti.

La ricerca degli stessi, la loro catalogazione, la pubblicazione
di API derivate dal mashup degli stessi
sta portando ai primi data markets:

•   datamarket.com
•   infochimps.com
•   kasabi.com
•   factual.com
•   ckan.net

Si intravedono i primi revenue model per data owner e API
Ed ora?




Mashup     Sistemi di raccomandazione   Data mining
 

                 
"Il 90% di tutto è spazzatura"
                      Theodore Sturgeon
 
                                  
  "Che cos'è l'intelligenza collettiva? In primo luogo bisogna 
    riconoscere che l'intelligenza è distribuita dovunque c'è 
  umanità, e che questa intelligenza, distribuita dappertutto, 
     può essere valorizzata al massimo mediante le nuove 
  tecniche, soprattutto mettendola in sinergia. Oggi, se due 
     persone distanti sanno due cose complementari, per il 
 tramite delle nuove tecnologie, possono davvero entrare in 
   comunicazione l'una con l'altra, scambiare il loro sapere, 
cooperare. Detto in modo assai generale, per grandi linee, è 
            questa in fondo l'intelligenza collettiva"
                                                     Pierre Lévy
Sistemi di raccomandazione

La nostra missione:
  Fornire ai nostri utenti gli elementi di loro interesse a partire
dai dati di cui si dispone: informazioni su utenti e oggetti.

Tipi:
 • Basati sul contenuto
   elementi simili a quelli piaciuti nel passato
• Collaborativi
   elementi che sono piaciuti a persone con profili simili
• Ibridi
   un mix trai precedenti
Basati sul contenuto
Punti chiave:
 • Creare un profilo per ogni elemento
 • Il profilo assegnato manualmente o automaticamente.
 • Per i testi si utilizzano le tecniche di analisi del testo.

Esempio:
            Se io compro un libro di James Frey mi verranno suggeriti tutti 
                 gli altri libri dello stesso autore, dello stesso genere, 
                                  pubblicati nello stesso anno

Pro:
 • buoni risultati anche in sistemi con pochi utenti

Contro:
 • offre raccomandazioni scontate (e.s.: i libri di James Frey li posso scoprire anche vedendo 
    la sua bibliografia)
Collaborativi: Memory-based
Punti chiave:
 • Si basano sulla storie delle valutazioni degli utenti.
 • Vengono usate diverse tecniche euristiche per calcolare la somiglianza tra
   utenti come il calcolo del Coefficiente di correlazione di r di Pearson.
 • Non tutti gli utenti valutano gli elementi nello stesso modo. I voti vanno
   normalizzati!

Esempio:
        Se io compro un libro di James Frey mi verranno suggeriti i libri
    comprati da un gruppo di persone che hanno fatto lo stesso acquisto.

Pro:
 • offre raccomandazioni più imprevedibili
 • crea relazioni fra utenti e la possibilità di raccomandazioni indirette
Contro:
 • cold start: servono molti utenti per avere buone raccomandazioni
 • difficilmente tutti gli utenti esprimeranno preferenze su un numero sufficiente
    di risultati (si può risolvere con la Dimensionality Reduction)
 • Banana Problem: si suggeriscono sempre degli elementi molto comuni
Collaborativi: Model-based
Punti chiave:
 • Si basano sulla storie delle valutazioni degli utenti per creare un modello
 • Solitamente basato sul calcolo delle probabilità.
 • Sfruttano l'Analisi del Collegamenti.

Esempio:
        Se io compro un libro di James Frey mi verranno suggeriti i libri
    comprati da un gruppo di persone che hanno fatto lo stesso acquisto.
            Dando maggior peso a quelli acquistati da utenti molto 
                       attivi o importanti nel sistema.

Pro:
 • offre raccomandazioni più affidabili rispetto ai Memory-based
 • gli stessi del Memory-based

Contro:
 • costi computazionali elevati
 • gli stessi del Memory-based
Links raccomandati :)

• IntroAnalytics
  http://www.introanalytics.com/examples.php
• DirectEdge
  http://www.directededge.com/
• Sailthru Concierge
  https://www.sailthru.com/concierge
• kassandra-recommendations
  http://code.google.com/p/kassandra-recommendations/
L'angolo dello smanettone 1/2
• Apache Lucene
    http://lucene.apache.org/java/docs/
• Text Analysis
    http://text-analysis.sourceforge.net/
• Apache OpenNLP
    http://incubator.apache.org/opennlp/
• LingPipe
    http://alias-i.com/lingpipe/
•   NLTK (python)
    http://www.nltk.org/
• Apache Mahout
    http://mahout.apache.org/
• Apache UIMA
    http://uima.apache.org/
• Any23
    http://developers.any23.org
L'angolo dello smanettone 2/2
• Virtuoso (anche OpenSource)
  http://virtuoso.openlinksw.com/
• Jena
  http://jena.sourceforge.net/
• Sesame
  http://www.openrdf.org/
• JRDF
  http://jrdf.sourceforge.net/
• SIREn
  http://siren.sindice.com/
• Apache Clerezza
  http://incubator.apache.org/clerezza/
• OrientDb (graph DB prima o poi vi servirà!)
  http://www.orientechnologies.com/
• Sail Ouplementation
  https://github.com/tinkerpop/blueprints/wiki/Sail-Ouplementation
Letture consigliate 1/2

• Algorithms of the Intelligent Web
  http://www.manning.com/marmanis/
• Mining the Social Web
  http://oreilly.com/catalog/0636920010203/
• Collective Intelligence in Action
  http://www.manning.com/alag/
• Programming Collective Intelligence
  http://oreilly.com/catalog/9780596529321
• Costruire sistemi per la reputazione Web
  http://www.tecnichenuove.com/libri/costruire_sistemi_per_reputazione_web.html
Letture consigliate 2/2

• Semantic Web. Dai fondamenti alla realizzazione di un'applicazione 
  http://hpe.pearson.it/scheda_opera.php?ID=2789&macrodestinazioneID=&materiaID=
• Thinking on the Web Web  
  http://www.wiley.com/WileyCDA/WileyTitle/productCd-0471768669.html
Q&A

More Related Content

What's hot

2 - Introduzione ad Internet (1/2)
2 - Introduzione ad Internet (1/2)2 - Introduzione ad Internet (1/2)
2 - Introduzione ad Internet (1/2)Giuseppe Vizzari
 
3 - Introduzione a Internet (2/2) - 16/17
3 - Introduzione a Internet (2/2) - 16/173 - Introduzione a Internet (2/2) - 16/17
3 - Introduzione a Internet (2/2) - 16/17Giuseppe Vizzari
 
WordPress e il vostro blog - 18/19
WordPress e il vostro blog - 18/19WordPress e il vostro blog - 18/19
WordPress e il vostro blog - 18/19Giuseppe Vizzari
 
18 - Content sharing sites
18 - Content sharing sites18 - Content sharing sites
18 - Content sharing sitesGiuseppe Vizzari
 
4 - Introduzione al Web (1/2) - 16/17
4 - Introduzione al Web (1/2) - 16/174 - Introduzione al Web (1/2) - 16/17
4 - Introduzione al Web (1/2) - 16/17Giuseppe Vizzari
 
13 - Web feed e aggregatori
13 - Web feed e aggregatori13 - Web feed e aggregatori
13 - Web feed e aggregatoriGiuseppe Vizzari
 
11 - Evoluzione del Web (19/20)
11 - Evoluzione del Web (19/20)11 - Evoluzione del Web (19/20)
11 - Evoluzione del Web (19/20)Giuseppe Vizzari
 
Web designer vs Web developer
Web designer vs Web developerWeb designer vs Web developer
Web designer vs Web developerGiuseppe Vizzari
 
Introduzione a Internet (2/2) - 18/19
Introduzione a Internet (2/2) - 18/19Introduzione a Internet (2/2) - 18/19
Introduzione a Internet (2/2) - 18/19Giuseppe Vizzari
 
2 - Introduzione a Internet (1/2) - 16/17
2 - Introduzione a Internet (1/2) - 16/172 - Introduzione a Internet (1/2) - 16/17
2 - Introduzione a Internet (1/2) - 16/17Giuseppe Vizzari
 
1 - Introduzione al corso 19/20
1 - Introduzione al corso 19/201 - Introduzione al corso 19/20
1 - Introduzione al corso 19/20Giuseppe Vizzari
 
17 - Web feed e aggregatori
17 - Web feed e aggregatori17 - Web feed e aggregatori
17 - Web feed e aggregatoriGiuseppe Vizzari
 

What's hot (20)

2 - Introduzione ad Internet (1/2)
2 - Introduzione ad Internet (1/2)2 - Introduzione ad Internet (1/2)
2 - Introduzione ad Internet (1/2)
 
9 - Ricercare nel Web
9 - Ricercare nel Web9 - Ricercare nel Web
9 - Ricercare nel Web
 
3 - Introduzione a Internet (2/2) - 16/17
3 - Introduzione a Internet (2/2) - 16/173 - Introduzione a Internet (2/2) - 16/17
3 - Introduzione a Internet (2/2) - 16/17
 
8 - Il browser
8 - Il browser8 - Il browser
8 - Il browser
 
Ricercare nel web
Ricercare nel webRicercare nel web
Ricercare nel web
 
WordPress e il vostro blog - 18/19
WordPress e il vostro blog - 18/19WordPress e il vostro blog - 18/19
WordPress e il vostro blog - 18/19
 
Evoluzione del web
Evoluzione del webEvoluzione del web
Evoluzione del web
 
18 - Content sharing sites
18 - Content sharing sites18 - Content sharing sites
18 - Content sharing sites
 
4 - Introduzione al Web (1/2) - 16/17
4 - Introduzione al Web (1/2) - 16/174 - Introduzione al Web (1/2) - 16/17
4 - Introduzione al Web (1/2) - 16/17
 
13 - Web feed e aggregatori
13 - Web feed e aggregatori13 - Web feed e aggregatori
13 - Web feed e aggregatori
 
11 - Evoluzione del Web (19/20)
11 - Evoluzione del Web (19/20)11 - Evoluzione del Web (19/20)
11 - Evoluzione del Web (19/20)
 
06 - Il browser
06 - Il browser06 - Il browser
06 - Il browser
 
Il browser
Il browserIl browser
Il browser
 
7 - Web application e CMS
7 - Web application e CMS7 - Web application e CMS
7 - Web application e CMS
 
Web designer vs Web developer
Web designer vs Web developerWeb designer vs Web developer
Web designer vs Web developer
 
Introduzione a Internet (2/2) - 18/19
Introduzione a Internet (2/2) - 18/19Introduzione a Internet (2/2) - 18/19
Introduzione a Internet (2/2) - 18/19
 
I social media
I social mediaI social media
I social media
 
2 - Introduzione a Internet (1/2) - 16/17
2 - Introduzione a Internet (1/2) - 16/172 - Introduzione a Internet (1/2) - 16/17
2 - Introduzione a Internet (1/2) - 16/17
 
1 - Introduzione al corso 19/20
1 - Introduzione al corso 19/201 - Introduzione al corso 19/20
1 - Introduzione al corso 19/20
 
17 - Web feed e aggregatori
17 - Web feed e aggregatori17 - Web feed e aggregatori
17 - Web feed e aggregatori
 

Similar to Il web intelligente

Ontologie per i linked open data / Stefano De Luca, Paola De Caro, Claudia C...
Ontologie per i linked open  data / Stefano De Luca, Paola De Caro, Claudia C...Ontologie per i linked open  data / Stefano De Luca, Paola De Caro, Claudia C...
Ontologie per i linked open data / Stefano De Luca, Paola De Caro, Claudia C...libriedocumenti
 
Presentazione Cama_Primiceri_Atro
Presentazione Cama_Primiceri_AtroPresentazione Cama_Primiceri_Atro
Presentazione Cama_Primiceri_AtroBernadetteCama
 
IC2009 Anatomia di un Semantic Search Engine
IC2009 Anatomia di un Semantic Search EngineIC2009 Anatomia di un Semantic Search Engine
IC2009 Anatomia di un Semantic Search EngineEmanuele Della Valle
 
Tecnologie semantiche per il giornalismo @ SISSA
Tecnologie semantiche per il giornalismo @ SISSATecnologie semantiche per il giornalismo @ SISSA
Tecnologie semantiche per il giornalismo @ SISSAMatteo Brunati
 
Web 2.0 & Library 2.0: un'introduzione
Web 2.0 & Library 2.0: un'introduzioneWeb 2.0 & Library 2.0: un'introduzione
Web 2.0 & Library 2.0: un'introduzioneAndrea Marchitelli
 
Seo e Web Marketing - 1 | WebMaster & WebDesigner
Seo e Web Marketing - 1 | WebMaster & WebDesignerSeo e Web Marketing - 1 | WebMaster & WebDesigner
Seo e Web Marketing - 1 | WebMaster & WebDesignerMatteo Magni
 
Be wizard 2012 - content - seo - links - gianluca fiorelli
Be wizard 2012 - content - seo - links - gianluca fiorelliBe wizard 2012 - content - seo - links - gianluca fiorelli
Be wizard 2012 - content - seo - links - gianluca fiorelliGianluca Fiorelli
 
Il web 2.0: dal web informativo al web emozionale
Il web 2.0: dal web informativo al web emozionaleIl web 2.0: dal web informativo al web emozionale
Il web 2.0: dal web informativo al web emozionaleAldo Torrebruno
 
Html e Css - 2 | WebMaster & WebDesigner
Html e Css - 2 | WebMaster & WebDesignerHtml e Css - 2 | WebMaster & WebDesigner
Html e Css - 2 | WebMaster & WebDesignerMatteo Magni
 
Html e Css - 2 | WebMaster & WebDesigner
 Html e Css - 2 | WebMaster & WebDesigner Html e Css - 2 | WebMaster & WebDesigner
Html e Css - 2 | WebMaster & WebDesignerMatteo Magni
 
Come evolverà il Web? Consigli su come non rimanere disoccupati nel giro di p...
Come evolverà il Web? Consigli su come non rimanere disoccupati nel giro di p...Come evolverà il Web? Consigli su come non rimanere disoccupati nel giro di p...
Come evolverà il Web? Consigli su come non rimanere disoccupati nel giro di p...Roberto Scano
 
educare alla ricerca
educare alla ricercaeducare alla ricerca
educare alla ricercaMadiaA
 
Sala Biè 7 maggio 2015
Sala Biè 7 maggio 2015Sala Biè 7 maggio 2015
Sala Biè 7 maggio 2015Davis Cussotto
 
Framework di sviluppo web: introduzione a bootstrap e boostack
Framework di sviluppo web: introduzione a bootstrap e boostackFramework di sviluppo web: introduzione a bootstrap e boostack
Framework di sviluppo web: introduzione a bootstrap e boostackStefano Spagnolo
 
2015-06 Roberto Boselli, Dal dato non strutturato alle ontologie
2015-06 Roberto Boselli, Dal dato non strutturato alle ontologie2015-06 Roberto Boselli, Dal dato non strutturato alle ontologie
2015-06 Roberto Boselli, Dal dato non strutturato alle ontologieAndrea Rossetti
 

Similar to Il web intelligente (20)

Ontologie per i linked open data / Stefano De Luca, Paola De Caro, Claudia C...
Ontologie per i linked open  data / Stefano De Luca, Paola De Caro, Claudia C...Ontologie per i linked open  data / Stefano De Luca, Paola De Caro, Claudia C...
Ontologie per i linked open data / Stefano De Luca, Paola De Caro, Claudia C...
 
Presentazione Cama_Primiceri_Atro
Presentazione Cama_Primiceri_AtroPresentazione Cama_Primiceri_Atro
Presentazione Cama_Primiceri_Atro
 
Semantic Search Engine
Semantic Search EngineSemantic Search Engine
Semantic Search Engine
 
IC2009 Anatomia di un Semantic Search Engine
IC2009 Anatomia di un Semantic Search EngineIC2009 Anatomia di un Semantic Search Engine
IC2009 Anatomia di un Semantic Search Engine
 
Tecnologie semantiche per il giornalismo @ SISSA
Tecnologie semantiche per il giornalismo @ SISSATecnologie semantiche per il giornalismo @ SISSA
Tecnologie semantiche per il giornalismo @ SISSA
 
Web 2.0 & Library 2.0: un'introduzione
Web 2.0 & Library 2.0: un'introduzioneWeb 2.0 & Library 2.0: un'introduzione
Web 2.0 & Library 2.0: un'introduzione
 
Web & Library 2
Web & Library 2Web & Library 2
Web & Library 2
 
Open ideas tesina
Open ideas tesinaOpen ideas tesina
Open ideas tesina
 
DS4Biz - Data Science for Business
DS4Biz - Data Science for BusinessDS4Biz - Data Science for Business
DS4Biz - Data Science for Business
 
Curation & Aggregation
Curation & AggregationCuration & Aggregation
Curation & Aggregation
 
Seo e Web Marketing - 1 | WebMaster & WebDesigner
Seo e Web Marketing - 1 | WebMaster & WebDesignerSeo e Web Marketing - 1 | WebMaster & WebDesigner
Seo e Web Marketing - 1 | WebMaster & WebDesigner
 
Be wizard 2012 - content - seo - links - gianluca fiorelli
Be wizard 2012 - content - seo - links - gianluca fiorelliBe wizard 2012 - content - seo - links - gianluca fiorelli
Be wizard 2012 - content - seo - links - gianluca fiorelli
 
Il web 2.0: dal web informativo al web emozionale
Il web 2.0: dal web informativo al web emozionaleIl web 2.0: dal web informativo al web emozionale
Il web 2.0: dal web informativo al web emozionale
 
Html e Css - 2 | WebMaster & WebDesigner
Html e Css - 2 | WebMaster & WebDesignerHtml e Css - 2 | WebMaster & WebDesigner
Html e Css - 2 | WebMaster & WebDesigner
 
Html e Css - 2 | WebMaster & WebDesigner
 Html e Css - 2 | WebMaster & WebDesigner Html e Css - 2 | WebMaster & WebDesigner
Html e Css - 2 | WebMaster & WebDesigner
 
Come evolverà il Web? Consigli su come non rimanere disoccupati nel giro di p...
Come evolverà il Web? Consigli su come non rimanere disoccupati nel giro di p...Come evolverà il Web? Consigli su come non rimanere disoccupati nel giro di p...
Come evolverà il Web? Consigli su come non rimanere disoccupati nel giro di p...
 
educare alla ricerca
educare alla ricercaeducare alla ricerca
educare alla ricerca
 
Sala Biè 7 maggio 2015
Sala Biè 7 maggio 2015Sala Biè 7 maggio 2015
Sala Biè 7 maggio 2015
 
Framework di sviluppo web: introduzione a bootstrap e boostack
Framework di sviluppo web: introduzione a bootstrap e boostackFramework di sviluppo web: introduzione a bootstrap e boostack
Framework di sviluppo web: introduzione a bootstrap e boostack
 
2015-06 Roberto Boselli, Dal dato non strutturato alle ontologie
2015-06 Roberto Boselli, Dal dato non strutturato alle ontologie2015-06 Roberto Boselli, Dal dato non strutturato alle ontologie
2015-06 Roberto Boselli, Dal dato non strutturato alle ontologie
 

More from Davide Cerbo

Kotlin: forse è la volta buona (Trento)
Kotlin: forse è la volta buona (Trento)Kotlin: forse è la volta buona (Trento)
Kotlin: forse è la volta buona (Trento)Davide Cerbo
 
Kotlin: maybe it's the right time
Kotlin: maybe it's the right timeKotlin: maybe it's the right time
Kotlin: maybe it's the right timeDavide Cerbo
 
From 0 to React with ES6 and Tests
From 0 to React with ES6 and TestsFrom 0 to React with ES6 and Tests
From 0 to React with ES6 and TestsDavide Cerbo
 
Kotlin: foss' a vota bona (could be the right time)
Kotlin: foss' a vota bona (could be the right time)Kotlin: foss' a vota bona (could be the right time)
Kotlin: foss' a vota bona (could be the right time)Davide Cerbo
 
The Hitchhiker's Guide to testable code: semplici regole per scrivere codice ...
The Hitchhiker's Guide to testable code: semplici regole per scrivere codice ...The Hitchhiker's Guide to testable code: semplici regole per scrivere codice ...
The Hitchhiker's Guide to testable code: semplici regole per scrivere codice ...Davide Cerbo
 
Working between the clouds
Working between the cloudsWorking between the clouds
Working between the cloudsDavide Cerbo
 
Non Conventional Android Programming (English)
Non Conventional Android Programming (English)Non Conventional Android Programming (English)
Non Conventional Android Programming (English)Davide Cerbo
 
Non Conventional Android Programming (Italiano)
Non Conventional Android Programming (Italiano)Non Conventional Android Programming (Italiano)
Non Conventional Android Programming (Italiano)Davide Cerbo
 

More from Davide Cerbo (9)

Kotlin: forse è la volta buona (Trento)
Kotlin: forse è la volta buona (Trento)Kotlin: forse è la volta buona (Trento)
Kotlin: forse è la volta buona (Trento)
 
Kotlin: maybe it's the right time
Kotlin: maybe it's the right timeKotlin: maybe it's the right time
Kotlin: maybe it's the right time
 
From 0 to React with ES6 and Tests
From 0 to React with ES6 and TestsFrom 0 to React with ES6 and Tests
From 0 to React with ES6 and Tests
 
Kotlin: foss' a vota bona (could be the right time)
Kotlin: foss' a vota bona (could be the right time)Kotlin: foss' a vota bona (could be the right time)
Kotlin: foss' a vota bona (could be the right time)
 
Adesso In Onda
Adesso In OndaAdesso In Onda
Adesso In Onda
 
The Hitchhiker's Guide to testable code: semplici regole per scrivere codice ...
The Hitchhiker's Guide to testable code: semplici regole per scrivere codice ...The Hitchhiker's Guide to testable code: semplici regole per scrivere codice ...
The Hitchhiker's Guide to testable code: semplici regole per scrivere codice ...
 
Working between the clouds
Working between the cloudsWorking between the clouds
Working between the clouds
 
Non Conventional Android Programming (English)
Non Conventional Android Programming (English)Non Conventional Android Programming (English)
Non Conventional Android Programming (English)
 
Non Conventional Android Programming (Italiano)
Non Conventional Android Programming (Italiano)Non Conventional Android Programming (Italiano)
Non Conventional Android Programming (Italiano)
 

Recently uploaded

ScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIinfogdgmi
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Associazione Digital Days
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Associazione Digital Days
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Associazione Digital Days
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Associazione Digital Days
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Associazione Digital Days
 

Recently uploaded (6)

ScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AI
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
 

Il web intelligente

  • 1. Il web intelligente Smart is the new sexy Better Software 2011 Firenze - 27/ 28 giugno 2011
  • 2. Happy Developer . http://about.me/davidecerbo http://www.exmachina.ch http://www.linkedin.com/in/davidecerbo http://twitter.com/davide_cerbo
  • 3. Ringraziamenti Costantino Cerbo Davide Palmisano Senior developer @ Gebit CEO @ Smartetics in Germania in Inghilterra • http://linkedin.com/in/ccerbo • http://linkedin.com/in/davidepalmisano • http://text-analysis.sourceforge.net/ • http://smartetics.co.uk/ • http://twitter.com/webtextanalysis • http://twitter.com/dpalmisano
  • 4.   “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  efficiente questa attenzione tra la  sovrabbondanza di informazioni che potrebbero  consumarla” H.A. Simon
  • 5. Come ne usciamo? Aiutiamo il web a diventare più intelligente!
  • 6. Le nostre armi segrete Analisi del testo Sistemi di raccomandazione Open Data Web Semantico
  • 7. Analisi del testo "si riferisce al processo di estrazione di  informazioni di alta qualità dal testo" (http://en.wikipedia.org/wiki/Text_mining) I 4 passi base Esempio "Grazie a tutti per essere venuti a Better Software"
  • 8. Tokenizzazione • Analizzare il testo per estrarre i termini String[] tokens = {"Grazie", "a", "tutti", "per", "essere", "venuti", "a", "Better", "Software!"} Normalizzazione • Pulire il testo da caratteri e differenze non utili String[] tokens = {"grazie", "a", "tutti", "per", "essere", "venuti", "a", "better", "software"}
  • 9. Eliminazione "Stop Words" • Eliminare le parole di uso comune in una lingua che non incidono per l'identificazione del contenuto del testo. • Esistono delle liste open source per le varie lingue, per l'italiano: http://snowball.tartarus.org/algorithms/italian/stop.txt String[] tokens = {"grazie", "a", "tutti", "per", "essere", "venuti", "a", "better", "software"}
  • 11. Principali algoritmi • Estrazione contenuto rilevante da pagina web o http://boilerpipe-web.appspot.com/ o https://www.readability.com/ • Rilevamento della lingua o https://ajax.googleapis.com/ajax/services/language/detect?v=1.0&q=Benvenuta %20gente o http://www.alchemyapi.com/api/demo.html • Estrazione parole chiave o http://www.alchemyapi.com/api/demo.html o http://developer.yahoo.com/search/content/V1/termExtraction.html o http://saplo.com/api • Categorizzazione testo o http://uclassify.com/ • Riassunti automatici o http://topicmarks.com/dashboard o http://shablast.com/?id=1080961&type=Summary o http://lada.si.umich.edu:8080/clair/nie1/nie.cgi • Estrazione di "Named entity" o http://cogcomp.cs.illinois.edu/demo/ner/?id=8 o http://access.alchemyapi.com/demo/entities_int.html?mode=entity o http://www.opencalais.com/about
  • 12. Sentimental Analysis Categorizza dei testi in positivi o negativi tramite l'estrazione di frasi o parole chiave Molto usato per analisi su Twitter o su post dei blog • Twitter o http://www.tweetfeel.com o http://twittersentiment.appspot.com/ • Ristoranti, hotel, aziende o http://www.infoglutton.com • Mercato azionario o http://www.thestocksonar.com • Marchi, avvenimenti, etc o http://www.repustate.com
  • 14. Il Semantic Web Semantic Web, Web of Data, Machine-readable Web, Web 3.0 ... termini differenti per indicare la stessa idea: correlare dati eterogenei tra di loro come fossero  pagine Web "The Semantic Web is a webby way to link data"  - Dave Beckett, Yahoo Inc.
  • 15. Il Semantic Web: building blocks RDF Microformats schema.org RDFa Microdata
  • 16. Il Semantic Web: RDF Resource Description Framework (RDF) è lo standard base del W3C. • qualsiasi entità descrivibile è identificata da una URI • proprietà e relazioni tra entità vengono espresse con URI • lo statement (o tripla) è l'unità base: soggetto - predicato - oggetto • un insieme di statement fanno un grafo RDF • i grafi si serializzano tramite: RDF/XML, N-Triples, Notation3, ... Esempio: Davide Cerbo è l'autore della presentazione il Web Intelligente diventa in RDF/XML: <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax- ns#" xmlns:au="http://description.org/schema/"> <rdf:Description about="http://snoopal.com/..."> <au:author>http://snoopal.com/user/davidecerbo</au:author> </rdf:Description> </rdf:RDF>
  • 17. Il Semantic Web: RDFa Resource Description Framework-in-Attribute (RDFA) è una W3C Recommendation per aggiungere RDF nelle pagine web. Gli attributi usati sono: about o src, rel o rev, href or resource, property,  content, datatype e typeof Esempio: <div xmlns:dc="http://purl.org/dc/elements/1.1/" about="http://snoopal.com..."> <span property="dc:title">Il web Intelligente</span> <span property="dc:creator">Davide Cerbo</span> <span property="dc:date">2011-06-27</span> </div>
  • 18. Il Semantic Web: Microformats Microformats è una specifica per includere informazioni semantiche in una pagina web usando gli attributi: • class • rel Ha molte specifiche per descrivere, ad esempio: ricette (hRecipe), CV (hResume), recensioni (hReview) e risorse multimediali (hMedia). Esempio: <div class="vcard"> <div class="fn">Davide Cerbo</div> <div class="org">Ex Machina</div> <div class="tel">+41 00 000 000 000</div> <a class="url" href="http://...">http//exmachina.ch</a> </div>
  • 19. Il Semantic Web: Microdata Microdata e' parte di una specifica di HTML5 per annotare semanticamente porzioni della pagina Web. La specifica prevede un algoritmo per convertirle Microdata in RDF. L'idea alla base e' quella di prevedere gruppi (items) di coppie chiave-valore (itemprop), rappresentati da elementi del DOM annotati con i seguenti attributi: itemscope, itemtype, itemid, itemref e itemprop Esempio: <section itemscope itemtype="http://example.org/animals#cat"> <h1 itemprop="name">Hedral</h1> <p itemprop="desc">Hedral is a male american domestic shorthair, with a fluffy black fur with white ...</p> <img itemprop="img" src="hd.jpg" title="Hedral,age 18 "> </section>
  • 20. Il Semantic Web: Schema.org Da un accordo tra i principali motori di ricerca nasce schema.org, un vocabolario basato su Microdata per la descrizione di entità di uso comune: • Creative works: Book, Movie, MusicRecording, Recipe, TVSeries ... • Embedded non-text objects: AudioObject, ImageObject, VideoObject • Person • Place, LocalBusiness, Restaurant ... I SEO dovranno rispettare un solo standard!
  • 21. Il Semantic Web: Real life :-)
  • 22. Il Semantic Web: Real life :-)
  • 24. "My Administration is committed to creating an  unprecedented level of openness in Government.     We will work together to ensure the public  trust and establish a system of transparency,  public participation, and collaboration. Openness  will strengthen our democracy and promote  efficiency and effectiveness in Government." Open Government Initiative Memorandum,  President B. Obama 
  • 25. Open data e il Semantic Web • L'idea alla base prevede che alcuni dati siano pubblici e riusabili da liberamente al fine di promuovere trasparenza e partecipazione democratica • Numerose iniziative o data.gov o data.gov.uk o dati.piemonte.it o datasf.org o ... cerca #opendata su twitter ;)
  • 26. Open data e il Semantic Web Tuttavia la pubblicazione dei dati rimane estremamente eterogenea: • file CSV, testi non strutturati • XML • ... • fino a piattaforme più sofisticate L'eterogeneità rimane un ostacolo allo sviluppo rapido di mashups e applicazioni Necessità di gestire il licensing dei dati Necessità di monetizzare API e mashups su questi dati Metodo per il riconoscimento della qualità dei data sets
  • 27. Il Semantic Web: Linked Open Data Il web permette di collegare documenti. Similarmente permette di collegare dati. Il termini Linked Data fa riferimento ad un insieme di best practices per pubblicare e collegare dati strutturati nel Web. Le tecnologie chiave che supportano Linked Data sono URI ( un modo generico per indentificare entità o concetti nel mondo), HTTP (un meccanismo semplice, ma universale, per recuperare risorse o descrizioni di risorse), e RDF (un generico modello basato su grafo che struttura e collega le cose nel mondo). Tom Heath (http://tomheath.com/papers/bizer-heath-berners-lee-ijswis-linked-data.pdf)
  • 30. Il Semantic Web: a 5 stelle ★★★★★ rendi i tuoi dati disponibili sul web (in qualsiasi formato) e con una licenza aperta ★★★★★ forniscili come dati strutturati ★★★★★ usa formati non proprietari ★★★★★ usa URI per identificare le tue risorse, così che gli utenti possano puntarle direttamente ★★★★★ collega i dati ad altri dati per fornire un contesto http://lab.linkeddata.deri.ie/2010/star-scheme-by-example/
  • 31. Il Semantic Web: data markets Linked Open Data è un modello per la pubblicazione e l'interlinking di open data sets differenti. La ricerca degli stessi, la loro catalogazione, la pubblicazione di API derivate dal mashup degli stessi sta portando ai primi data markets: • datamarket.com • infochimps.com • kasabi.com • factual.com • ckan.net Si intravedono i primi revenue model per data owner e API
  • 33.     "Il 90% di tutto è spazzatura" Theodore Sturgeon
  • 34.     "Che cos'è l'intelligenza collettiva? In primo luogo bisogna  riconoscere che l'intelligenza è distribuita dovunque c'è  umanità, e che questa intelligenza, distribuita dappertutto,  può essere valorizzata al massimo mediante le nuove  tecniche, soprattutto mettendola in sinergia. Oggi, se due  persone distanti sanno due cose complementari, per il  tramite delle nuove tecnologie, possono davvero entrare in  comunicazione l'una con l'altra, scambiare il loro sapere,  cooperare. Detto in modo assai generale, per grandi linee, è  questa in fondo l'intelligenza collettiva" Pierre Lévy
  • 35. Sistemi di raccomandazione La nostra missione: Fornire ai nostri utenti gli elementi di loro interesse a partire dai dati di cui si dispone: informazioni su utenti e oggetti. Tipi: • Basati sul contenuto elementi simili a quelli piaciuti nel passato • Collaborativi elementi che sono piaciuti a persone con profili simili • Ibridi un mix trai precedenti
  • 36. Basati sul contenuto Punti chiave: • Creare un profilo per ogni elemento • Il profilo assegnato manualmente o automaticamente. • Per i testi si utilizzano le tecniche di analisi del testo. Esempio: Se io compro un libro di James Frey mi verranno suggeriti tutti  gli altri libri dello stesso autore, dello stesso genere,  pubblicati nello stesso anno Pro: • buoni risultati anche in sistemi con pochi utenti Contro: • offre raccomandazioni scontate (e.s.: i libri di James Frey li posso scoprire anche vedendo  la sua bibliografia)
  • 37. Collaborativi: Memory-based Punti chiave: • Si basano sulla storie delle valutazioni degli utenti. • Vengono usate diverse tecniche euristiche per calcolare la somiglianza tra utenti come il calcolo del Coefficiente di correlazione di r di Pearson. • Non tutti gli utenti valutano gli elementi nello stesso modo. I voti vanno normalizzati! Esempio: Se io compro un libro di James Frey mi verranno suggeriti i libri comprati da un gruppo di persone che hanno fatto lo stesso acquisto. Pro: • offre raccomandazioni più imprevedibili • crea relazioni fra utenti e la possibilità di raccomandazioni indirette Contro: • cold start: servono molti utenti per avere buone raccomandazioni • difficilmente tutti gli utenti esprimeranno preferenze su un numero sufficiente di risultati (si può risolvere con la Dimensionality Reduction) • Banana Problem: si suggeriscono sempre degli elementi molto comuni
  • 38. Collaborativi: Model-based Punti chiave: • Si basano sulla storie delle valutazioni degli utenti per creare un modello • Solitamente basato sul calcolo delle probabilità. • Sfruttano l'Analisi del Collegamenti. Esempio: Se io compro un libro di James Frey mi verranno suggeriti i libri comprati da un gruppo di persone che hanno fatto lo stesso acquisto. Dando maggior peso a quelli acquistati da utenti molto  attivi o importanti nel sistema. Pro: • offre raccomandazioni più affidabili rispetto ai Memory-based • gli stessi del Memory-based Contro: • costi computazionali elevati • gli stessi del Memory-based
  • 39. Links raccomandati :) • IntroAnalytics http://www.introanalytics.com/examples.php • DirectEdge http://www.directededge.com/ • Sailthru Concierge https://www.sailthru.com/concierge • kassandra-recommendations http://code.google.com/p/kassandra-recommendations/
  • 40. L'angolo dello smanettone 1/2 • Apache Lucene http://lucene.apache.org/java/docs/ • Text Analysis http://text-analysis.sourceforge.net/ • Apache OpenNLP http://incubator.apache.org/opennlp/ • LingPipe http://alias-i.com/lingpipe/ • NLTK (python) http://www.nltk.org/ • Apache Mahout http://mahout.apache.org/ • Apache UIMA http://uima.apache.org/ • Any23 http://developers.any23.org
  • 41. L'angolo dello smanettone 2/2 • Virtuoso (anche OpenSource) http://virtuoso.openlinksw.com/ • Jena http://jena.sourceforge.net/ • Sesame http://www.openrdf.org/ • JRDF http://jrdf.sourceforge.net/ • SIREn http://siren.sindice.com/ • Apache Clerezza http://incubator.apache.org/clerezza/ • OrientDb (graph DB prima o poi vi servirà!) http://www.orientechnologies.com/ • Sail Ouplementation https://github.com/tinkerpop/blueprints/wiki/Sail-Ouplementation
  • 42. Letture consigliate 1/2 • Algorithms of the Intelligent Web http://www.manning.com/marmanis/ • Mining the Social Web http://oreilly.com/catalog/0636920010203/ • Collective Intelligence in Action http://www.manning.com/alag/ • Programming Collective Intelligence http://oreilly.com/catalog/9780596529321 • Costruire sistemi per la reputazione Web http://www.tecnichenuove.com/libri/costruire_sistemi_per_reputazione_web.html
  • 43. Letture consigliate 2/2 • Semantic Web. Dai fondamenti alla realizzazione di un'applicazione  http://hpe.pearson.it/scheda_opera.php?ID=2789&macrodestinazioneID=&materiaID= • Thinking on the Web Web   http://www.wiley.com/WileyCDA/WileyTitle/productCd-0471768669.html
  • 44. Q&A