Como Extrair Palavras-Chave do Texto em R?

Uma imagem que ilustra a interface do R com um excerto de código destacado utilizado para a extração de palavras-chave do texto.
Uma imagem que ilustra a interface do R com um excerto de código destacado utilizado para a extração de palavras-chave do texto.

Eskritor 2023-07-06

O que é Extracção de Palavras-Chave?

A extracção de palavras-chave extrai automaticamente as palavras e expressões mais usadas e mais importantes de um texto, utilizando uma técnica de análise de texto. Ajuda a resumir o conteúdo dos textos e a reconhecer os principais tópicos discutidos, o que é útil para estudos de mercado , análise de sentimentos e outros tipos de análise de dados. Esta técnica alavanca a incorporação de frases e pode analisar grandes conjuntos de dados em tempo real.

A inteligência artificial (IA) com processamento de linguagem natural (PNL) (um campo das ciências informáticas) decompõe a linguagem humana para que as máquinas a possam compreender e analisar. A extracção de palavras-chave automatiza os fluxos de trabalho como etiquetar as respostas aos inquéritos recebidos ou responder a pedidos urgentes de clientes. A técnica utiliza informação linguística e semântica sobre os textos e as palavras que estes contêm. Existem diferentes algoritmos e técnicas de aprendizagem mecânica para extrair as palavras-chave mais relevantes de um texto.

Porque é que a extracção de palavras-chave é importante?

A extracção de palavras-chave e a extracção de frases-chave são importantes por várias razões:

  1. Optimização de motores de busca (SEO) : A extracção de palavras-chave ajuda a identificar as palavras e frases mais importantes de um documento, que podem ser utilizadas para optimizar o conteúdo do sítio web para motores de busca.
  2. Sumário de texto: A extracção de palavras-chave pode ser utilizada para resumir um documento identificando as palavras e frases mais importantes que representam o tema principal do texto.
  3. Classificação do texto: A extracção de palavras-chave pode ser utilizada para classificar documentos de texto em diferentes categorias, com base nas palavras-chave que contêm. Isto é útil em aplicações tais como a análise dos sentimentos.
  4. Recuperação de informação: A extracção de palavras-chave pode ser utilizada para melhorar a precisão dos sistemas de recuperação de informação através da identificação de palavras-chave relevantes que correspondam a uma consulta de pesquisa do utilizador.

Como Fazer Extracção de Palavras-Chave em R?

Aqui estão algumas técnicas de extracção de palavras-chave e os seus casos de utilização:

  • Encontrar palavras-chave fazendo partes da etiquetagem da fala a fim de identificar substantivos
  • Encontrar palavras-chave baseadas em Colocações e Co-ocorrências
  • Encontrar palavras-chave com base no algoritmo do Textrank
  • Encontrar palavras-chave baseadas em RAKE (extracção automática rápida de palavras-chave)
  • Encontrar palavras-chave com base nos resultados da análise de dependência (obter o assunto do texto)
extracção de palavras-chave do texto

Extracção de Substantivos

Uma forma fácil de encontrar palavras-chave é através da procura de substantivos. Como cada termo tem uma etiqueta de Partes da Fala se anotou o texto usando o pacote udpipe:

Código:

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

Colocações e co-ocorrências

Obter a expressão de várias palavras olhando quer para as colocações (palavras que se seguem umas às outras), para as co-ocorrências de palavras dentro de cada frase, quer para as co-ocorrências de palavras que estão próximas umas das outras.

Código:

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 (rede de palavras encomendada pelo Google Pagerank)

O Textrank é outro método de extracção de palavras-chave. O pacote textrank R implementa o algoritmo do Textrank. O algoritmo do Textrank permite a sumarização de texto e extracção de palavras-chave. Para construir uma rede de palavras, o algoritmo verifica se as palavras se seguem umas às outras. O algoritmo ‘Google Pagerank’ está a extrair palavras relevantes. Palavras relevantes que se seguem umas às outras combinam-se para obter palavras-chave. TextRank não deriva do texto original, uma vez que é uma abordagem baseada em gráficos.

Código:

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)

Extracção rápida e automática de palavras-chave: RAKE

RAKE é o próximo algoritmo básico que é um acrónimo de Rapid Automatic Keyword Extraction. RAKE é um algoritmo de extracção de palavras-chave independente de domínio em Processamento de Linguagem Natural.

  1. O cálculo de uma pontuação para cada palavra que faz parte de qualquer palavra-chave do candidato, é feito por
    • entre as palavras-chave do candidato, o algoritmo analisa quantas vezes cada palavra está a ocorrer e quantas vezes co-ocorre com outras palavras
    • cada palavra recebe uma pontuação que é a relação entre o grau da palavra (quantas vezes co-ocorre com outras palavras) e a frequência da palavra
  2. Uma pontuação RAKE para a palavra-chave candidata completa é calculada através da soma das pontuações de cada uma das palavras que definem a palavra-chave candidata

Código:

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

Utilizar a saída de análise de dependência para obter o sujeito nominal e o adjectivo do mesmo

Quando executou a anotação usando udpipe, o campo dep_rel indica como as palavras estão relacionadas umas com as outras. Um token está relacionado com o pai que utiliza o token_id e o head_token_id . O campo dep_rel indica como as palavras se ligam umas às outras. O tipo de relações está em http://universaldependencies.org/u/dep/index.html.

Código:

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 que é a mineração de texto?

A mineração de texto em R refere-se ao processo de análise e extracção de conhecimentos de dados de texto utilizando a linguagem de programação R e bibliotecas e pacotes associados. A mineração de texto envolve várias etapas, incluindo limpeza e pré-processamento de dados, extracção de características, modelação estatística e visualização.
O pacote tm fornece funções para a leitura de dados de texto, limpeza e pré-processamento dos dados, e criação de matrizes documentais, que são normalmente utilizadas para a análise de dados de texto. O pacote tidytext fornece ferramentas para a conversão de dados de texto em quadros de dados arrumados.
Algumas tarefas comuns na mineração de textos incluem análise de sentimentos, modelação de tópicos, agrupamento de documentos e classificação de textos. Estas tarefas envolvem a aplicação de técnicas estatísticas e de aprendizagem por máquina para identificar padrões e relações dentro de dados de texto.

APIs de extracção de palavras-chave são interfaces de software que permitem aos programadores extrair palavras-chave e frases-chave de texto usando algoritmos pré-construídos e modelos de aprendizagem de máquinas. Estes APIs fornecem uma solução fácil de usar e escalável para automatizar o processo de extracção de palavras-chave, sem a necessidade de os programadores construírem e treinarem os seus próprios modelos.

R é uma linguagem de programação de código aberto e um ambiente de software para computação estatística, análise de dados, e gráficos. As pessoas utilizam amplamente a I no meio académico, na investigação e na indústria para tarefas como a modelação estatística, visualização de dados, aprendizagem de máquinas, e mineração de dados. Tem interfaces com outras linguagens de programação, tais como Python e C++ . Encontre informações mais detalhadas com tutoriais online sobre GitHub.

Partilhar publicação

AI Redator

img

Eskritor

Criar conteúdo gerado AI