Los avances experimentados en los últimos años en la tecnología para la gestión de contenidos, así como en la gestión del conocimiento, han tenido un impacto determinante en los hábitos y prácticas de los buscadores. Así, si dotamos a un buscador de conocimiento lingüístico, tendremos garantizada la relevancia de los resultados de la consulta.
Los avances experimentados en los últimos años en la tecnología para la gestión de contenidos, así como en la gestión del conocimiento, han tenido un impacto determinante en los hábitos y prácticas del mundo empresarial. Los modos de crear, estructurar y acceder a la información corporativa han cambiado radicalmente.
Sin embargo, estas tecnologías siguen tratando la información textual (ya la consideremos contenido o conocimiento) de forma mecánica, de la misma forma que tradicionalmente se ha tratado, por ejemplo, la información numérica.
Esta situación se ha sustentado, en gran medida, en el hecho de que en la interacción hombre-máquina ha sido el hombre quien se ha adaptado al lenguaje de la máquina (como sucede, por ejemplo, en aplicaciones como la gestión de clientes o de almacenes).
Sin embargo, esto está cambiando. Las cantidades masivas de información textual a las que tenemos acceso en la actualidad (jurisprudencia, legislación, informes de bolsa, revistas especializadas, etc.), y su valor para la gestión de la empresa, han dado lugar al uso generalizado de indexadores y buscadores en los que la interacción hombre-máquina empieza a inclinarse hacia el lado del hombre. Por ejemplo, existe una tendencia desde hace algún tiempo a desarrollar, con éxito desigual, aplicaciones que permitan consultar a bases de datos (textuales o no) en lenguaje natural.
La gestión de bases de datos textuales: el truncamiento
En palabras de A. Smeaton, uno de los expertos más reconocidos en el campo de la investigación sobre buscadores, "Con mucho, el problema que más complica las tareas de la recuperación de información es el hecho de que estamos tratando con lenguaje natural".
El problema que el lenguaje natural plantea para cualquier aplicación informática estriba en que una misma idea puede expresarse de muy diferentes maneras (lo que definimos como "variación lingüística"). Así, cuando un usuario busca documentos relacionados con una idea concreta (por ejemplo, "fusiones entre empresas"), se enfrenta con el problema de que, para realizar la consulta, debe elegir una de entre todas sus posibles formulaciones. Sin embargo, en el conjunto de textos en los que busca puede aparecer cualquiera de estas formulaciones ("las empresas se fusionaron", "se produjo una fusión entre las dos empresas", "ambas empresas se fusionaron", etcétera). Como consecuencia, el usuario se ve obligado a realizar diferentes variaciones de la misma consulta, lo que implica pérdida de productividad y falta de eficiencia, ya que es prácticamente imposible asegurar que se han usado todas las posibles variantes.
La respuesta más frecuente que el mundo de la recuperación de información ha dado a estos problemas ha sido la utilización de algoritmos de truncamiento (en inglés, stemming) que popularmente conocemos como comodines (como "*" o "?"). Estos algoritmos de truncamiento se utilizan normalmente para gestionar de manera automática las diferentes formas de una palabra. Así, un algoritmo de este tipo extrae los pseudo-sufijos, las terminaciones de una palabra, y crea una pseudo-raíz de la misma. En la práctica, si queremos encontrar documentos realcionados con "pago" o "pagar", deberíamos usar "pag*" en nuestra consulta; sin embargo, esta consulta podría devolvernos documentos con palabras como "pagoda" o "pagano", lo que se conoce como "ruido".
El origen de esta deficiencia está en que las técnicas de truncamiento se basan en reglas mecánicas, no en información lingüística (morfológica, tanto derivativa como flexiva). Porter, autor de uno de los algoritmos de truncamiento más conocidos, ya advierte de las desventajas que conlleva esta aproximación.
La solución
El conocimiento lingüístico, aliado con la informática, permite resolver los problemas que genera al usuario la variación lingüística y evita los problemas que produce el truncamiento (el ruido). Si dotamos a un buscador de conocimiento lingüístico, tendremos garantizado que recuperaremos todos los documentos relevantes para nuestra consulta, independientemente de cómo la formulemos ("fusiones y empresas", "empresas fusionadas", etc.). Además, obtendremos estas ventajas evitando el ruido que causa el truncamiento, es decir, no nos encontraremos con "pagoda" si buscamos "pagos".
Actualmente, esta tecnología está ya disponible en el mercado y poco a poco la iremos viendo aparecer en distintos entornos. Pero sobre esto hablaremos en nuestro próximo artículo, que se centrará en casos prácticos.
Antonio S. Valderrábanos es Director General de Bitext
Enviado por Sergio Montoro Ten, el Warning: mktime() expects parameter 6 to be long, string given in /var/www/estrategias/baquia.com/www/admin/inc/funciones.php on line 124
01/01/1970
¿Cuanto más computacionalmente costosos son los algoritmos linguísticos vs. los actuales?
¿Es factible aplicarlos a los 4 billones de páginas web que indexa Google?
¿Cual es cuantitativamente la mejora de Precision y Recall con algoritmos lingüísticos?
Enviado por malkuth, el Warning: mktime() expects parameter 6 to be long, string given in /var/www/estrategias/baquia.com/www/admin/inc/funciones.php on line 124
01/01/1970
Me temo que Sergio da en el clavo de toda la problemática que plantean estos sistemas. No es lo mismo utilizar un "universo controlado" de unos miles de documentos en un PC, a los cuales se somete a este tipo de algoritmos, que tratar de dar una respuesta idéntica con los millones de documentos nuevos que por día puede captar un buscador comercial.
Se pretende dar una respuesta única a problemas muy diferentes en escala y complejidad, pero lo peor de todo es que ¿porqué se asume que yo quiero hablar con una máquina? si yo entro en una herramienta de búsqueda lo que quiero es encontrar lo antes posible lo que busco (en el caso de que sepa lo que busco, que esa es otra) ¿porqué el emplear lenguaje natural debería acelerar ese proceso?.
Yo creo que la búsqueda mediante palabras o conceptos clave, más o menos sofisticada no sólo es la más conveniente para la mayoría de las aplicaciones, sino que además es la única posible cuando el usuario pretende "investigar" un tema o no sabe de forma precisa lo que está buscando. No obstante, formas de gastar tiempo y dinero las hay para todos los gustos.
Enviado por Antonio S. Valderrábanos, el Warning: mktime() expects parameter 6 to be long, string given in /var/www/estrategias/baquia.com/www/admin/inc/funciones.php on line 124
01/01/1970
Hola Sergio, gracias por los comentarios.
¿Cuanto más computacionalmente costosos son los algoritmos linguísticos vs.
los actuales? ¿Es factible aplicarlos a los 4 billones de páginas web que indexa Google?
> Por supuesto. En primer lugar, el procesamiento lingüístico es aplicable tanto a la consulta del usuario, como a los documentos contra los que se busca. Aplicar esta tecnología a la consulta resulta sencillo y ofrece ventajas significativas (más abajo incluyo referencia a una demo). Aplicarla a todos los documentos indexados es factible haciendo el procesamiento lingüístico en paralelo con la indexación; hoy ya existe tecnología al nivel de estas demandas.
¿Cual es cuantitativamente la mejora de Precision y Recall con algoritmos
lingüísticos?
> La mejora en "recall" (cobertura) es clara: si tecleo "empresas fusionadas" y la tecnología lingüística me permite recuperar documentos que hablan de "fusiones entre empresas" o de "empresas que se fusionaron", la ganancia en cobertura es clara; puede oscilar entre 3 y 10 veces la cobertura de una consulta tradicional. En cuanto a "precision", la tecnología lingüística supera con creces el comportamiento de técnicas tradicionales de truncamiento: por ejemplo, una consulta como "pago*", devolverá "pago", "pagos" y "pagoda". Puedes ver una demo muy sencilla en http://bitext.com/demo/asp/datalexica
Enviado por Antonio S. Valderrábanos, el Warning: mktime() expects parameter 6 to be long, string given in /var/www/estrategias/baquia.com/www/admin/inc/funciones.php on line 124
01/01/1970
... pero lo peor de todo es que ¿porqué se asume que yo quiero hablar con una máquina? si yo entro en una herramienta de búsqueda lo que quiero es encontrar lo antes posible lo que busco ... ¿porqué el emplear lenguaje natural debería acelerar ese proceso?
> El lenguaje natural es la forma más intuitiva de expresión para las personas; parece lógico que las máquinas se adapten a las personas y no, como ocurre hasta ahora, a la inversa. Primero, para un usuario es más sencillo escribir una consulta como "acciones con pago de dividendo anual" que "acciones AND dividendo ...”. La primera consulta es más sencilla de expresar, no requiere consultar un fichero de ayuda sobre operadores y, además, contiene más información sobre lo que quiere el usuario que la segunda. Esta información la detecta y explota un buscador inteligente, no uno tradicional. Segundo, sea cual sea la formulación de la consulta, un buscador inteligente dará una respuesta más completa y rápida. Por ejemplo, un documento que contuviera "esta empresa paga dos divendos anuales por acción" no sería recuperado por un buscador tradicional, sí por uno con conocimiento lingüístico. Parece lógico que el usuario quiera recuperar este documento sin necesidad de reescribir su consulta como "accion* AND dividendo* ...”, o cualquiera de las posibles variantes. Es decir, esta tecnología aporta eficiencia y ahorra tiempo.
Enviado por Sergio Montoro Ten, el Warning: mktime() expects parameter 6 to be long, string given in /var/www/estrategias/baquia.com/www/admin/inc/funciones.php on line 124
01/01/1970
¿Qué parte de la tecnología está patentada?
Salvando la aplastante maquinaria de marketing de los americanos ¿Que posibilidades tiene como sucesora de los algoritmos de relevancia basados en links de Google?
¿En que plazo?
Gracias.
Sergio.
Enviado por malkuth, el Warning: mktime() expects parameter 6 to be long, string given in /var/www/estrategias/baquia.com/www/admin/inc/funciones.php on line 124
01/01/1970
* ese razonamiento es demasiado difuso, si lo aplicaramos a todas las máquinas estaríamos usando calculadoras que entienden el lenguaje o ascensores que escuchan a las personas: existen multitud de situaciones en las que el uso del lenguaje no sólo es más lento sino además contraproducente. Las personas utilizan lenguaje para comunicarse con otras personas, con capacidad de abstracción, y sobretodo, con capacidad de razonamiento. Pensar lo contrario es negar que pulsar un botón puede ser más eficiente que formular una frase.
* Se está suponiendo que el usuario sabe exactamente lo que quiere, algo que en los buscadores comerciales de internet es una premisa falsa en muchas ocasiones (aunque ese es otro tema).
* entiendo que si pregunto a la máquina "acciones que NO paguen un dividendo anual " me sacará todas aquellas acciones que no cumplen la primera premisa, es decir, que paguen dividendo trimestral o cuatrimestral o bianual, como haría cualquier persona (?).
* "Buscar información" es un proceso que significa cosas muy diferentes para usuarios diferentes, y no se le puede dar una respuesta única si no se quiere ignorar la motivación y el comportamiento de las personas
Enviado por Miguel Angel Perez, el Warning: mktime() expects parameter 6 to be long, string given in /var/www/estrategias/baquia.com/www/admin/inc/funciones.php on line 124
01/01/1970
Bueno, primero decir que los comentarios vertidos en el turno de preguntas respuestas de los comentarios han sido de los mas inteligentes que en visto en Baquia es varios años.
Analizando lo que quieren decir malkuth y Antonio S. Valderrabanos, tengo que decir que les doy la razon a los dos, y creo que lo más inteligente es fusionar las dos ideas para que convivan juntas, y no deberian excluirse.
Es decir, aprovechar las ventajas de los avances en interpretacion linguistica que se hagan y no perder de vista el hecho que el humano tambien debe educarse en su trato con la maquina.
Veo un cierto intento de excluir ambos conceptos y creo que el camino no va por ahi.
Comprendo que Antonio S. Valderrabanos tenga que vender las ventajas de una idea para la venta un producto, cosa logica, pero, si es el caso, no deberia pensar que el cliente (al menos el bueno, que suele estar asesorado, o el que va a pagar mucho dinero) no se va a hacer las mismas preguntas que Malkuth.
Repito mi conviccion de unir ambas teorias, aunque de hecho lo hacen actualmente porque no queda mas remedio.
Saludos y enhorabuena por la calidad de las intervenciones.
Enviado por malkuth, el Warning: mktime() expects parameter 6 to be long, string given in /var/www/estrategias/baquia.com/www/admin/inc/funciones.php on line 124
01/01/1970
Gracias Miguel Angel por tus comentarios. Los míos he debido de expresarlos mal si han parecido excluyentes: mi punto de vista se fundamenta en el hecho de que la búsqueda de información la manifestación de una necesidad que se presenta y satisface de un montón de formas diferentes, y que no existen "recetas milagrosas". Esto no significa que el uso de lenguaje natural no tenga un nicho claro de aplicación valiosa en algunas ocasiones; corresponde a quienes trabajan en ese área el concretar cuales y en qué circunstancias, de forma que los posibles clientes se den por aludidos y el mensaje no quede demasiado difuso.
Enviado por Antonio S. Valderrábanos, el Warning: mktime() expects parameter 6 to be long, string given in /var/www/estrategias/baquia.com/www/admin/inc/funciones.php on line 124
01/01/1970
Parte de esta tecnología se ha publicado en artículos científicos, lo que imposibilita patentar al menos estas partes.
Respecto a la relación de esta tecnología con otras existentes: la tecnología lingüística COMPLEMENTA, no sustituye, a tecnologías existentes, como la de relevancia que usa Google. La tecnología permite tratar las palabras en función de su contenido, y no como ristras de números. Para cualquier buscador actual una palabra es un conjunto de números y no debe seguir siendo así si queremos aprovechar toda la información que internet pone en nuestras manos.
Enviado por Borja Orbegozo, el Warning: mktime() expects parameter 6 to be long, string given in /var/www/estrategias/baquia.com/www/admin/inc/funciones.php on line 124
01/01/1970
En España ya hay una empresa trabajando en estas tecnologías y se puede ver en su página http://www.diana-tek.com/spanish/index.htm, concretamente en http://www.diana-tek.com/cgi/documentos.php?currentlang=spanish&artid=artid_6
Ya tienen varios prototipos funcionando y parece que funcionan muy bien. Es un tipo de búsqueda muy sencillo y que utiliza los conocimientos lingüísticos de los que habla el artículo. Esperemos que salgan pronto al mercado y todos podamos utilizarlo.
Enviado por Angel Sevillano, el Warning: mktime() expects parameter 6 to be long, string given in /var/www/estrategias/baquia.com/www/admin/inc/funciones.php on line 124
01/01/1970
Estas técnicas mejoradas con morfología y lingüística son las que emplea el producto Convera RetrievalWare (Excalibur) Cuando se realiza el steamming se hace una comprobación en las redes semánticas para asegurar que el resultado tiene el mismo significado que el término original. Por ejemplo, con una palabra en inglés (ahora mismo no se me ocurre ninguna en español): si de "rates" se eliminan las dos últimas letras para quitar el plural el resultado sería una palabra distinta "rat". Si se realiza una comprobación se eliminará solo la letra "s" quedando "rate" que tiene el mismo significado. Además al realizar la búsqueda RetrievalWare realiza expansiones semánticas para buscar además sinónimos, hiperónimos, hipónimos y palabras relacionadas, y mejorar la búsqueda en lenguaje natural.
Un saludo,
Angel Sevillano
Director técnico
DCE / CONVERA España
www.dce.es
Enviado por Antonio Valderrábanos, el Warning: mktime() expects parameter 6 to be long, string given in /var/www/estrategias/baquia.com/www/admin/inc/funciones.php on line 124
01/01/1970
Borja, estas herramientas están ya en el mercado, como productos. Bitext las comercializa desde el año 2002. RENFE, iSOCO o Atril son algunos ejemplos de usuarios. Hay una demo disponible en
http://www.bitext.com/demo/ASP/DataLexica
Como apuntaba Miguel Ángel, la difusión de este tipo de productos tiene mucha relación con problemas de usabilidad y de interacción hombre-máquina (en ocasiones, más que con la madurez de la tecnología). Esto es lo que explica que, a pesar de que la tecnología está lista, su adopción no sea masiva. A la hora de instalar una herramienta en un determinado cliente, el éxito de la aplicación puede depender tanto de cuestiones de usabilidad como de cuestiones técnicas. Quizá algún colega experto en usabilidad pudiera comentar esta relación tecnología, usabilidad, lenguaje natural.