From e80027f68806d9fbe5353c46d0f033cd72d1446c Mon Sep 17 00:00:00 2001 From: blassvelas1 Date: Sun, 23 Mar 2025 16:27:42 -0500 Subject: [PATCH 01/10] Realizado Realizado --- Python Text Analysi-Bag of Words.docx | Bin 0 -> 193930 bytes Python Text Analysis.docx | Bin 0 -> 58060 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 Python Text Analysi-Bag of Words.docx create mode 100644 Python Text Analysis.docx diff --git a/Python Text Analysi-Bag of Words.docx b/Python Text Analysi-Bag of Words.docx new file mode 100644 index 0000000000000000000000000000000000000000..9e9884d63cf697e66d15c6682c5c4ef7400a8293 GIT binary patch literal 193930 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 z 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 literal 0 HcmV?d00001 diff --git a/Python Text Analysis.docx b/Python Text Analysis.docx new file mode 100644 index 0000000000000000000000000000000000000000..0f9ea7c0c1fcabd3030c74b9ea54154fbf96d8ce GIT binary patch literal 58060 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

FNz)s{i0okQR*{#D`XY2KY~QPeDTy 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 z Date: Sun, 23 Mar 2025 16:35:27 -0500 Subject: [PATCH 02/10] Create Analysis_Bag_of_Words.md Analysis_Bag_of_Words --- Analysis_Bag_of_Words.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 Analysis_Bag_of_Words.md diff --git a/Analysis_Bag_of_Words.md b/Analysis_Bag_of_Words.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Analysis_Bag_of_Words.md @@ -0,0 +1 @@ + From 8ca8b9bfa816b31737f361f9c3d5e746d92b57f0 Mon Sep 17 00:00:00 2001 From: blassvelas1 Date: Sun, 23 Mar 2025 16:36:44 -0500 Subject: [PATCH 03/10] Create Text_Analysis.md Text_Analysis --- Text_Analysis.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 Text_Analysis.md diff --git a/Text_Analysis.md b/Text_Analysis.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Text_Analysis.md @@ -0,0 +1 @@ + From bc9d600211a8d5697c4aaf73804a0bd29d32bd34 Mon Sep 17 00:00:00 2001 From: blassvelas1 Date: Sun, 23 Mar 2025 16:49:44 -0500 Subject: [PATCH 04/10] Update Analysis_Bag_of_Words.md Creacion --- Analysis_Bag_of_Words.md | 251 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 251 insertions(+) diff --git a/Analysis_Bag_of_Words.md b/Analysis_Bag_of_Words.md index 8b13789..7b2f428 100644 --- a/Analysis_Bag_of_Words.md +++ b/Analysis_Bag_of_Words.md @@ -1 +1,252 @@ +# Python Text Analysis: Bag of Words +## Term Frequency-Inverse Document Frequency +So far, we're relying on word frequency to give us information about a document. This assumes if a word appears more often in a document, it's more informative. However, this may not always be the case. For example, we've already removed stop words because they are not informative, despite the fact that they appear many times in a document. We also know the word "flight" is among the most frequent words, but it is not that informative, because it appears in many documents. Since we're looking at airline tweets, we shouldn't be surprised to see the word "flight"! +To remedy this, we use a weighting scheme called *tf-idf* (term frequency-inverse document frequency). The big idea behind *tf-idf* is to weight a word not just by its frequency within a document, but also by its frequency in one document relative to the remaining documents. So, when we construct the DTM, we will be assigning each term a *tf-idf* score. Specifically, term *$t$* in document *$d$* is assigned a *tf-idf* score as follows: + +![image](https://github.com/user-attachments/assets/b0f88246-81b9-47a4-adbf-5610e07d2b65) + +In essence, the tf-idf score of a word in a document is the product of two components: term frequency (tf) and inverse document frequency (idf). The idf acts as a scaling factor. If a word occurs in all documents, then idf equals 1. No scaling will happen. But idf is typically greater than 1, which is the weight we assign to the word to make the tf-idf score higher, so as to highlight that the word is informative. In practice, we add 1 to both the denominator and numerator ("add-1 smooth") to prevent any issues with zero occurrences. + +We can also create a *tf-idf* DTM using *sklearn*. We'll use a *TfidfVectorizer* this time: + +~~~ +from sklearn.feature_extraction.text import TfidfVectorizer +~~~ +~~~ +# Create a tfidf vectorizer +vectorizer = TfidfVectorizer(lowercase=True, +…………………………………..stop_words='english' +…………………………………..min_df=2, +…………………………………..max_df=0.95, +…………………………………..max_features=None) +~~~ +~~~ +# Fit and transform +tf_dtm = vectorizer.fit_transform(tweets['text_lemmatized']) +tf_dtm +~~~ +~~~ +# Create a tf-idf dataframe +tfidf = pd.DataFrame(tf_dtm.todense(), +……………………………columns=vectorizer.get_feature_names_out(), +……………………………index=tweets.index) +tfidf.head() +~~~ + +You may have noticed that the vocabulary size is the same as we saw in Challenge 2. This is because we used the same parameter setting when creating the vectorizer. But the values in the matrix are different—they are tf-idf scores instead of raw counts. + +# Interpret TF-IDF Values + +Let's take a look the document where a term has the highest *tf-idf* values. We'll use the *.idxmax()* method to find the index. + +~~~ +#Retrieve the index of the document +tfidf.idxmax() +~~~ + + + + + + +For example, the term "worst" occurs most distinctively in the 918th tweet. + +tfidf.idxmax()['worst'] +np.int64(918) + +Recall that this is the tweet where the word "worst" appears six times! + +tweets['text_processed'].iloc[918] +"USER is the worst. worst reservation policies. worst costumer service. worst worst worst. congrats, USER you're not that bad!" + +How about "cancel"? Let's take a look at another example. + +tfidf.idxmax()['cancel'] +np.int64(5945) + +tweets['text_processed'].iloc[5945] +'USER cancelled flighted 😢' + +🥊 Challenge 3: Words with Highest Mean TF-IDF scores + + +We have obtained tf-idf values for each term in each document. But what do these values tell us about the sentiments of tweets? Are there any words that are particularly informative for positive/negative tweets? + +To explore this, let's gather the indices of all positive/negative tweets and calculate the mean tf-idf scores of words appear in each category. + +We've provided the following starter code to guide you: + Subset the tweets dataframe according to the airline_sentiment label and retrieve the index of each subset (.index). Assign the index to positive_index or negative_index. + For each subset: + Retrieve the td-idf representation + Take the mean tf-idf values across the subset using .mean() + Sort the mean values in the descending order using .sort_values() + Get the top 10 terms using .head() + +Next, run pos.plot and neg.plot to plot the words with the highest mean tf-idf scores for each subset. + +# Complete the boolean masks +positive_index = tweets[tweets['airline_sentiment'] == 'positive'].index +negative_index = tweets[tweets['airline_sentiment'] == 'negative'].index + +# Complete the following two lines +pos = tfidf.loc[positive_index].mean().sort_values(ascending=False).head(10) +neg = tfidf.loc[negative_index].mean().sort_values(ascending=False).head(10) + + + pos.plot(kind='barh', + ………….xlim=(0, 0.18), + ………….color='cornflowerblue', + ………….title='Top 10 terms with the highest mean tf-idf values for positive tweets'); + + + +neg.plot(kind='barh', +.………….xlim=(0, 0.18), +.………….color='darksalmon', +.………….title='Top 10 terms with the highest mean tf-idf values for negative tweets'); + + + +🔔 Question: How would you interpret these results? Share your thoughts in the chat! + + + + + + + + + + + + + + + + + + + + + + + + + + + +Análisis de texto en Python: Bolsa de palabras +Frecuencia de términos - Frecuencia inversa de documentos +Hasta ahora, nos basamos en la frecuencia de palabras para obtener información sobre un documento. Esto supone que si una palabra aparece con más frecuencia en un documento, es más informativa. Sin embargo, esto no siempre es así. Por ejemplo, ya hemos eliminado las palabras vacías porque no son informativas, a pesar de que aparecen muchas veces en un documento. También sabemos que la palabra "vuelo" es una de las más frecuentes, pero no es tan informativa, ya que aparece en muchos documentos. Dado que estamos analizando tweets de aerolíneas, no debería sorprendernos ver la palabra "vuelo". +Para solucionar esto, utilizamos un esquema de ponderación llamado tf-idf (término frecuencia-inversa frecuencia de documento). La idea principal de tf-idf es ponderar una palabra no solo por su frecuencia dentro de un documento, sino también por su frecuencia en un documento en relación con los demás. Por lo tanto, al construir el DTM, asignaremos a cada término un tf-idf score. Específicamente, al término $t$ del documento $d$ se le asigna un tf-idf score de la siguiente manera: + + + + + + + + + + + +En esencia, la puntuación tf-idf de una palabra en un documento es el producto de dos componentes: la frecuencia de término (tf) y la frecuencia inversa de documento (idf). La idf actúa como un factor de escala. Si una palabra aparece en todos los documentos, la idf es igual a 1. No se produce escala. Sin embargo, la idf suele ser mayor que 1, que es el peso que asignamos a la palabra para aumentar la puntuación tf-idf y destacar su carácter informativo. En la práctica, sumamos 1 tanto al denominador como al numerador (add-1 smooth) para evitar problemas con cero ocurrencias. + +También podemos crear un DTM tf-idf usando sklearn. En esta ocasión, usaremos TfidfVectorizer: +from sklearn.feature_extraction.text import TfidfVectorizer + +# Create a tfidf vectorizer +vectorizer = TfidfVectorizer(lowercase=True, +…………………………………..stop_words='english' +…………………………………..min_df=2, +…………………………………..max_df=0.95, +…………………………………..max_features=None) + + # Fit and transform +tf_dtm = vectorizer.fit_transform(tweets['text_lemmatized']) +tf_dtm + + # Create a tf-idf dataframe +tfidf = pd.DataFrame(tf_dtm.todense(), + ……………………………columns=vectorizer.get_feature_names_out(), + ……………………………index=tweets.index) +tfidf.head() + + +Quizás hayas notado que el tamaño del vocabulario es el mismo que vimos en el Desafío 2. Esto se debe a que usamos la misma configuración de parámetros al crear la vectorización. Sin embargo, los valores de la matriz son diferentes: son puntuaciones de tf-idf en lugar de conteos brutos. + +Interpretar valores de TF-IDF + +Analicemos el documento donde un término tiene los valores de tf-idf más altos. Usaremos el método .idxmax() para encontrar el índice. +# Retrieve the index of the document +tfidf.idxmax() + + + + + + + + + + + + + + + + + + + + + +Por ejemplo, el término "peor" aparece de forma más clara en el tweet número 918th. +tfidf.idxmax()['worst'] +np.int64(918) + +¡Recordemos que este es el tweet donde la palabra “peor” aparece seis veces! +tweets['text_processed'].iloc[918] +"USER is the worst. worst reservation policies. worst costumer service. worst worst worst. congrats, USER you're not that bad!" +¿Qué tal "Cancelar"? Veamos otro ejemplo. +tfidf.idxmax()['cancel'] +np.int64(5945) + +tweets['text_processed'].iloc[5945] +'USER cancelled flighted 😢' + +🥊 Desafío 3: Palabras con las puntuaciones medias más altas en TF-IDF +Hemos obtenido valores tf-idf para cada término en cada documento. Pero ¿qué nos dicen estos valores sobre el sentimiento de los tweets? ¿Hay palabras que sean especialmente informativas para los tweets positivos/negativos? +Para explorar esto, recopilemos los índices de todos los tweets positivos/negativos y calculemos la media de las puntuaciones tf-idf de las palabras que aparecen en cada categoría. +Hemos proporcionado el siguiente código de inicio como guía: +• Cree un subconjunto del dataframe de tweets según la etiqueta airline_sentiment y recupere el índice de cada subconjunto (.index). Asigne el índice a positive_index o a negative_index. +• Para cada subconjunto: + Recupere la representación td-idf + Tome la media de los valores tf-idf del subconjunto con .mean() + Ordene la media de los valores tf-idf en orden descendente con .sort_values() + Obtenga los 10 términos principales con .head() +A continuación, ejecute pos.plot y neg.plot para representar gráficamente las palabras con las puntuaciones medias tf-idf más altas para cada subconjunto. +# Complete the boolean masks +positive_index = tweets[tweets['airline_sentiment'] == 'positive'].index +negative_index = tweets[tweets['airline_sentiment'] == 'negative'].index + +# Complete the following two lines +pos = tfidf.loc[positive_index].mean().sort_values(ascending=False).head(10) +neg = tfidf.loc[negative_index].mean().sort_values(ascending=False).head(10) + + + pos.plot(kind='barh', + ………….xlim=(0, 0.18), + ………….color='cornflowerblue', + ………….title='Top 10 terms with the highest mean tf-idf values for positive tweets'); + + + +neg.plot(kind='barh', +.………….xlim=(0, 0.18), +.………….color='darksalmon', +.………….title='Top 10 terms with the highest mean tf-idf values for negative tweets'); + + +🔔 Pregunta: ¿Cómo interpretarías estos resultados? ¡Comparte tu opinión en el chat! From e2188066b9a9dea58a0512ccc2eb22ae1b6201b8 Mon Sep 17 00:00:00 2001 From: blassvelas1 Date: Sun, 23 Mar 2025 17:23:28 -0500 Subject: [PATCH 05/10] Update Analysis_Bag_of_Words.md Actulaizacion --- Analysis_Bag_of_Words.md | 268 ++++++++++++++++++++------------------- 1 file changed, 141 insertions(+), 127 deletions(-) diff --git a/Analysis_Bag_of_Words.md b/Analysis_Bag_of_Words.md index 7b2f428..255f9de 100644 --- a/Analysis_Bag_of_Words.md +++ b/Analysis_Bag_of_Words.md @@ -26,12 +26,25 @@ vectorizer = TfidfVectorizer(lowercase=True, tf_dtm = vectorizer.fit_transform(tweets['text_lemmatized']) tf_dtm ~~~ + +* + ~~~ # Create a tf-idf dataframe tfidf = pd.DataFrame(tf_dtm.todense(), ……………………………columns=vectorizer.get_feature_names_out(), ……………………………index=tweets.index) tfidf.head() +~~~ +~~~ +aa aadv aadvantage aal abandon abc ability able aboard abq ... yummy yup yvonne yvr yyj yyz zero zone zoom zurich +0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +4 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 + ~~~ You may have noticed that the vocabulary size is the same as we saw in Challenge 2. This is because we used the same parameter setting when creating the vectorizer. But the values in the matrix are different—they are tf-idf scores instead of raw counts. @@ -41,212 +54,213 @@ You may have noticed that the vocabulary size is the same as we saw in Challenge Let's take a look the document where a term has the highest *tf-idf* values. We'll use the *.idxmax()* method to find the index. ~~~ -#Retrieve the index of the document +# Retrieve the index of the document tfidf.idxmax() ~~~ - - - - - +~~~ +aa 10077 +aadv 9285 +aadvantage 9974 +aal 10630 +abandon 7859 + ... +yyz 1350 +zero 2705 +zone 3177 +zoom 3920 +zurich 10622 +Length: 3571, dtype: int64 +~~~ For example, the term "worst" occurs most distinctively in the 918th tweet. - +~~~ tfidf.idxmax()['worst'] np.int64(918) - +~~~ Recall that this is the tweet where the word "worst" appears six times! - +~~~ tweets['text_processed'].iloc[918] "USER is the worst. worst reservation policies. worst costumer service. worst worst worst. congrats, USER you're not that bad!" - +~~~ How about "cancel"? Let's take a look at another example. - +~~~ tfidf.idxmax()['cancel'] np.int64(5945) - +~~~ +~~~ tweets['text_processed'].iloc[5945] 'USER cancelled flighted 😢' +~~~ +# 🥊 Challenge 3: Words with Highest Mean TF-IDF scores -🥊 Challenge 3: Words with Highest Mean TF-IDF scores - - -We have obtained tf-idf values for each term in each document. But what do these values tell us about the sentiments of tweets? Are there any words that are particularly informative for positive/negative tweets? +We have obtained *tf-idf* values for each term in each document. But what do these values tell us about the sentiments of tweets? Are there any words that are particularly informative for positive/negative tweets? -To explore this, let's gather the indices of all positive/negative tweets and calculate the mean tf-idf scores of words appear in each category. +To explore this, let's gather the indices of all positive/negative tweets and calculate the mean *tf-idf* scores of words appear in each category. We've provided the following starter code to guide you: - Subset the tweets dataframe according to the airline_sentiment label and retrieve the index of each subset (.index). Assign the index to positive_index or negative_index. - For each subset: - Retrieve the td-idf representation - Take the mean tf-idf values across the subset using .mean() - Sort the mean values in the descending order using .sort_values() - Get the top 10 terms using .head() -Next, run pos.plot and neg.plot to plot the words with the highest mean tf-idf scores for each subset. +* Subset the tweets dataframe according to the airline_sentiment label and retrieve the index of each subset (.index). Assign the index to positive_index or negative_index. +* For each subset: + - Retrieve the td-idf representation + + Take the mean tf-idf values across the subset using .mean() + + Sort the mean values in the descending order using .sort_values() + + Get the top 10 terms using .head() + +Next, run pos.plot and neg.plot to plot the words with the highest mean *tf-idf* scores for each subset. +~~~ # Complete the boolean masks positive_index = tweets[tweets['airline_sentiment'] == 'positive'].index negative_index = tweets[tweets['airline_sentiment'] == 'negative'].index - +~~~ +~~~ # Complete the following two lines pos = tfidf.loc[positive_index].mean().sort_values(ascending=False).head(10) neg = tfidf.loc[negative_index].mean().sort_values(ascending=False).head(10) +~~~ +~~~ +pos.plot(kind='barh', +………….xlim=(0, 0.18), +………….color='cornflowerblue', +………….title='Top 10 terms with the highest mean tf-idf values for positive tweets'); +~~~ +![Reto2 2](https://github.com/user-attachments/assets/a8ce6b0a-4480-4ec6-95a3-f757eafadd70) - pos.plot(kind='barh', - ………….xlim=(0, 0.18), - ………….color='cornflowerblue', - ………….title='Top 10 terms with the highest mean tf-idf values for positive tweets'); - - - +~~~ neg.plot(kind='barh', .………….xlim=(0, 0.18), .………….color='darksalmon', .………….title='Top 10 terms with the highest mean tf-idf values for negative tweets'); - - +~~~ +![Reto2 3](https://github.com/user-attachments/assets/18245908-21d2-46d8-b71c-5a21682f78e5) 🔔 Question: How would you interpret these results? Share your thoughts in the chat! - - - - - - - - - - - - - - - - - - - - - - - - -Análisis de texto en Python: Bolsa de palabras -Frecuencia de términos - Frecuencia inversa de documentos +# Análisis de texto en Python: Bolsa de palabras +## Frecuencia de términos - Frecuencia inversa de documentos Hasta ahora, nos basamos en la frecuencia de palabras para obtener información sobre un documento. Esto supone que si una palabra aparece con más frecuencia en un documento, es más informativa. Sin embargo, esto no siempre es así. Por ejemplo, ya hemos eliminado las palabras vacías porque no son informativas, a pesar de que aparecen muchas veces en un documento. También sabemos que la palabra "vuelo" es una de las más frecuentes, pero no es tan informativa, ya que aparece en muchos documentos. Dado que estamos analizando tweets de aerolíneas, no debería sorprendernos ver la palabra "vuelo". -Para solucionar esto, utilizamos un esquema de ponderación llamado tf-idf (término frecuencia-inversa frecuencia de documento). La idea principal de tf-idf es ponderar una palabra no solo por su frecuencia dentro de un documento, sino también por su frecuencia en un documento en relación con los demás. Por lo tanto, al construir el DTM, asignaremos a cada término un tf-idf score. Específicamente, al término $t$ del documento $d$ se le asigna un tf-idf score de la siguiente manera: - - - - - - - - +Para solucionar esto, utilizamos un esquema de ponderación llamado *tf-idf* (término frecuencia-inversa frecuencia de documento). La idea principal de *tf-idf* es ponderar una palabra no solo por su frecuencia dentro de un documento, sino también por su frecuencia en un documento en relación con los demás. Por lo tanto, al construir el DTM, asignaremos a cada término un *tf-idf* score. Específicamente, al término *$t$* del documento *$d$* se le asigna un *tf-idf* score de la siguiente manera: +![image](https://github.com/user-attachments/assets/b0f88246-81b9-47a4-adbf-5610e07d2b65) -En esencia, la puntuación tf-idf de una palabra en un documento es el producto de dos componentes: la frecuencia de término (tf) y la frecuencia inversa de documento (idf). La idf actúa como un factor de escala. Si una palabra aparece en todos los documentos, la idf es igual a 1. No se produce escala. Sin embargo, la idf suele ser mayor que 1, que es el peso que asignamos a la palabra para aumentar la puntuación tf-idf y destacar su carácter informativo. En la práctica, sumamos 1 tanto al denominador como al numerador (add-1 smooth) para evitar problemas con cero ocurrencias. +En esencia, la puntuación *tf-idf* de una palabra en un documento es el producto de dos componentes: la frecuencia de término *(tf)* y la frecuencia inversa de documento *(idf)*. La *idf* actúa como un factor de escala. Si una palabra aparece en todos los documentos, la *idf* es igual a 1. No se produce escala. Sin embargo, la *idf* suele ser mayor que 1, que es el peso que asignamos a la palabra para aumentar la puntuación *tf-idf* y destacar su carácter informativo. En la práctica, sumamos 1 tanto al denominador como al numerador (add-1 smooth) para evitar problemas con cero ocurrencias. -También podemos crear un DTM tf-idf usando sklearn. En esta ocasión, usaremos TfidfVectorizer: +También podemos crear un DTM *tf-idf* usando sklearn. En esta ocasión, usaremos *TfidfVectorizer*: +~~~ from sklearn.feature_extraction.text import TfidfVectorizer - +~~~ +~~~ # Create a tfidf vectorizer vectorizer = TfidfVectorizer(lowercase=True, …………………………………..stop_words='english' …………………………………..min_df=2, …………………………………..max_df=0.95, …………………………………..max_features=None) - - # Fit and transform +~~~ +~~~ +# Fit and transform tf_dtm = vectorizer.fit_transform(tweets['text_lemmatized']) tf_dtm - - # Create a tf-idf dataframe +~~~ +* +~~~ +# Create a tf-idf dataframe tfidf = pd.DataFrame(tf_dtm.todense(), - ……………………………columns=vectorizer.get_feature_names_out(), - ……………………………index=tweets.index) +……………………………columns=vectorizer.get_feature_names_out(), +……………………………index=tweets.index) tfidf.head() +~~~ +~~~ +aa aadv aadvantage aal abandon abc ability able aboard abq ... yummy yup yvonne yvr yyj yyz zero zone zoom zurich +0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +4 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 +~~~ +Quizás hayas notado que el tamaño del vocabulario es el mismo que vimos en el Desafío 2. Esto se debe a que usamos la misma configuración de parámetros al crear la vectorización. Sin embargo, los valores de la matriz son diferentes: son puntuaciones de *tf-idf* en lugar de conteos brutos. -Quizás hayas notado que el tamaño del vocabulario es el mismo que vimos en el Desafío 2. Esto se debe a que usamos la misma configuración de parámetros al crear la vectorización. Sin embargo, los valores de la matriz son diferentes: son puntuaciones de tf-idf en lugar de conteos brutos. - -Interpretar valores de TF-IDF +# Interpretar valores de TF-IDF -Analicemos el documento donde un término tiene los valores de tf-idf más altos. Usaremos el método .idxmax() para encontrar el índice. +Analicemos el documento donde un término tiene los valores de *tf-idf* más altos. Usaremos el método *.idxmax()* para encontrar el índice. +~~~ # Retrieve the index of the document tfidf.idxmax() - - - - - - - - - - - - - - - - - - - - - +~~~ +~~~ +aa 10077 +aadv 9285 +aadvantage 9974 +aal 10630 +abandon 7859 + ... +yyz 1350 +zero 2705 +zone 3177 +zoom 3920 +zurich 10622 +Length: 3571, dtype: int64 +~~~ Por ejemplo, el término "peor" aparece de forma más clara en el tweet número 918th. +~~~ tfidf.idxmax()['worst'] np.int64(918) - +~~~ ¡Recordemos que este es el tweet donde la palabra “peor” aparece seis veces! +~~~ tweets['text_processed'].iloc[918] "USER is the worst. worst reservation policies. worst costumer service. worst worst worst. congrats, USER you're not that bad!" +~~~ ¿Qué tal "Cancelar"? Veamos otro ejemplo. +~~~ tfidf.idxmax()['cancel'] np.int64(5945) - +~~~ +~~~ tweets['text_processed'].iloc[5945] 'USER cancelled flighted 😢' - -🥊 Desafío 3: Palabras con las puntuaciones medias más altas en TF-IDF -Hemos obtenido valores tf-idf para cada término en cada documento. Pero ¿qué nos dicen estos valores sobre el sentimiento de los tweets? ¿Hay palabras que sean especialmente informativas para los tweets positivos/negativos? -Para explorar esto, recopilemos los índices de todos los tweets positivos/negativos y calculemos la media de las puntuaciones tf-idf de las palabras que aparecen en cada categoría. +~~~ +# 🥊 Desafío 3: Palabras con las puntuaciones medias más altas en TF-IDF +Hemos obtenido valores *tf-idf* para cada término en cada documento. Pero ¿qué nos dicen estos valores sobre el sentimiento de los tweets? ¿Hay palabras que sean especialmente informativas para los tweets positivos/negativos? +Para explorar esto, recopilemos los índices de todos los tweets positivos/negativos y calculemos la media de las puntuaciones *tf-idf* de las palabras que aparecen en cada categoría. Hemos proporcionado el siguiente código de inicio como guía: -• Cree un subconjunto del dataframe de tweets según la etiqueta airline_sentiment y recupere el índice de cada subconjunto (.index). Asigne el índice a positive_index o a negative_index. -• Para cada subconjunto: - Recupere la representación td-idf - Tome la media de los valores tf-idf del subconjunto con .mean() - Ordene la media de los valores tf-idf en orden descendente con .sort_values() - Obtenga los 10 términos principales con .head() -A continuación, ejecute pos.plot y neg.plot para representar gráficamente las palabras con las puntuaciones medias tf-idf más altas para cada subconjunto. +* Cree un subconjunto del dataframe de tweets según la etiqueta airline_sentiment y recupere el índice de cada subconjunto (.index). Asigne el índice a positive_index o a negative_index. +* Para cada subconjunto: + - Recupere la representación td-idf + - Tome la media de los valores tf-idf del subconjunto con .mean() + - Ordene la media de los valores tf-idf en orden descendente con .sort_values() + - Obtenga los 10 términos principales con .head() +A continuación, ejecute *pos.plot* y *neg.plot* para representar gráficamente las palabras con las puntuaciones medias *tf-idf* más altas para cada subconjunto. + +~~~ # Complete the boolean masks positive_index = tweets[tweets['airline_sentiment'] == 'positive'].index negative_index = tweets[tweets['airline_sentiment'] == 'negative'].index - +~~~ +~~~ # Complete the following two lines pos = tfidf.loc[positive_index].mean().sort_values(ascending=False).head(10) neg = tfidf.loc[negative_index].mean().sort_values(ascending=False).head(10) - - - pos.plot(kind='barh', - ………….xlim=(0, 0.18), - ………….color='cornflowerblue', - ………….title='Top 10 terms with the highest mean tf-idf values for positive tweets'); - - - +~~~ +~~~ +pos.plot(kind='barh', +………….xlim=(0, 0.18), +………….color='cornflowerblue', +………….title='Top 10 terms with the highest mean tf-idf values for positive tweets'); +~~~ +![Reto2 2](https://github.com/user-attachments/assets/a8ce6b0a-4480-4ec6-95a3-f757eafadd70) +~~~ neg.plot(kind='barh', .………….xlim=(0, 0.18), .………….color='darksalmon', .………….title='Top 10 terms with the highest mean tf-idf values for negative tweets'); - +~~~ +![Reto2 3](https://github.com/user-attachments/assets/18245908-21d2-46d8-b71c-5a21682f78e5) 🔔 Pregunta: ¿Cómo interpretarías estos resultados? ¡Comparte tu opinión en el chat! From 622dbbc487564e6674b72b5c3823c6cd7b6b8666 Mon Sep 17 00:00:00 2001 From: blassvelas1 Date: Sun, 23 Mar 2025 17:25:20 -0500 Subject: [PATCH 06/10] Update Analysis_Bag_of_Words.md Arreglo tabla de datos --- Analysis_Bag_of_Words.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Analysis_Bag_of_Words.md b/Analysis_Bag_of_Words.md index 255f9de..91f3290 100644 --- a/Analysis_Bag_of_Words.md +++ b/Analysis_Bag_of_Words.md @@ -196,7 +196,7 @@ tfidf.idxmax() ~~~ aa 10077 aadv 9285 -aadvantage 9974 +aadvantage 9974 aal 10630 abandon 7859 ... From ba9e972624b6b85d175241c10f42f76d810fb7d3 Mon Sep 17 00:00:00 2001 From: blassvelas1 Date: Sun, 23 Mar 2025 17:47:31 -0500 Subject: [PATCH 07/10] Update Text_Analysis.md Parte 3 Subida --- Text_Analysis.md | 230 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 230 insertions(+) diff --git a/Text_Analysis.md b/Text_Analysis.md index 8b13789..4e0bac3 100644 --- a/Text_Analysis.md +++ b/Text_Analysis.md @@ -1 +1,231 @@ +# Python Text Analysis: Preprocessing +## Remove Extra Whitespace Characters +Sometimes we might come across texts with extraneous whitespace, such as spaces, tabs, and newline characters, which is particularly common when the text is scrapped from web pages. Before we dive into the details, let's briefly introduce Regular Expressions *(regex)* and the *re package*. +Regular expressions are a powerful way of searching for specific string patterns in large corpora. They have an infamously steep learning curve, but they can be very efficient when we get a handle on them. Many NLP packages heavily rely on regex under the hood. Regex testers, such as *regex101*, are useful tools in both understanding and creating regex expressions. +Our goal in this workshop is not to provide a deep (or even shallow) dive into regex; instead, we want to expose you to them so that you are better prepared to do deep dives in the future! +The following example is a poem by William Wordsworth. Like many poems, the text may contain extra line breaks (i.e., newline characters, \n) that we want to remove. +~~~ +# File path to the poem +text_path = '../data/poem_wordsworth.txt' +~~~ +~~~ +# Read the poem in +with open(text_path, 'r') as file: + text = file.read() +file.close() +~~~ +As you can see, the poem is formatted as a continuous string of text with line breaks placed at the end of each line, making it difficult to read. +~~~ +text +~~~ +~~~ +"I wandered lonely as a cloud\n\n\nI wandered lonely as a cloud\nThat floats on high o'er vales and hills,\nWhen all at once I saw a +crowd,\nA host, of golden daffodils;\nBeside the lake, beneath the trees,\nFluttering and dancing in the breeze.\n\nContinuous as the +stars that shine\nAnd twinkle on the milky way,\nThey stretched in never-ending line\nAlong the margin of a bay:\nTen thousand saw I at a +glance,\nTossing their heads in sprightly dance.\n\nThe waves beside them danced; but they\nOut-did the sparkling waves in glee:\nA poet +could not but be gay,\nIn such a jocund company:\nI gazed—and gazed—but little thought\nWhat wealth the show to me had brought:\n\nFor +oft, when on my couch I lie\nIn vacant or in pensive mood,\nThey flash upon that inward eye\nWhich is the bliss of solitude;\nAnd then my +heart with pleasure fills,\nAnd dances with the daffodils." +~~~ +One handy function we can use to display the poem properly is *.splitlines()*. As the name suggests, it splits a long text sequence into a list of lines whenever there is a newline character. +~~~ +# Split the single string into a list of lines +text.splitlines() +~~~ +~~~ +['I wandered lonely as a cloud', + '', + '', + 'I wandered lonely as a cloud', + "That floats on high o'er vales and hills,", + 'When all at once I saw a crowd,', + 'A host, of golden daffodils;', + 'Beside the lake, beneath the trees,', + 'Fluttering and dancing in the breeze.', + '', + 'Continuous as the stars that shine', + 'And twinkle on the milky way,', + 'They stretched in never-ending line', + 'Along the margin of a bay:', + 'Ten thousand saw I at a glance,', + 'Tossing their heads in sprightly dance.', + '', + 'The waves beside them danced; but they', + 'Out-did the sparkling waves in glee:', + 'A poet could not but be gay,', + 'In such a jocund company:', + 'I gazed—and gazed—but little thought', + 'What wealth the show to me had brought:', + '', + 'For oft, when on my couch I lie', + 'In vacant or in pensive mood,', + 'They flash upon that inward eye', + 'Which is the bliss of solitude;', + 'And then my heart with pleasure fills,', + 'And dances with the daffodils.'] +~~~ +Let's return to our tweet data for an example. +~~~ +# Print the second example +second_example = tweets['text'][5] +second_example +~~~ +~~~ +@VirginAmerica seriously would pay $30 a flight for seats that didn't have this playing.\nit's really the only bad thing about flying VA" +~~~ +In this case, we don't really want to split the tweet into a list of strings. We still expect a single string of text but would like to remove the line break completely from the string. +The string method *.strip()* effectively does the job of stripping away spaces at both ends of the text. However, it won't work in our example as the newline character is in the middle of the string. +~~~ +# Strip only removed blankspace at both ends +second_example.strip() +~~~ +This is where regex could be really helpful. +~~~ +import re +~~~ +Now, with regex, we are essentially calling it to match a pattern that we have identified in the text data, and we want to do some operations to the matched part—extract it, replace it with something else, or remove it completely. Therefore, the way regex works could be unpacked into the following steps: + - Identify and write the pattern in regex (r'PATTERN') + - Write the replacement for the pattern ('REPLACEMENT') + - Call the specific regex function (e.g., re.sub()) +In our example, the pattern we are looking for is \s, which is the regex short name for any whitespace character (\n and \t included). We also add a quantifier + to the end: \s+. It means we'd like to capture one or more occurences of the whitespace character. +~~~ +# Write a pattern in regex +blankspace_pattern = r'\s+' +~~~ +The replacement for one or more whitespace characters is exactly one single whitespace, which is the canonical word boundary in English. Any additional whitespace will be reduced to a single whitespace. +~~~ +# Write a replacement for the pattern identfied +blankspace_repl = ' ' +~~~ +Lastly, let's put everything together using the function *re.sub()*, which means we want to substitute a pattern with a replacement. The function takes in three arguments—the pattern, the replacement, and the string to which we want to apply the function. +~~~ +# Replace whitespace(s) with ' ' + +clean_text = re.sub(pattern = blankspace_pattern, + repl = blankspace_repl, + string = second_example) +print(clean_text) +~~~ +~~~ +@VirginAmerica seriously would pay $30 a flight for seats that didn't have this playing. it's really the only bad thing about flying VA +~~~ +Ta-da! The newline character is no longer there. +*** +*** +# Análisis de texto en Python: Preprocesamiento +## Eliminar espacios en blanco innecesarios +A veces nos encontramos con textos con espacios en blanco innecesarios, como espacios, tabulaciones y caracteres de nueva línea, lo cual es particularmente común cuando el texto se extrae de páginas web. Antes de profundizar en los detalles, presentemos brevemente las expresiones regulares *(regex)* y el paquete *re*. +Las expresiones regulares son una forma eficaz de buscar patrones de cadenas específicos en campos extensos. Su curva de aprendizaje es notablemente pronunciada, pero pueden ser muy eficientes una vez que las dominamos. Muchos paquetes de PLN dependen en gran medida de las expresiones regulares. Los evaluadores de expresiones regulares, como *regex101*, son herramientas útiles tanto para comprender como para crear expresiones regulares. +Nuestro objetivo en este taller no es ofrecer una introducción profunda (ni siquiera superficial) a las expresiones regulares; en cambio, queremos presentarles para que estén mejor preparados para profundizar en el futuro. +El siguiente ejemplo es un poema de William Wordsworth. Como muchos poemas, el texto puede contener saltos de línea adicionales (es decir, caracteres de nueva línea, \n) que queremos eliminar. +~~~ +# File path to the poem +text_path = '../data/poem_wordsworth.txt' +~~~ +~~~ +# Read the poem in +with open(text_path, 'r') as file: + text = file.read() +file.close() +~~~ +Como puede ver, el poema está formateado como una cadena continua de texto con saltos de línea al final de cada línea, lo que dificulta su lectura. +~~~ +text +~~~ +~~~ +"Vagaba solo como una nube\n\n\nVagaba solo como una nube\nQue flota en lo alto sobre valles y colinas,\nCuando de repente vi una +multitud,\nUna multitud de narcisos dorados;\nJunto al lago, bajo los árboles,\nRevoloteando y danzando con la brisa.\n\nContinuos como +las estrellas que brillan\nY centellean en la vía láctea,\nSe extendían en una línea interminable\nA lo largo de la orilla de una +bahía:\nDiez mil vi de un vistazo,\nSacudiendo sus cabezas en una danza alegre.\n\nLas olas a su lado danzaban; pero ellas\nSuperaban a +las olas centelleantes en alegría:\nUn poeta no podía sino estar alegre,\nEn una compañía tan alegre:\nMiré, y miré, pero poco pensé\nEn +la riqueza que me había traído el espectáculo:\n\nPorque a menudo, cuando yazgo en mi lecho\nEn vacío o en estado de ánimo +pensativo,\nDestellan en ese ojo interior\nQue es la dicha de la soledad;\nY entonces mi corazón se llena de placer,\nY baila con los +narcisos." +~~~ +Una función útil para mostrar el poema correctamente es *.splitlines()*. Como su nombre indica, divide una secuencia de texto larga en una lista de líneas cuando hay un salto de línea. +~~~ +# Split the single string into a list of lines +text.splitlines() +~~~ +~~~ +['Vagaba solo como una nube', +'', +'', +'Vagaba solo como una nube', +"Que flota en lo alto sobre valles y colinas", +"Cuando de repente vi una multitud", +"Una multitud de narcisos dorados"; +"Junto al lago, bajo los árboles", +"Revoloteando y danzando con la brisa". +'', +"Continuos como las estrellas que brillan", +"Y centellean en la Vía Láctea", +"Se extendían en una línea interminable", +"A lo largo de la orilla de una bahía": +"Diez mil vi de un vistazo", +"Agitando sus cabezas en una danza alegre". +'', +"Las olas a su lado danzaban; pero ellos, +'Superaron en alegría a las olas centelleantes': +'Un poeta no podía sino ser alegre', +'En tan alegre compañía': +'Miré, y miré, pero poco pensé', +'Qué riqueza me había traído el espectáculo': +', +'Porque a menudo, cuando yazgo en mi lecho', +'En estado vacío o pensativo', +'Destellan en ese ojo interior', +'Que es la dicha de la soledad'; +'Y entonces mi corazón se llena de placer', +'Y baila con los narcisos'.] +~~~ +Volvamos a nuestros datos de tweets para ver un ejemplo. +~~~ +# Print the second example +second_example = tweets['text'][5] +second_example +~~~ +~~~ +@VirginAmerica realmente pagaría $30 por vuelo por asientos que no tuvieran esta función. Es realmente lo único malo de volar en Virginia. +~~~ +En este caso, no queremos dividir el tuit en una lista de cadenas. Seguimos esperando una sola cadena de texto, pero queremos eliminar por completo el salto de línea. +El método de cadena *.strip()* elimina eficazmente los espacios en ambos extremos del texto. Sin embargo, no funcionará en nuestro ejemplo, ya que el carácter de nueva línea está en medio de la cadena. +~~~ +# Strip only removed blankspace at both ends +second_example.strip() +~~~ +~~~ +"@VirginAmerica realmente pagaría $30 por un vuelo por asientos sin esta función. Es realmente lo único malo de volar con Virginia". +~~~ + +Aquí es donde las expresiones regulares pueden ser realmente útiles. +~~~ +import re +~~~ +Ahora, con regex, básicamente la llamamos para que coincida con un patrón identificado en los datos de texto, y queremos realizar algunas operaciones con la parte coincidente: extraerla, reemplazarla o eliminarla por completo. Por lo tanto, el funcionamiento de *regex* se puede resumir en los siguientes pasos: + - Identificar y escribir el patrón en regex (r'PATTERN') + - Escribir el reemplazo para el patrón ('REPLACEMENT') + - Llamar a la función regex específica (p. ej., re.sub()) +En nuestro ejemplo, el patrón que buscamos es \s, que es el nombre corto en regex para cualquier espacio en blanco (incluidos \n y \t). También añadimos un cuantificador + al final: \s+. Esto significa que queremos capturar una o más ocurrencias del espacio en blanco. +~~~ +# Write a pattern in regex +blankspace_pattern = r'\s+' +~~~ +El reemplazo de uno o más espacios en blanco es exactamente un solo espacio, que es el límite canónico de una palabra en inglés. Cualquier espacio adicional se reducirá a un solo espacio. +~~~ +# Write a replacement for the pattern identfied +blankspace_repl = ' ' +~~~ +Finalmente, combinemos todo usando la función *re.sub()*, que significa que queremos sustituir un patrón por un reemplazo. La función acepta tres argumentos: el patrón, el reemplazo y la cadena a la que queremos aplicar la función. +~~~ +# Replace whitespace(s) with ' ' +clean_text = re.sub(pattern = blankspace_pattern, + repl = blankspace_repl, + string = second_example) +print(clean_text) +~~~ +~~~ +@VirginAmerica en serio pagaría $30 por vuelo por asientos que no tuvieran esta función. Es realmente lo único malo de volar con Virginia. +~~~ +¡Ta-da! El carácter de nueva línea ya no está. From 6c20df574cd0ae3a729cd1ed9df688be28712d67 Mon Sep 17 00:00:00 2001 From: blassvelas1 Date: Sun, 23 Mar 2025 17:48:34 -0500 Subject: [PATCH 08/10] Update Analysis_Bag_of_Words.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Separador a Español --- Analysis_Bag_of_Words.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Analysis_Bag_of_Words.md b/Analysis_Bag_of_Words.md index 91f3290..7871b86 100644 --- a/Analysis_Bag_of_Words.md +++ b/Analysis_Bag_of_Words.md @@ -137,8 +137,8 @@ neg.plot(kind='barh', 🔔 Question: How would you interpret these results? Share your thoughts in the chat! - - +*** +*** # Análisis de texto en Python: Bolsa de palabras ## Frecuencia de términos - Frecuencia inversa de documentos Hasta ahora, nos basamos en la frecuencia de palabras para obtener información sobre un documento. Esto supone que si una palabra aparece con más frecuencia en un documento, es más informativa. Sin embargo, esto no siempre es así. Por ejemplo, ya hemos eliminado las palabras vacías porque no son informativas, a pesar de que aparecen muchas veces en un documento. También sabemos que la palabra "vuelo" es una de las más frecuentes, pero no es tan informativa, ya que aparece en muchos documentos. Dado que estamos analizando tweets de aerolíneas, no debería sorprendernos ver la palabra "vuelo". From 3eb15134234aa5f4fd74a6334ee74cfd1be8a3b8 Mon Sep 17 00:00:00 2001 From: blassvelas1 Date: Sun, 23 Mar 2025 19:56:00 -0500 Subject: [PATCH 09/10] Update Text_Analysis.md Actualizacion --- Text_Analysis.md | 58 ++++++++++++++++++++++++------------------------ 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/Text_Analysis.md b/Text_Analysis.md index 4e0bac3..e20a889 100644 --- a/Text_Analysis.md +++ b/Text_Analysis.md @@ -4,21 +4,21 @@ Sometimes we might come across texts with extraneous whitespace, such as spaces, Regular expressions are a powerful way of searching for specific string patterns in large corpora. They have an infamously steep learning curve, but they can be very efficient when we get a handle on them. Many NLP packages heavily rely on regex under the hood. Regex testers, such as *regex101*, are useful tools in both understanding and creating regex expressions. Our goal in this workshop is not to provide a deep (or even shallow) dive into regex; instead, we want to expose you to them so that you are better prepared to do deep dives in the future! The following example is a poem by William Wordsworth. Like many poems, the text may contain extra line breaks (i.e., newline characters, \n) that we want to remove. -~~~ +~~~ javascript # File path to the poem text_path = '../data/poem_wordsworth.txt' ~~~ -~~~ +~~~ javascript # Read the poem in with open(text_path, 'r') as file: text = file.read() file.close() ~~~ As you can see, the poem is formatted as a continuous string of text with line breaks placed at the end of each line, making it difficult to read. -~~~ +~~~ javascript text ~~~ -~~~ +~~~ javascript "I wandered lonely as a cloud\n\n\nI wandered lonely as a cloud\nThat floats on high o'er vales and hills,\nWhen all at once I saw a crowd,\nA host, of golden daffodils;\nBeside the lake, beneath the trees,\nFluttering and dancing in the breeze.\n\nContinuous as the stars that shine\nAnd twinkle on the milky way,\nThey stretched in never-ending line\nAlong the margin of a bay:\nTen thousand saw I at a @@ -28,11 +28,11 @@ oft, when on my couch I lie\nIn vacant or in pensive mood,\nThey flash upon that heart with pleasure fills,\nAnd dances with the daffodils." ~~~ One handy function we can use to display the poem properly is *.splitlines()*. As the name suggests, it splits a long text sequence into a list of lines whenever there is a newline character. -~~~ +~~~ javascript # Split the single string into a list of lines text.splitlines() ~~~ -~~~ +~~~ javascript ['I wandered lonely as a cloud', '', '', @@ -65,22 +65,22 @@ text.splitlines() 'And dances with the daffodils.'] ~~~ Let's return to our tweet data for an example. -~~~ +~~~ javascript # Print the second example second_example = tweets['text'][5] second_example ~~~ -~~~ +~~~ javascript @VirginAmerica seriously would pay $30 a flight for seats that didn't have this playing.\nit's really the only bad thing about flying VA" ~~~ In this case, we don't really want to split the tweet into a list of strings. We still expect a single string of text but would like to remove the line break completely from the string. The string method *.strip()* effectively does the job of stripping away spaces at both ends of the text. However, it won't work in our example as the newline character is in the middle of the string. -~~~ +~~~ javascript # Strip only removed blankspace at both ends second_example.strip() ~~~ This is where regex could be really helpful. -~~~ +~~~ javascript import re ~~~ Now, with regex, we are essentially calling it to match a pattern that we have identified in the text data, and we want to do some operations to the matched part—extract it, replace it with something else, or remove it completely. Therefore, the way regex works could be unpacked into the following steps: @@ -88,17 +88,17 @@ Now, with regex, we are essentially calling it to match a pattern that we have i - Write the replacement for the pattern ('REPLACEMENT') - Call the specific regex function (e.g., re.sub()) In our example, the pattern we are looking for is \s, which is the regex short name for any whitespace character (\n and \t included). We also add a quantifier + to the end: \s+. It means we'd like to capture one or more occurences of the whitespace character. -~~~ +~~~ javascript # Write a pattern in regex blankspace_pattern = r'\s+' ~~~ The replacement for one or more whitespace characters is exactly one single whitespace, which is the canonical word boundary in English. Any additional whitespace will be reduced to a single whitespace. -~~~ +~~~ javascript # Write a replacement for the pattern identfied blankspace_repl = ' ' ~~~ Lastly, let's put everything together using the function *re.sub()*, which means we want to substitute a pattern with a replacement. The function takes in three arguments—the pattern, the replacement, and the string to which we want to apply the function. -~~~ +~~~ javascript # Replace whitespace(s) with ' ' clean_text = re.sub(pattern = blankspace_pattern, @@ -106,7 +106,7 @@ clean_text = re.sub(pattern = blankspace_pattern, string = second_example) print(clean_text) ~~~ -~~~ +~~~ javascript @VirginAmerica seriously would pay $30 a flight for seats that didn't have this playing. it's really the only bad thing about flying VA ~~~ Ta-da! The newline character is no longer there. @@ -118,21 +118,21 @@ A veces nos encontramos con textos con espacios en blanco innecesarios, como esp Las expresiones regulares son una forma eficaz de buscar patrones de cadenas específicos en campos extensos. Su curva de aprendizaje es notablemente pronunciada, pero pueden ser muy eficientes una vez que las dominamos. Muchos paquetes de PLN dependen en gran medida de las expresiones regulares. Los evaluadores de expresiones regulares, como *regex101*, son herramientas útiles tanto para comprender como para crear expresiones regulares. Nuestro objetivo en este taller no es ofrecer una introducción profunda (ni siquiera superficial) a las expresiones regulares; en cambio, queremos presentarles para que estén mejor preparados para profundizar en el futuro. El siguiente ejemplo es un poema de William Wordsworth. Como muchos poemas, el texto puede contener saltos de línea adicionales (es decir, caracteres de nueva línea, \n) que queremos eliminar. -~~~ +~~~ javascript # File path to the poem text_path = '../data/poem_wordsworth.txt' ~~~ -~~~ +~~~ javascript # Read the poem in with open(text_path, 'r') as file: text = file.read() file.close() ~~~ Como puede ver, el poema está formateado como una cadena continua de texto con saltos de línea al final de cada línea, lo que dificulta su lectura. -~~~ +~~~javascript text ~~~ -~~~ +~~~javascript "Vagaba solo como una nube\n\n\nVagaba solo como una nube\nQue flota en lo alto sobre valles y colinas,\nCuando de repente vi una multitud,\nUna multitud de narcisos dorados;\nJunto al lago, bajo los árboles,\nRevoloteando y danzando con la brisa.\n\nContinuos como las estrellas que brillan\nY centellean en la vía láctea,\nSe extendían en una línea interminable\nA lo largo de la orilla de una @@ -143,11 +143,11 @@ pensativo,\nDestellan en ese ojo interior\nQue es la dicha de la soledad;\nY ent narcisos." ~~~ Una función útil para mostrar el poema correctamente es *.splitlines()*. Como su nombre indica, divide una secuencia de texto larga en una lista de líneas cuando hay un salto de línea. -~~~ +~~~ javascript # Split the single string into a list of lines text.splitlines() ~~~ -~~~ +~~~ javascript ['Vagaba solo como una nube', '', '', @@ -180,26 +180,26 @@ text.splitlines() 'Y baila con los narcisos'.] ~~~ Volvamos a nuestros datos de tweets para ver un ejemplo. -~~~ +~~~ javascript # Print the second example second_example = tweets['text'][5] second_example ~~~ -~~~ +~~~ javascript @VirginAmerica realmente pagaría $30 por vuelo por asientos que no tuvieran esta función. Es realmente lo único malo de volar en Virginia. ~~~ En este caso, no queremos dividir el tuit en una lista de cadenas. Seguimos esperando una sola cadena de texto, pero queremos eliminar por completo el salto de línea. El método de cadena *.strip()* elimina eficazmente los espacios en ambos extremos del texto. Sin embargo, no funcionará en nuestro ejemplo, ya que el carácter de nueva línea está en medio de la cadena. -~~~ +~~~ javascript # Strip only removed blankspace at both ends second_example.strip() ~~~ -~~~ +~~~ javascript "@VirginAmerica realmente pagaría $30 por un vuelo por asientos sin esta función. Es realmente lo único malo de volar con Virginia". ~~~ Aquí es donde las expresiones regulares pueden ser realmente útiles. -~~~ +~~~ javascript import re ~~~ Ahora, con regex, básicamente la llamamos para que coincida con un patrón identificado en los datos de texto, y queremos realizar algunas operaciones con la parte coincidente: extraerla, reemplazarla o eliminarla por completo. Por lo tanto, el funcionamiento de *regex* se puede resumir en los siguientes pasos: @@ -207,24 +207,24 @@ Ahora, con regex, básicamente la llamamos para que coincida con un patrón iden - Escribir el reemplazo para el patrón ('REPLACEMENT') - Llamar a la función regex específica (p. ej., re.sub()) En nuestro ejemplo, el patrón que buscamos es \s, que es el nombre corto en regex para cualquier espacio en blanco (incluidos \n y \t). También añadimos un cuantificador + al final: \s+. Esto significa que queremos capturar una o más ocurrencias del espacio en blanco. -~~~ +~~~ javascript # Write a pattern in regex blankspace_pattern = r'\s+' ~~~ El reemplazo de uno o más espacios en blanco es exactamente un solo espacio, que es el límite canónico de una palabra en inglés. Cualquier espacio adicional se reducirá a un solo espacio. -~~~ +~~~ javascript # Write a replacement for the pattern identfied blankspace_repl = ' ' ~~~ Finalmente, combinemos todo usando la función *re.sub()*, que significa que queremos sustituir un patrón por un reemplazo. La función acepta tres argumentos: el patrón, el reemplazo y la cadena a la que queremos aplicar la función. -~~~ +~~~ javascript # Replace whitespace(s) with ' ' clean_text = re.sub(pattern = blankspace_pattern, repl = blankspace_repl, string = second_example) print(clean_text) ~~~ -~~~ +~~~ javascript @VirginAmerica en serio pagaría $30 por vuelo por asientos que no tuvieran esta función. Es realmente lo único malo de volar con Virginia. ~~~ ¡Ta-da! El carácter de nueva línea ya no está. From a27f5bad9c2a8c16c3a5a5ea149fc059be108445 Mon Sep 17 00:00:00 2001 From: blassvelas1 Date: Sun, 23 Mar 2025 20:00:17 -0500 Subject: [PATCH 10/10] Update Analysis_Bag_of_Words.md Actulaiza Texto --- Analysis_Bag_of_Words.md | 60 ++++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/Analysis_Bag_of_Words.md b/Analysis_Bag_of_Words.md index 7871b86..6387f2a 100644 --- a/Analysis_Bag_of_Words.md +++ b/Analysis_Bag_of_Words.md @@ -10,10 +10,10 @@ In essence, the tf-idf score of a word in a document is the product of two compo We can also create a *tf-idf* DTM using *sklearn*. We'll use a *TfidfVectorizer* this time: -~~~ +~~~javascript from sklearn.feature_extraction.text import TfidfVectorizer ~~~ -~~~ +~~~javascript # Create a tfidf vectorizer vectorizer = TfidfVectorizer(lowercase=True, …………………………………..stop_words='english' @@ -21,7 +21,7 @@ vectorizer = TfidfVectorizer(lowercase=True, …………………………………..max_df=0.95, …………………………………..max_features=None) ~~~ -~~~ +~~~javascript # Fit and transform tf_dtm = vectorizer.fit_transform(tweets['text_lemmatized']) tf_dtm @@ -30,14 +30,14 @@ tf_dtm * -~~~ +~~~javascript # Create a tf-idf dataframe tfidf = pd.DataFrame(tf_dtm.todense(), ……………………………columns=vectorizer.get_feature_names_out(), ……………………………index=tweets.index) tfidf.head() ~~~ -~~~ +~~~javascript aa aadv aadvantage aal abandon abc ability able aboard abq ... yummy yup yvonne yvr yyj yyz zero zone zoom zurich 0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 @@ -53,11 +53,11 @@ You may have noticed that the vocabulary size is the same as we saw in Challenge Let's take a look the document where a term has the highest *tf-idf* values. We'll use the *.idxmax()* method to find the index. -~~~ +~~~javascript # Retrieve the index of the document tfidf.idxmax() ~~~ -~~~ +~~~javascript aa 10077 aadv 9285 aadvantage 9974 @@ -73,21 +73,21 @@ Length: 3571, dtype: int64 ~~~ For example, the term "worst" occurs most distinctively in the 918th tweet. -~~~ +~~~javascript tfidf.idxmax()['worst'] np.int64(918) ~~~ Recall that this is the tweet where the word "worst" appears six times! -~~~ +~~~javascript tweets['text_processed'].iloc[918] "USER is the worst. worst reservation policies. worst costumer service. worst worst worst. congrats, USER you're not that bad!" ~~~ How about "cancel"? Let's take a look at another example. -~~~ +~~~javascript tfidf.idxmax()['cancel'] np.int64(5945) ~~~ -~~~ +~~~javascript tweets['text_processed'].iloc[5945] 'USER cancelled flighted 😢' ~~~ @@ -108,17 +108,17 @@ We've provided the following starter code to guide you: Next, run pos.plot and neg.plot to plot the words with the highest mean *tf-idf* scores for each subset. -~~~ +~~~javascript # Complete the boolean masks positive_index = tweets[tweets['airline_sentiment'] == 'positive'].index negative_index = tweets[tweets['airline_sentiment'] == 'negative'].index ~~~ -~~~ +~~~javascript # Complete the following two lines pos = tfidf.loc[positive_index].mean().sort_values(ascending=False).head(10) neg = tfidf.loc[negative_index].mean().sort_values(ascending=False).head(10) ~~~ -~~~ +~~~javascript pos.plot(kind='barh', ………….xlim=(0, 0.18), ………….color='cornflowerblue', @@ -127,7 +127,7 @@ pos.plot(kind='barh', ![Reto2 2](https://github.com/user-attachments/assets/a8ce6b0a-4480-4ec6-95a3-f757eafadd70) -~~~ +~~~javascript neg.plot(kind='barh', .………….xlim=(0, 0.18), .………….color='darksalmon', @@ -150,10 +150,10 @@ Para solucionar esto, utilizamos un esquema de ponderación llamado *tf-idf* (t En esencia, la puntuación *tf-idf* de una palabra en un documento es el producto de dos componentes: la frecuencia de término *(tf)* y la frecuencia inversa de documento *(idf)*. La *idf* actúa como un factor de escala. Si una palabra aparece en todos los documentos, la *idf* es igual a 1. No se produce escala. Sin embargo, la *idf* suele ser mayor que 1, que es el peso que asignamos a la palabra para aumentar la puntuación *tf-idf* y destacar su carácter informativo. En la práctica, sumamos 1 tanto al denominador como al numerador (add-1 smooth) para evitar problemas con cero ocurrencias. También podemos crear un DTM *tf-idf* usando sklearn. En esta ocasión, usaremos *TfidfVectorizer*: -~~~ +~~~javascript from sklearn.feature_extraction.text import TfidfVectorizer ~~~ -~~~ +~~~javascript # Create a tfidf vectorizer vectorizer = TfidfVectorizer(lowercase=True, …………………………………..stop_words='english' @@ -161,21 +161,21 @@ vectorizer = TfidfVectorizer(lowercase=True, …………………………………..max_df=0.95, …………………………………..max_features=None) ~~~ -~~~ +~~~javascript # Fit and transform tf_dtm = vectorizer.fit_transform(tweets['text_lemmatized']) tf_dtm ~~~ * -~~~ +~~~javascript # Create a tf-idf dataframe tfidf = pd.DataFrame(tf_dtm.todense(), ……………………………columns=vectorizer.get_feature_names_out(), ……………………………index=tweets.index) tfidf.head() ~~~ -~~~ +~~~javascript aa aadv aadvantage aal abandon abc ability able aboard abq ... yummy yup yvonne yvr yyj yyz zero zone zoom zurich 0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 @@ -189,11 +189,11 @@ Quizás hayas notado que el tamaño del vocabulario es el mismo que vimos en el # Interpretar valores de TF-IDF Analicemos el documento donde un término tiene los valores de *tf-idf* más altos. Usaremos el método *.idxmax()* para encontrar el índice. -~~~ +~~~javascript # Retrieve the index of the document tfidf.idxmax() ~~~ -~~~ +~~~javascript aa 10077 aadv 9285 aadvantage 9974 @@ -208,21 +208,21 @@ zurich 10622 Length: 3571, dtype: int64 ~~~ Por ejemplo, el término "peor" aparece de forma más clara en el tweet número 918th. -~~~ +~~~javascript tfidf.idxmax()['worst'] np.int64(918) ~~~ ¡Recordemos que este es el tweet donde la palabra “peor” aparece seis veces! -~~~ +~~~javascript tweets['text_processed'].iloc[918] "USER is the worst. worst reservation policies. worst costumer service. worst worst worst. congrats, USER you're not that bad!" ~~~ ¿Qué tal "Cancelar"? Veamos otro ejemplo. -~~~ +~~~javascript tfidf.idxmax()['cancel'] np.int64(5945) ~~~ -~~~ +~~~javascript tweets['text_processed'].iloc[5945] 'USER cancelled flighted 😢' ~~~ @@ -238,24 +238,24 @@ Hemos proporcionado el siguiente código de inicio como guía: - Obtenga los 10 términos principales con .head() A continuación, ejecute *pos.plot* y *neg.plot* para representar gráficamente las palabras con las puntuaciones medias *tf-idf* más altas para cada subconjunto. -~~~ +~~~javascript # Complete the boolean masks positive_index = tweets[tweets['airline_sentiment'] == 'positive'].index negative_index = tweets[tweets['airline_sentiment'] == 'negative'].index ~~~ -~~~ +~~~javascript # Complete the following two lines pos = tfidf.loc[positive_index].mean().sort_values(ascending=False).head(10) neg = tfidf.loc[negative_index].mean().sort_values(ascending=False).head(10) ~~~ -~~~ +~~~javascript pos.plot(kind='barh', ………….xlim=(0, 0.18), ………….color='cornflowerblue', ………….title='Top 10 terms with the highest mean tf-idf values for positive tweets'); ~~~ ![Reto2 2](https://github.com/user-attachments/assets/a8ce6b0a-4480-4ec6-95a3-f757eafadd70) -~~~ +~~~javascript neg.plot(kind='barh', .………….xlim=(0, 0.18), .………….color='darksalmon',