>我需要创建一个短语频率表,计算数百万个单词的非常大的集合中的所有短语。 最终结果将是一个表,例如此处创建的内容: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是如何实现这一点的(有效地?)。