
[Рубимл | Rubydatascience | Rubyinterop]
Потрясающий NLP с Ruby 
Полезные ресурсы для обработки текста в Ruby
Этот курированный список включает в себя удивительные ресурсы, библиотеки, источники информации о вычислительной обработке текстов на человеческих языках с языком программирования Ruby. Эта область часто называют НЛП, вычислительной лингвистикой, HLT (технология человеческого языка) и может быть привлечена в сочетании с искусственным интеллектом, машинным обучением, поиском информации, добычей текста, извлечением знаний и другими связанными с ними дисциплинами.
Этот список поступает из нашей повседневной работы над языковыми моделями и инструментами НЛП. Прочитайте, почему этот список потрясающий. Наш FAQ описывает важные решения и полезные ответы, которые вас могут заинтересовать.
Каждый вклад приветствуется! Добавьте ссылки через запросы на развод или создайте проблему, чтобы начать обсуждение.
Следуйте за нами в Твиттере и, пожалуйста, распространите слово, используя хеш -тег #RubyNLP !
Содержимое
- Учебные пособия
- НЛП трубопроводы подзадачи
- Генерация трубопровода
- Многоцелевые двигатели
- Идентификация языка
- Сегментация
- Лексическая обработка
- Stemming
- Лемматизация
- Лексическая статистика: подсчет типов и токенов
- Фильтрация остановки слов
- Фразовая обработка
- Синтаксическая обработка
- Расположение избирательного округа
- Семантический анализ
- Прагматический анализ
- Задачи высокого уровня
- Правописание и исправление ошибок
- Выравнивание текста
- Машинный перевод
- Анализ настроений
- Цифры, даты и анализ времени
- Названное признание сущности
- Текст в речь в текст
- Диалог -агенты, помощники и чат -боты
- Лингвистические ресурсы
- Библиотеки машинного обучения
- Визуализация данных
- Оптическое распознавание персонажа
- Текстовое извлечение
- Полный текстовый поиск, поиск информации, индексация
- Манипуляция по струнам, осведомленным о языке
- Статьи, посты, разговоры и презентации
- Проекты и примеры кода
- Книги
- Сообщество
- Нужна ваша помощь!
- Связанные ресурсы
- Лицензия
Учебные пособия
Пожалуйста, помогите нам заполнить этот раздел! ?
НЛП трубопроводы подзадачи
Трубопровод NLP начинается с простого текста.
Генерация трубопровода
- Composable_operations - Определение структуры для эксплуатационных трубопроводов.
- Ruby -Spark - Spark Bindings с простым для понимания DSL.
- Phobos - упрощенный клиент Ruby для Apache Kafka.
- Параллель - руководитель параллельного выполнения на нескольких процессорах или во многих потоках.
- Pwrake - Расширения грабли для выполнения местных и удаленных задач параллельно.
Многоцелевые двигатели
- Open -NLP - Рубиновые привязки для инструментария OpenNLP.
- Стэнфорд-CORE-NLP-Рубиновые привязки для инструментов Stanford Corenlp.
- Лечение - структура обработки естественного языка для Ruby (например, NLTK для Python).
- nlp_toolz - обертка по некоторым классам OpenNLP и оригинальным Berkeley Parser.
- OPEN_NLP - Jruby Bindings для инструментария OpenNLP.
- Ruby-Spacy-модуль обертки для библиотеки Spacy NLP через Pycall.
Онлайн-API
- Alchemyapi_ruby - Legacy Ruby SDK для Alchemyapi/Bluemix.
- Wit -Ruby - клиентская библиотека Ruby для платформы для понимания языка Wit.ai.
- WLAPI - клиентская библиотека Ruby для веб -сервисов Wortschatz Leipzig.
- Monkeylearn -Ruby - Анализ настроений, моделирование тем, обнаружение языка, признание сущности через клиент Web API на основе Ruby.
- Google-Cloud-Language-API сервиса Google естественного языка для Ruby.
Идентификация языка
Идентификация языка является одним из первых важных шагов в каждом трубопроводе NLP.
- Scylla - языковая категоризация и идентификация.
Сегментация
Инструменты для токенизации, обнаружения границ и устранения границ.
- Токенизатор - простой многоязычный токенизатор. [Учебник]
- Pragmatic_tokenizer - многоязычный токенизатор для разделения струны на токены.
- NLP -PURE - Алгоритмы обработки естественного языка, внедренные в Pure Ruby с минимальными зависимостями.
- Текстук - простая и настраиваемая библиотека текстовых токенизаций.
- Pragmatic_segmenter - Граница слов неоднозначности со многими файлами cookie.
- Punkt -Segmenter - Чистая реализация рубинового сегментера Punkt.
- TACTFUL_TOKENIZER - REGEXP -токенизатор на основе различных языков.
- SCAPEL - Инструмент по устранению неоднозначности границы предложения.
Лексическая обработка
Stemming
Stemming - это термин, используемый в поиске информации для описания процесса снижения слов до некоторого базового представления. Стоки следует отличать от лемматизации, поскольку stems не обязательно имеют лингвистическую мотивацию.
- Ruby-Stemmer-Ruby-Stemmer обнажает API снежного кома на Ruby.
- UEA -stemmer - консервативный ствол для поиска и индексации.
Лемматизация
Лемматизация считается процессом поиска базовой формы слова. Леммы часто собираются в словарях.
- Lemmatizer - Lemmatizer на основе Wordnet для английских текстов.
Лексическая статистика: подсчет типов и токенов
- WC - Услуги, чтобы подсчитать возникновение слов в тексте.
- word_count - счетчик слов для
String и Hash -объектов. - words_counted - Статистика слов чисто рубиновой библиотеки с различными пользовательскими параметрами.
Фильтрация остановки слов
- Стоп -слова -фильтр - фильтровать и остановить слово лексикон на основе лемматизатора снежного кома.
Фразовая обработка
- n_gram - n -грамм генератор.
- Ruby -Ngram - Разбейте слова и фразы на NGRAMS.
- Raingrams - Гибкая и общая библиотека NGRAMS, написанная в Pure Ruby.
Синтаксическая обработка
Расположение избирательного округа
- StanfordParser - Рубинская обертка для Стэнфордского парсера.
- RLEY - ЧИСТОЙ РУБИ Внедрение алгоритма диапазона Эрли для контекстных грамматок избирательных округов.
- rsyntaxtree - визуализация синтаксических деревьев в Ruby на основе Rmagick. [DEP: ImageMagick]
Семантический анализ
- Amatch - набор из пяти типов расстояний между строками (включая Levenshtein, Sellers, Jaro -Winkler, «Пара расстояния»).
- Damerau-levenshtein-рассчитывает расстояние редактирования с использованием алгоритма Damerau-levenshtein.
- Горячая вода - Быстрый рубиновый FFI. Редактировать алгоритмы расстояния.
- LEVENSHTEIN-FFI-быстрое редактирование строк, используя алгоритм Damerau-levenshtein.
- TF_IDF - Терминчатная частота / частота обратного документа в чистом рубине.
- TF-IDF-Simwarity-Рассчитайте сходство между текстами с использованием TF/IDF.
Прагматический анализ
- SentimentLib - простой расширяемый анализ настроений драгоценный камень.
Задачи высокого уровня
Правописание и исправление ошибок
- Имбирь - правописание и грамматические исправления через Ginger API.
- Hunspell -I18N - Рубиновые привязки с стандартной проверкой орфографии Hunspell.
- FFI -Hunspell - FFI на основе рубиновых привязков для Hunspell.
- Hunspell - Ruby Bindings с Hunspell через Ruby C API.
Выравнивание текста
- Выравнивание - процедуры выравнивания для двуязычных текстов (реализация Gale -Church).
Машинный перевод
- Google-Api-Client-Google API Ruby Client.
- Microsoft_translator - Ruby Client для API Microsoft Translator.
- Термит - Google переводится с синтезом речи в вашем терминале.
- ZIPF - реализация Bleu и других базовых алгоритмов.
Анализ настроений
- Stimmung - Семантическая полярность, основанная на лексиконе Sentiws.
Цифры, даты и анализ времени
- Хронический - чистый рубиновый естественный язык дата анализатора.
- Chronic_whetween - Простой проанализ из естественного языка для диапазонов дат и времени.
- Chronic_duration - Pure Ruby Salser в течение истечения времени.
- Кроника - Методы анализа и форматирования читаемых дат человека.
- Никель - извлекать дату, время и информацию об сообщениях из естественного сформулированного текста.
- Пощечатая - анализатор для повторяющихся и повторяющихся событий.
- Numerizer - Рубиновый анализатор для выражений номеров английского языка.
Названное признание сущности
- Руби -Ран - названное признание сущности со Стэнфордом Нер и Руби.
- Ruby-NLP-Ruby Binding для Stanford Pos-Tagger и название Entity Discoverizer.
Текст в речь в текст
- Espeak-Ruby-Small Ruby API для использования «espeak» и «rame» для создания MP3-файлов текста в речь.
- TTS-преобразование текста в речь с использованием службы Google Translate.
- ATT_SPEECH - Рубин -обертка над API речи AT & T для речи к тексту.
- PocketSphinx -Ruby - PocketSphinx Привязки.
Диалог -агенты, помощники и чат -боты
- Chatterbot - Прямая фреймворк Ruby на основе Ruby Twitter, используя OAuth для аутентификации.
- LITA - Очень расширяемая рамка чата бот фреймворк, написанная с постоянным хранилищем на Redis.
Лингвистические ресурсы
- RWordnet - Pure Ruby Self Self -API библиотека для Princeton Wordnet®.
- Wordnet - Performance Tuned Bindings для Princeton Wordnet®.
Библиотеки машинного обучения
Алгоритмы машинного обучения в чистом рубине или написано на других языках программирования с соответствующими привязками для Ruby.
Для получения более актуального списка, пожалуйста, посмотрите на Awesome Ml с Ruby List.
- RB -LIBSVM - Опорные векторные машины с Ruby.
- Weka - Jruby Bindings для Weka, различные алгоритмы ML, реализованные через Weka.
- DecisionTree - Алгоритм ID3 Tree Tree Tree3 в Pure Ruby [Post] .
- RTIMBL - Ученики на основе памяти из структуры TIMBL.
- Classifier -Horborn - Общий модуль классификатора, позволяющий байесовским и другим типам классификаций.
- LDA -Ruby - Рубиновая реализация LDA (скрытое распределение дирихле) для автоматического моделирования тем и кластеризации документов.
- Liblinear-Ruby-Swig-Ruby Interface с liblinear (гораздо более эффективно, чем Libsvm для классификации текста).
- Linnaeus - Байесовский классификатор Redis.
- MAXENT_STRING_CLASSIFIER - Jruby Maximum Entropy Classifier для строковых данных, основанный на рамках OpenNLP Maxent.
- NAIVE_BAYES - Простой наивный классификатор Байеса.
- NBAYES - полнофункциональная, рубиновая реализация наивных байесов.
- OMNICAT - Обобщенная стойка для классификации текста.
- Omnicat -Bayes - Наивная реализация классификации текста в байесах как стратегия классификатора Omnicat.
- Ruby -Fann - Рубиновые привязки с библиотекой быстрой искусственной нейронной сети (Fann).
- RBLEARN - Библиотека извлечения и перекрестная перекрестная передача.
Визуализация данных
Пожалуйста, обратитесь к разделу визуализации данных в списке Data Science с Ruby.
Оптическое распознавание персонажа
- Обертка на основе Tesseract -OCR - FFI над двигателем Tesseract OCR.
Текстовое извлечение
- YOMU - Библиотека для извлечения текста и метаданных из файлов и документов с использованием инструментария анализа контента Apache Tika.
Полный текстовый поиск, поиск информации, индексация
- RSOLR - Клиентская библиотека Ruby и Rails для Apache Solr.
- Sunspot - Rails Centric Client для Apache Solr.
- Мышление -Sphinx - плагин Active Record для использования Sphinx в (не только) проектах на основе железных дорог.
- Elasticsearch - Ruby Client и API для Elasticsearch.
- Elasticsearch -Rails - Интеграции Ruby and Rails для Elasticsearch.
- Google-Api-Client-Bruby API Library для Google Services.
Манипуляция по струнам, осведомленным о языке
Библиотеки для манипуляции с строками, т.е. поиск, соответствие шаблонов, преобразование дела, транскодирование, регулярные выражения, которые нуждаются в информации о базовом языке.
- fuzzy_match - сравнение нечеткой строки с показателями расстояния и регулярным выражением.
- Fuzzy String-Match-библиотека сопоставления нечетких строк для Ruby.
- Active_support - ROR
ActiveSupport Gem имеет различные расширения строк, которые могут обрабатывать случай. - fuzzy_tools - Набор инструментов для нечетких поисков в Ruby Tuened для точности.
- U - U расширяет поддержку Ruby's Unicode.
- Unicode - библиотека нормализации Unicode.
- CommonRegexruby - Найдите много видов общей информации в строке.
- REGEXP -экзамены - генерируйте строки, которые соответствуют данному регулярному выражению.
- vorbal_expressions - Сделайте сложные регулярные выражения легкими.
- Transtit_kit - Translater Hewrew & Yiddish Text в латинские символы.
- RE2 - Скорочная библиотека регулярного выражения для добычи текста и извлечения текста.
- regex_sample - образец генерации строки из данного регулярного выражения.
- iuliia - транслитерация кириллика на латынь во многих возможных способах (определяется справочной реализацией).
Статьи, посты, разговоры и презентации
- 2019
- Извлечение текста из изображений с использованием Ruby от AOnemd [post | код]
- 2018
- Обработка естественного языка и анализ настроений твиты Кассандры Корралес [Пост]
- 2017
- Google NLP API встречает Ruby от Aja Hammerly [post]
- Синтаксис - это еще не все: NLP для Rubyists от Aja Hammerly [слайды]
- Научные вычисления на Jruby от Prasun Anand [слайды | видео | слайды | слайды]
- Нормализация Unicode в Ruby от Starr Horne [post]
- 2016
- Быстро создать бот Telegram в Ruby от Ardian Haxha [Tutorial]
- Глубокое обучение: введение для разработчиков Ruby от Джеффри Лит [слайды]
- Как я сделал программу с чистым рубиком Word2VEC более чем в 3 раза быстрее от Kei Sawada [слайды]
- Домо Аригато, мистер Робото: машинное обучение с Руби Эрика Вайнштейна [слайды | видео]
- 2015
- Анализ N-грамма для веселья и прибыли от Иисуса Кастелло [Учебное пособие]
- Машинное обучение, простые с Руби от Лоренцо Масини [Учебное пособие]
- Использование Ruby Machine Learning, чтобы найти цитаты Paris Hilton от Рика Карлино [Учебное пособие]
- Изучение обработки естественного языка в Ruby от Кевина Диаса [слайды]
- Машинное обучение, простые с Руби от Лоренцо Масини [Пост]
- Практическая наука данных в Руби Бобби Грейсон [слайды]
- 2014
- Распокация естественного языка с Ruby By Glauco Custódio [Учебное пособие]
- Демистификация науки о данных: анализ переговоров конференции с Rails и NGRAMS Тодда Шнайдера [Видео | код]
- Обработка естественного языка с Ruby от Konstantin Tennhard [Видео | видео | видео | слайды]
- 2013
- Как проанализировать «Go» - обработка естественного языка в Ruby от Тома Картрайта [слайды | видео]
- Обработка естественного языка в Руби Брэндон Блэк [слайды | видео]
- Обработка естественного языка с Руби: N-граммы Натана Клейна [Учебное пособие | код]
- В поисках Лавкрафта, часть 1: Введение в NLP и The Treat Gem от Роберта Квалса [Учебное пособие]
- 2012
- Машинное обучение с Руби, часть первой от Васийной Васинов [Учебное пособие]
- 2011 год
- Ruby One-Liners от Benoit Hamelin [Post]
- Кластеризация в рубине Колином Дрейком [post/)]
- 2010 год
- Bayes_motel - Байесовская классификация для Ruby от Mike Perham [Post]
- 2009
- Перенос ствола UEA-Lite в Ruby от Джейсона Адамса [Пост]
- НЛП ресурсы для Руби Джейсона Адамса [Пост]
- 2008
- Поддержка -векторные машины (SVM) в Ruby от Ильи Григорик [Post]
- Практическая текстовая классификация с Ruby от Gleicon Moraes [post | код]
- 2007
- Обучение дерева решений в Ruby от Илья Григорик [Пост]
- 2006
- Говорите на моем языке: обработка естественного языка с Руби Майкл Грейнджер [слайды | Размещение | рецензия]
Проекты и примеры кода
- Проходя расстояние - реализации различных алгоритмов расстояния с примерами расчетов.
- Названное признание сущности со Стэнфордом Нер и Руби - NER примерами в Ruby и Java с некоторыми объяснениями.
- Слова подсчитаны - примеры настраиваемой статистики слов, основанной на words_counted.
- Rsyntaxtree - Веб -демонстрация синтаксической визуализации дерева.
Книги
- Миллер, Роб. Обработка текста с Ruby: извлечь значение из данных, которые вас окружают. Прагматические программисты, 2015. [Ссылка]
- Уотсон, Марк. Интеллект сценариев: Web 3.0 Сбор и обработка информации. Appress, 2010. [Ссылка]
- Уотсон, Марк. Практическая семантическая сеть и связанные приложения данных. Лулу, 2010. [Ссылка]
Сообщество
- Reddit
- Переполнение стека
- Twitter
Нужна ваша помощь!
Все проекты в этом разделе действительно важны для сообщества, но нуждаются в большем внимании. Пожалуйста, если у вас есть свободное время, а посвящение тратите несколько часов на код здесь.
- Ферет - поиск информации в C и Ruby.
- Суммируйте - Ruby Native Orbper для открытого текстового оборотника.
Связанные ресурсы
- Реализации перевода нейронной машины
- Awesome Ruby - среди других удивительных предметов короткий список проектов, связанных с NLP.
- Ruby NLP-современная коллекция библиотек Ruby для NLP.
- Речь и обработка естественного языка - общий список ресурсов, связанных с НЛП (в основном не для программистов Ruby).
- Scientific Ruby - линейная алгебра, визуализация и научные вычисления для Ruby.
- Iruby - Iruby kernel для йпитера (Formelly ipython).
- Потрясающий OCR - множество ресурсов OCR (оптическое распознавание персонажа).
- Awesome Tensorflow - машинное обучение с библиотеками TensorFlow.
- Imagemagick
Лицензия
Awesome NLP with Ruby от Andrei Beliankou и участников.
В той мере, что в соответствии с законом, человек, который связал CC0 с Awesome NLP with Ruby отказался от всех авторских прав и связанных или соседних прав на Awesome NLP with Ruby .
Вы должны были получить копию юридического кода CC0 вместе с этой работой. Если нет, см. Https://creativecommons.org/publicdomain/zero/1.0/.