Fotó Mikechie Esparagoza
Nap mint nap legtöbbször címkézetlen szöveggel van dolgunk, és a felügyelt tanulási algoritmusok egyáltalán nem használhatók információk kinyerésére az adatokból. A természetes nyelv egy részterülete nagy mennyiségű szövegben felfedheti a mögöttes szerkezetet. Ezt a tudományágat témamodellezésnek hívják, amely témák szövegből való kiemelésére specializálódott.
Ebben a kontextusban a hagyományos megközelítések, mint például a látens dirichlet-allokáció és a nem negatív mátrixfaktorizálás, bebizonyították, hogy nem ragadják meg jól a szavak közötti kapcsolatokat, mivel ezek a szavak zsákján alapulnak.
Emiatt két ígéretes megközelítésre fogunk összpontosítani, a Top2Vec-re és a BERTopic-ra, amelyek ezeket a hátrányokat kezelik azáltal, hogy előre betanított nyelvi modelleket használnak témák létrehozására. Kezdjük el!
A Top2Vec egy olyan modell, amely képes automatikusan felismerni a témákat a szövegből előre betanított szóvektorok használatával, és értelmes beágyazott témákat, dokumentumokat és szóvektorokat hoz létre.
Ebben a megközelítésben a témák kinyerésének eljárása több lépésre bontható:
- Szemantikus beágyazás létrehozása: közösen beágyazott dokumentum- és szóvektorok jönnek létre. Az ötlet az, hogy a hasonló dokumentumok közelebb legyenek a beágyazási térben, míg a különböző dokumentumok egymástól távol legyenek.
- Csökkentse a dokumentumbeágyazás méretét: A méretcsökkentési megközelítés alkalmazása fontos a dokumentumok beágyazásának változékonyságának nagy részének megőrzéséhez, miközben csökkenti a nagy dimenziós teret. Ezenkívül lehetővé teszi a sűrű területek azonosítását, amelyekben minden pont egy dokumentumvektort jelent. Az UMAP az ebben a lépésben választott tipikus dimenziócsökkentési megközelítés, mert képes megőrizni a nagydimenziós adatok helyi és globális szerkezetét.
- A dokumentumcsoportok azonosítása: A HDBScan, a sűrűség alapú klaszterezési megközelítést alkalmazza hasonló dokumentumok sűrű területeinek megtalálására. Minden dokumentum zajként van hozzárendelve, ha nem sűrű fürtben van, vagy címkeként, ha sűrű területhez tartozik.
- Számítsa ki a súlypontokat az eredeti beágyazási térben: A súlypontot a nagy dimenziós tér figyelembevételével számítják ki a csökkentett beágyazási tér helyett. A klasszikus stratégia abból áll, hogy egy sűrű területhez tartozó összes dokumentumvektor számtani átlagát számítjuk ki, amelyet az előző lépésben kaptunk HDBSCAN segítségével. Ily módon minden klaszterhez egy témavektor jön létre.
- Keressen szavakat az egyes témavektorokhoz: a dokumentumvektorhoz legközelebbi szóvektorok szemantikailag a legreprezentatívabbak.
Példa a Top2Vec-re
Ebben az oktatóanyagban a McDonald's negatív értékeléseit fogjuk elemezni egy olyan adatkészletből, amely elérhető: adatok.világ. A témakörök azonosítása ezekből az áttekintésekből értékes lehet a multinacionális cég számára az adatok által szolgáltatott USA-beli helyszíneken a termékek és a gyorséttermi lánc szervezett fejlesztése érdekében.
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()
Egyetlen kódsorban végrehajtjuk a top2vec előzőekben ismertetett összes lépését.
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"},
)
A Top2Vec fő érvei a következők:
- docs_bad: karakterláncok listája.
- univerzális mondatkódoló: a kiválasztott előre betanított beágyazási modell.
- deep-learn: az előállított dokumentumvektor minőségét meghatározó paraméter.
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)
A legtöbb
A szófelhőkből arra következtethetünk, hogy a 0. témakör a McDonald szolgáltatásaival kapcsolatos általános panaszokról szól, mint például „lassú kiszolgálás”, „borzalmas kiszolgálás” és „rossz rendelés”, míg az 1. és 2. téma a reggeli ételekre vonatkozik ( McMuffin, keksz, tojás) és kávé (jeges kávé és csésze kávé).
Most két kulcsszóval próbálunk dokumentumokat keresni: rossz és lassú:
( 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()
output:
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
-----------
"A BERTopic egy témamodellezési technika, amely a transzformátorokat és a c-TF-IDF-et kihasználva sűrű klasztereket hoz létre, amelyek lehetővé teszik a könnyen értelmezhető témákat, miközben a témaleírásokban megőrzik a fontos szavakat."
Ahogy a neve is sugallja, a BERTopic erőteljes transzformátormodelleket használ a szövegben szereplő témák azonosítására. Ennek a témamodellező algoritmusnak egy másik jellemzője a TF-IDF egy változatának, a TF-IDF osztályalapú variációjának a használata.
A Top2Vec-hez hasonlóan ennek sem kell tudnia a témák számát, hanem automatikusan kivonja a témákat.
Sőt, hasonlóan a Top2Vec-hez, ez is egy különböző fázisokat magában foglaló algoritmus. Az első három lépés ugyanaz: beágyazott dokumentumok létrehozása, méretcsökkentés UMAP segítségével és fürtözés HDBScan segítségével.
Az egymást követő fázisok kezdenek eltérni a Top2Vectől. Miután megtalálta a sűrű területeket a HDBSCAN segítségével, minden téma egy zsák-szavas reprezentációba kerül, amely figyelembe veszi, hogy a szó megjelenik-e a dokumentumban vagy sem. Miután a klaszterhez tartozó dokumentumok egyedi dokumentumnak minősülnek, és a TF-IDF alkalmazásra kerül. Tehát minden témához azonosítjuk a legrelevánsabb szavakat, amelyeknek a legmagasabb c-TF-IDF értékkel kell rendelkezniük.
Példa a BERTopic-ra
Az elemzést megismételjük ugyanazon az adathalmazon.
A BERTopic segítségével kivonjuk a témákat az ismertetőkből:
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()
A modell által visszaadott táblázat a kivont 14 témáról nyújt információkat. A témakör megfelel a téma azonosítójának, kivéve az összes figyelmen kívül hagyott kiugró értéket, amelyek -1 címkével vannak ellátva.
Most áttérünk a témáink interaktív grafikonokba való megjelenítésére vonatkozó legérdekesebb részre, mint például az egyes témakörökhöz tartozó legrelevánsabb kifejezések megjelenítése, a témaközi távolságtérkép, a beágyazási tér kétdimenziós ábrázolása, ill. a téma hierarchiája.
Kezdjük a tíz legjobb téma oszlopdiagramjainak megjelenítésével. Minden témakörnél megfigyelhetjük a legfontosabb szavakat, a c-TF-IDF pontszám alapján csökkenő sorrendbe rendezve. Minél inkább releváns egy szó, annál magasabb a pontszám.
Az első téma általános szavakat tartalmaz, például hely és étel, 1. téma rendeljen és várjon, 2. téma a legrosszabb és szolgáltatás, 3. téma hely és piszkos, hirdetés stb.
Az oszlopdiagramok megjelenítése után itt az ideje, hogy vessen egy pillantást a témaközi távolságtérképre. A c-TF-IDF pontszám dimenzióját kétdimenziós térré csökkentjük, hogy megjelenítsük a témákat egy cselekményben. Alul található egy csúszka, amely lehetővé teszi a pirosra színezett téma kiválasztását. Észrevehetjük, hogy a témák két különböző klaszterbe vannak csoportosítva, az egyik általános tematikával, mint az étel, a csirke és a helyszín, a másik pedig különböző negatív aspektusokkal, mint például a legrosszabb szolgáltatás, koszos, hely és hideg.
A következő grafikonon látható a kapcsolat a vélemények és a témák között. Különösen hasznos lehet annak megértése, hogy a vélemény miért van egy adott témához rendelve, és miért van igazítva a talált legrelevánsabb szavakhoz. Például összpontosíthatunk a vörös klaszterre, amely a 2. témának felel meg néhány szóval a legrosszabb szolgáltatásról. Az ezen a sűrű területen található dokumentumok meglehetősen negatívnak tűnnek, például „Szörnyű ügyfélszolgálat és még rosszabb ételek”.
Első ránézésre ezeknek a megközelítéseknek sok közös jellemzője van, mint például a témák számának automatikus megkeresése, az esetek többségében nem szükséges előfeldolgozás, az UMAP alkalmazása a dokumentumbeágyazások dimenziójának csökkentésére, majd a HDBSCAN használata modellezi ezeket a redukált dokumentumbeágyazásokat, de alapvetően különböznek egymástól, ha azt nézzük, hogyan rendelik hozzá a témákat a dokumentumokhoz.
A Top2Vec témaábrázolásokat hoz létre úgy, hogy a klaszter centrumához közel található szavakat keres.
A Top2Vec-től eltérően a BERTopic nem veszi figyelembe a fürt súlypontját, de a fürt összes dokumentumát egyedi dokumentumnak tekintette, és a témakörök reprezentációit a TF-IDF osztályalapú változatának segítségével bontja ki.
Top2Vec | BERTopic |
A témakörök kinyerésének stratégiája a klaszter centroidjai alapján. | A c-TF-IDF-en alapuló témakörök kinyerésének stratégiája. |
Nem támogatja a dinamikus témamodellezést. | Támogatja a dinamikus témamodellezést. |
Minden témához szófelhőket hoz létre, és keresőeszközöket biztosít a témákhoz, dokumentumokhoz és szavakhoz. | Lehetővé teszi interaktív vizualizációs cselekmények készítését, lehetővé téve a kivont témák értelmezését. |
A témamodellezés a természetes nyelvi feldolgozás egyre növekvő területe, és számos lehetséges alkalmazás létezik, például ismertetők, audio- és közösségimédia-bejegyzések. Mint látható, ez a cikk áttekintést ad a Topi2Vec-ről és a BERTopic-ról, amelyek két ígéretes megközelítés, amelyek segíthetnek azonosítani néhány kódsoros témakört, és az eredményeket adatvizualizációkon keresztül értelmezni. Ha kérdései vannak ezekkel a technikákkal kapcsolatban, vagy egyéb javaslatai vannak a témák észlelésének más megközelítéseivel kapcsolatban, írja meg a megjegyzésekben.
Eugenia Anello jelenleg az olaszországi Padovai Egyetem Információmérnöki Tanszékének tudományos munkatársa. Kutatási projektje a folyamatos tanulásra és az anomália-észlelésre összpontosít.
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- Platoblockchain. Web3 metaverzum intelligencia. Felerősített tudás. Hozzáférés itt.
- Forrás: 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
- Képes
- Rólunk
- Fiók
- Ad
- cím
- Után
- algoritmus
- algoritmusok
- igazított
- Minden termék
- kiosztás
- lehetővé téve
- lehetővé teszi, hogy
- Összegek
- elemzés
- elemez
- és a
- anomália észlelése
- Másik
- Alkalmazás
- alkalmazások
- alkalmazott
- megközelítés
- megközelít
- TERÜLET
- területek
- érvek
- cikkben
- szempontok
- kijelölt
- hang-
- automatikusan
- elérhető
- Rossz
- bár
- alapján
- mert
- között
- Alsó
- Reggeli
- Épület
- épít
- kiszámítása
- hívott
- nem tud
- képes
- elfog
- esetek
- lánc
- jellegzetes
- táblázatok
- választott
- Város
- klasszikus
- közel
- közelebb
- Fürt
- csoportosítás
- kód
- Kávé
- kombinált
- Hozzászólások
- Közös
- panaszok
- figyelembe vett
- figyelembe véve
- tartalmaz
- kontextus
- hagyományos
- Megfelelő
- megfelel
- teremt
- készítette
- teremt
- létrehozása
- teremtés
- Csésze
- Jelenleg
- vevő
- Vevőszolgálat
- dátum
- nap
- foglalkozó
- igazolták
- osztály
- Érzékelés
- meghatározza
- különböző
- távolság
- Távoli
- Eltér
- dokumentum
- dokumentumok
- Nem
- hátrányai
- hajtás
- áthajt
- dinamikus
- minden
- könnyen
- máshol
- beágyazott
- Mérnöki
- Még
- példa
- Kivéve
- magyarázható
- kivonat
- kivonatok
- rendkívüli módon
- GYORS
- fickó
- kevés
- mező
- Találjon
- megtalálása
- vezetéknév
- Összpontosít
- összpontosított
- élelmiszer
- talált
- ból ből
- alapvetően
- általános
- generál
- generált
- kap
- Globális
- Go
- megy
- grafikon
- grafikonok
- Növekvő
- segít
- hierarchia
- Magas
- <p></p>
- legnagyobb
- HTTPS
- ötlet
- Azonosítás
- azonosító
- azonosítani
- azonosító
- importál
- fontos
- javul
- in
- információ
- helyette
- interaktív
- érdekes
- értelmezés
- IT
- Olaszország
- KDnuggets
- tartás
- Ismer
- Címke
- nyelv
- nagy
- tanulás
- kihasználja
- vonal
- vonalak
- Lista
- helyi
- található
- elhelyezkedés
- helyszínek
- néz
- keres
- Fő
- sok
- térkép
- Mátrix
- MCDONALD
- jelentőségteljes
- Média
- modell
- modellezés
- modellezés
- modellek
- több
- a legtöbb
- többnemzetiségű
- név
- Természetes
- Természetes nyelv
- Természetes nyelvi feldolgozás
- Szükség
- negatív
- következő
- Zaj
- szám
- számos
- megfigyelni
- kapott
- ONE
- érdekében
- szervezet
- eredeti
- Más
- pandák
- paraméter
- rész
- különös
- százalék
- teljesít
- kifejezés
- Hely
- Plató
- Platón adatintelligencia
- PlatoData
- pont
- lehetséges
- Hozzászólások
- erős
- be
- előző
- korábban
- feldolgozás
- Készült
- Termékek
- program
- biztató
- feltéve,
- biztosít
- világítás
- Kérdések
- ok
- Piros
- csökkenteni
- Csökkent
- csökkentő
- tekintettel
- kapcsolat
- Kapcsolatok
- ismétlés
- képviselet
- reprezentatív
- jelentése
- kutatás
- Eredmények
- mutatják
- Kritika
- Vélemények
- azonos
- Keresés
- keres
- kiválasztása
- szolgáltatás
- kellene
- előadás
- mutatott
- Látás
- hasonló
- Hasonlóképpen
- óta
- egyetlen
- csúszka
- lassú
- So
- Közösség
- Közösségi média
- Közösségi média bejegyzések
- néhány
- Hely
- specializált
- különleges
- osztott
- Lépés
- Lépései
- Stratégia
- struktúra
- ilyen
- javasolja,
- felügyelt tanulás
- támogatás
- Támogatja
- táblázat
- Vesz
- tart
- technikák
- tíz
- feltételek
- A
- Ott.
- három
- Keresztül
- idő
- nak nek
- Vezérjeles
- szerszámok
- felső
- Tíz legjobb
- téma
- Témakörök
- transzformerek
- oktatói
- tipikus
- mögöttes
- megért
- egyedi
- egyetemi
- USA
- használ
- Értékes
- Értékek
- Változat
- megjelenítés
- várjon
- ami
- míg
- Míg
- lesz
- belül
- szó
- szavak
- Legrosszabb
- ír
- Rossz
- zephyrnet