Contar a quantidade de vezes que uma palavra aparece na coluna BigQuery

0

Pergunta

Eu tenho uma coluna com algumas cadeias de caracteres longas e necessitam contar as palavras mais usadas no mesmo.

Eu preciso de algo que funciona assim https://towardsdatascience.com/very-simple-python-script-for-extracting-most-common-words-from-a-story-1e3570d0b9d0. A contagem de palavras em parte pelo menos...

E é muito importante que eu tenho a opção para colocar algumas palavras que eles não contam.

google-bigquery
2021-11-23 18:33:36
1

Melhor resposta

2

Tente abaixo abordagem simples

with blacklist as (
  select 'with' word union all 
  select 'that' union all
  select 'add more as you see needed'
)
select lower(word) word, count(*) frequency
from data, unnest(regexp_extract_all(col, r'[\w]*')) word
where length(word) > 3  
and word not in (select word from blacklist)
group by word
order by frequency desc     

 
2021-11-23 22:40:30

não funcionou... as frases estão em português, poderia ser este o problema? ou talvez eu não ter o direito de substituição do seu código de idk
Murilo

), negra como ( selecione 'com' palavra union all select 'que' union all select 'adicionar mais como você vê necessários' ) selecione inferior(word) word count() frequência de T0, unnest(regexp_extract_all(T0.coluna, r'[\w]')) palavra onde duração(word) > 3 e a palavra não (seleccione o word a partir de lista negra) do grupo, por ordem de palavras por frequência desc ///eu tentei isso..
Murilo

por favor, seja mais específico - o que você quer dizer com "não funciona"? fornecem exemplos de dados de entrada. etc....
Mikhail Berlyant

my bad, eu receber essa mensagem "Esta consulta não retornou nenhum resultado".
Murilo

nunca mente, eu tinha um erro na minha consulta original, funciona perfeitamente agora, muito obrigado
Murilo

Obrigado pela confirmação. Ainda bem que funciona para você. Considere também a possibilidade de a votação até que a resposta se ele ajudou :o)
Mikhail Berlyant

btw, estou olhando para os resultados e o código é o corte de palavras que contêm algumas "letras brasileiras", como "Ç", "ã" "õ", há uma maneira de para torná-lo de considerar os. Em uma palavra, como "informação", conta-se como "informa"
Murilo

com certeza factível, verificar breve. mas, entretanto, de verificar o meu nas minhas outras respostas como tratar os acentos, etc. Ele deve ser, pelo menos, algumas respostas relacionadas com essa :o)
Mikhail Berlyant

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................