diff --git a/Recommendation Models/Podcast Recommendation System/README.md b/Recommendation Models/Podcast Recommendation System/README.md new file mode 100644 index 000000000..51769bbcb --- /dev/null +++ b/Recommendation Models/Podcast Recommendation System/README.md @@ -0,0 +1,275 @@ +# Podcast Recommendation Engine + +:microphone: Building a content-based podcast recommender system using NLP + +## Overview +With the [growth of podcasting](https://www.nytimes.com/2019/03/06/business/media/podcast-growth.html) over the past few years, it becomes increasingly difficult for users to discover new podcasts they may enjoy. Listeners may have a handful of regular podcasts they listen to and are usually reluctant or hesitant in listening to something new. Unlike with music or movies, users can't listen to the first 10 seconds or scrub through a preview to see if they like a particular podcast. Podcasts are usually long and topics per podcast vary greatly, which adds to the challenge of matching users to podcasts they might enjoy. Additionally, due to the sheer volume of podcasts and podcast episodes, it's near impossible for users to scour through them all to find the podcast they like. + +However, we can potentially aggregate metadata about podcasts that a user does like and employ various NLP techniques to recommend new, similar podcasts that they may enjoy. + +### Content-Based Recommendation Systems +A **content-based recommendation system** is one main type of recommender systems that is used to provide recommendations to a user. This type of recommendation system takes in a user's information and preferences and picks items to recommend that are similar in content. With continually growing podcast database, a content-based recommendation engine could select a subset of podcasts (or even specific podcast episodes) and determine an order in which to display them to a user. Based on a user profile, this system could analyze podcast descriptions and identify podcasts that are similar to the user's preferences. + +More information regarding content-based recommender systems and other recommender systems can be found [here](https://www.quora.com/What-are-the-types-of-recommender-system). + + + +### Measuring Similarity +After building a user's profiles, we must establish a notion of similarity between what a user likes and potential recommendations. For instance, if a user provides a particular podcast that he or she likes, we have to find some way of finding similar podcasts. + +Given a particular podcast, we can gather important textual information about that podcast (title, description, episode titles, episode descriptions, etc.). Then, we must compare it with every other podcast in a database and return a list of podcasts that are "similar." + +There are many techniques to measure similarities between text, and one logical technique is counting the number of common words between two documents. However, an inherent flaw in this method is that number of common words will naturally increase as document sizes increase even if two documents talk about different topics. + +However, another popular and common way of measuring similarity irrespective of text size is to consider the **cosine similarity** between two bodies of text. Since we can represent a set of words as a vector, we can measure the cosine of the angle between two vectors projected on an n-dimensional vector space. Unlike the *Euclidean distance* (number of common words) approach, which measures the magnitude between two vectors, we are now considering the angle. + + + +More information regarding cosine similarity can be found [here](https://www.machinelearningplus.com/nlp/cosine-similarity/). + +## Data and Features +Since I couldn't find any publicly available podcast dataset or any APIs to retrieve podcast information, I decided to scrape Apple Podcasts and build a custom dataset myself. + +Using a Python web scrapper, I iterated through every Apple Podcast main genre [category](https://podcasts.apple.com/us/genre/podcasts/id26) (i.e. Arts, Business, Comedy, etc.) collecting podcast details for each podcast under "Popular Podcasts" ([example](https://podcasts.apple.com/us/genre/podcasts-comedy/id1303)). + +After data collection, I complied a DataFrame with approx. 4300 podcasts. + +For each podcast, I collected the following features: +- Title (text) +- Producer (text) +- Unique Genre (text) +- Description (text) +- Number of Episodes (number) +- Rating (number) +- Number of Reviews (number) +- Episode Titles (for up to the last 6 recent podcasts) (text) +- Episode Descriptions (for up to the last 6 recent podcasts) (text) + +*Note: I collected this data around November 2019, so the data is subject to change. The episode titles and episode descriptions will most likely change by the time you are reading this.* + +## Exploratory Data Analysis + + + +From the graph above, we can tell that Apple lists roughly the same number (~235) of "Popular Podcasts" per genre. So, for a given individual who has a favorite podcast in a particular genre, it becomes very difficult for that individual to search for similar, enjoyable podcasts. A user is faced with the burden of navigating through a large volume of podcasts not only within a specific genre but also across genres just to find something that they might like. + +### Ratings & Reviews + + +The above table shows the average rating (out of 5) among all "Popular Podcasts" on iTunes per genre. The range of the average ratings is roughly 0.23, which is too small to say anything about a dominating, popular category. Also, it makes sense for iTunes to only display podcasts with high ratings under "Popular Podcasts." + +So, it doesn't make logical sense to recommend a podcast genre to a user solely based on ratings because all the ratings are high. Also, just recommending a podcast genre, once again, isn't helpful to a user because not only will the user already know what genre(s) he likes, but also needs to navigate roughly 235+ popular podcasts in any given genre to find a favorite. + + + + + +Both Fig. 2 and Fig. 3 shows us the average number of reviews and the median number of reviews per genre, respectively. Intuitively, it would make sense that using the average number of reviews is a skewed summary statistic because of dominating podcasts in any given genre (i.e. The Joe Rogan Experience podcast has 127,500 reviews). Therefore, it makes more sense to observe Fig. 3, which shows the median number of reviews per genre. + +Looking at Fig. 3, we can see that the top 3 highly reviewed podcast genres are Comedy, Society & Culture, and News. I am assuming that any highly reviewed podcast genre is a genre that is popular, relevant, and active. + +Although, Fig. 3 gives us insight as to what podcast genres are "buzzing," it doesn't help with the fact of recommending podcasts to a user for some of the following reasons: + + 1. Say a user likes a specific "Comedy" podcast. He knows he likes the "Comedy" genre and wants to find a new "Comedy" podcast. The average rating doesn't help because all the "Popular Podcasts" on iTunes are rated pretty high and too many reviews to read. + + 2. Say a user likes a specific "Government" podcast. The "Government" genre doesn't have an active community with many people reviewing podcasts, so the user has no way of knowing what podcast to listen to next, and he is not willing to scour through the ~240 "Popular Podcasts" listed on the "Government" podcast page. + + 3. Say a user likes a specific podcast in some genre. He wants to find a new podcast to listen to and he doesn't care about the genre. He just wants something similar to what he has been listening to. What can he do? + +All of these are possible situations a user can run into. So, the question arises can we build a model to recommend a podcast to a user based on what he podcast he likes or what he listened to in the past? + +### Understanding Genres +**Fig. 4: Word Cloud of All Genres** + + +The word cloud is an interesting visualization of the descriptions of all the "Popular Podcasts" across all the genres. The bigger words indicate what words are being used most frequently, universally across all podcast descriptions. + +Now let's take a look at how the word cloud changes if we solely focus on the "Comedy" genre. + +**Fig. 5: Word Cloud of Comedy Genre** + + +Looking at the "Comedy" genre word cloud, we can easily see some differences from the word cloud for all genres. Some common themes across the comedy genre include: "advice", "interview(s)", "relationship", "sex", and "conversation.". This tell us there are some common theme that are specific to certain genres. + +Let's look at one more genre: "News" just to see some interesting differences. + +**Fig. 6: Word Cloud of News Genre** + + +## Building a Recommender System using NLP + +### Text Pre-processing +Before building any recommendation model, I aggregated all the textual features and pre-processed the text by following these steps: + + 1. Removed mixed alphanumeric characters + 2. Removed any URLs + 3. Removed non-alphanumeric and non-space characters + 4. Tokenized text + 5. Removed custom stop words + 6. Stemmed text via [lemmatization](https://www.datacamp.com/community/tutorials/stemming-lemmatization-python) + +These are standard pre-processing techniques that I have read and learned about before. An explanation regarding most of these steps can be found [here](https://www.kdnuggets.com/2019/04/text-preprocessing-nlp-machine-learning.html). + +### Modeling Approach + +Most of the models I decided to build were inspired by this Medium [article](https://medium.com/@adriensieg/text-similarities-da019229c894) as well as other articles and research I read online, which I will later reference down below. + +Unlike a supervised learning model, there is no real way of validating the recommendations. So, I decided to select a small set of podcasts (ones that I listen to and other popular ones) and physically see if the model recommendations make logical sense. + +I selected the following podcasts to test: + - [The Daily](https://podcasts.apple.com/us/podcast/the-daily/id1200361736) (News) + - [Up First](https://podcasts.apple.com/us/podcast/up-first/id1222114325) (News) + - [VIEWS with David Dobrik and Jason Nash](https://podcasts.apple.com/us/podcast/views-with-david-dobrik-and-jason-nash/id1236778275) (Comedy) + - [Impaulsive with Logan Paul](https://podcasts.apple.com/us/podcast/impaulsive-with-logan-paul/id1442164847) (Comedy) + - [The Bill Simmons Podcast](https://podcasts.apple.com/us/podcast/the-bill-simmons-podcast/id1043699613) (Sports) + - [My Favorite Murder with Karen Kilgariff and Georgia Hardstark](https://podcasts.apple.com/us/podcast/my-favorite-murder-karen-kilgariff-georgia-hardstark/id1074507850) (True Crime) + - [This American Life](https://podcasts.apple.com/us/podcast/this-american-life/id201671138) (Society and Culture) + - [Joel Osteen Podcast](https://podcasts.apple.com/us/podcast/joel-osteen-podcast/id137254859) (Religion & Spirituality) + - [TED Radio Hour](https://podcasts.apple.com/us/podcast/ted-radio-hour/id523121474) (Technology) + - [Call Her Daddy](https://podcasts.apple.com/us/podcast/call-her-daddy/id1418960261) (Comedy) + - [Skip and Shannon: Undisputed](https://podcasts.apple.com/us/podcast/skip-and-shannon-undisputed/id1150088852) (Sports) + +My approach is to feed these selected podcasts into various recommendation engines, output the 10 most similar podcasts for each one, and manually verify if the recommendations *make sense*. Essentially, the model that performs the "best" is one that recommends other podcasts in maybe the same genre or same domain. + +It's important to note this is a *subjective* assessment and just because a podcast recommendation matches the same genre as the input doesn't necessarily mean that it is a good recommendation. A good recommendation has also to do with the content of the podcast itself, which I will try to assess given my domain knowledge in podcasts. + + +### Models +Each model follows a standard recipe: **Word Embedding + Cosine Similarity**. An **embedding** is an NLP technique to transform words into some type of vector representation. Different embedding methods will produce different numerical representations. Details regarding embedding methods can be found [here])https://www.analyticsvidhya.com/blog/2017/06/word-embeddings-count-word2veec/ and [here](https://www.kdnuggets.com/2019/10/beyond-word-embedding-document-embedding.html). + +The goal is to find a good embedding technique that clusters similar podcasts together so that the cosine distance between any two similarly clustered podcasts is low. + +#### 1. CountVectorizer (Bag-of-Words) + Cosine Similarity +The [Bag-of-Words](https://machinelearningmastery.com/prepare-text-data-machine-learning-scikit-learn/) model ignores the order of the information and only considers the frequency of words in a text. So, the CountVectorizer method identifies each unique word and builds a vocabulary of seen words. Then, each text document is transformed into a fixed-length vector (length of the vocabulary of known words) where each entry of the vector denotes the count of that word. + + + +``` +from sklearn.feature_extraction.text import CountVectorizer +from sklearn.metrics.pairwise import cosine_similarity + +cv = CountVectorizer() +cv_matrix = cv.fit_transform(podcasts_df["text"]) +cv_cosine_sim = cosine_similarity(cv_matrix) +``` + +#### 2. TFIDF + Cosine Similarity +[Term Frequency-Inverse Document Frequency (TF-IDF)](https://pathmind.com/wiki/bagofwords-tf-idf) works similarly to BoW, however, each entry of the fixed-length vector is now replaced with TF-IDF. TF-IDF is another type of calculation that gives each word in the text an assigned weight. First, the frequency of a term in a document is calculated (Term Frequency) and is penalized by that same term appearing in every other document. The idea is to penalize words that appear frequently in a text (i.e. "and" or "the") and given them less value. + + + +``` +from sklearn.feature_extraction.text import TfidfVectorizer + +tf = TfidfVectorizer() +tf_matrix = tf.fit_transform(podcasts_df["text"]) +tf_cosine_sim = cosine_similarity(tf_matrix) +``` + +#### 3. GloVe Embedding + Cosine Similarity +Developed by Stanford researchers, the [GloVe](https://nlp.stanford.edu/projects/glove/) embedding method attempts to capture semantic meaning in a vector space. In short, consider the ubiquitous [example](https://www.technologyreview.com/s/541356/king-man-woman-queen-the-marvelous-mathematics-of-computational-linguistics/): + +*king - man + woman = queen* + +GloVe is very similar to Word2Vec (which is another embedding method that precedes GloVe), but was built fundamentally different. GloVe (and Word2Vec) is much too long to explain, so I will reference the resources I used to learn about the two: + + * [GloVe](https://mlexplained.com/2018/04/29/paper-dissected-glove-global-vectors-for-word-representation-explained/) + * [Word2Vec](https://towardsdatascience.com/introduction-to-word-embedding-and-word2vec-652d0c2060fa) + +``` +from gensim.models import KeyedVectors + +glove_model = KeyedVectors.load_word2vec_format("../word2vec/glove.6B.50d.txt.word2vec") + +glove_mean_embedding_vectorizer = MeanEmbeddingVectorizer(glove_model) +glove_mean_embedded = glove_mean_embedding_vectorizer.fit_transform(podcasts_df['text']) +glove_cosine_sim = cosine_similarity(glove_mean_embedded) +``` + +#### 4. Custom Trained Word2Vec + Cosine Similarity +Either you can use a pre-trained word embedding, or you can train your Word2Vec embedding. Usually, training and building your own set of word vectors is a good approach for a domain-focused NLP project like this one. + +There are 2 approaches to training a Word2Vec model + * BoW + * skip-gram + +I decided to go with the skip-gram approach as it yields (in my opinion) better results. Also, according to [Mikolov](https://en.wikipedia.org/wiki/Tomas_Mikolov) (the inventor of Word2Vec), skip-gram works better with small training data. Details regarding these two methods can be found [here](https://stackoverflow.com/questions/38287772/cbow-v-s-skip-gram-why-invert-context-and-target-words)! + +``` +from gensim.models import Word2Vec +from nltk.tokenize import RegexpTokenizer + +text_list = list(podcasts_df.text) +tokenized_text = [tokenizer.tokenize(i) for i in text_list] + +w2v_model = Word2Vec(tokenized_text, sg=1) + +mean_embedding_vectorizer = MeanEmbeddingVectorizer(w2v_model) +mean_embedded = mean_embedding_vectorizer.fit_transform(podcasts_df['text']) +w2v_cosine_sim = cosine_similarity(mean_embedded) +``` + +This model performed the **best** in my opinion. + +**Podcast Word Embedding Visualizations** + + +*Each blue dot represents a word in a 2D vector space* + + +*Shows the clustering of similar words that were randomly chosen from the above graph* + +#### 5. Word2Vec + Smooth Inverse Frequency + Cosine Similarity *(an honest attempt)* +SIF is a technique to improve the Word2Vec embedding that was presented in this [research paper](https://openreview.net/pdf?id=SyK00v5xx). I followed the SIF implementation as explained in the paper and wrote some code with the help of some online [resources](https://github.com/kakshay21/sentence_embeddings). + +On a high level *(based on what I understood from what I read)*, SIF takes a weighted average of the word embeddings in a sentence, and it removes common components by subtracting out the embedding's first principal component in order minimize the weight given to irrelevant words. + +``` +from scipy.sparse.linalg import svds +from sklearn.decomposition import TruncatedSVD + +def remove_first_principal_component(X): + svd = TruncatedSVD(n_components=1, n_iter=7, random_state=0) + svd.fit(X) + pc = svd.components_ + XX = X - X.dot(pc.transpose()) * pc + return XX + +def smooth_inverse_frequency(sent, a=0.001, word2vec_model=w2v_model): + word_counter = {} + sentences = [] + total_count = 0 + no_of_sentences = 0 + + for s in sent: + for w in s: + if w in word_counter: + word_counter[w] = word_counter[w] + 1 + else: + word_counter[w] = 1 + total_count = total_count + len(s) + no_of_sentences = no_of_sentences + 1 + + sents_emd = [] + for s in sent: + sent_emd = [] + for word in s: + if word in word2vec_model: + emd = (a/(a + (word_counter[word]/total_count)))*word2vec_model[word] + sent_emd.append(emd) + sum_ = np.array(sent_emd).sum(axis=0) + sentence_emd = sum_/float(no_of_sentences) + sents_emd.append(sentence_emd) + + new_sents_emb = remove_first_principal_component(np.array(sents_emd)) + return new_sents_emb + +sif_text_emd = smooth_inverse_frequency(text_list) +sif_cosine_sim = cosine_similarity(sif_text_emd) +``` + +This model performed the **worst**, but I am not too sure if my understanding and implementation of this method were correct. + +## Results +From the models above, the **custom trained Word2Vec + cosine similarity** performed the best by recommending the most relevant, similar podcasts. + diff --git a/Recommendation Models/Podcast Recommendation System/notebooks/get_podcast_ep_data.ipynb b/Recommendation Models/Podcast Recommendation System/notebooks/get_podcast_ep_data.ipynb new file mode 100644 index 000000000..6eeee5eff --- /dev/null +++ b/Recommendation Models/Podcast Recommendation System/notebooks/get_podcast_ep_data.ipynb @@ -0,0 +1,11889 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import requests\n", + "import json\n", + "import re\n", + "import unidecode\n", + "import time\n", + "from tqdm import tqdm\n", + "from bs4 import BeautifulSoup\n", + "from selenium import webdriver" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# podcasts_df = pd.read_pickle(\"pickle_files/english_podcasts.pkl\")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# podcasts_df['episode_titles'] = None\n", + "# podcasts_df['episode_descriptions'] = None" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
| \n", + " | title | \n", + "producer | \n", + "genre | \n", + "description | \n", + "num_episodes | \n", + "rating | \n", + "num_reviews | \n", + "link | \n", + "episode_titles | \n", + "episode_descriptions | \n", + "
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", + "History Hyenas with Chris Distefano and Yannis... | \n", + "RiotCast Network | \n", + "Comedy | \n", + "Comedians Yannis Pappas and Chris Distefano go... | \n", + "98.0 | \n", + "4.9 | \n", + "1300.0 | \n", + "https://podcasts.apple.com/us/podcast/history-... | \n", + "None | \n", + "None | \n", + "
| 1 | \n", + "Curiosity Daily | \n", + "Westwood One | \n", + "Education | \n", + "The award-winning Curiosity Daily podcast from... | \n", + "300.0 | \n", + "4.8 | \n", + "428.0 | \n", + "https://podcasts.apple.com/us/podcast/curiosit... | \n", + "None | \n", + "None | \n", + "
| 2 | \n", + "Spirits | \n", + "Multitude | \n", + "History | \n", + "A boozy weekly podcast about mythology, legend... | \n", + "161.0 | \n", + "4.8 | \n", + "1200.0 | \n", + "https://podcasts.apple.com/us/podcast/spirits/... | \n", + "None | \n", + "None | \n", + "
| 3 | \n", + "The Soundtrack Show | \n", + "iHeartRadio | \n", + "TV & Film | \n", + "The Soundtrack Show is a weekly look at film s... | \n", + "67.0 | \n", + "4.9 | \n", + "879.0 | \n", + "https://podcasts.apple.com/us/podcast/the-soun... | \n", + "None | \n", + "None | \n", + "
| 4 | \n", + "Writing Excuses | \n", + "Brandon Sanderson, Mary Robinette Kowal, Dan W... | \n", + "Arts | \n", + "Brandon Sanderson, Mary Robinette Kowal, Howar... | \n", + "58.0 | \n", + "4.7 | \n", + "775.0 | \n", + "https://podcasts.apple.com/us/podcast/writing-... | \n", + "None | \n", + "None | \n", + "
| \n", + " | title | \n", + "producer | \n", + "genre | \n", + "description | \n", + "num_episodes | \n", + "rating | \n", + "num_reviews | \n", + "link | \n", + "episode_titles | \n", + "episode_descriptions | \n", + "
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", + "History Hyenas with Chris Distefano and Yannis... | \n", + "RiotCast Network | \n", + "Comedy | \n", + "Comedians Yannis Pappas and Chris Distefano go... | \n", + "98.0 | \n", + "4.9 | \n", + "1300.0 | \n", + "https://podcasts.apple.com/us/podcast/history-... | \n", + "robert moses was wild kinsey was wild prohibit... | \n", + "the boys discuss robert moses wild the hyenas ... | \n", + "
| 1 | \n", + "Curiosity Daily | \n", + "Westwood One | \n", + "Education | \n", + "The award-winning Curiosity Daily podcast from... | \n", + "300.0 | \n", + "4.8 | \n", + "428.0 | \n", + "https://podcasts.apple.com/us/podcast/curiosit... | \n", + "maps as weapons and art w justin fornal and em... | \n", + "explorers justin fornal and emiliano ruprah fr... | \n", + "
| 2 | \n", + "Spirits | \n", + "Multitude | \n", + "History | \n", + "A boozy weekly podcast about mythology, legend... | \n", + "161.0 | \n", + "4.8 | \n", + "1200.0 | \n", + "https://podcasts.apple.com/us/podcast/spirits/... | \n", + "jacheongbi multimedia mythmaking with carmen m... | \n", + "this story seems like we lifted it straight ou... | \n", + "
| 3 | \n", + "The Soundtrack Show | \n", + "iHeartRadio | \n", + "TV & Film | \n", + "The Soundtrack Show is a weekly look at film s... | \n", + "67.0 | \n", + "4.9 | \n", + "879.0 | \n", + "https://podcasts.apple.com/us/podcast/the-soun... | \n", + "season intermission the nightmare before chri... | \n", + "season intermission learn more about your ad... | \n", + "
| 4 | \n", + "Writing Excuses | \n", + "Brandon Sanderson, Mary Robinette Kowal, Dan W... | \n", + "Arts | \n", + "Brandon Sanderson, Mary Robinette Kowal, Howar... | \n", + "58.0 | \n", + "4.7 | \n", + "775.0 | \n", + "https://podcasts.apple.com/us/podcast/writing-... | \n", + "economics realism vs ruleofcool sequencing you... | \n", + "your hosts brandon dan howard and mahtab econ... | \n", + "
| 5 | \n", + "Steve McNair: Fall of a Titan | \n", + "Sports Illustrated | \n", + "True Crime | \n", + "July 4, 2009. Former NFL quarterback Steve McN... | \n", + "10.0 | \n", + "4.3 | \n", + "1500.0 | \n", + "https://podcasts.apple.com/us/podcast/steve-mc... | \n", + "epilogue the homicidecold case unit the widow ... | \n", + "vincent hill presents evidence before a nashvi... | \n", + "
| 6 | \n", + "The Science Hour | \n", + "BBC | \n", + "Science | \n", + "Science news and highlights of the week | \n", + "13.0 | \n", + "4.5 | \n", + "110.0 | \n", + "https://podcasts.apple.com/us/podcast/the-scie... | \n", + "climate in crisis wildfires and winds in calif... | \n", + "pledges to reduce greenhouse gas emissions are... | \n", + "
| 7 | \n", + "The 5 AM Miracle with Jeff Sanders | \n", + "Jeff Sanders | \n", + "Education | \n", + "Every Monday morning Jeff Sanders is here to h... | \n", + "300.0 | \n", + "4.8 | \n", + "587.0 | \n", + "https://podcasts.apple.com/us/podcast/the-5-am... | \n", + "the strategy to defy fear and define your des... | \n", + "episode show notes jeffsanderscom learn more ... | \n", + "
| 8 | \n", + "Race Chaser with Alaska & Willam | \n", + "Forever Dog | \n", + "TV & Film | \n", + "A podcast devoted to the discussion and dissec... | \n", + "110.0 | \n", + "4.9 | \n", + "4600.0 | \n", + "https://podcasts.apple.com/us/podcast/race-cha... | \n", + "hot goss slanderous libel tips from glsen and... | \n", + "alaska and willam dive deep into gossip conjec... | \n", + "
| 9 | \n", + "Amy Should Be Forty | \n", + "VAULT Studios | \n", + "True Crime | \n", + "In October 1989, a 10-year old girl went missi... | \n", + "6.0 | \n", + "4.6 | \n", + "228.0 | \n", + "https://podcasts.apple.com/us/podcast/amy-shou... | \n", + "loose ends siblings besties the lineup amy goe... | \n", + "what will it really take to solve the case of ... | \n", + "
| 10 | \n", + "Bogleheads On Investing Podcast | \n", + "bogleheads | \n", + "Business | \n", + "Podcast weblog featuring the investment princi... | \n", + "15.0 | \n", + "4.8 | \n", + "138.0 | \n", + "https://podcasts.apple.com/us/podcast/boglehea... | \n", + "episode eric balchunas host rick ferri episod... | \n", + "eric balchunas is the senior etf analyst at bl... | \n", + "
| 11 | \n", + "Against the Rules with Michael Lewis | \n", + "Pushkin Industries | \n", + "Society & Culture | \n", + "Journalist and bestselling author Michael Lewi... | \n", + "9.0 | \n", + "4.4 | \n", + "6000.0 | \n", + "https://podcasts.apple.com/us/podcast/against-... | \n", + "against the rules presents cautionary tales bo... | \n", + "a new show from pushkin industries cautionary ... | \n", + "
| 12 | \n", + "STAT! | \n", + "Medical True Crime, Bizarre, Mysterious and Un... | \n", + "Science | \n", + "This podcast is about strange medicine. I will... | \n", + "64.0 | \n", + "4.7 | \n", + "251.0 | \n", + "https://podcasts.apple.com/us/podcast/stat/id1... | \n", + "dr michael swango pt one placebo effect rig l... | \n", + "the beginning dr michael swango was convicted... | \n", + "
| 13 | \n", + "Mythology | \n", + "Parcast | \n", + "History | \n", + "Myths endure for a reason. This episodic audio... | \n", + "55.0 | \n", + "4.8 | \n", + "3400.0 | \n", + "https://podcasts.apple.com/us/podcast/mytholog... | \n", + "listen first dog tales a parcast original seri... | \n", + "theyre fourlegged full of love and often times... | \n", + "
| 14 | \n", + "No Jumper | \n", + "No Jumper | \n", + "Music | \n", + "The Coolest Podcast In The World.Hosted by Ada... | \n", + "250.0 | \n", + "4.6 | \n", + "2200.0 | \n", + "https://podcasts.apple.com/us/podcast/no-jumpe... | \n", + "the no jumper show ep the jem wolfie interview... | \n", + "adam tells the podcast about the childrens you... | \n", + "
| 15 | \n", + "Happier in Hollywood | \n", + "Panoply | \n", + "Business | \n", + "Veteran TV writers Liz Craft and Sarah Fain de... | \n", + "134.0 | \n", + "4.9 | \n", + "1900.0 | \n", + "https://podcasts.apple.com/us/podcast/happier-... | \n", + "ep the importance of mahjong bonus episode li... | \n", + "with development season at peak intensity liz ... | \n", + "
| 16 | \n", + "ABA Journal Podcasts - Legal Talk Network | \n", + "Legal Talk Network | \n", + "Government | \n", + "Listen to the ABA Journal Podcasts for analysi... | \n", + "200.0 | \n", + "4.3 | \n", + "16.0 | \n", + "https://podcasts.apple.com/us/podcast/aba-jour... | \n", + "aba journal legal rebels diversity in the leg... | \n", + "the year was hailed as the year of women in l... | \n", + "
| 17 | \n", + "Nobilis Erotica | \n", + "Nobilis Reed | \n", + "Fiction | \n", + "Nobilis writes erotic science fiction stories ... | \n", + "280.0 | \n", + "3.7 | \n", + "84.0 | \n", + "https://podcasts.apple.com/us/podcast/nobilis-... | \n", + "ep we sail by night by gustavo bondoni ep a ... | \n", + "this months patronfunded story is a straight e... | \n", + "
| 18 | \n", + "Beach Too Sandy, Water Too Wet | \n", + "Alex and Christine Schiefer | \n", + "Comedy | \n", + "A comedy podcast featuring dramatic readings o... | \n", + "61.0 | \n", + "4.9 | \n", + "1600.0 | \n", + "https://podcasts.apple.com/us/podcast/beach-to... | \n", + "golf courses in des moines ia between you and ... | \n", + "golfer emoji golfer emoji golfer emoji holeino... | \n", + "
| 19 | \n", + "Gardeners' Question Time | \n", + "BBC | \n", + "Leisure | \n", + "A panel of horticultural experts answer garden... | \n", + "4.0 | \n", + "4.7 | \n", + "102.0 | \n", + "https://podcasts.apple.com/us/podcast/gardener... | \n", + "north wessex downs the chilterns calne wiltshi... | \n", + "peter gibbs and the panel are in the north wes... | \n", + "
| 20 | \n", + "Biology 3020 -- Pathophysiology with Doc C | \n", + "Dr. Gerald Cizadlo | \n", + "Science | \n", + "Lecture audio from this course in Pathophysiol... | \n", + "172.0 | \n", + "4.8 | \n", + "107.0 | \n", + "https://podcasts.apple.com/us/podcast/biology-... | \n", + "biology lectures on pathophysiology biology ... | \n", + "todays lecture introduces infections of the re... | \n", + "
| 21 | \n", + "Dan Carlin's Hardcore History: Addendum | \n", + "Wizzard Media | \n", + "History | \n", + "Interviews, musings and extra material from th... | \n", + "8.0 | \n", + "4.8 | \n", + "4300.0 | \n", + "https://podcasts.apple.com/us/podcast/dan-carl... | \n", + "ep caesar at hastings ep hardcore history on f... | \n", + "could militaries separated by ten centuries co... | \n", + "
| 22 | \n", + "CBS Sports Eye On College Basketball Podcast | \n", + "CBS Sports | \n", + "Sports | \n", + "CBS Sports’ official college basketball podcas... | \n", + "300.0 | \n", + "4.6 | \n", + "1400.0 | \n", + "https://podcasts.apple.com/us/podcast/cbs-spor... | \n", + "michigan stateseton hall best game of season s... | \n", + "myles powells points werent enough to get set... | \n", + "
| 23 | \n", + "Eleanor Amplified | \n", + "WHYY | \n", + "Kids & Family | \n", + "Eleanor Amplified is an adventure series for t... | \n", + "40.0 | \n", + "4.6 | \n", + "1000.0 | \n", + "https://podcasts.apple.com/us/podcast/eleanor-... | \n", + "extra s sneak peek shhh the road trip edition ... | \n", + "huh what nope nothing to see here not buying i... | \n", + "
| 24 | \n", + "The PodGOATs | \n", + "Comworld Media | \n", + "History | \n", + "The history of everything. Veteran award-winni... | \n", + "85.0 | \n", + "4.9 | \n", + "476.0 | \n", + "https://podcasts.apple.com/us/podcast/the-podg... | \n", + "bad girls evil women in history serial killers... | \n", + "you thought guys could be wicked wow check out... | \n", + "
| 25 | \n", + "Moonrise | \n", + "The Washington Post | \n", + "Science | \n", + "“Truer, but also darker.” This is the real ori... | \n", + "13.0 | \n", + "3.8 | \n", + "2100.0 | \n", + "https://podcasts.apple.com/us/podcast/moonrise... | \n", + "the dark moon magnificent desolation the beyon... | \n", + "apollo lifts off from earth fulfilling but al... | \n", + "
| 26 | \n", + "The Sustainable Minimalists Podcast | \n", + "Stephanie Seferian | \n", + "Leisure | \n", + "The Sustainable Minimalists Podcast is where s... | \n", + "98.0 | \n", + "4.7 | \n", + "156.0 | \n", + "https://podcasts.apple.com/us/podcast/the-sust... | \n", + "less is more practical selfcare during the hol... | \n", + "is it me or do we often forget selfcare during... | \n", + "
| 27 | \n", + "Phil in the Blanks | \n", + "Dr. Phil | \n", + "Society & Culture | \n", + "Get ready to experience a side of Dr. Phil McG... | \n", + "51.0 | \n", + "4.4 | \n", + "9400.0 | \n", + "https://podcasts.apple.com/us/podcast/phil-in-... | \n", + "relationship reality check how much fun are yo... | \n", + "dr phil is joined by leading human sexuality e... | \n", + "
| 28 | \n", + "Classical Classroom | \n", + "Dacia Clay | \n", + "Music | \n", + "There is a rumor going around that classical m... | \n", + "269.0 | \n", + "4.8 | \n", + "362.0 | \n", + "https://podcasts.apple.com/us/podcast/classica... | \n", + "classical classroom episode nicholas mcgegan ... | \n", + "conductor nicholas mcgegan of san francisco ph... | \n", + "
| 29 | \n", + "PODRUNNER: Workout Music | \n", + "Wizzard Media | \n", + "Health & Fitness | \n", + "Nonstop, one-hour, high-energy workout music m... | \n", + "274.0 | \n", + "4.7 | \n", + "820.0 | \n", + "https://podcasts.apple.com/us/podcast/podrunne... | \n", + "bpm ahead of the curve bpm go juice bpm spr... | \n", + "a highenergy workout mix that drops a psy tran... | \n", + "
| ... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "
| 4273 | \n", + "Catlick | \n", + "B.T. Harman | \n", + "Society & Culture | \n", + "Catlick is the lost story of how spies, villai... | \n", + "6.0 | \n", + "4.8 | \n", + "333.0 | \n", + "https://podcasts.apple.com/us/podcast/catlick/... | \n", + "e black or white e slash and dash e the man in... | \n", + "local authorities arrive at a scene so gruesom... | \n", + "
| 4274 | \n", + "Elevation with Steven Furtick | \n", + "Elevation Church | \n", + "Religion & Spirituality | \n", + "Welcome to the weekly podcast of Elevation Chu... | \n", + "99.0 | \n", + "4.9 | \n", + "907.0 | \n", + "https://podcasts.apple.com/us/podcast/elevatio... | \n", + "needers amp feeders the lazarus factor god of ... | \n", + "to support this ministry and help us continue ... | \n", + "
| 4275 | \n", + "Edit Your Life | \n", + "Christine Koh + Asha Dornfest | \n", + "Kids & Family | \n", + "Through conversations and interviews, Christin... | \n", + "182.0 | \n", + "4.7 | \n", + "184.0 | \n", + "https://podcasts.apple.com/us/podcast/edit-you... | \n", + "episode navigating divorce single parenthood... | \n", + "to say that navigating divorce and single pare... | \n", + "
| 4276 | \n", + "PTI | \n", + "ESPN | \n", + "News | \n", + "Tony Kornheiser and Michael Wilbon face off in... | \n", + "199.0 | \n", + "4.5 | \n", + "5400.0 | \n", + "https://podcasts.apple.com/us/podcast/pti/id14... | \n", + "making a return out for now shocking things ch... | \n", + "frank isola and michael wilbon react to myles ... | \n", + "
| 4277 | \n", + "The Great Composers Podcast - a classical musi... | \n", + "Kevin Nordstrom | \n", + "Music | \n", + "This classical music podcast explores the hist... | \n", + "38.0 | \n", + "4.4 | \n", + "72.0 | \n", + "https://podcasts.apple.com/us/podcast/the-grea... | \n", + "the life of johannes brahms pt summer idylls ... | \n", + "in ep we see johannes brahms complete his ado... | \n", + "
| 4278 | \n", + "The BEMA Podcast | \n", + "BEMA Discipleship | \n", + "Religion & Spirituality | \n", + "The BEMA Podcast is a walk-through of the cont... | \n", + "145.0 | \n", + "4.9 | \n", + "378.0 | \n", + "https://podcasts.apple.com/us/podcast/the-bema... | \n", + "galatians pauls gospel the epilogue calling o... | \n", + "marty solomon and brent billings examine the f... | \n", + "
| 4279 | \n", + "The Leviathan Chronicles | \n", + "Christof Laputka | \n", + "Fiction | \n", + "The Leviathan Chronicles is a sci-fi podcast t... | \n", + "71.0 | \n", + "4.6 | \n", + "1800.0 | \n", + "https://podcasts.apple.com/us/podcast/the-levi... | \n", + "leviathan update soapbox chapter chapter chapt... | \n", + "a new leviathan soapbox to explain what has be... | \n", + "
| 4280 | \n", + "MrCreepyPasta's Storytime | \n", + "MrCreepyPasta | \n", + "Arts | \n", + "The OFFICIAL Mr. Creepy Pasta's Creepypasta St... | \n", + "250.0 | \n", + "4.9 | \n", + "1200.0 | \n", + "https://podcasts.apple.com/us/podcast/mrcreepy... | \n", + "happy halloween from the gas station by jack t... | \n", + "dude your town really sucks the author httpsw... | \n", + "
| 4281 | \n", + "The Obesity Code Podcast | \n", + "Carl Franklin | \n", + "Education | \n", + "Patient stories from Intensive Dietary Managem... | \n", + "26.0 | \n", + "4.7 | \n", + "881.0 | \n", + "https://podcasts.apple.com/us/podcast/the-obes... | \n", + "energy balance kidney disease update selfforgi... | \n", + "dr fung explains why the caloriecentric model ... | \n", + "
| 4282 | \n", + "Pregnancy Confidential | \n", + "Parents / Panoply | \n", + "Kids & Family | \n", + "Pregnancy Confidential is a series of 32 podca... | \n", + "32.0 | \n", + "4.3 | \n", + "279.0 | \n", + "https://podcasts.apple.com/us/podcast/pregnanc... | \n", + "pregnancy week omg im pregnant pregnancy wee... | \n", + "in this episode well cover all you need to kno... | \n", + "
| 4283 | \n", + "The Lawfare Podcast | \n", + "The Lawfare Institute | \n", + "News | \n", + "The Lawfare Podcast features discussions with ... | \n", + "99.0 | \n", + "4.8 | \n", + "4200.0 | \n", + "https://podcasts.apple.com/us/podcast/the-lawf... | \n", + "quite a week the lawfare podcast bonus edition... | \n", + "this week roger stone was convicted on seven c... | \n", + "
| 4284 | \n", + "Slate Presents: The Queen | The Forgotten Life... | \n", + "Slate Magazine | \n", + "History | \n", + "Linda Taylor was a con artist, a kidnapper, ma... | \n", + "22.0 | \n", + "4.1 | \n", + "1100.0 | \n", + "https://podcasts.apple.com/us/podcast/slate-pr... | \n", + "bonus the queen an audiobook preview bonus t... | \n", + "listen to the first chapter of the audiobook v... | \n", + "
| 4285 | \n", + "Snap Judgment | \n", + "WNYC | \n", + "Arts | \n", + "Snap Judgment (Storytelling, with a BEAT) mixe... | \n", + "185.0 | \n", + "4.7 | \n", + "7800.0 | \n", + "https://podcasts.apple.com/us/podcast/snap-jud... | \n", + "return to kuku island snap classic the lamb t... | \n", + "a woman revisits remote indonesian islands whe... | \n", + "
| 4286 | \n", + "Sole Podcast | \n", + "Through the Word | \n", + "Religion & Spirituality | \n", + "Great Stories. Tough Issues. Grace in the Real... | \n", + "3.0 | \n", + "4.9 | \n", + "134.0 | \n", + "https://podcasts.apple.com/us/podcast/sole-pod... | \n", + "race religion amp identity fatherless no more... | \n", + "what role does skin color play in identity for... | \n", + "
| 4287 | \n", + "All the Books! | \n", + "Book Riot | \n", + "Arts | \n", + "All the Books! is a weekly show of recommendat... | \n", + "300.0 | \n", + "4.7 | \n", + "884.0 | \n", + "https://podcasts.apple.com/us/podcast/all-the-... | \n", + "all the backlist november new releases and mor... | \n", + "this week jenn discusses two great older books... | \n", + "
| 4288 | \n", + "The Poker Coaching Podcast with Jonathan Little | \n", + "Jonathan Little | \n", + "Leisure | \n", + "Welcome to The Poker Coaching Podcast, hosted ... | \n", + "286.0 | \n", + "4.8 | \n", + "188.0 | \n", + "https://podcasts.apple.com/us/podcast/the-poke... | \n", + "wph triple barrel bluff from ladies night ca... | \n", + "the newest pokercoachingcom coach lexy gavin f... | \n", + "
| 4289 | \n", + "Craig Groeschel Leadership Podcast | \n", + "Life.Church | \n", + "Religion & Spirituality | \n", + "The Craig Groeschel Leadership Podcast offers ... | \n", + "64.0 | \n", + "4.9 | \n", + "5800.0 | \n", + "https://podcasts.apple.com/us/podcast/craig-gr... | \n", + "building the middle qampa with crossfit champi... | \n", + "as your organization grows the levels of manag... | \n", + "
| 4290 | \n", + "The Majority Report with Sam Seder | \n", + "Sam Seder | \n", + "News | \n", + "Entertaining Daily Politics, Award Winning Lon... | \n", + "25.0 | \n", + "4.7 | \n", + "2200.0 | \n", + "https://podcasts.apple.com/us/podcast/the-majo... | \n", + "stone convicted impeachment marches on amp wha... | \n", + "sam hosts emma vigeland from the young turks e... | \n", + "
| 4291 | \n", + "25 Songs of Christmas | \n", + "25 Songs of Christmas | \n", + "Music | \n", + "This is a podcast about Christmas, Music, and ... | \n", + "18.0 | \n", + "4.6 | \n", + "14.0 | \n", + "https://podcasts.apple.com/us/podcast/25-songs... | \n", + "season episode season episode season epi... | \n", + "snowmen sing along if you want shake a hand sh... | \n", + "
| 4292 | \n", + "Poetry Off the Shelf | \n", + "Poetry Foundation | \n", + "Arts | \n", + "Producer Helena de Groot explores the diverse ... | \n", + "94.0 | \n", + "4.7 | \n", + "220.0 | \n", + "https://podcasts.apple.com/us/podcast/poetry-o... | \n", + "a presence in the sky the garden we share afte... | \n", + "fanny howe gives away the secret to being cava... | \n", + "
| 4293 | \n", + "Anna Faris Is Unqualified | \n", + "Unqualified Media | \n", + "Comedy | \n", + "Relationship advice from completely unqualifie... | \n", + "215.0 | \n", + "4.4 | \n", + "9000.0 | \n", + "https://podcasts.apple.com/us/podcast/anna-far... | \n", + "chris sullivan tig notaro elisha cuthbert busy... | \n", + "chris sullivan this is us the knick stranger t... | \n", + "
| 4294 | \n", + "The Album Club | \n", + "The Album Club | \n", + "Music | \n", + "The Album Club takes you deep into some of the... | \n", + "67.0 | \n", + "4.6 | \n", + "118.0 | \n", + "https://podcasts.apple.com/us/podcast/the-albu... | \n", + "ep ramones rocket to russia ep pj harvey ... | \n", + "this episode explores forest hills finest punk... | \n", + "
| 4295 | \n", + "Jimmy Kimmel Live | \n", + "Jimmy Kimmel Live | \n", + "TV & Film | \n", + "The official Jimmy Kimmel Live! YouTube Channe... | \n", + "50.0 | \n", + "3.6 | \n", + "30.0 | \n", + "https://podcasts.apple.com/us/podcast/jimmy-ki... | \n", + "this week in unnecessary censorship antonio ba... | \n", + "once again weve bleeped and blurred all the we... | \n", + "
| 4296 | \n", + "#ITSNEEDED | \n", + "Ryan Tillman | \n", + "Government | \n", + "The goal of the #ITSNEEDED Podcast is to bridg... | \n", + "31.0 | \n", + "5.0 | \n", + "234.0 | \n", + "https://podcasts.apple.com/us/podcast/itsneede... | \n", + "episode power of relationships episode clo... | \n", + "ryan and aj discuss the importance of relation... | \n", + "
| 4297 | \n", + "Among The Lilies | \n", + "Cameron Fradd | \n", + "Religion & Spirituality | \n", + "Among The Lilies is the show for ladies who ar... | \n", + "98.0 | \n", + "4.9 | \n", + "658.0 | \n", + "https://podcasts.apple.com/us/podcast/among-th... | \n", + "preemie miracles w christine malone matt fradd... | \n", + "i cant tell you ladies how excited i am about ... | \n", + "
| 4298 | \n", + "Dark Histories | \n", + "Ben Cutmore | \n", + "History | \n", + "Bi-weekly narratives on the unsolved and the u... | \n", + "72.0 | \n", + "4.9 | \n", + "287.0 | \n", + "https://podcasts.apple.com/us/podcast/dark-his... | \n", + "the yatton demoniac george lukins the sarah du... | \n", + "sir when you can spare room in your gazette i ... | \n", + "
| 4299 | \n", + "Red Scare | \n", + "Red Scare | \n", + "Society & Culture | \n", + "Red Scare is a cultural commentary podcast hos... | \n", + "99.0 | \n", + "4.0 | \n", + "1200.0 | \n", + "https://podcasts.apple.com/us/podcast/red-scar... | \n", + "bore carnival teaser pest control greta fg thu... | \n", + "the ladies discuss the online ya wars the cuts... | \n", + "
| 4300 | \n", + "The Amelia Project | \n", + "Imploding Fictions | \n", + "Fiction | \n", + "The Amelia Project is a secret agency that fak... | \n", + "39.0 | \n", + "4.9 | \n", + "386.0 | \n", + "https://podcasts.apple.com/us/podcast/the-amel... | \n", + "richard season finale ant cleo cole niseag b... | \n", + "i always obey the dice episode season fina... | \n", + "
| 4301 | \n", + "L.A. Not So Confidential | \n", + "Dr. Scott & Dr. Shiloh | \n", + "True Crime | \n", + "An L.A. based podcast brought to you by two fo... | \n", + "36.0 | \n", + "4.8 | \n", + "151.0 | \n", + "https://podcasts.apple.com/us/podcast/l-a-not-... | \n", + "killer nurses the fear of clowns intimate part... | \n", + "dr scott and dr shiloh delve into the world of... | \n", + "
| 4302 | \n", + "Food 4 Thot | \n", + "iHeartRadio | \n", + "Society & Culture | \n", + "A multiracial mix of queer writers talk about ... | \n", + "84.0 | \n", + "4.8 | \n", + "1100.0 | \n", + "https://podcasts.apple.com/us/podcast/food-4-t... | \n", + "are you committed to this podcast lets talk ab... | \n", + "its cuffing season and while ur thots love a g... | \n", + "
4303 rows × 10 columns
\n", + "| \n", + " | rating | \n", + "num_reviews | \n", + "
|---|---|---|
| genre | \n", + "\n", + " | \n", + " |
| Arts | \n", + "4.627234 | \n", + "1247.480851 | \n", + "
| Business | \n", + "4.659641 | \n", + "1531.919283 | \n", + "
| Comedy | \n", + "4.765939 | \n", + "6568.397380 | \n", + "
| Education | \n", + "4.648357 | \n", + "774.361502 | \n", + "
| Fiction | \n", + "4.648899 | \n", + "1085.176211 | \n", + "
| Government | \n", + "4.658636 | \n", + "196.709091 | \n", + "
| Health & Fitness | \n", + "4.696875 | \n", + "1269.455357 | \n", + "
| History | \n", + "4.653125 | \n", + "1474.571429 | \n", + "
| Kids & Family | \n", + "4.637872 | \n", + "614.302128 | \n", + "
| Leisure | \n", + "4.749107 | \n", + "713.473214 | \n", + "
| Music | \n", + "4.677027 | \n", + "651.783784 | \n", + "
| News | \n", + "4.522318 | \n", + "3899.343348 | \n", + "
| Religion & Spirituality | \n", + "4.800000 | \n", + "1514.502203 | \n", + "
| Science | \n", + "4.569333 | \n", + "916.524444 | \n", + "
| Society & Culture | \n", + "4.659292 | \n", + "4287.566372 | \n", + "
| Sports | \n", + "4.677637 | \n", + "2381.075949 | \n", + "
| TV & Film | \n", + "4.570982 | \n", + "1200.388393 | \n", + "
| Technology | \n", + "4.613004 | \n", + "486.923767 | \n", + "
| True Crime | \n", + "4.539224 | \n", + "4508.719828 | \n", + "
| \n", + " | title | \n", + "producer | \n", + "text | \n", + "ID | \n", + "
|---|---|---|---|---|
| 0 | \n", + "History Hyenas with Chris Distefano and Yannis... | \n", + "RiotCast Network | \n", + "history hyena chris distefano yannis pappa rio... | \n", + "0 | \n", + "
| 1 | \n", + "Curiosity Daily | \n", + "Westwood One | \n", + "curiosity daily westwood one education awardwi... | \n", + "1 | \n", + "
| 2 | \n", + "Spirits | \n", + "Multitude | \n", + "spirit multitude history boozy mythology legen... | \n", + "2 | \n", + "
| 3 | \n", + "The Soundtrack Show | \n", + "iHeartRadio | \n", + "soundtrack show iheartradio tv film soundtrack... | \n", + "3 | \n", + "
| 4 | \n", + "Writing Excuses | \n", + "Brandon Sanderson, Mary Robinette Kowal, Dan W... | \n", + "writing excuse brandon sanderson mary kowal da... | \n", + "4 | \n", + "
| \n", + " | title | \n", + "producer | \n", + "text | \n", + "ID | \n", + "
|---|---|---|---|---|
| 0 | \n", + "History Hyenas with Chris Distefano and Yannis... | \n", + "RiotCast Network | \n", + "history hyena chris distefano yannis pappa rio... | \n", + "0 | \n", + "
| 1 | \n", + "Curiosity Daily | \n", + "Westwood One | \n", + "curiosity daily westwood one education awardwi... | \n", + "1 | \n", + "
| 2 | \n", + "Spirits | \n", + "Multitude | \n", + "spirit multitude history boozy mythology legen... | \n", + "2 | \n", + "
| 3 | \n", + "The Soundtrack Show | \n", + "iHeartRadio | \n", + "soundtrack show iheartradio tv film soundtrack... | \n", + "3 | \n", + "
| 4 | \n", + "Writing Excuses | \n", + "Brandon Sanderson, Mary Robinette Kowal, Dan W... | \n", + "writing excuse brandon sanderson mary kowal da... | \n", + "4 | \n", + "