Što je ekstrakcija ključnih riječi?
Ekstrakcija ključnih riječi automatski izvlači najčešće korištene i najvažnije riječi i izraze iz teksta, koristeći tehniku analize teksta. Pomaže u sažimanju sadržaja tekstova i prepoznavanju glavnih tema o kojima se raspravlja, što je korisno za istraživanje tržišta , analizu sentimenta i druge vrste analize podataka. Ova tehnika koristi umetanje rečenica i može analizirati velike skupove podataka u stvarnom vremenu.
Umjetna inteligencija strojnog učenja (AI) s obradom prirodnog jezika (NLP) (područje računalnih znanosti) rastavlja ljudski jezik kako bi ga strojevi mogli razumjeti i analizirati. Izdvajanje ključnih riječi automatizira tijekove rada kao što je označavanje dolaznih odgovora na anketu ili odgovaranje na hitne korisničke upite. Tehnika koristi lingvističke i semantičke informacije o tekstovima i riječima koje sadrže. Postoje različiti algoritmi i tehnike strojnog učenja za izdvajanje najrelevantnijih ključnih riječi u tekstu.
Zašto je izdvajanje ključnih riječi važno?
Izdvajanje ključnih riječi i ključnih fraza važno je iz nekoliko razloga:
- Optimizacija za tražilice (SEO) : Izdvajanje ključnih riječi pomaže identificirati najvažnije riječi i izraze u dokumentu, što se može koristiti za optimizaciju sadržaja web stranice za tražilice.
- Sažimanje teksta: Izdvajanje ključnih riječi može se koristiti za sažimanje dokumenta identificiranjem najvažnijih riječi i fraza koje predstavljaju glavnu temu teksta.
- Klasifikacija teksta: Ekstrakcija ključnih riječi može se koristiti za klasificiranje tekstualnih dokumenata u različite kategorije na temelju ključnih riječi koje sadrže. Ovo je korisno u aplikacijama kao što je analiza raspoloženja.
- Dohvaćanje informacija: Izdvajanje ključnih riječi može se koristiti za poboljšanje točnosti sustava za dohvaćanje informacija identificiranjem relevantnih ključnih riječi koje odgovaraju korisnikovom upitu za pretraživanje.
Kako napraviti ekstrakciju ključnih riječi u R?
Evo nekoliko tehnika izdvajanja ključnih riječi i slučajeva njihove upotrebe:
- Pronađite ključne riječi označavanjem dijelova govora kako biste identificirali imenice
- Pronađite ključne riječi na temelju kolokacija i supojavljivanja
- Pronađite ključne riječi na temelju Textrank algoritma
- Pronađite ključne riječi na temelju RAKE-a (brzo automatsko izdvajanje ključnih riječi)
- Pronalaženje ključnih riječi na temelju rezultata analize zavisnosti (dobivanje predmeta teksta)
Izdvajanje imenica
Jednostavan način za pronalaženje ključnih riječi je gledanje imenica. Budući da svaki izraz ima oznaku dijelova govora ako ste tekst komentirali pomoću paketa udpipe:
Kodirati:
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")
Kolokacija i supojavljivanja
Dobijte izraz s više riječi gledajući ili kolokacije (riječi koje slijede jedna za drugom), supojavljivanja riječi unutar svake rečenice ili supojavljivanja riječi riječi koje su blizu jedne druge.
Kodirati:
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 (mreža riječi poredana prema Google PageRank)
Textrank je još jedna metoda izdvajanja ključnih riječi. Paket textrank R implementira algoritam Textrank. Textrank algoritam omogućuje sažimanje teksta i izdvajanje ključnih riječi. Za konstruiranje mreže riječi, algoritam provjerava slijede li riječi jedna drugu. Algoritam ‘Google PageRank’ izdvaja relevantne riječi. Relevantne riječi koje slijede jedna za drugom kombiniraju se da bi se dobile ključne riječi. TextRank ne proizlazi iz izvornog teksta, jer se radi o pristupu koji se temelji na grafikonima.
Kodirati:
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)
Brzo automatsko izdvajanje ključnih riječi: RAKE
RAKE je sljedeći osnovni algoritam koji je akronim za Rapid Automatic Keyword Extraction. RAKE je algoritam za izdvajanje ključnih riječi neovisan o domeni u obradi prirodnog jezika.
-
Izračunavanje rezultata za svaku riječ koja je dio bilo koje ključne riječi kandidata obavlja
- među riječima ključnih riječi kandidata, algoritam gleda koliko se puta svaka riječ pojavljuje i koliko se puta pojavljuje zajedno s drugim riječima
- svaka riječ dobiva rezultat koji je omjer stupnja riječi (koliko se puta pojavljuje zajedno s drugim riječima) i učestalosti riječi
- RAKE rezultat za punu ključnu riječ kandidata izračunava se zbrajanjem rezultata svake od riječi koje definiraju ključnu riječ kandidata
Kodirati:
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))
Upotrijebite izlaz raščlambe zavisnosti da biste dobili nominalni subjekt i njegov pridjev
Kada ste izvršili napomenu koristeći udpipe, polje dep_rel označava kako su riječi međusobno povezane. Token je povezan s roditeljem koristeći token_id i head_token_id . Polje dep_rel označava kako su riječi povezane jedna s drugom. Vrsta odnosa je na http://universaldependencies.org/u/dep/index.html.
Kodirati:
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"))
Što je Text-Mining?
Rudarenje teksta u R odnosi se na proces analiziranja i izvlačenja uvida iz tekstualnih podataka pomoću programskog jezika R i povezanih biblioteka i paketa. Rudarenje teksta uključuje nekoliko koraka, uključujući čišćenje i pretprocesiranje podataka, ekstrakciju značajki, statističko modeliranje i vizualizaciju.
The
tm
paket pruža funkcije za čitanje tekstualnih podataka, čišćenje i pretprocesiranje podataka i stvaranje matrica pojmova dokumenta, koje se obično koriste za analizu tekstualnih podataka. The
tidytext
paket pruža alate za pretvaranje tekstualnih podataka u uredne podatkovne okvire.
Neki uobičajeni zadaci u rudarenju teksta uključuju analizu osjećaja, modeliranje teme, grupiranje dokumenata i klasifikaciju teksta. Ovi zadaci uključuju primjenu statističkih tehnika i tehnika strojnog učenja za prepoznavanje obrazaca i odnosa unutar tekstualnih podataka.
API-ji za izdvajanje ključnih riječi su softverska sučelja koja programerima omogućuju izdvajanje ključnih riječi i ključnih fraza iz teksta pomoću unaprijed izgrađenih algoritama i modela strojnog učenja. Ovi API-ji pružaju skalabilno rješenje jednostavno za korištenje za automatiziranje procesa izdvajanja ključnih riječi, bez potrebe da programeri izgrade i obuče vlastite modele.
R je programski jezik otvorenog koda i softversko okruženje za statističko računanje, analizu podataka i grafiku. Ljudi široko koriste R u akademskoj zajednici, istraživanju i industriji za zadatke kao što su statističko modeliranje, vizualizacija podataka, strojno učenje i rudarenje podataka. Ima sučelja s drugim programskim jezicima kao što su Python i C++ . Pronađite detaljnije informacije s online tutorialima na GitHubu.