Подсчитайте, сколько раз слово появляется в столбце BigQuery

0

Вопрос

У меня есть столбец с несколькими длинными строками, и мне нужно посчитать в нем наиболее часто используемые слова.

Мне нужно что-то, что работает так https://towardsdatascience.com/very-simple-python-script-for-extracting-most-common-words-from-a-story-1e3570d0b9d0. По крайней мере, часть подсчета слов...

И очень важно, чтобы у меня была возможность занести в черный список некоторые слова, чтобы они не считались.

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

Лучший ответ

2

Попробуйте следующий простой подход

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

это не сработало... фразы на португальском, может быть, в этом проблема? или, может быть, я неправильно заменил ваш код idk
Murilo

), черный список, как ( Выберите 'с' Слово Союз все выберите что Союз все выберите 'Добавить больше, как вы видите необходимости ) выбрать ниже(слово) слово, граф() частота от t0, unnest(regexp_extract_all(т0.колонна, р'[\ш]')) слово, в котором длина(слово) > 3 и слово не в (выберите слово из черного списка) группы порядок слов по частоте убыванию ///я попробовал это..
Murilo

пожалуйста, будьте более конкретны - что вы подразумеваете под "это не сработало"? приведите пример входных данных. и т.д......
Mikhail Berlyant

моя ошибка, я получаю это сообщение "Этот запрос не дал результатов".
Murilo

неважно, у меня была ошибка в моем первоначальном запросе, теперь он отлично работает, большое вам спасибо
Murilo

Спасибо, что подтвердили. Рад, что это работает на вас. Подумайте также о том, чтобы проголосовать за ответ, если это помогло :o)
Mikhail Berlyant

кстати, я смотрю на результаты, и код вырезает слова, которые содержат некоторые "бразильские буквы", такие как "Ç", "ã", "õ", есть ли способ заставить его учитывать их. В таком слове, как "informação", оно считается "информация".
Murilo

конечно, выполнимо, скоро проверю. но тем временем проверьте мои другие ответы, как обращаться с акцентами и т. Д. Должно быть по крайней мере несколько ответов, связанных с этим :o)
Mikhail Berlyant

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................