Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Procesamiento Computacional del Lenguaje Natural




Enviado por cparedes



    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:

    1. Desarrollados por enriquecimiento progresivo antes de
      cualquier intento de formación de una teoría.
    2. La importancia de su carácter expresivo debido
      grandemente a la riqueza del componente
      semántico(polisemantica).
    3. 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:

    1. Se desarrollan de una teoría
      preestablecida.
    2. Componente semántico minimo.
    3. Posibilidad de incrementar el componente
      semántico de acuerdo con la teoría a
      formalizar.
    4. La sintaxis produce oraciones no
      ambiguas.
    5. La importancia del rol de los
      números.
    6. 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.

    1. 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.

    2. 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:
    3. 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.
    4. 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.
    5. 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.

    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 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.

    6. Niveles del
    Lenguaje

    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.

    1. Nivel Fonológico: trata de cómo las
      palabras se relacionan con los sonidos que
      representan.

      Rápida + Mente ==
      Rápidamente

    2. 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:
    3. 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.
    4. 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.
    5. 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:

    1. El usuario le expresa a la computadora que es lo que
      desea hacer.
    2. 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.
    3. 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).
    4. 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.
    5. 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:

    1. Entornos de iconos
    2. Autopistas de información
    3. Ratón
    4. Programación interactiva
    5. Realidad Virtual
    6. Hipertexto
    7. 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.

    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/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

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter