Sql 如何使用BigQuery识别stopwords?
我正在看reddit的评论。我正在使用一些常用的停止字列表,但我想为此数据集创建一个自定义的停止字列表。如何使用SQL实现这一点?识别停止字的一种方法是查看大多数文档中显示的停止字 此查询中的步骤:Sql 如何使用BigQuery识别stopwords?,sql,google-bigquery,text-analysis,Sql,Google Bigquery,Text Analysis,我正在看reddit的评论。我正在使用一些常用的停止字列表,但我想为此数据集创建一个自定义的停止字列表。如何使用SQL实现这一点?识别停止字的一种方法是查看大多数文档中显示的停止字 此查询中的步骤: 筛选文章的相关性、质量(选择你的子项、选择最低分数、选择最低长度) Unescape reddit HTML编码值 决定什么算作单词(在本例中为r'[a-z]{1,20}\'?[a-z]+') 每个单词在每个文档(注释)中只统计一次,而不管它在每个注释中重复了多少次 通过计算出现的文档数量,获得前x
r'[a-z]{1,20}\'?[a-z]+'
)李>
#standardSQL
WITH words_by_post AS (
SELECT CONCAT(link_id, '/', id) id, REGEXP_EXTRACT_ALL(
REGEXP_REPLACE(REGEXP_REPLACE(LOWER(body), '&', '&'), r'&[a-z]{2,4};', '*')
, r'[a-z]{1,20}\'?[a-z]+') words
FROM `fh-bigquery.reddit_comments.2017_07`
WHERE body NOT IN ('[deleted]', '[removed]')
AND subreddit IN ('AskReddit', 'funny', 'movies')
AND score > 100
), words_per_doc AS (
SELECT id, word
FROM words_by_post, UNNEST(words) word
WHERE ARRAY_LENGTH(words) > 20
GROUP BY id, word
)
SELECT word, COUNT(*) docs_with_word
FROM words_per_doc
GROUP BY 1
ORDER BY docs_with_word DESC
LIMIT 100
有关