【发布时间】:2014-02-01 02:58:30
【问题描述】:
我有大约 1000 个文件。每个包含大约 20,000 个文档。我还有一个大约 1,000,000 个单词的列表。
我想计算每个单词与其他单词一起出现的次数。所以,有一个大小为 1M X 1M 的稀疏矩阵。
为了加快计算速度,我正在通过执行以下操作分别处理每个文件:
1- 我机器中的每个核心都在处理单个文件并输出以下格式的文件
WordId1 WordId2 Frequency
2-在做完每个文件后,我将1000个文件合并为一个文件。
这是我目前的方法,但它需要很长时间才能做到,我认为应该有很多有效的方法,所以欢迎您的 cmets。
【问题讨论】:
-
你对共现的定义是什么? (两个词出现在同一个文档中?两个词在文档中彼此相邻出现?...?)
-
@meriton 相同的文档。
-
您计算它们在文档中出现的次数,还是两者都出现任意次数时只计算为 1 或 0?
-
如果你有单个文档,W1 遇到 2 次,W2 - 3 次,频率表是多少?
-
这样的关系称为对称的
标签: java multithreading performance processing-efficiency