O abordare generală a preprocesării datelor text

  • Blog/Știri
  • Pareri
  • Tutoriale
  • Stiri de top
  • Companii
  • Cursuri
  • Seturi de date
  • Educaţie
  • Evenimente (online)
  • Locuri de munca
  • Software
  • Webinarii

Recent am aruncat o privire asupra unui cadru pentru sarcinile de știință a datelor textuale în totalitate. Acum ne concentrăm pe elaborarea unei abordări generalizate pentru a ataca preprocesarea datelor textului, indiferent de sarcina specifică științifică a datelor textuale pe care o aveți în vedere.

datelor

Recent am analizat un cadru pentru abordarea sarcinilor științifice ale datelor textuale. Am păstrat acest cadru suficient de general încât să poată fi util și aplicabil oricărei sarcini de extragere a textului și/sau de procesare a limbajului natural.

Pașii la nivel înalt pentru cadrul au fost după cum urmează:

  1. Colectarea sau asamblarea datelor
  2. Prelucrarea datelor
  3. Explorarea și vizualizarea datelor
  4. Construirea modelului
  5. Evaluarea modelului

Deși un astfel de cadru ar fi, prin natură, iterativ, l-am demonstrat inițial vizual ca un proces destul de liniar. Această actualizare ar trebui să își pună adevărata natură în perspectivă (cu un semn evident la Procesul KDD):


Un cadru de sarcini de date textual revizuit (dar totuși simplu).

În mod clar, orice cadru axat pe preprocesarea datelor textuale ar trebui să fie sinonim cu pasul nr. 2. Extindând acest pas, în special, am avut următoarele informații despre ceea ce ar presupune probabil acest pas:

Mai general, suntem interesați să luăm un corp predeterminat de text și să 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 efectuarea ulterioară a unei sarcini analitice mai semnificative. Această sarcină suplimentară ar fi activitatea noastră principală de extragere a textului sau de procesare a limbajului natural.

Deci, așa cum s-a menționat mai sus, se pare că există 3 componente principale ale preprocesării textului:

  • tokenizare
  • normalizare
  • substituire

Pe măsură ce stabilim un cadru pentru abordarea preprocesării, ar trebui să avem în vedere aceste concepte de nivel înalt.

Cadrul de preprocesare a textului


Vom introduce acest cadru conceptual, independent de instrumente. Vom urmări apoi cu o implementare practică a acestor pași data viitoare, pentru a vedea cum ar fi aceștia realizați în ecosistemul Python.


Cadrul de preprocesare a datelor text.

1 - Tokenizarea

Tokenizarea este un pas care împarte șiruri de text mai lungi în bucăți mai mici, sau jetoane. Bucăți de text mai mari pot fi simbolizate în propoziții, propozițiile pot fi simbolizate în cuvinte etc. Prelucrarea ulterioară se efectuează în general după ce o bucată de text a fost tokenizată în mod corespunzător. Tokenizarea este denumită și segmentarea textului sau analiză lexicală. Uneori, segmentarea este utilizată pentru a se referi la defalcarea unei bucăți mari de text în bucăți mai mari decât cuvintele (de exemplu, paragrafe sau propoziții), în timp ce tokenizarea este rezervată procesului de defalcare care are ca rezultat exclusiv cuvinte.

Acest lucru poate suna ca un proces simplu, dar este altceva decât. Cum sunt identificate propozițiile în corpuri mai mari de text? În partea de sus a capului, probabil că spuneți „punctuație de finalizare a propoziției” și puteți chiar, doar pentru o secundă, să credeți că o astfel de afirmație nu este ambiguă.

Sigur, această propoziție este ușor identificată cu câteva reguli de segmentare de bază:

Vulpea brună și rapidă sare peste câinele leneș.

Dar ce zici de acesta:

Dr. Ford nu l-a întrebat pe col. Mustar numele dlui. Câinele lui Smith.

"Despre ce este tot ce-i vorba?" a intrebat dl. Peters.

Și asta sunt doar propoziții. Dar cuvintele? Ușor, nu? Dreapta?

Această studentă cu normă întreagă nu locuiește în locuințe în campus și nu vrea să viziteze Hawai'i.

Ar trebui să fie intuitiv că există diferite strategii nu numai pentru identificarea limitelor segmentelor, ci și ce trebuie făcut atunci când sunt atinse limitele. De exemplu, am putea folosi o strategie de segmentare care identifică (corect) o anumită graniță între jetoanele de cuvinte ca apostrof în cuvânt ea e (o strategie de simbolizare numai pe spațiul alb nu ar fi suficientă pentru a recunoaște acest lucru). Dar am putea alege apoi între strategii concurente, cum ar fi păstrarea punctuației cu o parte a cuvântului sau aruncarea completă. Una dintre aceste abordări pare corectă și nu pare să pună o problemă reală. Dar gândiți-vă la toate celelalte cazuri speciale, doar în limba engleză pe care ar trebui să le luăm în considerare.