<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Olay Tespiti Problemi icin Akan Veri I_sleme Platformu Kullan m : Avanta j ve K s tlar n I_ncelenmesi (Using a Stream Processing Platform for Event Detection: Advantages and Limitations)</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>O zlem Ceren Sahin</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nesime Tatbul</string-name>
          <email>tatbul@csail.mit.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>ve P nar Karagoz</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Intel Labs ve MIT</institution>
          ,
          <addr-line>Cambridge, ABD</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>Social media and social networks are now used extensively for information and news sharing. They provide ability to convey news and information much faster than conventional media for sharing weather conditions, tra c accidents and other unexpected events and situations. For this reason, event detection from social media messages is an intensively studied research topic. In this work, we examined the usability and performance of a streaming data processing platform, the Apache Storm, for event detection problem. We used two techniques used in the literature for event detection. Both alternatives are coded on Apache Storm. Apache Cassandra is used as the intermediate data storage medium. The rst method of event detection is based on tracking the frequency of the</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>words in the messages, and it is based on the assumption that the words
with a sudden increase in the frequency rate indicate an event. The
second method is a clustering-based method and it uses a version of the
hierarchical clustering algorithms adapted for the event detection
problem. We elaborated on the use of the features provided by Apache Storm
for both methods, and discussed the facilities and limitations provided.
In addition, information on how to use the system created for simulation
purposes for experimental analysis is also provided.</p>
      <p>Anahtar Kelimeler: Olay tespiti Akan veri isleme platformu Gercek
zamanl analiz</p>
    </sec>
    <sec id="sec-2">
      <title>Stream processing platform</title>
    </sec>
    <sec id="sec-3">
      <title>Real-time</title>
      <p>1</p>
      <sec id="sec-3-1">
        <title>Giris</title>
        <p>Sosyal medya ve mikroblog hizmetlerinin yukselisi, internette paylas m n etkin
bir yolu olarak baslad ve ozellikle ak ll telefonlar n, tabletlerin, vb. yayg n
kullan m yla, sosyal medya erisilebilir buyuk bir veri kaynag haline geldi. Gunumuzde
sosyal medya insanlar n dusuncelerini ifade ettigi ve guncel sorunlara tepki verdigi
ana platform durumundad r. I_nsanlar etra ar nda meydana gelen olaylar veya
durumlar n yay nlamak icin s kl kla sosyal medyay kullanmaktad rlar. Bu
durum, sosyal medyan n olay tespit ve analizinde onemli bir yer almas na olanak
vermektedir.</p>
        <p>
          Twitter, gunde yaklas k 340 milyon tweet yay nlayan 300 milyondan fazla
