
40
|
第
1
章
图 1-7:所有二元语法的词云(左)与所有包含单词“climate”的二元语法的词云(右)
1.9
案例:比较不同时间段和类别的词频
可能你对谷歌趋势(
http://trends.google.com
)并不陌生,你可以利用该
产品跟踪许多搜索条目在一段时间内的变化。这种趋势分析会计算每一
天的频率,并可视化成折线图。我们希望查看联合国辩论数据集中某些关键字在过
去几年中的变化,以了解气候变化、恐怖主义以及移民等主题的重要性是增长了还
是降低了。
1.9.1
创建词频时间表
我们的方法是计算每个文档中某些关键字的频率,然后使用
Pandas
的
groupby
函数
聚合这些频率。以下函数可以完成第一个任务,它可以提取词语列表中某些关键字
的计数:
def count_keywords(tokens, keywords):
tokens = [t for t in tokens if t in keywords]
counter = Counter(tokens)
return [counter.get(k, 0) for k in keywords]
下面,我们通过一个示例演示其功能:
keywords = ['nuclear', 'terrorism', 'climate', 'freedom']
tokens = ['nuclear', 'climate', 'climate', 'freedom', 'climate', 'freedom']
print(count_keywords(tokens, ...