我们必须从每个文本文件中选择多少顶级单词才能获得语料库的前k个单词

时间:2013-12-09 08:29:20

标签: count word mergesort

如果我的语料库包含100篇文章,并且每篇文章都有很多单词,那么我想在不同的线程或分布式系统中独立计算每篇文章。

因此,对于每篇文章,我将得到按字频排序的单词列表,类似于(在C ++中):

//         count, word
vector<pair<int, string> > v0;
sort(v0.begin(), v0.end(), greater<pair<int, string> >); // descending order

对于其他99篇文章,我们将得到类似的排序结果v1, v2, ... v99

我的问题是,我们如何合并排序结果以获得语料库中的顶级k(例如10个)单词?

注意:此语料库可能位于分布式系统中,我们可能不希望从每个列表中获取所有单词,因此问题变为:我们必须从每篇文章中选择多少顶级单词才能获得最高{{ 1}}整个语料库的单词?换句话说,我们可以丢弃每篇文章中的任何单词吗?

1 个答案:

答案 0 :(得分:0)

看看Tf-idf。还有a similar question,几年前就回答了。