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:
- 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.
- 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.
- 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.
- 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 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.
-
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
- 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.
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.
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.