• Sonuç bulunamadı

Metin türünün duygu analizi sınıflandırmasına etkisi

N/A
N/A
Protected

Academic year: 2021

Share "Metin türünün duygu analizi sınıflandırmasına etkisi"

Copied!
36
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

T.C.

DÜZCE ÜNİVERSİTESİ

FEN BİLİMLERİ ENSTİTÜSÜ

METİN TÜRÜNÜN DUYGU ANALİZİ SINIFLANDIRMASINA

ETKİSİ

EZGİ KARA

YÜKSEK LİSANS TEZİ

BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİM DALI

DANIŞMAN

PROF. DR. RESUL KARA

(2)

T.C.

DÜZCE ÜNİVERSİTESİ

FEN BİLİMLERİ ENSTİTÜSÜ

Metin Türünün Duygu Analizi Sınıflandırmasına Etkisi

Ezgi KARA tarafından hazırlanan tez çalışması aşağıdaki jüri tarafından Düzce Üniversitesi Fen Bilimleri Enstitüsü Bilgisayar Mühendisliği Anabilim Dalı’nda

YÜKSEK LİSANS TEZİ olarak kabul edilmiştir. Tez Danışmanı

Prof. Dr. Resul KARA Düzce Üniversitesi

Jüri Üyeleri

Prof. Dr. Resul KARA

Düzce Üniversitesi _____________________

Dr. Öğr. Üyesi A. Talha KABAKUŞ

Düzce Üniversitesi _____________________

Dr. Öğr. Üyesi Okan ERKAYMAZ

Bülent Ecevit Üniversitesi _____________________

(3)

BEYAN

Bu tez çalışmasının kendi çalışmam olduğunu, tezin planlanmasından yazımına kadar bütün aşamalarda etik dışı davranışımın olmadığını, bu tezdeki bütün bilgileri akademik ve etik kurallar içinde elde ettiğimi, bu tez çalışmasıyla elde edilmeyen bütün bilgi ve yorumlara kaynak gösterdiğimi ve bu kaynakları da kaynaklar listesine aldığımı, yine bu tezin çalışılması ve yazımı sırasında patent ve telif haklarını ihlal edici bir davranışımın olmadığını beyan ederim.

27 Haziran 2019

(4)

TEŞEKKÜR

Yüksek Lisans öğrenimimde ve bu tezin hazırlanmasında gösterdiği her türlü destek ve yardımdan dolayı çok değerli hocam Prof. Dr. Resul Kara’ya içten dileklerimle teşekkür ederim. Bu çalışma boyunca yardımlarını ve desteklerini esirgemeyen sevgili aileme ve çalışma arkadaşlarıma sonsuz teşekkürlerimi sunarım.

(5)

İÇİNDEKİLER

Sayfa No

ŞEKİL LİSTESİ ... vii

ÇİZELGE LİSTESİ ... viii

KISALTMALAR ... ix

ÖZET ... x

ABSTRACT ... xi

1.

GİRİŞ ... 1

2.

LİTERATÜR TARAMASI ... 3

3.

METİN MADENCİLİĞİ ADIMLARI ... 5

3.1.VERİSETİNİNOLUŞTURULMASI ... 6

3.2.VERİÖNİŞLEME ... 6

3.2.1. İşaretleme ( Tokenization ) ... 7

3.2.2. Kök Bulma ( Stemming ) ... 7

3.2.3. Durak Kelimeleri Çıkartma ( Stop Words ) ... 7

3.2.4. Terim Ağırlıklandırma ... 8 3.2.5. Terimleri Ayıklama ... 8 3.3.ÖZELLİKSEÇME ... 8 3.4.SINIFLANDIRMA ... 8 3.5.VEKTÖROLUŞTURMA ... 9 3.6.VERİVEMETODLAR ... 9 3.6.1. Duygu Nedir ? ... 9 3.6.2. Duygu Analizi ... 10

3.7.VERİSETİVESINIFLANDIRMATEKNİKLERİ ... 10

3.7.1. Karar Ağacı ... 10 3.7.2. Lojistik Regresyon ... 11 3.7.3. Naive Bayes ... 11 3.7.4. Svm ... 12

4.

DENEYSEL SONUÇLAR ... 12

5.

SONUÇLAR VE ÖNERİLER ... 21

6.

KAYNAKLAR ... 22

ÖZGEÇMİŞ ... 23

(6)

ŞEKİL LİSTESİ

Sayfa No

Şekil 4.1. Önişleme tabi olmayan veri setlerinin sonuçları ... 14

Şekil 4.2. Rapid miner veri okuma ... 14

Şekil 4.3. Rapid miner çaprazlama. ... 15

Şekil 4.4. Aylien duygu analizi ... 16

Şekil 4.5. Kök bulma işlemi... 16

Şekil 4.6. Veri seti cümleleri ... 17

Şekil 4.7. Sınıflandırma ... 17

(7)

ÇİZELGE LİSTESİ

Sayfa No

Çizelge 4.1. Durum tablosu ... 18

Çizelge 4.2. Yelp Precision, Recall ve F-score ... 20

Çizelge 4.3. Stanford Precision, Recall ve F-score ... 20

Çizelge 4.4. Movie Review Precision, Recall ve F-score ... 20

Çizelge 4.5. Movie Review Precision,Recall ve F-score Python ... 21

Çizelge 4.6. Yelp Precision,Recall ve F-score Python ... 21

(8)

KISALTMALAR

DA DT FN FP LR Duygu analizi Decision tree False negative False positive Logistic regression NB Naive bayes NLP NLTK

Doğal dil işleme

Natural language toolkit

SA Sentimental analiz

SVM TN TP

Support vector machine True negative

(9)

ÖZET

METİN TÜRÜNÜN DUYGU ANALİZİ SINIFLANDIRMASINA

ETKİSİ

Ezgi KARA Düzce Üniversitesi

Fen Bilimleri Enstitüsü, Bilgisayar Mühendisliği Anabilim Dalı Yüksek Lisans Tezi

Danışman: Prof. Dr. Resul KARA Haziran 2019, 25 sayfa

Duygu Analizi, sosyal medya gönderileri gibi metin içeriğinin polaritesini tespit etme ve sınıflandırma görevidir. Sosyal Medya için duyarlılık analizi, çalışmaların açık veri setlerini kullanarak yürütüldüğü akademik çevrelerde popüler bir konu olmuştur. Sosyal medya, insanlara birbirleriyle etkileşime girme fırsatını veren internet tabanlı bir ortamdır; sanal ağlar ve topluluklar kurmak; bilgi, video, fotoğraf, haber, fikir vb. paylaşmak, Twitter, Facebook, Instagram ve Linkedin sosyal medya platformlarında yaygın olarak kullanılan örneklerdir. Bu tür sosyal medya platformlarının kullanımı ve bu platformlara yönelik üretilen veriler son yıllarda kayda değer bir artış gösterdikten sonra, insanlar hakkında bazı görüşler hakkında fikir edinmek için iş, politika ve bilimsel araştırmalar gibi birçok alanda daha fazla dikkat çekmeye başlamıştır. Rapid Miner ve Python ile karşılaştırılan bu tez, Naive Bayes, Destek Vektör Makinesi, Decision Tree ve Lojistik Regresyon sınıflandırıcıları gibi denetimli makine öğrenme algoritmaları kullanılarak sosyal medya duyarlılık analizi konusuna odaklanmıştır. Aynı zamanda n-gram modelleme kullanılmıştır. Bu algoritmalar ve tekniklere, yönelik deneysel incelemeler için "Stanford Twitter Sentiment", "Sentiment Analysis On Yelp" ve "Sentiment Analysis on Movie Reviews" veri setleri gibi farklı özelliklere sahip üç tanınmış veri setine uygulanmıştır.

(10)

ABSTRACT

EFFECT OF TEXT TYPE SENTIMENT ANALYSIS CLASSIFICATION

Ezgi KARA Düzce University

Graduate School of Natural and Applied Sciences, Department of Computer Engineering

Master’s Thesis

Supervisor: Prof. Dr. Resul KARA June 2019, 25 pages

