Προσθήκη ετικετών POS με NLTK και Chunking στο NLP [ΠΑΡΑΔΕΙΓΜΑΤΑ]

⚡ Έξυπνη Σύνοψη

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

  • 🏷️ Προσθήκη ετικετών POS: Κάθε λέξη λαμβάνει ένα γραμματικό σύμβολο όπως NN, VB ή JJ από τα συμφραζόμενά της.
  • 🌿 Τσούνκιν: Οι λέξεις με ετικέτες ομαδοποιούνται σε φράσεις, μια διαδικασία που ονομάζεται επίσης ρηχή ανάλυση.
  • 🔤 Ροή εργασιών: Πρώτα κάντε tokenization στο κείμενο, στη συνέχεια εφαρμόστε την συνάρτηση pos_tag και, στη συνέχεια, αναλύστε το με μια γραμματική RegexpParser.
  • 📊 Μετρώντας ετικέτες: Τα Counter και FreqDist αποκαλύπτουν συχνότητες ετικετών και λέξεων για τη μηχανική χαρακτηριστικών.
  • 🔗 Συνεγκαταστάσεις: Τα διγράμματα και τα τρίγραμμα καταγράφουν ζεύγη λέξεων και τριάδες για πιο έντονα χαρακτηριστικά κειμένου.
  • 🤖 Χρήση Τεχνητής Νοημοσύνης: Οι ετικέτες μηχανικής μάθησης και οι ετικέτες που βασίζονται σε HMM χειρίζονται τις διφορούμενες λέξεις πιθανοτικά.

POS Tagging με NLTK και Chunking στο NLP

Προσθήκη ετικετών POS

Προσθήκη ετικετών POS (Ετικέτες Μέρων του Λόγου) είναι μια διαδικασία σήμανσης λέξεων σε μορφή κειμένου για ένα συγκεκριμένο μέρος μιας ομιλίας με βάση τον ορισμό και τα συμφραζόμενά του. Είναι υπεύθυνη για την ανάγνωση κειμένου σε μια γλώσσα και την ανάθεση ενός συγκεκριμένου διακριτικού (Μέρη του Λόγου) σε κάθε λέξη. Ονομάζεται επίσης γραμματική ετικέτα.

Ας μάθουμε με ένα παράδειγμα Μέρους του Λόγου NLTK:

Input: Everything to permit us.
Output: [('Everything', NN),('to', TO), ('permit', VB), ('us', PRP)]

Βήματα που περιλαμβάνονται στο παράδειγμα ετικετών POS

  • Tokenize κείμενο (word_tokenize)
  • Εφαρμόστε την εντολή pos_tag στο παραπάνω βήμα, δηλαδή nltk.pos_tag(tokenize_text)

Παρακάτω παρατίθενται παραδείγματα ετικετών NLTK POS:

Συντομογραφία Νόημα
CC συντονιστικός σύνδεσμος
CD βασικό ψηφίο
DT καθοριστικό
EX υπαρξιακή εκεί
FW ξένη λέξη
IN πρόθεση / δευτερεύων σύνδεσμος
JJ επίθετο
JJR επίθετο, συγκριτικό
Jjs επίθετο, υπερθετικός βαθμός
LS αγορά καταλόγου
MD τροπικός
NN ουσιαστικό, ενικός
NNS ουσιαστικό πληθυντικός
NNP κύριο ουσιαστικό, ενικός
NNPS κύριο ουσιαστικό, πληθυντικός
PDT προκαθοριστής
POS κτητική κατάληξη
PRP προσωπική αντωνυμία
PRP$ κτητική αντωνυμία
RB επίρρημα
Επέκταση RBR επίρρημα, συγκριτικό
RBS επίρρημα, υπερθετικός βαθμός
RP σωματίδιο
ΠΡΟΣ ΤΗΝ άπειρος δείκτης
UH επιφώνημα
VB ρήμα
GBV ρήμα γερούνδιο
VBD ρήμα παρατατικός
VBN ρήμα παρατατικό
VBP ρήμα, ενεστώτας όχι τρίτο ενικό πρόσωπο
VBZ ρήμα, ενεστώτας με 3ο ενικό πρόσωπο
wdt προσδιοριστής wh
WP αντωνυμία wh
WRB επίρρημα wh

