0% encontró este documento útil (0 votos)
64 vistas5 páginas

Procesamiento Del Lenguaje Natural - PLN

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
64 vistas5 páginas

Procesamiento Del Lenguaje Natural - PLN

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Procesamiento del Lenguaje Natural – PLN

El Procesamiento del Lenguaje Natural es una rama de conocimiento de la Inteligencia


Artificial que pretende conseguir que una máquina comprenda lo que expresa una
persona mediante el uso de un lenguaje natural (inglés, español, chino...). Los
lenguajes naturales pueden expresarse de forma oral (mediante la voz), o por escrito
(un texto). El Procesamiento del Lenguaje Natural está mucho más avanzado en el
tratamiento de textos escritos. Las posibilidades de los modelos a aplicar se enfocan
no solo a la comprensión del lenguaje de por sí, sino a aspectos relacionados con la
organización de la información, así como a la importancia de los conceptos.

Para transformar un texto escrito en un lenguaje natural a algo interpretable por un


ordenador se pueden usar diferentes tipos de análisis, pero de forma básica
intentaremos una aproximación en la que al menos un programa sea capaz de
etiquetar las palabras y producir estadísticas de frecuencias en un primer paso. Esto
suele ser muy útil, por ejemplo, en disciplinas relacionadas con la medicina clínica
donde el profesional tradicionalmente toma notas manuscritas o en ordenador de la
situación clínica del paciente y luego esta información debería ser útil para el
diagnóstico (en la historia del paciente).

Nubes de etiquetas

Igualmente, en otras áreas se usa en esta primera fase, para producir diagramas/mapas
de resumen de conceptos con diferentes propósitos. En este caso, mapas/nubes de
palabras o etiquetas, como representación visual de las palabras que conforman un texto,
en donde el tamaño es mayor para las palabras que aparecen con más frecuencia.

Uno de sus usos principales es la visualización de las etiquetas de un sitio web, de modo
que los temas más frecuentes en el sitio se muestren con mayor prominencia. También
en medicina o cualquier otra disciplina.

Las etiquetas son palabras clave que suelen estar ordenadas alfabéticamente o, en
ocasiones, agrupadas semánticamente. La importancia de una etiqueta se muestra con
el tamaño de la fuente y/o color.

Enunciado: Diseñar un programa para dado un texto almacenado en un [Link],


construir un mapa de etiquetas de palabras.

Implementación

Texto1.m: script que realiza el PLN y genera la nube de etiquetas

FI_1_1.txt: fichero de texto que contiene la primera pregunta del tema 1 de


Fundamentos de Informática.
Referencias

Mariani, Joseph; Francopoulo, Gil; Paroubek, Patrick; Vernier, Frédéric (2019), «The NLP4NLP
Corpus (I): 50 Years of Research in Speech and Language Processing», Frontiers in Research Metrics
and Analytics

Hassan-Montero, Y., Herrero-Solana, V. Improving Tag-Clouds as Visual Information Retrieval


Interfaces. InSciT 2006: Mérida, Spain. October 25–28, 2006.

Hassan-Montero, Y., Herrero-Solana, V., Guerrero-Bote, V.; Usabilidad de los tag-clouds: estudio
mediante eye-tracking. SCIRE, Vol. 16, n. 1, 2010, pp. 15-33.
NUBE de PALABRAS según su frecuencia
close all;
clear all;

Lectura de un fichero de texto a analizazr


texto = fileread('FI_1_1.txt');
disp('El comienzo del texto del fichero es: ');
texto(1:300)

El comienzo del texto del fichero es:

ans =

'La Informática y la Ingeniería


Es necesario comenzar intentando dar una explicación al nacimiento de esta nueva
ciencia denominada Informática. La situación es fácil de imaginar: vivimos en un
mundo en el que estamos continuamente bombardeados por todo tipo de
informaciones, que en muchos de los'

Se convierte el texto a string


Se separa en líneas

texto = string(texto);
texto = splitlines(texto);
disp('El comienzo es : ');
texto(1:5)

El comienzo es :

ans =

5×1 string array

"La Informática y la Ingeniería"


"Es necesario comenzar intentando dar una explicación al nacimiento de esta nueva"
"ciencia denominada Informática. La situación es fácil de imaginar: vivimos en un"
"mundo en el que estamos continuamente bombardeados por todo tipo de"
"informaciones, que en muchos de los casos varían con el tiempo. Vivimos por tanto,"

Se sustituyen los signos de puntación por espacios


p = ["." "?" "!" "," ";" ":"];
texto = replace(texto,p," ");
texto(1:5)

ans =

5×1 string array

"La Informática y la Ingeniería"


"Es necesario comenzar intentando dar una explicación al nacimiento de esta nueva"
"ciencia denominada Informática La situación es fácil de imaginar vivimos en un"
"mundo en el que estamos continuamente bombardeados por todo tipo de"
"informaciones que en muchos de los casos varían con el tiempo Vivimos por tanto "

Se divide el texto en un string array con palabras individuales


Se unen todas y se divide según los espacios que se encuentren

texto = join(texto);
texto = split(texto);
texto(1:15)

ans =

15×1 string array

"La"
"Informática"
"y"
"la"
"Ingeniería"
"Es"
"necesario"
"comenzar"
"intentando"
"dar"
"una"
"explicación"
"al"
"nacimiento"
"de"

Borrar palabras de longitud menor que 5


texto(strlength(texto)<5) = [];
texto(1:15)

ans =

15×1 string array

"Informática"
"Ingeniería"
"necesario"
"comenzar"
"intentando"
"explicación"
"nacimiento"
"nueva"
"ciencia"
"denominada"
"Informática"
"situación"
"fácil"
"imaginar"
"vivimos"

Se convierte el texto un array de categorías


Se representa según su frecuencia

C = categorical(texto);
figure, wordcloud(C);
title("Mapa de frecuencia de palabras");

Published with MATLAB® R2018b

También podría gustarte