Cele mai bune proiecte NLP pe Github pe care ar trebui să le puneți în practică [2022]
Publicat: 2021-01-01Inteligența artificială are mai multe ramuri, dintre care procesarea limbajului natural (NLP) a apărut ca un instrument puternic nou-age. NLP se întoarce în anii 1950, când Alan Turing a lansat un articol – „ Computing Machinery and Intelligence ” – care propunea un test (cunoscut acum ca testul Turing ) care implică interpretarea automată și generarea de limbaje umane naturale. Chiar și așa, NLP a câștigat doar recent recunoaștere și popularitate la nivel mondial.
Cuprins
Ce este procesarea limbajului natural?
Procesarea limbajului natural se referă la facilitarea comunicațiilor de la om la mașină. Acesta își propune să antreneze computerele să înțeleagă, să interpreteze și să manipuleze limbajele umane naturale. NLP se inspiră din mai multe discipline, cum ar fi inteligența artificială, informatica și lingvistica computațională.
Oamenii comunică în limbile lor materne, cum ar fi engleza, japoneză, spaniolă etc., în timp ce computerele vorbesc în limba lor maternă, care este o limbă binară. În timp ce computerele nu pot înțelege limbajele noastre naturale umane, limbajul mașinii este în mare parte de neînțeles pentru majoritatea oamenilor.
Aici intervine NLP pentru a reduce decalajul dintre comunicarea umană și înțelegerea computerului. Procesarea limbajului natural dă putere și antrenează computerele să comunice cu oamenii în limba lor maternă, ajutându-i să citească texte, să audă vorbirea, să interpreteze mesaje audio/text, să măsoare sentimentele și multe altele.
Odată cu explozia de date generată de interacțiunile și tranzacțiile de zi cu zi din lumea digitală, procesarea limbajului natural a devenit mai crucială pentru afaceri. Datorită NLP, companiile pot valorifica volume mari de date brute de afaceri, discuții din rețelele sociale etc., pentru a înțelege datele și a lua decizii orientate către date.
În acest articol, vom enumera 12 proiecte NLP pe GitHub pentru a vă inspira! Lucrul la aceste proiecte vă va ajuta să vă îmbogățiți cunoștințele de domeniu și să vă îmbunătățiți abilitățile din lumea reală.

Cele mai bune proiecte GitHub NLP
1. Identificarea parafrazării
Detectarea parafrazelor este o aplicație NLP care detectează dacă două propoziții diferite au sau nu același înțeles. Este utilizat pe scară largă în traducerea automată, răspunsul la întrebări, extragerea/preluarea informațiilor, rezumarea textului și generarea limbajului natural.
Acesta este un proiect prietenos pentru începători în care veți construi un sistem de identificare a parafrazelor care poate identifica cu exactitate asemănările și diferențele dintre două entități textuale (de exemplu, propoziții) prin aplicarea unor analize sintactice și semantice asupra acestora.
2. Similitudinea documentelor
Acesta este un alt proiect prietenos pentru începători, care își propune să cuantifice asemănările dintre două documente folosind metoda similarității Cosin. Găsind asemănările dintre cele două lucrări, acest proiect va evidenția subiectele comune de discuție.
Similitudinea cosinus convertește două documente în vectori pentru a calcula similitudinea dintre acești vectori. Acesta calculează asemănările documentelor luând spațiul interior al produsului care măsoară unghiul cosinus dintre ele.
3. Text-Predicție
În acest proiect, veți construi o aplicație care poate prezice următorul cuvânt pe măsură ce introduceți cuvinte. Instrumentele folosite pentru a crea acest proiect de predicție a textului includ Procesarea limbajului natural, Text Mining și suita de instrumente R.
Proiectul folosește un estimator de probabilitate maximă cu Kneser Ney Smoothing ca model de predicție. Predicția este concepută pe colecția de cuvinte stocate în baza de date folosită pentru antrenarea modelului. Puteți găsi setul complet de resurse pentru acest proiect pe GitHub.
4. Știința geniului
Acest proiect face parte din proiectul Science of Success . Scopul aici este de a determina dacă factorii lexicali specifici pot indica atenția primită de un articol, măsurată prin indici de citare normalizați, folosind o serie de instrumente analitice de știință a datelor și NLP.
În fazele inițiale, acest proiect se concentrează pe studierea variației temporale și disciplinare în lungimea și caracteristicile sintactice ale titlurilor de articole din Web of Science – un set de date care conține peste 50 de milioane de articole publicate începând cu 1900. Imaginea de ansamblu este crearea unui model cantitativ care poate estima cu exactitate impactul unei lucrări științifice asupra comunității.
5. Extrageți sentimentul acțiunilor din titlurile de știri
După cum sugerează și titlul, veți folosi analiza sentimentelor pe titlurile știrilor financiare de la Finviz pentru a produce informații despre investiții în acest proiect. Tehnica de analiză a sentimentelor vă va ajuta să înțelegeți și să interpretați emoția din spatele titlurilor și să preziceți dacă situația actuală a pieței este în favoarea unei anumite acțiuni sau nu.
6. Bot inteligent
Acest proiect implică construirea unui robot inteligent care poate analiza și potrivi rezultatele dintr-un anumit depozit pentru a răspunde la întrebări. Botul folosește WordNet pentru această operațiune. Ea cântărește contextul unei întrebări referitoare la etichetele din documentele structurate (cum ar fi antete, titluri aldine etc.). Deoarece reține contextul, puteți adresa întrebări conexe în jurul aceluiași subiect.
De exemplu, dacă doriți să interogați un articol Wikipedia, puteți utiliza șablonul „Spuneți-mi despre XYZ” și puteți continua să puneți întrebări similare odată ce contextul este stabilit. Din nou, puteți interoga o pagină web menționând adresa URL a paginii ca sursă, cum ar fi „ https://www.microsoft.com/en-us/software-download/faq ”. Acest lucru funcționează excepțional de bine cu paginile de întrebări frecvente și întrebări și răspunsuri.

