Hogyan lehet a szövegből kulcsszavakat kivonni az R-ben?

Az R felületet szemléltető kép egy kiemelt kódrészlettel, amelyet a szövegből történő kulcsszó-kivonáshoz használnak.

Mi az a kulcsszó-kivonatolás?

A kulcsszó-kivonatolás automatikusan kivonja a leggyakrabban használt és legfontosabb szavakat és kifejezéseket egy szövegből, szövegelemzési technika segítségével. Segít összefoglalni a szövegek tartalmát és felismerni a tárgyalt fő témákat, ami hasznos a piackutatás, a hangulatelemzés és más típusú adatelemzések során. Ez a technika kihasználja a mondatbeágyazásokat, és képes nagy adathalmazok valós idejű elemzésére.

A gépi tanulás mesterséges intelligencia (AI) a természetes nyelvfeldolgozással (NLP) (az informatika egyik területe) lebontja az emberi nyelvet, hogy a gépek megértsék és elemezzék azt. A kulcsszó-kivonatolás automatizálja a munkafolyamatokat, például a beérkező felmérési válaszok megjelölését vagy a sürgős ügyfélkérdésekre adott válaszokat. A technika a szövegekre és a bennük található szavakra vonatkozó nyelvi és szemantikai információkat használja. Különböző gépi tanulási algoritmusok és technikák léteznek a szövegben található legrelevánsabb kulcsszavak kinyerésére.

Miért fontos a kulcsszó-kivonatolás?

A kulcsszavak és kulcskifejezések kinyerése több okból is fontos:

  1. Keresőmotor-optimalizálás (SEO): A kulcsszavak kinyerése segít azonosítani a dokumentumban található legfontosabb szavakat és kifejezéseket, amelyek felhasználhatók a weboldal tartalmának keresőmotorok számára történő optimalizálásához.
  2. Szövegösszefoglaló: A legfontosabb szavak és mondatok azonosításával, amelyek a szöveg fő témáját képviselik, a kulcsszavak kinyerése egy dokumentum összegzésére használható.
  3. Szöveges besorolás: A kulcsszavak kinyerése arra használható, hogy a szöveges dokumentumokat a bennük található kulcsszavak alapján különböző kategóriákba soroljuk. Ez olyan alkalmazásokban hasznos, mint például a hangulatelemzés.
  4. Információkeresés: A kulcsszavak kinyerése a felhasználó keresési lekérdezésének megfelelő releváns kulcsszavak azonosításával javíthatja az információkereső rendszerek pontosságát.

Hogyan készítsünk kulcsszó-kivonatolást az R-ben?

Íme néhány kulcsszó-kivonási technika és felhasználási esetük:

  • Kulcsszavak keresése a főnevek azonosítása érdekében a szólásrészek címkézésével
  • Kulcsszavak keresése kollokációk és együttes előfordulások alapján
  • Kulcsszavak keresése a Textrank algoritmus alapján
  • Kulcsszavak keresése a RAKE (gyors automatikus kulcsszó-kivonatolás) alapján
  • Kulcsszavak keresése a függőségi elemzések eredményei alapján (a szöveg tárgyának megismerése)
kulcsszavak kinyerése szövegből

Főnevek kivonása

A kulcsszavak megtalálásának egyszerű módja a főnevek vizsgálata. Mivel minden kifejezéshez tartozik egy beszédrészek címke, ha az udpipe csomaggal annotált szöveget:

Kód:

stats <- subset(x, upos %in% "NOUN") 
stats <- txt_freq(x = stats$lemma) 
library(lattice) 
stats$key <- factor(stats$key, levels = rev(stats$key)) 
barchart(key ~ freq, data = head(stats, 30), col = "cadetblue", main = "Most occurring nouns", xlab = "Freq")

Kollokáció és együttes előfordulások

A többszavas kifejezéseket vagy a kollokációk (egymást követő szavak), vagy az egyes mondatokon belüli szó-együttállások, vagy az egymáshoz közel álló szavak szó-együttállásai alapján kapja meg.

Kód:

Collocation (words following one another)

stats <- keywords_collocation(x = x,
term = "token", group = c("doc_id", "paragraph_id", "sentence_id"),
ngram_max = 4)

Co-occurrences: How frequent do words occur in the same sentence, in this case only nouns or adjectives

stats <- cooccurrence(x = subset(x, upos %in% c("NOUN", "ADJ")),
term = "lemma", group = c("doc_id", "paragraph_id", "sentence_id"))

## Co-occurrences: How frequent do words follow one another

stats <- cooccurrence(x = x$lemma,
relevant = x$upos %in% c("NOUN", "ADJ"))

## Co-occurrences: How frequent do words follow one another even if we would skip 2 words in between

stats <- cooccurrence(x = x$lemma,
relevant = x$upos %in% c("NOUN", "ADJ"), skipgram = 2)

Textrank (Google Pagerank szerint rendezett szóhálózat)

A Textrank egy másik kulcsszavak kinyerési módszere. A textrank R csomag a Textrank algoritmust valósítja meg. A Textrank algoritmus lehetővé teszi a szövegek összegzését és a kulcsszavak kinyerését. A szethálózat felépítéséhez az algoritmus ellenőrzi, hogy a szavak követik-e egymást. A „Google Pagerank” algoritmusa a releváns szavakat választja ki. Az egymás után következő releváns szavak együttesen kulcsszavakat eredményeznek. A TextRank nem az eredeti szövegből indul ki, mivel ez egy gráf-alapú megközelítés.

Kód:

stats <- textrank_keywords(x$lemma, relevant = x$upos %in% c("NOUN", "ADJ"), ngram_max = 8, sep = " ") 
stats <- subset(stats$keywords, ngram > 1 & freq >= 5) library(wordcloud) wordcloud(words = stats$keyword, freq = stats$freq)

Gyors automatikus kulcsszó-kivonatolás: RAKE

A RAKE a következő alapvető algoritmus, amely a Rapid Automatic Keyword Extraction (gyors automatikus kulcsszó-kivonatolás) rövidítése. A RAKE egy doménfüggetlen kulcsszó-kivonatoló algoritmus a természetes nyelvi feldolgozásban.

  1. A pontszám kiszámítása minden olyan szóra, amely része bármelyik kulcsszójelöltnek, a következőképpen történik
    • a kulcsszójelöltek szavai között az algoritmus azt vizsgálja, hogy az egyes szavak hányszor fordulnak elő, és hányszor fordulnak elő más szavakkal együtt.
    • minden szó kap egy pontszámot, amely a szó fokának (hányszor fordul elő más szavakkal együtt) és a szó gyakoriságának hányadosa.
  2. A teljes kulcsszójelöltre vonatkozó RAKE-pontszámot a kulcsszójelöltet meghatározó egyes szavak pontszámának összegzésével számítják ki.

Kód:

stats <- keywords_rake(x = x, term = "token", group = c("doc_id", "paragraph_id", "sentence_id"), relevant = x$upos %in% c("NOUN", "ADJ"), ngram_max = 4) 
head(subset(stats, freq > 3)) 

Használja a függőségi elemzési kimenetet a nominális alany és a melléknév megadásához.

Amikor a megjegyzést az udpipe segítségével hajtotta végre, a dep_rel mező jelzi, hogy a szavak hogyan kapcsolódnak egymáshoz. Egy token a token_id és a head_token_id segítségével kapcsolódik a szülőhöz. A dep_rel mező azt jelzi, hogy a szavak hogyan kapcsolódnak egymáshoz. A kapcsolatok típusa a http://universaldependencies.org/u/dep/index.html oldalon található.

Kód:

stats <- merge(x, x, by.x = c("doc_id", "paragraph_id", "sentence_id", "head_token_id"), by.y = c("doc_id", "paragraph_id", "sentence_id", "token_id"), all.x = TRUE, all.y = FALSE, suffixes = c("", "_parent"), sort = FALSE) 
stats <- subset(stats, dep_rel %in% "nsubj" & upos %in% c("NOUN") & upos_parent %in% c("ADJ")) 
stats$term <- paste(stats$lemma_parent, stats$lemma, sep = " ") 
stats <- txt_freq(stats$term) 
library(wordcloud) 
wordcloud(words = stats$key, freq = stats$freq, min.freq = 3, max.words = 100, random.order = FALSE, colors = brewer.pal(6, "Dark2"))

Mi az a Text-Mining?

A szövegbányászat az R programozási nyelv és a kapcsolódó könyvtárak és csomagok segítségével történő elemzés és a szöveges adatokból való kinyerés folyamata. A szövegbányászat több lépést foglal magában, beleértve az adatok tisztítását és előfeldolgozását, a jellemzők kinyerését, a statisztikai modellezést és a vizualizálást.
A tm csomag a szöveges adatok olvasásához, az adatok tisztításához és előfeldolgozásához, valamint a szöveges adatok elemzéséhez gyakran használt dokumentum-term mátrixok létrehozásához nyújt funkciókat. A tidytext csomag eszközöket biztosít a szöveges adatok rendezett adatkeretekké alakításához.
A szövegbányászat néhány gyakori feladata a hangulatelemzés, a témamodellezés, a dokumentumok klaszterezése és a szövegosztályozás. Ezek a feladatok statisztikai és gépi tanulási technikák alkalmazását foglalják magukban a szöveges adatokon belüli minták és kapcsolatok azonosítására.

