2

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

什么是实现这一点的有效算法?如果您能够展示一些细节,那么在 Ruby 中实现它会更好。或者,坦率地说,我什至对使用xapian或 lucene 持开放态度,但在根据需要构建频率表输出方面,并没有看到一种直接的方法来实现这一点。

4

1 回答 1

0

我建议使用以单词为键的散列,并在找到每个短语时递增值。

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 是如何实现的(有效的?)。

于 2013-09-27T21:06:20.897 回答