从英文文本中获取所有单词和标点符号

时间:2014-01-04 08:04:29

标签: ruby nlp text-analysis

我想做什么:

用户加载文本。我分析它并从中得到所有的单词和标点符号。现在,我可以轻松地为其他用户呈现文本,快速翻译每个单词或分析单词的其他信息。

现在我正在尝试使用treat gem(用于ruby的NLP)但是它有很多问题。

例如在句子中

“世界并非都是阳光和彩虹。”

它分为两个词“ai”和“not”

任何人都可以建议一些库或宝石,也许我可以用jruby实现,我可以在没有问题的情况下将单词和标点文本分开。

或者mb我的想法错了,还有其他方法吗?

2 个答案:

答案 0 :(得分:0)

为什么不从简单的扫描开始,使用简单的正则表达式从文本中获取所有单词? http://ruby-doc.org/core-2.1.0/String.html#method-i-scan

对于英语,正则表达式应该只是\ w,以及​​一些特殊字符,如'你指示。

答案 1 :(得分:0)

您是否尝试过使用同一作者的open-nlp gem?

有一个例子表明它可以做你想要的:

OpenNLP.load

text      = "The death of the poet was kept from his poems."
tokenizer = OpenNLP::SimpleTokenizer.new
tokens    = tokenizer.tokenize(text).to_a
# => %w[The death of the poet was kept from his poems .]

不幸的是,因为我的机器上没有jruby,所以我无法确认它是否与带有撇号的单词的情况一样正常工作。