Python en la Web Semántica
Upcoming SlideShare
Loading in...5
×
 

Python en la Web Semántica

on

  • 4,963 views

Esta charla tiene por objetivo discutir los patrones de diseño de la web 2.0 y las nuevas tendencias de la web semántica. Los 12 patrones que dirigen la presentación son: Information sharing, ...

Esta charla tiene por objetivo discutir los patrones de diseño de la web 2.0 y las nuevas tendencias de la web semántica. Los 12 patrones que dirigen la presentación son: Information sharing, User-centered design, MVC architecture, Participation & collaboration, Social networking, Search & recommendation engines, Folksonomy, Community & collective intelligence, Inter-operability & data portability, Rich user experience, Separation of content and presentation, Web as a platform (ubiquity).

Junto con esto se presentan brevemente algunos frameworks y módulos de Python que permiten el desarrollo de este tipo de aplicaciones web. Asimismo, se muestran ejemplos de consumo de APIs de servicios web populares (JSON, XML, feeds y HTML scraping) y un ejemplo de procesamiento de contenido a través de herramientas semánticas.

More info at:
http://ar.pycon.org/2009/conference/schedule/event/30/

Download original slideshow in PDF format at:
http://ar.pycon.org/2009/conference/schedule/event/30/

Licensing and Acknowledgements at: http://ar.pycon.org/2009/conference/schedule/event/30/

Python en la Web Semántica by Santiago Andrés Coffey is licensed under a Creative Commons Reconocimiento-No comercial-Compartir bajo la misma licencia 2.5 Argentina License.
http://creativecommons.org/licenses/by-nc-sa/2.5/ar/

Statistics

Views

Total Views
4,963
Views on SlideShare
4,902
Embed Views
61

Actions

Likes
1
Downloads
87
Comments
1

3 Embeds 61

http://www.coffey.com.ar 31
http://www.slideshare.net 24
http://sirshamrock.blogspot.com 6

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Buenos a días a todos.
  • La presentación que hoy tengo el honor de compartir con Uds. se trata de la web. De la evolución de la web.
  • Piensen lo siguiente: Hoy en día Internet es una tecnología que ha transformado al mundo en muchos aspectos, económicos, sociales, etc. y que BOOM! Hace 20 años no existía.
  • ¿Qué hicimos con Internet para que esto sea posible? La web 2.0. ¿Y qué es la web 2.0? Bueno, en realidad deberíamos preguntarnos qué FUE la web 2.0. Porque la idea de esta charla es hablar un poco también de las tendencias que se empiezan a vislumbrar en el futuro de la web.
  • La web 2.0 es una segunda generaci&#xF3;n del desarrollo y dise&#xF1;o web. <br /> <br /> Entonces, tratemos de analizar cu&#xE1;les fueron esos cambios entre la vieja y la nueva forma de "hacer las cosas" en la web. Para simplificar vamos a referirnos a estas 2 formas de hacer las cosas como web 1.0 y 2.0 respectivamente.
  • Esto es como cuando alguien cocina algo que sale muy bien. &#xBF;Qu&#xE9; hizo para que le salga tan bien? O sea, &#xBF;cu&#xE1;l es la receta para una web 2.0?
  • Bueno, se pueden mencionar muchos ingredientes secretos.
  • Pero creo que se pueden resumir en 12 ingredientes. S&#xF3;lo que los ingenieros de software llaman a esos ingredientes patrones de dise&#xF1;o.
  • Web 1.0: Internet = Fuente de informaci&#xF3;n <br /> Web 2.0: Internet = Fuente de informaci&#xF3;n Sumidero de informaci&#xF3;n <br /> PATTERN 1: INFORMATION SHARING
  • ++ Ejemplos...
  • Todos pueden editar y colaborar. Participaci&#xF3;n con comentarios.
  • Recomendaci&#xF3;n = Valor agregado
  • ++Meaningtool
  • Tags: Mejor clasificaci&#xF3;n. Colecciones emergentes.
  • Wisdom of crowds
  • ++ RDF, DBPedia <br /> ++ Aprovechar otros servicios (ejemplo: Twitter: EC2 Amazon y URL shorteners, YouTube: CDN Akamai, Facebook: Google Images para thumbnails de links)
  • Publisher-Subscriber
  • Demo Microformats LinkedIn
  • Demo Microformats LinkedIn
  • Rich Internet Application. Sin cargar nueva p&#xE1;gina. Manejo de eventos por Javascript. Web sem&#xE1;ntica: Web OS?
  • Ubiquity

