The standard SQL version:

SELECT word, nextword, COUNT(*) c FROM ( SELECT pos, title, word, LEAD(word) OVER(PARTITION BY created_utc,title ORDER BY pos) nextword FROM ( SELECT created_utc, title, word, pos FROM ( SELECT created_utc, title, SPLIT(title, ' ') word FROM `bigquery-samples.reddit.full`), UNNEST(word) as word WITH OFFSET pos)) WHERE nextword IS NOT null GROUP BY 1, 2 ORDER BY c DESC LIMIT 100

When unnesting an ARRAY you can retrieve the position of that element using the following syntax: