Aplicaciones de PLN en empresas - Fab Lab ESAN

Preview:

Citation preview

1

Aplicaciones de Procesamiento de Lenguaje Natural en Empresas

Nils Murrugarra

University of Pittsburgh

3

Motivación

https://www.ets.org/research/topics/as_nlp/writing_quality/

Organización• Introducción• Mundo Comercial• Motivación

• Traducción• Question Answering• Búsqueda• Reconocimiento de Entidades• Agente Conversacional• IBM Watson• Apple Siri

• Corrección Automática• Detección Automática de

Errores de Pronunciación• Aplicación en el Contexto

de Educación• Análisis de Sentimientos

4

Procesamiento de Lenguaje NaturalVamos a estudiar como es posible conseguir que computadores

realicen tareas útiles e interesantes relacionadas con el lenguajehumano.

PLN: Atención!!• Una enorme cantidad de conocimiento ya está disponible en

forma legible para computadores.• Agentes conversacionales están convirtiendo en una forma

importante de comunicación hombre-máquina• Gran parte de la comunicación entre personas es ahora mediante

computadores

PLN: Mundo Comercial

PLN: Mundo Comercial

• Habilidades• Leer• Escuchar• Escribir• Hablar

Cómo corrigen las pruebas de millones de personas

en todo el mundo?

Motivación – Traducción

Motivación - Búsqueda

Motivación - Búsqueda

Motivación - Reconocimiento de Entidades

Motivación - Reconocimiento de Entidades - Gmail

Expresiones Regulares

Motivación - Reconocimiento de Entidades

Motivación - Reconocimiento de Entidades (Relaciones)

Motivación – Question Answering

Motivación: Agente Conversacional

Motivación – Agente Conversacional

Motivación – Agente Conversacional

IBM Watson - Jeopardy

IBM Watson - Jeopardy• Watson es un sistema que entiende

lenguaje natural y venció a los doscampeones de Jeopardy en un programade televisión.

Apple Siri

Visual Question Answering

Corrección Automática

Question

Corrección Automática

QuestionReference Answers

Similar?

Corrección Automática

1. Correcta2. Parcialmente correcta (incompleta)3. Contradictoria4. Irrelevante5. Fuera de Dominio

Corrección Automática• Training Phase

Spelling Checking:- Give suggestion of misspelling word.

- Length- Bag-Of-Words- Latent Semantic Analysis

(LSA)- Textual Entailment

Training Examples

Pre-Processing

Feature Extraction

Classifier Learning

Corrección Automática• Test Phase

Test Examples Pre-Processing Feature Extraction

Learned Classifier

Predicted Examples

Corrección Automática: Por qué?• Se podría dar un feedback a cada alumno

• Un sistema de tutoría para alumnos.• Se podría dar pistas para que el alumno reflexione y encuentre la

solución correcta y completa• Se podría corregir millones de preguntas en un corto tiempo.

Detección Automática de Errores de Pronunciación

Identificar errores a nivel fonético y por palabra.

Detección Automática de Errores de Pronunciación: Para qué?

• Se podría dar un feedback a cada alumno• Un sistema de tutoría para alumnos.• Se podría dar pistas para que el alumno mejore su pronunciación

• Ejercicios especiales para solucionar ciertos problemas

• Se podría corregir millones de pronunciación en un corto tiempo.

Aplicación en el contexto de Educación

32

Aplicación en el contexto de Educación

33

It was built on 1853.

Pregunta: Dado un contexto, Cuál es la preposición mas apropiada?

Contexto: It was built 1853.

Metodología: Entrenar un modelo para aprender/predecir cuál de las 36 posibles preposiciones encaja mejor dado un contexto.

^

in

Aplicación en el contexto de Educación

34

Como caracterizamos el contexto de preposiciones?

Características:• Palabras cercanas• Part-of-Speech (e.g. adj, verbo, sustantivo, …) de palabras

cercanas• Características Lingüísticas importantes (e.g. verbo principal,

cabeza de una frase de sustantivo)• Información de corrección de preposiciones

Aplicación en el contexto de Educación

• Problema:• SKLL no es apropiado para conjuntos de datos muy grandes

• Costos de Memoria• Tiempo de procesamiento

35

Conjunto de DatosTarea Corregir errores en la selección de

preposicionesNum. de Características 21,243,070

Num. de classes 36Tamaño 3.3 Gigabytes

Aplicación en el contexto de Educación

36

• Objetivo:• Agregar funcionalidad a la herramienta SKLL para gestionar grandes

conjuntos de datos en menos tiempo y usando menos memoria, sin embargo manteniendo un rendimiento aceptable.

• Approach:• Adicionar clasificador SGD para reducir el

tiempo de procesamiento.

Tiempo de Procesamiento

37

Aplicación Preposiciones: Para qué?• Contamos con recursos limitados en un computador• Deseamos obtener las respuestas de nuestros experimentos lo

más pronto posible.• Tareas de aprendizaje de máquina requieren de una mayor

cantidad de ejemplos para poder tener un mejor desempeño• Un sistema de tutoría.

Análisis de Sentimientos

1. Extracción de entidades2. Extracción de Aspectos3. Identificar el emisor de opinión4. Extracción de Tiempo5. Clasificación de Sentimiento

Escrito por: John Fecha: 10 – Set – 2011

Yo compre la cámara Canon G12 hace seis meses. Me encanto. La calidadde imagen es espectacular. También, la batería dura bastante. Sinembargo, mi esposa piensa que es muy pesada.

Análisis de Sentimientos

Análisis de Sentimientos

Análisis de Sentimientos

Mini-proyecto• Familiarizarse con la API de Goodreads:

• https://www.goodreads.com/api• https://pypi.python.org/pypi/Goodreads/0.1.2

• Extraer comentarios (reviews) de un determinado libro (verbook.show )• Determinar aspectos más positivos y negativos

• Extraer comentarios (reviews) de un determinado genero yanalizar que aspectos en común tienen los libros más exitosos

Cómo ponerlo en práctica ?

Preguntas

Contacto

Nils MurrugarraPhd Student – University of

Pittsburgh

nineil@cs.pitt.edu

45