En este Blog se definen conceptos como búsqueda semántica, buscador semántico y se exponen ejemplos de las ventajas de los buscadores semánticos con respecto a los buscadores convencionales, basados en el uso de palabras clave para encontrar información y mostrarla al usuario. El interés industrial y comercial de las búsquedas semánticas se manifiesta tanto en la aparición de numerosos buscadores semánticos como en la utilización de técnicas semánticas para complementar las búsquedas convencionales (en Google, por ejemplo).

martes, 23 de noviembre de 2010

NaturalFinder: el complemento ideal para su buscador


NaturalFinder dos empresas españolas, Sitesa y Bitext, enfocaron sus tecnologias en un solo proyecto. Fruto de sus esfuerzos nació este complemento que integrado en los buscadores con Google, es capaz de comprender el lenguaje natural. El enlace da a una demo, donde existen limitaciones, pero tendras la posibilidad de comparar una búsqueda con NF y otra sin ella.

NaturalFinder es el complemento esencial de cualquier buscador para Internet e intranets: le permite realizar consultas en lenguaje natural sin necesidad de usar operadores sólo aptos para usuarios avanzados (booleanos, comodines...). Gracias a la tecnología lingüística, el usuario se concentra en redactar la consulta en su propio idioma como si preguntara a otra persona. NaturalFinder devolverá todos los documentos que sean relevantes con la consulta y devolverá más documentos que los buscadores tradicionales basados en palabras claves.

NaturalFinder se integra con cualquier buscador y lo convierte en un buscador semántico. Algunos ejemplos de buscadores con los que hemos trabajado son:

  • Buscadores para intranet:
    • dtSearch Text Retrieval Engine.
    • Google Search Appliance
    • OmniFind
    • Autonomy
    • Lucene
    • Memex, Oracle SES, SharePoint, etc.
  • Existen varios buscadores para internet, de los cuales se requiere contraseña, pero que se pueden buscar y probar.

Existen dos versiones avanzadas de NaturalFinder, pensadas para entornos específicos:

  • NaturalGIS: lenguaje natural para sistemas GIS.
    NaturalGIS
    le permite encontrar fácilmente la información geográfica de su sistema GIS de manera sencilla, rápida y efectiva usando lenguaje natural. Se trata de un conector que incorpora tecnología lingüística para facilitar las búsquedas de los usuarios en la información contenida en los sistemas GIS, de forma que sea este sistema el que se acomoda al lenguaje natural del usuario y no al revés.
  • NaturalBox: interfaz de caja única con lenguaje natural.
    NaturalBox
    permite al usuario escribir sus consultas en una única caja, sustituyendo al modelo habitual de varias cajas de texto propio de los formularios. Esto hace mucho más sencillas de usar las páginas que emplean múltiples formularios, como portales de consumo, servicios online, directorios comerciales, etc.

Ventajas

  • Interfaz en lenguaje natural
  • Optimización de la consulta
  • Gestión de relaciones semánticas (sinónimos, antónimos, palabras relacionadas...)
  • Corrección ortográfica
  • Filtrado por relevancia absoluta
  • Posibilidad de crear servicios de búsqueda de caja única para facilitar el uso de formularios complejos
  • Disponible en versiones Linux y Windows, sencillas de integrar con cualquier buscador
  • Capacidad de funcionar como servicio albergado: ASP, SaaS (Sofware as a Service)
  • Disponible en español, inglés, francés, euskera, catalán y valenciano.
  • En desarrollo en gallego, portugués, italiano y alemán.

Buscador Semántico Invenio




SIOC

Uno de los conceptos asociados con la Web Semántica, es SIOC, acrónimo en inglés de Semantically-Interlinked Online Communities (Comunidades Online Semánticamente Interconectadas).

Utilizando tecnologías de la Web Semántica como RDF, SIOC provee métodos para interconectar diferentes sitios de discusión, desde blogs, foros y listas de correo.

Consiste en una ontología, definida en RDFS y OWL-DL, que, reutilizando ontologías ya existentes como Dublin Core o FOAF, permite expresar de una man
era procesable (no sólo por personas) información de estos tipos de sitios en Internet.

El proyecto SIOC fue creado en 2004 por John G. Breslin and Uldis Bojars de DERI, NUI Galway. En 2007, SIOC se convirtió en Member Submission (Tecnología Reconocida) de W3C.


Usos de la Web Semántica en la Educación en Línea


La Web Semántica puede contribuir principalmente en dos áreas, a saber:

  • Ayudando al equipo de trabajo a hacer algunas de sus tareas más flexibles, hacer los aspectos educativos en línea más eficientes y menos aislados, esto incluye las tareas de desarrollo de cursos en línea, ayudar al aprendiz en sus tareas, mejorar las evaluaciones y manejo y administración de cursos.
  • Ayudando a las personas que cumplen diferentes roles (aprendices, tutores y proveedores de contenido), a desempeñar sus tareas más efectiva y eficientemente en espacios de aprendizaje grandes, distribuidos, basados en problemas, multi actores, multi recursos, crear y modificar ambientes de aprendizaje centrados en el aprendiz, no lineales y autodirigidos.
En el caso particular de la educación en línea, donde el aprendizaje no es dirigido por el instructor, sino que los estudiantes tienen libertad de acceder al material disponible en un orden no predefinido y componer su aprendizaje de la manera que más se adapte a ellos, puede hacerse necesario incorporar información a los documentos disponibles para la consulta de los estudiantes, que permita indexar y recuperar esta información de manera efectiva.

El uso de metadatos es una respuesta natural para solucionar este problema, y de hecho ya ha sido implementado en librerías en línea desde hace algún tiempo. En e-learning, es común que los docentes realicen asociaciones entre sus materiales, o definan las propiedades educativas o pedagógicas de los documentos, o el orden en el que los estudiantes deben acceder a estos materiales. Sin embargo, toda esta información no está reflejada en los documentos cuando se colocan en Internet, por lo que no puede ser manejada automáticamente por los ordenadores. Si se incorporan elementos semánticos a los documentos que colocan los docentes en Internet, reflejando las relaciones entre ellos, una aplicación Web podría actuar como agente, que ayude a los estudiantes a realizar un recorrido efectivo sobre el contenido del curso en línea (Antoniou y Harmelen, 2004).

Ventajas y Desventajas de la Web Semántica

La principal ventaja que aporta la Web Semántica es que incorpora contenido semántico a los documentos que se colocan en Internet, permitiendo organizar por conceptos la información que ofrecemos, garantizando búsquedas sobre ésta por significado y no por contenido textual.

Entre las desventajas, la primera es que se hace necesario reestructurar los documentos que ya están en Internet, para adaptarlos al formato que propone la Web Semántica, de tal manera que puedan ser interpretados de manera correcta por los ordenadores (Bourda y Doan, 2003). Esto incluye los problemas de idiomas, ya cada uno tiene una semántica diferente, lo que lleva a hacer buscadores semánticos por idioma, y más aún, por área de conocimiento (Tjoal et al, 2005).

La segunda, es en el caso de las ontologías para representar la semántica, ya que en ellas es necesario proveer relaciones de equivalencia entre conceptos, por ejemplo en el caso del código postal, se debe establecer que CP es igual a código postal, y a zip code, en el caso del inglés.

Otra de las desventajas más grandes con las que cuenta la WEB 3.0 es que la sintaxis RDF/ZML no es muy fácil de leer. Sin embargo, esto no debe ser una complicación ya que al tratarse de sistemas de escritura de datos, la codificación semántica podría ser totalmente automatizada.

Características de la Web 3.0

Una de las características más distintiva de esta nueva etapa, es la expansión en la capacidad de acceder a los contenidos online. El ordenador personal ya no es el único medio de entrar a la red. El móvil, el iPhone, el Blackberry, las consolas de juego, los dispositivos para leer ebooks, y la televisión por internet han revolucionado los sitios, los mensajes y los contenidos. Es necesario entonces, dar un salto, salir de la caja mental en la que muchos están encerrados, y pensar que la Internet ya es parte constitucional de nuestra vida. Es más que un servicio, es una manera de pensar la cultura.

El usuario cuenta con muchas más herramientas para “hacer comunidad” online, y dentro de esta comunidad, manejar sus propios contenidos: el entretenimiento, las relaciones, la información y hasta la búsqueda laboral están definidos por la regionalización y el creciente sentido de pertenencia a un grupo concreto de usuarios. “Customización” es el común denominador.

