Presentación1...2016/10/01 · Title Presentación1 Created Date 20180426101922Z
Presentación1cs.uns.edu.ar/~agm/mineriaweb/downloads/Slides/clase19-slides-wa… · Title:...
Transcript of Presentación1cs.uns.edu.ar/~agm/mineriaweb/downloads/Slides/clase19-slides-wa… · Title:...
Inteligencia Aplicada a la Web
Inteligencia Aplicada a la Web
Walter Conradi – Universidad Nacional del Sur
Walter Conradi
Universidad Nacional del Sur Bahía Blanca, Argentina
Debido a la heterogeneidad de información encontrada en un sistema distribuido como la Web, es de vital importancia contar con herramientas que puedan ayudar a hacer una rápida selección de la información que nos interesa.
Inteligencia aplicada a la WebInteligencia aplicada a la Web
Walter Conradi – Universidad Nacional del Sur
Analizaremos un tipo de agente que ayuda al usuario en la búsqueda de información:
• Softbots
Softbots (software robots) son agentes inteligentes que hacen uso de las mismas herramientas y utilidades de que disponen los usuarios...
SoftbotsSoftbots
Walter Conradi – Universidad Nacional del Sur
...para cumplir con una tarea de representación, esto es, el softbot es un representante del usuario en aquellas tareas en que el usuario haya aceptado ceder control al agente.
¿Para qué?
Definamos, antes de continuar, los conceptos de Agentes y Bots.
Del latín agere: obrar por otro.
Es una abstracción, así como los objetos lo son para la POO. Describe entidades que actúan con cierto grado de autonomía, cumpliendo con las tareas especificadas en representación del usuario.
AgentesAgentes
Walter Conradi – Universidad Nacional del Sur
Así como los objetos son definidos en términos de sus métodos y atributos, un agente es definido en términos de su comportamiento.
También se los conoce como:
•Software Agent
•Bots
La idea de que el agente es representante del usuario, implica, que éste deberá decidir, por si mismo, cuándo es apropiado efectuar una determinada acción. Esto significa que el agente puede activarse por si mismo (comportamiento pro-activo).
Software AgentSoftware Agent
Walter Conradi – Universidad Nacional del Sur
Los conceptos que se pueden extender a partir de la definición de agente son:
•Intelligent Agents
•Autonomous Agent
•Distributed Agent
•Multiagent Systems
•Mobile Agent
En particular nos interesa el concepto de Intelligent Agent.
Un agente inteligente dispone de la habilidad de adaptarse y aprender, mientras que un agente básico esta constituido por reglas fijas pre-programadas.
Intelligent AgentIntelligent Agent
Walter Conradi – Universidad Nacional del Sur
Los agentes inteligentes entonces incluyen 2 habilidades:
•Habilidad para adaptarse. La adaptación implica sensar el medio-ambiente y reconfigurarse en respuesta a este.
•Habilidad para aprender. El aprendizaje puede lograrse a través de prueba-y-error, o puede conseguirse por medio de ejemplo-y-generalización .
Bots: abreviatura de robots
Dijimos que los agentes también son conocidos como Bots.
Específicamente es un programa que realiza en-linea acciones automáticas que normalmente son llevadas a cabo por humanos
BotsBots
Walter Conradi – Universidad Nacional del Sur
Su uso general es de origen maligno:
•Simular ser una persona en un chat o irc, con fines publicitarios o administrativos
•Propagar con mayor rapidez virus informáticos
De hecho ebay ha ido a la corte por intentar suprimir una compañía usando bots para recorrer sus sitios los cuales negociaban y regateaban precios.
Un "bot" se diseña para completar tareas rutinarias o aburridas, y además muy especificas, como buscar direcciones de e-mail para generar spam.
Como dijimos anteriormente los softbots (software robots) son agentes inteligentes, o sea, entidades que actúan en representación del usuario en forma automática, y que pueden adaptarse y aprender.
Softbots orientados a la WebSoftbots orientados a la Web
Walter Conradi – Universidad Nacional del Sur
Respecto al manejo de la información de la Web estos se encuentran en un grupo denominado carnívoros de la cadena de alimentación:
AlimentoAlimento
HerbívorosHerbívoros
CarnívorosCarnívoros
Cadena de AlimentaciónCadena de Alimentación
World Wide WebWorld Wide Web
Buscadores (Spiders-Directorios)
Buscadores (Spiders-Directorios)
Metabuscadores
Metabuscadores
Cadena de Alimentación de la Información en la Web
Cadena de Alimentación de la Información en la Web
Metabuscador = Softbot orientado a la Web
Un motor de meta-búsqueda [carnívoro] es un motor de búsqueda que envía peticiones a otros motores de búsqueda y/o bases de dato [herbívoros]
MetabuscadoresMetabuscadores
Walter Conradi – Universidad Nacional del Sur
•Buscar con múltiples search-engines lo que permite una exploración más amplia en menos tiempo.
¿Cuáles son las ventajas de este modelo?
•Puede mejorarse la inteligencia de la búsqueda. Un metabuscador sirve a un solo usuario, en cambio, un buscador sirve a cientos de miles y por lo tanto no hay tiempo para aplicar inteligencia.
Ahora veamos casos concretos de metabuscadores.
Algunos de ellos son:
•Internet Softbot
•MetaCrawler
•Internet Learning Agent
•Ahoy!
•ShopBot
MetabuscadoresMetabuscadores
Walter Conradi – Universidad Nacional del Sur
Todos se basan en el Internet Softbot y todos han sido desarrollados en la Universidad de Washington.
Internet SoftbotInternet Softbot
MetaCrawlerMetaCrawler ILAILA
Ahoy!Ahoy! ShopBotShopBot
Familia de Softbots
Permite especificar qué buscar sin tener que decirle cómo y dónde. Es un agente "orientado-a-objetivos“...
Internet SoftbotInternet Softbot
Walter Conradi – Universidad Nacional del Sur
Orientado-a-objetivos hace referencia a la forma en que el agente es implementado y cómo procede. En principio, cualquier agente, es un mapeo que va de percepciones a acciones.
Ambiente
Agente percepciones
acciones
Sensores
Activadores
Proceso De Mapeo
Un objetivo describe la situación que se desea alcanzar (situación: configuración del mundo para un instante dado)
Internet SoftbotInternet Softbot
Walter Conradi – Universidad Nacional del Sur
El agente entonces busca una secuencia de acciones que permitan llegar a dicho objetivo. Esto se hace usando métodos de problem-solving, como Searching o Planning.
Un agente basado en objetivos puede razonar o inferir la acción que se debe efectuar. Esto lo hace mas flexible que otros modelos.
Por ejemplo, el modelo basado en reglas utiliza reglas precomputadas y un cambio de situación implica agregar un nuevo conjunto de reglas.
¿Qué es un objetivo?
La descripción ambiente-percepción-acción para un meta-buscador es:
•Ambiente: Internet y buscadores
•Percepciones: páginas Web, y botones o hiperlinks
•Acciones: Añadir una nueva petición, devolver la información peticionada, y mostrar la información al usuario.
Internet SoftbotInternet Softbot
Walter Conradi – Universidad Nacional del Sur
Ambiente
Agente percepciones
acciones
Sensores
Activadores
Proceso De Mapeo
Internet SoftbotInternet Softbot
Walter Conradi – Universidad Nacional del Sur
Sobre la interfaz de usuario...
Acepta objetivos conteniendo combinaciones de conjunción, disyunción, negación y cuantificación existencial y universal con anidamiento. Esto permite especificar una tarea, como por ejemplo, “obtener todos los reportes técnicos de las naves Invidque aún no hallan sido vistos por Scott Bernard y Rook Bartley”
También provee de una interfaz gráfica basada en figuras para representar mas fácilmente los objetivos. Automáticamente las figuras son trasladadas a un lenguaje lógico de objetivos.
Posteriormente los objetivos pueden ser mejorados mediante un refinamiento iterativo configurable (de acuerdo al modelo de su BD irá enfocando el objetivo)
Su arquitectura consta de 4 módulos:
•Administrador de Tareas
•Planificador XII
•Gestor de Modelo
•Modelos de los Dominios de Internet
Internet SoftbotInternet Softbot
Walter Conradi – Universidad Nacional del Sur
El administrador de tareas se asemeja a un planificador de SO
Todas las actividades importantes del Softbot son controladas por este mecanismo.
Administrador de TareasAdministrador de Tareas
Walter Conradi – Universidad Nacional del Sur
Estas actividades pueden ser:
•Tareas cognitivas, como inferencias a partir del modelo de la BD
•Tareas subyacentes, como conectarse a un servidor
En consecuencia, el Softbot puede planificar actividades para su ejecución futura.
En principio un planificador busca la secuencia de acciones que, partiendo del estado actual del mundo, nos lleve a la situación planteada por el objetivo.
Planificador XIIPlanificador XII
Walter Conradi – Universidad Nacional del Sur
Por ejemplo, en el siguiente juego un agente tiene como objetivoencontrar el oro escondido en uno de los cuartos:
Forward [Acción]
Turn(Right) [Acción]
Situación 1Situación 2
Situación 3
XII: eXecution and Incomplete Information
Los planificadores tradicionalmente asumen un universo cerrado, i.e., asumen que su universo contiene todos los datos necesarios. Los datos que están fuera se asumen como falsos.
Planificador XIIPlanificador XII
Walter Conradi – Universidad Nacional del Sur
Los planificadores que asumen un universo abierto pueden manejar información incompleta, y de esta manera asumen que su universo no posee todos los datos necesarios. Los datos ausentes al modelo son desconocidos y deben ser sensados.
Dado que un meta-buscador peticiona información a los buscadores, podemos decir que su universo no posee toda la información necesaria, y por lo tanto no es válido asumir un universo cerrado.
Sin embargo la asumción de un universo abierto trae consigo dos dificultades:
Planificador XIIPlanificador XII
Walter Conradi – Universidad Nacional del Sur
•Evitar sensados redundantes: No sensar información que ya es conocida por el planificador.
•Satisfacer objetivos que posean cuantificación universal: Un objetivo de la forma "Hacer protected todos los archivos en /root" no puede ser satisfecho sino se conocen todos los archivos (problema de información incompleta)
El planificador XII soluciona estos problemas incorporando el concepto de local closed world information (LCW)
El universo cerrado “local” (LCW) trata la información como si estuviera en un universo-cerrado, sin embargo, durante cada intervalo de tiempo se efectúa constantemente un sensado.
Planificador XIIPlanificador XII
Walter Conradi – Universidad Nacional del Sur
Para implementarlo se utiliza una BD de meta-nivel (BD que contiene meta-información).
Específicamente la BD de meta-nivel contiene una entidad LCWla cuál estará instanciada con atributos de las entidades de la BD, de los cuales el sistema cree poseer toda la información ( asumción de universo cerrado – no hay sensado con la consulta )
La diferencia que tiene con un universo abierto, es que el universo abierto efectúa el sensado en cada consulta.
Por ejemplo, si la BD contiene la siguiente tabla:
Planificador XIIPlanificador XII
Walter Conradi – Universidad Nacional del Sur
Edit
Editor Article
John Doe
John Doe
Sarah
Emma Lee
Formal logic
Formal logic
Logic I
AI Concepts
LCW
Atributes State
...
Edit.Article
Edit.Editor
...
...
...
True
False
DB Meta-level DB
Esto indica que Edit.Article posee toda la información, y puede asumirse un universo cerrado repecto a este. Sin embargo Edit.Editor no, y corresponderá efectuar un sensado en el momento de la consulta.
Así, para ver si una sentencia es verdadera, el agente seguirálos siguientes pasos:
•Chequear si la sentencia está en el universo.
•Si es así, entonces simplemente se retornará el valor de verdad asociado (V o F)
Planificador XIIPlanificador XII
Walter Conradi – Universidad Nacional del Sur
En caso contrario (i.e., la sentencia no se encuentra en el universo), puede ser que sea F o D (desconocido). Para resolver esta ambigüedad el agente seguirá los siguientes pasos:
•Chequear si la BD de meta-nivel contiene la sentencia.
•Si es así, entonces se puede asegurar que la sentencia es F
•Sino, es D y recién en este punto se deberá efectuar un sensado.
El gestor de modelo es la BD con la que interactúa el planificador. Esta contiene toda la información que el agente pudo recopilar.
Gestor de ModeloGestor de Modelo
Walter Conradi – Universidad Nacional del Sur
También es el encargado de decidir cuándo se debe efectuar un sensado. Algunas políticas serían:
•Sensar cada 5 minutos
•Utilizar sistemas de información distribuida que se comuniquen con el Gestor de Modelo, notificando que se ha actualizado la información. A partir de la notificación se efectúa el sensado.
Veamos cómo funciona haciendo la siguiente consulta: Obtener las personas que no hallan escrito artículos sobre “Formal logic”
Gestor de ModeloGestor de Modelo
Walter Conradi – Universidad Nacional del Sur
Solución:
1. Inspecciona si existe “Formal logic” [Existe]
2. Dado que existe, continúa con una asumción de universo cerrado y retornará “Sarah”
EditEditor Article
John DoeJohn DoeSarahEmma Lee
Formal logic
Formal logic
Logic IAI Concepts
LCWAtributes State
...Edit.ArticleEdit.Editor...
...
...
TrueFalse
DB Meta-level DB
Ahora supongamos que no se posee la instancia “Formal logic”, y se efectúa la misma consulta:
Gestor de ModeloGestor de Modelo
Walter Conradi – Universidad Nacional del Sur
EditEditor Article
John DoeJohn DoeSarahEmma Lee
...
...
Logic IAI Concepts
DB
LCWAtributes State
...Edit.ArticleEdit.Editor...
...
...
TrueFalse
Meta-level DBSolución:
1. Inspecciona si existe “Formal logic” [No Existe]
2. Dado que no existe, consultará la BD de meta-nivel. Esta le indica que puede continuar con una asumción de universo cerrado. Retornará “Sarah, John Doe, Emma Lee”
Ahora supongamos que la BD está siendo actualizada, lo cual tarda un par de minutos. Entonces para mantener la BD consistente, la BD de meta-nivel es modificada previamente:
Gestor de ModeloGestor de Modelo
Walter Conradi – Universidad Nacional del Sur
EditEditor Article
John DoeJohn DoeSarahEmma Lee
...
...
Logic IAI Concepts
LCWAtributes State
...Edit.ArticleEdit.Editor...
False
False
FalseFalse
DB Meta-level DB
En este punto si efectuamos la consulta, tendremos que LCW retornará False, obligándonos a efectuar un sensado.
NOTA: La BD de meta-nivel solo se utiliza para mantener la consistencia durante la actualización.
Provee al softbot con toda la información referente a Internet. Específicamente refiere a los modelos que el softbot posee para comunicarse con las distintas fuentes de información provenientes de la Internet.
Modelos de los Dominios de InternetModelos de los Dominios de Internet
Walter Conradi – Universidad Nacional del Sur
La parte mas importante de estos modelos son la codificación de los acciones del softbot (i.e., descripción de los comandos del SO que son requeridos, y descripción de las BD de Internet)
Es un motor de meta-búsqueda basado en el Internet Softbotque explora particularmente los resultados de motores de búsqueda populares como Google, Yahoo!, MSN, Ask Jeeves,About, MIVA, LookSmart y más.
MetaCrawlerMetaCrawler
Walter Conradi – Universidad Nacional del Sur
Dada una consulta el MetaCrawler peticiona esta consulta a cada buscador en forma paralela, y cada uno le retorna una listade páginas (o hits). Luego compara los resultados y elimina hitsduplicados, a la vez que los ordena según el orden que se halla elegido.
Internet SoftbotInternet Softbot
MetaCrawlerMetaCrawler ILAILA
Ahoy!Ahoy! ShopBotShopBot
Ahoy!: forma de llamado entre los marineros, inspirada en el lloro del lobo de mar
Toma como entrada el nombre de una persona y afiliación, e intenta encontrar el home page de esa persona.
Ahoy!Ahoy!
Walter Conradi – Universidad Nacional del Sur
Esto lo logra simplemente trasladando la consulta al MetaCrawler y, la salida de este es filtrada de acuerdo a:
•la geografía - Los URLs de los home pages suelen tener el nombre de la ciudad, e.g. washington.edu
•la apariencia - Es común que el título contenga el apellido de la persona
El algoritmo de filtrado es heurístico, y requiere del feedback del usuario para mejorar su certeza por medio de entrenamiento.
Los agentes vistos hasta ahora requieren que se especifique manualmente el modelo (KB) para cada una de las fuentes de información. Para nuevas fuentes hay que escribir nuevos modelos.
Internet Learning AgentInternet Learning Agent
Walter Conradi – Universidad Nacional del Sur
En cambio, un sistema capaz de aprender halla nuevas relaciones para nuevas fuentes de información, partiendo de las relaciones previas.
Internet SoftbotInternet Softbot
MetaCrawlerMetaCrawler ILAILA
Ahoy!Ahoy! ShopBotShopBot
Familia de Softbots
Internet Learning AgentInternet Learning Agent
Walter Conradi – Universidad Nacional del Sur
El mecanismo que utiliza el ILA para hacer esto es la Correspondencia Heurística
Consideremos cómo podemos enseñar castellano a un Elfo. Asumiendo que no conocemos Élfico, solo podemos utilizar objetos que sean individuales y nombrarlos, como "caballo" o “árbol". Hacer esto implica efectuar las asumciones:
•El Elfo está familiarizado con los objetos que le enseñamos
•El Elfo posee un concepto propio sobre los objetos
Este tipo de aprendizaje por medio de objetos individuales se denomina Correspondencia Heurística.
Internet Learning AgentInternet Learning Agent
Walter Conradi – Universidad Nacional del Sur
¿Cómo implementa esto el ILA?
1º - El ILA y la IS deben tener algunos objetos en común y también deben tener categorías en común (Objetos: Tuplas de las Entidades de la BD – Categorías: Atributos de la Entidad)
2º - El ILA hace consultas a la IS con objetos que conoce, y busca correspondencias de tokens entre su modelo y la información retornada.
3º - El ILA genera hipótesis basadas en las correspondencias, y las clasifica de acuerdo a cómo concuerdan con las observaciones.
Internet Learning AgentInternet Learning Agent
Walter Conradi – Universidad Nacional del Sur
Para poder realizar el algoritmo debemos poder contestar las siguientes preguntas:
1. ¿Con cuál objeto debe consultar el ILA al IS?
2. ¿Cuál es el mapeo apropiado del objeto a un string? (para una persona, el IS puede ser consultado por el nombre, el nombre completo, el número de seguro social)
3. ¿Cuáles son las posibles interpretaciones para cada token de la respuesta?
4. ¿Cómo debe el ILA valorar cada interpretación?
PersonaNombre Nº seguro
String 1...
String 2...
Arthur Clarke 125-1234
Internet Learning AgentInternet Learning Agent
Walter Conradi – Universidad Nacional del Sur
1. ¿Con cuál objeto debe consultar el ILA al IS?
El ILA puede usar cualquier objeto de su modelo interno para hacer una consulta al IS. Pero si el ILA ya conoce la IS consultará por tipos de objetos que estén en la IS.
El tipo del objeto es determinado por los atributos que lo conforman.
Investigador
DNI Nombre
23456789...
Arthur Clarke...
ID_CI
1...
1
CentroDeInvestigación
ID_CI Nombre
...NASA
...
Ciudad
Washington...
DB ModelEjemplo de Objeto: 23456789 Arthur Clarke
Nota: Las tuplas de tablas puramente relacionales (muchos-muchos) no representarán ningún objeto, pues sus atributos no encierran ningún significado (e.g, DNI - ID_CI)
Internet Learning AgentInternet Learning Agent
Walter Conradi – Universidad Nacional del Sur
2. ¿Cuál es el mapeo apropiado del objeto a un string?
El ILA consultará usando todos los datos strings conocidos del objeto, intentando aprender cuál es el string apropiado
PersonaNombre Nº seguro
String 1...
String 2...
Internet Learning AgentInternet Learning Agent
Walter Conradi – Universidad Nacional del Sur
3. ¿Cuáles son las posibles interpretaciones para cada token de la respuesta?
Una vez que el ILA obtiene una respuesta de la IS, intentaráinterpretar cada token de la respuesta. Una interpretación es una cadena de atributos del modelo constituidos dentro de una relación. Por ejemplo:
Investigador
DNI Nombre
23456789...
Arthur Clarke...
ID_CI
1...
1
CentroDeInvestigación
ID_CI Nombre
...NASA
...
Ciudad
Washington...
DB ModelConsulta del ILA: Arthur ClarkeRespuesta del IS: Arthur Clarke - Washington
Interpretación: path Nombre – ID_CI - Ciudad
Internet Learning AgentInternet Learning Agent
Walter Conradi – Universidad Nacional del Sur
4. ¿Cómo debe el ILA valorar cada interpretación?
Se valora la interpretación, en forma de hipótesis. Una hipótesis puede ser explicativa (predice la salida), inconsistente (predice otra cosa) o consistente (sin predicción). Así, las hipótesis nuevas son comparadas con las viejas, y se determina cual es mejor.
Internet Learning AgentInternet Learning Agent
Walter Conradi – Universidad Nacional del Sur
El ILA termina el proceso de aprendizaje cuando ocurra:
1. Se le han terminado los objetos con qué consultar (i.e., el modelo es insuficiente para entablar una comunicación con la IS)
2. Se ha encontrado la mejor hipótesis
El ShopBot es un agente basado en el ILA y en el MetaCrawler
ShopBotShopBot
Walter Conradi – Universidad Nacional del Sur
Su BD está diseñada para tratar con fuentes de información referidas a compras. Dado que está basado en el ILA, puede aprender a comunicarse con nuevos sitios de compras.
Ahoy!Ahoy!
Internet SoftbotInternet Softbot
MetaCrawlerMetaCrawler ILAILA
ShopBotShopBot
Puede buscar, por ejemplo, precios de diferentes vendedores para productos similares.
Walter Conradi – Universidad Nacional del Sur
• Para ver un explicación rigurosa sobre LCW leer Etzioni, Golden, Weld- Tractable Closed World Reasoning with Updates – 1994
• Para ver el funcionamiento completo del ILA leer Mike Perkowitz, OrenEtzioni - Category Translation: Learning to understand information on the Internet – 1995
• Para ver sobre el Internet Softbot leer Oren Etzioni & Daniel S. Weld -Intelligent Agents on the Internet: Fact, Fiction, and Forecast
• Para ver los resultados del uso del MetaCrawler leer Erik Selberg, Oren Etzioni - Multi-Service Search and Comparison Using the MetaCrawler - 1995
• Para ver la implementación del Planificador XII leer Keith Golden OrenEtzioni Daniel Weld - Omnipotence Without Omniscience: Efficient Sensor Management for Planning - 1994
ReferenciasReferencias
Walter Conradi – Universidad Nacional del Sur
LinksLinks
• http://www.metacrawler.com/
• http://www.dogpile.com/
• http://webcrawler.com/