Sådan reduceres støj i data gennem dataparsing

0
Sådan reduceres støj i data gennem dataparsing

Internettet er fyldt med nyttige oplysninger, som vi kan bruge. Men samtidig er den fuld af skjult støj, der kan være skadelig for dataanalyse. For eksempel, hvis du indlæser dette Wikipedia side, vil det vise dig noget struktureret indhold, som du nemt kan analysere og søge efter de relevante oplysninger, du har brug for om det pågældende emne. Men computere ser tingene anderledes. For at lægge indholdet på en nem måde, forstår browseren den underliggende HTML-kilde og gengiver den, så du kan se strukturen. Hvis du ser på kilden til den side (højreklik -> se kilde), vil du se, hvad browseren fortolker for at gengive indholdet.

Al den kilde, browseren ser, er relevant for at præsentere indholdet på en behagelig måde. Det meste af det er dog irrelevant, hvis du bare vil udføre nogle dataanalyser. Sig, at du vil finde de mest almindelige ord i en artikels overskrifter. Du behøver ikke gemme alle Wikipedia-data for det. Faktisk skal du downloade alle siderne, men du kan parse dem og kun udtrække de relevante oplysninger (sektionsoverskrifter) og kun gemme dette stykke data. Dette gør analyseopgaven meget nemmere, du skal kun beskæftige dig med strenge og ikke HTML og hvor overskrifterne er i denne HTML. Denne strategi kan ses som støjfjernelse, da den reducerer dataene til kun det, der er vigtigt for dig, og parsing spiller en vigtig rolle i det.

Hvad er dataparsing?

Fra Wikipedia, “parsing er processen med at analysere en række af symboler, der er i overensstemmelse med reglerne for en formel grammatik”. Her ser vi på en anden fortolkning, hvor vi kun udtrækker den relevante information fra en webside (en række af symboler) og udelader det, der er irrelevant for vores mål. Dette sigter mod vores mål om at reducere støj og sætte data i en form for struktur. Selvfølgelig kan vi arbejde med rå HTML-sider for at udtrække noget derfra, men normalt er vi kun interesserede i en delmængde af indholdet, der er tilgængeligt på siden.

For eksempel, hvis du ønsker at udføre prisanalyse på produkter, kan du overveje billederne som irrelevante for din kontekst og derefter udelade dem, hvilket reducerer omkostningerne med opbevaring og forarbejdning ved kun at fokusere på det, du virkelig har brug for.

På denne måde er det første trin til dataparsing at beslutte, hvad der er relevant information, du har brug for fra en side. Når det er klart, kan vi gå videre med at bygge en parser. Lad os antage, at vi ønsker at udtrække sidehoveder fra Wikipedia, du kan opnå det ved at:

  1. Indlæser siden https://en.wikipedia.org/wiki/Parsing
  2. Højreklik på titlen “Parsing” og vælg derefter indstillingen “inspect” det skulle vise dig HTML-indholdet af den pågældende titel. På en enkel måde er det sådan, en browser forstår, hvordan sidens elementer skal lægges ned for at vise indholdet. Denne side/modale dialog, der dukkede op, er kendt som Browser Dev Tools.
  1. Klik nu på fanen Konsol i Dev Tools.
  1. Indtast nu document.querySelector(‘#firstHeading’).innerText og tryk på Enter.

Dette er en simpel parsing-regel til at finde titlen på enhver Wikipedia-side. document.querySelector er en indbygget funktion i browsere til at finde HTML-elementer på siden baseret på en CSS-vælger forespørgsel (en anden almindelig tilgang er at bruge XPath). Derefter giver vi den en vælger til at finde sidetitlen; så beder vi om indholdet af det tag med .innerText.

Dataparsing i skala

Eksemplet i det foregående afsnit er et almindeligt tilfælde af parsing af nogle data fra en webside. Da HTML’en ikke følger en standardstruktur på tværs af alle websteder, skal vi udføre denne inspektion for hver parser, vi skal bygge. Som du kan forestille dig, bliver dette hurtigt upraktisk, når vi først vil skalere. For at overvinde disse problemer er der nogle semantiske markører, der er blevet bygget til at informere parsere om relevant information på siden. Det første forsøg på denne funktion var HTML mikrodata, som var en specifikation for at tilføje nogle metadata til tags, der indeholdt de oplysninger, der kunne være nyttige for computere. På denne måde kunne sider markere det indhold, vi kunne parse automatisk. Efterhånden begyndte andre tilgange at dukke op, f.eks RDFa, JSON-LD, eller Facebooks åbne graf.

For at give dig en idé, når du deler en URL på Facebook, og den sender et miniaturebillede og nogle andre oplysninger om indholdet, kommer det sandsynligvis fra nogle af disse markører, der er til stede på den side. Det er dog ikke sikkert, at alle data, du har brug for, er til stede i disse markører, eller nogle gange beslutter udviklere sig for ikke at placere dataene der også; så skal vi tilbage til vores almindelige tilfælde af at skrive parsingregler eller bygge nye teknologier til at parse dataene.

Da vi ikke kan stole på, at alle websteder udfylder de semantiske data på deres side, er en løsning til at håndtere dette problem at bygge værktøjer til at udføre automatisk dataudtræk.

Så hvordan får vi hos Zyte crawl til at fungere for enhver hjemmeside? Zyte Automatic Extraction API udnytter kunstig intelligens-teknikker til automatisk at udtrække de relevante oplysninger på en side. Når vi eksempelvis laver en kategoricrawl for produkter, starter vi på første side i produktlisten, og vores opgave er at finde links til individuelle produkter, samt linket til næste side. Det gør vi ved at sende en anmodning til vores Product List Extraction API, som returnerer en liste over produkter, som blandt andre felter har “URL”-feltet, der peger på de detaljerede produktsider. URL’en til næste side er også til stede i Product List API som en del af pagineringsunderstøttelse. Når vi har de enkelte produkters URL’er, videregiver vi dem via Product Extraction API, indsamler detaljerede oplysninger om hvert produkt og fortsætter derefter til næste side. Dette er blot en af ​​de crawl-strategier, vi har, men de er alle generiske og er afhængige af Extraction API for at tilpasse sig individuelle websteder.

Et andet almindeligt tilfælde er udtræk af alle artikler fra en bestemt nyhedskilde. I så fald følger vi alle links og stoler på nyheds- og artikeludvindings-API’en for at finde ud af, hvilke sider der er artikler, og kun levere dem.

Du kan prøve Zyte automatisk udsugning for at få de data, du har brug for, eller tal med vores ekspertteam for at gøre arbejdet for dig.

Ähnliche Beiträge

Leave a Reply