Emotion Analysis is the task of determining and classifying the polarity of text content such as social media posts. Sensitivity analysis for Social Media has become a popular topic in academic circles where studies are conducted using open data sets. Social media is an internet-based environment that gives people the opportunity to interact with each other; build virtual networks and communities; information, video, photos, news, ideas etc. Sharing, Twitter, Facebook, Instagram and Linkedin are examples of the most widely used social media platforms. The use of such social media platforms and the data generated for these platforms have increased considerably in recent years, and have begun to attract more attention in many areas such as business, policy and scientific research to gain insight into people's views. This thesis focuses on social media sensitivity analysis using supervised machine learning algorithms such as Naive Bayes, Support Vector Machine, Decision Tree and Logistic Regression classifiers. N-gram modeling was also used. These algorithms and techniques have been applied to three well-known data sets with different characteristics, such as "Stanford Twitter Sentiment", "Sentiment Analysis On Yelp" and "Sentiment Analysis on Movie Reviews" to obtain evaluation results and examine their performance..

(11)

1. GİRİŞ

Duygular, insanların ürünler, konular, etkinlikler veya insanlar gibi varlıklara yönelik görüşlerini, tutumlarını, duygularını veya yargılarını açıklar. Karar verme sürecinde kritik bir rol oynamaktadır. Geçmişte, bir işletmeyle ilgili kararlar verilmesi gerektiğinde, aileden birilerine veya arkadaşlara bu varlığa ilişkin düşünceleri sorulurdu. Şirketler, kurumlar veya hükümetler, karar vermeleri gerektiğinde, son zamanlarda geliştirilen sayısız araç ve teknik kullanarak anket yapmayı tercih etmektedirler.

Geçtiğimiz birkaç yıl boyunca, sosyal medyanın hızla gelişmesiyle birlikte, gittikçe daha fazla sayıda insan duygularını kamuya açık olarak ifade etmekte ve çok çeşitli konularda çok sayıda görüş içeren metin üretilmektedir. Bu görüşlü verilerin mevcudiyeti karar verme sürecini oldukça etkilemektedir. Örneğin, bugünlerde ürün satın almak, film hakkında görüş almak veya restoran seçmek istendiğinde, genel kullanıma açık milyarlarca inceleme dökümanı ile karşılaşılabilmektedir. Kamuoyunun fikirlerini toplamak için eskiden tek yol olan anketler önemini kaybetmiş, mikrobloglar, yorumlar daha fazla etkili olmaya başlamıştır.

Çok miktarda yorumlanmış büyük veri üzerinde yapılan analizler verinin içyüzüne ait değerli bilgiler barındırmaktadır. Bu arada, bir dizi yeni sorun ortaya çıkmaktadır. Bu sorunlar şöyle sıralanabilir:

 Verilerin etkili bir şekilde işlenmesi nasıl sağlanır?  Hangi bilgiler yararlıdır?

 Bilgiler nasıl damıtılır?

 Verilerden hangi sonuçlara varılabilir?

Bu karmaşık sorunların çözümü, özellikle büyük verilerle çalışıldığı durumlarda insan kabiliyetlerinin ötesindedir. Veri dünyasındaki bu değişiklikler veri madenciliğinin de gelişmesine yol açtı. Yapılandırılmış verileri kullanan veri madenciliği kavramı ve yapılandırılmamış verileri analiz etme çalışmalarına dayalı kullanılan metin madenciliği bu süreçte ortaya çıkmıştır. Metin madenciliği, son yıllarda en önemli araştırma alanlarından biri olmuştur [1].

(12)

Metin madenciliğinin ilgi alanlarından biri, bu tezin konusu olan duygu analizidir. Duygu analizi yapılacak metin bir kitap kadar büyük olabileceği gibi, 280 karaktere sahip bir tweet kadar kısa da olabilir.

Bu tezin ortaya çıkış noktalarından biri de insanların neler düşündüğü, bu düşüncelerinin de algoritmalar ve programlar tarafından analiz edilerek geçerliliğin analiz edilmesidir.

Bu çalışma dört ana bölümden oluşmaktadır. İlk bölümde girişten bahsedilmiş, konu hakkında bilgi verilmiştir. İkinci bölümde konu hakkında, literatür taramasına yer verilmiştir. Üçüncü bölümde metin madenciliği hakkında detaylı bilgilendirme yapılmış olup, metin madenciliğinin adımları anlatılmıştır. Veri önişleme yapılmış, özellik seçme, sınıflandırma ve vektör oluşturma konularına yer verilerek, metin madenciliğinin kullanım alanları değerlendirilmiştir. Metin madenciliğinde ana unsur olan doğal dil işleme ve sınıflandırma yöntemlerine yer verilmiştir. Veri ve metotlardan bahsedilmiş olup, duygunun anlamına ve duygunun önemiyle ilgili bilgiye yer verilmiştir. Duyarlılık analizine dair literatürde yapılmış çalışmalar incelenmiş, veri setinde kullanılan algoritmalar sırasıyla açıklanmıştır. Makine öğrenmesi algoritmaları açıklanmış, aralarındaki ilişkiye değinilmiştir.

Beşinci 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. Uygulama amacıyla literatürde kabul görmüş verisetleri kullanılmıştır. Rapid Miner aracı ve Python 3.7 ile makine öğrenmesi algoritmalarının performans olarak karşılaştırılması yapılmış; pozitif duygu ifade eden kelimeler, negatif duygu ifade eden kelimeler ve durak kelimeler oluşturularak yüklenmiştir. Tezin son bölümünde de önerilere yer verilmiştir.

(13)

2. LİTERATÜR TARAMASI

Duygu Analizi kavramı oldukça yenidir, bununla birlikte bu alanda yapılan araştırmalar oldukça derindir. Daha önceki çalışmalar daha çok film ya da ürün incelemelerine ilişkin belge düzeyinde duyarlılık analizine odaklanılmıştır [1]. Daha az araştırılan alan, konuya dayalı Duygu Analizi olmaktadır. Asıl sebep, bir konunun ne olduğu konusunda net bir sınırın bulunmaması ve duyarlılık analizini zorlaştıran konuyla ilgili kutupluluğun nasıl ele alınması gerektiğidir [2]. Başka bir makalede, film incelemelerini pozitif veya negatif olarak sınıflandırmak ve sınıflandırma performansı açısından yöntemler arasında bir karşılaştırma yapmak için Naive Bayes, Maksimum Entropi ve Destek Vektör Makineleri kullanılmıştır [3].

Ding ve Liu, çevrimiçi ürün incelemelerinde duyarlılık yönelimlerini saptamak için yeni bir görüş toplama işlevi ile birlikte bir dizi dilsel kural tanımlamaktadır [4]. Geçtiğimiz bir kaç yıl boyunca Twitter üzerinde duygu analizi gerçekleştiren çalışmalar dikkat çekmektedir. Burada, iki aşamalı bir sınıflandırma süreci sunmuşlardır. İlk adımda, mesajları öznel ve nesnel olarak; ikinci aşamada ise öznel tweet'leri pozitif veya negatif olarak ayırmışlardır [5]. Tweet içerikleri geneleneksel metinlerden farklı olarak, boyut olarak kısa; kullanılan dil bakımından çok çeşitli yazım ve noktalama işaretleri, yazım hataları, argo, yeni kelimeler, URL'ler içerdiğinden gayrı resmidir. İnsanların iletişim kurduğu görüş ve düşüncelerin analiz edilebilmesi için bu tür zorlukların daha ele alınması yakın bir zamanda araştırma konusu olmaya başlamıştır [6].

Literatürde başarılı olan çalışmalar, anlamsal ve söz dizimsel analiz için Doğal dil işleme araçlarıyla birlikte SVM ve Derin Sinir ağları gibi sınıflandırıcılarına dayanmaktadır [7]. Bu problem yukarıda belirtilen sınıflandırıcılar ve ilgili çalışmalardaki diğer yaklaşımlar kullanılarak ele alınmıştır. Parikh ve Movassate, tweetleri sınıflandırmak için Naive Bayes unigram modelini, Naive Bayes bigram modelini ve bir Maximum Entropy modelini uygulamışlardır[8]. Naive Bayes sınıflandırıcılarının Maximum Entropy modelinden daha başarılı olduğunu belirtmişlerdir [9]. Naive Bayes, MaxEnt ve Support Vector Machines (SVM) kullanarak modeller geliştirmişlerdir. Çalışmada kullanılan özellikleri unigramlar, bigramlar ve POS'lardan oluşmaktadır. Deneysel sonuçlara göre

