Δυσκολεύεστε με το AI ή την ανάπτυξη πλήρους πακέτου; Οι ειδικοί μας είναι εδώ για να σας καθοδηγήσουν: εξατομικευμένες συμβουλές, τεχνική ενσωμάτωση και πολλά άλλα. Επικοινωνήστε μαζί μας στο [email protected].

Εναλλακτικές λύσεις SpaCy για την εξαγωγή οντοτήτων (NER)

Το SpaCy αποτελεί de facto πρότυπο για κάθε εταιρεία που επιθυμεί να ξεκινήσει ένα έργο εξαγωγής οντοτήτων εδώ και αρκετά χρόνια. Τι έκανε το spaCy τόσο δημοφιλές; Και υπάρχουν καλές εναλλακτικές λύσεις του spaCy το 2023 για όποιον προσπαθεί να ξεκινήσει ένα έργο εξαγωγής οντοτήτων; Ας συζητήσουμε αυτά τα σημεία σε αυτό το άρθρο.

SpaCy

SpaCy για εξαγωγή οντοτήτων

Η πρώτη έκδοση του spaCy κυκλοφόρησε το 2015 και γρήγορα έγινε ένα τυπικό πλαίσιο για την εξαγωγή οντοτήτων επιχειρηματικού επιπέδου (γνωστή και ως NER).

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

Το SpaCy είναι ενδιαφέρον, επειδή είναι διαθέσιμα αρκετά προ-εκπαιδευμένα μοντέλα σε περίπου 20 γλώσσες. (δείτε περισσότερα εδώ). Αυτό σημαίνει ότι δεν χρειάζεται απαραίτητα να εκπαιδεύσετε το δικό σας μοντέλο για την εξαγωγή οντοτήτων. Σημαίνει επίσης ότι, αν θέλετε να εκπαιδεύσετε το δικό σας μοντέλο, μπορείτε να ξεκινήσετε από ένα προ-εκπαιδευμένο μοντέλο αντί να ξεκινήσετε από το μηδέν, γεγονός που μπορεί να σας εξοικονομήσει πολύ χρόνο.

Το SpaCy θεωρείται ως ένα πλαίσιο "ποιότητας παραγωγής" επειδή είναι πολύ γρήγορο, αξιόπιστο και συνοδεύεται από μια ολοκληρωμένη τεκμηρίωση.

Ωστόσο, εάν οι προεπιλεγμένες οντότητες που υποστηρίζονται από τα προ-εκπαιδευμένα μοντέλα του spaCy δεν είναι αρκετές, θα πρέπει να εργαστείτε στον "σχολιασμό δεδομένων" (επίσης γνωστό ως "επισήμανση δεδομένων") προκειμένου να εκπαιδεύσετε το δικό σας μοντέλο. Αυτή η διαδικασία είναι εξαιρετικά χρονοβόρα και πολλά έργα εξαγωγής οντοτήτων σε επιχειρήσεις αποτυγχάνουν εξαιτίας αυτής της πρόκλησης.

Ας υποθέσουμε ότι θέλετε να εξάγετε τίτλους θέσεων εργασίας από ένα κομμάτι κειμένου (από ένα βιογραφικό σημείωμα για παράδειγμα ή από μια ιστοσελίδα μιας εταιρείας). Καθώς τα προ-εκπαιδευμένα μοντέλα του spaCy δεν υποστηρίζουν εξ ορισμού μια τέτοια οντότητα, θα πρέπει να διδάξετε στο spaCy πώς να αναγνωρίζει τίτλους θέσεων εργασίας. Θα χρειαστεί να δημιουργήσετε ένα σύνολο δεδομένων εκπαίδευσης που θα περιέχει αρκετές χιλιάδες παραδείγματα εξαγωγής τίτλων εργασίας (και ίσως και πολύ περισσότερα!). Μπορείτε να χρησιμοποιήσετε ένα επί πληρωμή λογισμικό σχολιασμού όπως το Prodigy (το οποίο δημιουργήθηκε από την ομάδα του spaCy), αλλά και πάλι απαιτείται πολλή ανθρώπινη εργασία. Στην πραγματικότητα είναι αρκετά συνηθισμένο να βλέπεις εταιρείες να προσλαμβάνουν ένα σωρό εργολάβους για αρκετούς μήνες προκειμένου να φέρουν εις πέρας ένα έργο σχολιασμού δεδομένων. Μια τέτοια εργασία είναι τόσο επαναλαμβανόμενη και βαρετή που τα σύνολα δεδομένων που προκύπτουν συχνά περιέχουν πολλά λάθη...

Παράδειγμα σχολιασμού δεδομένων
Παράδειγμα σχολιασμού δεδομένων

Ας δούμε ποιες εναλλακτικές λύσεις θα μπορούσατε να δοκιμάσετε το 2023!

Stanford CoreNLP

Stanford CoreNLP

Η πρώτη έκδοση του Stanford CoreNLP κυκλοφόρησε το 2013. Πρόκειται για ένα πλαίσιο Java (ενώ το spaCy είναι Python) που σας επιτρέπει να εκτελέσετε εξαγωγή οντοτήτων με πολύ καλά αποτελέσματα.

Το Stanford CoreNLP προτείνει επίσης προ-εκπαιδευμένα μοντέλα, αλλά λιγότερο από το spaCy (δείτε περισσότερα εδώ).

Η ακρίβεια αυτού του πλαισίου είναι παρόμοια με αυτή του spaCy, αλλά εξαρτάται από τα δεδομένα που αναλύετε. Για παράδειγμα, το Stanford CoreNLP δίνει καλύτερα αποτελέσματα σε νομικά δεδομένα. Επίσης, αξίζει να σημειωθεί ότι ορισμένες οντότητες αντιμετωπίζονται ελαφρώς διαφορετικά σε σύγκριση με το spaCy (αυτή είναι η περίπτωση της οντότητας GPE για παράδειγμα).

Όσον αφορά τις επιδόσεις, το Stanford φαίνεται σαφώς πιο αργό από το spaCy, γεγονός που μπορεί να αποτελέσει πρόβλημα αν προσπαθείτε να επιτύχετε πολύ υψηλή απόδοση.

Flair

Flair NLP

Το Flair είναι ένα πιο πρόσφατο πλαίσιο Python (κυκλοφόρησε το 2018) που βασίζεται στο πλαίσιο βαθιάς μάθησης PyTorch.

Κερδίζει μεγάλη δημοτικότητα επειδή επιτυγχάνει μεγαλύτερη ακρίβεια σε πολλές γλώσσες σε σύγκριση με το spaCy. Προτείνονται διάφορα προ-εκπαιδευμένα μοντέλα (δείτε περισσότερα εδώ).

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

Παραγωγικά μοντέλα ΤΝ (GPT-J, GPT-3...)

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

Τα πιο δημοφιλή παραγωγικά μοντέλα σήμερα είναι τα GPT-3, GPT-J, GPT-NeoX, T5 και Bloom. Όλα αυτά τα μοντέλα βαθιάς μάθησης χρησιμοποιούν την αρχιτεκτονική Transformer, η οποία εφευρέθηκε από την Google το 2017.

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

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

Επιστρέφοντας στο παράδειγμά μας για την εξαγωγή τίτλων εργασίας, αν θέλετε να εξάγετε τίτλους εργασίας με ένα μοντέλο όπως το GPT-J, δεν θα χρειαστεί να σχολιάσετε δεδομένα. Έτσι θα γλιτώσετε εβδομάδες ή μήνες ανθρώπινης εργασίας. Και η ακρίβεια θα είναι πιθανότατα πολύ υψηλότερη από οποιαδήποτε εξαγωγή οντοτήτων με spaCy.

Ανατρέξτε στο άρθρο μας σχετικά με τον εύκολο τρόπο εξαγωγής οντοτήτων με μοντέλα GPT.

Συμπέρασμα

Το SpaCy είναι ένα σπουδαίο πλαίσιο επεξεργασίας φυσικής γλώσσας που χρησιμοποιείται στην παραγωγή από πολλές εταιρείες σήμερα για εργασίες εξαγωγής οντοτήτων.

Ωστόσο, το spaCy και οι εναλλακτικές λύσεις όπως το Stanford CoreNLP ή το Flair είναι περιορισμένες από άποψη ακρίβειας και απαιτούν κουραστικές εργασίες σχολιασμού για την εξαγωγή νέων οντοτήτων. Το 2023 διάφορα εναλλακτικά μοντέλα που βασίζονται στην παραγωγή κειμένου μπορούν να χρησιμοποιηθούν για την εξαγωγή οντοτήτων χωρίς σχολιασμό, όπως τα GPT-J, GPT-NeoX, GPT-3... Αυτά τα νέα μοντέλα θα βοηθήσουν πραγματικά όλο και περισσότερες εταιρείες να επιτύχουν στα έργα εξαγωγής οντοτήτων.

Αν θέλετε να χρησιμοποιήσετε το GPT-J και το GPT-NeoX, μη διστάσετε να δοκιμάσετε το NLP Cloud API. (δοκιμάστε το εδώ)!

Juliette
Διευθυντής μάρκετινγκ στο NLP Cloud