Skip to content

Hitesh-VIT/CrimeTwitter

Repository files navigation

  **Crime analysis and classification using twitter**

Abstract:

The project involves machine learning algorithms to classify tweets and then a simple rule based approach(if-Then) to sub-categorize them in different categories further. The Classification algorithm used in this project is Naive Bayes classification based on independent probability.

The crime overview of an area is a highly crucial for private agencies to track and plan their resources accordingly and providing a means to private and NGOs agencies. To get hold of criminal activity overview using publicly available data is something new for private agencies as this work is mostly oriented towards law enforcement agencies. The main aim of the project is to bring this data categorized to non government agencies for research and planning purposes according to there area of interests.

1.Introduction:

The project aims to solve the following problems

  1. To use Twitter as an Information Source
  2. Classification of Crime in Categories and sub-category
  3. The tweets are classified based on Naiv- Bayes based Classifier and weakly unsupervised learning.
  4. Use basic Machine Learning Algorithms like weakly supervised Naive-Bayes classifier to sentiment analysis the classified tweet
  5. Visualization of final result in a graphical manner.
  6. Data to be stored in multiple categories for crime
  7. A portal to allow agencies to review data for their sub category
  8. A portal to perform a psychological analysis of persons tweets given his "screen name".
  9. Feature to involve Law Enforcement Agencies, Media Houses and NGO's to link up with the application.

The algorithm and services used in the process is Naive Bayes algorithm and IBM Cognitive Services(Personality Insight).

Naive Bayes is a classification algorithm for binary (two-class) and multi-class classification problems. The technique is easiest to understand when described using binary or categorical input values.

It is called naive Bayes or idiot Bayes because the calculation of the probabilities for each hypothesis are simplified to make their calculation tractable. Rather than attempting to calculate the values of each attribute value P(d1, d2, d3|h), they are assumed to be conditionally independent given the target value and calculated as P(d1|h) * P(d2|H) and so on.

2.Theoretical Background

The Semantic Orientation (SO) of a word as the difference between its associations with positive and negative words. In practice, we want to calculate "how close" a word is with terms like good and bad. The chosen measure of "closeness" is Pointwise Mutual Information (PMI), calculated as follows (t1 and t2 are terms):

In Turney's paper, the SO of a word was calculated against excellent and poor, but of course we can extend the vocabulary of positive and negative terms. Using and a vocabulary of positive terms and for the negative ones, the Semantic Orientation of a term t is hence defined as:

We can build our own list of positive and negative terms, or we can use one of the many resources available on-line, for example the opinion lexicon by Bing Liu.

3-Objective of the project:

The project aims at analysing tweets in real time and classify the tweets based on criminal activity The project then aims to bring a detailed and specific crime analysis report to different public agencies and NGOs to perform research work and define strategies accordingly.

The project aims at predicting the crime levels and give a general estimation of crimes occurring in a particular region. The project is hoped to give aid to NGOs and media houses to estimate crime levels and see classification of a particular crime in a particular area. The projects aimed at creating a web portal also to help facilitate a systematic approach to preview the result of a certain category in a crime.

The project involves machine learning algorithms to classify tweets and then a simple rule based approach(if-Then) to sub-categorize them in different categories further. The Classification algorithm used in this project is Naive Bayes classification based on independent probability.

The crime overview of an area is a highly crucial for private agencies to track and plan their resources accordingly and providing a means to private and NGOs agencies. To get hold of criminal activity overview using publicly available data is something new for private agencies as this work is mostly oriented towards law enforcement agencies. The main aim of the project is to bring this data categorized to non government agencies for research and planning purposes according to there area of interests.

3. Literature Review Summary Table

