Github'da Yapmanız Gereken En İyi NLP Projeleri [2022]
Yayınlanan: 2021-01-01Yapay Zekanın, Doğal dil işlemenin (NLP) güçlü bir yeni çağ aracı olarak ortaya çıktığı birden fazla dalı vardır. NLP, Alan Turing'in otomatik yorumlama ve doğal insan dillerinin oluşturulmasını içeren bir test (şimdi Turing testi olarak bilinir) öneren “ Bilgisayar Makineleri ve Zeka ” başlıklı bir makale yayınladığı 1950'lere kadar gider . Buna rağmen, NLP sadece son zamanlarda küresel tanınırlık ve popülerlik kazandı.
İçindekiler
Doğal Dil İşleme Nedir?
Doğal Dil İşleme, tamamen insandan makineye iletişimi kolaylaştırmakla ilgilidir. Doğal insan dillerini anlamak, yorumlamak ve manipüle etmek için bilgisayarları eğitmeyi amaçlar. NLP, Yapay Zeka, Bilgisayar Bilimi ve Hesaplamalı Dilbilim gibi birçok disiplinden ilham alır.
İnsanlar İngilizce, Japonca, İspanyolca vb. gibi ana dillerinde iletişim kurarken, bilgisayarlar ikili dil olan ana dillerinde konuşur. Bilgisayarlar doğal insan dillerimizi anlayamasa da, makine dili çoğu insan için çoğunlukla anlaşılmazdır.
NLP'nin insan iletişimi ve bilgisayar anlayışı arasındaki boşluğu kapatmak için girdiği yer burasıdır. Doğal dil işleme, bilgisayarların metinleri okumalarına, konuşmaları duymalarına, sesli/metin mesajlarını yorumlamalarına, duyarlılığı ölçmelerine ve çok daha fazlasına yardımcı olarak insanlarla ana dillerinde iletişim kurmaları için bilgisayarları güçlendirir ve eğitir.
Dijital dünyadaki günlük etkileşimlerin ve işlemlerin getirdiği veri patlaması ile doğal dil işleme, işletmeler için daha önemli hale geldi. NLP sayesinde şirketler, verileri anlamlandırmak ve veri odaklı kararlar almak için çok büyük hacimli ham iş verilerinden, sosyal medya sohbetlerinden vb. yararlanabilir.
Bu yazımızda size ilham vermesi için GitHub üzerinde 12 NLP projesini listeleyeceğiz! Bu projeler üzerinde çalışmak, alan bilginizi zenginleştirmeye ve gerçek dünyadaki becerilerinizi keskinleştirmeye yardımcı olacaktır.

En İyi GitHub NLP Projeleri
1. Açıklama Tanımlama
Açıklama tespiti, iki farklı cümlenin aynı anlama gelip gelmediğini tespit eden bir NLP uygulamasıdır. Makine çevirisi, soru cevaplama, bilgi çıkarma/geri alma, metin özetleme ve doğal dil oluşturmada yaygın olarak kullanılmaktadır.
Bu, iki metinsel varlık (örneğin cümleler) arasındaki benzerlikleri ve farklılıkları, üzerlerine sözdizimsel ve anlamsal analizler uygulayarak doğru bir şekilde tanımlayabilen bir açıklama tanımlama sistemi oluşturacağınız, yeni başlayanlar için uygun bir projedir.
2. Belge Benzerliği
Bu, iki belge arasındaki benzerlikleri Kosinüs benzerlik yöntemini kullanarak ölçmeyi amaçlayan yeni başlayanlar için başka bir projedir. Bu proje, iki makale arasındaki benzerlikleri bularak ortak tartışma konularını vurgulayacaktır.
Kosinüs benzerliği, bu vektörler arasındaki benzerliği hesaplamak için iki belgeyi vektörlere dönüştürür. Aralarındaki kosinüs açısını ölçen iç çarpım uzayını alarak belge benzerliklerini hesaplar.
3. Metin Tahmini
Bu projede, siz kelimeleri yazarken bir sonraki kelimeyi tahmin edebilen bir uygulama geliştireceksiniz. Bu metin tahmini projesini oluşturmak için kullanılan araçlar, Doğal Dil İşleme, Metin Madenciliği ve R'nin araç takımını içerir.
Proje, tahmin modeli olarak Kneser Ney Smoothing ile bir Maksimum Olabilirlik tahmincisi kullanıyor. Tahmin, modeli eğitmek için kullanılan veri tabanında depolanan kelimelerin toplanması üzerine tasarlanmıştır. Bu proje için tüm kaynak setini GitHub'da bulabilirsiniz.
4. Deha Bilimi
Bu proje Başarı Bilimi projesinin bir parçasıdır . Buradaki amaç, bir dizi veri bilimi ve NLP analitik araçlarını kullanarak, normalleştirilmiş alıntı endeksleriyle ölçüldüğü üzere, belirli sözcüksel faktörlerin bir makalenin aldığı dikkati gösterip gösteremeyeceğini belirlemektir.
İlk aşamalarda, bu proje 1900'den beri yayınlanmış 50 milyondan fazla makaleyi içeren bir veri seti olan Web of Science'daki makale başlıklarının uzunluk ve sözdizimsel özelliklerindeki zamansal ve disipliner farklılıkları incelemeye odaklanır . Daha büyük resim nicel bir model oluşturmaktır. Bu, bilimsel bir makalenin toplum üzerindeki etkisini doğru bir şekilde tahmin edebilir.
5. Haber başlıklarından hisse senedi duyarlılığını çıkarın
Başlıktan da anlaşılacağı gibi, bu projede yatırım bilgileri üretmek için Finviz'in finansal haber başlıklarında duygu analizini kullanacaksınız. Duyarlılık analizi tekniği, manşetlerin arkasındaki duyguyu anlamanıza ve yorumlamanıza ve mevcut piyasa durumunun belirli bir hisse senedi lehine olup olmadığını tahmin etmenize yardımcı olacaktır.
6. Akıllı bot
Bu proje, soruları yanıtlamak için belirli bir havuzdaki sonuçları ayrıştırıp eşleştirebilen akıllı bir bot oluşturmayı içerir. Bot, bu işlem için WordNet'i kullanır. Yapılandırılmış belgelerdeki (başlıklar, kalın başlıklar vb.) etiketlerle ilgili bir sorunun bağlamını tartar. Bağlamı koruduğu için aynı konu etrafında ilgili sorular sorabilirsiniz.
Örneğin, bir Wikipedia makalesini sorgulamak istiyorsanız, “Bana XYZ hakkında bilgi verin” şablonunu kullanabilir ve bağlam oluşturulduktan sonra benzer soruları sormaya devam edebilirsiniz. Yine bir web sayfasını “ https://www.microsoft.com/en-us/software-download/faq ” gibi kaynak olarak sayfanın URL'sini belirterek sorgulayabilirsiniz . Bu, SSS ve Soru-Cevap sayfalarıyla son derece iyi çalışır.

