Tareas de procesamiento del lenguaje natural (PLN)
Vamos a mencionar algunas tareas comúnmente realizadas por los que trabajamos de lingüistas computacionales:
-
Extracción de información:
- Entidades
- Cantidades
- Preguntas y respuestas (Q&A): ¿trata el siguiente texto algo sobre ...? ¿quién realiza la acción? ¿en qué fecha ocurrirá la reunión?
-
Categorización en
-
expresiones
- de actitudes: emociones, sentimientos
- de intención
-
documentos:
- tópico (de frase, párrafo, texto)
- términos específicos de un texto (véase Tf-idf y Okapi_BM25)
-
-
Semántica:
- Sumarios
- Parafraseo
- Traducción
- Formalización en predicados
-
Análisis morfológico, sintáctico, semántico, pragmático
-
Texto y voz: síntesis de voz (texto a voz) y reconocimiento de voz (voz a texto)
Gestión de la variabilidad
La realidad es extraordinariamente variable. El cerebro, no obstante, realiza un trabajo para abstraer en varios niveles sucesivos esta variabilidad hasta forzar una estructura consistente en elementos discretos, grupos de elementos, equivalencias entre elementos (clases), fines, etc... Esta estructura está basada en la realidad pero es distinta de ella: es nada más pero nada menos que una interfaz conveniente para la supervivencia de los seres vivos. Los productos más asombrosos de este proceso son la constancia de la realidad percibida y la inteligencia.
Las expresiones lingüísticas presentan también una gran variabilidad por lo que tenemos varias estrategias para manejarla.
La más importante es establecer relaciones de equivalencia, por las cuales varios elementos (los más próximos a la realidad) se subsumen en una clase y se pueden considerar indistintos para la toma de decisiones para una cierta tarea. Para una tarea concreta, las particularidades de cada elementos son ignoradas, desenfocadas, aunque pueden ser atendidas para otra tarea.
La relación de equivalencia ayuda a la compresión cognitiva pues reduce la variabilidad, es una relación
de muchos a uno (N:1). Por ejemplo, con la clase mesa
podemos nombrar innumerables
mesas con diferentes características pero que comparten algunas importantes y una similar funcionalidad.
Pensemos en los siguientes elementos:
- habló, hablo, habían hablado, hablarías, hablaremos
Estos elementos son miembros de una clase en virtud de tener un mismo significado léxico (aunque con diferentes morfemas gramaticales).
Cuando nos encontremos con una forma como hablarías podemos realizar las siguientes operaciones:
- obtener todos los elementos de la clase: hablo, hablas, habla, ... habla, hablad.
- utilizar la clase, considerando la forma inicial hablarías indistinta/equivalente a efectos prácticos a las demás que constituyen la clase.
Para referirnos a la clase, hay varias maneras de hacerlo:
- identificador numérico: ####### en base al índice en una lista predeterminada
- raíz: habl. Trunca la forma.
- lema: hablar. El lema escoge un representante dentro de la clase: en español es el infinitivo para el verbo y el masculino singular para determinantes, nombres y adjetivos. El lema del verbo suele ser la forma más inespecífica o sencilla de la conjugación: para el árabe es la 3ª persona masculina del aspecto perfecto; para el vasco es el participio.
La obtención de la raíz (stemming) es un método computacionalmente sencillo pero primitivo para eliminar la morfología gramatical. Es problemático porque lexemas diferentes pueden tener una misma raíz tras el truncamiento.
Ninguno de estos métodos es óptimo porque no tiene en cuenta que las palabras o unidades léxicas son polisémicas. Y es que las palabras tienen varias acepciones que son escogidas por el enunciado y contexto. Estos activan ciertos dominios/marcos conceptuales donde se perfila la forma lingüística y se concreta.
Por ello, en vez de usar las anteriores estrategias, sería mejorar referirse al elemento léxico indicando a su vez su acepción
- hablar-3: en su acepción 3
Dicho de una persona: Comunicarse con otra u otras por medio de palabras
en oposición a otras como 21Tratarse con una persona, por amistad o por afinidad con ella.
Este índice 3
es solo cómodo si nos ceñimos a la entrada léxica hablar
, pero no es
óptimo porque no establece relaciones con el resto del léxico. Y es que puede haber varias palabras sinónimas
parcialmente (las que comparten alguna acepción) y por ello, sería útil referirse al elemento léxico
proporcionando un identificador del grupo de sinónimos al que pertenece. De este modo mantenemos la información
y semántica, y la semántica va a empezar a reflejar relaciones con otros elementos del léxico de la lengua (par
lemma-synset)
- empezar-07339790
- comenzar-07339790
También sería posible aquí no utilizar un identificador numérico sino, inspirándose en la idea del lema, tomar un representante del grupo de sinónimos empezar-comenzar-iniciar-principiar ¿Cuál sería el representante? pues o bien el que queramos o bien, si queremos ser más rigurosos, el término que esté más cerca del centroide del grupo de vectores que representan esos términos (consúltese Word2vec).
En algún momento puede que queramos abstraernos de la forma y sólo representar el significado
- 07339790
Métodos
Lo que buscamos con esto es reducir la variabilidad de las expresiones hasta un nivel manejable que nos permita tomar decisiones. En este proceso se descarta parte de la información, precisamente aquella que es menos relevante para la tarea que queremos realizar.
Normalización del texto
La normalización del texto permite realizar modificaciones superficiales en el texto que nos permiten equivaler textos diferentes. Nos permite ignorar:
- tildes
- mayúsculas/minúsculas
- signos de puntuación
- espacios extras: más de un espacio o nueva línea seguidos o sustituir nuevas líneas y tabulaciones por espacios simples
Normalización ortográfica
- mediante distancia entre palabras, minimizar WER (véase abajo)
Significado léxico estricto
- Lematización
- Acepciones, grupo de sinónimos (synset)
Significado léxico semejante
- hiperonimia:
gorrión -> ave
porque un gorrión es un tipo de ave - semejanza semántica, dentro de una tolerancia que predeterminamos
Otras relaciones
- campo semántico
- parte-todo
- concurrencia
- implicación
Ignorar los elementos gramaticales
Elimina:
- morfología gramatical
- categorías gramaticales: las preposiciones pueden ser léxicas o gramaticales.
Formalización
La formalización permite que el computador pueda realizar acciones, manipular datos y tomar decisiones con ellos.
Vamos a querer convertir expresiones lingüísticas a tipos numéricos o a fechatiempo.
Par cuantificador-cuantificado:
- doscientas veinte mil cuarenta y cinco personas: 220045 personas
- 3 millones de euros: 3000000 €
Fechatiempo:
- El próximo lunes (sabiendo que hoy, por ejemplo, es martes 3 de octubre del 2023): 2023-10-09
- A las cinco de la tarde (sabiendo que hoy, por ejemplo, es martes 3 de octubre del 2023): 2023-10-03 17:00:00.000
Métricas
Comparación
WER
WER (del inglés Word Error Rate) es una medida comúnmente utilizada en la evaluación de sistemas de reconocimiento del habla o de traducción automática.
- Colaboradores de Wikipedia. Word Error Rate [en línea]. Wikipedia, La enciclopedia libre, 2020 [fecha de consulta: 6 de mayo del 2020]. Disponible en https://es.wikipedia.org/w/index.php?title=Word_Error_Rate&oldid=125822424.