Skip to content

Commit b2d6814

Browse files
committed
Added the first version.
1 parent 2a0272f commit b2d6814

File tree

1 file changed

+231
-1
lines changed

1 file changed

+231
-1
lines changed

README.md

+231-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,231 @@
1-
# machine-learning-with-ruby
1+
# Machine Learning with Ruby [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)
2+
3+
[<img src="ruby.jpg" align="right" width="100px" height="100px" />][ruby]
4+
5+
> Useful resources for machine learning in [Ruby][ruby]
6+
7+
This curated list comprises [_awesome_](https://github.com/sindresorhus/awesome/blob/master/awesome.md)
8+
resources, libraries, information sources about Machine Learning with the [Ruby programming language](ruby).
9+
10+
This list comes from our day to day work on ML Applications.
11+
12+
Our main goal is to promote Ruby as a tool for NLP related tasks. Your help,
13+
suggestions and contributions are welcome! We kindly ask you to study
14+
the [Contribution](#contributing) section. Follow us on [Twitter](https://twitter.com/RubyNLP)
15+
and please spread the word using the `#RubyML` hash tag!
16+
17+
<!-- nodoc -->
18+
## Contents
19+
20+
<!-- toc -->
21+
22+
- [Machine Learning Libraries](#machine-learning-libraries)
23+
- [Articles, Posts, Talks, and Presentations](#articles-posts-talks-and-presentations)
24+
- [Projects and Code Examples](#projects-and-code-examples)
25+
- [Books](#books)
26+
- [Community](#community)
27+
- [Needs your Help!](#needs-your-help)
28+
- [Related Resources](#related-resources)
29+
- [Contributing](#contributing)
30+
- [License](#license)
31+
32+
<!-- tocstop -->
33+
34+
<!-- doc -->
35+
36+
## Machine Learning Libraries
37+
38+
[Machine Learning](https://en.wikipedia.org/wiki/Machine_learning) Algorithms
39+
in pure Ruby or written in other programming languages with appropriate bindings
40+
for Ruby.
41+
42+
- [rb-libsvm](https://github.com/febeling/rb-libsvm) -
43+
Support Vector Machines with Ruby.
44+
- [weka-jruby](https://github.com/paulgoetze/weka-jruby) -
45+
JRuby bindings for Weka, different ML algorithms implemented through Weka.
46+
- [decisiontree](https://github.com/igrigorik/decisiontree) -
47+
Decision Tree ID3 Algorithm in pure Ruby
48+
<sup>[[post](https://www.igvita.com/2007/04/16/decision-tree-learning-in-ruby/)]</sup>.
49+
- [rtimbl](https://github.com/maspwr/rtimbl) -
50+
Memory based learners from the Timbl framework.
51+
- [classifier-reborn](https://github.com/jekyll/classifier-reborn) -
52+
General classifier module to allow Bayesian and other types of classifications.
53+
- [lda-ruby](https://github.com/ealdent/lda-ruby) -
54+
Ruby implementation of the [LDA](https://en.wikipedia.org/wiki/Latent_Dirichlet_allocation)
55+
(Latent Dirichlet Allocation) for automatic Topic Modelling and Document Clustering.
56+
- [liblinear-ruby-swig](https://github.com/tomz/liblinear-ruby-swig) -
57+
Ruby interface to LIBLINEAR (much more efficient than LIBSVM for text classification).
58+
- [linnaeus](https://github.com/djcp/linnaeus) -
59+
Redis-backed Bayesian classifier.
60+
- [maxent_string_classifier](https://github.com/mccraigmccraig/maxent_string_classifier) -
61+
JRuby maximum entropy classifier for string data, based on the OpenNLP Maxent framework.
62+
- [naive_bayes](https://github.com/reddavis/Naive-Bayes) -
63+
Simple Naive Bayes classifier.
64+
- [nbayes](https://github.com/oasic/nbayes) -
65+
Full-featured, Ruby implementation of Naive Bayes.
66+
- [omnicat](https://github.com/mustafaturan/omnicat) -
67+
Generalized rack framework for text classifications.
68+
- [omnicat-bayes](https://github.com/mustafaturan/omnicat-bayes) -
69+
Naive Bayes text classification implementation as an OmniCat classifier strategy.
70+
- [ruby-fann](https://github.com/tangledpath/ruby-fann) -
71+
Ruby bindings to the [Fast Artificial Neural Network Library (FANN)](http://leenissen.dk/fann/wp/).
72+
73+
## Articles, Posts, Talks, and Presentations
74+
75+
- 2017
76+
- _Scientific Computing on JRuby_ by [Prasun Anand](https://twitter.com/prasun_anand)
77+
<sup>[[slides](https://www.slideshare.net/PrasunAnand2/fosdem2017-scientific-computing-on-jruby) |
78+
[video](https://ftp.fau.de/fosdem/2017/K.4.201/ruby_scientific_computing_on_jruby.mp4) |
79+
[slides](https://www.slideshare.net/PrasunAnand2/scientific-computing-on-jruby) |
80+
[slides](https://www.slideshare.net/PrasunAnand2/scientific-computation-on-jruby)]</sup>
81+
- _Unicode Normalization in Ruby_ by [Starr Horne](https://twitter.com/starrhorne)
82+
<sup>[[post](http://blog.honeybadger.io/ruby_unicode_normalization/)]</sup>
83+
- 2016
84+
- _Quickly Create a Telegram Bot in Ruby_ by [Ardian Haxha](https://twitter.com/ArdianHaxha)
85+
<sup>[[tutorial](https://www.sitepoint.com/quickly-create-a-telegram-bot-in-ruby/)]</sup>
86+
- _Deep Learning: An Introduction for Ruby Developers_ by [Geoffrey Litt](https://twitter.com/geoffreylitt)
87+
<sup>[[slides](https://speakerdeck.com/geoffreylitt/deep-learning-an-introduction-for-ruby-developers)]</sup>
88+
- _How I made a pure-Ruby word2vec program more than 3x faster_ by [Kei Sawada](https://twitter.com/remore)
89+
<sup>[[slides](https://speakerdeck.com/remore/how-i-made-a-pure-ruby-word2vec-program-more-than-3x-faster)]</sup>
90+
- _Dōmo arigatō, Mr. Roboto: Machine Learning with Ruby_ by [Eric Weinstein](https://twitter.com/ericqweinstein)
91+
<sup>[[slides](https://speakerdeck.com/ericqweinstein/domo-arigato-mr-roboto-machine-learning-with-ruby) | [video](https://www.youtube.com/watch?v=T1nFQ49TyeA)]</sup>
92+
- 2015
93+
- _N-gram Analysis for Fun and Profit_ by [Jesus Castello](https://github.com/matugm)
94+
<sup>[[tutorial](http://www.blackbytes.info/2015/09/ngram-analysis-ruby/)]</sup>
95+
- _Machine Learning made simple with Ruby_ by [Lorenzo Masini](https://github.com/rugginoso)
96+
<sup>[[tutorial](https://www.leanpanda.com/blog/2015/08/24/machine-learning-automatic-classification/)]</sup>
97+
- _Using Ruby Machine Learning to Find Paris Hilton Quotes_ by [Rick Carlino](https://github.com/RickCarlino)
98+
<sup>[[tutorial](https://web-beta.archive.org/web/20160515115739/http://datamelon.io/blog/2015/using-ruby-machine-learning-id-paris-hilton-quotes.html)]</sup>
99+
- _Exploring Natural Language Processing in Ruby_ by [Kevin Dias](https://github.com/diasks2)
100+
<sup>[[slides](https://www.slideshare.net/diasks2/exploring-natural-language-processing-in-ruby)]</sup>
101+
- _Machine Learning made simple with Ruby_ by [Lorenzo Masini](https://twitter.com/rugginoso)
102+
<sup>[[post](https://www.leanpanda.com/blog/2015/08/24/machine-learning-automatic-classification/)]</sup>
103+
- _Practical Data Science in Ruby_ by Bobby Grayson
104+
<sup>[[slides](http://slides.com/bobbygrayson/p#/)]</sup>
105+
- 2014
106+
- _Natural Language Parsing with Ruby_ by [Glauco Custódio](https://github.com/glaucocustodio)
107+
<sup>[[tutorial](http://glaucocustodio.github.io/2014/11/10/natural-language-parsing-with-ruby/)]</sup>
108+
- _Demystifying Data Science: Analyzing Conference Talks with Rails and Ngrams_ by
109+
[Todd Schneider](https://github.com/toddwschneider)
110+
<sup>[[video](https://www.youtube.com/watch?v=2ZDCxwB29Bg) | [code](https://github.com/Genius/abstractogram)]</sup>
111+
- _Natural Language Processing with Ruby_ by [Konstantin Tennhard](https://github.com/t6d)
112+
<sup>[[video](https://www.youtube.com/watch?v=5u86qVh8r0M) | [video](https://www.youtube.com/watch?v=oFmy_QBQ5DU) |
113+
[video](https://www.youtube.com/watch?v=sPkeeWnsMn0) |
114+
[slides](http://euruko2013.org/speakers/presentations/natural_language_processing_with_ruby_and_opennlp-tennhard.pdf)]</sup>
115+
- 2013
116+
- _How to parse 'go' - Natural Language Processing in Ruby_ by
117+
[Tom Cartwright](https://twitter.com/tomcartwrightuk)
118+
<sup>[[slides](https://www.slideshare.net/TomCartwright/natual-language-processing-in-ruby) |
119+
[video](https://skillsmatter.com/skillscasts/4883-how-to-parse-go)]</sup>
120+
- _Natural Language Processing in Ruby_ by [Brandon Black](https://github.com/brandonblack)
121+
<sup>[[slides](https://speakerdeck.com/brandonblack/natural-language-processing-in-ruby) |
122+
[video](http://confreaks.tv/videos/railsconf2013-natural-language-processing-with-ruby)]</sup>
123+
- _Natural Language Processing with Ruby: n-grams_ by [Nathan Kleyn](https://github.com/nathankleyn)
124+
<sup>[[tutorial](https://www.sitepoint.com/natural-language-processing-ruby-n-grams/) |
125+
[code](https://github.com/nathankleyn/ruby_nlp)]</sup>
126+
- _Seeking Lovecraft, Part 1: An introduction to NLP and the Treat Gem_ by
127+
[Robert Qualls](https://github.com/rlqualls)
128+
<sup>[[tutorial](https://www.sitepoint.com/seeking-lovecraft-part-1-an-introduction-to-nlp-and-the-treat-gem/)]</sup>
129+
- 2012
130+
- _Machine Learning with Ruby, Part One_ by [Vasily Vasinov](https://twitter.com/vasinov)
131+
<sup>[[tutorial](http://www.vasinov.com/blog/machine-learning-with-ruby-part-one/)]</sup>
132+
- 2011
133+
- _Ruby one-liners_ by [Benoit Hamelin](https://twitter.com/benoithamelin)
134+
<sup>[[post](http://benoithamelin.tumblr.com/ruby1line)]</sup>
135+
- _Clustering in Ruby_ by [Colin Drake](https://twitter.com/colinfdrake)
136+
<sup>[[post](https://colindrake.me/2011/05/28/clustering-in-ruby/)]</sup>
137+
- 2010
138+
- _bayes_motel – Bayesian classification for Ruby_ by [Mike Perham](https://twitter.com/mperham)
139+
<sup>[[post](http://www.mikeperham.com/2010/04/28/bayes_motel-bayesian-classification-for-ruby/)]</sup>
140+
- 2009
141+
- _Porting the UEA-Lite Stemmer to Ruby_ by [Jason Adams](https://twitter.com/ealdent)
142+
<sup>[[post](https://ealdent.wordpress.com/2009/07/16/porting-the-uea-lite-stemmer-to-ruby/)]</sup>
143+
- _NLP Resources for Ruby_ by [Jason Adams](https://twitter.com/ealdent)
144+
<sup>[[post](https://ealdent.wordpress.com/2009/09/13/nlp-resources-for-ruby/)]</sup>
145+
- 2008
146+
- _Support Vector Machines (SVM) in Ruby_ by [Ilya Grigorik](https://twitter.com/igrigorik)
147+
<sup>[[post](https://www.igvita.com/2008/01/07/support-vector-machines-svm-in-ruby/)]</sup>
148+
- _Practical text classification with Ruby_ by [Gleicon Moraes](https://twitter.com/gleicon)
149+
<sup>[[post](https://zenmachine.wordpress.com/practical-text-classification-with-ruby/) |
150+
[code](https://github.com/gleicon/zenmachine)]</sup>
151+
- 2007
152+
- _Decision Tree Learning in Ruby_ by [Ilya Grigorik](https://twitter.com/igrigorik)
153+
<sup>[[post](https://www.igvita.com/2007/04/16/decision-tree-learning-in-ruby/)]</sup>
154+
155+
## Projects and Code Examples
156+
157+
- [Going the Distance](https://github.com/schneems/going_the_distance) -
158+
Implementations of various distance algorithms with example calculations.
159+
- [Named entity recognition with Stanford NER and Ruby](https://github.com/mblongii/ruby-ner) -
160+
NER Examples in Ruby and Java with some [explanations](https://web.archive.org/web/20120722225402/http://mblongii.com/2012/04/15/named-entity-recognition-with-stanford-ner-and-ruby/).
161+
- [Words Counted](http://rubywordcount.com/) -
162+
examples of customizable word statistics powered by
163+
[words_counted](https://github.com/abitdodgy/words_counted).
164+
165+
## Books
166+
167+
## Community
168+
169+
- [Reddit](https://www.reddit.com/r/LanguageTechnology/search?q=ruby&restrict_sr=on)
170+
- [Stack Overflow](http://stackoverflow.com/search?q=%5Bnlp%5D+and+%5Bruby%5D)
171+
- [Twitter](https://twitter.com/search?q=Ruby%20NLP%20%23ruby%20OR%20%23nlproc%20OR%20%23rubynlp%20OR%20%23nlp&src=typd&lang=en)
172+
173+
## Needs your Help!
174+
175+
All projects in this section are really important for the community but need
176+
more attention. Please if you have spare time and dedication spend some hours
177+
on the code here.
178+
179+
## Related Resources
180+
181+
- [Awesome Ruby](https://github.com/markets/awesome-ruby#natural-language-processing) -
182+
Among other awesome items a short list of NLP related projects.
183+
- [Ruby NLP](https://github.com/diasks2/ruby-nlp) -
184+
State-of-Art collection of Ruby libraries for NLP.
185+
- [Speech and Natural Language Processing](https://github.com/edobashira/speech-language-processing) -
186+
General List of NLP related resources (mostly not for Ruby programmers).
187+
- [Scientific Ruby](http://sciruby.com/) -
188+
Linear Algebra, Visualization and Scientific Computing for Ruby.
189+
- [iRuby](https://github.com/SciRuby/iruby) - IRuby kernel for Jupyter (formelly IPython).
190+
- [Kiba](https://github.com/thbar/kiba) -
191+
Lightweight [ETL](https://en.wikipedia.org/wiki/Extract,_transform,_load) (Extract, Transform, Load) pipeline.
192+
- [Awesome OCR](https://github.com/kba/awesome-ocr) -
193+
Multitude of OCR (Optical Character Recognition) resources.
194+
- [Awesome TensorFlow](https://github.com/jtoy/awesome-tensorflow) -
195+
Machine Learning with TensorFlow libraries.
196+
- [rb-gsl](https://github.com/SciRuby/rb-gsl) -
197+
Ruby interface to the [GNU Scientific Library](https://www.gnu.org/software/gsl/).
198+
- [The Definitive Guide to Ruby's C API](https://silverhammermba.github.io/emberb/) -
199+
Modern Reference and Tutorial on Embedding and Extending Ruby using C programming language.
200+
201+
## Contributing
202+
203+
We are very glad to see you in this section and highly appreciate any help!
204+
205+
But we also take care about the quality of this list. If you want to contribute
206+
please:
207+
208+
- agree that your work will be published under the terms of the `CC0` license;
209+
- carefully read the [Contribution Guidelines][contributing].
210+
211+
Some of the open tasks for contributors are listed in the [todo file][todo].
212+
You may want to start there.
213+
214+
## License
215+
216+
[![Creative Commons Zero 1.0](http://mirrors.creativecommons.org/presskit/buttons/80x15/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/) `Awesome ML with Ruby` by [Andrei Beliankou](https://github.com/arbox) and
217+
[Contributors](https://github.com/arbox/machine-learning-with-ruby/graphs/contributors).
218+
219+
To the extent possible under law, the person who associated CC0 with
220+
`Awesome ML with Ruby` has waived all copyright and related or neighboring rights
221+
to `Awesome ML with Ruby`.
222+
223+
You should have received a copy of the CC0 legalcode along with this
224+
work. If not, see <https://creativecommons.org/publicdomain/zero/1.0/>.
225+
226+
<!--- Links --->
227+
[ruby]: https://www.ruby-lang.org/en/
228+
[motivation]: https://github.com/arbox/nlp-with-ruby/blob/master/motivation.md
229+
[contributing]: https://github.com/arbox/nlp-with-ruby/blob/master/CONTRIBUTING.md
230+
[todo]: https://github.com/arbox/nlp-with-ruby/blob/master/todo.md
231+
[faq]: https://github.com/arbox/nlp-with-ruby/blob/master/FAQ.md

0 commit comments

Comments
 (0)