DOI: 10.5281/zenodo.4428239
title: Trust and Believe – Should We? Evaluating the Trustworthiness of Twitter Users

description: <strong>Trust and Believe – Should We? Evaluating the Trustworthiness of Twitter Users</strong> This model is used to analyze the Twitter users and assigns a score calculated based on their social profiles, the credibility of his tweets, the h-indexing score of the tweets. Users with a higher score are not only considered as more influential but also their tweets are considered to have greater credibility. The model is based on both the user level and content level features of a Twitter user. The details for feature extraction and calculating the Influence score is given in the paper. <strong>Description</strong><br> To extract the features from Twitter and generate the dataset we used Python. A modAL framework is used to randomly selects ambiguous data points from the unlabeled data pool using three different sampling techniques and the human manually annotates the selected data. We generate a dataset for 50000 Twitter users and then used different classifiers to classify the Twitter user either as Trusted or Untrusted. <strong>Organization</strong><br> The project consists of the following files: <strong>Dataset.csv</strong><br> The dataset consists of different features of 50000 Twitter users (Politicians) without labels. <strong>Manually_labeled-Dataset.csv</strong><br> This CSV file contains all those Twitter users classified manually as Trusted or Untrusted <strong>feature_extraction.py</strong><br> This python script is used to calculate the Influence score of a Twitter user and further used to generate a dataset. The Influence score is based on: - Social reputation of the user<br> - Content score of the tweets<br> - Tweets credibility <br> - Index score for the number of re-tweets and likes <strong>Activelearner.ipynb</strong><br> To classify a large pool of unlabeled data, we used an active learning model (ModAL Framework). A semi-supervised learning algorithm ideal for a situation in which the unlabeled data is abundant but manual labeling is expensive. The active learner randomly selects ambiguous data points from the unlabeled data pool using three different sampling techniques and the human manually annotates the selected data. Further, we use four different classifiers (Support Vector Machine, Logistic Regression, Multilayer Perceptron and Random Forest) to classify the Twitter user as either Trusted Or Untrusted. <strong>twitter_reputation.ipynb</strong><br> We used different regression models to test its performance on our generated dataset (It is only for testing, now no more part of our work). We train and evaluate our models using different regression models.<br> Training and testing three regression models:<br> 1. Multilayer perceptron<br> 2. Deep neural network<br> 3. Linear regression <strong>twitter_credentials.py</strong><br> In order to extract the features of Twitter users first, one need to authenticate by providing the credentials given in this file. <strong>Screen names (Screen_name_1.txt, Screen_name_2.txt, Screen_name_3.txt)</strong><br> These text files consist of all the Twitter user screen_names. All of them are politicians. We remove the names of all those politicians whose accounts are private. In addition, all those politicians who have no followers/followings are not on the list are also removed. The text of the tweets are not saved. Furthermore, we also remove duplicate names. <strong>References</strong><br> [1] https://stackoverflow.com/questions/38881314/twitter-data-to-csv-getting-error-when-trying-to-add-to-csv-file [2] https://stackoverflow.com/questions/48157259/python-tweepy-api-user-timeline-for-list-of-multiple-users-error [3] https://gallery.azure.ai/Notebook/Computing-Influence-Score-for-Twitter-Users-1 [4] https://scikit-learn.org/stable/modules/generated/sklearn.neural_network.MLPClassifier.html [5] https://towardsdatascience.com/deep-neural-networks-for-regression-problems-81321897ca33