Kako izdvojiti ključne riječi iz teksta u R-u?

Slika koja prikazuje R sučelje s istaknutim isječkom koda koji se koristi za izdvajanje ključnih riječi iz teksta.

Š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:

  1. 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.
  2. 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.
  3. 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.
  4. 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 ključnih riječi iz 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.

  1. 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
  2. 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.
Thetm 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. Thetidytext 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.

Što su API-ji za izdvajanje ključnih riječi?

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.

Što je R?

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.

Često postavljana pitanja

Što je CSV?

CSV je kratica za “vrijednosti odvojene zarezom”. To je format datoteke koji pohranjuje i razmjenjuje podatke u formatu običnog teksta, gdje svaki redak predstavlja zapis, a svaki stupac predstavlja polje ili atribut zapisa. Prvi redak CSV datoteke obično pohranjuje zaglavlja stupaca, koja daju oznaku za svako polje u skupu podataka.

Što je TF-IDF?

TF-IDF je kratica za “Term Frequency-Inverse Document Frequency”. To je numerička statistika koja odražava važnost pojma u korpusu dokumenata. TF-IDF je obično koristan u aplikacijama za rudarenje teksta, pronalaženje informacija i obradu prirodnog jezika.

Što su Stopwords?

Zaustavne riječi su uobičajene riječi koje zadaci obrade prirodnog jezika (NLP) isključuju jer imaju malo značenja ili značaja u analizi teksta. Primjeri zaustavnih riječi uključuju “the”, “and”, “of”, “to”, “in”, “a”, “an”, “is” i “for”.

Podijelite objavu:

Vrhunska umjetna inteligencija

Započnite s Eskritorom odmah!

povezani članci

Slika zaslona računala koja prikazuje razgovor s GPT-3, prekrivena dijagramima koji prikazuju korake AI-jeve obrade jezika
Eskritor

Kako radi GPT-3?

Koraci u nastavku objašnjavaju kako GPT-3 radi na generiranju odgovora: Zašto je GPT-3 koristan? Evo popisa razloga zašto je GPT-3 koristan: Koja je povijest GPT-3? Razvoj GPT-3 je iterativni proces.

Vizualni grafikon koji prikazuje podatke povezane s utjecajem umjetne inteligencije na tržište rada za pisce sadržaja
Eskritor

Hoće li AI zamijeniti pisce sadržaja?

Da, AI pisci mogu zamijeniti neke pisce, ali nikada ne mogu zamijeniti dobre pisce. Zamijenit će određene vrste pisačkih poslova. Generatori AI sadržaja mogu generirati osnovni sadržaj koji ne zahtijeva

Vizualni prikaz ChatGPT-ove arhitekture, s modelom transformatora koji omogućuje razumijevanje jezika i mogućnosti generiranja
Eskritor

Kako funkcionira ChatGPT?

Na visokoj razini, ChatGPT je model dubokog učenja koji koristi neuronsku mrežu za generiranje ljudskog teksta. Specifična verzija modela, ChatGPT-3, temelji se na tehnici koja se naziva transformatorska arhitektura. Ova