Η παραπάνω λίστα ετικετών NLTK POS περιέχει όλες τις ετικέτες NLTK POS. Το εργαλείο ετικετών NLTK POS χρησιμοποιείται για την αντιστοίχιση γραμματικών πληροφοριών σε κάθε λέξη της πρότασης. Η εγκατάσταση, η εισαγωγή και η λήψη όλων των πακέτων του POS NLTK έχουν πλέον ολοκληρωθεί.

Τι είναι το Chunking στο NLP;

Τσούνκιν Στο NLP, η ομαδοποίηση μικρών πληροφοριών γίνεται με τη χρήση chunking σε μεγάλες μονάδες. Η κύρια χρήση της chunking είναι η δημιουργία ομάδων από «ουσιατικές φράσεις». Χρησιμοποιείται για την προσθήκη δομής στην πρόταση ακολουθώντας την ετικέτα POS σε συνδυασμό με κανονικές εκφράσεις. Η ομάδα λέξεων που προκύπτει ονομάζεται «chunks». Ονομάζεται επίσης ρηχή ανάλυση.

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

Κανόνες για το Chunking

Δεν υπάρχουν προκαθορισμένοι κανόνες, αλλά μπορείτε να τους συνδυάσετε ανάλογα με τις ανάγκες και τις απαιτήσεις. Για παράδειγμα, ας υποθέσουμε ότι πρέπει να επισημάνετε ουσιαστικό, ρήμα (παρελθοντικός), επίθετο και συντονιστικό σύνδεσμο από την πρόταση. Μπορείτε να χρησιμοποιήσετε τον παρακάτω κανόνα:

chunk:{***?}

Ο παρακάτω πίνακας δείχνει τι σημαίνουν τα διάφορα σύμβολα:

Όνομα συμβόλου Περιγραφή
. Οποιοσδήποτε χαρακτήρας εκτός από τη νέα γραμμή
* Αντιστοιχίστε 0 ή περισσότερες επαναλήψεις
? Ταιριάξτε 0 ή 1 επαναλήψεις

Τώρα ας γράψουμε τον κώδικα για να κατανοήσουμε καλύτερα τον κανόνα.

from nltk import pos_tag
from nltk import RegexpParser
text ="learn php from guru99 and make study easy".split()
print("After Split:",text)
tokens_tag = pos_tag(text)
print("After Token:",tokens_tag)
patterns= """mychunk:{***?}"""
chunker = RegexpParser(patterns)
print("After Regex:",chunker)
output = chunker.parse(tokens_tag)
print("After Chunking",output)

Παραγωγή:

After Split: ['learn', 'php', 'from', 'guru99', 'and', 'make', 'study', 'easy']
After Token: [('learn', 'JJ'), ('php', 'NN'), ('from', 'IN'), ('guru99', 'NN'), ('and', 'CC'), ('make', 'VB'), ('study', 'NN'), ('easy', 'JJ')]
After Regex: chunk.RegexpParser with 1 stages:
RegexpChunkParser with 1 rules:
       '***?'>
After Chunking (S
  (mychunk learn/JJ)
  (mychunk php/NN)
  from/IN
  (mychunk guru99/NN and/CC)
  make/VB
  (mychunk study/NN easy/JJ))

Το συμπέρασμα από την παραπάνω επισήμανση μέρους του λόγου Python Για παράδειγμα, το "make" είναι ένα ρήμα που δεν περιλαμβάνεται στον κανόνα, επομένως δεν έχει την ετικέτα mychunk.

Χρήση Case of Chunking

Η ομαδοποίηση χρησιμοποιείται για την ανίχνευση οντοτήτων. Μια οντότητα είναι το μέρος της πρότασης με το οποίο μια μηχανή λαμβάνει την τιμή για οποιαδήποτε πρόθεση.

