information extraction: herramientas y visualización, todo ... · diseno~ en estrella rodeando una...
TRANSCRIPT
![Page 1: Information Extraction: herramientas y visualización, todo ... · Diseno~ en estrella rodeando una BD relacional, lo que permite I Modularizaci on I Paralelizaci on de tareas Django](https://reader034.vdocument.in/reader034/viewer/2022042403/5f16d3b613cad927aa68a354/html5/thumbnails/1.jpg)
Information Extraction: herramientas y visualizacion,todo con IEPY
Javier Mansilla
Machinalis
21 de Mayo, 2015
Javier Mansilla (Machinalis) IEPY 21 de Mayo, 2015 1 / 15
![Page 2: Information Extraction: herramientas y visualización, todo ... · Diseno~ en estrella rodeando una BD relacional, lo que permite I Modularizaci on I Paralelizaci on de tareas Django](https://reader034.vdocument.in/reader034/viewer/2022042403/5f16d3b613cad927aa68a354/html5/thumbnails/2.jpg)
Quien soy
• Javier Mansilla.
• Analista en Computacion.
• Programador desde hace varios anos, y aprendiz en Machine Learningy NLP.
• Co-Fundador de Machinalis.
• Participante activo en el desarrollo de IEPY.
Javier Mansilla (Machinalis) IEPY 21 de Mayo, 2015 2 / 15
![Page 3: Information Extraction: herramientas y visualización, todo ... · Diseno~ en estrella rodeando una BD relacional, lo que permite I Modularizaci on I Paralelizaci on de tareas Django](https://reader034.vdocument.in/reader034/viewer/2022042403/5f16d3b613cad927aa68a354/html5/thumbnails/3.jpg)
Sumario
1 ¿Que es IEPY?
2 Etiquetado de Corpus
3 Extraccion con Reglas
4 Extraccion con Clasificadores
5 Ejemplos de uso
Javier Mansilla (Machinalis) IEPY 21 de Mayo, 2015 3 / 15
![Page 4: Information Extraction: herramientas y visualización, todo ... · Diseno~ en estrella rodeando una BD relacional, lo que permite I Modularizaci on I Paralelizaci on de tareas Django](https://reader034.vdocument.in/reader034/viewer/2022042403/5f16d3b613cad927aa68a354/html5/thumbnails/4.jpg)
¿Que es IEPY?
¿Que es IEPY?
• Una herramienta para extraccion de informacion, y NLP en general
• Funciona out-of-the-box
• Provee una plataforma para prototipado rapido en extracciones:
I Basado en Reglas.I Basado en Clasificadores.I Active Learning.
• Software Libre (BSD).
• Escrito en Python 3.
• Testing integrado al desarrollo
• Pasen y vean: github, issue tracker, readthedocs, etc.
• https://github.com/machinalis/iepy
Javier Mansilla (Machinalis) IEPY 21 de Mayo, 2015 4 / 15
![Page 5: Information Extraction: herramientas y visualización, todo ... · Diseno~ en estrella rodeando una BD relacional, lo que permite I Modularizaci on I Paralelizaci on de tareas Django](https://reader034.vdocument.in/reader034/viewer/2022042403/5f16d3b613cad927aa68a354/html5/thumbnails/5.jpg)
¿Que es IEPY?
Arquitectura
• Diseno en estrella rodeando una BD relacional, lo que permite
I ModularizacionI Paralelizacion de tareas
• Django ORM para manipulacion de los datos
• Django Framework para la interfaz visual (web UI).
Javier Mansilla (Machinalis) IEPY 21 de Mayo, 2015 5 / 15
![Page 6: Information Extraction: herramientas y visualización, todo ... · Diseno~ en estrella rodeando una BD relacional, lo que permite I Modularizaci on I Paralelizaci on de tareas Django](https://reader034.vdocument.in/reader034/viewer/2022042403/5f16d3b613cad927aa68a354/html5/thumbnails/6.jpg)
¿Que es IEPY?
Arquitectura
• Se ingresan los documentos a trabajar como texto plano
• Procesamiento NLP con correr 1 comando
Javier Mansilla (Machinalis) IEPY 21 de Mayo, 2015 5 / 15
![Page 7: Information Extraction: herramientas y visualización, todo ... · Diseno~ en estrella rodeando una BD relacional, lo que permite I Modularizaci on I Paralelizaci on de tareas Django](https://reader034.vdocument.in/reader034/viewer/2022042403/5f16d3b613cad927aa68a354/html5/thumbnails/7.jpg)
¿Que es IEPY?
Ejemplo pre procesamiento
Ingreso de documentos
Javier Mansilla (Machinalis) IEPY 21 de Mayo, 2015 6 / 15
![Page 8: Information Extraction: herramientas y visualización, todo ... · Diseno~ en estrella rodeando una BD relacional, lo que permite I Modularizaci on I Paralelizaci on de tareas Django](https://reader034.vdocument.in/reader034/viewer/2022042403/5f16d3b613cad927aa68a354/html5/thumbnails/8.jpg)
¿Que es IEPY?
Ejemplo pre procesamiento
Separado en oraciones
Javier Mansilla (Machinalis) IEPY 21 de Mayo, 2015 6 / 15
![Page 9: Information Extraction: herramientas y visualización, todo ... · Diseno~ en estrella rodeando una BD relacional, lo que permite I Modularizaci on I Paralelizaci on de tareas Django](https://reader034.vdocument.in/reader034/viewer/2022042403/5f16d3b613cad927aa68a354/html5/thumbnails/9.jpg)
¿Que es IEPY?
Ejemplo pre procesamiento
Tokenizado
Javier Mansilla (Machinalis) IEPY 21 de Mayo, 2015 6 / 15
![Page 10: Information Extraction: herramientas y visualización, todo ... · Diseno~ en estrella rodeando una BD relacional, lo que permite I Modularizaci on I Paralelizaci on de tareas Django](https://reader034.vdocument.in/reader034/viewer/2022042403/5f16d3b613cad927aa68a354/html5/thumbnails/10.jpg)
¿Que es IEPY?
Ejemplo pre procesamiento
Etiquetado gramatical / POS Tagging
Javier Mansilla (Machinalis) IEPY 21 de Mayo, 2015 6 / 15
![Page 11: Information Extraction: herramientas y visualización, todo ... · Diseno~ en estrella rodeando una BD relacional, lo que permite I Modularizaci on I Paralelizaci on de tareas Django](https://reader034.vdocument.in/reader034/viewer/2022042403/5f16d3b613cad927aa68a354/html5/thumbnails/11.jpg)
¿Que es IEPY?
Ejemplo pre procesamiento
Lematizacion
Javier Mansilla (Machinalis) IEPY 21 de Mayo, 2015 6 / 15
![Page 12: Information Extraction: herramientas y visualización, todo ... · Diseno~ en estrella rodeando una BD relacional, lo que permite I Modularizaci on I Paralelizaci on de tareas Django](https://reader034.vdocument.in/reader034/viewer/2022042403/5f16d3b613cad927aa68a354/html5/thumbnails/12.jpg)
¿Que es IEPY?
Ejemplo pre procesamiento
Deteccion de Entidades y resolucion co-referencias
Javier Mansilla (Machinalis) IEPY 21 de Mayo, 2015 6 / 15
![Page 13: Information Extraction: herramientas y visualización, todo ... · Diseno~ en estrella rodeando una BD relacional, lo que permite I Modularizaci on I Paralelizaci on de tareas Django](https://reader034.vdocument.in/reader034/viewer/2022042403/5f16d3b613cad927aa68a354/html5/thumbnails/13.jpg)
¿Que es IEPY?
Ejemplo pre procesamiento
Demo
Javier Mansilla (Machinalis) IEPY 21 de Mayo, 2015 6 / 15
![Page 14: Information Extraction: herramientas y visualización, todo ... · Diseno~ en estrella rodeando una BD relacional, lo que permite I Modularizaci on I Paralelizaci on de tareas Django](https://reader034.vdocument.in/reader034/viewer/2022042403/5f16d3b613cad927aa68a354/html5/thumbnails/14.jpg)
Etiquetado de Corpus
Etiquetando Relaciones
• IEPY tiene integrada una herramienta para etiquetar corpus.
• Interfaz Web.
• Permite multiples jueces simultaneos.
Demo!
Productividad de 50 documentos por hora-hombre
Javier Mansilla (Machinalis) IEPY 21 de Mayo, 2015 7 / 15
![Page 15: Information Extraction: herramientas y visualización, todo ... · Diseno~ en estrella rodeando una BD relacional, lo que permite I Modularizaci on I Paralelizaci on de tareas Django](https://reader034.vdocument.in/reader034/viewer/2022042403/5f16d3b613cad927aa68a354/html5/thumbnails/15.jpg)
Etiquetado de Corpus
Etiquetando Relaciones
• IEPY tiene integrada una herramienta para etiquetar corpus.
• Interfaz Web.
• Permite multiples jueces simultaneos.
Demo!
Productividad de 50 documentos por hora-hombre
Javier Mansilla (Machinalis) IEPY 21 de Mayo, 2015 7 / 15
![Page 16: Information Extraction: herramientas y visualización, todo ... · Diseno~ en estrella rodeando una BD relacional, lo que permite I Modularizaci on I Paralelizaci on de tareas Django](https://reader034.vdocument.in/reader034/viewer/2022042403/5f16d3b613cad927aa68a354/html5/thumbnails/16.jpg)
Etiquetado de Corpus
Etiquetando Relaciones
• IEPY tiene integrada una herramienta para etiquetar corpus.
• Interfaz Web.
• Permite multiples jueces simultaneos.
Demo!
Productividad de 50 documentos por hora-hombre
Javier Mansilla (Machinalis) IEPY 21 de Mayo, 2015 7 / 15
![Page 17: Information Extraction: herramientas y visualización, todo ... · Diseno~ en estrella rodeando una BD relacional, lo que permite I Modularizaci on I Paralelizaci on de tareas Django](https://reader034.vdocument.in/reader034/viewer/2022042403/5f16d3b613cad927aa68a354/html5/thumbnails/17.jpg)
Extraccion con Reglas
Reglas
• Motor de extraccion basado en reglas
• Permite reglas positivas y tambien negativas
• Expresiones regulares enriquecidas
• Tarea: Dado un contexto, decidir si se encuentra la relacion o no
Ver un contexto
Javier Mansilla (Machinalis) IEPY 21 de Mayo, 2015 8 / 15
![Page 18: Information Extraction: herramientas y visualización, todo ... · Diseno~ en estrella rodeando una BD relacional, lo que permite I Modularizaci on I Paralelizaci on de tareas Django](https://reader034.vdocument.in/reader034/viewer/2022042403/5f16d3b613cad927aa68a354/html5/thumbnails/18.jpg)
Extraccion con Reglas
Reglas
• Motor de extraccion basado en reglas
• Permite reglas positivas y tambien negativas
• Expresiones regulares enriquecidas
• Tarea: Dado un contexto, decidir si se encuentra la relacion o no
Ver un contexto
Javier Mansilla (Machinalis) IEPY 21 de Mayo, 2015 8 / 15
![Page 19: Information Extraction: herramientas y visualización, todo ... · Diseno~ en estrella rodeando una BD relacional, lo que permite I Modularizaci on I Paralelizaci on de tareas Django](https://reader034.vdocument.in/reader034/viewer/2022042403/5f16d3b613cad927aa68a354/html5/thumbnails/19.jpg)
Extraccion con Clasificadores
Extraccion de Informacion con Clasificadores
• Tarea del clasificador: dado un contexto, decidir si o no
• Personalizar y probar: Un clasificador basico tiene 13 lineas (sklearn)
• Un clasificador es solo un modulo Python. La unica conexion conIEPY es el tipo de datos a clasificar
• El clasificador por defecto es el resultado de 1 ano de trabajo.
• Opcionalmente, puede trabajarse guiado por active learning
Javier Mansilla (Machinalis) IEPY 21 de Mayo, 2015 9 / 15
![Page 20: Information Extraction: herramientas y visualización, todo ... · Diseno~ en estrella rodeando una BD relacional, lo que permite I Modularizaci on I Paralelizaci on de tareas Django](https://reader034.vdocument.in/reader034/viewer/2022042403/5f16d3b613cad927aa68a354/html5/thumbnails/20.jpg)
Extraccion con Clasificadores
Active learning
Enfoque simple que permite trabajar con un esquema de active learning
Pedirle al clasificador los puntos mas dudosos de clasificar.
Javier Mansilla (Machinalis) IEPY 21 de Mayo, 2015 10 / 15
![Page 21: Information Extraction: herramientas y visualización, todo ... · Diseno~ en estrella rodeando una BD relacional, lo que permite I Modularizaci on I Paralelizaci on de tareas Django](https://reader034.vdocument.in/reader034/viewer/2022042403/5f16d3b613cad927aa68a354/html5/thumbnails/21.jpg)
Extraccion con Clasificadores
Active learning
Interfaz para Active Learning
Multiples colaboradores pueden contestar en simultaneo.
Javier Mansilla (Machinalis) IEPY 21 de Mayo, 2015 11 / 15
![Page 22: Information Extraction: herramientas y visualización, todo ... · Diseno~ en estrella rodeando una BD relacional, lo que permite I Modularizaci on I Paralelizaci on de tareas Django](https://reader034.vdocument.in/reader034/viewer/2022042403/5f16d3b613cad927aa68a354/html5/thumbnails/22.jpg)
Extraccion con Clasificadores
Repaso final
• Herramienta open source para IE
• Construccion de corpus colaborativa
• Motor de IE basado en reglas
• Motor de IE basado en clasificadores completamente hackable
• Out-of-the-box active learning
Javier Mansilla (Machinalis) IEPY 21 de Mayo, 2015 12 / 15
![Page 23: Information Extraction: herramientas y visualización, todo ... · Diseno~ en estrella rodeando una BD relacional, lo que permite I Modularizaci on I Paralelizaci on de tareas Django](https://reader034.vdocument.in/reader034/viewer/2022042403/5f16d3b613cad927aa68a354/html5/thumbnails/23.jpg)
Ejemplos de uso
Ejemplos reales
Javier Mansilla (Machinalis) IEPY 21 de Mayo, 2015 13 / 15
![Page 24: Information Extraction: herramientas y visualización, todo ... · Diseno~ en estrella rodeando una BD relacional, lo que permite I Modularizaci on I Paralelizaci on de tareas Django](https://reader034.vdocument.in/reader034/viewer/2022042403/5f16d3b613cad927aa68a354/html5/thumbnails/24.jpg)
Ejemplos de uso
Ejemplos reales
Javier Mansilla (Machinalis) IEPY 21 de Mayo, 2015 13 / 15
![Page 25: Information Extraction: herramientas y visualización, todo ... · Diseno~ en estrella rodeando una BD relacional, lo que permite I Modularizaci on I Paralelizaci on de tareas Django](https://reader034.vdocument.in/reader034/viewer/2022042403/5f16d3b613cad927aa68a354/html5/thumbnails/25.jpg)
Ejemplos de uso
Ejemplos reales
Javier Mansilla (Machinalis) IEPY 21 de Mayo, 2015 13 / 15
![Page 26: Information Extraction: herramientas y visualización, todo ... · Diseno~ en estrella rodeando una BD relacional, lo que permite I Modularizaci on I Paralelizaci on de tareas Django](https://reader034.vdocument.in/reader034/viewer/2022042403/5f16d3b613cad927aa68a354/html5/thumbnails/26.jpg)
Ejemplos de uso
Fin
¡Muchas gracias!(¿preguntas, comentarios, sugerencias...?)
Javier Mansilla (Machinalis) IEPY 21 de Mayo, 2015 14 / 15
![Page 27: Information Extraction: herramientas y visualización, todo ... · Diseno~ en estrella rodeando una BD relacional, lo que permite I Modularizaci on I Paralelizaci on de tareas Django](https://reader034.vdocument.in/reader034/viewer/2022042403/5f16d3b613cad927aa68a354/html5/thumbnails/27.jpg)
Ejemplos de uso
Custom features
Informacion disponible en un contexto
• Tokens
• POS tags
• Todo lo referido a entidades presentes
• Parse tree
Mas...
• Actualmente usa Stanford’s CoreNLP.
• Los Features y el Clasificador viven como modulos Pythonindependientes.
• Pueden usarse reglas como nuevos features
Javier Mansilla (Machinalis) IEPY 21 de Mayo, 2015 15 / 15
![Page 28: Information Extraction: herramientas y visualización, todo ... · Diseno~ en estrella rodeando una BD relacional, lo que permite I Modularizaci on I Paralelizaci on de tareas Django](https://reader034.vdocument.in/reader034/viewer/2022042403/5f16d3b613cad927aa68a354/html5/thumbnails/28.jpg)
Ejemplos de uso
Custom features
Informacion disponible en un contexto
• Tokens
• POS tags
• Todo lo referido a entidades presentes
• Parse tree
Mas...
• Actualmente usa Stanford’s CoreNLP.
• Los Features y el Clasificador viven como modulos Pythonindependientes.
• Pueden usarse reglas como nuevos features
Javier Mansilla (Machinalis) IEPY 21 de Mayo, 2015 15 / 15