Home » Articole » RO » Afaceri » Știința datelor (Data Science) » Analitica pentru RSS, bloguri, chat, știri și date geospațiale

Analitica pentru RSS, bloguri, chat, știri și date geospațiale

Fluxuri RSS

Un număr mare de site-uri Web oferă deja acces la conținut prin fluxuri RSS. Acesta este standardul de sindicalizare pentru publicarea de actualizări regulate ale conținutului web pe baza unui tip de fișier XML care se află pe un server de internet. Pentru site-urile web, fluxurile RSS pot fi create manual sau automat (cu software).

Un cititor de flux RSS citește fișierul de flux RSS, găsește ce este nou, îl convertește în HTML și îl afișează. Fragmentul de program din Fig. 7 arată codul pentru instrucțiunile de control și canal pentru fluxul RSS. Declarațiile de canal definesc feedul sau canalul general, un set de declarații de canal în fișierul RSS.

<?xml version="1.0" encoding="UTF-8"?>
<rss [...] version="2.0">
    // RSS channel-specific tags:
<channel>
    [...] <copyright>© Copyright The Financial Times Ltd 2012. "FT" and "Financial
Times" are trademarks of the Financial Times.
See http://www.ft.com/servicestools/help/terms#legal1 for the terms and
conditions of reuse.</copyright>
<pubDate>Fri, 26 Oct 2012 09:42:18 GMT</pubDate> // Timestamp RSS was published
at.
<lastBuildDate>Fri, 26 Oct 2012 09:59:36 GMT</lastBuildDate> // Last built
timestamp of the RSS.
<webMaster>client.support@ft.com (Client Support)</webMaster> // Web master
contact address.
<ttl>15</ttl> // Time to live – the number of minutes the feed can stay cached
before refreshing it from the source.
<category>Newspapers</category> // RSS category.
[...]     // RSS feed-specific tags (e.g. below there is a news
story): title, description, link, date published, article ID.
<item>
<title>Cynthia Carroll resigns at Anglo American</title>
<link>http://www.ft.com/cms/s/0/d568891e-1f35-11e2-b2ad-
00144feabdc0.html?ftcamp=published_links%2Frss%2Fhome_uk%2Ffeed%2F%2Fproduct</link>
<description>Cynthia Carroll departs the mining group following speculation for
some time that she was under pressure
at the strike-hit company</description>
<pubDate>Fri, 26 Oct 2012 07:33:44 GMT</pubDate>
<guid isPermaLink="false">http://www.ft.com/cms/s/0/d568891e-1f35-11e2-b2ad-
00144feabdc0.html?ftcamp=published_links%2Frss%2Fhome_uk%2Ffeed%2F%2Fproduct</guid>
<ft:uid>d568891e-1f35-11e2-b2ad-00144feabdc0</ft:uid>
</item>
   [...] </channel>
</rss>

Fig. 7 Exemplu de control al fluxului RSS și declarații de canal

Bloguri, grupuri de știri și servicii de chat

Blog scraping este procesul de scanare a unui număr mare de bloguri, de obicei zilnic, căutând și copiind conținut. Acest proces se desfășoară prin un software automat. Figura 8 ilustrează exemplu de cod pentru blog scraping. Aceasta implică obținerea codului sursă al unui site web prin intermediul clasei URL Java, care poate fi analizat în cele din urmă prin expresii regulate pentru a capta conținutul țintă.

// Use Java’s URL, InputStream and DataInputStream
classes to read in the content of the supplied URL.
URL url;
InputStream inputStream = null;
DataInputStream dataInputStream;
String line;
scrapedContent = "";
try {
    // Attempt to open the URL (if valid):
    url = new URL("http://blog.wordpress.com/");
inputStream = url.openStream(); // throws an IOException
dataInputStream = new DataInputStream(new BufferedInputStream(inputStream));
    // Read the content line by line and store it in the
scrapedContent variable:
while ((line = dataInputStream.readLine()) != null) {
scrapedContent += line + "\n";
}
} catch (MalformedURLException exception) {
exception.printStackTrace();
} catch (IOException exception) {
exception.printStackTrace();
} finally {
try {
inputStream.close();
} catch (IOException exception) {
}
}
[...] // Use regular expressions (RE) to parse the desired content from the
scrapedContent. RE will attempt to delimit text between
some unique tags.

Fig. 8 Exemplu de cod pentru blog scraping

Fluxuri de știri

Fluxurile de știri sunt livrate într-o varietate de formate textuale, adesea ca documente XML care pot fi citite de mașină, fișiere JSON sau CSV. Acestea includ valori numerice, etichete și alte proprietăți care tind să reprezinte știrile de bază. În scopuri de testare, informațiile istorice sunt adesea furnizate prin fișiere plate, în timp ce datele în direct pentru producție sunt procesate și livrate prin fluxuri de date directe sau API. Figura 9 arată un fragment al apelurilor software pentru a prelua articole filtrate din NY Times.

nyTimesArticles = GET
http://api.nytimes.com/svc/search/v1/article?query=(field:)keywords
(facet:[value])(&params)&apikey=
your-API-key
parse_JSON(nyTimesArticles)

Fig. 9 Scanarea articolelor din New York Times