Example:
Temperature of New York.
Here Temperature is the intention and New York is an entity.

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

 import nltk
text = "learn php from guru99"
tokens = nltk.word_tokenize(text)
print(tokens)
tag = nltk.pos_tag(tokens)
print(tag)
grammar = "NP: {
?*}" cp =nltk.RegexpParser(grammar) result = cp.parse(tag) print(result) result.draw() # It will draw the pattern graphically which can be seen in Noun Phrase chunking

Παραγωγή:

['learn', 'php', 'from', 'guru99']  -- These are the tokens
[('learn', 'JJ'), ('php', 'NN'), ('from', 'IN'), ('guru99', 'NN')]   -- These are the pos_tag
(S (NP learn/JJ php/NN) from/IN (NP guru99/NN))        -- Noun Phrase Chunking

Ονομαστική φράση Chunking Graph

Ονομαστική φράση τεμαχισμένη γράφημα

Από το γράφημα, μπορούμε να συμπεράνουμε ότι τα "learn" και "guru99" είναι δύο διαφορετικά tokens, αλλά κατηγοριοποιούνται ως Ονομαστική Φράση, ενώ το token "from" δεν ανήκει σε Ονομαστική Φράση. Η ομαδοποίηση χρησιμοποιείται για την κατηγοριοποίηση διαφορετικών tokens στο ίδιο chunk. Το αποτέλεσμα θα εξαρτηθεί από τη γραμματική που έχει επιλεγεί. Επιπλέον, η ομαδοποίηση στο NLTK χρησιμοποιείται για την επισήμανση μοτίβων και για την εξερεύνηση σωμάτων κειμένου.

Καταμέτρηση ετικετών POS

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

from collections import Counter
import nltk
text = "Guru99 is one of the best sites to learn WEB, SAP, Ethical Hacking and much more online."
lower_case = text.lower()
tokens = nltk.word_tokenize(lower_case)
tags = nltk.pos_tag(tokens)
counts = Counter( tag for word,  tag in tags)
print(counts)

Παραγωγή:

Counter({'NN': 5, ',': 2, 'TO': 1, 'CC': 1, 'VBZ': 1, 'NNS': 1, 'CD': 1, '.': 1, 'DT': 1, 'JJS': 1, 'JJ': 1, 'JJR': 1, 'IN': 1, 'VB': 1, 'RB': 1})

Επεξεργασία του κώδικα:

  1. Χρησιμοποιήστε το πακέτο Counter από την ενότητα συλλογών. Το Counter είναι μια υποκλάση λεξικού που αποθηκεύει στοιχεία ως κλειδιά και τις μετρήσεις τους ως τιμές.
  2. Εισαγάγετε το nltk για να μετατρέψετε το κείμενο σε token.
  3. Γράψτε το κείμενο του οποίου το pos_tag θέλετε να μετρήσετε.
  4. Μετατρέψτε όλες τις λέξεις σε πεζά γράμματα πριν από την μετατροπή σε token.
  5. Περάστε τις λέξεις από την συνάρτηση word_tokenize και υπολογίστε την pos_tag κάθε token.
  6. Στη συνέχεια, ο μετρητής μετρά τη συνολική εμφάνιση κάθε ετικέτας στο κείμενο.

Κατανομή συχνότητας

Η Κατανομή Συχνότητας αναφέρεται στον αριθμό των φορών που εμφανίζεται ένα αποτέλεσμα ενός πειράματος. Χρησιμοποιείται για να βρεθεί η συχνότητα εμφάνισης κάθε λέξης σε ένα έγγραφο. Χρησιμοποιεί την FreqDist κλάση που ορίζεται από την nltk.πιθανότητα ενότητα. Ο αριθμός αυξάνεται κατά ένα κάθε φορά που εμφανίζεται ένα δείγμα.

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

  • Μέθοδος καταμέτρησης: Η συνάρτηση freq_dist.count('and') επιστρέφει τον αριθμό των φορών που εμφανίστηκε το 'and'. Ονομάζεται μέθοδος count.
  • Μέθοδος συχνότητας: Η συνάρτηση freq_dist.freq('and') επιστρέφει τη συχνότητα ενός δεδομένου δείγματος.

Θα γράψουμε ένα μικρό πρόγραμμα που υπολογίζει την κατανομή συχνότητας κάθε λέξης στο κείμενο.

import nltk
a = "Guru99 is the site where you can find the best tutorials for Software Testing     Tutorial, SAP Course for Beginners. Java Tutorial for Beginners and much more. Please     visit the site guru99.com and much more."
words = nltk.tokenize.word_tokenize(a)
fd = nltk.FreqDist(words)
fd.plot()

Επεξήγηση κωδικού:

  1. Εισαγάγετε τη λειτουργική μονάδα nltk.
  2. Γράψτε το κείμενο του οποίου η κατανομή λέξεων πρέπει να βρείτε.
  3. Μετατρέψτε κάθε λέξη στο κείμενο σε διακριτικό, το οποίο χρησιμεύει ως είσοδος στη μονάδα FreqDist του nltk.
  4. Εφαρμόστε κάθε λέξη στο nltk.FreqDist με τη μορφή λίστας.
  5. Απεικονίστε τις λέξεις στο γράφημα χρησιμοποιώντας plot().

ΣΗΜΕΙΩΣΗ: Για να δείτε το γράφημα, πρέπει να εγκαταστήσετε το matplotlib. Μετράει την εμφάνιση κάθε λέξης στο κείμενο και βοηθά στην ανάλυση συναισθημάτων που βασίζεται σε κείμενο. Ο βασικός όρος είναι «tokenize»: μετά την tokenization, κάθε λέξη ελέγχεται για να προσδιοριστεί πόσες φορές εμφανίστηκε.

Συνθέσεις: Διγράμματα και τρίγραμμα

Οι συνεγκαταστάσεις είναι τα ζεύγη λέξεων που εμφανίζονται μαζί πολλές φορές σε ένα έγγραφο. Υπολογίζονται από την αναλογία του αριθμού αυτών των ζευγών που εμφανίζονται μαζί προς τον συνολικό αριθμό λέξεων του εγγράφου.

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

  • Bigrams: συνδυασμός δύο λέξεων
  • Τρίγραμμα: συνδυασμός τριών λέξεων

Τα Bigrams και τα Trigrams παρέχουν πιο ουσιαστικά και χρήσιμα χαρακτηριστικά για το χαρακτηριστικό π.χ.tracστάδιο της ανάλυσης συναισθημάτων που βασίζεται σε κείμενο.

Παράδειγμα Bigrams Code:

import nltk
text = "Guru99 is a totally new kind of learning experience."
Tokens = nltk.word_tokenize(text)
output = list(nltk.bigrams(Tokens))
print(output)

Παραγωγή:

[('Guru99', 'is'), ('is', 'totally'), ('totally', 'new'), ('new', 'kind'), ('kind', 'of'), ('of', 'learning'), ('learning', 'experience'), ('experience', '.')]

Παράδειγμα τριγραμμάτων Code:

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

import nltk
text = "Guru99 is a totally new kind of learning experience."
Tokens = nltk.word_tokenize(text)
output = list(nltk.trigrams(Tokens))
print(output)

Παραγωγή:

[('Guru99', 'is', 'totally'), ('is', 'totally', 'new'), ('totally', 'new', 'kind'), ('new', 'kind', 'of'), ('kind', 'of', 'learning'), ('of', 'learning', 'experience'), ('learning', 'experience', '.')]

Προσθήκη ετικετών σε προτάσεις

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

import nltk
text = "Hello Guru99, You have to build a very good site, and I love visiting your site."
sentence = nltk.sent_tokenize(text)
for sent in sentence:
	 print(nltk.pos_tag(nltk.word_tokenize(sent)))

