NLTK Tokenize: Words and Sentences Tokenizer με Παράδειγμα

Πίνακας περιεχομένων:

Anonim

Τι είναι το Tokenization;

Tokenization είναι η διαδικασία με την οποία μια μεγάλη ποσότητα κειμένου διαιρείται σε μικρότερα μέρη που ονομάζονται tokens. Αυτά τα διακριτικά είναι πολύ χρήσιμα για την εύρεση μοτίβων και θεωρούνται ως βασικό βήμα για το στέλεχος και τον λεμφισμό. Το Tokenization βοηθά επίσης στην αντικατάσταση στοιχείων ευαίσθητων δεδομένων με μη ευαίσθητα στοιχεία δεδομένων.

Η επεξεργασία της φυσικής γλώσσας χρησιμοποιείται για την κατασκευή εφαρμογών όπως η ταξινόμηση κειμένου, η έξυπνη συνομιλία, η συναισθηματική ανάλυση, η μετάφραση γλώσσας κ.λπ. Γίνεται ζωτικής σημασίας να κατανοήσουμε το μοτίβο στο κείμενο για την επίτευξη του προαναφερθέντος σκοπού.

Προς το παρόν, μην ανησυχείτε για το στέλεχος και τη λεμετοποίηση, αλλά αντιμετωπίστε τα ως βήματα για τον καθαρισμό δεδομένων κειμένου χρησιμοποιώντας το NLP (επεξεργασία φυσικής γλώσσας). Θα συζητήσουμε αργότερα τον περιορισμό και τη λεμετοποίηση του μαθήματος Εργασίες όπως η ταξινόμηση κειμένου ή το φιλτράρισμα spam χρησιμοποιούν το NLP μαζί με βιβλιοθήκες βαθιάς μάθησης όπως το Keras και το Tensorflow.

Το κιτ εργαλείων φυσικής γλώσσας έχει πολύ σημαντική ενότητα NLTK tokenize προτάσεις που περιλαμβάνει περαιτέρω υπο-ενότητες

  1. συμβολική λέξη
  2. συμβολική πρόταση

Tokenization των λέξεων

Χρησιμοποιούμε τη μέθοδο word_tokenize () για να χωρίσουμε μια πρόταση σε λέξεις. Η έξοδος της λέξης tokenization μπορεί να μετατραπεί σε Data Frame για καλύτερη κατανόηση κειμένου σε εφαρμογές μηχανικής μάθησης. Μπορεί επίσης να παρέχεται ως είσοδος για περαιτέρω βήματα καθαρισμού κειμένου, όπως αφαίρεση στίξης, αφαίρεση αριθμητικών χαρακτήρων ή βλαστικά. Τα μοντέλα μηχανικής μάθησης χρειάζονται αριθμητικά δεδομένα για να εκπαιδευτούν και να κάνουν μια πρόβλεψη. Η κωδικοποίηση λέξεων γίνεται κρίσιμο μέρος του κειμένου (συμβολοσειρά) στη μετατροπή αριθμητικών δεδομένων. Διαβάστε για το Bag of Words ή το CountVectorizer. Ανατρέξτε στην παρακάτω λέξη tokenize NLTK παράδειγμα για να κατανοήσετε καλύτερα τη θεωρία.

from nltk.tokenize import word_tokenizetext = "God is Great! I won a lottery."print(word_tokenize(text))Output: ['God', 'is', 'Great', '!', 'I', 'won', 'a', 'lottery', '.']

Επεξήγηση κώδικα

  1. Η ενότητα word_tokenize εισάγεται από τη βιβλιοθήκη NLTK.
  2. Μια μεταβλητή "κείμενο" αρχικοποιείται με δύο προτάσεις.
  3. Η μεταβλητή κειμένου μεταφέρεται στο word_tokenize module και εκτυπώνεται το αποτέλεσμα. Αυτή η ενότητα σπάει κάθε λέξη με σημεία στίξης που μπορείτε να δείτε στην έξοδο.

Διαδικασία καταδίκης

Η υπο-ενότητα που διατίθεται για τα παραπάνω είναι send_tokenize. Μια προφανής ερώτηση στο μυαλό σας θα ήταν ο λόγος για τον οποίο απαιτείται συμβολισμός προτάσεων όταν έχουμε την επιλογή της λέξης συμβολισμού . Φανταστείτε ότι πρέπει να μετρήσετε τις μέσες λέξεις ανά πρόταση, πώς θα υπολογίσετε; Για να ολοκληρώσετε μια τέτοια εργασία, χρειάζεστε τόσο το tokenizer πρότασης NLTK όσο και το tokenizer λέξεων NLTK για να υπολογίσετε την αναλογία. Τέτοια έξοδος χρησιμεύει ως σημαντικό χαρακτηριστικό για την κατάρτιση μηχανών, καθώς η απάντηση θα ήταν αριθμητική.

Ρίξτε μια ματιά στο παρακάτω παράδειγμα NLTK tokenizer για να μάθετε πώς η διακριτική φράση διαφέρει από τη λέξη tokenization.

from nltk.tokenize import sent_tokenizetext = "God is Great! I won a lottery."print(sent_tokenize(text))Output: ['God is Great!', 'I won a lottery ']

Έχουμε 12 λέξεις και δύο προτάσεις για την ίδια εισαγωγή.

Επεξήγηση του προγράμματος:

  1. Σε μια γραμμή όπως το προηγούμενο πρόγραμμα, εισήχθη η μονάδα sent_tokenize.
  2. Έχουμε λάβει την ίδια πρόταση. Περαιτέρω tokenizer προτάσεων στη μονάδα NLTK αναλύει αυτές τις προτάσεις και εμφανίζει έξοδο. Είναι σαφές ότι αυτή η συνάρτηση σπάει κάθε πρόταση.

Πάνω από το tokenizer λέξεων Τα παραδείγματα Python είναι καλές ρυθμίσεις για να κατανοήσουμε τους μηχανισμούς της λέξης και της φράσης.

Περίληψη

  • Tokenization στο NLP είναι η διαδικασία με την οποία μια μεγάλη ποσότητα κειμένου διαιρείται σε μικρότερα μέρη που ονομάζονται tokens.
  • Η επεξεργασία φυσικής γλώσσας χρησιμοποιείται για την κατασκευή εφαρμογών όπως ταξινόμηση κειμένου, έξυπνη συνομιλία, συναισθηματική ανάλυση, μετάφραση γλώσσας κ.λπ.
  • Το κιτ εργαλείων φυσικής γλώσσας έχει πολύ σημαντική ενότητα NLTK tokenize πρόταση που περιλαμβάνει περαιτέρω υπο-ενότητες
  • Χρησιμοποιούμε τη μέθοδο word_tokenize () για να χωρίσουμε μια πρόταση σε λέξεις. Η έξοδος του word tokenizer στο NLTK μπορεί να μετατραπεί σε Data Frame για καλύτερη κατανόηση κειμένου σε εφαρμογές μηχανικής μάθησης.
  • Η υπο-ενότητα που διατίθεται για τα παραπάνω είναι send_tokenize. Το Sentence tokenizer στο Python NLTK είναι ένα σημαντικό χαρακτηριστικό για την εκπαίδευση μηχανών.