Kā iegūt atslēgvārdus no teksta R?

Attēls, kas ilustrē R saskarni ar izceltu koda fragmentu, kas izmantots atslēgvārdu ieguvei no teksta.
Attēls, kas ilustrē R saskarni ar izceltu koda fragmentu, kas izmantots atslēgvārdu ieguvei no teksta.

Eskritor 2023-07-06

Kas ir atslēgvārdu ieguve?

Atslēgvārdu ieguve automātiski iegūst no teksta visbiežāk lietotos un svarīgākos vārdus un izteicienus, izmantojot teksta analīzes metodi. Tas palīdz apkopot tekstu saturu un atpazīt galvenās apspriestās tēmas, kas ir noderīgi tirgus izpētei, noskaņojuma analīzei un cita veida datu analīzei. Šis paņēmiens izmanto teikumu iestrādes un var analizēt lielas datu kopas reāllaikā.

Mašīnmācīšanās mākslīgais intelekts (AI) ar dabiskās valodas apstrādi (NLP) (datorzinātņu joma) izsaka cilvēka valodu tā, lai mašīnas varētu to saprast un analizēt. Atslēgvārdu ieguve automatizē darba plūsmas, piemēram, ienākošo aptaujas atbilžu marķēšanu vai atbildēšanu uz steidzamiem klientu pieprasījumiem. Šī metode izmanto lingvistisko un semantisko informāciju par tekstiem un tajos ietvertajiem vārdiem. Pastāv dažādi mašīnmācīšanās algoritmi un metodes, lai tekstā atlasītu būtiskākos atslēgvārdus.

Kāpēc ir svarīga atslēgvārdu ieguve?

Atslēgvārdu un atslēgfrāžu ieguve ir svarīga vairāku iemeslu dēļ:

  1. Optimizācija meklētājprogrammām (SEO) : Atslēgvārdu ieguve palīdz noteikt svarīgākos vārdus un frāzes dokumentā, ko var izmantot, lai optimizētu vietnes saturu meklētājprogrammām.
  2. Teksta kopsavilkums: Atslēgvārdu ieguvi var izmantot, lai apkopotu dokumentu, identificējot svarīgākos vārdus un frāzes, kas atspoguļo teksta galveno tēmu.
  3. Teksta klasifikācija: Atslēgvārdu ieguvi var izmantot, lai klasificētu teksta dokumentus dažādās kategorijās, pamatojoties uz tajos ietvertajiem atslēgvārdiem. Tas ir noderīgi tādās lietojumprogrammās kā noskaņojuma analīze.
  4. Informācijas meklēšana: Atslēgvārdu ieguvi var izmantot, lai uzlabotu informācijas meklēšanas sistēmu precizitāti, identificējot atbilstošus atslēgvārdus, kas atbilst lietotāja meklēšanas vaicājumam.

Kā veikt atslēgvārdu ieguvi R?

Šeit ir aprakstīti daži atslēgvārdu ieguves paņēmieni un to izmantošanas gadījumi:

  • Atrast atslēgvārdus, veicot runas daļu marķēšanu, lai identificētu lietvārdus.
  • Atrodiet atslēgvārdus, pamatojoties uz kolokācijām un līdzās sastopamībām
  • Atrodiet atslēgvārdus, pamatojoties uz Textrank algoritmu
  • Atrodiet atslēgvārdus, pamatojoties uz RAKE (ātrās automātiskās atslēgvārdu ekstrakcijas metodi).
  • Atrast atslēgvārdus, pamatojoties uz atkarību analīzes rezultātiem (teksta temata iegūšana).
atslēgvārdu iegūšana no teksta

Lietvārdu iegūšana

Vienkāršs veids, kā atrast atslēgvārdus, ir apskatīt lietvārdus. Ja anotējat tekstu, izmantojot udpipe pakotni, katram terminam ir runas daļu birka:

Kods:

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

Kolokācija un līdzāspastāvēšana

Iegūstiet vairāku vārdu izteiksmi, aplūkojot kolokacijas (vārdus, kas seko viens otram), vārdu līdzskanības katrā teikumā vai vārdu līdzskanības, kas atrodas tuvu viens otram.

Kods:

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 (vārdu tīkls, kas sakārtots pēc Google Pagerank)

Textrank ir vēl viena atslēgvārdu ieguves metode. Textrank R pakotne īsteno Textrank algoritmu. Textrank algoritms ļauj veikt teksta kopsavilkumu un atslēgvārdu ieguvi. Lai izveidotu vārdu tīklu, algoritms pārbauda, vai vārdi seko cits citam. “Google Pagerank” algoritms atlasa atbilstošos vārdus. Atbilstoši vārdi, kas seko viens otram, tiek apvienoti kopā, veidojot atslēgvārdus. TextRank neizriet no oriģinālā teksta, jo tā ir uz grafiem balstīta pieeja.

Kods:

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)

Ātra automātiskā atslēgvārdu ieguve: RAKE

RAKE ir nākamais pamata algoritms, kas ir akronīms Rapid Automatic Keyword Extraction (Ātrā automātiskā atslēgvārdu ieguve). RAKE ir no domēna neatkarīgs atslēgvārdu ieguves algoritms dabiskās valodas apstrādē.

  1. Aprēķinot punktu skaitu katram vārdam, kas ir daļa no jebkura kandidāta atslēgvārda, tiek veikts šādi.
    • starp kandidātu atslēgvārdu vārdiem algoritms aplūko, cik reizes katrs vārds sastopams un cik reizes tas sastopas kopā ar citiem vārdiem.
    • katram vārdam tiek piešķirts vērtējums, kas ir vārda pakāpes (cik reizes tas sastopas kopā ar citiem vārdiem) un vārda biežuma attiecība.
  2. RAKE vērtējumu pilnam kandidātvārdam aprēķina, summējot katra vārda, kas definē kandidātvārdu, vērtējumus.

Kods:

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

Izmantojiet atkarību analīzes rezultātus, lai iegūtu nominālo priekšmetu un tā īpašības vārdu.

Kad anotāciju izpildījāt, izmantojot udpipe, laukā dep_rel ir norādīts, kā vārdi ir savstarpēji saistīti. Žetons ir saistīts ar vecāku, izmantojot token_id un head_token_id . Laukā dep_rel ir norādīts, kā vārdi ir savstarpēji saistīti. Attiecību veids ir atrodams vietnē http://universaldependencies.org/u/dep/index.html.

Kods:

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

Kas ir teksta analīze?

Teksta ieguve R valodā ir process, kurā analizē un iegūst ieskatu no teksta datiem, izmantojot R programmēšanas valodu un ar to saistītās bibliotēkas un paketes. Teksta ieguve ietver vairākus posmus, tostarp datu attīrīšanu un pirmapstrādi, pazīmju ieguvi, statistisko modelēšanu un vizualizāciju.
Pakete tm nodrošina funkcijas teksta datu nolasīšanai, datu attīrīšanai un pirmapstrādei, kā arī dokumentu un terminu matricu izveidei, ko parasti izmanto teksta datu analīzei. Pakete tidytext nodrošina rīkus teksta datu pārvēršanai sakārtotos datu rāmjos.
Daži izplatītākie teksta ieguves uzdevumi ir noskaņojuma analīze, tēmu modelēšana, dokumentu grupēšana un teksta klasifikācija. Šie uzdevumi ietver statistikas un mašīnmācīšanās metožu izmantošanu, lai teksta datos noteiktu modeļus un sakarības.

Atslēgvārdu ieguves API ir programmatūras saskarnes, kas ļauj izstrādātājiem iegūt atslēgvārdus un atslēgfrāzes no teksta, izmantojot iepriekš izstrādātus algoritmus un mašīnmācīšanās modeļus. Šīs API nodrošina viegli lietojamu un mērogojamu risinājumu atslēgvārdu ieguves procesa automatizēšanai, lai izstrādātājiem nevajadzētu veidot un apmācīt savus modeļus.

R ir atvērtā koda programmēšanas valoda un programmatūras vide statistikas skaitļošanai, datu analīzei un grafikai. R tiek plaši izmantots akadēmiskajās aprindās, pētniecībā un rūpniecībā tādiem uzdevumiem kā statistiskā modelēšana, datu vizualizēšana, mašīnmācīšanās un datu ieguve. Tai ir saskarnes ar citām programmēšanas valodām, piemēram, Python un C++ . GitHub vietnē atrodiet sīkāku informāciju, izmantojot tiešsaistes pamācības.

Kopīgot ziņu

AI Rakstnieks

img

Eskritor

Izveidojiet AI ģenerētu saturu