Code Επεξήγηση:

  1. Code για την εισαγωγή nltk (το φυσικό Language Toolκιτ, το οποίο περιέχει υπομονάδες όπως tokenize προτάσεων και tokenize λέξεων).
  2. Κείμενο του οποίου οι ετικέτες πρόκειται να εκτυπωθούν.
  3. Συμβολοποίηση προτάσεων.
  4. Υλοποιείται ένας βρόχος for όπου οι λέξεις αφαιρούνται με συμβολισμό από την πρόταση και η ετικέτα κάθε λέξης εκτυπώνεται ως έξοδος.

Σε ένα Corpus, υπάρχουν δύο τύποι POS taggers:

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

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

Ετικέτες POS με κρυφό μοντέλο Markov

Τα προβλήματα προσθήκης ετικετών μπορούν επίσης να μοντελοποιηθούν χρησιμοποιώντας ένα Κρυφό Μοντέλο Markov (HMM). Αντιμετωπίζει τα διακριτικά εισόδου ως παρατηρήσιμη ακολουθία, ενώ οι ετικέτες θεωρούνται κρυφές καταστάσεις και ο στόχος είναι να προσδιοριστεί η ακολουθία κρυφών καταστάσεων. Για παράδειγμα, x = x1,x2,…,xn, όπου x είναι μια ακολουθία διακριτικών, ενώ y = y1,y2,y3,y4…yn είναι η κρυφή ακολουθία.

Πώς λειτουργεί το κρυφό μοντέλο Markov (HMM);

Το HMM χρησιμοποιεί μια κοινή κατανομή P(x, y), όπου x είναι η ακολουθία διακριτικών εισόδου και y είναι η ακολουθία ετικετών. Η ακολουθία ετικετών για το x θα είναι argmax ως προς y1…yn του p(x1,x2,…xn,y1,y2,y3,…). Έχουμε κατηγοριοποιήσει τις ετικέτες από το κείμενο, αλλά τα στατιστικά στοιχεία τέτοιων ετικετών είναι ζωτικής σημασίας, επομένως το επόμενο μέρος είναι η καταμέτρηση αυτών των ετικετών για στατιστική μελέτη.

Συχνές Ερωτήσεις

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

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

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

Η συνάρτηση nltk.pos_tag() αντιστοιχίζει ετικέτες μερών ομιλίας. Αρχικά, μετατρέπετε το κείμενο σε token με την συνάρτηση word_tokenize και, στη συνέχεια, μεταβιβάζετε τη λίστα token στην συνάρτηση pos_tag, η οποία επιστρέφει κάθε λέξη που έχει αντιστοιχιστεί με την ετικέτα της, όπως NN, VB ή JJ.

Ναι. Οι σύγχρονοι ετικέτες τεχνητής νοημοσύνης (AI taggers) που έχουν εκπαιδευτεί με μηχανική μάθηση και βαθιά νευρωνικά δίκτυα επιλύουν διφορούμενες λέξεις μαθαίνοντας το περιεχόμενο από μεγάλα σώματα κειμένων, επιτυγχάνοντας υψηλότερη ακρίβεια από τις μεθόδους που βασίζονται σε κανόνες σε κείμενο πραγματικού κόσμου.

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

Εκτός NLTK, οι δημοφιλείς επιλογές περιλαμβάνουν Spay για αγωγούς γρήγορης παραγωγής, Stanford CoreNLP και Hugging Face Transformers για ετικέτες που βασίζονται σε μετασχηματιστές.

Σε μια γραμματική τμημάτων (chunk grammar), μια τελεία αντιστοιχεί σε οποιονδήποτε χαρακτήρα εκτός από μια νέα γραμμή, ένας αστερίσκος αντιστοιχεί σε μηδέν ή περισσότερες επαναλήψεις και ένα ερωτηματικό αντιστοιχεί σε μηδέν ή μία επανάληψη του προηγούμενου μοτίβου ετικέτας POS.

Συνοψίστε αυτήν την ανάρτηση με: