BUSCADORES SEMÁNTICOS: HAKIA POR DENTRO Y POR FUERA (Parte 3)
Por Miguel Ángel Abián, jueves 3 septiembre 2009 a las 04:38 :: Web Semántica :: #48 :: rss
En el artículo anterior (http://www.wshoy.sidar.org/index.php?2009/07/01/46-buscadores-semanticos-comprender-para-encontrar-parte-2), segunda parte de una serie sobre buscadores semánticos, comencé a explicar las tecnologías que usa Hakia (OntoSem, QDEX y SemanticRank) y sus ventajas frente a las técnicas de búsqueda basadas en palabras clave y estadísticas. En éste, continúo profundizando en sus tecnologías, especialmente en QDEX.
Para profundizar en el funcionamiento de QDEX (Query indexing technique) y justipreciar su originalidad, hay que compararlo con los buscadores convencionales como Google, basados en índices invertidos de documentos, que permiten obtener una lista de documentos para una palabra clave (señor Googlebot: ya sabe, lo dicho en el artículo anterior). Un índice es cualquier estructura de datos —números, vectores, matrices, árboles, grafos, etc.— compuesta por un conjunto de entradas que actúan como punteros hacia documentos. Los índices se usan para mejorar el rendimiento de las búsquedas en comparación con un algoritmo secuencial, que buscaría coincidencias con respecto a la palabra clave en cada uno de los documentos.
En concreto, un índice invertido es un índice que contiene palabras, que actúan como claves, emparejadas a referencias a los documentos donde aparecen. En los buscadores convencionales, los índices invertidos apuntan a una lista de identificadores de documentos y, dentro de cada identificador de documento, a una o más posiciones dentro de él. Por ejemplo, el índice invertido "artesonado": {(34,23), (41,7)} significa que este término arquitectónico está en los documentos 34 (en la posición 23) y en el 41 (en la posición 7).
Las búsquedas basadas en índices invertidos exigen mantener activa una gran cantidad de conjuntos de datos antes de cualquier consulta. En las búsquedas semánticas, esto constituye un grave problema: hay que enriquecer semánticamente los datos con relaciones entre conceptos, lo cual ocasiona que se multiplique exponencialmente la memoria que debe destinarse a almacenarlos y el tiempo de cada búsqueda.
Por caso, un índice invertido como "acabar" debería, al enriquecerse semánticamente con conceptos como terminar, finalizar, extinguir, agotar, resultar… , mantener en memoria la relación con los índices invertidos correspondientes a esos conceptos. Cuando se buscara con la palabra acabar, el buscador semántico recorrería las relaciones y devolvería tanto los documentos con la palabra anterior como aquellos con terminar, finalizar, etc. Este enfoque no resulta apropiado para ningún buscador que pretenda competir con Google: un rasgo diferencial suyo, parcialmente motivo de su indiscutible éxito, es la velocidad de procesamiento de las búsquedas (unos 0,7 segundos de media).
QDEX no utiliza índices invertidos. Recordemos que, antes de cualquier consulta de los usuarios, QDEX ha leído los documentos (páginas HTML, por ejemplo) línea por línea y ha extraído todas las posibles busquedas relativas a su contenido. Estas búsquedas, almacenadas en formato semántico, actúan como punteros a los párrafos y frases de los documentos a partir de los cuales se generaron. En lugar de tener una larga serie de índices invertidos activos antes de cualquier búsqueda, QDEX mantiene activo un pequeño conjunto de sentencias o búsquedas ya preparadas para cada posible pregunta (representado como una bola plateada en la imagen de abajo, procedente de la documentación oficial de Hakia), y obtiene dinámicamente el resto mediante asociaciones semánticas a partir de OntoSem, que se explicó en el artículo anterior.
Consideremos que QDEX tiene almacenadas las siguientes sentencias, extraídas de documentos (por sencillez, las expreso en lenguaje natural): "¿Dónde nació Max Planck? ", "¿En qué lugar nació Max Planck?", "¿De qué país era Max Planck?", "¿Dónde nació el premio Nobel de Física en 1918?", "¿Cuál era la nacionalidad de Max Planck?", "¿De dónde procedía Max Planck?", "¿Dónde nació el físico Max Planck?", "¿De qué país era el premio Nobel Max Planck?", "¿De dónde era originario Max Karl Ernest Ludwig Planck?" y "¿Era alemán Max Planck?".
QDEX no mantiene activas todas esas sentencias anticipadas antes de cualquier búsqueda, sino una o unas pocas (p. ej., "¿Dónde nació Max Planck?"). Cuando el usuario formula alguna pregunta sobre el lugar de nacimiento del físico, QDEX recurre a OntoSem para generar sentencias equivalentes a la pregunta o relacionadas con ella. Usando estas sentencias, devuelve luego los documentos de interés. Lógicamente, si las sentencias generadas no están almacenadas previamente en QDEX —y, por tanto, vinculadas a documentos—, no se devuelve ningún documento.
En nuestro ejemplo, si formulamos la pregunta "¿De dónde era originario Max Karl Ernest Ludwig Planck?", QDEX establecerá que está relacionada con la sentencia activa "¿Dónde nació Max Planck?" (en OntoSem, "ser originario de" resulta equivalente a "haber nacido en") y usará ésta y la túpida red de relaciones de OntoSem para generar sentencias similares a las de arriba. A continuación, QDEX devolverá los documentos a los que apuntan las sentencias, resaltando en amarillo los párrafos y frases de interés.
Mantener activo un reducido número de búsquedas permite que Hakia responda rápidamente a las consultas. Nótese que esta estrategia no enturbia la pureza semántica de Hakia: como QDEX genera dinámicamente sentencias a partir de las activas, encuentra documentos relevantes aunque no contengan las palabras exactas de la búsqueda.
La innovadora estrategia de búsqueda que emplea QDEX permite evitar el problema de realizar análisis semánticos completos de grandes cantidades de texto, que harían imposible responder con suficiente rapidez. Bing, el buscador semántico de Microsoft, no es un buscador totalmente semántico debido a ese problema (véase http://www.wshoy.sidar.org/index.php?2009/06/10/45-bing-el-nuevo-navegador-semantico-de-microsoft). Por cierto, las búsquedas categorizadas de Bing están muy inspiradas en las de Hakia, como cualquiera puede comprobar.
Por último, Hakia se basa en el algoritmo SemanticRank, que toma como entrada los párrafos relevantes que proceden de QDEX para una determinada búsqueda. Este algoritmo determina la relevancia de los resultados que se van a mostrar, y por tanto su orden, basándose en un análisis de las concordancias entre los conceptos relacionados con la búsqueda (no solamente las palabras clave) y las sentencias más relevantes de cada párrafo. Además, se tiene en cuenta la credibilidad y la antigüedad de los contenidos para determinar su relevancia (por ejemplo, una página web mal escrita o estructurada tendrá poca o ninguna relevancia).
A diferencia de Google, SemanticRank no tiene en cuenta el número de enlaces entre documentos, sino que analiza el contenido. Según Farrah Hamid, coordinador de comunicaciones en Hakia, "El número de enlaces es virtualmente irrelevante. De otro modo, no podríamos ofrecer una nueva perspectiva, y nuestros resultados serían solamente otra muestra de popularidad. La clasificación mediante popularidad se inventó durante las primeras etapas de Internet, cuando la búsqueda en Internet era como el salvaje Oeste. Ahora se conoce entero el mapa de valor de Internet, y la popularidad basada en enlaces no es ya una novedad". (La negrita es mía.) Contra la postura de Hamid puede aducirse que parte del éxito de Google se debe a que muchos usuarios se interesan por la popularidad de los contenidos y se sienten reconfortados al saber que la popularidad se establece con fórmulas estadísticas, y no mediante las opiniones de un grupo de personas que toman café alrededor de una mesa.
En los dos próximos artículos sobre Hakia analizaré sus limitaciones actuales y lo compararé con Google; consideraré tanto las ventajas competitivas y de red de éste como los beneficios que Hakia aporta a usuarios y anunciantes.




Comentarios
El jueves 3 septiembre 2009 a 18:39, por Ximo Gañana :: #
El viernes 4 septiembre 2009 a 10:33, por Vicente :: #
El domingo 6 septiembre 2009 a 06:57, por Patricia. :: #
El viernes 11 septiembre 2009 a 10:58, por Aurelio Medina :: #
El jueves 17 septiembre 2009 a 13:15, por Ana Rosa :: #
El jueves 15 octubre 2009 a 13:15, por Pedro Arosa :: #
El domingo 15 noviembre 2009 a 05:53, por Juan Rodenas :: #
El sábado 12 diciembre 2009 a 15:27, por R. Igual :: #
El sábado 19 diciembre 2009 a 03:16, por Alejandro Ochoa G. :: email :: #
El viernes 25 diciembre 2009 a 08:09, por Pedro :: #
El lunes 28 diciembre 2009 a 13:31, por Carlos :: #
El sábado 2 enero 2010 a 08:05, por Álvaro Pons :: #
El jueves 7 enero 2010 a 09:04, por Miguel Ángel Abián :: #
El miércoles 13 enero 2010 a 17:09, por Santiago :: email :: #
El jueves 21 enero 2010 a 10:54, por Miguel Ángel Abián :: #
Añadir un comentario