Ruby中的自然语言处理
artificial-intelligence
nlp
ruby
6
0

我希望进行一些句子分析(主要是针对Twitter应用程序)并推断一些一般特征。在Ruby中是否有用于这种事情的良好的自然语言处理库?

类似于是否有一个很好的自然语言处理库,但适用于Ruby。我更喜欢一些一般性的东西,但是任何潜在客户都很感激!

参考资料:
Stack Overflow
收藏
评论
共 9 个回答
高赞 时间 活跃

试试这个

https://github.com/louismullie/stanford-core-nlp

关于斯坦福核心NLP宝石

该gem提供了到Stanford Core NLP软件包的高级Ruby绑定,该软件包是用于标记化,句子分段,词性标记,词形化和英语,法语和德语解析的一组自然语言处理工具。该软件包还提供英语的命名实体识别和共指解析。

http://nlp.stanford.edu/software/corenlp.shtml演示页面http://nlp.stanford.edu:8080/corenlp/

收藏
评论

您需要更加具体地说明这些“一般特征”是什么。

在NLP中,句子的“一般特征”可以表示一百万种不同的事物-情感分析(即说话者的态度),语音标记的基本部分,人称代词的使用,句子中包含主动或被动动词,动词的时态和语态...

我不介意您是否不确定要描述它,但是如果我们不知道您在问什么,我们就不太可能具体地为您提供帮助。

我的一般建议(尤其是对于NLP)是,您应该获得最适合该工作的工具,而不是将自己局限于特定的语言。对于某些任务,将自己限制为一种特定的语言很好,因为这些任务在各处都实现了通用工具,但NLP并不是其中之一。

使用Twitter的另一个问题是大量的句子,其中一半会以奇怪而奇妙的方式被烘焙或压缩-大多数NLP工具都未经训练。为了帮助那里, NUS SMS语料库由“学生收集的大约10,000条SMS消息”组成。由于类似的限制和用法,分析可能对您使用Twitter进行探索很有帮助。

如果您更具体,我会尝试列出一些有帮助的工具。

收藏
评论

还可以考虑使用诸如MonkeyLearn之类的SaaS API。您可以轻松地通过机器学习训练文本分类器,并通过API进行集成。有一个Ruby SDK

除了创建自己的分类器以外,您还可以选择预先创建的模块进行情感分析,主题分类,语言检测等。我们还有诸如关键字提取和实体之类的提取器,并且我们将继续添加更多的公共模块。

其他不错的功能:

  • 您具有用于创建/测试算法的GUI。
  • 算法在我们的云计算平台中运行非常快。
  • 您可以与Ruby或任何其他编程语言集成。
收藏
评论

Stanford Core NLPOpen NLPLingPipe是三个优秀且成熟的NLP软件包。 Stanford Core NLP工具(GPL许可证)和OpenNLP工具(Apache许可证)都有Ruby绑定。

在实验性方面,我维护了GPL下发布的文本检索,提取和注释工具包 (Treat),该工具包为几乎所有与Ruby相关的NLP相关的宝石提供了通用的API。下面的Treat功能列表对于稳定的与Ruby 1.9兼容的自然语言处理gem也可以提供很好的参考。

  • 文本分割器和标记器( punkt-segmentertactful_tokenizersrx-englishscalpel
  • 用于英语,法语和德语的自然语言解析器,以及用于英语( stanford-core-nlp )的命名实体提取。
  • 词干变化和词变( linguistics ),词干( ruby-stemmeruea-stemmerlingua等)
  • WordNet介面( rwordnet ),POS标记器( rbtaggerengtagger等)
  • 语言( whatlanguage ),日期/时间( chronickronicnickel ),关键字( lda-ruby )萃取。
  • 具有索引和全文搜索的文本检索( ferret )。
  • 命名为实体提取( stanford-core-nlp )。
  • 基本的机器学习,包括决策树( decisiontree ),MLP( ruby-fann fann),SVM( rb-libsvm )和线性分类( tomz-liblinear-ruby-swig )。
  • 文本相似性指标( levenshtein-ffifuzzy-string-matchtf-idf-similarity levenshtein-ffi )。

不包含在Treat中,但与NLP相关: 热水 (字符串距离算法), yomu (与Apache Tiki绑定以读取.doc,.docx,.pages,.odt,.rtf,.pdf), 图形等级 (一种实现GraphRank)。

收藏
评论

我在GitHub上维护了Ruby Natural Language Processing资源列表(库,API和演示文稿),其中涵盖了此处其他答案中列出的库以及一些其他库。

收藏
评论

尽管Ruby Linguistics似乎有很多东西,但也有一些链接,尽管它似乎还远不及NLTK对于Python的东西。

收藏
评论

我在这里找到了一篇很好的文章,详细介绍了Ruby中的一些NLP算法。这包括词干分析器,日期时间解析器和语法解析器。

收藏
评论

TREAT –文本检索和注释工具包–是我所知道的最全面的Ruby工具包: https : //github.com/louismullie/treat/wiki/

收藏
评论

您可以始终使用jruby并使用java库。

编辑:能够在jvm上本地执行ruby并轻松利用java库是rubyists的一大优点。在这种情况下,应该考虑这是一个很好的选择。

JAVA中使用哪个NLP工具包?

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号