Jak wyodrębnić słowa kluczowe z tekstu w R?

Obraz ilustrujący interfejs R z podświetlonym fragmentem kodu używanym do wyodrębniania słów kluczowych z tekstu.

Czym jest ekstrakcja słów kluczowych?

Ekstrakcja słów kluczowych automatycznie wydobywa z tekstu najczęściej używane i najważniejsze słowa i wyrażenia, wykorzystując technikę analizy tekstu. Pomaga podsumować treść tekstów i rozpoznać główne omawiane tematy, co jest pomocne w badaniach rynku, analizie nastrojów i innych rodzajach analizy danych. Technika ta wykorzystuje embeddingi zdań i może analizować duże zbiory danych w czasie rzeczywistym.

Uczenie maszynowe sztuczna inteligencja (AI) z przetwarzaniem języka naturalnego (NLP) (dziedzina nauk komputerowych) rozkłada ludzki język tak, aby maszyny mogły go zrozumieć i przeanalizować. Ekstrakcja słów kluczowych automatyzuje przepływy pracy, takie jak oznaczanie przychodzących odpowiedzi na ankiety lub odpowiadanie na pilne zapytania klientów. Technika ta wykorzystuje lingwistyczne i semantyczne informacje o tekstach i zawartych w nich słowach. Istnieją różne algorytmy i techniki uczenia maszynowego, aby wyodrębnić najbardziej istotne słowa kluczowe w tekście.

Dlaczego wydobywanie słów kluczowych jest ważne?

Ekstrakcja słów kluczowych i fraz kluczowych jest ważna z kilku powodów:

  1. Optymalizacja dla wyszukiwarek (SEO): Ekstrakcja słów kluczowych pomaga zidentyfikować najważniejsze słowa i frazy w dokumencie, które mogą być wykorzystane do optymalizacji zawartości strony internetowej pod kątem wyszukiwarek.
  2. Podsumowanie tekstu: Ekstrakcja słów kluczowych może być wykorzystana do streszczenia dokumentu poprzez identyfikację najważniejszych słów i fraz, które reprezentują główny temat tekstu.
  3. Klasyfikacja tekstu: Ekstrakcja słów kluczowych może być wykorzystana do klasyfikacji dokumentów tekstowych do różnych kategorii na podstawie zawartych w nich słów kluczowych. Jest to przydatne w takich zastosowaniach jak analiza sentymentu.
  4. Wyszukiwanie informacji: Ekstrakcja słów kluczowych może być wykorzystana do poprawy dokładności systemów wyszukiwania informacji poprzez identyfikację istotnych słów kluczowych, które pasują do zapytania wyszukiwawczego użytkownika.

Jak dokonać ekstrakcji słów kluczowych w R?

Oto kilka technik ekstrakcji słów kluczowych i ich przypadków użycia:

  • Znajdź słowa kluczowe poprzez wykonanie tagowania części mowy w celu zidentyfikowania rzeczowników
  • Znajdź słowa kluczowe na podstawie kolokacji i współwystępowania
  • Znajdź słowa kluczowe w oparciu o algorytm Textrank
  • Znajdź słowa kluczowe w oparciu o RAKE (rapid automatic keyword extraction)
  • Znajdź słowa kluczowe na podstawie wyników parsowania zależności (uzyskanie tematu tekstu)
wyodrębnianie słów kluczowych z tekstu

Wyodrębnianie rzeczowników

Łatwym sposobem na znalezienie słów kluczowych jest spojrzenie na rzeczowniki. Ponieważ każdy termin ma tag Parts of Speech, jeśli anotowałeś tekst za pomocą pakietu udpipe:

Kod:

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

Kolokacja i współwystępowanie

Uzyskaj wyrażenie wielowyrazowe, patrząc albo na kolokacje (słowa występujące po sobie), na współwystępowanie słów w obrębie każdego zdania, albo na współwystępowanie słów, które są w bliskim sąsiedztwie siebie.

Kod:

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ć słów uporządkowana według Google Pagerank)

Textrank to kolejna metoda ekstrakcji słów kluczowych. Pakiet R textrank implementuje algorytm Textrank. Algorytm Textrank pozwala na streszczenie tekstu i ekstrakcję słów kluczowych. Aby skonstruować sieć słowną, algorytm sprawdza, czy słowa następują po sobie. Algorytm „Google Pagerank” wyodrębnia odpowiednie słowa. Odpowiednie słowa, które następują po sobie, łączą się razem, aby uzyskać słowa kluczowe. TextRank nie wynika z oryginalnego tekstu, ponieważ jest to podejście oparte na grafie.

Kod:

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)

Rapid Automatic Keyword Extraction: RAKE

RAKE to kolejny podstawowy algorytm, który jest skrótem od Rapid Automatic Keyword Extraction. RAKE jest niezależnym od domeny algorytmem ekstrakcji słów kluczowych w Natural Language Processing.

  1. Obliczanie wyniku dla każdego słowa, które jest częścią dowolnego kandydackiego słowa kluczowego, odbywa się poprzez
    • wśród słów kandydujących algorytm sprawdza, ile razy dane słowo występuje i ile razy współwystępuje z innymi słowami
    • każde słowo otrzymuje wynik, który jest stosunkiem stopnia słowa (ile razy występuje z innymi słowami) do częstotliwości słowa
  2. Wynik RAKE dla pełnego słowa kluczowego jest obliczany poprzez zsumowanie wyników każdego ze słów, które definiują słowo kluczowe.

