如何在Ruby中分析文本?

时间:2015-03-22 03:47:45

标签: ruby gem nlp linguistics text-analysis

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

  1. 确定首字母缩略词和标题(ICANN,博士博士等)
  2. 行话
  3. 阅读水平
  4. 副词和形容词
  5. 正确的语法和标点符号
  6. 主动和被动的声音
  7. 我看了Stanford NLP library,但不知道他们在谈论什么(可能是因为我没有语言学学位)。

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

3 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:1)

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

2。)不确定,您必须更加具体地了解您要完成的任务。

3。)使用lingua gem并查看此tutorial

4。)查看engtagger,Ruby语音标记库。

5.)我不知道有任何库可以自动检测正确的语法/标点符号错误(因为很多情况下没有明确的正确答案)。然而,我做了一个人类可以纠正一个句子的宝石,宝石将自动显示不正确的句子和正确的句子之间的差异,包括错误的数量,错误的类型等。它被称为Chat Correct。< / p>

6。)查看名为verbs的宝石。

答案 2 :(得分:1)

查看linkparser gem。它分析整个句子,例如,你可以得到主语,动词,副词和形容词。我相信你也可以用这个宝石来识别句子中的首字母缩略词和标题。

https://github.com/ged/linkparser

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

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

确实是一个有趣的项目。