Python en la Web Semántica Python en la Web Semántica Presentation Transcript

  • en la Web Semántica Santiago Coffey - PyCon 2009 - Buenos Aires
  • WEB
  • WEB
  • Global Internet traffic estimates (TB/month) 9.000.000 7.500.000 6.000.000 4.500.000 3.000.000 1.500.000 0 1990 1992 1994 1996 1998 2000 2002 2004 2006 2008 Source: Cisco Visual Networking Index Forecast. http://www.cisco.com/go/vni
  • LA MUERTE DE LA WEB 2.0
  • QUÉ fue LA ES WEB 2.0
  • La web 2.0 es la segunda generación del desarrollo y diseño web
  • ¿Cuál es la receta para esa nueva forma de hacer la web?
  • 12 patrones
  • PATTERN #1  INFORMATION SHARING
  • 1.0 2.0 FUENTE FUENTE Y SUMIDERO DE INFORMACIÓN DE INFORMACIÓN
  • WEB SITES WEB APPLICATIONS WEB SERVICES 3.0 SEMANTIC WEB USERS
  • PATTERN #2  USER-CENTERED DESIGN
  • WEB 1.0 WEB 2.0 CENTRADO EN RECURSOS CENTRADO EN USUARIOS
  • http email socket xmlrpc xml cgi PYTHON 3.0 ssl BATTERIES INCLUDED smtpd hashlib urllib smtplib json wsgiref codecs html
  • Babel lxml Paste Beaker boto NumPy nltk WebHelpers PIL PYTHON MODULES Twisted SWISS ARMY KNIFE PyYAML FormEncode SQLAlchemy BeautifulSoup feedparser python-memcached pycrypto
  • PATTERN #3  MODEL-VIEW- CONTROLLER ARCHITECTURE
  • HTTP://WWW.E-XAMPLE.COM http://examp.le BROWSER  DIRECTORY  DIRECTORY WEB SERVER  DIRECTORY  JPG ROUTE DISPATCHER  GIF CONTROLLER  JS  HTML  HTML MODEL VIEW  HTML  HTML DATA BASE SITIO WEB: REPOSITORIO APLICACIÓN WEB: DE PÁGINAS ESTÁTICAS MULTI-CAPA, CON ESTADO
  • Python Web Frameworks • Django • Zope • Pylons • Plone • TurboGears • MoinMoin • Google App • Python Paste Engine • CherryPy
  • Alternative DBMS • memcachedb • Key-value storage • HBase + Thrift • No joins, non- • flat files (CSV) transactional • BerkeleyDB • Scalable, • Map Reduce fault-tolerant
  • PATTERN #4  PARTICIPATION & COLLABORATION
  • WEB 1.0 WEB 2.0 PUBLICACIÓN INDIVIDUAL EDICIÓN COLABORATIVA
  • PATTERN #5  SOCIAL NETWORKING
  • 1.0 2.0 RED DE COMPUTADORAS RED DE AMIGOS
  • IDEA SIMPLE GRANDES RESULTADOS
  • PATTERN #6  SEARCH & RECOMMENDATION ENGINES
  • WEB 1.0: NAVEGAR TODO PARA DESCUBRIR WEB 2.0: TEORÍA DEL ICEBERG (SÓLO SE VE EL 10%)
  • ¿Qué hace una web semántica? • Integración (aggregation) • Definición de ontologías • Análisis semántico • Agregado de valor (filtrado, asociación, recomendación, etc.)
  • ¿Cuál es la misión de la web semántica?
  • ¿De qué habla (cuál es el significado) el contenido de un determinado documento HTML? ¿Cuál es el contenido relevante de un determinado documento HTML? ¿En qué idioma está un texto determinado?
  • ¿Qué palabras son equivalentes entre sí? (stemming) ¿Se pueden inferir tags automáticamente a partir de un texto? ¿Cómo se pueden eliminar palabras comunes como artículos y preposiciones (stop words)?
  • ¿Cuál es la estructura sintáctica de una oración o proposición? (part of speech) ¿Cómo se puede eliminar la ambigüedad entre los distintos significados de una misma palabra? ¿Es posible agregar información del contexto eficientemente?
  • ¿Cómo se puede mejorar la relación señal-ruido (signal to noise ratio) de la información que consume un usuario? ¿Cómo se pueden identificar digramas en un texto? ¿Cuántas y cuáles son las categorías apropiadas para clasificar contenidos en una determinada ontología?
  • PATTERN #7  FOLKSONOMY
  • WEB 1.0 WEB 2.0 TAXONOMY FOLKSONOMY (HIERARCHICAL CLASSIFICATION) (COLLABORATIVE TAGGING)
  • PATTERN #8  COMMUNITY & COLLECTIVE INTELLIGENCE
  • WEB 1.0 WEB 2.0 CONSTRUIR PORTALES CONSTRUIR COMUNIDADES
  • PATTERN #9  INTER-OPERABILITY & DATA PORTABILITY
  • RSS Atom {json} Widgets JSON <xml/> RDF  XML-RPC WEB CRAWLERS / SPIDERS / BOTS WEB SYNDICATION, WIDGETS, (HTML SCRAPING) OPEN APIs, AGGREGATION
  • Ejemplo: Atom feed from feedparser import parse url = 'http://blog.ianbicking.org/' 'feed/atom/' feed = parse(url) titles = [i['title'] for i in feed['entries']] print 'n'.join(titles)
  • Ejemplo: Twitter API from urllib2 import urlopen from simplejson import loads url = 'http://twitter.com/statuses/' 'user_timeline/JohnCLeese.json' raw_data = urlopen(url).read() tweets = [i['text'] for i in loads(raw_data)] print 'n'.join(tweets)
  • Ejemplo: GData API from gdata.service.youtube import YoutubeService url = 'http://gdata.youtube.com/feeds/' 'api/users/MontyPython/uploads' client = YouTubeService() feed = client.GetYouTubeVideoFeed(url) titles = [i.title.text for i in feed.entry] print 'n'.join(titles)
  • Ejemplo: HTML Scraping from urllib2 import urlopen from lxml.html import fromstring url = ... html = urlopen(url).read() root = fromstring(html) • Demo con Microformats en LinkedIn
  • PATTERN #10  RICH USER EXPERIENCE
  • CLIENT-SIDE SCRIPTING CON INTERACCIÓN POR FORMULARIOS INTERACCIÓN ASINCRÓNICA (CON RECARGA DE PÁGINA) (e.g.: AJAX)
  • Web OS?
  • PATTERN #11  SEPARATION OF CONTENT AND PRESENTATION
  • <HTML> <HEAD> <TITLE>My Homepage</TITLE> </HEAD>  STRUCTURE & CONTENT <BODY BGCOLOR="YELLOW"> XHTML <SCRIPT>window.status="Hello!"</SCRIPT> + <TABLE WIDTH="640"> <TR><TD>  <CENTER> <MARQUEE>Welcome to my homepage!</MARQUEE> PRESENTATION <IMG SRC="animation.gif" WIDTH="180" HEIGHT="31" BORDER="1"> </CENTER> CSS + <P><FONT COLOR="blue">This is a <BR> <FONT FACE="Arial"><U>fake link</U>! </FONT></P> </TD> <TD ALIGN="RIGHT"> <P>Sign my <A HREF="/cgi-bin/sign" TARGET="_parent">guestbook</A></P> <BLINK>Under <B>construction</B>!</BLINK>  CLIENT-SIDE SCRIPTING JS </TD></TR> </TABLE> </BODY> </HTML> STRUCTURE & CONTENT CLUTTERED HTML ≠ PRESENTATION
  • PATTERN #12  WEB AS A PLATFORM (UBIQUITY)
  •  WEB TV  YOUR SYSTEM IS THE PLATFORM   THE WEB  IS THE PLATFORM PROPRIETARY SPECIFICATIONS WEB STANDARDS PLATFORM DEPENDENCE DEVICE INDEPENDENCE BROWSER WARS CROSS-PLATFORM DESIGN
  • OMNIPRESENCIA (UBIQUITY) THE WEB IS WATCHING YOU!
  • • Robot no exactamente electro-mecánico • Sensores: Humanos-Máquinas • Actuadores: Humanos-Máquinas • Entorno: Mundo • AI: Webapps + Semantic Web + ...
  • • Procesa datos y responde a estímulos • ¿Es autónomo? • ¿Es consciente? • Es tolerante a fallas • Es “inteligente” • Aprende • Evoluciona © John W Liberto
  • Suena ilusorio ¿no? ¿Pero podíamos imaginar hace 20 años una web como la que hoy conocemos? Además, ya hay aplicaciones...
  • Resumen: Los 12 patrones • Information sharing • Folksonomy • User-centered design • Community & collective intelligence • MVC Architecture • Inter-operability & Data • Participation & portability collaboration • Rich User Experience • Social networking • Content ≠ Presentation • Search & recommendation engines • Web as a Platform
  • Conclusiones • Web como AI (como un robot) • Misión de la web semántica: Agregar valor a la información • ¿Tecnología? No, patrones
  • ¡Gracias! santiago.coffey@popego.com http://twitter.com/scoffey http://scoffey.popego.com