nlp-with-ruby
by arbox
Curated List: Practical Natural Language Processing done in Ruby
AI summary
NLP toolkit
A curated collection of resources and libraries for natural language processing tasks in Ruby
- stars
- 1K
- forks
- 70
- watching
- 58
- awesome lists
- 8
- entries
- 160
What's in the list
160 links in 42 sections, with live GitHub stats.activeno commit in 2y
NLP Pipeline Subtasks / Pipeline Generation
composable_operations
- Definition framework for operation pipelines
ruby-spark
- Spark bindings with an easy to understand DSL
phobos
- Simplified Ruby Client for
parallel
- Supervisor for parallel execution on multiple CPUs or in many threads
pwrake
- Rake extensions to run local and remote tasks in parallel
NLP Pipeline Subtasks / Multipurpose Engines
open-nlp
- Ruby Bindings for the Toolkit
stanford-core-nlp
- Ruby Bindings for the Stanford tools
treat
- Natural Language Processing framework for Ruby (like for Python)
nlp_toolz
- Wrapper over some classes and the original
open_nlp
- JRuby Bindings for the Toolkit
ruby-spacy
— Wrapper module for spaCy NLP library via
alchemyapi_ruby
- Legacy Ruby SDK for AlchemyAPI/Bluemix
wit-ruby
- Ruby client library for the Language Understanding Platform
wlapi
Ruby client library for web services
monkeylearn-ruby
Sentiment Analysis, Topic Modelling, Language Detection, Named Entity Recognition via a Ruby based Web API client
google-cloud-language
- Google's Natural Language service API for Ruby
NLP Pipeline Subtasks / Language Identification
scylla
- Language Categorization and Identification
NLP Pipeline Subtasks / Segmentation
tokenizer
- Simple multilingual tokenizer
pragmatic_tokenizer
- Multilingual tokenizer to split a string into tokens
nlp-pure
- Natural language processing algorithms implemented in pure Ruby with minimal dependencies
textoken
- Simple and customizable text tokenization library
pragmatic_segmenter
- Word Boundary Disambiguation with many cookies
punkt-segmenter
- Pure Ruby implementation of the Punkt Segmenter
tactful_tokenizer
- RegExp based tokenizer for different languages
scapel
- Sentence Boundary Disambiguation tool
NLP Pipeline Subtasks / Lexical Processing
ruby-stemmer
- Ruby-Stemmer exposes the SnowBall API to Ruby
uea-stemmer
- Conservative stemmer for search and indexing
lemmatizer
- WordNet based Lemmatizer for English texts
wc
- Facilities to count word occurrences in a text
word_count
- Word counter for and objects
words_counted
- Pure Ruby library counting word statistics with different custom options
stopwords-filter
Filter and Stop Word Lexicon based on the SnowBall lemmatizer
NLP Pipeline Subtasks / Phrasal Level Processing
n_gram
- N-Gram generator
ruby-ngram
- Break words and phrases into ngrams
raingrams
- Flexible and general-purpose ngrams library written in pure Ruby
NLP Pipeline Subtasks / Syntactic Processing
- stanfordparser
- Ruby based wrapper for the Stanford Parser
rley
- Pure Ruby implementation of the Parsing Algorithm for Context-Free Constituency Grammars
rsyntaxtree
- Visualization for syntactic trees in Ruby based on
NLP Pipeline Subtasks / Semantic Analysis
amatch
- Set of five distance types between strings (including Levenshtein, Sellers, Jaro-Winkler, 'pair distance')
damerau-levenshtein
- Calculates edit distance using the Damerau-Levenshtein algorithm
hotwater
- Fast Ruby FFI string edit distance algorithms
levenshtein-ffi
- Fast string edit distance computation, using the Damerau-Levenshtein algorithm
tf_idf
- Term Frequency / Inverse Document Frequency in pure Ruby
tf-idf-similarity
- Calculate the similarity between texts using TF/IDF
NLP Pipeline Subtasks / Pragmatical Analysis
SentimentLib
- Simple extensible sentiment analysis gem
High Level Tasks / Spelling and Error Correction
gingerice
- Spelling and Grammar corrections via the API
hunspell-i18n
- Ruby bindings to the standard Spell Checker
ffi-hunspell
- FFI based Ruby bindings for
hunspell
- Ruby bindings to via Ruby C API
High Level Tasks / Text Alignment
alignment
- Alignment routines for bilingual texts (Gale-Church implementation)
High Level Tasks / Machine Translation
google-api-client
- Google API Ruby Client
microsoft_translator
- Ruby client for the microsoft translator API
termit
- Google Translate with speech synthesis in your terminal
zipf
- implementation of BLEU and other base algorithms
High Level Tasks / Sentiment Analysis
stimmung
- Semantic Polarity based on the lexicon
High Level Tasks / Numbers, Dates, and Time Parsing
chronic
- Pure Ruby natural language date parser
chronic_between
- Simple Ruby natural language parser for date and time ranges
chronic_duration
- Pure Ruby parser for elapsed time
kronic
- Methods for parsing and formatting human readable dates
nickel
- Extracts date, time, and message information from naturally worded text
tickle
- Parser for recurring and repeating events
numerizer
- Ruby parser for English number expressions
High Level Tasks / Named Entity Recognition
High Level Tasks / Text-to-Speech-to-Text
espeak-ruby
- Small Ruby API for utilizing 'espeak' and 'lame' to create text-to-speech mp3 files
tts
- Text-to-Speech conversion using the Google translate service
att_speech
- Ruby wrapper over the AT&T Speech API for speech to text
pocketsphinx-ruby
- Pocketsphinx bindings
Dialog Agents, Assistants, and Chatbots
chatterbot
- Straightforward ruby-based Twitter Bot Framework, using OAuth to authenticate
lita
- Highly extensible chat operation bot framework written with persistent storage on
Linguistic Resources
Machine Learning Libraries
rb-libsvm
- Support Vector Machines with Ruby
weka
- JRuby bindings for Weka, different ML algorithms implemented through Weka
decisiontree
- Decision Tree ID3 Algorithm in pure Ruby
rtimbl
- Memory based learners from the Timbl framework
classifier-reborn
- General classifier module to allow Bayesian and other types of classifications
lda-ruby
- Ruby implementation of the (Latent Dirichlet Allocation) for automatic Topic Modelling and Document Clustering
liblinear-ruby-swig
- Ruby interface to LIBLINEAR (much more efficient than LIBSVM for text classification)
linnaeus
- Redis-backed Bayesian classifier
maxent_string_classifier
- JRuby maximum entropy classifier for string data, based on the OpenNLP Maxent framework
naive_bayes
- Simple Naive Bayes classifier
nbayes
- Full-featured, Ruby implementation of Naive Bayes
omnicat
- Generalized rack framework for text classifications
omnicat-bayes
- Naive Bayes text classification implementation as an OmniCat classifier strategy
ruby-fann
- Ruby bindings to the
rblearn
Feature Extraction and Crossvalidation library
Optical Character Recognition
tesseract-ocr
- FFI based wrapper over the
Text Extraction
yomu
- library for extracting text and metadata from files and documents using the content analysis toolkit
Full Text Search, Information Retrieval, Indexing
rsolr
- Ruby and Rails client library for
sunspot
- Rails centric client for
thinking-sphinx
- plugin for using in (not only) Rails based projects
elasticsearch
- Ruby client and API for
elasticsearch-rails
- Ruby and Rails integrations for
google-api-client
- Ruby API library for services
Language Aware String Manipulation
fuzzy_match
- Fuzzy string comparison with Distance measures and Regular Expression
fuzzy-string-match
- Fuzzy string matching library for Ruby
active_support
- RoR gem has various string extensions that can handle case
fuzzy_tools
- Toolset for fuzzy searches in Ruby tuned for accuracy
- u
- U extends Ruby’s Unicode support
unicode
- Unicode normalization library
CommonRegexRuby
- Find a lot of kinds of common information in a string
regexp-examples
- Generate strings that match a given regular expression
verbal_expressions
- Make difficult regular expressions easy
translit_kit
- Transliterate Hebrew & Yiddish text into Latin characters
re2
- hight-speed Regular Expression library for Text Mining and Text Extraction
regex_sample
- sample string generation from a given Regular Expression
iuliia
— transliteration Cyrillic to Latin in many possible ways (defined by the )
Articles, Posts, Talks, and Presentations / 2019
- aonemd
by
Articles, Posts, Talks, and Presentations / 2018
Articles, Posts, Talks, and Presentations / 2017
Articles, Posts, Talks, and Presentations / 2016
Articles, Posts, Talks, and Presentations / 2015
Articles, Posts, Talks, and Presentations / 2014
Articles, Posts, Talks, and Presentations / 2013
Articles, Posts, Talks, and Presentations / 2012
Articles, Posts, Talks, and Presentations / 2011
Articles, Posts, Talks, and Presentations / 2010
Articles, Posts, Talks, and Presentations / 2009
Articles, Posts, Talks, and Presentations / 2008
Articles, Posts, Talks, and Presentations / 2007
Articles, Posts, Talks, and Presentations / 2006
Projects and Code Examples
Going the Distance
- Implementations of various distance algorithms with example calculations
Named entity recognition with Stanford NER and Ruby
- NER Examples in Ruby and Java with some
- Words Counted
- examples of customizable word statistics powered by
- RSyntaxTree
- Web based demonstration of the syntactic tree visualization
Books
- Miller, Rob
. Pragmatic Programmers, 2015
- Watson, Mark
. APRESS, 2010
- Watson, Mark
. Lulu, 2010
Community
Needs your Help!
Related Resources
Awesome Ruby
- Among other awesome items a short list of NLP related projects
Ruby NLP
- State-of-Art collection of Ruby libraries for NLP
Speech and Natural Language Processing
- General List of NLP related resources (mostly not for Ruby programmers)
- Scientific Ruby
- Linear Algebra, Visualization and Scientific Computing for Ruby
iRuby
IRuby kernel for Jupyter (formelly IPython)
Awesome OCR
- Multitude of OCR (Optical Character Recognition) resources
Awesome TensorFlow
- Machine Learning with TensorFlow libraries
Nothing in this list matches your filter.
Featured in 8 awesome lists
Each link jumps to the spot where the list mentions nlp-with-ruby.
More related projects
cmusphinx/pocketsphinx-ruby13
web64/norwegian-nlp-resources178
influitive/apartment2.7K
mattjohnsonpint/timezoneconverter847
rails-api/rails-api5.2K
giuse/dne125
ffi/ffi2.1K
explosion/spacy30.5K
janko/sequel-activerecord_connection138
bensheldon/good_job2.7K
richpeck/exception_handler508
comfy/comfy-bootstrap-form80
coderwall/coderwall-legacy860
redditsota/state-of-the-art-result-for-machine-learning-problems8.9K