Trois excellents et mature PNL paquets sont Stanford de Base de la PNL, Ouvrir la PNL et LingPipe. Il y a des Rubis pour les liaisons de la Stanford de Base de la PNL outils (licence GPL) ainsi que la OpenNLP outils (Licence Apache).
Sur les plus expérimentaux de choses, je maintiens une Récupération de Texte, d'Extraction et d'Annotation Toolkit (Traiter), publié sous la licence GPL, qui fournit une API commune pour presque tous les PNL liés à la gemme qui existe pour Ruby. La liste suivante de Traiter les caractéristiques peuvent également servir comme une bonne référence en termes de stabilité du traitement de la langue naturelle pierres précieuses compatible avec Ruby 1.9.
- Texte segmenters et des générateurs de jetons (
punkt-segmenter
, tactful_tokenizer
, srx-english
, scalpel
)
- Le langage naturel des analyseurs syntaxiques pour l'anglais, le français, l'allemand et l'extraction d'entités nommées pour l'anglais (
stanford-core-nlp
).
- Mot d'inflexion et de la conjugaison (
linguistics
), issu (ruby-stemmer
, uea-stemmer
, lingua
, etc.)
- WordNet interface (
rwordnet
), POS marqueurs (rbtagger
, engtagger
, etc.)
- Langue (
whatlanguage
), date/heure (chronic
, kronic
, nickel
), le mot clé (lda-ruby
) extraction.
- Récupération de texte avec l'indexation et la recherche de texte intégral (
ferret
).
- Nom de l'entité d'extraction (
stanford-core-nlp
).
- Machine de base de l'apprentissage avec les arbres de décision (
decisiontree
), Scm (ruby-fann
), les SVMs (rb-libsvm
) et de la classification linéaire (tomz-liblinear-ruby-swig
).
- Texte métriques de similarité (
levenshtein-ffi
, fuzzy-string-match
, tf-idf-similarity
).
Non inclus dans le traitement, mais qui sont pertinentes à la PNL: chaudes (string distance algorithmes), yomu (liants pour Apache Tiki pour la lecture .doc, .docx, .pages, .odt, .rtf, .pdf), graphique-rang (une mise en œuvre de GraphRank).