如何有效地计算大型集合中的所有短语



>我需要创建一个短语频率表,计算数百万个单词的非常大的集合中的所有短语。 最终结果将是一个表,例如此处创建的内容:http://www.hermetic.ch/wfca/phrases.htm

实现这一点的有效算法是什么? 如果你能够展示一些细节,最好看到它在 Ruby 中实现。 或者,坦率地说,我什至愿意使用 xapian 或 lucene,但在构建所需的频率表输出方面

,没有看到立即实现这一目标的方法。

我建议使用带有单词作为键的哈希值,并在找到每个短语时递增值。

Ruby 是为此类数据操作而构建的,因此您是从正确的方向出发的。

我不会为你介绍这个项目,但请仔细看看:

http://ruby-doc.org/core-2.0/Hash.html

然后了解您需要解析的基本正则表达式:

http://www.ruby-doc.org/docs/ProgrammingRuby/html/language.html#UJ

http://rubular.com/

编辑:我相信最近的红宝石,哈希是可排序的!我敢打赌这将有助于您的表格输出。但是,我不确定Ruby是如何实现这一点的(有效地?)。

最新更新