Discurso del Presidente AMLO

Discurso del presidente Andrés Manuel López Obrador en el Consejo de Seguridad de la Organización de las Naciones Unidas.

Nueva York, Nueva York, 9 de noviembre de 2021

‘Discurso del Presidente AMLO’

import matplotlib.pyplot as plt
from wordcloud import WordCloud, STOPWORDS
import numpy as np
import pandas as pd
import seaborn as sns
import re
sns.set()
df_stopwords = pd.read_csv('stopwords.txt', names=['word'], header=None)
stop_words = df_stopwords['word'].tolist()

Funciones útiles

symbols = [
    '¿','?','~','`','!','¡','@','#','$','%','^',
    '*','(',')','_','-','+','=','{','}','[',
    ']','\\',':',';','<','>','/', '.', ',','&','\n'
    ,'\r','\t', '|', '“', '"', '–', '”', '©', '-', '—',
    '…', ';', '‘','’'
]

# remueve stopwords
def remove_stop_words(text):
    res = []
    # separa cada string que encuentra
    subwords = re.findall(r'\S+', text)
    # no considera los stop words
    for item in subwords:
        if not item in stop_words:
            res.append(item)
    return res
# remueve símbolos
def remove_symbols(text):
    res = text
    for char in symbols:
        res = res.replace(char, '')
    return res
# aplica funciones anteriores
def clean_text (text):
    res = text.lower()
    res = remove_symbols(res)
    res = remove_stop_words(res)
    return "-".join(res)

Lectura de texto

text = open('discurso_amlo.txt',
            mode='r',
            encoding='utf-8') \
            .read().replace('\n','')
            
text[:1000]
## 'Excelentísimo señor, António Guterres, secretario general de la ONU;Miembros permanentes de este Consejo de Seguridad de la ONU, miembros no permanentes;Señoras y señores:No vengo a hablar de seguridad como sinónimo de poderío militar ni como argumento para el empleo de la fuerza contra nadie; en cambio, mi planteamiento se basa en lo que postuló ese titán de las libertades, según Pablo Neruda, que fue el presidente Franklin Delano Roosevelt, cuando se creó la Organización de las Naciones Unidas: el derecho a una vida libre de temores y miserias, que sigue siendo el más sólido fundamento de la seguridad para todas las sociedades y los Estados.El principal obstáculo para el ejercicio de ese derecho es la corrupción en todas sus expresiones: los poderes transnacionales, la opulencia y la frivolidad como formas de vida de las élites; el modelo neoliberal que socializa pérdidas, privatiza ganancias y alienta el saqueo de los recursos naturales y de los bienes de pueblos y naciones.Es corru'

Limpieza

text2 = clean_text(text)

Word cloud

wc = WordCloud(background_color="white",           # color de fondo
               width=3000,                        # ajusta ancho
               height=2000,                        # ajusta alto
               max_words=500).generate(text2)       # ajusta max número de palabras

#wc.recolor(color_func = "")                       # ajusta color de palabras
plt.figure(figsize=[15,10])                        # ajusta el tamaño de la figura
plt.imshow(wc, interpolation="bilinear")           # gráfico de nuve de palabras
plt.axis("off")                                    # remueve ejes
## (-0.5, 2999.5, 1999.5, -0.5)