Compter le nombre de fois qu'un mot apparaît dans BigQuery colonne

0

La question

J'ai une colonne avec certaines chaînes longues et besoin de compter les mots les plus utilisés en elle.

J'ai besoin de quelque chose qui fonctionne comme ceci https://towardsdatascience.com/very-simple-python-script-for-extracting-most-common-words-from-a-story-1e3570d0b9d0. Le mot de comptage partie au moins...

Et il est très important que j'ai l'option de la liste noire de certains mots, de sorte qu'ils ne comptent.

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

La meilleure réponse

2

Essayez ci-dessous approche simple

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

cela n'a pas fonctionné... les phrases sont en portugais, cela pourrait être le problème? ou peut-être que je n'ai pas le droit de faire substitution sur votre code idk
Murilo

), liste noire ( sélectionnez 'avec le mot" union all select 'que' l'union de tous, sélectionnez "ajouter plus que vous voyez le besoin") sélectionnez inférieur(word) mot, count() de la fréquence à partir de T0, unnest(regexp_extract_all(T0.colonne, r'[\w]')) mot de longueur(mot) > 3 et de la parole, non pas dans (sélectionnez mot de la liste noire) du groupe par l'ordre des mots par fréquence desc ///j'ai essayé ce..
Murilo

veuillez être plus précis, ce que vous entendez par "il na pas de travail"? fournir de l'exemple de données d'entrée. etc....
Mikhail Berlyant

my bad, je reçois ce message: "Cette requête a retourné aucun résultat".
Murilo

jamais l'esprit, j'ai eu une erreur dans ma requête d'origine, il fonctionne parfaitement maintenant, merci beaucoup
Murilo

Merci pour la confirmation. Content que cela fonctionne pour vous. Pensez également à droit de vote de la réponse si elle a aidé :o)
Mikhail Berlyant

btw, je cherche à les résultats et le code est le découpage de mots qui contiennent "brésilienne des lettres" comme "Ç" "ã" "õ", est-il un moyen de rendre compte de ces. En un mot comme "informação", il est considéré comme "informa"
Murilo

sûr que c'est faisable, permettra de vérifier sous peu. mais en attendant vérifier mes dans mes autres réponses sur la façon de traiter les accents, etc. Il doit être d'au moins quelques réponses en ce qui concerne :o)
Mikhail Berlyant

Dans d'autres langues

Cette page est dans d'autres langues

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