I think there are different ways: based on disproving content, based on analysing content of loads of messages, and based on how they are spread. ##Fake news As the name says, it's fake, so proving it's fake is the obvious way to apply that label. How this is done depends on the type of fake news. If a statement tries to present a fact, then it may be easy to point out why that's not true by making another factual statement supported by evidence. If fake news pushes a narrative without presenting it as a fact then it's obviously harder. For example, you could write many bad reviews based on an experience which you exaggerated a lot, that's hard to verify. ##Based on message content This mostly applies to large scale fake news operations. For example, when you try to give a company a bad name by writing ten bad reviews, that probably won't be noticed if you present yourself with different identities and use different texts over a relatively long period of time. In practice, those pushing fake news want to make an impact, for example to make something go viral. To make that happen, ten posts aren't enough. They may need tens of thousands of posts with different origins (i.e. supposedly different real people pushing them). To do that, they may use [bot networks][1]. Another thing they'll need are different texts that push the desired message. If thousands of users of some platform suddenly post the same text (or one of a small batch), that'll be suspicious. They'll probably have to use some automated way to make posts or texts. Those can be detected and that's something scientists work on. For example in this paper: [*Fake News Early Detection: A Theory-driven Model*][2]. They do so by applying machine learning techniques on the content of messages. ##Focusing on the accounts Another technique focuses on the account used to push the message. As mentioned before, they need to push loads of messages to make something trending. For that, they need accounts, and you don't just get thousands of real people to play along. That, too, is something scientists look at. For example, in [*Supervised Machine Learning Bot Detection Techniques to Identify Social Twitter Bots*][3]. The paper above looks at many factors (only in relation to Twitter), some of them (from table 2 in that paper), to give you an idea, are: description on profile, number of tweets, friends to followers ratio, has a custom profile image. And there are quote a few more. Obviously, it's easier if you have access to the platform itself (i.e. the data Twitter has). As a company, they have access to where the tweets originate from (which i.p. address) and they can query many more tweets at once (most researchers / developers are limited to a fixed number of queries per minute). [1]:https://www.kaspersky.com/blog/fake-news-bots/26943/ [2]:https://arxiv.org/pdf/1904.11679.pdf [3]:https://scholar.smu.edu/cgi/viewcontent.cgi?article=1019&context=datasciencereview