Essays.club - Ensayos gratis, notas de cursos, notas de libros, tareas, monografías y trabajos de investigación
Buscar

Caso práctico Mineria de Texto y procesamiento lenguaje natural

Enviado por   •  12 de Enero de 2024  •  Ensayo  •  1.068 Palabras (5 Páginas)  •  238 Visitas

Página 1 de 5

Hoja de respuestas[pic 1]

[pic 2]

Módulo

Minería de texto y procesamiento del lenguaje natural

Nombre y apellidos

Fecha entrega

CASO PRÁCTICO FINAL MINERIA DE TEXTO

Para este ejercicio se va a imaginar que se trabaja para una empresa de envíos de comida, presente en todo el territorio nacional, con miles de pedidos cada día. Dicha empresa tiene un fichero histórico con todas las peticiones de comida que los clientes han realizado mediante el chat de su web en los últimos meses. Necesitan analizar en tiempo real qué comidas están pidiendo los usuarios y qué ingredientes tenían, ya que en la cadena de stock de alimentos es necesario realizar una previsión para no quedarse sin platos cocinados.

El objetivo es programar una función que reciba como input un texto de usuario y devuelva los fragmentos de texto (chunks) que hagan referencia a las comidas y cantidades que ha solicitado.

La salida de la función será un array con diccionarios de 2 elementos (comida y cantidad). Cuando una cantidad no sea detectada, se pondrá su valor a '1' como valor por defecto.

Sin embargo, el alumno deberá usar un NaiveBayesClassifier, en lugar del MaxEntClassifier, para localizar los elementos descritos anteriormente (comida y cantidad).

Si el alumno no es capaz de construir un NaiveBayesClassifier —necesario para obtener un 10 en la práctica—, puede realizarlo mediante unigram o bigram tagger —para obtener un 9— o si no mediante RegexParser —un 7—.

Para llevar a cabo la práctica, deberá construirse una cadena NLP con NLTK, con los siguientes elementos: segmentaciónde frases,

tokenización,

POStagger(analizadormofológicoparael español).

Lo primero que haremos es importar las librerías que se necesitan para que Python pueda reconocer las funcionalidades que tiene la aplicación. Sobre el lenguaje natural el NLTK (Natural Language Toolkit) se va a trabajar sobre el lenguaje natural con todas las librerías asociadas a este tipo de tecnología.

[pic 3]

Una vez realizada la importación, vamos a ir importando funcionalidades concretas y si hay partes concretas dentro de la librería con sus respectivas funciones. De tal forma que cada paquete luego, independientemente vaya importando esas pequeñas funcionalidades que tenga cada uno.

Una vez definidas las librerías, procederemos a trabajar con clases, es decir, POO (también se podría hacer de manera estructurada, pero se ha optado por comodidad hacerlo con este tipo de paradigma).

Con este paradigma la primera clase que tenemos es UnigramChunker (con herencias) donde la clase hija está herendando de la clase madre que la importa a su vez de la librería nltk.ChunkParserI, por lo que UnigramChunker es una derivación de ChunkParserI, es una librería especializada precisamente en la traducción de tal manera que parsee el código y va a hacer el parseo de las palabras.

La clase a su vez, está dividia en dos métodos, método init y método parse. Se inicializa la clase y esto “hace de constructor” ya que _init_ no es una función nativa de Python y es un “simulacro” de constructor.

[pic 4]

Una vez vista la Unigram procederemos a ver la Bigram, cuyo proceso es similar. Tenemos una clase hija que deriva también del ChunkParserI, por lo que derivan de la misma por lo que parten de que la madre es la misma y por ende tienen también su “constructor” y su traductor.

Difieren en el método de transformar la información, uno lo hace a modo Unigram y otro al estilo Bigram, Trigram..diferentes diagramas en definitiva.

...

Descargar como  txt (6.8 Kb)   pdf (320.8 Kb)   docx (237.3 Kb)  
Leer 4 páginas más »
Disponible sólo en Essays.club