După ce am examinat fluxurile de date „clasice” din rețelele sociale, ca o ilustrare a surselor de date inovatoare, vom analiza pe scurt fluxurile geospațiale.

Fluxuri geospațiale

O mare parte din datele „geospațiale” din rețelele sociale provin de la dispozitive mobile care generează date sensibile la locație și la timp. Se pot diferenția între patru tipuri de fluxuri de rețele sociale mobile (Kaplan 2012):

  • Sensibile la locație și timp — schimb de mesaje cu relevanță pentru o anumită locație la un anumit moment de timp (de exemplu, Foursquare).
  • Sensibile numai la locație — schimb de mesaje cu relevanță pentru o anumită locație, care sunt etichetate într-un anumit loc și citite mai târziu de către alții (de exemplu, Yelp și Qype)
  • Sensibile numai la timp — transferul aplicațiilor tradiționale de rețele sociale pe dispozitive mobile pentru a crește instantaneitatea (de exemplu, postarea de mesaje Twitter sau actualizări de stare Facebook)
  • Insensibile la locație sau timp — transferul aplicațiilor tradiționale de rețele sociale pe dispozitive mobile (de exemplu, vizionarea unui videoclip YouTube sau citirea unei intrări Wikipedia)

Cu dispozitivele mobile din ce în ce mai avansate, în special smartphone-urile, conținutul (fotografii, mesaje SMS etc.) are adăugată o identificare geografică, numită „geoetichetă”. Aceste metadate geospațiale sunt, de obicei, coordonate de latitudine și longitudine, deși pot include și altitudine, direcționare, distanță, date de precizie sau nume de locuri. GeoRSS este un standard emergent pentru codificarea locației geografice într-un flux web, cu două codificări principale: GeoRSS Geography Markup Language (GML) și GeoRSS Simple.

Exemple de instrumente sunt GeoNetwork Opensource — o aplicație gratuită de catalogare cuprinzătoare pentru informațiile cu referință geografică, și FeedBurner — un furnizor de fluxuri web care poate furniza și fluxuri geoetichetate, dacă setările de fluxuri specificate permit acest lucru.

Ca o ilustrare, Fig. 10 prezintă pseudo-codul pentru analiza unui flux geospațial.

// Attempt to get the web site geotags by scraping the web page source code:
try getIcbmTags() // attempt to get ICBM tags, such as <meta name='ICBM'
content="latitude, longitude" />
try getGeoStructureTags() // attempt to get tags such as <meta
name="geo.position" content="coord1;coord2" />, <meta
name="geo.region" content="region">, <meta name="geo.placename" content="Place
name">
// Attempt to get the web site’s RSS geotags by scraping the RSS feeds, where
the RSS source or each article can have their
own geotags.
// Attempt to get Resource Description Framework (RDF) tags, such as
<rdf:RDF><geo:Point><geo:lat>latitude</geo:lat><geo:long>longitude</geo:long><geo:alt>altitude</geo:alt></geo:Point></rdf:
RDF>
try getRdfRssTags()
// Attempt to get RSS article-specific geotags, e.g.: <rss
version=”2.0”><item><title>title</title>[...]><icbm:latitude>latitude</icbm:latitude><icbm:longitude>longitude</icbm:longitude>[..
.]</item>
try getIcbmRssTags()

Fig. 10 Pseudo-cod pentru analizarea unui flux geospațial

Referințe

  • Kaplan AM, Haenlein M (2010) Users of the world, unite! the challenges and opportunities of social media. Bus Horiz 53(1):59-68

Sursa: Bogdan Batrinca, Philip C. Treleaven, “Social media analytics: a survey of techniques, tools and platforms“, AI & Soc (2015) 30:89-116 DOI 10.1007/s00146-014-0549-4, Creative Commons Attribution License. Traducere și adaptare Nicolae Sfetcu

Introducere în Business Intelligence
Introducere în Business Intelligence

Colecția ȘTIINȚA INFORMAȚIEI ”Introducere în Business Intelligence” oferă cititorilor informații cuprinzătoare despre business intelligence, explorând toate aspectele importante ale inteligenței de afaceri în scenariul actual. Subiectele tratate se referă la abordările de bază ale business intelligence. Cartea își propune să … Citeşte mai mult

Nu a fost votat $2,99$4,80 Selectează opțiunile
Etica Big Data în cercetare
Etica Big Data în cercetare

Principalele probleme cu care se confruntă oamenii de știință în lucrul cu seturile mari de date (Big Data), evidențiind principale aspecte etice, luând în considerare inclusiv legislația din Uniunea Europeană. După o scurtă Introducere despre Big Data, secțiunea Tehnologia prezintă … Citeşte mai mult

Nu a fost votat $0,00$2,35 Selectează opțiunile
Big Data: Modele de afaceri - Securitatea megadatelor
Big Data: Modele de afaceri – Securitatea megadatelor

Termenul megadate (Big Data, date masive) este adesea folosit în mod vag pentru a desemna paleta de algoritmi, tehnologii și sisteme utilizate pentru colectarea datelor de volum și varietate fără precedent și extragerea de valoare din acestea prin calculul masiv … Citeşte mai mult

Nu a fost votat $3,99$5,99 Selectează opțiunile

Lasă un răspuns

Adresa ta de email nu va fi publicată.