0

我想做的事:

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

现在我正在尝试使用treat gem(NLP for ruby​​),但它有很多问题。

例如在句子

“世界不全是阳光和彩虹。”

它将 ain't 分为两个词“ai”和“n't”

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

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

4

2 回答 2

0

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

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

于 2014-01-04T08:40:05.853 回答
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在我的机器上,我无法确认它对于带有撇号的单词的情况是否按预期工作。

于 2014-01-04T09:25:23.053 回答