PDF de programación - Análisis automático de textos en español utilizando NLTK

Imágen de pdf Análisis automático de textos en español utilizando NLTK

Análisis automático de textos en español utilizando NLTKgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 16 de Febrero del 2018)
962 visualizaciones desde el 16 de Febrero del 2018
548,7 KB
47 paginas
Creado hace 3a (05/09/2016)
UNIVERSIDAD DE LA LAGUNA

An´alisis autom´atico de textos en espa˜nol

utilizando NLTK

por

Jos´e Manuel Hern´andez Hern´andez

Un trabajo presentado para el
Grado en Ingenier´ıa Inform´atica

en la

Escuela Superior de Ingenier´ıa y Tecnolog´ıa

5 de septiembre de 2016

Esta obra est´a bajo una licencia de Creative Commons Reconocimiento 4.0

Internacional.

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0

International License.

D˜na. Coromoto Le´on Hern´andez, con N.I.F 78.605.216-W, profesora Titular de Univer-

sidad adscrita al Departamento de Ingenier´ıa Inform´atica y de Sistemas, como tutora

C E R T I F I C A

Que la presente memoria titulada:

“An´alisis autom´atico de textos en espa˜nol utilizando NLTK ”

ha sido realizada bajo su direcci´on por D. Jos´e Manuel Hern´andez Hern´andez,

con N.I.F. 54.112.122-E.

Y para que as´ı conste, en cumplimiento de la legislaci´on vigente y a los efectos

oportunos firma la presente en La Laguna a 5 de septiembre de 2016.

“If you talk to a man in a language he understands, it will go to his head. If you talk to

him in his own language, it will go to his heart.”

Nelson Mandela

Abstract

The aim of this work is the development of a study case in Spanish in which Natural

Language Processing techniques are applied, to observe the effectiveness of the NLP

tools available for this language.

The study case chosen for this work is the classification of the Final Degree Projects

made avaliable to the public in the Institutional Repository of the University of La

Laguna.

Keywords: NLP, Natural Language Processing, NLTK, Natural Language Toolkit, Pyt-

hon, CasperJS, JavaScript

Resumen

La finalidad de este trabajo es el desarrollo de un caso de estudio en lenguaje espa˜nol

sobre el cual aplicar t´ecnicas de Procesamiento del Lenguaje Natural, para constatar la

eficacia de las herramientas PLN disponibles para este idioma.

El caso de estudio escogido para desarrollar en este trabajo fue la clasificaci´on de los

Trabajos de Fin de Grado puestos a disposici´on del p´ublico en el Repositorio Institucional

de la Universidad de La Laguna.

Palabras clave: PLN, Procesamiento del Lenguaje Natural, NLTK, Natural Language

Toolkit, Python, CasperJS, JavaScript

Agradecimientos

A mi tutora, Coromoto Le´on Hern´andez, por su direcci´on, optimismo y apoyo incondi-

cional a la hora de encaminar el proyecto.

Al personal docente de la Escuela Superior de Ingenier´ıa y Tecnolog´ıa, por su labor

educativa.

A mis amigos y compa˜neros de la facultad, por el apoyo recibido.

A mi familia, y mis padres, por su paciencia, cari˜no y por hacer posible mi educaci´on.

vi

´Indice

Abstract

Resumen

Agradecimientos

´Indice de figuras

Lista de listados

´Indice de cuadros

1. Introducci´on

1.1. Estado del arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. ´Ambito del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3. Definici´on del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.1. Obtenci´on del texto . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.2. Procesamiento del texto . . . . . . . . . . . . . . . . . . . . . . . .
1.4. Herramientas de PLN . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.1. Stanford CoreNLP . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.2. Apache Lucene y Solr
. . . . . . . . . . . . . . . . . . . . . . . . .
1.4.3. Apache OpenNLP . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.4. GATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.5. NLTK, Natural Language Toolkit . . . . . . . . . . . . . . . . . . .
1.5. Herramienta de PLN elegida . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6. Lenguaje de programaci´on escogido . . . . . . . . . . . . . . . . . . . . . .

IV

V

VI

IX

X

XI

1
2
4
4
4
5
5
6
6
6
6
7
7
7

2. Caso de estudio

2.1. Descripci´on del caso de estudio . . . . . . . . . . . . . . . . . . . . . . . .
2.2. Opciones de clasificaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9
9
9
2.2.1. Enfoques estad´ısticos . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.2. Naive Bayes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.3. Enfoques anal´ıticos . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.3. Trabajos de Fin de Grado en la ULL: ¿Qu´e revela el an´alisis autom´atico

de texto sobre los mismos? . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.1. Obtenci´on de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

vii

Contents

viii

2.3.2. Obtenci´on de datos con CasperJS . . . . . . . . . . . . . . . . . . 12
2.3.3. Extracci´on de la informaci´on . . . . . . . . . . . . . . . . . . . . . 12
2.3.4. Almacenamiento de la informaci´on . . . . . . . . . . . . . . . . . . 17
2.3.5. Clasificaci´on del texto . . . . . . . . . . . . . . . . . . . . . . . . . 18

3. Resultados y discusi´on

24
3.1. Conclusiones sobre la extracci´on . . . . . . . . . . . . . . . . . . . . . . . 24
3.2. Conclusiones sobre la clasificai´on . . . . . . . . . . . . . . . . . . . . . . . 25
3.3. Problemas encontrados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3.1. Obtenci´on del texto . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3.2. Clasificaci´on del texto . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3.3. Realizaci´on de la memoria . . . . . . . . . . . . . . . . . . . . . . . 29

4. Conclusiones

30
4.1. Conclusiones y Trabajos Futuros . . . . . . . . . . . . . . . . . . . . . . . 30
4.2. Conclusions and Future Work . . . . . . . . . . . . . . . . . . . . . . . . . 31

5. Presupuesto

A. Abreviaturas

B. Glosario

Bibliograf´ıa

32

33

34

35

´Indice de figuras

2.1. Vista en la que se muestran los metadatos de un TFG. . . . . . . . . . . . 15
. . . . . . . . . . . . . . . . . . . . . 16
2.2. Modelo DOM subyacente a la vista.

3.1. Palabras de mayor frecuencia entre las instancias de la primera aproxi-

maci´on.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.2. Precisi´on de la clasificaci´on Naive Bayes usando metadatos de los TFG

de Ing. Inform´atica.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.3. Palabras de mayor frecuencia entre las instancias de la segunda aproxi-

maci´on.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.4. Precisi´on de la clasificaci´on Naive Bayes usando metadatos de todos los

TFG del RIULL.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

ix

Lista de Listados

. . . . . . . . . . . . . . . . . . . . . . 13
2.1. Creaci´on del navegador CasperJS.
2.2. Estructuras de datos para la navegaci´on por la p´agina. . . . . . . . . . . . 13
2.3. Estructuras de datos para las caracter´ısticas de cada TFG.
. . . . . . . . 13
2.4. Funci´on de obtenci´on de enlaces individuales.
. . . . . . . . . . . . . . . . 14
2.5. Funci´on de paginado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.6. Funci´on de obtenci´on de todos los enlaces de TFG. . . . . . . . . . . . . . 15
. . . . . . . . 16
2.7. Funci´on de obtenci´on de metadato por nombre de etiqueta.
2.8. Funci´on de obtenci´on de metadatos por nombre de etiqueta similar.
. . . 17
2.9. Concatenaci´on de la URL absoluta con el enlace relativo.
. . . . . . . . . 17
2.10. Funci´on para cargar instancias de un archivo CSV.
. . . . . . . . . . . . . 18
2.11. Funci´on que recopila un conjunto de palabras comunes . . . . . . . . . . . 18
2.12. Funci´on que retorna palabras alfanum´ericas . . . . . . . . . . . . . . . . . 19
2.13. Funci´on que separa las instancias con clasificaci´on inv´alida.
. . . . . . . . 19
. . . . . . . . . . . . . 20
2.14. Funci´on que extrae las caracter´ısticas de un texto.
2.15. Funci´on que retorna un listado de las palabras comunes.
. . . . . . . . . . 21
2.16. Funci´on que clasifica una instancia en base a las palabras comunes que

contiene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.17. Bater´ıa de pruebas de clasificaci´on . . . . . . . . . . . . . . . . . . . . . . 23

x

´Indice de cuadros

5.1. Presupuesto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

xi

Cap´ıtulo 1

Introducci´on

El Procesamiento del Lenguaje Natural (PLN) es una disciplina de la Computaci´on que

concierne al tratamiento de informaci´on desestructurada, presentada en texto o audio

y expresada mediante Lenguaje Natural. Se entiende por lenguaje natural cualquier

lenguaje utilizado para la comunicaci´on humana en el d´ıa a d´ıa, en contraposici´on a un

lenguaje artificial establecido, como por ejemplo los lenguajes de programaci´on. Es un

´area de inter´es para el campo de la Interacci´on Persona-Computador (Human-Computer

Interaction), as´ı como los de Aprendizaje Autom´atico (Machine Learning) e Inteligencia

Artificial (Artificial Intelligence).

La necesidad del Procesamiento del Lenguaje Natural es aparente en los sistemas de In-

teracci´on Persona-Computador, dado que en este campo se busca el dise˜no de interfaces

c´omodas y funcionales para los usuarios humanos a la hora de utilizar ordenadores, ya

sean tradicionales, port´atiles, m´oviles, etc. El Procesamiento del Lenguaje Natural se po-

siciona como una capacidad deseable en los ordenadores, para permitir la comunicaci´on

natural entre el usuario y el ordenador, y aumentar tanto la comodidad y conveniencia

como las posibilidades de una interacci´on exitosa.

En cuanto al campo del Aprendizaje Autom´atico, no s´olo nos referimos al hecho de que

´este campo es necesario para el desarrollo de t´ecnicas PLN, sino que el campo del Proce-

samiento del Lenguaje Natural a su vez puede ser ´util para el Aprendizaje Autom´atico

en uno de sus mayores problemas. Uno de los principales cuellos de botella hoy en d´ıa

a la hora de la construcci´on de sistemas de Aprendizaje Au
  • Links de descarga
http://lwp-l.com/pdf8822

Comentarios de: Análisis automático de textos en español utilizando NLTK (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad