Preprocesare text pentru sarcini NLP și învățare automată de Sciforce Sciforce Medium

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.