使用大量数据作为输入构建 BigQuery
Structuring BigQuery with large array of data as input
我有兴趣通过 BigQuery 查找三元组数据的能力来获取与特定单词的最频繁的单词关联。例如,当使用 Google 的 Ngram viewer 时,我可以输入 great *
,这将给出 "great" 之后最常关联的词,例如 "great deal",然后 "great and" 和 "great many"。我的目标是针对大量单词执行此操作,以便我可以使用 word1 *
一直查询到 word10000 *
在对此 SO answer 的讨论之后,我被引导到 BigQuery 的公开可用三元组数据。在这一点上我似乎无法弄清楚的是如何使用此服务输入一组单词,作为文件输入或粘贴它们的方式。非常感谢任何帮助 - 谢谢。
您可以按照以下方式找到 10 个最常用的词"great":
SELECT second, SUM(cell.page_count) total
FROM [publicdata:samples.trigrams]
WHERE first = "great"
group by 1
order by 2 desc
limit 10
这导致
second total
------------------
deal 3048832
and 1689911
, 1576341
a 1019511
number 984993
many 875974
importance 805215
part 739409
. 700694
as 628978
如果你想限制到特定年份 - 比如 1820 年到 1840 年之间,那么你也可以限制在 cell.value(即出版年份)
SELECT second, SUM(cell.page_count) total FROM [publicdata:samples.trigrams]
WHERE first = "great" and cell.value between '1820' and '1840'
group by 1
order by 2 desc
limit 10
我有兴趣通过 BigQuery 查找三元组数据的能力来获取与特定单词的最频繁的单词关联。例如,当使用 Google 的 Ngram viewer 时,我可以输入 great *
,这将给出 "great" 之后最常关联的词,例如 "great deal",然后 "great and" 和 "great many"。我的目标是针对大量单词执行此操作,以便我可以使用 word1 *
一直查询到 word10000 *
在对此 SO answer 的讨论之后,我被引导到 BigQuery 的公开可用三元组数据。在这一点上我似乎无法弄清楚的是如何使用此服务输入一组单词,作为文件输入或粘贴它们的方式。非常感谢任何帮助 - 谢谢。
您可以按照以下方式找到 10 个最常用的词"great":
SELECT second, SUM(cell.page_count) total
FROM [publicdata:samples.trigrams]
WHERE first = "great"
group by 1
order by 2 desc
limit 10
这导致
second total
------------------
deal 3048832
and 1689911
, 1576341
a 1019511
number 984993
many 875974
importance 805215
part 739409
. 700694
as 628978
如果你想限制到特定年份 - 比如 1820 年到 1840 年之间,那么你也可以限制在 cell.value(即出版年份)
SELECT second, SUM(cell.page_count) total FROM [publicdata:samples.trigrams]
WHERE first = "great" and cell.value between '1820' and '1840'
group by 1
order by 2 desc
limit 10