Ce este NLP în Python?

Inteligența artificială a evoluat extraordinar în ultimul deceniu, la fel și unul dintre sub-câmpurile sale - Prelucrarea limbajului natural. Progresul în AI este rezultatul capacității masive de calcul a sistemelor moderne și a volumelor mari de date nestructurate care sunt generate dintr-o multitudine de surse. Natural Language Processing sau NLP este studiul AI, care permite calculatoarelor să proceseze date textuale nestructurate și să extragă informații ascunse din acestea.

Definiție

Spre deosebire de oameni, computerele nu sunt suficient de inteligente pentru a prelucra date nestructurate. Human Beings ar putea să obțină semnificații din astfel de date, în timp ce computerele ar putea face acest lucru doar cu datele structurate stocate în bazele de date. Pentru a găsi tipare și pentru a obține semnificație din datele naturale, calculatoarele folosesc instrumentele și tehnicile implicate în NLP pentru a procesa astfel de date.

Cum funcționează PNL în Python?

Este foarte complex să citești și să înțelegi engleza. Propoziția de mai jos este un astfel de exemplu în care computerul este cu adevărat dificil să înțeleagă gândirea reală din spatele propoziției.

În Machine Learning, o conductă este construită pentru fiecare problemă în care fiecare componentă a unei probleme este rezolvată separat folosind ML. Rezultatul final ar fi combinarea mai multor modele de învățare automată înlănțuite. Prelucrarea limbajului natural funcționează similar cu cea în care fraza engleză este împărțită în bucăți.

Există mai multe fapte prezente în acest paragraf. Lucrurile ar fi fost ușoare dacă computerele ar putea înțelege ce este Londra, dar pentru a face acest lucru, calculatoarele trebuie să fie instruite cu concepte de bază ale limbajului scris.

1. Segmentarea sentințelor - Corpusul este împărțit în mai multe propoziții ca mai jos.

Acest lucru ne-ar face viața mai ușoară, deoarece este mai bine să procesăm o singură propoziție decât un paragraf în ansamblu. Divizarea se poate face pe baza punctuațiilor sau a mai multor alte tehnici complicate care funcționează și pe date necurate.

2. Localizarea cuvintelor - O propoziție poate fi împărțită în simbolul cuvintelor, așa cum se arată mai jos.

După tokenizare, propoziția de mai sus este împărțită în -

3. Piese de predicție a vorbirii - Acest proces vizează generarea părților de vorbire pentru fiecare simbol. Acest lucru ne-ar permite să înțelegem sensul propoziției și subiectul despre care se vorbește în propoziție.

4. Lematizarea - Un cuvânt dintr-o propoziție poate apărea sub diferite forme. Lumematizarea urmărește un cuvânt înapoi la rădăcina sa, adică lama fiecărui cuvânt.

5. Opriți identificarea cuvintelor - există o mulțime de cuvinte de umplere, precum „the”, „a”, într-o propoziție. Aceste cuvinte se comportă ca zgomot într-un text al cărui sens încercăm să le extragem. Astfel, este necesar să filtrăm acele cuvinte de oprire pentru a construi un model mai bun.

Pe baza aplicației, cuvintele de oprire ar putea varia. Cu toate acestea, există o listă predefinită de lucrări de oprire la care s-ar putea face referire.

6. Recunoașterea entității denumite - NER este procesul de a găsi entități precum numele, locul, persoana, organizația etc., dintr-o propoziție.

Aici se folosește contextul apariției unui cuvânt într-o propoziție. Pentru a prelua date structurate dintr-un text, sistemele NER au o mulțime de utilizări.

Exemplu de PNL în Python

Majoritatea companiilor sunt acum dispuse să proceseze date nestructurate pentru creșterea activității lor. NLP are o gamă largă de utilizări, iar dintre cele mai frecvente cazuri de utilizare este Clasificarea textului.

Clasificarea textului în diferite categorii este cunoscută automat ca clasificare a textului. Detectarea de spam sau șuncă într-un e-mail, clasificarea articolelor de știri, sunt câteva dintre exemple obișnuite de clasificare a textului. Datele utilizate în acest scop trebuie să fie etichetate.

Câțiva pași într-o conductă de clasificare a textului care trebuie urmată sunt:

  • Încărcarea și pre-procesarea datelor este primul pas, apoi acestea ar fi împărțite în tren și set de validare.
  • Etapa Feature Engineering implică extragerea caracteristicilor utile sau crearea unor funcții suplimentare semnificative, care ar ajuta la dezvoltarea unui model predictiv mai bun.
  • Pentru a construi modelul, setul de date etichetat este utilizat pentru a antrena modelul.

Pandas, Scikit-learning, XGBoost, TextBlog, Keras sunt câteva dintre bibliotecile necesare pe care trebuie să le instalăm. Apoi, am importa bibliotecile pentru pregătirea setului de date, inginerie de funcții etc.

Datele sunt uriașe, cu aproape 3, 6 milioane de recenzii pot fi descărcate de aici. Se folosește o fracțiune din date. Este descărcat și citit într-un cadru de date Pandas.

Variabila țintă este codată și datele sunt împărțite în tren și seturi de teste.

Ingineria caracteristicilor se efectuează folosind metodele de mai jos.

1. Vectori numărați - Reprezentarea unui document, a unui termen și a frecvenței acestuia dintr-un corpus este obținută de către vectori de numărare.

2. Vectori TF-IDF - Într-un document, importanța relativă a unui termen este reprezentată de Frecvența Termenului (TF) și scorul Frecvența Documentelor Inverse (IDF). TF-IDF ar putea fi calculat prin -

Vectorii TF-IDF ar putea fi generați de nivelul Word care prezintă scorul fiecărui termen și nivelul N-gram, care este combinația de n-termeni.

3. Încorporarea cuvintelor - Reprezentarea documentelor și a cuvintelor sub forma unui vector dens este cunoscută sub numele de încorporarea cuvintelor. Există încorporare pre-instruite, cum ar fi Glove, Word2Vec, care ar putea fi utilizate sau ar putea fi instruite, de asemenea.

4. Modele de subiect - Este grupul de cuvinte dintr-un document care poartă cele mai multe informații. Alocarea latentă a dirichletului este folosită aici pentru modelarea subiectelor.

Modul este construit după terminarea ingineriei de funcții și au fost extrase funcțiile relevante.

5. Naïve Bayes - se bazează pe teorema lui Bayes, iar algoritmul consideră că nu există nicio relație între caracteristicile unui set de date.


6. Regresie logistică - Măsoară relația liniară dintre caracteristici, iar variabila țintă este măsurată pe baza unei funcții sigmoide care estimează probabilitățile.


7. Mașină Vector Suport - Un hiperplan separă două clase într-un SVM.


8. Model Random Forest - Un model de ansamblu în care se reduce variația și se pun împreună mai mulți arbori de decizie.


9. XG Boost - Prejudiciul este redus, iar elevii slabi convertiți în cei puternici.

Cum te-ar ajuta PNL în carieră?

Prelucrarea limbajului natural este un domeniu în plină expansiune pe piață și aproape fiecare organizație are nevoie de un inginer NLP care să îi ajute să proceseze datele brute. Astfel, este imperativ să stăpânești abilitățile necesare, deoarece nu ar exista lipsa locurilor de muncă pe piață.

Concluzie: NLP în Python

În acest articol, am început cu o introducere la NLP în Python și apoi am implementat un caz de utilizare în Python pentru a arăta cum să lucrezi cu NLP în Python.

Articole recomandate

Acesta a fost un ghid pentru NLP în Python. Aici am discutat despre Exemplul, Utilizarea cazurilor și modul de lucru cu NLP în Python. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. Utilizările Python
  2. Ce este WBS?
  3. Python vs Scala
  4. Ce este Tableau?

Categorie: