如何分析Ruby中的文本?

How to analyze text in Ruby?

寻找一种方法来分析文本的某些特征,例如:

  1. 识别首字母缩略词和头衔(ICANN、博士、博士等)
  2. 行话
  3. 阅读水平
  4. 副词和形容词
  5. 正确的语法和标点符号
  6. 主动语态和被动语态

我看了Stanford NLP library,但不知道他们在说什么(可能是因为我没有语言学学位)。

是否有 Ruby gem 可以提供这种文本分析?

是的,你可能想看看这个介绍:

http://www.slideshare.net/TomCartwright/natual-language-processing-in-ruby

最后一张幻灯片显示了 Text、Treat、Tokenizer、Punkt 和 Chronic 的建议。

1.) 对于缩写,您可以从这里窃取:https://github.com/diasks2/pragmatic_segmenter/blob/master/lib/pragmatic_segmenter/abbreviation.rb。至于首字母缩略词,列表可能是无穷无尽的,所以这实际上取决于您要做什么。您可以尝试使用正则表达式来提取首字母缩略词。

2.) 不确定,您必须更具体地说明您要完成的目标。

3.) 使用 lingua gem and check out this tutorial.

4.) 查看 engtagger,一个 Ruby 词性标注器库。

5.) 我不知道有任何库可以自动检测正确的语法/标点符号错误(因为在很多情况下没有明确的正确答案)。然而,我确实制作了一个 gem,人们可以在其中纠正一个句子,gem 会自动显示错误句子和正确句子之间的差异,包括错误数量、错误类型等。它是称为 Chat Correct.

6.) 查看名为 verbs 的 gem。

查看链接解析器 gem。它分析整个句子,例如,你可以得到主语、动词、副词和形容词。我相信你也可以用这个 gem.

识别句子中的首字母缩略词和标题

https://github.com/ged/linkparser

这个 gem 是更大项目 Link-grammar 的包装器,由 Abiword 团队领导。

http://www.abisource.com/projects/link-grammar/

确实是一个有趣的项目。