De îndată ce începeți să lucrați la o activitate de știință a datelor, vă dați seama de dependența rezultatelor dvs. de calitatea datelor. Pasul inițial - pregătirea datelor - a oricărui proiect de știință a datelor stabilește baza pentru performanța eficientă a oricărui algoritm sofisticat.

text

În sarcinile de știință a datelor textuale, aceasta înseamnă că orice text brut trebuie să fie preprocesat cu atenție înainte ca algoritmul să-l poată digera. În termeni cei mai generali, luăm un corp predeterminat de text și efectuăm asupra acestuia câteva analize și transformări de bază, pentru a rămâne cu artefacte care vor fi mult mai utile pentru o sarcină analitică mai semnificativă după aceea.

Preprocesarea constă de obicei în mai mulți pași care depind de o sarcină dată și de text, dar pot fi clasificate aproximativ în segmentare, curățare, normalizare, adnotare și analiză.

  • Segmentare, analiza lexicală, sau tokenizarea, este procesul care împarte șiruri mai lungi de text în bucăți mai mici, sau jetoane. Bucăți de text pot fi simbolizate în propoziții, propozițiile pot fi simbolizate în cuvinte etc.
  • Curățare constă în a scăpa de părțile mai puțin utile ale textului prin eliminarea cuvintelor stop, tratarea cu majuscule și caractere și alte detalii.
  • Normalizare constă în traducerea (maparea) termenilor din schemă sau reduceri lingvistice prin stemming, lematizare și alte forme de standardizare.
  • Adnotare constă în aplicarea unei scheme la texte. Adnotările pot include etichetarea, adăugarea de markupuri sau etichetarea unei părți din vorbire.
  • Analiză înseamnă explorarea statistică, manipularea și generalizarea din setul de date pentru analiza caracteristicilor și încercarea de a extrage relații între cuvinte.

Uneori, segmentarea este utilizată pentru a se referi la defalcarea unui text în bucăți mai mari decât cuvintele, cum ar fi paragrafele și propozițiile, în timp ce tokenizarea este rezervată procesului de defalcare care are ca rezultat exclusiv cuvinte.

Acest lucru poate suna ca un proces simplu, dar în realitate nu este altceva decât. Ai nevoie de o propoziție sau de o frază? Și ce este o frază atunci? Cum sunt identificate propozițiile în corpuri mai mari de text? Gramatica școlară sugerează că propozițiile au „punctuație de finalizare a propoziției”. Dar pentru mașini, punctul este același, fie el la sfârșitul unei abrevieri sau a unei propoziții.

„Să-l chemăm pe dl. Brown? ” poate cădea cu ușurință în două propoziții dacă abrevierile nu sunt îngrijite.

Și apoi sunt cuvinte: pentru diferite sarcini, apostroful din el este îl va face dintr-un singur cuvânt sau două cuvinte. Apoi, există strategii concurente, cum ar fi păstrarea punctuației cu o parte a cuvântului sau aruncarea completă.

Feriți-vă că fiecare limbă are propriile momente dificile (noroc la găsirea cuvintelor în japoneză!), Deci într-o sarcină care implică mai multe limbi va trebui să găsiți o modalitate de a lucra la toate.

Procesul de curățare ajută la plasarea întregului text pe picior de egalitate, implicând idei relativ simple de înlocuire sau eliminare:

  • setarea tuturor caracterelor la minuscule
  • eliminarea zgomotului, inclusiv eliminarea numerelor și a punctuației (este o parte a tokenizării, dar merită totuși să ții cont de această etapă)
  • opriți eliminarea cuvintelor (specifice limbii)

Minuscule

Textul are adesea o varietate de majuscule care reflectă începutul propozițiilor sau accentuarea substantivelor proprii. Abordarea obișnuită este de a reduce totul cu litere mici pentru simplitate. Minusculele sunt aplicabile majorității activităților de extragere a textului și NLP și ajută semnificativ la coerența rezultatului. Cu toate acestea, este important să ne amintim că unele cuvinte, cum ar fi „SUA” și „noi”, pot schimba semnificațiile atunci când sunt reduse la minuscule.

Înlăturarea zgomotului

Eliminarea zgomotului se referă la eliminarea cifrelor de caractere și a fragmentelor de text care pot interfera cu analiza textului. Există diferite moduri de a elimina zgomotul, inclusiv eliminarea punctuației, eliminarea caracterelor speciale, eliminarea numerelor, eliminarea formatării html, eliminarea cuvintelor cheie specifice domeniului, eliminarea codului sursă și multe altele. Eliminarea zgomotului depinde în mare măsură de domeniu. De exemplu, în tweet-uri, zgomotul ar putea fi toate caracterele speciale, cu excepția hashtag-urilor, deoarece acestea semnifică concepte care pot caracteriza un tweet. De asemenea, ar trebui să ne amintim că strategiile pot varia în funcție de sarcina specifică: de exemplu, numerele pot fi fie eliminate, fie convertite în reprezentări textuale.

Eliminarea cuvântului stop

Cuvintele stop sunt un set de cuvinte utilizate în mod obișnuit într-o limbă precum „a”, „the”, „is”, „are” și etc în limba engleză. Aceste cuvinte nu au o semnificație importantă și sunt eliminate din texte în multe sarcini de știință a datelor. Intuiția din spatele acestei abordări este că, eliminând cuvintele cu informații reduse din text, ne putem concentra pe cuvintele importante. În plus, reduce numărul de caracteristici luate în considerare, ceea ce vă ajută să vă păstrați modelele mai bine dimensionate. Eliminarea cuvântului Stop se aplică în mod obișnuit în sistemele de căutare, aplicațiile de clasificare a textului, modelarea subiectelor, extragerea subiectelor și altele. Listele de cuvinte Stop pot proveni din seturi prestabilite sau puteți crea una personalizată pentru domeniul dvs.

Normalizarea pune toate cuvintele pe picior de egalitate și permite procesarea să continue uniform. Este strâns legat de curățare, dar aduce procesul un pas înainte, punând toate cuvintele pe picior de egalitate, pornind și lematizându-le.

Stemming

Stemming este procesul de eliminare a afixelor (sufixe, prefixe, infixe, circumfixuri) dintr-un cuvânt pentru a obține o stemă de cuvânt. Rezultatele pot fi utilizate pentru a identifica relații și puncte comune între seturi de date mari. Există mai multe modele derivate, inclusiv Porter și Snowball. Pericolul de aici constă în posibilitatea supraestimării în care cuvinte precum „univers” și „universitate” sunt reduse la aceeași rădăcină a „universului”.

Lematizarea

Lematizarea este legată de stemming, dar este capabilă să capteze forme canonice bazate pe lema unui cuvânt. Prin determinarea părții de vorbire și utilizarea unor instrumente speciale, cum ar fi baza de date lexicală de engleză WordNet, lematizarea poate obține rezultate mai bune:

Forma tulpina a frunzelor este: frunza

Forma tulpină a frunzelor este: leav

Forma lematizată a frunzelor este: frunza

Forma lematizată a frunzelor este: frunza

Stemming-ul poate fi mai util în interogările pentru baze de date, în timp ce lemmazarea poate funcționa mult mai bine atunci când se încearcă determinarea sentimentului textului.

Adnotarea textului este un proces sofisticat și specific sarcinii de furnizare a textului cu marcaje relevante. Cea mai obișnuită și practică generală este să adăugați etichete part-of-speech (POS) la cuvinte.

Etichetarea unei părți din vorbire

Înțelegerea părților de vorbire poate face o diferență în determinarea semnificației unei propoziții, deoarece oferă informații mai granulare despre cuvinte. De exemplu, într-o problemă de clasificare a documentelor, apariția cuvântului carte ca substantiv ar putea avea ca rezultat o clasificare diferită de cea a cărții ca verb. Etichetarea unei părți din vorbire încearcă să atribuie o parte a vorbirii (cum ar fi substantive, verbe, adjective și altele) fiecărui cuvânt al unui text dat pe baza definiției sale și a contextului. Adesea necesită examinarea cuvintelor care urmează și urmarea și combinate fie cu o metodă bazată pe reguli, fie cu o metodă stocastică.

În cele din urmă, înainte de formarea efectivă a modelului, putem explora datele noastre pentru extragerea caracteristicilor care ar putea fi utilizate în construirea modelelor.

Numara

Acesta este probabil unul dintre instrumentele de bază pentru ingineria caracteristicilor. Adăugarea unor informații statistice precum numărul de cuvinte, numărul de propoziții, numărul de punctuații și numărul de cuvinte specifice industriei poate ajuta foarte mult la predicție sau clasificare.

Chunking (analiză superficială)

Chunking-ul este un proces care identifică părțile constitutive ale propozițiilor, cum ar fi substantivele, verbele, adjectivele etc. și le leagă de unități de ordin superior care au semnificații gramaticale discrete, de exemplu, grupuri sau fraze substantivale, grupuri verbale etc...

Extracția colocației

Colocările sunt combinații de cuvinte mai mult sau mai puțin stabile, cum ar fi „încălcați regulile”, „timpul liber”, „trageți o concluzie”, „țineți minte”, „pregătiți-vă” și așa mai departe. Deoarece ele transmit de obicei un sens specific stabilit, merită să le extragem înainte de analiză.

Incorporarea cuvintelor/vectori text

Incorporarea cuvintelor este modul modern de a reprezenta cuvintele ca vectori pentru a redefini caracteristicile cuvintelor cu dimensiuni ridicate în vectori cu caracteristici cu dimensiuni reduse. Cu alte cuvinte, reprezintă cuvinte la o coordonată vectorială X și Y în care cuvintele înrudite, bazate pe un corpus de relații, sunt plasate mai aproape unul de altul.

Pregătirea unui text pentru analiză este o artă complicată care necesită alegerea instrumentelor optime în funcție de proprietățile textului și de sarcină. Există mai multe biblioteci și servicii pre-construite pentru cele mai populare limbi utilizate în știința datelor, care ajută la prelucrarea automată a textului, cu toate acestea, anumiți pași vor necesita în continuare maparea manuală a termenilor, regulilor și cuvintelor.