Queda claro, entonces, que debemos repensar nuestro mensaje publicitario. Y uno de los canales que está tomando más importancia, y que nos sirven de modelo para ver en concreto el fruto de esta evolución, es el márketing móvil. Paulatinamente, esta actividad ha madurado desde el tradicional sms, a los contenidos personalizados, que despliegan cada vez mayor complejidad y variedad.

No es cuestión de desechar nuestros modelos de pensamiento. Promocionar un sitio Web, por ejemplo, también requiere de un Search Engine Optimization (SEO), lo que en español sería Optimización para los Motores de Búsqueda, “purista”, si se quiere. Las Keywords, el código, la arquitectura del sitio, todavía son importantes. Lo que sí es necesario es incorporar estas nociones, y dar un paso fuera de nuestro sitio. Por qué no considerar el sitio de una empresa como la sumatoria de su página –la tradicional-, más su página de Facebook, su página de Twitter, y sus distintas participaciones en diversas redes sociales? Pensado de esta manera, se cree que se gana en coherencia y efectividad a la hora de hacer promoción online.

lunes, 22 de noviembre de 2010

Tipos de Buscadores Semánticos


Un primer tipo es el motor de búsqueda textual (Full Text Search Engine) basado en análisis léxico. Se trata de una forma de procesamiento que divide el texto en parágrafos, frases, palabras y también identifica entidades tales como direcciones de correo electrónico y direcciones Web, todos estos elementos para ser procesados son considerados como unidades acumulativas, técnicamente llamadas tokens, son sometidos a una serie de parámetros estadísticos con los que se establece un rango de enlaces, esta lista es la que se presenta como respuesta a nuestra pregunta. Este tipo de motores son los primeros que aparecieron, eran de este tipo por ejemplo el Gopher, creado en 1991 por Mark McCahill de la University of Minnesota y Veronica.

Luego tenemos los motores con indización de la semántica latente (Latent semantic indexing, LSI), estos motores se basan en análisis del significado no literalmente explícito utilizando algoritmos con componentes estadísticos y léxicos. En este sentido el Latent semantic analysis (LSA) es una técnica de procesamiento del lenguaje natural (Natural Language Processing, NLP ) que usa una base de datos de documentos para encontrar términos similares. En este tipo de motores se puede encontrar entonces un cierto grado de sinonimia y devuelve los enlaces a los sitios Web que mejor se adaptan a nuestra búsqueda, el LSI no necesita tener el exacto término en una referencia para poder ofrecerlo como repuesta, puede usar aproximaciones de acuerdo con la estructura de sinónimos cuasi sinónimos que identifica. El motor Google utiliza este tipo de análisis, aunque el componente estadístico es más fuerte que el de procesamiento de lenguaje, pero según todos hemos podido experimentar puede detectar errores de tipeo, cambios en las expresiones, etc.

Vemos que el tema de los motores de búsqueda no solo se refiere a la calidad de la recuperación sino al negocio ligado a la ubicación en los primeros puestos de los enlaces en una respuesta. Finalmente tenemos los llamados motores de búsqueda semánticos, (Semantic Web search engines) que intentan tomar el sentido de una palabra como factor para los algoritmos de ordenamiento y también pueden ofrecer al usuario posibilidades para desambiguar o refinar su consulta. Estos son llamados también motores de búsqueda de tercera generación, los cuales su vez utilizan las otras dos tecnologías de búsqueda textual y de búsqueda de semántica latente a las que se suman otras específicas llamadas tecnologías de Web semántica. Estas son: ontologías, RDF (Resource Description Format) OWL (Ontology Web Language). Las tecnologías de Web semántica se basan en lógicas de descripción para dar cuenta de manera formal y computable de la semántica de los objetos de un sistema. Dentro de estos motores de tercera generación o motores de búsqueda semánticos debemos hacer algunas distinciones: Tenemos por un lado los Buscadores semánticos orientados al usuario (User oriented Semantic Web search engines) estos motores nos devuelven enlaces a páginas Web, y pueden usar internamente tanto tecnologías de Web semántica como de LSI, Entre ellos tenemos a los siguientes: True Knowledge, Hakia y PowerSet.

