Πλατφόρμα ανάλυσης δεδομένων εγκλημάτων με χρήση τεχνικών μηχανικής μάθησης & εικονικοποίησης βασισμένης σε περιέκτες
Crime data analysis platform using machine learning & container-based vitualization technologies
Διπλωματική εργασία
Author
Μλαντένοβα, Σιμόνα
Date
2021-10-15Keywords
Μηχανική μάθηση ; Εξόρυξη κειμένου ; Κατηγοριοποίηση κειμένου ; Επεξεργασία φυσικής γλώσσας ; Elasticsearch ; Οπτικοποίηση δεδομένων ; Εικονοποίηση βασισμένη σε περιέκτες ; Μικροϋπηρεσίες ; Ανάλυση δεδομένωνAbstract
Η ανάλυση των εγκλημάτων είναι μια μεθοδική προσέγγιση για τον προσδιορισμό και την ανάλυση των μοτίβων και των τάσεων στα εγκλήματα. Με την αυξανόμενη προέλευση των μηχανογραφημένων συστημάτων, οι αναλυτές δεδομένων μπορούν να βοηθήσουν τις υπηρεσίες επιβολής του νόμου να επιταχύνουν τη διαδικασία επίλυσης εγκλημάτων. Χρησιμοποιώντας την έννοια της εξόρυξης δεδομένων και της μηχανικής μάθησης, μπορούν να αναλύσουν προηγουμένως άγνωστες, χρήσιμες πληροφορίες από μη δομημένα δεδομένα. Λόγω της ανόδου του όγκου των ανοιχτών δεδομένων τα τελευταία χρόνια, μπορούν να χρησιμοποιηθούν ψηφιακά δημοσιευμένα άρθρα εγκλημάτων από διάφορες πηγές που αναφέρουν τακτικά εγκλήματα και περιέχουν λεπτομέρειες για το έγκλημα και πληροφορίες για τις κατηγορούμενες οντότητες. Η τελική πλατφόρμα ανάλυσης των άρθρων περιλαμβάνει ένα σύνολο από μικροϋπηρεσίες που συνεργάζονται μεταξύ τους. Αρχικά, μέσω του Scrapy πραγματοποιείται η συλλογή των δεδομένων και η αποθήκευση τους στην αρχική τους μορφή σε μια βάση δεδομένων (MongoDB). Για να κατηγοριοποιηθεί το κάθε άρθρο που συλλέγεται στην σωστή κατηγορία εγκλήματος, χρησιμοποιούνται μοντέλα αλγορίθμων κατηγοριοποίησης δειγμάτων (όπως Naive Bayes, Support Vector Machines). Για την ανάλυση σημαντικών πληροφοριών από το κείμενο χρησιμοποιούνται ειδικά σχεδιασμένοι αλγόριθμοι επεξεργασίας φυσικής γλώσσας (NLP) σε συνδυασμό με τις αναλύσεις που πραγματοποιούνται από τους αναλυτές του elasticsearch, ενός συνόλου εργαλείων ανοιχτού κώδικα για συλλογή δεδομένων, εμπλουτισμό, αποθήκευση και ανάλυση δεδομένων. Ο σκοπός της ανάλυσης είναι να γίνει η εξαγωγή σημαντικών στοιχείων όπως η τοποθεσία του εγκλήματος, η ηλικία του θύματος και του θύτη, το φύλο του θύματος, αν συνελήφθη ο δράστης, καθώς και λέξεις κλειδιά που δηλώνουν τον τρόπο που πραγματοποιήθηκε το έγκλημα. Η οπτικοποίηση των τελικών δεδομένων πραγματοποιείται χρησιμοποιώντας Plotly’s Dash και μας δίνει μια σαφή ιδέα για το τι σημαίνει η πληροφορία δίνοντάς της οπτικό πλαίσιο μέσω χαρτών ή γραφημάτων. Αυτό καθιστά τα τελικά δεδομένα πιο φυσικά για να κατανοήσει το ανθρώπινο μυαλό και επομένως διευκολύνει τον εντοπισμό τάσεων, προτύπων και ακραίων τιμών σε μεγάλα σύνολα δεδομένων. Λόγω της εικονοποίησης βασισμένη σε περιέκτες, τα παραπάνω επίπεδα χτίζουν μια ολοκληρωμένη πλατφόρμα ανάλυσης εγκλημάτων ως μια σειρά από μικροϋπηρεσίες, καθεμία από τις οποίες εκτελείται με τη δική της διαδικασία και είναι ανεξάρτητη από τις υπόλοιπες.
Abstract
Crime analysis is a methodical approach to identifying and analyzing patterns and trends in crime. With the growing origins of computerized systems, data analysts can help law enforcement agencies speed up the crime solving process. Using the concept of data mining and machine learning, they can analyze previously unknown, useful information from unstructured. Due to the increase in the volume of open data in recent years, digitally published crime articles from various sources that report regular crimes and contain crime details and information about the accused entities can be used. The ultimate article analysis platform includes a set of microservices that work together. Initially, Scrapy collects the data and stores it in its original form in a database (MongoDB). To categorize each article collected in the correct crime category, sample categorization algorithm models (such as Naive Bayes, Support Vector Machines) are used. Natural text processing (NLP) custom-made algorithms are used to analyze important textual information in conjunction with analyzes performed by elasticsearch analysts, a set of open source tools for data collection, enrichment, storage, and data analysis. The purpose of the analysis is to extract important information such as the location of the crime, the age of the victim and the perpetrator, the gender of the victim, if the perpetrator is arrested, as well as keywords that indicate how the crime was committed. The visualization of the final data is done using Plotly’s Dash and gives us a clear idea of what the information means by giving it a visual framework through maps or graphs. This makes the final data more natural for the human mind to understand and therefore makes it easier to identify trends, patterns and extremes in large data sets. Due to container based visualization, the above levels build a comprehensive crime analysis platform as a series of microservices, each of which runs its own process and is independent.