Φωτογραφία Mikechie Esparagoza
Κάθε μέρα, έχουμε να κάνουμε τις περισσότερες φορές με κείμενο χωρίς ετικέτα και οι αλγόριθμοι εποπτευόμενης μάθησης δεν μπορούν να χρησιμοποιηθούν καθόλου για την εξαγωγή πληροφοριών από τα δεδομένα. Ένα υποπεδίο της φυσικής γλώσσας μπορεί να αποκαλύψει την υποκείμενη δομή σε μεγάλες ποσότητες κειμένου. Αυτός ο κλάδος ονομάζεται Μοντελοποίηση Θέματος, που ειδικεύεται στην εξαγωγή θεμάτων από κείμενο.
Σε αυτό το πλαίσιο, οι συμβατικές προσεγγίσεις, όπως η λανθάνουσα κατανομή Dirichlet και η μη αρνητική παραγοντοποίηση μήτρας, απέδειξαν ότι δεν αποτυπώνουν καλά τις σχέσεις μεταξύ των λέξεων, δεδομένου ότι βασίζονται στο σάκο της λέξης.
Για το λόγο αυτό, θα επικεντρωθούμε σε δύο πολλά υποσχόμενες προσεγγίσεις, το Top2Vec και το BERTopic, που αντιμετωπίζουν αυτά τα μειονεκτήματα αξιοποιώντας προεκπαιδευμένα γλωσσικά μοντέλα για τη δημιουργία θεμάτων. Ας αρχίσουμε!
Το Top2Vec είναι ένα μοντέλο ικανό να ανιχνεύει αυτόματα θέματα από το κείμενο χρησιμοποιώντας προεκπαιδευμένα διανύσματα λέξεων και δημιουργώντας ουσιαστικά ενσωματωμένα θέματα, έγγραφα και διανύσματα λέξεων.
Σε αυτήν την προσέγγιση, η διαδικασία εξαγωγής θεμάτων μπορεί να χωριστεί σε διάφορα βήματα:
- Δημιουργία Σημασιολογικής Ενσωμάτωσης: δημιουργούνται από κοινού ενσωματωμένα διανύσματα εγγράφων και λέξεων. Η ιδέα είναι ότι παρόμοια έγγραφα θα πρέπει να είναι πιο κοντά στον χώρο ενσωμάτωσης, ενώ τα ανόμοια έγγραφα θα πρέπει να βρίσκονται σε απόσταση μεταξύ τους.
- Μειώστε τη διάσταση της ενσωμάτωσης του εγγράφου: Η εφαρμογή της προσέγγισης μείωσης διαστάσεων είναι σημαντική για να διατηρηθεί το μεγαλύτερο μέρος της μεταβλητότητας της ενσωμάτωσης των εγγράφων με ταυτόχρονη μείωση του χώρου υψηλών διαστάσεων. Επιπλέον, επιτρέπει την αναγνώριση πυκνών περιοχών, στις οποίες κάθε σημείο αντιπροσωπεύει ένα διάνυσμα εγγράφου. Το UMAP είναι η τυπική προσέγγιση μείωσης διαστάσεων που επιλέχθηκε σε αυτό το βήμα, επειδή είναι σε θέση να διατηρήσει την τοπική και παγκόσμια δομή των δεδομένων υψηλών διαστάσεων.
- Προσδιορίστε ομάδες εγγράφων: Το HDBScan, μια προσέγγιση ομαδοποίησης που βασίζεται στην πυκνότητα, εφαρμόζεται για την εύρεση πυκνών περιοχών παρόμοιων εγγράφων. Κάθε έγγραφο εκχωρείται ως θόρυβος εάν δεν βρίσκεται σε πυκνό σύμπλεγμα ή ως ετικέτα εάν ανήκει σε πυκνή περιοχή.
- Υπολογίστε τα κεντροειδή στον αρχικό χώρο ενσωμάτωσης: Το κεντροειδές υπολογίζεται λαμβάνοντας υπόψη τον χώρο υψηλών διαστάσεων, αντί του μειωμένου χώρου ενσωμάτωσης. Η κλασική στρατηγική συνίσταται στον υπολογισμό του αριθμητικού μέσου όρου όλων των διανυσμάτων εγγράφων που ανήκουν σε μια πυκνή περιοχή, που λήφθηκε στο προηγούμενο βήμα με το HDBSCAN. Με αυτόν τον τρόπο, δημιουργείται ένα διάνυσμα θέματος για κάθε σύμπλεγμα.
- Βρείτε λέξεις για κάθε διάνυσμα θέματος: τα πλησιέστερα διανύσματα λέξεων στο διάνυσμα εγγράφου είναι σημασιολογικά τα πιο αντιπροσωπευτικά.
Παράδειγμα Top2Vec
Σε αυτό το σεμινάριο, θα αναλύσουμε τις αρνητικές κριτικές για τα McDonald's από ένα σύνολο δεδομένων που είναι διαθέσιμο στο δεδομένα.κόσμος. Ο προσδιορισμός των θεμάτων από αυτές τις κριτικές μπορεί να είναι πολύτιμος για την πολυεθνική για τη βελτίωση των προϊόντων και της οργάνωσης αυτής της αλυσίδας γρήγορου φαγητού στις τοποθεσίες των ΗΠΑ που παρέχονται από τα δεδομένα.
import pandas as pd
from top2vec import Top2Vec file_path = "McDonalds-Yelp-Sentiment-DFE.csv"
df = pd.read_csv( file_path, usecols=["_unit_id", "city", "review"], encoding="unicode_escape",
)
df.head()
docs_bad = df["review"].values.tolist()
Σε μία μόνο γραμμή κώδικα, πρόκειται να εκτελέσουμε όλα τα βήματα του top2vec που εξηγήσαμε προηγουμένως.
topic_model = Top2Vec( docs_bad, embedding_model="universal-sentence-encoder", speed="deep-learn", tokenizer=tok, ngram_vocab=True, ngram_vocab_args={"connector_words": "phrases.ENGLISH_CONNECTOR_WORDS"},
)
Τα κύρια επιχειρήματα του Top2Vec είναι:
- docs_bad: είναι μια λίστα συμβολοσειρών.
- universal-sentence-encoder: είναι το επιλεγμένο προεκπαιδευμένο μοντέλο ενσωμάτωσης.
- deep-learn: είναι μια παράμετρος που καθορίζει την ποιότητα του παραγόμενου διανύσματος εγγράφου.
topic_model.get_num_topics() #3
topic_words, word_scores, topic_nums = topic_model.get_topics(3) for topic in topic_nums: topic_model.generate_topic_wordcloud(topic)
Το περισσότερο
Από τη λέξη σύννεφα, μπορούμε να συμπεράνουμε ότι το θέμα 0 αφορά γενικά παράπονα σχετικά με την υπηρεσία στο McDonald, όπως "αργό σέρβις", "φρικτό σέρβις" και "λάθος παραγγελία", ενώ το θέμα 1 και 2 αναφέρονται αντίστοιχα στο πρωινό φαγητό ( McMuffin, μπισκότο, αυγό) και καφές (παγωμένος καφές και φλιτζάνι καφέ).
Τώρα, προσπαθούμε να αναζητήσουμε έγγραφα χρησιμοποιώντας δύο λέξεις-κλειδιά, λάθος και αργή:
( documents, document_scores, document_ids,
) = topic_model.search_documents_by_keywords( keywords=["wrong", "slow"], num_docs=5
)
for doc, score, doc_id in zip(documents, document_scores, document_ids): print(f"Document: {doc_id}, Score: {score}") print("-----------") print(doc) print("-----------") print()
Παραγωγή:
Document: 707, Score: 0.5517634093633295
-----------
horrible.... that is all. do not go there.
----------- Document: 930, Score: 0.4242547340973836
-----------
no drive through :-/
----------- Document: 185, Score: 0.39162203345993046
-----------
the drive through line is terrible. they are painfully slow.
----------- Document: 181, Score: 0.3775083338082392
-----------
awful service and extremely slow. go elsewhere.
----------- Document: 846, Score: 0.35400602635951994
-----------
they have bad service and very rude
-----------
"Το BERTopic είναι μια τεχνική μοντελοποίησης θεμάτων που αξιοποιεί μετασχηματιστές και c-TF-IDF για τη δημιουργία πυκνών συστάδων που επιτρέπουν εύκολα ερμηνεύσιμα θέματα, διατηρώντας παράλληλα σημαντικές λέξεις στις περιγραφές των θεμάτων."
Όπως υποδηλώνει το όνομα, το BERTopic χρησιμοποιεί ισχυρά μοντέλα μετασχηματιστών για να προσδιορίσει τα θέματα που υπάρχουν στο κείμενο. Ένα άλλο χαρακτηριστικό αυτού του αλγορίθμου μοντελοποίησης θεμάτων είναι η χρήση μιας παραλλαγής του TF-IDF, που ονομάζεται παραλλαγή του TF-IDF βάσει κλάσεων.
Όπως το Top2Vec, δεν χρειάζεται να γνωρίζει τον αριθμό των θεμάτων, αλλά εξάγει αυτόματα τα θέματα.
Επιπλέον, όπως και το Top2Vec, είναι ένας αλγόριθμος που περιλαμβάνει διαφορετικές φάσεις. Τα τρία πρώτα βήματα είναι τα ίδια: δημιουργία εγγράφων ενσωμάτωσης, μείωση διαστάσεων με UMAP και ομαδοποίηση με HDBScan.
Οι διαδοχικές φάσεις αρχίζουν να αποκλίνουν από το Top2Vec. Μετά την εύρεση των πυκνών περιοχών με το HDBSCAN, κάθε θέμα χαρακτηρίζεται σε μια αναπαράσταση τσάντας λέξεων, η οποία λαμβάνει υπόψη εάν η λέξη εμφανίζεται στο έγγραφο ή όχι. Αφού τα έγγραφα που ανήκουν σε ένα σύμπλεγμα θεωρηθούν ως μοναδικό έγγραφο και εφαρμόζεται το TF-IDF. Έτσι, για κάθε θέμα, προσδιορίζουμε τις πιο σχετικές λέξεις, που θα πρέπει να έχουν το υψηλότερο c-TF-IDF.
Παράδειγμα BERTopic
Επαναλαμβάνουμε την ανάλυση στο ίδιο σύνολο δεδομένων.
Θα εξαγάγουμε τα θέματα από τις κριτικές χρησιμοποιώντας το BERTopic:
model_path_bad = 'model/bert_bad'
topic_model_bad = train_bert(docs_bad,model_path_bad)
freq_df = topic_model_bad.get_topic_info()
print("Number of topics: {}".format( len(freq_df)))
freq_df['Percentage'] = round(freq_df['Count']/freq_df['Count'].sum() * 100,2)
freq_df = freq_df.iloc[:,[0,1,3,2]]
freq_df.head()
Ο πίνακας που επιστρέφεται από το μοντέλο παρέχει πληροφορίες για τα 14 θέματα που εξήχθησαν. Το θέμα αντιστοιχεί στο αναγνωριστικό θέματος, εκτός από όλα τα ακραία σημεία που αγνοούνται και επισημαίνονται ως -1.
Τώρα, θα περάσουμε στο πιο ενδιαφέρον κομμάτι σχετικά με την οπτικοποίηση των θεμάτων μας σε διαδραστικά γραφήματα, όπως η απεικόνιση των πιο σχετικών όρων για κάθε θέμα, ο διαθεματικός χάρτης απόστασης, η δισδιάστατη αναπαράσταση του χώρου ενσωμάτωσης και την ιεραρχία του θέματος.
Ας αρχίσουμε να δείχνουμε τα γραφήματα ράβδων για τα δέκα κορυφαία θέματα. Για κάθε θέμα, μπορούμε να παρατηρήσουμε τις πιο σημαντικές λέξεις, ταξινομημένες με φθίνουσα σειρά με βάση τη βαθμολογία c-TF-IDF. Όσο πιο σχετική είναι μια λέξη, τόσο μεγαλύτερη είναι η βαθμολογία.
Το πρώτο θέμα περιέχει γενικές λέξεις, όπως τοποθεσία και φαγητό, θέμα 1 παραγγελία και αναμονή, θέμα 2 χειρότερο και υπηρεσία, θέμα 3 μέρος και βρώμικο, διαφήμιση ούτω καθεξής.
Αφού οπτικοποιήσετε τα ραβδωτά γραφήματα, ήρθε η ώρα να ρίξετε μια ματιά στον διαθεματικό χάρτη απόστασης. Μειώνουμε τη διάσταση της βαθμολογίας c-TF-IDF σε ένα δισδιάστατο χώρο για να οπτικοποιήσουμε τα θέματα σε μια πλοκή. Στο κάτω μέρος, υπάρχει ένα ρυθμιστικό που επιτρέπει την επιλογή του θέματος που θα χρωματιστεί με κόκκινο χρώμα. Μπορούμε να παρατηρήσουμε ότι τα θέματα ομαδοποιούνται σε δύο διαφορετικές ομάδες, ένα με γενικά θέματα όπως φαγητό, κοτόπουλο και τοποθεσία, και ένα με διαφορετικές αρνητικές πτυχές, όπως η χειρότερη εξυπηρέτηση, το βρώμικο, το μέρος και το κρύο.
Το επόμενο γράφημα επιτρέπει να δείτε τη σχέση μεταξύ των κριτικών και των θεμάτων. Συγκεκριμένα, μπορεί να είναι χρήσιμο να κατανοήσουμε γιατί μια κριτική ανατίθεται σε ένα συγκεκριμένο θέμα και ευθυγραμμίζεται με τις πιο σχετικές λέξεις που βρέθηκαν. Για παράδειγμα, μπορούμε να εστιάσουμε στο κόκκινο σύμπλεγμα, που αντιστοιχεί στο θέμα 2 με μερικά λόγια για τη χειρότερη υπηρεσία. Τα έγγραφα σε αυτήν την πυκνή περιοχή φαίνονται αρκετά αρνητικά, όπως "Τρομερή εξυπηρέτηση πελατών και ακόμη χειρότερο φαγητό".
Εκ πρώτης όψεως, αυτές οι προσεγγίσεις έχουν πολλές κοινές πτυχές, όπως η αυτόματη εύρεση του αριθμού των θεμάτων, η ανάγκη προεπεξεργασίας στις περισσότερες περιπτώσεις, η εφαρμογή του UMAP για τη μείωση της διάστασης των ενσωματώσεων εγγράφων και, στη συνέχεια, το HDBSCAN χρησιμοποιείται για μοντελοποίηση αυτών των μειωμένων ενσωματώσεων εγγράφων, αλλά είναι θεμελιωδώς διαφορετικές όταν εξετάζουμε τον τρόπο με τον οποίο εκχωρούν τα θέματα στα έγγραφα.
Το Top2Vec δημιουργεί αναπαραστάσεις θεμάτων βρίσκοντας λέξεις που βρίσκονται κοντά στο κέντρο ενός συμπλέγματος.
Σε αντίθεση με το Top2Vec, το BERTopic δεν λαμβάνει υπόψη το κέντρο του συμπλέγματος, αλλά θεώρησε όλα τα έγγραφα σε ένα σύμπλεγμα ως μοναδικό έγγραφο και εξάγει αναπαραστάσεις θεμάτων χρησιμοποιώντας μια παραλλαγή του TF-IDF που βασίζεται σε κλάσεις.
Top2Vec | BERTopic |
Η στρατηγική εξαγωγής θεμάτων με βάση τα κεντροειδή συμπλέγματος. | Η στρατηγική εξαγωγής θεμάτων με βάση το c-TF-IDF. |
Δεν υποστηρίζει Dynamic Topic Modeling. | Υποστηρίζει Dynamic Topic Modeling. |
Δημιουργεί σύννεφα λέξεων για κάθε θέμα και παρέχει εργαλεία αναζήτησης για θέματα, έγγραφα και λέξεις. | Επιτρέπει τη δημιουργία διαδραστικών γραφικών οπτικοποίησης, επιτρέποντας την ερμηνεία των εξαγόμενων θεμάτων. |
Το Topic Modeling είναι ένας αναπτυσσόμενος τομέας Επεξεργασίας Φυσικής Γλώσσας και υπάρχουν πολλές πιθανές εφαρμογές, όπως κριτικές, ήχος και αναρτήσεις στα μέσα κοινωνικής δικτύωσης. Όπως έχει αποδειχθεί, αυτό το άρθρο παρέχει μια επισκόπηση των Topi2Vec και BERTopic, που είναι δύο πολλά υποσχόμενες προσεγγίσεις, που μπορούν να σας βοηθήσουν να προσδιορίσετε θέματα με λίγες γραμμές κώδικα και να ερμηνεύσετε τα αποτελέσματα μέσω οπτικοποιήσεων δεδομένων. Εάν έχετε ερωτήσεις σχετικά με αυτές τις τεχνικές ή έχετε άλλες προτάσεις σχετικά με άλλες προσεγγίσεις για τον εντοπισμό θεμάτων, γράψτε το στα σχόλια.
Ευγενία Ανέλλο είναι επί του παρόντος επιστημονικός συνεργάτης στο Τμήμα Μηχανικών Πληροφορικής του Πανεπιστημίου της Πάντοβα, Ιταλία. Το ερευνητικό της έργο επικεντρώνεται στη Συνεχή Μάθηση σε συνδυασμό με την Ανίχνευση Ανωμαλιών.
- SEO Powered Content & PR Distribution. Ενισχύστε σήμερα.
- Platoblockchain. Web3 Metaverse Intelligence. Ενισχύθηκε η γνώση. Πρόσβαση εδώ.
- πηγή: https://www.kdnuggets.com/2023/01/topic-modeling-approaches-top2vec-bertopic.html?utm_source=rss&utm_medium=rss&utm_campaign=topic-modeling-approaches-top2vec-vs-bertopic
- 1
- 10
- 100
- 7
- a
- Ικανός
- Σχετικά
- Λογαριασμός
- Ad
- διεύθυνση
- Μετά το
- αλγόριθμος
- αλγόριθμοι
- ευθυγραμμισμένος
- Όλα
- κατανομή
- Επιτρέποντας
- επιτρέπει
- Ποσά
- ανάλυση
- αναλύσει
- και
- ανίχνευση ανωμαλιών
- Άλλος
- Εφαρμογή
- εφαρμογές
- εφαρμοσμένος
- πλησιάζω
- προσεγγίσεις
- ΠΕΡΙΟΧΗ
- περιοχές
- επιχειρήματα
- άρθρο
- πτυχές
- ανατεθεί
- ήχου
- αυτομάτως
- διαθέσιμος
- Κακός
- μπαρ
- βασίζονται
- επειδή
- μεταξύ
- Κάτω μέρος
- Breakfast
- Κτίριο
- Χτίζει
- υπολογισμό
- που ονομάζεται
- δεν μπορώ
- ικανός
- πιάνω
- περιπτώσεις
- αλυσίδα
- χαρακτηριστικός
- Διαγράμματα
- επιλέγονται
- Πόλη
- κλασικό
- Κλεισιμο
- πιο κοντά
- συστάδα
- ομαδοποίηση
- κωδικός
- Καφές
- σε συνδυασμό
- σχόλια
- Κοινός
- παραπόνων
- θεωρούνται
- θεωρώντας
- Περιέχει
- συμφραζόμενα
- συμβατικός
- Αντίστοιχος
- αντιστοιχεί
- δημιουργία
- δημιουργήθηκε
- δημιουργεί
- δημιουργία
- δημιουργία
- Φλιτζάνι
- Τη στιγμή
- πελάτης
- Εξυπηρέτηση πελατών
- ημερομηνία
- ημέρα
- μοιρασιά
- κατέδειξε
- Τμήμα
- Ανίχνευση
- καθορίζει
- διαφορετικές
- απόσταση
- μακρινός
- Αποκλίνω
- έγγραφο
- έγγραφα
- Όχι
- μειονεκτήματα
- αυτοκίνητο
- μετακινηθείτε
- δυναμικός
- κάθε
- εύκολα
- αλλού
- ενσωματωμένο
- Μηχανική
- Even
- παράδειγμα
- Εκτός
- εξήγησε
- εκχύλισμα
- Εκχυλίσματα
- εξαιρετικά
- FAST
- σύντροφος
- λίγοι
- πεδίο
- Εύρεση
- εύρεση
- Όνομα
- Συγκέντρωση
- επικεντρώθηκε
- τροφή
- Βρέθηκαν
- από
- θεμελιωδώς
- General
- παράγουν
- παράγεται
- παίρνω
- Παγκόσμιο
- Go
- μετάβαση
- γραφική παράσταση
- γραφικές παραστάσεις
- Μεγαλώνοντας
- βοήθεια
- ιεραρχία
- Ψηλά
- υψηλότερο
- υψηλότερο
- HTTPS
- ιδέα
- Αναγνώριση
- αναγνωριστικό
- προσδιορίσει
- προσδιορισμό
- εισαγωγή
- σημαντικό
- βελτίωση
- in
- πληροφορίες
- αντί
- διαδραστικό
- ενδιαφέρον
- ερμηνεία
- IT
- Ιταλία
- KDnuggets
- τήρηση
- Ξέρω
- επιγραφή
- Γλώσσα
- large
- μάθηση
- μόχλευσης
- γραμμή
- γραμμές
- Λίστα
- τοπικός
- που βρίσκεται
- τοποθεσία
- θέσεις
- ματιά
- κοιτάζοντας
- Κυρίως
- πολοί
- χάρτη
- Μήτρα
- MCDONALD
- νόημα
- Εικόνες / Βίντεο
- μοντέλο
- μοντελοποίηση
- πρίπλασμα
- μοντέλα
- περισσότερο
- πλέον
- πολυεθνικός
- όνομα
- Φυσικό
- Φυσική γλώσσα
- Επεξεργασία φυσικής γλώσσας
- Ανάγκη
- αρνητικός
- επόμενη
- Θόρυβος
- αριθμός
- πολυάριθμες
- παρατηρούμε
- λαμβάνεται
- ONE
- τάξη
- οργάνωση
- πρωτότυπο
- ΑΛΛΑ
- Πάντα
- παράμετρος
- μέρος
- Ειδικότερα
- ποσοστό
- εκτελέσει
- φράσεις
- Μέρος
- Πλάτων
- Πληροφορία δεδομένων Plato
- Πλάτωνα δεδομένα
- Σημείο
- δυνατός
- Δημοσιεύσεις
- ισχυρός
- παρόν
- προηγούμενος
- προηγουμένως
- μεταποίηση
- Παράγεται
- Προϊόντα
- σχέδιο
- υποσχόμενος
- παρέχεται
- παρέχει
- ποιότητα
- Ερωτήσεις
- λόγος
- Red
- μείωση
- Μειωμένος
- μείωση
- σχετικά με
- σχέση
- Σχέσεις
- επαναλαμβάνω
- αντιπροσώπευση
- εκπρόσωπος
- αντιπροσωπεύει
- έρευνα
- Αποτελέσματα
- αποκαλύπτω
- ανασκόπηση
- Κριτικές
- ίδιο
- Αναζήτηση
- αναζήτηση
- επιλογή
- υπηρεσία
- θα πρέπει να
- δείχνουν
- παρουσιάζεται
- Θέαμα
- παρόμοιες
- Ομοίως
- αφού
- ενιαίας
- ολισθητής
- επιβραδύνουν
- So
- Μ.Κ.Δ
- social media
- Δημοσιεύσεις κοινωνικών μέσων
- μερικοί
- Χώρος
- ειδικευμένος
- συγκεκριμένες
- διαίρεση
- Βήμα
- Βήματα
- Στρατηγική
- δομή
- τέτοιος
- Προτείνει
- εποπτευόμενη μάθηση
- υποστήριξη
- Υποστηρίζει
- τραπέζι
- Πάρτε
- παίρνει
- τεχνικές
- δέκα
- όροι
- Η
- Εκεί.
- τρία
- Μέσω
- ώρα
- προς την
- συμβολίζεται
- εργαλεία
- κορυφή
- Τα πρώτα δέκα
- τοπικός
- Θέματα
- μετασχηματιστές
- φροντιστήριο
- τυπικός
- υποκείμενες
- καταλαβαίνω
- μοναδικός
- πανεπιστήμιο
- ΗΠΑ
- χρήση
- Πολύτιμος
- Αξίες
- Παραλλαγή
- οραματισμός
- περιμένετε
- Ποιό
- ενώ
- Ενώ
- θα
- εντός
- λέξη
- λόγια
- χειρότερη
- γράφω
- Λανθασμένος
- zephyrnet