Ako extrahovať kľúčové slová z textu v R?

Obrázok ilustrujúci rozhranie R so zvýrazneným úryvkom kódu, ktorý sa používa na extrakciu kľúčových slov z textu.

Čo je extrakcia kľúčových slov?

Extrakcia kľúčových slov automaticky extrahuje najpoužívanejšie a najdôležitejšie slová a výrazy z textu pomocou techniky analýzy textu. Pomáha zhrnúť obsah textov a rozpoznať hlavné diskutované témy, čo je užitočné pri prieskume trhu, analýze nálad a iných typoch analýzy údajov. Táto technika využíva vkladanie viet a dokáže analyzovať veľké súbory údajov v reálnom čase.

Strojové učenie umelej inteligencie (AI) so spracovaním prirodzeného jazyka (NLP) (oblasť počítačových vied) rozkladá ľudský jazyk tak, aby ho stroje mohli pochopiť a analyzovať. Extrakcia kľúčových slov automatizuje pracovné postupy, ako je označovanie prichádzajúcich odpovedí na prieskumy alebo odpovedanie na naliehavé otázky zákazníkov. Táto technika využíva jazykové a sémantické informácie o textoch a slovách, ktoré obsahujú. Existujú rôzne algoritmy a techniky strojového učenia na extrakciu najrelevantnejších kľúčových slov v texte.

Prečo je extrakcia kľúčových slov dôležitá?

Extrakcia kľúčových slov a kľúčových fráz je dôležitá z niekoľkých dôvodov:

  1. Optimalizácia pre vyhľadávače (SEO): Extrakcia kľúčových slov pomáha identifikovať najdôležitejšie slová a frázy v dokumente, ktoré možno použiť na optimalizáciu obsahu webovej stránky pre vyhľadávače.
  2. Sumarizácia textu: Extrakcia kľúčových slov sa môže použiť na zhrnutie dokumentu identifikovaním najdôležitejších slov a fráz, ktoré predstavujú hlavnú tému textu.
  3. Klasifikácia textu: Extrakcia kľúčových slov sa môže použiť na klasifikáciu textových dokumentov do rôznych kategórií na základe kľúčových slov, ktoré obsahujú. To je užitočné v aplikáciách, ako je napríklad analýza nálad.
  4. Vyhľadávanie informácií: Extrakcia kľúčových slov sa môže použiť na zlepšenie presnosti systémov vyhľadávania informácií identifikáciou relevantných kľúčových slov, ktoré zodpovedajú vyhľadávacej požiadavke používateľa.

Ako vykonať extrakciu kľúčových slov v jazyku R?

Tu sú uvedené niektoré techniky extrakcie kľúčových slov a prípady ich použitia:

  • Vyhľadávanie kľúčových slov pomocou označovania častí reči s cieľom identifikovať podstatné mená
  • Vyhľadávanie kľúčových slov na základe kolokácií a výskytov
  • Vyhľadávanie kľúčových slov na základe algoritmu Textrank
  • Vyhľadávanie kľúčových slov na základe RAKE (rýchla automatická extrakcia kľúčových slov)
  • Vyhľadanie kľúčových slov na základe výsledkov analýzy závislostí (získanie predmetu textu)
extrahovanie kľúčových slov z textu

Extrahovanie podstatných mien

Jednoduchým spôsobom, ako nájsť kľúčové slová, je pozrieť sa na podstatné mená. Ak ste text anotovali pomocou balíka udpipe, každý výraz má značku Parts of Speech:

Kód:

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ácie a spoločné výskyty

Viacslovné vyjadrenie získate tak, že sa pozriete buď na kolokácie (slová nasledujúce po sebe), na spoločné výskyty slov v rámci každej vety, alebo na spoločné výskyty slov, ktoré sa nachádzajú v tesnom susedstve.

Kód:

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 (sieť slov zoradená podľa Google Pagerank)

Textrank je ďalšia metóda extrakcie kľúčových slov. Balík textrank R implementuje algoritmus Textrank. Algoritmus Textrank umožňuje sumarizáciu textu a extrakciu kľúčových slov. Pri vytváraní siete slov algoritmus kontroluje, či slová nasledujú za sebou. Algoritmus „Google Pagerank“ extrahuje relevantné slová. Relevantné slová, ktoré nasledujú za sebou, sa spájajú do kľúčových slov. TextRank nevychádza z pôvodného textu, pretože ide o prístup založený na grafoch.

Kód:

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)

Rýchla automatická extrakcia kľúčových slov: RAKE

RAKE je ďalší základný algoritmus, ktorý je skratkou pre Rapid Automatic Keyword Extraction (rýchla automatická extrakcia kľúčových slov). RAKE je doménovo nezávislý algoritmus na extrakciu kľúčových slov pri spracovaní prirodzeného jazyka.

  1. Výpočet skóre pre každé slovo, ktoré je súčasťou niektorého z kandidátskych kľúčových slov, sa vykonáva
    • medzi slovami kandidátskych kľúčových slov sa algoritmus pozerá na to, koľkokrát sa jednotlivé slová vyskytujú a koľkokrát sa vyskytujú spoločne s inými slovami
    • každé slovo dostane skóre, ktoré je pomerom stupňa slova (koľkokrát sa vyskytuje spolu s inými slovami) k frekvencii slova
  2. Skóre RAKE pre celé kandidátske kľúčové slovo sa vypočíta súčtom skóre jednotlivých slov, ktoré definujú kandidátske kľúčové slovo

