No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Colocaciones en gráficos de dispersión

13/24
Recursos

Aportes 18

Preguntas 2

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Este curso esta increible! 😮

aqui no ha llegado nadie o que??? no veo ninguna pregunta…jajajja… A mi no me sale el grafico, y no me da error… parece como que deberia salir pero esta en blanco…

Por si alguien lo necesita:

fig = px.scatter(x = df['PMI'].values, y = df['log(bi_gram_freq)'].values, color = df['PMI']+df['log(bi_gram_freq)'],
                 hover_name = df['bi_grams'], width = 600, height = 600, labels = {'x': 'PMI',
                                                                                  'y': 'Log(Bigram Frequency'})
fig.show()

¿Qué logramos con la visualización?

Logramos identificar colocaciones del lenguaje, en nuestro caso de nuestro texto Moby Dick. La colocación ovia era Moby Dick porque era un bígama cuya frecuencia de uso era inusualmente alta en el leguaje general, pero en el libro era natural porque es uno de los personaje principales. Las colocaciones sirven para encontrar entonces lugares, personas importantes, identificar nombres propios, objetos y de esta manera empezar a asignar cierto tipo de etiquetas a palabras o expresiones que nos pueden dar información de elementos cruciales en el entendimiento de texto en si mismo.

Hola, en caso de estar usando JupyterLab, la instalación de Plotly se debe hacer así:

pip install jupyterlab "ipywidgets>=7.5"
jupyter labextension install [email protected]
jupyter labextension install @jupyter-widgets/jupyterlab-manager [email protected]4.13.0

La instalación se demora un poco.

Buen día, solicito ayuda con el gráfico final, este se genera pero no pinta la dispersión de puntos, pinta la cuadrícula, los títulos de los ejes y la barra de color degradado al lado derecho. Cuando paso el mouse por el interior se muestran los “hover_name” con la información correcta, pero lamentablemente no pinta el interior del gráfico. Agradezco de antemano la ayuda que me pueda brindar.

Nos encontramos con un pequeño obstaculo. Hay PMIs cercanos a cero que la frecuencia del bigrama es 1, o sea que aparecen una sola vez en el texto, esto no es bueno, porque podemos encontrar bigramas con más frecuencia de repetición. Para poder identificar colocaciones de lenguaje no solo debemos considerar la métrica del PMI, sino también la frecuencia del n-grama en sí mismo, para lo cual nos sugiere que debemos considerar 2 métricas, la frecuencia del bigrama en sí y la métrica PMI.

Creamos una nueva columna que contenga el logaritmo de la frecuencia de los bigramas.

df['PMI'] = df[['bigram_freq','word_0_freq','word_1_freq']].apply(lambda x: np.log2(x.values[0]/(x.values[1]*x.values[2])), axis = 1)
df['log_bigram_freq'] = df['bigram_freq'].apply(lambda x: np.log2(x))
df
"""
    bi-grams 	            word_0 	    word_1 	        bigram_freq 	word_0_freq 	word_1_freq 	PMI 	        log_bigram_freq
0 	(and, prophesies) 	    and 	    prophesies      1 	            6024 	        1 	            -12.556506 	    0.000000
1 	(lesson, which) 	    lesson 	    which 	        1 	            12 	            640 	        -12.906891 	    0.000000
2 	(not, unshunned) 	    not 	    unshunned 	    1 	            1103 	        1 	            -10.107217 	    0.000000
3 	(this, soliloquizer) 	this 	    soliloquizer 	1 	            1280 	        1 	            -10.321928 	    0.000000
4 	(the, precise) 	        the      	precise 	    11 	            13721 	        19 	            -14.532594 	    3.459432
"""

En el DF aplicamos el logaritmo sobre la frecuencia de aparición de la frecuencia de los bigramas, ¿Por qué hacemos esto? Porque el PMI en sí mismo ya es un valor que es el resultado de un logaritmo, y para que las 2 variables tengan la misma escala en el gráfico y el gráfico no se vea distorcionado es conveniente también aplicar logaritmo sobre la variable.

Librería Plotly interactiva

Esta librería es extremadamente poderosa, pues, ofrece la posibilidad de crear gráficos interáctivos, en este caso, la librería nos ofrece la oportunidad de identificar las colocaciones dentro del libro Moby Dick.

fig = px.scatter(x = df['PMI'].values, 
                 y = df['log_bigram_freq'], 
                 color = df['PMI']+df['log_bigram_freq'], 
                 hover_name = df['bi-grams'].values, 
                 width = 600, 
                 height = 600, 
                 labels= {'x':'PMI', 'y':'log (Bigram frequencies)'})
fig.show()

Podemos ver que la colocación más evidente es Moby Dick, y tiene total sentido, pues es el título del libro y uno de los personajes importantes, y más específicamente porque es un bigrama con una frecuencia de uso inusualmente alta en el lenguaje general. Las colocaciones sirven para identificar entonces, personas, lugares importantes para este caso literario identificar nombres propios, objetos y de esta manera empezar a asignar cierto tipo de etiquetas a palabras o expresiones que nos pueden dar información de elementos cruciales en el entendimiento del texto en sí mismo.

Requisitos

Si estas en un jupyter notebook en tu maquina

pip install plotly 

e importar

import plotly.express as px

Súper interesante y relativamente sencillo

El gráfico interactivo resultante es espectacular, nunca pensé que la estadística se podía implementar de esta manera.

Si alguna vez te preguntaste, por qué se usa el logaritmo aquí dejo este video: https://www.youtube.com/watch?v=W_BZb_va6jY

En resumen, dado que es una función creciente, sirve mucho para reducir la escala.

Me gusta este curso, tengo demasiadas herramientas nuevas

Si están utilizando Plotly en Jupyter lab o en Jupyter Notebook, pueden revisar este video (me serivió mucho 😄:

Hace mucha falta el curso de dash y plotly en platzi

increible el gráfico

Conclusiones del gráfico:

Vemos en el eje x al PMI y en el eje y al Logaritmo de la frecuencia de los Bigramas.

Podemos considerar a las colocaciones como los puntos que se encuentran con alta frecuencia y alto PMI (relativamente).

  • Ejemplo, los puntos que se encuentran en el cuadrante PMI=(-10:-5) y Log(Bi Freq)=(6:7). En el ese cuadrante tenemos serie de palabras que tienen una aparición inusualmente usual en el texto del libro, y en ese sentido lo llamamos una colocación del Texto.

Despues tenemos los casos contrarios:

  • Bajo frecuencia de aparicion y alto PMI: No tienen un aporte estadistico al analisis.
  • Alta frecuencia de aparicion y bajo PMI: No tienen un aporte de significado o nuevo entendimiento al analisis.

.

Conclusion final:
Las colocaciones sirven entonces para identificar lugares importantes, personas importantes en un documento, identificar nombres propios, objetos, etc y poder empezar a asignar ciertas etiquetas a palabras o expresiones que nos puedan dar informacion de elementos cruciales en el entendimiento del texto en si mismo.

todo esta tan claro que no hay preguntas jaajajja

<h1>Colocaciones</h1>

Secuencias de palabras que suelen ocurrir en textos o conversaciones con una frecuencia inusualmente alta.

Sirven para encontrar/identificar: nombres importantes, lugares importantes, nombres propios, objetos, empezar a asignar etiquetas a palabras o expresiones que nos pueden dar información de elementos cruciales en el entendimiento del texto.