Unidad VIII Lenguaje Natural

Please download to get full document.

View again

All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
 3
 
  Unidad VIII Lenguaje Natural Maestría en Sistemas Computacionales Clave: MPSCO Créditos Sesiones Sábados Rafael Vázquez Pérez Agenda Hemos descubierto los secretos de la vida Francis Crick
Related documents
Share
Transcript
Unidad VIII Lenguaje Natural Maestría en Sistemas Computacionales Clave: MPSCO Créditos Sesiones Sábados Rafael Vázquez Pérez Agenda Hemos descubierto los secretos de la vida Francis Crick 8.1 Fundamentos del Lenguaje. 8.2 Aplicaciones de PLN. Ques%on Answering: Watson de IBM Gano Jeopardy el 16 de Febrero de 2011 La obra de William Wilkinson Un relato de los principados de Valaquia y Moldavia inspiró a este autor en su novela más famosa Bram Stoker Diseño de Watson Extracción de Información Subject: reunion de trabajo Date: Enero 15, 2012 To: Rafael Vazquez Event: reunion trabajo Date: Ene Start: 10:00am End: 11:30am Hola Rafael, hemos calendarizado la reunión de trabajo en el salón B1 mañana de 10:00-11:30 Create new Calendar entry -Ruben Extracción de Información y análisis de sentimientos Traducción de Maquina Totalmente automática Traducción auxiliada por humanos Introduzca el texto fuente: Traducción del software Phrasal de la U. de Standford: Tecnología del lenguaje La ambigüedad hace difícil el procesamiento del lenguaje natural Lourdes no quiere a su tía por que es muy envidiosa El pez esta listo para comer El Pachuca le ganó al Leon en su campo Tengo una maestra muy buena Estuve esperándote en el banco Se debe limpiar aquí Me diste la mesa? Alejandro es noble Estaré de vacaciones solo unos días Porque es tan difícil comprender el lenguaje natural? Que progresos hemos hecho en estos problemas? La tarea es muy difícil! Que herramientas necesitamos? Conocimiento sobre el lenguaje Conocimiento sobre el mundo Una forma de combinar esas fuentes de conocimiento Como se hace generalmente esto: Modelos probabilisticos que construyan datos del lenguaje P( rouge rojo ) alta P( L avocat général El general avocado ) baja NLP Procesamiento Básico de Texto Distancia de Edición Modelado del Lenguaje Corrección de Vocabulario Clasificación de Texto Análisis de Sentimientos Clasificadores Discriminativos Reconocimiento de Entidades con Nombre y Modelos de Entropía Extracción Relacional Tagging Posicional Introducción al Parsing Parsing Probabilistico Information Retrieval Semántica Question-Answering Resúmenes Automáticos Expresiones Regulares Es un lenguaje formal para expresar cadenas de texto Como podemos buscar por cualquiera de estas? marmota marmotas Marmota Marmotas Expresiones regulares: Disyunciones Letras dentro de corchetes Pattern Matches [mm]armota marmota,marmota [ ] cualquier digito Expresiones regulares: Disyunciones Rangos [A-Z] Pattern Matches [A-Z] Una letra mayuscula Flores Muertas [a-z] Una letra minuscula mis gatos estaban impacientes [0-9] Un digito Capitulo 1: Alicia va a la casa Expresiones regulares: Negaciones en la disyunciones Negaciones [^Ss] El acento circunflejo significa negación solamente cuando es el primer carácter entre [] Pattern Matches [^A-Z] no una letra mayuscula Oynf pripretchik [^Ss] ni S o s no tengo una razon [^e^] ni e ni ^ Aqui hay un nene a^b El patrón a^b busque la ecuación a^b Expresiones regulares: mas disyunciones marmota tiene otro nombre que es liron Se usa el pipe ( ) para la disyunción Pattern Matches marmota liron tuyo mio tuyo mio a b c [abc] [ll]iron [mm]armota Expresiones regulares:? * +. Pattern Matches colou?r caracter previo optativo color colour oo*h! 0 o mas caracteres previos oh! ooh! oooh! o+h! 1 o mas caracteres previos oh! ooh! oooh! baa+ baa baaa baaaa beg.n begin begun began Stephen'C'Kleene' Kleene%*,%%%Kleene%+%%% Expresiones regulares: Anclas ^ $ Pattern Matches ^[A-Z] Palo Alto ^[^A-Za-z] 1 Hola \.$ El Fin..$ EL Fin? El Fin! Ejemplo Encuentre todas las instancias de la palabra the en un texto the no distingue mayúsculas y minúsculas [tt]he Regresa incorrectamente other y theology [^a-za-z][tt]he[^a-za-z] Practica 1 html Escribir este codigo head title /title probarlo y analizarlo script type= text/javascript !-- function validatepass(campo) { var RegExPattern = /(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{8,10})$/; var errormessage = 'Password Incorrecto.'; if ((campo.value.match(regexpattern)) && (campo.value!='')) { alert('password Correcto'); } else { alert(errormessage); campo.focus(); } } //-- /script /head body form action= # method= post p input type= text name= date onblur= validatepass(this); input name= button type= button value= probar br Intriduzca entre 8 y 10 caracteres, por lo menos un digito y un alfanumerico, y no puede contener caracteres especiales /form /body /html Practica 2 Con ayuda del programa anterior, construya un programa para validar una dirección de valida Tokenización de palabras Cada tarea de NLP necesita normalizar el texto 1.- Segmentando/tokenizando palabras en un texto en ejecución. 2.- Normalizando formatos de palabras 3.- Segmentando sentencias en un texto en ejecución Que es mas fácil procesar? xml... ... title Solicita Congreso no aumenten los retenes en temporada decembrina /title segmento 0 A propuesta del PAN, Congreso estatal aprobó el exhorto al ejecutivo /segmento 0 segmento 1 federal para que garantice, con motivo de la visita de los paisanos, que no /segmento 1 segmento 3 aumente los retenes /segmento 3 /xml Que es mas fácil procesar? Solicita Congreso no aumenten los retenes en temporada decembrina solicitar congreso no aumentar retenes temporada decembrina Que transformaciones hubo? title solicitar congreso no aumentar retenes temporada decembrina /title Estimando probabilidades de los N-gramas (bigramas) count(wi,wi-1) cantidad de veces que aparece la dupla Wi,Wi-1 P(Wi Wi-1)= count(wi-1) La probabilidad de que la palabra Wi venga después de la palabra Wi-1 en una total de veces que aparece la palabra Wi-1 Ejemplo de calculo de n-gramas sea el siguiente corpus: s turistas mexicanos así como uno de los periodistas más /s s leidos en Brasil, aseguran que jugadores y cuerpo técnico /s s de la Selección Mexicana visitaron Termas Centaurus varias veces /s P(Turistas s )=1/3= P(como así)=1/3= P(Mexicana Selección)=1/1= 1 P(los de)=1/2= 0.5 Ejemplo de calculo de n-gramas P( s técnico)=? P(veces /s )=? P(como cuerpo)=? P(la de)=? ejemplo avanzado Cual es la probabilidad de la sentencia? P( s Turistas mexicanos así como uno de los periodistas más /s ) = P(Turistas s ) P(mexicanos Turistas) P(así mexicanos) P(como así) P(uno como) P(de uno) P(los de) P(periodistas los) P(más periodistas) P( /s más)= 1/3 1/1 1/1 1/1 1/1 1/1 1/1 1/1 1/1 1/1= ejemplo avanzado Cuando se trabaja con un corpus mucho más grande las probabilidades son más chicas y corremos riesgo de que se produzca undeflow, por lo cual es siempre recomendable trabajar en el espacio logarítmico. ejemplo avanzado Log(P(Turistas s ))+log(p(mexicanos Turistas))+Log(P(así mexicanos))+ Log(P(como así))+log(p(uno como))+log(p(de uno))+log(p(los de))+ Log(P(periodistas los))+log(p(más periodistas))+log(p( /s más))= Log(0.333)+Log(1)+Log(1)+Log(1)+Log(1)+Log(1)+Log(1)+Log(1)+Log(1)+Log(1)= = y si queremos recuperar el valor de la probabilidad = 0.333 Lematización/Steaming Para el procesamiento de segmentos se debe reducir el ámbito de las conjugaciones verbales. Para esto se utiliza un proceso llamado lematización Es importante realizar este proceso con fines de reducir la explosión ccombinatoria Conjugación del verbo amar Algoritmo básico de lematización Segmento de entrada Detección de verbos vía XML Extracción de la conjugación verbal Estrategia de reemplazo por infinitivo Data Base Steaming Actualización del segmento Ejemplo Segmento segmento 2 verbo Solicita /verbo Congreso no verbo aumenten /verbo los retenes en temporada decembrina /segmento 2 Verbos verbo solicita /verbo verbo aumenten /verbo Extracción de la conjugación verbal Solicita aumenten Reemplazo Solicitar aumentar Actualizar segmento 2 Solicitar Congreso no aumentar los retenes en temporada decembrina /segmento 2 Modelos Probabilisticos del Lenguaje La meta de hoy: Asignar una probabilidad a una frase Traducción automática P(high winds tonite) P(large winds tonite) Porque? Corrección ortográfica La oficina esta a 15 minuetos de mi casa P(esta a 15 minutos de) P(esta a 15 minuetos de) Reconocimiento del Habla P(I saw a van) p(eyes awe of an) Resúmenes Automáticos, Pregunta-Respuesta, etc, etc Modelos Probabilisticos del Lenguaje Meta: Calcular la probabilidad de una frase o secuencia de palabras: P(W) = P(w1,w2,w3,w4,w5 wn) Tareas relativas: calculo de la probabilidad de la palabra siguiente P(w 5 w 1,w 2,w 3,w 4 ) Un modelo de calcula cualquiera de los siguientes tópicos: P(W) or P(w n w 1,w 2 w n- 1 ) es llamado un modelo de lenguaje El mejor: La gramática Pero un modelo del lenguaje o (LM) es un estandard Como calcular P(w)? Para calcular esta probabilidad conjunta P(su,agua,es,tan,transparente,que) Intuición: veamos en que consiste la regla de la cadena de probabilidad Recuerde: La regla de la cadena Recordemos la definición de probabilidad condicional Varias Variables P(A,B,C,D) = P(A)P(B A)P(C A,B)P(D A,B,C) La regla de la cadena en general P(x1,x2,x3,,xn) = P(x1)P(x2 x1)p(x3 x1,x2) P(xn x1,,xn- 1) La regla de la cadena aplicada a calcular la probabilidad conjunta de palabras en una frase i P(w 1 w 2 w n ) = P(w i w 1 w 2 w i 1 ) P( su,agua,es,tan,transparente ) = P(su) P(agua su) P(es su agua) P(tan su agua es) P(transparente su agua es tan) = Entonces, para calcular estas probabilidades deberíamos tener un corpus suficientemente extenso y contar la cantidad de veces que aparece una palabra, la cantidad de veces que aparecen dos palabras juntas, tres palabras, etc. Luego la probabilidad condicional la obtendríamos realizando la división correspondiente, por ejemplo: La regla de la cadena aplicada a calcular la probabilidad conjunta de palabras en una frase P(transparente el agua es tan) = P(el agua es tan transparente ) / P(el agua es tan) Como esto en general es demasiado complicado y nunca se cuenta con un corpus suficientemente extenso utilizaremos el supuesto de Markov: Suposición de Markov P(que el agua es tan transparente ) P(que transparente) o en algún caso puede ser: Andrei Markov P(que el agua es tan transparente ) P(que tan transparente) Texto Suposición de Markov P(w 1 w 2 w n ) P(w i w i k w i 1 ) i En otras palabras, aproximamos cada componente en el producto P(w i w 1 w 2 w i 1 ) P(w i w i k w i 1 ) P(w 1 w 2 w n ) P(w i ) i Suposición de Markov Unigrama Con esto en mente, presento el modelo de lenguaje más sencillo el: Unigrama P(w1,w2,w3...wn) P(w1) x P(w2) x P(w3)... P(wn) Bigrama Si consideramos la dependencia de la palabra anterior, podemos construir un modelo un poco más complejo pero mucho más eficiente: Bigramas P(wi w1, w2... wi-1) P(wi wi-1)
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks