Cum se extrag cuvintele cheie din text în R?

O imagine care ilustrează interfața R cu un fragment de cod evidențiat utilizat pentru extragerea cuvintelor cheie din text.
O imagine care ilustrează interfața R cu un fragment de cod evidențiat utilizat pentru extragerea cuvintelor cheie din text.

Eskritor 2023-07-06

Ce este extracția de cuvinte cheie?

Extracția cuvintelor cheie extrage în mod automat cele mai utilizate și cele mai importante cuvinte și expresii dintr-un text, folosind o tehnică de analiză a textului. Ajută la rezumarea conținutului textelor și la recunoașterea principalelor subiecte discutate, ceea ce este util pentru cercetarea de piață , analiza sentimentelor și alte tipuri de analiză a datelor. Această tehnică se bazează pe încorporarea frazelor și poate analiza seturi mari de date în timp real.

Inteligența artificială (AI) cu învățare automată și procesarea limbajului natural (NLP) (un domeniu al științelor informatice) descompune limbajul uman astfel încât mașinile să îl poată înțelege și analiza. Extracția de cuvinte cheie automatizează fluxurile de lucru, cum ar fi etichetarea răspunsurilor primite la sondaje sau răspunsul la întrebările urgente ale clienților. Tehnica utilizează informații lingvistice și semantice despre texte și cuvintele pe care le conțin. Există diferiți algoritmi și tehnici de învățare automată pentru a extrage cele mai relevante cuvinte cheie dintr-un text.

De ce este importantă extragerea cuvintelor cheie?

Extragerea cuvintelor cheie și a frazelor cheie este importantă din mai multe motive:

  1. Optimizarea motoarelor de căutare (SEO) : Extragerea cuvintelor cheie ajută la identificarea celor mai importante cuvinte și fraze dintr-un document, care pot fi folosite pentru a optimiza conținutul site-ului web pentru motoarele de căutare.
  2. Rezumatul textului: Extragerea cuvintelor cheie poate fi utilizată pentru a rezuma un document prin identificarea celor mai importante cuvinte și fraze care reprezintă tema principală a textului.
  3. Clasificarea textului: Extragerea cuvintelor cheie poate fi utilizată pentru a clasifica documentele text în diferite categorii pe baza cuvintelor cheie pe care le conțin. Acest lucru este util în aplicații cum ar fi analiza sentimentelor.
  4. Regăsirea informațiilor: Extracția cuvintelor cheie poate fi utilizată pentru a îmbunătăți acuratețea sistemelor de regăsire a informațiilor prin identificarea cuvintelor cheie relevante care corespund interogației de căutare a unui utilizator.

Cum se face extragerea cuvintelor cheie în R?

Iată câteva tehnici de extragere a cuvintelor cheie și cazurile de utilizare a acestora:

  • Găsiți cuvinte cheie prin etichetarea părților de vorbire pentru a identifica substantive.
  • Găsiți cuvinte cheie pe baza colocărilor și a co-ocurențelor
  • Găsiți cuvinte cheie pe baza algoritmului Textrank
  • Găsiți cuvinte cheie pe baza RAKE (extracție automată rapidă a cuvintelor cheie)
  • Găsirea cuvintelor cheie pe baza rezultatelor analizei dependențelor (obținerea subiectului textului)
extragerea cuvintelor cheie din text

Extragerea substantivelor

O modalitate ușoară de a găsi cuvinte-cheie este să vă uitați la substantive. Deoarece fiecare termen are o etichetă „Parts of Speech” dacă ați adnotat textul folosind pachetul udpipe:

Cod:

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

Colocare și co-ocurențe

Obțineți expresii cu mai multe cuvinte, fie că vă uitați la colocații (cuvinte care se urmează unul după altul), fie că vă uitați la co-ocurențele de cuvinte în cadrul fiecărei propoziții, fie că vă uitați la co-ocurențele de cuvinte care sunt apropiate unul de celălalt.

Cod:

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 (rețea de cuvinte ordonată după Google Pagerank)

Textrank este o altă metodă de extragere a cuvintelor cheie. Pachetul textrank R implementează algoritmul Textrank. Algoritmul Textrank permite rezumarea textului și extragerea cuvintelor cheie. Pentru a construi o rețea de cuvinte, algoritmul verifică dacă cuvintele se succed unul după altul. Algoritmul „Google Pagerank” extrage cuvintele relevante. Cuvintele relevante care se succed unele după altele se combină împreună pentru a obține cuvinte-cheie. TextRank nu provine din textul original, deoarece este o abordare bazată pe grafuri.

Cod:

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)

Extracția automată rapidă a cuvintelor cheie: RAKE

RAKE este următorul algoritm de bază, acronim pentru Rapid Automatic Keyword Extraction (Extracție automată rapidă a cuvintelor cheie). RAKE este un algoritm de extragere a cuvintelor cheie independent de domeniu în procesarea limbajului natural.

  1. Calcularea unui scor pentru fiecare cuvânt care face parte din orice cuvânt cheie candidat se face astfel
    • printre cuvintele cuvintelor din cuvintele-cheie candidate, algoritmul analizează de câte ori apare fiecare cuvânt și de câte ori se întâlnește cu alte cuvinte.
    • fiecărui cuvânt i se atribuie un scor care reprezintă raportul dintre gradul cuvântului (de câte ori se întâlnește cu alte cuvinte) și frecvența acestuia.
  2. Un scor RAKE pentru întregul cuvânt cheie candidat se calculează prin însumarea scorurilor fiecărui cuvânt care definește cuvântul cheie candidat.

Cod:

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

Utilizați rezultatul analizei de dependență pentru a obține subiectul nominal și adjectivul acestuia

Atunci când ați executat adnotarea cu ajutorul udpipe, câmpul dep_rel indică modul în care cuvintele sunt legate între ele. Un token este legat de părintele său cu ajutorul token_id și head_token_id . Câmpul dep_rel indică modul în care cuvintele se leagă între ele. Tipul de relații se află la http://universaldependencies.org/u/dep/index.html.

Cod:

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

Ce este Text-Mining?

Extragerea de text în R se referă la procesul de analiză și de extragere a informațiilor din datele de text cu ajutorul limbajului de programare R și a bibliotecilor și pachetelor asociate. Mineritul de text implică mai multe etape, inclusiv curățarea și preprocesarea datelor, extragerea caracteristicilor, modelarea statistică și vizualizarea.
Pachetul tm oferă funcții de citire a datelor text, de curățare și preprocesare a datelor și de creare a matricelor document-termen, care sunt utilizate în mod obișnuit pentru analiza datelor text. Pachetul tidytext oferă instrumente pentru convertirea datelor text în cadre de date ordonate.
Unele sarcini comune în domeniul mineritului de text includ analiza sentimentelor, modelarea subiectelor, gruparea documentelor și clasificarea textelor. Aceste sarcini presupun aplicarea de tehnici statistice și de învățare automată pentru a identifica modele și relații în cadrul datelor textuale.

API-urile de extragere a cuvintelor cheie sunt interfețe software care permit dezvoltatorilor să extragă cuvinte cheie și fraze cheie din text folosind algoritmi și modele de învățare automată predefinite. Aceste API-uri oferă o soluție ușor de utilizat și scalabilă pentru automatizarea procesului de extragere a cuvintelor cheie, fără ca dezvoltatorii să fie nevoiți să construiască și să își antreneze propriile modele.

R este un limbaj de programare open-source și un mediu software pentru calcul statistic, analiză de date și grafică. R este utilizat pe scară largă în mediul academic, în cercetare și în industrie pentru sarcini precum modelarea statistică, vizualizarea datelor, învățarea automată și extragerea datelor. Are interfețe cu alte limbaje de programare, cum ar fi Python și C++ . Găsiți mai multe informații detaliate în tutoriale online pe GitHub.

Distribuie postarea

AI Scriitor

img

Eskritor

Crearea conținutului generat AI