<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[J.Allen-Robertson]]></title><description><![CDATA[📚 Computational Social Scientist. Writes about radical tech cultures. Self-critical geek 🤓]]></description><link>https://www.jallenrobertson.com/</link><image><url>https://www.jallenrobertson.com/favicon.png</url><title>J.Allen-Robertson</title><link>https://www.jallenrobertson.com/</link></image><generator>Ghost 3.42</generator><lastBuildDate>Wed, 15 Apr 2026 04:42:19 GMT</lastBuildDate><atom:link href="https://www.jallenrobertson.com/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Fascism and Online Communities: Duplicity, Adaptation and Infiltration]]></title><description><![CDATA[Why does fascism keep finding its way into seemingly mundane online communities? Why don't people know it when they see it? Well, with Fascism, it can be very difficult to see it.]]></description><link>https://www.jallenrobertson.com/fascism_and_online_communities/</link><guid isPermaLink="false">61164ac0cb57a51d7c8435cc</guid><category><![CDATA[Fringe Vectors]]></category><category><![CDATA[Fascism]]></category><dc:creator><![CDATA[James Allen-Robertson]]></dc:creator><pubDate>Mon, 16 Aug 2021 12:33:32 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1583406483672-21b0d1a901a8?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwxMTc3M3wwfDF8c2VhcmNofDJ8fGxpYXJ8ZW58MHx8fHwxNjI5MTE3MDc3&amp;ixlib=rb-1.2.1&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1583406483672-21b0d1a901a8?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTc3M3wwfDF8c2VhcmNofDJ8fGxpYXJ8ZW58MHx8fHwxNjI5MTE3MDc3&ixlib=rb-1.2.1&q=80&w=2000" alt="Fascism and Online Communities: Duplicity, Adaptation and Infiltration"><p>When our <a href="https://www.jallenrobertson.com/intro_fringe_vectors/">Fringe Vectors</a> project began, the key questions were around how 'everyday' communities may become intertwined with 'fringe' or 'radical' politics. Whilst this is a nice generic way of putting it, the clear concern for me was always more specifically to do with fascism and the far right. To me, overt cases of infiltration such as the <a href="https://www.theatlantic.com/technology/archive/2020/06/my-little-pony-nazi-4chan-black-lives-matter/">Nazi Bronies</a>, and the more subtle overlapping of assumptions and narratives ala cryptocurrency and their <a href="https://www.salon.com/2018/06/08/how-bitcoin-made-right-wing-conspiracy-theories-mainstream/">Eustace Mullins style concerns</a> over federal banking, both indicate an underlying susceptibility within liberalism to these kinds of more extremist ideas. The <em><a href="https://blogs.lse.ac.uk/lsereviewofbooks/2020/07/21/book-review-reactionary-democracy-how-racism-and-the-populist-far-right-became-mainstream-by-aurelien-mondon-and-aaron-winter/">illiberal racism</a></em> of liberalism is absolutely related and worth discussion, but another time.</p><p>I was however keenly aware of two things. First, I didn't fully understand what fascism was. It was a kind of 'know it when I see it' but that kind of thing rarely holds water in academic work. Relatedly, I also didn't think other people really understood what fascism was either, and I had a hunch that this was by design and one key component of explaining its ability to weasel its way into unsuspecting communities.</p><h2 id="defining-fascism-">Defining Fascism 📚</h2><p>Having spent a lot of time reading around the more contemporary work on tech subcultures and some of the arguments regarding their proximity to the alt-right, cyberculture, racism, misogyny etc I wanted to try and escape reading these highly tech/digital focussed accounts. Firstly, you eventually reach a saturation point where the examples might change but broadly you're learning little new. Secondly, by switching to work that is either broader, more theoretically focussed, or simply older and prior to your more contemporary subject matter, you can find interesting synergies. Usually, it is in these synergies between the broader/older/more theoretical work and your contemporary accounts that you find what you're looking for. Luckily, I found a paper that hit all three criteria.</p><p>Roger Eatwell is a key name in the study of fascism and luckily for me, back in 1992 he wrote a paper that touches on a lot of these issues. Eatwell regularly gets cited in contemporary work on fascism, including Reid's <em>Against Fascist Creep</em> and the book <em>The International Alt-Right: Fascism for the 21st Century</em> written by researchers at Hope Not Hate, two books I had recently been poring over. Whilst Eatwell continues to write about contemporary fascism his paper, <em><a href="https://journals.sagepub.com/doi/10.1177/0951692892004002003">Towards a New Model of Generic Fascism</a></em>published almost 30 years ago still, in my view, does a very good job of addressing why fascism is so difficult to define, and why it is so adaptable. Drawing on reams of historical documentation and synthesising the field of fascism research, Eatwell asks how researchers have tried to define fascism in the past, why fascism specifically is difficult to define, and how it might better be defined in recognition of this.</p><p>Eatwell's article is dense, but it does important work in building the picture of complexity and disharmony amongst those seeking to understand and define fascism as a political project. The unifying theme amongst them seemed to be apathy about whether it was even possible to define fascism as a political project given how distinctively different, and at times contradictory, different supposedly fascist movements were.</p><p>As Eatwell discusses, this contradictory nature of different movements, coupled with an apparent lack of intellectual foundation in the form of a 'great text' or key thinker rather undermined initial attempts to identify the underlying ideology of fascism, separable from fascism as enacted in historical context. This meant that for many others the focus was on fascism as arising from specific national characters (Italy and Germany) or as an aberration of a particular moment in time, in response to economic and political contexts. In these frames fascism existed as a series of loosely connected movements that arose in response to a particular European economic and political context.</p><p>It was clear they had a resemblance in some ways yet it also seemed that every characterisation or 'feature' of fascism could be disputed with reference to a different movement that took an opposite position. Nazism's traditionalism and focus on biology was not shared by Italian fascism who took a far more modernising approach and found the Nazi obsession with racial purity to odd to say the least. Eatwell's work is extensive in documenting these contradictions not only between the German and Italian fascism, but also though less prominent movements introducing the reader to the sheer complexity of the debate. The result is a palpable sense of why defining fascism was so difficult, but also an introduction to both the flexibility and the adaptability of fascism.</p><h2 id="fascists-are-tricksy-">Fascists are Tricksy 🥸</h2><p>What we know about contemporary fascist movements is their ability to shift and change, to adapt and to disguise their intent. Movements will proclaim themselves as simply responding to 'science' whilst ignoring the entire scientific community. They will call for free speech whilst systematically eradicating any narratives they dislike. They will frame themselves as concerned environmentalists to legitimate genocide. Eatwell recognises that previous scholars may have struggled in a coherent definition precisely because fascism operates in a way that is often incoherent if taken at face value and proposes four key distinctions to be maintained when thinking about a fascist movement.</p><ol><li>Between the <em>ideology</em> and the <em>propaganda</em>.</li><li>Between the <em>intellectual</em> and the <em>activist</em>     aspects of the movement.</li><li>Between the <em>principles</em> and the <em>context</em>     of a movement.</li><li>Between <em>esoteric</em> and <em>exoteric</em>     appeal.</li></ol><p>The <strong>first</strong> distinction is perhaps the most straightforward, it could be summarised as the distinction between what they believe (<em>ideology</em>) and what they say they believe <u>to gain support</u>(<em>propaganda</em>).</p><p><strong>Second</strong>, Eatwell argues that academics have tended to focus on the activism of rising fascist movements ignoring the <em>intellectual</em> aspects of movements which were not necessarily academic justifications but nevertheless existed in the movements' debates and critiques of current and metapolitical issues. Whilst different movements might seem distinctive on the surface, often these intellectual ties can help connect the dots between them.</p><p>The <strong>third</strong> distinction between <em>principles</em>and <em>context</em> recognises that without a bulwark of 'great texts' behind them, fascist movements were often willing to make tactical compromises, to mutate in response to the <em>context</em> they faced. Equally, those that joined the movements may also not have done so because they were on board with the <em>principles</em>, but because they were opportunistically and pragmatically using the movement to bolster their own agenda.</p><p>The <strong>fourth</strong> and final distinction highlights the role of duplicity. The ex<em>oteric</em> appeal of a movement is based on the communications seen by the public in their writings, podcasts, and interviews. This will differ from the <em>esoteric</em> communications within closed circles of converts and the appeal of the movement will be different to those converts. For our purposes we can also think of this as the distinction between what is said within a community being targeted by a fascist movement, and what is said afterwards back in their own private spaces.</p><h2 id="fascism-as-synthesis-">Fascism as Synthesis 🏗️</h2><p>In my mind what Eatwell is describing is a kind of backstage and front stage model of fascism. The backstage is the ideology, the intellectual debates, the underlying principles and the esoteric appeal of the movement. Yet out front we have the propaganda, the activism to bring about change, the context faced by the movement and the narrative woven for the public about what the movement represents. It also, in the third distinction, recognises the absolute importance of context, adapting to a context to meet the movement's goals. This is a form of political movement built around contradiction, performance, deception and esoteric knowledge. Once we understand that this is how fascist movements operate, we can better understand why any model of fascism must accommodate its contradictory nature, but crucially for our purposes, how it can appear to adapt itself so easily to infiltrate other communities.</p><p>Eatwell does of course develop a <em>generic</em>model of fascism, highlighting the principles that seem to be shared across movements. He refers to this as the <em>Spectral-Syncretic</em> model. <em>Spectral</em>referring to the spectrum of, sometimes contradictory, positions. S<em>yncretic</em>meaning the fusion or alliance between those things to form something new. I'll probably bring Eatwell's definition back in future discussions when we try to understand why particular assumptions of subcultural interests might be susceptible to 'fascist creep'. For now, the key value of Eatwell's work for this project is the recognition of how fundamental <em>adaptation</em> and <em>duplicity</em>are to the fascist project which should greatly help us to understand the mechanisms by which it can influence and infiltrate a disparate range of seemingly benign and even apolitical spaces online, with sometimes disastrous results.</p><hr><p><em>This piece is part of our ongoing project, Fringe Vectors. It is part of our open research process and is not subject to peer-review. The piece should be understood as a form of open dialogue and part of the research process.<a href="https://www.jallenrobertson.com/intro_fringe_vectors/#open-research-"> I will get things wrong before I get them right</a>. Please read in good faith.</em></p><p>For all posts related to this project check out the dedicated <a href="https://www.jallenrobertson.com/tag/fringe-vectors/">Fringe Vectors</a> hub.</p>]]></content:encoded></item><item><title><![CDATA[New Project: Fringe Vectors]]></title><description><![CDATA[This is the first of a series of pieces detailing my ongoing research project into tech culture and extreme politics. These pieces should be understood as a loose research diary. Ideas will be tentative and fuzzy, and will lack the rigor normally seen in my peer-reviewed publications.]]></description><link>https://www.jallenrobertson.com/intro_fringe_vectors/</link><guid isPermaLink="false">5ee8c45f4cabd22cab700220</guid><category><![CDATA[Fringe Vectors]]></category><category><![CDATA[Tech Culture]]></category><category><![CDATA[Rationalism]]></category><category><![CDATA[Neoreaction]]></category><category><![CDATA[Silicon Valley]]></category><dc:creator><![CDATA[James Allen-Robertson]]></dc:creator><pubDate>Thu, 02 Jul 2020 14:00:00 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1470145318698-cb03732f5ddf?ixlib=rb-1.2.1&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=2000&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjExNzczfQ" medium="image"/><content:encoded><![CDATA[<h2 id="introduction-">Introduction 👋</h2><img src="https://images.unsplash.com/photo-1470145318698-cb03732f5ddf?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=2000&fit=max&ixid=eyJhcHBfaWQiOjExNzczfQ" alt="New Project: Fringe Vectors"><p>My overarching project going back to my PhD, has been on the politics and ideologies of online communities. Those most closely associated with tech culture, engineering and, to a great extent, disruption of some kind. I started with the Piracy cultures of the 2000s. Working from 2008-2011 I <a href="https://b-ok.cc/book/2542874/293668">wrote an account</a> of contemporary digital piracy that was, looking back, probably verging on boosterism as I recounted the myriad ways in which illicit anti-copyright, pro-piracy cultures were transforming the cultural industries.</p><p>Research is always personal to some degree, and it was no different with this. I grew up in these cultures, identified quite strongly as 'techy', 'nerdy' and 'awkward' and recounted the exploits of these groups with a little too much glee. I too thought the music industry was probably asking for it and that a little disruption to established power was probably a good move.</p><p>Whilst my interests have broadened since my PhD, I still find much of what I do revolves around tech culture. Perhaps it is more accurate to say that I have not broadened away from tech culture, but instead come to understand it better. As you'd expect tech culture is both quite a bounded and identifiable community, but also one that is embedded in broader societal frames such as American liberalism, libertarianism and market-oriented assumptions about value, progress and success. It is also a culture that has its fringes - usually the parts the fascinate me most - and at these fringes you find intersection with the host society's fringes too.</p><h3 id="fringe-vectors-">Fringe Vectors ➡️ </h3><p>The name, <em>Fringe Vectors</em>, seems appropriate to me right now. <em>Fringe</em> indicating both the non-mainstream nature of the ideologies and values held by these groups, but also<em> fringe</em> in that I'm interested in the edges of these groups and where they touch upon others. How one might begin on the fringes and be drawn into the centre, and vice versa.<em> </em></p><p><em>Vector</em> is inspired by <a href="https://twitter.com/mckenziewark">McKenzie Wark's</a> concept of the <a href="https://www.versobooks.com/books/3056-capital-is-dead">"vectoralist class"</a>. Wark uses the term to describe an emergent class of people that control the infrastructure through which information is routed. Power comes not from owning the means of production, but by controlling the infrastructure and data upon which those means rely. Under this model the capitalist class, in the strict sense of those that have the capital, become subordinate to a new additional class layer, the vectoralist class. In many ways my project about tech culture is about the culture of this class. What has been referred to as the Californian Ideology, the Hacker Ethic, Silicon Valley Culture. </p><p><em>Vector</em> is also a useful term in its more technical sense. A <em>vector</em> in physics is a <a href="https://www.google.com/search?q=define+vector">"quantity having direction as well as magnitude"</a>, whilst in epidemiology it is used to discuss contagion, and the routes to which a pathogen might be passed across organisms. The project fudamentally is interested in these routes of movement of fringe ideas, the magnitude to which fringe politics might move through a community, and the direction of travel.</p><p>To me the term makes sense right now. It might change next week...</p><h2 id="the-questions-">The Questions 🤔</h2><p>My emerging project is about understanding how a range of tech culture groups intersect, particularly at their more extremist fringes. A broad range of research questions I'm currently toying with include...</p><!--kg-card-begin: markdown--><ul>
<li>What are the underlying principles or features of tech culture that might be shared with fringe and often radical politics?</li>
<li>How &quot;close&quot; are the more mainstream tech communities and the broader public, to these fringe ideologies in terms of shared interests, and underlying assumptions about the world?</li>
<li>How many &quot;steps&quot;, in a purely theoretical sense, does it take for someone to find themselves in the fringes of their community?</li>
<li>Are these actually &quot;fringes&quot;, or a rhetorical devices used by communities to deny qualities that are in fact central to their community?</li>
<li>Are there particular features of tech communities that may incline them towards more fringe or contrarian politics/thinking?</li>
<li>Can we see these assumptions and politics, and perhaps their fringe elements expressed in the products they produce?</li>
<li>Given tech's ability to have an accelerated impact across non-tech populations, are these products a vector to larger political impact for fringe politics?</li>
</ul>
<!--kg-card-end: markdown--><h2 id="the-communities-">The Communities 🦞 🦄 👑</h2><p>I'm yet to fully settle on which communities will be the focus, and much of it will be driven by the data, however the key groups that I'll be examining are.</p><!--kg-card-begin: markdown--><ul>
<li>Silicon Valley Elites</li>
<li>Cyberlibertarians</li>
<li>Neoreactionaries</li>
<li>The RationalSphere</li>
<li>The Manosphere</li>
<li>The Alt-Right (broadly)</li>
</ul>
<p>Having already spent a year reading around these areas I can initially say three things...</p>
<ol>
<li>I think that there is a theoretical argument to be made that connects these groups. I hope to also produce empirical work to back it up.</li>
<li>I do not necessarily think that everyone that identifies as being in one of these groups, can automatically be equated with the others - we do nuance around these parts.</li>
<li>In the course of this I have already read mass shooter manifestos, misogyny, race science, proposals for class based genocide, and other similar radical visions of the future that involve either mass subjugation or mass murder. I don't imagine things will improve as we progress. Consider this a blanket content warning for the project and if you know me please occasionally check in about my mental health.</li>
</ol>
<!--kg-card-end: markdown--><h2 id="methods-">Methods 📚🌐</h2><p>I'm approaching this from two angles. The first, as always, is reams and reams of reading, both of literature around the subject and in deep dives of some of these communities, lurking in subreddits, alt-tech chat channels etc. The other approach is the greater challenge, and where the computational bit comes in. I plan to map these communities on Twitter, but I want to go beyond simple retweet networks which often capture just snapshots of activity. Whilst activity is a key element of mapping these spaces to understand how ideas or values might flow between them, I'm also interested in mapping the foundations of interconnection between communities, which means follower data. This means a network that will likely features millions of nodes, and hundreds of millions of edges. A single person on Twitter might have one or two million followers alone, so this is not a small task. Thankfully, I already have my prototypes, both for software to collect this material efficiently, but also software to process it in a way that can isolate the communities, find the fringes and make it all interpretable. The technical in's and outs of this process are something I'll cover in detail as the project progresses.</p><h2 id="open-research-">Open Research 📖 🤝</h2><p>My intention is to use my site as an open research diary as I work my way through this project. Summaries of literature, tentative attempts to form arguments, thinking aloud style writing - free form and initially unconcerned with rigour - visualisations, conceptual mapping are all components of my usual process, that normally happen in the background. Academics like to be precise and clear and rigorous. It is the expected social role that we play. We take a lot of time over things, but at least at the end we have hopefully produced something of substance. </p><p>The secret is that before we can be all those things we have to be imprecise, at times incoherent and speculative. We have to first attempt to write the argument before we can assess if the argument is a good one. We have to go on tangents, many of which will be cut later on, but one or two may turn out to be the core of what we actually produce years down the line. We have to write poorly and do it a lot. We have to be wrong, before we can be right. </p><p>So here is the deal. I'm going to do this in the open with all relevant caveats applied by the above. I'm going to be wrong. Probably a lot. And you, amorphous internet population, can watch me be wrong if you want to, with the expectation that possibly one day I will be right.</p><!--kg-card-begin: html--><div style="width:100%;height:0;padding-bottom:43%;position:relative;"><iframe src="https://giphy.com/embed/LmpHsHFG1ZoRy" width="100%" height="100%" style="position:absolute" frameborder="0" class="giphy-embed" allowfullscreen></iframe></div><p><a href="https://giphy.com/gifs/friendship-handshake-LmpHsHFG1ZoRy">via GIPHY</a></p><!--kg-card-end: html--><p>Additional clause: I will use shitty gifs and emoji liberally and you will be ok with it.</p><hr><p>For all posts related to this project check out the dedicated <a href="https://www.jallenrobertson.com/tag/fringe-vectors/">Fringe Vectors</a> hub.</p>]]></content:encoded></item><item><title><![CDATA[NoTap! Visual Sociology and Online Protest]]></title><description><![CDATA[How can we use cutting edge computer vision AI to assist us in computational social science?]]></description><link>https://www.jallenrobertson.com/notap_visual_methods/</link><guid isPermaLink="false">5ee8c45f4cabd22cab70021c</guid><category><![CDATA[NoTap!]]></category><category><![CDATA[Computational Methods]]></category><category><![CDATA[Twitter]]></category><dc:creator><![CDATA[James Allen-Robertson]]></dc:creator><pubDate>Thu, 02 Jul 2020 09:00:00 GMT</pubDate><media:content url="https://www.jallenrobertson.com/content/images/2020/06/No-Tap.jpg" medium="image"/><content:encoded><![CDATA[<h2 id="the-story-so-far-">The story so far...📖</h2><img src="https://www.jallenrobertson.com/content/images/2020/06/No-Tap.jpg" alt="NoTap! Visual Sociology and Online Protest"><p>One of my earliest Computational Social Science collaborations began when my colleague, <a href="https://www.essex.ac.uk/people/DIRON61609/anna-di-ronco">Dr. Anna Di Ronco</a> dropped in on me because she wanted to gather tweets related to an emerging protest movement in Italy. The movement, NoTap, was developing in response to plans for a Trans-Adriatic Pipeline that would bring gas from Azerbaijan into the EU through Italy. Anna had noticed that there was a significant amount of activity both online and off, and that the online activity in particular appeared to be discussing issues and topics that weren't making it to the mainstream newspapers in the region. Her interest piqued, she asked if I knew an easy way to collect tweets. I don't think she entirely expected what happened next.</p><h3 id="twitter-as-an-activist-space-">Twitter as an Activist Space ✊</h3><p>The project has been ongoing since 2017 and since then we've done quite a lot. Our key approach so far has been to focus on the visuals of protest and the ways in which images as well as text were deployed to re-frame the story by activist groups. My role as chief code-monkey 🐵 was to gather around 3K tweets that used #notap and other related hashtags, and process them into a format that made Anna's job as qualitative analyst easier, as well as provide stats on tweet popularity etc. </p><figure class="kg-card kg-gallery-card kg-width-wide kg-card-hascaption"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://www.jallenrobertson.com/content/images/2020/06/10.1177_1741659018760106-fig3.jpeg" width="864" height="476" alt="NoTap! Visual Sociology and Online Protest" srcset="https://www.jallenrobertson.com/content/images/size/w600/2020/06/10.1177_1741659018760106-fig3.jpeg 600w, https://www.jallenrobertson.com/content/images/size/w864/2020/06/10.1177_1741659018760106-fig3.jpeg 864w"></div><div class="kg-gallery-image"><img src="https://www.jallenrobertson.com/content/images/2020/06/10.1177_1741659018760106-fig10.jpeg" width="863" height="576" alt="NoTap! Visual Sociology and Online Protest" srcset="https://www.jallenrobertson.com/content/images/size/w600/2020/06/10.1177_1741659018760106-fig10.jpeg 600w, https://www.jallenrobertson.com/content/images/size/w863/2020/06/10.1177_1741659018760106-fig10.jpeg 863w"></div><div class="kg-gallery-image"><img src="https://www.jallenrobertson.com/content/images/2020/06/10.1177_1741659018760106-fig9.jpeg" width="863" height="576" alt="NoTap! Visual Sociology and Online Protest" srcset="https://www.jallenrobertson.com/content/images/size/w600/2020/06/10.1177_1741659018760106-fig9.jpeg 600w, https://www.jallenrobertson.com/content/images/size/w863/2020/06/10.1177_1741659018760106-fig9.jpeg 863w"></div></div><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://www.jallenrobertson.com/content/images/2020/06/10.1177_1741659018760106-fig7.jpeg" width="821" height="618" alt="NoTap! Visual Sociology and Online Protest" srcset="https://www.jallenrobertson.com/content/images/size/w600/2020/06/10.1177_1741659018760106-fig7.jpeg 600w, https://www.jallenrobertson.com/content/images/size/w821/2020/06/10.1177_1741659018760106-fig7.jpeg 821w"></div><div class="kg-gallery-image"><img src="https://www.jallenrobertson.com/content/images/2020/06/10.1177_1741659018760106-fig4.jpeg" width="861" height="602" alt="NoTap! Visual Sociology and Online Protest" srcset="https://www.jallenrobertson.com/content/images/size/w600/2020/06/10.1177_1741659018760106-fig4.jpeg 600w, https://www.jallenrobertson.com/content/images/size/w861/2020/06/10.1177_1741659018760106-fig4.jpeg 861w"></div><div class="kg-gallery-image"><img src="https://www.jallenrobertson.com/content/images/2020/06/10.1177_1741659018760106-fig2.jpeg" width="863" height="650" alt="NoTap! Visual Sociology and Online Protest" srcset="https://www.jallenrobertson.com/content/images/size/w600/2020/06/10.1177_1741659018760106-fig2.jpeg 600w, https://www.jallenrobertson.com/content/images/size/w863/2020/06/10.1177_1741659018760106-fig2.jpeg 863w"></div></div></div><figcaption>A selection of the images circulated by NoTap activists, focusing on environmental destruction, and on-the-ground conflicts.</figcaption></figure><p> In terms of computational social science the job was relatively low complexity, but it got the job done. Anna was able to work with a much larger dataset than she'd ever have planned to using traditional techniques, and I made many mistakes which is a far superior way to learn something than getting it right the first time.</p><p>We wrote up that part of the project and published in <em><a href="https://doi.org/10.1177%2F1741659018760106">Crime, Media Culture</a>, </em>and you can read a free <a href="https://repository.essex.ac.uk/21255/">open access version of the paper</a> too.</p><h2 id="visual-sociology-rub-liberally-with-ai-">Visual Sociology: Rub liberally with AI 🖥</h2><p>Having conquered the basics of Twitter data collection we decided to move on to the obvious next step - using a complex AI trained on billions of images to help us do visual sociological work 👍.</p><p>To extend the project we'd been collecting more and more tweets around #NoTap, and Anna began planning to visit the activists in person. During a departmental outing I talked Anna's ear off about the fact that our database had hit around 20K tweets, and that we probably needed to rethink how to handle the thousands of associated images that came with them. The goal again was to provide some computational assistance to the qualitative work, but this time we needed to think bigger. The tentative solution was to rub the images with AI and see what happened. </p><p>The more concrete proposal was to use 'Object Detection', a technique used within computer vision that allows computers to recognise objects from visual data such as photos and video. If we could first get the computer to tag the images with relevant keywords before analysis, we could use that information to better manage the dataset. What emerged was that the tagging formed the basis of a technique used to develop an essentially descriptive, but useful thematic analysis of the images. That analysis could then be used as the foundation for a more nuanced, more human, qualitative analysis.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jallenrobertson.com/content/images/2020/06/object_detect.png" class="kg-image" alt="NoTap! Visual Sociology and Online Protest"><figcaption>Visual object-detection can help us make the first pass over large visual datasets when doing social science work.</figcaption></figure><h3 id="discovering-visual-themes-using-computational-magic-">Discovering Visual Themes using Computational Magic ✨</h3><p>Turns out the easiest part of the process was the actual tagging. Google, in the process of hoovering up everyone's images from around the world, has produced a pretty robust object detection system which they make available to us mortals via their API, <a href="https://cloud.google.com/vision/">Google Vision</a>. The tricky part is the nature of images on Twitter. You get a lot of image duplication on Twitter, which is much the point of social media. However for our purposes, we wanted to de-duplicate, at least at first and so this was the major hurdle to tackle. Exactly <em>how</em> we did that is a bigger topic which I'll write about another day so, for now, just presume we did it with elegance and gusto. </p><p>Google Vision provides each image with a series of tags based on what it thinks it sees, each with a <em>confidence </em>score indicating how confident the model is that what it's tagged is correct. I like to imagine the AI humming and hawing, or perhaps needing a pat on the back and an occasional "you got this!" to keep its spirits up. Having produced the tags, a simple starting point was a basic frequency account of tags to get a sense of what was in the images overall. However the real value was for thematic analysis. </p><p>To a computer, the tags assigned to an image, and the level of confidence the AI had about each tag can act as valuable information to help it partition those images into different groups. It can use those values to work out that image 1 and image 2 are more similar to one another, and that image 3 and image 4 have different kinds of tags so they're dissimilar. The result is that we can in an abstract way, come up with a representation of these images that is able to place each image at an appropriate distance from every other image, such that similar ones are closer and dissimilar are further away. We can then also use that representation to determine whether we think it is reasonable to cluster those images into different descriptive themes.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jallenrobertson.com/content/images/2020/06/ezgif.com-video-to-gif-1.gif" class="kg-image" alt="NoTap! Visual Sociology and Online Protest" srcset="https://www.jallenrobertson.com/content/images/size/w600/2020/06/ezgif.com-video-to-gif-1.gif 600w"><figcaption>In this plot each image is represented by a dot. Closer dots represent greater similarity in their content keywords. Using this information we can cluster images into different groups based on their visual content.</figcaption></figure><p>These descriptive themes, first determined computationally, can then be of great help to a qualitative analyst (i.e. Dr. Anna) as they know the extent to which different topics are visually represented within the corpus. However explaining exactly <em>why</em> those topics are the most prevalent is still down to human interpretation.</p><p>The results of all of this, including what the actual image categories are and why, alongside Anna's ethnographic work on-the-ground with the protestors is currently under review with <em><a href="https://journals.sagepub.com/home/cmc">Crime, Media, Culture</a></em>.</p><p> <br><br><br></p>]]></content:encoded></item><item><title><![CDATA[Computational social science: A new way of working and a new way of thinking]]></title><description><![CDATA[Computational social science has helped me achieve a new way of working, a new way of thinking, and a new kind of enthusiasm for research.]]></description><link>https://www.jallenrobertson.com/computational-social-science-a-new-way-of-working-and-a-new-way-of-thinking/</link><guid isPermaLink="false">5ee8c45f4cabd22cab700221</guid><category><![CDATA[Computational Methods]]></category><dc:creator><![CDATA[James Allen-Robertson]]></dc:creator><pubDate>Fri, 05 Apr 2019 08:00:00 GMT</pubDate><media:content url="https://www.jallenrobertson.com/content/images/2020/06/white-netowrk-1.png" medium="image"/><content:encoded><![CDATA[<img src="https://www.jallenrobertson.com/content/images/2020/06/white-netowrk-1.png" alt="Computational social science: A new way of working and a new way of thinking"><p>A programming skillset opens up a huge world of research opportunities. Social media APIs provide you quick access to vast amounts of social network data, and web scraping allows you to look at any website and transform it into a data set. Text analysis, network analysis, data visualization, and even just the ability to restructure, aggregate and summarize data through exploratory data analysis—these techniques open up a whole world of new questions, and new ways of finding answers. From a research perspective it is truly transformative.</p><p>However, data analysis won’t give you all the answers. It is not a replacement for our established methods or for well-earned substantive expertise, far from it. These techniques work best when integrated in collaborative working relationships, ideally with someone who’s <em>not </em>a computational social scientist.</p><blockquote>“Computational social science has helped me achieve a new way of working, a new way of thinking, and a new kind of enthusiasm for research.”</blockquote><p>I would argue that computational social science necessitates collaboration, and indeed is tamed by it. A collaborative approach provides the necessary structure, goals, and a critical approach to research methods. In response to the question of what computational social science has helped me achieve, it may seem obvious to mention the concrete projects, the outputs, the measurable outcomes. However, for me computational social science has achieved something more substantial and enduring—a new way of working, a new way of thinking, and a new kind of enthusiasm for research.</p><h3 id="breaking-out-of-the-field">Breaking out of the field</h3><p>Throughout my early academic career I focused almost exclusively on being a ‘single author’ author. I am proud of my early publications, which speak to my then-interests of <a href="https://www.palgrave.com/gb/book/9781137033468">piracy networks</a>, <a href="https://journals.sagepub.com/doi/abs/10.1177/1461444815606368">media materiality</a> and the importance of recognizing <a href="https://www.tandfonline.com/doi/full/10.1080/1369118X.2017.1351575">software as an interpretive force</a>. I delved into each topic obsessively, and each topic extracted significant amounts of energy and time from me.</p><p>Yet I also craved diversity in my work—new ideas, new projects and new questions—and as I burrowed for months and years at a time into a single topic, a plethora of other seemingly more societally urgent topics would pass me by. For me, and I imagine I am not alone here, this was hugely frustrating. I also recognized that jumping from one topic to another was not necessarily building my profile in any one field. My identity as a specialist was increasingly fractured, inarticulable to my colleagues, my institution and to myself because what I was working on did not express the totality of what I was interested in.</p><p>At a particularly low point of confusion about my 'academic identity’, with the phrase <em>publish or perish</em> ringing in my ears, I was chasing ideas for papers that built on topics I had long become bored of. I realized that I no longer cared, and this is not a good place to be as an academic. Getting nowhere, I decided to do what had steered me well in the past: ignore what I was supposed to be doing and do what interested me instead. I committed my summer to learning to code in Python. I had no goal, no direction, no explicit measurable output attached to this activity. It was an interest, nothing more. It was glorious.</p><blockquote>“With each new technique discovered, new questions arose, new needs and therefore new possibilities and I needed to explore every one of them. ”</blockquote><p>I began by revisiting the materials I had gathered from a web scraping workshop I had attended years earlier. From there I moved on to online tutorials and short courses on specific techniques and packages. I dove deep into Github, StackOverflow and Google Groups. I hammered away at errors in my code until the early hours and ran software structures through my head as I drove to work the next day. I watched YouTube videos on graph theory while I did the washing up. I was consumed. With each new technique discovered, new questions arose, new needs and therefore new possibilities and I needed to explore every one of them.</p><h3 id="collaboration">Collaboration</h3><p>What mattered here wasn’t necessarily the nuts and bolts of the techniques I was learning, but the development of a 'methodological imagination' and an understanding of the application of these techniques. One day a colleague of mine, Dr. Anna Di Ronco mentioned a project idea she was considering based on the imagery used in protest action taking place on Twitter. Still happily consumed with my ‘un-directed learning’, I happened to be playing around with the Twitter API at the time. Within an hour we hashed out an idea to combine her project and my code, and within twenty-four I had built a (rickety but operational) custom tool for Anna's project and was showing her the data. From that developed a fusion of computational techniques for data extraction and qualitative reading for analysis resulting in <a href="https://journals.sagepub.com/doi/abs/10.1177/1741659018760106">a paper</a>, a funded research project, an open-source tool for <a href="https://github.com/Minyall/gephi_twitter_media_downloader">Twitter Media Extraction</a> and a long-lasting collaborative friendship. I was no longer a 'single author' author.</p><h3 id="more-than-instrumental-benefits">More than instrumental benefits</h3><p>I currently have six ongoing projects with six different collaborators across a multitude of institutions and disciplines. Each project addresses wildly different topics including environmental activism, human rights violations, tech industry discourses, alt-right politics, gig economy labor and the dark web. In all of these projects I am writing custom tools to generate unique data sets and develop analyses specific to the questions we are asking.</p><p>Collaborative authorship has substantial instrumental benefits: I am involved in many more grant applications, am able to have multiple papers on the go at once, and have translated my skills into a new <a href="https://www.essex.ac.uk/courses/ug01336/1/bsc-sociology-with-data-science">BSc Sociology with Data Science</a> for my institution.  More important, however, are the less instrumental benefits. I have my diversity of topics and I have regained my excitement and passion about research. I may from time to time express exasperation over the sheer number of ongoing projects but, as a good friend and colleague of mine pointed out in response, I am much happier now. I have achieved an articulable identity, I am a Computational Social Scientist.</p><p><a href="https://campus.sagepub.com/blog/james-allen-robertson-css-blog"><em>This post originally appeared on the SAGE Campus blog.</em></a></p>]]></content:encoded></item><item><title><![CDATA[Finding Trump with Neural Networks]]></title><description><![CDATA[When the President tweets, how do we know who is really behind the keyboard? With a trained Neural Network, we might be able to find out.]]></description><link>https://www.jallenrobertson.com/finding_trump/</link><guid isPermaLink="false">5ee8c45f4cabd22cab700222</guid><category><![CDATA[Computational Methods]]></category><category><![CDATA[Twitter]]></category><category><![CDATA[Trump]]></category><dc:creator><![CDATA[James Allen-Robertson]]></dc:creator><pubDate>Fri, 15 Jun 2018 08:00:00 GMT</pubDate><media:content url="https://www.jallenrobertson.com/content/images/2020/06/1-lf5IvQBS6trr763q9XtDFw.png" medium="image"/><content:encoded><![CDATA[<img src="https://www.jallenrobertson.com/content/images/2020/06/1-lf5IvQBS6trr763q9XtDFw.png" alt="Finding Trump with Neural Networks"><p>Prior to March 2018 Donald Trump had been <a href="https://www.theguardian.com/technology/2017/mar/20/bye-bye-android-has-donald-trump-finally-upgraded-his-phone" rel="noopener nofollow">using an unauthorised personal Android phone </a>in his role as POTUS. Whilst a source of anxiety for his Staff, for journalists and researchers this was particularly useful for distinguishing the words of the President himself, from those of the White House Staff. With Twitter’s API — the gateway Twitter makes available for anyone wanting to utilise their data — providing information on the ‘source’ for each Tweet, it became a fair assumption that if the ‘source’ was Android, it was pure Trump.</p><p>However as you can see from the following chart that maps the month of the tweet (on the x axis) by the frequency of tweeting (on the y axis), around March 2017 activity from Android drops off, and iPhone activity picks up.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jallenrobertson.com/content/images/2020/06/1-qr74yvsoOdHCvIL3yKYKzw.png" class="kg-image" alt="Finding Trump with Neural Networks"><figcaption>Chart showing Tweet activity for “@realDonaldTrump@ split by source.</figcaption></figure><p>As Dan Scavino Jr., White House Director of Social Media revealed, Trump had been moved to an iPhone mid-March. <a href="https://www.theverge.com/2017/3/29/15103504/donald-trump-iphone-using-switched-android" rel="noopener nofollow">Speculation from the press</a> was that the change was motivated by matters of security, with the personal Android evading the institutional management of the White House. Whilst good for White House Staff, the (un)intended consequence has also meant the tweets written by Trump himself are now in the mix with those written by his Staff on the POTUS account. As Twitter has become such a key component of White House communication, and with the abnormal state of affairs that is this American Presidency, being able to distinguish the Tweets of the president himself from his Staff has become rather important. Enter the computational solution! — A neural network trained to recognise a Trump authored tweet by the tweet text alone.</p><h2 id="before-we-start-">Before we start…</h2><p>First and foremost, it should be noted that this modelling was purely an exercise. I enjoy technical diversions and excuses to learn new skills. Sometimes those excuses turn into full papers and new courses for my students, but often they get stuck in a digital drawer. A similar exercise to this has already been done using other Machine Learning techniques, and I’d encourage anyone interested to go and<a href="http://didtrumptweetit.com" rel="noopener nofollow"> read up</a> <a href="https://towardsdatascience.com/whos-tweeting-from-the-oval-office-96ea5b60c03" rel="noopener">on it</a>.</p><p>For this particular project however, I will be seeing whether we can train a Neural Network to recognise Trump purely by the text of the tweet. Neural networks are computer simulations that operate similarly to the way our brains work. They have highly interconnected sets of artificial neurons and can adapt and change themselves based on the data that flows through them. For this network’s data I used the Trump Twitter Archive which provides a <a href="https://github.com/bpb27/trump_tweet_data_archive" rel="noopener nofollow">repository</a> of Trump account tweets going back to 2009. Unfortunately, data archiving appears to have stopped at January 2018 but we’ll work with what we’ve got for the exercise. For the programmatically-minded a narrated notebook detailing the <a href="https://github.com/Minyall/trump_tweet_classifier" rel="noopener nofollow">code is available</a>, but my aim is to give non-programmer social scientists a gist of how these processes work so that they might consider them for their own projects.</p><h2 id="checking-the-data">Checking the Data</h2><p>To begin with I loaded the condensed datasets for 2015, 2016 and 2017 into a <a href="http://pandas.pydata.org/pandas-docs/version/0.15.2/index.html" rel="noopener nofollow">DataFrame</a>, dropping all retweets as these would contain text not from Trump or his Staff. You could add in the 2018 dataset but it ends mid-January.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jallenrobertson.com/content/images/2020/06/1-bZklbqDJWfEHAAo_ZLKqKw.jpeg" class="kg-image" alt="Finding Trump with Neural Networks"><figcaption>An example of the data after loading into the Pandas DataFrame</figcaption></figure><p>First, I took a quick look at the data to see what kinds of sources were being used on the account and their activity. The top 3 sources for the account across the whole combined dataset were Android, iPhone and the Twitter Web Client, though this last one appears to be most active prior to Trump’s announcement to run in the Presidential election in June 2015. Looking at a few examples from the Twitter Web Client it is not entirely clear whether it is Donald on the Web Client, or an aide.</p><blockquote>ICYMI, @IvankaTrump’s int. on @TODAYshow discussing @Joan_Rivers &amp;amp; contestant rivalries on @ApprenticeNBC <a href="http://t.co/Em7bgj10SM" rel="noopener nofollow">http://t.co/Em7bgj10SM</a></blockquote><blockquote>“@nanaelaine7 @realDonaldTrump only YOU can make it GREAT again. Your plan is the only one inside reality. MAKE AMERICA GREAT with TRUMP”</blockquote><blockquote>.@megynkelly recently said that she can’t be wooed by Trump. She is so average in every way, who the hell wants to woo her!</blockquote><blockquote>FACT ✔️on “red line” in Syria: HRC “I wasn’t there.” Fact: line drawn in Aug ’12. HRC Secy of State til Feb ’13. <a href="https://t.co/4yZjH3TR5B" rel="noopener nofollow">https://t.co/4yZjH3TR5B</a></blockquote><p>Whether these should be excluded from the data or classified as Trump or as Staff isn’t immediately clear. For this exercise I left them as Staff as our primary assumption is that Trump tweets from Android, but it would be interesting to return and try other classifications later.</p><p>We already know that it was at some point in March 2017 that Trump shifted to an iPhone, so it is worth drilling down and locating the precise day that Android went dark. Using Pandas’ wonderful ability to resample time series data, I reshaped the data into a tweet count for every day between February and April 2017 and split them by source.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jallenrobertson.com/content/images/2020/06/1-EZZAM1jxFwDvMCLzwVDOTA.png" class="kg-image" alt="Finding Trump with Neural Networks"><figcaption>Graph demonstrating Trump’s Android phone finally went dark on the 8th March 2018 (…kind of).</figcaption></figure><p>From the chart we can see that in general the last use of the Android phone is on 8 March 2018. Two tweets from Android appear again on March 25 but appear innocuous so for simplicity we’ll disregard them as no more Android Tweets appear from April until the end of the dataset.</p><p>Based on this I then split the data into two, pre-iPhone and post-iPhone data. For the pre-iPhone data we can assume that any Android tweets are Trump and any other tweets are Staff. For the post-iPhone data, we can no longer make that assumption. This means that we need to train our neural network model to distinguish Trump and Staff tweets on the pre-iPhone data, and then use that model to predict the source on the post-iPhone data. Easy!</p><h2 id="neural-networks-like-numbers-lots-of-numbers">Neural Networks like Numbers - Lots of Numbers</h2><p>The first step before training the network was to make the words comprehensible for it. We do this by fitting a <a href="http://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.TfidfVectorizer.html" rel="noopener nofollow">TFIDF Vectorizer</a> from the Python Library ‘Scikit Learn’ to the entirety of the text data. This stage essentially creates a little model that keeps a record of every unique word across all of the tweets and how prevalent it is across the data. We keep this model handy because we’re going to need it to transform our different sets of text data into a numerical pattern that can be understood by the Neural Network. Vectorizers work by transforming a string of text, into a very wide spreadsheet, with a row for each document, and then a column for each possible word. The values calculated can be the number of times that word occurs in the document, a 1 or a 0 for whether it occurs at all, or in the case of TFIDF, a score based on how significant that word is for that document, considering both the document itself and all the other documents in the dataset. This is demonstrated below with two extracts from Alice in Wonderland and the two row array of TFIDF word scores.</p><figure class="kg-card kg-image-card"><img src="https://www.jallenrobertson.com/content/images/2020/06/1-wRS7QHxEyfvVEcuwNQ8bKw.jpeg" class="kg-image" alt="Finding Trump with Neural Networks"></figure><figure class="kg-card kg-image-card"><img src="https://www.jallenrobertson.com/content/images/2020/06/1-39Wl1KZOr_D0lGY_nsQX_w.jpeg" class="kg-image" alt="Finding Trump with Neural Networks"></figure><h3 id="but-how-does-it-know-training-a-neural-network">But how does it “know”?! — Training a Neural Network</h3><p>The way neural networks work for classification, is that they are trained by feeding them lots of examples of your data, and crucially, providing them the expected output or label that the model should predict. With every example the model compares its prediction to the ‘correct’ label, makes adjustments to itself, and tries again. Training continues until it is as close as possible to the ideal scenario of correctly predicting the classification for all instances of the training data. In our case we provide the model lots of tweets, and with each tweet we tell the model whether it is a Trump tweet or a Staff tweet until its prediction is very close to the correct category.</p><p>Often after training across many iterations a neural network model will become highly accurate at matching its prediction to the expected outcome, but really, we want to know how well it will perform predicting categories for tweets it has never seen. We can evaluate how well a neural network makes these predictions by holding back a percentage of our training data so that those tweets are never seen by the model in training. We then ask the model to predict the tweet author and check its predictions against the category that we’ve already assigned. For the final model that I built the result was a model that was <strong>97.6%</strong> accurate in predicting the labels in the training data it had seen, and <strong>76.8%</strong> accurate for tweets it had never seen before. However one doesn’t just build a model. First you build 120 models!</p><h3 id="choosing-the-right-neural-network-for-you-">Choosing the right Neural Network for you…</h3><p>Often when working with text data improvements in machine learning come through better curation of the training data, in our case for example by either focusing just on iPhone and Android Tweets, or considering whether Trump may be responsible for Tweets from other platforms as well. We might also think through whether better pre-processing of the text (cleaning out noise, correctly identifying emoji’s, removing URLs etc.) might be a good decision. However it could also be that these noisy elements are actually the most informative to the model. In our case, after cleaning out the URLs, hashtags and emojis from the tweets, I found the model’s accuracy plummeted by around 20%, indicating that it was these very features that were aiding identification.</p><p>However, crucially a key part of building and using neural networks are the choices made in terms of how many layers your network will have, and how many nodes in each layer. These aren’t necessarily things that can be chosen algorithmically, and they differ depending on the data. One suggestion is to run trials on different model shapes of different amounts of layers and nodes. For every model shape you train and evaluate the model multiple times, each time using a different subset of the training data. For each model shape, you take the average score of its trials, and see in general which model performed best on small chunks of the training data. As you can see after evaluating 120 independently built models, the best result was model 010, a neural network of 4 hidden layers where each hidden layer contained 1000 nodes. Note that simply increasing nodes and layers does not necessarily increase predictive power, the right model ‘shape’ is often dependent on the data you are working with.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jallenrobertson.com/content/images/2020/06/1-utbHKJRSnE9vusFHvp6Klw.jpeg" class="kg-image" alt="Finding Trump with Neural Networks"><figcaption>Making this Graph required building and training 120 different neural networks. You’d think it would look more impressive.</figcaption></figure><h2 id="the-grand-finale-finding-trump">The Grand Finale: Finding Trump</h2><p>Having determined the best model shape to use (4 hidden layers of 1000 nodes) we build a brand-new model and train it up with all the training data we have and turn to our so far neglected post-iPhone dataset of tweets from after Trump switched to iPhone. In this instance, we have no ‘correct’ labels as we are no longer certain which tweets came from Trump’s phone and which from his Staff as they all come from the iPhone platform. We transform the text using our original TFIDF vectorizer and feed it to the model, asking it to provide us a prediction; Staff or Trump?. In terms of activity we can see the model has a relatively even split between the tweets, with more predicted activity from Staff on some days, and more predicted activity from Trump on others.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.jallenrobertson.com/content/images/2020/06/1-UCRKHDBoENH7HBO_uJk8Kw.png" class="kg-image" alt="Finding Trump with Neural Networks"><figcaption>Trump and his staff put the work in equally. It’s a fair division of labour.</figcaption></figure><p>Keeping in mind the model’s accuracy of around 77% on unseen data, it is worth inspecting Tweets individually to see how well, on a qualitative level, we believe the model performed. Sampling a random 10 from each category provides us a good overview. For those Tweets predicted as Trump authored we see as lot of exclamation marks, a lot of emphatic strong wording, some anti-Democrat mudslinging and lots of interaction with good ol’ Fox and Friends. The Staff tweets often publish with a URL, speak more in a detatched mode and like to thank and congratulate various citizens in their endeavours. For each prediction you can see how confident the model is in its own prediction, with 1 meaning absolutely confident, and 0 meaning no confidence.</p><p><em>Predicted Trump Tweets</em></p><!--kg-card-begin: markdown--><table>
<thead>
<tr>
<th>text</th>
<th>prediction_score</th>
<th>created_at</th>
<th>source</th>
</tr>
</thead>
<tbody>
<tr>
<td>Will be having meetings and working the phones from the Winter White House in Florida (Mar-a-Lago). Stock Market hit new Record High yesterday - $5.5 trillion gain since E. Many companies coming back to the U.S. Military building up and getting very strong.</td>
<td>0.997469902</td>
<td>22/11/2017 11:51</td>
<td>Twitter for iPhone</td>
</tr>
<tr>
<td>&quot;The first 90 days of my presidency has exposed the total failure of the last eight years of foreign policy!&quot; So true. @foxandfriends</td>
<td>0.976731896</td>
<td>17/04/2017 12:07</td>
<td>Twitter for iPhone</td>
</tr>
<tr>
<td>The Democrats only want to increase taxes and obstruct. That's all they are good at!</td>
<td>0.999997139</td>
<td>16/10/2017 12:21</td>
<td>Twitter for iPhone</td>
</tr>
<tr>
<td>...Why did the DNC REFUSE to turn over its Server to the FBI, and still hasn't? It's all a big Dem scam and excuse for losing the election!</td>
<td>0.995055676</td>
<td>22/06/2017 14:08</td>
<td>Twitter for iPhone</td>
</tr>
<tr>
<td>Jeff Flake, with an 18% approval rating in Arizona, said &quot;a lot of my colleagues have spoken out.&quot; Really, they just gave me a standing O!</td>
<td>0.999713838</td>
<td>25/10/2017 12:33</td>
<td>Twitter for iPhone</td>
</tr>
<tr>
<td>If Chelsea Clinton were asked to hold the seat for her mother,as her mother gave our country away, the Fake News would say CHELSEA FOR PRES!</td>
<td>0.730919182</td>
<td>10/07/2017 11:47</td>
<td>Twitter for iPhone</td>
</tr>
<tr>
<td>I will represent our country well and fight for its interests! Fake News Media will never cover me accurately but who cares! We will #MAGA!</td>
<td>0.999840736</td>
<td>07/07/2017 07:44</td>
<td>Twitter for iPhone</td>
</tr>
<tr>
<td>Big ratings getter @seanhannity and Apprentice Champion John Rich are right now going on stage in Las Vegas for #VegasStrong. Great Show!</td>
<td>0.999996424</td>
<td>20/10/2017 03:00</td>
<td>Twitter for iPhone</td>
</tr>
<tr>
<td>Rather than causing a big disruption in N.Y.C., I will be working out of my home in Bedminster, N.J. this weekend. Also saves country money!</td>
<td>0.997959018</td>
<td>05/05/2017 13:02</td>
<td>Twitter for iPhone</td>
</tr>
<tr>
<td>ISIS just claimed the Degenerate Animal who killed, and so badly wounded, the wonderful people on the West Side, was &quot;their soldier.&quot; .....</td>
<td>0.999863148</td>
<td>03/11/2017 12:03</td>
<td>Twitter for iPhone</td>
</tr>
</tbody>
</table>
<!--kg-card-end: markdown--><p><em>Predicted Staff Tweets</em></p><!--kg-card-begin: markdown--><table>
<thead>
<tr>
<th>text</th>
<th>prediction_score</th>
<th>created_at</th>
<th>source</th>
</tr>
</thead>
<tbody>
<tr>
<td>Billions of dollars in investments &amp; thousands of new jobs in America! An initiative via Corning, Merck &amp; Pfizer:  <a href="https://t.co/QneN48bSiq">https://t.co/QneN48bSiq</a>   <a href="https://t.co/5VtMfuY3PM">https://t.co/5VtMfuY3PM</a></td>
<td>0.999972105</td>
<td>21/07/2017 03:31</td>
<td>Twitter for iPhone</td>
</tr>
<tr>
<td>#WeeklyAddress 🇺🇸   ➡️ <a href="https://t.co/uT4K4fh88Y">https://t.co/uT4K4fh88Y</a>   <a href="https://t.co/1iW7tVVNCH">https://t.co/1iW7tVVNCH</a></td>
<td>0.876031041</td>
<td>13/05/2017 00:47</td>
<td>Twitter Ads</td>
</tr>
<tr>
<td>A must watch: Legal Scholar Alan Dershowitz was just on @foxandfriends talking of what is going on with respect to the greatest Witch Hunt in U.S. political history. Enjoy!</td>
<td>0.99896729</td>
<td>04/12/2017 12:35</td>
<td>Twitter for iPhone</td>
</tr>
<tr>
<td>We need a tax system that is FAIR to working families &amp; that encourages companies to STAY in America, GROW in America, and HIRE in America 🇺🇸   <a href="https://t.co/u9ZgijgLE3">https://t.co/u9ZgijgLE3</a></td>
<td>0.999088407</td>
<td>11/10/2017 23:28</td>
<td>Twitter for iPhone</td>
</tr>
<tr>
<td>We must remember this truth: No matter our color, creed, religion or political party, we are ALL AMERICANS FIRST.  <a href="https://t.co/FesMiQSKKn">https://t.co/FesMiQSKKn</a></td>
<td>1</td>
<td>12/08/2017 21:19</td>
<td>Media Studio</td>
</tr>
<tr>
<td>To each member of the graduating class from the National Academy at Quantico, CONGRATULATIONS!  <a href="https://t.co/bGT8S33ZLU">https://t.co/bGT8S33ZLU</a></td>
<td>0.999998689</td>
<td>15/12/2017 17:35</td>
<td>Twitter for iPhone</td>
</tr>
<tr>
<td>I've been saying it for a long, long time. #NoKo  <a href="https://t.co/LQl7tGhMdO">https://t.co/LQl7tGhMdO</a></td>
<td>1</td>
<td>28/12/2017 19:20</td>
<td>Twitter for iPad</td>
</tr>
<tr>
<td>Today I am here to offer a renewed partnership with America -- to work together to strengthen the bonds of friendship and commerce between all of the nations of the Indo-Pacific, and together, to promote our prosperity and security. #APEC2017  <a href="https://t.co/gN2YbS9CYB">https://t.co/gN2YbS9CYB</a></td>
<td>0.995637</td>
<td>10/11/2017 10:06</td>
<td>Twitter Web Client</td>
</tr>
<tr>
<td>We were let down by all of the Democrats and a few Republicans. Most Republicans were loyal, terrific &amp; worked really hard. We will return!</td>
<td>0.999987483</td>
<td>18/07/2017 11:53</td>
<td>Twitter for iPhone</td>
</tr>
<tr>
<td>.@DanaPerino &amp; @BradThor,   Thank you so much for the wonderful compliment. Working hard! #MAGA  <a href="https://t.co/AKWlsMsCVH">https://t.co/AKWlsMsCVH</a></td>
<td>0.99979645</td>
<td>18/10/2017 23:31</td>
<td>Twitter for iPhone</td>
</tr>
</tbody>
</table>
<!--kg-card-end: markdown--><p>For any politician, having multiple people ‘speak’ through an account identified to be one individual can make it difficult for the public to get a handle on who their elected official really is. It can also add uncertainty for those wishing to hold those poltiicans to account when it could be plausibly claimed that they never wrote that problematic tweet in the first place. However according to this model at least, this is 100% Trump, with 100% confidence.</p><figure class="kg-card kg-image-card"><img src="https://www.jallenrobertson.com/content/images/2020/06/1-9v08CYFaKJyBNgif9Jt9FA.png" class="kg-image" alt="Finding Trump with Neural Networks"></figure><p><em>If you’re interested in playing around with Neural Networks yourself, or want the details on precisely how I went about building the model, the code for this diversion is </em><a href="https://github.com/Minyall/trump_tweet_classifier/blob/master/TrumpTweets.ipynb" rel="noopener nofollow"><em>available as a Jupyter Notebook</em></a><em>.</em></p><p><em>This diversion was supported in part by the </em><a href="https://www.hrbdt.ac.uk" rel="noopener nofollow"><em>ESRC Human Rights, Big Data and Technology Project</em></a><em> at the University of Essex.</em></p><p>This work was supported by the Economic and Social Research Council [grant number ES/ M010236/1]</p>]]></content:encoded></item></channel></rss>