Ruby文本分析

是否有任何Rubygem或文本分析? 单词频率,模式检测等(最好有法语的理解)

单词频率的泛化是语言模型,例如单克(=单字频率),双字节(=单词对的频率),三元组(=世界三重频率),…,一般来说:n -grams

你应该寻找一个现有的语言模型工具包 – 在这里重新发明轮子不是一个好主意。

有一些标准工具包可用,例如来自CMU Sphinx团队和HTK。

这些工具包通常用C语言编写(速度!!因为你必须处理大型语料库)并生成标准的输出格式ARPA n-gram文件(通常是文本格式)

检查以下线程,其中包含更多详细信息和链接:

构建openears兼容的语言模型

使用其中一个工具包生成语言模型后,您将需要一个Ruby Gem,它可以在Ruby中访问语言模型,或者您需要将ARPA格式转换为您自己的格式。

adi92的post列出了一些Ruby NLP资源。

您还可以通过Google获取“ARPA语言模型”以获取更多信息

最后,最重要的是在线查看Google的N-gram工具: http : //ngrams.googlelabs.com/即将转移到: http : //books.google.com/ngrams

他们根据他们数字化的书籍建立了n-gram – 也有法语和其他语言版本!

http://mendicantbug.com/2009/09/13/nlp-resources-for-ruby/包含许多有用的Ruby NLP链接。
很久以前我曾尝试过使用Ruby Linguistics的东西,并且记得有很多问题……我不建议跳进去。
如果您的大部分文本分析涉及计算ngrams和朴素贝叶斯等内容,我建议您自己进行。 Ruby有非常好的基本库和对正则表达式的强大支持,所以这不应该那么棘手,并且你会更容易适应你想要解决的问题的特性。
像stanford解析器gem一样,它可以使用从ruby中解决问题的java库,但这可能很棘手,所以可能不是解决问题的最佳方法。

因为这个原因,我写了words_counted 。 您可以在rubywordcount.com上看到演示。 它提供了许多分析function,还有更多主机。 API已有详细记录,可以在Github上的自述文件中找到。