Kód:

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

Pomocou výstupu rozboru závislostí získate menný predmet a jeho prídavné meno

Keď ste anotáciu vykonali pomocou udpipe, pole dep_rel označuje, ako sú slová navzájom prepojené. Token je prepojený s nadradeným tokenom pomocou token_id a head_token_id. Pole dep_rel označuje, ako sa slová navzájom spájajú. Typ vzťahov je na stránke http://universaldependencies.org/u/dep/index.html.

Kód:

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

Čo je to Text-Mining?

Text mining v jazyku R sa vzťahuje na proces analýzy a získavania poznatkov z textových údajov pomocou programovacieho jazyka R a súvisiacich knižníc a balíkov. Dolovanie textu zahŕňa niekoľko krokov vrátane čistenia a predbežného spracovania údajov, extrakcie príznakov, štatistického modelovania a vizualizácie.
Balík tm poskytuje funkcie na čítanie textových údajov, čistenie a predbežné spracovanie údajov a vytváranie matíc dokumentov a termínov, ktoré sa bežne používajú na analýzu textových údajov. Balík tidytext poskytuje nástroje na konverziu textových údajov do prehľadných dátových rámcov.
Medzi bežné úlohy v oblasti dolovania textu patrí analýza nálad, modelovanie tém, zhlukovanie dokumentov a klasifikácia textu. Tieto úlohy zahŕňajú použitie štatistických techník a techník strojového učenia na identifikáciu vzorov a vzťahov v textových údajoch.

Čo sú API na extrakciu kľúčových slov?

Rozhrania API na extrakciu kľúčových slov sú softvérové rozhrania, ktoré umožňujú vývojárom extrahovať kľúčové slová a kľúčové frázy z textu pomocou vopred vytvorených algoritmov a modelov strojového učenia. Tieto rozhrania API poskytujú ľahko použiteľné a škálovateľné riešenie na automatizáciu procesu extrakcie kľúčových slov bez toho, aby vývojári museli vytvárať a trénovať vlastné modely.

Čo je R?

R je otvorený programovací jazyk a softvérové prostredie na štatistické výpočty, analýzu údajov a grafiku. R sa vo veľkej miere používa na akademickej pôde, vo výskume a v priemysle na úlohy, ako je štatistické modelovanie, vizualizácia dát, strojové učenie a dolovanie dát. Má rozhrania s inými programovacími jazykmi, ako sú Python a C++. Podrobnejšie informácie nájdete v online tutoriáloch na GitHub.

Často kladené otázky

Čo je CSV?

CSV znamená „hodnoty oddelené čiarkou“. Je to formát súboru, ktorý ukladá a vymieňa si údaje v textovom formáte, kde každý riadok predstavuje záznam a každý stĺpec predstavuje pole alebo atribút záznamu. V prvom riadku súboru CSV sú zvyčajne uložené hlavičky stĺpcov, ktoré poskytujú označenie pre každé pole v súbore údajov.

Čo je TF-IDF?

TF-IDF je skratka pre „Term Frequency-Inverse Document Frequency“ (frekvencia termov a inverzná frekvencia dokumentov). Je to číselná štatistika, ktorá odráža dôležitosť termínu v korpuse dokumentov. TF-IDF sa bežne používa v aplikáciách na dolovanie textu, vyhľadávanie informácií a spracovanie prirodzeného jazyka.

Čo sú to stopslova?

Stop-slová sú bežné slová, ktoré sa v úlohách spracovania prirodzeného jazyka (NLP) vylučujú, pretože pri analýze textu majú malý význam alebo dôležitosť. Príkladmi stopslov sú „the“, „and“, „of“, „to“, „in“, „a“, „an“, „is“ a „for“.

Zdieľať príspevok:

Najmodernejšia A.I.

Začnite s Eskritorom teraz!

Súvisiace články

Obrázok počítačovej obrazovky zobrazujúci konverzáciu s GPT-3, prekrytý diagramami znázorňujúcimi kroky spracovania jazyka umelou inteligenciou
Eskritor

Ako GPT-3 funguje?

Nižšie uvedené kroky vysvetľujú, ako GPT-3 funguje pri generovaní odpovedí: Prečo je GPT-3 užitočný? Tu je zoznam dôvodov, prečo je GPT-3 užitočný: Aká je história GPT-3? Vývoj GPT-3 je opakujúci

Vizuálny graf zobrazujúci údaje týkajúce sa vplyvu umelej inteligencie na trh práce pre autorov obsahu
Eskritor

Nahradí umelá inteligencia tvorcov obsahu?

Áno, autori s umelou inteligenciou môžu nahradiť niektorých autorov, ale nikdy nemôžu nahradiť dobrých autorov. Nahradí určité typy pracovných miest. Generátory obsahu s umelou inteligenciou môžu vytvárať základný obsah, ktorý

Vizuálne znázornenie architektúry ChatGPT s modelom transformátora, ktorý umožňuje porozumenie jazyku a jeho generovanie
Eskritor

Ako funguje ChatGPT?

Na vysokej úrovni je ChatGPT model hlbokého učenia, ktorý používa neurónovú sieť na generovanie textu podobného ľudskému. Konkrétna verzia modelu ChatGPT-3 je založená na technike nazývanej transformátorová architektúra. Tento typ