Además están los Buscadores semánticos orientados a servicios Web (Semantic Web Services oriented) Estos no son para el usuario final, sino que dan enlaces a útiles para los especialistas que necesitan trabajar en la construcción de recursos de Web semántica, devuelven enlaces a ontologías, archivos en OWL, a instancias de RDF. Entre ellos tenemos: SOWL,WSE, Watson, Falcons, Sindice y Swoogle Y finalmente tenemos los motores de búsqueda orientados a la Web social semántica La llamada socio-semantic web (s2w) se propone complementar la visión formal de la Web semántica con un acercamiento pragmático agregando a los lenguajes controlados creados con fuertes bases lógicas otros aspectos heurísticos basados en experiencias de prueba y error experimentadas por multitudes de usuarios que realizan etiquetado colaborativo (folksonomy). La diferencia de este tipo de motores con los buscadores semánticos orientados al usuario es que utilizan microformatos de Web 2.0 (por ejemplo RSS) para poner etiquetas y usan para el trabajo cooperativo apoyado en computadoras Computer Supported Cooperative Work (CSCW).

Estos es así porque la llamada Web semántica significa muchas cosas para muy diferentes tipo de personas y usos. Para algunos Web semántica significa la Web de los datos, donde la información está representada en RDF, OWL o en microformatos que se agregan a páginas HTML. Para otros, Web semántica es el ámbito de los servicios Web desde comercio electrónico y comunicación multimedial. Finalmente es la Web de la inteligencia artificial, de los programas capaces de resolver complejos problemas de optimización. Pero hay algo que uniforma esta diversidad: son los instrumentos para extraer o asignar sentido en los motores de búsqueda semánticos. Y aquí la diversidad se resume a solo dos opciones: El tratamiento del lenguaje natural (Natural Language Processing, NLP) y la anotación semántica. Anotación proceso y resultado El concepto de anotación semántica (semantic annotation) es conocido también como marcado semántico (semantic markup), etiquetado semántico (semantic tagging o semantic labelling), pero poco a poco el término anotación se ha ido imponiendo.

jueves, 18 de noviembre de 2010

miércoles, 17 de noviembre de 2010

Capa de la Web Semántica

RDF: basada y apoyada en la capa anterior, esta capa define el lenguaje universal con el cual podemos expresar diferentes ideas en la Web Semántica. RDF es un lenguaje simple mediante el cual definimos sentencias en el formato de una 3-upla o triple (sujeto: el recurso al que nos referimos; predicado: el recurso que indica qué es lo que estamos definiendo; y objeto: puede ser el recurso o un literal que podría considerarse el valor de lo que acabamos de definir). El modelo RDF o Resource Description Framework es un modelo común (Framework) que permite hacer afirmaciones sobre los recursos (Description) y que hace posible que estos recursos pueden ser nombrados por URIs (Resource). Por su parte RDF Schema provee un vocabulario definido sobre RDF que permite el modelo de objetos con una semántica claramente definida. Esta capa no sólo ofrece descripción de los datos, sino también cierta información semántica. Tanto esta capa como la anterior corresponden a las anotaciones de la información.

Breve historia del RDF

Cyc es un proyecto para crear inteligencia artificial con un "sentido común" básico. Consta de una gran base de datos que contiene definiciones tales como: un árbol es una especie de planta, un sicomoro es una especie de árbol, etc. Cyc puede por lo tanto deducir de estas definiciones que un sicomoro es una planta. Si bien el trabajo continúa en pos de una versión comercial de Cyc, también existe una versión de código abierto,OpenCyc.

Hotsauce fue un plug-in para navegadores web creado por Apple en 1996 que permitía a los usuarios utilizar navegación 3D en un sitio que incluyera una definiciónMCF. MCF, Meta Content Framework, (Marco de Meta Contenido) era una definición basada en texto que se utilizó en formatos de tipo RFC822 para describir un sitio. Siguiendo los ejemplos que encontré en Internet, he creado un ejemplo propio que describe el trazado de un sitio sencillo.

Cuando Guha se mudó a Netscape, se encontró con Tim Bray, co-autor del XML 1.0, y los dos trabajaron en crear una versión basada en XML del MCF, que enviaron al W3C en mayo de 1997. (También he creado un ejemplo sencillo de esto).

Con la adición de espacios de nombre (namespaces) a XML, RDF empezó a cobrar su forma actual. RDF usa espacios de nombre de XML para extender su vocabulario usando esquemas RDF, aunque vale la pena hacer notar que si bien el XML es el formato contenedor más común para RDF, también se usan otros formatos. El W3C usa un formato diferente llamado N3 (Notation3), que tiene gran similitud con los idiomas de estilo LISP, tales como el CycL y elKIF.

