T.C. ULUDAĞ ÜNİVERSİTESİ SOSYAL BİLİMLER ENSTİTÜSÜ EKONOMETRİ ANABİLİM DALI İSTATİSTİK BİLİM DALI DUYGU ANALİZİ ve SOSYAL MEDYA ALANINDA UYGULAMA (DOKTORA TEZİ) Yusuf Murat KIZILKAYA BURSA - 2018 ii iii T.C. ULUDAĞ ÜNİVERSİTESİ SOSYAL BİLİMLER ENSTİTÜSÜ EKONOMETRİ ANABİLİM DALI İSTATİSTİK BİLİM DALI DUYGU ANALİZİ ve SOSYAL MEDYA ALANINDA UYGULAMA (DOKTORA TEZİ) Yusuf Murat KIZILKAYA Danışman Prof. Dr. Ayşe OĞUZLAR BURSA - 2018 iv T.C. ULUDAĞ ÜNİVERSİTESİ SOSYAL BİLİMLER ENSTİTÜSÜ MÜDÜRLÜĞÜNE Ekonometri Anabilim Dalı, İstatistik Bilim Dalı’nda 711417005 numaralı Yusuf Murat KIZILKAYA’nın hazırladığı “DUYGU ANALİZİ VE SOSYAL MEDYA ALANINDA UYGULAMA” konulu Doktora Tezi ile ilgili tez savunma sınavı, …/.../2018 günü ……… saatleri arasında yapılmış, sorulan sorulara alınan cevaplar sonunda adayın tezinin/çalışmasının ……………… (başarılı/başarısız) olduğuna …...………… (oybirliği/oy çokluğu) ile karar verilmiştir. Öğretim Üyesinin Adı Soyadı Üniversitesi İmzası 1 Tez Danışmanı Prof. Dr. Ayşe OĞUZLAR – Uludağ Ünv. 2 Jüri Üyesi Prof. Dr. Şahamet BÜLBÜL – Marmara Ünv. 3 Jüri Üyesi Prof. Dr. Dilek ALTAŞ – Marmara Ünv. 4 Jüri Üyesi Prof. Dr. Aysan ŞENTÜRK – Uludağ Ünv. 5 Jüri Üyesi Doç. Dr. Sevda GÜRSAKAL – Uludağ Ünv. i YEMİN METNİ Doktora tezi olarak sunduğum “DUYGU ANALİZİ VE SOSYAL MEDYA ALANINDA UYGULAMA” başlıklı çalışmamın bilimsel araştırma, yazma ve etik kurallarına uygun olarak tarafımdan yazıldığına ve tezde yapılan bütün alıntıların kaynaklarının usulüne uygun olarak gösterildiğine, tezimde intihal ürünü cümle veya paragraflar bulunmadığına şerefim üzerine yemin ederim. 01/07/2018 Adı Soyadı : Yusuf Murat KIZILKAYA Öğrenci No : 711417005 Anabilim Dalı: Ekonometri Programı : İstatistik Statüsü : Doktora ii ÖZET Yazar : Yusuf Murat KIZILKAYA Üniversite : Uludağ Üniversitesi Enstitü : Sosyal Bilimler Enstitüsü Anabilim Dalı : Ekonometri Bilim Dalı : İstatistik Tezin Niteliği : Doktora Tezi Sayfa Sayısı : XVI + 137 Mezuniyet Tarihi : 18/07/2018 Tez Danışmanı : Prof. Dr. Ayşe OĞUZLAR DUYGU ANALİZİ VE SOSYAL MEDYA ALANINDA UYGULAMA Bilgisayar teknolojilerinde meydana gelen değişiklik hayatın her aşamasında yenilikleri de beraberinde getirmiştir. Bunlardan en önemlileri farklı tiplerde ki verilerin derlenip saklanabilmesine, işlenmesine imkan tanıması ve geleneksel medya araçlarına alternatif olarak sosyal medyanın kullanılmaya başlanmasıdır. Geçmişte bir verinin işlenebilmesi için o verinin yapılandırılmış olma ön koşulu varken, günümüzde yapılandırılmamış verilerde son derece kolay bir şekilde işlenebilmektedir. Metin madenciliği tam da burada karşımıza çıkmaktadır. Yapılandırılmamış halde bulunan metinler artık rahatlıkla işlenebilmektedir. Duygu analizi son yıllarda hızla popülaritesi artan bir araştırma alanı olmuştur. Duygu analizinde temel amaç, metinde yer alan duygunun ortaya çıkarılabilmesidir. Sosyal medya özellikle Web 2.0 teknolojisini getirmiş olduğu ve insanların yaşamlarını tamamen değiştiren bir kavramdır. Sosyal medya sayesinde, bireyler artık kendilerine sunulan içerikleri tüketen pasif kullanıcılar değil, kendileri de içerik üretip bunu paylaşabilen aktif bireyler haline gelmiştir. Günümüzde akıllı telefona sahip olan herkes aynı zamanda birer içerik üreticisidir. R yazılımı dünya da son yıllarda en sık kullanılan ve pek çok işlemi kolaylıkla yerine getirebilen önemli bir açık kaynak kodlu programdır. Ancak ülkemizde henüz değeri çok iyi algılanamamış ve kullanım düzeyi istenilen seviyeye ulaşamamıştır. Bu tezde R yazılımı ile duygu analizi yapılmıştır. Duygu analizi için Twitter’dan, 24 Haziran 2018 iii de Türkiye’de yapılan Cumhurbaşkanlığı ve 27. Dönem Millet Vekilli Genel Seçimi’ne ilişkin en yüksek oy alması beklenen aday ve partilere ilişkin bir ay boyunca atılan tweetlerden ele alınmıştır. Tweetlerden hareketle duygu analizi yapılmış, bu amaçla duygu skoru hesaplanmış ve makine öğrenmesi ile hesaplamalar yapılmıştır. Elde edilen veriler ile seçim sonuçları karşılaştırılımıştır. Anahtar Sözcükler: Duygu Analizi, Sosyal Medya, Twitter, Makine Öğrenmesi iv ABSTRACT Name and Surname : Yusuf Murat KIZILKAYA University : Uludağ University Institution : Social Science Institution Field : Econometrics Branch : Statistics Degree awarded : PhD Page Number : XVI+137 Degree Date : 18/07/2018 Supervisor : Prof. Dr. Ayşe OĞUZLAR SENTİMENT ANALYSIS AND SOCIAL MEDIA APPLICATION The change that took place in computer technology brought innovations with every step of life. The most important of these is the compilation of data in different types, the possibility of processing them, and the introduction of social media as an alternative to traditional media tools. In the past, when a given data is processed, it can be processed very easily in the unstructured data of today, while the data is pre-configured. Text mining is exactly here. Unstructured texts can now be easily processed. Emotional analysis has been a rapidly growing field of research in recent years. The main purpose of emotion analysis is to be able to reveal the sensation in the text. Social media is a concept that especially brings Web 2.0 technology and changes people's lives completely. With social media, individuals are no longer passive users who consume content that is presented to them, but become active individuals who can produce and share content themselves. Today, everyone who owns a smartphone is also a content producer. R software is one of the most frequently used open source programs in the world in recent years and can easily handle many operations. However, in our country, the value has not been perceived very well and the level of use has not reached the desired level. In this thesis, emotion analysis was done with R software. Essential texts v for emotion analysis were obtained from Twitter, an important social sharing site. For sentiment analysis on Twitter, June 24, 2018 also receive the highest number of votes related to the presidential and 27. Period Vekille Nations General elections in Turkey were taken from discarded tweets related to the expected candidates and parties. Sentiment analysis was performed by tweets, the emotion score was calculated for this purpose and calculations were made by machine learning. We compared the selection results with the obtained data. Keywords: Sentiment Analysis, Social Media, Twitter, Machine Learning vi ÖNSÖZ Bu tezin ortaya çıkması sürecinde manevi desteğini hiçbir zaman esirgemeyen, her zaman bir abla şefkatiyle yaklaşan, bana kattıklarını ömür boyu unutamayacağım değerli danışmanım Prof. Dr. Ayşe OĞUZLAR’a teşekkürümü sunarım. Gerek Lisans gerekse doktora eğitimim boyunca bilgilerini paylaşmakta cömert davranan ve yetişmemde çok büyük emekleri olan, Uludağ Üniversitesi İ.İ.B.F. Ekonometri Bölümü Öğretim Üyelerine teşekkürü bir borç bilirim. Doktora eğitimim boyunca her türlü kahrımı çeken Uludağ Üniversitesi İ.İ.B.F. Ekonometri Bölümü araştırma görevlilerini burada anmazsam onlara haksızlık etmiş olurum, onların da emeklerinin karşılığı ödeyemem. Tez konumun belirlenmesinde yardımcı olan ve her aşamada fikirleriyle yolumu aydınlatan Uludağ Üniversitesi Emekli Öğretim Üyesi Prof. Dr. Necmi GÜRSAKAL’a, her sohbetimizde ufkumu açan ve tezimin gelişmesinde katkılarını benden esirgemeyen değerli arkadaşlarım, Dr. Arif Cem TOPUZ’a ve Dr. Emrah AKDAMAR’a teşekkür ederim. Eğitim hayatımın her anında yanımda olan, maddi ve manevi desteğini hiçbir zaman esirgemeyen çok kıymetli, anneme, babama, ablama, ağabeyime çok teşekkür ederim, onların haklarını hiçbir zaman ödeyemem. Sevgili eşim, hayat arkadaşım, en umutsuz günlerimde bile bana enerji veren değerli yoldaşım Pınar’a çok teşekkür ederim. Sevgili Ailem olmasaydı bu günlere gelemezdim. Bu tezin uygulama kısmı Uludağ Üniversitesi BAP Birimi tarafından desteklenen DDP(İ) - 2017/8 numaralı proje kapsamında yapılmıştır. Desteklerinden dolayı Uludağ Üniversitesi BAP Birimine teşekkür ederim. vii İÇİNDEKİLER TEZ ONAY SAYFASI .................................................................................................... iv YEMİN METNİ ................................................................................................................ v ÖZET............................................................................................................................... vii ABSTRACT ................................................................................................................... viii ÖNSÖZ ............................................................................................................................. x İÇİNDEKİLER ............................................................................................................... vii TABLOLAR .................................................................................................................. xiv KISALTMALAR ............................................................................................................ xv GİRİŞ ................................................................................................................................ 1 BİRİNCİ BÖLÜM ............................................................................................................ 4 METİN MADENCİLİĞİ .................................................................................................. 4 1. VERİ OLARAK METİN .............................................................................................. 4 1.1. Metin Madenciliği Nedir? .................................................................................. 4 1.2. Metin Madenciliğinin Aşamaları ........................................................................ 7 1.2.1. Veri Setinin Oluşturulması .......................................................................... 8 1.2.2. Ön İşleme .................................................................................................... 8 1.2.3. Özellik Seçme ........................................................................................... 11 1.2.4. Sınıflandırma ............................................................................................. 11 1.2.5. Sonuçların Değerlendirilmesi.................................................................... 22 1.3. Metin Madenciliğinin Kullanım Alanları ......................................................... 22 1.4. Metin Madenciliği Alanında Geliştirilmiş Olan Paket Programlar .................. 25 1.5. Doğal Dil İşleme (DDİ) .................................................................................... 27 1.6. Makine Öğrenmesi (MÖ) ................................................................................. 30 1.6.1. Denetimli Öğrenme........................................................................................ 31 1.6.2. Denetimsiz Öğrenme ..................................................................................... 32 viii 1.6.3. Yarı Denetimli Öğrenme ............................................................................... 33 1.7. R ile Metin Madenciliği ................................................................................... 33 İKİNCİ BÖLÜM ............................................................................................................. 35 DUYGU ANALİZİ ......................................................................................................... 35 2. DUYGU ANALİZİ .................................................................................................. 35 2.1. Duygunun Önemi ............................................................................................. 36 2.1.1. Kansei Mühendisliği (KM) ....................................................................... 36 2.1.2. Duygusal Zekâ .......................................................................................... 37 2.2. Literatür Özeti .................................................................................................. 38 2.3. Duygu Analizi Yöntemleri ............................................................................... 42 2.3.1. Sözlüğe Dayalı Yöntemler ........................................................................ 44 2.3.2. Makine Öğrenmesine Dayalı Yöntemler .................................................. 46 ÜÇÜNCÜ BÖLÜM ........................................................................................................ 56 SOSYAL MEDYA ......................................................................................................... 56 3. SOSYAL MEDYA .................................................................................................. 56 3.1. Sosyal Medyanın Tanımı .................................................................................. 57 3.2. Sosyal Medya Araçları ..................................................................................... 58 3.2.1. Bloglar ....................................................................................................... 59 3.2.2. Wikiler....................................................................................................... 60 3.2.3. Sosyal Ağlar .............................................................................................. 60 3.2.4. İçerik Paylaşım Toplulukları ..................................................................... 61 3.2.5. Vloglar....................................................................................................... 62 3.2.6. Podcasting ................................................................................................. 62 3.2.7. Sosyal İmleme Siteleri (Socila Bookmarking Systems) ........................... 63 3.2.8. Mikrobloglar ............................................................................................. 63 3.3. Önemli Bir Sosyal Medya Aracı Olan Twitter ................................................. 64 ix 3.3.1. Takip (Follow) / Takipçi (Follower) ......................................................... 65 3.3.2. Etiket (Hashtag) ........................................................................................ 66 3.3.3. Trend Konu (Trend Topic) ........................................................................ 66 3.3.4. Mention (Bahsetmek) ................................................................................ 67 3.3.5. Yeniden Teweet (Retweet) ........................................................................ 67 3.3.6. Direkt Mesaj (Direct Message) ................................................................ 67 3.3.7. Troll Hesap ................................................................................................ 67 3.4. Sosyal Medyanın Önemi .................................................................................. 68 DÖRDÜNCÜ BÖLÜM ................................................................................................... 74 UYGULAMA: R İLE DUYGU ANALİZİ ..................................................................... 74 4.1. Seçim Sonuçları İçin Geleneksel Tahmin Yöntemi ............................................. 75 4.2. Verilerin Twitter'dan Çekilmesi ........................................................................... 78 4.3. Verilerin Ön İşlemesi ........................................................................................... 80 4.4. Verilerin Analizi ................................................................................................... 90 4.4.1. Duygu Skoru .................................................................................................. 91 4.4.2. Makine Öğrenmesi İle Duygu Analizi ......................................................... 102 SONUÇ ......................................................................................................................... 105 KAYNAKÇA ................................................................................................................ 110 EKLER .......................................................................................................................... 122 Ek 1 Tezde Kullanılan Kodlar ................................................................................... 122 Ek 2: Gruplarda İlk 6 Tweetin Duygu Puanı Ortalaması .......................................... 130 ÖZGEÇMİŞ .................................................................................................................. 134 x TABLOLAR Tablo 2.1. Kontenjans Tablosu………………………………………………………...50 Tablo 4.1. Kamuoyu Araştırma Firmalarının Cumhurbaşkanlığı Seçimine İlişkin Son Tahminleri……………………………………………………………………………...76 Tablo 4.2. Kamuoyu Araştırma Firmalarının 27. Dönem Millet Vekili Seçiminde Siyasi Partilerin Oy Oranlarına İlişkin Son Tahminleri……………………………………….77 Tablo 4.3. Adayların Duygu Skorlarının Aritmetik Ortalaması……………………….91 Tablo 4.4. R. Tayyip ERDOĞAN’a İlişkin Tweet Puanları ve Frekansları…………...93 Tablo 4.5. Muharrem İNCE’ye İlişkin Tweet Puanları ve Frekansları………………...94 Tablo 4.6. Meral AKŞENER’e İlişkin Tweet Puanları ve Frekansları………………...95 Tablo 4.7. Selahattin DEMİRTAŞ’a İlişkin Tweet Puanları ve Frekansları…………..96 Tablo 4.8. Siyasal Partilerin Duygu Skorlarının Aritmetik Ortalaması………………..97 Tablo 4.9. Ak Parti’ye İlişkin Tweet Puanları ve Frekansları…………………………98 Tablo 4.10. CHP’ye İlişkin Tweet Puanları ve Frekansları……………………………99 Tablo 4.11. HDP’ye İlişkin Tweet Puanları ve Frekansları…………………………..100 Tablo 4.12. MHP’ye İlişkin Tweet Puanları ve Frekansları………………………….100 Tablo 4.13. İyi Parti’ye İlişkin Tweet Puanları ve Frekansları……………………….101 Tablo 4.14. Cumhurbaşkanı Adaylarının Makine Öğrenmesi Sonuçları……………..102 Tablo 4.15. Partilerin Makine Öğrenmesi Sonuçları ………………………………...103 11 KISALTMALAR AID Automatic Interaction Detector (Otomatik Etkileşim Dedektörü) API Application Programming Interface (Uygulama Programlama Arayüzü) CART Classification And Regression Trees (Sınıflandırma ve Regresyon Ağaçları) CHAID Chı-squared Automatic Interaction Detector (Ki-Kare Otomatik Etkileşim Dedektörü) DDİ Doğal Dil İşleme DM Direct Massage (Direk Mesaj) DVM Destek Vektör Makinesi HTML Hyper Text Markup Language (Hiper Metin İşaretleme Dili) İBB Türkiye’deki İstatistiksel Bölge Birimleri KDT / KDD Knowledge Discovery in Textual Databases (Metin Veritabanlarında Bilgi Keşfi) KEYK K-En Yakın Komşuluk KNN K-Nearest Neighbor (K-En Yakın Komşuluk) MÖ Makine öğrenmesi NB Navie Bayes NLP Natural Language Process (Doğal Dil İşleme) NUTS Nomenclature d’Unités Territoriales (Bölgesel Birimlerin İsimlendirilmesi) QUEST Quick-Unbiased-Effecient-Statistical-Tree (Hızlı-Yansız-Etkili-İstatistiksel- Ağaç) RF / RO Random Forest (Rastgele Orman) 12 RT Retweet (Yeniden Tweet) SVM Support Vector Machine (Destek Vektör Makinesi) TDK Türk Dil Kurumu TDM Terim Doküman Matrisi TT Trend Topic (Trend Konu) YSK Yüksek Seçim Kurulu XML EXtensible Markup Language (Genişletilebilir İşaretleme Dili) 1 GİRİŞ Bilgisayar teknolojilerinde meydana gelen değişikliklerin, pek çok alanda yeni çığırlar açtığı gözlenmektedir. Bu süreçte verinin depolanmasının ve veriye erişilmesinin kolaylaşması bilim dünyasında da yeniliklere yol açmış, dünya artık “büyük veri” (big data) kavramı etrafında dönmeye başlamıştır. Beş önemli bileşenden oluşan büyük veri kavramı, bu bileşenlerin İngilizcelerinin kısaltmalarına atıfla 5V üzerine inşa edilmiştir. Çeşitlilik (Variety); verilerin çok farklı formata sahip olduğunu, sadece yapılandırılmış verilerin ele alınmadığını ifade eder. Hız (Velocity); verilerin her geçen gün hatta her geçen saat büyük bir hızla artmaya devam ettiğine işaret eder. Bu kadar büyük bir hızla artan verileri depolayabilecek yazılımsal ve donanımsal alt yapının oluşturulması gerekmektedir. Veri Büyüklüğü (Volume); veri miktarı sürekli arttığı için ileride bu kadar büyük veri yığınıyla nasıl baş edilebileceğinin planlanması gerekmektedir. Doğrulama (Verification); hızla büyüyen bu verilerin güvenli olup olmadığının, doğruluğunun kontrol edilmesi gerekir. Değer (Value); bu kadar büyük veriden işe yarar bilginin üretilmesi gerekir ki veri bizim için değerli olabilsin. Veri dünyasında meydana gelen bu değişiklikler; veri madenciliğinde de evrilmelere neden olmuştur. Yapılandırılmış veriyi kullanan veri madenciliği, yapılandırılmamış veri sayısında ki muazzam artışla birlikte, yapılandırılmamış verilerin de analiz edilmesi çalışmalarına maruz kalmış ve bu süreçte metin madenciliği ortaya çıkmıştır. Metin madenciliği son yılların en önemli araştırma alanlarından biri olmuştur. Metin madenciliğinin ilgi alanlarından biri bu tezin de konusu olan duygu analizidir. Duygu analizi herhangi bir metin içerisindeki; bu metin bir kitap gibi çok büyük de olabilir, bir tweet gibi 280 karakterle sınırlandırılmış kısa metin de olabilir, duyguyu ortaya çıkarmayı amaçlamaktadır. Pazarlamacılardan siyasetçilere kadar hedef kitlesi insan olan herkes duygu analizinin öneminin farkındadır. Literatürde ise Türkçe metinler üzerine yapılan duygu analizlerine ilişkin çok büyük bir eksiklik vardır. Bu tezin çıkış noktalarından biri literatürdeki eksikliğin giderilmesi için katkıda bulunabilmektir. 2 Sosyal medya, internetin insanların cebine kadar girmesinin getirmiş olduğu alternatif bir medya aracı olarak karşımıza çıkmaktadır. Sosyal medya ile akıllı telefona sahip olan tüm bireyler birer medya üreticisi olmuş, önceden sadece kendisine sunulanı tüketmekle yetinen bireyler, artık birer aktif içerik üreticisi konumuna geçmiştir. Sosyal medyanın toplum yaşamında meydana getirdiği muazzam değişiklik, onu pek çok araştırmanın da merkezi konumuna koymuştur. Bu yüzden literatürde sosyal medya üzerine pek çok çalışma yer almaktadır. Buna karşın sosyal medya üzerine duygu analizi alanında literatürde yine büyük bir açık yer almaktadır. Sosyal medya da duygu analizi üzerine yapılan çalışmaların tamamına yakını, uygulama kolaylığından dolayı İngilizce metinler üzerine yapılmıştır. Türkçe metinlerden hareketle duygu analiziyle karşılaşmamız pek de mümkün olmamaktadır. Özellikle gençler arasında sosyal medya kullanımı o kadar yaygınlaşmıştır ki günümüzde sosyal medyayı kullanmak değil kullanmamak bir ayrıcalık gibi algılanmaya başlanmıştır. Bu tezin ortaya çıkış noktalarından birisi de toplumlarda bu kadar büyük öneme sahip olan sosyal medyadan hareketle Türkçe verilere duygu analizi yapmaktır. Bu çalışma dört ana bölümden oluşmaktadır. Birinci bölümde metin madenciliği hakkında detaylı bir bilgilendirme yapılmış, metin madenciliğinin aşamaları anlatılmıştır. Metin madenciliğinin önemli süreçlerinden olan sınıflandırma algoritmaları tek tek açıklanmış, metin madenciliğinin kullanım alanları değerlendirilmiştir. Metin madenciliğin olmazsa olmazları olan doğal dil işleme ve makine öğrenmesi yöntemlerine yer verilmiştir. İkinci bölümde duygunun önemi açıklanarak duygu analizine yer verilmiştir. Duygu analizine dair yurt dışında ve yurt içinde yapılmış çalışmalar incelenmiş, duygu analizi yöntemleri sırasıyla açıklanmıştır. Duygu analizinde kullanılan makine öğrenmesi tekniklerinin karşılaştırılmasında yoğun olarak kullanılan sınıflandırma algoritmalarının başarılarını ölçmek amacıyla geliştirilmiş olan teknikler açıklanmış, aralarındaki ilişkilere değinilmiştir. Ayrıca model performans değerlendirme teknikleri ayrıntılı bir şekilde açıklanmıştır. 3 Üçüncü bölümde sosyal medya kavramı tüm yönleriyle ele alınmıştır. Sosyal medyanın çeşitli tanımları verilmiş, sosyal medya araçları ayrıntılı bir şekilde açıklanmıştır. Bu tezin uygulama alanı, Twitter’dan elde edilen veriler olduğu için, Twitter’a ayrı bir sayfa açılmış, Twitter hakkında detaylı bir inceleme yapılmıştır. Sosyal medyanın önemi tarihteki olaylardan hareketle açıklanmış, Türkiye ve yurtdışından örnekler verilmiştir. Tezin son bölümü olan dördüncü bölümde uygulama yapılmıştır. Uygulama amacıyla 24 Haziran 2018’de Türkiye’de yapılan Cumhurbaşkanı ve Milletvekili seçimine ilişkin Twitter’dan yaklaşık 1 ay boyunca çekilen toplam 720.000 adet tweet kullanılmıştır. Uygulama kapsamında kizilkayamurat.com isimli bir web sitesi oluşturulmuş bu siteye Türkçe’de eksikliği hissedilen; pozitif duygu ifade eden kelimeler, negatif duygu ifade eden kelimeler ve durak kelimeler oluşturularak yüklenmiştir. Bu sayede ileride bu alanda çalışma yapmak isteyen araştırmacılar için hazır bir veri tabanı kullanıma sunulmuştur. Çekilen tweetler açık kaynak kodlu olan ve son yıllarda kullanım alanı hızla artan R yazılımı ile analiz edilmiştir. 4 BİRİNCİ BÖLÜM METİN MADENCİLİĞİ 1. VERİ OLARAK METİN Veri, bizi bilgiye götürecek olan ham bilgi parçacıklarıdır. 2011 yılında, tüm verilerin yaklaşık yüzde doksanı, web ortamında ki verilerinse yaklaşık yüzde doksan dokuzu metin biçimindedir. 1 Bilgisayar teknolojisinin gelişmesi, özellikle sosyal medyanın insanların hayatlarına girip yaygınlaşmasıyla beraber, web üzerindeki veri miktarı her geçen saniye hızla artmaktadır. Veriler yapılandırılmış (structured) veya yapılandırılmamış (unstructured) olmak üzere iki farklı formda olabilirler. Günlük yaşamda karşılaştığımız verilerin çok büyük bir kısmı yapılandırılmamış dolayısıyla herhangi bir kurala uymayan verilerdir. Yapılandırılmamış olan bu verilerin analiz edilmesi pek çok farklı bilim dalı için çok büyük önem göstermektedir. Bu verilerin, kullanılabilir bir hale gelmesi için öncelikle bir dizi işlemden geçmesi gerekir. 2 Bu verilerin analiz edilebilmesi için kullanılan metotlardan birisi de metin madenciliğidir. Yaşadığımız çağ artık büyük verinin çağı olarak adlandırılabilir. Büyük veri 100 terabayt ve üzerindeki veriyi ifade etmektedir. Büyük veri, bilim insanları için çok farklı bir boyut getirmiştir. Büyük verinin analizi ile aslında birbiri arasında hiç ilişki olmadığı düşünülen şeyler arasında, çok güçlü ilişkiler keşfedilmeye başlanmıştır. Büyük veri ile yapılandırılmamış çok büyük hacimde ve sürekli artmakta olan veriler, makine öğrenmesi sayesinde analiz edilmeye başlanmış, bu şekilde klasik, hipoteze dayalı, az sayıda yapılandırılmış, statik haldeki veriden hareketle yapılan analizlerin bir adım ilerisine geçilmiştir. 1.1. Metin Madenciliği Nedir? Metin madenciliği ile yapısal olmayan veriler yapısal bir hale getirilerek, analitik analize uygun bir kaynak elde edilir. 3 Yazılı metinlerin tamamı veya yazılı olmayan fotoğraf, harita gibi görseller metin madenciliğinin konusunu oluşturabilir. Bunun yanı sıra; makale, gazete, kitap, akademik yayınlar, internet siteleri gibi tüm topluma açık 1 Ayşe Oğuzlar, Temel Metin Madenciliği Bursa, Dora Basım Yayın, 2011, s. 2. 2 Filiz Erten, Metin Madenciliği Tabanlı Bir Web Sitesi Sınıflandırma Aracı Tasarımı, Maltepe Üniversitesi Fen Bilimler Enstitüsü, İstanbul, 2015, s. 3. 3Ramesh Sharda, Dursun Delen ve Efraim Turban, Business Intelligence and Analytics Systems for Decision Support, 10th Edition, 10 th (U.S.A: Pearson, 2015)., s 289 5 olan metinler, e posta, hastalar raporları, adli sicil kayıtları, mektuplar, gibi bireye özel metinler de, metin madenciliğinin kaynağı olabilirler. Günümüzde sosyal medyanın yaygınlığı nedeniyle metin madenciliği denilince ilk akla gelen şey sosyal medyadaki paylaşımlar olmaktadır. Gün içinde pek çok kişi sosyal medyadan o ana dair, güncel konular hakkında, izlediği bir film veya diziye ilişkin, arkadaşlarının yapmış oldukları paylaşımlara ilişkin, pek çok yorum ve paylaşımlarda bulunmaktadırlar. Bu paylaşımların tamamı metin madenciliği için muazzam bir kaynak oluşturmaktadır. Metin madenciliği; çok fazla miktardaki metinlerden, yüksek kaliteli bilgileri ayıklamak için kullanılan hesaplama yöntem ve teknikleridir. 4 Metin madenciliği ile metinlerde yer alan gereksiz kısımlar atılarak istenilen bilgiye erişmek amaçlanmaktadır. Yapılandırılmamış veri ham haliyle bize çok fazla bilgi vermezken, metin madenciliği sayesinde, bu veriler bizi çok önemli bilgilere ulaştıracak bir kaynak haline gelir. Metin madenciliği aslında büyük bir dağ kitlesinin altında yatan küçük bir pırlantayı elde etmek için sarf edilen çaba diye tanımlanmıştır. Verilerin çok büyük bir kısmı yapılandırılmamış veri yani dağ kitlesi halindedir, bu verilerin kullanılabilmesi için pek çok yöntem geliştirilmiştir. Metin madenciliği geliştirilmiş olan bu yöntemlerin bir bütünüdür. Veri madenciliği büyük miktardaki veriyi analiz ederek bu veriden anlamlı, kullanılabilir bilgi elde etme sürecidir. Metin madenciliği ise veri madenciliği alanında çok farklı ve yeni çığırlar açan, veri madenciliğine ilham ve yön veren bir alan olmuştur. Bu yüzdendir ki metin madenciliği ile veri madenciliği arasında birçok üst düzey mimari benzerlik vardır. 5 Basit bir tanımla; veri madenciliği; veri ambarlarından hareketle, verilerden anlamlı bilgiler ve ilişkiler çıkaran, ancak bunu yaparken yapılandırılmış verileri kullanan, çok büyük miktarlardaki veri arasındaki ilişkiyi analiz etmeye çalışan tekniktir. 6 Tanımdan da anlaşılacağı üzere veri madenciliği çalışma alanı yapılandırılmış veridir. Metin madenciliği ise yapısal olmayan verilerden hareketle veri 4 Jelena Jovanovic, “Introductıon To Text Mınıng”, http://ai.fon.bg.ac.rs/wp-content/uploads/2015/04/Intro-to- TM.pdf, 11.10.2016, s.3 5 Ronen Feldman, James Sanger, The Text Mining Handbook Advanced Approaches in Analyzing Unstructured Data, Cambridge, 2006. s.1 6 Haldun Akpınar, ‘VERİ TABANLARINDA BİLGİ KEŞFİ VERİ MADENCİLİĞİ’, İÜ İşletme Fakültesi Dergisi, C. 29 S. 1, 2000, s.2. http://ai.fon.bg.ac.rs/wp-content/uploads/2015/04/Intro-to-TM.pdf http://ai.fon.bg.ac.rs/wp-content/uploads/2015/04/Intro-to-TM.pdf 6 madenciliğinin yaptığı işleri yapar. 7 Aslında veri madenciliği ile metin madenciliği arasında ki temel fark kullanılan verilerin yapılandırılmış olup olmamasıdır. Metinler insanlar tarafından yazılıp okunabilirken, bilgisayarların yapılandırılmış verileri işlemesi için veri tabanları programlanmıştır. Metinleri insanlar gibi okuyup anlayabilecek bilgisayar programları henüz yoktur. 8 Ancak bu alanda ciddi çalışmalar sürdürülmektedir. Gelecekte insanlar gibi metinleri okuyup anlayan bilgisayar programlarının geliştirilmesi sürpriz olmayacaktır. Veri madenciliğiyle metin madenciliği arasındaki güçlü ilişki nedeniyle gelişim süreçleri de bir birlerine paraleldir. Bilgisayarların günlük hayatta hızla yaygınlaşması, veri depolamanın ve veriye ulaşmanın kolaylaşıp, ucuzlaması veri madenciliğini olduğu gibi metin madenciliğini de geliştiren temel neden olmuştur. 1960’lı yıllarda başlayan bu süreç 2000’den sonra hızlanarak gelişimini sürdürmektedir. 9 1990’lardan sonra metin veri tabanlarında bilgi keşfi (Knowledge Discovery in Textual Databases – KDT) alanında yoğun bir şekilde çalışılmaya başlanmış, 10 1995 yılında Knowledge Discovery in Textual Databases (KDD) konferanslarının birincisi düzenlemiş, metnin yapısal özelliği nedeniyle işlenmesi zor olduğundan, metin analizleri için algoritmaların geliştirilmesi 1990’ların sonlarını bulmuştur. 11 90’lardan sonra metin analizi üzerine çalışmalar hızlanmış ve günümüze kadar gelmiş, bu alanda çok çeşitli yöntemler geliştirilmiştir. Sosyal medyanın, yaşamın bir vazgeçilmezi hale gelmesiyle, gün içinde özelikle internet ortamında, milyonlarca metin halindeki veri ortaya çıkmaktadır. Bu verilerin işlenmesi için geliştirilen metotlar metin madenciliğinin çok fazla gelişmesine yol açmıştır. Yapılan araştırmaya göre Twitter’da, 1 dakikada 347.222 adet tweet atılmaktadır. 12 Facebook gibi Twitter’dan daha fazla kullanılan diğer sosyal mecralar da 7 M. Özgür Dolgun ve Tülin Güzel Özdemir, "Veri Madenciliği’nde Yapsal Olmayan Verinin Analizi: Metin ve Web Madenciliği",İstatistikçiler Dergisi 2, 2009, s. 49. 8 Dursun Delen ve Martin D. Crossland, "Seeding the Survey and Analysis of Research Literature with Text Mining"’, Expert Systems with Applications, C.34, 2008, s. 1710. 9 Oğuzlar, a.g.e., s. 4. 10 Ronen Feldman ve Ido Dagan, "Knowledge Discovery in Textual Databases (KDT).", International Conference on Knowledge Discovery and Data Mining (Kdd), 1995, s. 112. 11Marti A Hearst, ‘Untangling Text Data Mining’, Association for Computationel Lingustics, Stroudsburg, US, 1999, s.3. 12http://www.digitalinformationworld.com/2014/10/what-happens-in-a-twitter-minute-social-media-infographic.html, 24.10.2016 http://www.digitalinformationworld.com/2014/10/what-happens-in-a-twitter-minute-social-media-infographic.html 7 düşünüldüğünde anlık üretilen verinin büyüklüğü daha da çok ortaya çıkmaktadır. Dolayısıyla bu metinler, araştırmacılar için büyük bir nimet haline gelmiştir. Şekil 1.1. Metin Madenciliği için Bağlam Diyagramı Kaynak: Delen ve Crossland (2008, 1711) Yapılandırılmış veya yapılandırılmamış halde bulunan veriler, metin madenciliği için birer girdidirler. Metin madenciliği sürecinin çıktısı ise; karar vermek için kullanılacak olan özel bilgilerdir. Süreç; yazılım donanım kısıtları, güvenlik sorunları ve dilbilim kısıtları (doğal dil işleme) gibi zorlukları içermektedir. Metin madenciliğinin temel amacı verilerden hareketle, metinden anlamlı sonuçlar çıkarmak için metni işlemektir. Bu amaçla metinler çeşitli araç ve alan uzmanlığı (istatistik ve makine öğrenme) ile işlenirler. 13 1.2. Metin Madenciliğinin Aşamaları Literatürde metin madenciliğinin aşamalarına ilişkin pek çok farklı yaklaşım söz konusudur. Genel hatlarıyla metin madenciliği aşamaları 5 adımda özetlenebilir. Bu adımların bir kısmı farklı aşamaları da içinde barındırmaktadır. 13 Delen ve Crossland. s. 1711 8 1.2.1. Veri Setinin Oluşturulması Metin madenciliğinin temel verisini metinler oluşturmaktadır. Veri setini oluşturmak için ilgilenilen konuya dair metinlere ulaşmak ilk aşamadır. Günümüzde en önemli metin kaynağı olarak internet karşımıza çıkmaktadır. Google, Yandex gibi arama motorları ile Twitter, Facebook gibi sosyal ağlar en temel kaynaklar olarak görülebilir. Aynı şekilde kurumların oluşturmuş oldukları kendi veri ambarları, yazılmış raporlar çevirim içi araçlar da veri seti oluşturabilirler. Teknolojinin bize sağlamış olduğu büyük nimetlerden biri de veri setlerine rahatlıkla ulaşabilmektir. Bu konuda hali hazırda var olan veri setleri kullanılabileceği gibi internet ortamından anlık veri çekebilmek amacıyla geliştirilmiş olan paket programlar da kullanılabilir. Bazı firmalar ise kendi derledikleri verileri açık kullanıma sunmakta, bireyler veri setine erişerek bu verileri alıp kullanma şansına sahip olmaktadırlar. 1.2.2. Ön İşleme Veri setinde yapılacak ilk işlem ön işlemedir. Çoğu zaman elde edilen metinler hemen kullanılabilecek bir yapıda olmamaktadır. Metinler çeşitli nedenlerle uzun bir ön işleme adımına tabi tutulmak zorundadır. Veriyi kelimelere ayırma, kelimelerin anlamsal değerlerini bulma, kelime köklerini bulup gereksiz kelimeleri temizleme, imla hatalarını ortadan kaldırma ve yazım yanlışlarını düzeltme gibi işlemler bütününe ön işleme denir. 14 Metin madenciliğinde kullanılabilecek doküman kaynağı için olası biçim ve ham görünüm sayısı oldukça fazladır. Bu durum metinlerin dönüştürülmesi için güçlü teknikler üretilmesini zorunlu kılmıştır. 15 Bu zorunluluk ön işleme adımlarının çok fazla zaman alması sonucunu doğurmuştur. Ön işleme aşamasında çok titiz davranılması analiz sonucunun sağlıklı olabilmesi için şarttır. Ön işleme süreci aşağıda kısaca açıklanan adımları içermektedir. 1.2.2.1. İşaretleme (Tokenization) Metin içinde yapılması gereken ilk işlem işaretlemedir. İşaretleme karakter dizileri olan metinlerin makine öğrenme algoritması için uygun bir hale getirilmesi çabasıdır. Bunun için özellikle web tabanlı bir veri ile çalışılıyorsa webin kendine has karakterleri olan; XML (EXtensible Markup Language) ve HTML (Hyper Text Markup 14 Kemal Kuzucu, Müşteri Memnuniyeti Belirlemek İçin Metin Madenciliği Tabanlı Bir Yazılım Aracı, Maltepe Üniversitesi Fen Bilimleri Enstitüsü, Yüksek Lisans Tezi, İstanbul, 2015, s. 13. 15 Oğuzlar. a.g.e. s.31 9 Language) gibi etiketlerin atılması olmalıdır. 16 XML, HTML gibi uzantılar her ne kadar web dili için anlamlı olsa da metin analizinde anlamlı birer kelime veya kök değillerdir. Metinde yer alan noktalama işaretleri ile satır sonu karakteri vb. okunabilir olmayan tüm karakterler boşluk karakteri ile değiştirilir. 17 Bu şekilde metin anlamın çıkarılmasında katkısı olmayacak kısaltma ve noktalama işaretleri gibi unsurlardan ayıklanmış olur. 1.2.2.2. Kök Bulma (Stemming) Kök başlı başında anlama sahip olan kelimedir. “Gel”, “git” gibi herhangi bir ek almadan da anlama sahip olan kelimeleri bulma çalışmasına kök bulma denir. Türkçe sondan eklemeli bir dildir. Dolayısıyla kelime kökleri, çeşitli yapım ekleri ve/veya çekim ekleri almaktadır. Bu sayede aynı kelime köküne sahip pek çok farklı kelime ortaya çıkmaktadır. Kök bulma sayesinde çoğul ekler (evler → ev) ve fiil çekim ekleri (okuyor → oku) ortadan kalkar. Kök bulmada iki farklı sorunla karşılaşılabilir; bunlar kök bulmak istenirken çok ileri gidilerek anlam olarak çok farklı bir kelimeye ulaşılması veya az sayıda ek çıkarılarak asıl köke ulaşılamamasıdır. 18 Bu tür hatalara düşmemek için iyi bir dilbilgisine ihtiyaç vardır. Kelimenin özel yapısı gereği kök bir ek alırken; bazen harf düşmesi, bazen harf yumuşaması, bazen kaynaştırma harfi alması gibi veya büyük ünlü uyumu küçük ünlü uyumu gibi süreçlerde söz konusu olabilmektedir. Dile hakim olmadan yapılacak kök bulma işlemi beklenenin aksine yaradan çok zarar getirebilir bu yüzden kök bulurken son derece dikkatli olmak gerekir. Türkçe için kelime kökenini bulmak amacıyla geliştirilmiş olan, açık kaynak kodlu Zemberek programı mevcuttur. 19 Bu program sayesinde kelime köklerine ayırma işlemi yapılabilmektedir. 1.2.2.3. Durak Kelimeleri Çıkartma Durak kelimeler (stop words); edat, bağlaç, zamir gibi başlı başına anlamı olmayan ancak yazım dilinde çok sık kullanılan kelimelerdir. Durak kelimelerin 16 Emine Kübra Çelikyay, ‘Metin Madenciliği Yöntemiyle Türkçe’de En Sık Kullanılan Ve Birbirini Takip Eden Harflerin Analizi Ve Birliktelik Kuralları’ (Beykent Üniversitesi Fen Bilimleri Enstitüsü, 2010)., Yüksek Lisans Tezi, İstanbul, 2010, s. 60. 17 Aykut Demirel, Metin Madenciliği Yöntemleri İle Sosyal Medyadan Toplanan Fotoğraflı Paylaşımların, Metin – Fotoğraf Eşleşmesinin İncelenmesi, Beykent Üniversitesi Fen Bilimleri Enstitüsü, İstanbul, 2015, s. 12. 18 Çelikyay, a.g.e., s. 61 19 Mehmet Dündar Akın ve Ahmet Afşin Akın, "Türk Dilleri İçin Açık Kaynaklı Doğal Dil İşleme Kütüphanesi: ZEMBEREK", Elektrik Mühendisliği, 431. Sayı, 2007, s. 38 10 metinden çıkarılması gerekir. 20 Durak kelimeler çıkarılarak, metin içinde yer alan ancak herhangi bir bilgi taşımayan kelimeler metinden atılmış olur. Bu sayede işlenecek kelime sayısında ciddi anlamda azalma görülebilir. “İle”, “çünkü”, gibi kimi kelimeler Türkçe’de çok sık tekrarlanmaktadır. Analize başlanmadan önce; “sadece”, “ile”, “çünkü”, “gibi”, kelimelerin atılması bile analiz edilen kelime sayısında ciddi bir düşüşe neden olacak ve yapılan analizin doğruluk oranını yükseltecektir. 1.2.2.4. Terim Ağırlıklandırma Bir metinde yer alan her bir kelimenin metnin içeriğine olan katkısı değişiktir. Bir terim metin içinde sadece bir kez de geçebilir, defalarca da geçebilir. Bir terimin ağırlığı o terimin frekansının metinde geçen diğer tüm terimlerin frekanslarına göre göreceli değeriyle ölçülür. Bir sözcük, doküman içinde ne çok geçiyorsa dokümanın ilgili kategoriye atanmasında o kadar etkili olur, bir sözcük birden çok dokümanda geçiyorsa, o sözcüğün ayırt edici özelliği o ölçüde ortadan kalkar. 21 Aynı şekilde belli terimler bir arada kullanılıyor olabilirler. Bir arada geçen terimler genellikle aynı kategoriye atanırlar. 1.2.2.5. Terimleri Ayıklama Bir terim bir metinde sadece bir kez geçmişse o terimin göz ardı edilmesi mümkündür. Frekansı düşük olan kelimeler metinlerden ayıklanabilirler, bu sayede çalışılacak olan metinde boyut azaltılmış olur. Bir kelime metinde sadece bir kez kendine yer bulmuş ve bir daha aynı kelime metinde yer almıyorsa bu tür kelimeler metinde ayıklanabilirler. Terim ayıklamanın altında yatan temel neden, düşük frekanslı kelimelerin metin bağlamında daha az öneme sahip olduğunun kabul edilmesidir. 22 Terim ayıklaması sayesinde; zamandan büyük bir tasarruf sağlanacaktır çünkü işlem yapılacak olan matris fazlasıyla küçülecektir; unutmamak gerekir ki yapılan çalışmayla ilgisi olmayan kelimeler daha fazla emek harcanmasına, daha fazla zaman kaybına sebep olmaktadır. 20 Ahmet Haltaş, Ahmet Alkan ve Mustafa Karabulut, ‘Metin Sınıflandırmada Sezgisel Arama Algoritmalarının Performans Analizi’, Journal of the Faculty of Engineering and Architecture of Gazi University Cilt, 30.3, 2015, s. 419. 21 Timo Lahtinen, Automatic Indexing : An Approach Using an Index Term Corpus and Combining Linguistic and Statistical Methods, University of Helsinki Department of General Linguistics, Helsinki, 2000.s. 119 22 Haltaş, Alkan ve Karabulut., a.g.e. s. 419. 11 1.2.3. Özellik Seçme Ön işleme aşaması tamamlandıktan sonra özellik seçme aşamasına geçilir. Özellik seçme de aslında bir ayıklama aşamasıdır. Veri kümesi özelik seçiminden önce çok yüksek boyutlu ancak içinde nitelikli ve niteliksiz terimleri barındıran bir yapıdadır. 23 Özellik seçme sürecinde; önişleme aşamasından geçen verilerdeki önemli kelimeleri belirleme ve ilişkili olmayan özelliklerin çıkarılması, az sayıda dokümanda yer alan özelliklerin ayıklanması, çok sayıda dokümanda yer alan özelliklerin azaltılması işlemleri yapılır. 24 Özellik seçimi sayesinde büyük boyutlu veriler daha küçük bir boyuta indirgenmiş, içinden niteliksiz terimler ayıklanmış, metin üzerinde çalışmaya uygun bir hal almış olur. Bu süreç zaman tasarrufu yanı sıra sınıflandırmanın başarılı yapılması ihtimalini de arttırmaktadır. 1.2.4. Sınıflandırma Sınıflandırma süreci benzer dokümanların aynı sınıflara ayrılması süreci olarak ifade edilebilir. Temel amaç; metinleri anlamsal olarak, önceden belirlenmiş sınıflara otomatik olarak ayırmaktır. Dokümanların otomatik olarak sınıflandırılabilmesi için vektörel olarak ifade edilmesi gerekir. Bunun için de “vektör uzay modeli” oluşturulmalıdır. 25 1.2.4.1. Vektör Oluşturma Tüm belgeler bir kelime vektörü olarak gösterilirler. Bunun temel amacı bilgisayar üzerinde bir “kelime * belge” gibi iki boyutlu dizi elde etmektir. Bu şekilde işlemler bilgisayar tarafından çok daha kolay yapılabilmektedir. 26 Bu iki boyutlu bir matristir, bu matrise A matrisi dersek, matrisin elemanlarının her biri; D belgesinde geçen T kelimesinin belgenin analizi için taşıdığı önemi gösterir. Bu rakam en yalın anlatımıyla kelimenin belgedeki frekansının kaç olduğunu gösterir. 27 23 Haltaş, Alkan ve Karabulut., s. 420 24 Kadriye Ergün, Metin Madenciliği Yöntemleri İle Ürün Yorumlarının Otomatik Değerlendirilmesi, Sakarya Üniversitesi Fen Bilimleri Enstitüsü, Sakarya, 2012. s. 51 25 Pilavcılar İsmail, "Metin Madenciliği İle Metin Sınıflandırma 1", http://www.csharpnedir.com/articles/read/?id=731, 08.11.2016 26 Michael W Berry, Zlatko Drm ve Elizabeth R Jessup, "Matrıces, Vector Spaces, And Informatıon Retrıeval", https://www.cs.colorado.edu/~jessup/SUBPAGES/PS/matrices.pdf, 09.11.2017, s.4. http://www.csharpnedir.com/articles/read/?id=731 12 Vektör oluşturmada üç farklı alternatif kullanılabilmektedir. Bunlar; kelime vektörü, N-Gram kelime modeli ve boyut ağırlıklandırmadır. Kelime vektörü; kelimelerin tekil olarak ele alınıp sınıflarıyla beraber gösterilmesi ile elde edilen vektördür. Kelime vektörü sayesinde verileri en iyi temsil edecek öznitelikler kümesinin oluşturulması amaçlanır. 28 N - Gram Kelime Modeli; belgede yer alan kelimelerin “n” âdeti bir arada kullanılarak kelime vektörünün oluşturulmasıdır. Tek başına bir kelime ele alındığında genellikle anlam bütünlüğü sağlanamaz ancak kelime yanındaki diğer kelimelerle birlikte ele alınırsa daha sağlıklı sonuçlar ortaya çıkabilir. Burada N sayısı kelimenin yanında yer alan “kaç kelime ile birlikte” ele alındığını gösterir. N iki olarak ele alınırsa metinde yer alan kelimeler ikişerli grup halinde ele alınır, n üç olarak ele alınırsa kelimeler üçerli gruplar halinde ele alınır. Uygulamada genellikler kelimeler bir, iki veya üçerli gruplar halinde ele alınır. Boyut ağırlıklandırma; kelime vektörü oluşturulurken kelimelerin sıklıklarının baz alınmasıdır. Geliştirilmiş yöntemler özetle şu şekildedir; kelime varsa 1 yoksa 0 değerinin verilmesi veya kelimenin frekansının vektörde yer alması şeklinde uygulanabilmektedir. 1.2.4.2. Sınıflandırma Yöntemleri Kelime vektörleri oluşturulduktan sonra uygun sınıflandırma yöntemi kullanılarak sınıflandırma işlemine geçilebilir. Metin madenciliğinde pek çok farklı sınıflandırma algoritması yer almaktadır. Bu alanda en fazla kullanılan algoritmalar aşağıda açıklanmıştır. 1.2.4.2.1. Navie Bayes Sınıflandırıcı Navie Bayes sınıflandırıcı adını İngiliz matematikçi Thomas Bayes’ten almaktadır. 29 Navie Bayes sınıflandırıcı varsayımları Bayes Teoremine dayanan, olasılıksal bir sınıflayıcıdır. Navie Bayes sınıflandırıcı ile özellikle boyutları çok büyük veri setleri için parametre tahmini yapmak kolaydır. Navie Bayes sınıflandırma, sade bir 27 Güven Ahmet, Türkçe Belgelerin Anlam Tabanlı Yöntemlerle Madenciliği, Yıldız Teknik Ünivesitesi Fen Bilimleri Enstitüsü, İstanbul 2007, s. 46. 28 Topaçan Ümit, ‘Sosyal Medya Paylaşımlarında Duygu Analizi : Makine Öğrenimi Yaklaşımı Üzerine Bir Araştırma’ , Marmara Üniversitesi Sosyal Bilimler Enstitüsü, Doktora Tezi, İstanbul, 2016, s 83. 29 Tom M. Mıtcheel, “Machine Learning”, MCGraw-Hill Science, USA, 1997 s.155 13 tasarıma sahip olmasına rağmen, gelişmiş sınıflandırma yöntemleriyle kıyaslandığında çok daha iyi performans göstermektedir. Navie Bayes sınıflandırıcı bu özelliğinden dolayı çok yaygın bir kullanıma sahiptir. 30 Yapılan çalışmalarla Navie Bayes sınıflandırıcının sınıflandırmada çok etkili olduğu defalarca kanıtlanmıştır. 31 Bayes teoremi rassal değişkenler için koşullu olasılıklar ile marjinal olasılıklar asındaki ilişkiyi gösterir. 32 𝑃(𝐴\𝐵) = 𝑃(𝐵\𝐴)𝑃(𝐴) 𝑃(𝐵) (1.1) P(A\B): B olayı gerçekleşirse A olayının meydana gelme olasılığı P(B\A): A gerçekleşirse B olayının meydana gelme olasılığı P(A): A olayının ön olasılığı P(B): B olayının ön olasılığı Navie Bayes sınıflandırma modeli; birçok özellikten ve bir sonuç değişkeninden oluşur. Hesaplamalar, sınıflar düzeyinde gerçekleştirilir, her bir sınıf için olasılık değeri hesaplanarak en yüksek olasılık değerine sahip sınıf, sınıflandırılması yapılacak olan dokümanın sınıfıdır. 33 Bayes Teoreminden hareketle Navie Bayes sınıflandırmaya geçmek için; elimizde n adet sınıf olduğunu varsayalım. Sınıfları S harfi ile, herhangi bir sınıfa ait olmayan bir veriyi X harfi ile ifade edecek olursak, X’in elimizde bulunan n adet sınıfdan hangisine ait olduğu Navie Bayes sınıflandırma ile hesaplanabilir. Yapılan hesaplama neticesinde sınıfı belli olmayan “X” isimli veri, en yüksek olasılığa sahip olan S sınıfına atanacaktır. Navie Bayes sınıflandırma sayesinde X’in atanacağı S sınıfı 30 Navie Bayesian, http://www.saedsayad.com/naive_bayesian.htm, 10.11.2016 31 Wenyuan Dai vd diğerleri, "Transferring Naive Bayes Classifiers for Text Classification", AAAI'07 Proceedings of the 22nd national conference on Artificial intelligence - Volume 1, Canada, 2007, s 541. 32 Paola Sebastiani, ‘A Tutorial on Probability Theory’, http://www.math.umass.edu, s. 6. 33 Karaca Mehmet Fatih, Metin Madenciliği Yöntemi İle Haber Sitelerindeki Köşe Yazılarının Sınıflandırılması, Karabük Üniversitesi Fen Bilimleri Enstitüsü, 2012, s.27. http://www.saedsayad.com/naive_bayesian.htm 14 tespit edilmiş olacaktır. Burada X’in sınıfını belirleyen değer aslında olasılıksal bir yaklaşımdır. Hesaplanan şey, X’in hangi sınıfa ait olabileceğinin olasılığıdır. X’ler m boyutlu özellik vektörü ile gösterilir, özelliklerin hepsi aynı derecede önemli ve birbirinden bağımsızdır, bir özelliğin değeri başka bir özellik değeri hakkında bilgi içermez. 34 Bayes teoremini bu sürece uyarlarsak; 𝑃(𝑆𝑖\𝑋) = 𝑃(𝑋\𝑆𝑖)𝑃(𝑆𝑖) 𝑃(𝑋) (1.2.) Eşitlikte P(X) ler bütün sınıflar için sabitse X’in Si sınıfında olma olasılığı P(X\Si).P(Si) olur. P(Si), her bir sınıfın olasılığını ifade eder. Si sınıfına ait eğitilen örnek sayısına Oi, toplam eğitilen örnek sayısına O dersek P(Si) nin değeri aşağıdaki gibi olur; 35 𝑃(𝑆𝑖) = 𝑂𝑖 𝑂 (1.3.) Sınıfların ön olasılıkları bilinmiyorsa, o zaman genel olarak sınıflar eşit kabul edilir. P(S1) = P(S2) = ……. = P(Sn), bu yüzden P(X\Si) ifadesi, X’in Si sınıfında olma olasılığını bulmak için kullanılır. Aksi taktirde P(X\Si).P(Si) ifadesi bizim için en anlamlı ifadedir. Bilinmeyen örnek X’i sınıflandırmak için, her Si sınıfı için P(X\Si).P(Si) hesaplanır, örnek X’i en yüksek değere sahip Si sınıfına atanır. 36 Bu hesaplama için aşağıdaki bağıntıdan yararlanılır; 34 Doğan Sibel, Türkçe Dokümanlar İçin N-Gram Tabanlı Sınıflandırma: Yazar, Tür Ve Cinsiyet, Yıldız Teknik Üniversitesi Fen Bilimleri Enstitüsü, 2006, s. 22. 35 Doğan, a.g.e. s 22. 36 Doğan, a.g.e. s 23. 15 𝑃(𝑋\𝑆𝑖) = ∏ 𝑃(𝑋𝑘\𝑆𝑖)𝑚 𝑘=1 (1.4.) 1.2.4.2.2. K-En Yakın Komşuluk (KEYK) K-en yakın komşuluk (K-Nearest Neighbor – KNN olarak da ifade edilmektedir), Navie Bayes sınıflayıcıdan daha basit bir tahmincidir. Yapılan, X değerlerinin en yakınlardaki K adet komşuların sınıf etiketlerine bakılarak sınıflandırmadır. Bu sınıflandırmayı yapabilmek için ihtiyaç duyulan tek şey gözlem çiftleri arasındaki mesafedir. Bu mesafenin simetrik olma zorunluluğu yoktur. 37 KNN’nin temelinde birbirine yakın olan nesnelerin muhtemelen aynı kategoriye ait olabileceği mantığı vardır. 38 Genellikle aynı sınıfa ait olan terimler bir arada kullanılır. Birbirine yakın olan terimlerin aynı sınıfta değerlendirilebilmesi için önceden tanımlanmış olan eğitim verilerinin özellikleri ile sorgu örneği arasındaki mesafeye bakılır. Hangi sınıfa ait olduğu belirlenmek istenen sorgu örneği, eğitim verilerinin en yakınındaki k adet örnek çoğunlukla hangi sınıfa aitse, sorgu örneği de o sınıfa aittir denir. Amaç sınıflandırılmak istenen sorgu örneğinin daha önceden belirlenmiş olan eğitim verilerinde k tanesine yakınlığını hesaplamaktır. Sorgu örneği eğitim verilerinden herhangi k tanesine yakın değilse veya hepsine aynı uzaklıkta ise bir sınıfa atanma yapılmaz. KNN’nin basit olmasına karşın, çeşitli avantaj ve dez avantajları vardır. Avantajları; uygulamasının basit olması, eğitim verilerinde yer alan gürültülere karşı etkili olması ve eğitim dokümanlarının sayısı arttıkça etkinliğinin artmasıdır. Dezavantajları ise; eğitim seti büyük olduğu zaman performansı düşük olabilir, tüm özellikler sınıflandırmaya katkı sunduğu için ilgisiz veya gereksiz özelliklere karşı çok duyarlıdır, algoritmanın başlangıçta K parametresine ihtiyaç duyması, en iyi sonucun alınabilmesi için hangi uzaklık ölçümünün uygulanacağının açık olmaması (çünkü soru 37 Alex Smola ve S. V. N. Vishwanathan, Introductıon To Machıne Learnıng,Cambridge, Cambridge Universty, 2008, s 24. 38 Erten, a.g.e. 13. 16 örneğinin tüm eğitim örneklerine mesafesinin ölçülmesi gerekir) ve hesaplama maliyetinin yüksek olması sayılabilir. 39 KNN’nin adımları: 40,41 1. Öncelikle K değeri belirlenir. Bu değer verilen bir noktaya en yakın komşuların sayısıdır. 2. Diğer nesnelerden hedef nesneye olan uzaklıkları hesaplanır. 3. Uzaklıklara göre satırlar sıralanır, bunlardan en küçük olan k tanesi seçilir. 4. Seçilen satırların, hangi kategoriye ait oldukları belirlenir ve en çok tekrar eden kategori değeri seçilir. 5. Seçilen kategori, en uygun komşu kategorisi olarak kabul edilir. KNN’de en yakın komşuluk, Öklit, Manhattan, Minkowski ve Chebyschev Uzaklıkları hesaplanarak bulunur. Öklit Uzaklığı; kümeleme ve sınıflandırma algoritmalarında en sık kullanılan uzaklık ölçütü, öklit uzaklığıdır. Öklit uzaklığı doğrusaldır. X=(x1, x2, …. xn) ve Y=(y1, y2, .....yn) arasındaki öklit uzaklığı aşağıdaki bağıntıdan hareketle hesaplanır. 42 𝐷(𝑋, 𝑌) = √∑ (𝑥𝑖 − 𝑦𝑖)2𝑛 𝑖=1 (1.5.) Manhattan Uzaklığı; iki nokta arasındaki uzaklığın mutlak değerlerinin toplanması ile hesaplanan yöntemdir. X=(x1, x2, …., xn) ve Y=(y1, y2, ....., yn) arasındaki city-blok uzaklığı da denilen manhattan uzaklığı aşağıdaki bağıntıdan hareketle hesaplanır. 43 39 Sadegh Bafandeh Imandoust ve Mohammad Bolandraftar, ‘Application of K-Nearest Neighbor (KNN) Approach for Predicting Economic Events: Theoretical Background’, Journal of Engineering Research and Applications, Vol 3, 2013 s 608. 40 Sayali D Jadhav ve H P Channe, ‘Comparative Study of K-NN, Naive Bayes and Decision Tree Classification Techniques’, International Journal of Science and Research, Vol. 5, 2016, s. 1842. 41 Imandoust ve Bolandraftar age s. 607-608 42 Doğan Sibel a.g.e. s 28. 17 𝐷(𝑋, 𝑌) = |𝑥𝑖 − 𝑦𝑖| (1.6.) Minkowski Uzaklığı; öklit ve Manhattan uzaklıklarının genelleştirilmiş halidir. X=(x1, x2, …., xn) ve Y=(y1, y2, ....., yn) arasındaki city-blok uzaklığı da denilen minkowski uzaklığı aşağıdaki bağıntıdan hareketle hesaplanır 44 . 𝐷(𝑋, 𝑌) = ⌊∑ |𝑥𝑖𝑘 − 𝑥𝑗𝑘|𝑚𝑛 𝑘=1 ⌋1/𝑚 (1.7.) Chebyschev Uzaklığı; Minkowski uzaklığında özel bir durum olarak; n→∞ iki nokta arasındaki farkın mutlak değerinin maksimimumu olarak tanımlanır. 45 Chebyschev uzaklığı aşağıdaki bağıntı ile hesaplanır. limn→∞⌊∑ |𝑥𝑖𝑘 − 𝑥𝑗𝑘|𝑚𝑛 𝑘=1 ⌋1/𝑚= max𝑖=1 𝑛 |𝑥𝑖 − 𝑦𝑖| (1.8.) 1.2.4.2.3. Destek Vektör Makinesi (DVM) Viladimir N. Vapnik tarafından geliştirilmiş olan destek vektör makinesi (Support Vector Machine – SVM) basit ve son derece etkili yöntemlerden biridir. Güçlü teorik temellere ve mükemmel ampirik başarılara sahip olan DVM’de sınıflandırma için doğrusal bir alanda bulunan iki grup arasında bir sınır çizilerek iki grubu ayırmak mümkündür. Bu sınırın çizileceği yer ise iki grubunda üyelerine en uzak olan yerdir. DVM bu sınırın nasıl çizileceğini belirler. 46 DVM’nin belirlenebilmesi için her iki gruba eşit uzaklıkta ve paralel iki alan çizgisi çekilir, bu alan çizgileri birbirine yakınlaştırılır ve ortak bir alan çizgisi meydana getirilir. 47 DVM’nin avantajlı yönleri; özellikle optimizasyon problemleri için benzersiz çözümler sunar, öğrenme süreci son derece hızlıdır, aynı anda hem destek vektör 43 Haşıloğlu Selçuk Burak, ‘Algı Haritalarının Değerlendirilmesi İçin Kümeleme Algoritmalarına Dayalı Yeni Bir Model Geliştirilmesi’ (Pamukkale Üniversitesi Fen Bilimleri Enstitüsü, 2017). 2017, Pamukkale Üniversitesi, s.26 44 Haşıloğlu Selçuk Burak, ‘Algı Haritalarının Değerlendirilmesi İçin Kümeleme Algoritmalarına Dayalı Yeni Bir Model Geliştirilmesi’ (Pamukkale Üniversitesi Fen Bilimleri Enstitüsü, 2017). s.29 45 http://yazilimagiris.com/2017/11/k-en-yakin-komsu-methodu-k-nearest-neighborhood/?print=print 46 Saygılı Ahmet, ‘Veri Madenciliği İle Mühendislik Fakültesi Öğrencilerinin Okul Analizlerinin Başarıları’ (Yıldız Teknik Üniversitesi Fen Bilimleri Enstitüsü, 2013). 47 Kuzucu a.g.e. s 19. 18 kümesi hem de karar kuralı inşa eder ayrıca karar fonksiyonları için yeni bir dizi uygulaması olabilir. 48 1.2.4.2.4. Karar Ağacı En basit sınıflandırma tekniklerinden birisi de karar ağaçlarıdır. Bir ağaç görünümüne sahip ve uygulanması kolay bir tekniktir. Karar ağaçları son yıllarda yaygın olarak kullanılmaktadır, bunun temel nedeni, karar ağaçlarında kullanılan kuralların sade ve anlaşılabilir olmasıdır. 49 Bir karar ağacının yapısı; düğüm, dal ve yapraktan oluşmaktadır. Karar ağacı yapısı, kök düğümünden başlar ve yaprağa ulaşıncaya kadar devam eder. Karar düğümünden iki tane dal çıkar bu dallardan bir tanesi istenilen terimin belgede bulunduğu durumu, diğeri ise bulunmadığı durumu gösterir. 50 Her bir düğümde dallara ayrılma işlemi yapılır, eğer bir dalın ucunda artık sınıflama yapılamıyorsa o noktada karar düğümü oluşur, belirli bir sınıfa ulaşılıyorsa o dalın sonunda yaprak vardır. Bu yaprak, verilerden hareketle belirlenmek istenilen sınıflardan birisidir. 51 Karar ağaçlarının yoğun olarak kullanıldıkları alanlar: 52 - Belli bir sınıfın üyesi olacak elemanın belirlenmesi, - Çeşitli vakaların risk kategorilerine ayrılması, - Gelecekteki olayların tahmin edilmesi için kurallar oluşturulması, - Parametrik modellerin kurulmasında kullanılmak üzere çok miktardaki değişken ve veri kümesinden faydalı olacakların seçilmesi - Sadece belirli alt gruplara özgü olan ilişkilerin tanımlanması, - Bazı kategorilerin birleştirilmesi ve sürekli değişkenlerin kesikliye dönüştürülmesi. Karar ağaçları her ne kadar uygulanması kolay olsa da dal sayısı arttıkça kullanım kolaylığını yitirebilir. Ayrıca karar ağaçlarını kullanırken alternatif 48 Vladimir N Vapnik, "An Overview of Statistical Learning Theory", IEEE TRANSACTIONS ON NEURAL NETWORKS, Vol 10. No 5, 1999, s 997. 49 Kavzoğlu Taşkın ve Çölkesen İsmail, "Karar Ağaçları İle Uydu Görüntülerinin Sınıflandırılması: Kocaeli Örneği", Harita Teknolojileri Elektronik Dergisi, C.2., No:1, 2010, s 39. 50 Tantuğ A. Cüneyd, ‘Metin Sınıflandırma’, Türkiye Bilişim Vakfı Bilgisayar Bilimleri ve Mühendisliği Dergisi, 5.6 (2012). 51 Tantuğ A. Cüneyd, ‘Metin Sınıflandırma’, Türkiye Bilişim Vakfı Bilgisayar Bilimleri ve Mühendisliği Dergisi, 5.6 (2012). 52 Akpınar, a.g.e.,s.14 19 algoritmalardan hangisinin kullanılacağına da karar verilmesi gerekir. Karar ağaçları algoritmalarının atası olarak AID (Automatic Interaction Detector) karar ağacı kabul edilmektedir. 1970’li yıllarda Morgan ve Sonquist tarafından geliştirilmiştir. 53 AID karar ağaçları ilk geliştirilen algoritma olmasına karşın temel bilgiyi edinmek için çok fazla kullanılmamıştır. 1980 yılında G.V. Kass tarafından geliştirilen CHAID (Chi-squared Automatic Interaction Detector – Ki-kare Otomatik Etkileşim Dedektörü) algoritması bağımlı değişken sürekli ise F testi, kategorik ise Ki Kare testini kullanır. Veriler homojen alt gruplara ayrılır, optimal bölünmenin teşhisi için ki-kare istatistiğinden faydalanılır. İstatistiksel testin anlamlılığı sayesinde ön kestiriciye ait değişkenler değerlendirilirler. Bağımlı değişkene göre homojen olan tüm değerler birleştirilir, karar ağacındaki ilk dalın formuna göre en iyi ön kestirici değişkenin seçilmesi ile birlikte her bir düğümün seçilen değişkenin homojen değerinin bir grubu oluşturulur. Ağaç tamamen büyüyene kadar işleme devam edilir. 54 CHAID algoritmasının diğer karar ağacı algoritmalarından en önemli farkı, diğer algoritmalar ikili ağaçlar üretirken, CHAID algoritması çoklu ağaçlar üretebilmektedir. 55 1984 yılına basılmış olan “Classification And Regression Trees” adlı kitap ile CART (C&RT) isimli yeni bir karar ağacı algoritması ortaya konulmuştur. CART sınıflandırma ve regresyon modellerinin üretilmesi için kullanılan bu algoritma, Leo Breiman, Charles J. Stone, Jerry Friedman ve R. Olshen tarafından geliştirmiştir. CART ile ağaç oluşturulurken, veriler iki alt kümeye ayrılarak ilerlediği için alt küme bir üst kümeye göre daha homojen bir yapıya sahip olur, homojenlik tam olarak sağlanana dek işlem devam eder. 56 Homojenliğin tam olarak sağlanmasına, kategorik değişkenlerde Gini Katsayısı, sürekli değişkenlerde ise en küçük kareler sapması gibi hesaplamalara dayanarak karar verilir. Homojen yapıya ulaşıldıktan sonra bu sefer tersi yönde bir budama işlemi yapılarak işlem sonuçlandırılır. 57 53 Gül Gökay Emel Ve Çağatan Taşkın, ‘Veri Madenciliğinde Karar Ağaçları Ve Bir Satış Analizi Uygulaması’, Eskişehir Osmangazi Üniversitesi Sosyal Bilimler Dergisi, 6.2 (2005) s.228. 54 Çalış Aslı, Kayapınar Sema ve Çetinyokuş Tahsin, ‘Veri Madenciliğinde Karar Ağacı Algoritmaları Ile Bilgisayar ve İnternet Güvenliği Üzerine Bir Uygulama’, Endüstri Mühendisliği Dergisi, 25.21 (2014), 2–19. 55 Çalış ve diğerleri a.g.e. 56 Oğuzlar Ayşe, ‘Cart Analizi İle Hanehalkı İşgücü Anketi Sonuçlarının Özetlenmesi’. Akıllı Sistemlerde Yenilikler ve Uygulamaları Sempozyumu, 2010. 57 Oğuzlar Ayşe, ‘Cart Analizi İle Hanehalkı İşgücü Anketi Sonuçlarının Özetlenmesi’. Akıllı Sistemlerde Yenilikler ve Uygulamaları Sempozyumu, 2010 20 QUEST Karar ağacı 1997 yılında Loh ve Shih tarafından geliştirilmiştir. Quick (hızlı), Unbiased (yansız), Efficient Stastical Tree (etkili istatistiksel ağaç) ikili karar ağacı yapısı kullanılan bir algoritmadır. QUEST algoritması, ağaç oluşturulurken ön yargıya dayalı seçimin genel hale getirilmesi ve hesaplama maliyetinin düşürülmesini amaçlar. QUEST algoritması tek değişkenli ve doğrusal kombinasyon bölünmeleri için kullanılır. Her bölme için, her bir girdi özniteliği ile hedef özniteliği arasındaki ilişki F testi veya Levene testi (sıralı ve sürekli öznitelikler için) veya Pearson’ın ki-kare (nominal öznitelikler için) kullanılarak hesaplanır. Hedef özniteliği çok terimli ise iki süper küme oluşturmak için iki yönlü kümeleme kullanılır. 58 QUEST karar ağacı algoritması ihmal edilebilir bir önyargıya sahiptir ve ikili karar ağaçları üretir. Quest karar ağaçları algoritması tek değişkenli veya lineer kombinasyon bölünmeleri ile kullanılabilmektedir. ID3 (Iterative Dichotomizer 3) Karar ağaçları, 1983 yıllında, CART ile aynı dönemde fakat birbirlerinden bağımsız olarak çıkmıştır. 59 J.R. Quinlan tarafından geliştirilen entropi kavramından faydalanarak karar ağacını oluşturur. Entropi, bir veri kümesindeki rassalığı, belirsizliği ve beklenmeyen durumun ortaya çıkma olasılığını gösterir. Beklentisizliğin maksimumlaştırılmasıdır. Eğer veri kümesindeki tüm değişkenler homojen ise, entropi değeri 0 çıkacaktır. Bütün olasılıklar eşitse entropi maksimum değerine ulaşır ve entropi bir olasılığı gösterdiği için alabileceği değer 0’la 1 arasındadır. S sınıf kümesi için ortalama entropi değeri aşağıdaki bağıntı ile hesaplanır. 𝐸(𝑆) = − ∑ 𝑝𝑖 log2(𝑝𝑖)𝑛 𝑖=1 (1.9) Sadece kategorik veriler için kullanılan ID3 algoritmasının arkasındaki temel fikir, her bir düğümden her bir özellik için yukarıdan aşağıya doğru belli bir kümenin karar ağacını oluşturabilmektir. 60 Veri seti bölünmeden önce elde edilen bilgi ile veri seti bölündükten sonra gelen bilgi arasındaki fark kazanım (gani) olarak adlandırılır. Kazanım miktarını hesaplamak için entropiden faydalanılır. Kazanımlar aşağıdaki formülden hareketle hesaplanır. 58 Loh Wei-Yin and Shıh Yu-Shan, ‘Splıt Selectıon Methods For Classıfıcatıon Trees’, Statistica Sinica, 7 (1997), 815–40.s.819 59 Loh Wei-Yin and Shih Yu-Shan, ‘Splıt Selectıon Methods For Classıfıcatıon Trees’, Statistica Sinica, 7 (1997), 815–40. 60 Oshoiribhor Emmanuel O., John-OtumuAdetokunbo M. and Ojieabu Clement E., ‘An Implementation of ID3 Decision Tree Learning Algorithm for Tax Fraud Control and Prevention System’, Journal of Computer Science and Information Technology, 4.42 (2016), 73–93 s.75. 21 𝐺𝑎𝑖𝑛(𝑇, 𝑋) = 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑇) − 𝐸𝑛𝑡𝑟𝑜𝑝𝑖(𝑇, 𝑋) (1.10) Bölünmeden önceki entropi ile her bir alt bölümün entropisi arasındaki fark alınır. Maksimum entropi bölünmede en uygun özelliktir. Entropinin maksimum olduğu dallanma yapılır. 61 C4.5 (Commercial Version 4.5) karar ağaçları, 1993 yılında tıpkı ID3’te olduğu gibi Ross Quinlan tarafından geliştirilmiştir. ID3 kullanışlı bir algoritma olmasına rağmen çok sayıda değeri olan özelliklere karşı aşırı duyarlıdır, C4.5’in amacı ise bu duyarlılığı ortadan kaldırabilmektir. 62 Pek çok karar ağacı sınıflandırma algoritması olmasına karşın, C4.5 uygulama kolaylığı, diğer sınıflandırma algoritmalarına nazaran daha kolay anlaşılması, ağaç üzerinde kolaya karar verebilme gibi artıları nedeniyle diğer karar ağacı algoritmalarından daha fazla kullanılır. 63 C4.5 karar ağaçları, ID3'teki gibi bir dizi eğitim verisi veya veri seti kullanılarak inşa edilmiştir. Ağacın her bir düğümünde, C4.5, bir dizi veya zenginleştirilmiş alt kümelere, örnek kümesini en etkili şekilde ayıran verilerin bir özniteliğini seçer. Şeçimi yaparken kullandığı ölçütler, normalleştirilmiş bilgi kazanımı yani entropi farkıdır. En yüksek normalleştirilmiş bilgi kazancı olan özellik (entropi farkı), karar vermek için seçilir. 64 C4.5 karar ağacının geliştirilmiş hali olarak C5.0 algoritması ortaya çıkarılmıştır. C5.0 ile C4.5 arasında temelde tahmin hatasında büyük bir fark yoktur fakat işlem süresi ve karar ağacının sadeliği konularda C5.0’ın C4.5’e bir üstünlük sağlamaktadır. 65 Literatürde karar ağaçlarıyla ilgili pek çok çalışmayla karşılaşmak mümkündür. Tüm karar ağaçlarının uygulanabilmesine karşın en fazla yapılan çalışma, kullanım kolaylığı nedeniyle ID3 ve C4.5 karar ağaçlarıdır. 61 Nishant Mathur ve diğerleri, ‘The Base Strategy for ID3 Algorithm of Data Mining Using Havrda and Charvat Entropy Based on Decision Tree’, International Journal of Information and Electronics Engineering, 2.2 (2012) s.253. 62 Hssina Badr ve diğerleri, ‘A Comparative Study of Decision Tree ID3 and C4.5’, International Journal of Advanced Computer Science and Applications, 2014, s.15. 63 Harvinder Chauhan ve Anu Chauhan, ‘Implementation of Decision Tree Algorithm C4.5’, International Journal of Scientific and Research Publications, 3.10 (2013), s.1. 64 Hssina ve diğerleri s.15. 65 Akküçük Ulaş, Veri Madenciliği Kümeleme Ve Sınıflama Algoritmaları İstanbul: Yalın Yayıncılık, 2011 s.82. 22 1.2.4.2.5. Rastgele Orman (RO) Rastgele Orman (RO), ağaç tipi bir sınıflandırma metotlarından biridir. RO’da, her düğüm, rassal olarak seçilen değişkenlerden en iyisi kullanılarak dallara ayrılır. Her veri seti orijinal veri setinden, yer değiştirmeli olarak türetilir daha sonra rastgele özellik seçimi kullanılarak ağaçlar geliştirilir. Geliştirilen ağaçların budanmaması gerekir ki bu strateji RO’nun doğruluğunu eşsiz yapar. 66 1.2.5. Sonuçların Değerlendirilmesi Metin madenciliğinin önemli bir aşaması da sonuçların değerlendirilmesi kısmıdır. Sonuçların alanında uzman bireyler tarafından değerlendirilmesi metin madenciliğinin etkinliğini arttıracaktır. Sonuçların değerlendirme aşamasında istenmeyen bir durum karşımıza çıkmışsa sınıflandırma algoritmaları tekrar gözden geçirilir gerekli hallerde analiz tekrar yapılır. 67 Sonuçların doğru değerlendirilmesi uzmanlık ve deneyim gerektirmektedir. Sonuçları değerlendirecek araştırmacı çalışmayı ilk kez yapıyorsa alanında uzman kişilerin görüşlerine başvurmalıdır. Aksi halde sınıflandırma tam anlamıyla doğru yapılsa bile sonuçlar yanlış değerlendirilip, çalışmanın tekrar yapılmasına sebep olunabilir. 1.3. Metin Madenciliğinin Kullanım Alanları Veri madenciliğinin özel bir alanı olan metin madenciliği, içinde metin geçen tüm verilerin işlenmesinde kullanılır. Metin madenciliğini veri madenciliğinden ayıran en temel özellik yapılandırılmamış veriyle de çalışmasıdır. Yapılandırılmamış veriye sahip olan tüm alanlar metin madenciliği için bir kaynak olabilmektedir. Başlıca kullanım alanları; bilgi çıkarma, konu izleme, özetleme, kategorizasyon, kümeleme, kavram bağlantısı, bilgi görselleştirme, soru cevaplama, tahminde bulunma olarak sayılabilir. 68,69 Aynı şekilde son zamanlarda metin madenciliğinin en sık kullanım alanları arasında; müşteri ilişkileri yöntemleri, sahtekârlıkların tespiti, bilimsel 66 Akar Özlem ve Güngör Oğuz, ‘Rastgele Orman Algoritması Kullanılarak Çok Bantlı Görüntülerin Sınıflandırılması’, Jeodezi ve Jeoinformasyon Dergisi, Ankara, 2013, s141 . 67 Kuzucu.a,g,e,. s. 15 68 Weiguo Fan ve Diğerleri, "Tapping into the Power of Text Mining", Comminications of the ACM, New York, V. 49, 2006, s.77-80 69 Jelena Jovanovic.s.6 23 araştırmalar, güvenlik-istihbarat, pazar araştırmaları, biyomedikal çalışmalarını da sıralamak mümkündür. 70 Kısaca açıklamak gerekirse; 71,72 Bilgi çıkarma; bilgisayarların yapılandırılmamış veriden hareketle analiz yapma sürecindeki ilk aşaması bilgi çıkarmadır. Bunu yaparken metin içinde önceden tanımlı dizileri arar, desen eşleme adı verilen süreç sayesinde, metin içinde yer alan bilgi çıkarımında bulunur. Sistem bunu otomatik yaparken görüntü eşleme sayesinde bilgiye erişmektedir. Konu izleme; bir kullanıcının profillerinden hareketle o kullanıcının ilgi duyabileceği diğer konular saptanmaya çalışılır. Günümüzde pek çok web sitesi bunu uygulamaya yönelik araçlar kullanıcılarına sunmaktadır. Örneğin youtube’da izlediğiniz videodan hareketle otomatik olarak size ilgi duyabileceğiniz benzer sınıftaki videolar önerilir. Konu izleme, makine öğrenmesinde denetimsiz öğrenmenin bir unsuru olarak karşımıza çıkmaktadır. Özetleme; uzun bir belgenin, kullanıcının ihtiyacını karşılayıp karşılayamayacağını anlamak için özetlenmesi sürecidir. Buradaki amaç kullanıcının tüm metni okumadan sadece bir paragraf sayesinde, bu metnin ihtiyacını karşılayıp karşılayamayacağını görebilmesidir. Özetleme yapılırken dikkat edilmesi gereken husus, metnin ana temasının, bütünlüğünün korunabilmesidir. Burada temel amaç okuyucuya zaman kazandırmaktır. Bilgisayarlar özetleme yaparken kişi isimleri, yer isimleri, tarihler gibi bilgileri belirlemede başarılı iken, tüm metni analiz edip anlamlandırmakta yetersizdirler. Bilgisayarlar, insanlar gibi bir dil yeteneğine sahip olmadıklarından, henüz insanlar kadar başarılı özetleme yapamamaktadır. İnsanlar kadar başarılı olmasa da kazandırdığı zaman nedeniyle özetleme özelliği çok kullanışlı olabilmektedir. Kategorizasyon; bilgisayarlar kategorizasyon yaparken, genellikle belgeyi sözcük paketi (bag of words) olarak değerlendirir. Kategorizasyon, gerçek bilgileri ortaya koymaktan ziyade, sadece kelimelerin frekanslarından hareketle belgenin ana 70 Jelena Jovanovic. s.51 71 Jelena Jovanovic. 72 Dolgun ve Özdemir. 24 konularını tanımlamaya çalışır. Yapılan bu işlem sayesinde belge, önceden tanımlanmış belli bir kümeye yerleştirilerek belgenin ana teması ortaya çıkarılmış olur. Terimlerin frekansları hangi kümeye belgenin yerleştirileceğini belirleyen temel unsurdur. Metinde sadece bir kez tekrarlanan terimler metinin kategorizasyonu için önemsizdir. Kümeleme; amaç benzer belgelerin ortak gruplarda toplanmasıdır. Kategorizasyondan temel farkı kümeler önceden belirlenmiş değildir, işlem anında ortaya konulmaktadır. Önemli bir yararı, belge içinde birden çok alt konu varsa bunların hepsinin görülebiliyor olmasıdır. Bu durum bizim için, işimize yarayan bir belgenin arama sonuçlarında atlanmamasını sağlamaktadır. Kümelemede vektör uzayı mantığıyla vektörler oluşturulur ve belgenin her bir kümeye ne kadar uyduğu bu şekilde belirlenir. Belge uyum sağladığı tüm kümelerde kendine yer bulur. Bu sayede belge kendine sadece tek bir kümede değil de alakalı olan iki veya daha fazla kümede aynı anda yer bulabilir. Kavram bağlantısı; belgelerdeki ortak kavramların tanımlanmasını sağlar. Bu sayede belki de araştırmacıya, geleneksel arama metotlarıyla bulamayacağı bilgileri bulmasında yardımcı olunabilir. Bilgiyi aramadan ziyade tarama yapılmasını sağlayan bir yöntemdir. Bilgi görselleştirme; çok geniş metinsel kaynakların belli bir hiyerarşiyle basit bir harita vb. görselliğe kavuşturulmasını sağlar. Kullanıcı bu sayede; çok büyük miktardaki metnin eşleşmelerini ölçeklendirme, bölge haritalarını kurabilme gibi işlemler yapabilir. Bunun sonucunda, kullanıcı geniş bir dokümanı daraltarak ilgilendiği konuya yönelebilir. Bu alanda bilgi görselleştirme son derece yararlıdır. Özellikle sosyal ağ analizinde kullanımı geniş bir yere sahiptir. Soru cevaplama; metin madenciliğinin kullanım alanlarından biri de verilen bir soruya en iyi cevabın nasıl bulunacağıdır. Soru cevaplama yönteminde birden fazla teknik bir arada kullanılabilir. Örneğin bilgi çıkarma tekniği ile insanları, yerleri, olayları ayıklayabilir, sınıflandırma tekniği ile kim, nerede, ne zaman vb. soru özellikleri sınıflandırabilir. Tüm bu süreçlerden hareketle sistem sorulara en doğru yanıtı vermeye çalışır. 25 Tahminde bulunma; kullanıcı profili ve geçmiş işlemlerinden hareketle kullanıcıya özel, o kişinin ilgisini çekebileceği düşünülen diğer dokümanlar tahmin edilmeye çalışılır. Sosyal paylaşım siteleri bu uygulamaya çok sık başvurarak kişiye tanıyor olabileceği kişileri önermekte veya ilgi alanına uygun olduğu tahmin edilen reklamlar sık sık karşısına çıkarılmaktadır. Müşteri ilişkileri yönetimi; tüm müşterilere ait erişilebilecek tüm bilgiler; iletişim bilgileri, kişisel bilgiler, anket verileri, alışveriş hareketleri gibi verilerden hareketle, nitelikli bilgi elde edilip, müşterilere, çapraz satışları tahmin etmek gibi süreçlerde kullanılır. Müşterilerin ihtiyaçları tespit edilip satışın cazip hale getirilmesi için müşteri bazlı kampanyalar düzenlenebilmektedir. Sahtekârlık tespiti; sağlık, sigorta gibi sektörlerde toplanmış olan büyük hacimdeki verilerden hareketle çeşitli kalıpların ve anormalliklerin saptanarak sahtekârlıkların tespit edilmesinde kullanılır. Özellikle sigorta şirketlerinin çok sık karşılaştıkları sahtekârlıkların önüne geçilebilmesi için modeller oluşturulmaya çalışılmaktadır. Modellerden hareketle hasar kayıtları incelenip sahte işlem yapılıp yapılmadığı saptanabilmektedir. Güvenlik – istihbarat; kişiler, gruplar arasındaki bağlantılar incelenerek, terör olaylarının tahmin edilmesi, bunların engellenmesi için çalışmalar yapılır. Bunun için çok büyük miktardaki suç ve suçlu profili, kriminal verilerden faydalanılır. Bu verilerden hareketle aralarında bağlantı olan veya bağlantılı olma olasılığı olan kişiler tespit edilmeye çalışılır. Pazar araştırması; yayınlanmış belgeler, makaleler, internet siteleri, basında çıkan haberler, bültenler, dergiler, anket sonuçları pazar etkisini ölçmek için sürekli olarak takip edilir. Satış rakamları, pazar payları, pazarlama için çok büyük veriler oluşturmaktadır. Bu verilerden hareketle pazar ve pazarlama sürecine ilişkin çeşitli tahminlerde bulunulur. 1.4. Metin Madenciliği Alanında Geliştirilmiş Olan Paket Programlar Metin madenciliği alanında geliştirilmiş olan pek çok paket program mevcuttur. Fakat henüz bu programlardan herhangi birisi istenilen tüm sonuçları elde etmek için tek başına yeterli değildir. Kullanıcılar yapmak istedikleri işleme göre en uygun 26 program veya programları tercih etmelidir. Bu programların bir kısmı açık yazılımken bir kısmı ise ticari yazılım olarak piyasada bulunmaktadır. Bu programların nerdeyse tamamı bilgi çıkarma ve kategorizasyon işlemini yaparken, her biri farklı uygulama alanlarına da sahiptir. En yaygın olarak kullanılan paket programlardan bazıları ve bu programların kimi özellikleri aşağıda sıralanmıştır. 73,74 Ticari Yazılımlar; ClearForest (Bilgi çıkarma, kategorizasyon, kavram bağlantısı) IBM Intelligent Miner Data Mining Suite (Bilgi çıkarma, özetleme, kategorizasyon, kümeleme) Megaputer (Bilgi çıkarma, özetleme, kategorizasyon, kümeleme, soru cevaplama) NodeXL Pro (Sosyal ağ analizi, görselleştirme) ODM (Risk analizi, soru cevaplama, sınıflandırma) SAS Text Miner (Bilgi çıkarma, kategorizasyon, kavram bağlantısı) SPSS Text Mining For Clementine (Bilgi çıkarma, kategorizasyon, bilgi görselleştirme) STATISTICA Text Mining Vantage Point WorldStat Açık Kaynak Yazılımlar; GATE 73 Seçkin Keziban, ‘Metin Madenciliğinde Kullanılan Yöntemlerin Karşılaştırılması: Siyasi Parti Liderlerinin Grup Genel Toplantı Konuşmaları İle Bir Uygulama’.Sakarya Üniversitesi Sosyal Bilimler Enstitüsü, Sakarya, 2011,s.12 74 Melek Cemile, ‘Metin Madenciliği Teknikleri İle Şirketlerin Vizyon İfadelerinin Analizi’,Dokuz Eylül Üniversitesi Sosyal Bilimler Enstitüsü, İzmir, 2012.s.30 27 RapidMiner (görselleştirme) R Perl (metin işleme, görüntü tanıma) LingPipe WEKA (Sınıflandırma, kümeleme, bilgi görselleştirme) 1.5. Doğal Dil İşleme (DDİ) İstatistiksel yöntemler, sadece pratik bir mühendislik yaklaşımı olsaydı eğer, bilimin henüz çözemediği, dilin zorlu problemleri için istatistiğe ilgi daha az olurdu. Oysa dil bilimi araştırmalarında istatistiğin son derece önemli bir yeri vardır. 75 İstatistik bilimi hemen her alanda olduğu gibi dil bilim çalışmalarında da çok geniş kullanım ağına sahiptir. İstatistiğin, dil bilim alanında çalışmalar yaparken, en büyük yardımcısı her zaman olduğu gibi bilgisayarlardır. Bilgisayar programları ve istatistik yardımıyla dile dair çözümlemeler yapılmaya çalışılmaktadır. Doğal dil işlemenin (DDİ) temel mantığı, insan eliyle üretilmiş olan metinden hareketle bilgisayarların rahatlıkla işlem yapabilmesi, o metinden çeşitli sonuçlar çıkarabilmesidir. Buradaki en büyük zorluk dilin karmaşık yapısıdır. Dilin uçsuz bucaksız yapısına rağmen bilgisayarın son derece sınırlı yetisi vardır ve bu iki durum arasında bir çelişki söz konusudur. Yapılan çalışmaların temel amacı bu çelişkiyi ortadan kaldırarak, bilgisayarın dili en iyi şekilde işleyebilmesine yöneliktir. Metin incelemesinde ortaya çıkan sorun açıktır; doğal dil insanların birbirleriyle iletişim kurabilmeleri amacıyla geliştirilmiştir, bilgisayarlar ise bu dili anlamaktan son derece uzaktır. İnsanlar dilsel kalıpları kolaylıkla ayırt edebilirken, bilgisayarlar bu kalıpları ayırt edememekte, argoları, kalıplaşmış deyimleri, imla hatalarını aşamamaktadırlar. Buna karşın bilgisayarların avantajı ise insanların işleyemeyeceği çok büyük hacimli metinleri yine çok büyük bir hızla işleyebilmeleridir. Metin 75 Manning Christopher D, Hinrich Schiitze, Foundations of Statistical Natural Language Processing, MİT Press, 1999, s.8. 28 madenciliği insanların üstün yönleriyle bilgisayarların üstün yönlerini bir araya getiren bir teknoloji yaratmaya çalışır. 76 DDİ’nin insanlara sağlayacağı faydalar; yazılı olan bir dokümanın otomatik olarak tercüme edilmesi, soru cevaplama, otomatik konuşma, komutların bilgisayarca anlaşılması, konuşma, otomatik metin özetleme, gibi başlıklarla özetlenebilir. 77 Tüm bunların yapılabilmesi bilgisayar teknolojisinin hızla gelişmesi ve yapay zekânın hayatımıza girmesiyle mümkün olmuştur. Zira DDİ, yapay zekânın bir alt disiplini olarak düşünülmektedir. 78 DDİ’nin ilgi alanlarını kısaca özetlememiz gerekirse; 79 - Yazım yanlışlarının düzeltilmesi; günümüzde hemen tüm metinler bilgisayar ortamında yazılmaktadır. DDİ’nin yapmaya çalıştığı işlemlerden biri de yazılan metinlerdeki hataların tespit edilip düzeltilmesidir. Burada dikkat edilmesi gereken husus dilbilgisi kurallarının bilgisayar sistemine önceden tamamen eksiksiz bir şekilde tanımlanmış olmasıdır. Türkçede çok sık karşılaşılan bir hata “uluslararası” kelimesidir. Bu kelime dilbilimi açısında ulular ve arası kelimesinin bitişik bir şekilde yazılmasını gerektirirken bilgisayar ortamında DDİ bu iki kelimeyi ayrı yazılması gerektiği şeklinde algılayıp bitişik yazılsa bile ayırmaktadır. Bu tür düzeltme esnasında yapılan hataların göz önüne alınması gerekir. - Bul ve değiştir; metin içinde geçen herhangi bir kelimenin taranıp bulunması veya kelimenin alternatif bir kelimeyle değiştirilmesi amacıyla uygulanan yöntemdir. Bu yöntemle tek bir kelime değiştirilebileceği gibi metinde geçen tüm kelimelerin de değiştirilmesi mümkündür. Örneğin metinde geçen “cevap” kelimesi “yanıt” kelimesiyle değiştirileceği zaman metinde ki tek bir cevap kelimesi de değiştirilebilir veya isteğe bağlı olarak metinde ki tüm cevap kelimeleri yanıt kelimesi ile değiştirilebilir. - Basılı bir metni okuma; bilgisayar ortamında bulunmayan bir metnin bilgisayara aktarılma işlemidir. Bu metin bir roman, makale olabileceği gibi 76 Fan ve diğerleri. a.g.e. s.3 77 Şeker Sadi Evren, Doğal Dil İşleme, YBS Ansiklopedi, Cilt 2, Sayı 4, Aralık 2015, s. 17 78 Moreno Antonio ve Redondo Teófilo, ‘Text Analytics: The Convergence of Big Data and Artificial Intelligence’, International Journal of Interactive Multimedia and Artificial Intelligence, Vol 3, 2016, s. 57 . 79 Adalı Eşref, ‘Doğal Dil İşleme’, Türkiye Bilişim Vakfı Bilgisayar Bilimleri ve Mühendisliği Dergisi, 5.2 (2012). 29 doldurulmuş olan optik form da olabilir. Günümüzde özellikle optik form okuma sürecinde çok büyük gelişmeler kaydedilmiştir. - Metnin özetini çıkarma; kişilerin çok uzun metinleri okuyarak o metnin gerçekten aradığı şeyle ilgili olup olmadığına karar vermeleri bazen çok fazla zaman kaybına neden olabilmektedir. Kaynağın tamamını okumak yerine metnin özetinin çıkarılması DDİ’nin ilgi alanlarında birisidir. Bu işlem yapılırken öncelikle varsa metnin içindekiler kısmı, bu yoksa konu başlıkları, metinde en sık geçen kelimeler taranır. Bu verilerden hareketle metnin neyle ilgili olduğu anlaşılmaya çalışılır. - Metnin içerdiği bilgiyi çıkarma; metindeki bilgiyi çıkarmak için dil bilgisi kurallarından hareketle tek bir cümlede mi bilgi verilmek istenmiş, yoksa verilmek istenen mesaj metnin tamamına mı yayılmış buna bakılır. Temel amaç; metnin ana konusu dışında kalan konuları ayıklayarak içerdiği ana bilgiye erişmektir. - Bilgiye erişim; internetin günlük yaşamımızda çok fazla yer edinmesiyle birlikte, internette aradığımız bilgiye kolayca erişebilmek amacıyla geliştirilmiştir. İnternet arama motorunda arama yaparken anahtar kelimeyi yazıp enter tuşuna bastığımızda bilgisayar bize yüzlerce alternatif sayfa seçeneği sunar. Bu sayfalardan hangisi veya hangilerinin işe yarayacağını bulmak ise araştırmacıya düşen görevdir. - Metni anlama; temel amaç kısa metin veya cümlelerin tam, kesin olarak, anlaşılabilmesidir. Bilgisayara verilen veya söylenen bir cümlenin anlaşılarak işlem yapılması temel hedeftir. Bilgisayardan arama motorunda bir şey araması istendiğinde aranacak konunun bir veya birkaç kelime ile söylenmesi ve bilgisayarın otomatik olarak bu kelimelere dair net üzerinde arama yapabilmesidir. - Metin seslendirme; bilgisayara verilmiş olan bir metnin bilgisayar tarafından okunması hedeftir. Sesli gazete, sesli kitap gibi uygulamalarla görme engellilere yardım edilebileceği önemli bir alandır. - Konuşmayı yazıya dökme; insanların konuştukları şeylerin yazıya dökülmesi, yazıya dökülen metnin anlaşılıp işleme konulması temel amaçtır. 30 - Soru yanıtlama; özellikle çağrı merkezlerinde kullanılan, müşterinin isteklerini bilgisayarın anlayıp cevaplayabilmesi amacıyla geliştirilmiş süreçlerdir. Müşteri isteğini bir veya birkaç kelime ile söyler, bilgisayar müşteriye ulaşmak istediği bilgiye dair alternatifleri sunar, müşteri alternatiflerden kendisi için uygun olanı seçer. Bu şekilde müşterinin bir çalışanla görüşmeden bilgisayar yardımıyla istediği bilgiye kolaylıkla erişmesini sağlar. - Çeviri; herhangi bir dilden başka bir dile sağlıklı ve anlaşılabilir bir şekilde çeviri yapılmasıdır. Basit bir kelimenin çevirisinden, karmaşık bir bilimsel metnin çevirisine kadar geniş bir kapsama alanı vardır. Nihai hedef ise bir kişinin kendi ana dilinde yaptığı konuşmayı karşısında ki kişinin kendi ana dilinde anlayabilmesini sağlayacak başarıda çevirilere imza atmaktır. Günümüzde bilgisayar tarafından yapılan çeviriler büyük başarı gösterebilmektedir. DDİ’nin yoğun olarak kullanıldığı bir başka alan bu tezin de konusu olan duygu analizidir. Duygu analizi ilerleyen bölümde ayrıntılı bir şekilde ele alınacaktır. DDİ’nin insanlara sağladığı ve sağlayacağı kolaylıkların yanı sıra üstesinden gelmesi gereken birçok zorlukta vardır. Bu zorlukların önemli bir kısmı yine insan kökenlidir. Konuşma dilinde ki lehçe farklılıkları, kullanılan argo kelimeler, devrik cümleler, eşanlamlı kelimeler, eş sesli kelimeler, imalar, kinayeler, DDİ’nin temel zorluk alanlarını oluşturmaktadır. Tüm zorluklara rağmen, DDİ’nin pek çok sürecin üstesinden başarıyla geldiği yadsınamaz bir gerçek olarak karşımızda durmaktadır. Nihai amaçsa DDİ’nin tüm bu zorlukların da kendi başına üstesinde gelebilmesini sağlayabilmektir. 1.6. Makine Öğrenmesi (MÖ) Makine öğrenmesi (MÖ) de tıpkı DDİ gibi yapay zekânın bir alt dalıdır. MÖ verilen bir problemi ortamdan edindiği bilgiye göre çözümler. 80 MÖ genellikle bir dizi görevi öğrenen, mantıksal veya ikili işlemlere dayanan, otomatik hesaplama prosedürlerini kapsamaktadır. MÖ insanlar tarafından kolaylıkla anlaşılacak basit 80 Adalı Eşref, ‘Doğal Dil İşleme’, Türkiye Bilişim Vakfı Bilgisayar Bilimleri ve Mühendisliği Dergisi, 5.2 (2012). 31 sınıflandırıcı ifadeler üretmeyi amaçlar. MÖ’nün karar sürecinin arka planında istatistiksel yaklaşımlar vardır. 81 MÖ’nün en büyük avantajı insan müdahalesine ihtiyaç duymaksızın da sınıflandırma yapılabilmesidir. 82 MÖ sayesinde kısa sürede ve etkin bir biçimde istenilen sınıflandırmaların bilgisayar tarafından yapılabilmesidir. MÖ, geçmiş tecrübelerden ve/veya örnek verilerden hareketle bir sürecin optimize edilebilmesi amacıyla bilgisayarları programlamadır. Bir model oluşturulur ve oluşturulan bu model ileride tahminlerde bulunmak için öngörülerde bulunabilir, bilgi edinmek için açıklamalarda bulunabilir veya eldeki verilerden hareketle süreçlere dair denetimlerde bulunabilir. MÖ, matematiksel modeller oluşturmak için istatistik teorisini kullanır, çünkü temel görevi bir veri kümesinden hareketle çıkarım yapmaktır. MÖ’de bilgisayarın da iki farklı fonksiyonu vardır; bunlardan birincisi, ihtiyaç duyulan algoritmalar için muazzam sayıdaki verinin depolanıp etkili algoritmalar yaratılması, ikincisi ise model bir kez öğrenildiğinde etkili çözümler üretilmesidir. 83 MÖ sağladığı pek çok avantaja rağmen bir takım dezavantajları da vardır. Şöyle ki MÖ; metin madenciliği için genellikle çok pahalı bir yöntemdir çünkü eğitim verisi oluşturmak için çok sayıda açıklanmış belgenin hazırlanıp sisteme tanıtılması gerekir. Metinlerde öznitelik alanı çok fazla olabilir, bu da analiz edilecek belgelerdeki çok fazla miktardaki terimlerden tümünün veya bir kısmının seçilmesini zorunlu kılar. 84 MÖ kimi zaman çok uzun bir zaman alabilmektedir. MÖ üç farklı şekilde işlev görmektedir. Bunlardan ilki denetimli öğrenme, ikincisi denetimsiz öğrenme, üçüncüsü ise yarı-denetimli öğrenmedir. 1.6.1. Denetimli Öğrenme Gözetimli öğrenme ya da kontrollü öğrenme de denen bu yöntemde, sisteme öğrenilmek istenen kavramla ilgili veriler ve bir eğitim kümesi girilir. Eğitim kümesinde her bir örnek için istenen çıktı değerleri de verilir (etiketleme yapılır). Bu 81 D Michie, D J Spiegelhalter ve C C Taylor, Machine Learning, Neural and Statistical Classification, Overseas Press, 1994.s.3 82 Fabrizio Sebastiani, ‘Machine Learning in Automated Text Categorization’, ACMDL V34, I1, New York, 2002, s.2 83 Alpaydın Ethem, Introduction to Machine Learning Second Edition., The MIT Press, Cambridege, 2010, s.4 84 Alpaydın, a.g.e.. 32 bilgilerden hareketle girdi ve çıktı arasında bir ilişki oluşturulur. Girdi verilerinin değerleri kullanılarak çıktı değerleri tahmin edilmeye veya öğrenilmeye çalışılır. Sonuçları bilinen veriler üzerinde yapılan sınıflama ile sonuçları bilinmeyen veri kümesine dair tahminler yapılır. 85 Etiketlenmiş gözlemlerde, etiketler algoritmaya gözlemleri nasıl etiketlemesi gerektiğini öğretir. Örneğin bir mailin spam olduğunu sistemin anlayabilmesi için, içinde “para kazan” ifadesi geçiyorsa sisteme bu maili spam olarak algıla şeklinde yol gösterilmesi gerekir. 86 Denetimli öğrenmede girdi ve çıktı arasındaki bağıntı bilgisayara dışarıdan veri olarak kullanıcı tarafından sunulur. Bilgisayarın görevi ise bu bilgiler ışığında daha sonra kendine sunulacak verilerden hareketle tahminlerde bulunup, çıkarımlar yapabilmektir. 1.6.2. Denetimsiz Öğrenme Gözetimsiz öğrenme olarak da adlandırılan bu sistemin denetimli öğrenmeden temel farkı, verilerin sisteme girilmesi ancak veriler arasında sebep – sonuç veya girdi – çıktı ilişkisinin işaretlenmemesidir (etiketleme yapılmamasıdır). Veri setinde yer alan ilişkiler bu işaretlemeler yapılmaksızın öğrenilmeye çalışılır. Sosyal ağlarda kullanıcılara sunulan “tanıyor olabileceğiniz kişiler” seçeneği denetimsiz öğrenmenin bir sonucudur. Sonuç olarak kullanıcı sisteme sadece verileri yükler, algoritmanın kendi kendine keşifler yapıp, görünmeyen örüntüleri öğrenmesi bekler. Buradaki amaç girdideki düzensizlikleri bulmaktır. Giriş alanında belirli kalıpların diğerlerinde daha sık oluşacağı bir yapı vardır ve bu yapı dışına çıkan yapılar görülmeye çalışılacaktır. 87 Denetimsiz öğrenme ile araştırmacının daha önceden öngöremeyeceği bilgilerin, ilişkilerin de keşfedilmesi mümkündür. 85 Alpaydın Ethem, Introduction to Machine Learning Second Edition. The MIT Press Cambridge, Massachusetts London, England, 2010 86 http://www.emrealadag.com/makine-ogrenmesi-nedir.html, 19.01.2017 87 Alpaydın Ethem , s.11 http://www.emrealadag.com/makine-ogrenmesi-nedir.html 33 1.6.3. Yarı Denetimli Öğrenme Bazı durumlarda denetimli öğrenme veya denetimsiz öğrenmenin tek başına kullanılamaması söz konusu olmaktadır. Bu durumlarda yarı denetimli öğrenmenin uygulanması en ideal olandır. Yarı denetimli öğrenme, denetimli öğrenme ile denetimsiz öğrenmenin bir karmasıdır. Yarı denetimli öğrenme az sayıda etiketlenmiş veri ile çok fazla miktarda etiketlenmemiş verinin bir arada yer aldığı öğrenme problemlerinde kullanılır. Yarı denetimli öğrenmede etiketlenmemiş veri miktarı çok büyüktür, buna web siteleri ideal birer örnek oluşturmaktadır. Milyarlarca web sitesi vardır ancak insan müdahalesiyle bu sitelerin tamamını işaretlemek çok pahalı ve imkânsızdır. Bu gibi durumlarda yarı denetimli öğrenme ideal çözüm olarak karşımıza çıkmaktadır. 88 Yarı denetimli makine öğrenmesi çalışmada maliyetler açısından kısıtlı bütçe varsa uygulanabilecek ideal bir yöntem olarak karşımıza çıkmaktadır. 1.7. R ile Metin Madenciliği R yazılımı açık kaynak kodlu; istatistiktikten makine öğrenmesine, zaman serisi analizinden görselleştirmeye varıncaya kadar pek çok analizi yapmaya olanak tanıyan son derece kullanışlı bir araçtır. R yazılımı, geçmişte kullanılan S dilinin geliştirilmesiyle ortaya çıkarılmıştır. 89 R klasik paket programlardan farklı bir kullanım sürecine sahiptir. R’yi kullanmak için önce R programını daha sonra da ihtiyaç duyulan paketleri indirmek gerekir. Paketler kullanıcılar tarafından geliştirilmiş olan diğer kişilere açık olarak yayınlanan hazır ortamlardır. Kullanıcı kendisi de paket geliştirip ihtiyaç duyduğu analizleri yapabilmekte ve geliştirdiği paket ile diğer kullanıcılara yardımcı olabilmektedir. Bu özelliğiyle R kullanıcıları arasında paylaşımı amaçlayan etkin bir araçtır. Nisan 2018 tarihi itibariyle R’de bulunan paket sayısı; 12501’dir. 90 R yazılımı https://cran.r-project.org/mirrors.html adresinden istenilen bağlantılar sayesinde indirilebilmektedir. R yüklenirken kimi paketler öngörülen olarak yüklenmektedir fakat öngörülen paket sayısı çok sınırlıdır. Bu yüzden kullanıcı ile ihtiyaç duyacağı paketleri analiz yapmadan önce indirmek zorundadır. Paket indirmek için alternatif yöntemler mevcuttur, kullanıcı kullanım alışkanlıklarına göre alternatiflerden birini seçebilmektedir. R de çok sayıda paket olduğu için bu paketlerin 88 Chapelle Olivier, Weston Jason ve Scholkopf Bernhard, ‘Cluster Kernels for Semi-Supervised Learning’. NIPS'02 Proceedings of the 15th International Conference on Neural Information Processing Systems, 2002, 8 89 https://www.r-project.org/about.html, erişim tarihi; 04.04.2018 90https://cran.r-project.org/web/packages/, erişim tarihi; 04.04.2018 https://cran.r-project.org/mirrors.html https://www.r-project.org/about.html https://cran.r-project.org/web/packages/ 34 tamamının aynı sürücüde olması indirme yükünü arttıracaktır. Bu yüzden farklı konumlarda bulunan sürücülerden istifade edilerek paketler farklı konumlarda bulunmaktadır. 91 91 https://www.quora.com/What-is-the-CRAN-mirror, erişim tarihi; 05.04.2018 https://www.quora.com/What-is-the-CRAN-mirror 35 İKİNCİ BÖLÜM DUYGU ANALİZİ 2. DUYGU ANALİZİ Türk Dil Kurumu (TDK) duyguyu “belirli nesne, olay veya bireylerin insanın iç dünyasında uyandırdığı izlenim” şeklinde tanımlamaktadır. 92 Tanımdan da anlaşılacağı gibi duygu kavramı içinde pozitif öğelerle beraber negatif öğeleri de barındırmaktadır. Yani duygular; aşk, sevgi, hoşgörü, sadakat gibi pozitif olabileceği gibi nefret, öfke, tiksinti gibi olumsuzlukta barındırabilir. Pozitif duygular insanların yaşam kalitesini yükseltip, olumlu davranışta bulunmaları için motive edici bir rol oynarken, negatif duygular bunun tam tersine, kişilerin yaşam kalitesini düşürür, entelektüel zekâlarını bloke eder ve sürekliliği durumunda pek çok soruna yol açar. Bu yüzden negatif duygu durumunun sürekli bir hal alması istenmeyen ve bir an önce mücadele edilmesi gereken bir haldir. Duygu analizi üç farklı düzeyde yapılabilir. Bunlar doküman (belge) düzeyinde, cümle düzeyinde ve öznitelik düzeyinde diye adlandırılabilir. 93 Doküman düzeyinde yapılan duygu analizinde; doküman, bir bütün olarak ele alınır ve bu dokümanın olumlu mu yoksa olumsuz mu duygu taşıdığı araştırılır. Cümle düzeyinde ise her bir cümle tek tek ele alınarak cümlenin taşıdığı duygu analiz edilmeye çalışılır. Cümle düzeyinde yapılan çalışma esasında doküman düzeyinde yapılan çalışmanın küçük bir boyuta indirgenmesinden başka bir şey değildir. Gerek doküman düzeyinde gerekse cümle düzeyinde yapın duygu analizlerinde hedeflenen bilgiye erişilemeyebilir. Bu yüzden, öznitelik temelli duygu analizine ihtiyaç duyulur. Öznitelik düzeyli duygu analizinde, duygular varlıkların özel yönlerine göre sınıflandırılabilir. Bir kişi bir olay karşısında duygularını ifade ederken olayın kimi yönleri hakkında pozitif, kimi yönleri hakkında negatif duygulara sahip olabilir. Örneğin bir film hakkında yorum yapan kişi; “filmi beğendim ancak başrol oyuncusunun performansı yeterli değildi” diyebilir. Bu cümle 92ttp://www.tdk.gov.tr/index.php?option=com_gts&arama=gts&guid=TDK.GTS.5891b60fb4f438.66021402, 01.02.2017 93 Chapelle Olivier, Weston Jason ve Scholkopf Bernhard, ‘Cluster Kernels for Semi-Supervised Learning’. NIPS'02 Proceedings of the 15th International Conference on Neural Information Processing Systems, 2002, 8 36 içinde hem olumlu hem de olumsuz duyguları barındırmaktadır. Cümle düzeyli analizde bu cümleyi analiz etmek zorken öznitelik düzeyli analizde olumlu duygu ayrı, olumsuz duygu ayrı ele alınacağından dolayı çok daha sağlıklı sonuç verebilmektedir. İnsanlar yaşamları boyunca tüm kararlarını mantıklarıyla almazlar. Duyguların da karar verme sürecinde çok büyük bir etken olduğu bilinmektedir. Günümüzde “duygu”ya olan ilgi gittikçe artmakta ve bu konu üzerine pek çok araştırma yapılmaktadır. Duygu analizi de bu süreçte karşımıza çıkan, gün geçtikçe kullanım alanı yaygınlaşan bir alandır. Bu alana dair yapılmış olan çalışmaların çok büyük bir kısmı bilgisayar tabanlı olsa da temelinde metin verisi olan bu alana istatistiğin uzak kalması düşünülemez. Bu tezin temel amacı da duygu analizi konusunda, literatürde istatistik açısından var olan bir eksikliğin giderilmesine katkıda bulunmaktır. 2.1. Duygunun Önemi Duygunun önemi ve duygu analizi yapmaya neden ihtiyaç duyulduğunun daha iyi kavranabilmesi için duyguya dair bazı kavramlar aşağıda açıklanacaktır. 2.1.1. Kansei Mühendisliği (KM) Kansei mühendisliği (KM) literatürde kimi zaman duygu mühendisliği olarak ele alınmakta, kimi zamanda ayrı bir kavram olarak karşımız çıkmaktadır. Kansei kelimesi ilk olarak M. Nadamachi’nin “Emotional Enginerring (Duygus