Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porEmygdia Orrantia Modificado hace 9 años
1
© 2009 IBM Corporation End User Programming (Naturalmente) Pablo Pedemonte – SW Engineer 16 Sep 2010
2
© 2009 IBM Corporation2 Agenda Conceptos de End User Programming CoScripter: Programación por Demostración + lenguaje natural Más aplicaciones de lenguaje natural Problemas a resolver Sumario
3
© 2009 IBM Corporation3 End User Programming (EUP) Acerca (parte de) el poder de la programación a los no programadores Personas sin experiencia en programación pueden modificar o mejorar artefactos de software Lenguajes de Scripting Programación Visual Grabación de Macros Programación por Demostración
4
© 2009 IBM Corporation4 Lenguajes de Scripting Son la 1ra materialización del concepto de EUP Construcciones de dominio específico: Facilita programar, pero no está diseñado para el usuario común enter(“address”,“221B Baker Street”); vs: var i = document.forms[0].inputAddr; i.value = “221B Baker Street”;
5
© 2009 IBM Corporation5 Programación Visual Los entornos de programación visual definen metáforas para construir programas de manera gráfica Algunas de las metáforas típicas: –Flujo de datos entre nodos (el programa es un grafo) –Reglas de reescritura definidas gráficamente –Composición de bloques (Open Blocks) Ejemplo: Google App Inventor
6
© 2009 IBM Corporation6 Grabación de Macros Consiste en grabar acciones llevadas a cabo por los usuarios, se pueden reproducir cuando se desee Limitación principal: –Los macros no analizan el significado de las acciones grabadas –Ejemplos: Borrar la primera palabra de una oración Eliminar comentarios de un fragmento de código C: /*...*/
7
© 2009 IBM Corporation7 Programación por demostración (PPD) EUP + Inteligencia Artificial Se graban las acciones del usuario Pero además, se intenta inferir la intención de dichas acciones La idea: –Si un usuario es capaz de demostrar cómo llevar a cabo una tarea, un sistema de PPD debería poder producir un programa que la ejecute Mucho más sencillo que scripting o programación visual Pero menos poderoso...
8
© 2009 IBM Corporation8 Agenda Conceptos de End User Programming CoScripter: Programación por Demostración + lenguaje natural Más aplicaciones de lenguaje natural Problemas a resolver Sumario
9
© 2009 IBM Corporation9 CoScripter: Programación por Demostración + Lenguaje Natural Usuarios “muestran” cómo llevar a cabo una tarea en un sitio web CoScripter infiere descripciones en lenguaje natural de los pasos a seguir Scripts resultantes grabados en una wiki
10
© 2009 IBM Corporation10 CoScripter: ejemplo * Go to http://www.liveatc.net/http://www.liveatc.net/ * Click the “Top 50 LiveATC Feeds” link * Enter “SABE” into the “Find LiveATC Streams” textbox * Click the “Listen to SABE” button
11
© 2009 IBM Corporation11 Por qué utilizar lenguaje natural? Le da un “toque social” a CoScripter Contribuye a compartir de modo efectivo el conocimiento sobre cómo llevar a cabo tareas en la web Los usuarios pueden entender los scripts: –Modificarlos es trivial –Mitiga el temor de ejecutar código desconocido en nuestro browser: “Qué hará este script?”
12
© 2009 IBM Corporation12 Agenda Conceptos de End User Programming CoScripter: Programación por Demostración + lenguaje natural Más aplicaciones de lenguaje natural Problemas a resolver Sumario
13
© 2009 IBM Corporation13 Síntesis de Scripts Es típico encontrar secuencias de instrucciones en manuales de usuario Podemos identifcar dichas secuencias con técnicas de Machine Learning? Podemos sintetizar scripts a partir de dichas secuencias? Ejemplo: –Generar CoScripter a partir de instrucciones sobre cómo adminstrar una aplicación desde una interfaz web
14
© 2009 IBM Corporation14 Casos de Prueba en Lenguaje Natural Idea: especificar casos de pruebas sobre interfaces gráficas como una secuencia de acciones + pasos de verificación en lenguaje natural Ejemplo: End User Programming para testers Robot basado en CoScripter puede ejecutar suites de tests de modo automático * Enter your name in the “User ID” textfield * Enter your password in the “Password” textfield * Click the “Log In” button * Verify there is a label with text “Welcome”
15
© 2009 IBM Corporation15 Agenda Conceptos de End User Programming CoScripter: Programación por Demostración + lenguaje natural Más aplicaciones de lenguaje natural Problemas a resolver Sumario
16
© 2009 IBM Corporation16 Problemas a Resolver End User Programming: Inferir correctamente la intención del usuario RIAs complican el proceso: –Ej: Click en un ítem de menú – Click the “Add New Folder” link vs: – Select the “Add New Folder” menu item –Precisamos contexto semántico –Accesibilidad puede ser la solución
17
© 2009 IBM Corporation17 Problemas a Resolver Lenguaje Natural para End User Programming: Internacionalización Tratar correctamente con ambigüedades Velocidad de procesamiento (ej., servicio de autocompletar)
18
© 2009 IBM Corporation18 Agenda Conceptos de End User Programming CoScripter: Programación por Demostración + lenguaje natural Más aplicaciones de lenguaje natural Problemas a resolver Sumario
19
© 2009 IBM Corporation19 Sumario EUP se trata de acercar el poder de la programación al “usuario común”. No programadores pueden mejorar productos de software, adaptándolos a sus necesidades. PPD es una forma de EUP: mediante técnicas de IA, un sistema observa las acciones de un usuario e infiere su intención. El procesamiento de lenguaje natural puede ser una contribución importante para EUP y PPD. Hace falta más investigación en este campo.
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.