Los esquemas RDF separan los datos RDF - definiciones de cómo términos nuevos se relacionan unos con otros - de los metadatos "normales". En vez de definir la relación entre distintos elementos, tales como "A es hijo de B y una especie de C", como se hacía en MCF y MCF-XML, éstos son definidos en esquemas separados, a los cuales se puede hacer referencia usando y reusando espacios de nombre de XML (aunque también es posible incluir un esquema en el documento).

Declaraciones RDF

Cualquiera que se sienta interesado en aprender acerca de RDF haría bien en leer el RDF Primer de W3C, y/o "Una guía seria de la Web Semántica para la gente de XML", pero haré mi mejor esfuerzo en explicar los conceptos.

Cada declaración RDF se llama "triple", lo que significa que consiste de tres partes: sujeto, predicado y objeto; el sujeto puede ser tanto una URI RDF, o un nodo en blanco (no he visto buenas explicaciones acerca de por qué estos nodos están "en blanco", así que sólo me referiré a ellos como nodos). Por eso, reformulando la oración "Linux Gazette es el nombre del sitio en http://linuxgazette.net" se vé así:

http://linuxgazette.net tiene la propiedad name con el valor "Linux Gazette" 


Buscador Semántico


Es aquel que realiza el rastreo atendiendo al significado del grupo de palabras que escribes (Semantic web “SW”) y no basándose en las actuales etiquetas. Es pocas palabras, un buscador inteligente. Aunque todavía su uso es incipiente, ya existen algunos que ofrecen resultados reseñables e interesantes y ya son referencia para el futuro de la búsqueda de información.


Lista de algunos de los que ya están operativos:

  • NaturalFinder
  • Swootti
  • Ideas Afines
  • Buscador Experimental del BOPA

Web Semántica


La Web Semántica es una Web extendida, dotada de mayor significado en la que cualquier usuario en Internet podrá encontrar respuestas a sus preguntas de forma más rápida y sencilla gracias a una información mejor definida. Al dotar a la Web de más significado y, por lo tanto, de más semántica, se pueden obtener solu
ciones a problemas habituales en la búsqueda de información gracias a la utilización de una infraestructura común, mediante la cual, es posible compartir, procesar y transferir información de forma sencilla. Esta Web extendida y basada en el significado, se apoya en lenguajes universales que resuelven los problemas ocasionados por una Web carente de semántica en la que, en ocasiones, el acceso a la información se convierte en una tarea difícil.

¿Para qué sirve?

La Web ha cambiado profundamente la forma en la que nos comunicamos, hacemos negocios y realizamos nuestro trabajo. La comunicación prácticamente con todo el mundo en cualquier momento y a bajo coste es posible hoy en día. Podemos realizar transacciones económicas a través de Internet. Tenemos acceso a millones de recursos, independientemente de nuestra situación geográfica e idioma.
Todos estos factores han contribuido al éxito de la Web. Sin embargo, al mismo tiempo, estos factores que han propiciado el éxito de la Web, también han originado sus principales problemas: sobrecarga de información y heterogeneidad de fuentes de información con el consiguiente problema de interoperabilidad.

La Web Semántica ayuda a resolver estos dos importantes problemas permitiendo a los usuarios delegar tareas en software. Gracias a la semántica en la Web, el software es capaz de procesar su contenido, razonar con este, combinarlo y realizar deducciones lógicas para resolver problemas cotidianos automáticamente.

¿Cómo funciona?

Supongamos que la Web tiene la capacidad de construir una base de conocimiento sobre las preferencias de los usuarios y que, a través de una combinación entre su capacidad de conocimiento y la información disponible en Internet, sea capaz de atender de forma exacta las demandas de información por parte de los usuarios en relación, por ejemplo, a reserva de
hoteles, vuelos, médicos, libros, etc.

