dc.description.abstract | En økende mengde data genereres som en del av digitaliseringen av samfunnet vårt. Forskning fra 2013 viser at 90% av all dataen generert i verden frem til det tidspunktet, ble generert i løpet av de to foregående årene. Sosiale medier har blitt en del av hverdagen til folk,
og måten mennesker bruke disse sosiale mediene kan generere store datastrømmer, slik
som for eksempel strømmen av meldinger fra mikrobloggen Twitter, som genererer millioner av “tweets” daglig. Denne dataen kan analyseres i sanntid for få innblikk i mange
temaer, for eksempel hvilke naturkatastrofer eller andre kriser som rammer verden i et gitt
øyeblikk. Men, det er ikke mulig for en bruker med et spesifikt informasjonsbehov å navigere den store mengden av data for å finne akkurat den dataen som er mest relevant for
henne. Dette har skapt et økende behov for automatiske sanntidssystemer for å håndtere
slike problemstillinger. Sanntidsanalyse av denne typen strømdata er ikke en ny idé, men
mange av de tidligere tilnærmingene til løsninger har vært avhengige av å “lime” sammen
flere uavhengige systemer.
I lys av de overnevnte utfordringene utforskerer denne oppgaven hvordan elementer i en
datastrøm generert av et sosial medium kan rangeres ved å benytte eksisterende systemer
som håndterer Big Data. Målet med å utføre rangering er å til enhver tid kunne identifisere
og hente ut den mest relevante informasjonen fra datastrømmen for et gitt informasjonsbehov. Dette adresserer problemet med informasjonsoverflod som brukere kan oppleve på
nett.
Det første steget i det foreslåttet systemet er å filtrere datastrømmen basert på en stående
brukerspørring, og dermed redusere mengden data som må prosesseres. Videre blir en
grupperingsalgoritme tatt i bruk på de resterende elementene i datastrømmen for å redusere antallet enheter som må rangeres. Deretter blir relevansen mellom grupperingene
av Twitter-meldinger og brukerspørringen kalkulert, og det blir produsert en liste over
de k mest relevante grupperingene. Til slutt vil bare tweets som er lagret i den høyest
rangerte grupperingen bli persistent lagret, og lagringsmediumet blir oppdatert kun når
det er endringer i rangeringen av grupperinger. Et sanntidseksperiment viste at filtrering
og rangering blir påført med hell på datastrømmen, og at systemet oppdaterer resultateat
basert på den nåværende rangeringen med lav kostnad. Denne oppgaven viser at strømdata
kan håndteres internt i AsterixDB, og fjerner behovet for flere systemer til å løse et slikt
problem. | |
dc.description.abstract | An increasing amount of data is being generated as part of the digitialization of our society.
In 2013, research found that 90% of the data in the world was generated during the past
two years. Social media platforms have become a part of people’s daily life, and the usage
of these platforms can generate large data streams, such as the stream of messages from
microblogging platform Twitter, where millions of “tweets” are posted daily. This data can
be analyzed in real-time to gain insight into many subjects, for instance natural disasters
or other crises as they happen, but it would be overwhelming for a user with a specific
information need to cherry-pick the most relevant posts from such an immense volume of
data. This has led to a need for automatic, real-time systems for handling such tasks. Realtime analysis of streaming data is not a new idea, but many of the previous approaches have
required the use of several independent systems which are “glued" together.
Bearing in mind the above challenges, this project investigates how to implement ranking
of items in a data stream generated by a social media platform using an existing, unified
big data management system. The goal is to be able to continuously identify and retrieve
the most relevant items by ranking based on a user’s information need at every time instant,
and thus address the information overload effect users can be subject to when using the
web.
In the proposed system, the first step is to filter the data stream by the means of a continuous user-defined query to avoid processing data not found relevant. Next, an online
clustering algorithm is applied to the remaining tweets to further reduce the search space
of relevant items. Then, a scoring function calculates the relevance score for each cluster
with respect to the user query, and these are ranked to find the top-k most relevant ones.
Finally, only tweets in the highest ranked cluster are retrieved and persisted, and the storage is updated as the most relevant items change as time passes by. A real-time experiment
show that filtering and ranking is applied to the data stream, and that the system updates
the retrieved result based on the current ranking with low costs. This study show that
streaming data can be handled natively within AsterixDB, yielding no need for combining
several systems for that purpose. | |