Kuidas ekstraheerida võtmesõnu tekstist R-is?

Pilt, mis illustreerib R-liidest koos esiletõstetud koodilõiguga, mida kasutatakse tekstist märksõnade väljavõtmiseks.
Pilt, mis illustreerib R-liidest koos esiletõstetud koodilõiguga, mida kasutatakse tekstist märksõnade väljavõtmiseks.

Eskritor 2023-07-06

Mis on märksõnade väljavõtteline otsing?

Võtmesõnade väljavõtte abil eraldatakse tekstist automaatselt kõige rohkem kasutatud ja kõige olulisemad sõnad ja väljendid, kasutades tekstianalüüsi tehnikat. See aitab teha kokkuvõtteid tekstide sisust ja tunda ära peamised käsitletud teemad, mis on kasulik turu-uuringute , meeleolude analüüsi ja muud liiki andmeanalüüsi jaoks. See meetod kasutab lauseehitusi ja suudab analüüsida suuri andmekogumeid reaalajas.

Masinõppe tehisintellekt (AI) koos loomuliku keeletöötlusega (NLP) (arvutiteaduse valdkond) lagundab inimkeele nii, et masinad saaksid seda mõista ja analüüsida. Võtmesõnade väljavõttega automatiseeritakse töövooge, näiteks saabuvate küsitluste vastuste märgistamist või kiireloomulistele kliendipäringutele vastamist. Tehnika kasutab lingvistilist ja semantilist teavet tekstide ja neis sisalduvate sõnade kohta. Teksti kõige asjakohasemate märksõnade väljavõtmiseks on olemas erinevad masinõppe algoritmid ja tehnikad.

Miks on võtmesõnade väljavõtete tegemine oluline?

Võtmesõnade ja märksõnafraaside väljavõtte väljavõtte tegemine on oluline mitmel põhjusel:

  1. Otsingumootori optimeerimine (SEO) : Võtmesõnade väljavõtte aitab tuvastada dokumendis kõige olulisemad sõnad ja fraasid, mida saab kasutada veebisaidi sisu optimeerimiseks otsingumootorite jaoks.
  2. Teksti kokkuvõte: Võtmesõnade väljavõtte abil saab teha kokkuvõtte dokumendist, tuvastades kõige olulisemad sõnad ja fraasid, mis esindavad teksti põhiteemat.
  3. Teksti liigitus: Võtmesõnade väljavõtte abil saab tekstidokumente klassifitseerida erinevatesse kategooriatesse neis sisalduvate võtmesõnade alusel. See on kasulik sellistes rakendustes nagu sentimentaalanalüüs.
  4. Teabe otsimine: Võtmesõnade väljavõtte abil saab parandada teabeotsingusüsteemide täpsust, tuvastades asjakohaseid märksõnu, mis vastavad kasutaja otsingupäringule.

Kuidas teha võtmesõnade väljavõtteid R-is?

Siin on mõned võtmesõnade väljavõtte meetodid ja nende kasutusjuhud:

  • Leia märksõnad, tehes sõnade osade märgistamist, et tuvastada nimisõnu
  • Leia märksõnu kollokatsioonide ja koosesinemiste põhjal
  • Textranki algoritmi alusel märksõnade leidmine
  • RAKE (kiire automaatne märksõnade väljavõtte) alusel märksõnade leidmine
  • Võtmesõnade leidmine sõltuvuse analüüsi tulemuste põhjal (teksti teema leidmine)
võtmesõnade ekstraheerimine tekstist

Väljavõte nimisõnadest

Lihtne viis märksõnade leidmiseks on vaadata põhisõnu. Kuna igal terminil on sõnaliikide silt, kui te kommenteerite teksti udpipe paketi abil:

Kood:

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

Kollokatsioon ja koosesinemised

Saage mitme sõna väljendus, vaadeldes kas kollokatsioone (üksteisele järgnevaid sõnu), sõnade koosesinemisi igas lauses või üksteise naabruses lähedaste sõnade koosesinemisi.

Kood:

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 (sõnade võrgustik Google Pagerank järgi järjestatud)

Textrank on teine võtmesõnade väljavõtte meetod. R-pakett textrank rakendab Textranki algoritmi. Textranki algoritm võimaldab teksti kokkuvõtete tegemist ja märksõnade väljavõtmist. Sõnavõrgu konstrueerimiseks kontrollib algoritm, kas sõnad järgnevad üksteisele. Google’i Pagerank’i algoritm on asjakohaste sõnade väljavõtmine. Asjakohased sõnad, mis järgnevad üksteisele, kombineeruvad kokku, et saada märksõnu. TextRank ei lähtu originaaltekstist, kuna tegemist on graafipõhise lähenemisviisiga.

Kood:

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)

Kiire automaatne märksõnade väljavõtte: RAKE

RAKE on järgmine põhiline algoritm, mis on lühend sõnast Rapid Automatic Keyword Extraction. RAKE on valdkonnast sõltumatu märksõnade väljavõtte algoritm loomulikus keeletöötluses.

  1. Iga sõna kohta, mis on osa mis tahes kandidaatvõtmesõnast, arvutatakse punktisumma järgmiselt
    • märksõnakandidaatide seas vaatab algoritm, mitu korda iga sõna esineb ja mitu korda see esineb koos teiste sõnadega.
    • iga sõna saab skoori, mis on sõna astme (mitu korda esineb see koos teiste sõnadega) ja sõnade sageduse suhe.
  2. RAKE-skoor kogu märksõnakandidaadi jaoks arvutatakse, summeerides iga märksõnakandidaati määratleva sõna skoori.

Kood:

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

Kasutage sõltuvuse lahtimõtestamise väljundit, et saada nominaalsubjekt ja selle omadussõna

Kui täidate märkuse udpipe’i abil, näitab dep_rel väli, kuidas sõnad on omavahel seotud. Token on seotud vanemaga, kasutades token_id ja head_token_id . Dep_rel-väli näitab, kuidas sõnad omavahel seotud on. Suhete tüüp on aadressil http://universaldependencies.org/u/dep/index.html.

Kood:

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

Mis on tekstikaevandamine?

Tekstikaevandamine R-keeles tähendab tekstiandmete analüüsimist ja analüüsi, kasutades R-programmeerimiskeelt ning sellega seotud raamatukogusid ja pakette. Tekstikaevandamine hõlmab mitmeid etappe, sealhulgas andmete puhastamine ja eeltöötlus, tunnuste väljavõtmine, statistiline modelleerimine ja visualiseerimine.
Pakett tm pakub funktsioone tekstiandmete lugemiseks, andmete puhastamiseks ja eeltöötluseks ning dokumendi ja termini maatriksite loomiseks, mida tavaliselt kasutatakse tekstiandmete analüüsimiseks. Pakett tidytext pakub vahendeid tekstiandmete teisendamiseks korrastatud andmeraamideks.
Tekstikaevandamise mõned tavalised ülesanded on näiteks tunnetusanalüüs, teemade modelleerimine, dokumentide rühmitamine ja tekstide klassifitseerimine. Need ülesanded hõlmavad statistiliste ja masinõppe meetodite rakendamist, et tuvastada mustreid ja seoseid tekstis sisalduvates andmetes.

Võtmesõnade ekstraheerimise APId on tarkvaraliidesed, mis võimaldavad arendajatel tekstist võtmesõnu ja võtmeväljendeid ekstraheerida, kasutades eelnevalt loodud algoritme ja masinõppe mudeleid. Need APId pakuvad lihtsasti kasutatavat ja skaleeritavat lahendust võtmesõnade väljavõtte automatiseerimiseks, ilma et arendajad peaksid ise oma mudeleid koostama ja treenima.

R on avatud lähtekoodiga programmeerimiskeel ja tarkvarakeskkond statistiliste arvutuste, andmeanalüüsi ja graafika jaoks. Inimesed kasutavad R-i laialdaselt akadeemilistes asutustes, teadusuuringutes ja tööstuses selliste ülesannete jaoks nagu statistiline modelleerimine, andmete visualiseerimine, masinõpe ja andmekaevandamine. Sellel on liidesed teiste programmeerimiskeeltega, nagu Python ja C++ . Üksikasjalikumat teavet leiate veebiõpikutega GitHubist.

Jaga postitust

AI Kirjanik

img

Eskritor

Loodud AI sisu loomine