1
我正在查看reddit數據集,以及尋找使用BigQuery查找二元數據的older question - 但是,該問題的答案對於URL並不適用,引號等。有沒有更好的方法來做到這一點,並將其推廣到三克而不是雙克?如何使用BigQuery查找reddit數據集的n-grams
我正在查看reddit數據集,以及尋找使用BigQuery查找二元數據的older question - 但是,該問題的答案對於URL並不適用,引號等。有沒有更好的方法來做到這一點,並將其推廣到三克而不是雙克?如何使用BigQuery查找reddit數據集的n-grams
這樣做:
SELECT word, nextword, nextword2, COUNT(*) c
FROM (
SELECT pos, id, word, LEAD(word) OVER(PARTITION BY id ORDER BY pos) nextword, LEAD(word, 2) OVER(PARTITION BY id ORDER BY pos) nextword2 FROM (
SELECT id, word, pos FROM FLATTEN(
(SELECT id, REGEXP_REPLACE(word, 'QUOTE', "'") word, POSITION(word) pos FROM
(SELECT id, SPLIT(REGEXP_REPLACE(REGEXP_REPLACE(REGEXP_REPLACE(LOWER(body), "'", 'QUOTE'), r'http.?://[^ ]*', r'URL'), r'\b', ' '), ' ') word
FROM [fh-bigquery:reddit_comments.2016_01]
WHERE score>200
HAVING REGEXP_MATCH(word, '[a-zA-Z0-9]')
)
), word)
))
WHERE nextword IS NOT null
GROUP EACH BY 1, 2, 3
ORDER BY c DESC
LIMIT 100
(請注意,我過濾,用> 200的成績更快的結果的意見 - 你可以做全月移動該過濾器)