0
reddit 의견을보고 있습니다. 일부 일반적인 중지 단어 목록을 사용하고 있지만이 데이터 집합에 대한 사용자 지정 목록을 만들고 싶습니다. SQL로 어떻게 할 수 있습니까?BigQuery로 불용어를 식별하는 방법은 무엇입니까?
reddit 의견을보고 있습니다. 일부 일반적인 중지 단어 목록을 사용하고 있지만이 데이터 집합에 대한 사용자 지정 목록을 만들고 싶습니다. SQL로 어떻게 할 수 있습니까?BigQuery로 불용어를 식별하는 방법은 무엇입니까?
스 토크 워드를 식별하는 한 가지 방법은 대부분의 문서에 나타나는 것을 살펴 보는 것입니다. 이 쿼리에서
단계 : 관련성, 품질 (최소 길이를 선택, 최소 점수를 선택하여 subreddits 선택)에 대한
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
https://stackoverflow.com/q/47014012/132438 관련 –