Authors and Year (Reference) Title (Study) Concept / Theoretical model/ Framework Methodology used/ Implementation Dataset details/ Analysis Relevant Finding Limitations/ Future Research/ Gaps identified
Harshavardhn Achrekar,Avinash Gandhe,Ross Lazarus,Ssu-Hsin Yu,Benyuan Liu() Predicting Flu Trends using Twitter Data Social Network Enabled Flu Trends (SNEFT)framework Probability Function and comparitive analysis with Twitter dataset and CDC dataset Twitter and CDC Prediction based on two different dataset. The experiment was limited and less complex archtecture was used.Mor omplex architecture like ARX with more number of samples could be used.
Lei Shi,Neeraj Agarwal,Ankur Agrawal,Rahul Garg,Jacob Spoelstra(2012) Predicting US Primary Elections with Twitter Capturing tweets mentioning each presidentialcandidate and analyzing the sentiments behind those tweets The loss function of Lasso regression model to predict the outcome. Twitter data fromSeptember, 2011to February, 2012. Prediction based on specific lexicons repetitions and retweets gaps. The corpus used in the paper may not have shown the real fluctuation shown in presidential candidacy. The impact of various lexicons in predicting results was ignored in methodology.
Harsh Thakkar and Dhiren Patel(2011) Approaches for Sentiment Analysis on Twitter:A State-of-Art study Sentiment basically involves three techniques -lexicon, Machine learning based,Hybrid A comparitive study on a general dataset was conducted using all three techniques and a comparision was generated. The Dataset was that of paper -R. Prabowo and M. Thelwall. Sentiment analysis: A combined approach. Journal of In-formatics (2009) 143-157 Sentiment Analysis of various categories including Move Reviews, Products and Politics is already being conducted.This could help in categorical classification The dataset used was limited and the machine learning approach ws not well defined as the training set used was insufficient.
Bhagyashri Wagh 1 , J. V. Shinde 2 , N. R. Wankhade 3Student, Comp Dept, Late Sapkal C.O.E., Nashik, India 1Asst. Professor, Comp Dept, Late Sapkal C.O.E, Nashik, India 2Assoc. Professor, Comp Dept, Late Sapkal C.O.E, Nashik, India(2016) Sentimental Analysis on Twitter Data usingNaive Bayes Naive Bayes algorithm for Machine learning classification The Naive Bayen classifier was implemented to perform sentiment analysis of positive and negative tweets Twitter Dataset Support Vector Machine, and K-nearest and Naive BAyes neibhour algorthims and their effeciency Naive Bayer is a good classification but reent studies SVM and K-nearest algorithm to give much better effeciency.
Beverly Estephany Parilla-Ferrer, Proceso L. Fernandez Jr., PhD, and Jaime T. Ballena IV, PhD(2014) Automatic Classification ofDisaster-Related Tweets Multi-level and multi-label classificationusing Naive Bayes classifierto classify tweets The process was divided in various steps -Manual Classification,Machine Learnig classification(Naive Bayers and SVM) and there were pre processing and feature generation. 612,622 tweets(Habagat flooding ofMetro Manila in 2012) Classifiation of crimes in different category could be done using same algorithm The statistical analysis on the tweets and the performance evaluation of machine learningalgorithms for the classification of tweets was not considered in the paper.

Table-1

4. Innovation component in the project:

The project involves a component to perform personality insight over a given twitter handle based on the tweets which could be used for further analysis whether in terms of criminal tendency, ideology or selection process for a firm. The portal gives a bar-chart for a user with different personality categories taking the help of Watson AI to perform personality Insight.

This component innovates the use of social media to draw a character sketch for a particular user, community, agency as well as a political party to a general developer for further analysis

5. Work done and Implementation

a) Methodology adapted:

  • Collection of Data using Twitter API

  • Pre-processing of data

    • ◦◦Tokenizing the data into lexicons
    • ◦◦Clearing the data of tabs, whitespaces and emoticons
    • ◦◦Removing stopwords like ( a,the,an,from,to ec)
    • ◦◦Stemming of key words.
  • Collection of tweets for a particular user and converting them into a single string for further evaluation.

  • Using IBM AI, Watson to perform a personality test on a set of text strings sent over using REST API.

  • Creating a web portal for end user agency to access their data using a portal.

  • Creating a web portal to perform a psychological analysis of a person tweet

Hardware and software requirements:

The data corpus used as of now for prototype creation as not much storage and processing power is required for the project.

b) Dataset used / Tools used:

  • Twitter Streaming API

For collection of Tweets from Twitter for creating dataset.

  • Tweepy

              A Python library to extract and scrape  information from twitter.
    
  • Scikit-learn