7. CitesCyVerse
Proiectul CitesCyVerse este conceput pe Science Citation Knowledge Extractor . CitesCyVerse este un instrument open-source care folosește Machine Learning și NLP pentru a ajuta cercetătorii biomedicali să înțeleagă modul în care alții își folosesc munca, analizând conținutul articolelor care îi citează. Utilizând ML și NLP, CitesCyVerse extrage temele și conceptele proeminente discutate în documentele citate. Acest lucru le permite cercetătorilor să înțeleagă mai bine modul în care munca lor îi influențează pe alții din comunitatea științifică.
CitesCyVerse include WordClouds care generează noi nori din cuvinte similare menționate în lucrările citate. De asemenea, are Subiecte care vă permit să explorați subiecte populare pentru articole și publicații care citează CyVerse.
8. Data Science Capstone – Scripturi de procesare a datelor
În acest proiect capstone Data Science, veți folosi scripturi de procesare a datelor pentru a demonstra ingineria datelor în loc să creați un model n-gram. Aceste scripturi pot procesa întregul corpus pentru a produce n-gramele și numărul lor. Puteți utiliza aceste date pentru a dezvolta algoritmi de text predictiv.
Pentru a construi acest proiect, veți avea nevoie de un sistem dual-core (deoarece majoritatea scripturilor sunt cu un singur thread) cu cel puțin 16 GB RAM. În ceea ce privește cerințele software, aveți nevoie de - Linux (cel mai bine dacă este testat pe Ubuntu 14.04), Python (versiunea 2.7), NLTK (versiunea 3.0) și NumPy.
Citiți: Idei și subiecte pentru proiecte de procesare a limbajului natural
9. Generator de scripturi
Acesta este un proiect captivant în care veți construi RNN-uri pentru a genera scenarii TV pentru populara emisiune The Simpsons, pe baza unui set de date de scenariu din toate cele 27 de sezoane ale emisiunii. RNN-urile vor genera un nou scenariu pentru o anumită scenă filmată la Moe's Tavern.
Proiectul generator de scripturi face parte din Deep Learning Nanodegree al Udacity. Implementarea proiectului este cuprinsă în: dlnd_tv_script_generation.ipynb
10. Predicția acțiunilor Reddit
Acest proiect urmărește să înțeleagă modul în care postările de pe rețelele sociale influențează prețurile viitoare ale acțiunilor individuale. Aici, vom studia impactul postărilor pe rețelele sociale pe Reddit, în special subreddit-urile/forumurile axate pe investiții, folosind metode de analiză a textului.
Puteți folosi fișierele de depozit GitHub pentru a curăța și a aplica analiza de sentiment la postările/comentariile Reddit și puteți utiliza aceste date pentru a crea modele de regresie. Depozitul include, de asemenea, codul pe care îl puteți utiliza pentru aplicația web interactivă utilizată pentru a vizualiza sentimentul în timp real pentru anumite ticker-uri de acțiuni și pentru a face predicții relevante.
11. Me_Bot
Acesta este un proiect NLP distractiv în care veți dezvolta un bot numit Me_Bot care va valorifica conversațiile dvs. WhatsApp, va învăța din ele și va conversa cu dvs. exact așa cum ați face cu o altă persoană. În esență, ideea este să creezi un bot care să vorbească ca tine.
Trebuie să exportați conversațiile WhatsApp de pe telefon și să instruiți botul cu privire la aceste date. Pentru a face acest lucru, trebuie să accesați WhatsApp pe telefon, să alegeți orice conversație și să o exportați din setările aplicației. Apoi puteți muta fișierul „.txt” generat în folderul Me_Bot.

12. Analizor de emoții vorbire
Acest proiect se învârte în jurul creării unui model ML care poate detecta emoțiile din conversațiile pe care le avem în mod obișnuit în viața noastră de zi cu zi. Modelul ML poate detecta până la cinci emoții diferite și poate oferi recomandări personalizate în funcție de starea ta de spirit actuală.
Acest motor de recomandare bazat pe emoții este de o valoare imensă pentru multe industrii, deoarece îl pot folosi pentru a vinde către un public foarte vizat și către persoane cumpărători. De exemplu, platformele de streaming de conținut online pot folosi acest instrument pentru a oferi indivizilor sugestii de conținut personalizate, citind starea de spirit și preferințele lor actuale.
Citește și: Deep Learning vs NLP
Concluzie
Cu asta, am ajuns la capătul listei noastre. Aceste 12 proiecte NLP de pe GitHub sunt excelente pentru a vă perfecționa abilitățile de codificare și dezvoltare de proiecte. Cel mai important, construirea de proiecte vă va ajuta să stăpâniți nuanțele procesării limbajului natural, întărindu-vă astfel cunoștințele de domeniu.
Dacă doriți să vă îmbunătățiți abilitățile NLP, trebuie să puneți mâna pe aceste proiecte NLP. Dacă sunteți interesat să aflați mai multe despre învățarea automată, consultați Diploma PG de la IIIT-B și upGrad în Învățare automată și AI, care este concepută pentru profesioniști care lucrează și oferă peste 450 de ore de pregătire riguroasă, peste 30 de studii de caz și sarcini, IIIT- B Statut de absolvenți, peste 5 proiecte practice practice și asistență pentru locuri de muncă cu firme de top.
Care sunt principalele provocări ale procesării limbajului natural?
Procesarea limbajului natural are o mulțime de provocări. Problema majoră este lipsa disponibilității puterii de calcul. Algoritmii actuali sunt creați pentru a rula în sisteme off-line care necesită o putere de calcul uriașă și poate dura mai mult timp pentru a finaliza procesarea. Cealaltă problemă o reprezintă resursele disponibile. Crearea unui algoritm care poate funcționa cu o cantitate mică de date nu este ușoară și necesită mai mult timp. O altă provocare este disponibilitatea unor cantități uriașe de date pe care trebuie să le procesăm.
Care model NLP oferă cea mai bună acuratețe?
Cea mai bună acuratețe pentru modelele NLP este obținută prin trecerea textului printr-o serie de filtre din ce în ce mai sofisticate. Primul strat este pentru a elimina cuvintele oprite, semnele de punctuație și numerele. După aceea, întregul text ar trebui să fie desprins folosind un stemmer Porter, apoi toate cuvintele ar trebui înlocuite cu formele lor lematizate. Apoi, pasul final este eliminarea oricăror cuvinte care nu există într-un vocabular de 200.000 de cuvinte.
Ce este tokenizarea în NLP?
Tokenizarea este un proces de descompunere a unei propoziții în părțile sale constitutive, numite jetoane. După aplicarea procesului, putem extrage cu ușurință sensul sau intenția unei propoziții. Tokenizarea se face după împărțirea propoziției. În NLP, jetoanele sunt folosite pentru procesarea ulterioară, clasificarea și reprezentarea propoziției. Unele dintre sarcinile NLP care implică tokenizarea sunt detectarea limbii, etichetarea POS și analizarea.