--- title: "WatchTower" emoji: "🗼" colorFrom: "black" colorTo: "blue" sdk: "gradio" sdk_version: 3.9 app_file: app.py pinned: true --- **Note: Use WatchTower via the embedded interface at [HF.space](https://hf.space/embed/User1342/WatchTower/?)!** ## Files - app.py - Gradio web interface for WatchTower. - radical_tweet_aggregator.py - Pinpoint Wrapper and Tweepy integration for aggregating and assigning extremism scores to user posts. - predictor.py - The Pinpoint wrapper script. Also see /Pinpoint and the respective Github repo for the Pinpoint codebase. ## Tweet Attribution and Bias Please Note: If an account is blocked by Pinpoint, that is not to say that the author(s) of this tooling deem such a user to be violent or extremist, instead it is simply a result of the training the machine learning model has undergone and a result of the analysis on the last 10 tweets of the user in question. WatchTower is undergoing tuning to ensure it provides a fair and an as un-bias as possible assessment of Tweets, feedback is always welcome. ## Model Statistics Pinpoint has several configurations, the configuration used by WatchTower has the following stats: 0.827 (accuracy), 0.676 (recall), 0.739 (precision), 0.706 (f-measure). ## Constraints The Twitter APIv2 rate limits blocking requests to a 'User rate limit (User context): 15 requests per 15-minute window per each authenticated user'. This will pose issues to WatchTower when blocking larger numbers of users and will cause the tooling to hang or crash completely. A fix would be to change hosting and have a running service in the background that performs the blocking tasks adhering to the rate limiting.