A Python toolkit, used in this project to create a classifier for labelling the crime in tweets.

  • Panda Library

A python library used to deal with CSV files, used in this project to save tweets in a csv for classifier to train upon.

    • ◦◦
  • Django Web Framework

A Python based Web framework, used in this project to create a web frontend for all the python files.

  • Watson(Python SDK for IBM Watson)

A Python SDK to interact with Watson(Cognitive service by IBM), used in this project to connect with Watson Personality Insight. To give a personality insight array for a particular text.

    • ◦◦

The dataset used for training and experimentation is

Twitter Sentiment Corpus

---http://www.sananalytics.com/lab/twitter-sentiment/

Twitter Streaming API is used for production which contains 4000+ tweets from foure different cities -Mumbai,Delhi,Chennai and Kolkata.

SAMPLE CASE STUDY

FIG 1

FIG 2

FIG 3

FIG 4

![](data:image/*;base64,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kSNHsmvXLnr27IndbqdHjx7YbLbTpqVIftu3b6d37960aNGCO+64gxtvvJHDhw/7y9qxY0eefPJJli5dyvPPP09sbCw333wz//d//0daWhpLly4tNf3y3GOlpqaycOFCRo4cSefOnVm6dKm/9YqIiIgUZBiG/310dDRXX301aWlpNGvWrMRtIiMjGTJkCC+99NLJKGK5PP744wWm27ZtS9u2bU/KGKQ7duygZcuWABw6dIjq1asDFInFVaW8oOrQoUOJjo4mJSWl0oHcE/n3faUCq4MGDcJmsxEREUFERIR//tlnn03Dhg0LjHmYX94NX4MGDSq1vLDatWuTnJxc5EA6HA4mTZpEnz59iI6O9l9EwcHB5Uq3cPqpqakAuFwuEhMT/SdTfpZlkZaWRnR0tH/e5MmTmTx5MnfffTd33nknX375JU899VSZ41PmHfDAwMDTNpBTkacMl3YsSjqGderUAXwn+5QpU/zz83f1PmPq12b4Wqx6wWYDrxfsttwe/IbvOVKeHAiPsqgWCfYQMALh0TqrqJ6UxcyDzTGNAH9rVcswiA120rnmAfYcPYBh+IKnHXoNJsARDh4XmB4CgqMKDJoaYFhY3twvFAMcgRaBgRZer0XdctR3Scq6Tg4cOMD777/Pf//7Xw4ePOgfW7AsZT2h2TRNli9fzvLlywkKCmLUqFFMmDCBCRMmMGnSJP967du3JyYmhoULF1K9evUKdXU9E65FETlz7Nixg0OHDtGxY0f//ULe8Cpr1qxh3Lhx9OrVi9q1azNjxgx/y4CyvhPz7pvK86PVibR7927efPNNbrzxRm644YYiy0v7vrAsi08//ZRbbrmFtm3b0qtXL44ePXrCx++vrPT0dNauXcuUKVOYN28egwcP9gdW77vvPux2O/fffz9ZWVns37+fe++9l6+++orLLruszMBqee+x3nvvPS677DKioqJ46623jnufRERE/iksyyIiIqLImKWF5X+I1engVD7E6e2332bs2LEArF27lrZt2wKwbdu2Ksuj8P6FhIQwZMgQoqOjOXbsmL83V2WdqL/vSz+LimEYBsOGDWPr1q20b9/e/8rr/j506NASt8278T9w4EC5l5c2Tti+ffuoXr068fHxBeYPHTqUf//738ybN49u3bpxxRVXFLt9QEBAiWnnlSM2NtYfPA4MDKRevXrs27ev1O3y/Pbbb4wePZprrrmGRYsWMXjwYEaNGlWubb///vszOpCTd9zKOhYlHcODBw8Cvtau+c+zPn36+Nc5U+p3U7IT0/IFVM3cl2XhGwIgd4gAmwGh1cAeBEYAGDaDABvcXnsDn579JUMi/6B10CEGxvzBq+f9wKoL5/Nap+8ZUHsPdsP3i021iCgCqzcjMLw2gSFxvuaxuX+UGwaEhwCmka9kFli+a/rAgbLruyR