Google bigquery 从BigQuery中删除stopwords?

Google bigquery 从BigQuery中删除stopwords?,google-bigquery,Google Bigquery,我有一大堆reddit的评论。将字符串拆分为单词,删除标点符号,并量化以显示特定子Reddit上使用最多的单词: SELECT word, COUNT(*) as num_words FROM(FLATTEN(( SELECT SPLIT(LOWER(REGEXP_REPLACE(body, r'[\.\",*:()\[\]/|\n]', ' ')), ' ') word FROM [fh-bigquery:reddit_comments.2017_08] WHERE subredd

我有一大堆reddit的评论。将字符串拆分为单词,删除标点符号,并量化以显示特定子Reddit上使用最多的单词:

SELECT word, COUNT(*) as num_words
FROM(FLATTEN((
  SELECT SPLIT(LOWER(REGEXP_REPLACE(body, r'[\.\",*:()\[\]/|\n]', ' ')), ' ') word
  FROM [fh-bigquery:reddit_comments.2017_08]
  WHERE subreddit="The_Donald"
  ), word))
GROUP EACH BY word
HAVING num_words >= 1000
ORDER BY num_words DESC

我有一个要删除的stopwords列表,如何将其添加到代码中?谢谢:

下面的示例是针对BigQuery遗留SQL的,正如您所问的那样

legacydSQL 选择单词,将*计算为num_单词 从平坦 选择SPLITLOWERREGEXP\u REPLACEbody,r'[\.\,*:\[\]/\124;\ n]','','',word 来自[fh bigquery:reddit_comments.2017_08] 其中,subreddit=The_Donald 单词 什么地方没有文字 “the”,“to”,“a”,“and” 按单词分组 字数>=1000的 按字数顺序描述 BigQuery团队强烈建议使用标准SQL 所以,如果您决定这样做,下面是标准SQL中的示例 它假定您的\u项目中有停止词。您的\u数据集。停止词表

标准SQL 选择单词,将*计算为num_单词 来自“fh bigquery.reddit\u comments.2017\u 08”, UNNESTSPLITLOWERREGEXP\u REPLACEbody,r'[\.\,*:\[\]/\124; \ n]','','',word 其中,subreddit=The_Donald 和word不在“您的\u项目.您的\u数据集.停止\u word”中选择停止\u word` 逐字分组 字数>=1000的 还有单词!= 按字数顺序描述 您可以在此处测试/播放以下虚拟数据

标准SQL 使用'your_project.your_dataset.stop_words'作为 选择“停止”字 从UNNEST['the','to','a','and']停止单词 选择单词,将*计算为num_单词 来自“fh bigquery.reddit\u comments.2017\u 08”, UNNESTSPLITLOWERREGEXP\u REPLACEbody,r'[\.\,*:\[\]/\124; \ n]','','',word 其中,subreddit=The_Donald 和word不在“您的\u项目.您的\u数据集.停止\u word”中选择停止\u word` 逐字分组 字数>=1000的 还有单词!= 按字数顺序描述
如果你想做出自己的停顿表,请考虑接受答案并投票给它。