关于BigQuery Trigrams与Ngrams Viewer百分位数差异的技术咨询
解释BigQuery Trigrams与Google Ngrams Viewer的数值差异
这个差异并非个例,任意三元组都存在这类数值偏差,结合你提供的示例和相关讨论,核心原因主要有以下几点:
1. 数据集版本与语料库基础差异
BigQuery的bigquery-public-data:samples.trigrams基于Google Ngrams 2009年发布的早期数据集,而你使用的Ngrams Viewer(示例中corpus=15)采用的是2019版的英文书籍语料。两者在书籍覆盖范围、低质量内容过滤规则、数据去重逻辑上都有明显区别,基础数据本身就不一致。
2. 数值计算的基准完全不同
这是量级差异最大的核心原因:
- BigQuery中的
volume_fraction是该三元组在当年所有三元组总出现次数中的占比。你查询到的1.6196954972465177E-4(约0.016%),意思是"of these dinosaurs"这个三元组,占1888/1890年所有三元组总量的0.016%。 - Ngrams Viewer显示的百分比是该三元组在当年所有单词(所有1-grams总出现次数)中的占比。你看到的
0.0000001270%(即1.27×10⁻⁹)是相对于总单词数的比例,和BigQuery的统计基准完全不同,数值量级自然差距极大。
3. 统计与归一化的细节差异
即使是同类统计基准,两者的处理逻辑也有细微区别:
- BigQuery保留了更原始的数据集细节,而Ngrams Viewer哪怕设置
smoothing=0,底层仍可能存在默认的小样本过滤或归一化处理。 - 年份归属规则:比如书籍出版年份的判定(首次出版/再版年份),两者可能采用不同标准,导致部分数据的年份映射偏差。
你参考的论坛讨论也印证了这些结论——这类差异是普遍存在的,因为BigQuery提供的是原始未加工的n-grams数据集,而Ngrams Viewer是面向可视化的工具,做了更适合展示的归一化和数据更新。
内容的提问来源于stack exchange,提问作者robert
相关产品推荐
相关产品推荐

