Μεγάλα δεδομένα είναι παντού. Περίοδος. Κατά τη λειτουργία μιας επιτυχημένης επιχείρησης στη σημερινή εποχή, είναι πιθανό να την αντιμετωπίσετε είτε σας αρέσει είτε όχι.
Είτε είστε επιχειρηματίας που προσπαθεί να καλύψει τις εποχές είτε ένα θαύμα κωδικοποίησης που ψάχνει για το επόμενο έργο του, αυτό το σεμινάριο θα σας δώσει μια σύντομη επισκόπηση του τι είναι τα μεγάλα δεδομένα. Θα μάθετε πώς ισχύει για εσάς και πώς μπορείτε να ξεκινήσετε γρήγορα μέσω του Twitter API και του Python.
Μεγάλα δεδομένα είναι ακριβώς αυτό που ακούγεται - πολλά δεδομένα. Μόνο, ένα μόνο σημείο δεδομένων δεν μπορεί να σας δώσει πολλές πληροφορίες. Αλλά τα terabyte δεδομένων, σε συνδυασμό με πολύπλοκα μαθηματικά μοντέλα και έντονη υπολογιστική ισχύ, μπορούν να δημιουργήσουν γνώσεις που τα ανθρώπινα όντα δεν είναι ικανά να παράγουν. Η αξία που παρέχει το Big Data Analytics σε μια επιχείρηση είναι άυλη και ξεπερνά τις ανθρώπινες δυνατότητες κάθε μέρα.
Το πρώτο βήμα για τη μεγάλη ανάλυση δεδομένων είναι η συλλογή των ίδιων των δεδομένων. Αυτό είναι γνωστό ως «εξόρυξη δεδομένων». Τα δεδομένα μπορούν να προέρχονται από οπουδήποτε. Οι περισσότερες επιχειρήσεις ασχολούνται με gigabyte δεδομένων χρήστη, προϊόντος και τοποθεσίας. Σε αυτό το σεμινάριο, θα διερευνήσουμε πώς μπορούμε να χρησιμοποιήσουμε τεχνικές εξόρυξης δεδομένων για τη συλλογή δεδομένων Twitter, τα οποία μπορεί να είναι πιο χρήσιμα από ό, τι νομίζετε.
Για παράδειγμα, ας υποθέσουμε ότι χρησιμοποιείτε το Facebook και θέλετε να χρησιμοποιήσετε τα δεδομένα του Messenger για να παρέχετε πληροφορίες σχετικά με τον τρόπο με τον οποίο μπορείτε να διαφημιστείτε καλύτερα στο κοινό σας. Το Messenger έχει 1,2 δισεκατομμύρια μηνιαίοι ενεργοί χρήστες . Σε αυτήν την περίπτωση, τα μεγάλα δεδομένα είναι συνομιλίες μεταξύ χρηστών. Εάν επρόκειτο να διαβάσετε ξεχωριστά τις συνομιλίες κάθε χρήστη, θα έχετε τη δυνατότητα να κατανοήσετε καλύτερα τι τους αρέσει και να μπορείτε να τους προτείνετε ανάλογα προϊόντα. Χρησιμοποιώντας μια τεχνική μηχανικής μάθησης γνωστή ως Επεξεργασία φυσικής γλώσσας (NLP), μπορείτε να το κάνετε σε μεγάλη κλίμακα με ολόκληρη τη διαδικασία αυτοματοποιημένη και αφεθεί στα μηχανήματα.
διέρρευσαν πιστωτικές κάρτες που λειτουργούν
Αυτό είναι ένα από τα αμέτρητα παραδείγματα για το πώς η μηχανική εκμάθηση και τα μεγάλα αναλυτικά δεδομένα μπορούν να προσθέσουν αξία στην εταιρεία σας.
Κελάδημα είναι ένα χρυσό ορυχείο δεδομένων. Σε αντίθεση με άλλες κοινωνικές πλατφόρμες, σχεδόν κάθε tweet του χρήστη είναι εντελώς δημόσιο και ελκυστικό. Αυτό είναι ένα τεράστιο πλεονέκτημα εάν προσπαθείτε να αποκτήσετε μεγάλο αριθμό δεδομένων για να εκτελέσετε αναλυτικά στοιχεία. Τα δεδομένα του Twitter είναι επίσης αρκετά συγκεκριμένα. Το API του Twitter σάς επιτρέπει να κάνετε σύνθετα ερωτήματα όπως να τραβάτε κάθε tweet για ένα συγκεκριμένο θέμα τα τελευταία είκοσι λεπτά ή να τραβάτε tweet ενός συγκεκριμένου χρήστη.
Μια απλή εφαρμογή αυτού θα μπορούσε να είναι η ανάλυση του τρόπου με τον οποίο η εταιρεία σας λαμβάνεται στο ευρύ κοινό. Θα μπορούσατε να συλλέξετε τα τελευταία 2.000 tweets που αναφέρουν την εταιρεία σας (ή όποιον όρο θέλετε) και να εκτελέσετε έναν αλγόριθμο ανάλυσης συναισθημάτων.
Μπορούμε επίσης να στοχεύσουμε χρήστες που ζουν συγκεκριμένα σε μια συγκεκριμένη τοποθεσία, η οποία είναι γνωστή ως χωρικά δεδομένα. Μια άλλη εφαρμογή αυτού θα μπορούσε να είναι η χαρτογράφηση των περιοχών στον κόσμο όπου η εταιρεία σας έχει αναφερθεί περισσότερο.
Όπως μπορείτε να δείτε, τα δεδομένα Twitter μπορούν να είναι μια μεγάλη πόρτα στο διορατικότητα του κοινού και πώς λαμβάνουν ένα θέμα. Αυτό, σε συνδυασμό με το άνοιγμα και τον γενναιόδωρο περιορισμό του API του Twitter, μπορούν να παράγουν ισχυρά αποτελέσματα.
Θα χρησιμοποιούμε Πύθων 2.7 για αυτά τα παραδείγματα. Στην ιδανική περίπτωση, θα πρέπει να έχετε ένα IDE για να γράψετε αυτόν τον κωδικό. Θα χρησιμοποιώ PyCharm - Έκδοση κοινότητας .
Για να συνδεθείτε στο API του Twitter, θα χρησιμοποιούμε μια βιβλιοθήκη Python που ονομάζεται Tweepy , το οποίο θα εγκαταστήσουμε σε λίγο.
Για να χρησιμοποιήσουμε το API του Twitter, πρέπει να δημιουργήσουμε έναν λογαριασμό προγραμματιστή στο Ιστοσελίδα εφαρμογών Twitter .
Θα χρειαστούν όλα αυτά αργότερα, οπότε φροντίστε να διατηρήσετε αυτήν την καρτέλα ανοιχτή.
Tweepy είναι ένα άριστα υποστηριζόμενο εργαλείο για την πρόσβαση στο Twitter API. Υποστηρίζει Python 2.6, 2.7, 3.3, 3.4, 3.5 και 3.6. Υπάρχουν δύο διαφορετικοί τρόποι για να εγκαταστήσετε το Tweepy. Ο ευκολότερος τρόπος είναι η χρήση pip
.
Απλώς πληκτρολογήστε pip install tweepy
στο τερματικό σας.
Μπορείτε να ακολουθήσετε τις οδηγίες στο Αποθήκη GitHub του Tweepy . Τα βασικά βήματα είναι τα εξής:
git clone https://github.com/tweepy/tweepy.git cd tweepy python setup.py install
Μπορείτε επίσης να αντιμετωπίσετε τυχόν προβλήματα εγκατάστασης εκεί.
Τώρα που έχουμε τα απαραίτητα εργαλεία έτοιμα, μπορούμε να ξεκινήσουμε την κωδικοποίηση! Η βασική γραμμή κάθε εφαρμογής που θα δημιουργήσουμε σήμερα απαιτεί τη χρήση του Tweepy για τη δημιουργία ενός αντικειμένου API με το οποίο μπορούμε να καλέσουμε συναρτήσεις. Για να δημιουργήσουμε το αντικείμενο API, ωστόσο, πρέπει πρώτα να πιστοποιήσουμε τον εαυτό μας με τις πληροφορίες προγραμματιστή.
Αρχικά, ας εισαγάγουμε Tweepy και προσθέστε τις δικές μας πληροφορίες ελέγχου ταυτότητας.
import tweepy consumer_key = 'wXXXXXXXXXXXXXXXXXXXXXXX1' consumer_secret = 'qXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXh' access_token = '9XXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXi' access_token_secret = 'kXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXT'
Τώρα ήρθε η ώρα να δημιουργήσουμε το αντικείμενο API μας.
# Creating the authentication object auth = tweepy.OAuthHandler(consumer_key, consumer_secret) # Setting your access token and secret auth.set_access_token(access_token, access_token_secret) # Creating the API object while passing in auth information api = tweepy.API(auth)
Αυτή θα είναι η βάση κάθε εφαρμογής που δημιουργούμε, οπότε φροντίστε να μην τη διαγράψετε.
Σε αυτό το παράδειγμα, θα αντλήσουμε τα δέκα πιο πρόσφατα tweet από τη ροή σας στο Twitter. Αυτό θα το κάνουμε χρησιμοποιώντας το αντικείμενο του API home_timeline()
λειτουργία. Στη συνέχεια, μπορούμε να αποθηκεύσουμε το αποτέλεσμα σε μια μεταβλητή και να το βρούμε για να τυπώσουμε τα αποτελέσματα.
# Using the API object to get tweets from your timeline, and storing it in a variable called public_tweets public_tweets = api.home_timeline() # foreach through all tweets pulled for tweet in public_tweets: # printing the text stored inside the tweet object print tweet.text
Το αποτέλεσμα θα πρέπει να μοιάζει με ένα σωρό τυχαίων tweets, ακολουθούμενο από τη διεύθυνση URL του ίδιου του tweet.
Ακολουθώντας το σύνδεσμο για το tweet θα σας φέρει συχνά στο ίδιο το tweet. Ακολουθώντας το σύνδεσμο από το πρώτο tweet θα μας έδινε το ακόλουθο αποτέλεσμα:
Λάβετε υπόψη ότι εάν το εκτελείτε μέσω τερματικού και όχι IDE όπως το PyCharm, ενδέχεται να έχετε κάποια προβλήματα μορφοποίησης κατά την προσπάθεια εκτύπωσης του κειμένου του tweet.
Στο παραπάνω παράδειγμα, εκτυπώσαμε το κείμενο από κάθε tweet χρησιμοποιώντας tweet.text
. Για να αναφερθούμε σε συγκεκριμένα χαρακτηριστικά κάθε αντικειμένου tweet, πρέπει να δούμε το JSON που επιστρέφεται από το Twitter API.
Παραδείγματα ελαστικότητας τιμής ζήτησης στην πραγματική ζωή
Το αποτέλεσμα που λαμβάνετε από το Twitter API είναι σε μορφή JSON και έχει συνημμένο αρκετό αριθμό πληροφοριών. Για απλότητα, αυτό το σεμινάριο επικεντρώνεται κυρίως στο χαρακτηριστικό 'κείμενο' κάθε tweet και σε πληροφορίες σχετικά με το tweeter (ο χρήστης που δημιούργησε το tweet). Για το παραπάνω δείγμα, μπορείτε να δείτε ολόκληρο το αντικείμενο JSON που επέστρεψε εδώ .
Ακολουθεί μια γρήγορη ματιά σε ορισμένα χαρακτηριστικά που έχει να προσφέρει ένα tweet.
Αν θέλετε να βρείτε την ημερομηνία δημιουργίας του tweet, θα το ρωτούσατε με print tweet.created_at
.
Μπορείτε επίσης να δείτε ότι κάθε αντικείμενο tweet συνοδεύεται από πληροφορίες σχετικά με το tweeter.
Για να λάβετε το χαρακτηριστικό 'name' και 'location' του tweeter, θα μπορούσατε να εκτελέσετε print tweet.user.screen_name
και print tweet.user.location
.
Λάβετε υπόψη ότι αυτά τα χαρακτηριστικά μπορεί να είναι εξαιρετικά χρήσιμα εάν η εφαρμογή σας εξαρτάται από χωρικά δεδομένα.
Σε αυτό το παράδειγμα, θα τραβήξουμε απλά τα τελευταία είκοσι tweets από έναν χρήστη της επιλογής μας.
Πρώτον, θα εξετάσουμε το Τεκμηρίωση Tweepy για να δείτε αν υπάρχει μια τέτοια λειτουργία. Με λίγη έρευνα, διαπιστώνουμε ότι το user_timeline()
η λειτουργία είναι αυτό που ψάχνουμε.
Μπορούμε να δούμε ότι το user_timeline()
Η συνάρτηση έχει μερικές χρήσιμες παραμέτρους που μπορούμε να χρησιμοποιήσουμε, συγκεκριμένα id
(το αναγνωριστικό του χρήστη) και count
(το ποσό των tweets που θέλουμε να τραβήξουμε). Λάβετε υπόψη ότι μπορούμε να τραβήξουμε μόνο περιορισμένο αριθμό tweets ανά ερώτημα λόγω Όρια τιμών στο Twitter .
Ας δοκιμάσουμε να τραβήξουμε τα τελευταία είκοσι tweets από το λογαριασμό twitter @NyTimes.
Μπορούμε να δημιουργήσουμε μεταβλητές για να αποθηκεύσουμε τον αριθμό των tweets που θέλουμε να τραβήξουμε (count) και τον χρήστη από τον οποίο θέλουμε να τα τραβήξουμε (name). Στη συνέχεια μπορούμε να καλέσουμε τη συνάρτηση user_timeline με αυτές τις δύο παραμέτρους. Παρακάτω είναι ο ενημερωμένος κώδικας (λάβετε υπόψη ότι θα έπρεπε να διατηρήσετε τον έλεγχο ταυτότητας και τη δημιουργία αντικειμένων API στην κορυφή του κώδικα).
# Creating the API object while passing in auth information api = tweepy.API(auth) # The Twitter user who we want to get tweets from name = 'nytimes' # Number of tweets to pull tweetCount = 20 # Calling the user_timeline function with our parameters results = api.user_timeline(id=name, count=tweetCount) # foreach through all tweets pulled for tweet in results: # printing the text stored inside the tweet object print tweet.text
Τα αποτελέσματά μας θα πρέπει να μοιάζουν με αυτό:
διαφορά μεταξύ κόμβου js και javascript
Οι δημοφιλείς εφαρμογές αυτού του τύπου δεδομένων μπορούν να περιλαμβάνουν:
Ας κάνουμε ένα τελευταίο παράδειγμα: Λήψη των πιο πρόσφατων tweets που περιέχουν μια λέξη-κλειδί. Αυτό μπορεί να είναι εξαιρετικά χρήσιμο εάν θέλετε να παρακολουθείτε συγκεκριμένα θέματα στον κόσμο του Twitter ή ακόμα και να δείτε πώς γίνεται αναφορά στην επιχείρησή σας. Ας υποθέσουμε ότι θέλουμε να δούμε πώς αναφέρεται το Twitter στο ApeeScape.
Αφού κοιτάξαμε το Τεκμηρίωση Tweepy , το search()
Η λειτουργία φαίνεται να είναι το καλύτερο εργαλείο για την επίτευξη του στόχου μας.
Η πιο σημαντική παράμετρος εδώ είναι q
—η παράμετρος ερωτήματος, η οποία είναι η λέξη-κλειδί που αναζητούμε.
Μπορούμε επίσης να ορίσουμε την παράμετρο γλώσσας, ώστε να μην λαμβάνουμε tweet από μια ανεπιθύμητη γλώσσα. Ας επιστρέψουμε μόνο τα αγγλικά ('en') tweets.
Τώρα μπορούμε να τροποποιήσουμε τον κώδικά μας ώστε να αντικατοπτρίζει τις αλλαγές που θέλουμε να κάνουμε. Αρχικά δημιουργούμε μεταβλητές για την αποθήκευση των παραμέτρων μας (ερώτημα και γλώσσα) και στη συνέχεια καλούμε τη συνάρτηση μέσω του αντικειμένου API. Ας εκτυπώσουμε επίσης το όνομα οθόνης, του χρήστη που δημιούργησε το tweet, στο βρόχο μας.
# Creating the API object while passing in auth information api = tweepy.API(auth) # The search term you want to find query = 'ApeeScape' # Language code (follows ISO 639-1 standards) language = 'en' # Calling the user_timeline function with our parameters results = api.search(q=query, lang=language) # foreach through all tweets pulled for tweet in results: # printing the text stored inside the tweet object print tweet.user.screen_name,'Tweeted:',tweet.text
Τα αποτελέσματά μας θα πρέπει να μοιάζουν με αυτό:
Ακολουθούν ορισμένοι πρακτικοί τρόποι με τους οποίους μπορείτε να χρησιμοποιήσετε αυτές τις πληροφορίες:
Μπορούμε να καλύψουμε μερικά από αυτά τα θέματα σε μελλοντικά άρθρα.
Το API του Twitter είναι εξαιρετικά χρήσιμο σε εφαρμογές εξόρυξης δεδομένων και μπορεί να παρέχει τεράστιες πληροφορίες για την κοινή γνώμη. Αν το Twitter API και τα μεγάλα αναλυτικά δεδομένα είναι κάτι που σας ενδιαφέρει περισσότερο, σας συνιστώ να διαβάσετε περισσότερα το API του Twitter , Tweepy , και Οδηγίες περιορισμού τιμών στο Twitter .
Καλύψαμε μόνο τα βασικά στοιχεία της πρόσβασης και του τραβήγματος. Το API του Twitter μπορεί να αξιοποιηθεί σε πολύπλοκα προβλήματα μεγάλων δεδομένων, που περιλαμβάνουν άτομα, τάσεις και κοινωνικά γραφήματα πολύ περίπλοκα για να κατανοήσει το ανθρώπινο μυαλό μόνο του.
Η εξόρυξη δεδομένων είναι η αποστολή τεράστιου όγκου δεδομένων από μια πηγή και αποθήκευσης. Το αποτέλεσμα είναι 'μεγάλα δεδομένα', που είναι απλώς μια μεγάλη ποσότητα δεδομένων σε ένα μέρος.
Τα δεδομένα του Twitter είναι ανοιχτά, προσωπικά και εκτεταμένα. Μπορείτε να εξαγάγετε λίγο από έναν χρήστη αναλύοντας τα tweets και τις τάσεις του. Μπορείτε επίσης να δείτε πώς οι άνθρωποι μιλούν συγκεκριμένα θέματα χρησιμοποιώντας λέξεις-κλειδιά και ονόματα επιχειρήσεων.
Για έναν οργανισμό, τα μεγάλα αναλυτικά δεδομένα μπορούν να παρέχουν πληροφορίες που υπερβαίνουν την ανθρώπινη ικανότητα. Το να είσαι σε θέση να εκτελείς μεγάλες ποσότητες δεδομένων μέσω υπολογιστικής ανάλυσης είναι κάτι που τα μαθηματικά μοντέλα και οι μηχανές ευδοκιμούν.