Si esto ocurriese así en la vida real, el usuario, en su intento, por ejemplo, por encontrar todos los vuelos a Praga para mañana por la mañana, obtendría unos resultados exactos sobre su búsqueda. Sin embargo la realidad es otra. El paso siguiente por parte del usuario es realizar una búsqueda manual entre esas opciones que aparecen, con la consiguiente dificultad y pérdida
de tiempo. Con la incorporación de semántica a la Web los resultados de la búsqueda serían exactos. La ubicación geográfica desde la que el usuario envía su pregunta es detectada de forma automática sin necesidad de especificar el punto de partida, elementos de la oración como "mañana" adquirirían significado, convirtiéndose en un día concreto calculado en función de un "hoy". Algo semejante ocurriría con el segundo "mañana", que sería interpretado como un momento determinado del día. Todo ello a través de una Web en la que los datos pasan a ser información llena de significado. El resultado final sería la obtención de forma rápida y sencilla de todos los vuelos a Praga para mañana por la mañana.

Interlinguísticas de los Buscadores Semánticos

En principio, los buscadores semánticos podrían evitar las páginas basura, que proliferan en la web como malas hierbas en un campo abandonado. Como tienen en cuenta el contexto de las palabras o frases de los documentos, podrían descartar esas páginas enseguida. Por ejemplo, una página web que incluya la frase "web semántica" rodeada de frases sobre cómo aumentar la potencia sexual, juguetes eróticos y sexo fácil en algún país lejano de costumbres relajadas sería eliminada de cualquier búsqueda sobre la web semántica o tendría una relevancia muy baja; pues el contexto de estas últimas frases (sexo) no tiene ninguna relación con la web semántica.

Que un buscador permita introducir preguntas en lenguaje natural ("¿Qué tiempo hace ahora en Viena?") y las responda correctamente no significa necesariamente que sea un buscador semántico: puede que solamente traduzca las preguntas en lenguaje natural a consultas sobre una base de datos.

Por el momento, casi todos los buscadores semánticos permiten solamente búsquedas en inglés, aunque se están ampliando para que admitan otros lenguajes. Aparte del predominio del inglés, la causa de eso se debe también a las dificultades inherentes a reflejar el conocimiento de los lenguajes naturales en estructuras de datos que permitan búsquedas rápidas y escalables (matrices, listas, pilas, colas, árboles, grafos, etc.). Por ejemplo, el buscador Hakia utiliza un vocabulario en forma de ontología que incluye unos 100.000 sentidos de palabras inglesas, y ese número continuará aumentando según se perfeccione la aplicación. Confeccionar cualquier vocabulario de ese tamaño es una empresa lenta, tediosa y muy cara, y que debe ser realizada por un equipo bien coordinado de especialistas en lingüística.

Se equivocará quien piense que, teniendo una ontología de sentidos de palabras en inglés, resulta sencilla su conversión a una ontología en otro idioma: la conversión de ontologías lingüísticas de un idioma a otro es un proceso muy complejo y que requiere la supervisión constante de un equipo de traductores. Por poner un ejemplo, si queremos pasar de una ontología lingüística en español a una en alemán, debemos considerar todas las posibles traducciones al alemán de cada palabra española; en caso contrario, los resultados de las búsquedas en alemán estarán más limitados que los de las búsquedas en español. Una palabra española sencilla y sin ambigüedades como "automóvil" puede traducirse en alemán como "Auto", "Wagen", "Kraftwagen", "Kraftfahrzeug", "Automobil", "Motorfahrzeug" o "KFZ" (seguro que hay más traducciones, pero hasta ahí llega mi alemán básico).

En una búsqueda interlinguística español-alemán de tipo semántico, todas estas palabras deberían tenerse en cuenta para encontrar todos los documentos relevantes cuando alguien escriba "automóvil" en el buscador. (Las búsquedas interlinguísticas son aquellas en que se traduce una búsqueda en un lenguaje a otro lenguaje, y los resultados se traducen de nuevo al primer lenguaje. Google está trabajando para añadir a su buscador esta clase de búsquedas, que permitirán, entre otras muchas cosas, que un hispanohablante puede reservar entradas en museos y cines en Tokio, aunque la información de horarios y venta de entradas no esté disponible en español.)

Es probable que los buscadores semánticos cambien la manera en que se busca y se muestra la información y que supongan un gran cambio para los usuarios ocasionales. Considérense, por ejemplo, las interfaces que aparecen en las siguientes capturas de pantalla, procedentes de Mnemo (http://www.mnemo.org/) Kart00 (http://www.kartoo.com/) y KoolTorch ( http://www.kooltorch.com/).