我想为大型数据集生成 ngram 频率。维基百科,或者更具体地说,Freebase 的 WEX 适合我的目的。
在接下来的一天左右,最好和最具成本效益的方法是什么?
我的想法是:
- PostgreSQL 使用正则表达式来拆分句子和单词。我已经在 PostgreSQL 中有 WEX 转储,并且我已经有正则表达式来进行拆分(此处不需要主要准确性)
- MapReduce 与 Hadoop
- MapReduce 与 Amazon 的 Elastic MapReduce,我对此几乎一无所知
我使用 Hadoop 的经验包括在三个 EC2 实例上计算 Pi 的效率非常低。我精通Java,并且了解Map + Reduce 的概念。我担心 PostgreSQL 会花费很长时间,因为它不容易并行化。
还有其他方法吗?在接下来的几天里,我最好的选择是什么?