NLP (Prelucrarea limbajului natural)

Această lucrare este un ghid pentru procesarea textului în limba franceză,

cuvinte oprire

Acest articol vă va prezenta vocabularul de bază și un flux de lucru sugerat pentru crearea de aplicații NLP pentru a vă ajuta să începeți cu cele mai frecvente sarcini, cum ar fi analiza sentimentului, recunoașterea entității, încorporarea cuvintelor și traducerea. Automată ... etc.

Este compus din 4 articole în total

NLP (Natural Language Processing) - învățarea cu mașina Clasificarea 2

În articolul precedent,

medium.com

NLP (Procesarea limbajului natural) Flux de lucru pentru clasificarea textului (luați n-grame ca intrare)

__PARTE__ 3

medium.com

Analiza modernă a textului este acum foarte accesibilă folosind Python și instrumentele open source, care vă permit să aflați cum să analizați datele dvs. text. Vom revizui pe scurt diferitele etape ale pre-procesării.

Date textuale ale căror formate sunt în mare parte nestructurate. Datele nestructurate nu pot fi reprezentate sub formă de tabel. Prin urmare, este esențial să-l convertiți în funcționalitate numerică, deoarece majoritatea algoritmilor de învățare automată sunt capabili să proceseze numai numere. Se va pune mai mult accent pe pași precum tokenizarea, derivația, lematizarea și oprirea eliminării cuvintelor. De asemenea, veți învăța două metode populare de extragere a caracteristicilor: punga de cuvinte și TFIDF, precum și diverse metode de creare a noilor caracteristici din caracteristicile existente.

Înainte de a începe acest articol, vom instala scikit-learn și celelalte biblioteci (spațiale) utilizate în acest articol. Veți găsi pașii pentru a le instala aici:

  • pip install -U spacy
  • pip instalează scikit-learn

De cele mai multe ori, datele text nu pot fi utilizate așa cum sunt. Acest lucru se datorează faptului că prezența diferitelor simboluri sau linkuri necunoscute îl face nepotrivit pentru utilizare. Curățarea datelor este arta de a extrage părți semnificative de date prin eliminarea detaliilor inutile. Diverse simboluri, cum ar fi „_/\ _” și „:)”. Aceste simboluri, de exemplu, nu contribuie prea mult la semnificația sa. Trebuie să eliminăm aceste detalii nedorite. Acest lucru se face nu numai pentru a se concentra mai mult pe conținutul real, ci și pentru a reduce calculele. Pentru a realiza acest lucru, sunt folosite metode precum tokenizarea și stemming-ul. .Vom discuta în detaliu diverse sarcini de pre-procesare și le vom demonstra cu exemple.

Având în vedere o propoziție, descompunerea ei în caractere sau cuvinte se numește tokenizare. Există biblioteci, cum ar fi spaCy, care oferă soluții complexe pentru tokenizare.

Tokenizarea unui text în propoziții.

[Aceasta este prima frază. ’,„ Apoi scriu a doua. ”, În sfârșit, iată o a treia fără scriere cu majuscule”]

Tokenizarea unui text în jetoane.

['Aceasta', 'este', '1', 'prima', 'propoziție', '.', 'Apoi', „j” ”,„ în ”,„ scrieți ”,„ una ”,„ a doua ”, '.', 'for', 'finish', 'in', 'here', 'one', 'third', 'without', 'put', 'of', 'majuscule']

Conversia textului în caractere

Funcția listă din Python preia un șir și îl convertește într-o listă de caractere individuale. Aceasta convertește textul în caractere. Următorul bloc de cod arată codul utilizat.

Prelucrarea volumelor mari de text

Dacă trebuie să procesați un număr mare de texte și să creați mai multe obiecte Doc la rând, metoda nlp.pipe poate accelera considerabil această operațiune. Tratează textele ca un flux și generează obiecte Doc. Este mult mai rapid decât apelarea nlp pe fiecare text.

[['Aceasta', 'este', '1', 'prima', 'propoziție', '.'], ['Apoi', 'j' ',' en ',' scrie ',' a ',' al doilea ','. '], [' pentru ',' finisare ',' în ',' voila ',' unul ',' al treilea ',' fără ',' pus ',' din ',' majuscule ']]

Cuvintele stop sunt cuvinte uzuale care sunt folosite pur și simplu pentru a ușura construcția frazelor. Deoarece apar foarte frecvent și prezența lor nu are un impact prea mare asupra semnificației propoziției, acestea ar trebui șterse. „Cuvintele oprire” sunt stabilite ca liste de cuvinte. Aceste liste sunt de obicei disponibile într-o librărie numită spacy și în multe limbi diferite.

Nu există o listă de cuvinte cheie universale pentru fiecare limbă, o mare parte din aceasta depinde de cazul de utilizare și de tipul de rezultate pe care le așteptați. În general, aceasta este o listă cu cele mai frecvente cuvinte din limbă. Cu spaCy, cuvintele de stop sunt foarte ușor de identificat, fiecare jeton are un atribut IS_STOP, care ne permite să știm dacă cuvântul este sau nu un cuvânt gol. De asemenea, putem adăuga propriile noastre cuvinte de oprire la lista de cuvinte de oprire.

Accesăm listele în franceză în acest fel.

Număr de cuvinte de oprire: 600
Primele zece cuvinte de oprire: [cincizeci ’,‘ tes ’, suprapune’, redă ’, diverse’, ‘n’ ’,‘ cu siguranță ’, acum’, după ’,‘ les ’]

Ștergeți cuvintele stop

Textul original: [„Aceasta este prima frază.”, „Apoi scriu a doua.”, „În sfârșit, iată o a treia fără scriere cu majuscule”]
text fără cuvinte de oprire: [[1, propoziție,.], [scrie, a doua,.], [terminați, puneți, majusculă]]

Adăugați cuvinte de oprire personalizate

Textul original: [„Aceasta este prima frază.”, „Apoi scriu a doua.”, „În sfârșit, iată o a treia fără scriere cu majuscule”]
text fără cuvinte de oprire: [[„propoziție”], [scrie ”,„ a doua ”], [terminați”, puneți ”, majuscule”]]

Unele cuvinte sunt scrise, pronunțate și reprezentate diferit, de exemplu Mumbai și Bombay, precum și SUA și Statele Unite. Deși sunt diferite, înseamnă același lucru. Există, de asemenea, diferite forme de cuvinte care trebuie convertite în forme de bază. De exemplu, cuvinte precum „făcut” și „fesait”, atunci când sunt convertite la forma lor de bază, devin „face”. În acest sens, normalizarea textului este un proces în care diferite variații ale textului sunt convertite într-un formular standard. Trebuie să facem normalizarea textului, deoarece unele cuvinte pot însemna același lucru. Există diferite moduri de a normaliza textul, cum ar fi verificarea ortografică, stemming și lematizare. Pentru o mai bună înțelegere a acestui subiect, vom analiza implementarea practică.

[['aceasta', 'este', '1', 'prima', 'propoziție', '.'], ['apoi', „j” ”,„ en ”,„ scrie ”,„ a ”,„ al doilea ','. '], [' pentru ',' finisare ',' în ',' voila ',' unul ',' al treilea ',' fără ',' pus ',' din ',' majuscule ']]

Vrem să înlocuim „SUA” cu „Statele Unite” și „18” cu „2018”. Pentru a face acest lucru, folosim funcția de înlocuire

Dacă trebuie să se potrivească cu liste mari de terminologie, puteți utiliza și obiecte PhraseMatcher spațiu pentru a transforma expresiile comune cu mai multe cuvinte în elemente simple