Download procesamiento del lenguaje natural...
www.monografias.com
Procesamiento Computacional del Lenguaje Lenguaje Natural Natural Indice 1. ¿Qué es el Lenguaje? 2. ¿Que es el Lenguaje Natural? 3. ¿Que es el e l Lenguaje Formal? 4. Procesamiento Computacional del Lenguaje Lenguaje Natural(PLN) 5. Aplicaciones del PLN 6. Niveles del Lenguaje 7. Arquitectura de un Sistema de PLN 8. El Problema de la Ambigüedad 9. El PLN en los Sistemas Multimedia y Expertos: Tutores Inteligentes(TI) 10. Bibliografía.
1. ¿Que es el Lenguaje? Un lenguaje se considera como un conjunto de oraciones, que usualmente usualmente es infinito y se forma con combi combina nacio cione nes s de pala palabra bras s del del diccio dicciona nario rio.. Es neces necesari ario o que que esas esas comb combina inacio ciones nes sean sean correctas(con respecto a sintaxis) y tengan sentido(con respecto a la semántica). Un lenguaje es la función que expresa pensamientos y comunicaciones entre la gente. Esta func funció ión n es llev llevad ada a a cabo cabo por por medi medio o de seña señale les s y voca vocale les(v s(voz oz)) y posi posibl blem emen ente te por por sign signos os escritos(escritura). En este punto podemos distinguir entre dos clases de lenguajes: los lenguajes naturales(ingles, alemán, español, español, etc.) y lenguajes formales(matemátic formales(matemático, o, lógico, etc.) A continuación damos una breve descripción de estos dos tipos de lenguaje. 2. ¿Que es el Lenguaje Natural? Como mencionam mencionamos os anteriorm anteriormente ente el Lenguaj Lenguaje e Natural(L Natural(LN) N) es el medio medio que utilizamos utilizamos de manera cotidiana para establecer nuestra comunicación con las demás personas Este tipo de lenguaje lenguaje es el que nos permite permite el designar las cosas cosas actuales y razonar a cerca de ellas, fue desarrollado y organizado a partir de la experiencia humana y puede ser utilizado para analizar situaciones altamente complejas complejas y razonar muy sutilmente. La riqueza de sus componentes componentes semánticos da a los los leng lengua uajes jes natural naturales es su gran gran pode poderr expres expresivo ivo y su valor como una herram herramien ienta ta para para razonamiento razonamiento sutil. Por otro lado la sintaxis de un LN puede ser ser modelada modelada fácilmente por un lenguaje lenguaje formal, similar a los utilizados en las matemáticas y la lógica. Otra propiedad de los lenguajes naturales es la polis polisem eman antic tica, a, es decir decir la posib posibili ilida dad d de que que una una palab palabra ra en una una oració oración n tenga tenga divers diversos os significados. En un primer resumen, los lenguajes naturales se caracterizan por las siguientes propiedades: 1. Desarroll Desarrollados ados por enriquec enriquecimie imiento nto progresivo progresivo antes antes de cualqui cualquier er intento intento de formació formación n de una teoría. 2. La importa importanci ncia a de su caráct carácter er expre expresivo sivo debido debido grande grandeme mente nte a la riquez riqueza a del del compo compone nente nte semántico(polisemantica). 3. Dificulta Dificultad d o imposib imposibilida ilidad d de una una formaliza formalización ción compl completa. eta. 3. ¿Que es e l Lenguaje Formal? El lenguaje formal es aquel que el hombre ha desarrollado para expresar las situaciones que se dan en especifico en cada área del conocimiento científico. Las palabras y oraciones de un lenguaje formal son perfectamente definidas(una palabra mantiene su el mismo significado prescindiendo de su contexto o uso.
Los Los lengu lenguaje ajes s forma formales les son exent exentos os de cualq cualquie uierr compo componen nente te semán semántic tico o fuera fuera de sus operadores y relaciones. Los lenguajes formales pueden ser utilizados para modelar una teoría de la mecánica, fisica, matemática, ingeniería eléctrica, o de otra naturaleza, con la ventaja de que en estos toda ambigüedad es eliminada. En resumen las características de los lenguajes formales son las siguientes: 1. 2. 3. 4. 5. 6.
Se desarroll desarrollan an de una una teoría teoría prees preestabl tablecid ecida. a. Compo Compone nente nte semán semántic tico o mini minimo mo.. Posibilidad de incrementar incrementar el componente componente semántico semántico de acuerdo con la teoría a formalizar. formalizar. La sintaxis sintaxis produce produce oracione oraciones s no no ambig ambiguas. uas. La imp import ortanc ancia ia del del rol de de los los númer números. os. Completa Completa formali formalizació zación n y por esto, esto, el potencial potencial de la construcción construcción comput computacio acional. nal.
4. Procesamiento Computacional del Lenguaje Natural(PLN) Una Una meta meta funda fundame menta ntall de la Inteli Intelige genci ncia a Artifi Artificia cial(I l(IA), A), es la manip manipul ulaci ación ón de lengu lenguaje ajes s naturales usando herramientas de computación, en esta, los lenguajes de programación juegan un papel importante, ya que forman el enlace necesario entre los lenguajes naturales y su manipulación por una maquina. Antes de continuar continuar con nuestro estudio estudio del PLN, es importante el que estudiemos estudiemos el concepto concepto de lo que es un lenguaje de programación programación y las generaciones generaciones de estos para darnos una idea de cómo ha sido su evolución. ¿Qué es un Lenguaje de Programación? Un lenguaje de programación es un conjunto de normas lingüísticas que permiten escribir un programa y que éste sea entendido por el ordenador y pueda ser trasladado a ordenadores similares para su funciona funcionamien miento to en otros otros sistemas. sistemas. Un programa programa es una serie de instrucci instrucciones ones ordenadas ordenadas correc correctam tamen ente te que permi permiten ten realiz realizar ar una una tarea tarea o traba trabajo jo especí específic fico. o. Ahora Ahora bien, bien, un lengu lenguaje aje de programación se basa en dos elementos muy importantes: •
•
Sintaxis: que se refiere a la utilización correcta de cada una de las sentencias de cierto lenguaje de programación. Semánti Semántica: ca: se encarga encarga de que cada "oración" "oración" del lenguaje lenguaje de program programació ación n utilizad utilizado o tenga tenga un significado correcto.
A medida que la complejidad de los programas ha ido aumentando, se han requerido de nuevos lenguajes para poder describir esos problemas y que sean resueltos por el ordenador. Generaciones de Lenguajes de Programación Las generaciones de los lenguajes de programación, se han venido dando debido a que las necesidades necesidades que plantean los problemas son cada día más grandes y complejo, a continuación se hace un pequeño resumen de cada una de las generaciones de lenguajes de programación. a) Primera Primera Generació Generación: n: Los lenguajes lenguajes de primera generació generación n o también también conocidos conocidos como lenguaje lenguajes s maqu maquina ina,, son en los que que se utiliz utiliza a el código código bina binario rio(un (unos os y ceros ceros)) para para comun comunica icarse rse con la computadora, esta generación de lenguajes es muy complicada, ya que al usar pocos signos, no puede expresar cosas muy complicadas. En la actualidad ya casi no se trabaja con lenguajes maquina, los únicos que lo hacen son los diseñadores de los “chips” de los procesadores. b) Segund Segunda a Generación Generación:: Los lenguaj lenguajes es de esta segunda segunda generación generación son conocidos conocidos también también como ensambladores, ensambladores, y se distinguen de los lenguajes lenguajes maquina por su eficiencia(en eficiencia(en comparación con sus antecesores). Estos lenguajes ensambladores se basan en lo que es la comprensión de varias palabras en una sola, por ejemplo: ADC significara “sumar con reserva”(en ingles: ADd with Carry)
Haciendo notoria la aclaración, de que esta serie de instrucciones serán traducidas al lenguaje maquina por el compilador del lenguaje. c)
Tercera ercera Generació Generación: n: Los lenguajes lenguajes de tercera tercera generación generación o de alto nivel son los lenguajes lenguajes más comunes comunes o que más conocemo conocemos(C, s(C, Pascal, Pascal, Algol, Cobol, Fortran, Fortran, BASIC). BASIC). Estos Estos lenguaj lenguajes es se asemejan ya un poco más al lenguaje humano, al utilizar palabras completas( en ingles) para la codificación de los programas.
d) Cuart Cuarta a Gene Generac ración ión:: Son los leng lengua uajes jes de “progr “program amaci ación ón asisti asistida da”” por por medio medio de ayuda ayudante ntes s o wizards, estos lenguajes se han diseñado para facilitar la realizacion de muy variadas tareas, como lo son la simulación simulación de fenómen fenómenos os físicos, manipulació manipulación n de datos estadísticos estadísticos,, etc. Algunos Algunos de estos estos lenguajes lenguajes son: Visual Visual Basic, Basic, INFORMIX 4GL, 4GL, Visual Visual J++, Visual C, he inclusive inclusive algunos algunos autores consideran las planillas de calculo dentro de esta generación. e) Quinta Quinta Generació Generación: n: En esta generació generación, n, el programad programador or solo ingresa ingresa hechos hechos y hace consult consultas, as, no se preocupa de cómo hacer los algoritmos que entregan la respuesta, algunos autores hasta hace poco poco todav todavía ía consid considera eraba ban n a esta esta genera generació ción n como como un sueñ sueño, o, pero pero gracia gracias s al avance avance de la tecnología, hoy en día es toda una realidad, como lo veremos a continuación. Ahor Ahora a que que ya hemo hemos s hech hecho o un brev breve e anál anális isis is de los los leng lengua uaje jes s de prog progra rama maci ción ón,, continuaremos continuaremos con el análisis del PLN. Antes de continuar con nuestro estudio, es necesario definir claramente lo que es el PLN, el PLN es la utilización de un lenguaje natural para comunicarnos con la computadora, debiendo esta entender las oraciones que le sean proporcionadas, el uso de estos lenguajes naturales, facilita el desarrollo de programas que realicen tareas relacionadas con el lenguaje o bien, desarrollar modelos que ayuden a comprender los mecanismos humanos relacionados con el lenguaje. El uso del lenguaje natural(LN) en la comunicación hombre-maquina es a la vez una ventaja y un obstáculo con respecto a otros medios de comunicación. Por un lado es una ventaja, en la medida en que el locutor no tiene que esforzarse para aprender el medio de comunicación a diferencia de otros medios de interacción como lo son los lenguajes de comando o las interfaces gráficas(4° Generación). Su uso también es a la vez un obstáculo por que la computadora tiene una limitada comprensión del lenguaje. Por ejemplo, el usuario no puede hablar sobrentendidos, ni introducir nuevas palabras, ni construir sentidos derivados, tareas que se realizan espontáneamente cuando se utiliza el lenguaje natural. 5. Aplicaciones del PLN Las aplicaciones del Procesamiento de Lenguajes Naturales son muy variadas, ya que su alcance es muy grande, algunas de las aplicaciones del PLN son: •
•
•
•
•
Traducción automática: se refiere más que nada a la traducción correcta de un lenguaje a otro, tomando en cuenta lo que se quiere expresar en cada oración, y no solo palabra por palabra. Una aproximación a este tipo de traductores es el babylon. Recuperación Recuperación de la información: información: en esta aplicación, un claro ejemplo seria el siguiente: siguiente: Una persona llega a la computadora y le dice(en LN) que es lo que busca, esta busca y le dice que es lo que tiene referente al tema. Extracción de Información y Resúmenes: Los nuevos programas, deben tener la capacidad de crear un resumen resumen de un documen documento to basándo basándose se en los datos datos proporcio proporcionado nados, s, realizan realizando do un análisis análisis detallado del contenido y no solo la truncando las primeras Lineas de los párrafos. Resolución cooperativa de problemas: La computadora debe tener la capacidad de cooperar con los humanos humanos para la solución de problemas problemas complejos, proporcionando datos e información, incluyendo también también,, la demand demanda a de informaci información ón por parte parte del ordenador ordenador al usuario, usuario, debiend debiendo o existir existir una excelente interactividad entre el usuario y el ordenador. Tutores inteligentes: La aplicación del PLN en este aspecto, viene siendo más académico, ya que se refiere a la enseñanza asistida asistida por computadora, computadora, debiendo esta ser aprox. en un 99%, al tener esta
•
la capacidad de evaluar al educando y tener la capacidad de adaptándose a cada tipo de alumno. Reconocimiento de Voz: Esta es una aplicación del PLN que más éxito ha obtenido en la actualidad, ya que las computadoras de hoy ya tienen esta característica, el reconocimiento de voz puede tener dos posibles usos: usos: para identificar al usuario o para procesar procesar lo que el usuario dicte, existiendo ya programas comerciales, que son accesibles por la mayoría de los los usua usuario rios, s, ejemplo: ViaVoice.
6. Niveles del Lenguaje Para continua continuarr nuestro nuestro estudio de los lenguajes naturales, es neces necesari ario o el que que cono conozc zcam amos os los los niveles del lenguaje, los cuales serán utilizados para la explicación de el siguiente tema que es la Arquitectura de un sistema de PLN. Los niveles de lenguaje que daremos a conocer son los siguientes: fonológico, morfológico, sintáctico, semántico, y pragmático. a) Nivel Fonológico: Fonológico: trata de cómo las las palabras palabras se relacionan relacionan con los sonidos que representan. representan. b) Nivel Nivel Morfoló Morfológic gico: o: trata de cómo las palabra palabras s se constru construyen yen a parti partirr de unas unida unidade des s de significado mas pequeñas llamadas morfemas, por ejemplo: Rápida + Mente == Rápidamente c) Nivel Nivel Sintácti Sintáctico: co: trata trata de cómo las palab palabras ras pueden pueden unirse unirse para para formar formar oracio oracione nes, s, fijan fijando do el papel papel estructural estructural que cada palabra palabra juega juega en la oración oración y que sintagmas sintagmas son parte de otros sintagmas. d) Nivel Semán Semántico: tico: trata del del significa significado do de las las palabras palabras y de cómo cómo los signif significado icados s se unen para para dar significado a una oración, también se refiere al significado independiente del contexto, es decir de la oración aislada. e) Nivel Pragmá Pragmático: tico: trata trata de cómo las oracion oraciones es se usan en distinta distintas s situacione situaciones s y de cómo el uso afecta al significado de las oraciones. Se suele reconocer un subnivel recursivo: discursivo, que trata de cómo el significado de una oración se ve afectado por las oraciones inmediatamente anteriores. 7. Arquitectura de un sistema de PLN Ahora que ya conocemos los niveles del lenguaje, el siguiente paso es la elaboración de la arquitectura del sistema de procesamiento del lenguaje natural, es decir, como va la computadora a interpretar y analizar las oraciones que le sean proporcionadas, a continuación se muestra un esquema de cómo la computadora debe hacer el análisis de estas. La explicación de este sistema, es sencilla: a) El usuario usuario le expre expresa sa a la computa computadora dora que que es lo que que desea desea hacer hacer.. b) La computadora computadora analiza las las oraciones oraciones proporcionadas, proporcionadas, en el sentido sentido morfológico morfológico y sintáctico, es decir decir, si las frases contienen contienen palabra palabras s compues compuestas tas por morfema morfemas s y si la estructura estructura de las oraciones es correcta.
c) El sigu siguie ient nte e paso paso,, es anal analiz izar ar las las orac oracio ione nes s semá semánt ntic icam amen ente te,, es deci decirr sabe saberr cual cual es el significado de cada oración, y asignar el significado de estas a expresiones lógicas(cierto o falso). d) Una Una vez vez real realiz izad ado o el paso paso ante anteri rior or,, ahor ahora a pode podemo mos s hace hacerr el análi análisi sis s prag pragmá máti tico co de la instrucción, es decir una vez analizadas las oraciones, ahora se analizan todas juntas, tomando en cuenta la situación de cada oración, oración, analizando las oraciones anteriores, anteriores, una vez realizado este paso, la computadora ya sabe que es lo que va a hacer, es decir, ya tiene la expresión final. e) Una vez obteni obtenida da la expresión expresión final, final, el siguient siguiente e paso es la ejecució ejecución n de esta, para para obtener obtener así el Resultado y poder proporcionárselo proporcionárselo al usuario. 8. El problema de la Ambigüedad Uno de los grandes problemas del PLN se produce cuando una expresión en LN posee más de una una interp interpret retaci ación, ón, es decir decir,, cuand cuando o en el lengu lenguaje aje de desti destino no se le pued pueden en asign asignar ar dos dos o más más expresiones distintas. Este problema de la ambigüedad se presenta en todos los niveles del lenguaje, sin excepción. Ejemplo: "Juan vio a María, con el telescopio" "Juan vio a María con el telescopio" En apariencia este problema es demasiado sencillo, pero en realidad, es uno de los mas complicados y que más complicaciones ha dado para que el PLN pueda desarrollarse por completo, ya que al presentarse en todos los niveles del lenguaje, se tienen que desarrollar programas( en lenguaje formal) para solucionarlos en cada caso. 9. El PLN en los Sistemas Multimedia y Expertos: Tutores Inteligentes(TI) La pretensión de la informática de adaptarse al comportamiento natural de del usuario, ha llevad llevado o la incorp incorpora oració ción n de texto, texto, imág imágene enes s y sonido sonido(lo (los s llama llamado dos s entorn entornos os multim multimedi edia") a") a las estaciones de trabajo y Pc´s actuales, al tiempo que éstos aumentan su capacidad. Antes de continuar con el estudio del PLN en los sistemas multimedia, enumeremos enumeremos las partes que pueden contener estos: 1. 2. 3. 4. 5. 6. 7.
Ento Entorn rnos os de icon iconos os Auto Autopi pist stas as de inf infor orma maci ción ón Ratón Prog Progra rama maci ción ón inte intera ract ctiv iva a Real Realid idad ad Virt Virtua uall Hiperte rtexto Sonido
En si la multimedia es la unión de del hipertexto con el sonido, estas uniones de imágenes, texto y sonidos necesitan una filosofía del conocimiento que fundamente su función interna dentro de la comunicación comunicación de conocimientos, o sea pasar a ser elementos elementos de la estructura de conocimiento conocimiento y no solo datos. A esa filosofía la llamamos idea intuitiva de la comunicación sistema-usuario. sistema-usuario. Para deslindar, deslindar, este problema, lo situamos en un contexto de enseñanza de conocimientos, es decir, Tutores Inteligentes(TI) Inteligentes(TI ) en entornos multimedia. Los TI son un tipo de sistemas expertos con módulos especiales( alumno y pedagógico) pedagógico) y una reestructuración reestructuración de los existentes( conocimiento, conocimiento, explicaciones, explicaciones, interfaz). interfaz). En si el modelo que debe seguir el TI es el siguiente:
Como es sabido un dialogo en lenguaje natural esta muy afectado por el conocimi conocimiento ento que un inter interloc locuto utorr tiene tiene del del otro y por el contexto o entorno donde el dialogo tien tiene e luga lugarr. Lo prim primer ero o que está aquí prop roporcio rciona nad do por el modelo modelo del usuario usuario y, lo segundo segundo,, por el "paisaje "paisaje de imágenes". El dialogo del TI, se basa en preguntas respuestas, pero además el TI tiene que fijar el objetivo de cada pregunta y el tipo de información necesaria, incluso demandando demandando información al usuario, lo cual exige una actitud cooperativa por parte de este. 10. Bibliografía Letch, Charley. Información Tsunami: Un futurista mira en retrospectiva, Primera Edición, Editorial Limusa, Colección Megabyte, México D.F., 1992 http://delta.cs.cinvestav.mx/red/logica/node3.html http://cic2.iimas.unam.mx/~villasen/protocolo-proy-CONACYT.html http://www3.uniovi.es/~Psi/REMA/v http://www3.uniovi.es/~Psi/REMA/v1n1/a4/p1.h 1n1/a4/p1.html tml http://www.dcc.uchile.cl/~cc2 http://www.dcc.uchile.cl/~cc20a/contenid 0a/contenidos/clase05 os/clase05 http://www.lawebdelprogramador.com/ Trabajo realizado Cutberto Uriel Paredes Hernández
[email protected] Alumno de Conalep Cd. Victoria - 172 Cd. Victoria , Tamaulipas, México a 30 de Septiembre de 2000