Bună ziua, oamenii de știință de date! Astăzi vom construi un model de procesare a limbajului natural pentru a prezice dacă recenzia restaurantului este pozitivă sau negativă.

negative

Este o implementare foarte generală, astfel încât să o puteți utiliza cu ușurință cu propriile seturi de date și probleme de afaceri. Să începem!

Ca întotdeauna, primul pas este să importați bibliotecile necesare:

Există biblioteci standard pentru proiecte de învățare automată, deci nu este nevoie să le explicați. Alte biblioteci vor fi explicate mai târziu.

Acum trebuie să aruncăm o privire asupra setului nostru de date.

Este prezentat în format de fișier tsv. Este un format de valori separate prin tab, care este foarte asemănător cu formatul CSV (valori separate prin virgulă). Acest format este considerat a fi mai bun decât csv pentru NLP deoarece virgulele sunt foarte susceptibile de a face parte dintr-o propoziție, iar fișierul csv le va recunoaște ca separatoare. Și este probabil ca filele să nu facă parte din propoziție. Deci, țineți cont de acest lucru și utilizați întotdeauna formatul tsv.

Aici avem doar două coloane: Recenzie și Apreciat. Apreciat este 1 pentru comentarii pozitive și 0 pentru negative. Acum trebuie să-l importăm.

Folosim metoda panda read_csv, dar cu delimitator special de parametri, care este acum tab. După aceea, trebuie să ne curățăm datele.

Importăm re bibliotecă pentru expresii regulate și bibliotecă nltk pentru a lucra cu date de limbă. Trebuie să descărcăm parole și să le importăm pentru a citi cuvinte inutile precum: „el”, „activat”, „cel” etc. Nu ne oferă nicio informație rezonabilă. PorterStemmer capătă rădăcina cuvântului. De exemplu, cineva poate scrie apoi „iubește” acest loc, o altă persoană „iubește” acest loc și așa mai departe. Deci, PorterStemmer scapă de terminațiile „ed”, „es”, „ing” etc. și să rămână doar iubire. De asemenea, scăpăm de toate punctuațiile, facem ca toate cuvintele să fie minuscule.

Am avut „Uau ... Iubit acest loc”. iar acum avem „wow love place” care are doar informații importante.

Aici creăm modelul Bag of Words. Puteți găsi mai multe informații despre modul în care funcționează acest model pe Internet. Acum să împărțim datele noastre la seturile de testare și antrenament:

După aceea, vom folosi modelul Naive Bayes pentru a face predicții.

Așadar, am construit modelul și am făcut predicții, acum putem verifica acuratețea.

Precizia este de 73%, ceea ce este normal.

Acum îți voi arăta cum să prezici propriile tale comentarii. Am găsit câteva pe internet.

Puteți alege comentariul pozitiv de mai sus sau comentariul negativ:

Sau propriul comentariu și procesează-l:

Este același proces ca și înainte, dar trebuie să ne remodelăm comentariul și să obținem rezultatul.

Încercați-l cu propriile date pentru a vă rezolva problema. Țineți legătura, mulțumesc pentru lectură, vă rog să lăsați palma pentru mine!