SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
Procesamiento de Lenguaje
Natural con Python
Ing. Carlos Gutiérrez
https://www.gutierrezc.com.ve/
Feliz Dia del Programador
13 sep 2019
Agenda:
1. ¿Qué es Procesamiento de Lenguaje Natural (PLN)?
2. Conceptos: Tokenización, Etiquetas, Lematización, Chunks
3. Preprocesamiento y normalización
4. Python para PLN
5. Librería Spacy
6. Un ejemplo de PLN con Spacy
7. Algunos usos del PNL
¿Que es el procesamiento de lenguaje
natural?
“Es la suma de técnicas, modelos y
herramientas que nos permite convertir un
lenguaje natural a datos procesables por un
algoritmo especializado para dicho fin”.
¿Que es el procesamiento de lenguaje
natural?
“Es una rama de la inteligencia artificial
que intenta replicar la facultad del
lenguaje humano”.
¿Que es el procesamiento de lenguaje
natural?
lingüística + Cs. Computación
Hablar de PLN: Lingüística computacional
lingüística + Cs. Computación
Noam Chomsky Alan Turing
Tokenización (tokenizer)
La tokenización es un paso que divide cadenas de texto más largas en
piezas más pequeñas o tokens.
La tokenización también se conoce como segmentación de texto o análisis
léxico
Tokens = ['la', 'vida', 'es', 'bella', 'y', 'aun', 'mas', 'si', 'programa', 'con', 'python']
Texto = "la vida es bella y aun mas si programas con python"
Etiquetar (Tagging Part of Speech - PoS)
Clasificar las oraciones en verbo, sustantivo,
adjetivo preposición, etc.
Lematización (Lemmatized)
Asignar las formas básicas de las palabras.
Es el proceso de convertir una palabra a su forma
base (raíz)
universal as= universal
universalmente as=universal
la palabra raíz es universal
Chunks
Sirve para entender la gramática en las oraciones. Se hace
un parseo de los tokens y a partir de su PoS se arma un
árbol de la estructura.
Preprocesamiento y normalización
Preprocesamiento se refiere a la adecuación del texto para
eliminar la mayor cantidad de caracteres no deseados.
La normalización generalmente se refiere a una serie de
tareas relacionadas destinadas a poner todo el texto en
igualdad de condiciones.
Todo esto depende de la fuente de los datos.
Python para PLN
NLTK: Esta es la librería muy versátil y robusta, sirve mucho para preprocesamiento,
crear los tokens, POS tagging, etc
TextBlob: fue creada como una capa superior de NLTK y es fácil de usar. Incluye
algunas funcionalidades adicionales como análisis de sentimiento y spell check.
Gensim: construida específicamente para modelado de temas, también calcula
similitud de documentos.
SpaCy: Es una librería bastante robusta, rápida y lista para producción.
De las diferentes librerías?
Nos vamos a centrar en la librería Spacy y
daremos una pequeña demostración de su
potencial con un ejemplo muy simple.
Acerca de Spacy
Es una biblioteca de software de
código abierto para procesamiento
avanzado de lenguaje natural, escrita
en los lenguajes de programación
Python y Cython.
Spacy sitio oficial
https://spacy.io
Spacy: Processing pipeline diagram
Como se utiliza Spacy
Para usarla solo hace falta hacer esto:
pip install spacy
python -m spacy download en_core_web_sm
Como se utiliza Spacy
Para el ejemplo usaremos el idioma español:
Instalamos lo siguiente:
python -m spacy download es_core_news_sm
Fuente: https://spacy.io/models
Ejemplo usando Spacy
Ejemplo usando Spacy
Ejemplo usando Spacy
print("Tokens:", [token.lemma_ for token in doc])
Ejemplo usando Spacy
from spacy import displacy |
displacy.serve(doc, style="dep")
Con esto podemos apreciarlo de forma gráfica en el navegador
Algunos usos PLN:
● Motores de búsqueda
● Respuestas automáticas
● Asistentes automáticos |
Chatbots
● Extracción de información
● Análisis de sentimiento
● Sistemas de traducción
● Correctores ortográficos
● Interfaces a bases de datos en lenguaje natural
● Resúmenes de textos
● Clasificación de documentos
● Minería de redes sociales
● Reconocimiento de voz
Algunos usos:
Alimentar algoritmos
de Machine Learning
Preguntas:
Aclarar Dudas!!!
Mis Contactos
Twitter: @carlos_conexo
Instagram: @shades3002
Linkedin: ing-carlos-gutierrez
Gracias, Gracias, Gracias..!

Más contenido relacionado

La actualidad más candente

MySQL 5.6 Performance
MySQL 5.6 PerformanceMySQL 5.6 Performance
MySQL 5.6 Performance
MYXPLAIN
 

La actualidad más candente (20)

Seastore: Next Generation Backing Store for Ceph
Seastore: Next Generation Backing Store for CephSeastore: Next Generation Backing Store for Ceph
Seastore: Next Generation Backing Store for Ceph
 
High Availability PostgreSQL with Zalando Patroni
High Availability PostgreSQL with Zalando PatroniHigh Availability PostgreSQL with Zalando Patroni
High Availability PostgreSQL with Zalando Patroni
 
How Scylla Make Adding and Removing Nodes Faster and Safer
How Scylla Make Adding and Removing Nodes Faster and SaferHow Scylla Make Adding and Removing Nodes Faster and Safer
How Scylla Make Adding and Removing Nodes Faster and Safer
 
High throughput data replication over RAFT
High throughput data replication over RAFTHigh throughput data replication over RAFT
High throughput data replication over RAFT
 
Capturing NIC and Kernel TX and RX Timestamps for Packets in Go
Capturing NIC and Kernel TX and RX Timestamps for Packets in GoCapturing NIC and Kernel TX and RX Timestamps for Packets in Go
Capturing NIC and Kernel TX and RX Timestamps for Packets in Go
 
High performance computing tutorial, with checklist and tips to optimize clus...
High performance computing tutorial, with checklist and tips to optimize clus...High performance computing tutorial, with checklist and tips to optimize clus...
High performance computing tutorial, with checklist and tips to optimize clus...
 
Tuning Autovacuum in Postgresql
Tuning Autovacuum in PostgresqlTuning Autovacuum in Postgresql
Tuning Autovacuum in Postgresql
 
XPDDS17: Shared Virtual Memory Virtualization Implementation on Xen - Yi Liu,...
XPDDS17: Shared Virtual Memory Virtualization Implementation on Xen - Yi Liu,...XPDDS17: Shared Virtual Memory Virtualization Implementation on Xen - Yi Liu,...
XPDDS17: Shared Virtual Memory Virtualization Implementation on Xen - Yi Liu,...
 
(New)SQL on AWS: Aurora serverless
(New)SQL on AWS: Aurora serverless(New)SQL on AWS: Aurora serverless
(New)SQL on AWS: Aurora serverless
 
MySQL on ZFS
MySQL on ZFSMySQL on ZFS
MySQL on ZFS
 
Ceph Object Storage Reference Architecture Performance and Sizing Guide
Ceph Object Storage Reference Architecture Performance and Sizing GuideCeph Object Storage Reference Architecture Performance and Sizing Guide
Ceph Object Storage Reference Architecture Performance and Sizing Guide
 
Data Streaming with Apache Kafka & MongoDB
Data Streaming with Apache Kafka & MongoDBData Streaming with Apache Kafka & MongoDB
Data Streaming with Apache Kafka & MongoDB
 
HBaseCon 2015: HBase Performance Tuning @ Salesforce
HBaseCon 2015: HBase Performance Tuning @ SalesforceHBaseCon 2015: HBase Performance Tuning @ Salesforce
HBaseCon 2015: HBase Performance Tuning @ Salesforce
 
Análisis de datos con Apache Spark
Análisis de datos con Apache SparkAnálisis de datos con Apache Spark
Análisis de datos con Apache Spark
 
