After 10 busy weeks, our project is complete! We’re proud to have worked with the Food Bank to better understand this important policy issue.
Let’s recap what we’ve accomplished and why.
The Atlanta Community Food Bank (ACFB) aspires to eliminate hunger in its service area by 2025, and to help achieve this goal, the food bank is raising awareness about SNAP among its clients and donors. SNAP is a federal program that helps low income families purchase food. The food bank asked us to gauge public opinion on SNAP and to determine what sort of arguments were being made for and against SNAP. They were also interested in learning about Georgia politicians’ opinions on SNAP. To analyze public opinion, we examined twitter data and news articles. To track politicians opinions, we created a tool that allows the Food Bank to see local politicians voting records on bills related to food insecurity. We analyzed the sentiment of the tweets and news articles and visualized our results to show how sentiment changed in response to current events. We also used the data to create a map that showed our sentiment varies across different news outlets. We displayed our results in an R Shiny web app that is accessible to the food bank and the public.
Sentiment analysis is a form of text analysis that determines the subjectivity, polarity (positive or negative) and polarity strength (weakly positive, mildly positive, strongly positive, etc.) of a text . In other words, sentiment analysis tries to gauge the tone of the writer. To conduct our sentiment analysis, we scraped news articles and tweets that contained key words such as “SNAP”, “food stamps”, and “EBT”.
The Vader and AFINN packages in Python were used to conduct unsupervised sentiment analysis. Vader is short for Valence Aware Dictionary Sentiment Reasoner,and is a lexicon and rule-based sentiment analysis tool. AFINN is a dictionary of words that rates connotation severity from -5 to 5. The actual sentiment score was given as the sum of the word score within a sentence. The Vader tool gauges the overall syntactical sentiment more so than the word usage. Conversely, AFINN gauges the type of words that are being used and their intensity. Additionally, sentences with key words (words relating to SNAP) were given a higher weight so that sentiment towards this issue would be amplified.Each article was tokenized to the sentence level, and each sentence was given a sentiment score according to the two sentiment analysis tools. Then, the scores were aggregated for each article with the weight that was assigned to each sentence. This aggregated score represents the sentiment of the article. To take into account of impact of the article, each article was then aggregated in regards to the traffic level of the website and the reading level of the article. This process is visualized below.
Additionally, information on the arguments and topics in these articles would be very useful to the ACFB. To do this, preliminary topic modeling (Latent Dirichlet Allocation) has been performed to extract the topical words from the set of text. It returns a set of words with probabilistic weight on each of the word to indicate its importance. Bigram collocation has been used to detect sets of two words that are most frequent and meaningful. Term frequency inverse document frequency (TFIDF) was used to detect important words across all the documents. Name Entity Recognition (NER) from the Stanford Natural Language Processing Group and gensim were used to detected key people or locations mentioned in the articles. After generating all the statistics, each word within TFIDF, bigram collocation and NER was multiplied with the weight that was computed with each of the documents. Then, all the words were aggregated into a list. Using this list, a word cloud can be generated to visualize meaningful words. Word clouds are especially of interest to our partners at the food bank. Along with the word cloud, its aggregation by each date will help the viewer understand the subject of the sentiment to better decipher the public opinion about SNAP.
The AFINN and Vader scores were linked to the geocoded new outlets. Using ArcMap 10.4, spatial analysis was conducted on the outlets to determine whether there was any clustering of articles that had positive or negative sentiment about SNAP. In order to do this, a hexagon grid was created over the extent of a U.S. shapefile and a spatial join was conducted in order to join the number of news outlets to the hexagon polygons. After the spatial join, hot spot analysis was done by calculating the Getis-Ord Gi* statistic. The Getis-Ord Gi* statistic determines where there is clustering of cold spots and hot spots though looking at the location of features in relation to neighboring features
The outputs of the Getis-Ord Gi* statistic are z-scores and areas that have statistically significant high z-scores are hot spots while areas that have statistically significant low z-scores are areas that are cold spots. Significance is determined based on looking at the proportion of the local sum of features and its neighbors to all the features. If the difference between the calculated sum and the expected sum is very large, then the z-score is statistically significant . In the context of this research, hot spots are areas in which the articles have a positive sentiment on SNAP and cold spots are areas in which the articles have a negative sentiment on SNAP.
Politician Tracking Tool
The voting records of Georgia state representatives were collected through Open States, a site that collects data on state representatives. Bills were selected if they contained the phrases “food stamps”, “SNAP”, “food bank”, “food desert,” “hunger,” “food insecurity,” or “georgia peach card”. Bills with no votes were removed, and votes by representatives no longer in office were removed.
On the web app, user can select what chamber of the Georgia General Assembly they want (House or Senate). Then, they can choose a politician to learn about. The web app will then display the legislator’s voting record on bills relating to food stamps, and will link the user to further resources such as the text of the bills and a link to the legislator’s site.
The food bank is planning on using our tools to inform their interaction with media outlets, to prepare for meetings with politicians, and to adjust their social media and outreach messaging.
We are proud to have been able to work alongside the food bank to create this web app. Frequent feedback and discussions with the Atlanta Community Food Bank helped us to shape our project to suit their needs.
We thank our mentor, Carl DiSalvo, Associate Professor and Coordinator for the MS in Human-Computer Interaction at Georgia Tech for his guidance and advice. We also thank our Food Bank partners Lauren Waits, Director of Government Affairs; Allison Young, Marketing Manager; and Jocelyn Leitch, Data and Insights Analyst; for educating us about food policy, food insecurity in Atlanta and across the nation, and the work of the Atlanta Community Food Bank. Finally, we would like to thank the staff and students participating in the Data Science for Social Good – Atlanta program for their support and assistance.