aktif kullan c ya sahip en populer mikroblog sosyal ag hizmetidir. Tweet ad
verilen mesajlar n cogunukla erisilebilir olmas nedeniyle akademik cal smalarda
yogun olarak Twitter verileri kullan lmaktad r [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ],[
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ], [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. Bugune kadar
Twitter verileri akademik cal smalarda depremleri, felaketleri, politik konular ,
tra gi, vb. tespit etmek icin kullan lm st r. Bununla birlikte, sosyal medyay
kullanarak olaylar tespit etmek hala aktif ve populer bir arast rma problemidir.
        </p>
        <p>
          Literaturdeki cal smalarda, olay, belirli bir zamanda ve yerde gerceklesen ve
k sa zamanda dikkat ceken bir etkinlik olarak tan mlan r [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. Bunu takiben, olay
tespiti, haber ya da mesaj iceriklerini kullanarak, meydana gelen olaylar h zla
tespit etmeyi amaclar [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ].
        </p>
        <p>
          Bu cal sma, olay tespitini bir ak s isleme problemi olarak ele almaktad r.
Dusuk gecikmeli, yuksek verimli ak s isleme platformlar y llard r kullan lmaktad r
ve olgun seviyede bircok platform mevcuttur [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]. Bu platformlar, olay tespit
cal smalar icin altyap saglama potensiyeli tas maktad r. Ak s isleme
platformlar , s n rl say da arast rmada olay tespit uygulamalar ile kullan lm st r [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ],
[
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]. Ancak bu cal smalarda platformlar n kullan m detaylar sunulmam s, art
ve eksileri irdelenmemistir.
        </p>
        <p>Cal smam zda h zl art s tespiti (burst detection) mant g na dayanan iki olay
tespit yontemini ele ald k. I_lk yontem, mesajlarda gecen kelimelerin s kl g n n
takibine dayal d r, s kl k oran ani art s gosteren kelimelerin bir olay isaret ettigi
varsay m na dayanmaktad r. I_kinci yontem kumeleme tabanl bir yontemdir ve
olay tespit problemi icin uyarlanm s bir hiyerarsik kumeleme algoritmas
kullan r. Bu bildiride Apache Storm'un sundugu ozelliklerin olay tespit yontemlerinin
kodlanmas nda nas l kullan ld g detayland r larak, saglanan kolayl klar ve k s tlar
irdelenmistir. Buna ek olarak, deneysel analiz s ras nda, olusturulan sistemin
uzerinde ak s simulasyonun nas l yap ld g konusunda da bilgi sunulmaktad r.</p>
        <p>Bildirinin icerigi soyledir. K s m 2'de, benzer cal smalar ozetlenmistir. K s m
3'te cal smada kullan lan temel teknolojiler olan Apache Storm ve Twitter API
hakk nda ozet bilgi verilmektedir. Olay tespit yontemleri ve Storm uzerinde
nas l olusturulduklar K s m 4'de detayl olarak anlat lmaktad r. K s m 5'te
durum cal smas ve yap lan degerlendirmeler verilmektedir. K s m 6'da genel bir
degerlendirme ile bildiri sonland r lmaktad r.
2</p>
        <p>
          I_lgili Cal smalar
Bilgi erisimi konusundaki cesitli cal smalarda veri kaynag olarak Twitter
kullan lmaktad r [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ], [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. O rnegin, [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]'de tweetler kullan larak olay
tespiti yapan farkl olay tespit teknikleri s n and r lm st r. [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]'deki cal smada
Twitter verileri uzerinden ag analizi kullanarak kullan c iliskileri ve etkilesimleri
arac l g yla olay tespit yontemlerinin iyilestirilmesi ele al nm st r.
        </p>
        <p>
          Literaturde, cal smam zla benzer sekilde olay tespiti problemi icin akan veri
isleme platformu kullanan oldukca s n rl say da cal sma bulunmaktad r. [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] ve
[
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]'da sunulan cal smalar n her ikisi de platform olarak Storm kullanm st r.
Ancak, bu cal smalarda problemin farkl yonleri ele al nm st r. [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]'deki makalede
ayn ekip taraf ndan daha once onerilen bir algoritmaya bir uzant olarak yeni
bir dag t k anahtar kelime bolumleme semas kullan larak birden fazla dugume
olcekleme uzerine odaklan lm st r.[
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]'daki cal smada ise, Storm platformu uzerinde
k-means kumeleme algoritmas kullanan bir cozum onerilmistir.
3
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>Temel Teknolojiler</title>
        <p>Bu k s mda, cal smam zda kulland g m z Twitter API ve Apache Storm hakk nda
bilgi sunulmaktad r.
3.1</p>
        <sec id="sec-3-2-1">
          <title>Twitter API</title>
          <p>Twitter, herkese ac k mesajlar n (tweet) belirli bir yuzdesini paylasan REST ve
Streaming API'ler sunmaktad r. REST API ile mesajlar, kullan c lar,
konumlar veya Twitter verilerinin diger nitelikleri hakk nda bilgi talebi gonderilebilir.
Yan tlar JSON veya XML formatl objeler olarak iletilir. O te yandan, Streaming
API, istenen bir kritere gore ltrelenebilen Twitter verisi ak s saglar.</p>
          <p>
            Bu cal smada, Twitter Streaming API'sinin Java kutuphanesi olan Twitter4j
[
            <xref ref-type="bibr" rid="ref2">2</xref>
            ] kullan ld . Twitter4j'nin konum ltresi ozelligi ile, ABD ve Kanada d s ndaki
ulkelerden gelen mesajlar ltreledik. Deneyler ve degerlendirme asamas nda
kullanmak uzere, streaming API'den gelen mesajlar Apache Cassandra veritaban na
kaydedildi. Butun deneyler, toplanan bu verilerin 7 gunluk k sm n iceren ayn
mesaj grubu uzerinde cal st r ld . Veri toplama asamas nda konum ltresi d s nda
baska bir ltre kullan lmad . Anahtar kelime tabanl ltreleme yap lmad g icin
tespit edilecek olaylar icin bir k s tlama uygulanmad . Bu sayede veri icinde farkl
tipte olaylar n yer almas ve veri cesitliligi sagland .
3.2
          </p>
        </sec>
        <sec id="sec-3-2-2">
          <title>Apache Storm</title>
          <p>
            Akan veri islemede performans k s tlamalar n iyilestirmek amac yla Nathan Marz
ve BackType [
            <xref ref-type="bibr" rid="ref1">1</xref>
            ] ekibi taraf ndan olusturulan ve Twitter taraf ndan al nd ktan
sonra ac k kaynak haline gelen Apache Storm, gercek zamanl dag t k akan veri
isleme sistemi olarak kullan lmaktad r [
            <xref ref-type="bibr" rid="ref6">6</xref>
            ] [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ]. Storm, farkl programlama dilleri
ile kullan labilir. Storm'un kullan m alanlar ndan baz lar gercek-zamanl analiz,
online makine ogrenmesi ve dag t k uzaktan islem cagr s d r (distributed remote
procedure call).
          </p>
          <p>Cal sman n baslang c nda, gercek zamanl dag t k bilgi isleme platformlar
gozden gecirilerek, cal sma amac na en uygun iki aday olarak Apache Storm ve
Apache Spark secildi ve kars last rmal olarak incelendi. Gerek Apache Storm
gerekse Apache Spark, klasik isleme ve tasar m gercek zamanl dag t k bir
sistem olarak tan mlayabildiginden, gercek zamanl olarak is zekas ve analitigi
uygulamak icin tum gereksinimleri saglamaktad r. Ancak Spark genel amacl
dag t k bir bilgi isleme platformu iken Storm ak s odakl bir dag t k hesaplama
platformudur. Bu nedenle, cal smada Apache Storm kullan lm st r.</p>
          <p>Storm'da uc cesit temel yap tas bulunur: spout (musluk), bolt (c vata) ve
topoloji.</p>
          <p>{ Storm, bir hesaplamada ak slar n kaynag olarak spout ad verilen yap lar
kullan r. Spout, Kafka veya RabbitMQ gibi bir dag t k mesajlasma
sistemiden verileri okuyabilir veya kendi ak s n Twitter Streaming API'si veya
Apache Cassandra gibi bir veritaban kullanarak olusturabilir.
{ Storm, herhangi bir say daki giris ak s n islemek ve herhangi bir say da yeni
c kt ak s n uretmek icin bolt ad verilen yap lar kullan r. I_slevler, ltreler,
ak s kat st rmalar , toplu ak slar, veri tabanlar ile iletisim gibi hesaplama
mant g n n cogu boltlarda uygulan r.
{ Storm, spout ve bolt'lar aras ndaki baglant ve veri ak s n topoloji ad verilen
bir ag yap s seklinde tan mlar. Topoloji, karmas k ve cok asamal bir ak s
hesaplamas d r.</p>
          <p>Her spout ve bolt, topoloji icinde cesitli gorevler yurutur. Her gorev, bir is
parcac g na kars l k gelir. Ak s gruplamalar , verinin bir gorev kumesinden baska
bir gorev kumesine nas l gonderilecegini tan mlar. Her spout ve bolt icin paralel
gorev say s gelistirici taraf ndan belirlenir.</p>
          <p>Apache Storm bes farkl gruplama turu sunmaktad r:
{ Kar s k gruplama: Bu grupland rma turunde, ak s, bolt gorevleri aras nda
rastgele ve esit sekilde dag t l r. Dag t m Apache Storm taraf ndan yurutulur.
{ Tum gruplama: Bu gruplama turu ak s tum bolt gorevlerine aktar r.
{ Alana gore gruplama: Bu grupland rma cesidi ise ak s , kullan c taraf ndan
belirtilen bir alana gore dag t r.
{ Genel gruplama: Bu tur grupland rma tum ak s tek bir goreve toplar.
{ Dogrudan gruplama: Bu ozel bir grupland rma turudur. Bu gruplamada veri
gruplar kullan c lar taraf ndan belirli bir bolt gorevine aktar l r. Bu nedenle,
veri gruplar n gorevler aras nda dag tmak, gelistiricinin tercihine bagl d r.
4</p>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>Metot</title>
        <p>Bu bolumde, olay tespiti icin kulland g m z anahtar kelime tabanl olay tespiti, ve
kumeleme tabanl olay tespiti teknikleri icin olusturulan Apache Storm
topolojileri ve topolojilerin bilesenleri ayr nt l bir sekilde anlat lmakta ve tart s lmaktad r.
Olay tespiti tekniklerinden once her iki teknikte de ortak olarak kullan lan konum
tabanl farkl ak slar olusturma ve veritaban kullan m konular hakk nda bilgi
verilmektedir.</p>
        <p>Vurgulanmas gereken onemli bir nokta her iki olay tespiti yonteminde de
verilerin belli zaman penceresi icinde kalan bloklar seklinde isleniyor olmas d r.
Bloklar aras nda zamansal ortusme bulunmaz, zaman s ras na gore birbirini takip
eder. Burada amac, ard s k bloklar aras ndaki degisimlerin takibi ile olay tespiti
yap lmas d r. Her bir turda topoloji bir mesaj blogunu isler. Zaman pencereleri
(bloklar) akmaya devam ettigi surece islem turlar devam eder. Zaman penceresinin
buyuklugu veri isleme ihtiyac na gore belirlenebilir. Deneylerimizde pencerler 6
dakikal k bloklar olarak belirlenmistir.
4.1</p>
        <sec id="sec-3-3-1">
          <title>Konum Tabanl Farkl Ak slar Olusturma</title>
          <p>Tum dunya uzerinde kullan lan Twitter verileri, dunya cap nda bilinen bir sanatc
taraf ndan duyurulan yeni album gibi global bir olay ya da yerel bir etkinligi
icerebilir. Bu nedenle, gelen tweetler ulkeyi, sehri veya tum dunyay
ilgilendiren olaylar seklinde etiketlenebilir. Twitter'da konum verisi mevcut ve erisime
ac ksa, Twitter API uzerinden bu bilgiye ulas labilir. Bu cal smada Twitter
Streaming API'n n konum ltreleme secenegi kullan larak, Kanada ve ABD'den
gonderilen tweet ak s uzerinde cal s lm st r. O nerilen sistemde, iki farkl ulke
ayn isleme ad mlar yla iki paralel ak sa bolunmustur ve veri hacimlerindeki
farklardan dolay farkl paralelizm say lar na sahiplerdir. Sekillerde goruldugu
gibi, (Sekil 1 ve Sekil 2), ak s kaynag , tweetin gonderilecegi boltu, konum
bilgilerine bagl olarak belirleyebilir. Bu sayede, olaylar gerceklestigi konum
bilgileriyle tespit edilir. Bu cal sman n sadece konum ltrelemesi ac s ndan Kanada
ve ABD'den gonderilen mesajlara odaklanmas na ragmen, farkl ulkeler icin yeni
isleme hatt n n entegre edilmesi oldukca kolayd r.
4.2</p>
        </sec>
        <sec id="sec-3-3-2">
          <title>Veritaban Kullan m</title>
          <p>Gerek akan veri parcalar n n, gerekse ara c kt lar n saklanmas icin veri saklama
alan gereksinimi olusmaktad r. Cal smam zda bu ihtiyac icin Apache
Cassandra kullan lm st r. Apache Cassandra, olceklenebilirlik ve yuksek kullan labilirlik
Veri
Akışı
Olay Tespiti
İş Parçaları</p>
          <p>(x2)
Olay Tespiti
İş Parçaları
(x2)</p>
          <p>Kanada</p>
          <p>Genel
Gruplama</p>
          <p>Sonlandırma
İş Parçası</p>
          <p>(x1)
Genel
Gruplama
saglayan bir NoSQL veritaban d r. Veriler coklu dugumlere kopyaland g ndan,
sistem hata tolerans saglar. Apache Cassandra'n n sisteme entegre edildigi iki
kullan m durumu vard r. Birincisi, islem sonunda tespit edilen olaylar veya
tweetler gibi sistemde kullan lan veya sistemin olusturdugu verileri depolamakt r.
I_kincisi, durum bilgisi iceren ak s islemesi saglamak icin kelimelerin veya kuresel
kumelerin say s gibi mevcut blok icinde olusturulan veriyi depolamakt r. I_s
parcalar n n mevcut blok icin isini bitirip bitirmedigi veya surecini tamamlamak
icin ne kadar surdugu gibi durum bilgileri de Cassandra'da saklan r.
4.3</p>
        </sec>
        <sec id="sec-3-3-3">
          <title>Anahtar Kelime Tabanl Olay Tespiti Yontemi</title>
          <p>Anahtar kelime tabanl olay tespiti yonteminin Apache Storm topolojisi, Sekil
1'de sunulmakt r. Bu yontemdeki ana ad mlar soyledir: Spout'tan bir bir blok
kapsam nda gelen her tweet kelimelere ayr larak on isleme tabi tutulur. Sonraki
bolt'ta kelime say lar ndaki art s takip edilerek o turdaki olay ifade eden kelimeler
belirlenir.</p>
          <p>Bu yontemde iki parametre kullan l r:
{ Tf-Idf Art s Oran : Bu parametre, bir kelimenin olay olarak tespit edilmesi
icin son iki tur aras ndaki tf-idf degerinin art s oran esigini tan mlamak icin
kullan l r. O rnegin, bu parametre 10 olarak belirlenmis ve bir kelimenin son
iki turdaki tf-idf degerleri s ras yla 0.001 ve 0.015 ise, bu anahtar kelimenin
bir olay ifade ettigi tespit edilir (0.015/0.001 &gt; 10).
{ Kelime S kl k Esigi: Bu parametre, bir sozcugu cok rastlanan bir kelime
olarak varsaymak icin kullan lan esigi tan mlar. Sadece cok rastlanan
kelimeler anahtar kelime tabanl olay tespit algoritmas na tabi tutulur.</p>
          <p>Yontemdeki her ad m asag daki gibi detayland rabiliriz.</p>
          <p>Kelime Sayma Boltu. Ak stan gelen mesajlar ilk olarak kelimelere bolunur
ve kelimeler ilgili bolta saymak uzere gonderilir. Kelime sayma boltunun is
parcalar n n temel gorevi o turda gecen kelimelerin say lar n belirlemektir.
Kelimelerin say s , kelimenin bir olay temsil edip edemeyecegine karar vermek icin
kullan l r. Performans, buyuk veri analizi icin onemli oldugundan, nadir gecen
kelimeler bu boltta elenir ve ilerleyen islemlere tabi tutulmaz. Nadir gecen
kelimeleri belirlemek icin Kelime S kl k Esigi parametresinde tan mlanan esik
kullan l r. Bu on eleme, mevcut turda en s k kullan lan kelimeleri tan mlamakta ve
nadir kelimeler icin gereksiz hesaplamalar onlemektedir.</p>
          <p>Olay Tespit Boltu. Bu boltta son iki tur icin her kelimenin tf-idf degeri
hesaplan r. Bir kelimenin bir olay temsil edip etmedigine tf-idf degerleri kontrol
edilerek karar verilir. Tf-idf degerinin hesaplanmas icin Denklem 1, Denklem 2
ve Denklem 3'te verilen formuller kullan l r.
(1)
(2)
(3)
{ ft;d: t kelimesinin d dokuman nda kac kez gectigini gosterir.
{ jft0 2 dgj: d dokuman nda bulunan toplam kelime say s .</p>
          <p>tf(t; d) =</p>
          <p>ft;d
jft0 2 dgj
idf(t; D) = log</p>
          <p>N
1 + jfd 2 D : t 2 dgj
{ N : Sistemde bulunan toplam dokuman say s N = fjDjg
{ jfd 2 D : t 2 dgj: t kelimesinin gectigi toplam dokuman say s .</p>
          <p>tf-idf(t; d; D) = tf(t; d) idf(t; D)
Sonland rma Boltu. Bu bolt iki basit gorev yerine getirir. Olaylar temsil eden
kelimelerini Apache Cassandra veri taban na kaydeder, ve her olay kelimesinin
son 10 tur icerisindeki say lar n gosteren cizgi gra gi cizer.
4.4</p>
        </sec>
        <sec id="sec-3-3-4">
          <title>Kumeleme Tabanl Olay Tespiti Yontemi</title>
          <p>Bu yaklas m, her bir blok icindeki tweet'lerin kumenlenmesi (clustering) ve
kumelerdeki buyumenin takibi ad mlar na dayanmaktad r. Yaklas m, ani buyume
gosteren tweet kumelerinin bir olay ifade ettigi krine dayanmaktad r. Kumeleme
islemi kelime vektorlerin kosinus benzerliklerine dayal cal st g icin, spout,
tweetleri kelime vektorlerine cevirir ve bir sonraki bolta gonderir. Tweet vektorleri, bir
tweet icindeki kelimeleri normalize edilmis ag rl klar yla birlikte icerir. O rnegin
"RIP Muhammed Ali RIP" tweet'inin vektoru f"RIP": 0.5, "Muhammed": 0.25,
Veri 
Akışı
Olay Tespiti
İş Parçası</p>
          <p>(x1)
Olay Tespiti
İş Parçası
(x1)</p>
          <p>Kanada</p>
          <p>Apache
Cassandra
Veri Tabanı
Oluşan
Kümeler</p>
          <p>Sekil 2: Kumeleme Tabanl Storm Topolojisi
"Ali": 0.25 g seklinde gosterilir. Bu vektor temsili, tweetler ve kumeler aras ndaki
kosinus benzerligini hesaplamak icin kullan l r.</p>
          <p>Kumeleme tabanl olay tespiti yontemi icin olusturulan Apache Storm
topolojisi Sekil 2'de sunulmaktad r. Topoloji, kumeleme ve olay tespiti boltlar ndan
olusmaktad r.</p>
          <p>Kumeleme Boltu. Bu bolt, kosinus benzerligi kullanarak tweet'leri kumelere
atar. Verimlilik ac s ndan belli bir esik degerinin alt ndaki say da mesaj iceren
kumeler silinir. Performans iyilestirmesi icin iki asamal bir kumeleme kullan l r.
Bu bolt, yaln zca ilk asamadaki, yerel kumeleme ad m ndan sorumludur. Bir
turun baslang c nda is parcalar nda hicbir yerel kume yoktur. Her is parcas ,
ak s kaynag taraf ndan dag t lan tweet vektorleriyle kendi kumelerini olusturur
ve kumeleri gunceller. I_slemin sonunda her kumeleme is parcas , kume listesini,
degerlendirme icin bir sonraki bolta aktar r. Kume atamas icin bu bolt, tweet
vektoru ile mevcut yerel kumeler aras ndaki kosinus benzerligini hesaplar ve
kosinus benzerligi belirtilen esikten daha yuksekse, tweet o kumeye atan r. Her
kume vektoru buna gore guncellenir. Herhangi bir tweet icin kosinus
benzerlik k s tlamas kars lanmazsa, tweet vektoru icin yeni kume olusturulur.
Turun sonunda, veri ak s s ras nda olusturulan tum kumeler, olay tespit boltuna
gonderilir.</p>
          <p>Olay Tespit Boltu. Bu bolt, her zaman blogunun sonunda etkinlestirilir. Kume
boltunun her bir is parcas , yerel kume listesini olay tespit boltuna gonderir ve
olay tespit boltu tum is parcalar ndan gelen bu gorev listelerini biriktirir. O nceki
boltun her bir is parcas n n yerel kume listeleri geldiginde, olay tespit boltu yerel
kumelerin degerlendirmesini baslat r. Bu degerlendirme iki ad mdan olusur:
{ Yerel Kume Degerlendirmesi: Bu bolt ilk olarak farkl is parcalar taraf ndan
olusturulan yerel kumeleri birlestirir. Birlestirme islemi, iki yerel kumenin
temsil vektorunun kosinus benzerligi belirtilen esige esit veya daha yuksekse
gerceklesir. Birlestirme islemi s ras nda, her kelimenin ag rl g yeniden
hesaplan r ve iki kume vektoru teke indirilerek guncellenir.
{ Global Kume Degerlendirmesi: Yerel degerlendirmeden sonra, veritaban ndan
mevcut kumelerin listesi al n r. Bu kez, is parcalar ndan gelip birlestirilmis
yerel kumeleri, veritaban taraf ndan tutulan global kumelerle kars last r r.
Bu ad mda, her bir kumenin kosinus benzerligi her bir yerel kume icin tek
tek hesaplan r ve gerekli durumda global kume yerel kume ile birlestirilerek
guncellenir. Guncellenen global kumenin buyume oran , Denklem 4
kullan larak hesaplan r. Buyume oran belirtilen esigi saglarsa, gecerli tur icin
olay olarak isaretlenir. Son ad m olarak, son 3 turda aktif olmayan global
kumeler performans icin elimine edilir ve veritaban ndan silinir.
jfteklenen 2 Cgj: son turda C kumesine eklenen tweet say s .</p>
          <p>jfthepsi 2 Cgj: C kumesindeki toplam tweet say s .
5
5.1</p>
        </sec>
      </sec>
      <sec id="sec-3-4">
        <title>Durum Cal smas ve Degerlendirmeler</title>
        <sec id="sec-3-4-1">
          <title>Veri Kumesi ve Cal st rma ortam</title>
          <p>Gelistirilen olay tespit yontemlerini, 31 May s 2016 - 7 Haziran 2016 tarihleri
aras ndaki bir hafta icinde toplanm s olan yaklas k 12 milyon tweet iceren veri
kumesi uzerinde uygulad k. Daha once bahsedildigi uzere, cogra konum
ltrelemesi kullan larak ABD ve Kanada'dan gonderilen mesajlar topland . Bunun
d s nda bir ltreleme kullan lmad g icin veri kumesi farkl tipte olaylar
icermektedir. Tum deneyler 3.2 GHz i5 islemcili, 16 GB haf za iceren MacOS versiyon
10.13.3 bilgisayar uzerinde cal st r lm st r.
5.2</p>
        </sec>
        <sec id="sec-3-4-2">
          <title>Ak s Simulasyonu</title>
          <p>Deneyler s ras nda, farkl yontem ve kon gurasyonlar aras kars last rma
yapabilmek icin ayn veri uzerinde ak s simulasyonu yapma ihtiyac bulunmaktad r.
Bu amacla, ak s kaynag (spout) olarak tan mlanm s olan Apache Cassandra
veritaban na kaydedilen veriler, 6 dakikal k zaman pencereleri (bloklar) halinde,
tweet'lerin zaman s ras na uygun olarak cekilir. Bir blok icindeki mesajlar n ak s
bittiginde, spout bir sonraki blogun ak s n hemen baslatmaz. Bir sonraki blok,
gecerli zaman blogunun tum islemleri tamam r lm st rlanana kadar ask ya al n r.
Sistemin guvenilirligi ve olay tespitinin dogrulugu icin zaman bloklar aras nda
ask ya alma islemi gereklidir; cunku, bir sonraki blok hemen baslat l rsa, o anda
islenmekte olan bloktaki kelimeler ile bir sonraki blokta islenecek olan kelimeler
birbirine kar s r ve yanl s olay tespitlerine neden olur. Bu nedenle, bloklar aras
ask ya alma islemini saglayacak bir ak s protokolu tan mlamak gerekir. Apache
Storm bu amac icin bir haz r bir yap saglamaz, dolay s yla bu probleme cozum
olarak cal smam zda iki farkl yaklas m tan mlad k. Birinci yaklas mda, turlar
aras nda, spout, yap lan deneylerle belirlenen bir sure kadar uyutularak
bekletilir. I_kincisinde ise Storm taraf ndan tan mlanan dogrudan gruplama teknigini
kullanarak mevcut turun bitip bitmedigi kontrol edilir.</p>
          <p>I_lk yaklas m m zda, gorevler aras nda veri dag t m Apache Storm taraf ndan
karma gruplama ve alan gruplamalar ile yurutulur. Farkl turlar n kar smas n
onlemek icin turlar aras nda uyku aral klar kullan l r. Bu yaklas mda, verinin
Storm'un kendi programlama mekanizmas taraf ndan dag t lmas daha verimli
bir dag t m ve islem suresi saglamas na ragmen, turlar aras nda kullan lan uyku
tamponu bu avantaj dezavantaja donusturmektedir. Bunun sebebi uyku
tamponu suresinin en uzun suren tura gore secilmesidir. Turlar n isleme suresi gun
icerisindeki 6 dakikal k bloklar n veri hacimlerinin farkl olmas ndan dolay buyuk
farkl l klar gostermektedir. Bu durum eylemsiz gecen buyuk zaman aral klar na
neden olmaktad r. O zetle; spout, turlar aras nda yap lan deneyler taraf ndan
belirlenen bir sure kadar bekletilir ve belirlenen bu sure, her bir tur icin tum
gorevlerin islemlerini bitirmesi icin yeterli bir sure olarak secilmistir.</p>
          <p>I_kinci yaklas mda ise, Storm'un dag t m ve programlama mekanizmas n n
kontrolunun tam olarak gelistiriciye b rak ld g , dogrudan gruplama teknigi
kullan l r. Bu yaklas mda veriler, gorevlerin uygunlugu kontrol edilmeden, s rayla
her bir goreve tek tek dag t l r. Dolay s yla verilerin dag t m ndaki verimlilik ilk
yaklas m kadar iyi saglanmamaktad r, cunku Storm dogrudan gruplama teknigi
icin gorevlerin dolulugunu kontrol etme secenegini sunmamaktad r. O te yandan,
bu yontemin avantaj , turun bittigi an alg lama yetenegine sahip olunmas d r.
Boylece islem yap lmadan gecen uyku aral klar ile zaman kaybedilmemektedir.
Performansta saglad g art s sebebiyle, deneylerde ikinci yaklas m kullan lm st r.
5.3</p>
        </sec>
        <sec id="sec-3-4-3">
          <title>Degerlendirmeler</title>
          <p>
            Yontemlerin kodlanmas nda ve cal st r lmas nda gozlemlerimiz soyle ozetlenebilir:
{ Sunulan yontemlerin akan veri platformu uzerinde gelistirilme eforu icin
formal bir efor metrigi kullan larak olcum yap lmad . Ancak daha onceki
cal smalar m zda platform kullanmadan gelistirdigimiz kumeleme tabanl olay
tespiti cozumumuz [
            <xref ref-type="bibr" rid="ref13">13</xref>
            ] ile kars last rd g m zda, Storm'un is ak s tan mlama
ve is parcalar n dag tma konusunda saglad g yeteneklerin yontemleri
kodlama eforunu oldukca ha ettigini gozlemledik.
{ Apache Storm'un yerel bir veritaban sunmamas ve islemsel (transactional)
destek ihtiyac bulunmas k s tlamalar getirmektedir. I_slemsel destek ozellikle
kumeleme taban teknikte, tweet'lerin kumeleme atanmas s ras nda gerekli
olmaktad r. Cal smam zda bu ihtiyac lokal ve global kumeleme asamalar ile
kars lamaya cal st k.
{ Deneyler s ras nda ihtiyac m z olan ak s simulasyonu icin ak s kaynag olan
spout'u veritaban olarak tan mlayabilmek kolayl k saglamaktad r. Bununla
birlikte, deneylerden daha cabuk sonuc alabilmek icin, bir haftal k tweet
ak s n daha h zl oynatmak gerekmektedir. Gercek ak sta, 6 dakikal k pencere
boyunca tweet'ler biriktirilikten bir onceki pencerenin tweet'leri bu zaman
zarf nda islendigi icin tweet bloklar aras nda ek bir senkronizasyona gerek
olmamaktad r. Ancak simulasyon s ras nda hem art arda gelen bloklardaki
tweet'lerin birbirine kar smamas , hem de mumkun oldugu kadar ak s h
zland rma geregi vard r. Storm, bu ihtiyaca yonelik bir mekanizma sunmad g icin
mevcut yap larla cozume gidilmistir.
{ Storm uzerinde gelistirilen iki yontemi kars last rd g m zda gelistirme eforu
ac s ndan, kelime tabanl yontem daha basit ad mlar icerdigi icin cok daha
verimlidir. Ad mlar n basit olmas cal sma zaman nda da verim saglamaktad r
(saniyede 1200 tweet islenmektedir). O te yandan, kumeleme tabanl yontem
gerek gelistirme eforu, gerekse cal sma suresi ac s ndan daha geride
kalmaktad r (kumeleme tabanl yontemde saniyede 300 tweet islenebilmektedir).
{ Cal smam z n odak noktas olay tespiti dogrulugu olmamakla birlikte, bu
konuda al nan sonuclar ozetle soyledir: Veri 20 farkl olay icermektedir.
Fmeasure olcusune gore kelime tabanl yontem %62, kumeleme tabanl
yontemse %70 basar oran ile olay tespiti yapabilmistir. Kumeleme tabanl yontemde
ozellikle geri cag rma (recall) oran %100'e varmaktad r. Beklenen sekilde
anahtar kelime tabanl yontemde sonuclar n daha zor yorumland g n ve
kumeleme tabanl yontemin daha net ve basar l sonuclar ortaya koydugunu
soyleyebiliriz.
6
          </p>
        </sec>
      </sec>
      <sec id="sec-3-5">
        <title>Sonuc</title>
        <p>Cal smam zda olay tespiti problemi icin, akan veri isleme platformu olan Apache
Storm'un kullan m n inceledik. Olay tespiti icin literaturde kullan lm s olan art s
tespitine dayal iki farkl yontemi Storm uzerinde gelistirdik. Her iki yontem icin
de akan veriyi belli zaman uzunlugundaki pencereler (bloklar) halinde isledik.
I_lk yontem ard s k turlar aras nda tweet'lerde gecen kelimelerin say lar ndaki
art s n takibine dayanmaktad r. I_kincisinde ise tweet'ler kumelenmekte, ve kume
buyuklugundeki art s takip edilmektedir. Her iki yontem icin algoritmalar n
ad mlar Storm boltlar olarak gelistirilerek tum algoritma bir Storm
topolojisi olarak tan mland . Akan veri isleme platformu olarak Apache Storm'un,
olay tespiti problem icin kullan sl yetenekler saglad g n ve gelistirme eforunu
azaltt g n gozlemledik. Gelistirmede zorland g m z iki nokta goze carpmaktad r.
Birincisi deneylerde simulasyon yapma ihtiyac s ras nda veri ak s h z n
kontrol edecek ve zaman bloklar n ayr k tutacak haz r bir yap n n bulunmamas d r.
I_kincisi de Apache Storm icinde yerli bir veritaban bulunmamas ve ozellikle
kumeleme tabanl yontemde islemsel (transactional) ihtiyaclar n kars lanmas nda
zorluk yasanmas d r. Takip eden cal smalarda, art s takibi tabanl yontemlerin
yan s ra, akan veri isleme platformlar n n, daha farkl olay tespiti ve tahmini
cozumleri icin kullan m uzerine odaklan lmas olas d r.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. Backtype website. http://www.backtype.com/, accessed:
          <fpage>2018</fpage>
          -04-03
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <article-title>Twitter for java website</article-title>
          . http://twitter4j.org/en/index.html, accessed:
          <fpage>2018</fpage>
          -04-03
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>IEEE</given-names>
            <surname>Data Engineering</surname>
          </string-name>
          <string-name>
            <given-names>Bulletin</given-names>
            , Special Issue on
            <surname>Next-Generation Stream Processing</surname>
          </string-name>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Atefeh</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Khreich</surname>
            ,
            <given-names>W.:</given-names>
          </string-name>
          <article-title>A Survey of Techniques for Event Detection in Twitter</article-title>
          .
          <source>Computational Intelligence</source>
          <volume>31</volume>
          (
          <issue>1</issue>
          ),
          <volume>132</volume>
          {
          <fpage>164</fpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Cordeiro</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gama</surname>
          </string-name>
          , J.:
          <article-title>Online Social Networks Event Detection: A Survey</article-title>
          . In: Michaelis,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Piatkowski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            ,
            <surname>Stolpe</surname>
          </string-name>
          , M. (eds.)
          <source>Solving Large Scale Learning Tasks. Challenges and Algorithms, Lecture Notes in Computer Science</source>
          , vol.
          <volume>9580</volume>
          , pp.
          <volume>1</volume>
          {
          <fpage>41</fpage>
          . Springer, Cham (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Foundation</surname>
            ,
            <given-names>A.S.</given-names>
          </string-name>
          : Apache Storm. http://storm.apache.org
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Gulisano</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jerzak</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Voulgaris</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ziekow</surname>
          </string-name>
          , H.:
          <article-title>The DEBS 2016 Grand Challenge</article-title>
          .
          <source>In: ACM International Conference on Distributed and Event-based Systems (DEBS)</source>
          . pp.
          <volume>289</volume>
          {
          <issue>292</issue>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Java</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Song</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Finin</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tseng</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Why we twitter: understanding microblogging usage and communities</article-title>
          .
          <source>In: Proceedings of the 9th WebKDD and 1st SNAKDD 2007 workshop on Web mining and social network analysis</source>
          . pp.
          <volume>56</volume>
          {
          <fpage>65</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Marz</surname>
          </string-name>
          , N.:
          <article-title>A storm is coming</article-title>
          . https://blog.twitter.com/
          <year>2011</year>
          <article-title>/storm-coming-moredetails-and-plans-release</article-title>
          ,
          <source>accessed: 2018-04-03</source>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>McCreadie</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Macdonald</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ounis</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Osborne</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Petrovic</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Scalable Distributed Event Detection for Twitter</article-title>
          .
          <source>In: IEEE International Conference on Big Data</source>
          . pp.
          <volume>543</volume>
          {
          <issue>549</issue>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Milstein</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chowdhury</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hochmuth</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lorica</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Magoulas</surname>
          </string-name>
          , R.:
          <article-title>Twitter and the Micro-Messaging Revolution: Communication, Connections, and Immediacy { 140 Characters at a Time (An</article-title>
          <string-name>
            <surname>O'Reilly Radar</surname>
            <given-names>Report</given-names>
          </string-name>
          ) (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Mokbel</surname>
            ,
            <given-names>M.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Magdy</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Microblogs Data Management Systems: Querying, Analysis, and Visualization (Tutorial)</article-title>
          .
          <source>In: ACM SIGMOD International Conference on Management of Data (SIGMOD)</source>
          . pp.
          <volume>2219</volume>
          {
          <issue>2222</issue>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Ozdikis</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Karagoz</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , Oguztuzun, H.:
          <article-title>Incremental Clustering with Vector Expansion for Online Event Detection in Microblogs</article-title>
          .
          <source>Social Network Analysis and Mining</source>
          <volume>7</volume>
          (
          <issue>1</issue>
          ),
          <volume>56</volume>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Ozdikis</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Senkul</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oguztuzun</surname>
          </string-name>
          , H.:
          <article-title>Semantic expansion of hashtags for enhanced event detection in twitter</article-title>
          .
          <source>In: Proceedings of the 1st International Workshop on Online Social Systems. Citeseer</source>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Ozdikis</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Senkul</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oguztuzun</surname>
          </string-name>
          , H.:
          <article-title>Semantic Expansion of Tweet Contents for Enhanced Event Detection in Twitter</article-title>
          .
          <source>In: International Conference on Advances in Social Networks Analysis and Mining (ASONAM)</source>
          . pp.
          <volume>20</volume>
          {
          <issue>24</issue>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xu</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , Liu,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Gui</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Tang</surname>
          </string-name>
          ,
          <string-name>
            <surname>B.</surname>
          </string-name>
          :
          <article-title>A Storm-Based Real-Time MicroBlogging Burst Event Detection System</article-title>
          . In: Wang,
          <string-name>
            <given-names>X.</given-names>
            ,
            <surname>Pedrycz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            ,
            <surname>Chan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>He</surname>
          </string-name>
          ,
          <string-name>
            <surname>Q</surname>
          </string-name>
          . (eds.)
          <source>Machine Learning and Cybernetics</source>
          , Communications in Computer and Information Science, vol.
          <volume>481</volume>
          , pp.
          <volume>186</volume>
          {
          <fpage>195</fpage>
          . Springer (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>