Mik azok a kulcsszó-kivonatoló API-k?

A kulcsszó-kivonatoló API-k olyan szoftverfelületek, amelyek lehetővé teszik a fejlesztők számára, hogy előre elkészített algoritmusok és gépi tanulási modellek segítségével kulcsszavakat és kulcsmondatokat vonjanak ki a szövegből. Ezek az API-k könnyen használható és skálázható megoldást kínálnak a kulcsszavak kinyerésének automatizálására, anélkül, hogy a fejlesztőknek saját modelleket kellene készíteniük és betanítaniuk.

Mi az R?

Az R egy nyílt forráskódú programozási nyelv és szoftverkörnyezet statisztikai számításokhoz, adatelemzéshez és grafikához. Az R-t széles körben használják a tudományos életben, a kutatásban és az iparban olyan feladatokra, mint a statisztikai modellezés, az adatvizualizáció, a gépi tanulás és az adatbányászat. Más programozási nyelvekkel, például a Python és a C++ nyelvekkel is rendelkezik interfészekkel. Részletesebb információkat a GitHubon található online útmutatókkal találsz.

Gyakran ismételt kérdések

Mi az a CSV?

A CSV a „Comma-Separated Values” (vesszővel elválasztott értékek) rövidítése. Ez egy olyan fájlformátum, amely egyszerű szöveges formátumban tárolja és cseréli az adatokat, ahol minden sor egy rekordot, minden oszlop pedig a rekord egy mezőjét vagy attribútumát jelöli. A CSV-fájl első sora általában az oszlopfejléceket tárolja, amelyek az adatkészlet minden egyes mezőjének címkéjét tartalmazzák.

Mi az a TF-IDF?

A TF-IDF a „Term Frequency-Inverse Document Frequency” rövidítése. Ez egy numerikus statisztika, amely egy kifejezés fontosságát tükrözi egy dokumentumkorpuszban. A TF-IDF általában hasznos a szövegbányászatban, az információkeresésben és a természetes nyelvi feldolgozási alkalmazásokban.

Mik azok a stopszavak?

A zárószavak olyan gyakori szavak, amelyeket a természetes nyelvfeldolgozási (NLP) feladatok kizárnak, mivel a szövegelemzés során kevés jelentéssel vagy jelentőséggel bírnak. Példák a zárószavakra: „a”, „és”, „és”, „az”, „a”, „a”, „egy”, „egy”, „van” és „mert”.

Ossza meg a posztot:

A legmodernebb mesterséges intelligencia.

Kezdje el az Eskritorral most!

Kapcsolódó cikkek

Egy számítógép képernyőjének képe, amely egy GPT-3-mal folytatott beszélgetést mutat be, a mesterséges intelligencia nyelvi feldolgozási lépéseit szemléltető ábrákkal átfedve.
Eskritor

Hogyan működik a GPT-3?

Az alábbi lépések elmagyarázzák, hogyan működik a GPT-3 a válaszok generálásához: Miért hasznos a GPT-3? Íme egy lista azokról az okokról, amelyek miatt a GPT-3 hasznos: Mi a GPT-3 története?

Egy vizuális diagram, amely a mesterséges intelligenciának a tartalomírók munkaerőpiacára gyakorolt hatásával kapcsolatos adatokat mutatja be.
Eskritor

A mesterséges intelligencia helyettesíti a tartalomírókat?

Igen, a mesterséges intelligencia írók helyettesíthetnek néhány írót, de a jó írókat soha nem tudják helyettesíteni. Ez bizonyos típusú írói munkákat fog helyettesíteni. A mesterséges intelligencia tartalomgenerátorok képesek olyan alapvető

A ChatGPT architektúrájának vizuális ábrázolása, a nyelvi megértést és generálást lehetővé tevő transzformátor modellel.
Eskritor

Hogyan működik a ChatGPT?

Magas szinten a ChatGPT egy mély tanulási modell, amely neurális hálózatot használ az emberhez hasonló szövegek generálására. A modell konkrét változata, a ChatGPT-3 a transzformátor-architektúrának nevezett technikán alapul. Ez a