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.

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.

Co jsou API pro extrakci klíčových slov?

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.

Co je to R?

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.

Často kladené otázky

Co je CSV?

CSV je zkratka pro „Comma-Separated Values“ (hodnoty oddělené čárkou). Jedná se o formát souboru, který ukládá a vyměňuje data ve formátu prostého textu, kde každý řádek představuje záznam a každý sloupec představuje pole nebo atribut záznamu. V prvním řádku souboru CSV jsou obvykle uložena záhlaví sloupců, která poskytují označení pro každé pole v souboru dat.

Co je TF-IDF?

TF-IDF je zkratka pro „Term Frequency-Inverse Document Frequency“. Jedná se o číselnou statistiku, která odráží důležitost termínu v korpusu dokumentů. TF-IDF se běžně používá v aplikacích pro dolování textu, vyhledávání informací a zpracování přirozeného jazyka.

Co jsou stopslova?

Stop-slova jsou běžná slova, která se v úlohách zpracování přirozeného jazyka (NLP) vylučují, protože při analýze textu mají malý význam nebo důležitost. Příklady stop-slov jsou „the“, „and“, „of“, „to“, „in“, „a“, „an“, „is“ a „for“.

Sdílet příspěvek:

Nejmodernější technologie A.I.

Začněte s Eskritorem hned teď!

Související články

Obrázek počítačové obrazovky zobrazující konverzaci s GPT-3, překrytý diagramy znázorňujícími kroky zpracování jazyka umělou inteligencí.
Eskritor

Jak GPT-3 funguje?

V následujících krocích je vysvětleno, jak GPT-3 pracuje při generování odpovědí: Proč je GPT-3 užitečný? Zde je seznam důvodů, proč je GPT-3 užitečný: Jaká je historie GPT-3? Vývoj systému GPT-3

Vizuální graf zobrazující údaje týkající se vlivu umělé inteligence na trh práce pro autory obsahu
Eskritor

Nahradí umělá inteligence autory obsahu?

Ano, spisovatelé s umělou inteligencí mohou nahradit některé spisovatele, ale nikdy nemohou nahradit dobré spisovatele. Nahradí určité typy pracovních míst. Generátory obsahu s umělou inteligencí mohou vytvářet základní obsah, který

Vizuální znázornění architektury ChatGPT s modelem transformátoru, který umožňuje porozumění jazyku a jeho generování.
Eskritor

Jak ChatGPT funguje?

ChatGPT je na vysoké úrovni model hlubokého učení, který používá neuronovou síť ke generování textu podobného lidskému. Konkrétní verze modelu ChatGPT-3 je založena na technice zvané transformátorová architektura. Tento typ