如何搜索Google Ngrams的“过期”单词和短语?

问题描述:

我想编写一个应用程序来搜索Google的Ngram数据,以返回过去在某些任意数量的年份内比以往任何时候都更受欢迎的单词和短语。如何搜索Google Ngrams的“过期”单词和短语?

例如:https://books.google.com/ngrams/graph?content=cowabunga&year_start=1950&year_end=2000&corpus=15&smoothing=3

理想情况下,我希望能够找到这些词和短语,而无需指定他们前面。任何人都可以帮助我想出一种使用Ngrams数据的下载副本的方法吗?

下载一些n-gram后的第一步是将它们转储到SQLite3 database。例如,我拿来了1-grams starting with the letter 't'

为了将它们放到SQLite的,运行命令sqlite3 1grams.db

sqlite> create table t1grams (ngram text, year integer, match_count integer, volume_count integer); 
sqlite> .separator "\t" 
sqlite> .import googlebooks-eng-all-1gram-20120701-t t1grams 

第二步是选择一年范围内,叫他们YEAR_STARTYEAR_END,你的百分比,称之为PERCENT_THRESHOLD 。在那里你选择那些ngram S,从而使match_countPERCENT_THRESHOLD%不太常见的YEAR_ENDYEAR_START

你的问题简化为一个查询。

+0

@ duncan-malashock如果这听起来是正确的,我会拿出一个示例SQL查询来实际完成这个计算。但是,我想确保这与您试图找到的内容一致。 – tlehman 2014-11-11 23:35:22

+0

嘿,我正在使用mapreduce来完成这个任务,请你在这方面指导我? – 2016-09-16 02:25:27

+0

@MuneebulHassan不在这里,但有很好的教程:http://hadooptutorial.info/mapreduce-use-case-for-n-gram-statistics/ – tlehman 2016-09-16 15:51:53