Script de ejemplos de las técnicas de Pre - Procesamiento

parent b2b2a64c
Pipeline #3 canceled with stages
#Script para mostrar algunos de los conceptos de Pre-Procesamiento de textos para Text Mining
import nltk
from nltk.tokenize import sent_tokenize, word_tokenize
from nltk.probability import FreqDist
from colores_consola import prYellow, prGreen
from nltk.corpus import stopwords
import matplotlib.pyplot as plt
from nltk.stem import PorterStemmer
from nltk.stem.wordnet import WordNetLemmatizer
import spacy
from nltk.tokenize import RegexpTokenizer
import texttable as tt
texto="""Sí se puede aplicar la detención preliminar a una persona mayor de 80 años.
Esta medida es un instrumento que solo se usa en la primera parte de la investigación. En cambio, el pedido de prisión preventiva puede ser sustituido por la detención domiciliaria, si la persona tiene más de 65 años. """
#Eliminacion de caracteres especiales
prYellow("*****Eliminacion Caracteres Especiales******")
toker = RegexpTokenizer(r'\w+')
texto = toker.tokenize(texto)
texto = ' '.join(texto)
print(texto)
#Tokenizacion del Texto
prYellow("*****Tokenización******")
prGreen("Por oración")
print(sent_tokenize(texto))
prGreen("Por Palabra")
print(word_tokenize(texto))
prGreen("Frecuencia")
fdist = FreqDist(word_tokenize(texto))
print(fdist)
print(fdist.most_common(2))
#fdist.plot(30,cumulative=False)
#plt.show()
prYellow("*****Stop Words*****")
prGreen("StopWords en español")
stop_words=set(stopwords.words("spanish"))
print(stop_words)
prGreen("Eliminando los StopWords")
tokenxpala = word_tokenize(texto)
filtered_sent=[]
for w in tokenxpala:
if w not in stop_words:
filtered_sent.append(w)
prGreen("Oracion Tokenizada:")
print(tokenxpala)
prGreen("Oracion Filtrada:")
print(filtered_sent)
prYellow("***** Stemming *****")
ps = PorterStemmer()
stemmed_words=[]
for w in filtered_sent:
stemmed_words.append(ps.stem(w))
prGreen("Oracion filtrada:")
print(filtered_sent)
prGreen("Oracion Estimizada:")
print(stemmed_words)
prYellow("***** Lemmatization y POS TAG *****")
token_list = []
lema_list = []
tokenpos_list = []
nlp = spacy.load('es_core_news_md')
text1 = "Con estos fines, la Dirección de Gestión y Control Financiero monitorea la posición de capital del Banco y utiliza los mecanismos para hacer un eficiente manejo del capital."
tab = tt.Texttable()
headings = ['Token','Lema','POSTag']
tab.header(headings)
for token in nlp(text1):
token_list.append(token.text)
lema_list.append(token.lemma_)
tokenpos_list.append(token.pos_)
for row in zip(token_list,lema_list,tokenpos_list):
tab.add_row(row)
tabla = tab.draw()
print(tabla)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment