Natural Language Processing for Apple Podcast Reviews of Politics/News-oriented NPR Podcasts

Posted on May 14, 2019

Apple Podcasts, the most popular podcast streaming platform on the web, used to provide very little information concerning analytics to the users hosting podcasts on its website. As a result, a podcast’s user reviews and ratings became central to its marketing. Hosts and guests alike will ask listeners to rate and review podcasts on iTunes, Stitcher, and wherever else they listen in order to hopefully sell an ad.

This lack of analytics is no longer the case. In June 2017, Apple announced it would finally roll out a feature for its uploading users to track their respective analytics. However, the information provided is still limited, and the practice of marketing based on user reviews and ratings is still in full effect.

National Public Radio isn’t necessarily in need of selling ads on its podcasts, but given how prolific the organization is in the digital audio industry, I thought it would be fun to scrape the user reviews for news and politics NPR podcasts and go through their contents with a little natural language processing to see if there was a difference in the subjectivity and polarity of each show's review.

I used a Python library called Selenium to scrape the website. I had to use Selenium because the webpage loaded in an infinite scroll. There were no page buttons to push. Rather, more reviews showed up the further down the page you scroll.

I scraped the username, review title, review body, rating, and review date of each respective review. I scraped reviews for NPR Politics, Here and Now, Fresh Air, Embedded, NPR News Now, 1A, Up First, and Latino USA.

I scraped individual datasets for each and then combined them into a total .csv file at the end for analysis. I then preprocessed the data by adding common words I found in reviews that had little to do with the sentiment to a list of stop words, removing all punctuation, and lowercasing every word.

I then created word clouds that showcased the most commonly used terms in the total dataset and for each of the individual podcasts. I also determined the subjectivity and polarity of the total dataset and each of the individual podcasts.

Also, just for fun, I did all the above for only the one-star reviews.

The most surprising insight I gleaned was that the one-star reviews for each of the podcasts were surprisingly positive and objective. I attributed this to a few things. First, many of the one-star reviews were rated so low due to technical issues such as podcasts being uploaded to the incorrect feeds. This would make sense given the average age of NPR’s audience, even its digital audience.

The other reason so many of the one-star reviews weren’t particularly negative is that often times the one-star reviews included language that was very positive. For instance, the first one-star review on the day I scraped began with the words “I love this podcast”. Many of them would go on to point out one very specific error that irked them.

All in all, if NPR wanted to advertise more on its podcasts, none of my findings would indicate they would have a problem doing so. In fact, my findings might even bolster a potential ad sale.

About Author

Christopher Castano

After graduating with a B.A. in History and Journalism from Georgetown University, Chris went to work in the digital media industry as a producer for a video-driven news website called Circa. After having been handed loads of data...
View all posts by Christopher Castano >

Related Articles

Leave a Comment

No comments found.

View Posts by Categories

Our Recent Popular Posts

View Posts by Tags

#python #trainwithnycdsa 2019 airbnb Alex Baransky alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus API Application artist aws beautiful soup Best Bootcamp Best Data Science 2019 Best Data Science Bootcamp Best Data Science Bootcamp 2020 Best Ranked Big Data Book Launch Book-Signing bootcamp Bootcamp Alumni Bootcamp Prep Bundles California Cancer Research capstone Career Career Day citibike clustering Coding Course Demo Course Report D3.js data Data Analyst data science Data Science Academy Data Science Bootcamp Data science jobs Data Science Reviews Data Scientist Data Scientist Jobs data visualization Deep Learning Demo Day Discount dplyr employer networking feature engineering Finance Financial Data Science Flask gbm Get Hired ggplot2 googleVis Hadoop higgs boson Hiring hiring partner events Hiring Partners Industry Experts Instructor Blog Instructor Interview Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter lasso regression Lead Data Scienctist Lead Data Scientist leaflet linear regression Logistic Regression machine learning Maps matplotlib Medical Research Meet the team meetup Networking neural network Neural networks New Courses nlp NYC NYC Data Science nyc data science academy NYC Open Data NYCDSA NYCDSA Alumni Online Online Bootcamp Online Training Open Data painter pandas Part-time Portfolio Development prediction Prework Programming PwC python Python Data Analysis python machine learning python scrapy python web scraping python webscraping Python Workshop R R language R Programming R Shiny r studio R Visualization R Workshop R-bloggers random forest Ranking recommendation recommendation system regression Remote remote data science bootcamp Scrapy scrapy visualization seaborn Selenium sentiment analysis Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau team TensorFlow Testimonial tf-idf Top Data Science Bootcamp twitter visualization web scraping Weekend Course What to expect word cloud word2vec XGBoost yelp