Categories
Análisis de contenido Visualización

Analizar un corpus de Twitter con Voyant (I)

La primera etapa del trabajo con datos es conocer con qué corpus se va a trabajar. Nuestro proyecto, por ejemplo, se interesa especialmente por el contexto lingüístico y humanístico sobre el discurso que se generó en Twitter debido a la pandemia de Covid-19. Algunas preguntas que nos hicimos, desde el inicio, incluyen la proporción de información diaria acerca del corpus, las palabras más utilizadas, la ocurrencia de términos y la comparación cronológica, geográfica y lingüística.

El enorme volumen de datos hace que la lectura humana sea imposible. Afortunadamente, el aprendizaje automático contribuye a que los humanistas comprendan aspectos fundamentales del corpus y, que puedan desarrollar preguntas más críticas para la investigación. Sin embargo, emplear métodos digitales en las Humanidades no equivale a reemplazar con software la lectura humana. La informática hace factible operaciones que de otro modo requerirían mucho tiempo o serían inimaginables, mostrando relaciones y patrones de un gran volumen de datos. Por lo cual, los humanistas digitales aplican el análisis crítico y su experticia en las Humanidades para procurar que estos patrones y sus implicaciones tengan sentido. En otras palabras, a través de las computadoras podemos trabajar en un método de reconocimiento de información esencial sobre grandes volúmenes de texto que la lectura manual no puede alcanzar o detectar por sí sola. Los resultados que se generan son solo el comienzo de cada proyecto de HD y no el resultado final. El análisis humano y el conocimiento de Humanidades siguen siendo el núcleo de la labor en HD.

Voyant Tools es una de las herramientas que utilizamos para obtener una vista general de nuestro corpus. Se trata de un software en línea, útil para el análisis de grandes cantidades de textos, que cuenta con funciones como la comparación de corpus, cuantificación de frecuencia de palabras, análisis de ocurrencias, interpretación de términos clave, etc. No requiere instalación y es compatible con la mayoría de los sistemas operativos. A continuación, se presenta un ejemplo, o más bien un ensayo del trabajo con Voyant Tools para llevar a cabo las primeras exploraciones textuales con nuestro corpus, que se actualiza diariamente y se encuentra disponible en https://github.com/dh-miami/narratives_covid19/tree/master/twitter-corpus (consulta nuestro anterior post en ¿Cómo hidratar un conjunto de Tweets?).

Para ello, seleccionamos el corpus de tweets en inglés sobre Florida del 28 de abril de 2020, el día en que el total de casos en los EE. UU. alcanzó el millón. Voyant Tools lee archivos de texto plano (txt.) ya sea pegándolo en el cuadro de diálogo o subiendo un archivo. Los resultados que obtuvimos después de subir el corpus hidratado son los siguientes:

Captura de pantalla que muestra todos los resultados obtenidos

A partir de la lectura del resumen, sabemos que el 28 de abril, nuestro corpus consta de 21.878 palabras, de las cuales 4.955 son únicas. La densidad del vocabulario se calcula dividiendo el número de palabras únicas por el número de palabras totales. Cuanto más cerca de 1, más denso y diverso es el corpus. Con un índice de densidad de 0,226, podemos saber que el corpus no es tan diverso a esa fecha. Una vez que ejecutemos las evaluaciones de toda la muestra de nuestros datos, comprenderemos si esta densidad es una norma en todo el corpus o un hallazgo significativo.

Resumen del corpus en inglés del 28 de abril en Florida

Asimismo, podemos ver que las palabras, como user y url, que figuran en todos los textos de Twitter no poseen significado alguno, y solo distraen los resultados de las más frecuentes, así como los cirrus. Podemos remover estos términos haciendo clic en definir opciones para esta herramienta en la esquina superior derecha del cuadro de cirrus, editando la lista de palabras excluidas. Voyant dispone de una lista predeterminada de palabras excluidas (stopwords): esta función detecta y elimina automáticamente dichos términos. Para llevar un registro de sus resultados, es mejor mantener una lista propia de las palabras suprimidas.

El siguiente es el nuevo cirrus después de eliminar user y url.

Visualización de Cirrus con los 45 términos más frecuentes

Las 5 palabras más frecuentes en el corpus fueron “covid19” (844 ocurrencias), “coronavirus” (77), “pandemic” (77), “people” (57) y “help” (51 ocurrencias). Como nuestra colección completa de tweets trata sobre la pandemia Covid-19, es probable que las palabras “covid19”, “coronavirus” y “pandemic” aparezcan en la mayoría de los corpus diarios. Para ver más de cerca el aspecto del 28 de abril, eliminamos estos términos y generamos un nuevo gráfico de cirrus.

Las 45 palabras más frecuentes excluyendo “covid19”, “coronavirus” y “pandemic”

Finalmente, estas son las 5 palabras más frecuentes: “people” (57 registros), “help” (51), “new” (45), “just”(44 ) y “testing” (44 registros). Basándonos en estas palabras, podemos especular que los nuevos casos y los temas relacionados con los testeos fueron una parte significativa en las conversaciones del 28 de abril. En nuestros próximos posteos, seguiremos registrando las palabras más frecuentes de cada día y analizando otras funcionalidades de Voyant Tools.

Categories
Limpieza de datos Métodos

¿Cómo hidratar un conjunto de Tweets?

El discurso público generado en Twitter es uno de los principales focos de atención en nuestro proyecto de investigación. Asimismo, la gran cantidad de datos de Twitter ha atraído el interés de investigadores de disciplinas y campos diversos para explorar diferentes aspectos de la sociedad. Esta entrada se concibe a modo de tutorial sobre cómo usar DocNow Hydrator con el fin de “hidratar” los tweets. Nuestro proyecto, como ya hemos indicado, está ofreciendo una serie de datasets o conjuntos de datos, que recogen tweets relacionados con la Covid-19 y que pueden ser descargados desde nuestro respositorio de GitHub.

Debido a los términos de desarrollo de Twitter y a la ética de investigación, la mayoría de los TweetSets (conjunto de datos de Twitter) que podemos extraer de la Interfaz de Programación de Aplicaciones (API) de Twitter así como de las bases de datos de terceros son tweets “deshidratados”. En otras palabras, en lugar de recopilar el contenido de los tweets, las geolocalizaciones, el tiempo, las imágenes y otra información sobre los tweets, lo que los investigadores obtienen es un archivo de texto plano que consiste en una lista de identificadores únicos de cada uno de los tweets (tweets IDs). Estos IDs permiten recuperar todos los metadatos del tweet, incluyendo el texto, y deben ser “hidratados” para recuperar los metadatos y convertirse en una fuente significativa de investigación. El gran tamaño de los metadatos relacionados con cada uno los tweets es una de las razones principales por las que los datasets ofrecen solo identificadores “deshidratados”. Así, un archivo que ofrece sólo una serie de números (IDs) es mucho más manejable que, por ejemplo, una hoja csv con miles de tweets con sus metadatos.

Una muestra de identificadores de tweet (IDs) deshidratados.

DocNow Hydrator es un programa de código abierto utilizado para hidratar las identificadores de los tweets, y puede descargarse desde Github. Antes de comenzar a utilizar Hydrator debemos vincular nuestra cuenta de Twitter en “Settings” (Configuración).

Página “Configuración” de Hydrator para vincular la cuenta de Twitter

Una vez que Hydrator está configurado, puedes subir tu archivo de identificadores de tweets. En nuestro caso, utilizamos nuestro conjunto de datos sobre las Narrativas Digitales de la Covid-19, que actualizamos diariamente.

La pestaña “Add” (añadir) de Hydrator se utiliza para subir archivos de tweet IDs

Si tu archivo ha sido procesado correctamente, Hydrator te mostrará la ruta del archivo y calculará el número total de tweet IDs detectados. En “Title” (título) puedes renombrar el archivo hidratado, mientras que el resto de las casillas pueden ser ignoradas. Luego haz clic en “Add dataset” (añadir conjunto de datos).

Después de subir un archivo de tweet IDs.

Haz clic en “Start” para hidratar las tweet IDs.

El nuevo conjunto de datos generado “COVID0401” está disponible en la pestaña “Datasets”.

Aparecerá una nueva pestaña que te solicitará ubicación y nombre para el archivo de tweets IDs hidratados. Hydrator generará un archivo .json por defecto. Convertir el documento en un archivo .csv lo hará más accesible para ser consultado por Excel u otros procesadores de archivos.

Guarda el documento hidratado en formato .csv y selecciona la ubicación para almacenarlo.

Hydrator comenzará el proceso de hidratación. El tiempo de ejecución dependerá de la cantidad de tweet IDs.

La barra de progreso se pondrá verde cuando se complete la hidratación.

El archivo .csv completo presentará toda la información relacionada a los tweet IDs originales.

Por motivos de privacidad, no mostramos el contenido específico del archivo hidratado

Con ello, los investigadores pueden analizar geolocalizaciones, imágenes, emojis, el discurso delos tweets, hashtags, información temporal, así como otra relacionada con metadatos. Si utilizas nuestro conjunto de datos, nos gustaría mucho que compartieras tu experiencia con nosotros. !Síguenos en nuestro blog y gracias por mantenerte al día con nuestro proyecto!

Categories
Content Analysis Visualization

Analyzing a Twitter Corpus with Voyant (I)

The first step of working with data is to get to know your corpus. Our project, for instance, is most concerned with the linguistic and humanistic contexts in the Twitter discourses generated by the Covid-19 pandemic. Some starting “get-to-know-you” questions we are interested in about our corpus include the trend of daily corpus length, most frequently used words, term co-occurrence, and corpus comparisons by time, locations, and languages.

The large size of data makes manual reading merely impossible. Machine learning, thankfully, assists humanists in understanding key characters of the corpus and, in turn, developing analytical questions for research. Employing digital methods, however, in the humanities does not equate replacing human reading with software. The computer can make otherwise time-consuming, or unimaginable, tasks feasible by showing relationships and patterns in big data. Digital humanists then apply critical analysis and expertise in the humanities to attempt to make sense of these patterns and their broader implications. In other words, machines provide a new method to observe crucial information about large-scale texts that manual reading alone cannot accomplish or detect. The results machines generate is just the beginning of every DH project instead of the output. Human analysis and humanities knowledge remain at the core of DH scholarship.

Voyant is one of the tools we use to capture a snapshot of our corpus. It is a web-based software for large-scale text analysis, including functions of corpus comparisons, counting word frequencies, analyzing co-occurrence, interpreting key topics, etc. It does not require installment and is compatible with most machines. Here is a tutorial, or rather an experiment, of working with Voyant to conduct initial textual explorations with our corpus, updated on a daily basis and available at: https://github.com/dh-miami/narratives_covid19/tree/master/twitter-corpus (check our previous post on Hydrating TweetingSets)

For this tutorial, we selected the English corpus in Florida on April 28, 2020, the day total cases in the U.S. reached the one million mark. Voyant reads plain text (txt.) files either by pasting in the dialogue box or uploading your file. Here are the initial results we got after uploading the hydrated corpus.

Dashboard displaying all patterns observed

Beginning by reading the summary, we know that on April 28, our corpus consists of 21,878 words, of which 4,955 are unique. Vocabulary density is calculated by dividing the number of unique words by the number of total words. The closer to 1 the denser and diverse the corpus is. With a density index number of 0.226, we can know that the corpus is not so diverse on April 28. Once we run tests on the entire collection of our data we will then make sense of whether this density is a norm throughout the entire corpus or a significant finding.

Summary of the April 28 English corpus in Florida

We can also see that empty words, such as “user” and “url,” which are in every Twitter document and do not hold any significance, are distracting the results of most frequent words as well as the cirrus. We can remove these terms by clicking “define options for this tool” on the top-right corner of the cirrus box and by editing the stop word list. Voyant has the function to automatically detect and remove a default list of stop words. To keep a clear record of your results, it is best to keep a list of the words you remove. Here is the new cirrus graph after removing “user” and “url.”

Cirrus visualization with top 45 most frequent terms

The top 5 most frequent words in the corpus are “covid19” (844 counts,) “coronavirus” (77 counts,) “pandemic” (77 counts,) “people” (57 counts,) and “help” (51 counts.) Since our entire collection of tweets are about the Covid-19 pandemic, words include “covid19,” “coronavirus,” and “pandemic” are likely to appear in most daily corpus. To get a closer look at what the corpus on April 28 looks like, we removed these consistent thematic words and generated a new cirrus graph.

Top 45 most frequent words excluding “covid19,” “coronavirus,” and “pandemic”

The new top 5 most frequent words are “people” (57 counts,) “help” (51 counts,) “new” (45 counts,) “just”(44 counts,) and “testing” (44 counts.) Based on these words we can speculate that new cases and testing related topics took a significant portion of the April 28 data. We will keep track of the daily most frequent words, explore other Voyant features, and analyze the larger trend for the next steps.

Categories
Cleanup Methods

How to “hydrate” a TweetSet?

Twitter public discourse is one of our project’s primary research concerns. Twitter’s rich data has also drawn more and more researchers from various disciplines and fields to explore different aspects of society. This blog post serves as a tutorial of using DocNow Hydrator to “hydrate” tweets. Our project, as we explained, is offering a series of datasets on Covid-19 that can be downloaded onfrom our GithHub repo.

Due to Twitter’s Developer terms and research ethics, most TweetSets we can acquire from Twitter’s Application Programming Interface (API) and third-party databases are dehydrated tweets. In other words, instead of collecting tweet contents, geolocations, time, images, and other attached information to tweets, what researchers would initially receive is a plain text file consisting of a list of unique tweet IDs. These IDs allow us to retrieve all tweet metadata, including the text, and they need to be “hydrated” to recover the metadata and to become meaningful research sources. The large size of tweets’ correlated data is another reason why datasets offer only dehydrated IDs. Thus, a file containing only a series of numbers (IDs) is much manageable than, for example, a csv file with thousands of tweets with their metadata.

A sample of dehydrated Twitter IDs

DocNow Hydrator is a commonly used open-source software to hydrate tweet IDs and can be downloaded for free on Github. You need to link to your Twitter account in “Settings” before using Hydrator.

Hydrator “Settings” page to link Twitter account

Once your Hydrator is set up, you can upload your tweet IDs file to Hydrator. In our case, we use the Covid-19 dataset from our Digital Narratives project’s GitHub repo, which we update on a daily basis:

Hydrator “Add” tab to upload Tweet ID files

If your file has been processed correctly, Hydrator would display your file path and compute the total number of tweet IDs detected. In “Title” you can rename your hydrated file, while the rest of the boxes can be ignored. Then click “Add Dataset.”

After uploading a tweet ID file

Click “Start” to hydrate the tweet IDs.

The newly generated dataset “COVID0401” is now available under the “Datasets” tab.

A new window would pop up and ask you to locate and name your hydrated tweet IDs file. Hydrator will generate a .json file by default. Making your document a .csv file makes it more easily assessable by Excel and other file readers.

Saving the hydrated document in .csv format and selecting the correct location to store

Hydrator will then begin the hydration process. Completion time depends on the number of tweet IDs.

The progress bar will be filled with green when hydration is completed.

The completed .csv file now displays all the correlated information of the original tweet IDs.

Due to privacy concerns, we are not displaying the specific contents of the hydrated file

Researchers then can analyze geolocations, images, emoji’s, tweet discourse, hashtags, time, and other correlated information and metadata for various purposes. If you use our dataset, please keep us updated and please feel free to share your valuable feedback and suggestions with us. Stay tuned and thank you for keeping up with our project.