我想做一些句子分析(主要针对 Twitter 应用程序)并推断一些一般特征。 Ruby 中有针对此类事情的优秀自然语言处理库吗?
如同有没有好的自然语言处理库 https://stackoverflow.com/questions/870460/java-is-there-a-good-natural-language-processing-library但对于鲁比来说。我更喜欢一些非常笼统的东西,但任何线索都会受到赞赏!
三个优秀且成熟的NLP包是斯坦福核心自然语言处理 http://nlp.stanford.edu/software/corenlp.shtml, Open NLP http://opennlp.apache.org/ and LingPipe http://alias-i.com/lingpipe/index.html。有 Ruby 绑定到斯坦福核心自然语言处理 https://github.com/louismullie/stanford-core-nlp工具(GPL 许可证)以及OpenNLP https://github.com/louismullie/open-nlp工具(Apache 许可证)。
在更具实验性的方面,我坚持文本检索、提取和注释工具包 https://github.com/louismullie/treat(Treat),在 GPL 下发布,为 Ruby 中几乎所有与 NLP 相关的 gem 提供了通用 API。下面的Treat功能列表也可以作为与Ruby 1.9兼容的稳定自然语言处理gem方面的一个很好的参考。
- 文本分段器和分词器(
punkt-segmenter
, tactful_tokenizer
, srx-english
, scalpel
)
- 英语、法语和德语的自然语言解析器以及英语的命名实体提取(
stanford-core-nlp
).
- 词形变化和词形变化(
linguistics
), 词干 (ruby-stemmer
, uea-stemmer
, lingua
, etc.)
- WordNet 接口(
rwordnet
)、词性标注器 (rbtagger
, engtagger
, etc.)
- 语言 (
whatlanguage
), 约会时间 (chronic
, kronic
, nickel
), 关键字 (lda-ruby
)提取。
- 通过索引和全文搜索进行文本检索(
ferret
).
- 命名实体提取(
stanford-core-nlp
).
- 使用决策树的基本机器学习(
decisiontree
), MLP (ruby-fann
), SVM (rb-libsvm
)和线性分类(tomz-liblinear-ruby-swig
).
- 文本相似度度量(
levenshtein-ffi
, fuzzy-string-match
, tf-idf-similarity
).
未包含在 Treat 中,但与 NLP 相关:hotwater https://github.com/colinsurprenant/hotwater(字符串距离算法),yomu https://github.com/Erol/yomu(Apache Tiki 的绑定器,用于读取 .doc、.docx、.pages、.odt、.rtf、.pdf),图等级 https://github.com/louismullie/graph-rank(GraphRank 的实现)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)