-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsearch.json
93 lines (93 loc) · 33.7 KB
/
search.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
[
{
"objectID": "src/analysis_NeustartBildungJetzt.html",
"href": "src/analysis_NeustartBildungJetzt.html",
"title": "Analyses of retweets on the topic of NeustartBildungJetzt",
"section": "",
"text": "Information about the dataset:\nCode\n# PREPARE DATA\nimport json\nimport pandas as pd\n\nfrom src.analysis_functions import (\n get_query_info,\n get_time_range,\n metadata_prints,\n prep_data,\n)\n\ntitle = \"NeustartBildungJetzt\"\ntopic_name = \"NeustartBildungJetzt\"\ndata_path = \"data/raw/all_tweets_NeustartBildungJetzt.parquet\"\n\n# get information about the topic\nsearch_words, query_conds = get_query_info(\n json_file=\"assets/topics.json\", topic_name=topic_name\n)\n\n# load dataset\ndf = prep_data(data_path)\n\n# get information about the time range\nstart_date, end_date = get_time_range(df, \"de_DE\")\n\nmetadata_prints(df, start_date, end_date, search_words, query_conds)\n\n# drop retweets with missing usernames\ntry:\n missing_usernames = df.tweet_author_username.isnull().value_counts()[True]\nexcept KeyError:\n missing_usernames = 0\ndf = df.dropna(subset=[\"tweet_author_username\"])\nprint(\n f\"\\nNumber of retweets with missing usernames for the original tweeter: {missing_usernames}\\nThese are being dropped from the analysis. New total of retweets: {len(df)}\\n\"\n)\n\n\nNumber of total retweets in this dataset: \n239\n\nTime range of the retweets:\nMarch 14, 2023 - May 16, 2023\n\nKeywords* used to collect the retweets:\nNeustartBildungJetzt\n\nQuery conditions used to collect the retweets:\n(is:retweet OR is:quote)\n\nNumber of retweets with missing usernames for the original tweeter: 0\nThese are being dropped from the analysis. New total of retweets: 239\n*They keywords above mean the retweets were collected from Twitter whenever any of the above keywords were found in the text of the retweet."
},
{
"objectID": "src/analysis_NeustartBildungJetzt.html#visualizing-the-network",
"href": "src/analysis_NeustartBildungJetzt.html#visualizing-the-network",
"title": "Analyses of retweets on the topic of NeustartBildungJetzt",
"section": "Visualizing the Network",
"text": "Visualizing the Network\nHere are a few important things to note about the network visualization:\n\nEvery node (i.e. circle) represents a Twitter user.\nThe colour of the node represents the number of times that user’s tweets were retweeted. In other words, the darker the colour of the node, the more times that user was retweeted by other users. Those who only retweet and do not produce any tweets themselves are coloured bright yellow.\nSimilarly, the size of the node represents how many connections each node has. This includes incoming and outgoing connections, meaning both how many times they retweeted another user’s tweet and how many times their original tweets were retweeted. So both users who get retweeted very often by other users (i.e. content producers) and users who simply retweet a lot (i.e. content spreaders or even bots) will have larger sizes.\n\n\n\nCode\nfrom src.analysis_functions import generate_network_graph\n\npopular_tweeters, bridging_users, active_retweeters = generate_network_graph(df, title)"
},
{
"objectID": "src/analysis_NeustartBildungJetzt.html#calculating-the-importance-of-users-in-the-network",
"href": "src/analysis_NeustartBildungJetzt.html#calculating-the-importance-of-users-in-the-network",
"title": "Analyses of retweets on the topic of NeustartBildungJetzt",
"section": "Calculating the Importance of Users in the Network",
"text": "Calculating the Importance of Users in the Network\nBelow are three measures of centrality for each user in the network:\n\nIn-degree centrality represents the number of connections going into a node.\n\nIn the case of retweets, in-degree centrality will indicate that a user is getting a large number of retweets.\n\nOut-degree centrality represents the number of connections going out of a node.\n\nIn the case of retweets, out-degree centrality will indicate that a user is retweeting a lot.\n\nBetweeness centrality represents the number of ‘shortest paths’ between nodes that pass through through a specific node.\n\nIn the case of retweets, it measures the extent to which a user connects different communities of users.\n\n\n\n\nCode\nfrom src.analysis_functions import get_authors_name, get_top_users\n\nauthors = get_authors_name(df)\n\n\n\nIn-degree centrality / users getting a lot of retweets\nBelow are the top 20 users with the most in-degree centrality / retweeted tweets.\n\n\nCode\nget_top_users(popular_tweeters, authors, \"in-degree_centrality\", 20)\n\n\n\n\n\n\n\n\n\nin-degree_centrality\nin-degree_centrality (normalised)\nusername\nname\nprofile_url\n\n\n\n\n1\n0.14201\n1.00000\nZornDirk\nDirk Zorn\nhttps://twitter.com/ZornDirk\n\n\n2\n0.11243\n0.79167\nBertelsmannSt\nBertelsmann Stiftung\nhttps://twitter.com/BertelsmannSt\n\n\n3\n0.09467\n0.66667\nDKSB_Bund\nKinderschutzbund Bundesverband\nhttps://twitter.com/DKSB_Bund\n\n\n4\n0.08876\n0.62500\nKargStiftung\nKarg-Stiftung\nhttps://twitter.com/KargStiftung\n\n\n5\n0.08284\n0.58333\nBoschStiftung\nRobert Bosch Stiftung\nhttps://twitter.com/BoschStiftung\n\n\n6\n0.08284\n0.58333\nDKHW_de\nDeutsches Kinderhilfswerk\nhttps://twitter.com/DKHW_de\n\n\n7\n0.06509\n0.45833\n_verdi\nver.di - Vereinte Dienstleistungsgewerkschaft\nhttps://twitter.com/_verdi\n\n\n8\n0.05917\n0.41667\nstiftungstweet\nStiftungstweet\nhttps://twitter.com/stiftungstweet\n\n\n9\n0.05917\n0.41667\nwuebbenstiftung\nWübben Stiftung gGmbH\nhttps://twitter.com/wuebbenstiftung\n\n\n10\n0.05917\n0.41667\ntelekomstiftung\ntelekomstiftung\nhttps://twitter.com/telekomstiftung\n\n\n11\n0.05325\n0.37500\nForumBilDig\nForum Bildung Digitalisierung\nhttps://twitter.com/ForumBilDig\n\n\n12\n0.04142\n0.29167\nUNICEFgermany\nUNICEF Deutschland\nhttps://twitter.com/UNICEFgermany\n\n\n13\n0.02959\n0.20833\nkfkv_nds_bremen\nKita-Fachkräfteverband Niedersachsen-Bremen e.V.\nhttps://twitter.com/kfkv_nds_bremen\n\n\n14\n0.02367\n0.16667\ndieberufsbildne\nBvLB\nhttps://twitter.com/dieberufsbildne\n\n\n15\n0.02367\n0.16667\nsoskinderdorfde\nSOS-Kinderdorf\nhttps://twitter.com/soskinderdorfde\n\n\n16\n0.01775\n0.12500\njul_wern\nJulius Werner\nhttps://twitter.com/jul_wern\n\n\n17\n0.01775\n0.12500\nZEITstiftung\nZEIT-Stiftung\nhttps://twitter.com/ZEITstiftung\n\n\n18\n0.01775\n0.12500\nHeraeusBildung\nBildungsstiftung\nhttps://twitter.com/HeraeusBildung\n\n\n19\n0.01183\n0.08333\nSEND_ev\nSEND e.V.\nhttps://twitter.com/SEND_ev\n\n\n20\n0.01183\n0.08333\nKleineForscher\nKleine Forscher\nhttps://twitter.com/KleineForscher\n\n\n\n\n\n\n\n\n\nOut-degree centrality / users retweeting a lot\nBelow are the top 20 users with the most out-degree centrality / retweets.\n\n\nCode\nget_top_users(active_retweeters, authors, \"out-degree_centrality\", 20)\n\n\n\n\n\n\n\n\n\nout-degree_centrality\nout-degree_centrality (normalised)\nusername\nname\nprofile_url\n\n\n\n\n1\n0.06509\n1.00000\nZornDirk\nDirk Zorn\nhttps://twitter.com/ZornDirk\n\n\n2\n0.05325\n0.81818\nKargStiftung\nKarg-Stiftung\nhttps://twitter.com/KargStiftung\n\n\n3\n0.03550\n0.54545\nekkwinter\nEkkehard Winter\nhttps://twitter.com/ekkwinter\n\n\n4\n0.03550\n0.54545\nBot_TwLehrerZ\nBot Tw!tterlehrerzimmer\nhttps://twitter.com/Bot_TwLehrerZ\n\n\n5\n0.02367\n0.36364\nMelanieKrause84\nMelanie Krause\nhttps://twitter.com/MelanieKrause84\n\n\n6\n0.02367\n0.36364\nkfkv_nds_bremen\nKita-Fachkräfteverband Niedersachsen-Bremen e.V.\nhttps://twitter.com/kfkv_nds_bremen\n\n\n7\n0.02367\n0.36364\nM_Pfafferott\nMartin Pfafferott\nhttps://twitter.com/M_Pfafferott\n\n\n8\n0.01775\n0.27273\ntwKITAbot\ntwKITAbot\nhttps://twitter.com/twKITAbot\n\n\n9\n0.01775\n0.27273\nKatjaHintze\nKatja Hintze M.A. phil.\nhttps://twitter.com/KatjaHintze\n\n\n10\n0.01775\n0.27273\nsoskinderdorfde\nSOS-Kinderdorf\nhttps://twitter.com/soskinderdorfde\n\n\n11\n0.01775\n0.27273\nIFamilien\nInforeihe Kinder, Jugend und Familie\nhttps://twitter.com/IFamilien\n\n\n12\n0.01775\n0.27273\nmed7sportarten\nVEDA-SPORTPARK INTER\nhttps://twitter.com/med7sportarten\n\n\n13\n0.01183\n0.18182\nsilkeschreiber\nSilk\nhttps://twitter.com/silkeschreiber\n\n\n14\n0.01183\n0.18182\nFugmannMartin\nMartin Fugmann\nhttps://twitter.com/FugmannMartin\n\n\n15\n0.01183\n0.18182\nKathrinBischoff\nKathrin Bischoff\nhttps://twitter.com/KathrinBischoff\n\n\n16\n0.01183\n0.18182\nwuebbenstiftung\nWübben Stiftung gGmbH\nhttps://twitter.com/wuebbenstiftung\n\n\n17\n0.01183\n0.18182\nSchule_21\nSchule_21\nhttps://twitter.com/Schule_21\n\n\n18\n0.01183\n0.18182\nReneTauschke\nRené Tauschke\nhttps://twitter.com/ReneTauschke\n\n\n19\n0.01183\n0.18182\nepdsozial\nepd sozial\nhttps://twitter.com/epdsozial\n\n\n20\n0.01183\n0.18182\npenneck27\npennergy\nhttps://twitter.com/penneck27\n\n\n\n\n\n\n\n\n\nBetweeness centrality / users connecting different communities\nBelow are the top 20 users with the most betweeness centrality / connecting different communities.\n\n\nCode\nget_top_users(bridging_users, authors, \"betweenness\", 20)\n\n\n\n\n\n\n\n\n\nbetweenness\nbetweenness (normalised)\nusername\nname\nprofile_url\n\n\n\n\n1\n0.01992\n1.00000\nZornDirk\nDirk Zorn\nhttps://twitter.com/ZornDirk\n\n\n2\n0.01907\n0.95756\nKargStiftung\nKarg-Stiftung\nhttps://twitter.com/KargStiftung\n\n\n3\n0.01117\n0.56057\nstiftungstweet\nStiftungstweet\nhttps://twitter.com/stiftungstweet\n\n\n4\n0.00633\n0.31771\nBertelsmannSt\nBertelsmann Stiftung\nhttps://twitter.com/BertelsmannSt\n\n\n5\n0.00588\n0.29531\ntelekomstiftung\ntelekomstiftung\nhttps://twitter.com/telekomstiftung\n\n\n6\n0.00435\n0.21839\nBoschStiftung\nRobert Bosch Stiftung\nhttps://twitter.com/BoschStiftung\n\n\n7\n0.00394\n0.19805\nsoskinderdorfde\nSOS-Kinderdorf\nhttps://twitter.com/soskinderdorfde\n\n\n8\n0.00208\n0.10463\nwuebbenstiftung\nWübben Stiftung gGmbH\nhttps://twitter.com/wuebbenstiftung\n\n\n9\n0.00154\n0.07751\nkfkv_nds_bremen\nKita-Fachkräfteverband Niedersachsen-Bremen e.V.\nhttps://twitter.com/kfkv_nds_bremen\n\n\n10\n0.00006\n0.00324\nMelanieKrause84\nMelanie Krause\nhttps://twitter.com/MelanieKrause84\n\n\n11\n0.00004\n0.00177\nTwittTw39861458\nLiberty Pete\nhttps://twitter.com/TwittTw39861458\n\n\n12\n0.00004\n0.00177\ncoding_tomorrow\nCoding For Tomorrow\nhttps://twitter.com/coding_tomorrow\n\n\n13\n0.00000\n0.00000\nTZumhof\nTim Zumhof\nhttps://twitter.com/TZumhof\n\n\n14\n0.00000\n0.00000\nChammonJacob\nJacob Chammon\nhttps://twitter.com/ChammonJacob\n\n\n15\n0.00000\n0.00000\nCeliaKandis\nCelia Kandiszucker\nhttps://twitter.com/CeliaKandis\n\n\n16\n0.00000\n0.00000\nnordenstuttgart\nNördliches Stuttgart\nhttps://twitter.com/nordenstuttgart\n\n\n17\n0.00000\n0.00000\nBAUMeV\nB.A.U.M. e.V.\nhttps://twitter.com/BAUMeV\n\n\n18\n0.00000\n0.00000\nHendrikBaumann\nHendrik Baumann\nhttps://twitter.com/HendrikBaumann\n\n\n19\n0.00000\n0.00000\nJPRuehmann\nJan-Peter Rühmann\nhttps://twitter.com/JPRuehmann\n\n\n20\n0.00000\n0.00000\nRainerRogge\n🔻 GEJAGTER🔻\nhttps://twitter.com/RainerRogge"
},
{
"objectID": "src/analysis_NeustartBildungJetzt.html#acknowledgements",
"href": "src/analysis_NeustartBildungJetzt.html#acknowledgements",
"title": "Analyses of retweets on the topic of NeustartBildungJetzt",
"section": "Acknowledgements",
"text": "Acknowledgements\n\nThe text and code for this analysis draws heavily from this template provided by DataCamp."
},
{
"objectID": "src/analysis_bildungsgipfel.html",
"href": "src/analysis_bildungsgipfel.html",
"title": "Analyses of retweets on the topic of Bildungsgipfel",
"section": "",
"text": "Information about the dataset:\nCode\n# PREPARE DATA\nimport json\nimport pandas as pd\n\nfrom src.analysis_functions import (\n get_query_info,\n get_time_range,\n metadata_prints,\n prep_data,\n)\n\ntitle = \"Bildungsgipfel\"\ntopic_name = \"bildungsgipfel\"\ndata_path = \"data/raw/all_tweets_bildungsgipfel.parquet\"\n\n# get information about the topic\nsearch_words, query_conds = get_query_info(\n json_file=\"assets/topics.json\", topic_name=topic_name\n)\n\n# load dataset\ndf = prep_data(data_path)\n\n# get information about the time range\nstart_date, end_date = get_time_range(df, \"de_DE\")\n\nmetadata_prints(df, start_date, end_date, search_words, query_conds)\n\n# drop retweets with missing usernames\ntry:\n missing_usernames = df.tweet_author_username.isnull().value_counts()[True]\nexcept KeyError:\n missing_usernames = 0\ndf = df.dropna(subset=[\"tweet_author_username\"])\nprint(\n f\"\\nNumber of retweets with missing usernames for the original tweeter: {missing_usernames}\\nThese are being dropped from the analysis. New total of retweets: {len(df)}\\n\"\n)\n\n\nNumber of total retweets in this dataset: \n3445\n\nTime range of the retweets:\nFebruary 23, 2023 - June 7, 2023\n\nKeywords* used to collect the retweets:\n(Bildungsgipfel OR #Bifo2023)\n\nQuery conditions used to collect the retweets:\n(is:retweet OR is:quote) lang:de\n\nNumber of retweets with missing usernames for the original tweeter: 8\nThese are being dropped from the analysis. New total of retweets: 3437\n*They keywords above mean the retweets were collected from Twitter whenever any of the above keywords were found in the text of the retweet."
},
{
"objectID": "src/analysis_bildungsgipfel.html#visualizing-the-network",
"href": "src/analysis_bildungsgipfel.html#visualizing-the-network",
"title": "Analyses of retweets on the topic of Bildungsgipfel",
"section": "Visualizing the Network",
"text": "Visualizing the Network\nHere are a few important things to note about the network visualization:\n\nEvery node (i.e. circle) represents a Twitter user.\nThe colour of the node represents the number of times that user’s tweets were retweeted. In other words, the darker the colour of the node, the more times that user was retweeted by other users. Those who only retweet and do not produce any tweets themselves are coloured bright yellow.\nSimilarly, the size of the node represents how many connections each node has. This includes incoming and outgoing connections, meaning both how many times they retweeted another user’s tweet and how many times their original tweets were retweeted. So both users who get retweeted very often by other users (i.e. content producers) and users who simply retweet a lot (i.e. content spreaders or even bots) will have larger sizes.\n\n\n\nCode\nfrom src.analysis_functions import generate_network_graph\n\npopular_tweeters, bridging_users, active_retweeters = generate_network_graph(df, title)"
},
{
"objectID": "src/analysis_bildungsgipfel.html#calculating-the-importance-of-users-in-the-network",
"href": "src/analysis_bildungsgipfel.html#calculating-the-importance-of-users-in-the-network",
"title": "Analyses of retweets on the topic of Bildungsgipfel",
"section": "Calculating the Importance of Users in the Network",
"text": "Calculating the Importance of Users in the Network\nBelow are three measures of centrality for each user in the network:\n\nIn-degree centrality represents the number of connections going into a node.\n\nIn the case of retweets, in-degree centrality will indicate that a user is getting a large number of retweets.\n\nOut-degree centrality represents the number of connections going out of a node.\n\nIn the case of retweets, out-degree centrality will indicate that a user is retweeting a lot.\n\nBetweeness centrality represents the number of ‘shortest paths’ between nodes that pass through through a specific node.\n\nIn the case of retweets, it measures the extent to which a user connects different communities of users.\n\n\n\n\nCode\nfrom src.analysis_functions import get_authors_name, get_top_users\n\nauthors = get_authors_name(df)\n\n\n\nIn-degree centrality / users getting a lot of retweets\nBelow are the top 20 users with the most in-degree centrality / retweeted tweets.\n\n\nCode\nget_top_users(popular_tweeters, authors, \"in-degree_centrality\", 20)\n\n\n\n\n\n\n\n\n\nin-degree_centrality\nin-degree_centrality (normalised)\nusername\nname\nprofile_url\n\n\n\n\n1\n0.07367\n1.00000\nnicolediekmann\nNicole Diekmann\nhttps://twitter.com/nicolediekmann\n\n\n2\n0.03529\n0.47904\nberichtenswert\nberichtenswert\nhttps://twitter.com/berichtenswert\n\n\n3\n0.03176\n0.43114\nBMBF_Bund\nBMBF\nhttps://twitter.com/BMBF_Bund\n\n\n4\n0.02558\n0.34731\nDer_Postillon\nDer Postillon\nhttps://twitter.com/Der_Postillon\n\n\n5\n0.02514\n0.34132\nciffi\nchristian füller\nhttps://twitter.com/ciffi\n\n\n6\n0.02426\n0.32934\nht_uta\nUta Hauck-Thum\nhttps://twitter.com/ht_uta\n\n\n7\n0.02382\n0.32335\nvedducation\nJan Vedder\nhttps://twitter.com/vedducation\n\n\n8\n0.02117\n0.28743\nstarkwatzinger\nBettina Stark-Watzinger\nhttps://twitter.com/starkwatzinger\n\n\n9\n0.02073\n0.28144\nNicoleGohlke\nNicole Gohlke\nhttps://twitter.com/NicoleGohlke\n\n\n10\n0.01764\n0.23952\nextra3\nextra3\nhttps://twitter.com/extra3\n\n\n11\n0.01676\n0.22754\ntagesschau\ntagesschau\nhttps://twitter.com/tagesschau\n\n\n12\n0.01544\n0.20958\nhalbtagsblog\nJan-Martin\nhttps://twitter.com/halbtagsblog\n\n\n13\n0.01544\n0.20958\nJMWiarda\nJan-Martin Wiarda\nhttps://twitter.com/JMWiarda\n\n\n14\n0.01500\n0.20359\nGtzFrmming\nGötz Frömming, MdB\nhttps://twitter.com/GtzFrmming\n\n\n15\n0.01456\n0.19760\nMorlock78689917\nMarlies\nhttps://twitter.com/Morlock78689917\n\n\n16\n0.01412\n0.19162\nsusanneposselt\nSusanne Posselt • #EduBW\nhttps://twitter.com/susanneposselt\n\n\n17\n0.01367\n0.18563\nschule_anders\nschulemussanders\nhttps://twitter.com/schule_anders\n\n\n18\n0.01323\n0.17964\nJSchmitzLeipzig\nJulian Schmitz\nhttps://twitter.com/JSchmitzLeipzig\n\n\n19\n0.01235\n0.16766\ngew_bund\nNaN\nhttps://twitter.com/gew_bund\n\n\n20\n0.01191\n0.16168\nZornDirk\nDirk Zorn\nhttps://twitter.com/ZornDirk\n\n\n\n\n\n\n\n\n\nOut-degree centrality / users retweeting a lot\nBelow are the top 20 users with the most out-degree centrality / retweets.\n\n\nCode\nget_top_users(active_retweeters, authors, \"out-degree_centrality\", 20)\n\n\n\n\n\n\n\n\n\nout-degree_centrality\nout-degree_centrality (normalised)\nusername\nname\nprofile_url\n\n\n\n\n1\n0.03220\n1.00000\nBot_TwLehrerZ\nBot Tw!tterlehrerzimmer\nhttps://twitter.com/Bot_TwLehrerZ\n\n\n2\n0.01588\n0.49315\nbundestag_tweet\nBundestag Tweets (Inoffiziell)\nhttps://twitter.com/bundestag_tweet\n\n\n3\n0.01059\n0.32877\nZornDirk\nDirk Zorn\nhttps://twitter.com/ZornDirk\n\n\n4\n0.00750\n0.23288\nKatjaHintze\nKatja Hintze M.A. phil.\nhttps://twitter.com/KatjaHintze\n\n\n5\n0.00618\n0.19178\nmed7sportarten\nVEDA-SPORTPARK INTER\nhttps://twitter.com/med7sportarten\n\n\n6\n0.00573\n0.17808\nBeritDr\nDr. Berit Olschewski\nhttps://twitter.com/BeritDr\n\n\n7\n0.00485\n0.15068\nsusanneposselt\nSusanne Posselt • #EduBW\nhttps://twitter.com/susanneposselt\n\n\n8\n0.00441\n0.13699\nekkwinter\nEkkehard Winter\nhttps://twitter.com/ekkwinter\n\n\n9\n0.00441\n0.13699\nciffi\nchristian füller\nhttps://twitter.com/ciffi\n\n\n10\n0.00441\n0.13699\nAbgeordnetenre1\nAbgeordnetenretweet\nhttps://twitter.com/Abgeordnetenre1\n\n\n11\n0.00397\n0.12329\njulewonka\nJulewonka\nhttps://twitter.com/julewonka\n\n\n12\n0.00353\n0.10959\ndipf_aktuell\nDIPF\nhttps://twitter.com/dipf_aktuell\n\n\n13\n0.00353\n0.10959\n13Myri\nMyri W. #StandWithUkraine 🇺🇦\nhttps://twitter.com/13Myri\n\n\n14\n0.00353\n0.10959\nBO8011\nBO80 😷 #DigitaleBildungMachtSchule\nhttps://twitter.com/BO8011\n\n\n15\n0.00353\n0.10959\nPankowerPflanze\nMarco Fechner\nhttps://twitter.com/PankowerPflanze\n\n\n16\n0.00309\n0.09589\n_ProtectTheKids\nInitiative #ProtectTheKids 😷❤️\nhttps://twitter.com/_ProtectTheKids\n\n\n17\n0.00309\n0.09589\nSvenDudkowiak\nSven Dudkowiak\nhttps://twitter.com/SvenDudkowiak\n\n\n18\n0.00309\n0.09589\nElla_von_T\nElla 🆙️\nhttps://twitter.com/Ella_von_T\n\n\n19\n0.00309\n0.09589\ngoesicke\nKai-Uwe Gösicke\nhttps://twitter.com/goesicke\n\n\n20\n0.00309\n0.09589\nseni_bl\nInes Bieler\nhttps://twitter.com/seni_bl\n\n\n\n\n\n\n\n\n\nBetweeness centrality / users connecting different communities\nBelow are the top 20 users with the most betweeness centrality / connecting different communities.\n\n\nCode\nget_top_users(bridging_users, authors, \"betweenness\", 20)\n\n\n\n\n\n\n\n\n\nbetweenness\nbetweenness (normalised)\nusername\nname\nprofile_url\n\n\n\n\n1\n0.00413\n1.00000\nZornDirk\nDirk Zorn\nhttps://twitter.com/ZornDirk\n\n\n2\n0.00237\n0.57431\nJMWiarda\nJan-Martin Wiarda\nhttps://twitter.com/JMWiarda\n\n\n3\n0.00196\n0.47390\nciffi\nchristian füller\nhttps://twitter.com/ciffi\n\n\n4\n0.00194\n0.46992\nForumBilDig\nForum Bildung Digitalisierung\nhttps://twitter.com/ForumBilDig\n\n\n5\n0.00133\n0.32218\nChammonJacob\nJacob Chammon\nhttps://twitter.com/ChammonJacob\n\n\n6\n0.00123\n0.29761\nblume_bob\nNᴇᴛᴢʟᴇʜʀᴇʀ\nhttps://twitter.com/blume_bob\n\n\n7\n0.00123\n0.29680\nmydz\nmyrle dziak mahler 🇺🇦\nhttps://twitter.com/mydz\n\n\n8\n0.00114\n0.27491\nmoritz_bm\nMoritz Baumann\nhttps://twitter.com/moritz_bm\n\n\n9\n0.00106\n0.25711\nht_uta\nUta Hauck-Thum\nhttps://twitter.com/ht_uta\n\n\n10\n0.00092\n0.22319\nBildung_Table\nBildung.Table\nhttps://twitter.com/Bildung_Table\n\n\n11\n0.00089\n0.21556\nprof_birgit\nProf Birgit Eickelmann\nhttps://twitter.com/prof_birgit\n\n\n12\n0.00081\n0.19598\ntelekomstiftung\ntelekomstiftung\nhttps://twitter.com/telekomstiftung\n\n\n13\n0.00063\n0.15321\nIWMtue\nLeibniz-Institut für Wissensmedien (IWM)\nhttps://twitter.com/IWMtue\n\n\n14\n0.00063\n0.15283\nBertelsmannSt\nBertelsmann Stiftung\nhttps://twitter.com/BertelsmannSt\n\n\n15\n0.00058\n0.14091\nAladinMafaalani\nAladin El-Mafaalani\nhttps://twitter.com/AladinMafaalani\n\n\n16\n0.00057\n0.13868\nFloriKohl\nFlori Kohl 🦊|BY\nhttps://twitter.com/FloriKohl\n\n\n17\n0.00053\n0.12848\nKargStiftung\nKarg-Stiftung\nhttps://twitter.com/KargStiftung\n\n\n18\n0.00051\n0.12270\nleibniz_bildung\nleibniz_bildung\nhttps://twitter.com/leibniz_bildung\n\n\n19\n0.00047\n0.11365\nsusanneposselt\nSusanne Posselt • #EduBW\nhttps://twitter.com/susanneposselt\n\n\n20\n0.00043\n0.10522\nninastahr\nNina Stahr\nhttps://twitter.com/ninastahr"
},
{
"objectID": "src/analysis_bildungsgipfel.html#acknowledgements",
"href": "src/analysis_bildungsgipfel.html#acknowledgements",
"title": "Analyses of retweets on the topic of Bildungsgipfel",
"section": "Acknowledgements",
"text": "Acknowledgements\n\nThe text and code for this analysis draws heavily from this template provided by DataCamp."
},
{
"objectID": "src/index.html",
"href": "src/index.html",
"title": "Twitter Network Analyses",
"section": "",
"text": "Twitter Network Analyses\nA repository by the Data Science Lab containing scripts related to network analyses of twitter data.\nAvailable analyses:\nLehrkräftebildung\nBildungsgipfel\nNeustartBildungJetzt"
},
{
"objectID": "src/analysis_lehrkraeftebildung.html",
"href": "src/analysis_lehrkraeftebildung.html",
"title": "Analyses of retweets on the topic of Lehrkräftebildung",
"section": "",
"text": "Information about the dataset:\nCode\n# PREPARE DATA\nimport json\nimport pandas as pd\n\nfrom src.analysis_functions import (\n get_query_info,\n get_time_range,\n metadata_prints,\n prep_data,\n)\n\ntitle = \"Lehrkräftebildung\"\ntopic_name = \"lehrkraeftebildung\"\ndata_path = \"data/raw/all_tweets_lehrkraeftebildung.parquet\"\n\n# get information about the topic\nsearch_words, query_conds = get_query_info(\n json_file=\"assets/topics.json\", topic_name=topic_name\n)\n\n# load dataset\ndf = prep_data(data_path)\n\n# get information about the time range\nstart_date, end_date = get_time_range(df, \"de_DE\")\n\nmetadata_prints(df, start_date, end_date, search_words, query_conds)\n\n# drop retweets with missing usernames\ntry:\n missing_usernames = df.tweet_author_username.isnull().value_counts()[True]\nexcept KeyError:\n missing_usernames = 0\ndf = df.dropna(subset=[\"tweet_author_username\"])\nprint(\n f\"\\nNumber of retweets with missing usernames for the original tweeter: {missing_usernames}\\nThese are being dropped from the analysis. New total of retweets: {len(df)}\\n\"\n)\n\n\nNumber of total retweets in this dataset: \n24689\n\nTime range of the retweets:\nFebruary 23, 2023 - June 8, 2023\n\nKeywords* used to collect the retweets:\n(Lehrkräftebildung OR Lehrerbildung OR Lehrkräfte OR Lehrkräftefortbildung OR Seiteneinstieg OR Quereinstieg OR Lehramt)\n\nQuery conditions used to collect the retweets:\n(is:retweet OR is:quote) lang:de\n\nNumber of retweets with missing usernames for the original tweeter: 277\nThese are being dropped from the analysis. New total of retweets: 24412\n*They keywords above mean the retweets were collected from Twitter whenever any of the above keywords were found in the text of the retweet."
},
{
"objectID": "src/analysis_lehrkraeftebildung.html#visualizing-the-network",
"href": "src/analysis_lehrkraeftebildung.html#visualizing-the-network",
"title": "Analyses of retweets on the topic of Lehrkräftebildung",
"section": "Visualizing the Network",
"text": "Visualizing the Network\nHere are a few important things to note about the network visualization:\n\nEvery node (i.e. circle) represents a Twitter user.\nThe colour of the node represents the number of times that user’s tweets were retweeted. In other words, the darker the colour of the node, the more times that user was retweeted by other users. Those who only retweet and do not produce any tweets themselves are coloured bright yellow.\nSimilarly, the size of the node represents how many connections each node has. This includes incoming and outgoing connections, meaning both how many times they retweeted another user’s tweet and how many times their original tweets were retweeted. So both users who get retweeted very often by other users (i.e. content producers) and users who simply retweet a lot (i.e. content spreaders or even bots) will have larger sizes.\n\n\n\nCode\nfrom src.analysis_functions import generate_network_graph\n\npopular_tweeters, bridging_users, active_retweeters = generate_network_graph(df, title)"
},
{
"objectID": "src/analysis_lehrkraeftebildung.html#calculating-the-importance-of-users-in-the-network",
"href": "src/analysis_lehrkraeftebildung.html#calculating-the-importance-of-users-in-the-network",
"title": "Analyses of retweets on the topic of Lehrkräftebildung",
"section": "Calculating the Importance of Users in the Network",
"text": "Calculating the Importance of Users in the Network\nBelow are three measures of centrality for each user in the network:\n\nIn-degree centrality represents the number of connections going into a node.\n\nIn the case of retweets, in-degree centrality will indicate that a user is getting a large number of retweets.\n\nOut-degree centrality represents the number of connections going out of a node.\n\nIn the case of retweets, out-degree centrality will indicate that a user is retweeting a lot.\n\nBetweeness centrality represents the number of ‘shortest paths’ between nodes that pass through through a specific node.\n\nIn the case of retweets, it measures the extent to which a user connects different communities of users.\n\n\n\n\nCode\nfrom src.analysis_functions import get_authors_name, get_top_users\n\nauthors = get_authors_name(df)\n\n\n\nIn-degree centrality / users getting a lot of retweets\nBelow are the top 20 users with the most in-degree centrality / retweeted tweets.\n\n\nCode\nget_top_users(popular_tweeters, authors, \"in-degree_centrality\", 20)\n\n\n\n\n\n\n\n\n\nin-degree_centrality\nin-degree_centrality (normalised)\nusername\nname\nprofile_url\n\n\n\n\n1\n0.15970\n1.00000\nPSHolstein\nPhilipp S. Holstein\nhttps://twitter.com/PSHolstein\n\n\n2\n0.04251\n0.26617\nBentFreiwald\nBent Freiwald\nhttps://twitter.com/BentFreiwald\n\n\n3\n0.03852\n0.24122\nleseerlaubnis\nLesenUndTeilen©\nhttps://twitter.com/leseerlaubnis\n\n\n4\n0.02834\n0.17745\nblume_bob\nNᴇᴛᴢʟᴇʜʀᴇʀ\nhttps://twitter.com/blume_bob\n\n\n5\n0.02472\n0.15481\nDurdenGaming\nDurden\nhttps://twitter.com/DurdenGaming\n\n\n6\n0.02354\n0.14741\nGeorg_Pazderski\nGeorg Pazderski\nhttps://twitter.com/Georg_Pazderski\n\n\n7\n0.02133\n0.13355\nZDFheute\nZDFheute\nhttps://twitter.com/ZDFheute\n\n\n8\n0.02118\n0.13262\nAndreasKemper\nNaN\nhttps://twitter.com/AndreasKemper\n\n\n9\n0.01860\n0.11645\njuliansfrth\nJulian Seiferth\nhttps://twitter.com/juliansfrth\n\n\n10\n0.01749\n0.10952\nlueckenbildung\nDominik Schöneberg\nhttps://twitter.com/lueckenbildung\n\n\n11\n0.01624\n0.10166\nWDRaktuell\nWDR aktuell\nhttps://twitter.com/WDRaktuell\n\n\n12\n0.01624\n0.10166\nBildungSicher\n#BildungAberSicher\nhttps://twitter.com/BildungSicher\n\n\n13\n0.01491\n0.09335\nDrKissler\nAlexander Kissler\nhttps://twitter.com/DrKissler\n\n\n14\n0.01469\n0.09196\nAnthroBlogger\nOliver Rautenberg | @[email protected]\nhttps://twitter.com/AnthroBlogger\n\n\n15\n0.01461\n0.09150\nDeu_Kurier\nNaN\nhttps://twitter.com/Deu_Kurier\n\n\n16\n0.01314\n0.08226\nRicardoLange4\nNaN\nhttps://twitter.com/RicardoLange4\n\n\n17\n0.01203\n0.07532\nfingurplaustert\nMissTrelawny (sic!)\nhttps://twitter.com/fingurplaustert\n\n\n18\n0.01188\n0.07440\nKaiGehring\nKai Gehring\nhttps://twitter.com/KaiGehring\n\n\n19\n0.01173\n0.07348\nwatch_union\nUnionWatch / @[email protected]\nhttps://twitter.com/watch_union\n\n\n20\n0.01114\n0.06978\nAmadeuAntonio\nNaN\nhttps://twitter.com/AmadeuAntonio\n\n\n\n\n\n\n\n\n\nOut-degree centrality / users retweeting a lot\nBelow are the top 20 users with the most out-degree centrality / retweets.\n\n\nCode\nget_top_users(active_retweeters, authors, \"out-degree_centrality\", 20)\n\n\n\n\n\n\n\n\n\nout-degree_centrality\nout-degree_centrality (normalised)\nusername\nname\nprofile_url\n\n\n\n\n1\n0.03779\n1.00000\nBot_TwLehrerZ\nBot Tw!tterlehrerzimmer\nhttps://twitter.com/Bot_TwLehrerZ\n\n\n2\n0.00399\n0.10547\nDoriiien\nDoris Niehoff\nhttps://twitter.com/Doriiien\n\n\n3\n0.00325\n0.08594\ngoesicke\nKai-Uwe Gösicke\nhttps://twitter.com/goesicke\n\n\n4\n0.00310\n0.08203\nJu1820\nJ R\nhttps://twitter.com/Ju1820\n\n\n5\n0.00258\n0.06836\nlothenon\nLothenon\nhttps://twitter.com/lothenon\n\n\n6\n0.00236\n0.06250\nseni_bl\nInes Bieler\nhttps://twitter.com/seni_bl\n\n\n7\n0.00236\n0.06250\nMandala81966\nMandala #TeamKinderschutz 😷\nhttps://twitter.com/Mandala81966\n\n\n8\n0.00229\n0.06055\nKinderJournal\nZuwendung\nhttps://twitter.com/KinderJournal\n\n\n9\n0.00221\n0.05859\nDBS_20\[email protected]\nhttps://twitter.com/DBS_20\n\n\n10\n0.00214\n0.05664\nnicole37911\nnicole3791, B.A.\nhttps://twitter.com/nicole37911\n\n\n11\n0.00192\n0.05078\nFloriKohl\nFlori Kohl 🦊|BY\nhttps://twitter.com/FloriKohl\n\n\n12\n0.00192\n0.05078\nmiaumiau1975\n😷\nhttps://twitter.com/miaumiau1975\n\n\n13\n0.00185\n0.04883\nArsenio57509279\nArsenio\nhttps://twitter.com/Arsenio57509279\n\n\n14\n0.00185\n0.04883\nlgoshen\nNaN\nhttps://twitter.com/lgoshen\n\n\n15\n0.00170\n0.04492\nThomasKnorra\nThomas Knorra 😷🌍\nhttps://twitter.com/ThomasKnorra\n\n\n16\n0.00170\n0.04492\nlurhenne\nLisa Urhahn\nhttps://twitter.com/lurhenne\n\n\n17\n0.00170\n0.04492\neduBWbot\neduBWbot\nhttps://twitter.com/eduBWbot\n\n\n18\n0.00170\n0.04492\njulian07646263\njules\nhttps://twitter.com/julian07646263\n\n\n19\n0.00162\n0.04297\n13Myri\nMyri W. 📯 #StandWithUkraine 🇺🇦\nhttps://twitter.com/13Myri\n\n\n20\n0.00162\n0.04297\n_Kinderrechte_\n☮️Kinderrechte 😷\nhttps://twitter.com/_Kinderrechte_\n\n\n\n\n\n\n\n\n\nBetweeness centrality / users connecting different communities\nBelow are the top 20 users with the most betweeness centrality / connecting different communities.\n\n\nCode\nget_top_users(bridging_users, authors, \"betweenness\", 20)\n\n\n\n\n\n\n\n\n\nbetweenness\nbetweenness (normalised)\nusername\nname\nprofile_url\n\n\n\n\n1\n0.01596\n1.00000\nBot_TwLehrerZ\nBot Tw!tterlehrerzimmer\nhttps://twitter.com/Bot_TwLehrerZ\n\n\n2\n0.01486\n0.93094\nsusanneposselt\nSusanne Posselt • #EduBW\nhttps://twitter.com/susanneposselt\n\n\n3\n0.00878\n0.55013\nlernendigitalDE\nKompetenzverbund lernen:digital\nhttps://twitter.com/lernendigitalDE\n\n\n4\n0.00861\n0.53938\nDBS_20\[email protected]\nhttps://twitter.com/DBS_20\n\n\n5\n0.00715\n0.44771\nHSE_Heidelberg\nHeidelberg School of Education\nhttps://twitter.com/HSE_Heidelberg\n\n\n6\n0.00710\n0.44505\nsdw_Stiftung\nStiftung der Deutschen Wirtschaft (sdw)\nhttps://twitter.com/sdw_Stiftung\n\n\n7\n0.00666\n0.41750\nSenBJF\nSenatsverwaltung für Bildung, Jugend und Familie\nhttps://twitter.com/SenBJF\n\n\n8\n0.00641\n0.40127\nAndreasKemper\nNaN\nhttps://twitter.com/AndreasKemper\n\n\n9\n0.00640\n0.40067\nPartnerSchule\nPartnerSchuleWirtschaft\nhttps://twitter.com/PartnerSchule\n\n\n10\n0.00449\n0.28140\nleseerlaubnis\nLesenUndTeilen©\nhttps://twitter.com/leseerlaubnis\n\n\n11\n0.00380\n0.23817\nBentFreiwald\nBent Freiwald\nhttps://twitter.com/BentFreiwald\n\n\n12\n0.00341\n0.21390\nFloriKohl\nFlori Kohl 🦊|BY\nhttps://twitter.com/FloriKohl\n\n\n13\n0.00306\n0.19143\nFrauFuchs5\n@[email protected]\nhttps://twitter.com/FrauFuchs5\n\n\n14\n0.00215\n0.13458\nForumBilDig\nForum Bildung Digitalisierung\nhttps://twitter.com/ForumBilDig\n\n\n15\n0.00212\n0.13268\njoschafalck\nJoscha Falck\nhttps://twitter.com/joschafalck\n\n\n16\n0.00198\n0.12384\nciffi\nchristian füller\nhttps://twitter.com/ciffi\n\n\n17\n0.00163\n0.10236\nDerMedienwart\nMedienwart | FCKWR | medien.kompetenz.schulen\nhttps://twitter.com/DerMedienwart\n\n\n18\n0.00163\n0.10197\nblume_bob\nNᴇᴛᴢʟᴇʜʀᴇʀ\nhttps://twitter.com/blume_bob\n\n\n19\n0.00160\n0.10042\ntelekomstiftung\ntelekomstiftung\nhttps://twitter.com/telekomstiftung\n\n\n20\n0.00141\n0.08834\nWoe_Real\nKai Wörner\nhttps://twitter.com/Woe_Real"
},
{
"objectID": "src/analysis_lehrkraeftebildung.html#acknowledgements",
"href": "src/analysis_lehrkraeftebildung.html#acknowledgements",
"title": "Analyses of retweets on the topic of Lehrkräftebildung",
"section": "Acknowledgements",
"text": "Acknowledgements\n\nThe text and code for this analysis draws heavily from this template provided by DataCamp."
}
]