7. CitesCyVerse
CitesCyVerse projesi, The Science Citation Knowledge Extractor üzerinde tasarlanmıştır . CitesCyVerse, biyomedikal araştırmacıların, kendilerinden alıntı yapan makalelerdeki içeriği analiz ederek başkalarının çalışmalarını nasıl kullandığını anlamalarına yardımcı olmak için Makine Öğrenimi ve NLP'den yararlanan açık kaynaklı bir araçtır. CitesCyVerse, ML ve NLP kullanarak, alıntı belgelerinde tartışılan öne çıkan temaları ve kavramları çıkarır. Bu, araştırmacıların çalışmalarının bilimsel topluluktaki diğerlerini nasıl etkilediğini daha iyi anlamalarını sağlar.
CitesCyVerse, alıntı yazılarda bahsedilen benzer kelimelerden yeni bulutlar oluşturan WordCloud'ları içerir. Ayrıca, CyVerse'den alıntı yapan makaleler ve yayınlar için popüler konuları keşfetmenize izin veren Konulara sahiptir.
8. Data Science Capstone – Veri işleme komut dosyaları
Bu Veri Bilimi capstone projesinde, bir n-gram modeli oluşturmak yerine veri mühendisliğini göstermek için veri işleme komut dosyalarını kullanacaksınız. Bu komut dosyaları, n-gramları ve sayımlarını üretmek için tüm derlemi işleyebilir. Bu verileri tahmine dayalı metin algoritmaları geliştirmek için kullanabilirsiniz.
Bu projeyi oluşturmak için en az 16 GB RAM'e sahip çift çekirdekli bir sisteme (çoğu komut dosyası tek iş parçacıklı olduğundan) ihtiyacınız olacak. Yazılım gereksinimlerine gelince, ihtiyacınız olan şey – Linux (Ubuntu 14.04 üzerinde test edilmişse en iyisi), Python (sürüm 2.7), NLTK (sürüm 3.0) ve NumPy.
Okuyun: Doğal Dil İşleme Projesi Fikirleri ve Konuları
9. Komut dosyası oluşturucu
Bu, popüler dizi The Simpsons için dizinin tüm 27 sezonunun senaryo veri setine dayalı TV senaryoları oluşturmak için RNN'ler oluşturacağınız heyecan verici bir projedir. RNN'ler, Moe's Tavern'de çekilen belirli bir sahne için yeni bir senaryo oluşturacak.
Komut dosyası oluşturma projesi, Udacity'nin Derin Öğrenme Nanodegree programının bir parçasıdır. Proje uygulaması şurada bulunur: dlnd_tv_script_generation.ipynb
10. Reddit hisse tahmini
Bu proje, sosyal medya gönderilerinin bireysel hisse senetlerinin gelecekteki fiyatlarını nasıl etkilediğini anlamaya çalışıyor. Burada, metin analizi yöntemlerini kullanarak sosyal medya gönderilerinin Reddit, özellikle yatırım odaklı alt dizinler/forumlar üzerindeki etkisini inceleyeceğiz.
Reddit gönderilerine/yorumlarına duyarlılık analizini temizlemek ve uygulamak için GitHub depo dosyalarını kullanabilir ve bu verileri regresyon modelleri oluşturmak için kullanabilirsiniz. Depo ayrıca, belirli hisse senetleri için gerçek zamanlı duyarlılığı görselleştirmek ve ilgili tahminler yapmak için kullanılan etkileşimli web uygulaması için kullanabileceğiniz kodu da içerir.
11. Ben_Bot
Bu, WhatsApp konuşmalarınızdan yararlanacak, onlardan bir şeyler öğrenecek ve sizinle tıpkı başka biriyle yaptığınız gibi sohbet edecek Me_Bot adlı bir bot geliştireceğiniz eğlenceli bir NLP projesidir. Esasen fikir, sizin gibi konuşan bir bot yaratmaktır.
WhatsApp sohbetlerinizi telefonunuzdan dışa aktarmanız ve botu bu veriler üzerinde eğitmeniz gerekiyor. Bunu yapmak için, telefonunuzda WhatsApp'a gitmeniz, herhangi bir konuşmayı seçmeniz ve uygulamanın ayarlarından dışa aktarmanız gerekir. Ardından oluşturulan “.txt” dosyasını Me_Bot klasörüne kaydırabilirsiniz.

