Τι είναι η επεξεργασία φυσικής γλώσσας και πώς λειτουργεί;

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

Τι είναι η Επεξεργασία Φυσικής Γλώσσας;

Είτε πρόκειται για Alexa, Siri, Google Assistant, Bixby ή Cortana, όλοι όσοι διαθέτουν smartphone ή έξυπνο ηχείο έχουν έναν βοηθό που ενεργοποιείται με φωνή στις μέρες μας. Κάθε χρόνο, αυτοί οι βοηθοί φωνής φαίνεται να βελτιώνονται στο να αναγνωρίζουν και να εκτελούν τα πράγματα που τους λέμε να κάνουν. Αλλά έχετε αναρωτηθεί ποτέ πώς επεξεργάζονται αυτοί οι βοηθοί τα πράγματα που λέμε; Το καταφέρνουν αυτό χάρη στο Natural Language Processing, ή NLP.

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

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

  Ποια iPhone έχουν Λειτουργία Πορτραίτου;

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

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

Tokenization

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

Ας υποθέσουμε ότι χρησιμοποιείτε λογισμικό μετατροπής κειμένου σε ομιλία, όπως το Πληκτρολόγιο Google, για να στείλετε ένα μήνυμα σε έναν φίλο. Θέλετε να στείλετε μήνυμα, «Συνάντησέ με στο πάρκο». Όταν το τηλέφωνό σας λαμβάνει αυτήν την εγγραφή και την επεξεργάζεται μέσω του αλγόριθμου μετατροπής κειμένου σε ομιλία της Google, η Google πρέπει στη συνέχεια να χωρίσει αυτό που μόλις είπατε σε διακριτικά. Αυτά τα διακριτικά θα ήταν «συναντώ», «εγώ», «στο», «το» και «πάρκο».

  Πώς να ρυθμίσετε το Quassel Core σε διακομιστή Ubuntu

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

Στέλεχος και Λεμματοποίηση

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

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

Το «περπάτημα» μετατρέπεται σε «περπάτημα»
Το “γρηγορότερα” μετατρέπεται σε “γρήγορο”
Η “σοβαρότητα” μετατρέπεται σε “σοβαρή”

Όπως μπορείτε να δείτε, το stemming μπορεί να έχει το δυσμενές αποτέλεσμα της εξ ολοκλήρου αλλαγής της σημασίας μιας λέξης. Το “severity” και το “sever” δεν σημαίνουν το ίδιο πράγμα, αλλά το επίθημα “ity” αφαιρέθηκε κατά τη διαδικασία του stemming.

Από την άλλη πλευρά, η λημματοποίηση είναι μια πιο περίπλοκη διαδικασία που περιλαμβάνει τη μείωση μιας λέξης στη βάση της, γνωστής ως λήμμα. Αυτό λαμβάνει υπόψη το πλαίσιο της λέξης και τον τρόπο χρήσης της σε μια πρόταση. Περιλαμβάνει επίσης την αναζήτηση ενός όρου σε μια βάση δεδομένων λέξεων και του αντίστοιχου λήμματός τους. Για παράδειγμα:

  Πώς να περιορίσετε ποιος μπορεί να απαντήσει στα tweet σας

Το “Are” μετατρέπεται σε “είναι”
Η “λειτουργία” μετατρέπεται σε “λειτουργία”
Η «σοβαρότητα» μετατρέπεται σε «σοβαρή»

Σε αυτό το παράδειγμα, η λημματοποίηση κατάφερε να μετατρέψει τον όρο «σοβαρότητα» σε «σοβαρή», που είναι η λήμμα και η ρίζα της λέξης.

Περιπτώσεις χρήσης NLP και το μέλλον

Τα προηγούμενα παραδείγματα αρχίζουν απλώς να χαράζουν την επιφάνεια του τι είναι η Επεξεργασία Φυσικής Γλώσσας. Περιλαμβάνει ένα ευρύ φάσμα πρακτικών και σεναρίων χρήσης, πολλά από τα οποία χρησιμοποιούμε στην καθημερινή μας ζωή. Αυτά είναι μερικά παραδείγματα όπου το NLP χρησιμοποιείται αυτήν τη στιγμή:

Προγνωστικό κείμενο: Όταν πληκτρολογείτε ένα μήνυμα στο smartphone σας, σας προτείνει αυτόματα λέξεις που ταιριάζουν στην πρόταση ή που έχετε χρησιμοποιήσει στο παρελθόν.
Μηχανική μετάφραση: Ευρέως χρησιμοποιούμενες υπηρεσίες μετάφρασης από τους καταναλωτές, όπως το Google Translate, για την ενσωμάτωση μιας μορφής NLP υψηλού επιπέδου για την επεξεργασία της γλώσσας και τη μετάφρασή της.
Chatbots: Το NLP είναι το θεμέλιο για τα έξυπνα chatbots, ειδικά στην εξυπηρέτηση πελατών, όπου μπορούν να βοηθήσουν τους πελάτες και να επεξεργαστούν τα αιτήματά τους προτού έρθουν αντιμέτωποι με ένα πραγματικό πρόσωπο.

Θα ακολουθήσουν κι άλλα. Επί του παρόντος, οι χρήσεις του NLP αναπτύσσονται και αναπτύσσονται σε τομείς όπως τα μέσα ενημέρωσης, η ιατρική τεχνολογία, η διαχείριση του χώρου εργασίας και τα οικονομικά. Υπάρχει μια πιθανότητα να είμαστε σε θέση να έχουμε μια ολοκληρωμένη, εξελιγμένη συνομιλία με ένα ρομπότ στο μέλλον.

Εάν ενδιαφέρεστε να μάθετε περισσότερα για το NLP, υπάρχουν πολλοί φανταστικοί πόροι σε αυτό Towards Data Science blog ή το Standford National Langauge Processing Group που μπορείτε να ελέγξετε.