
[Rubyml | Rubydatascience | Rubyinterop]
NLP yang luar biasa dengan Ruby 
Sumber daya yang berguna untuk pemrosesan teks di Ruby
Daftar yang dikuratori ini terdiri dari sumber daya yang luar biasa , perpustakaan, sumber informasi tentang pemrosesan komputasi teks dalam bahasa manusia dengan bahasa pemrograman Ruby. Bidang itu sering disebut sebagai NLP, linguistik komputasi, HLT (teknologi bahasa manusia) dan dapat dibawa bersama dengan kecerdasan buatan, pembelajaran mesin, pengambilan informasi, penambangan teks, ekstraksi pengetahuan dan disiplin terkait lainnya.
Daftar ini berasal dari pekerjaan kita sehari -hari pada model bahasa dan alat NLP. Baca Mengapa Daftar Ini Luar Biasa. FAQ kami menjelaskan keputusan penting dan jawaban yang bermanfaat yang mungkin Anda minati.
Setiap kontribusi diterima! Tambahkan tautan melalui permintaan tarik atau buat masalah untuk memulai diskusi.
Ikuti kami di Twitter dan tolong sebarkan kata menggunakan tag hash #RubyNLP !
Isi
- Tutorial
- Subtugas Pipa NLP
- Generasi pipa
- Mesin multiguna
- Identifikasi Bahasa
- Segmentasi
- Pemrosesan leksikal
- Stemming
- Lemmatisasi
- Statistik Leksikal: Jenis dan Token Menghitung
- Penyaringan kata berhenti
- Pemrosesan tingkat phrasal
- Pemrosesan sintaksis
- Analisis semantik
- Analisis Pragmatis
- Tugas tingkat tinggi
- Koreksi ejaan dan kesalahan
- Penyelarasan teks
- Terjemahan mesin
- Analisis sentimen
- Angka, tanggal, dan penguraian waktu
- Pengakuan entitas yang disebutkan
- Teks-ke-ucapan-ke-teks
- Agen dialog, asisten, dan chatbots
- Sumber Daya Linguistik
- Perpustakaan Pembelajaran Mesin
- Visualisasi Data
- Pengenalan karakter optik
- Ekstraksi teks
- Pencarian teks lengkap, pengambilan informasi, pengindeksan
- Manipulasi string sadar bahasa
- Artikel, posting, pembicaraan, dan presentasi
- Proyek dan Contoh Kode
- Buku
- Masyarakat
- Membutuhkan bantuan Anda!
- Sumber daya terkait
- Lisensi
Tutorial
Tolong bantu kami untuk mengisi bagian ini! ?
Subtugas Pipa NLP
Pipa NLP dimulai dengan teks biasa.
Generasi pipa
- Composable_operations - Kerangka Definisi untuk Jalur Palangan Operasi.
- Ruby -Spark - Binding percikan dengan DSL yang mudah dipahami.
- Phobos - Klien Ruby Sederhana untuk Apache Kafka.
- Paralel - Pengawas untuk eksekusi paralel pada beberapa CPU atau di banyak utas.
- Pwrake - Ekstensi Rake untuk menjalankan tugas lokal dan jarak jauh secara paralel.
Mesin multiguna
- Open -NLP - Binding ruby untuk toolkit OpenNLP.
- Stanford-Core-NLP-Ruby Bindings untuk alat Stanford Corenlp.
- Perlakukan - Kerangka Pemrosesan Bahasa Alami untuk Ruby (seperti NLTK untuk Python).
- NLP_TOOLZ - Pembungkus di beberapa kelas OpenNLP dan Parser Berkeley asli.
- Open_nlp - binding jruby untuk toolkit opennlp.
- Ruby-Spacy-Modul pembungkus untuk perpustakaan Spacy NLP melalui pycall.
API on-line
- Alchemyapi_ruby - Legacy Ruby SDK untuk Alchemyapi/Bluemix.
- Wit -Ruby - Perpustakaan Klien Ruby untuk platform pemahaman bahasa Wit.ai.
- WLAPI - Perpustakaan Klien Ruby untuk Wortschatz Leipzig Web Services.
- MonkeyLearn -Ruby - Analisis Sentimen, Pemodelan Topik, Deteksi Bahasa, Pengenalan Entitas Bernama Melalui Klien API Web Berbasis Ruby.
- Google-Cloud-Language-API Layanan Bahasa Alami Google untuk Ruby.
Identifikasi Bahasa
Identifikasi bahasa adalah salah satu langkah penting pertama di setiap pipa NLP.
- Scylla - Kategorisasi dan Identifikasi Bahasa.
Segmentasi
Alat untuk Tokenisasi, Deteksi Batas Word dan Kalimat dan Disambiguasi.
- Tokenizer - Tokenizer multibahasa sederhana. [Tutorial]
- Pragmatik_Tokenizer - Tokenizer multibahasa untuk membagi string menjadi token.
- NLP -PURE - Algoritma pemrosesan bahasa alami diimplementasikan dalam ruby murni dengan dependensi minimal.
- Textoken - Perpustakaan Tokenisasi Teks Sederhana dan Dapat Disesuaikan.
- pragmatik_smegmenter - Disambiguasi batas kata dengan banyak cookie.
- Punkt -Semmenter - Implementasi Ruby Murni dari Segmenter Punkt.
- TACTFUL_Tokenizer - Tokenizer berbasis RegExp untuk berbagai bahasa.
- SCAPEL - Alat disambiguasi batas batas kalimat.
Pemrosesan leksikal
Stemming
Stemming adalah istilah yang digunakan dalam pengambilan informasi untuk menggambarkan proses untuk mengurangi bentuk kata ke beberapa representasi dasar. Stemming harus dibedakan dari lemmatisasi karena stems tidak harus memiliki motivasi linguistik.
- Ruby-Stemmer-Ruby-Stemmer memperlihatkan API bola salju ke Ruby.
- UEA -STEMMER - Stemmer konservatif untuk pencarian dan pengindeksan.
Lemmatisasi
Lemmatisasi dianggap sebagai proses menemukan bentuk dasar dari sebuah kata. Lemma sering dikumpulkan dalam kamus.
- Lemmatizer - Lemmatizer Berbasis WordNet untuk Teks Bahasa Inggris.
Statistik Leksikal: Jenis dan Token Menghitung
- WC - Fasilitas untuk menghitung kejadian kata dalam teks.
- word_count - Word Counter untuk objek
String dan Hash . - Words_counted - PERPUSTAKAAN RUBY MURNY Menghitung statistik kata dengan opsi khusus yang berbeda.
Penyaringan kata berhenti
- Stopwords -Filter - Filter dan Stop Word Lexicon Berdasarkan Snowball Lemmatizer.
Pemrosesan tingkat phrasal
- N_GRAM - N -Gram Generator.
- Ruby -Ngram - Pecahkan kata -kata dan frasa menjadi ngram.
- Raingrams - Perpustakaan Ngrams yang fleksibel dan serba guna ditulis dalam Ruby murni.
Pemrosesan sintaksis
Parsing konstituensi
- Stanfordparser - Pembungkus berbasis Ruby untuk Stanford Parser.
- RLEY - Implementasi murni algoritma parsing Earley untuk tata bahasa konstituensi bebas konteks.
- Rsyntaxtree - Visualisasi untuk pohon sintaksis di Ruby berdasarkan rmagick. [DEP: Imagemagick]
Analisis semantik
- Amatch - Set lima tipe jarak antar string (termasuk Levenshtein, Penjual, Jaro -Winkler, 'jarak pasangan').
- Damerau-levenshtein-Menghitung jarak edit menggunakan algoritma Damerau-Levenshtein.
- Hotwater - Fast Ruby FFI String Edit Algoritma Jarak.
- levenshtein-ffi-Fast String Edit Jarak Perhitungan, menggunakan algoritma Damerau-Levenshtein.
- tf_idf - frekuensi frekuensi / frekuensi dokumen terbalik dalam ruby murni.
- TF-IDF-Similarity-Hitung kesamaan antara teks menggunakan TF/IDF.
Analisis Pragmatis
- Sentimentlib - Permata analisis sentimen yang dapat diperluas.
Tugas tingkat tinggi
Koreksi ejaan dan kesalahan
- Gingerice - Koreksi ejaan dan tata bahasa melalui API Ginger.
- Hunspell -I18n - Binding Ruby ke Pemeriksa Ejaan Hunspell Standar.
- FFI -HUNSPELL - Binding Ruby berbasis FFI untuk Hunspell.
- Hunspell - Binding Ruby ke Hunspell melalui Ruby C API.
Penyelarasan teks
- Alignment - Rutinitas Alignment untuk Teks Bilingual (Implementasi Gale -Church).
Terjemahan mesin
- Google-API-CLIENT-Google API Ruby Client.
- Microsoft_translator - Klien Ruby untuk Microsoft Translator API.
- Termit - Google menerjemahkan dengan sintesis ucapan di terminal Anda.
- ZIPF - Implementasi Bleu dan algoritma dasar lainnya.
Analisis sentimen
- Stimmung - Polaritas semantik berdasarkan pada leksikon sentiws.
Angka, tanggal, dan penguraian waktu
- Kronis - Pure Natural Language Date Parser.
- kronis_between - parser bahasa alami ruby sederhana untuk rentang tanggal dan waktu.
- Chronic_duration - Pure Ruby Parser untuk waktu yang berlalu.
- Kronic - Metode untuk parsing dan memformat tanggal yang dapat dibaca manusia.
- Nikel - mengekstrak informasi tanggal, waktu, dan pesan dari teks kata -kata alami.
- Tickle - Parser untuk acara berulang dan berulang.
- Numerizer - Parser Ruby untuk Ekspresi Nomor Bahasa Inggris.
Pengakuan entitas yang disebutkan
- Ruby -Ne - Named Entity Recognition dengan Stanford Ner dan Ruby.
- Ruby-NLP-Ruby Binding untuk Stanford Pos-Tagger dan Name Entity Acoungizer.
Teks-ke-ucapan-ke-teks
- Espeak-Ruby-API Ruby Kecil untuk memanfaatkan 'Espeak' dan 'Lame' untuk membuat file MP3 teks-ke-pidato.
- TTS-Konversi Teks-ke-Pidato menggunakan layanan Google Translate.
- ATT_SPEECH - Ruby Wrapper over AT&T Speech API untuk pidato ke teks.
- Pocketsphinx -Ruby - Binding PocketSphinx.
Agen dialog, asisten, dan chatbots
- Chatterbot - Kerangka Bot Twitter berbasis Ruby langsung, menggunakan OAuth untuk mengautentikasi.
- Lita - Kerangka Bot Operasi Obrolan yang sangat dapat diperluas ditulis dengan penyimpanan persisten di Redis.
Sumber Daya Linguistik
- RWORDNET - Perpustakaan API Mandiri Ruby Murni untuk Princeton WordNet®.
- WordNet - Binding yang disetel kinerja untuk Princeton Wordnet®.
Perpustakaan Pembelajaran Mesin
Algoritma Pembelajaran Mesin dalam Ruby Murni atau ditulis dalam bahasa pemrograman lain dengan binding yang sesuai untuk Ruby.
Untuk lebih lanjut daftar terkini, silakan lihat ML yang luar biasa dengan daftar Ruby.
- RB -LIBSVM - Dukung mesin vektor dengan Ruby.
- WEKA - Jruby Bindings untuk Weka, algoritma ML yang berbeda diimplementasikan melalui Weka.
- DecisionTree - Algoritma ID3 Pohon Keputusan di Ruby Murni [Post] .
- RTIMBL - Pembelajar berbasis memori dari kerangka kerja Timbl.
- CLASSIFIER -REBORN - Modul General Classifier untuk memungkinkan Bayesian dan jenis klasifikasi lainnya.
- LDA -Ruby - Implementasi Ruby dari LDA (alokasi Dirichlet laten) untuk pemodelan topik otomatis dan pengelompokan dokumen.
- Libleinear-Ruby-Swig-Ruby Interface ke Liblinear (jauh lebih efisien daripada LIBSVM untuk klasifikasi teks).
- Linnaeus - Klasifikasi Bayesian yang didukung Redis.
- MAXENT_STRING_Classifier - Jruby Maximum Entropy Classifier untuk data string, berdasarkan OpenNLP Maxent Framework.
- Naive_bayes - Klasifikasi Bayes Naif Sederhana.
- NBAYES - Implementasi Ruby Fitur, Ruby Naive Bayes.
- Omnicat - Kerangka kerja rak umum untuk klasifikasi teks.
- Omnicat -Bayes - Implementasi Klasifikasi Teks Naif Bayes sebagai Strategi Pengklasifikasi Omnicat.
- Ruby -Fann - Binding Ruby ke Perpustakaan Jaringan Saraf Buatan Cepat (FANN).
- RBLEARN - Perpustakaan Ekstraksi dan Crossvalidation Cross.
Visualisasi Data
Silakan merujuk ke bagian Visualisasi Data pada Ilmu Data dengan Daftar Ruby.
Pengenalan karakter optik
- Tesseract -ocr - pembungkus berbasis FFI di atas mesin Tesseract OCR.
Ekstraksi teks
- YOMU - Perpustakaan untuk Mengekstraksi Teks dan Metadata Dari File dan Dokumen Menggunakan Toolkit Analisis Konten Apache Tika.
Pencarian teks lengkap, pengambilan informasi, pengindeksan
- RSOLR - Perpustakaan Klien Ruby and Rails untuk Apache Solr.
- SunSpot - klien Centric Rails untuk Apache Solr.
- Thinking -Stphinx - Plugin Rekaman Aktif untuk menggunakan Sphinx di proyek berbasis rel (tidak hanya).
- Elasticsearch - Klien Ruby dan API untuk Elasticsearch.
- Elasticsearch -Rails - Integrasi Ruby and Rails untuk Elasticsearch.
- Google-API-CLIENT-Perpustakaan API Ruby untuk layanan Google.
Manipulasi string sadar bahasa
Perpustakaan untuk manipulasi string yang sadar bahasa, yaitu pencarian, pencocokan pola, konversi kasus, transcoding, ekspresi reguler yang membutuhkan informasi tentang bahasa yang mendasarinya.
- Fuzzy_match - Perbandingan string fuzzy dengan ukuran jarak dan ekspresi reguler.
- Fuzzy-String-Match-Perpustakaan pencocokan string fuzzy untuk Ruby.
- Active_support - ROR
ActiveSupport GEM memiliki berbagai ekstensi string yang dapat menangani casing. - fuzzy_tools - Toolset untuk pencarian fuzzy di Ruby Tuned for Accuracy.
- u - u memperluas dukungan unicode Ruby.
- Unicode - Perpustakaan Normalisasi Unicode.
- CommonRegExRuby - Temukan banyak jenis informasi umum dalam suatu string.
- REGEXP -EXCAMES - menghasilkan string yang cocok dengan ekspresi reguler yang diberikan.
- Verbal_expressions - Buat ekspresi reguler yang sulit mudah.
- Translit_kit - Transliterate Hebrew & Yiddish Text ke dalam karakter Latin.
- RE2 - Perpustakaan ekspresi reguler berkecepatan tinggi untuk penambangan teks dan ekstraksi teks.
- Regex_sample - Pembuatan string sampel dari ekspresi reguler yang diberikan.
- Iuliia - Transliterasi Cyrillic ke Latin dalam banyak cara yang mungkin (ditentukan oleh implementasi referensi).
Artikel, posting, pembicaraan, dan presentasi
- 2019
- Mengekstrak teks dari gambar menggunakan ruby oleh aonemd [pos | kode]
- 2018
- Pemrosesan Bahasa Alami dan Analisis Sentimen Tweet oleh Cassandra Corrales [POST]
- 2017
- API Google NLP bertemu Ruby oleh Aja Hammerly [POST]
- Sintaks bukan segalanya: NLP untuk Rubyists oleh Aja Hammerly [Slide]
- Komputasi Ilmiah tentang Jruby oleh Prasun Anand [Slide | Video | Slide | Slide]
- Normalisasi unicode di Ruby oleh Starr Horne [POST]
- 2016
- Buat bot telegram dengan cepat di Ruby oleh Ardian Haxha [tutorial]
- Deep Learning: Pengantar untuk Pengembang Ruby oleh Geoffrey Litt [Slide]
- Bagaimana Saya Membuat Program Word2VEC murni lebih dari 3x lebih cepat oleh Kei Sawada [Slide]
- Dōmo Arigatō, Mr. Roboto: Pembelajaran Mesin dengan Ruby oleh Eric Weinstein [Slide | Video]
- 2015
- Analisis N-Gram untuk kesenangan dan keuntungan oleh Jesus Castello [Tutorial]
- Pembelajaran mesin dibuat sederhana dengan ruby oleh lorenzo masini [tutorial]
- Menggunakan Ruby Machine Learning untuk menemukan kutipan Paris Hilton oleh Rick Carlino [Tutorial]
- Menjelajahi Pemrosesan Bahasa Alami di Ruby oleh Kevin Dias [Slide]
- Pembelajaran mesin dibuat sederhana dengan Ruby oleh Lorenzo Masini [POST]
- Ilmu Data Praktis di Ruby oleh Bobby Grayson [Slide]
- 2014
- Bahasa alami yang diuraikan dengan Ruby oleh Glauco Custódio [Tutorial]
- Demystifying Data Science: Menganalisis Pembicaraan Konferensi dengan Rails and Ngrams oleh Todd Schneider [Video | kode]
- Pemrosesan Bahasa Alami dengan Ruby oleh Konstantin Tennhard [Video | Video | Video | Slide]
- 2013
- Cara Mengurai 'Go' - Pemrosesan Bahasa Alami di Ruby oleh Tom Cartwright [Slide | Video]
- Pemrosesan bahasa alami di Ruby oleh Brandon Black [Slide | Video]
- Pemrosesan Bahasa Alami dengan Ruby: N-Grams oleh Nathan Kleyn [Tutorial | kode]
- Mencari Lovecraft, Bagian 1: Pengantar NLP dan Perlakukan Permata Oleh Robert Qualls [Tutorial]
- 2012
- Pembelajaran Mesin dengan Ruby, Bagian Satu oleh Vasily Vasinov [Tutorial]
- 2011
- Ruby One-Liners oleh Benoit Hamelin [POST]
- Clustering in Ruby oleh Colin Drake [Post/)]
- 2010
- Bayes_Motel - Klasifikasi Bayesian untuk Ruby oleh Mike Perham [POST]
- 2009
- Porting UEA-Lite Stemmer ke Ruby oleh Jason Adams [POST]
- Sumber Daya NLP untuk Ruby oleh Jason Adams [POST]
- 2008
- Dukungan Mesin Vektor (SVM) di Ruby oleh Ilya Grigorik [POST]
- Klasifikasi Teks Praktis dengan Ruby oleh Gleicon Moraes [Post | kode]
- 2007
- Pembelajaran Pohon Keputusan di Ruby oleh Ilya Grigorik [POST]
- 2006
- Bicara bahasa saya: Pemrosesan bahasa alami dengan Ruby oleh Michael Granger [Slide | Tulisan | Tulisan]]
Proyek dan Contoh Kode
- Pergi Jarak - Implementasi berbagai algoritma jarak dengan perhitungan contoh.
- Pengakuan entitas yang disebutkan dengan contoh Stanford Ner dan Ruby - ner di Ruby dan Java dengan beberapa penjelasan.
- Kata -kata dihitung - contoh statistik kata yang dapat disesuaikan yang didukung oleh Words_counted.
- RSYNTAXTREE - Demonstrasi berbasis web dari visualisasi pohon sintaksis.
Buku
- Miller, Rob. Pemrosesan Teks dengan Ruby: Ekstrak nilai dari data yang mengelilingi Anda. Programmer Pragmatis, 2015. [Tautan]
- Watson, Mark. Scripting Intelligence: Web 3.0 Pengumpulan dan Pemrosesan Informasi. Apress, 2010. [Tautan]
- Watson, Mark. Aplikasi data semantik praktis dan data tertaut. Lulu, 2010. [Tautan]
Masyarakat
- Reddit
- Stack overflow
- Twitter
Membutuhkan bantuan Anda!
Semua proyek di bagian ini sangat penting bagi masyarakat tetapi membutuhkan lebih banyak perhatian. Tolong jika Anda memiliki waktu luang dan pengabdian menghabiskan beberapa jam untuk kode di sini.
- Ferret - Pengambilan Informasi di C dan Ruby.
- Ringkas - Pembungkus asli Ruby untuk Summarizer Teks Terbuka.
Sumber daya terkait
- Implementasi Terjemahan Mesin Saraf
- Ruby Awesome - Di antara item luar biasa lainnya daftar pendek proyek terkait NLP.
- Ruby NLP-Koleksi Perpustakaan Ruby yang canggih untuk NLP.
- Pemrosesan Bicara dan Bahasa Alami - Daftar Umum Sumber Daya Terkait NLP (sebagian besar bukan untuk pemrogram Ruby).
- Aljabar Linear - Aljabar Linear, Visualisasi dan Komputasi Ilmiah untuk Ruby.
- Iruby - Kernel Iruby untuk Jupyter (Formelly Ipython).
- OCR Awesome - banyak sumber daya OCR (pengenalan karakter optik).
- Awesome TensorFlow - Pembelajaran mesin dengan perpustakaan TensorFlow.
- Imagemagick
Lisensi
Awesome NLP with Ruby oleh Andrei Beliankou dan kontributor.
Sejauh mungkin berdasarkan hukum, orang yang menghubungkan CC0 dengan Awesome NLP with Ruby telah melepaskan semua hak cipta dan hak terkait atau tetangga untuk Awesome NLP with Ruby .
Anda seharusnya menerima salinan kode hukum CC0 bersama dengan pekerjaan ini. Jika tidak, lihat https://creativecommons.org/publicdomain/zero/1.0/.