Fake news is a type of deliberate misinformation that spreads via the media to either influence the public’s opinion or gain financially. Although fake news used primarily to spread through traditional media, the wide adaption of internet services over the past years has shifted the main source of misinformation. Internet has allowed information to propagate faster than ever before, but it has also enabled a completely new way to publish, share and consume news with very little to none regulation or editorial standards. User generated content far surpasses the amount of traditional media content resulting in an overload of the current online news environment. In such an environment, it has become extremely difficult for the average reader to evaluate the credibility of an article and, to some extent, to distinguish between content generated by users and content generated by journalists. The need of new technologies and automated tools arises, as fact checking and source verification becomes a time-consuming process. Various approaches of identifying deception in articles have shown very promising results. Patterns, like the frequency of a word’s appearance or a phrase’s syntactic structure, can give away the author’s underlying intentions. The goal achieved in this thesis is the exploration of possible ways we can detect deception in articles and the development of an easy to use and train application, which is able to check the veracity of either plain text or a web-page that contains a news article written in Greek.
Full publication: https://github.com/rtsketo/FakeNewsDetection/blob/master/FakeDetection.pdf
-
Make sure the files are in the proper directory (see File Structure).
-
Run the app using FakeDetection.bat or the command:
java -jar fakeDetection.jar
-
Test the app using AccuracyTester.bat or the command:
java -cp FakeDetection.jar Test.Tester <repetitions>
Example: java -cp FakeDetection.jar Test.Tester 100
src: Application's source code.
lib: Library dependencies. Uploaded for consistency.
Models: Models needed for PoS-tagging.
News: A collection of news articles pre-categorized.
Trained Dbase.7z: A sample of an already trained database.
FakeDetection.jar: The appication compiled into a jar file.
root
|-- Models
| |-- POS
| | |-- English.DICT
| | `-- English.RDR
| `-- UniPOS/UD_Greek
| | |-- el-upos.DICT
| | `-- el-upos.RDR
|-- News
| |-- fake.txt
| `-- good.txt
|-- lib
| |-- commons-io-2.6.jar
| |-- commons-lang3-3.7.jar
| |-- commons-logging-1.2.jar
| |-- guava-23.0.jar
| |-- java-json.jar
| |-- jaxb-api-2.3.0.jar
| |-- jsoup-1.11.2.jar
| |-- language-el-4.0.jar
| |-- languagetool-core-4.0.jar
| |-- morfologik-fsa-2.1.4.jar
| |-- morfologik-speller-2.1.4.jar
| |-- morfologik-stemming-2.1.4.jar
| |-- morphology-el-1.0.0.jar
| |-- opennlp-tools-1.8.4.jar
| |-- segment-2.0.0.jar
| `-- sqlite-jdbc-3.20.0.jar
|-- AccuracyTester.bat
|-- FakeDetection.bat
|-- FakeDetection.jar
`-- edu.db
Notice: edu.db is extracted from Trained Dbase.7z