Indice
1.
¿Qué es el
Lenguaje?
3. ¿Que es el Lenguaje
Formal?
4. Procesamiento Computacional del 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 es infinito y se forma con combinaciones de
palabras del diccionario.
Es necesario que esas combinaciones 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 función es llevada a cabo por medio
de señales y vocales(voz) y posiblemente por signos
escritos(escritura).
En este punto podemos distinguir entre dos clases de
lenguajes: los lenguajes naturales(ingles, alemán,
español, etc.) y lenguajes formales(matemático,
lógico, etc.)
A continuación damos una breve descripción
de estos dos tipos de lenguaje.
2. ¿Que es el
Lenguaje Natural?
Como mencionamos anteriormente el Lenguaje Natural(LN)
es el medio que utilizamos de manera cotidiana para establecer
nuestra comunicación con las demás
personas
Este tipo de lenguaje es el que nos permite el designar
las 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 y razonar
muy sutilmente. La riqueza de sus componentes semánticos
da a los lenguajes naturales su gran poder
expresivo y su valor como una
herramienta para razonamiento sutil. Por otro lado la sintaxis de
un LN puede ser modelada fácilmente por un lenguaje
formal, similar a los utilizados en las matemáticas y la lógica.
Otra propiedad de
los lenguajes naturales es la polisemantica, es decir la
posibilidad de que una palabra en una oración tenga
diversos significados.
En un primer resumen, los lenguajes naturales se
caracterizan por las siguientes propiedades:
- Desarrollados por enriquecimiento progresivo antes de
cualquier intento de formación de una teoría. - La importancia de su carácter expresivo debido
grandemente a la riqueza del componente
semántico(polisemantica). - Dificultad o imposibilidad de una
formalización completa.
3. ¿Que es el
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 lenguajes formales son exentos de cualquier
componente semántico 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:
- Se desarrollan de una teoría
preestablecida. - Componente semántico minimo.
- Posibilidad de incrementar el componente
semántico de acuerdo con la teoría a
formalizar. - La sintaxis produce oraciones no
ambiguas. - La importancia del rol de los
números. - Completa formalización y por esto, el
potencial de la construcción computacional.
4. Procesamiento
Computacional del Lenguaje Natural(PLN)
Una meta fundamental de la Inteligencia
Artificial(IA), es la manipulación de lenguajes
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 con nuestro estudio del PLN, es
importante el que estudiemos el concepto de lo
que es un lenguaje de
programación y las 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 funcionamiento en otros sistemas. Un
programa es una serie de instrucciones ordenadas correctamente
que permiten realizar una tarea o trabajo específico.
Ahora bien, un lenguaje 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ántica: se encarga de que cada
"oración" del lenguaje de programación utilizado
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 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.
- Primera Generación: Los lenguajes de primera
generación o también conocidos como lenguajes
maquina, son en los que se utiliza el código
binario(unos y ceros) para comunicarse 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.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. - Segunda Generación: Los lenguajes de esta
segunda generación son conocidos también como
ensambladores, y se distinguen de los lenguajes maquina por su
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: - Tercera Generación: Los lenguajes de tercera
generación o de alto nivel son los lenguajes más
comunes o que más conocemos(C, Pascal, Algol,
Cobol,
Fortran, BASIC). Estos lenguajes se asemejan ya un poco
más al lenguaje humano, al utilizar palabras completas(
en ingles) para la codificación de los
programas. - Cuarta Generación: Son los lenguajes de
"programación asistida" por medio de ayudantes o
wizards, estos lenguajes se han diseñado para facilitar
la realizacion de muy variadas tareas, como lo son la simulación de fenómenos
físicos, manipulación de datos
estadísticos, etc. Algunos de estos lenguajes son:
Visual Basic,
INFORMIX 4GL, Visual J++, Visual C, he
inclusive algunos autores consideran las planillas de calculo
dentro de esta generación. - Quinta Generación: En esta generación,
el programador solo ingresa hechos y hace consultas, no se
preocupa de cómo hacer los algoritmos
que entregan la respuesta, algunos autores hasta hace poco
todavía consideraban a esta generación como un
sueño, pero gracias al avance de la tecnología, hoy en día es toda una
realidad, como lo veremos a continuación.
Ahora que ya hemos hecho un breve análisis de los lenguajes de
programación, 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.
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 de la información: en esta aplicación,
un claro ejemplo seria el 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 de un documento basándose
en los datos proporcionados, realizando un 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 para la solución de problemas
complejos, proporcionando datos e información,
incluyendo también, la demanda de
información por parte del ordenador al usuario, debiendo
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 por 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: para identificar al
usuario o para procesar lo que el usuario dicte, existiendo ya
programas comerciales, que son accesibles por la mayoría
de los usuarios, ejemplo: ViaVoice.
Para continuar nuestro estudio de los lenguajes
naturales, es necesario el que conozcamos 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.
- Nivel Fonológico: trata de cómo las
palabras se relacionan con los sonidos que
representan.Rápida + Mente ==
Rápidamente - Nivel Morfológico: trata de cómo las
palabras se construyen a partir de unas unidades de significado
mas pequeñas llamadas morfemas, por ejemplo: - Nivel Sintáctico: trata de cómo las
palabras pueden unirse para formar oraciones, fijando el papel
estructural que cada palabra juega en la oración y que
sintagmas son parte de otros sintagmas. - Nivel Semántico: trata del significado de las
palabras y de cómo los significados se unen para dar
significado a una oración, también se refiere al
significado independiente del contexto, es decir de la
oración aislada. - Nivel Pragmático: trata de cómo las
oraciones se usan en distintas situaciones 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:
- El usuario le expresa a la computadora que es lo que
desea hacer. - La computadora analiza las oraciones proporcionadas,
en el sentido morfológico y sintáctico, es decir,
si las frases contienen palabras compuestas por morfemas y si
la estructura
de las oraciones es correcta. - El siguiente paso, es analizar las oraciones
semánticamente, es decir saber cual es el significado de
cada oración, y asignar el significado de estas a
expresiones lógicas(cierto o falso). - Una vez realizado el paso anterior, ahora podemos
hacer el análisis pragmático 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, analizando las
oraciones 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. - Una vez obtenida la expresión final, el
siguiente paso es la ejecución de esta, para obtener
así el Resultado y poder 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
interpretación, es decir, cuando en el lenguaje de destino
se le pueden asignar dos o 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 llevado la incorporación de
texto,
imágenes y sonido(los
llamados entornos multimedia") 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 las partes que pueden contener
estos:
- Entornos de iconos
- Autopistas de información
- Ratón
- Programación interactiva
- Realidad Virtual
- Hipertexto
- 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 de conocimientos, o sea pasar a ser elementos
de la estructura de conocimiento y no solo datos. A esa
filosofía la llamamos idea intuitiva de la
comunicación sistema-usuario. Para deslindar, este
problema, lo situamos en un contexto de enseñanza de
conocimientos, es decir, Tutores Inteligentes(TI) en entornos
multimedia. Los TI son un tipo de sistemas
expertos con módulos especiales( alumno y
pedagógico) y una reestructuración de los
existentes( conocimiento, explicaciones, 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
conocimiento que un interlocutor tiene del otro y por el
contexto o entorno donde el dialogo tiene lugar. Lo primero que
está aquí proporcionado por el modelo del usuario
y, lo segundo, por el "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 información al usuario, lo cual exige una
actitud
cooperativa por parte de este.
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/v1n1/a4/p1.html
http://www.dcc.uchile.cl/~cc20a/contenidos/clase05
http://www.lawebdelprogramador.com/
Trabajo realizado
Cutberto Uriel Paredes Hernández
Alumno de Conalep Cd. Victoria –
172
Cd. Victoria , Tamaulipas, México a 30 de Septiembre de
2000