Linux tuning to improve PostgreSQL performance
Linux tuning to improve PostgreSQL performanceLinux tuning to improve PostgreSQL performance
Linux tuning to improve PostgreSQL performance
 
Using galera replication to create geo distributed clusters on the wan
Using galera replication to create geo distributed clusters on the wanUsing galera replication to create geo distributed clusters on the wan
Using galera replication to create geo distributed clusters on the wan
 
MySQL 5.6 Performance
MySQL 5.6 PerformanceMySQL 5.6 Performance
MySQL 5.6 Performance
 
Streaming Millions of Contact Center Interactions in (Near) Real-Time with Pu...
Streaming Millions of Contact Center Interactions in (Near) Real-Time with Pu...Streaming Millions of Contact Center Interactions in (Near) Real-Time with Pu...
Streaming Millions of Contact Center Interactions in (Near) Real-Time with Pu...
 
Accelerating Envoy and Istio with Cilium and the Linux Kernel
Accelerating Envoy and Istio with Cilium and the Linux KernelAccelerating Envoy and Istio with Cilium and the Linux Kernel
Accelerating Envoy and Istio with Cilium and the Linux Kernel
 
Where is my bottleneck? Performance troubleshooting in Flink
Where is my bottleneck? Performance troubleshooting in FlinkWhere is my bottleneck? Performance troubleshooting in Flink
Where is my bottleneck? Performance troubleshooting in Flink
 

Similar a Procesamiento de lenguaje natural con python

Similar a Procesamiento de lenguaje natural con python (20)

Tutorial python2
Tutorial python2Tutorial python2
Tutorial python2
 
Manual python2
Manual python2Manual python2
Manual python2
 
Tutorial python2
Tutorial python2Tutorial python2
Tutorial python2
 
Tutorial python2
Tutorial python2Tutorial python2
Tutorial python2
 
Tutorial python2
Tutorial python2Tutorial python2
Tutorial python2
 
Tutorial python2
Tutorial python2Tutorial python2
Tutorial python2
 
Tutorial python
Tutorial pythonTutorial python
Tutorial python
 
Raspberry Pi: El tutorial de Python
Raspberry Pi: El tutorial de PythonRaspberry Pi: El tutorial de Python
Raspberry Pi: El tutorial de Python
 
Tutorial python2
Tutorial python2Tutorial python2
Tutorial python2
 
python-para-todos.pdf
python-para-todos.pdfpython-para-todos.pdf
python-para-todos.pdf
 
Python para todos
Python para todosPython para todos
Python para todos
 
Python para Todos
Python para TodosPython para Todos
Python para Todos
 
python-para-todos.pdf
python-para-todos.pdfpython-para-todos.pdf
python-para-todos.pdf
 
Python para todos
Python para todosPython para todos
Python para todos
 
Libro python para todos
Libro   python para todosLibro   python para todos
Libro python para todos
 
Python para todos
Python para todosPython para todos
Python para todos
 
Python_para_todos.pdf
Python_para_todos.pdfPython_para_todos.pdf
Python_para_todos.pdf
 
Python_para_todos.pdf
Python_para_todos.pdfPython_para_todos.pdf
Python_para_todos.pdf
 
El tutorial PYTHON EMERSON EDUARDO RODRIGUES
El tutorial PYTHON  EMERSON EDUARDO RODRIGUESEl tutorial PYTHON  EMERSON EDUARDO RODRIGUES
El tutorial PYTHON EMERSON EDUARDO RODRIGUES
 
Tutorial de Python
Tutorial de PythonTutorial de Python
Tutorial de Python
 

Último

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Último (15)

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 

Procesamiento de lenguaje natural con python

  • 1. Procesamiento de Lenguaje Natural con Python Ing. Carlos Gutiérrez https://www.gutierrezc.com.ve/
  • 2. Feliz Dia del Programador 13 sep 2019
  • 3. Agenda: 1. ¿Qué es Procesamiento de Lenguaje Natural (PLN)? 2. Conceptos: Tokenización, Etiquetas, Lematización, Chunks 3. Preprocesamiento y normalización 4. Python para PLN 5. Librería Spacy 6. Un ejemplo de PLN con Spacy 7. Algunos usos del PNL
  • 4. ¿Que es el procesamiento de lenguaje natural? “Es la suma de técnicas, modelos y herramientas que nos permite convertir un lenguaje natural a datos procesables por un algoritmo especializado para dicho fin”.
  • 5. ¿Que es el procesamiento de lenguaje natural? “Es una rama de la inteligencia artificial que intenta replicar la facultad del lenguaje humano”.
  • 6. ¿Que es el procesamiento de lenguaje natural? lingüística + Cs. Computación
  • 7. Hablar de PLN: Lingüística computacional lingüística + Cs. Computación Noam Chomsky Alan Turing
  • 8.
  • 9. Tokenización (tokenizer) La tokenización es un paso que divide cadenas de texto más largas en piezas más pequeñas o tokens. La tokenización también se conoce como segmentación de texto o análisis léxico Tokens = ['la', 'vida', 'es', 'bella', 'y', 'aun', 'mas', 'si', 'programa', 'con', 'python'] Texto = "la vida es bella y aun mas si programas con python"
  • 10. Etiquetar (Tagging Part of Speech - PoS) Clasificar las oraciones en verbo, sustantivo, adjetivo preposición, etc.
  • 11. Lematización (Lemmatized) Asignar las formas básicas de las palabras. Es el proceso de convertir una palabra a su forma base (raíz) universal as= universal universalmente as=universal la palabra raíz es universal
  • 12. Chunks Sirve para entender la gramática en las oraciones. Se hace un parseo de los tokens y a partir de su PoS se arma un árbol de la estructura.
  • 13. Preprocesamiento y normalización Preprocesamiento se refiere a la adecuación del texto para eliminar la mayor cantidad de caracteres no deseados. La normalización generalmente se refiere a una serie de tareas relacionadas destinadas a poner todo el texto en igualdad de condiciones. Todo esto depende de la fuente de los datos.
  • 14. Python para PLN NLTK: Esta es la librería muy versátil y robusta, sirve mucho para preprocesamiento, crear los tokens, POS tagging, etc TextBlob: fue creada como una capa superior de NLTK y es fácil de usar. Incluye algunas funcionalidades adicionales como análisis de sentimiento y spell check. Gensim: construida específicamente para modelado de temas, también calcula similitud de documentos. SpaCy: Es una librería bastante robusta, rápida y lista para producción.
  • 15. De las diferentes librerías? Nos vamos a centrar en la librería Spacy y daremos una pequeña demostración de su potencial con un ejemplo muy simple.
  • 16. Acerca de Spacy Es una biblioteca de software de código abierto para procesamiento avanzado de lenguaje natural, escrita en los lenguajes de programación Python y Cython.
  • 19. Como se utiliza Spacy Para usarla solo hace falta hacer esto: pip install spacy python -m spacy download en_core_web_sm
  • 20. Como se utiliza Spacy Para el ejemplo usaremos el idioma español: Instalamos lo siguiente: python -m spacy download es_core_news_sm Fuente: https://spacy.io/models
  • 23. Ejemplo usando Spacy print("Tokens:", [token.lemma_ for token in doc])
  • 24. Ejemplo usando Spacy from spacy import displacy | displacy.serve(doc, style="dep") Con esto podemos apreciarlo de forma gráfica en el navegador
  • 25. Algunos usos PLN: ● Motores de búsqueda ● Respuestas automáticas ● Asistentes automáticos | Chatbots ● Extracción de información ● Análisis de sentimiento ● Sistemas de traducción ● Correctores ortográficos ● Interfaces a bases de datos en lenguaje natural ● Resúmenes de textos ● Clasificación de documentos ● Minería de redes sociales ● Reconocimiento de voz
  • 28. Mis Contactos Twitter: @carlos_conexo Instagram: @shades3002 Linkedin: ing-carlos-gutierrez