Data science tricks for understanding Trump’s rhetorical appeal


I pulled down a huge collection of Donald Trump’s speeches and ran them through the TFIDF algorithm using python’s scikit.learn toolkit. Here are the most common Trump phrases (slightly edited to be more readable):

We're going to take care of our vets. - 0.0557795459882
They're going to pay for the wall. - 0.0346217871651
Thank you thank you very much. - 0.0346217871651
We're not going to have country... - 0.0250046240637
We're going to get rid of... - 0.0230811914434
you're going to destabilize the middle east - 0.0230811914434
you look at what's going on - 0.0211577588231
we're going to make our country great again - 0.0192343262028
we're going to bring our jobs back - 0.0192343262028
what are you going to do - 0.0192343262028
look at what we did in iraq - 0.0192343262028
back they would have said no - 0.0192343262028
to knock the hell out of - 0.0192343262028
We're going to win! We're going to win a lot! - 0.017

For kicks, here are the most common phrases of similar length in Hitler’s speeches from 1921 through 1941. Trump’s rhetoric has been compared to Hitler’s style, but the only similarities seem to be in themes of “us vs them” and presenting all solutions as being either one thing or another (no nuance or shades of gray):

the rest of the world - 0.0173156603694
the government of the reich - 0.0138525282955
the community of the people - 0.0138525282955
agitators we were the first to - 0.0103893962216
there are only two possibilities either - 0.0103893962216
at the outbreak of the war and if possible to destroy - 0.00692626414775
they are doing exactly the same thing - 0.00692626414775
no power in the world can - 0.00692626414775
german armed forces - 0.0318299028024

And phrases from Hitler’s best selling book about “his struggle”, Mein Kampf:

the broad masses of the people - 0.0232733461938
the german national socialist labour party - 0.0213339006777
the peoples state will have to - 0.0155155641292
by reason of the fact that - 0.0155155641292
the economic life of the nation - 0.0116366730969
it is out of the question to think ... - 0.0116366730969
the interests of the german people - 0.0116366730969
the law for the protection of the republic - 0.00969722758076
there is no such thing as - 0.00969722758076
the idea of the peoples state - 0.00775778206461
of the people - 0.131291565956
of the nation - 0.130281630834
of the state - 0.123212084974

Trump’s speeches are blanketed with promises. He promises to build a wall, take care of [insert special interest group], and bring glory to his country. His ideas are simple to grasp and repeat, and leave ample room for the audience to fill in the details as he/she wishes.

Hitler, in contrast, tries to lay out logical arguments why his view is the right one. He uses longer sentences and bigger words, connected in complex thoughts. He couches his arguments as a battle between the German people (and the state being, by extension, the will of the people) against the rest of the world. Both present their country as standing against the bullying world, even though both nations are arguably among the most powerful in the world.


One thing missing from both Trump’s and Hitler’s rhetoric are mentions of Muslims or Jews, respectively. They’re there, but not explicit, not repeated as often as other promises or arguments about national greatness. Computers don’t catch the subtext in speeches, and that is where the language of racial/ethnic divisiveness lives.

One thought on “Data science tricks for understanding Trump’s rhetorical appeal

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s