{"id":28574488,"url":"https://github.com/tsear/reddit-discourse-project","last_synced_at":"2025-06-10T22:02:26.127Z","repository":{"id":295365021,"uuid":"989919067","full_name":"tsear/reddit-discourse-project","owner":"tsear","description":"Mapping emotional and conceptual discourse across Reddit philosophy communities.","archived":false,"fork":false,"pushed_at":"2025-05-25T05:54:53.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-05-25T06:32:18.341Z","etag":null,"topics":["data-visualization","emotion-detection","network-analysis","nlp","pandas","reddit-api","sentiment-analysis","spacy","text-mining","tf-idf","topic-modeling"],"latest_commit_sha":null,"homepage":"https://tyler.blog/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tsear.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-25T05:39:10.000Z","updated_at":"2025-05-25T05:54:57.000Z","dependencies_parsed_at":"2025-05-25T06:33:20.025Z","dependency_job_id":"347cd638-e98c-49a8-9103-dbb74cb5fda8","html_url":"https://github.com/tsear/reddit-discourse-project","commit_stats":null,"previous_names":["tsear/reddit-discourse-project"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsear%2Freddit-discourse-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsear%2Freddit-discourse-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsear%2Freddit-discourse-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsear%2Freddit-discourse-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tsear","download_url":"https://codeload.github.com/tsear/reddit-discourse-project/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsear%2Freddit-discourse-project/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259159615,"owners_count":22814490,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-visualization","emotion-detection","network-analysis","nlp","pandas","reddit-api","sentiment-analysis","spacy","text-mining","tf-idf","topic-modeling"],"created_at":"2025-06-10T22:00:29.085Z","updated_at":"2025-06-10T22:02:22.980Z","avatar_url":"https://github.com/tsear.png","language":"Jupyter Notebook","readme":"🧭 PhilosophyMap\n\nPhilosophyMap is a data-driven exploration of how philosophical discourse plays out across Reddit. By pulling live data from several philosophy-adjacent subreddits, the project analyzes language, sentiment, cited thinkers, and concept networks to visualize the emotional and intellectual contours of modern discourse.\n\n📊 Subreddits Analyzed\n\t•\tr/philosophy\n\t•\tr/askphilosophy\n\t•\tr/stoicism\n\t•\tr/sociology\n\t•\tr/TrueAskReddit\n\n🔍 Key Objectives\n\t•\tMeasure and compare keyword prominence using TF-IDF\n\t•\tDetect discourse structure through concept co-occurrence graphs\n\t•\tAnalyze emotional tone using the NRC Emotion Lexicon\n\t•\tTrack citations of philosophical figures and compare emotional distance\n\t•\tSynthesize everything into a Discourse Compass mega-visual that captures the personality of each subreddit\n\n🧠 Methodology\n\t•\tData Collection: Reddit API via praw\n\t•\tPreprocessing: Tokenization, lemmatization (SpaCy), stopword removal\n\t•\tKeyword Analysis: TF-IDF matrix per subreddit\n\t•\tEmotion Scoring: NRC Emotion Lexicon, aggregated by subreddit\n\t•\tNetwork Graphing: Co-occurrence of noun phrases, visualized with NetworkX\n\t•\tCitation Detection: Named entity matching of philosophical figures\n\t•\tDiscourse Compass: A unified radar-style visual summarizing each subreddit’s communication style\n\n🖼️ Visual Highlights\n\t•\tTF-IDF heatmaps of distinctive terms\n\t•\tConcept network graphs\n\t•\tEmotion heatmaps\n\t•\tCited thinker emotional distance bar charts\n\t•\tSubreddit radar plots\n\t•\tFinal Discourse Compass visualization\n\n🚧 Limitations\n\t•\tResults are time-bound to the scraped sample\n\t•\tCitation detection relies on exact matching\n\t•\tEmotional scoring is lexicon-based and may miss nuance\n\n🧠 Final Insight\n\nReddit’s philosophy discourse is emotionally and intellectually fragmented in fascinating ways. Stoicism leans stoic (naturally), AskPhilosophy is curious and reflective, and TrueAskReddit is emotionally volatile and existential. Who subreddits cite, and how those figures emotionally align with the subreddit’s own tone, reveals a surprisingly rich map of the modern philosophical mind.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftsear%2Freddit-discourse-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftsear%2Freddit-discourse-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftsear%2Freddit-discourse-project/lists"}