12. Konuşma duygu analizörü
Bu proje, günlük hayatımızda sıkça yaptığımız konuşmalardan duyguları tespit edebilen bir makine öğrenimi modeli oluşturma etrafında dönmektedir. ML modeli, beş farklı duyguyu algılayabilir ve mevcut ruh halinize göre kişiselleştirilmiş öneriler sunabilir.
Bu duygu temelli öneri motoru, yüksek oranda hedeflenmiş kitleye ve alıcı kişilere satış yapmak için kullanabilecekleri için birçok sektör için muazzam bir değere sahiptir. Örneğin, çevrimiçi içerik akış platformları bu aracı kullanarak bireylere mevcut ruh hallerini ve tercihlerini okuyarak özelleştirilmiş içerik önerileri sunabilir.
Ayrıca Okuyun: Derin Öğrenme ve NLP
Çözüm
Böylelikle listemizin sonuna gelmiş bulunuyoruz. GitHub'daki bu 12 NLP projesi, kodlama ve proje geliştirme becerilerinizi geliştirmek için mükemmeldir. En önemlisi, proje oluşturma, Doğal Dil İşlemenin nüanslarında ustalaşmanıza yardımcı olacak ve böylece alan bilginizi güçlendirecektir.
NLP becerilerinizi geliştirmek istiyorsanız, bu NLP projelerine el atmanız gerekir. Makine öğrenimi hakkında daha fazla bilgi edinmek istiyorsanız, çalışan profesyoneller için tasarlanmış ve 450+ saat zorlu eğitim, 30'dan fazla vaka çalışması ve ödev, IIIT- sunan IIIT-B & upGrad'ın Makine Öğrenimi ve Yapay Zeka PG Diplomasına göz atın. B Mezun statüsü, 5+ pratik uygulamalı bitirme projesi ve en iyi firmalarla iş yardımı.
Doğal dil işlemenin temel zorlukları nelerdir?
Doğal dil işlemenin birçok zorluğu vardır. En büyük sorun, hesaplama gücünün mevcudiyetinin olmamasıdır. Mevcut algoritmalar, büyük hesaplama gücüne ihtiyaç duyan ve işlemeyi tamamlamak için daha fazla zaman alabilen çevrim dışı sistemlerde çalışmak üzere oluşturulmuştur. Diğer sorun ise mevcut kaynaklardır. Az miktarda veri ile çalışabilen bir algoritma oluşturmak kolay değildir ve daha fazla zaman alır. Başka bir zorluk, işlememiz gereken çok büyük miktarda verinin mevcudiyetidir.
Hangi NLP modeli en iyi doğruluğu verir?
NLP modelleri için en iyi doğruluk, metni giderek daha karmaşık hale gelen bir dizi filtreden geçirerek elde edilir. İlk katman, durak sözcüklerini, noktalama işaretlerini ve sayıları kaldırmaktır. Bundan sonra, metnin tamamı bir Porter kök ayırıcı kullanılarak köklenmeli, ardından tüm kelimeler lemmatize edilmiş biçimleriyle değiştirilmelidir. Ardından, son adım, 200.000 kelimelik bir kelime dağarcığında bulunmayan kelimeleri çıkarmaktır.
NLP'de tokenizasyon nedir?
Belirteçleştirme, bir cümleyi belirteç adı verilen bileşenlerine ayırma işlemidir. İşlemi uyguladıktan sonra bir cümlenin anlamını veya amacını kolayca çıkarabiliriz. Tokenizasyon, cümle bölme işlemi yapıldıktan sonra yapılır. NLP'de belirteçler, cümlenin daha fazla işlenmesi, sınıflandırılması ve temsili için kullanılır. Belirteçleştirmeyi içeren NLP görevlerinden bazıları dil algılama, POS etiketleme ve ayrıştırmadır.
