Jak extrahovat klíčová slova z textu v R?

Obrázek ilustrující rozhraní R se zvýrazněným úryvkem kódu používaným pro extrakci klíčových slov z textu.
Obrázek ilustrující rozhraní R se zvýrazněným úryvkem kódu používaným pro extrakci klíčových slov z textu.

Eskritor 2023-07-06

Co je extrakce klíčových slov?

Extrakce klíčových slov automaticky extrahuje nejpoužívanější a nejdůležitější slova a výrazy z textu pomocí techniky analýzy textu. Pomáhá shrnout obsah textů a rozpoznat hlavní diskutovaná témata, což je užitečné pro průzkum trhu , analýzu nálad a další typy analýzy dat. Tato technika využívá vkládání vět a dokáže analyzovat velké soubory dat v reálném čase.

Strojové učení umělé inteligence (AI) se zpracováním přirozeného jazyka (NLP) (obor počítačových věd) rozkládá lidský jazyk tak, aby mu stroje mohly porozumět a analyzovat jej. Extrakce klíčových slov automatizuje pracovní postupy, jako je označování příchozích odpovědí na průzkumy nebo odpovídání na naléhavé dotazy zákazníků. Tato technika využívá lingvistické a sémantické informace o textech a slovech, která obsahují. Existují různé algoritmy a techniky strojového učení, které umožňují extrahovat nejrelevantnější klíčová slova v textu.

Proč je extrakce klíčových slov důležitá?

Extrakce klíčových slov a klíčových frází je důležitá z několika důvodů:

  1. Optimalizace pro vyhledávače (SEO ): Extrakce klíčových slov pomáhá identifikovat nejdůležitější slova a fráze v dokumentu, které lze použít k optimalizaci obsahu webových stránek pro vyhledávače.
  2. Shrnutí textu: Extrakce klíčových slov může být použita k shrnutí dokumentu identifikací nejdůležitějších slov a frází, které představují hlavní téma textu.
  3. Klasifikace textu: Extrakci klíčových slov lze použít ke klasifikaci textových dokumentů do různých kategorií na základě klíčových slov, která obsahují. To je užitečné v aplikacích, jako je analýza sentimentu.
  4. Vyhledávání informací: Extrakce klíčových slov může být použita ke zlepšení přesnosti systémů vyhledávání informací tím, že identifikuje relevantní klíčová slova, která odpovídají vyhledávacímu dotazu uživatele.

Jak provést extrakci klíčových slov v R?

Zde jsou uvedeny některé techniky extrakce klíčových slov a případy jejich použití:

  • Vyhledávání klíčových slov pomocí označování částí řeči s cílem identifikovat podstatná jména.
  • Vyhledávání klíčových slov na základě kolokací a ko-výskytů
  • Vyhledávání klíčových slov na základě algoritmu Textrank
  • Vyhledávání klíčových slov na základě RAKE (rychlá automatická extrakce klíčových slov)
  • Vyhledání klíčových slov na základě výsledků analýzy závislostí (získání předmětu textu).
extrakce klíčových slov z textu

Extrakce podstatných jmen

Jednoduchým způsobem, jak najít klíčová slova, je podívat se na podstatná jména. Pokud jste text anotovali pomocí balíčku udpipe, má každý výraz 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")

Kolokace a souvýskyty

Získejte víceslovný výraz buď pomocí kolokací (slov následujících po sobě), nebo pomocí souvýskytu slov v rámci každé věty, nebo pomocí souvýskytu slov, která jsou si blízká.

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 (síť slov seřazená podle Google Pagerank)

Textrank je další metoda extrakce klíčových slov. Balíček textrank R implementuje algoritmus Textrank. Algoritmus Textrank umožňuje shrnutí textu a extrakci klíčových slov. Při konstrukci sítě slov algoritmus kontroluje, zda slova následují za sebou. Algoritmus „Google Pagerank“ extrahuje relevantní slova. Relevantní slova, která po sobě následují, se spojují v klíčová slova. TextRank nevychází z původního textu, protože se jedná o přístup založený na grafu.

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)

Rychlá automatická extrakce klíčových slov: RAKE

Dalším základním algoritmem je RAKE, což je zkratka pro Rapid Automatic Keyword Extraction. RAKE je doménově nezávislý algoritmus pro extrakci klíčových slov při zpracování přirozeného jazyka.

  1. Výpočet skóre pro každé slovo, které je součástí jakéhokoli klíčového slova, se provádí pomocí následujících postupů.
    • mezi slovy kandidátních klíčových slov se algoritmus dívá na to, kolikrát se jednotlivá slova vyskytují a kolikrát se vyskytují společně s jinými slovy.
    • každé slovo získá skóre, které je poměrem stupně slova (kolikrát se vyskytuje společně s jinými slovy) a frekvence slova.
  2. Skóre RAKE pro celé kandidátní klíčové slovo se vypočítá součtem skóre jednotlivých slov, která definují kandidátní klíč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)) 

Pomocí výstupu analýzy závislostí získáte jmenný podmět a jeho přídavné jméno

Když jste provedli anotaci pomocí udpipe, pole dep_rel udává, jak spolu slova souvisejí. Token je spojen s nadřazeným tokenem pomocí token_id a head_token_id . Pole dep_rel udává, jak spolu slova souvisejí. Typ vztahů je na adrese 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"))

Co je to Text-Mining?

Text mining v jazyce R označuje proces analýzy a získávání poznatků z textových dat pomocí programovacího jazyka R a souvisejících knihoven a balíčků. Vytěžování textu zahrnuje několik kroků, včetně čištění a předzpracování dat, extrakce příznaků, statistického modelování a vizualizace.
Balík tm poskytuje funkce pro čtení textových dat, čištění a předzpracování dat a vytváření matic dokumentů a termínů, které se běžně používají při analýze textových dat. Balíček tidytext poskytuje nástroje pro převod textových dat do úhledných datových rámců.
Mezi běžné úlohy v oblasti vytěžování textu patří analýza sentimentu, modelování témat, shlukování dokumentů a klasifikace textu. Tyto úlohy zahrnují použití statistických technik a technik strojového učení k identifikaci vzorů a vztahů v textových datech.

API pro extrakci klíčových slov jsou softwarová rozhraní, která umožňují vývojářům extrahovat klíčová slova a klíčové fráze z textu pomocí předem vytvořených algoritmů a modelů strojového učení. Tato rozhraní API poskytují snadno použitelné a škálovatelné řešení pro automatizaci procesu extrakce klíčových slov, aniž by vývojáři museli vytvářet a trénovat vlastní modely.

R je otevřený programovací jazyk a softwarové prostředí pro statistické výpočty, analýzu dat a grafiku. Jazyk R se hojně používá na akademické půdě, ve výzkumu i v průmyslu pro úlohy, jako je statistické modelování, vizualizace dat, strojové učení a dolování dat. Má rozhraní s dalšími programovými jazyky, jako je Python a C++ . Podrobnější informace s online výukovými programy najdete na GitHubu.

Sdílet příspěvek

AI spisovatel

img

Eskritor

Vytvářejte AI generovaný obsah