(14)

SVM’in diğer modellerden daha başarılı olduğu ve unigram’ın özellik olarak daha etkili olduğu belirtilmiştir [9].

Naive Bayes algoritmasıyla yapılan bir çalışmada, maksimum özellikteki entropi ve destek vektör makineleri, özellik setlerinin her biri için temel sınıflayıcı olarak kullanılmıştır. Ve sabit kombinasyon, ağırlıklı kombinasyon ve meta-sınıflandırıcı kombinasyonu, topluluk yöntemleri değerlendirilmiştir [10]. Toplanan tweetlerin dilbilimsel analizini yapan ve Twitter verileri üzerinde duyarlılık analizi gerçekleştiren bir çalışmada eğitim verilerini kullanarak bir duyarlılık sınıflandırıcı oluşturma yöntemi sunulmuştur [12]. Başka bir çalışmada, filmlerin gişe gelirlerini tahmin etmek için doğrusal bir regresyon modeli inşa edilmiş ve gerçek dünya performansını tahmin etmek için sosyal medya içeriğinin kullanılabileceği kanıtlanmıştır [13]. Daha yakın zamanlarda yapılan bir çalışmada, ilk defa metin sınıflandırma görevi için Konvolüsyonel Sinir Ağlarını (CNN'ler) benimsemiştir ve duyarlılık analizi de dahil olmak üzere görevlerde etkileyici sonuçlar elde edilmiştir [11,14].

Xing Fang, Justin Zhan, duygusallık analizinin temel sorunlarından biri olan, duygusallık kategorizasyonu sorununu çözdüler. Ele alınan bu çalışmada, Amazon web sayfasında satılan ürün inceleme verileri kullanılmıştır. Bu yazıda hem metin düzeyinde sınıflandırma yapılmıştır. Bu çalışmada learn kütüphanesi kullanılmıştır. Scikit-learn Python'da açık kaynaklı bir makine öğrenme kütüphanesi olarak yer almaktadır. Naive Bayesian, Random Forest ve SVM: Sınıflandırma için seçilen bu sınıflandırma teknikleri kullanılmıştır [15,16].

Geetika Gautam, Divakar Yadav, müşterilerin incelemelerinin sınıflandırması için duyarlılık analizine katkıda bulunmuşlardır. Burada önceden elde edilmiş olan Twitter verileri kullanılmıştır. Bu makalede üç teknik kullanmışlardır: Naive-Bayes, Max-Entropy ve SVM, ardından benzerliği hesaplamak için üç yöntemle birlikte semantik analiz kullanılmıştır. Naive-Bayes, Max-entropy ve SVM'yi eğitmek ve sınıflandırmak için Python ve NLTK'yı kullandılar. Naive-Bayes yaklaşımı, Max entropy'den ve unigram modeliyle SVM’den, sadece SVM kullanmaktan daha iyi sonuç verdiği gözlemlenmiştir. Ardından, anlamsal analizin Word-Net'i yukarıdaki prosedürlerden sonra uygulandığında doğruluğun arttığı belirtilmiştir [17].

(15)

3. METİN MADENCİLİĞİ ADIMLARI

Metin incelemesi olarak da adlandırılan metin madenciliği, metin işleme tekniklerini kullanarak bir metin belgesinden anlamlı bilgilerin çıkarılması sürecidir. Metin madenciliği başta, dil algılama, duygu analizi, spam filtreleme, el yazısı analizi, metin özetleme ve sınıflandırma gibi çeşitli alanlarda önemli bir rol oynar. Özetlemenin ölçülmesi için kullanılan farklı metrik, zamana, doğruluğa, belgelerin sayısına veya boyutuna ve diğer özelliklere dayalı verimliliktir [1].

Fotoğraflar, haritalar veya diğer yazılı olmayan metinlerin yanı sıra, makaleler, gazeteler, kitaplar, akademik yayınlar, internet siteleri, e-posta, İnternet raporları, sabıka kayıtları, mektuplar vb. bireyselleştirilmiş metinler de metin madenciliğinin hedefi olabilir. Bugün, sosyal medyanın yaygınlığı nedeniyle, metin madenciliği söz konusu olduğunda akla gelen ilk şey sosyal medyadaki paylaşımlardır. Gün boyunca pek çok insan ana ofisi sosyal medyada, güncel konularda, bir filmde veya TV dizisinde, arkadaşlarınızın sahip olduğu hisselere üyelik ve birçok yorum ve paylaşımda bulunmaktadır. Bu durumların tamamı metin madenciliği için muazzam bir kaynak oluşturmaktadır.

Metin madenciliği ile metinlerde yer alan ilgisiz kısımlar atılarak, istenilen bilgiye ulaşmak amaçlanmaktadır. İşlenmemiş veri ham haliyle detaylı bilgi sağlamazken, metin madenciliği sayesinde, bu veriler istenilen bilgilere ulaştıracak kaynak haline getirilir. Verilerin birçoğu yapılandırılmamış olup, bu verilerin kullanılabilmesi için pek çok yöntem geliştirilmiştir. Metin madenciliği de geliştirilmiş olan bu yöntemlerin bir bütünüdür [3].

En basit anlamda, metin madenciliği çalışmaları metni veri kaynağı olarak kabul eden veri madenciliği (data mining) çalışmasıdır diğer bir tanımla metin üzerinden yapısallaştırılmış (structured) veri elde etmeyi amaçlamaktadır. Örneğin metinlerin sınıflandırılması, kümelenmesi (clustering), metinlerden konu çıkarılması (concept/entity extraction), sınıf taneciklerinin üretilmesi (production of granular taxonomy), duygusal analiz (sentimental analysis), metin özetleme (document summarization) ve varlık ilişki modellemesi (entity relationship modelling) gibi çalışmaları hedeflemektedir. Yukarıdaki hedeflere ulaşılması için metin madenciliği çalışmaları kapsamında enformasyon getirimi

(16)

(information retrieval), hece analizi (lexical analysis), kelime frekans dağılımı (Word requency distribution), örüntü tanıma (pattern recognition), etiketleme (tagging), enformasyon çıkarımı (information extraction), veri madenciliği (data mining) ve hatta görselleştirme (visualization) gibi yöntemleri kullanmaktadır. Metin madenciliği çalışmaları, metin kaynaklı literatürdeki diğer bir çalışma alanı olan doğal dil işleme (natural language processing, NLP) çalışmaları ile çoğu zaman beraber yürütülmektedir. Doğal dil işleme çalışmaları daha çok yapay zeka altındaki dil bilim bilgisine dayalı çalışmalarını kapsamaktadır. Metin madenciliği çalışmaları ise daha çok istatistiksel olarak metin üzerinden sonuçlara ulaşmayı hedeflemektedir. Metin madenciliği çalışmaları sırasında çoğu zaman doğal dil işleme kullanılarak özellik çıkarımı da yapılmaktadır [3].

Genel olarak metin madenciliği adımları 5 grupta incelenmektedir.

1.1. VERİ SETİNİN OLUŞTURULMASI

Metin madenciliğinin temel yapısı metinlerden oluşmaktadır. İlk adım, veri setini oluşturmak için ilgili metinlere erişmektir. Bugün, internet en önemli metin kaynağıdır. Google, Yandex ve Twitter, Facebook gibi sosyal ağlar en temel kaynaklar olarak görülmektedir. Benzer şekilde, kuruluşlar kendi veri ambarlarını, yazılı raporlarını ve çevrimiçi araçlarını oluşturabilmektedir. Veri madenciliğini uygulayabileceğimiz Rapid Miner, Orange, WEKA gibi programlarda veri setini oluşturmamızda çok büyük kolaylık sağlamaktadır. Gelişen teknoloji ile veri setlerine ulaşmak artık daha da kolay olmuştur. Tez çalışmasında literatürde kabul gören veri setleri kullanılmıştır. Bunlar “Standford Twitter Sentiment”, “Sentiment Analysis on Movie Rewievs” ve “Sentiment Analysis on Yelp” tir.

1.2. VERİ ÖN İŞLEME

Veri seti üzerinde uygulanan ilk işlem önişlemedir. Metinler hemen kullanılmamaktadır. Metinler çeşitli nedenlerle uzun bir ön işleme aşamasından geçmektedir. Metinsel veriler özelinde metinleri kelimelere ayırma, kelimelerin anlamsal değerlerini bulma, kelime köklerini bulma ve gereksiz temizleme, yazım hatalarını ayıklama ve yazım hatalarını hazırlama gibi ön işleme denilmektedir. Metin madenciliğinde kullanabileceğiniz bir konu, olası formların sayısı ve ham görünümler oldukça yüksek olmakla birlikte bu, metinleri çevirmek için güçlü teknikler üretmektedir. Analiz sonuçlarının geçerliliği, ön işleme aşamasından oldukça etkilenmektedir [3].

(17)

1.2.1. İşaretleme ( Tokenization )

Metindeki ilk adım işaretlemedir. İşaretleme, metinleri makine öğrenme algoritmasına uygun dizelerle yapmak için kullanılan bir adım olmaktadır. Bunun için, özellikle web'in benzersiz özelliklerine sahip web tabanlı bir veriyle çalışıyorsanız; XML (Genişletilebilir İşaretleme Dili) ve HTML (Hiper Metin İşaretleme Dili) etiketleri atılmalıdır. XML ve HTML gibi uzantılar web dili için anlamlı olsa da, metin analizinde anlamlı kelimeler veya kökler değildir. Noktalama işaretleri ve satır sonu karakterleri vb. anlamsal olmayan tüm karakterler boşluklarla değiştirilir. Bu şekilde, metin, anlamların çıkarılmasına katkıda bulunmayacak unsurlardan çıkarılır [3].

İşaretleme, bir metin akışını kelimeler, deyimler, semboller veya belirteçler olarak adlandırılan diğer anlamlı unsurlara ayırma işlemi olarak adlandırılmaktadır. İşaretlemenin amacı, sözcüklerin bir cümlede araştırılmasıdır. İşaretçilerin listesi, ayrıştırma veya metin madenciliği gibi ileri işleme için girdi olur. İşaretleme dilbiliminde de (metin bölümleme biçiminde olduğu yerlerde) yararlıdır [3].

1.2.2. Kök Bulma ( Stemming )

Kök tek başına bile bir anlama sahip olan kelimedir. “Yap”, “et” gibi herhangi bir ek anlayışına sahip olmadan, olanları bulma işlemine kök bulma denir. Uzak kelime kökleri, çeşitli yapım ekleri ve / veya çekim ekleri ile ayrılıyor. Bu sayede aynı kelime köküne sahip çok sayıda farklı kelime ortaya çıkmaktadır. Kök bulma yoluyla çoğul ekler ve fiil çekim ekleri kalkar. Kök bulmada iki farklı sorunla karşılaşılabilir; bunlar kök bulma istenirken çok ileri gidilerek anlamlandırılır, çok farklı bir kelimeye ulaşabiliyor veya az varsa ek çıkarılıyor asıl köke ulaşılamamasıdır. Bu tür hataları önlemek için iyi bir gramere ihtiyaç vardır. Kelimenin özel yapısı gereği kök bir ek alırken; büyük ünlü uyumu, yumuşama, harf düşmesi ve küçük ünlü uyumu gibi süreçlerde söz konusu olabilmektedir. Dile hakim olmadan kök bulma işleminin mümkünatı yoktur, çünkü oradan çok fazla oluşum gelebilir, çok sorunla karşılaşılabilir [3].

1.2.3. Durak Kelimeleri Çıkartma ( Stop Words )

Durak kelimeler; edat, bağlaç, zamir gibi tek başına anlamlı olmayan, ancak yazım dilinde çok sık kullanılan kelimelerdir. Durak kelimelerin metinden çıkarılması gerekmektedir çünkü metnin içinde herhangi bir bilgi değerliliği taşımayan kelimelerin metinde yer almasına gerek yoktur. Bundan dolayı kelimelerde kelimelerin sayısı azaltılmaktadır. Analize başlamadan analiz edilen sözcük sayesinde ciddi bir düşüşe neden olup ve

(18)

yaptığımız analizin doğruluk oranını yükseltecektir. Gereksiz işlemlerden geliştirilen sistemi korur [3].

1.2.4. Terim Ağırlıklandırma

Bir metindeki her kelimenin, metnin içeriğine farklı bir katkısı vardır. Bir terim sadece bir kez de kullanılabilir veya tekrar tekrar da kullanılabilir. Bir terimin ağırlığı, metindeki diğer tüm terimlerin frekanslarına göre o terimin frekansının nispi değeri ile ölçülür. Belgede kullanılan kelimeler ne kadar çoksa, belgeyi ilgili kategoriye atamak o kadar etkili olur. Aynı şekilde, bazı terimler birlikte kullanılabilir. Birleşik terimler genellikle aynı kategoriye atanır [3].

1.2.5. Terimleri Ayıklama

Bir terim bir metinde yalnızca bir kez kullanılıyorsa, o terimi yok sayabilirsiniz. Düşük frekanslı kelimeler metinden çıkarılabilmekte, böylece çalışılacak metinde boyutlandırılabilmektedirler. Bir kelime metinde yalnızca bir kez kendini bulur ve tekrar aynı kelime içinde değilse, bu kelimeler metinden çıkarılabilmektedir. Çıkarma teriminin arkasındaki ana neden, düşük frekanslı kelimelerin metindeki öneminin daha az olarak kabul edilmesidir. Terimleri çıkararak; büyük bir zaman tasarrufu sağlanmaktadır [3].

1.3. ÖZELLİK SEÇME

Ön işleme aşaması başarı ile tamamlandıktan sonra geçilen aşamadır. Bu özellik seçme de, tasarıma göre bir çıkarma aşamasıdır. Bir set yapıcıdır. Özellikleri önceden belirlenen, önceden tanımlanan ve ilişkisi belirtilmemiş kelimelerin, dokümanda çok sayıda yer alan özelliklerinin azaltılması işlemleri yapılır [3].

Özellik sınıflandırması daha küçük bir boyuta indirgenir, içinde kalifiye olmayan terimler çıkarılarak metin üzerinde olması uygun olur. Bu süreç zaman kazandırır ve aynı zamanda başarılı sınıflandırma planlaması şansını da arttırır [3].

1.4. SINIFLANDIRMA

Sınıflandırma işlemi; aynı sınıflarda ifade edilebilmektedir. Asıl amaç; metinleri anlamsal olarak önceden belirlenmiş sınıflara bölmek olarak tanımlanmaktadır. Belgeler otomatik olarak sınıflandırmak için bir vektörde ifade edilmektedir. Bunun için bir uzay vektörü oluşturulmaktadır [3].

(19)

1.5. VEKTÖR OLUŞTURMA

Tüm belgeler bir kelime vektörü olarak ifade edilirler. Bunun temel amacı bilgisayar üzerinde bir “kelime * belge” gibi iki boyutlu dizi elde etmektir. Bu şekilde işlemler bilgisayar tarafından çok daha kolay temizlenebilmektedir.

Vektör oluşturma üçee ayrılır. Bunlar; kelime vektörü, N-Gram kelime modeli ve boyut ağırlıklandırmadır.

Kelime vektörü; kelimelerin tekil ve sınıflarıyla birlikte gösterilerek elde edilen vektör kümesidir. Bu kelime vektörü, açıklamayı en iyi temsil eden nitelik kümesinin tanımına hedeflenmiştir.

N - Gram Kelime Modeli; Belirli bir metin veya konuşma sırasındaki, kelimeleri veya sesleri kontrol etmenin bir yöntemidir. Bu model sıradaki öğeyi tahmin etmeye yardımcı olmaktadır. Duygu analizinde, n-gram modeli metin veya belgenin duyarlılığını analiz etmeye yardımcı olmaktadır. Unigram, 1 büyüklükteki n-gramı, Bigram 2 büyüklükteki n-gramı, Trigram 3 büyüklükteki n-gramı belirtir. Yüksek n-gram dört gram, beş gram ve benzeri anlamına gelir.

N-gram yöntemi aşağıdaki örnek kullanılarak açıklanabilir: Cümlenin tipik bir örneği “The movie is not a good one” olarak kabul edilebilir.

• Unigramı: “‘The’,‘movie’,‘is’, ‘not’, ‘a’, ‘good’,‘one”’, tek bir kelimenin kabul edildiği yerler.

• Bigramı: “‘The movie’,‘movie is’, ‘is not’, ‘not a’, ‘a good’, ‘good one’ ”olarak kabul edilir.

• Trigramı: :“‘Themovieis’,‘movieisnot’,‘isnota’,‘notagood’,‘agoodone” üçe eşit sayılan bir kelime kümesinin göz önünde bulundurulması.

Boyut ağırlıklandırma; sözcük vektörü ve sözcüklerin sıklığının temelidir. Eğer kelime bulunuyorsa 1, bulunmuyorsa 0’dır.Eğer kelime mevcutsa frekans vektörü şeklinde uygulanabilir.

1.6. VERİ VE METODLAR 1.6.1. Duygu Nedir ?

Duygu analizini anlamak için, duygunun ne olduğunu anlamak gerekmektedir. Konuyla ilgili ne düşündüğünüzü anlamadıkça, düşünceler kafa karıştırıcı, dikkat dağıtıcı, rahatsız

(20)

edici veya sinir bozucu olabilmektedir [8]. Genel anlamda, duyular duygularla aynıdır ve gerçeklerden ziyade esas olarak görüş ve tutumlara odaklanırlar; bu yüzden duygular gerçekten özneldir. Bununla birlikte, bazı kaynaklar “duyguyu” çekicilik, keyif, acı ya da itilmeye doğal bir tepki olarak ifade etmektedirler [1]. Duygu, bir algı ya da fikir tarafından motive edilen bir duyguya işaret etmektedir [2].

Psikologların farklı kategoriye girmeye çalıştıkları çok sayıda duygu vardır: sevgi, sevinç, sürpriz, öfke, hüzün ve korku gibi [11]. Sevinç ve üzüntü gibi duygular, her gün farklı derecelerde yaşadığımız sağduyu duygularıdır ve bu ikisi sonraki bölümlerde hedefleyeceğimiz duygulardır [11]. Duygu analizi temel olarak olumlu veya olumsuz görüşleri saptamakla ilgilenmektedir [6]. Bu, veri kümelerinin büyüklüğü göz önünde bulundurularak daha fazla duyguyu göz önünde bulundurmak elverişli olmadığından, oluşan karmaşıklığın önlenmesine yardımcı olmaktadır.

1.6.2. Duygu Analizi

Duygu analizi temelde, aktarılan duyguları belirlemek için verilen bir metnin analizi olarak tanımlanmaktadır. Duygu analizi ve veri madenciliği birbiriyle değiştirilebilir terimler olarak bilinmektedir [11].

Duygu analizi “çok sayıda belgeyi analiz ederek yazarın olumlu veya olumsuz yorumlar, sorular ve istekler ile ifade edilen duygularını elde etmeyi amaçlayan bir Doğal Dil İşleme ve bilgi çıkarım görevi” olarak tanımlanmıştır [2]. Başka bir deyişle, duygu analizi, yazarın görüşüne dayanarak belirli bir konuyla ilgili yazarın duygularını tanımlamayı amaçlamaktadır.

1.7. VERİ SETİ VE SINIFLANDIRMA TEKNİKLERİ

Denetimli ve denetimsiz öğrenmeye dayanan teknikler olmak üzere genellikle duygu analizinde kullanılan iki tür makine öğrenme tekniği bulunmaktadır. Bu çalışmada farklı sınıflandırma tekniklerini kullanan dört sınıflandırıcı kullanılmıştır. Bunlar Naive Bayes, Decision Tree, Support Vector Machine ve Logistic Regression’dur. Bu sınıflandırma teknikleri genellikle metin sınıflandırma için kullanılmaktadır, ayrıca Twitter duygu analizi için de kullanılabilmektedir.

1.7.1. Karar Ağacı

Karar ağacı sınıflandırıcısı, verileri sınıflandırmak için basit ve popüler kullanılan bir algoritmadır. Karar Ağacı, test koşullarını temsil eden iç düğümlere ve sınıf etiketleri

(21)

olarak yaprak düğümlerine sahip olan ağaç benzeri bir yapıyı temsil etmektedir. Bu sınıflandırma yaklaşımı, test veri setinin nitelikleri hakkında özenle hazırlanmış sorular ortaya koymaktadır. Her cevap alındığında, test verisinin sınıfını doğru şekilde sınıflandırana kadar başka bir soru sorulmaktadır. Bu sınıflandırıcı, budama sonrası yaklaşımları kullanarak aşırı uyumu ele almaktadır [21].

Karar ağacı yaklaşımı, sınıflandırma problemleri için daha güçlüdür. Bu teknikte ağaç oluşturma ve ağacı veri kümesine uygulamada iki adım bulunmaktadır. CART, ID3, C4.5, CHAID ve J48 gibi pek çok popüler karar ağacı algoritması vardır. Bu sistemlerden J48 algoritması kullanılmaktadır. J48 algoritması bir ağaç oluşturmak için budama yöntemini kullanılmaktadır. Budama, fazla miktarda veriyi kaldırarak ağacın boyutunu azaltan bir tekniktir ve bu da tahminlerde düşük doğruluk sağlamaktadır. J48 algoritması verileri olabildiğince mükemmel şekilde kategorize edinceye kadar tekrarlı bir şekilde sınıflandırmaktadır. Bu teknik, egzersiz verilerinde maksimum hassasiyet sağlamaktadır. Genel konsept, esneklik ve doğruluk dengesi sağlayan bir ağaç oluşturmaktır [11].

1.7.2. Lojistik Regresyon

Bu algoritma, içinde kullanılan lojistik fonksiyon olan çekirdek fonksiyondan sonra seçilmektedir. Lojistik fonksiyon ayrıca sigmoid fonksiyon olarak da bilinmektedir. Giriş olarak gerçek değerleri alan ve 0 ile 1 arasında bir aralığa dönüştüren S şeklinde bir eğri olduğu bilinmektedir. Sigmoid işlevi Formül 1’ deki gibi tanımlanabilir [19].

𝑆(𝑥) = 1

1+𝑒−𝑥

𝑒𝑥

1+𝑒𝑥 (3.1)

1.7.3. Naive Bayes

Naive Bayes sınıflandırıcısı Bayes teoremine dayanmaktadır. Bu sınıflandırıcı algoritması koşullu bağımsızlık kullanır, verilen bir sınıftaki öznitelik değerinin diğer özniteliklerin değerlerinden bağımsız olduğunu varsaymaktadır [18].

Bayes teoremi aşağıdaki gibidir:

X = {x1, x2, ..., xn} bir n özelliği kümesi olsun.

Bayesian’de, X kanıt olarak kabul edilmektedir ve H bazı hipotez araçları olmaktadır, X’in verileri belirli sınıf olan C’ye aittir. Bayes teoremine göre; P (H | X), P (H | X) = P (X | H) P (H) / P (X) olarak ifade edilmektedir [14].

(22)

1.7.4. Svm

SVM, hem sınıflandırma hem de regresyon zorlukları için kullanılabilecek denetimli bir makine öğrenme algoritmasıdır. Sınıflandırma, bir etiketi/grubu öngörmektedir. Regresyon ise sürekli bir değeri öngörmektedir. SVM, n-boyutlu uzayda çizdiğimiz sınıfları farklılaştıran hiper düzlemi bularak sınıflandırma yapmaktadır [11].

(23)

4. DENEYSEL SONUÇLAR

Bu tezimizde üç çeşit veri seti kullanılmıştır. Bu veri setlerinin her birinden 5000 tane veri alınmıştır. Kullanılan veri seti Stanford, Yelp ve Movie Review ‘dir. Oluşturulan veri setinde Twitter verileri, restorant ve film yorumları bulunmaktadır. Bu tezin amacı, farklı veri setlerinden farklı uygulamalarla nasıl sonuçlar alındığının incelenmesidir.

Burada esas amacımız veri madenciliği ve python kullanarak yapmış olduğumuz programın hangi platformda daha iyi sonuçlar elde ettiğimizi ifade etmektir. İki uygulamanın karşılaştırılması yapılmıştır.

Programlama dilleri, kütüphaneler ve uygulama aşamasında kullanılan araçlar şunlardır: Python: Python, özellikle veri bilimciler tarafından tercih edilen, yorumlanmış, nesne yönelimli ve üst düzey bir programlama dilidir.

Scikit-Learn: Python programlama dili için denetimli ve denetimsiz öğrenme algoritmaları sağlayan bir makine öğrenmesi kütüphanesidir.

Doğal Dil Araç Seti (NLTK): NLTK, bazı denetimli ve denetimsiz öğrenme algoritmaları, tokenizasyon, kaynak, lemmatizing, etiketleme vb. bilgileri içermektedir.

Pandas: Python programlama dili için verileri tutmak ve analiz etmek için kullanılan bir kütüphanedir.

NumPy: Python programlama dili için dizi ve matriks işlemleri için kullanılan bir kütüphanedir.

PyCharm: PyCharm bir Python uygulama geliştirme ortamıdır (IDE).

Rapid Miner’da metin analiz işlemlerini gerçekleştirmek için “Aylien” isimli modül yüklenmiştir [26]. Aylien Metin Analizi modülü, metin içeriğinden çeşitli türdeki bilgileri analiz etmek ve çıkarmak için bir doğal dil işleme ve makine öğrenimi destekli uygulamanın paketidir. Sonra uygulanacak olan algoritmalar ile teker teker işlemler yapılmaya başlanmıştır. Önce algoritma ile eğitilip, sonra test edilmiştir.

İlk olarak herhangi bir önişlem aşamasından geçmeden, verilere sadece duygu analizi ve makine öğrenmesi algoritması uygulayarak karşımıza çıkan sonuçlar aşağıdaki Şekil 4.1.

(24)

‘de gösterilmiştir.

Şekil 4.1. Önişleme tabi olmayan veri setlerinin sonuçları.

Şekil 4.2. Rapid Miner veri okuma.

Şekil 4.2’de yapmış olduğumuz işlem öncelikle veri setindeki veriyi okuyup kullanılacak sütunları seçmektir. Verinin okunduğundan emin olduktan sonra diğer işlemlere geçilmiştir. 0 10 20 30 40 50 60 70 80 90 100

Naive Bayes SVM Decision Tree Logistic Regression

(25)

Şekil 4.3. Rapid Miner çaprazlama.

Çaprazlama, makine öğrenimi modellerini sınırlı veri örneğinde değerlendirmek için veri madenciliğinde kullanılan bir örnekleme prosedürüdür.

Çaprazlama, belirli bir veri örneğinin bölüneceği grup sayısını ifade eden k adlı tek bir parametreye sahiptir. Bu nedenle, genellikle k-kat çapraz doğrulama olarak adlandırılır. K için özel bir değer seçildiğinde, k = 10'un 10 kat çapraz doğrulama olması gibi referansta k yerine kullanılabilir. Modelin, eğitimi sırasında kullanılmayan veriler üzerinde tahminlerde bulunmak için kullanıldığında, genel olarak nasıl bir performans göstereceğini tahmin etmek için sınırlı bir örnek kullanılmasıdır. Rapid Miner’da 10 kat çaprazlama işlemi, cross validation eklentisiyle yapılmaktadır. Metin olarak çevirdiğimiz veri setine çaprazlama işlemi uyguladıktan sonra, bir kısmını eğitim, bir kısmını test için kullanmak üzere 10 eşit parçaya bölünme işlemi olarak adlandırılmaktadır. Bizim burada yaptığımız verinin %10’unu teste ve %90’nını eğitime ayrılmıştır.

Aylien eklentisi kullanılarak duygu analizi aracı ile aşağıdaki gibi modüller yerleştirilmiştir.

(26)

Şekil 4.4. Aylien duygu analizi.

Şekil 4.5. Kök bulma İşlemi.

Şekil 4.5.’te kök bulma işleminde kullanılan araçlara yer verilmektedir. Kök bulma işlemi stem olarak ifade edilmektedir.

(27)

Şekil 4.6. Veri seti cümleleri.

Ekranda görebildiğimiz veri setlerinin bir kaçının görüntüsü Şekil 4.6’da gösterilmektedir. Movie Review veri setinden alınmış görüntü gösterilmektedir.

İşaretleme ve durak kelime işlemleri için aşamalar aşağıda gösterilmektedir. 1.Tokenize

2.Transform Cases

3.Filter Stopwords olarak rapid miner’ın içinde ifade edilmektedir.

Şekil 4.7. Sınıflandırma.

Duygu analizi için ilk adım, metni boşluk kullarak bölmek ve sözcük listesi olarak adlandırılan metin başına ayrı sözcüklerin bir listesini oluşturmaktır. Sınıflandırıcımızı geliştirmek için cümlelerdeki her bir kelime özellik olarak kullanılmaktadır.

Sonra, dur/durak sözcüklerini (Stopwords) toplam sözcük listesinden silinmektedir. Stopwords'i kaldırmak için Python’un Doğal Dil Araç Seti (NLTK) kütüphanesi kullanılmıştır. Şifreler, makaleler, noktalamalar ve herhangi bir duyarlılık değeri olmayan

(28)

bazı ekstra kelimeler içermektedir. Her bir kelimeyi, sözlükle karşılaştırılmış sözcükler listesinde kontrol eden bir durdurma kelimesi sözlüğü bulunmaktadır. Eğer kelime dur kelimesi ise, o zaman filtrelenmektedir.

Sonrasında, tweetler “@”, “#” ve URL'ler gibi ekstra semboller içermektedir. “@” Sembolünün yanındaki kelime her zaman metne herhangi bir duyarlılık değeri eklemeyen bir kullanıcı adıdır, ancak tweetin konusunu tanımlamak gerekmektedir. “#” İşaretini takip eden kelimeler, tweet hakkında bilgi içerdiğinden tutulur. URL’ler, metne anlam ifade etmedikleri için filtrelenir. Tüm bu işlemleri gerçekleştirmek için bu sembollerle eşleşen düzenli ifadeler kullanılmaktadır. Bunlar tweetlerin corpusunu oluşturmaktadır.

Denetimli makine öğrenme algoritmasının performansını değerlendirmek için yararlı olan parametreler, karışıklık matrisi veya beklenmedik durum tablosu olarak bilinen bir makineden elde edilen elemana dayanmaktadır. Herhangi bir algoritmanın performansını değerlendirmede yardımcı olmak için denetimli makine öğrenme algoritmasında kullanılmaktadır. Sınıflandırma açısından, sınıftaki etiketlerin karşılaştırılmasında “Gerçek Olumlu (TP)”, “Yanlış Olumlu (FP)”, “Gerçek Olumsuz (TN)”, “Yanlış Olumsuz (FP)” gibi terimler kullanılmıştır.

Çizelge 4.1. Durum tablosu (Confusion matrix).

Pozitif Negatif

Pozitif TP (Gerçek Olumlu) FP (Yanlış Olumlu) Negatif FN (Yanlış Olumsuz) TN (Gerçek Olumsuz)

Hassasiyet: Sınıflandırıcı sonucunun kesinliğini ölçer. Formül 4.1’de belirtildiği üzere, doğru olarak sınıflandırılmış, toplam pozitif olarak sınıflandırılmış örnek sayısına pozitif olarak işaretlenmiş örnek sayısının oranıdır [16].

Precision(Hassasiyet ) = 𝑇𝑃

𝑇𝑃+𝐹𝑃 (4.1)

Geri Çağırma: Sınıflandırıcı sonucunun bütünlüğünü ölçer. Formül 4.2’de belirtildiği üzere, pozitif etiketli toplam örnek sayısının, gerçekten olumlu olan toplam örneklere oranıdır.

Recall(Geri Çağırma ) = 𝑇𝑃

(29)

• F-Ölçü: Hassasiyet ve geri çağırmanın harmonik ortalamasıdır. Formül 4.3’te görüldüğü üzere, son sonuç üzerinde daha fazla etkiye sahip olan, sistemin hassasiyete veya hatırlamaya doğru optimize edilmesi gerekir.

F-Measure = 2∗𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛∗𝑅𝑒𝑐𝑎𝑙𝑙

𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+𝑅𝑒𝑐𝑎𝑙𝑙 (4.3)

Doğruluk(Accuracy): Bu, sınıflandırma sürecinin en yaygın ölçüsüdür. Formül 4.4’te görüldüğü üzere, doğru sınıflandırılmış, örneğin toplam örnek sayısına oranı olarak hesaplanabilir.

Accuracy : 𝑇𝑃+𝑇𝑁

𝑇𝑃+𝑇𝑁+𝐹𝑃+𝐹𝑁 (4.4)

Aşağıda veri setleri üzerinde nasıl bir işlem uygulandığına dair akış diagramı belirtilmiştir.

Şekil 4.8. Veri setleri üzerinde uygulanan işlemlerin akış diyagramı.

Ön işlemlerden geçen veri seti temizlendikten sonra, hem Python hem de Rapid Miner’da karşılaştırılmak üzere işlemlere başlanır. Şekil 4.8.’ deki gibi ön işlemlerden geçirildikten sonra veriler işlenmeye hazır hale getirilir. Algoritmalarla makine öğrenmesi eğitimi gerçekleştirilir. Eğitimin ardından test aşamasında, test verisi sınıflarına ayrılıp, hassaslık,

VeriSeti

Önİşleme: Durak Kelime, Numerik ve Özel Karakter Çıkarımı

Vektör Oluşturma

Makine Öğrenmesi algoritması ile eğitme

Sınıflandırma

(30)

doğruluk gibi değerler elde edilmiştir.

Çizelge 4.2. Yelp Precision, Recall ve F-score.

Sınıflandırma Hassasiyet Geri Çağırma F- Ölçü Doğruluk Decision Tree 64% 65.6% 66.5% 65.83% SVM 82.2% 84.41% 84.8% 80.2% Naive Bayes 65.2% 65.72% 65.7% 72.67% Logistic Regression 80% 80.6% 81.9% 75.7%

Modelimiz oluştuktan sonra burada Yelp veri seti üzerinde ve Rapid Miner aracında almış olduğumuz Precision, Recall ve F-score değerleri Çizelge 4.2’ de görülmektedir. SVM algoritmasıyla aldığımız F-score %84.8 iken, en düşük sonucu aldığımız algoritma Decision Tree olmuştur. Aynı şekilde doğruluklarına baktığımızda SVM %80.2 bir doğruluğa sahiptir.

Çizelge 4.3. Stanford Precision,Recall ve F-score.

Sınıflandırma Hassasiyet Geri Çağırma F- Ölçü Doğruluk Decision Tree 68% 67.3% 67.2% 67.27% SVM 76.2% 76.87% 76.7% 74.1% Naive Bayes 62.8% 62.7% 61.4% 62.4% Logistic Regression 77.1% 78.2% 78.3% 79.33%

Stanford veri seti üzerindeki değerlerde, SVM’in aksine Logistik Regresyon’nun Precision,Recall ve F-score değerlerinin daha yüksek olduğu Çizelge 4.3’te görülmektedir.

Çizelge 4.4. Movie Review Precision,Recall ve F-score.

Sınıflandırma Hassasiyet Geri Çağırma

F- Ölçü Doğruluk

Decision Tree 56% 56.1% 57.2% 59.4%

SVM 84% 85.2% 87% 87.9%

(31)

Logistic Regression 81% 80.1% 81.67% 80.8%

Movie Review veri seti üzerindeki değerlerde, SVM algoritmasıyla alınan Precision,Recall ve F-score değerlerinin daha yüksek olduğu Çizelge 4.4’ te görülmektedir.

Bu sonuçları Python ile karşılaştırdığımızda Rapid Miner’da kullanmış olduğumuz modüllerin daha gelişmiş olmasından kaynaklı olarak biraz daha düşük kalmıştır.

Çizelge 4.5. Movie Review Precision,Recall ve F-score Python.

Sınıflandırma Hassasiyet Geri Çağırma F- Ölçü Doğruluk Decision Tree 61% 61.5% 60.7% 60.2% SVM 79.2% 78.1% 76.5% 76.9% Naive Bayes 61.6% 64.08% 62.8% 64.2% Logistic Regression 71.1% 69.7% 70.9% 70.7%

Python ile kullanılan toolların uygulanabilirliği açısından en iyi sonuç SVM ile gelmiştir. Doğruluk oranı %76.9 olarak Çizelge 4.5’te görülmektedir.

Çizelge 4.6. Yelp Precision,Recall ve F-score Python.

Sınıflandırma Hassasiyet Geri Çağırma F- Ölçü Doğruluk Decision Tree 62% 62.70% 63.2% 62.4% SVM 70% 70.7% 72.8% 71.9% Naive Bayes 73.5% 75.4% 76.04% 75.1% Logistic Regression 69.3% 67.9% 66.4% 65.8%

Restorant yorumlarının olduğu Yelp veri setinde diğerlerinin aksine, Çizelge 4.6’da görüldüğü üzere en iyi sonuç %75.1 ile Naive Bayes algoritması ile sağlanmaktadır.

(32)

Çizelge 4.7. Stanford Precision,Recall ve F-score Python.

Sınıflandırma Hassasiyet Geri Çağırma F- Ölçü Doğruluk Decision Tree 70.1% 70.8% 72.9% 71.8% SVM 77.8% 78.9% 80.5% 79.2% Naive Bayes 68.2% 69.8% 70.2% 69.5% Logistic Regression 67.9% 66.1% 67.3% 67.1%

Çizelge 4.7’ deki sonuca baktığımızda SVM’in doğruluğu %79.2 iken, Rapid Miner’da bu doğruluk %79.33 ile Lojistik Regresyon ile sağlanmaktadır.

Daha önce bu şekilde farklı veri setleri ve farklı uygulama araçlarının karşılaştırılması gibi herhangi bir çalışma yapılmamıştır. Önceki çalışmaların varolan doğrulukları belli olup, yapılan işlemler çerçevesinde sadece Rapid Miner aracı ile ve Movie Review veri üzerinde doğruluk değeri daha fazla çıkmıştır. Önceki çalışmada doğruluk değeri %85 SVM iken, bu çalışmada doğruluk değerinin %87,9 SVM ‘in öne geçtiği görülmüştür. Bunun etkisinin hem Aylien modülünün kullanılması hemde veri önişleme metodlarının uygun bir şekilde yapılmasından kaynaklanmaktadır.

(33)

5. SONUÇLAR VE ÖNERİLER

Elde edilen bilgiler ışığında bu çalışmamızda farklı veri setleri ve farklı uygulama araçlarıyla makine öğrenmesi algoritmaları kullanılarak karşılaştırma yapılmıştır. Kullanılan üç adet veri setimiz bulunmaktadır. Karşılaştırmayı yapmış olduğumuz uygulamalar Rapid Miner ve Python’dır. İlk aşamada herhangi bir önişleme yapılmaksızın sadece duygu analizi ve makine öğrenmesi algoritmaları uygulanmıştır. Sonuca nasıl etki ettiği gözlemlenmiştir. Rapid Miner kendi modülleri sayesinde bizlere ekstra kolaylık sunmakla birlikte, doğruluk oranlarını Python’ a göre daha fazla vermektedir. Sürekli kullanılan, duygu analizi ve makine öğrenmesi algoritmalarının modüllerinin güncel olmasından kaynaklı doğruluk oranının daha fazla çıktığı, performans olarak daha iyi olduğu görülmüştür. Kullanılan algoritmalar arasından yukarı bölümlerde de gösterildiği gibi SVM ‘in NB, DT ve LR’ ye göre daha fazla doğruluğa sahip olduğu görülmüştür.

Veri setleri arasında yapılan karşılaştırmalardan NB, DT ve LR’ nin değerlerinin sürekli değişmekte olduğu gözlemlenmiştir. İlerleyen çalışmalarda, N-gram terimlerinin ve MNB algoritması veya hibrit algoritmalar kullanılarak sonuçların doğruluğunu arttırmak mümkündür.

(34)

6. KAYNAKLAR

[1] A. F. Alsaqer ve S. Sasi, “Movie review summarization and sentiment analysis using rapidminer,” 2017 International Conference on Networks and Advances in

Computational Technologies, 2017, ss. 329–335.

[2] Pak, Alexander ve Patrick Paroubek, "Twitter as a corpus for sentiment analysis and opinion mining." LREC, c. 10, 2010.

[3] Y. M. Kızılkaya, “Duygu analizi ve sosyal medya alanında uygulama,” Doktora tezi, İstatistik, Sosyal Bilimler Enstitüsü, Bursa Uludağ Üniversitesi, Bursa, Türkiye, 2018.

[4] X. Ding, B. Liu ve S.Y. Philip, “A holistic lexicon-based approach to opinion mining,” In Proceedings of the 2008 International Conference on Web Search and

Data Mining, 2008, ss. 231-240.

[5] C. Anaıs, C. Crina, J. Damin, H. Omar ve B. Lıonel, “A Study and Comparison of Sentiment Analysis Methods for Reputation Evaluation.” .

[6] Y. Choi ve C. Cardie, “Learning with compositional semantics as structural inference for subsentential sentiment analysis,” in Proceedings of the Conference

on Empirical Methods in Natural Language Processing, 2008, ss. 793–801.

[7] S. Wang ve C. D. Manning, “Baselines and bigrams: simple, good sentiment and topic classification,” in Proceedings of the 50th Annual Meeting of the Association

for Computational Linguistics: Short Papers - Volume 2, 2012, ss. 90–94.

[8] A. Mudinas, D. Zhang ve M. Levene, “Combining lexicon and learning based approaches for concept-level sentiment analysis,” in Proceedings of the First

International Workshop on Issues of Sentiment Discovery and Opinion Mining,

2012, ss. 1–8.

[9] A. Yadollahi, A. G. Shahraki ve O. R. Zaiane, “Current state of text sentiment analysis from opinion to emotion mining,” ACM Computing Surveys, c. 50, sayı 2, ss. 1–33, 2017.

[10] L. Bing, Sentiment Analysis and Opinion Mining, 3. baskı, California, USA: Morgan & Claypool, 2012.

[11] Z. Nasim, Q. Rajput ve S. Haider, "Sentiment analysis of student feedback using machine learning and lexicon based approaches," 2017 International Conference

on Research and Innovation in Information Systems (ICRIIS), 2017, ss. 1-6.

[12] X. Ding, B. Liu ve S.Y. Philip, “A holistic lexicon-based approach to opinion mining,” In Proceedings of the 2008 International Conference on Web Search and

Data Mining, 2008, ss. 231-240.

[13] Kharche, S. R. ve Lokesh Bijole. "Review on sentiment analysis of twitter data."

International Journal of Computer Science and Applications, c. 8, 2015.

[14] M. H. Krishna, K. Rahamathulla ve A. Akbar, "A feature based approach for sentiment analysis using SVM and coreference resolution," 2017 International

(35)

Conference on Inventive Communication and Computational Technologies (ICICCT), 2017, ss. 397- 399.

[15] X. Ding, B. Liu ve S.Y. Philip, “A holistic lexicon-based approach to opinion mining,” In Proceedings of the 2008 International Conference on Web Search and

Data Mining, 2008, ss. 231-240.

[16] Fang, Xing ve Justin Zhan. "Sentiment analysis using product review data."

Journal of Big Data 2.1, ss. 2-5 ,2015.

[17] Gautam, Geetika ve Divakar Yadav. "Sentiment analysis of twitter data using machine learning approaches and semantic analysis." Contemporary computing

(IC3), 2014 seventh international conference on. IEEE, 2017, ss. 4-14.

[18] Joachims, T. , “ Training linear svms in linear time,” In Proceedings of the 12th

ACM SIGKDD international conference on knowledge discovery and data mining,

2006, ss. 217–226.

[19] Liu, S. M. ve Chen, J.-H. “A multi-label classification based approach for sen- timent classification,” Expert Systems with Applications, c. 42, sayı 3, ss. 1083– 1093, 2015.

[20] Liu, B. “Sentiment analysis and opinion mining,” Synthesis Lectures on

Human Language Technologies, c. 5, sayı 1, ss. 1–167, 2012 .

[21] Luo, B. , Zeng, J. ve Duan, J. “Emotion space model for classifying opinions in stock message board,” Expert Systems with Applications, c. 44, ss. 138–146,2016. [22] Matsumoto, S. , Takamura, H. ve Okumura, M. “Sentiment classification using

word sub-sequences and dependency sub-trees,” In Advances in knowledge

dis- covery and data mining , 2005, ss. 301–311.

[23] McCallum, A. , Nigam, K. “A comparison of event models for naive bayes text classification, ” In AAAI-98 workshop on learning for text categorization:

752, 1998, ss. 41–48.

[24] Mikolov, T. , Chen, K. , Corrado, G. ve Dean, J. “Efficient estimation of word representations in vector space,” arXiv preprint arXiv, ss. 1301-1318, 2013 . [25] Mouthami, K. , Devi, K. N. , and Bhaskaran, V. M. “Sentiment analysis and clas-

sification based on textual reviews,” In international conference on Information

communication and embedded systems (ICICES), IEEE , 2013, ss. 271–276.

(36)

ÖZGEÇMİŞ

KİŞİSEL BİLGİLER

Adı Soyadı : Ezgi KARA

Doğum Tarihi ve Yeri :15.06.1993 - Alanya

Yabancı Dili :İngilizce

E-posta :ezgikara@duzce.edu.tr

ÖĞRENİM DURUMU

Derece Alan Okul/Üniversite Mezuniyet Yılı

Y. Lisans Bilgisayar Müh. Düzce Üniversitesi 2019

Lisans Bilgisayar Müh. Düzce Üniversitesi 2016

Lise

Artvin Anadolu Öğretmen

Referanslar

Benzer Belgeler

【右圖:左起張武修教授、郭耿南主任、Janet ANDERSON教授、Min-Hua JEN資深研究員、許志成博士、許明

Kullanılan makine öğrenmesi yöntemleri karar ağaçları, k-en yakın komşu (KNN), lojistik regresyon, Naive Bayes (NB), rastgele orman ve destek vektör makineleri

Bunun için, bu tür problemlerde karşılaşılan ikili/çoklu sınıflandırma problemlerini etkin bir şekilde yeniden düzenleyerek ikili eşli problemlere

Fiziksel tıp ve rehabilitasyon servisinde saptanan hastane enfeksiyonları: Altı yıllık veriler.. Amaç: Bu çalışmada Fiziksel Tıp ve Rehabilitasyon (FTR) servisinde altı

Harbiye Kongre Merkezi binasında bulunan 7 adet bodrum katı inşası için derinliği 20 m ile 35 m arasında değişen derin temel kazısı için bir iksa sistemi projelendirilmiş

Hastalık tespiti için, ileri beslemeli geri yayılımlı yapay sinir ağı, destek vektör makinesi, Naive Bayes algoritması, regresyon ağaçları ve k-ortalama

Bu çalışma kapsamında Pima Indians Diyabet veri seti (Pima Indian Diabetes Dataset) üzerinde Naive Bayes ve Destek Vektör Makineleri (DVM) makine öğrenme algoritmaları

Kompresör hava çıkışının tıkalı olması hava sisteminin yavaş doldurulmasına, kompresörün sürekli yükte çalışmasına, hava kompresörünün aşırı ısınması