1 00:00:04,150 --> 00:00:04,710 All right. 2 00:00:04,710 --> 00:00:05,390 Hello, everybody. 3 00:00:05,390 --> 00:00:09,910 My name is Master Chen, and you are watching or listening to Twitter Word Frequency. 4 00:00:10,170 --> 00:00:11,450 Welcome to my talk. 5 00:00:12,430 --> 00:00:12,990 All right. 6 00:00:12,990 --> 00:00:16,050 So, let's start with who I am, or who am I. 7 00:00:16,090 --> 00:00:21,770 I'm a prior B-Side speaker, where I spoke about being a con man and working in Vegas surveillance. 8 00:00:23,030 --> 00:00:31,710 I spoke at DEF CON on VoIP security, as well as DC Sky Talks on automate your stocking, which we'll kind of cover a little bit about today. 9 00:00:32,930 --> 00:00:44,770 And most recently, the Recon Village in the last few years, where we talked about stalker in a haystack, URL shortened by any other name, which was last year, and of course, this year and this talk. 10 00:00:45,670 --> 00:00:47,110 It's virtual now. 11 00:00:48,370 --> 00:00:50,510 You can find me at ChenBox. 12 00:00:50,550 --> 00:00:53,690 That is my handle on most social media. 13 00:00:54,090 --> 00:00:55,470 So, feel free to follow. 14 00:00:56,730 --> 00:00:57,390 All right. 15 00:00:57,390 --> 00:01:03,450 So, let's get into this, and let's start from where we are at this point in time. 16 00:01:03,630 --> 00:01:11,910 And I think that'll help us understand where my mindset is when it comes to this talk. 17 00:01:12,550 --> 00:01:18,410 So, of course, I started with automate your stocking, where I was digging into my Twitter research. 18 00:01:18,410 --> 00:01:19,250 This is bad. 19 00:01:19,250 --> 00:01:22,910 And we learned that during the DC Sky Talks a couple of years ago. 20 00:01:23,810 --> 00:01:32,910 So, the following year, I did stalker in a haystack, where we figure out how to not be stalked, or at least we can detect cyber stalking. 21 00:01:33,610 --> 00:01:35,050 That was good. 22 00:01:36,470 --> 00:01:44,330 And now I've gotten recently into political sports betting, or, you know, market speculation, which is part of the story. 23 00:01:44,910 --> 00:01:46,310 And profiling. 24 00:01:46,310 --> 00:01:51,190 I mean, profiling like social media profiling on different accounts. 25 00:01:51,570 --> 00:01:53,750 And of course, I do have a degree in psychology. 26 00:01:53,750 --> 00:01:56,710 So, all this wraps up into where we are at this point. 27 00:01:56,710 --> 00:02:05,090 So, these five pieces are what kind of has gotten around this research here. 28 00:02:07,180 --> 00:02:08,780 So, about this talk. 29 00:02:09,080 --> 00:02:14,760 I'm gonna start with the original goal and how I came up with what I was researching at that moment. 30 00:02:15,460 --> 00:02:23,180 Why that failed and why we move on to what it is currently now as I'm presenting this. 31 00:02:23,180 --> 00:02:27,020 And what I would like my current research to be in the future. 32 00:02:28,720 --> 00:02:34,440 So, before we get into all of that, though, let's talk about caveats and disclaimers and warnings. 33 00:02:34,560 --> 00:02:35,880 Oh, my. 34 00:02:36,760 --> 00:02:38,120 I'm bad at that. 35 00:02:38,120 --> 00:02:49,880 Anyway, first caveat or first disclaimer is for those who have followed my work before, you know that I've said I anal or I anus, which is I am not a lawyer and I am not a stalker. 36 00:02:49,880 --> 00:02:55,560 I'm gonna add something new to that, because I'm very new to the whole data science thing. 37 00:02:55,560 --> 00:03:04,380 I've only recently gotten into using Pandas and Scikit-learn and NumPy and all these different data analytics tools. 38 00:03:04,520 --> 00:03:06,920 So, I've added INADs. 39 00:03:06,920 --> 00:03:08,840 I am not a data scientist. 40 00:03:09,400 --> 00:03:15,280 I'm not a lawyer, I'm not a stalker, and I am definitely not a data scientist, but I'll try my best. 41 00:03:16,240 --> 00:03:32,280 So, this project is a work in progress, and I'm hoping that after I explain kind of what we're doing here today, that maybe I can get some help from the community to further this project, or at least now that I've defined the basics, I can continue and make this something very strong. 42 00:03:33,660 --> 00:03:35,520 This is a neutral tool. 43 00:03:35,520 --> 00:03:42,700 I'm not building what I'm building today for stalking purposes, you know, this is just a tool. 44 00:03:42,700 --> 00:03:50,140 You use it how you want, but of course, as always, I'm not going to be held responsible for what you do with my research. 45 00:03:51,740 --> 00:03:55,500 And I did not stand on the shoulders of giants for this research. 46 00:03:55,500 --> 00:04:11,840 What I mean by that is, I know that there's a lot of research already in the space when it comes to frequency analysis, word frequency analysis, you know, sentiment analysis, NLP, not neuro-linguistic programming, but natural language processing. 47 00:04:12,480 --> 00:04:18,500 I know that there's all that research out there, and I barely used any of it. 48 00:04:18,500 --> 00:04:27,700 So, I would like to integrate that later, but I just want to let you know that for this particular talk, that was really not used. 49 00:04:27,700 --> 00:04:31,220 So, it is definitely a work in progress. 50 00:04:32,840 --> 00:04:33,500 All right. 51 00:04:33,500 --> 00:04:37,380 So, again, for those of you who know me, I'm not a sports guy. 52 00:04:37,920 --> 00:04:43,040 I've only recently gotten into hockey, and I've always been a UFC fan, but other than that, I'm not a sports person. 53 00:04:43,040 --> 00:04:53,120 So, I've never been into the sports book, but one thing I know about being in Vegas for my entire life is that there's a sports book for every market. 54 00:04:53,120 --> 00:04:59,680 It doesn't matter what the market or what the speculation is, there's a sports book for it or a betting market for it. 55 00:04:59,860 --> 00:05:01,620 And that's where we start our story. 56 00:05:02,540 --> 00:05:07,920 So, if anybody's ever heard of predicted.org, it's a market for political sports betting. 57 00:05:07,920 --> 00:05:12,880 So, you can bet on who you think the next president's going to be, not just in America, but globally. 58 00:05:13,480 --> 00:05:18,960 Pick a country, pick a state, pick a, you know, impeachment hearings. 59 00:05:20,760 --> 00:05:22,100 Who will run the White House? 60 00:05:22,100 --> 00:05:23,180 Who's going to be the VP pick? 61 00:05:23,180 --> 00:05:26,000 All of these different markets are on predicted.org. 62 00:05:26,280 --> 00:05:34,860 And so, you can make a fair amount of money if you know what you're doing, or you can just have a casual bet and just be right with a few dollars and cents. 63 00:05:35,280 --> 00:05:49,040 And so, and specifically, we're going to be talking about President Donald Trump's tweets as that is kind of a famous thing here and how it pertains to the political sports betting market. 64 00:05:49,400 --> 00:05:50,160 Okay. 65 00:05:50,740 --> 00:05:58,420 And well, let's get into that now, because right now we're talking about piecount.com, which is a tweet counter that's out there on the internet. 66 00:05:58,700 --> 00:06:05,780 And it keeps track on a weekly basis of the president's tweets, as well as the VP, the White House, and the POTUS accounts. 67 00:06:06,740 --> 00:06:14,620 And this is all geared towards the tweet market that predicted offers or used to offer, and we'll get into that in a second. 68 00:06:15,140 --> 00:06:20,580 But we're talking about Twitter, you know, Twitter markets. 69 00:06:20,580 --> 00:06:35,960 Again, this is on a weekly basis, the question or the market is, how many tweets will the president tweet out for this particular week, starting from Wednesday of this week and going on to Wednesday of the next week, it could be anywhere from, you know, 70 00:06:35,960 --> 00:06:45,520 50, which is, which is highly unlikely, all the way up to, you know, 300, 400, you know, and, and that's, that's what I was analyzing beforehand. 71 00:06:46,440 --> 00:06:51,060 Now, I wanted to know if the profits could be based off of analytics. 72 00:06:51,360 --> 00:07:02,900 And, you know, could the, could I anticipate what he would be tweeting based off of current events, news, drama, anything that's out there in the global space. 73 00:07:03,060 --> 00:07:09,620 And the goal, the goal with this original research was to get the president to pay for my energy bill. 74 00:07:09,620 --> 00:07:21,400 So if I made enough money on this predicted.org market, could I pay the energy, my energy bill at the house with, with Donald Trump's tweets, that's, that's where I was going with this whole thing. 75 00:07:23,160 --> 00:07:30,060 So again, prior research is the frequency of the tweets, how often he would tweet in that week. 76 00:07:30,060 --> 00:07:47,660 And, and I was capturing, as you'll see here, in the CSV file on the right side of the screen here, well, we see 68 in the week of, of April of 2019. 77 00:07:47,820 --> 00:07:50,600 We see 137, 140, 141. 78 00:07:50,600 --> 00:07:55,420 So these are all a rolling tally or running tally of, of his tweets. 79 00:07:55,420 --> 00:08:03,880 And of course, you graph it using, using Jupyter, a Jupyter notebook, you know, you, you graph it and see the frequency here. 80 00:08:03,880 --> 00:08:09,520 And then you ask yourself, you know, was this peak here due to impeachment drama? 81 00:08:09,520 --> 00:08:14,200 Was this due to some sort of scandal or emergency in the Middle East? 82 00:08:14,200 --> 00:08:17,040 What caused these peaks of tweets? 83 00:08:17,040 --> 00:08:19,980 Was it just somebody getting on the president's nerves? 84 00:08:20,040 --> 00:08:24,240 These were all the questions that I was asking at the time, but there's a problem. 85 00:08:24,980 --> 00:08:28,420 Predicted.org actually stopped their, their tweet markets. 86 00:08:28,420 --> 00:08:37,660 So while, while Predicted is still around, they no longer offer you the ability to, to bet on, on, on tweets. 87 00:08:37,800 --> 00:08:43,240 And so all of this research has kind of just stopped, you know, so they, they changed their offerings. 88 00:08:43,240 --> 00:08:47,840 They, they started to offer other markets that just weren't working fast enough. 89 00:08:47,840 --> 00:08:51,720 It, you know, these other markets aren't resolving on a weekly basis. 90 00:08:51,860 --> 00:08:54,180 And so my profits slowed to a halt. 91 00:08:55,200 --> 00:09:05,680 And so because of that, this whole project that I was working on, as far as tweet frequency, it, it kind of took a back, a back burner and I, I kind of forgot about it for a couple of months. 92 00:09:06,440 --> 00:09:10,080 Um, but, um, it got resurrected. 93 00:09:10,080 --> 00:09:14,020 And so, uh, the project lives and, and I'll tell you why. 94 00:09:14,280 --> 00:09:21,620 So I tweet on a regular basis and I tweet very vague, vague things. 95 00:09:21,620 --> 00:09:24,300 Um, and, and that's on purpose, I would say. 96 00:09:24,300 --> 00:09:26,540 Um, it could be a Zen of the day quote. 97 00:09:26,540 --> 00:09:30,420 It could be, uh, something obscure or just something that's on my mind, right? 98 00:09:30,420 --> 00:09:32,100 Because that's exactly what Twitter is used for. 99 00:09:32,100 --> 00:09:37,440 You, and then you just let it out there. 100 00:09:37,500 --> 00:09:39,060 It's not always political. 101 00:09:39,060 --> 00:09:40,960 It's not always socially driven. 102 00:09:40,960 --> 00:09:43,420 It's just a thought that's on your mind. 103 00:09:43,420 --> 00:09:52,960 Well, I had one of my followers, um, kind of get a little bit offended or had a little bit of ruffled feathers here, um, with one of my tweets. 104 00:09:53,320 --> 00:10:11,560 And so, uh, he kind of got mad at me and, you know, I wasn't being political, but the vagueness of my tweet allowed, uh, this particular person to, uh, project their political ideals on, on my tweet. 105 00:10:11,560 --> 00:10:19,720 So, um, I thought about that for a while and I could have gotten mad and, and, and, you know, gotten back and forth with him, um, but I didn't. 106 00:10:19,720 --> 00:10:24,000 And instead, like, I don't get mad, but I will turn you into research. 107 00:10:24,220 --> 00:10:26,960 And, and that's what's bringing us here today. 108 00:10:27,700 --> 00:10:38,320 So again, the target projected their beliefs on me and the meaning of my tweet, even though there was no correlation there, there was nothing to, to draw conclusions from. 109 00:10:38,620 --> 00:10:39,280 Okay. 110 00:10:39,280 --> 00:10:45,940 And so blindsided by rage, meaning that I had no idea that I, that this was going to be happening. 111 00:10:45,940 --> 00:10:49,880 Um, but I asked myself, could I have seen this coming? 112 00:10:50,100 --> 00:11:01,700 Could I have predicted that maybe what I tweeted, um, would result in a certain outrage from not just a certain demographic, but from maybe specific people. 113 00:11:02,580 --> 00:11:05,560 And this is still the work in progress. 114 00:11:05,960 --> 00:11:11,440 So, um, who are we targeting, um, with, with what we're working with today? 115 00:11:11,640 --> 00:11:23,900 Well, as, as stated in the last slide, we're working with political opponents or, uh, we're talking about political opponents and not because we're trying to be political, but just because, um, this is a use case, uh, for, for what we're doing here. 116 00:11:23,900 --> 00:11:25,060 This is a scenario. 117 00:11:25,480 --> 00:11:36,760 Um, corporate marks, we could use what we're going to do today for, you know, spear phishing or, uh, maybe password lists or some sort of targeted, um, execution of, of an attack. 118 00:11:37,640 --> 00:11:53,320 Um, cyber bullies, you know, there are plenty out there and wouldn't you want a leg up if you knew the type of vocabulary that they were using, uh, the, uh, way in which they tweet, the sentiment behind their tweets, and maybe you could, uh, you know, 119 00:11:53,320 --> 00:11:59,080 work for a better outcome, uh, against your cyber bullies because yes, they are definitely out there. 120 00:11:59,340 --> 00:12:02,080 Now, sadly, I have to address this. 121 00:12:02,080 --> 00:12:05,160 Um, this also has some stalker interests. 122 00:12:05,160 --> 00:12:10,980 Um, but remember what I said before, and in my previous research, stalker interest, this is bad. 123 00:12:10,980 --> 00:12:12,780 It can be used for stalking. 124 00:12:12,780 --> 00:12:14,020 I do not condone it. 125 00:12:14,020 --> 00:12:16,820 I, I think we've, we've crossed that already. 126 00:12:16,820 --> 00:12:17,440 Yes. 127 00:12:18,060 --> 00:12:18,500 Okay. 128 00:12:18,500 --> 00:12:19,500 So what are we talking about? 129 00:12:20,280 --> 00:12:24,820 Well, everybody knows Twitter is a gold mine for OSINT and recon. 130 00:12:24,820 --> 00:12:25,380 Okay. 131 00:12:25,660 --> 00:12:27,720 Um, and, and, and it's not a secret. 132 00:12:27,720 --> 00:12:32,120 It's, it's very well known and it's, it's that way by design. 133 00:12:32,440 --> 00:12:38,200 Um, not everybody has a private account and, and it kind of ruins the fun if you are on a private account. 134 00:12:39,520 --> 00:12:43,600 So, um, Twitter, we know as a publicly shared sentiment. 135 00:12:43,600 --> 00:12:47,680 If you're going to put it on Twitter, you have to expect that, uh, it can be analyzed. 136 00:12:47,680 --> 00:12:48,860 It can be scraped. 137 00:12:48,860 --> 00:12:49,820 It could be mined. 138 00:12:49,820 --> 00:12:54,240 It could be, um, used for research such as today's research. 139 00:12:55,140 --> 00:13:05,500 So what we're doing though is we're making an at-a-glance picture of what this profile, a target profile, um, is about, what it's all about. 140 00:13:05,500 --> 00:13:25,120 So, um, you know, the term at-a-glance, what I'm talking about here is instead of, instead of having to scroll through an entire timeline to understand what this particular profile is all about, what if we could just take a look at a dashboard or, or just one screen and understand the sentiment of that, 141 00:13:25,120 --> 00:13:27,220 uh, Twitter profile? 142 00:13:27,300 --> 00:13:30,360 That's, that's something that, uh, I think would be very valuable. 143 00:13:31,100 --> 00:13:31,660 Why? 144 00:13:31,660 --> 00:13:32,720 Why are we doing this? 145 00:13:32,720 --> 00:13:35,800 Well, um, because I can, because we can. 146 00:13:35,800 --> 00:13:38,480 We're hackers, uh, and, and this is what we do. 147 00:13:38,500 --> 00:13:47,760 Um, we look at something, we look at a problem, we look at maybe a scenario that has recently happened to us, and we say, okay, I know how to fix that, or I know what I can do about that. 148 00:13:47,760 --> 00:13:50,380 So yes, because I can, because we can. 149 00:13:50,500 --> 00:13:51,840 Remember, we're hackers. 150 00:13:53,500 --> 00:13:59,360 All right, and we also want to do this because, um, this gives us an insight into tendency of the profile. 151 00:13:59,360 --> 00:13:59,540 Okay. 152 00:13:59,540 --> 00:14:10,280 Uh, again, and the goal is here to, to find maybe quicker red flags, maybe catch that outrage, um, before, uh, it bubbles up and, and, and blindsides us. 153 00:14:10,580 --> 00:14:11,260 Okay. 154 00:14:11,260 --> 00:14:15,500 And of course, uh, as with anything, we could use this for later weaponization. 155 00:14:15,500 --> 00:14:20,320 Uh, we could turn this into something that could be an offensive tool if needed, of course. 156 00:14:20,320 --> 00:14:30,940 Uh, we're talking about password lists, uh, further social profiling, uh, maybe psychological profiling, uh, and troll bots, you know, um, maybe they could have a conversation with themselves. 157 00:14:32,480 --> 00:14:33,740 Now, how are we going to do this? 158 00:14:33,800 --> 00:14:35,680 Well, we're going to look at a couple of things. 159 00:14:36,880 --> 00:14:45,720 Uh, we're going to track a small sample size of the, uh, recent tweets in the timeline and an ongoing sample, of course, as we add that programmatically. 160 00:14:46,800 --> 00:14:55,600 And we're going to be doing our analysis on, uh, word frequency, word choice, uh, retweet frequency, um, and hashtag usage. 161 00:14:55,600 --> 00:14:58,820 That's actually, uh, of course, as we know, it's pretty important. 162 00:14:59,200 --> 00:15:00,000 Okay. 163 00:15:00,200 --> 00:15:00,720 All right. 164 00:15:00,720 --> 00:15:01,740 So let's take a look at the code. 165 00:15:01,740 --> 00:15:06,540 But before we do a couple of notes here, um, and you can play the game at home actually . 166 00:15:06,540 --> 00:15:12,000 So now by the time that you're watching this, um, this should be available and public for you and your consumption. 167 00:15:12,000 --> 00:15:15,940 So you can follow along with what I'm doing here, uh, in the next few slides. 168 00:15:15,980 --> 00:15:20,780 So, uh, I'll go ahead and give you a minute to, to take that, uh, link down. 169 00:15:21,060 --> 00:15:23,000 Um, and we'll go from there. 170 00:15:23,380 --> 00:15:25,600 Actually, there's a couple more, uh, points here. 171 00:15:25,600 --> 00:15:31,880 So, uh, it's just basically my GitHub handle and, uh, you know, the, the name of the project, Twitter word frequency. 172 00:15:32,920 --> 00:15:38,960 Um, now we scraped, I scraped, um, this, uh, information with Python and it's all Python. 173 00:15:38,960 --> 00:15:40,060 All of this is Python. 174 00:15:40,200 --> 00:15:44,240 Um, but I scraped with, uh, an actual Python file. 175 00:15:44,320 --> 00:15:48,700 Um, and then I use a Jupyter notebook for more, um, analysis. 176 00:15:48,700 --> 00:15:50,300 And there's a reason for that as well. 177 00:15:50,300 --> 00:15:52,480 And we'll see that in the next couple of slides. 178 00:15:53,120 --> 00:15:59,320 Uh, in the background here, you'll see your code snippet of the actual script, uh, which pulls the timeline. 179 00:15:59,320 --> 00:16:00,840 Um, now there's a couple of things here. 180 00:16:00,840 --> 00:16:05,320 It either, um, checks to see if the timeline has already been saved on your machine. 181 00:16:05,380 --> 00:16:15,740 And if it hasn't been saved on your machine, it then goes out, uh, using the Twitter API, um, to grab, uh, the latest, uh, timeline, uh, of your subject or of your target. 182 00:16:15,840 --> 00:16:16,440 Okay. 183 00:16:16,560 --> 00:16:21,600 Now in the foreground here, you're going to be seeing, um, uh, a snippet from the Jupyter notebook. 184 00:16:21,720 --> 00:16:29,460 And I used the Jupyter notebook because, um, maybe I wanted to run a little snippet of the code without running the entire script. 185 00:16:29,620 --> 00:16:31,760 So a lot of the code is going to be the same. 186 00:16:31,780 --> 00:16:49,200 Um, but with, uh, with Jupyter notebook, you know, and I'm sure everybody who's in data science already remember I'm not, um, you, you already understand that you can take these pieces of, uh, or snippets of code and just run those individually and change things as new data becomes available to you. 187 00:16:50,020 --> 00:16:50,680 All right. 188 00:16:50,680 --> 00:16:53,120 So let's talk now about the analysis. 189 00:16:53,120 --> 00:16:53,360 Okay. 190 00:16:53,360 --> 00:16:56,420 So this first analysis is actually, um, myself. 191 00:16:56,420 --> 00:17:00,700 This is my own, um, analysis on, on my handle at Chenbox. 192 00:17:01,020 --> 00:17:13,940 Um, so on the left side, uh, you'll see a couple of the words here that I've used on a regular basis, of course, with, with the most current recent events, you see mask is used there six times, uh, Twitter. 193 00:17:13,940 --> 00:17:14,200 Okay. 194 00:17:14,200 --> 00:17:18,100 Cause I've, I've had opinions about Twitter on Twitter. 195 00:17:18,100 --> 00:17:18,400 Okay. 196 00:17:18,400 --> 00:17:19,400 So that's, that's there. 197 00:17:19,480 --> 00:17:25,800 Um, now you'll notice that these red blotched out, uh, pieces are actually, um, these are Twitter accounts. 198 00:17:25,820 --> 00:17:26,320 Okay. 199 00:17:26,320 --> 00:17:30,120 Um, and, and how often I've referenced these Twitter accounts. 200 00:17:30,120 --> 00:17:43,540 Uh, so this can be a way that we can, again, we're talking about at a glance, um, we can see, um, who we're looking at, um, who, uh, we're associating with, uh, quite quickly and right, right up front. 201 00:17:43,540 --> 00:17:44,300 Okay. 202 00:17:45,000 --> 00:17:54,280 Um, on the, in the middle, on the, on the top side, you'll see, um, I have a red dot right next to RT, RT, medium course retweet. 203 00:17:54,280 --> 00:17:59,540 And you'll see that my retweet frequency is about 54 times in a 200 tweets sample. 204 00:17:59,540 --> 00:18:00,180 That's what that means. 205 00:18:00,180 --> 00:18:07,760 Remember this is out of, out of 200 tweets, um, 200, uh, tweets, uh, 54 of those were retweets of other people. 206 00:18:07,760 --> 00:18:11,740 And of course, uh, all these Twitter accounts, um, that are blotched out. 207 00:18:11,840 --> 00:18:17,540 Um, I think it would be safe to assume that if I'm not mentioning somebody, um, I'm definitely retweeting them. 208 00:18:17,540 --> 00:18:25,560 Um, at the bottom, you'll see, uh, 2638, which is the word count associated with the last 200 tweets sample of my own personal account. 209 00:18:25,600 --> 00:18:28,540 Uh, I'm using mine as a base, as a baseline. 210 00:18:28,980 --> 00:18:34,860 And on the right side, um, you'll see, uh, hashtags and of course it's frequency. 211 00:18:34,860 --> 00:18:39,760 And at the bottom is the, um, association with the histograms, right? 212 00:18:39,760 --> 00:18:48,300 So it's a histogram, uh, associated with, uh, with the hashtags, uh, there at the top. 213 00:18:48,680 --> 00:18:50,600 And there's, there's my handle. 214 00:18:50,600 --> 00:18:56,420 So you know that this particular, uh, slide was for, for my, uh, own profile analysis. 215 00:18:56,780 --> 00:18:57,520 Uh, okay. 216 00:18:57,520 --> 00:19:01,840 So, um, remember that person that I said got kind of angry with my vague tweet? 217 00:19:01,840 --> 00:19:06,540 Well, this is, uh, this is the analysis slide of, of his account. 218 00:19:06,540 --> 00:19:11,780 So, um, you'll see that there's a couple of differences obviously, um, because we're not exactly the same. 219 00:19:11,840 --> 00:19:26,080 Um, on the left side, we'll see, uh, a couple, he's, he's mentioning a couple of people who, um, are blotched out, um, not as frequently as maybe I do, but you know, these, these profiles are in, in the scan that I've seen. 220 00:19:26,520 --> 00:19:30,080 Uh, you'll see his retweet frequency is 178. 221 00:19:30,080 --> 00:19:38,940 So, so out of 200, out of a 200 tweet sample, we're talking about 178 of those, uh, being retweets, retweets. 222 00:19:39,040 --> 00:19:52,780 Um, and, um, I also hit the, uh, a red dot on the word I, because I was just kind of curious as to see, um, how often somebody is, um, is using I, uh, in a sentence. 223 00:19:52,780 --> 00:19:58,580 I'm sure that there's a psychological profile, uh, based off of, um, the use of that word, right? 224 00:19:59,080 --> 00:20:03,780 And at the bottom, we see, um, the word frequency, 37, uh, 88. 225 00:20:03,780 --> 00:20:16,940 I know that there's math that we can do on, uh, this word pro, or on this, um, on this word count, uh, as far as, uh, calculating, you know, the types of words that we're using, um, how big they are, how small they are, et cetera. 226 00:20:17,020 --> 00:20:31,840 And, and another interesting thing about, uh, this particular analysis is, uh, the histogram on the right side, um, indicates that, um, this particular individual only, uh, tweet, or only uses a hashtag, uh, once, like, uh, one and done. 227 00:20:31,840 --> 00:20:34,160 So, um, I found that to be interesting. 228 00:20:34,160 --> 00:20:38,220 Uh, again, uh, this is for the, uh, at my target. 229 00:20:38,220 --> 00:20:45,640 Um, this is not the actual Twitter account, obviously, um, but I, I thought I had to identify it somehow. 230 00:20:46,240 --> 00:20:50,040 Now, lastly, I'd like to, uh, you know, I used myself as a baseline. 231 00:20:50,040 --> 00:20:54,080 Uh, this is the target's, um, dashboard analysis. 232 00:20:54,820 --> 00:21:00,000 And, uh, this next one is, uh, actually, uh, President Donald Trump. 233 00:21:00,000 --> 00:21:03,940 And we'll see, of course, a couple of, uh, of, of key features here. 234 00:21:04,100 --> 00:21:11,360 Uh, on the left, we don't see the word I, uh, actually we do, but it's no more than 20 times. 235 00:21:11,360 --> 00:21:26,640 Now, uh, for those of us who, who might think that, uh, President Trump is a little bit of a narcissist, uh, we might be kind of surprised, uh, to see that he's only tweeted the word I about 20 times, uh, in a, in a, uh, 200 tweet sample. 236 00:21:26,640 --> 00:21:28,840 At the bottom there, we see 3,400 words. 237 00:21:28,840 --> 00:21:31,560 So these, these are all, you know, kind of interesting, the same stats. 238 00:21:31,860 --> 00:21:37,100 Um, he's retweeted only 96 times, um, in, in the past 200 tweet sample. 239 00:21:37,100 --> 00:21:47,460 Of course, uh, this piece is not so, um, surprising because we know that he uses a lot of his own, um, words, uh, in, in his tweets. 240 00:21:47,520 --> 00:21:50,220 Um, but, uh, back to the left side really quick. 241 00:21:50,220 --> 00:21:56,040 Um, the only blotched out account there, um, I don't know if anybody wants to take a quick guess at what that is. 242 00:21:56,040 --> 00:22:06,140 I know I can't, uh, wait necessarily for your answer as, as, uh, this is the closest that we can get to, um, audience participation at the moment. 243 00:22:06,200 --> 00:22:12,420 Um, but, uh, yes, if, uh, if you guessed that that was his own account, you are correct. 244 00:22:12,520 --> 00:22:17,400 So he's, what I'm saying is he's mentioned himself in his own tweets about 46 times. 245 00:22:17,460 --> 00:22:22,280 Uh, so that might be a, uh, an indicator of narcissism, maybe tweeting in the third person. 246 00:22:22,280 --> 00:22:24,520 We'll have to analyze further for that. 247 00:22:24,640 --> 00:22:30,420 Uh, and on the right side, we'll see, um, again, our histogram and, and hashtag matching. 248 00:22:30,420 --> 00:22:37,340 So, um, uh, President Trump has maybe tweeted a couple of things with hashtags, but of course the recurring one is MAGA. 249 00:22:37,340 --> 00:22:38,620 Is anybody surprised? 250 00:22:38,620 --> 00:22:40,060 I don't think anybody is. 251 00:22:40,060 --> 00:22:40,860 I'm not. 252 00:22:40,860 --> 00:22:47,660 Uh, and actually that would have been three if he didn't, uh, add emojis to that, uh, third MAGA there at the, at the bottom. 253 00:22:47,980 --> 00:23:03,840 Uh, so again, my point is, um, all of this was programmatically, programmatically, excuse me, um, all this was programmatically, um, scraped and, and put together so that we can at a glance, take a look at what, um, a target is talking about. 254 00:23:03,860 --> 00:23:10,380 Uh, and, and this is done, I understand that, you know, this could be easily done through APIs and, uh, other research. 255 00:23:10,380 --> 00:23:14,520 Uh, this is my own, um, basic whiteboard. 256 00:23:14,520 --> 00:23:18,580 This is my own starting from scratch, um, analysis of these targets. 257 00:23:18,580 --> 00:23:23,180 Myself, uh, President Trump because of the sports, uh, betting. 258 00:23:23,920 --> 00:23:30,920 And of course, uh, somebody who got really mad at me for, um, something that was really vague. 259 00:23:31,160 --> 00:23:31,920 Uh, okay. 260 00:23:31,920 --> 00:23:36,740 So now that that's, uh, an overview of the data really quickly, let's take a look at the insights here. 261 00:23:37,580 --> 00:23:43,880 Uh, so some of the insights, um, it seems like, of course, um, retweets indicate shared sentiment. 262 00:23:43,880 --> 00:23:49,120 Well, duh, but the question is, uh, from who, who are we sharing a sentiment with? 263 00:23:49,120 --> 00:24:02,900 Uh, this might give us insights, of course, into, um, who a person is associating with or how frequently or, um, how, how closely related these ideals may be that they share, depending on the retweet, of course. 264 00:24:03,320 --> 00:24:07,240 Um, and of course, we see narcissism in hashtags. 265 00:24:07,240 --> 00:24:14,760 So, uh, you may see, uh, a lot of, um, a lot of your, your own, actually, okay, so there's a couple of things here. 266 00:24:14,760 --> 00:24:28,200 Um, I did forget to, uh, include, um, uh, a screenshot that I have of my target, uh, tweeting himself, like, his own handle, um, in, uh, in the hashtags. 267 00:24:28,200 --> 00:24:37,640 So, it's hashtag his own handle, um, and I, I found that to be very narcissistic, um, kind of interesting, um, but that's something that I wanted to, uh, piece in there. 268 00:24:37,640 --> 00:24:44,880 So, I do apologize for not having that screen cap in there, uh, but I found that to be interesting, and that's why I put that in, in, in here in the insights. 269 00:24:45,580 --> 00:24:53,180 Um, and, uh, repeating hashtags to me, of course, again, this is, this is kind of obvious when it comes to somebody who's a regular Twitter user. 270 00:24:53,380 --> 00:24:59,500 Um, it depicts brand or focus, you know, and of course, we see that with, with, with repeating hashtags. 271 00:25:00,580 --> 00:25:08,540 Um, now, I've noticed that word frequency, um, the word frequency count significantly drops off after stop words. 272 00:25:08,540 --> 00:25:18,480 Um, so, you know, I have a rudimentary, uh, introduction to, uh, natural language processing, so I understand a little bit about tokenization and, um, what stop words are. 273 00:25:18,480 --> 00:25:26,060 Stop words being, like, uh, in the very small, um, words that kind of glue the English letter, uh, language together, right? 274 00:25:26,400 --> 00:25:34,200 Um, and so, again, after, after those words are scraped off the top, the, the frequency of those words, of other words, really drop. 275 00:25:34,200 --> 00:25:38,900 And, of course, uh, for those who are linguists, may already know that. 276 00:25:39,920 --> 00:25:52,600 Um, now, um, obviously, with what we've, uh, with what I've presented today, we know that descriptive statistics are as far as we can get, um, without any sort of, uh, further, um, analysis with better tools. 277 00:25:52,600 --> 00:26:03,540 Better tools being, of course, uh, neurolinguistic, uh, natural language processing, maybe some other, uh, types of, uh, data science tools and, and, uh, techniques. 278 00:26:03,540 --> 00:26:08,460 And so, that is where this work in progress is going to be heading next. 279 00:26:09,400 --> 00:26:12,880 Okay, and so, speaking of which, uh, where do we go from here? 280 00:26:12,880 --> 00:26:17,380 Okay, well, uh, of course, I want to clean up the data collection, data collection methods right now. 281 00:26:17,380 --> 00:26:25,600 It is pretty rough, and I'd like to turn that into something that is, uh, uh, easier to read and, and followed very, uh, very easily. 282 00:26:25,700 --> 00:26:27,760 Now, better data visualization. 283 00:26:27,800 --> 00:26:35,780 Um, I quickly grabbed screenshots together, um, but, of course, I'd like to incorporate word clouds and other charting, maybe better charting, right? 284 00:26:36,840 --> 00:26:38,380 Um, dashboard of data. 285 00:26:38,380 --> 00:26:47,000 I'd like to clean that up so that, again, the, the whole goal is an at-a-glance, uh, for, um, for a Twitter analysis. 286 00:26:47,180 --> 00:26:49,300 Okay, uh, now, what can we do with this? 287 00:26:49,300 --> 00:26:51,500 Well, we could talk about, uh, profile scoring. 288 00:26:51,500 --> 00:27:04,420 So, for instance, um, leanings, whether it's a sentimental leaning, a, uh, political leaning, a corporate leaning, uh, I'd like to see if we can, uh, we can understand that, um, at, at a quick look. 289 00:27:04,780 --> 00:27:21,860 Um, the potential for extremism, um, if, if somebody is getting mad at you for, uh, a tweet that was vague enough for them to project, um, meaning onto it, um, then, then what is the potential for somebody to go kind of a little bit more off the rails? 290 00:27:21,860 --> 00:27:23,900 That's something else that I'd like to look at. 291 00:27:24,380 --> 00:27:32,100 Um, and, of course, um, ongoing, uh, me being a psychology buff, um, you know, ongoing psychological profiles and red flag notifications. 292 00:27:32,100 --> 00:27:37,280 If there's a red flag with anything that we see here in, in their timeline, um, can we detect that? 293 00:27:37,280 --> 00:27:41,580 And, of course, um, I am, I'm almost certain that there's already research out there. 294 00:27:41,580 --> 00:27:46,120 I'd like to continue, uh, looking at that myself and, and, and building from there. 295 00:27:47,200 --> 00:27:48,880 So, features to incorporate. 296 00:27:48,880 --> 00:27:50,220 I've said it a lot already. 297 00:27:50,220 --> 00:27:52,240 Um, natural language processing. 298 00:27:52,240 --> 00:27:55,600 I think that'll be a very, uh, a very good thing to add in here. 299 00:27:55,600 --> 00:27:58,960 Uh, sentiment analysis, also part of, part of that space. 300 00:27:58,960 --> 00:28:00,180 Uh, a mirror bot. 301 00:28:00,680 --> 00:28:11,480 Uh, real quickly, what I want to talk about there is, is, um, if we know how our target speaks, can we make a bot that kind of talks to themselves? 302 00:28:11,560 --> 00:28:13,660 I think that would be kind of funny to watch. 303 00:28:13,660 --> 00:28:20,840 Um, hopefully it doesn't get anybody banned, but I think it'll be, again, it'll be funny to see, just as a funny project. 304 00:28:20,840 --> 00:28:22,540 This is all just, it's just jokes, folks. 305 00:28:22,540 --> 00:28:23,660 It's just jokes. 306 00:28:24,520 --> 00:28:39,620 Um, now, uh, I want to build off of the prior research that, uh, I, myself and, and the community has done, uh, including my, my stalker research and, and anti-stalking research and anything else that the community has done, I'd like to incorporate in what I'm doing now. 307 00:28:40,020 --> 00:28:56,620 Um, and even though we've, even though today I've only shown, uh, three profiles, I'd like to do a quick, uh, mass script, a mass scripted analysis of maybe everybody that is following me or everybody that I'm following, uh, and just see, um, what kind of results, 308 00:28:56,620 --> 00:28:58,300 um, are in their timeline. 309 00:28:58,300 --> 00:28:59,640 Remember, these are public timelines. 310 00:28:59,640 --> 00:29:04,820 And of course, um, I don't want to hit any rate limits, so we'll, we'll do it slowly. 311 00:29:05,360 --> 00:29:14,780 Uh, some, some future questions that are on my mind when it comes to, uh, this is, uh, can I get a target to talk to themselves, uh, and agree or disagree? 312 00:29:14,780 --> 00:29:15,680 I think that'd be funny. 313 00:29:15,680 --> 00:29:18,940 That's, that's what I was mentioning with the, the mirror bot. 314 00:29:18,980 --> 00:29:27,120 Um, can a person have a conversation with themselves and disagree on their own maybe extremist points or non -extremist points, you know? 315 00:29:27,760 --> 00:29:31,020 Uh, next question is, uh, you know, can outrage be predicted? 316 00:29:31,020 --> 00:29:37,060 You know , that's something that I, that's something that I've brought up, um, uh, prior or earlier in, in this talk as well. 317 00:29:37,060 --> 00:29:44,040 Um, could that be predicted based off of what is in the current events in the news, uh, and what's going on globally, uh, at the moment? 318 00:29:44,620 --> 00:29:45,600 Uh, next one. 319 00:29:45,600 --> 00:29:51,340 Of course, uh, any questions that, uh, the audience may have for me, I would definitely want to put that into this project. 320 00:29:52,700 --> 00:29:59,180 So, uh, to summarize, who said nothing came, uh, nothing good came out of sports betting? 321 00:29:59,420 --> 00:30:01,860 I think, uh, I think there's, uh, some benefit here. 322 00:30:01,860 --> 00:30:04,360 I'm glad that I went down this rabbit hole. 323 00:30:05,360 --> 00:30:10,440 Uh, now sharing vague sentiments can, can still make frenemies. 324 00:30:10,440 --> 00:30:17,740 Uh, you know, apparently I've, I was not expecting that even with, uh, today's climate, but hey, it is what it is. 325 00:30:17,860 --> 00:30:20,140 Um, now remember, don't get mad. 326 00:30:20,320 --> 00:30:21,500 Uh, you know, don't get mad. 327 00:30:21,500 --> 00:30:22,620 Don't feed the outrage. 328 00:30:22,620 --> 00:30:26,140 Don't get, don't, you know, don't send the rage back. 329 00:30:26,140 --> 00:30:27,440 Just get productive. 330 00:30:27,520 --> 00:30:29,900 Take what you have and turn it into research. 331 00:30:29,900 --> 00:30:34,140 That's been, that's been my guiding light for the past five years, maybe longer. 332 00:30:34,560 --> 00:30:35,700 Um, start somewhere. 333 00:30:35,700 --> 00:30:40,320 Like I said, this project is definitely a work in progress, um, but I'm going to start somewhere. 334 00:30:40,320 --> 00:30:42,940 And of course we built, uh, okay. 335 00:30:42,940 --> 00:30:46,960 So fork me, there's the link again, the GitHub link. 336 00:30:46,960 --> 00:30:51,880 If you didn't get it before, um, Twitter word frequency and, Oh, sorry. 337 00:30:52,020 --> 00:30:53,660 I'll give you a couple of seconds on that one. 338 00:30:54,900 --> 00:30:58,240 A couple more and resources. 339 00:30:58,240 --> 00:31:07,660 So the top link is actually, uh, another, uh, uh, it's college speech on, um, natural language processing and the, and how that goes. 340 00:31:07,880 --> 00:31:13,540 Um, and then of course, um, Oh, these next two, uh, these next two weeks are very good. 341 00:31:13,540 --> 00:31:14,700 I'll let you check that one out. 342 00:31:14,700 --> 00:31:23,540 Uh, because, uh, those are actually, uh, kind of in line with what I'm trying to do, but on a massive scale for myself, like I'm trying to do this on a massive scale. 343 00:31:23,880 --> 00:31:30,700 Uh, what these last two weeks are doing specifically for Donald Trump's, uh, tweet account. 344 00:31:32,140 --> 00:31:34,200 Uh, thank you very much. 345 00:31:34,200 --> 00:31:37,480 And that concludes my talk.