Kod:

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

Użyj wyjścia parsowania zależności, aby uzyskać podmiot nominalny i jego przymiotnik

Kiedy wykonałeś adnotację za pomocą udpipe, pole dep_rel wskazuje, jak słowa są powiązane ze sobą. Token jest związany z rodzicem za pomocą token_id i head_token_id. Pole dep_rel wskazuje, jak słowa łączą się ze sobą. Rodzaj relacji znajduje się na stronie http://universaldependencies.org/u/dep/index.html.

Kod:

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 to jest Text-Mining?

Eksploracja tekstu w R odnosi się do procesu analizy i wydobywania spostrzeżeń z danych tekstowych przy użyciu języka programowania R oraz powiązanych bibliotek i pakietów. Eksploracja tekstu obejmuje kilka etapów, w tym czyszczenie i wstępne przetwarzanie danych, ekstrakcję cech, modelowanie statystyczne i wizualizację.
Pakiet tm dostarcza funkcji do odczytywania danych tekstowych, czyszczenia i wstępnego przetwarzania danych oraz tworzenia matryc terminów dokumentów, które są powszechnie używane do analizy danych tekstowych. Pakiet tidytext dostarcza narzędzi do konwersji danych tekstowych na uporządkowane ramki danych.
Niektóre popularne zadania w eksploracji tekstu obejmują analizę sentymentu, modelowanie tematów, grupowanie dokumentów i klasyfikację tekstu. Zadania te polegają na zastosowaniu technik statystycznych i uczenia maszynowego do identyfikacji wzorców i zależności w obrębie danych tekstowych.

Czym są interfejsy API ekstrakcji słów kluczowych?

Interfejsy API do ekstrakcji słów kluczowych to interfejsy programistyczne, które umożliwiają programistom wyodrębnianie słów kluczowych i fraz kluczowych z tekstu przy użyciu wstępnie zbudowanych algorytmów i modeli uczenia maszynowego. Te interfejsy API zapewniają łatwe w użyciu i skalowalne rozwiązanie do automatyzacji procesu ekstrakcji słów kluczowych, bez konieczności budowania i trenowania własnych modeli przez programistów.

Co to jest R?

R jest językiem programowania open-source i środowiskiem programistycznym do obliczeń statystycznych, analizy danych i grafiki. Ludzie powszechnie używają R w środowisku akademickim, badaniach naukowych i przemyśle do zadań takich jak modelowanie statystyczne, wizualizacja danych, uczenie maszynowe i eksploracja danych. Posiada interfejsy z innymi językami programowania, takimi jak Python czy C++. Znajdź bardziej szczegółowe informacje dzięki tutorialom online na GitHubie.

Najczęściej zadawane pytania

Co to jest CSV?

CSV to skrót od „Comma-Separated Values”. Jest to format pliku, który przechowuje i wymienia dane w formacie zwykłego tekstu, gdzie każdy wiersz reprezentuje rekord, a każda kolumna reprezentuje pole lub atrybut rekordu. Pierwszy wiersz pliku CSV zazwyczaj przechowuje nagłówki kolumn, które dostarczają etykietę dla każdego pola w zbiorze danych.

Co to jest TF-IDF?

TF-IDF to skrót od „Term Frequency-Inverse Document Frequency”. Jest to statystyka liczbowa, która odzwierciedla znaczenie terminu w korpusie dokumentów. TF-IDF jest powszechnie stosowany w eksploracji tekstu, wyszukiwaniu informacji i aplikacjach przetwarzania języka naturalnego.

Co to są Stopwords?

Stopwords to zwykłe słowa, które zadania przetwarzania języka naturalnego (NLP) wykluczają, ponieważ mają niewielkie znaczenie lub wagę w analizie tekstu. Przykłady stopwords obejmują „the”, „and”, „of”, „to”, „in”, „a”, „an”, „is” i „for”.

Udostępnij post:

Najnowocześniejsza sztuczna inteligencja.

Zacznij korzystać z Eskritor już teraz!

Powiązane artykuły

Obraz ekranu komputera przedstawiający konwersację z GPT-3, na który nałożono diagramy ilustrujące etapy przetwarzania języka przez SI.
Eskritor

Jak działa GPT-3?

Poniższe kroki wyjaśniają, w jaki sposób GPT-3 generuje odpowiedzi: Dlaczego GPT-3 jest przydatny? Oto lista powodów, dla których GPT-3 jest przydatne: Jaka jest historia GPT-3? Rozwój GPT-3 jest procesem iteracyjnym.

Wizualny wykres przedstawiający dane związane z wpływem sztucznej inteligencji na rynek pracy dla autorów treści.
Eskritor

Czy AI zastąpi pisarzy treści?

Tak, pisarze AI mogą zastąpić niektórych pisarzy, ale nigdy nie zastąpią dobrych pisarzy. Zastąpi on pewne rodzaje prac pisarskich. Generatory treści AI mogą generować podstawowe treści, które nie wymagają oryginalnych

Wizualna reprezentacja architektury ChatGPT, zawierająca model transformatora, który umożliwia zrozumienie i generowanie języka.
Eskritor

Jak działa ChatGPT?

Na wysokim poziomie, ChatGPT jest modelem głębokiego uczenia, który wykorzystuje sieć neuronową do generowania tekstu podobnego do ludzkiego. Konkretna wersja modelu, ChatGPT-3, oparta jest na technice zwanej architekturą transformatorową. Ten