Kako izvleči ključne besede iz besedila v programu R?

Slika, ki prikazuje vmesnik R s poudarjenim delom kode, ki se uporablja za ekstrakcijo ključnih besed iz besedila.
Slika, ki prikazuje vmesnik R s poudarjenim delom kode, ki se uporablja za ekstrakcijo ključnih besed iz besedila.

Eskritor 2023-07-06

Kaj je ekstrakcija ključnih besed?

Izvleček ključnih besed s tehniko analize besedila samodejno izlušči najpogosteje uporabljene in najpomembnejše besede in izraze iz besedila. Pomaga povzeti vsebino besedil in prepoznati glavne obravnavane teme, kar je koristno za tržne raziskave, analizo čustev in druge vrste analize podatkov. Ta tehnika izkorišča vdelane stavke in lahko analizira velike sklope podatkov v realnem času.

Strojno učenje umetne inteligence (UI) z obdelavo naravnega jezika (NLP) (področje računalništva) razčlenjuje človeški jezik, tako da ga stroji lahko razumejo in analizirajo. Pridobivanje ključnih besed avtomatizira delovne postopke, kot je označevanje prejetih odgovorov na ankete ali odgovarjanje na nujne poizvedbe strank. Tehnika uporablja jezikovne in semantične informacije o besedilih in besedah, ki jih vsebujejo. Obstajajo različni algoritmi in tehnike strojnega učenja, s katerimi lahko iz besedila izluščimo najpomembnejše ključne besede.

Zakaj je pridobivanje ključnih besed pomembno?

Pridobivanje ključnih besed in ključnih fraz je pomembno iz več razlogov:

  1. Optimizacija za iskalnike (SEO ): Pridobivanje ključnih besed pomaga prepoznati najpomembnejše besede in besedne zveze v dokumentu, ki se lahko uporabijo za optimizacijo vsebine spletnega mesta za iskalnike.
  2. Povzemanje besedila: Izvleček ključnih besed se lahko uporabi za povzemanje dokumenta s prepoznavanjem najpomembnejših besed in besednih zvez, ki predstavljajo glavno temo besedila.
  3. Razvrstitev besedila: Izvleček ključnih besed se lahko uporabi za razvrščanje besedilnih dokumentov v različne kategorije na podlagi ključnih besed, ki jih vsebujejo. To je uporabno pri aplikacijah, kot je analiza čustev.
  4. Iskanje informacij: Pridobivanje ključnih besed se lahko uporablja za izboljšanje natančnosti sistemov za iskanje informacij z ugotavljanjem ustreznih ključnih besed, ki ustrezajo uporabnikovi iskalni poizvedbi.

Kako izpisati ključne besede v programu R?

Tukaj je nekaj tehnik pridobivanja ključnih besed in primerov njihove uporabe:

  • iskanje ključnih besed z označevanjem delov govora za prepoznavanje samostalnikov
  • Iskanje ključnih besed na podlagi kolokacij in sočasnih pojavitev
  • iskanje ključnih besed na podlagi algoritma Textrank
  • Iskanje ključnih besed na podlagi RAKE (hitro samodejno ekstrakcijo ključnih besed)
  • iskanje ključnih besed na podlagi rezultatov razčlenjevanja odvisnosti (pridobivanje predmeta besedila).
pridobivanje ključnih besed iz besedila

Izločanje samostalnikov

Enostaven način iskanja ključnih besed je iskanje samostalnikov. Vsak izraz ima oznako delov govora, če ste besedilo komentirali s paketom udpipe:

Koda:

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")

Kolokacije in sopostavitve

Večbesedni izraz pridobite tako, da si ogledate kolokacije (besede, ki si sledijo ena za drugo), sočasna pojavljanja besed v vsakem stavku ali sočasna pojavljanja besed, ki so si blizu.

Koda:

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 (besedno omrežje, razvrščeno po Googlovem Pageranku)

Textrank je še ena metoda pridobivanja ključnih besed. Paket textrank R izvaja algoritem Textrank. Algoritem Textrank omogoča povzemanje besedila in izločanje ključnih besed. Algoritem za oblikovanje besedne mreže preveri, ali si besede sledijo druga za drugo. Algoritem “Google Pagerank” izlušči ustrezne besede. Ustrezne besede, ki si sledijo, se združijo v ključne besede. TextRank ne izhaja iz izvirnega besedila, saj gre za pristop, ki temelji na grafih.

Koda:

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)

Hitro samodejno pridobivanje ključnih besed: RAKE

RAKE je naslednji osnovni algoritem, ki je kratica za Rapid Automatic Keyword Extraction (Hitro samodejno izločanje ključnih besed). RAKE je domensko neodvisen algoritem za ekstrakcijo ključnih besed pri obdelavi naravnega jezika.

  1. Izračun ocene za vsako besedo, ki je del katere koli kandidatne ključne besede, poteka tako, da
    • med besedami kandidatnih ključnih besed algoritem pogleda, kolikokrat se posamezna beseda pojavi in kolikokrat se pojavi skupaj z drugimi besedami.
    • vsaka beseda dobi oceno, ki je razmerje med stopnjo besede (kolikokrat se pojavi skupaj z drugimi besedami) in pogostostjo besede
  2. Ocena RAKE za celotno kandidatno ključno besedo se izračuna tako, da se seštejejo ocene vseh besed, ki opredeljujejo kandidatno ključno besedo.

Koda:

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)) 

Uporabite rezultat razčlenjevanja odvisnosti, da dobite nominalni predmet in njegov pridevnik

Ko ste anotacijo izvedli z uporabo programa udpipe, polje dep_rel označuje, kako so besede med seboj povezane. Žeton je povezan z nadrejenim z uporabo token_id in head_token_id . Polje dep_rel označuje, kako se besede med seboj povezujejo. Vrsta odnosov je navedena na spletni strani http://universaldependencies.org/u/dep/index.html.

Koda:

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"))

Kaj je tekstovno rudarjenje?

Besedilno rudarjenje v R se nanaša na postopek analize in pridobivanja vpogledov iz besedilnih podatkov z uporabo programskega jezika R ter pripadajočih knjižnic in paketov. Rudarjenje besedil vključuje več korakov, vključno s čiščenjem in predobdelavo podatkov, ekstrakcijo značilnosti, statističnim modeliranjem in vizualizacijo.
Paket tm vsebuje funkcije za branje besedilnih podatkov, čiščenje in predobdelavo podatkov ter ustvarjanje matrik dokumentov in terminov, ki se pogosto uporabljajo za analizo besedilnih podatkov. Paket tidytext ponuja orodja za pretvorbo besedilnih podatkov v urejene podatkovne okvire.
Nekatere pogoste naloge pri rudarjenju besedil vključujejo analizo čustev, modeliranje tem, grozdenje dokumentov in razvrščanje besedil. Te naloge vključujejo uporabo statističnih tehnik in tehnik strojnega učenja za prepoznavanje vzorcev in povezav v besedilnih podatkih.

API za ekstrakcijo ključnih besed so programski vmesniki, ki razvijalcem omogočajo ekstrakcijo ključnih besed in besednih zvez iz besedila z uporabo vnaprej pripravljenih algoritmov in modelov strojnega učenja. Ti vmesniki API zagotavljajo enostavno uporabno in razširljivo rešitev za avtomatizacijo postopka pridobivanja ključnih besed, pri čemer razvijalcem ni treba graditi in usposabljati lastnih modelov.

R je odprtokodni programski jezik in programsko okolje za statistično računanje, analizo podatkov in grafiko. Program R se pogosto uporablja v akademskem, raziskovalnem in industrijskem okolju za naloge, kot so statistično modeliranje, vizualizacija podatkov, strojno učenje in podatkovno rudarjenje. Ima vmesnike z drugimi programskimi jeziki, kot sta Python in C++ . Podrobnejše informacije najdete v spletnih vadnicah v GitHubu.

Deli objavo

AI pisatelj

img

Eskritor

Ustvarjanje AI ustvarjene vsebine