política de cookies

Utilizamos cookies para facilitar el uso de nuestra página web.

Las cookies que utilizamos no almacenan dato personal alguno, ni ningún tipo de información que pueda identificarle. En caso de no querer recibir cookies, por favor configure su navegador de Internet para que las borre del disco duro de su ordenador, las bloquee o le avise en caso de instalación de las mismas. Para continuar sin cambios en la configuración de las cookies, simplemente continúe en la página web. Al visitar nuestra página web, acepta la instalación de estas cookies en su dispositivo.

x
Bitendian logo

Cómo hacer un crawler para extraer información de interés automáticamente. Episodio 4: Conclusiones

Palabras clave: araña, robot de búsqueda, búsqueda i recuperación de información, bot, buscador, inteligencia artificial, IA, search bot, search robot, robot, crawler, web crawler, information retrieval, information search and retrieval, artificial intelligence, AI

En este artículo, dividido en 4 partes, explicamos cómo implementar un Information Retriever. Es decir, un sistema software capaz de conseguir información de interés de forma automática/desasistida/inteligente a partir de información que se está actualizando constantemente en internet.

En la primera parte hemos planteado el escenario.

En la segunda parte hemos descrito su arquitectura.

En la tercera parte hemos dado pautas para su implementación.

En esta cuarta parte sacaremos algunas conclusiones.

 

La IA aporta valor

Un IR y en general cualquier sistema software que aplique IA lo que hace es automatizar tareas que se pueden hacer por parte de un humano, pero que somos capaces de construir un software que las haga. De este modo esas tareas se harán más rápido y sin error humano, liberando tiempo de aquellos empleados que lo hacían y haciendo que el tiempo extra del que disponen gracias a la IA aporte más valor a la sociedad.

 

La etiqueta de los crawlers

Si implementamos un crawler hay que ser educados con las páginas que recorre el crawler. No consultarlas más frecuentemente de lo que haga falta, y no intentar piratear información a la que se accede pagando. Sólo acceder a aquello que como personas igualmente podríamos acceder de forma gratuita o porque ya estamos pagando por ello. Además, hay que hacer caso de las indicaciones de robots.txt

 

Si se puede explicar, se puede programar

Es decir, si una persona sabe explicar cómo lo hace para extraer información cuando revisa una fuente, ese proceso se puede automatizar y por tanto se puede programar. Si por el contrario hay una parte innovadora o creativa en ese proceso, entonces es más difícil. Entraríamos ya en el terreno del aprendizaje automático que queda fuera del alcance de este artículo.

 

La información y el pescado

El pescado y la información tienen más valor cuanto más frescos son. De poco sirve saber algo cuando ya ha caducado, o cuando nuestra competencia ya lo ha aprovechado y entonces el valor baja drásticamente.

 

Es complicado clavar un clavo con un destornillador

Aunque se puede, no es la herramienta adecuada. Elegir bien qué lenguajes de programación y sistemas subyacentes usar facilita mucho la tarea. Ahora bien... ver siguiente punto.

 

El lenguaje de programación no es tan importante

No es el lenguaje de programación el que va a hacer que sea útil un Information Retriever. Es el algoritmo y el diseño de su arquitectura, adaptada a cada situación, además de la calidad del software que generemos... ver siguiente punto.

 

Muchos saben hacer programas que entienda un ordenador...

... pero solo los buenos programadores sabemos hacer un programa que además entienda fácilmente otro programador. Esos son los programas que genera una empresa de software de calidad, y esos son los programas potentes y baratos de mantener.

 

Cuándo no implementar un Information Retriever

Conocer las ventajas que aporta y saber cómo hacerlo siempre es una ventaja respecto a no saber. Ahora bien, no tiene por qué ser una buena decisión. Si las fuentes de información (I1,I2,...) ofrecen ya mecanismos de suscripción (de pago o gratuitos) para recibir de forma estructurada y completa toda la información que necesitamos, actualizada, al momento, es probable que nos resulte más económico adaptar nuestros sistemas software y suscribirlos a esos sistemas que implementar un Information Retriever.

 

Glosario

Aclaramos aquí algunos términos que iremos usando. Más que dar su definición genérica (que el lector podrá encontrar en la wikipedia) nos hemos esforzado por decir a qué nos referimos con ellos en este contexto.

Algoritmo: procedimiento, estrategia.

Almacén de contenido descargado: contenido descargado por los crawlers para su posterior tratamiento.

API (Application Programming Interface): invocaciones que ofrece una aplicación para que otras aplicaciones puedan usar algunas de sus funcionalidades.

BD (Base de Datos): una base de datos es un componente de un sistema de software donde se guarda información de forma estructurada.

Bot: un bot es un robot sin cuerpo. Es decir, sólo el software.

Crawler / Araña: bot (programa) que entra en páginas de internet y descarga su contenido (lo que hace google con todas las páginas).

CRM (Customer Relationship Manager): aplicativo que se ocupa de mantener los clientes de una empresa y su relación con ellos.

ERP (Enterprise Resource Planner): aplicativo que se ocupa de gestionar los procesos de producción de una empresa

GUI (Graphical User Interface): controles que puede usar un usuario para usar funcionalidades de una aplicación.

IA (Inteligencia Artificial): paradigma de programación consistente en pensar un algoritmo de la misma manera que lo haría una persona si fuera una persona la que tuviera que hacer el trabajo.

IR (Information Retriever): software que se ocupa de encontrar información incumbiente automáticamente.

Parser: programa que extrae información de un texto.

Programa: es un algoritmo escrito en un lenguaje que un ordenador entiende y así lo puede ejecutar.

Robot: viene del polaco "esclavo" y es algo artificial construido para hacer lo que le digas emulando a lo que haría un humano.

robots.txt: las webs tienen un fichero en su raíz llamado robots.txt que son indicaciones para que si alguien hace un crawler, las respete. Consisten básicamente en no entrar demasiado seguido y no entrar en según qué rutas.