All Projects → parhamr → nlp-pure

parhamr / nlp-pure

Licence: MIT License
Natural language processing algorithms implemented in pure Ruby with minimal dependencies

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to nlp-pure

Dry Validation
Validation library with type-safe schemas and rules
Stars: ✭ 1,087 (+5621.05%)
Mutual labels:  rubygem, gem
Green Button Data
Fast Ruby parser and API client for Green Button data
Stars: ✭ 18 (-5.26%)
Mutual labels:  rubygem, gem
Dry Monads
Useful, common monads in idiomatic Ruby
Stars: ✭ 453 (+2284.21%)
Mutual labels:  rubygem, gem
modular routes
Dedicated controllers for each of your Rails route actions.
Stars: ✭ 45 (+136.84%)
Mutual labels:  rubygem, gem
Dry Logic
Predicate logic with rule composition
Stars: ✭ 118 (+521.05%)
Mutual labels:  rubygem, gem
Tty Exit
Terminal exit codes.
Stars: ✭ 101 (+431.58%)
Mutual labels:  rubygem, gem
Materialize Sass
Materializecss rubygem for Rails Asset Pipeline / Sprockets
Stars: ✭ 785 (+4031.58%)
Mutual labels:  rubygem, gem
Graphql devise
GraphQL interface on top devise_token_auth
Stars: ✭ 100 (+426.32%)
Mutual labels:  rubygem, gem
Api Fuzzer
API Fuzzer which allows to fuzz request attributes using common pentesting techniques and lists vulnerabilities
Stars: ✭ 238 (+1152.63%)
Mutual labels:  rubygem, gem
jquery-datatables
Jquery datatables ruby gems for assets pipeline
Stars: ✭ 73 (+284.21%)
Mutual labels:  rubygem, gem
deepflash2
A deep-learning pipeline for segmentation of ambiguous microscopic images.
Stars: ✭ 34 (+78.95%)
Mutual labels:  segmentation
Baysor
Bayesian Segmentation of Spatial Transcriptomics Data
Stars: ✭ 53 (+178.95%)
Mutual labels:  segmentation
pwdcalc
Take no risk and help your users to choose good passwords!
Stars: ✭ 11 (-42.11%)
Mutual labels:  gem
CISTEM
Stemmer for German
Stars: ✭ 33 (+73.68%)
Mutual labels:  segmentation
workbook
simple framework for containing spreadsheet like data
Stars: ✭ 13 (-31.58%)
Mutual labels:  rubygem
snapcrawl
Crawl a website and take screenshots
Stars: ✭ 37 (+94.74%)
Mutual labels:  gem
cluster tools
Distributed segmentation for bio-image-analysis
Stars: ✭ 26 (+36.84%)
Mutual labels:  segmentation
XNet
CNN implementation for medical X-Ray image segmentation
Stars: ✭ 71 (+273.68%)
Mutual labels:  segmentation
face video segment
Face Video Segmentation - Face segmentation ground truth from videos
Stars: ✭ 84 (+342.11%)
Mutual labels:  segmentation
PAPC
PAPC is a deep learning for point clouds platform based on pure PaddlePaddle
Stars: ✭ 55 (+189.47%)
Mutual labels:  segmentation

NLP Pure

Gem Version Code Climate Build Status Coverage Status

Natural language processing algorithms implemented in pure Ruby with minimal dependencies.

NOTE: this is not affiliated with, endorsed by, or in any way connected with Pure NLP, a trademark of John La Valle.

This project aims to provide functionality similar to Treat, open-nlp, and stanford-core-nlp but with fewer dependencies. The code is tested against English language but the algorithm implementations aim to be flexible for other languages.

Table of Contents

Installation

Add this line to your application’s Gemfile:

gem 'nlp-pure'

And then execute:

$ bundle

Or install it yourself as:

$ gem install nlp-pure

Usage

Simply require a library file and start using its interfaces! To preserve modularity and a small installation footprint, classes and modules are not recursively loaded up front.

Word Segmentation

$ bundle exec irb
irb(main):001:0> require 'nlp_pure/segmenting/default_word'
=> true
irb(main):002:0> NlpPure::Segmenting::DefaultWord.parse 'The quick brown fox jumps over the lazy dog.'
=> ["The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog."]
irb(main):003:0> NlpPure::Segmenting::DefaultWord.parse 'The New York-based company hired new staff.'
=> ["The", "New", "York", "based", "company", "hired", "new", "staff."]
irb(main):004:0> NlpPure::Segmenting::DefaultWord.parse 'The U.S.A. is a member of NATO.'
=> ["The", "U.S.A.", "is", "a", "member", "of", "NATO."]
irb(main):005:0> NlpPure::Segmenting::DefaultWord.parse "Mary had a little lamb,\nHis fleece was white as snow,\nAnd everywhere that Mary went,\nThe lamb was sure to go."
=> ["Mary", "had", "a", "little", "lamb,", "His", "fleece", "was", "white", "as", "snow,", "And", "everywhere", "that", "Mary", "went,", "The", "lamb", "was", "sure", "to", "go."]

Sentence Segmentation

M017-PDX:nlp-pure rp0616$ bundle exec irb
irb(main):001:0> require 'nlp_pure/segmenting/default_sentence'
=> true
irb(main):002:0> NlpPure::Segmenting::DefaultSentence.parse 'The U.S.A. is a member of NATO.'
=> ["The U.S.A. is a member of NATO."]
irb(main):003:0> NlpPure::Segmenting::DefaultSentence.parse 'Mary had a little lamb. The lamb\U+FFE2s fleece was white as snow. Everywhere that Mary went, the lamb was sure to go.'
=> ["Mary had a little lamb.", "The lambs fleece was white as snow.", "Everywhere that Mary went, the lamb was sure to go."]
irb(main):004:0> NlpPure::Segmenting::DefaultSentence.parse 'I am excited! Today is Friday.'
=> ["I am excited!", "Today is Friday."]

Supported Ruby Versions

This library aims to support and is tested against the following Ruby implementations:

If something doesn't work on one of these interpreters, it's a bug.

This library may inadvertently work (or seem to work) on other Ruby implementations, however support will only be provided for the versions listed above.

Versioning

This library aims to adhere to Semantic Versioning 2.0.0. Violations of this scheme should be reported as bugs. Specifically, if a minor or patch version is released that breaks backward compatibility, that version should be immediately yanked and/or a new version should be immediately released that restores compatibility. Breaking changes to the public API will only be introduced with new major versions. As a result of this policy, you can (and should) specify a dependency on this gem using the Pessimistic Version Constraint with two digits of precision. For example:

spec.add_dependency 'nlp-pure', '~> 0.1'

See Also

Search “nlp” at ruby-toolbox.com

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].